密钥生成、管理方法和服务器.pdf
《密钥生成、管理方法和服务器.pdf》由会员分享,可在线阅读,更多相关《密钥生成、管理方法和服务器.pdf(19页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910983667.0 (22)申请日 2019.10.16 (71)申请人 聚好看科技股份有限公司 地址 266061 山东省青岛市崂山区松岭路 399号 (72)发明人 苗建基 (74)专利代理机构 北京同达信恒知识产权代理 有限公司 11291 代理人 朱佳 (51)Int.Cl. H04L 9/08(2006.01) H04L 9/32(2006.01) (54)发明名称 一种密钥生成、 管理方法和服务器 (57)摘要 本申请涉及计算机技术领域, 特别涉及一种 密钥。
2、生成、 管理方法和服务器, 用以解决密钥容 易泄露的技术问题。 密钥生成方法, 包括: 每隔一 段时间生成相应的一个密钥对, 一个密钥对包括 一个私钥和一个公钥; 将生成的一个私钥划分为 多个私钥片段, 分别存储至多个第二服务器中, 并将生成的一个公钥发送至目标终端。 密钥管理 方法包括: 存储相应的一个私钥片段; 接收目标 终端发送的采用一个公钥进行加密的业务请求, 确定目标终端的终端标识; 分别从各个其他第二 服务器中获取与目标终端相应的私钥片段, 并进 行拼接, 得到完整的一个私钥; 基于该私钥进行 解密验证。 该密钥生成、 管理方法和服务器, 提升 了用户密钥信息的安全性。 权利要求书。
3、2页 说明书10页 附图6页 CN 110830242 A 2020.02.21 CN 110830242 A 1.一种密钥生成方法, 其特征在于, 包括: 第一服务器针对目标终端生成相应的一个密钥对, 所述一个密钥对包括一个私钥和一 个公钥; 所述第一服务器将所述一个私钥划分为多个私钥片段, 并将所述多个私钥片段分别存 储至多个第二服务器中, 以及将所述一个公钥发送至所述目标终端。 2.如权利要求1所述的方法, 其特征在于, 第一服务器针对目标终端生成相应的一个密 钥对, 具体包括: 所述第一服务器按照预设的时间间隔, 针对所述目标终端生成相应的一个密钥对。 3.如权利要求1所述的方法, 其。
4、特征在于, 所述第一服务器将所述一个私钥划分为多个 私钥片段, 并将所述多个私钥片段分别存储至多个第二服务器之后, 进一步包括: 所述第一服务器生成与所述目标终端相应的一个标识信息集合, 所述一个标识信息集 合, 用于记录所述目标终端的终端标识和存储有所述一个私钥的私钥片段的各个第二服务 器的服务器标识; 将所述一个标识信息集合分别发送至所述多个第二服务器。 4.如权利要求1-3任一项所述的方法, 其特征在于, 所述第一服务器将所述一个公钥发 送至所述目标终端, 具体包括: 所述第一服务器在接收到所述目标终端发送的用于获取公钥的请求消息后, 将所述一 个公钥发送至所述目标终端。 5.如权利要求。
5、1-3任一项所述的方法, 其特征在于, 第一服务器针对目标终端生成相应 的一个密钥对, 进一步包括: 所述第一服务器每生成一个密钥对, 根据所述一个密钥对的生成时间, 对应记录所述 密钥对的时间戳, 以及在接收到所述目标终端发送的用于获取所述时间戳和所述时间间隔 的请求后, 第一服务器将所述时间戳和所述时间间隔发送至所述目标终端。 6.一种密钥管理方法, 其特征在于, 包括: 第二服务器存储相应的一个私钥片段, 所述私钥片段为第一服务器针对目标终端生成 的一个私钥中的一个片段; 所述第二服务器接收目标终端发送的采用一个公钥进行加密的业务请求, 并根据所述 业务请求, 确定所述目标终端的终端标识。
6、; 所述一个公钥与所述一个私钥属于同一密钥对; 所述第二服务器根据所述目标终端的终端标识, 分别从对应的各个其他第二服务器中 获取与所述目标终端相应的私钥片段, 并对获得的多个私钥片段进行拼接, 得到完整的所 述一个私钥; 所述第二服务器采用拼接后的所述一个私钥, 对所述业务请求进行解密验证。 7.如权利要求6所述的方法, 其特征在于, 第二服务器存储相应的一个私钥片段的过程 中, 进一步包括: 第二服务器存储与所述目标终端对应的一个标识信息集合; 所述一个标识信息集合, 用于记录所述目标终端的终端标识和存储有所述一个私钥的私钥片段的各个第二服务器 的服务器标识; 所述第二服务器根据所述目标终。
7、端的终端标识, 分别从对应的各个其他第二服务器中 获取与所述目标终端相应的私钥片段, 具体包括: 权利要求书 1/2 页 2 CN 110830242 A 2 第二服务器根据所述目标终端的终端标识, 从所述一个标识信息集合中, 读取多个第 二服务器的服务器标识; 第二服务器根据读取到的多个所述服务器标识, 从各个其他第二服务器中, 获取相应 的私钥片段。 8.一种服务器, 其特征在于, 包括: 存储器、 处理器; 其中, 存储器, 用于存储可执行指令; 处理器, 用于读取并执行存储器中存储的可执行指令, 以实现如下操作: 针对目标终端生成相应的一个密钥对, 所述一个密钥对包括一个私钥和一个公钥。
8、; 将所述一个私钥划分为多个私钥片段, 并将所述多个私钥片段分别存储至多个第二服 务器中, 以及将所述一个公钥发送至所述目标终端。 9.一种服务器, 其特征在于, 包括: 存储器、 处理器; 其中, 存储器, 用于存储可执行指令; 处理器, 用于读取并执行存储器中存储的可执行指令, 以实现如下操作: 存储相应的一个私钥片段; 所述私钥片段为第一服务器针对目标终端生成的一个私钥 中的一个片段; 所述第二服务器接收目标终端发送的采用一个公钥进行加密的业务请求, 并根据所述 业务请求, 确定所述目标终端的终端标识; 所述一个公钥与所述一个私钥属于同一密钥对; 所述第二服务器根据所述目标终端的终端标识。
9、, 分别从各个其他第二服务器中获取与 所述目标终端相应的私钥片段, 并对获得的多个私钥片段进行拼接, 得到完整的所述一个 私钥; 所述第二服务器采用拼接后的所述一个私钥, 对所述业务请求进行解密验证。 权利要求书 2/2 页 3 CN 110830242 A 3 一种密钥生成、 管理方法和服务器 技术领域 0001 本申请涉及计算机技术领域, 特别涉及一种密钥生成、 管理方法和服务器。 背景技术 0002 随着互联网以及计算机技术的发展, 数据安全越来越被重视, 尤其在当前, 用户通 过电子支付方式购买产品或者服务, 已成为主流消费方式之一, 支付系统的安全性与用户 利益切身相关, 对安全性的。
10、要求也更高, 一旦数据泄露则可能造成大规模的用户支付安全 问题。 因此, 如何进一步提升用户数据安全性, 是本领域技术人员一直以来研究的热点。 0003 基于公钥密码体制的密码管理方案, 是目前用于保障用户数据安全的主流技术手 段之一。 公钥密码体制, 也称作非对称密码体制, 在该体制下, 公钥(Public Key)和私钥 (Private Key), 是通过一种算法生成的一个密钥对, 一个公钥对应一个私钥, 公钥是密钥 对中公开的部分, 私钥则是非公开的部分。 使用这个密钥对的时候, 如果用其中一个公钥或 者私钥加密一段数据, 必须用该密钥对中的另一个与之对应的私钥或者公钥进行解密, 例 。
11、如, 用一个密钥对中的公钥加密数据, 就必须用该密钥对中的私钥解密, 如果用该密钥对中 的私钥加密, 也必须用公钥解密, 否则解密将不会成功。 0004 已有技术下, 基于公钥密码体制的一种密钥管理方案, 主要包括终端加解密和服 务器加解密两种实现方法: 0005 第一种是终端来执行对密钥(公钥或私钥)的加解密运算, 参见图1所示, 密钥存在 服务器的存储介质中, 当终端的业务请求需要进行加密签名时, 则终端从服务器读取密钥, 然后在终端本地进行加解密运算。 这种方法的安全性问题很明显, 相当于将密钥完全暴露 在终端, 而终端的安全性往往是无法保证的, 可能存在各种安全漏洞或者病毒等, 支付密。
12、码 等数据泄漏风险较高。 0006 第二种是服务器来执行对密钥的加解密运算, 参见图2所示, 当用户发起支付请求 需要验证安全性时, 把待加密的数据发送给相应的业务服务器, 业务服务器通知用于加解 密运算的服务器进行加密运算, 由该服务器计算出相应的签名字段, 完成加密工作, 然后通 过业务服务器将加密数据返回给用户所持有的终端; 或者用户将待解密的数据发送至服务 器侧, 服务器侧进行解密运算后, 将校验结果反馈给用户所持有的终端。 0007 这第二种方法, 将密钥管理以及加解密运算完全放在服务器侧运行, 一台用于执 行加解密运算的服务器可以掌握大量用户的密钥信息, 当这台用于执行加解密运算的。
13、服务 器存在漏洞, 发生被入侵或者运维管理人员恶意篡改泄露等状况时, 则用户的信息安全便 无法得到保障。 0008 有鉴于此, 需要重新设计一种方法以克服上述缺陷。 发明内容 0009 本申请实施例提供一种密钥管理方法、 装置、 智能设备和存储介质, 用以解决现有 技术中存在的密钥容易泄露的技术问题。 说明书 1/10 页 4 CN 110830242 A 4 0010 本申请实施例提供的具体技术方案如下: 0011 本申请实施例的第一方面, 提供一种密钥生成方法, 包括: 0012 第一服务器针对目标终端生成相应的一个密钥对, 所述一个密钥对包括一个私钥 和一个公钥; 0013 所述第一服务。
14、器将所述一个私钥划分为多个私钥片段, 并将所述多个私钥片段分 别存储至多个第二服务器中, 以及将所述一个公钥发送至所述目标终端。 0014 本申请实施例的第二方面, 提供一种密钥管理方法, 包括: 0015 第二服务器存储相应的一个私钥片段, 所述私钥片段为第一服务器针对目标终端 生成的一个私钥中的一个片段; 0016 所述第二服务器接收目标终端发送的采用一个公钥进行加密的业务请求, 并根据 所述业务请求, 确定所述目标终端的终端标识; 所述一个公钥与所述一个私钥属于同一密 钥对; 0017 所述第二服务器根据所述目标终端的终端标识, 分别从对应的各个其他第二服务 器中获取与所述目标终端相应的。
15、私钥片段, 并对获得的多个私钥片段进行拼接, 得到完整 的所述一个私钥; 0018 所述第二服务器采用拼接后的所述一个私钥, 对所述业务请求进行解密验证。 0019 本申请实施例的第三方面, 提供一种服务器, 包括: 存储器、 处理器; 其中, 0020 存储器, 用于存储可执行指令; 0021 处理器, 用于读取并执行存储器中存储的可执行指令, 以实现如下操作: 0022 针对目标终端生成相应的一个密钥对, 所述一个密钥对包括一个私钥和一个公 钥; 0023 将所述一个私钥划分为多个私钥片段, 并将所述多个私钥片段分别存储至多个第 二服务器中, 以及将所述一个公钥发送至所述目标终端。 002。
16、4 本申请实施例的第四方面, 提供一种服务器, 包括: 存储器、 处理器; 其中, 0025 存储器, 用于存储可执行指令; 0026 处理器, 用于读取并执行存储器中存储的可执行指令, 以实现如下操作: 0027 存储相应的一个私钥片段; 所述私钥片段为第一服务器针对目标终端生成的一个 私钥中的一个片段; 0028 所述第二服务器接收目标终端发送的采用一个公钥进行加密的业务请求, 并根据 所述业务请求, 确定所述目标终端的终端标识; 所述一个公钥与所述一个私钥属于同一密 钥对; 0029 所述第二服务器根据所述目标终端的终端标识, 分别从各个其他第二服务器中获 取与所述目标终端相应的私钥片段。
17、, 并对获得的多个私钥片段进行拼接, 得到完整的所述 一个私钥; 0030 所述第二服务器采用拼接后的所述一个私钥, 对所述业务请求进行解密验证。 0031 本申请实施例中, 第一服务器针对目标终端生成相应的一个密钥对, 将密钥对中 的私钥划分为多个私钥片段, 分别存储至多个第二服务器中, 并将所述一个公钥发送至目 标终端; 第二服务器存储有相应的私钥片段, 在接收到目标终端发送的采用一个公钥进行 加密的业务请求后, 根据目标终端的终端标识, 分别从各个其他第二服务器中获取与所述 说明书 2/10 页 5 CN 110830242 A 5 目标终端相应的私钥片段, 并对获得的多个私钥片段进行拼。
18、接, 得到完整的一个私钥; 采用 拼接后的一个私钥, 对业务请求进行解密验证。 可见, 本申请实施例由于将私钥分段存储至 不同的服务器, 相比于将密钥完全暴露在终端或者一台服务器, 提高了密钥被窃取的难度, 降低了密钥以及相关数据信息被泄露的风险, 提升了密钥管理的安全性。 附图说明 0032 图1为现有技术中于终端侧进行密钥加解密运算的示意图; 0033 图2为现有技术中于服务器侧进行密钥加解密运算的示意图; 0034 图3为本申请实施例中实现密钥生成和密钥管理的场景示意图; 0035 图4为本申请实施例中密钥生成方法的一个实施例的流程示意图; 0036 图5为本申请实施例中密钥管理方法的一。
19、个实施例的流程示意图; 0037 图6为本申请实施例中密钥生成以及管理方法的一个完整实施例的应用场景示意 图; 0038 图7为本申请实施例中终端与服务器侧进行密钥同步更新的信令流程图; 0039 图8为本申请实施例中第一服务器的一个实施例的结构示意图; 0040 图9为本申请实施例中第二服务器的一个实施例的结构示意图。 具体实施方式 0041 为了解决现有技术中存在的密钥泄露风险较高的技术问题, 本申请实施例中, 在 第一服务器上生成一个密钥对, 然后将该密钥对中的私钥进行分段, 分别存储在不同的第 二服务器上, 同时将对应的完整公钥通知用户终端; 当终端用公钥加密的业务请求到来时, 承接该。
20、次请求的第二服务器去其他各个第二服务器获取存储的私钥片段然后拼接成完整 私钥, 并使用拼接好的私钥对终端请求进行解密验证。 0042 下面结合附图对本申请可选的实施方式作出进一步详细说明: 0043 本申请实施例提供一种密钥生成方法以及密钥管理方法, 基于多台服务器实施。 参阅图3所示, 于服务器侧, 设有多台服务器, 基于第一服务器实施密钥生成方法, 基于第二 服务器实施密钥管理方法。 作为一种可实施方式, 一台第一服务器对应设置多台第二服务 器。 0044 本申请实施例中, 第一服务器为用于生成密钥的服务器, 可选择具备相应功能的 任一台服务器作为第一服务器, 例如, 密钥管理服务器作为第。
21、一服务器; 第二服务器为承接 目标终端的业务请求和业务响应的、 存储有私钥片段的服务器, 可选择任一台可执行相应 功能的服务器作为第二服务器, 例如业务服务器作为第二服务器。 0045 参阅图4所示, 本申请实施例提供的一种密钥生成方法的具体流程如下: 0046 S401: 第一服务器针对目标终端生成相应的一个密钥对, 其中, 所述一个密钥对包 括一个私钥和一个公钥, 所述一个私钥和所述一个公钥互为加解密密钥。 0047 针对所述目标终端生成相应的一个密钥对的方式可以包括以下两种: 0048 方式一, 定期生成方式。 0049 第一服务器按照预设的时间间隔, 针对所述目标终端生成相应的一个密钥。
22、对。 0050 具体的, 所述方式一为定期更新密钥的方式, 按照预设的时间间隔或者周期, 每隔 说明书 3/10 页 6 CN 110830242 A 6 一个预设的时间间隔或者周期, 定时生成一个密钥对。 生成的私钥或公钥的位数可以为预 设固定值, 也可以随机变化。 即, 在生成私钥或公钥时, 可以随机生成位数为固定预设长度 的私钥或公钥, 也可以随机生成位数不同的私钥或公钥。 0051 例如, 可以预先设置生成周期即一个时间间隔为20分钟, 密钥位数为256位; 则每 隔20分钟, 随机生成一个新的密钥对, 密钥对中的私钥或者公钥的位数为固定值1024; 0052 又例如, 优选地, 可以。
23、预先设置生成周期为15分钟, 生成的密钥位数随机选择; 则 每隔15分钟, 随机生成不同位数的新的密钥对。 例如, 可以设置生成的密钥位数范围为128- 1024位, 从中随机选择一个长度作为当前生成的密钥的位数, 例如128位、 256位、 1024位等 等。 0053 方式二, 不定期生成方式。 0054 在所述方式二中, 第一服务器生成密钥对的时间点不固定。 0055 具体的, 第一服务器还可以随机选择一个时间点生成新的密钥对, 为了保证密钥 更新的可控性, 需要预设一个更新密钥的时间间隔的取值范围, 以及设定首次更新密钥的 时间点的取值范围, 使第一服务器基于该预设的取值范围内进行密钥。
24、更新。 0056 例如, 设置在每天00:0000:30之间, 进行当天第一次密钥更新, 而后的每次的密 钥更新时间点与上一次密钥更新的时间点的间隔为10-30分钟之间随机选择, 到达当天24: 00则清零, 继续下一天的密钥更新。 0057 这种方式由于更新时间点的相对随机性, 会进一步增大攻击者破解密钥的难度, 安全性更高。 但也由于密钥的随机更新, 需要做好服务器与终端之间对于密钥更新的协调 工作。 0058 进一步地, 在采用方式一或方式二生成密钥对之后, 第一服务器每生成一个密钥 对, 根据所述一个密钥对的生成时间, 对应记录所述密钥对的时间戳, 以及在接收到所述目 标终端发送的用于。
25、获取所述时间戳和所述时间间隔的请求后, 第一服务器将所述时间戳和 所述时间间隔发送至所述目标终端。 0059 对于上述方式一所述的定期更新方式, 则将生成密钥对的时间戳和预设的时间间 隔直接发送至所述目标终端即可; 0060 对于上述方式二所述的不定期更新方式, 则需要在生成本次密钥对记录时间戳的 同时, 从预设的时间间隔取值范围内随机选择一个时间, 作为本次更新与下一次更新的时 间间隔, 发送至所述目标终端, 并且下一次更新的时间点, 严格按照发送至所述目标终端的 时间间隔来执行, 以保证所述目标终端获取到的公钥的有效性。 例如, 当前本次更新的时间 点为10:30, 记录时间戳为10:30。
26、, 同时随机选择下一次更新的时间间隔为10分钟, 则将时间 戳10:30和时间间隔10分钟一并发送至所述目标终端; 10分钟后发生下一次更新, 生成了新 的密钥对, 此时记录时间戳为10:40, 并随机选择时间间隔为20分钟, 则将时间戳10:40和时 间间隔20分钟发送至所述目标终端, 再下一次生成新的密钥对的时间点即为11:00, 以此类 推。 0061 S402: 第一服务器将所述一个私钥划分为多个私钥片段, 并将多个私钥片段分别 存储至多个第二服务器中。 0062 将所述一个私钥划分为多个私钥片段的方式可以包括如下两种: 0063 方式一, 均分或近似均分的划分方式。 说明书 4/10。
27、 页 7 CN 110830242 A 7 0064 即, 按照位数长度平均分割的算法将一个完整的私钥分段分别存储在不同的第二 服务器上。 0065 例如, 私钥的位数为1024, 第二服务器的数量为4, 则平均划分为4个私钥片段, 每 个私钥片段的位数为256, 分别存储至第二服务器上; 私钥的位数为256, 第二服务器的数量 为6, 则其中有五台第二服务器每台存储的私钥片段位数为42, 剩余一台第二服务器存储的 私钥片段为46位。 即尽可能均等的方式对私钥进行划分, 当不能完全平均分配时, 则使其中 一台第二服务器对应多存储或者少存储几位。 0066 方式二, 非均分的划分方式。 0067。
28、 例如, 私钥的位数为1024, 第二服务器的数量为5, 划分为位数分别为128、 128、 256、 256、 256的四个私钥片段, 分别存储至第二服务器。 私钥划分的方式有多种, 本申请实 施例不逐一列举。 0068 之后, 第一服务器生成与所述目标终端相应的一个标识信息集合, 并将所述一个 标识信息集合分别发送至所述多个第二服务器。 0069 其中, 标识信息集合与目标终端为一一对应关系, 一个目标终端生成一个标识信 息集合。 标识信息集合, 用于记录所述目标终端的终端标识和对应的各个第二服务器的服 务器标识, 其中, 对应的各个第二服务器, 为存储有针对所述目标终端生成的一个私钥的私。
29、 钥片段的服务器。 0070 进一步地, 所述标识信息集合中, 不仅记录有每个第二服务器的服务器标识, 还应 记录每一第二服务器所存储有的私钥片段在整个私钥中的位置信息, 例如, 位置信息可以 是位置序号, 位置序号为1, 则表示为私钥的第一个片段, 位置序号为2, 则表示为私钥的第 二个片段。 0071 S403: 第一服务器将所述一个公钥发送至所述目标终端。 0072 作为一种可实施方式, 可以是第一服务器在生成新的密钥对之后, 自动向所述目 标终端发送新的公钥; 0073 也可以是第一服务器在接收到所述目标终端发送的用于获取公钥的请求消息后, 将所述一个公钥发送至所述目标终端。 0074。
30、 参阅图5所示, 本申请实施例提供的一种密钥管理方法的具体流程如下: 0075 S501: 第二服务器存储相应的一个私钥片段, 所述私钥片段为第一服务器针对目 标终端生成的一个私钥中的一个片段。 0076 可选的, 在第二服务器存储相应的一个私钥片段的过程中, 进一步存储与所述目 标终端对应的一个标识信息集合。 0077 一个标识信息集合中, 记录有所述目标终端的终端标识和存储有所述一个私钥的 私钥片段的各个第二服务器的服务器标识。 0078 S502: 第二服务器接收目标终端发送的采用一个公钥进行加密的业务请求, 并根 据所述业务请求, 确定所述目标终端的终端标识; 所述一个公钥与所述一个私。
31、钥属于同一 密钥对。 0079 其中, 所述一个公钥与所述一个私钥属于同一密钥对, 可以互相加解密。 0080 第二服务器首先需要根据所述目标终端发送的业务请求, 确定出该所述目标终端 的终端标识, 进而确定所述目标终端的身份, 以获取所述目标终端所对应的一个私钥。 说明书 5/10 页 8 CN 110830242 A 8 0081 S503: 第二服务器根据所述目标终端的终端标识, 分别从对应的各个其他第二服 务器中获取与所述目标终端相应的私钥片段, 并对获得的多个私钥片段进行拼接, 得到完 整的所述一个私钥。 0082 第二服务器预将私钥拼接完整时, 需要从其他第二服务器获取其他的私钥片。
32、段。 具体地, 第二服务器根据所述目标终端的终端标识, 从所述一个标识信息集合中, 读取多个 第二服务器的服务器标识; 并根据读取到的多个所述服务器标识, 从各个其他第二服务器 中, 获取相应的私钥片段。 0083 由于S402中已经阐述, 每个第二服务器均存储有目标终端对应的标识信息集合, 因此根据该标识信息集合, 承接业务的第二服务器可获得存储有其他私钥片段的第二服务 器的服务器标识, 根据该标识信息, 可到相应的其他第二服务器获取相应的私钥片段。 0084 并且, 可选的, 标识信息集合中还存储有各个私钥片段在完整的私钥中的位置信 息, 根据每个私钥片段的位置信息, 可拼接出完整的一个私。
33、钥。 例如, 位置信息为序号时, 可 直接根据各个私钥片段的位置序号的大小, 按照顺序进行拼接, 得到划分前的一个完整的 私钥。 0085 S504: 第二服务器采用拼接后的所述一个私钥, 对所述业务请求进行解密验证。 0086 当所述目标终端用所述一个公钥加密的业务请求到来时, 承接该次请求的第二服 务器去其他各个第二服务器获取存储的私钥片段然后拼接成完整私钥, 并使用拼接好的私 钥对终端请求进行解密验证; 0087 同样, 当第二服务器对所述目标终端的业务请求进行响应返回结果时, 所述目标 终端用其拥有的所述一个公钥进行解密来确保所述目标终端收到的响应结果合法, 并根据 第二服务器的返回结。
34、果做出对应的权益判断。 0088 终端侧和服务器侧的交互分为请求类和响应类两种: 0089 当所述目标终端向业务服务器发起请求时, 例如, 当所述目标终端的用户发起对 某个商品的价格查询请求时, 所述目标终端可将请求参数用公钥进行加密处理, 当业务服 务器接收到该业务请求后, 按照约定协议通过服务器间暴露的getKey()接口获取其他私 钥片段, 并与自身存储的私钥片段拼接后, 得到一个完整的私钥, 采用拼接后的私钥对所述 目标终端的加密后的业务请求进行解密, 并对解密后的部分敏感参数进一步进行数据库比 对校验。 0090 同样的, 当业务服务器对所述目标终端的请求作出响应时, 用完整私钥对响。
35、应内 容进行签名或者加密, 所述目标终端收到响应后用所述一个公钥进行解密并据此对用户操 作作出响应。 0091 为保证密钥更新后所述目标终端与服务器的密钥一致性, 对于所述目标终端而 言, 还需执行以下步骤: 0092 向第一服务器发送获取公钥的请求, 并接收第一服务器发送的所述一个公钥; 采 用所述一个公钥对业务请求进行加密, 将加密后的所述业务请求发送至所述第一服务器。 0093 具体地, 接收所述第一服务器发送的一个公钥, 进一步包括接收所述第一服务器 发送的所述一个公钥的时间戳和时间间隔; 0094 采用所述一个公钥对业务请求进行加密之前, 进一步包括: 计算当前时间与所述 时间戳的时。
36、间差; 比较所述时间差和所述时间间隔, 当所述时间差大于或者等于所述时间 说明书 6/10 页 9 CN 110830242 A 9 间隔时, 则再次向所述第一服务器发送获取公钥的请求; 并再次接收所述第一服务器发送 的一个公钥; 当所述时间差小于所述时间间隔时, 则将再次接收到的一个公钥, 作为对业务 请求进行加密的公钥。 0095 例如, 当所述目标终端接收到的时间戳为10:30、 时间间隔为15分钟, 而当前时间 为10:40, 则时间差10:4010:3010分钟, 10分钟15分钟, 则当前的公钥为有效公钥; 若当前时间为10:48, 则时间差为18分钟15分钟, 则当前的公钥为无效。
37、公钥, 需要向服务 器侧重新获取新的公钥。 需要说明的是, 当前时间与所述时间戳的时间差刚好等于时间间 隔时, 所述目标终端也需再次向所述第一服务器发送获取公钥的请求。 0096 需要说明的是, 在特殊情况下, 第一服务器和第二服务器可以为同一类别服务器, 即上述密钥生成方法和密钥管理方法可以仅由多个第一服务器实施, 而不需要第二服务器 的参与; 或者仅由多个第二服务器实施, 而无需第一服务器的参与, 这两种特殊情形下也能 完成本申请实施例所提供的密钥生成方法和密钥管理方法。 例如, 当由于一些特定原因, 无 法采用密钥管理服务器进行密钥的更新时, 则采用业务服务器定时或者不定期更新密钥, 并。
38、将更新的私钥分段后分发到各个其他业务服务器, 并由业务服务器承接所述目标终端的 业务请求。 0097 本申请实施例提供的密钥生成以及管理方法, 将私钥划分为多个私钥片段, 分别 在多个第二服务器上存储, 既可以避免终端对密钥的泄露风险, 又可降低某一个服务器被 黑或者运维人员故意泄露密钥的风险。 另外, 即使个别服务器的运维人员泄露了本服务器 上的部分密钥片段, 由于各个服务器上的密钥片段可以是以定时或者不定时的方式每隔一 段时间随机生成并更新, 即使当前密钥被泄露, 也可将风险降到最低。 0098 下面列举本申请实施例提供的密钥生成以及管理方法的一个完整实施例: 0099 参阅图6所示, 在。
39、该实施例中, 以密钥管理服务器作为第一服务器, 以业务服务器 作为第二服务器。 一台密钥管理服务器对应多台业务服务器, 包括业务服务器A、 业务服务 器B和业务服务器C。 0100 并且, 作为一种优选实施方式, 终端1和终端2的业务请求和相关消息经反向代理 服务器Ngnix与业务服务器A、 B、 C以及密钥管理服务器进行交互。 其中, 终端1为当前向服务 器侧发送业务请求的终端, 定义为所述目标终端。 0101 密钥管理服务器上配置一个定时任务程序cronjob, 每隔一定时间段, 如每隔15分 钟, 随机生成一个包含数字和字母的特定长度私钥。 0102 具体地, 在本申请实施例中, 采用非。
40、对称加密RSA(Ron Rivest、 Adi Shamir、 Leona rd Ad leman) 算法 , 通过 相应的 程序命令在当前目 录下生产文件 名为 RSAprivatekey.pem中生成1024位长度的私钥。 对应地, 采用同样的算法生成对应的公钥, 存放到public.pem文件中。 0103 密钥管理服务器按照最简单平均分段方法, 将RSAprivatekey.pem文件中的私钥 按照长度进行分片, 分别存储在不同的业务服务器, 若一共有N台业务服务器, 则分成N部 分, 定义私钥长度为length, 那么每台业务服务器存储的私钥片段的长度为length/NM, 分别存储。
41、在各台业务服务器上。 例如, 业务服务器A存储其中的前M位, 业务服务器B存储中 间M位, 业务服务器C存储下一M位, 以此类推, 最后一台业务服务器存储后length-(N-1)*M 位。 说明书 7/10 页 10 CN 110830242 A 10 0104 作为一种可实施方式, 将文件public.pem中的公钥存放在nginx服务器以供所述 目标终端获取。 0105 当终端1(即所述目标终端)的请求通过负载均衡落在业务服务器C上进行业务请 求时, 业务服务器C通过约定协议定义的getKey()分别去业务服务器A和业务服务器B上获 取其他密钥片段, 然后用拼接后的完整的私钥, 对终端1。
42、的业务请求进行解密, 并对解密后 的参数进行合法性验证。 如此可以确保服务器接收到的业务请求所来自的终端的合法性。 还可以对解密后的明文参数进一步和数据库比对以保证其请求的合法性。 0106 然后, 服务器侧对终端的请求处理后的响应以密文方式传输给终端, 仅能在拥有 公钥的终端设备上进行解密并对用户操作作出相应的响应。 0107 由于公钥和私钥的生成是通过密钥管理服务器通过定时任务或者非定时任务每 隔一段时间来生成的, 并在各个业务服务器同步更新的, 同步生成对应的公钥之后, 将其存 储在nginx反向代理服务器。 这就要求在任何时间点, 都要确保终端拿到的公钥是和密钥管 理服务器生成的私钥是。
43、配对的。 0108 在该完整实施例中, 参阅图7所示, 作为一种可实施方式, 密钥管理服务器在生成 密钥时会同时在nginx服务器存储一个生成密钥的时间戳和定时任务的更新间隔时间。 在 所述目标终端的用户登录时可通过getPublicKey()从Nginx服务器快速获得对应的公钥、 公钥生成的时间戳以及定时任务更新时间间隔。 0109 所述目标终端一旦获取到时间戳和定时任务时间间隔, 通过比较公钥生成的时间 戳和当前时间的差值与定时任务的时间间隔的大小来决定是否从Nginx服务器重新拉取一 次公钥。 若差值大于定时任务的时间间隔则需通过getPublicKey()重新获取一次公钥, 若 小于则。
44、表示密钥管理服务器还未更新公钥, 所述目标终端可不必重新拉取公钥。 0110 极端场景下, 若所述目标终端拿到的公钥和Nginx服务器上存储的公钥并非一致 或者在业务服务器上未能正确解密, 则向所述目标终端返回特定错误码标识return “error_code” :1001, “message” :” 解密失败” , 当所述目标终端收到该请求后则重新从 Nginx拉取一次公钥和时间戳, 并用新的公钥重试一次业务请求。 0111 经上述步骤, 公钥和私钥在服务器侧和终端侧的实时更新可确保同步。 0112 基于同一发明构思, 参阅图8所示, 本申请实施例还提供一种服务器(所述第一服 务器), 包括。
45、: 存储器801和处理器802, 其中, 0113 存储器801, 用于存储可执行指令; 0114 处理器802, 用于读取并执行存储器中存储的可执行指令, 以实现如下操作: 0115 针对所述目标终端生成相应的一个密钥对, 所述一个密钥对包括一个私钥和一个 公钥; 将所述一个私钥划分为多个私钥片段, 并将所述多个私钥片段分别存储至多个第二 服务器中, 以及将所述一个公钥发送至所述目标终端。 0116 可选的, 在针对所述目标终端生成相应的一个密钥对时, 处理器802, 具体用于执 行以下操作: 0117 按照预设的时间间隔, 针对所述目标终端生成相应的一个密钥对。 0118 进一步的, 在将。
46、所述一个私钥划分为多个私钥片段, 并将所述多个私钥片段分别 存储至多个第二服务器之后, 处理器802, 还用于执行以下操作: 0119 记录所述多个第二服务器的服务器标识, 生成相应的标识信息集合, 通过收发机 说明书 8/10 页 11 CN 110830242 A 11 分别发送至所述多个第二服务器。 0120 可选的, 处理器802, 在将所述一个公钥发送至所述目标终端时, 具体用于执行以 下操作: 0121 在接收到所述目标终端发送的用于获取公钥的请求消息后, 通过收发机将所述一 个公钥发送至所述目标终端。 0122 进一步的, 在针对所述目标终端生成相应的一个密钥对时, 处理器802。
47、, 还用于执 行以下操作: 0123 每生成一个密钥对, 根据所述一个密钥对的生成时间, 对应记录所述密钥对的时 间戳, 以及在接收到所述目标终端发送的用于获取所述时间戳和所述时间间隔的请求后, 通过收发机将所述时间戳和所述时间间隔发送至所述目标终端。 0124 基于同一发明构思, 参阅图9所示, 本申请实施例还提供一种服务器(所述第二服 务器), 包括: 存储器901和处理器902, 其中, 0125 存储器901, 用于存储可执行指令; 0126 处理器902, 用于读取并执行存储器中存储的可执行指令, 以实现如下操作: 0127 存储相应的一个私钥片段; 所述私钥片段为第一服务器针对目标。
48、终端生成的一个 私钥中的一个片段; 0128 所述第二服务器接收目标终端发送的采用一个公钥进行加密的业务请求, 并根据 所述业务请求, 确定所述目标终端的终端标识; 所述一个公钥与所述一个私钥属于同一密 钥对; 0129 所述第二服务器根据所述目标终端的终端标识, 分别从各个其他第二服务器中获 取与所述目标终端相应的私钥片段, 并对获得的多个私钥片段进行拼接, 得到完整的所述 一个私钥; 0130 所述第二服务器采用拼接后的所述一个私钥, 对所述业务请求进行解密验证。 0131 可选的, 在存储相应的一个私钥片段的过程中, 处理器902, 进一步用于实现以下 操作: 0132 存储与所述目标终。
49、端对应的一个标识信息集合。 所述一个标识信息集合, 用于记 录所述目标终端的终端标识和存储有所述一个私钥的私钥片段的各个第二服务器的服务 器标识。 0133 可选的, 在根据所述目标终端的终端标识, 分别从对应的各个其他第二服务器中 获取与所述目标终端相应的私钥片段时, 处理器902, 具体用于实现以下操作: 0134 根据所述目标终端的终端标识, 从所述一个标识信息集合中, 读取多个第二服务 器的服务器标识; 第二服务器根据读取到的多个所述服务器标识, 从各个其他第二服务器 中, 获取相应的私钥片段。 0135 基于同一发明构思, 本申请实施例还提供一种存储介质, 当存储介质中的指令由 处理。
50、器执行时, 使得能够执行如上述任一项所述的密钥生成方法或者密钥管理方法。 0136 本申请实施例提供的密钥生成、 管理方法和服务器, 由于将私钥分段后分别存储 在服务器侧的不同第二服务器中, 首先所述目标终端的本地环境安全问题不会导致密钥泄 露; 其次, 当其中一个服务器被攻击而出现问题, 或者运维人员故意泄露时, 攻击者也无法 一次得到全部用户密钥, 并且, 进一步地, 本申请实施例还在密钥分段存储机制的基础上, 说明书 9/10 页 12 CN 110830242 A 12 还提供密钥更新机制, 密钥会每隔一段时间会自动更新, 这两种机制下, 密钥泄露的两种风 险均可得到有效规避, 大大增。
- 内容关键字: 密钥 生成 管理 方法 服务器
井用踏步.pdf
油田用平板闸阀密封连接结构.pdf
混凝土搅拌装置.pdf
用于针织设备的供纱机构.pdf
魔方.pdf
防拱装置.pdf
2-乙基蒽醌生产用废酸处理装置.pdf
零件加工定位工装.pdf
水基压裂液搅拌装置.pdf
气动式料带接料台.pdf
电缆生产用托架.pdf
气体环境检测装置.pdf
建筑工程桩.pdf
混凝土保温体系.pdf
自动钉裤袢装置.pdf
无电动力驱动装置.pdf
多功能的离心泵生产加工装置.pdf
静脉设备摄像头模组异常检测的方法和系统.pdf
微模块机房环境监控方法及系统.pdf
供排水设备关联数据在线监测方法及系统.pdf
基于平均队列长度变化趋势的网络自适应拥塞控制方法.pdf
结合事件日志和知识图谱的流程操作序列生成方法及系统.pdf
计算机控制设备的运行功率监测系统.pdf
雷达产品的测试系统及测试方法.pdf
纬纱绕卷装置.pdf
基于代谢组学和人工智能技术的肺腺癌早期诊断标志物及其应用.pdf
基于大模型的信息校验方法及装置.pdf
带有升降旋转摄像头的智能手表拍照控制方法及系统.pdf
公路施工用岩土取样装置.pdf
能够快速调节的建筑施工用垂直检测设备.pdf
中央空调冷热源节能智控系统.pdf
水上天然气管道支护结构.pdf
一种剪切波弹性成像方法及装置.pdf
一种改良型环甲膜穿刺针.pdf
一种轮廓采集装置及配准定位的方法.pdf
睡眠监测系统、方法、装置、设备和存储介质.pdf
神经根保护性内镜工作通道.pdf
中药挥发油包合物及其制备方法.pdf
提高硬度的辛伐他汀组分及其制备方法.pdf
一种适合糖尿病患者服用的石斛西洋参含片及其制备方法.pdf
用于使用多轴力和力矩反馈插入手术工具的系统和方法.pdf
一种治疗消化性溃疡的药物及制备方法.pdf
机器人手术组合件及其器械驱动单元.pdf
高密封性的穿刺器.pdf
一种超声波手术刀.pdf
电外科能量发生器的控制系统.pdf
一种双腔卵母细胞采集器.pdf
一种评估血流储备分数的方法及装置、设备、存储介质.pdf
液体药物组合物以及应用.pdf
一种缬沙坦胶囊及其制备方法.pdf
带预紧功能的扭力限制扳手.pdf