Security领域牵涉到的标准化介绍

来源:互联网 发布:把app软件绿色 编辑:程序博客网 时间:2024/04/28 18:20

RFC【Request For Comments】

上次为了了解数字签名的具体处理逻辑已经参考了官方文档RFC 2313;
RFC可以译为【请求注解】;他包含了关于Internet的几乎所有重要的文字资料。通常,当某家机构或团体开发出了一套标准或提出对某种标准的设想,想要征询外界的意见时,就会在Internet上发放一份RFC,对这一问题感兴趣的人可以阅读该RFC并提出自己的意见;绝大部分网络标准的指定都是以RFC的形式开始,经过大量的论证和修改过程,由主要的标准化组织所指定的,但在RFC中所收录的文件并不都是正在使用或为大家所公认的,也有很大一部分只在某个局部领域被使用或并没有被采用,一份RFC具体处于什么状态都在文件中作了明确的标识。现在通过RFC发布标准的组织已经很多了,比如IETF、IAB、ISO、ANSI、ITU等等;
RFC的意义其实和JCP产生的JSR【Java Specification Requests】差不多,只不过范畴不一样而已;
RFC的Index首页为http://www.ietf.org/iesg/1rfc_index.txt,大家可以到这里查询所有的RFC文档;和加密相关联系较紧密的有RFC 1319/1320/1321/1423/2313/...
RFC的很多文档已经被翻译成中文了,大家可以到http://man.chinaunix.net/develop/rfc/default.htm查看;
大家在看文档的时候可能会发现其中很多都会引用到PKCS或者X.509等等,比如RFC 2313的标题就是“PKCS #1: RSA Encryption”,这是因为RFC和其他一些标准都保持了兼容性;

Security领域另外一个很重要的标准化体系就是PKI【Public Key Infrastructure】,即公钥基础体系;在我以前的一篇文章中也已经提及了PKI部分的一些学习路线图,这里再将PKI体系中涉及到的一些标准再罗列下,主要包括几部分内容:

PKCS【Public-Key Cryptography Standards】

PKCS是由美国RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。到1999年底,PKCS已经公布了以下标准:

  • PKCS#1:定义RSA公开密钥算法加密和签名机制,主要用于组织PKCS#7中所描述的数字签名和数字信封。
  • PKCS#3:定义Diffie-Hellman密钥交换协议。
  • PKCS#5:描述一种利用从口令派生出来的安全密钥加密字符串的方法。使用MD2或MD5 从口令中派生密钥,并采用DES-CBC模式加密。主要用于加密从一个计算机传送到另一个计算机的私人密钥,不能用于加密消息。
  • PKCS#6:描述了公钥证书的标准语法,主要描述X.509证书的扩展格式。
  • PKCS#7:定义一种通用的消息语法,包括数字签名和加密等用于增强的加密机制,PKCS#7与PEM兼容,所以不需其他密码操作,就可以将加密的消息转换成PEM消息。
  • PKCS#8:描述私有密钥信息格式,该信息包括公开密钥算法的私有密钥以及可选的属性集等。
  • PKCS#9:定义一些用于PKCS#6证书扩展、PKCS#7数字签名和PKCS#8私钥加密信息的属性类型。
  • PKCS#10:描述证书请求语法。
  • PKCS#11:称为Cyptoki,定义了一套独立于技术的程序设计接口,用于智能卡和PCMCIA卡之类的加密设备。
  • PKCS#12:描述个人信息交换语法标准。描述了将用户公钥、私钥、证书和其他相关信息打包的语法。
  • PKCS#13:椭圆曲线密码体制标准。
  • PKCS#14:伪随机数生成标准。
  • PKCS#15:密码令牌信息格式标准。

其中,PKCS#2和PKCS#4已经合并到PKCS#1之中;到目前为止,各标准已经都有了很多新版本,比如我们最常见的PKCS#1是v1.5版本,但最新的已经有2.1了,具体可以到http://www.rsa.com/rsalabs/node.asp?id=2124查看详情;

X.509 & PKIX【Public Key Infrastructure X.509】

X.509是由ITU-T为证书及其CRL格式提供了一个标准;但X.509本身不是Internet标准(因为不是由IETF制定),它定义了一个开放的框架,并在一定的范围内可以进行扩展。
其实ITU-T为PKI制定的标准不止X.509,还包括X.500、X.208(ASN.1)、X.209(ASN.1 BER)等等,可以到http://www.itu.int/rec/T-REC-X/e查看所有X.系列标准文档说明;
为了适应PKI技术的发展,在IETF【Internet Engineering Task Force】和PKI工作组【Public Key Infrastructure Working Group】的共同努力下,PKIX出现了,用于定义在Internet PKI中使用X.509和CRL的方法和规范。该草案把X.509作为标准,并对各标准项和扩展做了说明,基本接收了X.509作为Internet中的证书标准,但也定义了被PKI应用的X.509 V3和CRL V2标准格式的设置,这些设置包含了PKIX工作组对X.509所做的一些新的扩展。具体可以到http://www.ietf.org/html.charters/pkix-charter.html查看详情;
X.509目前有三个版本:V1、V2和V3,其中V3是在V2的基础上加上扩展项后的版本,这些扩展包括由ISO文档(X.509-AM)定义的标准扩展,也包括由其他组织或团体定义或注册的扩展项。X.509最早以X.500目录建议的一部分发表于1988年,并作为V1版本的证书格式。X.500于1993年进行了修改,并在V1基础上增加了两个额外的域,用于支持目录存取控制,从而产生了V2版本。
为了适应新的需求ISO/IEC和ANSI X9发展了X.509 V3版本证书格式,该版本证书通过增加标准扩展项对V1和V2证书进行了扩展。
由于PKCS和PKIX在很多方面都保持了兼容性,所以在今后很长的一段时间内,PKCS和PKIX将会并存;大部分的PKI产品为保持兼容性,也对这两种标准都进行了支持。

RFC & X.509

前面已经提到,RFC和很多其他公司的标准都保持了兼容性,所以对于X.509系列也有很多的对应文档;比如
RFC 2459 【Internet X.509 Public Key Infrastructure Certificate and CRL Profile】
RFC 2510 【Internet X.509 Public Key Infrastructure Certificate Management Protocols】
RFC 2511 【Internet X.509 Certificate Request Message Format】
RFC 2527 【Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework】
RFC 2528 【Internet X.509 Public Key Infrastructure Representation of Key Exchange Algorithm (KEA) Keys in Internet X.509 Public Key Infrastructure Certificates】
…………

原创粉丝点击