数字签名是两种电子数据形式联系在一起的数字数据形式。他们的工作是虚拟的,但可以合法的和可识别的来描述你的名字。越来越多的人使用数字签名来证明他们的身份。在今天的文章中,我们将讨论数字签名的主要类型、它们与区块链行业的关系以及它们的主要优势。

2017-10-18 梅臻 干货·合同 |
数字签名的证据效力

今天在今日头条的问答栏目回答了一个问题:
“在密码学里,是如何重新定义私有财产的?” 我的答复是:
“目前区块链技术的典型应用是数字货币应用,包括比特币、以太坊,以及其他的多种多样的“数字货币”。这些“数字货币”虽然不被认可为货币,但是通常被认为是有价值的虚拟资产。
如何证明一个比特币是某个人的私有资产了?简单理解,每一个比特币都隶属于一个“区块链账号”,拥有此“区块链账号”对应密钥的用户就可以使用这个比特币。这种机制类似于银行卡和银行卡对应的密码,持有密码的人可以取出银行卡中的钱。不同之处在于,银行卡的账号和密码是保存在银行的中心服务器上,验证身份时只需要用户输入的密码和数据库中的密码匹配即可。但是在比特币等区块链系统中,不存在中心化机构,即没有地方存储账号和密码的对应关系。这种情况下,如何验证资产所属的身份?
这里就是用了密码学中的“非对称加密”技术和“数字签名”技术。比特币的账号本质上是由“非对称加密”算法生成的“公钥”,此账号对应的“密码”是“公钥”对应的“私钥”。验证资产所属身份的方法是:验证者利用公开的“公钥”去验证资产所有者提供的、对应特定比特币的数字签名。只要签名正确,即认可用户是此比特币的所有者。这种模式,不需要验证者知道账号对应的私钥,因此能够从根本上保证私有财产的所有权(传统银行模式中,银行可以冻结任意账号的资金,用户的私有财产的所有权是受限制的)。”
上述答复中涉及了区块链账号背后的非对称加密算法和数字签名算法。这里重点介绍目前大多数区块链系统采用的ECC非对称加密算法和ECDSA数字签名算法。
ECC算法:是目前广泛使用的非对称加密算法(另外一种著名的非对称加密算法RSA,由于安全性较弱,已经逐渐淘汰了)。“非对称”是指此算法中加密和解密所用的密钥不同。此算法中的密钥是成对出现的,即。公钥加密、私钥解密;私钥加密,公钥解密。通常情况下,用户的公钥是公开的,用于代表用户的数字身份;私钥是由用户私密保存,可以用于证明用户对特定公钥的所有权。正式基于这种特征,区块链技术采用ECC算法作为区块链账号的生成技术。我们通常看到的比特币账号、以太坊账号就是在ECC算法生成公钥的基础上,经过格式转换得到的。用户如果想使用某个比特币账号中的比特币资产,就必须使用账号对应的私钥进行身份验证操作。所以,比特币资产的所有权全部依赖于私钥信息,一旦私钥丢失或泄露,用户将永久丧失对应比特币资产的所有权。据报道,比特币系统中已经有20%的比特币的密钥永久丢失,这些资产将成为永久锁定的冰冻资产。
ECDSA算法:是一种数字签名算法。主要用途是,用户利用私钥对特定数据进行签名,得到签名信息;验证者利用此用户公布的公钥验证签名信息和特定数据是否匹配,如果匹配,就证明用户对公钥具有所有权。数字签名算法在互联网中广泛使用,包括HTTPS协议,银行卡U盾等等。数字签名算法通常用于身份认证和数据完整性认证。在区块链中,用户发起的每笔交易都包含用户的数字签名,网络中的验证节点通过验证签名信息,判断用户是否有权利发起这笔交易。

数字签名的种类

在互联网时代,在网上互相传递电子数据、文档、文件,成为非常普遍的现象,这类电子数据的法定名称被称为数据电文。数据电文,是指以电子、光学、磁或者类似手段生成、发送、接收或者储存的信息。数据电文在互联网中有广泛的运用,很多合同、订单都在网上签署或下达,但与此同时,很多纠纷也在网络上产生。正因为网上传递、存储的文件以数字化形式存在,因此书面文件需要转化为二进制代码进行存储、传输,而后在接收端还原为书面文件的原始形式进行查看。在这个转换和传输过程中,数据电文如果不经过技术处理,很容易被计算机高手篡改,从而与原始的发送文件不符,容易产生争议。正因为如此,各国法律中传统的证据规则在互联网刚刚兴起的时候,并没有把数据电文纳入证据的范围,直到电子签名技术产生、推广和运用以后,各国通过立法的形式对经电子签名技术处理的数据电文赋予证据效力。

