数字签名技术(共12篇)
数字签名技术 篇1
1 数字签名的研究意义
数字签名是保护信息安全的重要技术, 数字签名保障数据保密, 完整性和不可否认性。同时, 在商业, 金融, 政治网络信息技术的飞速发展和普及, 军事和其他部门, 尤其是在电子邮件的应用, 电子数据交换, 电子银行, 数据存储和数据完整性检查, 数字签名技术的研究将越来越重要。
欧美国家很早前就对信息安全进行研究, 数字签名技术在欧美国家都得到了飞速的发展, 不同国家对密码技术有着不一样的进出口制约。无论从客观还是主观方面看, 我国必须尽快的发展自主的密码应用技术。
我国的数字签名技术, 在技术, 管理和标准与欧美国家相比还有相当大的差距。国内密码技术应用主要应用于银行等电子商务领域。数字签名技术经过多年的研究, 有一些可靠的解决方案, 但这些解决方案, 最重要的是在实验研究的结果建立的, 还有在各种实际问题所面临的一些问题。
2 数字签名技术
2.1 数字签名简介
每个人的签名都是不一样的模仿一个人的签名也绝不可能达到一摸一样的境界, 很多人的亲笔签名在现实生活中又是如此的重要比如公司的高层管理人员, 政府官员等等。数字签名就是由此而来。
数字签名是指信息发送者发送一段别人无法伪造的数字串, 数字串是一个信息的发送者的真实性。签署该文件有两个功能:一是否认签名确定签署文件, 这两个签名是不容易被模仿, 从而确定签名的文件的真实性。因此, 数字签名可以防止电子讯息不是罪犯伪造, 罪犯也不能使用发送信息, 在别人的名字, 或发送 (接收) 产生的信后来否认的情况。数字签名是一个加密的消息摘要是附在后面的消息, 是用来验证发送方身份和传输信息的完整性。
一个简单的数字签名的例子, 如果一个消息发送到B, 它创建了一个数字签名的步骤如下图所示。
(1) 使用哈希函数计算原消息的摘要。
(2) 然后对摘要进行加密, 把自己的私钥附在原始信息上。
B接收消息的步骤, 验证数字签名 (如图1, 图2所示)
(3) 分离原消息及其摘要。
(4) 使用A的公钥将加密后的摘要解密。
(5) 利用哈希函数重新计算原消息的摘要。
(6) 摘要解密和使用相同的哈希算法生成进行比较, 如果两个都是平等的, 该消息未被篡改的传递过程中, 否则, 该消息是不可信的。
了解数字签名和验证过程, 可以发现, 这种技术带来的安全性三个方面:
(1) 信息完整性:B重新计算摘要与原来A公钥解密得到的摘要对比如果一致则消息没有被篡改, 如果不相同说明消息被篡改。
(2) 信息来源证实:由于公共和私有密钥之间的对应关系, 接收方能用发送方的公钥打开加密的摘要并且他的值与接收方重新计算出的摘要相同, 就能证明这个消息一定是发送方发出的。
(3) 不可抵赖性:只有A自己拥有自己的私人密钥, 其他人不能假装成A, 因此A不能否认他所发送的消息。
2.1.1 数字签名的定义
数字签名是那些连接到的数据单元的数据或数据进行加密变换单元, 数据或代码转换允许收件人识别数据源的数据单元是可靠的, 保证数据的完整性, 防止数据被人进行篡改、破坏及伪造。
签名机制的特点是签名者的签名只能由签名者自己产生, 其他人是不可能产生签名者的签名。在收到各方的争议, 第三方仲裁机构根据发件人的数字签名发送消息以确定是否真的, 从而实现不可抵赖性服务。
2.1.2 数字签名的原理
数字签名的对称密码体制, 数字签名的公钥密码学和散列函数可以实现数字签名技术。在实现过程中第一种方法需要值得信任的中间人其实现过程比较繁琐, 但是如果只使用公开密钥密码算法对长文件进行签名那么签名效率又低, 最好的方法是把它和杂凑函数相结合可以节省时间提高签名效率。步骤如下:
(1) 双方先商量好哈希函数算法然后发送方A使用哈希函数计算消息的消息摘要。
(2) 发送方A用自己的私钥对消息摘要进行加密和数字签名。
(3) 发送方A把消息和签名后的消息摘要一起发送给接收方B。
(4) 接受方B先用双方事先协商好的哈希算法计算收到的消息摘要, 再用A的公钥解密A签名的摘要值, 得出两结果然后检查结果是否一致, 一致则签名有效, 否则签名无效。
2.1.3 数字签名的特点和功能
数字签名有以下四大特点:
(1) 接接收方可以确认或核实签名者的签名;
(2) 任何人都不能伪造签名;
(3) 签名者不能否认他发送出去的消息;
(4) 第三方可以确认双方之间进行通信时, 通信双方关于签名的真实性有不一致的, 由可信的第三方解决当事人之间的纠纷。
数字签名的功能主要有以下几方面:
(1) 防伪造:因为只有签名的人才知道密钥所以除签名者外的任何人都不可能伪造出准确的签名数据。
(2) 防篡改::数字签名与原始文件发送到接收方, 接收方通过计算和验证来判断文件是否被用于判断是否被篡改的有效信息的签名, 以确保数据的完整性。
(3) 防抵赖:如果接收方抵赖接受到的消息, 发送方可以要求接收方返回一个自己的数字签名表示接收到发送方所传递的消息, 发送给发送方或受信任第三方进行判断。
(4) 抗重放攻击:在数字签名通常用于签名的数据包的时间戳, 添加处理序号技术来防止这种重放攻击。
(5) 身份辨别:手写签名和数字签名最基本的功能就是身份辨别。辨别手书签名是通过辨别笔迹是否来自签名者或者签名者本人亲自验证签名, 在数字签名中接收方可以通过数字签名鉴别发送方的真实身份。
2.2 用于数字签名的算法
数字签名并非一种具体的技术实现, 数字签名是基于各种加密相结合的技术方案。数字签名包括了签名算法和验证算法, 当今主流的签名算法有RSA、3DES以及哈希算法这几种签名算法。
2.2.1 RSA算法
RSA算法的工作原理:首先, 随机生成的公共密钥和私人密钥加密数据, 然后使用RSA算法生成的公钥, 并用私钥解密加密的数据。RSA算法相比于其他算法比较容易理解和操作, RSA算法能够抵抗绝各种各样的密码攻击, 到现在为止也只有短的RSA钥匙才能被破解, 假如RSA钥匙长度非常长那么这个加密的消息被破解的可能性几乎为零。
RSA支持公钥或私钥对的产生、加密和数字签名是一个完整的加密系统。A要把一个消息给B加密, B必须首先生成一个密钥对, 和公共密钥和A共享。公钥由模数n和公共指数e共同形成。私钥由相同的模数n和私有指数d共同形成。随机抽取的两个大素数p和q, 然后把它们放在一起, 创建模块化的乘法。所选指数e要和 (p-1) * (q-1) 互质 (即e与这个数不能有一样的因数) 。质数d一定要满足d*emod[ (pl) * (q-1) ]=1。然后, 如果A的明文是M, 她可以通过计算C=Memodn, 把它加密成密文C。通过M=Cdmodn的计算结果可以恢复明文。
第一步:B选择大的质数p和q, 并使它们相乘, 从而得到n。
第二步:B取一个公共指数e并且e要和 (p-1) * (q-1) 互质。
第三步:获取私有指数, 需要B计算d=e-1mod[ (p-l) * (q-1) ]才能获得私有指数。
第四步:B与A共享公钥, 数字n和e。
第五步:计算C=Memodn得出的结果把M加密使M变为C然后再把变换后的C发送给B。
第六步:B使用M=Cdmodn把C解密成M。
假如密文C被别人窃听了, 窃听者要想从C中推算出M, 使用M=Cdmodn其中只有d为未知数, 所以我们必须算出未知数d的值, d=e-1mod[ (p-1) * (q-1) ]。他一定要知道p和q, 因为它们是通过分解n得到的。
2.2.2 DSA算法
DSA算法是网络安全体系的基本构件之一也是一种公开密钥算法, 它不能加密只能用来数字签名。在DSA算法中接受方如果要想验证数据是否完整以及辨别数据发送方身份的真实性就只能经过DSA的公开密钥来验证。一般用可信任的第三方来检测签名和所签数据的真实性。
DSA算法用到了下面几个参数:
P是一个长度为L的素数, L为64的倍数, L在512-1024之间。q与p-1互素并且q为160位长。q可以是大于1的任何数但它要小于p-1。
DSA算法中的三个参数p, q和h是公开的, 这三个参数可以在网络中是所有用户共同拥有的。私人密钥是x, 公开密钥是y。
对消息k签名时:
(1) A产生一个小于q的随机数k。
(2) A产生r和s就是A的签名, A将它们发送给B。
(3) B经过计算验证签名:假如得出v=r则证明签名是有效的。
2.2.3 MD5算法
散列算法MD5算法是通过一系列的初始化MD5与512位块输入文本中, 每个组分为16个32位的子组。消息填充指的是附一个1在需要填充消息的后面, 后接所要求的多个O并且把64比特的消息长度附在后面。前面的两个步骤是使消息长度恰好等于512位的整数倍, 保证不一样的消息在填充后也不相同。MD5算法的主循环总共有四轮, 主循环的次数就是消息中512比特消息分组的数目。
2.2.4 ECDSA签名算法
ECDSA签名算法的签名过程和DSA算法的签名过程十分相似, 但是ECDSA算法在签名中使用的是ECC算法, ECDSA算法签名出来的值也是分为r, s。
ECDSA算法的签名如下:
(1) 选择一条椭圆曲线Ep (a, b) 和基点G
(2) 选一个私有密钥k, k要小于n, n是G的阶, 然后用G计算出公开密钥K, K=k G
(3) 产生一个随机整数r (r<n) , 计算点R=r G
(4) 把原数据和点R的坐标值x, y当作参数, 计算S H A 1, Hash=SHA1 (原数据, x, y)
(5) 计算s≡r-Hash*k (modn)
(6) 把r和s作为签名值, 如果r和s其中一个为0则重新从第3步开始执行
ECDSA算法验证过程如下:
(1) 接受方在收到消息 (m) 和签名值 (r, s) 后进行以下运算
(2) 计算SG+H (m) P= (x1, y1) , r1=x1modp
(3) 验证等式:r1≡rmodp是否成立
(4) 若第三步的等式成立则接受签名, 否则签名无效
证明ECDSA签名体制是否正确:
故得出r1≡rmodp, s=k-H (m) *n Amodp, R=k G;P=n AG;
下面举个简单的例子:
签名过程:
选择一个随机数k=3, 如果H (m) =4, 计算 (X, Y) =k G=3 (X, Y) =k G=3 (0, 2) = (11, 9) , 根据等式r=Xmodn计算出r=11再由等式s=kH (m) ×n Amodp计算出s=13。因此对m的签名为 (11, 13) 。
验证过程:
签名接收者得到签名后要进行验证需要证明r1与r是否相等, 计算s G+H (m) P= (11, 9) , r1=x1modn=11=r。所以H接受签名。
3 数字签名的应用
3.1 数字签名在电子商务中的应用
美国两家信用卡公司万事达和维萨网景和微软公司和其他公司共同推出了SET协议, SET协议是一种新的电子支付模型。SET协议是用来保障电子交易的机密性、数据完整性、在线交易的不可否认性和验证交易双方身份真实性的重要协议。SET协议是现在公认的信用卡进行网上交易的安全标准。SET协议流程如图3所示。
从上面的流程可以看出SET协议保证了用户和商家还有银行三者之间通过银行卡进行购物的安全。
信息摘要指的是消息经过HASH函数处理后获得的仅有的对应于该消息的数值, 当消息更换一个数据位都会使得信息摘要中接近一半的数据位产生变化。两个不同的信息可能不具有相同的信息, 因此单向散列函数, 使所获得的信息计算的消息摘要是不可行的。信息摘要的多种特征都是为了确保信息的完整性。
双重数字签名:在人们使用信用卡购物结账的时候, 持卡人向商家发出订购信息的同时也给银行发出了付款信息, 以便授权银行对所买物品付款, 但我们不希望商家知道自己的私人信息, 也不希望银行知道我们具体买了什么东西, 银行只要按金额给商家付款就行。这实际上是一个双重数字签名, 它是给两个接收者需要发送的信息, 接收方只能查看, 另一只需要转移, 无法打开里面的内容。这有效的保护了消费者的隐私和商家的商业机密。
3.2 数字签名在网上银行中应用
银行一直是老百姓存储积蓄的第一选择, 随着网络信息技术的发展, 银行也相应的拓展了网上银行业务, 这样人们在办理大多数银行业务时候就不要到银行柜台排队办理, 可以直接在家登陆自己的网银账户办理相关业务提高办事效率。
网上银行怎么保证客户账户的安全呢?银行选择可信任的第三方安全认证机构, 在人们进行网上交易及处理个人账户信息时提供了安全、公正、可信认的认证服务。用户登陆自己的网银账户时银行要对用户的身份进行真实性的辨别。用户的身份必须通过验证才能在网上银行处理自己的私人业务。银行是第三方认证机构颁发的证书注册RA, 在第三方认证机构的认证服务的银行的一个重要组成部分, 相当于第三方认证机构系统的延伸, 银行还扮演了证书的使用者这个身份。
当发生争议时第三方认证机构需要对数字签名的有效性进行验证。验证过程:提供签发该张用户证书的CA证书, 提供这张数字证书在交易发生的时候, 对数字证书、时间戳、数字签名的真实性和有效性进行确认。
目前国内的银行在用户办理网上银行业务后都会给用户一个网银盾其中就用到了数字签名技术, 在用户自己家里使用网银盾登陆网上银行使得安全性大大提升, 这样就有了多重的保障, 确保用户的银行卡安全。
假设客户H向银行C传送数字信息, 现在需要对传送的信息进行数字加密及数字签名, 其传送过程如下:
(1) 客户H对数字信息进行哈希运算得到一个信息摘要。
(2) 客户H用自己的私钥对信息摘要进行加密, 得到数字签名并将其附在数字信息上。
(3) 客户H随机产生一个加密密钥, 并用此密钥对要发送的消息进行加密使其成为一个密文。
(4) 客户H用双方公有的公钥对刚才随机产生的加密密钥进行加密, 将加密后的加密密钥和密文一起传送给C。
(5) 银行C收到客户H传送过来的密文和加密的加密密钥, 先用自己的私钥对加密的加密密钥进行解密, 得到加密密钥。
(6) 银行C用加密密钥对受到的密文进行解密得到明文数字信息, 然后将加密密钥作废。
(7) 银行C用双方公有的公钥对客户H的数字签名进行解密得到信息摘要。银行C用相同的哈希算法对收到的明文再进行一次哈希运算, 得到一个新的信息摘要。
(8) 银行C将收到的信息摘要和新产生的信息摘要进行比较, 如果一致则证明收到的信息没有被修改过。
参考文献
[1]魏洪, 孙军波.数字签名及其应用.网络安全技术与应用, 2001.03.
[2]张先红.数字签名原理及技术.北京:机械工业出版社, 2004.
[3]蒋波.一种实用电子商务安全体系结构设计.微计算机信息, 2010.02.
[4]董理文.数字签名技术在数字图书馆中的应用.图书馆论坛.
[5]张建勋, 邱宗国.在IE浏览器上实现数字签名系统.产业与科技论坛, 2010.11.
[6]雷超阳.基于RSA的数字签名技术研究与实现.长沙通信职业技术学院学报, 2008.12.
[7]崔媛媛.手机数字签名:移动支付业务的安全保障.电信网技术, 2010.02.
数字签名技术 篇2
2018年11月18日,习主席在亚太经合组织第二十六次领导人非正式会议上发言时指出:数字经济是亚太乃至全球未来发展方向。
而这次会议的主题是:“把握包容性机遇,拥抱数字化未来”。
习主席强调:“我们应该牢牢把握创新发展时代潮流,全面平衡落实《互联网和数字经济路线图》,释放数字经济增长潜能。
认真学习习主席重要讲话,使我们进一步解放思想,创新发展,促进传统农业和传统供销社转型升级,在”数字中国“建设中走在前列,就必须从研究数字技术入手,进而研究数字化时代、数字经济、数字农业、农业大数据和数字供销社。
一,数字技术
数字技术,是一项与电子计算机相伴相生的科学技术,它是指借助一定的设备将各种信息,包括图、文、声、像等,转化为电子计算机能识别的二进制数字”0“和”1“后进行运算、加工、存储、传送、传播、还原的技术。
数字技术也称为数码技术、计算机数字技术、数字控制技术等。
二,数字化时代
数字技术的时代,我们称之为数字化时代。在这个时代,人与人的交互是以lnternet媒体为介质的。人的学习、生活、工作大量地利用互联网,人们可以在任何地点、任何时间,用任何设备获取他所需的信息。
我们正在快速走进数字化时代。
三,数字经济 所谓数字经济,是指一个经济系统,在这个系统之中,数字技术被广泛使用,并由此带来整个经济环境和经济活动的根本变化。
数字经济,也是一个信息和商务活动都数字化的全新的社会政治和经济系统。企业、消费者、政府之间通过网络进行的交易迅速增长。
数字经济,主要研究生产、分销和销售都依赖数字技术的商品和服务。数字经济商业模式本身运转良好,因为它创建了一个企业和消费者双赢的环境。
截至2016年底,全球市值最高的10家公司中,有5家数字经济企业;市值前20强的企业中有9家属于数字经济企业。
当前,数字经济正成为驱动我国经济发展的重要力量。据统计,2017年我国数字经济总量达到27.2万亿元,占GDP比重达到32.9%。据专家预测,到2020年,全球数字经济总产值将预计增长1.36万亿美元,中国将实现4180亿美元的新增产值。
四,数字农业
数字农业,是将信息作为农业生产要素,用现代信息技术对农业对象、环境和全过程进行可视化表达、数字化设计、信息化管理的现代农业。
数字农业,使信息技术与农业各个环节实现有效融合,对改造传统农业、转变农业生产方式具有重要意义。
数字农业的特点包括: A,农业生产高度专业化、规模化、企业化。B,农业生产体系完善。包括生产资料的生产和供应,农作物生产与管理,农产品收获后的储藏、运输、加工和销售等。C,农业教育、科研和推广”三位一体“。
五,农业大数据 农业大数据是数字农业的延伸与综合,是另一种农业信息技术服务形式。
它融合了农业地域性、季节性、多样性、周期性等自身特征后产生的来源广泛、类型多样、结构复杂、具有潜在价值,并难以应用通常方法处理和分析的数据集合。
农业大数据保留了大数据自身具有的规模巨大、类型多样、价值密度低、处理速度快、精确度高和复杂度高等基本特征,并使农业内部的信息流得到延展和深化。
六,数字供销社
数字供销社,是指根据党和政府对供销合作社的职能定位,用数字农业、大数据、云计算、区块链、人口智能、分享经济、网络零售、移动支付等新技术、新业态、新模式,把农业生产、供销、信用(金融)的各环节、各要素,在”数字中国“和”互联网+“时代背景下有效的建立起来。
数字供销社的核心任务,是通过互联网+等高新技术和新销售模式,解决农产品的销售渠道畅通问题,让农民生产的优质农产品买出好价钱,让城市居民吃上价格合理、安全可靠的优质农产品,助力乡村振兴、食安中国和一带一路国家战略。
数字供销社是一个奋斗目标。由传统供销社逐渐转型升级,最终实现数字供销社,是现代供销社的重要标志。
我们现代供销合作联盟,就在努力与政府有关部门、大型国企、知名民企、科研院所、金融机构等系统内外资源,共同探索数字供销社(不一定是传统意义的供销体制)的实现形成,推动供销社成为为农为城服务的”数字中国"建设中的国家队和生力军。
现代供销合作联盟,未来的发展方向是数字农业产销联盟或农业大数据共享联盟。
此文作于2018年11月19日,青岛。作者简介:任伟中,1963年3月生于山东聊城。1980年8月入长沙工程兵学校(现为国防科技大学基础学院),1983年3月入党,1983年7月毕业分到新疆部队工作,曾任团政委、旅政委、军分区副政委、新疆军区党委委员,陆军大校军衔,率领部队圆满完成边防施工、战备训练、边境封控、处突维稳等重要任务,先后2次受到胡锦涛主席接见。2011年5月转业到青岛市供销社工作,2015年12月牵头发起全国现代供销合作联盟,并担任执行秘书长。
杨贻荣,供销联盟秘书长,*** 赵燕杰,军民融合、冷链物流,*** 钟键,供销淘实惠、五常大米,*** 任杰,智能水站,*** 陈荣耀,一带一路,*** 程济宁,特色农产品,*** 林瑞虹,消防工程,*** 梁城富,农用机械,*** 贾德华,农产品电商,***
任兴成,农机、建筑机械出口,*** 王喆,美丽乡村,***
杨丽娜,山东供销村头网,***
电子商务安全中的数字签名技术 篇3
[关键词] 数字签名 PKI 公钥 私钥 数字摘要 Hash函数
一、引言
电子商务是伴随着网络信息技术的发展和计算机应用的普及而产生的一种新型的商务交易形式。这种新型的国际贸易方式以其特有的优势(成本低、易于参与、对需求反映迅速等),已被愈来愈多的国家及不同行业所接受和使用。然而,在电子商务中一个最重要问题就是确保交易安全,为了确保数据传输安全及交易安全,不得不采取一系列的的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等。本文就数字签名技术作了较深刻探讨,并给出了该技术的实现方法。
数字签名是电子商务安全系统的核心技术,在信息安全,包括身份认证、数据完整性、不可否认性以及匿名性等方面有重要应用,特别是在大型网络安全通信中的密钥分配、认证以及电子商务系统中具有重要作用。
二、数字签名的概念
所谓数字签名就是通过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章,对于这种电子式的签名还可进行技术验证,其验证的准确度是一般手工签名和图章验证无法比拟的。数字签名是目前电子商务、电子政务中应用最普遍、技术最成熟的、可操作性最强的一种电子签名方法。它采用了规范化的程序和科学化的方法,用于鉴定签名人身份以及对一项电子数据内容的认可。它还能验证出文件的原文在传输过程中有无变动,确保传输电子文件的完整性、真实性、和不可抵赖性。
数字签名在ISO7498-2标准中定义为“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被进行伪造。美国电子签名标准对数字签名作了如下解释:利用一套规则和一个参数对数据进行计算得到结果,用此结果能够确认签名者的身份和数据的完整性。按上述定义PKI(Public Key Infrastruction 公钥基础设施)可以提供数据单元的密码变换,并能使接收者判断数据来源及对数据进行验证。
三、数字签名的原理
该技术在具体工作时,首先发送方对信息施以数学变换,所得的信息与原信息唯一对应;在接收方进行逆变换,得到原始信息。只要数学变换方法优良,变换后的信息在传输中就具有很强的安全性,很难被破译、篡改。这一过程称为加密,对应的反变换过程称为解密。
现在有两类不同的加密技术,一类是对称加密,双方具有共享的密钥,只有在双方都知道密钥的情况下才能使用,通常应用于孤立的环境之中,比如在使用自动取款机(ATM)时,用户需要输入用户识别码(PIN),银行确认这个号码后,双方在获得密码的基础上进行交易,如果用户数目过多,超过了可以管理的范围时,这种机制并不可靠。
另一类是非对称加密,也称为公开密钥加密,密钥是由公开密钥和私有密钥组成的密钥对,用私有密钥进行加密,利用公开密钥可以进行解密,但是由于公开密钥无法推算出私有密钥,所以公开的密钥并不会损害私有密钥的安全,公开密钥无需保密,可以公开传播,而私有密钥必须保密,丢失时需要报告鉴定中心。
四、公钥密码技术原理
目前的数字签名技术采用的就是这种公钥密码技术。即利用两个足够大的质数与被加密原文相乘产生的积来加/解密。这两个质数无论是用哪一个与被加密的原文相乘(模乘),即对原文件加密,均可由另一个质数再相乘来进行解密。但是,若想用这个乘积来求出另一个质数,就要对大数进行质因子分解,分解一个大数的质因子是十分困难的,若选用的质数足够大,这种求解几乎是不可能的。因此,将这两个质数称为密钥对,其中一个采用私密的安全介质保密存储起来,应不对任何外人泄露,简称为“私钥”;另一个密钥可以公开发表,用数字证书的方式发布在称之为“网上黄页”的目录服务器上,用LDAP协议进行查询,也可在网上请对方发送信息时主动将该公钥证书传送给对方,这个密钥称之为“公钥”。
公钥密码体制下的数字签名技术实际上是通过一个单向Hash函数来实现的。信息的发送方从信息文本中生成一个128位的散列值(或消息摘要)。发送方用自己的私人密钥对这个散列值进行加密形成发送方的数字签名。然后,这个数字签名将作为信息的附件和信息一起发送给信息的接收方。信息的接收方首先从接收到的原始信息中计算出128位的散列值(消息摘要),接着再用发送方的公用密钥来对信息附加的数字签名进行解密。如果两个散列值相同,那么接收方就能确认该数字签名是发送方的。
五、数字签名技术的实现方法
建立在公钥密码基础上的数字签名方法有很多,RSA签名、DSS签名及Hash签名等。其中Hash签名是目前电子商务安全中最主要的数字签名方法。下面我们就Hash签名的详细过程进行分析。
Hash签名也称之为数字摘要法(Digital Digest)或數字指纹法(Digital Finger Print)。该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。数字摘要加密方法亦称安全Hash编码法(SHA:Secure Hash Algorithm)或MD5(MD Standard For Message Digest),由RonRivest所设计。该编码法采用单向Hash函数将需加密的明文“摘要”成一串128bit的密文,这一串密文亦称为数字指纹(Finger Print),它有固定的长度,且不同的明文摘要必定一致。这样这串摘要使可成为验证明文是否是“真身”的“指纹”了。
只有加入数字签名及验证才能真正实现在公开网络上的安全传输。加入数字签名和验证的文件传输过程如下:
1.方首先用哈希函数从原文得到数字签名,然后采用公开密钥体系用发达方的私有密钥对数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面。
2.发送方选择一个密钥对文件进行加密,并把加密后的文件通过网络传输到接收方。
3.发送方用接收方的公开密钥对密秘密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方。
4.接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文。
5.接收方用秘密密钥对文件进行解密,得到经过加密的数字签名。
6.接收方用发送方的公开密钥对数字签名进行解密,得到数字签名的明文。
7.接收方用得到的明文和哈希函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。
数字签名的实现过程如下:
如果第三方冒充发送方发出了一个文件,因为接收方在对数字签名进行解密时使用的是发送方的公开密钥,只要第三方不知道发送方的私有密钥,解密出来的数字签名和经过计算的数字签名必然是不相同的。这就提供了一个安全的确认发送方身份的方法。
安全的数字签名使接收方可以得到保证:文件确实来自声称的发送方。鉴于签名私钥只有发送方自己保存,他人无法做一样的数字签名,因此他不能否认他参与了交易。
数字签名的加密解密过程和私有密钥的加密解密过程虽然都使用公开密钥体系,但实现的过程正好相反,使用的密钥对也不同。数字签名使用的是发送方的密钥对,发送方用自己的私有密钥进行加密,接收方用发送方的公开密钥进行解密。这是一个一对多的关系:任何拥有发送方公开密钥的人都可以验证数字签名的正确性,而私有密钥的加密解密则使用的是接收方的密钥对,这是多对一的关系:任何知道接收方公开密钥的人都可以向接收方发送加密信息,只有唯一拥有接收方私有密钥的人才能对信息解密。在实用过程中,通常一个用户拥有两个密钥对,一个密钥对用来对数字签名进行加密解密,一个密钥对用来对私有密钥进行加密解密。这种方式提供了更高的安全性。
六、结束语
数字签名在电子商务活动中有效解决否认、伪造、篡改及冒充等问题。然而,我国数字签名技术的研究和应用刚刚起步,与国际先进水平有一定差距。在数字签名的引入过程中不可避免地会带来一些问题,需要进一步加以解决,数字签名需要相关法律条文的支持。如需要立法机构对数字签名技术有足够的重视,并且在立法上加快脚步,制定有关法律,以充分实现数字签名具有的特殊鉴别作用,有力推动电子商务以及其他网上事务的发展。
随着电子商务的蓬勃发展,数字签名技术也将不断成熟,为商务活动和人们的生活提供可靠、便利的服务。
参考文献:
[1]刘亚松:电子商务概论.机械工业出版社,2005.9
[2]肖德琴:电子商务安全保密技术与应用.华南理工大学出版社,2005.1
[3]管有庆等:电子商务安全技术.北京邮电大学出版社,2005.11
数字签名技术综述 篇4
在传统生活中,政府的文件,命令和条约,商业中的契约以及个人之间的书信等,均使用手书签字或印章以便在法律上能够认证,核准,生效,保证各方的利益。随着网络技术和软件技术的飞速发展,信息革命带来了全球范围市场竞争的日益加剧,同时对传统的办公和生活方式也产生了巨大冲击。
2004年8月28日,十届全国人大常委会第十一次会议表决通过《中华人民共和国电子签名法》,首次赋予可靠的电子签名与手写签名或盖章具有同等的法律效力,并明确了电子认证服务的市场准入制度。该法是我国第一部真正意义的电子商务法,是我国电子商务发展的里程碑。它的颁布和实施必将极大地改善我国电子商务的法制环境,促进安全可信的电子交易环境的建立,从而大力推动我国电子商务的发展。
2 数字签名的基本概念
2.1 数字签名的定义
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。
基于公钥密码体制和私钥密码体制都可以获得数字签名,目前主要是基于公钥密码体制的数字签名。包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、Des DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。
2.2 数字签名的要求
数字签名技术用来保证信息的完整性。“数字签名”是通过一个单向函数对要传送的报文进行处理后得到的,用以认证报文来源并核实报文是否发生变化的一个字母数字串。数字签名可以解决否认、伪造、篡改及冒充等问题。
具体要求:发送者事后不能否认发送的报文签名、接收者能够核实发送者发送的报文签名、接收者不能伪造发送者的报文签名、接收者不能对发送者的报文进行部分篡改、网络中的某一用户不能冒充另一用户作为发送者或接收者。数字签名的应用范围十分广泛,在保障电子数据交换(EDI)的安全性上是一个突破性的进展,凡是需要对用户的身份进行判断的情况都可以使用数字签名,比如加密信件、商务信函、定货购买系统、远程金融交易、自动模式处理等等。
2.3 数字签名的原理
数字签名是通过密码技术对电子文档的电子形式的签名,并非是书面签名的数字图像化。它类似于手写签名或印章,也可以说它就是电子印章。我们对一些重要的文件进行签名,以确定它的有效性。但伪造传统的签名并不困难,这就使得数字签名与传统签名之间的重要差别更加突出:如果没有产生签名的私钥,要伪造由安全密码数字签名方案所产生的签名,在计算上是不可行的。
人们实际上也可以否认曾对一个议论中的文件签过名。但是否认一个数字签名却困难得多,这样做本质上证明在签名生成以前私钥的安全性就受到危害。这是由于数字签名的生成需要使用私钥,而它对应的公钥则用以验证签名。因而数字签名的一个重要性质就是非否认性,目前已经有一些方案,如数字证书,把一个实体(个人,组织或系统)的身份同一个私钥和公钥对"绑定"在一起。这使得一个人很难否认数字签名。数字签名是相对于手书签名而言的,类似于手书签名,但还应满足以下要求:
1)收方能确认或证实发方的签字,但不能伪造;
2)发方把签字的消息发给收方后,就不能否认所签发的消息;
3)一旦收发双方就消息内容和来源发生争执时,应能给仲裁者提供发方对所发消息签了字的证据。
但数字签名和手书签名也有所不同,手书签名是模拟的,因人而异,且无论用那种语言签名,都可以模仿;数字签名是0或1的数字串,因消息而异,不可模仿。数字签名的基础是公开密钥密码学。公开密钥密码学是现代密码学的最重要的发明和发展。一般理解密码学就是保护信息传递的机密性,但这仅仅是当今密码学主题的一个方面。
3 数字签名的作用
网络的安全,主要是网络信息安全,需要采取相应的安全技术措施,提供适合的安全服务。数字签名机制作为保障网络信息安全的手段之一,可以解决伪造,抵赖,冒充和篡改问题。数字签名的目的之一,就是在网络环境中代替传统的手工签字与印章,其可抵御的网络攻击主要有:
1)防冒充(伪造)。其他人不能伪造对消息的签名,因为私有密钥只有签名者自己知道,所以其他人不可以构造出正确的签名结果数据。显然要求各位保存好自己的私有密钥,好像保存自己家门的钥匙一样。
2)可鉴别身份。由于传统的手工签名一般是双方直接见面的,身份自可一清二楚;在网络环境中,接受方必须能够鉴别发送方所宣称的身份。
3)防篡改(防破坏信息的完整性)。传统的手工签字,假如要签署一本200页的合同,是仅仅在合同末尾签名呢还是对每一页都有签名,不然,对方会不会偷换其中几页这些都是问题所在。而数字签名,如前所述:签名与原有文件已经形成了一个混合的整体数据,不可能篡改,从而保证了数据的完整性。
4)防重放。如在日常生活中,A向B借了钱,同时写了一张借条给B;当A还钱的时候,肯定要向B索回他写的借条撕毁,不然,恐怕他会再次挟借条要求A再次还钱。在数字签名中,如果采用了对签名报文添加流水号,时戳等技术,可以防止重放攻击。
5)防抵赖。如前所述,数字签名可以鉴别身份,不可能冒充伪造,那么,只要保存好签名的报文,就好似保存好了手工签署的合同文本,也就是保留了证据,签名者就无法抵赖。以上是签名者不能抵赖,那如果接受者确已收到对方的签名报文,却抵赖没有收到呢要防接受者的抵赖,在数字签名体制中,要求接受者返回一个自己签名的表示收到的报文,给对方或者是第三方,或者引入第三方机制。如此操作,双方均不可抵赖。
6)机密性(保密性)。有了机密性保证,截收攻击也就失效了。手工签字的文件(如合同文本)是不具备保密性的,文件一旦丢失,文件信息就极可能泄露。数字签名,可以加密要签名的消息。当然,签名的报文如果不要求机密性,也可以不用加密。
4 数字签名技术应用方案
在网络环境的实际应用中,由于受机器运算速度的影响,传输速度是一大瓶颈。现大多数字签名方案存在着效率不高,开销过大等问题。为此,如何在确保安全性的前提下,简化操作也是数字签名技术急需解决的问题。
下面以A向B传递文档为例,我们提出适应在网络环境中的数字签名方案。假设A为信息发送者,其公钥,私钥对为(ka1,ka2),B为信息接受者,其公钥,私钥对为(kb1,kb2)。为了进一步增加签名的安全性,引入了TIM E STAM P(时间戳)参数。同时考虑被签名内容的大小不定,直接对明文内容进行签名,运算内容大,时间长,不适用于网络上的传输,所以先由明文用SHA1算法产生一个消息摘要,然后把TIM E STAM P与摘要一起签名,以实现双重认证功能(以抵抗重放攻击和代换攻击),大大增强了其安全性。
4.1 需认证的数字签名方案
需认证的数字签名方案是最基本的数字签名方案,不需要加密处理。
发送方签名过程是:
1)A用SHA21算法对原文件P产生摘要Z;
2)取得服务器系统时间T(时间戳);
3)A使用其私钥ka2对摘要和系统时间Z+T进行签名得C;
4)A将(P,C)发送给B。
接收方的验证过程是:
1)B接收后将P,C分开;
2)B将取到的明文用SHA21计算出摘要;
3)B用A的公钥kal对A的签名进行解密得到Z,T;
4)B将解密得到的Z同算出的摘要进行比较,同时解密得到的时间作为辅助认证,若摘要相同,且时间符合约定,刚A的证明为真,反之为假。
4.2 需认证和加密的数字签名方案
需认证和加密的数字签名方案是同时需要认证和加密的数字签名方案。在这个方案中,发送方签名过程是:
1)A用SHA-1算法对原文件P产生摘要Z;
2)取得服务器系统时间T;
3)A使用其私钥ka2对摘要和系统时间Z+T进行签名得C;
4)A随机产生一个D ES的密钥K;
5)A使用对称加密算法对P进行加密得P1;
6)A使用B公钥kb1对D ES密钥K进行加密得K1;
7)A将(K1,P1,C)发送给B。
接收方的验证过程是:
1)接收后将K1,P1,C分开。
2)B将取得的K1用其私钥kb2进行解密得DES密钥K。
3)B用K将P1解密得明文P。
4)B用SHA21算法对明文P产生摘要。
5)B用A的公钥ka1对A的签名进行解密。B将解密得到的Z和算出的摘要比较,同时把解密得到的时间作为辅助认证,若摘要相同且时间符合约定,则A的证明为真,反之为假。
数字签名的安全性取决于算法的选择和密钥的管理。签名算法中,非对称加密算法在加密性能上优于对称加密算法,其中比较有代表性的有RSA算法,DSA算法,ECC算法(椭圆曲线算法)。RSA算法的安全性与DSA算法大致相当,因为两者的算法基础———大整数分解与求离散对数的计算复杂度是近似的,但RSA速度比DSA算法更快。ECC算法基础是椭圆曲线的对数问题,这个基础使得它可能比RSA更快更安全,但它作为一种新的算法,还有待进一步的检验和标准化。所以我们采用RSA算法来实现一个数字签名算法,这也是现在最普遍使用的非对称加密算法,为了提高安全性,使用密钥长度是1024位。我们在第二种方案中(需认证和加密的数字签名),采用对称加密算法和非对称加密算法两者相接合的方式,主要因为对称加密的加密速度快于非对称加密,所以加密用对称算法,然后用非对称算法对其密钥(长度固定且短,可采用96位)进行加密传输。这样,两者互为补充大大加强了数据安全性且加快了系统处理的时间。实践证明这种方案的实用性很强。密钥的管理主要是依靠统一的公钥基础设施P KI的建立。
5 数字签名系统的实现
实现数字签名有很多方法,但大体的工作程序是一样的。用户首先可以下载或者购买数字签名软件,然后安装在个人电脑上。在产生密钥对后,软件自动向外界传送公开密钥。由于公共密钥的存储需要,所以需要建立一个鉴定中心(CA)完成个人信息及其密钥的确定工作。鉴定中心是一个政府参与管理的第三方成员,以便保证信息的安全和集中管理。
不过,在使用这种技术时,签名者必须注意保护好私有密钥,因为它是公开密钥体系安全的重要基础。如果密钥丢失,应该立即报告鉴定中心取消认证,将其列入确认取消列表之中。其次,鉴定中心必须能够迅速确认用户的身份及其密钥的关系。一旦接收到用户请求,鉴定中心要立即认证信息的安全性并返回信息。
当然数字签名算法的实现,可以从底层算法开始,即从加密算法开始编码;也可以利用网上的一些开放源码的工具包进行二次开发,比如cryptlib,openssl等,优点是功能比较完善,可以灵活应用,但这些免费资源往往缺乏详细的文档,阅读大量的源代码就常常成为必需。另外,也可以借助一定的开发工具利用其中的密码功能,比如Microsoft CryptoAPI函数,VC下可以使用,缺点是由于受美国的密码产品出口限制,Windows自带的Cryp2toAPI的安全强度不能满足用户的各种需求;J ava语言也可以方便地实现密码技术,而且J ava以其强安全性,平台无关性,硬件结构无关性,语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势。
6 数字签名的隐患
数字签名已成为信息社会中人们保障网络身份安全的重要手段之一,然而,随着安全威胁的日益猖獗,目前的数字签名技术存在着一定的隐患。
要知道数字签名的工作原理,这要对公匙加密法有一个基本认识。最重要的问题就是:一、公匙和相应的私匙有着特殊的关系:一把密匙加密的内容只能由另一把密匙来解密;二、通过一家可信赖的认证中心(CA)颁发及签名的数字证书(根证书),私匙与你的身份密切相关。
数字签名是涉及签名信息和签名人私匙的计算结果。首先,签名人的软件对发送信息进行散列函数运算后,生成信息摘要(message digest)——这段信息所特有的长度固定的信息表示。然后,软件使用签名人的私匙对摘要进行解密,将结果连同信息和签名人的数字证书一同传送给预定的接受者。而接受者的软件会对收到的信息生成信息摘要(使用同样的散列函数),并使用签名人的公匙对签名人生成的摘要进行解密。接受者的软件也可以加以配置,验证签名人证书的真伪,确保证书是由可信赖的CA颁发,而且没有被CA吊销。如果两个摘要一样,就表明接受者成功核实了数字签名。
经核实的数字签名向接受者保证了两点:一、信息未经改动;二、信息的确来自签名人。后者就成了对原产地证明(Proof of Origin)的认可,即加密认可这一概念的基础。
这正是症结所在。更确切地说,经核实的数字签名向接受者保证信息未经改动,而且信息是用签名人的私匙签名的。但仍存在欺诈的可能性。在私匙持有人毫不知情的情形下,有人会利用无人照管的台式机对合同进行数字签名。由于“始终联通”的互联网连接如线缆调制解调器和DSL日益普及,黑客窃取私匙的机会也随之激增。消费者的利益就容易受到侵害。
还存在另一种可怕的情景:将欺诈作为理由,即完全是想终止签署合同的签名人可能以合乎法律为由,拒绝履行合法签署的合同。这样,企业的利益就容易受到侵害。明智的个人和机构一定要意识到这些危险。大多数企业和个人知道,始终没法消除所有风险,于是专注于如何降低风险,而不是完全避免风险。
7 结论
本文主要介绍了电子商务安全技术中有着特别重要地位的数字签名技术,以及数字签名技术在网络环境中的解决方案,向参与网络活动的实体提供身份认证,确保信息传输的机密性和完整性,有效防止了各种网络信息中的安全隐患。数字签名已成为信息社会中人们保障网络身份安全的重要手段之一,世界各地制订了赋予数字签名合法地位的法律。然而,我国关于数字签名技术的研究和应用刚起步,与国际先进水平有一定差距。一些人认为,这些法律对电子商务和在线金融服务公司而言无疑是重大进展,而有些人却指出了隐患。
摘要:在计算机通信系统中,维护电子文档的安全成为至关重要和非常敏感的问题。数字签名技术应运而生,已成为对电子文件及其发送者进行认证的主要手段,在电子商务,电子政务等领域发挥着越来越大的作用。该文介绍了电子商务安全技术中有着特别重要地位的数字签名技术。
关键词:数字签名,电子数据交换,网络信息安全
参考文献
[1]Mohan Atreya.数字签名[M].贺军译.北京:清华大学出版社,2003.
[2]张先红.数字签名原理及技术[M].北京:机械工业出版社,2004:86-96.
[3]曹学军.网络安全的卫士——数字签名技术[J].国外科技动态,2001(5):196-203.
数字签名技术 篇5
关键词:数字电视;地面广播;调制技术
1数字调制技术的重要性
地面数字电视广播与数字调制技术有着不可分割的关系,数字调制技术是数字电视广播运行的重要技术之一。数字调制技术能够为数字电视广播信号的传输等过程提供更加重要的保障工作,信号的产生以及发送过程有着严格的要求,保障其发送的准确、适当,是运用调制技术的重要意义。在调制技术的发展过程中,过去使用的并不是数字调制技术,而是模拟调制技术,在数字化逐渐发展的背景下,数字调制技术逐渐替代模拟调制技术,成为数字电视广播的主要运用技术,也为其提供更加严密的信号检测。不同的数字调制技术适应不同的信号传输要求,在数字广播电视信号传输过程中需要对相应技术情况进行了解,以达到更好的信号传输质量。
2数字调制技术实现方式
当今社会发展中使用的数字调频技术有多个研究方向,不同的调制技术也各有利弊,合理运用数字调制技术能够更大限度的提高通讯发展水平,促进数字广播电视和广电工程的发展。2.1单载波调制与多载波调制数字调频技术中从载波方式上来说,可以分成单载波和多载波的方式进行数据传递。两种调制方法在实施之前需要对数据进行映射处理,以对输入的符号进行帧数据的构建。其中根据所用的调制方式可以将数据与载波进行合理的调制以对信号的使用和传播进行检测调制。无论是单载波调制还是多载波调制都能够在满足需要的前提下进行信号完善与调制工作,选用适合的方式能够达到更好的传输效果。2.2半导体的脉冲编码调制PCM半导体的脉冲编码调制是美国贝尔公司研制的一种调制技术,在进行数字调制时可以对信号进行减噪处理,对近距离的噪声处理有很强的效果,是一种具有一定使用意义的调制方法。在进行噪声处理时,PCM使用的脉冲方式将数字通信数据进行编码,将编码形成的8位二进制数据进行再利用,此时的编码后数码率达每秒64kb。对于可视电话会议的信号,要求频带50-7000赫兹,编码后的数码率应提高为每秒128kb。传输数字信号到对端后进行解码,恢复出原来的话音信号[1]。如何衡量噪声处理的结果呢?这里还有一个量化指标,即对传输的打分情况MOS,综合衡量数据清晰、可懂、平均值等对数据和信号进行综合考量。这种半导体的脉冲编码调制对数据的传输效果和传输方式起着重要的改善意义,是在数字电视广播发展中的重要调制技术。2.3增量调制方式数字调制技术中有很多技术方向,其中增量调制技术是其中一种编码方法,用码字表示模拟信号的取样值。增量调制方法与PCM方法的区别便是使用的二进制编码只有1位,而PCM方法为8位二进制码。在技术应用效果方面,增量调制的方法弊端较大,没有PCM方法使用效果强,需要更大的工序才能完成同样的数字调制问题,达到更好的数字电视广播信号效果。2.4自适应差值脉码调制ADPCM在数字调制技术中属于波形编码技术。在同样噪声频率的影响下,较之其他方法会具备更加完美效果的信号和通讯效果。这种调制方法的实现率更高,在同等条件下会实现更高质量的通讯能力,在差值计算不同的情况下,能够适应不同差值的存在达到更好的脉码调制效果。在合理的频率实现下,达到更好的数字调制效果,完成地面数字电视广播的信号运输。这种方法也与上文提到的单载波调制与多载波调制、半导体的脉冲编码调制等方法形成互相补充、共同促进数字调制技术的发展。
3地面数字电视广播与其技术发展前景
2012年我国《地面数字电视广播覆盖网发展规划》出台,这一规划的出台将对数字电视广播的发展具有重要的推动意义。随后更多的针对地面数字电视广播的政策不断完善和出台,增强我国行业发展政策推动力。良好国内发展环境的建设,将扩大地面数字广播电视的受众,极大促进其被使用效率,加速产业发展,促进相关技术使用和研究。3.1地面数字电视广播发展前景在政策支持的环境下,我国的地面数字通信技术将得到长足发展,更多的地面通讯设备更新换代,在未来几年里,数字电视设备的更迭也将为数字电视广播的发展起到重要的推动作用。地面数字电视广播在国内的发展环境更趋向灵活化,地面覆盖的数字电视能够为用户提供更加不受时间空间限制的消费体验,所以在发展中具有重要的优势。发展环境中,地面数字电视广播应该将城市发展作为重点发展对象,但也应充分发掘农村、乡镇等地的通讯潜力,将调制技术与地面数字电视广播充分结合,为我国的通讯发展做出贡献。全国共有50-60个城市建立了地面数字电视移动接收覆盖网[2],在发展拓展的背景下需要进行合理的发展规划,发展的同时注重商业和公益相结合,将公益性融入产业发展方向中,行业发展不能离开公益性的贡献。3.2数字电视广播技术的发展在地面数字电视广播的技术发展过程中,已经由单一的技术发展拓展到了多方向的技术研究,在数字电视广播技术的调控技术方面也如上文所述得到的更多的研究发展结果。数字电视广播技术发展能够获得当今的发展水平有政策环境的支持也有技术环境不断发展的环境力量。目前在技术发展的进程中,存在一些问题。技术发展方向受用户资源影响,目前的产业发展主要针对用户需求进行,用户资源缺少或需求导向发生偏离,将会对技术的发展起到一定的制约作用。所以在地面数字电视广播的技术拓展过程中需要紧抓用户需求心理,提高技术发展的针对性。另外,在推动技术进步时需要注重地面数字电视广播产业的独特优势,运用行业优势吸引技术人才,将相关技术融入更具针对性的数字广播电视行业中,为普及地面广电做出应有的贡献。争取更全面的覆盖用户群的需求,更加准确的触及广播电视的根本推动力。
4结论
我国地面数字电视广播正处于发展期间,在政策环境支持和商业背景发展良好的情况下,应抓住机会推进产业发展。地面数字电视广播的发展离不开强大的技术支持,其中数字调制技术是重要的信号传递和运输的监测技术,能够在通讯过程中完善信号效果,对广电通讯信号质量改善起着重要的作用。数字调制技术分为几个不同的技术研究方向,不同的方向具有不同的技术优势,进行数字调控时可以根据现实进行技术调整。我国地面数字电视广播产业发展应相应政治号召,积极进行商业发展与公益想结合。
参考文献
数字签名技术 篇6
关键词 数字签名技术 电子邮件信息安全 实现方法
中图分类号:TP393.08 文献标识码:A
电子邮件是网络时代传送信件、单据、资料等信息的重要通信方式。在人们传递的各种信息中,既有普通信息,也有敏感信息,这就要求电子邮件具有一定的信息安全性。数字签名以加密技术为基础,能够实现数据的保密性、完整性和不可否认性,从根本上解决了伪造、篡改、否认及冒充等电子邮件信息传输中的安全问题。要将数字签名技术应用于电子邮件信息安全防护,就必须明确电子邮件的数字签名过程、验证过程和实现方法。
1 电子邮件的数字签名过程和验证过程
目前电子邮件的数字签名和验证是建立在公共密钥体制基础上,它是公用密钥加密技术的一种应用。电子邮件的发送方和接受方通过有效的协议来协调通讯双方的操作,发件人取得收件人的公钥,用收件人的公钥加密消息,用自己的私钥签名,发送加密后的消息与签名结果数据;收件人用自己的私钥解密消息,用取得的发件人的公钥认证签名的有效性。具体实施过程为:
(1)数字签名过程:发送方要对发送文档采用特定的算法(如哈希算法)进行运算,得到一个固定长度的数字串,称为消息摘要(Message digest),不同的文档所得到的消息摘要各异,但对相同的文档它的消息摘要却是唯一的。对于生成文档的消息摘要,发送方用自己的私钥对摘要进行加密来形成发送方的数字签名。这个数字签名将作为文档的附件和文档一起发送给接收方。
(2)签名验证过程:接收方首先从接收到的原始文档中用同样的算法计算出新的消息摘要,再用发送方的公钥对文档附件的数字签名进行解密,比较两个消息摘要,如果值相同,接收方就能确认该数字签名是发送方的。这样的签名方法是符合可靠性原则的。即:签字是可以被确认的,签字是无法被伪造的,签字是无法重复使用的,文件被签字以后是无法被篡改的,签字具有不可否认性。
2 电子邮件数字签名的实现方法(体制)
在商务和社交往来中。电子邮件数字签名最常用的实现方法(体制)是对称加密算法和非对称加密算法。
2.1 对称加密算法的数字签名
对称加密算法所用的加密密钥和解密密钥通常是相同的,即使不同也可以很容易地由其中的任意一个来推导出另一个。在此算法中,加/解密双方所用的密钥都要保守秘密,由于计算速度快而广泛应用于对大量数据如文件的加密过程中。DES是最常用的对称加密算法。
DES全称Data。Encryption Standard即数据加密算法,它是IBM公司研究成功并公开发表的。DES算法的入口参数有三个:Key、Data、Mode。其中Key为8个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。DES算法是这样工作的:如Mode为加密,则用Key去把数据Data进行加密,生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为。DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网中传输到通信网络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。DES加密系统的算法是公开的,因而其保密性仅取决于对密钥的保密程度。
2.2 非对称加密算法的数字签名
与对称型密钥加密系统不同,非对称型密钥加密算法的特点是:加、解密过程使用不同的密钥,并且若仅仅知道加密密钥,也无法推断出解密密钥,这样就可把加密密钥向整个安全通信网公开,用户只须保存解密密钥即可。所以,非对称加密算法有时又称为公开密钥加密算法,其中最具有代表性的是RSA公钥加密算法。
RSA算法为:①随机选取的大素数p和q,还有n,其中n=p*q,P和q保密,n公开。②取€%O(n)=(p-1)(q-1),其中€%O(n)表示比n小的素数的个数,随机选取e∈N,且(e,€%O(n))=1,e为加密密钥,公开。③计算d,使e*d≡1(mod€%O(n)),称d为e对模€%O(n)的逆,其中d为解密密钥,保密。
在RSA系统中,设m为明文,且明文块的数值大小小于n,c为密文,则其加密和解密算法如下:
加密算法:c=E(m)≡me(modn)
解密算法:m=D(c) ≡cd (modn)
在网络通信高度发达的今天,保证网上传输信息的安全和交易对方的身份确认是电子邮件安全的关键问题。数字签名技术保证了信息传输的保密性、数据交换的完整性、发送信息的不可否认性和交易者身份的确定性,为人们在网络上用电子的方式签署和加密文件提供了一个安全和便利的方法,并可以有效防止通信后双方产生的若干争议,实现了公平、公正的通信原则。
参考文献
[1] 萧萍.基于数字签名技术的安全电子邮件.计算机安全,2011(7).
[2] 王磊,杜祝平.一种安全电子邮件的设计.网络安全技术与应用,2012(5).
[3] 石 翠. 数字签名技术在电子邮件中的应用.电脑与信息技术,2012(12).
数字签名技术的研究与应用 篇7
关键词:数字签名,公钥,MD5,RSA,公钥基础设施
随着现代人对便利程度需求的与日俱增, 信息网络技术在世界范围内得到迅猛发展。与此同时, 随之而来的副作用也慢慢显现出来。例如, 许多作品并没有得到所有者授权, 就已经在Internet网络上被一些个人或者团体进行恶意的传播, 甚至恶意的破坏。许多网络上的音频、视频作品的版权遭到了严重的侵害。再比如, 很多电子商务网站的客户信息也被一些网络黑客进行恶意的盗取, 甚至进行违法的金融行为。因此, 在网络与计算机技术飞速发展的今天, 实施有效的版权保护和信息安全, 以保护作品与个人的信息安全, 就变成当前一个迫在眉睫的现实问题。
1 数字签名简介
进入二十一世纪以来, 世界各国的信息产业部门、军事部门甚至政府部门都加强了对信息安全技术的关注与研究, 并投入大量精力建立起了较为完善的安全密码体制。例如, Peyravian与Zunic在2000年针对保护式通行码传输 (protecting password transmission) 与保护式通行码更新 (protecting password change) 提出了两个方法。Hwang与Yeh在2002年指出Peyravian与Zunic所提出的方法和一般通行码验证方法一样无法抵御通行码猜测攻击 (password guessing attack) 、服务器欺骗攻击 (server spoofing attack) 、及窃听服务器资料攻击 (server data eavesdropping attack) 。Hwang与Yeh为了要抵御上述的三项攻击, 也提出了一个基于服务器公钥的改进方法。然而, 使用公钥就会需要凭证 (certificate) , 如此一来会造成额外的负担。然而, 除了身份验证及密钥交换协议外, 有许多确保安全及提供便利的应用被提出, 这就是数字签名 (digital signature) 技术。
概括的说, 数字签名技术就是采用密码学理论中的信息加密方法与技术, 借助于某个加密技术中的信息加密与解密算法体制, 对要传输或保护的信息报文实施数字签名, 以达到在接收端所获取的信息的完整性 (integrity) 及版权专属 (ownership) 。数字签名技术的研究早在上个世纪七十年代就已经开始。1976年, 两个科学家迪菲和赫尔曼首次提出了数字签名的概念[1], 数字签名技术开始逐渐引起了学术界的广泛重视, 吸引了大量学者从事该领域的研究, 推动了其规范化的进程。1984年9月, 国际ISO组织开始着手为数字签名技术立项, 指定由SC20下属的WG2组织来负责制定数字签名的技术标准。之后的几年, 数字签名技术得到了数学界、信息学界与计算机界众多学者的广泛关注, 使得数字签名技术得到了快速的发展。1988年5月, 针对使用Hash函数的数字签名, SC20又提出了一个新的建议草案, 即DP9796草案。不仅在美国, 在欧洲的一些国家里, 也投入了对该研究极大的热忱。世界各国都加紧了自己的数字签名的标准化工作。随着新技术的不断出现, 1991年NIST又推出了自己国家的数字签名算法标准, 命名为DSA/DSS数字签名算法标准。进入上世纪九十年代, 随着信息网络技术的飞速发展和广泛应用, 数字签名技术获得了更加广泛的研究和应用。Girault在1991年提出自我验证公钥 (self-certified public key) , 如此一来, 便不再需要额外的凭证[2,3]。这也极大的促进了数字签名技术的发展。在2000年, Shieh等人提出了多个多重数字签名 (multisignature) 方法, 这些多重数字签名方法都是基于一个新的满足了一些行动系统的特殊要求的数字签名方法, 且不再需要额外的讯息。不久之后, Hwang及Li指出Shieh等人的方法无法抵御伪造攻击 (forgery attack) , 且他们宣称仍需要额外的信息来抵御这些特定的攻击。
2 数字签名方案分类
按照不同的标准, 数字签名技术有不同的分类方式, 但目前最广泛采用的还是SC20所给出的分类方案。规定根据SC20的规定, 目前的数字签名可以大致分为三类:使用Hash函数的数字签名、带印章的数字签名、以及带影子的数字签名。从信息加密密钥的角度, 也可以对数字签名技术进行不同的分类。根据加密密钥和解密密钥之间的关系不同, 目前的密码学体制可以分为对称密钥密码和非对称密钥密码体制。相应的, 数字签名技术也可以分为两大类:对称加密 (单密钥体制) 数字签名和不对称加密 (公钥密码体制) 数字签名。在对称加密数字签名中, 数字签名的加密方案是由一组加密变换和一组解密变换组成。信息加密后, 可以借助密钥进行解密变换, 进而恢复信息。在该方案中最为重要的就是密钥的设计, 因为密钥是信息得以保密传输的关键。与此不同, 非对称加密数字签名体制是一种保密密钥体制 (secret key cryptography) , 其含义是:信息无法通过一组加密变换和解密变换得到保护与恢复, 对于每一对加密和解密密钥来说, 其双向的恢复都是非常“不容易”的, 即难以从解密密钥获得加密密钥, 也难以从加密密钥中获得解密密钥。
1976年, 斯坦福大学的两位研究人员Diffie和Hellman提出了一种全新的具有不同加密密钥和解密密钥的密码系统, 称为非对称加密体制系统, 又称公钥体制。在这种系统中, 要求每个使用者拥有两个密钥:一个公钥 (简称公钥) 和一个私有密钥 (简称私钥) 。当其他用户给某用户发送加密信息的时候, 他们使用该用户的公钥;当这个用户需要解密信息的时候, 他使用自己的私钥。因此, 在这种体制下不可能很轻易地从加密密钥推导出解密密钥。此外, 还有一种系统, 它采用对称密码算法加密数据文件, 而用公钥密码算法来传送对称密码算法所使用的密钥。这样就既能利用对称密码算法的速度, 又能有效解决密钥分发问题。与此同时, 它能保证每次传送都可由发送方选定不同的密钥进行, 更好地保证了数据通信的安全性。它使得普通网络用户采用“强”加密技术保护自己的信息安全成为可能。
对应于这三类系统, 目前数字签名方案主要有三种:对称密钥签名, 公钥签名和基于消息摘要的数字签名。
3 用于数字签名的算法
加密 (cryptography) 是一套用于加密和解密数据的数学技术, 借助于它资料可以被安全的传送, 并且无法被未经授权的个人和团体解译[4,5]。加密将算法结合密钥来保护数据, 而密钥 (key) 是指用来加密或解密信息的数值。即使算法是公开的, 安全性也不会受到威胁, 因为在没有密钥的情况下, 数据是无法读取的。换言之, 密钥提供了安全性, 而不是提供算法, 算法只提供了密钥套用的基础架构。
目前, 已经发展起来许多著名的加密算法, 每一种都支持不同的安全性操作[6]。常用的非对称算法是以RSA算法最为代表。这种算法在一开始的时候产生两个极大的数字 (512bit~或更大) , 我们称之为密钥对 (公钥与私钥) 。私钥由使用者保存, 公钥由第三人机构留存或由特定第三者签署凭证, 当签署者以私钥对电子文件作加密 (签署) 后, 可透过第三者机构所留存的公钥对签章加以验证, 以确认是由签署者所签署, 达到不可否认性。除了使用非对称算法之外, 还会使用到哈希 (Hash) 算法[7], 这种算法可以将大量的数据以极少的字节来表示, 且无法预知在何种数据的情况下会产生同样的哈希值, 以达成数据完整性。表1列出了几种著名的加密算法:
4 数字证书与PKI
目前我们最常使用的电子文件签章方式是以PKI (Public Key Infrastructure) 技术为基础的数字签名方式[8]。PKI是通过包括由私钥及公钥组成的在线安全机制, 借助加解密且不使用同一把钥匙, 可确保网络上信息流传输过程中的安全;其中公钥是公开的, 而私钥则由使用者持有保管。这一对密钥其中一把对数据进行加密后透过网络进行传输, 使得在传输过程中一旦数据被窃取时, 窃取者仍无法轻易将数据进行解读;另一支密钥则作为解密用途, 以获得原始资料内容。这二把钥匙皆由几何方法产生一定位长度 (如64、128 bit) , 确保被破解的难度, 依安全程度不同, 目前私钥储存型态或方式有:计算机软硬盘、IC卡、智能卡 (Smart Card) 等组件。
公钥基础设施被视为现阶段网络交易最安全的一种方式, 它是以公钥密码学技术为基础而衍生的架构, 在电子数据通过网络传递与交换过程中, 提供电子数据身分的确认性、数据的完整性、交易的不可否认性、数据的隐密性等信息安全应具备的四大需求功能。
除了公私钥技术之外, PKI最重要的核心为凭证中心CA (Certification Authority) , CA必须是一个公正的第三者 (包括政府、银行、一般法人等) 来成立, 公钥透过CA来进行认证, 私钥则由交易双方中的一方向另一方提出要求取得, 不得分享第三者。CA所进行的认证程序就如同在国内, 不管是政府或私人企业向户政事务所申请印鉴证明, 使用在不动产交易契约及字据等重要事项。在网络交易环境里, 也必须建立类似签名或盖章的信赖机制, 数字签名技术构建的电子认证机制, 可以提供类似网络身份证或电子印鉴的功能, 满足网络交易所需的身份鉴别、数据防伪及不可否认等安全需求。
参考文献
[1]Diffie W, Hellman M.New Directions in Cryptography[J].IEEE Transactions on Information Theory, 1976, 22:644-654.
[2]Michael Myers, Rich Ankney, Ambarish Malpani, Slava Galperin, and Carlisle Adams.X.509 Internet Public Key Infrastructure Online Cer tificate Status Protocol–OCSP[C].IETF RFC 2560, June 1999.http://www.ietf.org/rfc/rfc2560.txt.
[3]Satoshi Koga, Kouichi Sakurai.A Distributed Online Certificate Status Protocol with a Single Public Key[C].PKC 2004, LNCS 2947, pp.389-401.
[4]郑羽.加密与解密实践入门[M].北京:电子工业出版社, 2006.
[5]Atul Kahate.密码学与网络安全[M].北京:清华大学出版社, 2005.
[6]卢开澄.计算机密码学—计算机网络中的数据保密与安全[M].北京:清华大学出版社, 2003:158-165.
[7]张建伟, 李鑫, 张梅峰.基于MD5算法的身份鉴别技术的研究与实现[J].计算机工程, 2003, 29 (4) :118-119.
使用RSA技术实现数字签名 篇8
RSA公钥加密算法是1978年由Ron Rivest、Adi Shamir和Len Adleman在 (美国麻省理工学院) 开发的。RSA取名来自开发他们三者的名字。RSA是目前最有影响力的公钥加密算法, 它能够抵抗到目前为止已知的所有密码攻击, 已被ISO推荐为公钥数据加密标准。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易, 但想要对其乘积进行因式分解却极其困难, 因此可以将乘积公开作为加密密钥。在公开密钥密码体制中, 加密密钥 (即公开密钥) PK是公开信息, 而解密密钥 (即秘密密钥) SK是需要保密的。加密算法E和解密算法D也都是公开的。虽然秘密密钥SK是由公开密钥PK决定的, 但却不能根据PK计算出SK。正是基于这种理论, 1978年出现了著名的RSA算法, 它通常是先生成一对RSA密钥, 其中之一是保密密钥, 由用户保存;另一个为公开密钥, 可对外公开, 甚至可在网络服务器中注册。为提高保密强度, RSA密钥至少为500位长, 一般推荐使用1024位。这就使加密的计算量很大。为减少计算量, 在传送信息时, 常采用传统加密方法与公开密钥加密方法相结合的方式, 即信息采用改进的DES或IDEA对话密钥加密, 然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后, 用不同的密钥解密并可核对信息摘要。
2 RS A算法技术
1978年, Rivest、Shamir和Adleman首次提出了一种比较完善的公钥密码体制, 这就是著名的RSA算法。RSA算法对明文以分组为单位进行加密, 每个二进制分组的值均小于n, 也就是说分组的大小必须小于或等于[log2n]位, 实际应用中, 分组的大小为k位, 2K
加密:c=memod n
解密:m=cdmod n= (me) dmod n=medmod n=m mod n
RSA算法的实现步骤如下:a.用户B产生两个大素数p和q, p≠q;b.B计算n=pq, n的Euler函数φ (n) = (p-1) (q-1) ;c.B选择随机数e, (0
选定好公钥/私钥后, RSA算法的加解密步骤如下:
将明文划分成块, 使得每个明文报文m的长度k满足0
将明文划分成块, 使得每个明文报文m的长度k满足0
对于以上算法描述, 建立RSA算法的数学模型为:
RSA公钥密码体制的具体描述为:设n=pq, p和q是素数。明文空间和密文空间:P=C=Zn;密钥:K={ (n, p, q, a, b) :ab 1 (modφ (n) ) };其中nb是公钥, pqa是私钥。RSA加密算法:ek (x) =xbmod n;相应的解密算法:dk (x) =yamod n;由于n=pq, 所以有φ (n) = (p-1) (q-1) 。
3 数字签名技术
在日常生活中, 很多场合都需要签名。如:批复文件、签订合同、使用信用卡消费等, 手写签名是一种传统而有效的证明身份的手段。
传统的手写签名通常具备这样一些性质:
3.1 任何他人都不能伪造签名
3.2 签名能够被验证
3.3 签名者事后不能否认自己的签名
随着密码学的发展, 尤其是公钥密码体制的发展, 研究者发现签名的性质完全可以通过数字的方式来实现, 带有数字签名的消息在网络上传播, 标识着签名者的身份, 就像传统的签名一样。可以实现身份的证明。
数字签名方案由{P, A, K, S, V}组成, 并满足:a.P为可能消息的有限集;b.A为可能签名的有限集;c.K为可能密钥的有限集;d.对于每一个k∈K, 存在签名算法:sigk∈S和验证算法:verk∈V。
显然加密算法就是一个签名算法, 相对来说, 公钥密码体制更适合用作数字签名。但是与对称密码体制用作数字签名不同, 公钥密码体制用私钥进行签名, 用公钥进行验证。
4 利用RS A算法实现数字签名
将RSA算法稍作改动便可构造出RSA数字签名方案。令n=pq, p和q是素数, P=A=Zn, 定义:K={ (n, p, q, a, b) :ab≡1 (modφ (n) ) };其中nb是公钥, pqa是私钥。签名算法和验证算法如下:sigk (x) =xamod n;verk (x, y) =ture<=>x=yb (mod n) (x, y∈Zn) 。下面对此算法进行具体验证:在RSA签名方案中, 取p=251, q=503, 则n=251×503=126253, φ (n) =250×502=125500, 取b=2957, 则a=2957-1mod125500=5093。其中n, b是公钥, p, q, n是私钥, 对x=5601签名
sig (x) =56015903mod126253=5903;对 (5601, 5093) 数字签名进行验证:verk (x, y) =ture<=>5601=59032957mod126253;由此可证 (5601, 5093) 是合法的RSA数字签名。
5 RS A算法的安全性
在RSA问世后的30多年中, 有很多密码专家和研究机构对RSA进行了大量的研究和分析, 迄今为止还未找到破译RSA的有效方法。这就是我们可以放心使用RSA的原因。对于破译RSA, 穷举搜索法并不是有效的方法, 通常主要采用分解因子的方法来分解n, 因为破译者手中有公钥e和模数n, 所以要找到解密密钥d, 则必须分解n。分解因子问题是众所周知的数学难题, 迄今为止还未找到有效的分解因子的算法, 这就是RSA算法的安全性基础。然而, RSA在理论上还存在一定的空白点, 也就是不能确切地证明它的安全性, 破译RSA不会比分解因子问题更困难, 并且不排除这种可能性:找到一种破译RSA密码的有效算法, 但找不到相应分解因子的快速算法。另外, 一些攻击者专门对RSA实现系统进行攻击, 他们并不攻击RSA算法本身, 而是设法攻击RSA实现上的弱点。根据一些成功的攻击经验, RSA在使用上存在如下限制:a.知道了对于一个给定模数的一个加/解密密钥指数对, 攻击者就能分解这个模数;b.知道了对于一个给定模数的一个加/解密密钥指数对, 攻击者无需分解n就能计算出其他的加/解密密钥对;c.在网络环境下应用时, 基于RSA的网络协议不应当使用公共模数;d.消息应当使用随机数填充, 以避免对加密指数的攻击。e.解密指数应当足够大。对于一个密码应用系统来说, 密码算法、使用密码算法的协议以及使用协议的应用系统都必须是安全的, 三者之中的任何一个环节出现弱点都会危及整个系统的安全。因此RSA算法实现的细节也是很关键的, 应当给予足够的重视。
参考文献
[1]庞辽军.信息安全工程.[1]庞辽军.信息安全工程.
[2]王昭.信息安全原理与应用.[2]王昭.信息安全原理与应用.
[3]Bruce Schneier.应用密码学--协议算法与C源程序.[3]Bruce Schneier.应用密码学--协议算法与C源程序.
基于属性的代理数字签名技术研究 篇9
信息安全是涉及我国经济发展、社会发展和国家安全的重大问题。密码学作为信息安全的核心技术, 其主要研究如何实现信息秘密通信, 包括两个分支, 即密码编码学和密码分析学[1]。一个密码系统根据其密钥特点分为对称密码系统和非对称密码系统。数字签名就是非对称密码学的重要应用之一。
1 数字签名相关理论
1.1 数字签名的概念
一个有效的数字签名系统应该避免以下四种情况的发生:在接收消息以后, 发送和接收双方否认已经发送或接收或此消息;接收方自己或让他人帮助伪造来自发送方的信息;接收方对从发送方接到的信息内容进行全部或部分的篡改;计算机网络中的另一用户冒充他人发送或接收该信息[2]。数字签名可以完成如下认证内容:实体认证、身份认证、报文认证。
1.2 数字签名的过程
数字签名的过程如图1所示。发送者用Hash函数从明文生成摘要信息, 然后用自己的私钥Pa对摘要进行加密, 加密后的摘要和明文一起发送给接收方;接收方首先用与发送方一样的Hash函数从接收到的原始明文中计算出摘要, 再用发送者的公共密钥Ka对报文的数字签名进行解密, 然后将两个摘要信息进行对比, 如果相同则确认是该数字签名是发送方的。
2 基于属性的数字签名概念
基于属性的签名体制由基于身份的签名体制发展而来。基于身份的密码体制的概念, 在基于身份的密码体制中, 用户的公钥是直接从其相关身份信息 (如用户名、身份证号、E-mail地址、电话号码、社会保险号等) 得到, 而私钥则是由一个称为可信的私钥生成中心生成[1]。
基于属性的密码体制扩展了基于身份的密码体制中身份的概念, 在基于身份的密码体制中身份对应一个唯一的字符串, 如用户名、身份证号、E-mail地址、IP地址、电话号码、社会保号等, 而基于属性的密码体制把身份扩展成一系列属性特征的集合, 对身份更细地划分[3]。
基于属性的签名体制是基于属性密码系统的重要组成部分, 签名者可以声称签名对应于某一组特定的属性集合或某种特定属性访问控制结构, 验证者可以验证签名是否由相应的属性或访问结构拥有者签的名。
当原始签名者 (或称签名授权者) 将数字签名权利委托给另外一个或多个代理者, 使得代理者可以代表授权者进行数字签名, 此即代理签名。代理数字签名是当今数字签名研究中较复杂的环节, 本文进行了代理签名的方案设计。
3 基于属性的代理签名方案设计
本文设计的代理签名包括3个参与方:原始签名者A、代理签名者B和签名验证者V。代理签名的过程包括4个过程:系统建立、代理权的委托、代理签名的生成、代理签名的认证[4]。这些过程包括7个步骤:初始算法、密钥生成算法、代理算法、代理验证算法、代理密钥生成算法、代理签名生成算法和代理签名验证算法。
3.1 系统建立算法
3.2 密钥生成算法
输入原始签名人身份ID A给系统, 计算H A=H 1 (ID A) , 获得私钥S A=hAy0。
3.3 代理算法
3.4 代理验证算法
代理人B验证原始签名人的授权证书WA→ B是否正确, 即验证等式e ( A2 , g ) =e ( A1 , Y ) e (H A, Y ) , 如果灯饰成立, 则接受代理, 如果等式不成立, 则输出⊥ 。
3.5 代理密钥生成算法
输入访问树结构η, 代理人属性集合 γ, 从系统获得用于代理签名私钥。将访问结构h看作属性树结构, 系统根据属性树的结构η, 从根节点o开始, 自顶向下随机构造选取多项式q x (q x保密) :令qo (0) =w, 对于树中的每个节点x , 使节点x的多项式次 数比阈值 小l , 即t x=k x-1, 并且qx (0) =qparent ( x) (index ( x ) ) 递归地定义q x。对于每个叶子节点x , 系统计算属性树的私钥是
3.6 代理签名生成算法
3.7 代理签名生成算法
输入IDA 和对M的代理签名σ , V验证该签名是否为A的有效代理签名, 验证下列等式:
如果等式成立, 验证者V就接受代理人B的代理签名, 否则输出 ⊥ 。
4 方案安全性讨论
代理签名体制的6大安全性要求, 即:可区分性、可验证性、强不可伪造性、强不可否认性、强识别性和防滥用性。
其中可区分性、可验证性、防滥用性毋庸置疑。对于强不可为造性, 第三方想伪造原始签名人的授权证书WA→B和有关属性集合ω 也是不可能的。代理算法包含授权信息WM 且需经过代理验证算法验证, 同时代理签名者B不可能修改WM , 这样, 原始签名者A不能否认其对代理签名者B的授权。另外, 代理签名者B的公钥hB 必须出现在代理签名验证等式中, 因此, 代理签名者B也不能否认其有效的代理签名, 从而保证了方案的强不可否认性。代理签名中包含授权信息WM , WM 中包含代理签名者B的身份hB , 任何人可以从中确定相应的代理签名者B的身份, 从而保证了方案的强可识别性。
5 结束语
本文的主要内容是详细研究了代理签名过程中使用的7种算法, 并对该方案进行了其安全性讨论。
摘要:数字签名是信息安全领域中非对称密码学的重要应用之一。代理数字签名是数字签名中的技术难题之一。本文从数字签名的概念和过程开始讨论, 介绍了基于属性的数字签名定义, 然后设计了代理数字签名的方案, 并详细研究了其中的7种算法。最后, 讨论了本文代理数字签名的安全性。
关键词:属性,代理签名,数字签名,安全性
参考文献
[1]黄加顺.基于属性的前向安全数字签名研究[D].上海:上海交通大学.2012.
[2]V.Goyal, O.Pandey, A.Sahai and B.Waters.Attribute-based encryption for fine-grained access control of encrypted data.∥In ACM CCS’06, New York, ACM Press, 2006:89–98.
[3]孙昌霞.基于属性的数字签名算法设计与分析[D].西安:西安交通大学.2013.
数字签名技术 篇10
关键词:数字签名,Hash签名,DSS,RSA,DSA
在网络环境下使用计算机,信息安全是一个非常突出的问题。数据加密是保护数据的最基本的方法。单纯数据加密技术只能防止非法用户获得真实数据,但不能解决否认或抵赖、伪造、篡改和冒充等安全问题。为了解决这类问题,产生了数字签名技术。数字签名包括加密、随机功能(指印或信息摘要)、数字化签字、经权威机构认可的证书(CA)。
1 数字签名技术常见算法
数字签名的算法很多,应用最为广泛的三种是:Hash签名、DSS签名、RSA签名。
1.1 Hash签名
Hash签名不属于强计算密集型算法,应用较广泛。Hash签名使用密码安全函数MD5或SHA,并从文件中产生一个Hash值。Hash值作为签名与文件一起传送。接收方用密钥的副本对签名进行检验。由于使用较快的算法,可以降低服务器资源的消耗,减轻中央服务器的负荷。Hash的主要局限是接收方必须持有用户密钥的副本以检验签名,因为双方都知道生成签名的密钥,较容易攻破,存在伪造签名的可能。如果中央或用户计算机中有一个被攻破,那么其安全性就受到了威胁。
1.2 RSA签名
RSA密码系统为每个用户分配两对密钥(公钥和私钥),RSA是最流行的一种加密标准,许多产品的内核中都有RSA的软件和类库。RSA与Microsoft、IBM、Sun和Digital都签订了许可协议,使在其生产线上加入了类似的签名特性。RSA既可以用来加密数据,也可以用于身份认证。和Hash签名相比,公钥系统中,由于生成签名的密钥只存储于用户的计算机中,安全系数大一些。
1.3 DSS签名
DSS和RSA采用了公钥算法,不存在Hash的局限性。DSS数字签名是由美国国家标准化研究院和国家安全局共同开发的。由于它是由美国政府颁布实施的主要用于与美国政府做生意的公司,其他公司则较少使用。安全Hash标准(SHS)作为数字签名标准(DSS)的标准加密报文算法。SHS密文采用160位,比采用128位密文的MD5更安全。
2 数字签名的工作流程
数字签名是建立在公开密钥加密体制的基础上的,根据数字签名标准DSS,可分为以下几个步骤:
1)发送方选择合适的单向散列函数,产生报文的单向散列值。
单向散列函数是一种根据数据报文计算出固定长度比特序列的方法。单向散列函数建立在压缩函数的想法上,它的安全性是它的单向性,常用的单向散列函数有MD5和SHA算法。MD5以512位分组处理输入文件,产生一个128位散列值。SHS规定了一种保证数字签名算法(DSA)安全所必须的安全散列算法(SHA)。当输入是长度小于264位的消息时,SHA产生160位的消息摘要,然后将该摘要输入到用于计算该消息签名的DSA中。由于是对散列而不是对文件进行签名,可大大改善处理效率。
2)发送方用自己的私人密钥对散列加密,即利用DSA算法进行计算,产生数字签名。
3)将散列签名和报文一起发送给接收方。
接收方用同样的单向散列函数(预先协商好的算法)产生报文的散列,然后用数字签名算法对散列进行运算,产生数字签名1,同时用公开密钥对签名的散列解密,产生数字签名2。若数字签名1=数字签名2,则签名得到验证。
3 数字签名技术与加密技术的结合
在实际应用中,如果信息是公开的,必须保证信息不被伪造(如:网页信息),则可利用数字签名技术来保证信息的完整性及不可伪造性。把公开密码学和数字签名结合起来,能够产生一个协议,这样可把签名的真实性和加密的安全性结合起来,先签名后加密,远比先加密后签名的安全性要高。
令发送方为Amy,接收方为Bob。PKA和SKA为Amy的公共密钥和私有密钥,PKB和SKB为Bob的公共密钥和私有密钥。签名过程如下:
1)Amy用DSA算法和自己的私钥SKA对消息M计算,产生数字签名S;
2)Amy用Bob的公共密钥PKB对签名的消息(M+S)加密,然后发送给Bob:EPKB(M+S);
3)Bob用他的私钥SKB才能解密,产生DSKB(EPKB(M+S))=M+S;
4)Bob用DSA算法和Amy的公钥PKA对消息M进行计算,产生一个数字签名X',若X=X',则签名有效。
4 文件的多重签名
随着网络技术的发展,数字签名技术也在不断发展,在一对一安全通信的基础上,可实现在OA系统中对文件的多重签名。令发送方(按签名顺序)为A1、A2、A3……An,接收方为B,PKAi和SKAi分别为Ai的公钥和私钥,PKB和SKB分别为B的公钥和私钥,发送的消息为M。
多人签名步骤如下:
1)A1用DSA算法和A1的私钥SKA1对M进行计算,产生签名X1,并用下一位签名人A2的公钥PKA2对(M+X1)进行加密,产生EPKA2(M+X1),并发送给A2;
2)A2收到后,用他的私钥SKA2对消息摘要解密,产生DSKA2(EPKA2(M+X1))=M+X1,并用DSA算法和前一位签名人A1的公钥PKA1对前一签名人的X1进行验证,若不能验证,则签名终止,并进行下一步;
3)A2把(M+X1)当作新的消息M2,用DSA算法和自己的私钥SKA2产生新的签名X2,并用后一位签名人A3的公钥PKA3加密,产生EPKA3(M2+X2),并发送给后一位签名人A3;
4)A3按照步骤(2)~(3)处理,每个签名人依次处理,直到最后的签名人An签名完成,产生最终签名Xn以及最终的消息Mn.;
5)最后An用接收者B的公钥对(Mn+Xn)加密,产生EPKB(Mn+Xn),并发送给B。
多人签名验证步骤如下:
1)B收到后,用他的私钥SKB对消息解密,产生DSKB(EPKB(Mn+Xn)=Mn+Xn;
2)B用DSA算法和An的公钥PKA n对Mn进行计算,得到一个数字签名Xn′;
3)如果Xn≠Xn′,验证失败,验证过程终止;
4)按步骤(1)~(3)进行验证,直至M和X1通过验证,则整个签名算法成功。
5 Internet上建立信息安全机制
SSL通过使用公开密钥和对称密钥技术的有效结合达到信息的保密性,SSL客户机和服务器之间的信息处理业务都采用在SSL握手过程中建立的密钥和算法进行加密,既有认证机构的保证,又实现了一次一密的随机加密,大大提高了加密强度,可有效地防止网络窃听。所采用的算法有DES、Triple DES、IDEA、RC2、RC4等。
1)SSL支持认证机制,通信者的身份认证采用公开密钥系统,采用的算法有:RSA,DSS。
2)SSL通信采用机密共享和Hash函数组提供信息完整性服务,确保SSL业务全部达到目的。SSL通信还传送保证数据完整性的数据识别码(MAC Code),数据识别码采用MD5、SHA算法。
利用SSL技术对应用服务器和客户进行身份认证,用加密技术对Web服务器与用户之间的传输数据加密。它包括用DES、RC4、IDEA或专用密码算法进行传输加密,数据完整性校验和身份验证,安全的审计和记录等等,是整个安全管理和控制的前台。
客户端为IE浏览器,使用SSL安全代理在浏览器和服务器端各设一个转接站,传输的数据先经过安全代理加解密后再进行传输。
6 结束语
数字签名只是一种身份确认的方式,传统签名用手写识别,数字签名用密码确认,两者在交互中的作用并无区别。数字签名技术是信息安全领域的一项重要技术,是实现信息安全传输的重要手段之一,其应用领域日益广泛。在某种意义上,数字签字系统比手签字或印章更为有效。一份多页的手签文件很难保证每页的内容均不会被改动或替换,但数字签字却能保证文件的每一字符都未经过任何改动。由于许多领域对数字签名技术提出了新的应用需求,在未来的信息领域中这一技术仍有着广阔的发展前景。
参考文献
[1]刘启源,刘怡.数据库与信息系统的安全[M].北京:科学出版社,2000.
[2]余少云.数字签名在网络信息安全中的应用[J].商场现代化,2006(20).
数字签名技术 篇11
[关键词]数字出版技术;图书出版;编辑技术;编辑流程;数字化;
[作者简介]陆晟,陕西省行政学院图书馆。
自20世纪70年代起,计算机技术开始被应用于图书编辑出版领域,其所引发的不仅是一场技术变革,更是编辑出版理念的变革。随着数字出版技术的发展,数字编辑出版的影响力越来越大。对于传统编辑出版企业而言,应当积极面对数字化所带来的挑战,从理论和实践上理解数字化出版,并且选择适合自己的数字化编辑出版道路。
一、数字化智能编辑系统
20世纪70年代,西方国家开始将计算机引入编辑出版领域,从而引发了这一行业的技术性变革。20世纪90年代,我国一些大型报社开始尝试自动化编辑系统,从而开启了编辑出版数字化时代。早期的自动化编辑系统主要功能是文件管理,以及文件的内部传发。由于前期投入较大,未能广泛普及。随着互联网信息技术的发展,编辑出版系统开始朝着智能化方向发展。最新一代的编辑出版系统,已经能够实现在线式自主服务。以豆瓣开发的在线编辑出版系统为例,作者只需上传自己的文字作品,网站编辑只需负责审核内容,其余的工作都将由智能化的编辑系统自动完成。在智能编辑出版系统的帮助下,一个网站编辑能完成过去几十个专业编辑才够完成的工作。由此可见,智能编辑系统无论是在工作效率上,还是在工作质量上,都远远超过传统编辑出版模式。
对于传统编辑出版而言,智能编辑出版系统的出现,无疑是一个巨大的机遇。从企业层面来看,智能编辑出版系统的问世从一个侧面反映出,当前存在一个巨大的出版市场,正是因为有着巨大的市场需求,所以才会需要一个高效率的出版系统来提供满足。未来的出版业将进入一个空前的繁荣阶段,出版企业也将获得更大的发展。就编辑出版工作层面而言,智能编辑系统将会产生一种倒逼效应。智能编辑系统的出现将淘汰一部分低端的图书编辑出版工作,并且对编辑的学术性、专业性提出更高要求。
二、数字化编辑出版系统的优势
数字化智能编辑系统从根本上变革了传统图书的编辑出版工作模式和工作理念。在智能编辑出版时代,传统编辑出版景观将逐渐消失,所有的工作都将在网络中得以完成。同时编辑工作也将打破时间和空间限制,作者可以随着随地投稿,智能编辑出版系统可以随时随地提供编辑服务。此外,网络化的编辑工作具有高度的协同性,这种协同性还具有高度跨地域的特征。智能编辑系统所具有的优势具体表现在以下方面:
第一,提高审稿效率。信息化时代,越来越多的作者选择利用计算机撰写文章,投稿则直接利用网络,或是邮寄U盘。这种方式对于作者或是出版社而言,都具有很大的便利性。一方面,作者可以节省大量的投稿成本,也可以避免因为稿件丢失而造成的损失。对于出版社而言,则可以有效地节省对稿件的管理成本,并且大幅度地提高审稿效率。例如,避免因作者字迹、书法水平等方面的干扰,造成审稿效率低的情况。此外,编辑也可更为便捷地利用各类数据库,及时对作者稿件的信息性、价值性进行科学评估,从而避免因为自身专业局限性而导致的主观误判。
第二,减少编辑环节。在传统编辑工作中,编辑往往是在作者的手稿上进行加工。对于手稿的完整性,无疑是具有破坏作用的。同时,排版工作是由编辑和排版人员共同协作完成的,很可能出现由于排版人员不懂编辑专业,或是不熟悉排版规范而造成错排版。此外,文字录入过程中,也可能因为工作人员的失误造成重新审稿的问题,这些都会对审稿周期、稿件质量等造成消极影响。而在数字编辑出版模式下,则可以有效减少不必要的中间环节,在确保审稿质量的前提下,最大程度提升审稿效率。
第三,提升编辑工作的价值。随着网络出版模式的出现,传统纸质图书的出版组织结构以及工作流程将被彻底取代,随之而来的是网络化组稿、改稿、校队。这种新的编辑工作模式,将编辑从过往繁重的事务性劳动中彻底解放出来,从而有利于编辑集中精力和时间从事具有创造性的劳动。此外,互联网所提供的信息将有利于编辑更好地判断稿件的学术价值,提升编辑对于稿件的管理效率,以及图书的后续出版和发行。
由此可见,对于传统编辑出版而言,智能编辑出版系统无疑是具有革命性的。这种革命性并不仅仅体现在技术上,更多的在于整个行业的运作模式。智能编辑出版系统将从根本上改变图书出版行业的生态,从而推动其进入一个前所未有的高速发展阶段。
三、数字化智能编辑系统的影响
数字化编辑系统的出现,不仅仅是一种技术性的革新。随着技术水平的不断发展,其已从根本上影响到整个编辑出版的工作模式。数字化智能编辑系统的主要影响表现在以下方面:
第一,编辑媒介的变化。传统编辑工作是建立在纸媒介基础之上,编辑对象主要是文字和平面图形。因此,编辑的工作主要是针对内容的事实判断和价值判断,对于文字和图形编排的要求并不高。随着网络技术的普及,数字出版物在网络媒介基础上飞速发展。除文字、图形、图像符号外,音频、视频、动画符号等被广泛用于数字图书中,这不仅丰富和拓展了编辑工作的内容,而且对于编辑工作者提出了更高的技术要求。
第二,编辑技术的变化。传统图书编辑,从本质上而言,就是把文字或是图像根据一定的科学规律以及审美要求进行统一编排。传统图书编辑是一种二维编辑,所有的编辑工作都是在一个平面上展开的,其最终目的就是让编辑对象落实到指定的平面上。数字图书编辑则截然不同,由于数字图书中所包含的不仅仅是文字和图像,还包括声音、视频等,因此,利用传统编辑技术是无法将这些异构的符号统一在一个平面之中。实现数字图书的编辑,首先要将这些异构的符号输入计算机,通过计算机语言将其转换成统一的符号,然后再将它们集成在一个平面之中。由此可见,数字出版技术从根本上改变了编辑工作的建模方式。这种变化对于编辑工作者而言,既是一种挑战,也是一种机遇,其意味着编辑工作不再是一种机械性劳动,而是一种创适性劳动。
nlc202309040348
第三,编辑流程的网络化。传统编辑工作可以归结为三审制,编辑的一切活动是在出版社体制下进行的。因此,从本质上而言,编辑流程基于的是制度性,而不是功能性。这也就意味着,编辑只要走完这个流程就可以了。由于不是直接面对市场,或是直接面对作者,因此,编辑质量以及编辑效率都很难得到提升。而在数字出版环境下,编辑所要面对的就不是出版社、出版体制,而是作者和图书市场。编辑更多要考量的是如何利用各种编辑技术去提升作品的市场价值。因此,编辑工作将具有更大的创新性。此外,编辑与作者之间的协作关系将更为密切,编辑工作的好和坏,作者将有直接的发言权。
第四,编辑主体的模糊化。在传统出版业中,编辑是出版流程中的一个环节。编辑的主要职责是对选题进行策划和执行,对书稿进行编辑和加工。由于书号是一种稀缺性资源,因此编辑就必须考虑出版成本和销售等问题,从而确定作品是否值得出版。因此,在传统编辑出版系统中,编辑是具有独占性的。这种独占性存在一定的优势,也存在一定的劣势。从优势方面来看,出版工作的计划性可以有效地避免出版资源的浪费。在资源稀缺的情况下,编辑可能会更好地利用这些资源。从劣势方面来看,传统编辑系统的封闭性和垄断性,对于繁荣出版市场是具有消极性的。而基于网络的智能化编辑系统具有高度的开放性和自主性,并且在技术上降低了个人进入出版业的门槛。随着自媒体的出现,自编辑已经成为当前网络出版的基本特征。自媒体人以网站为出版平台,将自己的作品公之于众,这就是一种最简单的出版行为和编辑行为。由此,编辑的主体性变得越来越模糊。可以说,网络时代,人人都可以当编辑。
四、结论
综上所述,数字智能编辑系统对于促进图书出版业的发展是具有积极意义的。尽管不少人认为,传统图书出版业可能因此而走向没落,但是一个全新的数字出版业将为人类社会的发展作出巨大的贡献。对于传统出版企业而言,应当积极调整心态应对数字化浪潮。对于编辑工作者而言,应当从提升自身学术修养、专业能力出发,积极学习数字化的出版编辑技术,从而使自身的编辑工作经验得到充分的发挥,为编辑出版事业作出新的贡献。
[1] 乔瑞雪. 数字时代编辑的传播理念与媒介素养探析[J]. 中国报业, 2012(2).
[2] 吴惠娟.浅谈数字出版环境下的编辑角色转换[J].出版广角,2011(10).
[3] 石雄.数字出版对编辑的技术要求[J]. 科技与出版, 2011(5).
[4] 吴燕. 数字出版时代编辑职能的变与不变[J]. 中国出版, 2011(9) .
数字签名技术 篇12
随着今年来我国网络技术的飞速发展, 互联网所提供的各种便利服务也越来越为人们所接受与采用。而作为环保的一部分, 无纸化办公也是当今社会所推崇的。作为民主社会中的主要行为——投票, 几乎出现在我们生活的每一个角落。而传统投票方式中, 大量采用纸质选票的方式, 不仅纸张耗费严重, 统计效率低, 而且往往需要投票人亲临现场, 浪费大量的人力物力。基于此现状, 电子投票系统便应运而生。
2 电子投票系统的简要需求分析
作为电子投票系统除了应满足传统投票方式的主要功能外, 还应保证统计速度快, 投票客户端和统计中心分离, 网络安全保障等需求。主要需求可总结为以下几点: (1) 合法的选票必须保证全部计入票数; (2) 非法用户不能截获或篡改选票; (3) 合法用户的选票内容应保密; (4) 每个用户只能投放一张选票; (5) 在保证保密性的前提下, 用户可以验证其选票是否被篡改; (6) 流程应快捷简便。
在本系统中, 主要参与实体有:投票人和投票中心。投票中心又可细分为:注册模块、认证模块、发票模块、统计模块和验证模块五个部分。
根据以上需求, 本文将采用类似于安全电子交易协议 (SET) 中的双重签名和数字信封技术, 来实现本系统。
3 双重签名的原理机制
双重签名主要运用的技术包括:散列 (Hash) 函数消息认证技术, 公钥加密算法 (RSA) 加密技术。
3.1 散列 (Hash) 函数消息认证技术
Hash函数是对不定长的输入产生定长输出的一种特殊函数, 可以表达为h=H (M) , 这里的M为消息, 其长度不定, h被称为散列值 (Hash值) , 其长度一定, 一般为128位或160位。Hash函数的目的是为文件、消息或者其他的分组数据产生“指纹”, 为防止第三方伪造Hash值或者通过Hash值计算出明文。常用的Hash函数有很多种, 在SET协议中, 双重签名主要使用的是安全散列算法 (SHA-1) , 该算法主要是将按一定规则进行消息填充后的消息, 以每512位进行分组, 然后进行迭代Hash运算。
3.2 公钥加密算法 (RSA) 加密技术
公钥算法使用两个独立的密钥, 每个用户M都有一对选定的密钥 (公钥、私钥) , 公开的密钥可以像电话号码一样进行注册公布。公钥密码算法基于数学函数而不像对称密码体制那样基于代换和置换。
而在SET协议中, 双重签名使用的是RSA算法。RSA算法的安全性基于大素数分解的困难性。RSA算法使用了乘方运算。
在加密时, 明文M经过加密运算得到密文C:C=Me mod n, 密文在经过解密得到明文M:Cd mod n= (Me mod n) d mod n=Med mod n=M。其中, e, d, n的确定方法如下:
(1) 确定n:独立地选取两大素数p和q, 计算n=p×q。
(2) 确定e:计算n的欧拉函数值ψ (n) = (p-1) × (q-1) , 随机选择一整数e, 使得1≤e<ψ (n) 和gcd (ψ (n) , e) =1成立。
(3) 确定d:计算e模ψ (n) 的乘法逆元。
3.3 双重签名技术
(1) 双重数字签名的目的作用。
双重签名的目的在于连接两个不同接收者消息。以SET协议为例, 消费者想要发送订单信息 (OI) 到特约商店, 且发送支付命令 (PI) 给银行。特约商店并不需要知道消费者的信用卡卡号, 银行不需要知道消费者订单的详细信息。消费者需要将这两个消息分隔开, 而受到额外的隐私保护。然而, 在必要的时候, 这两个消息必须要连接在一起, 才可以解决可能的争议、质疑。这样消费者可以证明这个支付行为是根据他的订单来执行的, 而不是其他的货品或服务。
(2) 双重签名实现。
以SET协议为例, 假设消费者发送两个消息给特约商户:签名过的OI及PI, 而特约商店将PI的部分传递给银行。
消费者用SHA-1算法, 取得PI的Hash值和OI的Hash值。接着将这两个Hash值连接在一起, 并用消费者的私钥来加密, 就产生了双重签名, 如图1所示。
这个过程可以用式子表示为DS=E[H ( H (PI) ||H (OI) ) ], 其中K是消费者私钥。现在假设特约商户拥有这个双重数字签名 (DS) 、OI和PI的消费者摘要 (PIMD) 。并且特约商户从消费者证书中得到消费者的公钥。特约商户就能做如下计算:H (PIMD||H (OI) ) 和D[DS], 其中K为消费者公钥, 如果这两个结果相同, 则特约商户就可以核准这个签名。同样地, 如果银行拥有DS、PI和OI的消息摘要 (OIMD) , 以及消费者的公钥, 则银行可以计算:H (H (PI) ||OIMD) 和D[DS]。如果这两个数一样, 则银行就核准这个签名。
综上:商店接收OI可以验证OI正确性, 银行接收PI可以验证PI正确性, 消费者连接OI和PI可以证明连接的正确性。
4 数字信封技术的原理机制
数字信封是将对称密钥通过非对称加密的结果分发对称密钥的方法。其主要运用到对称加密技术, 公钥加密技术。
用户用对称密钥K1对发送的消息M进行加密, 形成消息密文E (M) , 然后用接收方的公钥K2对对称密钥K1进行加密, 形成密钥密文E (K1) 。最后将消息密文和密钥密文连接, 便形成数字信封Digital Envelope, 发送给接收方。其过程如图2所示。
接收方收到数字信封后, 先用其私钥K3对数字信封解密, 得到对称密钥K1, 然后用K1对消息密文进行解密, 便得到所需消息。其过程如图3所示。
5 电子投票系统中双重签名和数字信封的应用
通过以上所述, 电子投票系统中, 双重签名可用于投票人发送选票和个人验证信息, 而数字信封则使用于投票人将双重签名等信息发送给投票中心时使用。其主要流程为: (1) 投票中心为其注册、认证、发票、统计、验证五个模块分别分配基于RSA的密钥对, 并将公钥公开; (2) 用户注册, 将身份信息等提交给注册模块, 注册模块给用户分配唯一的标识符Id, 将用户信息保存后, 计算Id的哈希值h后, 将h发送给认证模块, 并向其申请用户RSA密钥对; (3) 认证模块产生密钥对后, 将密钥对发给注册模块, 并将h和产生的公钥存入数据库; (4) 注册模块将Id和密钥对发给用户; (5) 发票模块根据注册人数, 生成相应数量选票, 并对其选票编号进行签名; (6) 投票人登录系统后, 获得由投票中心发来的选票Vote; (7) 投票人填好选票后, 用SHA-1算法计算出选票的摘要V-MD, 和身份信息Id的摘要I-MD, 将两者连接后, 再使用SHA-1算法, 计算出选票身份摘要VI-MD; (8) 使用投票人的私钥Kr-c对VI-MD进行加密后, 得到双重签名DS; (9) 投票人将双重签名DS和选票内容Vote以及身份信息摘要I-MD用对称密钥Ks加密得到消息密文, 再使用投票中心统计部分的公钥Ku-v对Ks进行加密, 得到密钥密文, 将两密文连接得到数字信封DE; (10) 将数字信封DE, 双重签名DS, 选票内容摘要V-MD, 和投票人的Id发送给投票中心; (11) 投票中心收到信息后, 其中的V-MD, Id, 和DS, 传递给验证模块; (12) 验证模块通过Id查找到用户公钥后, 解密DS得到VI-MD, 然后将Id通过SHA-1计算后得到的I-MD与V-MD连接, 将结果与解密得到的VI-MD比较, 若匹配, 则验证成功, 否则失败; (13) 验证成功后, 投票中心将DE, Id的哈希值h发送给统计模块; (14) 统计模块用其私钥解密DE, 得到对称密钥Ks, 用Ks解密消息密文, 得到DS, Vote和VI-MD; (15) 统计模块申请用户公钥后, 解密DS, 得到VI-MD, 将与之前得到的比对, 如相同, 则验证成功, 否则失败, 然后读取Vote内容; (16) 统计模块公布结果和每张选票的编号和内容。
6 电子投票系统的安全性分析
在本套电子投票系统中, 我们选择RSA作为公钥加密算法, 由于RSA私有密钥存在唯一性, 所以只有真正的投票中心模块才有与公钥匹配的私钥。除非私钥失窃, 则不会出现冒充投票系统的情况, 或是系统不相关模块取得别的模块的信息。其次, 用户的公钥和私钥也是如此, 所以, 此算法保证了拒绝非法用户的使用。而在每次接受到用户的选票后, 都会进行验证, 则可通过判断是否进行过该Id的验证, 来防止一票多投。而在用户验证是否为自己所投的选票过程中, 可以查询自己的选票号和内容是否为自己所填, 若有出入, 则可根据自己的相关选票信息和公钥, 进行重新计票。
除非选票中心内部的管理出现问题, 各模块保密被破坏, 则该系统在实际中可以认为是符合机密性、完整性、可用性、不可抵赖性的信息安全要求的。
7 结语
综上所述, 双重签名和数字信封技术在电子投票系统的消息传递过程中, 对于信息的不可抵赖性, 以及防止信息传递双方自身进行非法行为, 有着比一般数字签名算法更优越的前景。尤其对于消息发送方要将两个不同消息发给不同对象, 却又需要保证两者的对应性而必须将消息连接的情况下, 双重签名和数字信封不仅可以使接收方均可通过发送方公钥进行签名验证, 而且均无法看到发送给另一方的消息, 还可以防止其中一方修改某一信息进行欺诈。其可以根据不同的安全级别, 采用不同的哈希函数和加密算法, 可以灵活调整。所以, 电子投票系统的前景非常明朗。
参考文献
[1]陈晓峰, 王育民.基于匿名通讯信道的安全电子投票方案[J].电子学报, 2003, 31 (3) .
[2]鲁军, 汪同庆, 任莉.身份认证系统的设计与实现[J].网络安全技术与应用, 2004, (2) :22-25.
[3]华晋, 汪同庆, 鲁军, 倪水平, 熊波.基于特征匹配的建筑平面图自动识别的研究与实现[J].计算机科学与实践, 2004, 2 (2) :81-83.
[4]熊平, 朱天清.信息安全原理及应用[M].北京:清华大学出版社, 2012.
[5]张海鑫, 程丽红, 李顺东.网上阅卷系统中双重签名的研究[J].计算机应用, 2009, (29) .
[6]张君维.双重身份验证的数字签名系统的研究与实现[J].科技信息, 2007, (23) :301-302.