一种白盒密码双向身份认证方法、终端、服务端及系统技术方案

技术编号:15653085 阅读:200 留言:0更新日期:2017-06-17 07:07
本发明专利技术提供一种白盒密码双向身份认证方法、终端、服务端及系统,该方法包括:根据第一白盒密钥和第一白盒库,通过对称白盒加密算法对第一识别码加密,得到第一密文;通过第二加密算法对第一密文和随机数进行加密,得到第二密文;将第二密文划分为第一/二部分,将第一识别码、第一密文和第一部分发送至服务端,以供进行验证;接收返回的第四部分并与第二部分进行比对验证,得到第三验证结果并发送至服务端,以供判定身份认证结果;接收第二验证结果,若第二验证结果和第三验证结果均验证成功,则判定身份认证通过。其中,第一/第二白盒密钥和第一/第二白盒库根据对称白盒加密算法生成。本发明专利技术保障了身份认证过程在白盒攻击环境下的安全性。

【技术实现步骤摘要】
一种白盒密码双向身份认证方法、终端、服务端及系统
本申请涉及安全加密
,具体涉及一种白盒密码双向身份认证方法、终端、服务端及系统。
技术介绍
传统的基于对称密码体制的网络身份认证方法,是运用计算机、密码和网络技术,在客户机和网络服务端两端,分别设置一对相同的对称密码算法,用客户端的加密算法,对一组有限长的明文进行加密生成密文,将该密文作为认证码,与用户号、时间戳和随机码一并经网络传给服务端进行认证。在白盒攻击环境中,在当前的攻击手段中,很容易通过对二进制文件的反汇编、静态分析,对运行环境的控制结合使用控制CPU断点、观测寄存器、内存分析等来获取密码。基于对称密码体制身份认证就不能安全使用,甚至显得极度脆弱,密钥成为任何使用密码技术实施保护系统的单一故障点。在已有的案例中我们看到,在未受保护的软件中,密钥提取攻击通常可以在几个小时内成功提取以文字数据阵列方式存放的密钥代码。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种利用对称白盒加密算法在服务端和终端之间进行双向身份认证以保障身份认证过程在白盒攻击环境下的安全性的双向身份认证方法、终端、服务端及系统。第一方面,本专利技术提供一种适用于终端的白盒密码双向身份认证方法,该方法包括:根据所持有的第一白盒密钥和第一白盒库,通过预配置的对称白盒加密算法对第一识别码进行加密,得到第一密文;通过预配置的第二加密算法对所述第一密文和预配置的随机数进行加密运算,得到第二密文;按预配置的划分方式将所述第二密文划分为第一部分和第二部分,将所述第一识别码、所述第一密文和所述第一部分发送至服务端,以供所述服务端进行以下验证:根据所持有的第二白盒密钥和第二白盒库,通过所述对称白盒加密算法对所述第一密文进行解密,得到第二识别码并与所述第一识别码进行比对验证,得到第一验证结果;以及,在所述第一验证结果为验证成功时,通过所述第二加密算法对所接收的第一密文和所述随机数进行加密运算,得到第三密文,按所述划分方式将所述第三密文划分为第三部分和第四部分,返回所述第四部分,并对所接收的第一部分和所述第三部分进行比对验证,得到并返回第二验证结果;接收所述第四部分并与所述第二部分进行比对验证,得到第三验证结果,并发送至服务端,以供所述服务端判定身份认证结果;接收所述第二验证结果,若所述第二验证结果和所述第三验证结果均验证成功,则判定身份认证通过。其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成。第二方面,本专利技术提供一种适用于服务端的白盒密码双向身份认证方法,该方法包括:接收终端发送的第一识别码、第一密文,以及第二密文的第一部分;根据所持有的第二白盒密钥和第二白盒库,通过预配置的对称白盒加密算法对所述第一密文进行解密,得到第二识别码;对所述第二识别码和所述第一识别码进行比对验证,得到第一验证结果:若验证失败,则身份认证失败;通过预配置的第二加密算法对所接收的第一密文和预配置的随机数进行加密运算,得到第三密文;按预配置的划分方式将所述第三密文划分为第三部分和第四部分,将所述第四部分发送至所述终端,以供所述终端对所述第四部分并与所述第二密文的第二部分进行比对验证,得到第三验证结果并返回;对所述第一部分和所述第三部分进行比对验证,得到第二验证结果并发送至所述终端,以供所述终端判定身份认证结果;接收所述第三验证结果,若所述第二验证结果和所述第三验证结果均验证成功,则判定身份认证通过。其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成,所述第一密文由所述终端根据所持有的第一白盒密钥和第一白盒库,通过所述对称白盒加密算法对所述第一识别码进行加密得到;所述第二密文由所述终端通过所述第二加密算法对所述第一密文和所述随机数进行加密运算得到。第三方面,本专利技术提供一种终端,包括:第一加密单元,配置用于根据所持有的第一白盒密钥和第一白盒库,通过预配置的对称白盒加密算法对第一识别码进行加密,得到第一密文;第二加密单元,配置用于通过预配置的第二加密算法对所述第一密文和预配置的随机数进行加密运算,得到第二密文,以及,按预配置的划分方式将所述第二密文划分为第一部分和第二部分;第一通信单元,配置用于将所述第一识别码、所述第一密文和所述第一部分发送至服务端,以供所述服务端进行以下验证:根据所持有的第二白盒密钥和第二白盒库,通过所述对称白盒加密算法对所述第一密文进行解密,得到第二识别码并与所述第一识别码进行比对验证,得到第一验证结果;以及,在所述第一验证结果为验证成功时,通过所述第二加密算法对所接收的第一密文和所述随机数进行加密运算,得到第三密文,按所述划分方式将所述第三密文划分为第三部分和第四部分,返回所述第四部分,并对所接收的第一部分和所述第三部分进行比对验证,得到并返回第二验证结果;接收所述服务端返回的所述第四部分和所述第二验证结果,以及,将第三验证结果发送至服务端,以供所述服务端判定身份认证结果;第三验证单元,配置用于对所述第四部分和所述第二部分进行比对验证,得到第三验证结果;第一身份认证单元,配置用于判断所述第二验证结果和所述第三验证结果是否均验证成功:是,则判定身份认证通过。其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成。第四方面,本专利技术提供一种服务端,包括:第二通信单元,配置用于接收终端发送的第一识别码、第一密文,以及第二密文的第一部分,将第三密文的第四部分发送至所述终端,以供所述终端对所述第四部分并与所述第二密文的第二部分进行比对验证,得到第三验证结果并返回,将第二验证结果并发送至所述终端,以供所述终端判定身份认证结果,以及,接收所述第三验证结果;解密单元,配置用于根据所持有的第二白盒密钥和第二白盒库,通过预配置的对称白盒加密算法对所述第一密文进行解密,得到第二识别码;第一验证单元,配置用于对所述第二识别码和所述第一识别码进行比对验证,得到第一验证结果:若验证失败,则身份认证失败;第三加密单元,配置用于通过预配置的第二加密算法对所接收的第一密文和预配置的随机数进行加密运算,得到第三密文,以及,按预配置的划分方式将所述第三密文划分为第三部分和第四部分;第二验证单元,配置用于对所述第一部分和所述第三部分进行比对验证,得到第二验证结果;第二身份认证单元,配置用于判断所述第二验证结果和所述第三验证结果是否均验证成功:是,则判定身份认证通过。其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成,所述第一密文由所述终端根据所持有的第一白盒密钥和第一白盒库,通过所述对称白盒加密算法对所述第一识别码进行加密得到;所述第二密文由所述终端通过所述第二加密算法对所述第一密文和所述随机数进行加密运算得到。第五方面,本专利技术提供一种双向身份认证系统,该系统包括若干上述第三方面提供的终端,以及上述第四方面提供的服务端。第六方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的双向身份认证方法。第七方面,本专利技术还提供一种存储有计算机程序的计算机可读存储介质,该计算机程序使计算本文档来自技高网...
一种白盒密码双向身份认证方法、终端、服务端及系统

