1 引言

  为了确保数据传输的安全性,不得不采取一系列的安全技术,如加密技术、数字签名、身份认证、密钥管理、防火墙、安全协议等。其中数字签名就是实现网上交易安全的核心技术之一,它可以保证信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性等。

  2 数字签名的概念

  数字签名在ISO7498—2标准中定义为:“附加在数据单元上的一些数据,或是对数据单元所作的密码变换,这种数据和变换允许数据单元的接收者用以确认数据单元来源和数据单元的完整性,并保护数据,防止被人(例如接收者)进行伪造”。

  数字签名要实现的功能是我们平常的手写签名要实现功能的扩展。平常在书面文件上签名的主要作用有两点,一是因为对自己的签名本人难以否认,从而确定了文件已被自己签署这一事实;二是因为自己的签名不易被别人模仿,从而确定了文件是真的这一事实。采用数字签名,也能完成这些功能:

  (1)确认信息是由签名者发送的;

  (2)确认信息自签名后到收到为止,未被修改过;

  (3)签名者无法否认信息是由自己发送的。

  数字签名的技术基础是公钥密码技术,下面就先介绍公钥密码技术的基本思想和RSA公钥密码系统。

  3 公钥密码技术

  公钥密码技术又称为非对称/Jn密技术。与之相对的是对称加密技术。对称加密技术是发送方和接收方使用相同的密钥进行加密/解密,双方必须确保这个共同密钥的安全性。其基本过程可以用下图表示:

  其中加密变换使用的密钥和解密变换使用的密钥是完全相同的,此密钥必须以某种安全的方式告诉解密方。大家熟悉的DES加密标准就是一种对称加密技术。1976年,Diffie和Hellman在一篇名叫“New Direction in Cryptog raphy(密码学的新方向)”一文中提出了一个新的思想,即:不仅加密算法本身可以公开,就是加密用的密钥本身也可以公开。这就是公钥密码体制。其中使用的密钥被分解为一对:一把公钥和一把私钥。只要私钥保密就可以了,公钥可以发到因特网(如网站的黄页)等公开地方供别人查询和下载。

  4 数字签名的实现方法

  建立在公钥密码技术上的数字签名方法有很多,有RSA签名、DSA签名和椭圆曲线数字签名算法(ECDSA)等等。下面对RSA签名进行详细分析。

  RSA签名的整个过程可以用下图表示:

  (1)发送方采用某种摘要算法从报文中生成一个128位的散列值(称为报文摘要);

  (2)发送方用RSA算法和自己的私钥对这个散列值进行加密,产生一个摘要密文,这就是发送方的数字签名;

  (3)将这个加密后的数字签名作为报文的附件和报文一起发送给接收方:

  (4)接收方从接收到的原始报文中采用相同的摘要算法计算出128位的散列值;

  (5)报文的接收方用RSA算法和发送方的公钥对报文附加的数字签名进行解密;

  (6)如果两个散列值相同,那么接收方就能确认报文是由发送方签名的。

  最常用的摘要算法叫做MD5(Message Digest 5),它的作者R.L.

  Rivest正是提出RSA公钥密码系统中的R。MD5采用单向Hash函数将任意长度的“字节串”变换成一个128位的散列值,并且它是一个不可逆的字符串变换算法,换言之,即使看到MD5的算法描述和实现它的源代码,也无法将一个MD5的散列值变换回原始的字符串。这一个128位的散列值亦称为数字指纹,就像人的指纹一样,它就成为验证报文身份的“指纹”了。

  数字签名是如何完成与手写签名类同的功能的呢?如果报文在网络传输过程中被修改,接收方收到此报文后,使用相同的摘要算法将计算出不同的报文摘要,这就保证了接收方可以判断报文自签名后到收到为止,是否被修改过。如果发送方A想让接收方误认为此报文是由发送方B签名发送的,由于发送方A不知道发送方B的私钥,所以接收方用发送方B的公钥对发送方A加密的报文摘要进行解密时,也将得出不同的报文摘要,这就保证了接收方可以判断报文是否是由指定的签名者发送。同时也可以看出,当两个散列值相同时,发送方B无法否认这个报文是他签名发送的。

  在上述签名方案中,报文是以明文方式发生的。所以不具备保密功能。如果报文包含不能泄漏的信息,就需要先进行加密,然后再进行传送。具有保密机制的RSA签名的整个过程如下图所示:

  (1)发送方选择一个对称加密算法(比如DES)和一个对称密钥对报文进行加密;

  (2)发送方用接收方的公钥和RSA算法对第1步中的对称密钥进行加密,并且将加密后的对称密钥附加在密文中;

  (3)发送方使用一个摘要算法从第2步的密文中得到报文摘要,然后用RSA算法和发送方的私钥对此报文摘要进行加密,这就是发送方的数字签名;

  (4)将第3步得到的数字签名封装在第2步的密文后,并通过网络发送给接收方;

  (5)接收方使用RSA算法和发送方的公钥对收到的数字签名进行解密,得到一个报文摘要;

  (6)接收方使用相同的摘要算法,从接收到的报文密文中计算出一个报文摘要;

  (7)如果第5步和第6步的报文摘要是相同的,就可以确认密文没有被篡改,并且是由指定的发送方签名发送的;

  (8)接收方使用RSA算法和接收方的私钥解密出对称密钥;

  (9)接收方使用对称加密算法(比如DES)和对称密钥对密文解密,得到原始报文。

  5 数字签名在电子商务中的应用

  下面用一个使用SET协议的例子来说明数字签名在电子商务中的作用。SET协议(Secure Electronic Transaction,安全电子交易)是由VISA和MasterCard两大信用卡公司于1997年联合推出的规范。

  SET主要针对用户、商家和银行之间通过信用卡支付的电子交易类型而设计的,所以在下例中会出现三方:用户、网站和银行。对应的就有六把“钥匙”:用户公钥、用户私钥;网站公钥、网站私钥;银行公钥、银行私钥。

  这个三方电子交易的流程如下:

  (1)用户将购物清单和用户银行账号和密码进行数字签名提交给网站:

  用户账号明文包括用户的银行账号和密码。

  (2)网站签名认证收到的购物清单:

  (3)网站将网站申请密文和用户账号密文进行数字签名提交给银行:

  网站申请明文包括购物清单款项统计、网站账户和用户需付金额。

  (4)银行签名认证收到的相应明文:

  从上面的交易过程可知,这个电子商务具有以下几个特点:

  (1)网站无法得知用户的银行账号和密码,只有银行可以看到用户的银行账号和密码;

  (2)银行无法从其他地方得到用户的银行账号和密码的密文;

  (3)由于数字签名技术的使用,从用户到网站到银行的数据,每一个发送端都无法否认;

  (4)由于数字签名技术的使用,从用户到网站到银行的数据,均可保证未被篡改。

  可见,这种方式已基本解决电子商务中三方进行安全交易的要求,即便有“四方”、“五方”等更多方交易,也可以按SET 议类推完成。

  6 结语

  数字签名还需要相关法律条文的支持,所以需要引起立法机构对数字签名技术的重视,加快立法脚步,制定相关法律,为数字签名技术提供法律上的支持。

