基于密钥派生函数的认证方法、系统、客户端及服务端技术方案

技术编号:38473089 阅读:17 留言:0更新日期:2023-08-11 14:49
本发明专利技术公开了一种基于密钥派生函数的认证方法、系统、客户端及服务端,其中该方法包括:客户端基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,并计算出相应的验证密钥;获取并验证服务端的VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密账号信息、验证密钥及盐,并将加密后的内容发送至服务端;服务端解密出待注册账号信息、验证密钥及盐,并发送验证请求至客户端,在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;验证密钥和盐用于用户身份认证时客户与服务端之间的双向认证。本发明专利技术可以完全独立于TLS/SSL证书链对用户身份进行认证,提高了身份认证的安全性。提高了身份认证的安全性。提高了身份认证的安全性。

【技术实现步骤摘要】
基于密钥派生函数的认证方法、系统、客户端及服务端


[0001]本专利技术涉及网络安全
,尤其涉及一种基于密钥派生函数的认证方法、系统、客户端及服务端。

技术介绍

[0002]本部分旨在为权利要求书中陈述的本专利技术实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
[0003]如图1所示,传统的利用密码管理器进行用户身份认证技术的核心思想是通过密码+Secret Key并结合不同的盐分别派生出认证密钥和管理密钥,其中Secret Key是熵源,认证密钥用于和验证密钥进行双向认证,双向认证后生成会话密钥并建立加密通道(和TLS/SSL通道一起构成了双层加密通道),然后使用管理密钥在双层加密通道上对密码集合进行管理操作。该技术框架相比传统互联网应用实现了非常好的隐私性,即用户完全掌握自己的数据(密码),并且除初始阶段外,实现了非常好的安全性,完全不依赖于TLS/SSL证书链的安全性,但依然存在如下问题:
[0004]上面所说的通过认证密码和验证密钥进行双向认证的一个前提是在初始阶段(注册阶段)用户需要将验证密钥发送至服务端,这个初始化过程实际上还是需要依赖于TLS/SSL证书链(并非双层加密),所以该框架实际整体上并不完全独立于TLS/SSL证书链的安全性,因此,图1所示的用户身份认证方法依然存在安全性差的问题。

技术实现思路

