最近AEP的各个项目正搞得如火如荼,一些外部的ISV已经开始接入进来了;
文菩萨也写了很多关于WS-S和HTTPS相关的一些文章,以及在和ISV调试过程中的一些经验;于是,我也对web应用交互安全这块东西再去系统的学习了一把,主要是关于数字证书及其延伸部分的相关东西;
本文主要是简要介绍下数字证书的基本概念,起一个抛砖引玉的作用,如果我有兴趣的同学可以按照后面的学习路线图进行深入;
本来我想将整个过程的知识点都整理出来,当我去系统的学习了之后却发现每块东西都是挺庞大和复杂的,并不是三言两语就能说清楚的,所以还是决定暂时先帖一个路线图;
数字证书 简介
数字证书就是标志网络用户身份信息的一系列数据,用来在网络通讯中识别通讯各方的身份,即要在Internet上解决"Who am I ?"的问题,就如同现实中我们每一个人都要拥有一张证明个人身份的身份证或驾驶执照一样,以表明我们的身份。
数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。
数字证书主要采用公钥密码体制(非对称加密算法),即利用一对互相匹配的密钥进行加密、解密。具体的公钥密码体制的算法原理及其试用场景等可以参照技术论坛http://10.0.32.22:8080/confluence/pages/viewpage.action?pageId=5787中的资料《常用加密算法介绍&alibaba免登陆方案介绍》。目前证书中应用最多的RSA算法;当然在用数字证书进行通信的过程中也会涉及到HASH和对称加密算法的应用;
数字证书的格式遵循CCITT X.509标准,主要包含下列信息:
证书的版本信息
证书的序列号,每个证书都有一个唯一的证书序列号
证书所使用的签名算法
证书的发行机构名称,命名规则一般采用X.500格式
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049
证书所有人的名称,命名规则一般采用X.500格式
证书所有人的公开密钥
证书发行者对证书的签名
大家可以在 Internet选项 - 内容 - 证书 中随意选择一个证书查看其详细信息,里面就包括了上面的这些基本信息;
了解了数字证书的基本概念之后,就可以进一步的学习啦;
1、了解X.500、X.509是个什么标准
2、了解CA、CRL
3、了解CA的认证过程,涉及CSR、CRT、PFX
4、了解PKI
5、了解HTTPS、SSL/TLS
6、结合SSL Handshake,掌握数字证书工作原理
7、LDAP(可选,这对于巩固PKI、证书格式等很有好处)
至此,以上各项学习完了之后应该会对web安全通信(数字证书)这块有比较全面的了解了;
PS:大家在学习的过程中可以参考下面的文章,写得非常的不错哦
PKI技术及应用开发指南
PKI简介
关于pki的一些标准
LDAP介绍