什么是数字签名?
“数字签名” 是指可以添加到文件的电子安全标记.使用它可以验证文件的发行者以及帮助验证文件自被数字签名后是否发生更改. 如果文件没有有效的数字签名,则无法确保该文件确实来自它所声称的源,或者无法确保它在发布后未被篡改(可能被病毒篡改).较为安全的做法是,除非您确定该文件的创建者而且知道其内容才可以安全地打开,否则不要打开该文件. 即便是有效的数字签名也无法验证文件的内容没有危害.必须决定是否应根据发行者的身份以及下载文件的位置信任文件的内容.
什么是数字签名?举例说明
所谓”数字签名”就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。”数字签名”是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。
数字签名在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”就会再次自动检查,如果文件有问题,“数字签名”上就会出现红色的警告标志。
在电子邮件使用频繁的网络时代,使用好“数字签名”,就像传统信件中的“挂号信”,无疑为网络传输文件的安全又增加了一道保护屏障。
例子说明:
现在我们就转入正题了。JAVA的数字签名类封装在Signature类(java.security.Signature)中。
接下来,我会编写三个功能(即三个Java类):
a、生成一对密钥,即私钥和公钥,对于密钥的保存可以使用对象流的方式进行保存和传送,也可以使用编码的方式保存;在这里基于方便,我是使用编码方式进行保存的;类名是:GenerateKeyPair.java
b、编写发送者的功能:首先通过私钥加密待输出数据Data,并输出Data和签名后的Data;类名是:SignatureData.java
c、编写接收者的功能:使用发送者的公钥来验证发送过来的加密Data,判断签名的合法性;类名是:VerifySignature.java
数字签名是什么意思?
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法.一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证. 个人觉得有点类似于网银的U盾
数字签名是干什么的?有什么用?
数字签名 好比 现实中你的签字 数字签名,使用数字证书的私钥对数据的摘要加密,以保证数据的完整性、真实性和不可抵赖. 数字签名是用证书和证书私钥对文件做的加密等的运算. 而证书私钥是在持有者手上的,除非你拿到他的证书和证书私钥(如果使用硬件证书,私钥在硬件中,如USBKEY),否则你无法假冒数字签名. 2005年中国施行《电子签名法》,确立数字签名的法律地位.
什么是数字签名?简单点回答.
数字签名就是采用加密技术来实现对签名者身份的认真和数据的完整性. 简单的说就是你签字的文件别人知道是你签的,并且知道这个文件是否被修改过.
什么是数字签名呢?
就是用数字签的名字
请大家告诉我什么是“数字签名”啊?
数字签名就是用你的私密密钥加密你的信息,想看到消息的人需要用公共密钥解密消息,但是却不能修改你发出的信息. 对电子信息进行签名的技术,签名后的信息有不可否认、可验证等特点,私钥和公钥算法都可以用来进行签名,现在常用的是公钥Top 数字签名是指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数据.信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,同时自己用收到的原始数据产生哈希摘要,两者相对照,便可以确信原始信息是否被篡改.这样就保证了数据传输的不可否认性. 要想切实的理解数字签名概念,首先要搞清楚公钥加密及哈希函数的概念.
什么是数字签名?信息安全中数字签名的作用是什么?
数字签名类似于钞票上的防伪水印,主要作用就是给自己的数字作品打上一个属于自己的标示,这种主要是那些不易被修改的数字水印,还有极易被破坏的水印,就是g
关于数字签名?
数字签名无效,不一定是因为文件被修改,其它可能的原因包括:1、文件的属性被变更,如作者、单位等2、签名用的签名 不受当前的电脑的信任,如果签名 不受信任,那么它的签名也不受信任3、签名也有时间限制,如果签名到期,并且签名时没有指定可信的时间戳,那么签名也会失效4、签名 在进行签名时已经被作废,一个被作废的签名 进行签名,也是不受信任的
数字签名包括什么东西啊?
自己看看吧……数字签名是在公钥加密系统的基础上建立起来的,数字签名的产生涉及的运算方式是为人们所知的散列函数功能,也称”哈希函数功能”(Hash Function).哈希函数功能其实是一种数学计算过程.这一计算过程建立在一种以”哈希函数值”或”哈希函数结果”形式创建信息的数字表达式或压缩形式(通常被称作”信息摘要”或”信息标识”)的计算方法之上.在安全的哈希函数功能(有时被称作单向哈希函数功能)情形下,要想从已知的哈希函数结果中推导出原信息来,实际上是不可能的.因而,哈希函数功能可以使软件在更少且可预见的数据量上运作生成数字签名,却保持与原信息内容之间的高度相关,且有效保证信息在经数字签署后并未做任何修改.
所谓数字签名,就是只有信息的发送者才能产生的,别人无法伪造的一段数字串,它同时也是对发送者发送的信息的真实性的一个证明.签署一个文件或其他任何信息时,签名者首先须准确界定要签署内容的范围.然后,签名者软件中的哈希函数功能将计算出被签署信息惟一的哈希函数结果值(为实用目的).最后使用签名者的私人密码将哈希函数结果值转化为数字签名.得到的数字签名对于被签署的信息和用以创建数字签名的私人密码而言都是独一无二的.
一个数字签名(对一个信息的哈希函数结果的数字签署)被附在信息之后,并随同信息一起被储存和传送.然而,只要能够保持与相应信息之间的可靠联系,它也可以作为单独的数据单位被存储和传送.因为数字签名对它所签署的信息而言是独一无二的,因此,假如它与信息永久地失去联系则变得毫无意义.
在书面文件上签名是确认文件的一种手段,数字签名同传统的手写签名相比有许多特点.
首先,数字签名中的签名同信息是分开的,需要一种方法将签名与信息联系在一起,而在传统的手写签名中,签名与所签署之信息是一个整体;
其次,在签名验证的方法上,数字签名利用一种公开的方法对签名进行验证,任何人都可以对之进行检验.而传统的手写签名的验证,是由经验丰富的接收者,通过同预留的签名样本相比较而作出判断的;
最后,在数字签名中,有效签名的复制同样是有效的签名,而在传统的手写签名中,签名的复制是无效的.
数字签名可以同时具有两个作用:确认数据的来源,以及保证数据在发送的过程中未作任何修改或变动.因此,在某些方面而言,数据签名的功能,更有些近似于整体性检测值的功能.但是,二者的一个主要区别在于,数字签名必须能够保证以下特点,即发送者事后不能抵赖对报文的签名.这一点相当重要.由此,信息的接收者可以通过数字签名,使第三方确信签名人的身份及发出信息的事实.当双方就信息发出与否及其内容出现争论时,数字签名就可成为一个有力的证据.一般来说因信息篡改而受影响较大的是接收方.因此,接收方最好使用与信息发送方不同的数字签名,以示区别.这是整体性检测值所不具有的功能.在这种意义上说来,确认一个数字签名,有些类似于通过辩认手写签名来确认某一书面文件的来源一样的意义.
采用数字签名和加密技术相结合的方法,可以很好地解决信息传输过程中的完整性,身份认证以及防抵赖性等问题.
(1)完整性.因为它提供了一项用以确认电子文件完整性的技术和方法,可认定文件为未经更改的原件.
(2)可验证性.可以确认电子文件之来源.由于发件人以私钥产生的电子签章惟有与发件人的私钥对应的公钥方能解密,故可确认文件之来源.
(3)不可否认性.由于只有发文者拥有私钥,所以其无法否认该电子文件非由其所发送.
二.数字签名的确认
数字签名的确认是一个参照原信息和给定的公共密码来查验数字签名的过程,进而决定为同一信息使用私人密码创建的数字签名与被参照的公共密码是否保持一致.通过使用与创建数字签名相同的哈希函数功能,来计算出原信息新的哈希函数结果,以达到对数据签名的确认.接着,使用公共密码和新的哈希函数结果,确认者可以检查数字签名是否是使用相应的私人密码签署的,新计算出来的哈希函数结果是否与在签名过程中被转化为数字签名的原哈希函数结果值相匹配.
确认软件将认同数字签名为”已被确认”,假如:
(1)签名者的私人密码是用来对信息进行数据签名的,而公共密码是用来确认数字签名的,因为,公共密码将只确认签名者使用私人密码签署数字签名.而事实上,公共密码已经确认了签名是由私人密码作出的;
(2)信息未曾被改变,在确认过程中,这一点可以通过将确认者计算出来的哈希函数结果与从数字签名中的哈希函数结果相对比得出结论来.
三,数字签名过程
数字签名的使用一般涉及以下几个步骤,这几个步骤即可由签名者也可由被签署信息的接受者来完成:
(1)用户生成或取得独一无二的加密密码组.
(2)发件人在计算机上准备一个信息(如以电子邮件的形式).
(3)发件人用安全的哈希函数功能准备好”信息摘要”.数字签名由一个哈希函数结果值生成.该函数值由被签署的信息和一个给定的私人密码生成,并对其而言是独一无二的.为了确保哈希函数值的安全性,应该使通过任意信息和私人密码的组合而产生同样的数字签名的可能性为零.
(4)发件人通过使用私人密码将信息摘要加密.私人密码通过使用一种数学算法被应用在信息摘要文本中.数字签名包含被加密的信息摘要.
(5)发件人将数字签名附在信息之后.
(6)发件人将数字签名和信息(加密或未加密)发送给电子收件人.
(7)收件人使用发件人的公共密码确认发件人的电子签名.使用发件人的公共密码进行的认证证明信息排他性地来自于发件人.
(8)收件人使用同样安全的哈希函数功能创建信息的”信息摘要”.
(9)收件人比较两个信息摘要.假如两者相同,则收件人可以确信信息在签发后并未作任何改变.信息被签发后哪怕是有一个字节的改变,收件人创建的数据摘要与发件人创建的数据摘要都会有所不同.
(10)收件人从证明机构处获得认证证书(或者是通过信息发件人获得),这一证书用以确认发件人发出信息上的数字签名的真实性.证明机构在数字签名系统中是一个典型的受委托管理证明业务的第三方.该证书包含发件人的公共密码和姓名(以及其他可能的附加信息),由证明机构在其上进行数字签名.