背景 很多系统,如炒股软件采用客户端/服务器结构,用户安装客户端炒股软件在本地计算机,并与证券公司的服务器系统连接,以完成股票的买卖等操作。 客户端与服务器端采用SSL安全通道连接,以防止第三方窃听和篡改通信的内容。但连接时不使用双向认证或者只使用文件证书来进行双向认证。这样做会存在一些风险。 任何人获取了本地主机的访问权限就可以连接到服务器端。 文件证书保存在本地计算机的磁盘上,任何人获取了本地计算机的访问权限就可对其修改、替换或者删除. 所以,要使用USBKey证书来替换文件证书来解决文件证书的安全风险。另外,有的软件公司提出了一个USBKey证书和文件证书两者兼顾的想法,既当客户端检查到有USBKey插入,并能够读出用户的证书时,则使用USBKey来实现服务器端认证客户端,并不需要用户输入PIN码,并当有多个USBKey插入时,也不需要用户选择。 如未检查到USBKey插入,则还使用原来的文件证书. 另外,需求不需要USBKey支持对称密码算法,只需要支持客户端认证算法。思考他们的需求,他们可能是出于以下的考虑。 他们可能是对OpenSSL客户端认证如何使用USBKey证书不太了解,并基于文件证书的认证是他们已经存在的应用模式. 他们不需要USBKey支持对称的密码算法,可能是基于股票交易的实时性需求方面的考虑. 解决方案 USBKey在OpenSSL客户端中的使用有两个方面的应用,第一是实现客户端认证,第二是实现对称算法的加密和解密。以上的需求,只要满足客户端认证的需求就可以了。 OpenSSL实现客户端认证的方法有两种。在OpenSSL0.9.8i以下的版本中,客户端认证是通过回调函数的方法来实现的。在OpenSSL0.9.8i以上的版本中,客户端认证是通过引擎来实现的,并兼容回调函数的方法,既当设置了客户端认证所要使用的引擎,则使用引擎。未设置引擎,而设置了回调函数&#
SSL使用USBKey证书的需求分析
最新推荐文章于 2022-10-26 08:00:00 发布