一种实现智能密钥设备双向认证的方法技术

技术编号:9465262 阅读:102 留言:0更新日期:2013-12-19 02:55
本发明专利技术公开了一种实现智能密钥设备双向认证的方法,属于信息安全领域。所述方法包括:当客户端监听到系统组件发起的网络请求时,截获网络请求,客户端从智能密钥设备中获取证书,接收用户选择的证书,创建私钥对象,并对其进行构造和初始化,将用户选择的证书和私钥对象分别注册为客户端证书和客户端私钥对象,当创建连接函数被调用时,客户端请求服务器证书,验证服务器证书通过后,根据客户端证书和客户端证书私钥对象进行签名,将签名结果和客户端证书发给服务器,接收服务器返回的结果,当结果为成功时,成功创建SSL双向认证。采用本发明专利技术所述方案能够实现在移动设备中,使用智能密钥设备进行SSL双向认证。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了,属于信息安全领域。所述方法包括:当客户端监听到系统组件发起的网络请求时,截获网络请求,客户端从智能密钥设备中获取证书,接收用户选择的证书,创建私钥对象,并对其进行构造和初始化,将用户选择的证书和私钥对象分别注册为客户端证书和客户端私钥对象,当创建连接函数被调用时,客户端请求服务器证书,验证服务器证书通过后,根据客户端证书和客户端证书私钥对象进行签名,将签名结果和客户端证书发给服务器,接收服务器返回的结果,当结果为成功时,成功创建SSL双向认证。采用本专利技术所述方案能够实现在移动设备中,使用智能密钥设备进行SSL双向认证。【专利说明】
本专利技术涉及信息安全领域,尤其涉及。
技术介绍
SSL是Secure Socket Layer的英文缩写,意思是安全套接层协议,指使用公钥和私钥技术组合的安全网络通讯协议。SSL协议是网景公司(Netscape)推出的基于WEB应用的安全协议,SSL协议指定了一种在应用程序协议(如Http、Telenet、NMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证,主要用于提高应用程序之间数据的安全性,对传送的数据进行加密和隐藏,确保数据在传送中不被改变,即确保数据的完整性。专利技术人在实现本专利技术的过程中,发现在移动设备中,无法通过原生接口,使用智能密钥设备进行SSL双向认证。
技术实现思路
本专利技术的目的是解决现有技术中存在的问题,提供了。本专利技术采用的技术方案是:,包括:步骤S1:客户端获取用户输入的HTTP地址,根据所述HTTP地址生成请求消息,将所述请求消息发送给系统组件,通过所述系统组件向网络服务器发起网络请求;步骤S2:所述客户端监听所述系统组件发起的网络请求,当监听到有网络请求发起时,截获所述网络请求,判断网络请求中的第一数据是否为预设字符串,如果是,则获取所述网络请求中的第二数据,执行步骤S3,否则返回不截获响应;步骤S3:所述客户端从智能密钥设备中获取智能密钥设备证书并显示,等待接收用户对所述智能密钥设备证书的选择;步骤S4:所述客户端接收用户选择的证书,创建私钥对象,对所述私钥对象进行构造,将私钥对象中的私钥加密函数构造为使用所述智能密钥设备进行签名;步骤S5:所述客户端对所述私钥对象的结构成员进行初始化,将所述私钥对象的模数和公开幂初始化为所述用户选择的证书公钥的模数和公开幂,将所述私钥对象的私钥加密函数初始化为所述用户选择的证书的私钥加密函数;步骤S6:所述客户端创建SSL连接句柄,根据所述SSL连接句柄,注册所述用户选择的证书和所述私钥对象,将注册后的证书作为客户端证书,将注册后的私钥对象作为客户端私钥对象;当创建连接函数被调用时,执行以下操作:步骤Al:所述客户端根据获取到的所述网络请求中的第二数据,创建客户端与服务器的连接;步骤A2:所述客户端向服务器发送服务器证书请求,接收服务器返回的第一数据包,对所述第一数据包中的服务器证书进行验证,如果验证成功,则执行步骤A3,否则返回错误信息;步骤A3:所述客户端根据客户端证书的模数和公开幂和客户端证书私钥对象的模数和公开幂的对应关系,查找所述客户端证书私钥对象,根据预先对私钥加密函数的构造,使用所述智能密钥设备对第一数据包的待签名数据进行签名,得到签名结果;步骤A4:所述客户端根据所述第一数据包中的获取客户端证书请求,向所述服务器发送包含所述客户端证书和所述签名结果的第二数据包,接收服务器对所述第二数据包处理后返回的结果,当所述结果为成功时,成功创建SSL双向认证。所述步骤S3中,所述客户端从智能密钥设备中获取智能密钥设备证书,具体为:步骤B1:所述客户端为智能密钥设备会话句柄分配会话句柄缓冲区,并获取所述会话句柄缓冲区的首地址,打开会话,将会话句柄保存在所述会话句柄缓冲区中;步骤B2:所述客户端获取智能密钥设备证书句柄,根据获取到的证书句柄查找智能密钥设备证书,并将查找到的智能密钥设备证书保存;步骤B3:所述客户端结束查找智能密钥设备证书。所述步骤B2具体为:步骤B2-1:所述客户端填充证书模板;步骤B2-2:所述客户端从所述会话句柄缓冲区中获取会话句柄,根据所述会话句柄和所述证书模板,获取智能密钥设备证书句柄,根据所述证书句柄查找智能密钥设备证书。所述步骤B2-2具体为:步骤B2-2-2-1:所述客户端从所述会话句柄缓冲区中获取会话句柄,根据所述会话句柄和所述证书模板,设置查找证书句柄;步骤B2-2-2-2:所述客户端根据预先约定的证书句柄的结构大小,为证书句柄分配证书句柄缓冲区,并获取所述证书句柄缓冲区的首地址;步骤B2-2-2-3:所述客户端根据所述会话句柄,查找智能密钥设备证书句柄,判断是否查找到证书句柄,如果是,则将查找到的证书句柄存入所述证书句柄缓冲区中,然后执行步骤B2-2-2-4,否则执行步骤B3 ;步骤B2-2-2-4:所述客户端根据预先约定的证书的结构大小,为查找的智能密钥设备证书分配证书缓冲区,并填充证书返回结果模板;步骤B2-2-2-5:所述客户端根据所述会话句柄、所述证书句柄和所述证书返回结果模板,获取智能密钥设备证书的值和智能密钥设备证书的长度,并将智能密钥设备证书的值保存在所述证书缓冲区中,返回执行步骤B2-2-2-2。所述步骤S4中,所述对所述私钥对象进行构造,具体为:步骤Cl:所述客户端预先约定为私钥对象的模数和公开幂转换的字符串分配缓冲区,然后将私钥对象的模数和公开幂转换为预设类型;步骤C2:所述客户端根据得到的模数和公开幂所在转换字符串缓冲区的首地址及所述转换字符串缓冲区的长度,查找私钥句柄;步骤C3:所述客户端预先约定设置私钥句柄和签名算法;步骤C4:所述客户端预先约定当调用签名函数时,使用智能密钥设备进行签名,获取签名结果及签名结果长度;步骤C5:所述客户端将所述签名结果长度返回。所述步骤C2中,所述查找私钥句柄,具体为:步骤C2-1:所述客户端填充私钥模板;步骤C2-2:所述客户端从所述会话句柄缓冲区中获取会话句柄,根据所述会话句柄和所述私钥模板,查找私钥句柄。所述步骤C2-2,具体为:步骤C2-2-1:所述客户端从所述会话句柄缓冲区中获取会话句柄,根据所述会话句柄和所述私钥模板,设置查找私钥句柄;步骤C2-2-2:所述客户端根据预先约定的私钥句柄的结构大小,为私钥句柄分配私钥句柄缓冲区,并获取所述私钥句柄缓冲区的首地址;步骤C2-2-3:所述客户端根据所述会话句柄,查找私钥句柄,判断是否查找到私钥句柄,如果是,则将查找到的证书句柄存入所述证书句柄缓冲区中,执行步骤C2-2-4,否则执行步骤C5 ;步骤C2-2-4:所述客户端结束查找私钥句柄。所述步骤S5中,所述客户端对所述私钥对象的结构成员进行初始化,具体为:所述客户端将私钥对象的第一结构成员设置为不需要检测,对私钥对象的第二结构成员进行赋值,将所述私钥对象的模数和公开幂初始化为所述用户选择的证书公钥的模数和公开幂,将所述私钥对象的私钥加密函数初始化为所述用户选择的证书的私钥加密函数。所述步骤S6中,所述注册所述用户选择的证书,具体为:步骤Dl:所述客户端创建SSL客户端安全传输协本文档来自技高网...

【技术保护点】
一种实现智能密钥设备双向认证的方法,其特征在于,包括:步骤S1:客户端获取用户输入的HTTP地址,根据所述HTTP地址生成请求消息,将所述请求消息发送给系统组件,通过所述系统组件向网络服务器发起网络请求;步骤S2:所述客户端监听所述系统组件发起的网络请求,当监听到有网络请求发起时,截获所述网络请求,判断网络请求中的第一数据是否为预设字符串,如果是,则获取所述网络请求中的第二数据,执行步骤S3,否则返回不截获响应;步骤S3:所述客户端从智能密钥设备中获取智能密钥设备证书并显示,等待接收用户对所述智能密钥设备证书的选择;步骤S4:所述客户端接收用户选择的证书,创建私钥对象,对所述私钥对象进行构造,将私钥对象中的私钥加密函数构造为使用所述智能密钥设备进行签名;步骤S5:所述客户端对所述私钥对象的结构成员进行初始化,将所述私钥对象的模数和公开幂初始化为所述用户选择的证书公钥的模数和公开幂,将所述私钥对象的私钥加密函数初始化为所述用户选择的证书的私钥加密函数;步骤S6:所述客户端创建SSL连接句柄,根据所述SSL连接句柄,注册所述用户选择的证书和所述私钥对象,将注册后的证书作为客户端证书,将注册后的私钥对象作为客户端私钥对象;当创建连接函数被调用时,执行以下操作:步骤A1:所述客户端根据获取到的所述网络请求中的第二数据,创建客户端与服务器的连接;步骤A2:所述客户端向服务器发送服务器证书请求,接收服务器返回的第一数据包,对所述第一数据包中的服务器证书进行验证,如果验证成功,则执行步骤A3,否则返回错误信息;步骤A3:所述客户端根据客户端证书的模数和公开幂和客户端证书私钥对象的模数和公开幂的对应关系,查找所述客户端证书私钥对象,根据预先对私钥加密函数的构造,使用所述智能密钥设备对第一数据包的待签名数据进行签名,得到签名结果;步骤A4:所述客户端根据所述第一数据包中的获取客户端证书请求,向所述服务器发送包含所述客户端证书和所述签名结果的第二数据包,接收服务器对所述第二数据包处理后返回的结果,当所述结果为成功时,成功创建SSL双向认证。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1