[0005]本专利技术实施例提供一种基于密钥派生函数的认证方法,用以完全独立于TLS/SSL证书链对用户身份进行认证,提高身份认证的安全性,该方法应用于系统,该方法包括:
[0006]客户端接收用户输入的待注册账号信息及主密码;随机生成Secret Key和盐;基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC;
[0007]服务端从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端,在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;所述验证密钥和盐用于用户身份认证时客户端与服务端之间的双向认证。
[0008]本专利技术实施例提供一种基于密钥派生函数的认证方法,用以完全独立于TLS/SSL证书链对用户身份进行认证,提高身份认证的安全性,该方法应用于客户端,该方法包括:
[0009]接收用户输入的待注册账号信息及主密码;
[0010]随机生成Secret Key和盐;
[0011]基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;
[0012]获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC;所述服务端用于从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端,在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;所述验证密钥和盐用于用户身份认证时客户端与服务端之间的双向认证。
[0013]本专利技术实施例提供一种基于密钥派生函数的认证方法,用以完全独立于TLS/SSL证书链对用户身份进行认证,提高身份认证的安全性,该方法应用于服务端,该方法包括:
[0014]从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端;
[0015]在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;所述验证密钥和盐用于用户身份认证时客户端与服务端之间的双向认证;所述客户端用于接收用户输入的待注册账号信息及主密码;随机生成Secret Key和盐;基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC。
[0016]本专利技术实施例提供一种基于密钥派生函数的认证系统,用以完全独立于TLS/SSL证书链对用户身份进行认证,提高身份认证的安全性,该系统包括:
[0017]客户端,用于接收用户输入的待注册账号信息及主密码;随机生成Secret Key和盐;基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC;
[0018]服务端,用于从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端,在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;所述验证密钥和盐用于用户身份认证时客户端与服务端之间的双向认证。
[0019]本专利技术实施例提供一种基于密钥派生函数的认证客户端,用以完全独立于TLS/SSL证书链对用户身份进行认证,提高身份认证的安全性,该客户端包括:
[0020]接收单元,用于接收用户输入的待注册账号信息及主密码;
[0021]随机生成单元,用于随机生成Secret Key和盐;
[0022]派生单元,用于基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;
[0023]认证单元,用于获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC;所述服务端用于从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端,在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;所述验证密钥和盐用于用户身份认证时客户端与服务端之间的双向认证。
[0024]本专利技术实施例提供一种基于密钥派生函数的认证服务端,用以完全独立于TLS/SS本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于密钥派生函数的认证方法,其特征在于,该方法应用于系统,该方法包括:客户端接收用户输入的待注册账号信息及主密码;随机生成Secret Key和盐;基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC;服务端从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端,在验证成功后,存储验证密钥和盐,返回注册成功的账号信息至客户端;所述验证密钥和盐用于用户身份认证时客户端与服务端之间的双向认证。2.如权利要求1所述的方法,其特征在于,还包括按照如下方法在线备份SecretKey和主密码:客户端获取并验证监管端及密钥管理服务运营端的可验证凭证VC,根据VC中监管端的DID从可验证数据注册表中获取监管端的通信密钥,根据VC中密钥管理服务运营端的DID从可验证数据注册表中获取密钥管理服务运营端的通信密钥;将Secret Key和主密码分割成三个部分的密钥份额;使用监管端的通信密钥对第一部分密钥份额进行加密,使用服务端的通信密钥对第二部分密钥份额进行加密,使用密钥管理服务运营端的通信密钥对第三部分密钥份额进行加密;将加密后的第一部分密钥份额发送至监管端,将加密后的第二部分密钥份额发送至服务端,将加密后的第三部分密钥份额发送至密钥管理服务运营端;所述监管端及密钥管理服务运营端在可验证数据注册表中分别预先创建有自身的分布式数字身份标识DID,并分别根据DID从证书颁发机构获取自身的VC;监管端解密出第一部分密钥份额,使用KMS对第一部分密钥份额进行加密存储;服务端在用户相关人的账户下存储加密后的第二部分密钥份额;密钥管理服务运营端解密出第三部分密钥份额,使用KMS对第三部分密钥份额进行加密存储。3.如权利要求2所述的方法,其特征在于,还包括按照如下方法在线恢复Secret Key和主密码:用户的客户端生成临时非对称加密密钥对;在用户登录客户端的情况下,将临时非对称公钥发送至密钥管理服务运营端;密钥管理服务运营端使用KMS解密出第三部分密钥份额,利用临时非对称公钥对第三部分密钥份额进行加密,并返回非对称加密后的第三部分密钥份额至用户的客户端;用户的客户端利用临时非对称私钥对非对称加密后的第三部分密钥份额进行解密,得到第三部分密钥份额;发起用户相关人进行社交恢复请求,上传临时非对称公钥至服务端;服务端同步用户相关人进行社交恢复的请求及临时非对称公钥至用户相关人的客户端;用户相关人的客户端在对所述请求及临时非对称公钥进行确认后,使用临时非对称公钥对第二部分密钥份额进行加密后发送至服务端;服务端同步加密后的第二部分密钥份额至用户的客户端;用户的客户端非对称解密出第二部分密钥份额;根据解密出第二部分密钥份额和第三
部分密钥份额恢复出Secret Key和主密码。4.如权利要求1所述的方法,其特征在于,还包括:按照如下方法离线备份Secret Key和主密码:客户端导出Secret Key和主密码,离线保存Secret Key和主密码所对应的图形码。5.如权利要求4所述的方法,其特征在于,还包括:按照如下方法离线恢复Secret Key和主密码:客户端扫码离线保存的Secret Key和主密码所对应的图形码,恢复出Secret Key和主密码。6.如权利要求1所述的方法,其特征在于,还包括:客户端接收分享人输入的隐私数据;随机生成数据加密密钥对所述隐私数据进行加密;所述数据加密密钥被第二用户的非对称加密算法的公钥加密,所述隐私数据包括Secret Key和主密码;服务端在被分享人的账户下存储加密后的隐私数据及数据加密密钥。7.一种基于密钥派生函数的认证方法,其特征在于,该方法应用于客户端,该方法包括:接收用户输入的待注册账号信息及主密码;随机生成Secret Key和盐;基于密钥派生函数根据Secret Key、盐及主密码派生出认证密钥,使用认证密钥计算出相应的验证密钥;获取并验证服务端的可验证凭证VC,根据VC中服务端的DID从可验证数据注册表中获取服务端的通信密钥来加密待注册账号信息、验证密钥及盐,并将加密后的内容发送至服务端;所述服务端在可验证数据注册表中预先创建有自身的分布式数字身份标识DID,并根据DID从证书颁发机构获取自身的VC;所述服务端用于从加密后的内容中解密出待注册账号信息、验证密钥及盐,并发送验证请求至待注册账号信息对应的客户端,在验证成功后,存储...

【专利技术属性】
技术研发人员:陈乐旋李慧玲马晨光张发振曾西平
申请(专利权)人:北京泰尔英福科技有限公司
类型:发明
国别省市:

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

1