美高梅集团4858 1图1
数字签名算法

基本上,数字签名是一种虚拟标识,它支持安全的交易。数字签名的类型不止一种。下面是数字签名的主要类型。

美国前总统克林顿于2000年6月30日正式签署的《电子签名法案》是网络时代的重大立法,它使电子签名和传统方式的亲笔签名具有同等法律效力,被看作是美国迈向电子商务时代的一个重要标志

为了更详细介绍ECC算法和ECDSA签名算法,将通过一段代码演示密钥生成过程和签名、验证过程。

一个简单的签名

克林顿使用一个电子卡片在电脑荧屏上签署了这项法令,而密码就是他爱犬的名字。不过,为了避免引起不必要的法律效力问题,他又按传统习惯用钢笔在法律文书上签下了自己的名字。克林顿在签署这项法律时说:

func generateNewPK() (string, error) { var err error //根据randKey长度,使用相应的加密椭圆参数 length := len([]byte if length < 224/8 { fmt.Println("The length of Rand Key is too small, Crypt init failed, Please reset it again !") return "", err } if length >= 256/8+8 { curve = *bitelliptic.S256() } else if length >= 224/8+8 { fmt.Println("Rand length =", length, "Using 244 level !") curve = *bitelliptic.S224创建密匙对 //私钥是随机生成的 prk, err = bitecdsa.GenerateKey(&curve, rand.Reader) if err != nil { fmt.Println("Crypt init fail,", err, " need = ", curve.BitSize) return "", err } //公钥是基于私钥生成的 puk = prk.PublicKey //ECC中的公钥分为两个部分,通常将部分拼接在一起 return puk.X.String()+puk.Y.String(), nil}

这些是没有特殊属性的基本签名。有了它们,您可以快速签署任何文件,而不需要注册。不过,这种类型的身份验证也有其局限性。首先,您的身份不能仅通过打开已签名的文档来验证。简单地说,发起操作的人必须在文件上应用手工签名标记。这样,文档将受到密码戳的保护。这个签名可能很简单,但它仍然强大到足以确保数据完整性。

“不久以后,美国人民就可以使用带有数字签名的电子卡片做他们想要做的事情了,电子签名将会应用在各个领域之中,从聘请律师到抵押贷款,无所不能。在这项具有划时代意义的法律正式生效后,人们将可以使用电子签名签订在线合同和进行电子商务,这对于新经济的发展无疑具有巨大的推动作用。”

上述代码的功能是生成一个基于ECC算法的密钥对,其中“puk”代表公钥,”prk”代表私钥。
代码中的第个提示,用于解释此处需要根据参数的长度选择相应的“椭圆曲线参数”。(椭圆曲线是ECC算法依赖的数学基础)。不同的椭圆曲线参数将得到不同的效果的加密算法。比特币等数字货币通常采用256位的椭圆曲线。
代码中的第个提示,展示了私钥”prk”的生成过程,可以看到”prk”是利用
”bitecdsa.GenerateKey”函数,在两个参数(&curve,
rand.Reader)的作用下生成的。”bitecdsa”是一个实现了ECDSA算法的开源代码,”GenerateKey”是其中用于生成密钥对的函数;”&curve”是在上部分代码中生成的椭圆曲线;”rand.Reader”是一个随机数。
代码中的第个提示展示了,公钥”puk”是有私钥”prk”生成的。上述代码与比特币、以太坊中负责账号生成的代码基本一致。区别在于,上述代码只是得到了公钥和私钥。在比特币等区块链系统中,区块链账号是在公钥的基础上进一步加工获得。

高级和合格的数字签名

2000年至2001年期间,爱尔兰、德国、日本、波兰等国政府也先后通过各自的电子签名法案。我国也于2004年8月28日通过《中华人民共和国电子签名法》,自2005年4月1日起施行。但是该法实行后,电子签名技术并未广泛使用,仅局限于部分领域,公众对于电子签名技术比较陌生,在传输合同和电子商务过程中并未广泛使用电子签名技术,导致数据电文在传输和存储过程中存在易篡改的可能性,正因为如此,我国法院在审理案件过程中,对于诉讼各方提交的以数据电文形式形成的证据采信程度很低。

func Sign_t(text string) (string, error) { //签名过程 //输入包括:随机数,私钥,待签名数据 //输出包括2个参数,r 和 s 。都是签名信息的中间数据 r, s, err := bitecdsa.Sign(rand.Reader, prk, []byte if err != nil { return "", err } rt, err := r.MarshalText() if err != nil { return "", err } st, err := s.MarshalText() if err != nil { return "", err } var b bytes.Buffer w := gzip.NewWriter //生成最终的签名信息 //输入是r 和 s的格式变换版本 rt 和 st //输出是签名信息 b defer w.Close() _, err = w.Write([]byte(string + "+" + string if err != nil { return "", err } w.Flush() return hex.EncodeToString), nil}

这两种签名类型都是专家推荐的最安全的方法,可以确保您的文件的隐私,并提供对签署者的准确跟踪。它们使用惟一的签名密钥,这些密钥在不同的签名者之间是不同的。专家称他们为数字签名,他们避免使用术语“数字签名”。私有签名密钥也很好,因为它们确保了不可否认性以及可以显示签署文件的确切个人。

本文的目的在于阐明:

代码中的第个提示,介绍了签名函数的结构。”bitecdsa.Sign”是ECDSA开源代码的签名函数。输入包括:随机数,私钥”prk”,待签名数据;输出包括2个参数,r
和 s ,这是签名信息的中间数据。
代码中的第个提示,介绍最终版签名信息的生成过程。

Click-to-Sign签名

  • 为什么数字签名属于可靠的电子签名技术?
  • 为什么经过可靠的电子签名技术处理过的数据电文具有等同于书面证据原件的法律效力?
func Verify_t(testString string, signString string) (bool, error) { byterun, err := hex.DecodeString(signString) if err != nil { return false, err } //解密出验证所需的两个参数 rint, sint rint, sint, err := getSign_t if err != nil { return false, err } //验证签名是否正确 //输入包括:公钥、待签名字符串、从签名信息中提取的两个参数”&rint, &sint” result := bitecdsa.Verify(&puk, []byte(testString), &rint, &sint) return result, nil}

有几种不同形式的Click-to-Sign签名,如电子曲线、键入的名称、复选框和扫描的图像。这些都是简单方便的表单,但是它们不会为您的文档提供加密保护。换句话说,它们不够强壮和安全。怀有意图的人很容易把它们复制到另一份文件上。

一、手写签名能证明什么?

要理解什么是电子签名,需要从传统手写签名或盖印章谈起。

在传统的商务活动中,为了保证交易的安全与真实,一份书面合同或文件要由当事人或其负责人签字、盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,属于签字或盖章方真实的意思表示,这样在法律上才能承认这份合同是有效的。

从法律上讲,签名(签章)有两个主要的证明功能:即标识签名人的身份和表示签名人对文件内容的认可。另外,随着司法鉴定技术的发展,可以基于褪色原理,对文件制成的时间、印章笔迹形成的时间做出鉴定,得知该文件大致的签署时间。同时,对书面文件进行改动会留下痕迹,容易被人察觉。以上就是采用书面签署文件的方式所能起到的证据作用。

代码中的第个提示,介绍了从签名信息中提取出验证所需的两个参数”&rint,
&sint”
代码中的第个提示,介绍验证签名的过程。”bitecdsa.Verify”是ECDSA开源代码的验证签名的函数。输入包括:公钥,待签名字符串、从签名信息中提取的两个参数”&rint,
&sint”。
从上述3个代码基本上可以了解所谓的区块链账号生成、区块链交易签名、区块链签名验证的底层逻辑。
此处重点介绍的是第一段代码中的这句代码: “curve = *bitelliptic.S256()”
这句代码的含义是利用ECDSA开源代码获取“S256”的椭圆曲线参数。通过代码跳转,查看S256()的代码如下:

数字签名和区块链

二、电子签名如何能有效替代手写签名?

如上文所述,手写签名有两个主要证明功能和一个附加证明功能。如果电子签名技术要替代手写签名,就一定要具备下列三个功能:

  1. 美高梅集团4858,标识签名人的身份;
  2. 在对有关数据电文进行电子签名以后,该数据电文无论是保存在存储器上还是在网络中传输,都必须具有防止他人篡改文件的功能;
  3. 可以证明电子签名的签署时间。只要通过技术手段能够替代手写签名的证明功能,电子签名技术就可以运用在数据电文的签署上,且能够被法律认可其证据效力。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵赖性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。
func initS256() { // See SEC 2 section 2.7.1 secp256k1 = new secp256k1.P, _ = new.SetString("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F", 16) secp256k1.N, _ = new.SetString("FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141", 16) secp256k1.B, _ = new.SetString("0000000000000000000000000000000000000000000000000000000000000007", 16) secp256k1.Gx, _ = new.SetString("79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798", 16) secp256k1.Gy, _ = new.SetString("483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8", 16) secp256k1.BitSize = 256}

美高梅集团4858 2

三、电子签名与数字签名的关系

联合国贸发会的《电子签名示范法》中对电子签名作了如下定义:

“指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息”;

在欧盟的《电子签名共同框架指令》则规定:

“以电子形式所附或在逻辑上与其他电子数据相关的数据,作为一种判别的方法”称电子签名。

而我国的《电子签名法》将电子签名定义为

“数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据”。

实现电子签名的技术手段有很多种,但目前比较成熟的,世界先进国家普遍使用的电子签名技术还是“数字签名”技术。由于保持技术中立性是各国制订法律的一个基本原则,目前还没有任何理由说明公钥密码理论是制作签名的唯一技术,因此有必要规定一个更一般化的概念以适应今后技术的发展,所以各国法律都采用“电子签名”的概念。

而“数字签名”是迄今为止最为成熟和公认最为可靠的电子签名技术。

如代码所示,椭圆曲线的参数主要是5个(P,N,B,GX,GY)。这5个参数定位了椭圆曲线的基本特征,决定了上层加密算法的具体操作过程。
代码中的第个提示,介绍了此椭圆曲线参数来自于“ SEC 2 section
2.7.1”,这是由Certicom(成立于1998年的密码团体)发布的加密算法参数推荐文档,目前已经被美国国家安全局(National
Security
Agency,简写为NSA)等众多政府、企业机构认可。文档链接:

最近流行的一件事是基于区块链的数字签名新技术。由于使用了这项新技术,您将不再需要昂贵的证书。数字签名的自然进化也包括区块链。这将让人们知道黑客或其他方面是否一直在篡改数据。

四、数字签名技术

所谓”数字签名”就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证无法比拟的。

“数字签名”是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。

使用区块链支持的签名,您可以对数字环境中的任何对象进行身份验证,以安全的方式添加额外的数据,在不允许其他人访问的情况下验证对象,以及执行许多其他有用的操作。

(一) 数字签名的原理

在公钥密码学中,密钥是由公开密钥和私有密钥组成的密钥对。数字签名就是用私有密钥进行加密,接收方用公开密钥进行解密。由于公开密钥不能推算出私有密钥,所以公开密钥不会损坏私有密钥的安全,公开密钥无需保密可以公开传播,而私有密钥必须保密。因此,当某人用其私有密钥加密信息,能够用他的公开密钥正确解密就可以肯定该消息是经过某人签字的,因为其他人的公开密钥不可能正确解密该加密信息,其他人也不可能拥有该人的私有密钥而制造出该加密过的信息。

数字签名并非是书面签名的数字图像化,而是通过密码技术对电子文档进行的电子形式签名。实际上人们可以否认曾对一个文件签过名,且笔迹鉴定的准确率并非100%,但却难以否认一个数字签名。因为数字签名的生成需要使用私有密钥,其对应的公开密钥则用以验证签名,再加上目前已有一些方案,如数字证书,就是把一个实体(法律主体)的身份同一个私有密钥和公开密钥对绑定在一起,使得这个主体很难否认数字签名。

就其实质而言,数字签名是接收方能够向第三方证明接收到的消息及发送源的真实性而采取的一种安全措施,其使用可以保证发送方不能否认和伪造信息。数字签名的主要方式是:报文的发送方从报文文本中生成一个散列值(或报文摘要)。发送方用自己的私有密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。

区块链不使用当前的公钥加密文档,而是允许使用私钥,因为私钥的安全性要高得多。毕竟,网络安全已经因为这个系统而发生了革命性的变化。此外,上述系统允许用户在同一个文件中包含多个签名、时间戳甚至指纹。总之,所有这些东西(数字签名、区块链和哈希值都是相互关联的,并且以它们最有效的形式存在)。

(二)数字签名的作用

数字签名作为维护数据信息安全的重要方法之一,可以解决伪造、抵赖、冒充和篡改等问题,其主要作用体现在以下几个方面:

  • (1)防重放攻击。重放攻击(Replay
    Attacks),是计算机世界黑客常用的攻击方式,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。这种攻击会不断恶意或欺诈性地重复一个有效的数据传输。攻击者利用网络监听或者其他方式盗取认证凭据,之后再把它重新发给认证服务器。在数字签名中,如果采用了对签名报文加盖时戳等或添加流水号等技术,就可以有效防止重放攻击。
  • (2)防伪造。其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据。
  • (3)防篡改。数字签名与原始文件或摘要一起发送给接收者,一旦信息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从而保证了文件的完整性。
  • (4)防抵赖。数字签名即可以作为身份认证的依据,也可以作为签名者签名操作的证据。要防止接收者抵赖,可以在数字签名系统中要求接收者返回一个自己签名的表示收到的报文,给发送者或受信任第三方。如果接收者不返回任何消息,此次通信可终止或重新开始,签名方也没有任何损失,由此双方均不可抵赖。
  • (5)保密性。手写签字的文件一旦丢失,文件信息就极可能泄露,但数字签名可以加密要签名的消息,在网络传输中,可以将报文用接收方的公钥加密,以保证信息机密性。
  • (6)身份认证。在数字签名中,客户的公钥是其身份的标志,当使用私钥签名时,如果接收方或验证方用其公钥进行验证并获通过,那么可以肯定,签名人就是拥有私钥的那个人,因为私钥只有签名人知道。

你为何需要使用数字签名?

(三)数字证书

在网上电子交易中,商户需要确认持卡人是信用卡或借记卡的合法持有者,同时持卡人也必须能够鉴别商户是否是合法商户,是否被授权接受某种品牌的信用卡或借记卡支付。为处理这些关键问题,必须有一个大家都信赖的机构来发放数字安全证书。数字证书就是参与网上交易活动的各方(如持卡人、商家、支付网关)身份的代表,每次交易时,都要通过数字证书对各方的身份进行验证。数字证书是由权威公正的第三方机构即证书授权(Certificate
Authority,简称CA)中心签发的,它在证书申请被认证中心批准后,通过登记服务机构将证书发放给申请者。

数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT
X.509国际标准。

一个标准的X.509数字安全证书包含以下一些内容:

  • 1)证书的版本信息;
  • 2)证书的序列号,每个证书都有一个唯一的证书序列号;
  • 3)证书所使用的签名算法;
  • 4)证书的发行机构名称,命名规则一般采用X.500格式;
  • 5)证书的有效期,现在通用的证书一般采用UTC时间格式;
  • 6)证书所有人的名称,命名规则一般采用X.500格式;
  • 7)证书所有人的公开密钥;
  • 8)证书发行者对证书的签名。

