资源描述:
《数字签名的智能卡实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第23卷第1期湘 潭 大 学 自 然 科 学 学 报Vol.23No.12001年3月NaturalScienceJournalofXiangtanUniversityMar.2001X数字签名的智能卡实现段 斌(湘潭大学信息工程学院,湖南湘潭411105)[摘要]数字签名是保证电子商务安全可靠的重要技术手段,介绍了数字签名的原理及采用智能卡实现数字签名的技术方法.关 键 词:数字签名;智能卡;密码;认证中心;电子商务中图分类号:TP319 文献标识码:A 文章编号:10005900(2001)
2、01010208TheImplementationofDigitalSignaturebyAdoptingICCardDUANBin(CollegeofInformationEngineering,XiangtanUniversity,Xiangtan411105China)【Abstract】Digitalsignatureisoneoftheimportanttechnologyinstrumentalityforguaranteeingthesecurityofelectroniccommerce,Thi
3、spaperintroducestheprincipleofdigitalsignatureandtheimplementationofsignaturebyusingICcard.Keywords:digitalsignature,ICcard,cryptography,centerofauthentication,electroniccommerce为了保证互联网上电子交易的安全性,防范交易及支付过程中的欺诈行为,需采取数字签名的手段来确定签发人的身份和防止他人破坏传输的文件.目前的数字签名建立在公共密钥体
4、制基础上,数字签名的主要方式是,报文的发送方从报文文本中生成一个160位的散列值.发送方用自己的私人密钥对这个散列值进行加密来形成发送方的数字签名.然后,该数字签名将作为附件和报文一起发送给接收方.报文的接收方首先从接收到的原始报文中计算出160位的散列值,接着用发送方的公开密钥来对报文附加的数字签名解密.如果两个散列值相同,那么接收方就能确定该数字签名是发送方的.通过数字签名能够实现对原始报文的鉴别和不可抵赖性.为鉴别对方是否可信,必须确认对方的公开密钥不是伪造或冒充的,一种确认密钥的方法就是通过秘密途径接收
5、对方亲自送来的公钥(publickey),但这是不现实的,必须由第三方来确定对方的身份,以保证交易的安全性,这个第三方就是CFCA这样的电子商务认证授权机构,它为电子商务环境中各个实体颁发电子证书(数字证书),以证明各实体身份的真实性,并负责在交易中检验和管理证书.按照CCITTX.509国际标准,数字证书中通常包含证书所有者的姓名,证书所有者的公开密钥,公开密钥(证书)的有效期,颁发数字证书的单位名称,数字证书的序列号,颁发数字证书单位的数字签名等内容.1 相关数学理论及智能卡指令1.1 单向散列函数(HAS
6、H)单向散列函数H(M)作用于一任意长度的消息M,它返回一固定长度的散列值h:h=HX收稿日期:20000505 基金项目:教育部教育管理信息中心、中国建设银行湖南省分行合作项目作者简介:段 斌(1958),男,湖南湘潭人,副教授.第1期 段 斌 数字签名的智能卡实现 103(M),要求达到:给定M,很容易计算h;给定h,根据H(M)=h计算M很难;给定M,要找到另一消息M’并满足H(M)=H(M’)很难.仅有单向性是不够的,并且还要满足抗碰撞(coll
7、ision-resistance)的条件:要找出两个随机的消息M和M’,使H(M)=H(M’)满足很难.要设计一个接收任意长度输入的函数不是件容易的事,更不用说还要单向.在实际中,单向散列函数建立在压缩函数(compressionfunction)的想法上,给定一长度为m的输入,单向函数输出长为n的散列值.压缩函数的输入是消息分组和文本前一分组的输出(见图1),输出是到该点的所有分组的散列,即分组Mi的散列为:hi=f(Mi,hi-1)该散列值,和下一轮的消息分组一起,作为压缩函数下一轮的输入.最后一分组的散列
8、就成为整个消息的散列. 智能卡的计算报文消息的单向散列函数值的功能是由指令“COMPUTEHASH”来实现的.指令“COMPUTEHASH”用于传送那些将要由智能卡来计算HASH值的数据并在最后计算出HASH值,HASH值保存在智能卡的EEPROM中,用于后续的指令COMPUTESIGNATURE(计算签名)或VERIFYSIGNATURE(验证签名).事实上,消息的HASH值是由一