- 陶小凡
-
网络安全篇,面对复杂多变的网络环境,我们需要掌握哪些关于网络安全的相关知识,聊一聊与网络安全相关的:HTTPS、SSL、TLS 等。
在上一篇文章中,我们介绍了通过非对称加密协商出一个用于对称加密的秘钥,这样便可以保证秘钥不会被窃取,从而实现了机密性。
但仅有机密性,距离安全还差的很远 ...
因为虽然会话密钥无法被窃取,但是恶意者可以尝试修改、重组相关信息返回给网站,因为没有完整性的保证,服务器也只能“照单全收”。
另外,恶意者也可以伪造公钥,如果我们拿到的是“假的公钥”,此时的混合加密就完全失效了。可能我们以为的目标,实际上对方却是伪冒者。
所以,今天我们就来聊一聊,在机密性这一基础之上的完整性和身份认证等特性。
缺乏完整性的机密,可能会被黑客替换或篡改。接下来我们先来看看如何给机密增加上完整这一特性。
如果说保证机密这一特性的是加密算法,那实现完整性的手段主要是 摘要算法 ,也就是常说的散列函数、哈希函数(Hash Function)。
我们可以把摘要算法近似的理解成一种特殊的压缩算法,它能够将任意长度的数据“压缩”成固定长度,而且是独一无二的“摘要字符串”,就好像是给信息生成了一个数字“指纹”。因此好的摘要算法必须能够“抵抗冲突”(两份不同的原文对应相同的摘要),让这种可能性尽量地小。因为摘要算法对输入具有单向性和 雪崩效应 。
1. 单向性
所有的散列函数都有一个基本特性:如果散列值是不相同的(同一个函数),那么这两个散列值的原始输入也是不相同的。具有这种性质的散列函数称为 单向散列函数 ,即 对于给定的散列值 , 不能够逆推出原文 。
2. 雪崩效应
雪崩效应是指当输入发生最微小的改变时,也会导致输出的不可区分性改变。合格的摘要算法,无论是密钥或明文的任何细微变化都必须引起散列值的不可区分性改变。所以摘要算法也被 TLS 用来生成伪随机数(PRF,pseudo random function)。
相信每个开发者在工作中都或多或少的听过或用过 SHA-1 (Secure Hash Algorithm 1)和 MD5 (Message-Digest 5),它们就是最常用的两个摘要算法,能够生成 20 字节和 16 字节长度的数字摘要。遗憾的是它们先后分别在 2005 年和 2009 年被破解,在 TLS 里已经被禁止使用了。
目前 TLS 推荐使用的是 SHA-1 的后继者 SHA-2,区别于前者,它属于 密码散列函数
算法标准,由美国国家安全局研发。总共有 6 种 ,常用的有 SHA224、SHA256 及 SHA384,它们分别能够生成 28 字节、32 字节及 48 字节的摘要。
摘要算法能够保证“数字摘要”和原文是完全等价的,所以,我们只要在原文后附上它的摘要,就能够保证数据的完整性。
该怎么理解呢?客户端将消息和消息摘要(SHA-2)发送给服务端之后,服务端拿到后也计算下消息的摘要,对这两份“指纹”做个对比,如果一致,就说明消息是完整可信的,没有被修改。因为即使是对消息的很小变动(例如一个标点符号,这就是雪崩效应),摘要也会完全不同,服务端计算对比就会发现消息被篡改,是不可信的。
不过,大家这时候肯定也看出了问题,摘要算法不具有机密性,如果明文传输,那么黑客可以修改消息后,把摘要也一起修改。
所以,真正的完整性必须建立在机密性之上,就是在上期讲解的《 网络安全的基石(上)— 加密 》:在混合加密系统里用会话密钥加密消息和摘要,这样黑客无法得知明文,也就没有办法“动手脚了”。
加密和摘要实现了通信过程的机密性和完整性,我们的通信过程可以说是比较安全了。但这里还有漏洞,那就是通信的两端。
对于通信的两端,我们还要解决身份认证的问题。简单来说,就是如何证明对方真实身份。因为黑客可以伪装成网站来窃取你的信息,反过来,他也可以伪装成你,向网站发送支付、转账等消息,网站没有办法确认你的身份,钱可能就这样被偷走了。
回想下现实生活中,解决身份认证常用的手段有签名、手印和印章等,只要在纸上写下签名加上盖章,就能证明这份文件确实是由本人而非其他人发出的。
那在 TLS 什么东西和生活中的手印、印章很像,只能由本人持有呢?只要有了这个东西,就能够在网络世界里证明你的身份。回想下前面我们介绍的内容,大家也很容易想到,它就是非对称加密里的 私钥 ,使用私钥再加上摘要算法,就能够实现 数字签名 ,同时实现 身份认证 和 不可否认 。
签名与验签
数字签名的原理其实也不复杂,就是将公钥和私钥的用法反过来,之前是公钥加密,私钥解密; 现在是私钥加密 , 公钥解密 。
签名和公钥一样完全公开,任何人都可以获取。但这个签名只有用私钥对应的公钥才能解开,拿到摘要后,再比对原文验证完整性,就可以签署文件一样证明消息确实是你发的。整个过程的两个行为也有其专用术语,分别叫做 签名 和 验签 。
回顾下安全通信的四大特性我们都已经实现了,整个通信过程是不是已经完美了呢?答案不是的,这里还有一个“公钥的信任”问题,因为谁都可以发布公钥,我们还缺少防止黑客伪造公钥的手段。关于该部分内容你可以参考下篇文章 《公钥信任问题 — 数字证书与 CA》 。
总结
网络安全涉及了方方面面太多的知识,尤其是网络的基础知识对我们来说还是非常重要的,关于这部分大家又有什么要分享的?欢迎你的分享留言或指正。
网络安全系列专题
简述数字签名的概念及其基本原理。
【答案】:概念:数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。基本原理:数字签名的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名具有不可抵赖性(不可否认性)。 简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。2023-08-14 02:41:071
简述数字签名的基本原理?
数字签名包含两个过程:签名过程和验证过程。由于从公开密钥不能推算出私有密钥,因此公开密钥不会损害私有密钥的安全性;公开密钥无需保密,可以公开传播,而私有密钥必须保密。因此若某人用其私有密钥加密消息,并且用其公开密钥正确解密,就可肯定该消息是某人签名的。因为其他人的公开密钥不可能正确解密该加密过的消息,其他人也不可能拥有该人的私有密钥而制造出该加密过的消息,这就是数字签名的原理。2023-08-14 02:41:161
简述数字签名的原理
公开密钥密码不仅能够实现数字签名,而且安全方便而且相比于传统密码更容易达到书面签名的效果,所以公开密钥密码深受欢迎!由于数字签名的形式是多种多样的,比如有通用数字签名,仲裁数字签名,不可否认签名,盲签名,群签名,门限签名等,在这里我就以数字签名的一般方法解答吧!(1)A和B都将自己的公开密钥Ke公开登记并存入管理中心的共享的公开密钥数据库PKDB,以此作为对方及仲裁者验证签名的数据之一。(2)A用自己的保密的解密密钥Kda对明文数据M进行签名得到签名S,然后A查询PKDB查到B的公开的加密钥Kea,并对用Kea对S再加密,得到密文C(3)最后A把C发送给B,并将S和C留底。2023-08-14 02:41:263
请解释“数字签名”的概念及工作原理?
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。主要功能 保证信息传输的完整性、发送者的身份认证、防止交易中的抵赖发生。 数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。 数字签名是个加密的过程,数字签名验证是个解密的过程。如何实现 数字签名算法依靠公钥加密技术来实现的。在公钥加密技术里,每一个使用者有一对密钥:一把公钥和一把私钥。公钥可以自由发布,但私钥则秘密保存;还有一个要求就是要让通过公钥推算出私钥的做法不可能实现。 普通的数字签名算法包括三种算法: 1.密码生成算法 ; 2.标记算法 ; 3.验证算法 。编辑本段Java数字签名步骤 1、将applet的class文件打包成*.jar(不会的可以在命令行中输入jar查看帮助) 2 首先我们要生成一个keystore 否则在签名的时候报如下错误 jarsigner 错误: java.lang.RuntimeException: 密钥库装入: C:Documents and Settingsij2ee.keystore (系统找不到指定的文件。). (这边的ij2ee 是我当前系统用户名) 生成keystore的语句:keytool -genkey -alias 别名你可以自己写 -keyalg RSA -keystore .keystore 比如我的就是 keytool -genkey -alias ij2ee -keyalg RSA -keystore .keystore 下面是会出现的数字签名的一些步骤操作: 输入keystore密码: 再次输入新密码: 您的名字与姓氏是什么? [Unknown]: ij2ee 您的组织单位名称是什么? [Unknown]: mtk 您的组织名称是什么? [Unknown]: mtk 您所在的城市或区域名称是什么? [Unknown]: suzhou 您所在的州或省份名称是什么? [Unknown]: jiangsu 该单位的两字母国家代码是什么 [Unknown]: cn CN=jeson, OU=mtk, O=mtk, L=suzhou, ST=jiangsu, C=cn 正确吗? [否]: y 输入<sfcs>的主密码 (如果和 keystore 密码相同,按回车): 这时候会在jdk的bin目录下生成 .keystore 。把这个.keystore文件移动到 C:Documents and Settings当前系统用户 的目录下面。 3、创建一个数字证书 在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,3650是有效天数,就是10年左右,在创建证书的的时候,需要填写证书的一些信息和证书对应的私钥密码。这些信息包括 CN=xx,OU=xx,O=xx,L=xx,ST=xx,C=xx,都是中文,一看就懂的 keytool -genkey -alias peakCA -keyalg RSA -keysize 1024 -keystore peakCALib -validity 3650 4、将证书导出到证书文件中 在命令行中输入如下指令,peakCA和peakCALib自己起名字好了,******是你输入的密码 keytool -export -alias peakCA -file peakCA.cer -keystore peakCALib -storepass ****** -rfc 5、授权jar文件,在命令行中输入如下指令 jarsigner -keystore peakCALib myapplet.jar peakCA2023-08-14 02:41:362
数字签名的原理和作用分别是什么?
数字签名的原理是一种对文件的加密方法,一旦文件插入数字签名,就不能对其改动。数字签名对许多办公文件帮助很大,比如设计图纸,没一张都要签名,使用数字签名可以批量解决,而且别人不能修改2023-08-14 02:41:452
电子签名技术的原理是什么?是怎样保障防篡改的?
数字签名是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证无法比拟的。数字签名是目前应用最普遍、技术最成熟、可操作性最强的一种电子签名技术。目前电子签名法中提到的签名,一般指的就是数字签名数字签名的原理数字签名技术是利用算法(一般是非对称算法)通过hash函数对原文进行hash值私钥(仅个人所有)加密,生成数字签名,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的信息,然后对内容执行hash运算得到hash值,与解密得到的数字签名hash值比对。如果比对结果一致,则说明收到的信息是完整的,在传输过程中没有被篡修改的,否则信息一定被修改过。因此数字签名能够验证数据来源以及信息的保密性、完整性、真实性和不可否认性。防篡改 (防破坏信息的完整性)。数字签名与原始文件和摘要形成一个混合的整体数据一起发送给接收者,一旦信息被篡改,接收者可通过计算摘要和验证签名来判断该文件无效,从而保证了文件的完整性。2023-08-14 02:41:577
数字签名的原理和作用分别是什么?
数字签名的原理是一种对文件的加密方法,一旦文件插入数字签名,就不能对其改动。数字签名对许多办公文件帮助很大,比如设计图纸,没一张都要签名,使用数字签名可以批量解决,而且别人不能修改2023-08-14 02:42:222
数字签名的原理特点
每个人都有一对“钥匙”(数字身份),其中一个只有她/他本人知道(密钥),另一个公开的(公钥)。签名的时候用密钥,验证签名的时候用公钥。又因为任何人都可以落款声称她/他就是你,因此公钥必须向接受者信任的人(身份认证机构)来注册。注册后身份认证机构给你发一数字证书。对文件签名后,你把此数字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是用你的密钥签发的文件。在通讯中使用数字签名一般基于以下原因: 公钥加密系统允许任何人在发送信息时使用公钥进行加密,数字签名能够让信息接收者确认发送者的身份。当然,接收者不可能百分之百确信发送者的真实身份,而只能在密码系统未被破译的情况下才有理由确信。鉴权的重要性在财务数据上表现得尤为突出。举个例子,假设一家银行将指令由它的分行传输到它的中央管理系统,指令的格式是(a,b),其中a是账户的账号,而b是账户的现有金额。这时一位远程客户可以先存入100元,观察传输的结果,然后接二连三的发送格式为(a,b)的指令。这种方法被称作重放攻击。 在密文背景下,抵赖这个词指的是不承认与消息有关的举动(即声称消息来自第三方)。消息的接收方可以通过数字签名来防止所有后续的抵赖行为,因为接收方可以出示签名给别人看来证明信息的来源。2023-08-14 02:42:511
数字签名的原理是什么
数字签名是运作原理为何呢?以下Globalsign数字签名权威提供商透过一个简单的例子为您来说明:假设情况:你要把一份机密合同的草稿,透过互联网送寄送给律师审查,你希望在传输的过程中,合同未被窃取窜改,给律师的合同是未经改变的,并且确认是从你那里发出的。该怎麽做呢?1.你把这份合同复制并且粘贴到一封电子邮件中。2.然后使用从公私密钥授权机构获得的私人密钥对信息散列进行加密。(例如GlobalSign所提供的电子邮件及文件签名证书)3.发送邮件。4.律师端收到你的邮件后,经过解密便可辨别该邮件是从你发出。因此,简单来说,一个数字签名能被用于任何种类的信息,无论加密与否,都可以使接收者确认发送人的身份和信息内容的完整性,而数字证书包含证书发证机关的数字签名,这样人们就能证实该证书是真的。GlobalSign作为公众信任服务行业的领头羊,GlobalSign自其成立伊始,一直致力于网络安全认证及数字证书、数字签名等服务,并在全球拥有众多合作伙伴。2006年10月,GlobalSign正式成为日本上市公司GMOInternetInc(东京证券市场代码:9449)旗下公司后,崭新的销售管理模式和强大的技术支持将会为用户带来一个更值得信赖的GlobalSign。2023-08-14 02:43:321
简述数字签名的原理
利用软件编码手段2023-08-14 02:43:412
电子合同里的电子签名是什么原理?
电子签名其实就是一串数据或代码,这些数据或代码能表明签名人的真实身份。我国《电子签名法》的定义是:"电子签名,是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据"。因此,能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵赖性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。根据《电子签名法》相关规定,当事人约定使用电子签名、数据电文的文书,不得仅因为其采用电子签名、数据电文的形式而否定其法律效力。2023-08-14 02:43:526
数字签名是运作原理是什么呢?
基于算法。某个东西A,加上你的签名B,经过这种算法生成一个新的东西C,D是公用密匙,公开的,别人用D配合C,就能知道A是什么。这种算法特别在于:已知C、D,可以算出A,但是一定算不出来B,所以签名属于私有密匙,就你知道,这样保证两点,一是C证明是你本人发送的;二是C内容证明是未经纂改的。2023-08-14 02:44:093
数字签名与手写签名,原理一样吗
不一样。所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。手写签名,是现实中的签字。数字签名,是电子的签名(有相应安全技术措施的支持)。数字签名同传统的手写签名相比有许多特点:首先,数字签名中的签名同信息是分开的,需要一种方法将签名与信息联系在一起,而在传统的手写签名中,签名与所签署之信息是一个整体;其次,在签名验证的方法上,数字签名利用一种公开的方法对签名进行验证,任何人都可以对之进行检验。而传统的手写签名的验证,是由经验丰富的接收者,通过同预留的签名样本相比较而作出判断的;最后,在数字签名中,有效签名的复制同样是有效的签名,而在传统的手写签名中,签名的复制是无效的。2023-08-14 02:44:181
什么叫数字签名
就像个序列号2023-08-14 02:44:344
数字签名为什么能够保证数据的真实性
要想知道数字签名的真实性,就必须了解数字签名的原理。公开密钥密码不仅能够实现数字签名,而且安全方便而且相比于传统密码更容易达到书面签名的效果,所以公开密钥密码深受欢迎!由于数字签名的形式是多种多样的,比如有通用数字签名,仲裁数字签名,不可否认签名,盲签名,群签名,门限签名等,在这里我就以数字签名的一般方法解答吧!(1)A和B都将自己的公开密钥Ke公开登记并存入管理中心的共享的公开密钥数据库PKDB,以此作为对方及仲裁者验证签名的数据之一。(2)A用自己的保密的解密密钥Kda对明文数据M进行签名得到签名S,然后A查询PKDB查到B的公开的加密钥Kea,并对用Kea对S再加密,得到密文C(3)最后A把C发送给B,并将S和C留底。数字签名的一般方法模型:设{M,C,E,D,K(Ke,Kd)}是一个公开密钥密码,如果对于全体明文M都有E(D(M,Kd),ke)=M,则可确保数据的真实性,进入如果E(D(M,Kd),ke)=D(E(M,Ke),kd)=M则可同时保证数据的秘密性和真实性。2023-08-14 02:44:511
数字证书的基本原理和类型
第十三回 急先锋东郭争功 青面兽北京斗武2023-08-14 02:45:122
电子签章原理是什么?
电子印章技术以先进的数字技术模拟传统实物公章,其管理、使用方式符合实物印章的习惯和体验,其加盖的电子文件具有与实物印章加盖的纸张文件相同的外观、相同的有效性和相似的使用方式。可见,电子印章绝不是简单的公章图像加上电子签名,关键在于其使用、管理方式是否符合实物印章的习惯和体验,其加盖的电子文件是否有与纸张文件相同的外观,使用方式与纸张文件有多大程度的相似性。电子印章一经公安机关备案,并有合格的密匙作为保密手段,是等同实物印章的,用途和实物印章一样,只不过是电子印章用在网络上,实物印章用在现实中。2023-08-14 02:45:248
数字签名的作用是什么?
电子签名和数字签名的内涵并不一样,数字签名是电子签名技术中的一种,不过两者的关系也很密切,目前电子签名法中提到的签名,一般指的就是数字签名。 电子签名 要理解什么是电子签名,需要从传统手工签名或盖印章谈起。在传统商务活动中,为了保证交易的安全与真实,一份书面合同或公文要由当事人或其负责人签字、盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,在法律上才能承认这份合同是有效的。而在电子商务的虚拟世界中,合同或文件是以电子文件的形式表现和传递的。在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依*技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵懒性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。 从法律上讲,签名有两个功能:即标识签名人和表示签名人对文件内容的认可。联合国贸发会的《电子签名示范法》中对电子签名作如下定义:指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息;在欧盟的《电子签名共同框架指令》中就规定?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 使所有行业都可以将数字签名嵌入到 Adobe03 便携式文档格式 (PDF) 文件中。 使用 Adobe 解决方案,您可以: 将数字签名结合到往返工作流程中 在防火墙内外安全地发送已签名的文档 验证签名人的数字身份 通过在发送之前进行数字签名来认证电子文档 核实文档没有被欺骗性地更改降低成本并加速批准流程2023-08-14 02:46:301
数字签名的加密方式是怎样的原理?
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。每个人都有一对“钥匙”(数字身份),其中一个只有她/他本人知道(密钥),另一个公开的(公钥)。签名的时候用密钥,验证签名的时候用公钥。又因为任何人都可以落款声称她/他就是你,因此公钥必须向接受者信任的人(身份认证机构)来注册。注册后身份认证机构给你发一数字证书。对文件签名后,你把此数字证书连同文件及签名一起发给接受者,接受者向身份认证机构求证是否真地是用你的密钥签发的文件。公钥加密系统允许任何人在发送信息时使用公钥进行加密,数字签名能够让信息接收者确认发送者的身份。当然,接收者不可能百分之百确信发送者的真实身份,而只能在密码系统未被破译的情况下才有理由确信。鉴权的重要性在财务数据上表现得尤为突出。举个例子,假设一家银行将指令由它的分行传输到它的中央管理系统,指令的格式是(a,b),其中a是账户的账号,而b是账户的现有金额。这时一位远程客户可以先存入100元,观察传输的结果,然后接二连三的发送格式为(a,b)的指令。这种方法被称作重放攻击。完整性。传输数据的双方都总希望确认消息未在传输的过程中被修改。加密使得第三方想要读取数据十分困难,然而第三方仍然能采取可行的方法在传输的过程中修改数据。一个通俗的例子就是同形攻击:回想一下,还是上面的那家银行从它的分行向它的中央管理系统发送格式为(a,b)的指令,其中a是账号,而b是账户中的金额。一个远程客户可以先存100元,然后拦截传输结果,再传输(a,b3),这样他就立刻变成百万富翁了。不可抵赖。在密文背景下,抵赖这个词指的是不承认与消息有关的举动(即声称消息来自第三方)。消息的接收方可以通过数字签名来防止所有后续的抵赖行为,因为接收方可以出示签名给别人看来证明信息的来源。2023-08-14 02:46:391
数字签名的原理及必要性??
数字签名,使用数字证书的私钥对数据的摘要加密,以保证数据的完整性、真实性和不可抵赖。数字签名是用持有者的私钥对数据加密,因为私钥只有持有者才有,别人伪造不了,所以数字签名可以保证数据的完整性、真实性和不可抵赖性。而对称密钥,容易被人盗得或破解,所以不能保证数据的完整性、真实性和不可抵赖性。数字签名的必要性,这就要看你的业务是否需要保证数据的完整性、真实性和不可抵赖性了。在网银、电子支付等业务都需要,因为数据可能被篡改、用户可能否认已进行过的操作,所以有必要。2023-08-14 02:46:541
公钥密码体系的数字签名的原理是什么?
原理?首先公钥体系你明白吧?用私钥加密的内容只有公钥能解密。那么数字签名就是将需要签名的内容进行散列(一般是SHA算法)后用私钥加密,得到数字签名。验证签名就是将内容进行散列后与附带的数字签名用公钥解密的结果做比较,如果一致,则说明内容未被篡改过。2023-08-14 02:47:031
计算机信息安全技术的主要课程
1.1威胁计算机信息安全的因素1.2计算机信息安全研究的内容1.2.1计算机外部安全1.2.2计算机内部安全1.2.3计算机网络安全1.3OSI信息安全体系1.3.1安全服务1.3.2安全机制1.4计算机系统的安全策略1.4.1安全策略1.4.2人、制度和技术之间的关系1.5计算机系统的可靠性1.5.1避错和容错1.5.2容错设计1.5.3故障恢复策略习题1 2.1密码技术概述2.2古典加密方法2.2.1代替密码2.2.2换位密码2.2.3对称加密体制2.3数据加密标准DES2.3.1DES算法描述2.3.2DES算法加密过程2.3.3DES算法解密过程2.3.4三重DES算法2.4高级加密标准AES2.4.1AES算法数学基础2.4.2AES算法概述2.4.3AES算法加密过程2.4.4AES算法解密过程2.4.5AES算法安全性2.5公开密钥体制2.6RSA算法2.6.1RSA算法数学基础2.6.2RSA算法基础2.6.3RSA算法过程2.6.4RSA算法安全性2.7NTRU算法2.7.1NTRU算法数学基础2.7.2NTRU算法描述2.7.3NTRU算法举例2.8对称加密体制与公开密钥体制比较2.9信息隐藏技术2.10数字水印2.10.1数字水印的通用模型2.10.2数字水印主要特性2.10.3数字水印分类2.10.4典型数字水印算法2.10.5数字水印应用2.10.6数字水印攻击习题2 3.1数字签名概述3.1.1数字签名原理3.1.2数字签名标准DSS3.1.3PGP电子邮件加密3.2单向散列函数3.2.1单向散列函数特点3.2.2MD5算法3.2.3SHA算法3.2.4SHA-1与MD5的比较3.3Kerberos身份验证3.3.1什么是Kerberos3.3.2Kerberos工作原理3.4公开密钥基础设施PKI3.4.1数字证书3.4.2PKI基本组成3.4.3对PKI的性能要求3.4.4PKI的标准3.5用户ID与口令机制3.5.1用户认证ID3.5.2不安全口令3.5.3安全口令3.5.4口令攻击3.5.5改进方案3.6生物特征识别技术3.6.1生物特征识别系统组成3.6.2指纹识别3.6.3虹膜识别3.6.4其他生物识别技术3.7智能卡习题3 4.1计算机病毒概述4.1.1计算机病毒的定义4.1.2计算机病毒的特征4.1.3计算机病毒的产生原因4.1.4计算机病毒的传播途径4.1.5计算机病毒的分类4.1.6计算机病毒的表现现象4.1.7计算机病毒程序的一般构成4.2计算机病毒制作技术4.3计算机杀毒软件制作技术4.4蠕虫病毒分析4.5特洛伊木马4.5.1黑客程序与特洛伊木马4.5.2木马的基本原理4.5.3特洛伊木马的启动方式4.5.4特洛伊木马端口4.5.5特洛伊木马的隐藏4.5.6特洛伊木马分类4.5.7特洛伊木马查杀4.6计算机病毒与黑客的防范习题4 5.1网络安全漏洞5.2目标探测5.2.1目标探测的内容5.2.2目标探测的方法5.3扫描概念和原理5.3.1扫描器概念5.3.2常用端口扫描技术5.3.3防止端口扫描5.4网络监听5.4.1网络监听原理5.4.2网络监听检测与防范5.4.3嗅探器Sniffer介绍5.5缓冲区溢出5.5.1缓冲区溢出原理5.5.2缓冲区溢出攻击方法5.5.3防范缓冲区溢出5.6拒绝服务5.6.1拒绝服务DDoS5.6.2分布式拒绝服务DDoS5.6.3DDoS攻击的步骤5.6.4防范DDoS攻击的策略5.7欺骗攻击与防范5.7.1IP欺骗攻击与防范5.7.2IP地址盗用与防范5.7.3DNS欺骗与防范5.7.4Web欺骗与防范5.8网络安全服务协议5.8.1安全套接层协议SSL5.8.2传输层安全协议TLS5.8.3安全通道协议SSH5.8.4安全电子交易SET5.8.5网际协议安全IPSec5.9无线网安全5.9.1IEEE802.11b安全协议5.9.2IEEE802.11i安全协议5.9.3WAPI安全协议5.9.4扩展频谱技术习题5 6.1防火墙概述6.1.1防火墙的概念6.1.2防火墙的主要功能6.1.3防火墙的基本类型6.2防火墙的体系结构6.2.1筛选路由器结构6.2.2双宿主主机结构6.2.3屏蔽主机网关结构6.2.4屏蔽子网结构6.3防火墙技术6.3.1包过滤技术6.3.2代理服务技术6.3.3电路层网关技术6.3.4状态检测技术6.4分布式防火墙6.4.1传统边界式防火墙6.4.2分布式防火墙概述6.4.3分布式防火墙组成6.4.4分布式防火墙工作原理6.5防火墙安全策略6.5.1防火墙服务访问策略6.5.2防火墙设计策略6.6Windows XP防火墙6.7防火墙的选购6.8个人防火墙程序设计介绍习题6 7.1入侵检测系统概述7.2入侵检测一般步骤7.3入侵检测系统分类7.3.1根据系统所检测的对象分类7.3.2根据数据分析方法分类7.3.3根据体系结构分类7.4入侵检测系统关键技术7.5入侵检测系统模型介绍7.5.1分布式入侵检测系统7.5.2基于移动代理的入侵检测系统7.5.3智能入侵检测系统7.6入侵检测系统标准化7.6.1入侵检测工作组IDWG7.6.2通用入侵检测框架CIDF7.7入侵检测系统Snort7.8入侵检测产品选购习题7 8.1数字取证概述8.2电子证据8.2.1电子证据的概念8.2.2电子证据的特点8.2.3常见电子设备中的电子证据8.3数字取证原则和过程8.3.1数字取证原则8.3.2数字取证过程8.4网络取证技术8.4.1网络取证概述8.4.2网络取证模型8.4.3IDS取证技术8.4.4蜜阱取证技术8.4.5模糊专家系统取证技术8.4.6SVM取证技术8.4.7恶意代码技术8.5数字取证常用工具习题8 9.1操作系统的安全性9.1.1操作系统安全功能9.1.2操作系统安全设计9.1.3操作系统的安全配置9.1.4操作系统的安全性9.2Windows安全机制9.2.1Windows安全机制概述9.2.2活动目录服务9.2.3认证服务9.2.4加密文件系统9.2.5安全模板9.2.6安全账号管理器9.2.7其他方面9.3Windows安全配置9.4UNIX安全机制9.5Linux安全机制9.5.1PAM机制9.5.2安全审计9.5.3强制访问控制9.5.4用户和文件配置9.5.5网络配置9.5.6Linux安全模块LSM9.5.7加密文件系统9.6Linux安全配置习题9 10.1数据备份概述10.2系统数据备份10.2.1磁盘阵列RAID技术10.2.2系统还原卡10.2.3克隆大师Ghost10.2.4其他备份方法10.3用户数据备份10.3.1Second Copy 200010.3.2File Genie 200010.4网络数据备份10.4.1网络备份系统10.4.2DAS直接连接存储10.4.3NAS网络连接存储10.4.4SAN存储网络10.4.5IP存储技术10.4.6数据迁移技术10.5数据恢复10.5.1数据恢复概述10.5.2硬盘数据恢复10.5.3EasyRecovery10.5.4FinalData习题10 11.1软件保护技术概述11.2静态分析技术11.2.1文件类型分析11.2.2W32Dasm11.2.3IDA Pro简介11.2.4可执行文件代码编辑工具11.2.5可执行文件资源编辑工具11.3动态分析技术11.3.1SoftICE调试器11.3.2OllyDbg调试器11.4常用软件保护技术11.4.1序列号保护机制11.4.2警告(NAG)窗口11.4.3时间限制11.4.4时间段限制11.4.5注册保护11.4.6功能限制11.4.7光盘软件保护11.4.8软件狗11.4.9软盘保护技术11.4.10反跟踪技术11.4.11网络软件保护11.4.12补丁技术11.5软件加壳与脱壳11.5.1“壳”的概念11.5.2“壳”的加载11.5.3软件加壳工具介绍11.5.4软件脱壳11.6设计软件保护的建议习题11 实验1加密与隐藏实验2破解密码实验3网络漏洞扫描实验4“冰河”黑客工具实验5网络监听工具Sniffer实验6个人防火墙配置实验7入侵检测软件设置实验8Windows 2000/XP/2003安全设置实验9系统数据备份实验10用户数据备份实验11数据恢复实验12软件静态分析实验13资源编辑工具实验14软件动态分析2023-08-14 02:47:131
数字签名“不可抵赖性”的原理?靠什么保证“不可抵赖”?
我觉得这个问题要从两个方面讲:1 - 如您所将,应自己妥善保管的私钥弄丢了,那就是你自己的责任,就像坏人捡到了你丢的身份证办了贷款要你来偿还(现在可能不存在了)2 - 你发送信息给别人之后,觉得后悔了(假设发送的是一份1000万的合同),于是你抵赖这消息不是我发的,虽然对方已经接收,并用你的公钥验证了你的签名,但也没办法,对方无法向任何人证明这个可以验证签名的公钥就是你的。于是,第三方合法机构就出现了,它要求数字签名的一对密匙必须合法注册,这样就有法律效应和不可抵赖性。2023-08-14 02:47:302
数字签名的作用是什么?
电子签名和数字签名的内涵并不一样,数字签名是电子签名技术中的一种,不过两者的关系也很密切,目前电子签名法中提到的签名,一般指的就是数字签名。 电子签名 要理解什么是电子签名,需要从传统手工签名或盖印章谈起。在传统商务活动中,为了保证交易的安全与真实,一份书面合同或公文要由当事人或其负责人签字、盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,在法律上才能承认这份合同是有效的。而在电子商务的虚拟世界中,合同或文件是以电子文件的形式表现和传递的。在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依*技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵懒性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。 从法律上讲,签名有两个功能:即标识签名人和表示签名人对文件内容的认可。联合国贸发会的《电子签名示范法》中对电子签名作如下定义:指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息;在欧盟的《电子签名共同框架指令》中就规定?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 使所有行业都可以将数字签名嵌入到 Adobe03 便携式文档格式 (PDF) 文件中。 使用 Adobe 解决方案,您可以: 将数字签名结合到往返工作流程中 在防火墙内外安全地发送已签名的文档 验证签名人的数字身份 通过在发送之前进行数字签名来认证电子文档 核实文档没有被欺骗性地更改降低成本并加速批准流程2023-08-14 02:47:411
什么是数字签名?
数字签名展示形式为:可靠的电子签名需满足:(1)电子签名制作数据用于电子签名时,属于电子签名人专有;(2)签署时电子签名制作数据仅由电子签名人控制;(3)签署后对电子签名的任何改动能够被发现;(4)签署后对数据电文内容和形式的任何改动能够被发现。以上四个条件,即为可靠可信的电子签名。2023-08-14 02:47:502
数据加密和数据签名的原理作用
加密可以帮助保护数据不被查看和修改,并且可以帮助在本不安全的信道上提供安全的通信方式。例如,可以使用加密算法对数据进行加密,在加密状态下传输数据,然后由预定的接收方对数据进行解密。如果第三方截获了加密的数据,解密数据是很困难的。在一个使用加密的典型场合中,双方(小红和小明)在不安全的信道上通信。小红和小明想要确保任何可能正在侦听的人无法理解他们之间的通信。而且,由于小红和小明相距遥远,因此小红必须确保她从小明处收到的信息没有在传输期间被任何人修改。此外,她必须确定信息确实是发自小明而不是有人模仿小明发出的。加密用于达到以下目的: 保密性:帮助保护用户的标识或数据不被读取。 数据完整性:帮助保护数据不更改。 身份验证:确保数据发自特定的一方。 为了达到这些目的,您可以使用算法和惯例的组合(称作加密基元)来创建加密方案。下表列出了加密基元及它们的用法。加密基元 使用 私钥加密(对称加密) 对数据执行转换,使第三方无法读取该数据。此类型的加密使用单个共享的机密密钥来加密和解密数据。 公钥加密(不对称加密) 对数据执行转换,使第三方无法读取该数据。此类加密使用公钥/私钥对来加密和解密数据。 加密签名 通过创建对特定方唯一的数字签名来帮助验证数据是否发自特定方。此过程还使用哈希函数。 加密哈希 将数据从任意长度映射为定长字节序列。哈希在统计上是唯一的;不同的双字节序列不会哈希为同一个值。 私钥加密私钥加密算法使用单个私钥来加密和解密数据。由于具有密钥的任意一方都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。私钥加密又称为对称加密,因为同一密钥既用于加密又用于解密。私钥加密算法非常快(与公钥算法相比),特别适用于对较大的数据流执行加密转换。通常,私钥算法(称为块密码)用于一次加密一个数据块。块密码(如 RC2、DES、TrippleDES 和 Rijndael)通过加密将 n 字节的输入块转换为加密字节的输出块。如果要加密或解密字节序列,必须逐块进行。由于 n 很小(对于 RC2、DES 和 TripleDES,n = 8 字节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),因此必须对大于 n 的值一次加密一个块。 基类库中提供的块密码类使用称作密码块链 (CBC) 的链模式,它使用一个密钥和一个初始化向量 (IV) 对数据执行加密转换。对于给定的私钥 k,一个不使用初始化向量的简单块密码将把相同的明文输入块加密为同样的密文输出块。如果在明文流中有重复的块,那么在密文流中将存在重复的块。如果未经授权的用户知道有关明文块的结构的任何信息,就可以使用这些信息解密已知的密文块并有可能发现您的密钥。若要克服这个问题,可将上一个块中的信息混合到加密下一个块的过程中。这样,两个相同的明文块的输出就会不同。由于该技术使用上一个块加密下一个块,因此使用了一个 IV 来加密数据的第一个块。使用该系统,未经授权的用户有可能知道的公共消息标头将无法用于对密钥进行反向工程。可以危及用此类型密码加密的数据的一个方法是,对每个可能的密钥执行穷举搜索。根据用于执行加密的密钥大小,即使使用最快的计算机执行这种搜索,也极其耗时,因此难以实施。使用较大的密钥大小将使解密更加困难。虽然从理论上说加密不会使对手无法检索加密的数据,但这确实极大增加了这样做的成本。如果执行彻底搜索来检索只在几天内有意义的数据需要花费三个月的时间,那么穷举搜索的方法是不实用的。私钥加密的缺点是它假定双方已就密钥和 IV 达成协议,并且互相传达了密钥和 IV 的值。并且,密钥必须对未经授权的用户保密。由于存在这些问题,私钥加密通常与公钥加密一起使用,来秘密地传达密钥和 IV 的值。假设小红和小明是要在不安全的信道上进行通信的双方,他们可能按以下方式使用私钥加密。小红和小明都同意使用一种具有特定密钥和 IV 的特定算法(如 Rijndael)。小红撰写一条消息并创建要在其上发送该消息的网络流。接下来,她使用该密钥和 IV 加密该文本,并通过 Internet 发送该文本。她没有将密钥和 IV 发送给小明。小明收到该加密文本并使用预先商定的密钥和 IV 对它进行解密。如果传输的内容被人截获,截获者将无法恢复原始消息,因为截获者并不知道密钥或 IV。在这个方案中,密钥必须保密,但 IV 不需要保密。在一个实际方案中,将由小红或小明生成私钥并使用公钥(不对称)加密将私钥(对称)传递给对方。有关更多信息,请参见本主题后面的有关公钥加密的部分。.NET Framework 提供以下实现私钥加密算法的类: DESCryptoServiceProvider RC2CryptoServiceProvider RijndaelManaged TripleDESCryptoServiceProvider 公钥加密公钥加密使用一个必须对未经授权的用户保密的私钥和一个可以对任何人公开的公钥。公钥和私钥都在数学上相关联;用公钥加密的数据只能用私钥解密,而用私钥签名的数据只能用公钥验证。公钥可以提供给任何人;公钥用于对要发送到私钥持有者的数据进行加密。两个密钥对于通信会话都是唯一的。公钥加密算法也称为不对称算法,原因是需要用一个密钥加密数据而需要用另一个密钥来解密数据。公钥加密算法使用固定的缓冲区大小,而私钥加密算法使用长度可变的缓冲区。公钥算法无法像私钥算法那样将数据链接起来成为流,原因是它只可以加密少量数据。因此,不对称操作不使用与对称操作相同的流模型。双方(小红和小明)可以按照下列方式使用公钥加密。首先,小红生成一个公钥/私钥对。如果小明想要给小红发送一条加密的消息,他将向她索要她的公钥。小红通过不安全的网络将她的公钥发送给小明,小明接着使用该密钥加密消息。(如果小明在不安全的信道如公共网络上收到小红的密钥,则小明必须同小红验证他具有她的公钥的正确副本。)小明将加密的消息发送给小红,而小红使用她的私钥解密该消息。但是,在传输小红的公钥期间,未经授权的代理可能截获该密钥。而且,同一代理可能截获来自小明的加密消息。但是,该代理无法用公钥解密该消息。该消息只能用小红的私钥解密,而该私钥没有被传输。小红不使用她的私钥加密给小明的答复消息,原因是任何具有公钥的人都可以解密该消息。如果小红想要将消息发送回小明,她将向小明索要他的公钥并使用该公钥加密她的消息。然后,小明使用与他相关联的私钥来解密该消息。在一个实际方案中,小红和小明使用公钥(不对称)加密来传输私(对称)钥,而对他们的会话的其余部分使用私钥加密。公钥加密具有更大的密钥空间(或密钥的可能值范围),因此不大容易受到对每个可能密钥都进行尝试的穷举攻击。由于不必保护公钥,因此它易于分发。公钥算法可用于创建数字签名以验证数据发送方的身份。但是,公钥算法非常慢(与私钥算法相比),不适合用来加密大量数据。公钥算法仅对传输很少量的数据有用。公钥加密通常用于加密一个私钥算法将要使用的密钥和 IV。传输密钥和 IV 后,会话的其余部分将使用私钥加密。.NET Framework 提供以下实现公钥加密算法的类: DSACryptoServiceProvider RSACryptoServiceProvider 数字签名公钥算法还可用于构成数字签名。数字签名验证发送方的身份(如果您信任发送方的公钥)并帮助保护数据的完整性。使用由小红生成的公钥,小红的数据的接收者可以通过将数字签名与小红的数据和小红的公钥进行比较来验证是否是小红发送了该数据。为了使用公钥加密对消息进行数字签名,小红首先将哈希算法应用于该消息以创建消息摘要。该消息摘要是数据的紧凑且唯一的表示形式。然后,小红用她的私钥加密该消息摘要以创建她的个人签名。在收到消息和签名时,小明使用小红的公钥解密签名以恢复消息摘要,并使用与小红所使用的相同的哈希算法来散列消息。如果小明计算的消息摘要与从小红那里收到的消息摘要完全一致,小明就可以确定该消息来自私钥的持有人,并且数据未被修改过。如果小明相信小红是私钥的持有人,则他知道该消息来自小红。请注意,由于发送方的公钥为大家所周知,并且它通常包含在数字签名格式中,因此任何人都可以验证签名。此方法不保守消息的机密;若要使消息保密,还必须对消息进行加密。.NET Framework 提供以下实现数字签名算法的类: DSACryptoServiceProvider RSACryptoServiceProvider 哈希值哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希计算都将产生不同的值。要找到散列为同一个值的两个不同的输入,在计算上是不可能的。消息身份验证代码 (MAC) 哈希函数通常与数字签名一起用于对数据进行签名,而消息检测代码 (MDC) 哈希函数则用于数据完整性。双方(小红和小明)可按下面的方式使用哈希函数来确保数据的完整性。如果小红对小明编写一条消息并创建该消息的哈希,则小明可以在稍后散列该消息并将他的哈希与原始哈希进行比较。如果两个哈希值相同,则该消息没有被更改;如果值不相同,则该消息在小红编写它之后已被更改。为了使此系统发挥作用,小红必须对除小明外的所有人保密原始的哈希值。.NET Framework 提供以下实现数字签名算法的类: HMACSHA1 MACTripleDES MD5CryptoServiceProvider SHA1Managed SHA256Managed SHA384Managed SHA512Managed 随机数生成随机数生成是许多加密操作不可分割的组成部分。例如,加密密钥需要尽可能地随机,以便使生成的密钥很难再现。加密随机数生成器必须生成无法以计算方法推算出(低于 p < .05 的概率)的输出;即,任何推算下一个输出位的方法不得比随机猜测具有更高的成功概率。.NET Framework 中的类使用随机数生成器生成加密密钥。RNGCryptoServiceProvider 类是随机数生成器算法的实现。2023-08-14 02:48:261
电子签名的技术原理是什么?
电子签名技术主要包括:数字证书安全认证、数字签名、时间戳等技术。根据《电子签名法》第五条至第八条规定,锁定签约主体真实身份、有效防止文件篡改、精确记录签约时间的电子合同才被法律认可。法大大电子合同同时做到了以下三点:①CA机构颁发CA证书/公安部eID认证系统:采用国家机构认证技术,确保法大大电子合同签署主体真实身份;②防篡改技术:采用国际通用哈希值技术固化原始电子文件数据,轻松识别文件是否被篡改;③第三方取时技术:精确记录签约时间。目前,电子签约已经渗透至金融、房地产、汽车、人力资源服务、教育、保险、第三方支付、旅游、医疗、物流、供应链、B2B等各个行业,产生了丰富的应用场景,为更多的企业及用户提供了便捷、安全、合规的电子签约服务。2023-08-14 02:48:361
电子签名工作原理是什么?
签名拍照系统是新型电子留言册,配备多点触摸屏、高清摄像机、高性能控制主机,外接LED、液晶拼接、投影大屏幕等终端设备,实现拍照签名的多媒体高科技互动系统,运用数字签名、影像捕捉、影像合成、大屏显示、信息统计、互动抽奖、实时打印等技术融为一体。可实现高清拍照、手写签名、智能领座、大屏展示、互动抽奖和统计浏览功能。来访者可以在液晶屏上进行自由的书写,发表参观感言、提写宝贵意见、留下纪念。内容由多媒体留言板以录屏模式记录存储,使参观者写画在触摸屏上的任何文字、图形以及拍摄的图片都可以被保存至硬盘存储设备,可在后台查询、浏览。运用数字签名、影像捕捉、影像合成、大屏显示、信息统计、互动抽奖、实时打印等技术融为一体。可实现高清拍照、手写签名、智能领座、大屏展示、互动抽奖和统计浏览功能。来访者可以在液晶屏上进行自由的书写,发表参观感言、提写宝贵意见、留下纪念。内容由多媒体留言板以录屏模式记录存储,使参观者写画在触摸屏上的任何文字、图形以及拍摄的图片都可以被保存至硬盘存储设备,可在后台查询、浏览。对你有帮助请采纳谢谢!2023-08-14 02:48:551
数字签名解决不可抵赖性、数据完整性的原理?急在线等
自己概括一下,OK?数字签名是在公钥加密系统的基础上建立起来的,数字签名的产生涉及的运算方式是为人们所知的散列函数功能,也称"哈希函数功能"(Hash Function).哈希函数功能其实是一种数学计算过程.这一计算过程建立在一种以"哈希函数值"或"哈希函数结果"形式创建信息的数字表达式或压缩形式(通常被称作"信息摘要"或"信息标识")的计算方法之上.在安全的哈希函数功能(有时被称作单向哈希函数功能)情形下,要想从已知的哈希函数结果中推导出原信息来,实际上是不可能的.因而,哈希函数功能可以使软件在更少且可预见的数据量上运作生成数字签名,却保持与原信息内容之间的高度相关,且有效保证信息在经数字签署后并未做任何修改. 所谓数字签名,就是只有信息的发送者才能产生的,别人无法伪造的一段数字串,它同时也是对发送者发送的信息的真实性的一个证明.签署一个文件或其他任何信息时,签名者首先须准确界定要签署内容的范围.然后,签名者软件中的哈希函数功能将计算出被签署信息惟一的哈希函数结果值(为实用目的).最后使用签名者的私人密码将哈希函数结果值转化为数字签名.得到的数字签名对于被签署的信息和用以创建数字签名的私人密码而言都是独一无二的. 一个数字签名(对一个信息的哈希函数结果的数字签署)被附在信息之后,并随同信息一起被储存和传送.然而,只要能够保持与相应信息之间的可靠联系,它也可以作为单独的数据单位被存储和传送.因为数字签名对它所签署的信息而言是独一无二的,因此,假如它与信息永久地失去联系则变得毫无意义. 在书面文件上签名是确认文件的一种手段,数字签名同传统的手写签名相比有许多特点. 首先,数字签名中的签名同信息是分开的,需要一种方法将签名与信息联系在一起,而在传统的手写签名中,签名与所签署之信息是一个整体; 其次,在签名验证的方法上,数字签名利用一种公开的方法对签名进行验证,任何人都可以对之进行检验.而传统的手写签名的验证,是由经验丰富的接收者,通过同预留的签名样本相比较而作出判断的; 最后,在数字签名中,有效签名的复制同样是有效的签名,而在传统的手写签名中,签名的复制是无效的. 数字签名可以同时具有两个作用:确认数据的来源,以及保证数据在发送的过程中未作任何修改或变动.因此,在某些方面而言,数据签名的功能,更有些近似于整体性检测值的功能.但是,二者的一个主要区别在于,数字签名必须能够保证以下特点,即发送者事后不能抵赖对报文的签名.这一点相当重要.由此,信息的接收者可以通过数字签名,使第三方确信签名人的身份及发出信息的事实.当双方就信息发出与否及其内容出现争论时,数字签名就可成为一个有力的证据.一般来说因信息篡改而受影响较大的是接收方.因此,接收方最好使用与信息发送方不同的数字签名,以示区别.这是整体性检测值所不具有的功能.在这种意义上说来,确认一个数字签名,有些类似于通过辩认手写签名来确认某一书面文件的来源一样的意义. 采用数字签名和加密技术相结合的方法,可以很好地解决信息传输过程中的完整性,身份认证以及防抵赖性等问题. (1)完整性.因为它提供了一项用以确认电子文件完整性的技术和方法,可认定文件为未经更改的原件. (2)可验证性.可以确认电子文件之来源.由于发件人以私钥产生的电子签章惟有与发件人的私钥对应的公钥方能解密,故可确认文件之来源. (3)不可否认性.由于只有发文者拥有私钥,所以其无法否认该电子文件非由其所发送.二.数字签名的确认 数字签名的确认是一个参照原信息和给定的公共密码来查验数字签名的过程,进而决定为同一信息使用私人密码创建的数字签名与被参照的公共密码是否保持一致.通过使用与创建数字签名相同的哈希函数功能,来计算出原信息新的哈希函数结果,以达到对数据签名的确认.接着,使用公共密码和新的哈希函数结果,确认者可以检查数字签名是否是使用相应的私人密码签署的,新计算出来的哈希函数结果是否与在签名过程中被转化为数字签名的原哈希函数结果值相匹配. 确认软件将认同数字签名为"已被确认",假如: (1)签名者的私人密码是用来对信息进行数据签名的,而公共密码是用来确认数字签名的,因为,公共密码将只确认签名者使用私人密码签署数字签名.而事实上,公共密码已经确认了签名是由私人密码作出的; (2)信息未曾被改变,在确认过程中,这一点可以通过将确认者计算出来的哈希函数结果与从数字签名中的哈希函数结果相对比得出结论来. 三,数字签名过程 数字签名的使用一般涉及以下几个步骤,这几个步骤即可由签名者也可由被签署信息的接受者来完成: (1)用户生成或取得独一无二的加密密码组. (2)发件人在计算机上准备一个信息(如以电子邮件的形式). (3)发件人用安全的哈希函数功能准备好"信息摘要".数字签名由一个哈希函数结果值生成.该函数值由被签署的信息和一个给定的私人密码生成,并对其而言是独一无二的.为了确保哈希函数值的安全性,应该使通过任意信息和私人密码的组合而产生同样的数字签名的可能性为零. (4)发件人通过使用私人密码将信息摘要加密.私人密码通过使用一种数学算法被应用在信息摘要文本中.数字签名包含被加密的信息摘要. (5)发件人将数字签名附在信息之后. (6)发件人将数字签名和信息(加密或未加密)发送给电子收件人. (7)收件人使用发件人的公共密码确认发件人的电子签名.使用发件人的公共密码进行的认证证明信息排他性地来自于发件人. (8)收件人使用同样安全的哈希函数功能创建信息的"信息摘要". (9)收件人比较两个信息摘要.假如两者相同,则收件人可以确信信息在签发后并未作任何改变.信息被签发后哪怕是有一个字节的改变,收件人创建的数据摘要与发件人创建的数据摘要都会有所不同. (10)收件人从证明机构处获得认证证书(或者是通过信息发件人获得),这一证书用以确认发件人发出信息上的数字签名的真实性.证明机构在数字签名系统中是一个典型的受委托管理证明业务的第三方.该证书包含发件人的公共密码和姓名(以及其他可能的附加信息),由证明机构在其上进行数字签名.2023-08-14 02:49:181
数字摘要的基本原理
数字摘要的基本原理: 发送端把原信息用HASH函数加密成摘要,然后把数字摘要和原信息一起发送到接收端,接收端也用HASH函数把原消息加密为摘要,看两个摘要是否相同,若相同,则表明信息的完整.否则不完整.它用来保证信息的完整性数字信封的基本原理: 发送端使用对称密钥来加密数据,然后将此对称密钥用接收者的公钥加密,称为加密数据的”数字信封”,将其和加密数据一起发送给接受者,接受者先用自己的私钥解密数字信封,得到对称密钥,然后使用对称密钥解密数据.它用来保证信息的保密性.数字签名的基本原理: 发送方首先用HASH函数对原文件生成数字摘要,用自己的私钥对这个数字摘要进行加密来形成发送方的电子签名,附在文件后.然后用一个对称密钥对带有电子签名的原文件加密,再用接收方的公钥给对称密钥加密,然后把加密后的密钥文件传送给接受方.接收方用自己的私钥对密钥密文解密,得到对称密钥,用对称密钥对原文件密文进行解密,同时得到原文件的电子签名,再用发送方的公钥对电子签名解密,得到电子签名的HASH 值,然后用HASH函数对得到的原文件重新计算HASH值,并与解密电子签名得到的HASH值进行对比.它用来保证信息的不可抵赖性和完整性.2023-08-14 02:49:301
什么是数字签名呀?
数字签名展示形式为:可靠的电子签名需满足:(1)电子签名制作数据用于电子签名时,属于电子签名人专有;(2)签署时电子签名制作数据仅由电子签名人控制;(3)签署后对电子签名的任何改动能够被发现;(4)签署后对数据电文内容和形式的任何改动能够被发现。以上四个条件,即为可靠可信的电子签名。2023-08-14 02:49:382
浅谈数字签名|数字签名是什么
[摘 要]随着网络通信的发展,数字签名作为信息安全技术认证技术中的一项关键技术,可以解决否认、伪造、篡改及冒充问题,用来保证信息传输过程中的完整性,提供信息发送者的身份认证和不可抵赖性。具有其它技术所无法替代的作用,在信息安全领域得到广泛的应用。 [关键词]计算机技术 数字签名 应用 [中图分类号]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浏览器用户请先下载安装 原版全文2023-08-14 02:50:041
数字签名
0、引言随着信息时代的到来,人们希望能通过网络信息传输对文件、契约、合同、信件和账单等进行数字签名来代替以往的手写签名。数字签名的目的是提供一种手段,使得一个实体把他的身份与某个信息捆绑在一起。一个消息的数字签名实际上是一个数,它仅仅依赖于签名者知道的某个秘密,也依赖于被签名信息本身。所以,将数字签名看成是一种证明签名者身份和所签署内容真实性的一段信息。1、RSA算法描述RSA算法是Rivest,Shamir和Adleman于1977年提出的比较完善的公钥密码系统。RSA算法是一个既能用于加密又能用于数字签名的公开密钥算法。RSA算法是基于这样一个数论事实:将两个大素数相乘十分容易,但是想分解它们的乘积却是困难的。RSA公钥加密的整个算法可以通过以下步骤来描述。1)生成两个大的素数p和q,p≠q;2)计算n=p×q,!(n)(p-1)(q-1);3)随机选择一个整数(公开的加密密钥),0<e<!(n),使得gcd(e,!(n))=1;4)计算满足下列条件(保密的解密密钥),ed=1mod!(n);5)对明文的加密运算是:c=E(m)=memodn;6)对密文的解密运算是:m=D(c)=cdmodn。此时公开(e,n)作为加密密钥E,自己保密(d,n)作为解密密钥D。隐藏p和q。2、RSA的保密性假设用户A获得了一对密钥变换(EA、DA),其中EA是可以公布于众的加密密钥,DA是由用户A自行秘密保管的解密密钥。当用户B要向用户A发送消息M时,B只需要找到EA,用它对消息M进行加密,C=EA(M),然后把密文C在公共信道上传送给A。当A收到密文C后,就用A秘密保管的解密密钥DA解密,DA(C)=DA(EA(M))=M,恢复出明文M。利用上述加密解密过程可使用户A和B之间达到保密传输。因为即使有窃听者获得了密文C,但是他没有解密密钥DA,所以不能恢复出明文M例如:如果用户A取p=7,q=71则n=pq=3337,!(n)(p-1)(q-1)=46×70=3220随机选取加密密钥e=79,则d=79-1。公开e和n,将d保密,隐藏p和q。设用户B要发给A的信息为m=688,用户B对m进行如下加密:c=68879mod3337=1570然后将密文c发给用户A用户A则利用保密的解密密钥进行如下解密:15701019mod3337=688=m。虽然这解决了用户A和B之间的保密传输,但是并没有解决可靠性,当A收到密文C时,并不能确定密文C就是用户B发来得。因为主动攻击的扰乱者也是知道用户A的加密密钥的因此扰乱者可以冒充B发一条假消息给A,这时A是无法判断该消息是否B发来的。这个问题可以利用数字签名来解决。3、RSA数字签名方案3.1公钥加密体制的数字签名原理其原理是:用户B用你的私钥来"加密"一组信息,用户A用公钥来解密,如果"解密"成功,说明这组信息就是用户B加密的,用户B无法否认这个事实,这就是数字签名。假设用户B获得了一对密钥变换(EB、DB),其中EB是可以公布于众的加密密钥,DB是由用户B自行秘密保管的解密密钥。当用户B要向用户A发送消息M时,如果用户B首先用自己保管的解密密钥DB作变换,C"=DB(M),然后把C"传送给A,当A收到密文C"后,可以用B的公开密钥EB作逆变换,EB(C")=EB(DB(M))=M,恢复出原始信息M。这样A就可以判断该消息一定是B发来的,因为只有B才知道秘密密钥DB,除B外,任何人都不能仿造信息C",因此C"可以作为用户B的数字签名,A可以通过EB来验证B的合法性,B对消息C"的确定性也是无法否认的。这样的应用只解决了消息的可靠性,可以防止第三者插入、伪造和篡改消息,但是并不能解决消息M的保密性,因为除了A以外,其他人也能收到,并恢复消息M。3.2保密性和可靠性的解决方案为了同时解决信息的保密性和可靠性这两个问题,我们可以对消息作如下处理:用户A和B分别获得了各自的密钥对(EA、DA)和(EB、DB),如果B要向A发送一条消息M,则可以先把消息M用B的秘密密钥DB处理,再用A的公开密钥EA加密,即C=EA(DB(M)),然后把C发送给A,A收到信息C后,先用自己的秘密密钥DA解C,再用B的公开密钥EB恢复,即EB(DA(C))=EB(DA(EA(DB(M))))=EB(DB(M))=M。把这两种方法如此地结合起来,用于加密信息,这样就可以到达人们预期的目的。使公共信道上传输的信息,即具有保密性,有具有可靠性,即可以防止第三者的被动窃取,又可以防止第三者的主动破坏,同时还具有认可和公证的能力。4、RSA安全性分析RSA的安全性依赖于大数分解的难度,目前因子分解速度最快的算法,其时间复杂性为exp(sqrt(n)1n1n(n))。若和为100位的十进制数,这样为200位十进制数,按每秒107次运算的超高速计算机,也要108年才能破解。因此,在一定有效期内,RSA数字签名是安全可靠的。2002年成功分解了158位的十进制数,故选取的素数p和q应该是长度为100的十进制数(相当于332位二进制数)。为了达到长期安全应该至少使用1024位。RSA的安全性受到的最大威胁就是整数素因子分解技术的发展,如果因素分解技术有了突破性发展,那么RSA的破解将会变得非常简单,可以直接计算出私钥。5、结束语数字签名有很多实现方法,目前广泛应用的主要有Hash签名,DSS签名,RSA签名,ElGamal签名。其中RSA签名是最流行的一种数字签名算法,尽管数字签名技术还不够完善,如签名后的文件可能被接收者重复使用,公开密钥加密算法的效率相当低,不易用于长文件的加密等。我们可以把RSA算法与其他算法(如DES算法)结合起来使用,既提高了他它的运行速度,又保证了一定的安全性。随着Internet的快速发展及其算法的不断改进和完善,其应用领域会日益广泛,有着广阔的发展前景。2023-08-14 02:50:151
数字签名的原理
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。以电子形式存在于数据信息之中的,或作为其附件的或逻辑上与之有联系的数据,可用于辨别数据签署人的身份,并表明签署人对数据信息中包含的信息的认可1、所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。2、它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。2023-08-14 02:50:362
简述数字签名的原理
数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。扩展资料:数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。因为数字签名的特点是它代表了文件的特征,文件如果发生改变,数字摘要的值也将发生变化。不同的文件将得到不同的数字摘要。 一次数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。”数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。如果相同,则说明收到的信息是完整的,在传输过程中没有被修改,否则说明信息被修改过,因此数字签名能够验证信息的完整性。参考资料来源:百度百科-数字签名2023-08-14 02:50:501
数字签名的原理
数字签名(Digital Signature)则是电子签名的一种特定类型,可以说是一种改进型的更加可信的电子方式签名,准确的中文全称应为:数字方式签名,简称:数字签名,以区分电子方式签名。数字签名是使用数字证书来验证签名者的身份,并通过密码算法将签名者身份绑定到文档中来证明签名行为的不可否认,已签名文档无需包含签名过程审计报告,签名者的身份验证则由证书颁发机构(CA)或信任服务提供商(TSP)完成。目前国外主流的厂商如DocuSign和Adobe Sign都是采用电子方式签名实现合同在线签署,仅验证签署各方电子邮件地址后就可以完成合同签署,但是为了保证签名后的合同电子文件不会被篡改,用户签署完成后再用签名服务平台的PDF签名证书对合同文件进行数字签名。也就是说:签名人并没有自己的数字证书用于签名文档,依据国外有关电子签名法,电子方式签名的电子合同是具有法律效力的。而依据我国《电子签名法》只有采用数字签名方式才具有同手写签名和单位盖章同等法律效力。密信电子合同签署服务仅支持数字方式签署方式,不提供电子方式签署,因为我们认为仅验证合同签署人的邮箱是不够的,特别是对于不见面的网上电子合同签署。密信电子合同签署服务采用数字方式签署,验证每个签署人的真实身份,并自动为每个签署人配置Adobe全球信任和国密合规的双PDF签名证书用于数字签名合同文件。密信文档数字签名服务也仅提供数字方式签名,验证文档签名者真实身份,并自动为每个签名者配置Adobe全球信任和国密合规的双PDF签名证书用于数字签名各种PDF文档。密信电子签名服务全部采用Adobe全球信任的PDF签名证书用于数字签名和附署Adobe全球信任的时间戳签名,数字签名支持Adobe 签名长期有效(LTV)技术,已保证已签名的文档的签名长期有效。所有完成的电子合同签署和电子文档签名都采用RSA证书和国密证书实现双证书双签名和双时间戳,确保每一份电子合同和电子文档的数字签名全球信任和国密合规。2023-08-14 02:51:072
简述数字签名的原理
假设A发送给B,A用B的公钥加密明文成密文,再把明文摘要运算成摘要,并用A的私钥加密成数字签名。密文和数字签名一并发给B。B用B的私钥把密文解密成明文,在通过摘要运算成实际摘要。同时B用A的公钥解密数字签名得到摘要,再与实际摘要对比,如果一致则没被篡改2023-08-14 02:51:235
数字签名的基本原理是什么?
数字签名是基于非对称密钥加密技术与数字摘要技术的应用,是一个包含电子文件信息以及发送者身份并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。一段数字签名数字串包含了电子文件经过Hash编码后产生的数字摘要,即一个Hash函数值以及发送者的公钥和私钥三部分内容。数字签名有两个作用,一是能确定消息确实是由发送方签名并发出来的。二是数字签名能确定数据电文内容是否被篡改,保证消息的完整性。数字签名的基本工作流程如下:发送加密1.数字签名用户发送电子文件时,发送方通过哈希函数对电子数据文件进行加密生成数据摘要(digest);2.数字签名发送方用自己的私钥对数据摘要进行加密,私钥加密后的摘要即为数字签名;3.数字签名和报文将一起发送给接收方。接收解密1.接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要;2.接收方用发送方的提供的公钥来对报文附加的数字签名进行解密,得到一个数字摘要;3.如果以上两个摘要相一致,则可以确认文件内容没有被篡改。4.发送方的公钥能够对数字签名进行解密,证明数字签名由发送方发送。以上过程逆向也可以进行,即当文件接受者想要回信时,可以先通过hash函数生成数字摘要,再用公钥加密即可起到文件加密的作用,收信人(数字签名拥有者)可以用私钥解密查看文件数字摘要。函数加密原理Hash函数又叫加密散列函数,其特点在于正向输出结果唯一性和逆向解密几乎不可解,因此可用于与数据加密。正向输出容易且结果唯一:由数据正向计算对应的Hash值十分容易,且任何的输入都可以生成一个特定Hash值的输出,完全相同的数据输入将得到相同的结果,但输入数据稍有变化则将得到完全不同的结果。Hash函数逆向不可解:由Hash值计算出其对应的数据极其困难,在当前科技条件下被视作不可能。了解了数字签名,我们顺便来提一嘴数字证书的概念:数字证书由于网络上通信的双方可能都不认识对方,那么就需要第三者来介绍,这就是数字证书。数字证书由Certificate Authority( CA 认证中心)颁发。首先A B双方要互相信任对方证书。然后就可以进行通信了,与上面的数字签名相似。不同的是,使用了对称加密。这是因为,非对称加密在解密过程中,消耗的时间远远超过对称加密。如果密文很长,那么效率就比较低下了。但密钥一般不会特别长,对对称加密的密钥的加解密可以提高效率。2023-08-14 02:52:211
数字签名和数字摘要的工作原理
数字签名的原理(1) 被发送文件用SHA编码加密产生128bit的数字摘要(见上节)。(2) 发送方用自己的私用密钥对摘要再加密,这就形成了数字签名。(3) 将原文和加密的摘要同时传给对方。(4) 对方用发送方的公共密钥对摘要解密,同时对收到的文件用SHA编码加密产生又一摘要。(5) 将解密后的摘要和收到的文件在接收方重新加密产生的摘要相互对比。如两者一致,则说明传送过程中信息没有被破坏或篡改过。否则不然。数字摘要的原理:发送端把原信息用HASH函数加密成摘要,然后把数字摘要和原信息一起发送到接收端,接收端也用HASH函数把原消息加密为摘要,看两个摘要是否相同,若相同,则表明信息的完整.否则不完整.它用来保证信息的完整性2023-08-14 02:52:371
数字签名的原理是什么?
数字签名是运作原理为何呢?以下Globalsign数字签名权威提供商透过一个简单的例子为您来说明:假设情况:你要把一份机密合同的草稿,透过互联网送寄送给律师审查,你希望在传输的过程中,合同未被窃取窜改,给律师的合同是未经改变的,并且确认是从你那里发出的。该怎麽做呢?1.你把这份合同复制并且粘贴到一封电子邮件中。2.然后使用从公私密钥授权机构获得的私人密钥对信息散列进行加密。(例如GlobalSign所提供的电子邮件及文件签名证书)3.发送邮件。4.律师端收到你的邮件后,经过解密便可辨别该邮件是从你发出。因此,简单来说,一个数字签名能被用于任何种类的信息,无论加密与否,都可以使接收者确认发送人的身份和信息内容的完整性,而数字证书包含证书发证机关的数字签名,这样人们就能证实该证书是真的。GlobalSign作为公众信任服务行业的领头羊,GlobalSign自其成立伊始,一直致力于网络安全认证及数字证书、数字签名等服务,并在全球拥有众多合作伙伴。2006年10月,GlobalSign正式成为日本上市公司GMOInternetInc(东京证券市场代码:9449)旗下公司后,崭新的销售管理模式和强大的技术支持将会为用户带来一个更值得信赖的GlobalSign。2023-08-14 02:52:462
数字签名防篡改的原理是什么
在公钥密码学中,密钥是由公开密钥和私有密钥组成的密钥对。数字签名就是用私有密钥进行加密,接收方用公开密钥进行解密。由于公开密钥不能推算出私有密钥,所以公开密钥不会损坏私有密钥的安全,公开密钥无需保密可以公开传播,而私有密钥必须保密。因此,当某人用其私有密钥加密信息,能够用TA的公开密钥正确解密就可以肯定该消息是经过某人签字的,因为其他人的公开密钥不可能正确解密该加密信息,其他人也不可能拥有该人的私有密钥而制造出该加密过的信息。就其实质而言,数字签名是接收方能够向第三方证明接收到的消息及发送源的真实性而采取的一种安全措施,其使用可以保证发送方不能否认和伪造信息。数字签名的主要方式是:报文的发送方从报文文本中生成一个散列值(或报文摘要),发送方用自己的私有密钥对这个散列值进行加密来形成发送方的数字签名,然后这个数字签名将作为报文的附件和报文一起发送给报文的接收方,报文的接收方首先从接收到的原始报文中计算出散列值(或报文摘要),接着再用发送方的公开密钥来对报文附加的数字签名进行解密,如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。2023-08-14 02:52:541
简述数字签名和加密的基本原理及其区别? 急!急!急!
数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密,这是一个一对多的关系,任何拥有发送方公开密钥的人都可以验证数字签名的正确性。数字加密则使用的是接收方的密钥对,这是多对一的关系,任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。另外,数字签名只采用了非对称密钥加密算法,它能保证发送信息的完整性、身份认证和不可否认性,而数字加密采用了对称密钥加密算法和非对称密钥加密算法相结合的方法。2023-08-14 02:53:113
数字签名的原理特点是什么?
数字签名是运作原理为何呢?以下 Globalsign 数字签名权威提供商 透过一个简单的例子为您来说明: 假设情况: 你要把一份机密合同的草稿,透过互联网送寄送给律师审查,你希望在传输的过程中,合同未被窃取窜改,给律师的合同是未经改变的,并且确认是从你那里发出的。该怎麽做呢? 1.你把这份合同复制并且粘贴到一封电子邮件中。 2.然后使用从公私密钥授权机构获得的私人密钥对信息散列进行加密。(例如 GlobalSign 所提供的电子邮件及文件签名证书) 3.发送邮件。 4.律师端收到你的邮件后,经过解密便可辨别该邮件是从你发出。 因此,简单来说,一个数字签名能被用于任何种类的信息,无论加密与否,都可以使接收者确认发送人的身份和信息内容的完整性,而数字证书包含证书发证机关的数字签名,这样人们就能证实该证书是真的。 GlobalSign作为公众信任服务行业的领头羊,GlobalSign 自其成立伊始,一直致力于网络安全认证及数字证书、数字签名等服务,并在全球拥有众多合作伙伴。 2006 年10 月,GlobalSign 正式成为日本上市公司 GMO Internet Inc (东京证券市场代码:9449)旗下公司后,崭新的销售管理模式和强大的技术支持将会为用户带来一个更值得信赖的 GlobalSign。2023-08-14 02:53:331
什么是数字签名?举例说明
所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。 数字签名在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.java2023-08-14 02:53:431
电子签名就是数字签名吗?
电子签名是指数据电文中以电子形式所含、所附用于识别签名人身份并表明签名人认可其中内容的数据。数据电文是指以电子、光学、磁或者类似手段生成、发送、接收或者储存的信息。简单地说电子签名就是通过密码技术对信息处理中的电子文档以电子的形式构成的签名。它包括电子签字、印章、生物特征身份认证、密码或密码代号、个人识别码等可以提供身份识别和认证的,同时能够代表电子签名人身份、具有法律效应的一种信息标识。2023-08-14 02:54:034
什么是数字签名?举例说明求解
所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。数字签名在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类):2023-08-14 02:54:201
数字签名的作用是什么?
电子签名和数字签名的内涵并不一样,数字签名是电子签名技术中的一种,不过两者的关系也很密切,目前电子签名法中提到的签名,一般指的就是数字签名。 电子签名??要理解什么是电子签名,需要从传统手工签名或盖印章谈起。在传统商务活动中,为了保证交易的安全与真实,一份书面合同或公文要由当事人或其负责人签字、盖章,以便让交易双方识别是谁签的合同,保证签字或盖章的人认可合同的内容,在法律上才能承认这份合同是有效的。而在电子商务的虚拟世界中,合同或文件是以电子文件的形式表现和传递的。在电子文件上,传统的手写签名和盖章是无法进行的,这就必须依*技术手段来替代。能够在电子文件中识别双方交易人的真实身份,保证交易的安全性和真实性以及不可抵懒性,起到与手写签名或者盖章同等作用的签名的电子技术手段,称之为电子签名。 ??从法律上讲,签名有两个功能:即标识签名人和表示签名人对文件内容的认可。联合国贸发会的《电子签名示范法》中对电子签名作如下定义:指在数据电文中以电子形式所含、所附或在逻辑上与数据电文有联系的数据它可用于鉴别与数据电文相关的签名人和表明签名人认可数据电文所含信息;在欧盟的《电子签名共同框架指令》中就规定?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 使所有行业都可以将数字签名嵌入到 Adobe2023-08-14 02:54:281
什么是数字签名?谈谈原理以及收费情况。
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou- Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des/DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。2023-08-14 02:54:372
什么是数字签名?
数字签名 所谓"数字签名"就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章的验证而无法比拟的。"数字签名"是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人的身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性和不可抵赖性。 数字签名在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”就会再次自动检查,如果文件有问题,“数字签名”上就会出现红色的警告标志。 在电子邮件使用频繁的网络时代,使用好“数字签名”,就像传统信件中的“挂号信”,无疑为网络传输文件的安全又增加了一道保护屏障。2023-08-14 02:54:471
数字签名就是加密算法吗?
数字签名是一种哈希算法,也叫散列表法。就是把一些的不定长的字符变成定长的(叫做文件的指纹,和人的指纹类似)。可能会产生碰撞,但是只限于偶然(概率非常小),要是故意让两个不相同的文件经过MD5加密产生相同的散列值,那几乎是不可能的,要想破解MD5的明文,至少需要TB级的计算机,而且是经过几千年才能解出来。不过我最近听说现在最新的量子计算机能在几天之内解出来。最出名的有MD5加密。还有RSA、DES。你可以看下这里的介绍。http://www.iplaysoft.com/encrypt-arithmetic.html2023-08-14 02:54:572