数字签名以准确和安全的方式提供某人的身份。这样,双方就可以安全地完成交易、共享文档等。合格的数字签名是使用特殊安全设备加密的电子证书创建的。所有企业都应该使用诸如此类的电子标识。
原因和好处很简单:

(四)时间戳

在电子商务交易文件中,时间是十分重要的信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。数字时间戳服务(digital
timestamp
service,简称DTS)是网上电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。时间戳(timestamp),通常是一个字符序列,唯一地标识某一刻的时间。数字时间戳技术是数字签名技术一种变种的应用,也通常在数字签名系统中被采用。

时间戳(time-stamp)是一个经加密后形成的凭证文档,它包括三个部分:

  • (1)需加时间戳的文件的摘要(digest);
  • (2)DTS收到文件的日期和时间;
  • (3)DTS的数字签名。

一般来说,时间戳产生的过程为:用户首先将需要加时间戳的文件用Hash编码加密形成摘要,然后将该摘要发送到DTS,DTS在加入了收到文件摘要的日期和时间信息后再对该文件加密(数字签名),然后送回用户。数字时间戳由认证单位来加具,以DTS收到文件的时间为依据

但是现在市场上提供时间戳服务的机构并非《电子签名法》中所指的“电子认证服务提供者”,其未获得工信部颁发的《电子认证服务许可证》,也不能证明文件签署者的主体身份,在技术上和法律效力上都具有局限性。