本文转载自http://www.elecfans.com/baike/tongxingjishu/chungshuwang/20110710205779.html

数字签名技术原理介绍相关推荐

  1. 在线答题系统的技术原理介绍

    对于在线答题系统有很多种不同的定义. 一种是人工对计算机的题目解答,另外一种就是答案库的自动解答.我们现在介绍的就是利用自身的答案库进行自动答题的在线答题系统的技术原理介绍. 在答题平台中有大量的识别 ...

  2. 3D/VR/AR简易技术原理介绍

    3D/VR/AR简易技术原理介绍 3D模型的生成流程 1.信息的采集 物体图片的采集,同一平面上需要360度全方位角度采集 2.查找特征点 找到图片的特征点,作为物体的识别参考,如下图所示: 参考算法 ...

  3. 网络时间同步(卫星时钟同步系统)技术原理介绍

    网络时间同步(卫星时钟同步系统)技术原理介绍 网络时间同步(卫星时钟同步系统)技术原理介绍 1.前言 由计算机网络系统组成的分布式系统,若想协调一致进行:IT行业的"整点开拍".& ...

  4. GPU加速技术原理介绍

    GPU加速技术&原理介绍 1.GPU&CPU GPU英文全称Graphic Processing Unit,中文翻译为"图形处理器".与CPU不同,GPU是专门为处 ...

  5. 液晶常用接口“LVDS、TTL、RSDS、TMDS”技术原理介绍

    液晶常用接口"LVDS.TTL.RSDS.TMDS"技术原理介绍 1:Lvds Low-Voltage Differential Signaling 低压差分信号 1994年由美国 ...

  6. (3)HDFS原理与高可用技术原理介绍

    专栏目录 (1)大数据和应用场景介绍 (2)大数据技术综述总结 (3)HDFS原理与高可用技术原理介绍 (4)Yarn架构.资源管理原理和运维技术介绍 (5)Kafka原理和高可用介绍 1.HDFS简 ...

  7. 知识图谱技术原理介绍

    作者:王昊奋 近两年来,随着Linking Open Data[1] 等项目的全面展开,语义Web数据源的数量激增,大量RDF数据被发布.互联网正从仅包含网页和网页之间超链接的文档万维网(Docume ...

  8. 智能配网方案 Airkiss 技术原理介绍及应用

    写在前面 站在巨人的肩膀上,可以看得更远 一.什么是Air Kiss 可以说AirKiss 是微信硬件平台提供的一种WIFI硬件设备快速配置连接网络的技术,是一种创新性的信息传递技术.通过该技术可以便 ...

  9. 计算机网络的时间,计算机网络时间同步技术原理介绍

    1.前言 由计算机网络系统组成的分布式系统,若想协调一致进行:IT行业的"整点开拍"."秒杀"."Leader选举",通信行业的" ...

  10. WAF是什么东西?!--- 1 waf的功能和用到的技术原理介绍

    waf(Web应用防护系统) WAF很受欢迎,它是保护Web应用程序的复杂解决方案,涵盖了所有防护任务. Web应用程序开发人员可以在某些安全方面依赖WAF的原因. 尽管如此,WAF是可已被绕过的. ...

最新文章

  1. R可视化多元线性回归模型
  2. 《预训练周刊》第27期:谷歌发布最新看图说话模型、GitHub:平台上30%的新代码受益于AI助手Copilot...
  3. 缓存之EHCache
  4. linux 打包排除多个目录,tar打包整个目录(可排除子目录)几种方法
  5. [设计模式] ------ 简单工厂模式
  6. C/C++轻松写可塞满硬盘的程序
  7. centos6.5 安装 OpenResty
  8. 第二十四章 异常和错误处理 1异常
  9. android ant下载安装,ANT+ Plugins
  10. 2022年8月Python小屋编程比赛获奖名单(送5本书)
  11. AKULAKU笔试题(还有1题未答)
  12. 地学计算方法/地统计学(第二章地理数据及其采集与预处理)
  13. c语言计算火车运行图调整暂停发售,详解铁路12306列车运行图调整,暂停发售
  14. [Transformer] PVT系列:PVT CPVT Twins
  15. 徐鹤宁语录【销售篇】
  16. 《老梁四大名著情商课》笔记- 别慌,情商是可以提升的
  17. pgsql中实现按周统计,计算日期是周几
  18. 关于%(取余)和 /(取整)的解释
  19. SQL闭合方式的判断及作用
  20. 黑鹰的学习网站--感兴趣的可以去看看

热门文章

  1. 我也来开发2048之终极奥义
  2. PTA 7-7 新年倒计时
  3. STM32 复位电路设计
  4. 三分屏课件制作_如何利用剪辑软件制作分屏效果
  5. 简易交通灯设计——数电课设
  6. 烽火JAVA面试题目
  7. 2021-2027全球与中国汽车传动轴联轴器市场现状及未来发展趋势
  8. DVB机顶盒工作原理
  9. 如何建设数据中台:精益数据创新体系
  10. 高数考研归纳 - 空间解析几何