1. 用户认证实现
用户使用数字证书进行身份认证时,可以使用SSL协议(https即是基于SSL协议之上的http协议)实现、现在主流的浏览器都支持SSL协议,因此采用https协议通讯的BS系统能够方便地使用数字证书做为身份认证方式。
除SSL 协议外,还有签名认证的方式实现身份认证,签名认证无标准的实现协议或是流程,神州融信基于PKI/CA接口开发套件设计实现了签名认证的过程。
下面介绍业务系统在不同结构下,所能身份认证的实现技术。
1.1 C S结构:
可以直接通过UTrust签名认证组件实现。
1.2 B S结构:
BS结构时,按协议分,可以分为http和https的访问的方式。
https是基于SSL协议基础之上的http通讯。
使用https时,可以配置WEB服务器要求使用数字证书对客户端进行认证。
◆使用https协议时
使用https时,无需使用UTrust签名认证组件。
服务器端调用windows 的API即可获得用户通过浏览器提交的数字证书的信息,实现对用户身份的认证。
但此种方式需要数字证书安装到浏览器或是数字证书在标准的符合PKCS12的USB KEY中。
◆使用http协议时
使用http协议时,浏览器不会自动获取用户的数字证书提交给服务器端。
此时认证需要使用UTrust签名认证组件实现服务器端的编程。
在客户端,使用微软的CAPICOM实现获取浏览器中安装的数字证书。
此种方式时,数字证书安装到浏览器中。
如果使用USB KEY,则需要KEY厂家提供读取数字证书的API。
2. 数字签名实现
数字签名应用主要包括签名以及验签两个过程。
数字签名时,使用用户的私钥对需要签名的原始数据进行签名,得到了对原始数据指纹加密后的密文。
验签名时,使用相同用户的公钥,对加密后的密文进行解密,即得到了原始数据的指纹。
比较原始数据的指纹是否一致,即可判断原始数据有无被修改。
1.3 CS结构
可以直接通过调用UTrust签名认证组件实现。
1.4 BS结构
在客户端,使用微软的CAPICOM实现对浏览器表单中的数据进行签名。
在服务器端使用UTrust签名认证组件实现验签。