为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

基于智能卡的RSA数字签名算法

2018-02-23 12页 doc 34KB 18阅读

用户头像

is_180829

暂无简介

举报
基于智能卡的RSA数字签名算法基于智能卡的RSA数字签名算法 RS A 数字签名算法 基于智能卡的 娄悦施荣华胡斌, , 中南大学信息科学与工程学院长沙 (, 410075) 摘要数字签名是目前保证网络通信安全的一种可靠而重要的技术手段本文提出一种基于智能卡的 : 。 数字签名算法利用智能卡提供的 命令并 操作系统的 R SA , CO S( Card O perating System) Verify , 编写相关配套软件实现 数字签名及其验证成功地将智能卡应用到 中同时分析了应 R SA , PKI 。 用智能卡实现 数字签名及验证的安全性以及...
基于智能卡的RSA数字签名算法
基于智能卡的RSA数字签名算法 RS A 数字签名算法 基于智能卡的 娄悦施荣华胡斌, , 中南大学信息科学与学院长沙 (, 410075) 摘要数字签名是目前保证网络通信安全的一种可靠而重要的技术手段本文提出一种基于智能卡的 : 。 数字签名算法利用智能卡提供的 命令并 操作系统的 R SA , CO S( Card O perating System) Verify , 编写相关配套软件实现 数字签名及其验证成功地将智能卡应用到 中同时了应 R SA , PKI 。 用智能卡实现 数字签名及验证的安全性以及相关方面的一些关键问题R SA 。 智能卡数字签名关键词 ; eKey; PKI; R SA : 引 言相关理论基础1 随着计算机网络在目前经济社会中应用的高速 体系( 1) PKI 发展以数字签名为基础的公钥体系 , PKI(Pubic Key 是公开 密 钥 基 础 设 PKI(Pubic Key Infrastructure)用公钥概念与技术来实施和提供安全服 Infrastructure)施支撑 安全技术的核心是非对称密码体制其。PKI , 务具有普适性的安全基础设施有效地保障了信息 、, 主要特征是加密和解密使用不同的密钥每个用户保 , 的安全并为数字化社会各种需要身份认证的实现与 ,存着一对或几对密钥公钥 和私钥 : PK (Public Key) 潜在业务提供强大的技术支持。 可以完全公开而 是保密的SK (Secret Key)。PK ; SK , 以往用户用于数字签名的个人私钥的最主要保 , 需由用户自已保存。 存介质是计算机硬盘利用计算机资源完成私钥的产 , 基于公开密钥密码体制的数字签名( 2) 生销毁证签发等各项功能虽然这是一个比较方 、、。数字签名在信息安全包括身份认证数据完整 , 、便的实现但其易被他人窃取或盗用易遭受病 , 、性不可否认性及匿名性等方面特别是在大型网络、, 毒的攻击不易携带等缺点是显而易见的当今国内 、。, 安全通信中的密钥分配认证以及电子商务系统中具、外关于数字签名技术一直是研究热点不断变化更新 ,有重要作用为保证签名的有效性对消息进行签名 。, 的硬件支持推动了数字签名产品的不断发展智能卡 。的签名者与对签名进行验证的验证者绝对不能拥有 能很好地解决这一问题它实际上就是一台微型的单, 完全相同的用户签名和验证的信息因为一旦验证者 , 能够用与签名者相同的信息参数和算法来验证报 ( ) 文与签名那么他同样可以伪造报文和签名, 。 公开密钥密码体制很好地满足了这一要求目前 。内置的智能卡操作系统 片机 COS (Card Operating , 数字签名的诸多方案主要都基于公开密钥密码虽然( 的安全模块可防止非法数据的侵入和数据的System) 也存在一些使用对称密钥密码体制设计的数字签名 是存储私钥和数篡改防止非法软件对其进行操作 , , 方案但是这些方案由于种种缺点例如密钥量比较 , , 字证书的理想介质可以在各种场合进行签名和验, 大等而没有得到广泛应用, ) 。 证。 数字签字体制 ( 3) R SA 本文提出采用深圳 明 华 澳 汉 公 司 的 智 能 eKey 数字签名体制使用了 公开密钥密码算 RSA RSA 卡将公钥密码体制引入到智能卡上在智能卡上完, , 法进行数字签名鉴于 算法在实践中已经被证。RSA 成 数字签名及其验证工作通过智能卡内部的RSA , 明的安全性签字体制在许多安全标准中得以广 , RSA 芯片提高了数字签名及其验证运算效率同时也CPU , 保证了私钥的安全性。 建立公钥文件 泛应用该体制基本算法如下所述 ?0014; 。: 体制参数建立私钥文件 ;??0013 取两个大素数 和 保密?P Q( ) ; 激活主控目录?; 计算 ( 公开) ( 保密) ;?n=P* Q, φ(n)=(P- 1)(Q- 1) 激活公钥文件?; 随机选取整数 , 满足 ( 公开) ;?egcd(e, φ(n))=1 激活私钥文件?; 计算 , 满足 ( 保密) 。?dde?1(modφ(n)) 生成 密钥对初始化?RSA ; 签字过程? 生成 密钥对。?RSA (e,d)d S = S ig(M) = Mmod n k 自动在其内部建立公钥文件经过初始化eKey , 验证过程?和私钥文件 并随机生成 密钥对0014 0013, RSA (e,d), e Ve r(M,S ) = True <=> M ? S mod n k并将公钥存于公钥文件 中私钥存于私 ( e) 0014 , ( d) 钥文件 中公钥可以从智能卡中读出公布0013F ; ( e) , 功能概述2 e Ke y 而私钥无法读出这就保证了私钥的保密性内置 ( d) , 。 的 智 能 卡 操 作 系 统 的 安 COS(Card Operating System)是一种设计精巧便于随身携带集智能芯eKey 、、 全模块可防止非法数据的侵入和数据的篡改防止非, 可以在任片和读写控制器于一体的 接口产品USB , 法软件对其进行操作因此是存储私钥的理想 , , eKey 何具有 接口的计算机上使用它实际上是一台USB 。 介质。 内 部 集 成 电 路 包 括 中 央 处 理 器小 型 的 单 片 机 ,使用 实现签名过程 ( 2) eKey 加 密 运 算 协 处 理 器 只 读 存 储 器( CPU) 、 ( CAU) 、 由于 一次只能对 字节 进制数字 ?eKey 128 16 随机存储器电可擦除可编程只读存 ( ) 、( ) 、ROMRAM符串进行签名对不足 字节部分作补字符处 , 128 ‘0’以及固化在 内部的芯片操作系统 储器等 ROM COS ,理基于这一原理我们首先将需要签名的报文 按, , M 和各种加密算法如 ( Chip Operating System) , DES、 字节分解成 个报文分组对于 127 n (M1,M2,M3,...Mn)。及标准算法等的安全模块的可防止 3DES、RSA 。COS 报文分组 令 为该报文分组的长度Mi: Len(Mi)( Len( Mi) 非法数据的侵入和数据的篡改防止非法软件对钥匙, 进行操作它的内置 智能芯片具有 。CPU , SmartCOS为报文 中的一个字节数据的十进制<=127) , M (j)Mi int 操作系统的所有功能用户存储空间可为 , 16K/32K/码值ASCII ; 可以用来存储个人信息密码密钥证书等同 64K , 、、、; 将 转化为 进制数并以存于字符变量 , ?M (j)16 int 时 支 持 国 家 商 用 密 码 标 准 的 分 组 密 码 算 法 、DES/ 中大小仍是一个字节同时将报文 的长度M (j)( ) ,Mi HEX 密 码 算 法 支 持 公 钥 密 码 算 法 3DES , RSA1024bit 、转化为 进制数并存于字符变量 Len(Mi) 16 , Len(Mi) HEX 和 公钥密码算法 。RSA2048 ECC- 192 中大小仍是一个字节 ( ) ;由于它具有网络环境的数字签名身份认证信 、、报文分组 中所有字节数据的十进制 ?Mi ASCII 息和数据的安全加密存储个人证书等功能因此、, , 码经过以上转换以后对 以, M (j)( 1<=j<= Len( Mi) ) HEX 适合使用于电子商务银行在线交易和支付文 eKey ( 、及 Len(Mi) 进行重组 得到如下字符串, M : HEX HEX 件加解密安全电子邮件等电子政务电子业务等、) 、、 M=M(1)+M(2)+ +M(Le n ( Mj) )+Le n(Mi) HEXHEXHEXHEXHEX 领域并为这些领域安全信息平台的构建提供了一个 , 调用 中 操作系统提供的 ?eKey SmartCOS RSA 很好的解决方案。 解密初始化函数 进 行解密初始化MwXInitRSADec , 基于 的 数字签名及验证算法3 e Ke y RSA 其中函数 的声明及参数说明如下MwXInitRSADec : 的初始化( 1) eKey BSTR MwXInitRSADec (long icdev, shortnKeyID, LPCT- 提供通讯接口库 和 eKey MWUSBD SmartCOSXC STR lpszFilePath, long lKeyLen, LPCTSTR lpszKeyValue); 函数支持用户通过 命令对其进行操作在 API Verify 。入参连接句柄: icdev: ; 使用 进行 数字签名及验证之前首先需要 eKey RSA , 密钥 号采用私钥直接赋值 nKeyID: ID (=0: 对智能卡进行初始化初始化共分 个步骤。9 : 模式采用密钥引用模式; =0xC0: ); 打开与 的连接并验证传输代码 ?USBKEY ;密钥所在文件的路径密钥引 lpszFilePath: ( 建立主控目录 ;?3f00用模式有效) ; 密 钥 长 度密 钥 直 接 赋 值 有 效调用 中 操作系统提供的 () = ?eKey SmartCOS RSA lKeyLen: 解密函数 对字符串 进行加密 MwXRSAEncrypt S(Mi)HEX 0x140* 2; 实现数字签名的验证其中函数 的 , MwXRSAEncrypt 密钥值lpszKeyValue: 。 声明及参数说明如下: 通过调用该函数我们将指定解密需要的解密密 , BSTR MwXRSAEncrypt (long icdev, long lPlainTextLen, 钥为初始化时生成并存于 中的私钥文件 eKey 0014 LPCTSTR lpszPlainText); 中的密钥; 入参连接句柄: icdev: ; 调用 中 操作系统提供的 ?eKey SmartCOS RSA 解密函数 对字符串 进行解密 MwXRSADecrypt, MHEX : 明文长度有效;lPlainTextLen(1~128 )实现数字签名其中函数 的声明及 。MwXRSADecrypt 参数说明如下: 明 文不 够 字 节 左 补(128 lpszPlainText: “00”)。 返 回 状 态 码数 据 长 度 响 应 数 : (1Byte)+ (4Byte)+ icdev , long lCipher- BSTR MwXRSADecrypt (long 据。 TextLen, LPCTSTR lpszCipherText); 我们对签名分组 进行加密后得到验证报 S(Mi) HEX 其中参数解释如下 :文分组 长度为 字节'Mi( 128 ) 。 HEX 入参连接句柄 : icdev: ; 我们令 Mi'(j), 其中1<=j<= 128 为报文分 ?( ) HEX 密文长度必须为 lCipherTextLen: (0x80* 2); 组 Mi'第 j 个字节的字符那么根据之前所述字符, , HEX 密文内容 : 。lpszCipherText串 Mi'最后一个字节字符M '(128)应该是表示原 HEX HEX 返 回 : 状 态 码数 据 长 度响 应 数(1Byte)+ (4Byte)+ 消息 Mi 实际长度的字符我们将 Mi'(128)单独取 , HEX 据。 出转化为 10 进制数 Le n (Mi')即为原消息 Mi 的长 , , 我们将该解密函数返回的 字节字符串 128 S(Mi) HEX度。 长度为 字节作为对报文分组 的签字 ( ) 。128 Mi 那么将 逐个变 M'(j), (128- Le n(Mi') < j <= 127)HEX 对于报文分组 分别用 进行 ?Mi( 1<=i<= n) eKey 存于验证报文分组M i' 换为成 10 进制的 AS CII 码 ,如上签名得到各个报文分组的签名 , S(Mi)( 1<=i<= HEX我们验证报文分组M i' 与原报文分组M i 相同即 中 ,n) ; 可验证签名。将各个报文分组的签名按顺序进行组合形成 ?对于所有签字分组S (Mi)当且仅当验证报 ?, HEX即S, : S= S(M1)+S(M2)+S(Mi)+ +S(Mn)HEXHEX HEXHEXHEXHEX 文分组 Mi' 与原报文分组M i1<=i<=n 相同时我们 ( ) , 我们将 作为对报文的签字即( 1<=i<= n) , S( M) , : HEX 可以验证 S (M)为报文 的签字即M ,: HEX S = S ig(M) HEX k e 真 Ver(Mi, S(Mi)) = <=> Mi ? S(Mi)mod n kHEXHEX 使用 实现验证过程( 3) eKey (1 < i < n) 首先获得已经公开的用于验证消息 的公 ?SHEX 开密钥 由于 对 字节的报文的签名长度 算法可行性和安全性分析e, eKey 128 4 仍是 字节所以首先对签字 按 字节分解 128 , SHEX 128 可行性分析( 1) 成签字分组{ S(M1), S(M2), S(Mi), , S(Mn)}; HEXHEXHEXHEX 特有的硬件制造工艺可以抵御物理电 ?eKey 、 调用 中 操作系统提供的 ?eKey SmartCOS RSA子化学的攻击、。 加密初始化函数 进 行加密初始化MwXInitRSAEnc , 体积小仅是普通 盘大小因此便于携 ?eKey ,U , 其中函数 的声明及参数说明如下 :MwXInitRSAEnc 带。 BSTR MwXInitRSAEnc( long icdev, short nKeyID, LPCT- 的智能卡操作系统 内置的安全模块 ?eKey COS STR lpszFilePath, long lKeyLen, LPCTSTR lpszKeyValue); 可以防止攻击者利用软件方式窃取卡内的机密信息。 入参连接句柄: icdev: ; 私钥绝对安全私钥的产生加密和解密等运 ?。、 号 密钥 采用公钥直接赋 nKeyID: ID ( =0: 算都在卡内完成私钥不会被读入计算机内存里因 , 。值模式密钥引用模式, =0xC0: ) 。 此任何人都不可能通过计算机获得别人的私钥, 。 通过加密初始化我们指定加密采用公钥直接赋, 自动锁定保护访问存储在卡内的证书和私钥?。值模式指定公开密钥 为用于加密的加密密钥, e 。 时用户都需要输入正确的个人识别码 如果在 。, PIN 规定的次数三次内没有输入正确的 卡的长度取为 另外密钥的模长还可以根据以那么( ) PIN , , 1024bits , 将自动锁定后的要求而灵活地改动并易于系统的更新换代总 。,。 由上可见卡不仅能够安全地存储私钥口 , CPU 、之如果要求安全等级高则公钥参数 的长度就应 ,, n 令等机密信息而且还可以内置加密算法程序完成 , , 该选取大一些相反如果要求安全等级低的则选取,, , 加解密运算因此卡是存储私钥和数字证书 、。, CPU 相对小些的长度。的理想介质可以实现带有数字签名功能的智能卡, , 快速实现智能卡与计算机之间的应答( 2) 从而实现更高的安全性。 由于 算法中大数乘方取模困难这就导致 RSA , 安全性分析( 2) 了运算速度往往会比较慢然而当计算机对智能卡。, 进行一些指令操作时要求其操作或交易都是在极为 , 由于只有签字者知道私对于 数字签名?RSA , 短暂的时间内完成的算法有时不能满足智能卡,RSA 钥其他人不能伪造签名但易于证实所给任意 , , M、S 与计算机之间的某些指令应答时间及功能的实现针。对是否是消息 和相应签字构成的合法对而基于 M 。对数字签名智能卡来说就需要快速实现公钥对的产, 智能卡的 数字签名由于私钥保存于 的私RSA , eKey 钥文件中私钥的产生加密和解密等运算都在卡内 从而提高整个系统的性快速实现数据的加解密生, 、, , 完成私钥不会被读入计算机内存里因此任何人 , 。, 能保证一个完备功能产品的实现,。 都不可能通过计算机获得别人的私钥因此任何人无 , 结 语 法得知私钥的值从而保证了签字的安全性, 。 的安全基于大数分解的难度其公开密钥 ?RSA ,本文首先介绍了 数字签名原理RSA , 然后根据和私人密钥是一对大素数的函数从一个公开密钥和 , 密文中恢复出明文的难度等价于分解两个大素数之 接触式智能卡系列标准及 PKCS (PublicKey Crypto- 积分解 是最显而易见的攻击方法目前位十 。n , , 129 系列相关标准提出了一种通过智graphic Standard) , 进数字的模数是能分解的临界数所以 应该大于这 , n 能卡操作系统一种非上的 ( Smart Cards System) RSA( 个数。 对称公钥密码算法算法实现数字签名的算法在提) , 算法是基于大整数因子分解问题之上是 ?RSA , 非对称密码体制中的代表算法基于硬件令牌形式的 高签名速度的同时又进一步保证了签名的安全性 。, , 算法密钥保存更为安全可靠一旦公钥参数具有较高的理论意义和实用价值同时分析了应用智 RSA , , (e, 。和私钥参数产生后便分别安全地存放在智能 n)(d, n), 能卡上的 算法实现数字签名的安全性以及相关 RSA 卡的公钥文件和私钥文件中公钥文件设置有相应的 , 方面的一些关键问题。 读写权限私钥文件没有读取权限是不可以出卡的, , 。 密钥对可以是一对或多对可设定为不同的用途基 , 。 于智能卡的 数字签名实现需要注意的关键之 RSA , 参考文献 处很多不然就会给安全造成漏洞性能上造成缺陷, , 。 [1]Harn L, Kiesler T. New Scheme for Digital Multisignatures. Electronics Letters, 1989, 25(15): 1002~1003 基于智能卡实现 数字签名的一些关 5 RSA [2]Harn L, Kiesler T. New Digital Signature based on Discrete 键问题 Logarithm. Electronics Letters, 1994, 30(5): 396~398 公钥参数 长度的选取( 1) n [3]Harn L. Public- Key Cryptosystem Design based on Fac- 从当前密码学分析技术的角度来看可考虑密钥 ,toring and Discrete Logarithms. IEEE Proc Compute Digit Tech, 1994, 141(3): 193~195 袁晓宇张其善基于智能卡的 数字签名实现关键 [4],. RSA 问题解析北京电子学报. : , 2004, 11: 1897~1900 范晓红吴今培张其善数字签名卡的实现西安遥测 [5], , . . : 模数 的长度取为 如果需要有更高的安全n 1024bits; 遥控, 2004,3: 39~41 性可以选择芯片所允许的 的长度如果 , 2048bits。n 徐滨一种健壮的 门限数字签名方案青岛青岛大 [6]. RSA . : 学学报, 2002, 2: 65~66 选取得太小信息将很快被破解密钥的生命周期会缩 ,, 收稿日期( : 2005- 10- 17) 短 如 果 我 们 选 择 所 支 持 的 最 大 长 度。 eKey N 英文摘要见第 页(48 ) 延长签名或 那就会限制智能卡的存储空间2048bits, , 验证的计算时间。 当然随着科学技术的不断发展大容量高性能 , ,、 的芯片将被开发出来目前对存储空间和处理能力的 , 任何增加都会使智能卡的成本增加综上所述将 。, n 表 测试信息嵌入率为 应选用较大的测试信息进行检测此外对密写分析 2 20% 。, 方而言往往要求漏检概率较小而对虚警的要求可 , , K 适当放宽那么可以适当地增大阈值以减小漏检率, 。 10% 1.0261 37.82% 30% 1.0173 23.19% 50% 1.0104 11.54% 参考文献100% 1.0063 4.21% [1]Fridrich J, Goljan M. Practical Steganalysis of Digital 测试信息嵌入率为 表 3 50% Images- State of the Art. In Security and Watermarking of Multimedia Contents IV, Proceedings of SPIE, 4675. K 10% 1.0287 40.31% San Jose, USA, Jan 2002, 1~13 30% 1.0236 14.36% [2]Bender W, Gruhl D, Morimoto N. Techniquesfor Data 50% 1.0178 6.19% Hiding. IBM System Journal, 1996, 35(3, 4):313~336 100% 1.0103 2.63% [3]Fridrich J, Du R, Long M. Steganalysis of LSB Encoding in Color Images. 2000 IEEE Int.Conf.on Multimedia and 从实验结果看出这种方法在秘密信息较大的情 Expo, 2000(3):1279~1282 况下具有较低的误检率检测时测试信息的长度与 。, 收稿日期( : 2005- 10- 20) 秘密信息的长度有关当嵌入的秘密信息量较大时, , A S te ga na lys is of LS B ba s e d on S ta tis tics DENG Qian- lan , LIN Jia- jun (College of Information Science & Engneering, East China University of Science & Technology, Shanghai 200237 China) Abs tra ct: This paper proposes a novel steganalytic technique based on the statistics method. This method enable us to judge the presence of a secret message by the change of the histogram caused by information hiding. We estimate the probability of both false and missing a secret message. Numerical results show both kinds of judgment error probability can be effectively controlled with the increase of embedded information. Ke y words : Steganalysis; Information Hiding; LSB !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!页上接第 ) ( 45 A RS A Digita l S igna ture Algorithm ba s e d on S ma rt Ca rds LOU Yue , SHI Rong- hua , HU Bin ( Information Science and Engineering Institute of Central South University, Changsha 410075 China) Abs tra ct: Digital Signature is a crucial and reliable technological mean which ensures the security of communication of networks. This paper puts forward a new RSA digital signature algorithm based on smart cards, which uses the verify command provided by the card operating system of smart card and compiles interrelated and compatible software to implement RSA digital signature and verification. It successfully applies smart card to PKI. Simultaneously, the paper analyzes the security of using smart card to implement RSA digital signature and verification as well as some pivotal issues of interrelated aspects. Ke y words : Smart Cards; eKey; PKI; RSA Digital Signature
/
本文档为【基于智能卡的RSA数字签名算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索