一种基于cpk的双向认证及数据交互安全保护方法_2

文档序号:8925194阅读:来源:国知局
发给用户。用户私有标识包括但不限于:身份证号码、电话号码、姓名、终端设备的ID号等。
[0023]用户服务器(SI)中保存有用于认证鉴权的多组数据,每一条所述的多组数据包括用户私有标识、用户的CPK标识公钥、随机数a的CPK标识公私钥对(临时产生,每次随机)、随机数b (定时保存,约定变更)、用户登录口令、用户登录口令的hash值和关联的电话终端号码及附加鉴权信息。用户服务器中也包含标准PCI接口的CPK签名板卡,该CPK签名板卡用于向用户设备提供SI的签名信息以验证用户服务器身份的合法性。SI的签名信息包括SI的私有标识、SI的CPK私钥的签名信息等。
[0024]在用户服务器(SI)中有一个对应随机数的私有协议,用于对产生的随机数的CPK标识公私钥对和随机数加以高速配对,并将随机数的CPK标识公私钥对和随机数与用户标识临时绑定。当Si收到很多基于随机数的CPK标识公钥和随机数的加密的信息,可快速找到其对应的随机数的CPK标识私钥和随机数进行解密。
[0025]用户若想通过用户设备(Dl)登录用户服务器(SI)进行数据交互,用户需要在用户设备(Dl)上面安装用户服务器(SI)提供的相应的服务应用系统。用户设备上的服务应用系统用于提供用户输入用户标识和用户登录口令,将用户输入的SI的用户登录口令转换成用户登录口令的hash值并用接收到的随机数a的公钥加密后通过互联网(专线、VPN方式以及其他方式)或移动运营商的网络上传给SI ;用于接收SI的加密信息并对其进行解密展现给用户,其中包括对服务器的真实性认证;用于用户设备(Dl)和用户服务器(SI)之间双向认证和所有数据交互的加解密:其提供的功能还包括用户登录初始口令的修改坐寸O
[0026]用户设备里面保存了用户的CPK标识私钥、随机数a的CPK标识公私钥对(由SI临时产生安全下传给用户设备,临时保存,每次随机)、随机数b (由SI产生安全下传给用户设备,定时保存并变更)。用户的CPK标识私钥用于对用户的CPK标识公钥加密的数据进行解密。用户的CPK标识私钥是用用户设备的开机口令或者开屏口令来进行加密保护的。用户设备包括但不限于:电脑、智能手机、PDA、智能网关等。
[0027]用户通过用户设备(Dl)上的SI服务应用系统登录用户服务器(SI)进行用户设备和用户服务器的双向认证。用户服务器(SI)对用户设备(Dl)的认证分为两个步骤:一是先认证用户设备(Dl)提供的用户标识是否有效。用户服务器(SI)接收到用户设备(Dl)发来的基于用户标识的用户登录请求后,SI验证该用户标识是否为系统的有效用户标识。若为有效的用户标识的登录请求,则SI产生随机数a并用CPK标识认证技术生成随机数a的CPK标识公私钥对,将用用户的CPK标识公钥加密的随机数a的CPK标识公私钥对和用用户的CPK标识公钥加密的SI的签名信息下传到D1。若为无效的用户标识的登录请求,则返回错误信息并退出双向认证。二是当SI被用户设备认证合法后,SI再认证用户设备提供的用户登录口令的hash值是否正确。SI用收到的用户设备发来用户登录口令的hash值与存在SI系统的该值进行对比验证来完成对用户设备(Dl)的身份真实性的认证。
[0028]在SI与Dl的双向认证中,用户设备(Dl)需要先对用户服务器(SI)的身份进行认证,只有在合法的用户服务器(Si)的前提下,用户才会输入用户的登录口令以提供给SI来验证其身份的真实性。用户设备(Dl)用接收到的SI的签名信息中的SI的私有标识计算出SI的CPK标识公钥,用SI的CPK标识公钥验证SI的CPK标识私钥的签名是否合法。若服务器认证通过,则用户设备(Dl)才接受用户输入的SI的用户登录口令并将其转换成用户登录口令的hash值,并用随机数a的CPK标识公钥对用户登录口令的hash值进行加密,将加密后的数据发给SI。若服务器认证失败,则退出双向认证。SI的私有标识包括但不限于:设备的ID号、服务器标识等。
[0029]用户服务器(SI)在每一次新的用户登录请求时,产生的随机数a和随机数a的CPK标识公私钥对都是仅供这次登录使用。用户在用户设备上接收到用户登录口令请求,需在约定的时间内输入用户登录口令;若用户在约定的时间内输入用户登录口令并验证成功,则双向认证通过;若超过约定的时间或用户登录口令验证失败,则基于此次登录请求产生的随机数a和随机数a的CPK标识公私钥对将被丢弃,作废处理,双向认证失败。用户若要继续登录SI,需重新发起新的用户登录请求;用户服务器(SI)再产生新的随机数a和随机数a的CPK标识公私钥。
[0030]当SI与Dl的双向认证通过后,SI再产生一个随机数b,用作对称加密的加密密钥,用用户的CPK标识公钥将随机数b加密后发送给Dl ;若双向认证失败,则将用用户的CPK标识公钥加密的认证失败数据发送给Dl。用户设备(Dl)用已存的用户的CPK标识私钥解密出验证结果。若双向认证通过,即可登录成功;若双向认证失败,则登录失败。用户登录成功后,用户设备(Dl)与用户服务器(SI)之间所有的数据都是用随机数b来做会话密钥,进行双向全密态的服务数据交互。用户设备(Dl)与用户服务器(SI)自行约定更换会话密钥(随机数b)的时间。当Dl与SI双向认证成功后,SI会根据双方约定的时间预先产生新的随机数b并用用用户的CPK标识公钥将其加密后下传给用户设备(Dl)。
[0031]参照图1,本发明基于CPK标识认证技术的双向认证及数据交互安全保护方法包括以下步骤:
[0032]步骤101:用户在网络终端(电脑、智能网关及智能终端等)上打开用户服务器(Si)提供的服务应用系统的双向认证通道,输入用户标识发起用户设备双向认证的登录请求。
[0033]步骤102:用户服务器(SI)收到用户设备登录请求后,SI验证该用户标识是否为系统的有效用户标识。若为无效的用户标识的登录请求,则返回错误信息并退出双向认证。若为有效的用户标识的登录请求,SI产生一个随机数a和SI的签名信息,并利用CPK标识认证技术产生出这个随机数a的CPK标识公私钥对并临时保存(仅供这次用户登录验证用),用用户的CPK标识公钥将随机数a的CPK标识公私钥对和SI的签名信息加密后通过互联网(专线、VPN方式以及其他方式)或移动运营商的网络安全下传给用户设备。
[0034]步骤103:用户设备(Dl)将收到信息用用户的CPK标识私钥解密得到随机数a的CPK标识公私钥对和SI的签名信息并临时保存起来,用收到的SI的私有标识计算出SI的CPK标识公钥,用SI的CPK标识公钥验证SI的CPK标识私钥的签名是否合法。若用户服务器认证失败,则退出双向认证。若用户服务器认证通过,用户在其用户设备上输入的Si所需要的用户登录口令。用户设备将用户登录口令转换成用户登录口令的hash值,并用接收到的随机数a的CPK标识公钥将用户登录口令的hash值加密后通过互联网(专线、VPN方式以及其他方式)或移动运营商的网络安全发送给用户服务器(SI)。
[0035]步骤104:用户服务器(SI)用已存的随机数a的CPK标识私钥解密得到用户登录口令的hash值,将解密得到用户登录口令的hash值和存在系统中的用户登录口令hash值进行对比验证。若验证通过,SI再产生一个随机数b用作登录成功后数据交互的会话密钥,用用户的CPK标识公钥将随机数b加密后发送给用户设备(Dl);若验证失败,则将用用户的CPK标识公钥加密的双向认证失败信息发送给用户设备并退出双向认证。
[0036]步骤105:用户设备用用户的CPK标识私钥解密得到验证结果。若用户登录成功后,用户设备(Dl)与用户服务器(SI)之间所有的服务数据都是用随机数b来做会话密钥,进行双向全密态的服务数据交互。SI会根据用户服务器与用户设备的约定时间,产生新的随机数b,预先用用户的CPK标识公钥加密后发送给用户设备(Dl
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1