【技术保护点】
一种白盒密码双向身份认证方法,其特征在于,所述方法包括:根据所持有的第一白盒密钥和第一白盒库,通过预配置的对称白盒加密算法对第一识别码进行加密,得到第一密文;通过预配置的第二加密算法对所述第一密文和预配置的随机数进行加密运算,得到第二密文;按预配置的划分方式将所述第二密文划分为第一部分和第二部分,将所述第一识别码、所述第一密文和所述第一部分发送至服务端,以供所述服务端进行以下验证:根据所持有的第二白盒密钥和第二白盒库,通过所述对称白盒加密算法对所述第一密文进行解密,得到第二识别码并与所述第一识别码进行比对验证,得到第一验证结果;以及,在所述第一验证结果为验证成功时,通过所述第二加密算法对所接收的第一密文和所述随机数进行加密运算,得到第三密文,按所述划分方式将所述第三密文划分为第三部分和第四部分,返回所述第四部分,并对所接收的第一部分和所述第三部分进行比对验证,得到并返回第二验证结果;接收所述第四部分并与所述第二部分进行比对验证,得到第三验证结果,并发送至服务端,以供所述服务端判定身份认证结果;接收所述第二验证结果,若所述第二验证结果和所述第三验证结果均验证成功,则判定身份认证通过;其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成。...