·为您的所有文件提供更高的安全级别;

(五)证书授权中心
  1. 证书授权中心,即CA中心,承担公钥体系中公钥的合法性检验的责任。CA中心为每个使用公开密钥的客户发放一个数字证书,数字证书的作用是证明证书中列出的客户合法拥有证书中列出的公开密钥。CA中心的数字签名使得攻击者不能伪造和篡改证书。CA中心负责产生、分配并管理所有参与网上交易的个体所需的数字证书,因此是安全电子交易的核心环节。

  2. CA认证的主要工具是CA中心为网上作业主体颁发的数字证书。CA架构包括公钥基础设施PKI(Public
    Key
    Infrastructure,简称PKI)结构、高强度抗攻击的公开加解密算法、数字签名技术、身份认证技术、运行安全管理技术、可靠的信任责任体系等等。从业务流程涉及的角色看,包括认证机构、数字证书库和黑名单库、密钥托管处理系统、证书目录服务、证书审批和作废处理系统。从CA的层次结构来看,可以分为认证中心(根CA)、密钥管理中心(KM)、认证下级中心(子CA)、证书审批中心(RA中心)、证书审批受理点(RAT)等。CA中心一般要发布认证体系声明书,向服务的对象郑重声明CA的政策、保证安全的措施、服务的范围、服务的质量、承担的责任、操作流程等条款。
    根据PKI的结构,身份认证的实体需要有一对密钥,分别为私钥和公钥。其中的私钥是保密的,公钥是公开的。从原理上讲,不能从公钥推导出私钥,如用穷举法来求私钥则由于目前的技术、运算工具和时间的限制而不可能。每个实体的密钥总是成对出现,即一个公钥必定对应一个私钥。公钥加密的信息必须由对应的私钥才能解密;同样,私钥做出的签名,也只有配对的公钥才能解密。公钥有时用来传输对称密钥,这就是数字信封技术。密钥的管理政策是把公钥和实体绑定,由CA中心把实体(即经实名认证的客户)的信息和实体的公钥制作成数字证书,证书的尾部必须有CA中心的数字签名。由于CA中心的数字签名是不可伪造的,因此实体的数字证书不可伪造。CA中心对实体的物理身份资格审查通过后,才对申请者颁发数字证书,将实体的身份与数字证书对应起来。由于实体都信任提供第三方服务的CA中心,因此,实体可以信任由CA中心颁发数字证书的其他实体,放心地在网上进行作业和交易。

  3. CA中心主要职责是颁发和管理数字证书。其中心任务是颁发数字证书,并履行客户身份认证的责任。CA中心在安全责任分散、运行安全管理、系统安全、物理安全、数据库安全、人员安全、密钥管理等方面,需要十分严格的政策和规程,要有完善的安全机制。另外要有完善的安全审计、运行监控、容灾备份、事故快速反应等实施措施,对身份认证、访问控制、防病毒防攻击等方面也要有强大的工具支撑。CA中心的证书审批业务部门则负责对证书申请者进行资格审查,并决定是否同意给该申请者发放证书,并承担因审核错误引起的、为不满足资格的证书申请者发放证书所引起的一切后果,因此,它应是能够承担这些责任的机构担任;证书操作部门(Certificate
    Processor,简称CP)负责为已授权的申请者制作、发放和管理证书,并承担因操作运营错误所产生的一切后果,包括失密和为没有授权者发放证书等,它可以由审核业务部门自己担任,也可委托给第三方担任。

