全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210153605.9 (22)申请日 2022.02.18 (71)申请人 杭州代码狗科技有限公司 地址 310051 浙江省杭州市滨江区西兴街 道滨文路95号8幢3层3 01室-38 (72)发明人 覃健祥  (74)专利代理 机构 杭州华进联浙知识产权代理 有限公司 3 3250 专利代理师 周长梅 (51)Int.Cl. H04L 9/08(2006.01) H04L 9/32(2006.01) (54)发明名称 基于HMAC算法的密钥保护方法、 装置、 设备 和存储介质 (57)摘要 本申请涉及一种基于HMAC算法的密钥保护 方法、 装置、 设备和存储介质, 其中, 该方法包括: 基于预设长度设定第一密钥; 基于第一哈希函 数, 对第一密钥进行哈希处理, 得到经过信息衰 减的第二密钥; 第一哈希函数用于基于衰减系数 对所述第一密钥进行信息衰减; 基于第一哈希函 数, 对第一业务参数进行哈希处理, 得到第二业 务参数; 基于第二哈希函数, 对第二密钥和第二 业务参数拼接得到的输入参数进行哈希处理, 以 生成签名; 其中, 签名与标准哈希函数生成的签 名兼容。 通过本申请中预先生成第二密钥, 解决 了无法通过隐藏密钥提高HMAC算法的安全性的 问题, 实现了进行密钥保护的效果。 权利要求书1页 说明书10页 附图6页 CN 114584291 A 2022.06.03 CN 114584291 A 1.一种基于 HMAC算法的密钥保护方法, 其特 征在于, 包括: 基于预设长度设定第一密钥; 基于第一哈希函数, 对所述第一密钥进行哈希处 理, 得到经 过信息衰减的第二密钥; 所述第一哈希函数用于基于 衰减系数对所述第一密钥进行信息 衰减; 获取预生成的经 过信息衰减的第二密钥; 基于所述第一哈希函数, 对第一 业务参数进行哈希处 理, 得到第二 业务参数; 基于第二哈希函数, 对所述第 二密钥和所述第 二业务参数拼接得到的输入参数进行哈 希处理, 以生成签名; 其中, 所述签名与标准哈希函数生成的签名兼容。 2.根据权利要求1所述的基于 HMAC算法的密钥保护方法, 其特 征在于, 还 包括: 在发起业务请求时, 将所述签名和所述第一 业务参数传递给服 务端; 在所述服务端中, 通过对拼接后的所述第一业务参数和第一密钥进行哈希处理, 以对 所述签名进行验证; 其中, 所述第一密钥拼接在所述第一业务参数之前组成所述服务端的 输入参数, 并且所述第一 业务参数之前还可以拼接所述预设长度的字符。 3.根据权利要求1所述的基于 HMAC算法的密钥保护方法, 其特 征在于, 还 包括: 定期对所述第一哈希函数和第二哈希函数进行动态调整; 定期更换选用的哈希算法, 并在发起业务请求时, 将所述哈希算法的信息传递给服务 端; 通过字符编码对所述第二密钥进行编码。 4.根据权利要求1所述的基于 HMAC算法的密钥保护方法, 其特 征在于, 还 包括: 通过代码混淆技 术和web assembly技 术对所述方法的各步骤和结果进行混淆和编译。 5.根据权利要求1所述的基于 HMAC算法的密钥保护方法, 其特 征在于, 还 包括: 通过构建用于执行所述方法各步骤的函数, 并设置与各步骤相应的输入参数, 自动生 成在客户端用于生成签名的函数和在服 务端用于验证所述签名的函数。 6.一种基于HMAC算法的密钥保护装置, 其特征在于, 包括: 预生成模块和签名生成模 块; 所述预生成模块, 用于基于预设长度设定第一密钥; 基于第 一哈希函数, 对所述第一密 钥进行哈希处理, 得到经过信息衰减的第二密钥; 所述第一哈希函数用于基于衰减系 数对 所述第一密钥进行信息 衰减; 所述签名生成模块, 用于基于第 一哈希函数, 对第 一业务参数进行哈希处理, 得到第二 业务参数; 基于第二哈希函数, 对所述第二密钥和所述第二业务参数拼接得到的输入参数 进行哈希处 理, 以生成签名; 其中, 所述签名与标准哈希函数生成的签名兼容。 7.一种计算机设备, 包括存储器和处理器, 其特征在于, 所述存储器中存储有计算机程 序, 所述处理器被设置为运行所述计算机程序以执行权利要求1至5中任一项所述的基于 HMAC算法的密钥保护方法。 8.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序被 处理器执行时实现权利要求1至 5中任一项所述的基于 HMAC算法的密钥保护方法的步骤。权 利 要 求 书 1/1 页 2 CN 114584291 A 2基于HMAC算法的密钥保护方 法、 装置、 设备和存储介质 技术领域 [0001]本申请涉及信息安全领域, 特别是涉及一种基于HMAC算法的密钥保护方法、 装置、 设备和存 储介质。 背景技术 [0002]HMAC算法是一种基于Hash函数和密钥进行消息认证的方法, 密钥通常以私密的方 式在客户端和服务端之间共享, 客户端将密钥和业务参数基于Hash函数生成签名, 以通过 签名进行消息验证。 如果密钥泄露或被破解, 导致非正常授权的人也能根据密钥获取通信 信息, 那么H MAC算法不再能保护通信安全。 [0003]在一些应用场景中, 客户端不能将密钥编译成机器码保存时, 所有客户端的使用 者都能直接在客户端读取密钥, 使密钥的可靠性降低。 通常可以采用代码混淆技术使密钥 失去可读性, 但是通过Hash函数中常用的一些字符串函数, 依然可以由Hash函数的输入参 数获取密钥, 因此 无法通过隐藏密钥提高H MAC算法的安全性。 [0004]针对相关技术中存在无法通过隐藏密钥提高HMAC算法的安全性的问题, 目前还没 有提出有效的解决方案 。 发明内容 [0005]在本实施例中提供了一种基于HMAC算法的密钥保护方法、 装置、 设备和存储介质, 以解决相关技 术中无法通过隐藏密钥提高H MAC算法的安全性的问题。 [0006]第一个方面, 在本实施例中提供了一种基于HMAC算法的密钥保护方法, 其特征在 于, 包括: [0007]基于预设长度设定第一密钥; [0008]基于第一 哈希函数, 对所述第一密钥进行哈希处理, 得到经过信息衰减的第二密 钥; [0009]所述第一哈希函数用于基于 衰减系数对所述第一密钥进行信息 衰减; [0010]基于所述第一哈希函数, 对第一 业务参数进行哈希处 理, 得到第二 业务参数; [0011]基于第二哈希函数, 对所述第二密钥和所述第二业务参数拼接得到的输入参数进 行哈希处 理, 以生成签名; 其中, 所述签名与标准哈希函数生成的签名兼容。 [0012]在其中的一些实施例中, 上述方法还 包括: [0013]在发起业务请求时, 将所述签名和所述第一 业务参数传递给服 务端; [0014]在所述服务端中, 通过对拼接后的所述第一业务参数和第一密钥进行哈希处理, 以对所述签名进行验证; 其中, 所述第一密钥拼接在所述第一业务参数之前组成所述服务 端的输入参数, 并且所述第一 业务参数之前还可以拼接所述预设长度的字符。 [0015]在其中的一些实施例中, 上述方法还 包括: [0016]定期对所述第一哈希函数和第二哈希函数进行动态调整; [0017]定期更换选用的哈希算法, 并在发起业务请求时, 将所述 哈希算法的信息传递给说 明 书 1/10 页 3 CN 114584291 A 3

PDF文档 专利 基于HMAC算法的密钥保护方法、装置、设备和存储介质

文档预览
中文文档 18 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共18页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于HMAC算法的密钥保护方法、装置、设备和存储介质 第 1 页 专利 基于HMAC算法的密钥保护方法、装置、设备和存储介质 第 2 页 专利 基于HMAC算法的密钥保护方法、装置、设备和存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-07 12:41:02上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。