您现在的位置是: 首页 > 文案大全 文案大全
数字签名是解决什么的问题-_数字签名是解决什么的问题的方法
ysladmin 2024-05-12 人已围观
简介数字签名是解决什么的问题?_数字签名是解决什么的问题的方法 大家好,今天我将为大家介绍一下关于数字签名是解决什么的问题?的问题。为了更好地理解这个问题,我对相关资料进行了归纳整理,现在
大家好,今天我将为大家介绍一下关于数字签名是解决什么的问题?的问题。为了更好地理解这个问题,我对相关资料进行了归纳整理,现在让我们一起来看看吧。
1.摘要、数字签名和数字证书
2.如何利用数字签名保证网上安全
3.数字签名的原理和作用分别是什么?
4.如何验证数字签名证书,有什么用途?
5.数字签名解决不可抵赖性、数据完整性的原理?急在线等
6.电子商务中,数字签名的作用
摘要、数字签名和数字证书
摘要是指通过一定的摘要算法将一段内容转为一段固定长度的内容,该内容即是摘要。
摘要算法: 通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)
常见的摘要算法有:MD5、SHA1、SHA256、SHA512。
摘要作用: 检测内容是否发生修改。
存在问题: 消息发送过程中,可被中间人修改消息内容,并生成新的摘要,消息接收者不能确定消息是否被篡改。
数字签名,即是用消息发送者的 私钥 加密 摘要 后生成的内容。该内容只能用发送者的公钥进行解密,所以可以防止他人修改。
数字签名的目的是为了确保该消息是发送者发送的,中途没有被修改或替换。
存在问题: 数字签名可以解决消息被中间人修改的问题,但前提是消息接收者拿到的发送者的公钥是真实的。如果拿到的公钥不是发送者的,而是中间人的公钥,那么消息还是可以被篡改。
数字证书,是通过第三方(一般称为CA)颁发的,一般是用第三方的私钥来加密消息发送者的公钥和相关信息而生成的。这样,消息接收者用第三方的公钥来进行解密证书,得到消息发送者的公钥。
数字证书解决的问题是:防止消息发送者的公钥被中途替换,从而解决了单纯的 摘要 和 数字签名 的问题。
如何利用数字签名保证网上安全
电子签名和数字签名的内涵并不一样,数字签名是电子签名技术中的一种,不过两者的关系也很密切,目前电子签名法中提到的签名,一般指的就是数字签名。电子签名 要理解什么是电子签名,需要从传统手工签名或盖印章谈起。在传统商务活动中,为了保证交易的安全与真实,一份书面合同或公文要由当事人或其负责人签字、盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,在法律上才能承认这份合同是有效的。而在电子商务的虚拟世界中,合同或文件是以电子文件的形式表现和传递的。在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依*技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵懒性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。 从法律上讲,签名有两个功能:即标识签名人和表示签名人对文件内容的认可。联合国贸发会的《电子签名示范法》中对电子签名作如下定义:指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息;在欧盟的《电子签名共同框架指令》中就规定?quot;以电子形式所附或在逻辑上与其他电子数据相关的数据,作为一种判别的方法称电子签名。 实现电子签名的技术手段有很多种,但目前比较成熟的,世界先进国家普遍使用的电子签名技术还是数字签名技术。由于保持技术中立性是制订法律的一个基本原则,目前还没有任何理由说明公钥密码理论是制作签名的唯一技术,因此有必要规定一个更一般化的概念以适应今后技术的发展。但是,目前电子签名法中提到的签名,一般指的就是数字签名。 数字签名 所谓数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。数字签名是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。 数字签名在ISO7498-2标准中定义为:附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造。美国电子签名标准(DSS,FIPS186-2)对数字签名作了如下解释:利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性。按上述定义PKI(Public Key Infrastructino 公钥基础设施)提供可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。PKI的核心执行机构是电子认证服务提供者,即通称为认证机构CA(Certificate Authority),PKI签名的核心元素是由CA签发的数字证书。它所提供的PKI服务就是认证、数据完整性、数据保密性和不可否认性。它的作法就是利用证书公钥和与之对应的私钥进行加/解密,并产生对数字电文的签名及验证签名。数字签名是利用公钥密码技术和其他密码算法生成一系列符号及代码组成电子密码进行签名,来代替书写签名和印章;这种电子式的签名还可进行技术验证,其验证的准确度是在物理世界中对手工签名和图章的验证是无法比拟的。这种签名方法可在很大的可信PKI域人群中进行认证,或在多个可信的PKI域中进行交*认证,它特别适用于互联网和广域网上的安全认证和传输。“数字签名”与普通文本签名的最大区别在于,它可以使用个性鲜明的图形文件,你只要利用扫描仪或作图工具将你的个性签名、印章甚至相片等,制作成BMP文件,就可以当做“数字签名”的素材。目前可以提供“数字签名”功能的软件很多,用法和原理都大同小异,其中比较常用的有“ OnSign”。安装“OnSign”后,在Word、Outlook等程序的工具栏上,就会出现,“OnSign”的快捷按钮,每次使用时,需输入自己的密码,以确保他人无法盗用。对于使用了“OnSign”寄出的文件,收件人也需要安装“OnSign”或“OnSign Viewer”,这样才具备了识别“数字签名”的功能。根据“OnSign”的设计,任何文件内容的窜改与拦截,都会让签名失效。因此当对方识别出你的“数字签名”,就能确定这份文件是由你本人所发出的,并且中途没有被窜改或拦截过。当然如果收件人还不放心,也可以单击“数字签名”上的蓝色问号,“OnSign”就会再次自动检查,如果文件有问题,“数字签名”上就会出现红色的警告标志。在电子邮件使用频繁的网络时代,使用好“数字签名”,就像传统信件中的“挂号信”,无疑为网络传输文件的安全又增加了一道保护屏障。--------------------------------------------------------------------------------数字签名可以用来验证文档的真实性和完整性,数字签名使用强大的加密技术和公钥基础结构,以更好地保证文档的真实性、完整性和受认可性。 该流程非常安全,一些政府已经立法赋予数字签名法律效力。在与包括 Entrust 和 VeriSign 在内的一流安全供应商的合作中,Adobe 使所有行业都可以将数字签名嵌入到 Adobe?0?3 便携式文档格式 (PDF) 文件中。 使用 Adobe 解决方案,您可以:将数字签名结合到往返工作流程中在防火墙内外安全地发送已签名的文档验证签名人的数字身份通过在发送之前进行数字签名来认证电子文档核实文档没有被欺骗性地更改降低成本并加速批准流程
数字签名的原理和作用分别是什么?
详解数字签名
目前有许多种技术保证信息的安全不受侵犯,例如加密技术、访问控制技术、认证技术以及安全审计技术等,但这些技术大多数是用来预防用的,信息一旦被攻破,我们不能保证信息的完整性。为此,一种新兴的用来保证信息完整性的安全技术——数字签名技术成为人们非常关心的话题。那么,什么是数字签名技术?它有什么特殊功能呢?
概念
在数字签名技术出现之前,曾经出现过一种“数字化签名”技术,简单地说就是在手写板上签名,然后将图像传输到电子文档中,这种“数字化签名”可以被剪切,然后粘贴到任意文档上,这样非法复制变得非常容易,所以这种签名的方式是不安全的。数字签名技术与数字化签名技术是两种截然不同的安全技术,数字签名与用户的姓名和手写签名形式毫无关系,它实际使用了信息发送者的私有密钥变换所需传输的信息。对于不同的文档信息,发送者的数字签名并不相同。没有私有密钥,任何人都无法完成非法复制。从这个意义上来说,“数字签名”是通过一个单向函数对要传送的报文进行处理得到的,用以认证报文来源并核实报文是否发生变化的一个字母数字串。
原理
该技术在具体工作时,首先发送方对信息施以数学变换,所得的信息与原信息惟一对应;在接收方进行逆变换,得到原始信息。只要数学变换方法优良,变换后的信息在传输中就具有很强的安全性,很难被破译、篡改。这一个过程称为加密,对应的反变换过程称为解密。
现在有两类不同的加密技术,一类是对称加密,双方具有共享的密钥,只有在双方都知道密钥的情况下才能使用,通常应用于孤立的环境之中,比如在使用自动取款机(ATM)时,用户需要输入用户识别号码(PIN),银行确认这个号码后,双方在获得密码的基础上进行交易,如果用户数目过多,超过了可以管理的范围时,这种机制并不可靠。
另一类是非对称加密,也称为公开密钥加密,密钥是由公开密钥和私有密钥组成的密钥对,用私有密钥进行加密,利用公开密钥可以进行解密,但是由于公开密钥无法推算出私有密钥,所以公开的密钥并不会损害私有密钥的安全,公开密钥无须保密,可以公开传播,而私有密钥必须保密,丢失时需要报告鉴定中心及数据库。
算法
数字签名的算法很多, 应用最为广泛的三种是: Hash签名、DSS签名和RSA签名。
1. Hash签名
Hash签名不属于强计算密集型算法,应用较广泛。它可以降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名, 因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。
2. DSS和RSA签名
DSS 和RSA采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。早在Web飞速发展之前, RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上还增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。与DSS不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。
功能
数字签名可以解决否认、伪造、篡改及冒充等问题。具体要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。数字签名的应用范围十分广泛,在保障电子数据交换(EDI)的安全性上是一个突破性的进展,凡是需要对用户的身份进行判断的情况都可以使用数字签名,比如加密信件、商务信函、定货购买系统、远程金融交易、自动模式处理等等。
缺憾
数字签名的引入过程中不可避免地会带来一些新问题,需要进一步加以解决,数字签名需要相关法律条文的支持。
1. 需要立法机构对数字签名技术有足够的重视,并且在立法上加快脚步,迅速制定有关法律,以充分实现数字签名具有的特殊鉴别作用,有力地推动电子商务以及其他网上事务的发展。
2. 如果发送方的信息已经进行了数字签名,那么接收方就一定要有数字签名软件,这就要求软件具有很高的普及性。
3. 假设某人发送信息后脱离了某个组织,被取消了原有数字签名的权限,以往发送的数字签名在鉴定时只能在取消确认列表中找到原有确认信息,这样就需要鉴定中心结合时间信息进行鉴定。
4. 基础设施(鉴定中心、在线存取数据库等)的费用,是采用公共资金还是在使用期内向用户收费?如果在使用期内收费,会不会影响到这项技术的全面推广?
实施
实现数字签名有很多方法,目前采用较多的是非对称加密技术和对称加密技术。虽然这两种技术实施步骤不尽相同,但大体的工作程序是一样的。用户首先可以下载或者购买数字签名软件,然后安装在个人电脑上。在产生密钥对后,软件自动向外界传送公开密钥。由于公共密钥的存储需要,所以需要建立一个鉴定中心(CA)完成个人信息及其密钥的确定工作。鉴定中心是一个政府参与管理的第三方成员,以便保证信息的安全和集中管理。用户在获取公开密钥时,首先向鉴定中心请求数字确认,鉴定中心确认用户身份后,发出数字确认,同时鉴定中心向数据库发送确认信息。然后用户使用私有密钥对所传信息签名,保证信息的完整性、真实性,也使发送方无法否认信息的发送,之后发向接收方;接收方接收到信息后,使用公开密钥确认数字签名,进入数据库检查用户确认信息的状况和可信度;最后数据库向接收方返回用户确认状态信息。不过,在使用这种技术时,签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。如果密钥丢失,应该立即报告鉴定中心取消认证,将其列入确认取消列表之中。其次,鉴定中心必须能够迅速确认用户的身份及其密钥的关系。一旦接收到用户请求,鉴定中心要立即认证信息的安全性并返回信息。
什么是数字签名:
一.数字签名的含义
数字签名是在公钥加密系统的基础上建立起来的,数字签名的产生涉及的运算方式是为人们所知的散列函数功能,也称"哈希函数功能"(Hash Function).哈希函数功能其实是一种数学计算过程.这一计算过程建立在一种以"哈希函数值"或"哈希函数结果"形式创建信息的数字表达式或压缩形式(通常被称作"信息摘要"或"信息标识")的计算方法之上.在安全的哈希函数功能(有时被称作单向哈希函数功能)情形下,要想从已知的哈希函数结果中推导出原信息来,实际上是不可能的.因而,哈希函数功能可以使软件在更少且可预见的数据量上运作生成数字签名,却保持与原信息内容之间的高度相关,且有效保证信息在经数字签署后并未做任何修改.
所谓数字签名,就是只有信息的发送者才能产生的,别人无法伪造的一段数字串,它同时也是对发送者发送的信息的真实性的一个证明.签署一个文件或其他任何信息时,签名者首先须准确界定要签署内容的范围.然后,签名者软件中的哈希函数功能将计算出被签署信息惟一的哈希函数结果值(为实用目的).最后使用签名者的私人密码将哈希函数结果值转化为数字签名.得到的数字签名对于被签署的信息和用以创建数字签名的私人密码而言都是独一无二的.
一个数字签名(对一个信息的哈希函数结果的数字签署)被附在信息之后,并随同信息一起被储存和传送.然而,只要能够保持与相应信息之间的可靠联系,它也可以作为单独的数据单位被存储和传送.因为数字签名对它所签署的信息而言是独一无二的,因此,假如它与信息永久地失去联系则变得毫无意义.
在书面文件上签名是确认文件的一种手段,数字签名同传统的手写签名相比有许多特点.
首先,数字签名中的签名同信息是分开的,需要一种方法将签名与信息联系在一起,而在传统的手写签名中,签名与所签署之信息是一个整体;
其次,在签名验证的方法上,数字签名利用一种公开的方法对签名进行验证,任何人都可以对之进行检验.而传统的手写签名的验证,是由经验丰富的接收者,通过同预留的签名样本相比较而作出判断的;
最后,在数字签名中,有效签名的复制同样是有效的签名,而在传统的手写签名中,签名的复制是无效的.
数字签名可以同时具有两个作用:确认数据的来源,以及保证数据在发送的过程中未作任何修改或变动.因此,在某些方面而言,数据签名的功能,更有些近似于整体性检测值的功能.但是,二者的一个主要区别在于,数字签名必须能够保证以下特点,即发送者事后不能抵赖对报文的签名.这一点相当重要.由此,信息的接收者可以通过数字签名,使第三方确信签名人的身份及发出信息的事实.当双方就信息发出与否及其内容出现争论时,数字签名就可成为一个有力的证据.一般来说因信息篡改而受影响较大的是接收方.因此,接收方最好使用与信息发送方不同的数字签名,以示区别.这是整体性检测值所不具有的功能.在这种意义上说来,确认一个数字签名,有些类似于通过辩认手写签名来确认某一书面文件的来源一样的意义.
采用数字签名和加密技术相结合的方法,可以很好地解决信息传输过程中的完整性,身份认证以及防抵赖性等问题.
(1)完整性.因为它提供了一项用以确认电子文件完整性的技术和方法,可认定文件为未经更改的原件.
(2)可验证性.可以确认电子文件之来源.由于发件人以私钥产生的电子签章惟有与发件人的私钥对应的公钥方能解密,故可确认文件之来源.
(3)不可否认性.由于只有发文者拥有私钥,所以其无法否认该电子文件非由其所发送.
数字签名
所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
数字签名在ISO7498-2标准中定义为:"附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造"。美国电子签名标准(DSS,FIPS186-2)对数字签名作了如下解释:"利用一套规则和一个参数对数据计算所得的结果,用此结果能够确认签名者的身份和数据的完整性"。按上述定义PKI(Public Key Infrastructino 公钥基础设施)提供可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。
PKI的核心执行机构是电子认证服务提供者,即通称为认证机构CA(Certificate Authority),PKI签名的核心元素是由CA签发的数字证书。它所提供的PKI服务就是认证、数据完整性、数据保密性和不可否认性。它的作法就是利用证书公钥和与之对应的私钥进行加/解密,并产生对数字电文的签名及验证签名。数字签名是利用公钥密码技术和其他密码算法生成一系列符号及代码组成电子密码进行签名,来代替书写签名和印章;这种电子式的签名还可进行技术验证,其验证的准确度是在物理世界中对手工签名和图章的验证是无法比拟的。这种签名方法可在很大的可信PKI域人群中进行认证,或在多个可信的PKI域中进行交叉认证,它特别适用于互联网和广域网上的安全认证和传输。
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。
数字签名(Digital Signature)技术是不对称加密算法的典型应用。数字签名的应用过程是,数据源发送方使用自己的私钥对数据校验和或其他与数据内容有关的变量进行加密处理,完成对数据的合法“签名”,数据接收方则利用对方的公钥来解读收到的“数字签名”,并将解读结果用于对数据完整性的检验,以确认签名的合法性。数字签名技术是在网络系统虚拟环境中确认身份的重要技术,完全可以代替现实过程中的“亲笔签字”,在技术和法律上有保证。在公钥与私钥管理方面,数字签名应用与加密邮件PGP技术正好相反。在数字签名应用中,发送者的公钥可以很方便地得到,但他的私钥则需要严格保密。
数字签名主要的功能是:保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。
数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。
数字签名是个加密的过程,数字签名验证是个解密的过程。
具有数字签名功能的个人安全邮件证书是用户证书的一种,是指单位用户收发电子邮件时采用证书机制保证安全所必须具备的证书。个人安全电子邮件证书是符合x.509标准的数字安全证书,结合数字证书和S/MIME技术对普通电子邮件做加密和数字签名处理,确保电子邮件内容的安全性、机密性、发件人身份确认性和不可抵赖性。 具有数字签名功能的 个人安全邮件证书中包含证书持有人的电子邮件地址、证书持有人的公钥、颁发者(河南CA)以及颁发者对该证书的签名。个人安全邮件证书功能的实现决定于用户使用的邮件系统是否支持相应功能。目前, MS Outlook 、Outlook Express、Foxmail及河南CA安全电子邮件系统均支持相应功能。使用个人安全邮件证书可以收发加密和数字签名邮件,保证电子邮件传输中的机密性、完整性和不可否认性,确保电子邮件通信各方身份的真实性
如何验证数字签名证书,有什么用途?
一、公钥加密
假设一下,我找了两串数字,一串是1*,一串是2*。我喜欢2*这串数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1*是我的公钥。
我有一个文件,不能让别人看,我就用1*加密了。别人找到了这个文件,但是他不知道2*就是解密的私钥啊,所以他解不开,只有我可以用
串2*,就是我的私钥,来解密。这样我就可以保护数据了。
我的好朋友x用我的公钥1*加密了字符a,加密后成了b,放在网上。别人偷到了这个文件,但是别人解不开,因为别人不知道2*就是我的私钥,
只有我才能解密,解密后就得到a。这样,我们就可以传送加密的数据了。
二、私钥签名
如果我用私钥加密一段数据(当然只有我可以用私钥加密,因为只有我知道2*是我的私钥),结果所有的人都看到我的内容了,因为他们都知
道我的公钥是1*,那么这种加密有什么用处呢?
但是我的好朋友x说有人冒充我给他发信。怎么办呢?我把我要发的信,内容是c,用我的私钥2*,加密,加密后的内容是d,发给x,再告诉他
解密看是不是c。他用我的公钥1*解密,发现果然是c。
这个时候,他会想到,能够用我的公钥解密的数据,必然是用我的私钥加的密。只有我知道我得私钥,因此他就可以确认确实是我发的东西。
这样我们就能确认发送方身份了。这个过程叫做数字签名。当然具体的过程要稍微复杂一些。用私钥来加密数据,用途就是数字签名。
总结:公钥和私钥是成对的,它们互相解密。
公钥加密,私钥解密。
私钥数字签名,公钥验证。
数字签名解决不可抵赖性、数据完整性的原理?急在线等
什么是数字签名?简单来说,数字签名是公钥密码的逆应用:用私钥加密消息,用公钥解密消息。数字签名是为了证明对方发的信息并没有被更改过,但前提条件是你确认对方是可靠的,即你拥有的公钥确实是对方的公钥而不是其他人的公钥。而数字证书就是为了证明你拥有的公钥确实是对方的。一、数字证书的用途 以上“数字签名”例子中,我们都默认了一个前提条件:女神拥有的确实是你的公钥,如果女神的公钥被别人调包了呢?继续上面的实例:如果女神的公钥被你的一个情敌调包换成情敌的公钥了,当你把表白和数字签名发给女神的过程中,情敌把信息拦截了,拦截后重新写了一份表白并用他自己的私钥生成数字签名(重复你的操作,只不过内容已经换成情敌的了)重新发给女神,这时女神并不知道“你”已经换成“情敌”了,那你就悲剧了哦。这时数字证书就起作用了,数字证书就是为了给女神证明发信人的身份的。2.数字证书包含的内容
在现实生活里,为了证明我们身份,公安机关会给每个人颁发一个身份证。在信息世界里,数字证书就是对方的身份证。同样的,数字证书也有专门的发证机关Certificate Authority,简称CA。发证机关颁发的数字证书里包含以下基本内容:
1.证书颁发机关
2.证书持有者名称/服务器域名
3.证书有效期
4.证书签名算法(摘要算法和加密算法)
5.证书签名值
6.证书所有者加密算法
7.证书所有者公钥
二、数字证书如何验证
现实中要验证一个人的身份,首先核对这个人的身份证有效性,然后再核对本人相貌跟身份证上的照片是否一致。数字证书也是一样的验证思路:
1.验证数字证书有效性
数字证书里包含了发证机关对这张证书的数字签名,而浏览器默认内置了发证机关的公钥(暂且这么理解),拿到公钥后先解密证书的数字签名拿到证书的摘要,然后浏览器用证书的摘要算法重新计算下证书的摘要,最后比对这两者的值是否相等,如果相等证明这张数字证书确实是发证机关颁发的有效证书。
三、验证“相貌” 如何验证该证书的所有者就是跟浏览器正在对话的网站呢?数字证书包含了web网站服务器的一个或者多个域名,浏览器会验证该域名跟正在对话的服务器的域名是否匹配(防止MITM)。
四、数字证书的级联 颁发证书的机构是可以有级联关系的,即A机构可以委派B机构颁发证书,B机构也可以委派C颁发证书,如果网站的证书是C颁发的,那么需要用B的证书去验证C颁发的证书,同理需要用A机构的证书去验证B颁发的证书,这个过程是递归的,A机构的证书被称为“根证书”。“根证书”是配置在我们电脑上,默认是安全的。如果用户遇到的问题不能解决,可通过wosign官网客服网页链接寻求帮助,凡是选择wosign ssl证书的网站用户,wosign可提供免费一对一的ssl证书技术部署支持网页链接,免除后顾之忧。
电子商务中,数字签名的作用
自己概括一下,OK?
数字签名是在公钥加密系统的基础上建立起来的,数字签名的产生涉及的运算方式是为人们所知的散列函数功能,也称"哈希函数功能"(Hash Function).哈希函数功能其实是一种数学计算过程.这一计算过程建立在一种以"哈希函数值"或"哈希函数结果"形式创建信息的数字表达式或压缩形式(通常被称作"信息摘要"或"信息标识")的计算方法之上.在安全的哈希函数功能(有时被称作单向哈希函数功能)情形下,要想从已知的哈希函数结果中推导出原信息来,实际上是不可能的.因而,哈希函数功能可以使软件在更少且可预见的数据量上运作生成数字签名,却保持与原信息内容之间的高度相关,且有效保证信息在经数字签署后并未做任何修改.
所谓数字签名,就是只有信息的发送者才能产生的,别人无法伪造的一段数字串,它同时也是对发送者发送的信息的真实性的一个证明.签署一个文件或其他任何信息时,签名者首先须准确界定要签署内容的范围.然后,签名者软件中的哈希函数功能将计算出被签署信息惟一的哈希函数结果值(为实用目的).最后使用签名者的私人密码将哈希函数结果值转化为数字签名.得到的数字签名对于被签署的信息和用以创建数字签名的私人密码而言都是独一无二的.
一个数字签名(对一个信息的哈希函数结果的数字签署)被附在信息之后,并随同信息一起被储存和传送.然而,只要能够保持与相应信息之间的可靠联系,它也可以作为单独的数据单位被存储和传送.因为数字签名对它所签署的信息而言是独一无二的,因此,假如它与信息永久地失去联系则变得毫无意义.
在书面文件上签名是确认文件的一种手段,数字签名同传统的手写签名相比有许多特点.
首先,数字签名中的签名同信息是分开的,需要一种方法将签名与信息联系在一起,而在传统的手写签名中,签名与所签署之信息是一个整体;
其次,在签名验证的方法上,数字签名利用一种公开的方法对签名进行验证,任何人都可以对之进行检验.而传统的手写签名的验证,是由经验丰富的接收者,通过同预留的签名样本相比较而作出判断的;
最后,在数字签名中,有效签名的复制同样是有效的签名,而在传统的手写签名中,签名的复制是无效的.
数字签名可以同时具有两个作用:确认数据的来源,以及保证数据在发送的过程中未作任何修改或变动.因此,在某些方面而言,数据签名的功能,更有些近似于整体性检测值的功能.但是,二者的一个主要区别在于,数字签名必须能够保证以下特点,即发送者事后不能抵赖对报文的签名.这一点相当重要.由此,信息的接收者可以通过数字签名,使第三方确信签名人的身份及发出信息的事实.当双方就信息发出与否及其内容出现争论时,数字签名就可成为一个有力的证据.一般来说因信息篡改而受影响较大的是接收方.因此,接收方最好使用与信息发送方不同的数字签名,以示区别.这是整体性检测值所不具有的功能.在这种意义上说来,确认一个数字签名,有些类似于通过辩认手写签名来确认某一书面文件的来源一样的意义.
采用数字签名和加密技术相结合的方法,可以很好地解决信息传输过程中的完整性,身份认证以及防抵赖性等问题.
(1)完整性.因为它提供了一项用以确认电子文件完整性的技术和方法,可认定文件为未经更改的原件.
(2)可验证性.可以确认电子文件之来源.由于发件人以私钥产生的电子签章惟有与发件人的私钥对应的公钥方能解密,故可确认文件之来源.
(3)不可否认性.由于只有发文者拥有私钥,所以其无法否认该电子文件非由其所发送.
二.数字签名的确认
数字签名的确认是一个参照原信息和给定的公共密码来查验数字签名的过程,进而决定为同一信息使用私人密码创建的数字签名与被参照的公共密码是否保持一致.通过使用与创建数字签名相同的哈希函数功能,来计算出原信息新的哈希函数结果,以达到对数据签名的确认.接着,使用公共密码和新的哈希函数结果,确认者可以检查数字签名是否是使用相应的私人密码签署的,新计算出来的哈希函数结果是否与在签名过程中被转化为数字签名的原哈希函数结果值相匹配.
确认软件将认同数字签名为"已被确认",假如:
(1)签名者的私人密码是用来对信息进行数据签名的,而公共密码是用来确认数字签名的,因为,公共密码将只确认签名者使用私人密码签署数字签名.而事实上,公共密码已经确认了签名是由私人密码作出的;
(2)信息未曾被改变,在确认过程中,这一点可以通过将确认者计算出来的哈希函数结果与从数字签名中的哈希函数结果相对比得出结论来.
三,数字签名过程
数字签名的使用一般涉及以下几个步骤,这几个步骤即可由签名者也可由被签署信息的接受者来完成:
(1)用户生成或取得独一无二的加密密码组.
(2)发件人在计算机上准备一个信息(如以电子邮件的形式).
(3)发件人用安全的哈希函数功能准备好"信息摘要".数字签名由一个哈希函数结果值生成.该函数值由被签署的信息和一个给定的私人密码生成,并对其而言是独一无二的.为了确保哈希函数值的安全性,应该使通过任意信息和私人密码的组合而产生同样的数字签名的可能性为零.
(4)发件人通过使用私人密码将信息摘要加密.私人密码通过使用一种数学算法被应用在信息摘要文本中.数字签名包含被加密的信息摘要.
(5)发件人将数字签名附在信息之后.
(6)发件人将数字签名和信息(加密或未加密)发送给电子收件人.
(7)收件人使用发件人的公共密码确认发件人的电子签名.使用发件人的公共密码进行的认证证明信息排他性地来自于发件人.
(8)收件人使用同样安全的哈希函数功能创建信息的"信息摘要".
(9)收件人比较两个信息摘要.假如两者相同,则收件人可以确信信息在签发后并未作任何改变.信息被签发后哪怕是有一个字节的改变,收件人创建的数据摘要与发件人创建的数据摘要都会有所不同.
(10)收件人从证明机构处获得认证证书(或者是通过信息发件人获得),这一证书用以确认发件人发出信息上的数字签名的真实性.证明机构在数字签名系统中是一个典型的受委托管理证明业务的第三方.该证书包含发件人的公共密码和姓名(以及其他可能的附加信息),由证明机构在其上进行数字签名.
浅谈数字签名|数字签名是什么
数字签字和认证机构是电子商务的核心技术。数字签名作为目前Internet中电子商务重要的技术,不断地进行改进,标准化。本文从数字签名的意义出发,详细介绍了数字签名中涉及到的内容与算法,并自行结合进行改进。
引言
RSA密码系统是较早提出的一种公开钥密码系统。1978年,美国麻省理工学院(MIT)的Rivest,Shamir和Adleman在题为《获得数字签名和公开钥密码系统的方法》的论文中提出了基于数论的非对称(公开钥)密码体制,称为RSA密码体制。RSA是建立在“大整数的素因子分解是困难问题”基础上的,是一种分组密码体制。
对文件进行加密只解决了传送信息的保密问题,而防止他人对传输的文件进行破坏,以及如何确定发信人的身份还需要采取其它的手段,这一手段就是数字签名。在电子商务安全保密系统中,数字签名技术有着特别重要的地位,在电子商务安全服务中的源鉴别、完整性服务、不可否认服务中,都要用到数字签名技术。在电子商务中,完善的数字签名应具备签字方不能抵赖、他人不能伪造、在公证人面前能够验证真伪的能力。
实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术,如基于RSA Date Security 公司的PKCS(Public Key Cryptography Standards)、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy)。1994年美国标准与技术协会公布了数字签名标准而使公钥加密技术广泛应用。公钥加密系统采用的是非对称加密算法。
目前的数字签名是建立在公共密钥体制基础上,它是公用密钥加密技术的另一类应用。它的主要方式是,报文的发送方从报文文本中生成一个128位的散列值(或报文摘要)。发送方用自己的私人密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公用密钥来对报文附加的数字签名进行解密。如果两个散列值相同、那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别。
在书面文件上签名是确认文件的一种手段,其作用有两点:第一,因为自己的签名难以否认,从而确认了文件已签署这一事实;第二,因为签名不易仿冒,从而确定了文件是真的这一事实。
数字签名与书面文件签名有相同之处,采用数字签名,也能确认以下两点:第一,信息是由签名者发送的;第二,信息自签发后到收到为止未曾作过任何修改。这样数字签名就可用来防止电子信息因易被修改而有人作伪,或冒用别人名义发送信息。或发出(收到)信件后又加以否认等情况发生。
应用广泛的数字签名方法主要有三种,即:RSA签名、DSS签名和Hash签名。这三种算法可单独使用,也可综合在一起使用。数字签名是通过密码算法对数据进行加、解密变换实现的,用DES算去、RSA算法都可实现数字签名。但三种技术或多或少都有缺陷,或者没有成熟的标准。
用RSA或其它公开密钥密码算法的最大方便是没有密钥分配问题(网络越复杂、网络用户越多,其优点越明显)。因为公开密钥加密使用两个不同的密钥,其中有一个是公开的,另一个是保密的。公开密钥可以保存在系统目录内、未加密的电子邮件信息中、电话黄页(商业电话)上或公告牌里,网上的任何用户都可获得公开密钥。而私有密钥是用户专用的,由用户本身持有,它可以对由公开密钥加密信息进行解密。
RSA算法中数字签名技术实际上是通过一个哈希函数来实现的。数字签名的特点是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一个最简单的哈希函数是把文件的二进制码相累加,取最后的若干位。哈希函数对发送数据的双方都是公开的。
DSS数字签名是由美国国家标准化研究院和国家安全局共同开发的。由于它是由美国政府颁布实施的,主要用于与美国政府做生意的公司,其他公司则较少使用,它只是一个签名系统,而且美国政府不提倡使用任何削弱政府窃听能力的加密软件,认为这才符合美国的国家利益。
Hash签名是最主要的数字签名方法,也称之为数字摘要法(Digital Digest)或数字指纹法(Digital Finger Print)。它与RSA数字签名是单独的签名不同,该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。数字摘要(Digital Digest)加密方法亦称安全Hash编码法(SHA:Secure Hash Algorithm)或MD5(MD Standard For Message Digest),由RonRivest所设计。该编码法采用单向Hash函数将需加密的明文“摘要”成一串128bit的密文,这一串密文亦称为数字指纹(Finger Print),它有固定的长度,且不同的明文摘要必定一致。这样这串摘要使可成为验证明文是否是“真身”的“指纹”了。
只有加入数字签名及验证才能真正实现在公开网络上的安全传输。加入数字签名和验证的文件传输过程如下:
发送方首先用哈希函数从原文得到数字签名,然后采用公开密钥体系用发达方的私有密钥对数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面;
发送一方选择一个秘密密钥对文件进行加密,并把加密后的文件通过网络传输到接收方;
发送方用接收方的公开密钥对密秘密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方;
接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文;
接收方用秘密密钥对文件进行解密,得到经过加密的数字签名;
接收方用发送方的公开密钥对数字签名进行解密,得到数字签名的明文;
接收方用得到的明文和哈希函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。
如果第三方冒充发送方发出了一个文件,因为接收方在对数字签名进行解密时使用的是发送方的公开密钥,只要第三方不知道发送方的私有密钥,解密出来的数字签名和经过计算的数字签名必然是不相同的。这就提供了一个安全的确认发送方身份的方法。
安全的数字签名使接收方可以得到保证:文件确实来自声称的发送方。鉴于签名私钥只有发送方自己保存,他人无法做一样的数字签名,因此他不能否认他参与了交易。
数字签名的加密解密过程和私有密钥的加密解密过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密。这是一个一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性,而私有密钥的加密解密则使用的是接收方的密钥对,这是多对一的关系:任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。在实用过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进行加密解密,一个密钥对用来对私有密钥进行加密解密。这种方式提供了更高的安全性。
[摘 要]随着网络通信的发展,数字签名作为信息安全技术认证技术中的一项关键技术,可以解决否认、伪造、篡改及冒充问题,用来保证信息传输过程中的完整性,提供信息发送者的身份认证和不可抵赖性。具有其它技术所无法替代的作用,在信息安全领域得到广泛的应用。
[关键词]计算机技术 数字签名 应用
[中图分类号]TP[文献标识码]A[文章编号]1007-9416(2010)03-0050-02
目前,随着越来越多的政府部门和企业机构开始应用Internet,他们的信息共享程度与网上业务不断增加。与此同时,网络攻击和犯罪活动也日益猖獗。如何防止机密信息在网络中被泄露或窜改、如何有效地抵制和打击信息犯罪、保障网络与信息安全等,给人们提出了严峻的挑战。
在因特网这个虚拟的世界中,该通过何种措施来使人们相信因特网信息的准确性呢?当然可以采用强大的安全保障机制,来保证网上的信息不被那些“非法分子”入侵。目前有许多种技术来保证信息的安全不受侵犯,例如加密技术,访问控制技术、认证技术以及安全审计技术等,但这些技术大多数是用来预防用的,而且一旦被攻破,我们就不能保证信息的完整性。为此,只有在信息本身的安全上作出努力,数字签名技术应运而生。
1 数字签名的概念
数字签名不是指将你的签名扫描成数字图像,或者用触摸板获取的签名,更不是你的落款。数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。其验证的准确度是一般手工签名和图章的验证而无法比拟的。
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法。一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能签名等,它与具体应用环境密切相关。
“数字签名”是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。这样数字签名就可用来防止有人修改信息;或冒用别人名义发送伪造信息;或发出(收到)信息后又加以否认等情况的发生。
2 数字签名的工作原理及实现
一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
通常要验证文档未被篡改,而不必加密文档。数字签名可以验证文档未被篡改和确实来自有关方面。
数字签名有两个基本组件:安全散列函数和公用密钥加密。安全散列算法取一块数据并将其分解成小位块。这个算法每次运行时对特定位模式产生相同的散列值。这样,发送文件之间计算散列时,接收计算相同的散列值。一个好的散列算法在文档少量改变时也能使结果大大改变。这样,别人篡改文档之后就很难保持相同的散列值。
例如,创设散列算法根据文档中的各个字符计算数值,不管字符顺序。这样,ABC与CBA有相同散列值。因此别人可以把文档内容做顺序上的调整,面散列值却不变,从而使数字签名仍然有效。
MD5和SHA之类的安全散列算法考虑字节顺序,几乎不可能对文档进行小改而散列值不变。这两种广泛应用的签名算法都是基于非对称加密即公钥密码学,目前已被破解。
这样,数字签名的第二个部分就是某种逆公用密钥算法。通常,使用公用密钥算法时,用公用密钥加密数据,用专用密钥解密数据。对于数字签名正好相反,用专用密钥加密文本块的散列值,任何人要验证签名有效性时,就使用公用密钥验证该散列值是用相应的专用密钥加密的。
在公钥密码学中,密钥是由公开密钥和私有密钥组成的密钥对。数字签名就是用私有密钥进行加密,接受方用公开密钥进行解密,由于从公开密钥不能推算出私有密钥,所以公开密钥不会损害私有密钥的安全。公开密钥无需保密,可以公开传播,而私有密钥必须保密。因此,当某人用其私有密钥加密消息时,能够用他的公开密钥正确解密,就可以肯定该消息是某人签字的,这就是数字签名的基本原理。因为其他人的公开密钥不可能正确解密该加密过的消息,其他人也不可能拥有该人的私有密钥而制造出该加密过的消息。
3 数字签名的常用算法
数字签名用到的算法很多,大体上可以分为密钥算法和单向散列算法,除上文提到的最常用的单向散列算法MD5和SHA,应用最为广泛的三种是: Hash签名、DSS签名、RSA签名。
(1)Hash签名
Hash签名不属于强计算密集型算法,应用较广泛。很多少量现金付款系统,如DEC的Millicent和CyberCash的CyberCoin等都使用Hash签名。使用较快的算法,可降低服务器资源消耗,减轻中央服务器负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。如果中央或用户计算机中有一个被攻破,那么其安全性就受到了威胁。
(2)DSS和RSA签名
DSS和RSA采用了公钥算法,不存在Hash的局限性。RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库,早在Web飞速发展之前,RSA数据安全公司就负责数字签名软件与Macintosh操作系统的集成,在Apple的协作软件PowerTalk上还增加了签名拖放功能,用户只要把需要加密的数据拖到相应的图标上,就完成了电子形式的数字签名。RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性。与DSS不同,RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,在公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。
4 数字签名的用途
在网络应用中,凡事要解决伪造、抵赖、冒充、篡改与身份鉴别的问题,都可运用数字签名来处理。
例如:网上银行通过Internet向客户提供信息查询、对账、网上支付、资金划转、信贷业务以及投资理财等金融业务。网上银行将对传统银行业带来巨变,有人估计:网上银行将使劳动生产率年均增长54%。比如工商银行发给客户的U盾,就存储了代表你身份的数字证书与其他信息,其交易过程就需要数字签名的支持。
电子商务能完成企业之间、企业与消费者之间在网上的交互活动。网上证券能在网上完成股票交易、网上证券信息服务、网上银行/证券转账业务等。这些业务需要身份鉴别防篡改等功能,也要使用数字签名。
还有电子政务。加入一个没有身份认证服务的电子政务系统,任何人都可随便签发文件散布,而不用担心事发后的追查,因为无法甄别出签字者,该电子政务系统的危害性可想而知。电子政务系统必须提供身份认证服务、权限控制服务、信息保密服务、数据完整性服务和不可否认服务。
[参考文献]
[1] 熊德健.采用数字签名及时保障网络通信安全应用研究[J].甘肃科技,2008(22):p25~26.
[2] 陈赫贝,阮飞.XML数字签名及其应用研究[J].微机发展,2005(2):p53~54.
[3] 罗清元,王晓晓.数字签名技术的研究及应用[J].计算机安全,20084(2):p72~73.
[4] 李红艳.浅析数字签名及其在电子商务中的应用[J].胜利油田职工大学学报,2005(4):p71.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
好了,今天我们就此结束对“数字签名是解决什么的问题?”的讲解。希望您已经对这个主题有了更深入的认识和理解。如果您有任何问题或需要进一步的信息,请随时告诉我,我将竭诚为您服务。