【技术特征摘要】
1.一种白盒密码双向身份认证方法,其特征在于,所述方法包括:根据所持有的第一白盒密钥和第一白盒库,通过预配置的对称白盒加密算法对第一识别码进行加密,得到第一密文;通过预配置的第二加密算法对所述第一密文和预配置的随机数进行加密运算,得到第二密文;按预配置的划分方式将所述第二密文划分为第一部分和第二部分,将所述第一识别码、所述第一密文和所述第一部分发送至服务端,以供所述服务端进行以下验证:根据所持有的第二白盒密钥和第二白盒库,通过所述对称白盒加密算法对所述第一密文进行解密,得到第二识别码并与所述第一识别码进行比对验证,得到第一验证结果;以及,在所述第一验证结果为验证成功时,通过所述第二加密算法对所接收的第一密文和所述随机数进行加密运算,得到第三密文,按所述划分方式将所述第三密文划分为第三部分和第四部分,返回所述第四部分,并对所接收的第一部分和所述第三部分进行比对验证,得到并返回第二验证结果;接收所述第四部分并与所述第二部分进行比对验证,得到第三验证结果,并发送至服务端,以供所述服务端判定身份认证结果;接收所述第二验证结果,若所述第二验证结果和所述第三验证结果均验证成功,则判定身份认证通过;其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成。2.根据权利要求1所述的双向身份认证方法,其特征在于,所述第二加密算法为哈希算法。3.根据权利要求1所述的双向身份认证方法,其特征在于,所述随机数为以下任一项:与所述服务端进行时间同步时配置的时间戳,与所述服务端连接时配置的随机数。4.一种白盒密码双向身份认证方法,其特征在于,所述方法包括:接收终端发送的第一识别码、第一密文,以及第二密文的第一部分;根据所持有的第二白盒密钥和第二白盒库,通过预配置的对称白盒加密算法对所述第一密文进行解密,得到第二识别码;对所述第二识别码和所述第一识别码进行比对验证,得到第一验证结果:若验证失败,则身份认证失败;通过预配置的第二加密算法对所接收的第一密文和预配置的随机数进行加密运算,得到第三密文;按预配置的划分方式将所述第三密文划分为第三部分和第四部分,将所述第四部分发送至所述终端,以供所述终端对所述第四部分并与所述第二密文的第二部分进行比对验证,得到第三验证结果并返回;对所述第一部分和所述第三部分进行比对验证,得到第二验证结果并发送至所述终端,以供所述终端判定身份认证结果;接收所述第三验证结果,若所述第二验证结果和所述第三验证结果均验证成功,则判定身份认证通过;其中,所述第一白盒密钥、第一白盒库、第二白盒密钥和第二白盒库根据所述对称白盒加密算法生成,所述第一密文由所述终端根据所持有的第一白盒密钥和第一白盒库,通过所述对称白盒加密算法对所述第一识别码进行加密得到;所述第二密文由所述终端通过所述第二加密算法对所述第一密文和所述随机数进行加密运算得到。5.根据权利要求4所述的双向身份认证方法,其特征在于,所述第二加密算法为哈希算法。6.根据权利要求4所述的双向身份认证方法,其特征在于,所述随机数为以下任一项:与所述终端进行时间同步时配置的时间戳,与所述终端连接时配置的随机数。7.根据权利要求4-6任一项所述的双向身份认证方法,其特征在于,所述接收终端发送的第一识别码、第一密文,以及第二密文的第一部分还包括:对接收的第一识别码进行验证:若验证失败,则中止认证,返回认证失败信息。8.一种终端,其特征在于,包括:第一加密单元,配置用于根据所持有的第一白盒密钥和第一白盒库,通过预配置的对称白盒加密算法对第一识别码进行加密,得到第一密文;第二加密单元,配置用于通过预配置的第二加密算法对所述第一密文和预配置的随机数进行加密运算,得到第二密文,以及,按预配置的划分方式将所述第二密文划分为第一部分和第二部分;第一...

【专利技术属性】
技术研发人员:阚志刚彭建芬卢佐华陈彪
申请(专利权)人:北京洋浦伟业科技发展有限公司
类型:发明
国别省市:北京,11

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

1