java编程密码学.pdfVIP

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
下载 第7章 编程密码学 安全是文明社会的主要伪装。 —萧伯纳 前面几章简要地谈到了密码学的一些基本概念,以及代码签名和使用证书等问题,它们 都依赖于公钥加密系统,本章将深入到 J a v a 的内部,研究隐藏在A P I和其他工具中的J a v a密码学 结构( J C A ) 。 J C A最早出现在J D K 1 . 1 中,只有有限的功能,包括为数字签名和消息摘要而设计的 A P I 。 为了增强和发展基于 J a v a平台的密码学功能, J D K 1 . 2 ,已经有意使J C A扩展为框架结构。更 为一般的讲,现在的 J C A包含所有J D K 1 . 2 中与密码有关的安全A P I 。例如,新的支持X . 5 0 9 v 3 证书的证书管理结构。而且也包括一些提供器结构,允许多种可相互作用的密码学实现,以 及与之相关的规则说明。 从逻辑上讲, J C A 包含定义在 J D K 1 . 2 和J C E 1 . 2 中的密码A P I ,它们为加密 ,密钥交换, M A C (消息鉴别代码) , 以及许多与加密相关的类提供了特性。而J D K和JCE 联合提供了一套与平 台无关的A P I 。现在,J C E作为J D K 的一个扩展版本而单独发行,并与美国密码 出口法规保持 一致。本章讨论的结构话题,包含J D K与J C E ,但仅仅集中讨论J D K 中与密码相关的界面。 7.1 设计原则 J C A设计应遵循的两个原则: (1) 算法的独立性和可扩展性。 (2) 实现的独立性和相互作用性。 J C A 的目的是使A P I 的用户建立密码的概念,例如数字签名和消息摘要,而不是去关心如 何实现这些概念,或是用来实现这些概念的算法。与此同时, J C A提供了标准的A P I ,使得开 发者能够请求指定的算法和实现。 算法的独立性是通过定义密码服务类 (service classe)来获得的,该类提供了密码算法功能, 例如M e s s a g e D i g e s t ,S i g n a t u r e,K e y F a c t o r y类 。 使用基于提供器的结构,可得到实现的独立性。第 4 章讨论了提供器的一般概念。在 J C A 中,提供器代表密码服务提供器(Cryptographic Service Provider ,C S P )实现一个或多个J C A密 码服务的一个或一系列程序包,例如数字签名算法、消息摘要程序包、密钥转换服务等。一 个应用程序也许仅需要一个实现特殊服务 ( 比如D S A签名算法) 的特殊类型的对象(如S i g n a t u r e 对象) ,并接收来自一个已安装的提供器的实现。如果希望的话,还可以从某个指定的提供器 中实现这个操作。当更快或更安全的版本可用时 ,对应用程序而言 ,提供器会变得更加清晰。 在J D K 1 . 1 中,包含一个与平台无关的实现—产生随机数,此操作在一些机器上是无效 的。除此之外,该实现有固定的代码,不能轻易设置。但在 J D K 1 . 2 中,可以轻松指定一个自 关于J C E 1 . 2 的参考书正在酝酿当中。 118使Java 2平台安全技术—结构、API 设计和实现 下载 制的服务,以利用特定操作平台 (例如L i n u x )上好的随机数资源。 考虑到A P I设计的一般性,从某种程度上说,即使是各种实现有不同的特性 ,也可得到实 现的相互作用性。它们可以共同运行,例如,相互使用密钥,相互验证签名。例如,当某个 密钥工厂实现被安装,对于同样的算法,由一个提供器产生的密钥可由另一个提供器使用 . 同 样,由一个提供器产生的签名可由其他提供器来验证。即使一个提供器在软件中运行,而另 一个提供器在硬件中运行 ;或一个与平台无关,而另一个与指定的平台相关,这种相互作用性 也可以得到实现。界面设计也可以得到扩展,因为可轻易添加与所支持的服务类相匹配的新 算法。 图7 - 1描述了J C A 结构的大体

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档