基于pkcs的数字签名系统的实现.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于pkcs的数字签名系统的实现 1 国内外关于数字签名产品的开发现状 随着网络应用的快速发展,基于数字签名的api基础设施pi有效保障了信息的安全,为数字签名卡在数字社会中的各种需要认证的应用提供了支持,并为各种需要认证的数字化社会和潜在业务提供了支持。现在,国内外数字签名技术一直是研究的热点,不断变化的硬件支持促进了数字签名产品的可持续发展。我们使用了内部审计方法sle66cx320p智能芯片,并成功开发了基于sra算法的数字签名卡。在进行签名认证和应用时,详细分析了解决实际问题的解决方案,并在实际应用中解决了问题,确保产品更安全、性能更优化、兼容性更好。 2 系统的实现和实现 数字签名产品用于互联网上信息加密和身份认证,它的构成大体分为两部分:硬件——智能卡或Token;软件——智能卡中的操作系统及把智能卡或Token与互联网浏览器集成的并具有相关数字签名处理功能、实现在线应用的程序.本文采用Infineon公司的SLE66CX320P智能卡芯片,其携带高级加密协处理器的、支持RSA非对称密码算法,密钥长度最大为2048bits,首先在芯片上实现智能卡操作系统,进而实现数字签名功能.智能卡的操作系统符合ISO7816 1/2/3/4规范及《中国金融集成电路(IC)卡规范》,数字签名的规范为RSA公司的PKCS系列相关标准,支持X.509v3证书存储. 3 rsa数字签名的关键分析 RSA算法是基于大整数因子分解问题之上,是非对称密码体制中的代表算法.基于硬件令牌形式的RSA算法,密钥保存更为安全可靠,一旦公钥参数(e,N)和私钥参数(d,p,q,dp,dq,qinv)产生后,便分别安全的存放在智能卡的公钥文件和私钥文件中,公钥文件设置有相应的读写权限,私钥文件没有读取权限,是不可以出卡的.密钥对可以是一对或多对,可设定为不同的用途.基于智能卡的RSA数字签名实现,需要注意的关键之处很多,不然就会给安全上造成漏洞,性能上造成缺陷,以下就一些关键问题进行解析. 3.1 密钥长度分析 在RSA算法上至今仍没有发现严重的安全漏洞,但随着计算机的计算能力的提高及大数分解技术的发展,增加密钥长度能大大增加破译的难度.以下对密钥长度进行分析和选择. 3.1.1 密钥的模长度 就目前的密码分析技术看来,若要保障20年以内的安全,可以考虑密钥模数N长度为1024bits;若要求更高的安全性,可以选择芯片所允许的2048bits.若N的长度选取的太小,信息被破解的快,密钥的生命周期缩短.若选择芯片协处理器所支持的N最大长度2048bits时,会限制智能卡的存储空间,增加实际签名或解密的计算时间,虽然随着科技的发展,大容量、高性能的芯片不断的开发出来,目前对存储空间和处理能力的任何增加都会使智能卡的成本增加.综合考虑N的长度取为1024bits,另外密钥的模长还可以根据以后的要求而灵活的改动,并易于系统的更新换代.总之,也就是说安全等级高的,则公钥参数N的长度选取大些,安全等级低的,则选取相对小些的长度. 3.1.2 计算模数长度 公钥e的长度由发卡方决定,它的长度不能超过其对应N的模数长度的1/4.当N的取e的长度为32bits,满足16≤e,bitlength≤256. 3.1.3 d长度算法 私钥d的长度应大于N的长度的1/4,实际应用中,d的长度可以取的小一些,以降低签名或解密的时间.1990年Wiener提出了一种针对d长度较小的攻击法,他证明了若d的长度小于N长度的1/4时,利用连分数算法,可以在多项式时间内求出正确的d.由安全性及实际应用考虑,一般仍是尽量降低e的长度,而不降低d的长度,本文选取d的模长度为1024bits. 3.1.4 enpth/8/2-1dp.阶段n.化.q.nv.byelingth,nv.q.nv.整理剂.q.nv.q.nv.q.nv.q.nv.整理 其他私钥参数长度的选择受N的长度影响,存在一定的数学关系,其选取关系式如下: P.bytelength=N.bitlength/8/2+1 Q.bytelength=N.bitlength/8/2-1 Dp.bytelength=N.bitlength/8/2+1 Dq.bytelength=N.bitlength/8/2-1 Qinv.bytelength=N.bitlength/8/2+1 其中N.bitlength为公钥N的长度,P.bytelength,Q.bytelenth分别为生成N的两个大素数p、q的字节长度,Dp.bytelength,Dq.bytelength,Qinv.bytelength分别为公钥对中用于参与中国剩余定理算法而涉及的参数dp、dq、qinv的字节长度,如表2所示. 3.2 基于接口的公钥对 带有加密协处理器的芯片提供有

文档评论(0)

176****2725 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档