4.CA为电子商务服务的证书中心,是PKI体系的核心。它为客户的公开密钥签发公钥证书、发放证书和管理证书,并提供一系列密钥生命周期内的管理服务。它将客户的公钥与客户的名称及其他属性关联起来,为客户之间电子身份进行认证。证书中心是一个具有权威性、可信赖性和公证性的第三方机构。它是电子商务存在和发展的基础。

认证中心在密码管理方面的作用如下:

  • 1)自身密钥的产生、存储、备份/恢复、归档和销毁。从根CA开始到直接给客户发放证书的各层次CA,都有其自身的密钥对。CA中心的密钥对一般由硬件加密服务器在机器内直接产生,并存储于加密硬件内,或以一定的加密形式存放于密钥数据库内。加密备份于IC卡或其他存储介质中,并以高等级的物理安全措施保护起来。密钥的销毁要以安全的密钥冲写标准,彻底清除原有的密钥痕迹。需要强调的是,根CA密钥的安全性至关重要,它的泄露意味着整个公钥信任体系的崩溃,所以CA的密钥保护必须按照最高安全级的保护方式来进行设置和管理。
  • 2)为认证中心与各地注册审核发放机构的安全加密通信提供安全密钥管理服务。在客户证书的生成与发放过程中,除了有CA中心外,还有注册机构、审核机构和发放机构(对于有外部介质的证书)的存在。行业使用范围内的证书,其证书的审批控制,可由独立于CA中心的行业审核机构来完成。CA中心在与各机构进行安全通信时,可采用多种手段。对于使用证书机制的安全通信,各机构(通信端)的密钥产生、发放与管理维护,都可由CA中心来完成。
  • 3)确定客户密钥生存周期,实施密钥吊销和更新管理。每一张客户公钥证书都会有有效期,密钥对生命周期的长短由签发证书的CA中心来确定。各CA系统的证书有效期限有所不同,一般大约为2~3年。密钥更新不外为以下两种情况:一是密钥对到期;二是密钥泄露后需要启用新的密钥对(证书吊销)。密钥对到期时,客户一般事先非常清楚,可以采用重新申请的方式实施更新。

采用证书的公钥吊销,是通过吊销公钥证书来实现的。公钥证书的吊销来自于两个方向,一个是上级的主动吊销,另一个是下级主动申请证书的吊销。当上级CA对下级CA不能信赖时(如上级发现下级CA的私钥有泄露的可能),它可以主动停止下级CA公钥证书的合法使用。当客户发现自己的私钥泄露时,也可主动申请公钥证书的吊销,防止其他主体继续使用该公钥来加密重要信息,而使非法主体有窃密的可能。一般而言,在电子商务实际应用中,可能会较少出现私钥泄露的情况,多数情况是由于某个客户由于组织变动而调离该单位,需要提前吊销代表企业身份的该主体的证书。

  • 4)提供密钥生成和分发服务。CA中心可为客户提供密钥对的生成服务,它采用集中或分布式的方式进行。在集中的情形下,CA中心可使用硬件加密服务器,为多个客户申请成批的生成密钥对,然后采用安全的信道分发给客户。也可由多个注册机构(RA)分布生成客户密钥对并分发给客户。

  • 5)提供密钥托管和密钥恢复服务。CA中心可根据客户的要求提供密钥托管服务,备份和管理客户的加密密钥对。当客户需要时可以从密钥库中提出客户的加密密钥对,为客户恢复其加密密钥对,以解开先前加密的信息。这种情形下,CA中心的密钥管理器,采用对称加密方式对各个客户私钥进行加密,密钥加密密钥在加密后即销毁,保证了私钥存储的安全性。密钥恢复时,采用相应的密钥恢复模块进行解密,以保证客户的私钥在恢复时没有任何风险和不安全因素。同时,CA中心也应有一套备份库,避免密钥数据库的意外毁坏而无法恢复客户私钥。

  • 6)其他密钥生成和管理、密码运算功能。CA中心在自身密钥和客户密钥管理方面的特殊地位和作用,决定了它具有主密钥、多级密钥加密密钥等多种密钥的生成和管理功能。对于为客户提供公钥信任、管理和维护整个电子商务密码体系的CA中心来讲,其密钥管理工作是一项十分复杂的任务,它涉及到CA中心自身的各个安全区域和部件、注册审核机构以及客户端的安全和密码管理策略。

·所有参与交易或协议的人员将能够跟踪各方共享的所有信息;

(六)EID对于数字签名的意义

1、EID是派生于居民身份证、在网上远程证实身份的证件,即“电子身份证”。

在技术上。EID也是采用PKI(Public Key
Infrastructure,公钥基础设施)的密钥对技术,由智能芯片生成私钥,再由公安部门统一签发证书、并经现场身份审核后,再发放给公民。具体而言,PKI技术是一套Internet安全解决方案,PKI体系结构采用证书管理公钥,通过第三方的可信机构CA,把用户的公钥和用户的其他标识信息捆绑在一起,在Internet网上验证用户的身份,PKI体系结构把公钥密码和对称密码结合起来,在Internet网上实现密钥的自动管理,保证网上数据的机密性、完整性。EID的持证人在使用时自设PIN码激活证件,并通过通用读卡器通过网络远程向服务机构出示;服务机构通过EID的身份信息服务后台认证EID的有效性并获取相应权限内的信息。

2、 EID对冒用、截取、篡改、伪造之防范。

如上文所述,EID采用了PKI、硬证书+PIN码的技术,通过这些技术可以有效防止在网络上身份信息被截取、篡改和伪造。此外,由于EID是通过密码技术来将个人的身份与后台数据库关联,身份会被唯一认定,理论上很难被假冒

即使EID不慎遗失也不用担心被冒用。因为EID由公安部门的网络身份管理中心统一签发,若持证人遗失EID,可即刻向网络身份管理中心挂失,该EID将立刻被冻结或失效。通常,在没有EID的情况下,如果身份证丢失,因为身份证缺少注销功能,即使挂失补办了,社会上可能还会有两个身份证在流通。而EID具有唯一性,需要联网认证,申领了新的,旧的就自动被注销而无法再使用,因此EID持有者被认定为是可信的。而且由于EID具有PIN码,别人捡到或盗取后也无法使用。EID本身采用先进密码技术,重要信息在key中物理上就无法被读取,因此无法被破解,从而有效避免被他人冒用。

如果发生网络账号被盗情况,只要EID还在用户手上,就可以立即重置密码,因此账户就没有被盗用买卖的空间了。还可以规定关键操作必须使用EID,如网络上的交易行为必须插入EID,这样即使密码被窃取,也不会造成损失。

3、综上所述,EID实质上是数字签名技术+PIN码的技术的结合体,其在制作时就已经由公安部门进行了实名认证,不需要在使用时再进行实名认证,这弥补了CA机构在颁发CA证书时需要进行实名审核的弊端,同时PIN码技术的采用使身份证所有人成为使用其EID的唯一主体,有效避免了盗用或冒用的发生。笔者认为,基于颁发机构的权威性和技术的可靠性,随着EID的广泛使用,将可以完全取代现有的CA机构在数字签名系统中的使用。

·这些工具使用方便、直观;

五、数字签名具有与书写或盖章同等的法律效力

根据上述对于数字签名技术文字上的描述,我们可以看到,经过CA中心认证的数字签名技术具有如下特点:

  • (一)在经过CA中心审核认证后,通过颁发数字证书可以证明数字签名者的身份;
  • (二)数字签名者可以通过其控制的私钥来加密其需要对外发送的数据电文;
  • (三)在进行数字签名后,对数字签名的任何改动都能够被发现;
  • (四)数字签名者在利用数字签名技术签署数据电文以后,对该数据电文的任何内容和形式的改动都会留下痕迹,被人发现;
  • (五)在数字签名系统中,普通采用了时间戳技术。因此签名者在数据电文上加盖数字签名时,同时也会加盖时间戳,这可以非常准确的表明数据电文进行数字签名的时间。

正因为经认证的数字签名技术具有手写签名或盖章同样的证据功能,甚至其证据的可靠程度还要高于手写签名,因此我国《电子签名法》第十四条规定,

“可靠的电子签名与手写签名或者盖章具有同等的法律效力”。

·是一种方便的远程认证解决方案;

六、不能使用数字签名、数据电文的文书

电子签名法第三条的规定:

“民事活动中的合同或者其他文件、单证等文书,当事人可以约定使用或者不使用电子签名、数据电文。当事人约定使用电子签名、数据电文的文书,不得仅因为其采用电子签名、数据电文的形式而否定其法律效力。

前款规定不适用下列文书:

  • (一)涉及婚姻、收养、继承等人身关系的;
  • (二)涉及土地、房屋等不动产权益转让的;
  • (三)涉及停止供水、供热、供气、供电等公用事业服务的;
  • (四)法律、行政法规规定的不适用电子文书的其他情形。”

电子交易是一种新兴的交易方式,电子签名、数据电文并未在社会活动中获得广泛应用,广大民众的认知度不高。
同时,电子签名、数据电文的应用需要借助于一定的技术手段,物质条件也会限制一部分民众使用这种交易方式。

由于上述原因,并基于交易安全因素的考虑,一些国家和地区的电子签名法或电子商务法规定某些领域不适用这种交易方式。

一般包括以下几种情况:

第一,与婚姻、家庭等人身关系有关的文件。如美国电子签章法规定,

“关于遗嘱、遗嘱修改书或遗产信托的制定法、条例或者其他法律规则”,
“关于收养、离婚或家庭法其他事项的州的制定法、条例或者其他法律规则”,不适用该法关于电子签名效力的规定。

我国香港地区电子交易条例规定,

“遗嘱、遗嘱更改附件或任何其他遗嘱性质的文书的订立、签立、更改、撤消、恢复效力或更正”,不适用本条例。

第二,与诉讼程序有关的文书。如美国电子签章法规定,该法关于电子签名效力的规定不适用于

“与诉讼程序有关的需经签章的法庭传票或通知,或正式法庭文书(包括诉状、答辩状以及其他书面文件)”。

第三,与公用服务事业有关的文书。美国电子签章法规定,

该法关于电子签名效力的规定不适用于“公用服务(包括供水、供热及供电)的取消或终止”的通知。

第四,与不动产权益有关的文书。
新加坡电子交易法规定,

“任何用于买卖不动产或以其他方式处分不动产的契约及不动产下所发生利益的契约”、“不动产转移或不动产利益的转让”以及“产权证书”,不适用本法。

第五,其他文书。

如澳大利亚电子交易法规定,与移民有关的文件或公民权证书,不适用本法;
新加坡电子交易法规定商业票据不适用本法;
我国台湾地区电子签章法规定法令或行政机关之公告,可以排除其适用。

我国的《电子签名法》参考了外国和有关地区的立法例,并结合我国的实际情况,在该法第三款规定了适用除外;同时,为了使本法在实施过程中具有更大的灵活性,还规定了一个兜底条款,即法律、行政法规可以对其他不适用电子文书的情形作出规定。

综上所述,根据《电子签名法》的规定,

  • 除了不能使用电子签名的文书,其他文书如果采用了经过认证的数字签名技术签署数据电文,具有与手写文件同样的法律效力;
  • 另外能够有效地表现所载内容并可供随时调取查用且能够可靠地保证自最终形成时起,内容保持完整、未被更改的数据电文,视为满足法律、法规规定的原件形式要求。

在CA中心的认证以及时间戳技术的使用下,数字签名技术的运用完全可以使数据电文达到《电子签名法》规定的原件形式要求且可以有效保存。

END

·在成本方面,数字签名比传统签名更有效。

总结

如果你想让你的文件保持安全,数字签名是必须的。如果您正在寻找更高级别的安全性,您应该将您的签名与区块链系统配对。最后,注意您选择使用哪种类型的时间戳,因为有些时间戳比其他时间戳更有效。

关键词: 数字签名Digital Signatures

更多区块链项目资讯,请访问

TokenTM

相关文章

网站地图xml地图