CN113517981B - 一种密钥管理方法、代码版本的管理方法及装置 - Google Patents
一种密钥管理方法、代码版本的管理方法及装置 Download PDFInfo
- Publication number
- CN113517981B CN113517981B CN202110468524.3A CN202110468524A CN113517981B CN 113517981 B CN113517981 B CN 113517981B CN 202110468524 A CN202110468524 A CN 202110468524A CN 113517981 B CN113517981 B CN 113517981B
- Authority
- CN
- China
- Prior art keywords
- key
- encryption key
- password
- request
- information encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Abstract
本申请公开了一种密钥管理方法、代码版本的管理方法及装置,密钥管理方法,包括:接收第一请求;响应于第一请求,接收第一口令;对第一口令进行加密,获得第一密钥加密密钥;响应于第一请求,生成第一信息加密密钥;利用第一密钥加密密钥对第一信息加密密钥进行加密,获得第一加密后的信息加密密钥并保存。本申请中用于生成密钥的口令无需存放在计算机中或随身携带,并且生成的密钥被保存在安全云端,提高了密钥管理的方便性和安全性。
Description
技术领域
本申请涉及计算机技术领域,更具体地,涉及一种密钥管理方法、代码版本的管理方法及装置。
背景技术
在软件开发等存在数据存储安全的项目中,选择一个有效的且安全的加密算法是一个很复杂的问题。如果使用对称加密算法,算法的强度具有一定的安全性,但存在一个很大的问题就是密钥的保存问题。如果将密钥放在计算机系统中,则存在密钥泄露的同时计算机中数据也泄露的风险;如果将密钥存储在存储将介质中随身携带,则携带不方便,并且一旦遗失,则会导致无法解密。
在项目开发或更新过程中,通常使用代码版本控制系统对代码版本进行管理,实现代码版本的随时更新和随时回退。例如,制丝车间是卷烟厂生产加工的首道工序,其中,制丝设备的种类繁多,工序复杂,每道工序的设备都拥有设备控制程序,且设备可能会随时更换,再加上设备的更新换代,导致制丝设备的设备控制程序(通常为PLC代码)更新迅速,因此,引入代码版本控制系统对设备控制程序进行管理。
现有技术中,通常使用Git作为代码版本控制系统,其速度快,性能好,且Git支持分布式,更符合多人协作的应用场景。但是,一般项目不可在被代码版本控制系统控制的情况下使用加密技术保护。一方面是因为现存的代码版本控制系统不存在加密解密功能,Git也是如此,Git的核心算法不允许进行各种加密,因为这样违背了Git文本差异算法-diff算法的前提。另一方面,这些项目全部都是文本,在被IDE打开后项目视图依然是操作系统的文本结构,如果加密,则不同版本之间不能比对。
但是,项目代码未进行加密,而是暴露在操作系统的资源环境中,很容易被恶意盗取非法使用,严重的甚至修改代码。并且在使用PLC代码控制制丝设备的场景下,PLC代码被恶意修改后会导致制丝设备不能正常工作。
发明内容
本申请提供一种密钥管理方法、代码版本的管理方法及装置,用于生成密钥的口令无需存放在计算机中或随身携带,并且生成的密钥被保存在安全云端,提高了密钥管理的方便性和安全性。
本申请提供了一种密钥管理方法,包括:接收第一请求;响应于第一请求,接收第一口令;对第一口令进行加密,获得第一密钥加密密钥;响应于第一请求,生成第一信息加密密钥;利用第一密钥加密密钥对第一信息加密密钥进行加密,获得第一加密后的信息加密密钥并保存。
优选地,对第一口令进行加密,获得第一密钥加密密钥,包括:生成第一盐值;利用第一盐值对第一口令进行加盐处理,获得第一密钥;对第一密钥进行多次迭代散列操作,获得第一密钥加密密钥。
优选地,将第一加密后的信息加密密钥保存在安全云端。
优选地,将第一盐值和第一加密后的信息加密密钥保存在安全云端。
本申请还提供了一种密钥管理方法,包括:接收第二请求;响应于第二请求,接收第二口令;响应于第二请求,接收第二加密后的信息加密密钥;依据第二口令获得第二密钥加密密钥;利用第二密钥加密密钥解密第二加密后的信息加密密钥,获得第二信息加密密钥。
优选地,依据第二口令获得第二密钥加密密钥,包括:生成第二盐值;利用第二盐值对第二口令进行加盐处理,获得第二密钥;对第二密钥进行多次迭代散列操作,获得第二密钥加密密钥。
本申请还提供了一种代码版本的管理方法,包括:接收第一数据处理请求;响应于第一数据处理请求,接收第三口令;对第三口令进行加密,获得第三密钥加密密钥;响应于第一数据处理请求,生成第三信息加密密钥;利用第三信息加密密钥对第一数据处理请求中的待处理数据进行加密,获得加密数据;利用第三密钥加密密钥对第三信息加密密钥进行加密,获得第三加密后的信息加密密钥并保存。
优选地,对第三口令进行加密,获得第三密钥加密密钥,包括:生成第三盐值;利用第三盐值对第三口令进行加盐处理,获得第三密钥;对第三密钥进行多次迭代散列操作,获得第三密钥加密密钥。
优选地,还包括:接收第二数据处理请求;响应于第二数据处理请求,接收第四口令;响应于第二数据处理请求,接收第四加密后的信息加密密钥和第四盐值;依据第四口令和第四盐值获得第四密钥加密密钥;利用第四密钥加密密钥解密第四加密后的信息加密密钥,获得第四信息加密密钥;利用第四信息加密密钥解密第二数据处理请求中的待处理数据。
本申请还提供了一种代码版本的管理装置,包括密钥管理模块,密钥管理模块执行上述的代码版本的管理方法。
通过以下参照附图对本申请的示例性实施例的详细描述,本申请的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且连同其说明一起用于解释本申请的原理。
图1为本申请提供的密钥管理方法中的加密流程图;
图2为本申请提供的密钥管理方法中的解密流程图;
图3为本申请提供的代码版本的管理系统的结构示意图;
图4为本申请提供的代码版本的管理系统的数据传输原理图;
图5为本申请提供的代码版本的管理方法的加密流程图;
图6为本申请提供的代码版本的管理方法的解密流程图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
实施例一
本申请提供了一种密钥管理方法,该密钥管理方法用于软件开发的本地计算机中。
图1为本申请提供的密钥管理方法中的加密流程图。如图1所示,加密流程包括如下步骤:
S110:接收第一请求。具体地,第一请求可以是客户端发起本地保存数据、下载数据至本地保存等请求。
S120:响应于第一请求,接收第一口令。
响应于接收到第一请求,密码管理模块触发口令输入命令,用户通过客户端的输入设备输入第一口令。
S130:对第一口令进行加密,获得第一密钥加密密钥(Key-encrypting key,KEK)。
优选地,采用如下步骤对第一口令进行加密,获得第一密钥加密密钥;
S1301:利用伪随机数生成器生成的随机比特序列作为第一盐值。
S1302:利用第一盐值对第一口令进行加盐处理,获得第一密钥。
S1303:对第一密钥进行多次迭代散列操作,获得第一密钥加密密钥。
优选地,散列操作采用单向散列函数。更优选地,散列操作采用SHA-1哈希算法,SHA-1可以生成一个被称为消息摘要的160位散列值,并且通过多次迭代此算法保证了信息的安全性。
如果存在恶意攻击者,破解不加盐的密钥加密密钥,每一次生成可能的KEK就要花费很多的时间,而为了破解通过该优选实施例获得的密钥加密密钥,需要庞大的候选KEK空间,时间更不能接受,因此更加保证了安全性。并且,攻击者需要尝试的时间随着迭代次数的增加而增加,时间理论上是不可接受,因此保证了密钥的安全性。
S140:响应于第一请求,生成第一信息加密密钥。
采用伪随机数生成器生成第一信息加密密钥,该信息加密密钥用于对第一请求中的待处理数据进行加密。
S150:利用第一密钥加密密钥对第一信息加密密钥进行加密,获得第一加密后的信息加密密钥并保存。
作为一个实施例,采用对称加密算法对第一信息加密密钥进行加密,可以选择DES、3DES、RC5等对称加密算法。
优选地,采用Rijndael算法对第一信息加密密钥进行加密。由于Rijndael算法需要的第一密钥加密密钥为128比特,因此,在对第一密钥进行多次迭代散列操作生成160比特的散列值后,截取其中的128比特作为第一密钥加密密钥。作为一个实施例,截取前128比特作为第一密钥加密密钥。
盐和加密后的信息加密密钥的保存也是极为重要的,如果存放在本地,则大大降低了密钥的安全性。因此,本申请中,将盐和第一加密后的信息加密密钥单独保存在安全云端,并且通过TLS协议进行盐和第一加密后的信息加密密钥的传输,以防止恶意人员从传输路径中截取信息。
优选地,将盐和第一加密后的信息加密密钥组合(如拼接)后保存在安全云端。
该加密流程中,S120和S130用于利用第一口令获得第一密钥加密密钥,S140用于生成第一信息加密密钥。这两个过程可以同步进行,也可以先后进行,先后进行时不限先后顺序。
图2为本申请提供的密钥管理方法中的解密流程图。该解密流程与加密流程对应。如图2所示,解密流程包括如下步骤:
S210:接收第二请求。第二请求可以是打开本地数据、本地数据上传等请求。
S220:响应于第二请求,接收第二口令。
响应于接收到第二请求,密码管理模块触发口令输入命令,用户通过客户端的输入设备输入第二口令。
S230:响应于第二请求,接收第二加密后的信息加密密钥。
根据上述加密流程,加密后的信息加密密钥保存在安全云端,因此该步骤中,从安全云端的数据库获取第二加密后的信息加密密钥。
根据加密流程的优选实施例,利用盐和口令获得密钥加密密钥,并且盐值也被保存在安全云端,因此,在从安全云端的数据库获取第二加密后的信息加密密钥的同时获得了第二盐值。
S240:依据第二口令获得第二密钥加密密钥。
获得第二密钥加密密钥的方法与加密流程相同。
在优选实施例中,依据第二口令获得第二密钥加密密钥包括如下步骤:
S2401:利用第二盐值对第二口令进行加盐处理,获得第二密钥。
S2402:对第二密钥进行多次迭代散列操作,获得第二密钥加密密钥。
S250:利用第二密钥加密密钥解密第二加密后的信息加密密钥,获得第二信息加密密钥。第二信息加密密钥用于解密第二请求中的待处理数据。
对第二加密后的信息加密密钥的解密方法与上述的加密过程对应。
在优选实施例中,采用Rijndael算法对第二加密后的信息加密密钥进行解密。
在解密流程中,S220和S230可以同步进行,也可以先后进行,先后进行时先后顺序不做限定。
采用上述的加密和解密方法,如果第二口令是错误的,则获得的第二信息加密密钥无法解密第二请求中的待处理数据,用户通过解密出现错误即可知晓其输入的第二口令是错误的。
本申请还提供了一种与密钥管理方法匹配的密钥管理模块,用于实现密钥的管理。
该实施例中,用于生成密钥的口令无需存放在计算机中或随身携带,并且生成的密钥被保存在安全云端,提高了密钥管理的方便性和安全性。
该实施例中,通过盐值增加了密钥加密密钥的安全性,并且利用密钥加密密钥加密信息加密密钥,将加密后的信息加密密钥作为保存的密钥,大大提高了密钥的盗取难度,为数据安全提供了坚实的基础。
实施例二
本申请还提供了一种代码版本的管理系统,将该系统中的客户端作为代码版本的管理装置。
如图3所示,代码版本的管理系统包括服务器、代码版本存储器以及多个客户端(图中仅示出一个客户端)。
代码版本存储器用于存储代码的各个版本,方便代码的溯源和调用。
优选地,代码版本存储器采用分布式版本控制系统Git。
在上述基础上,如图3所示,客户端包括工作区、缓存区、仓库区以及代码更新状态模块。客户端可以由开发人员或管理人员来操作。开发人员利用客户端(如博图软件)对代码进行编辑、修改等更新操作,并将更新后的代码版本存储到缓存区(例如通过添加(add)操作),缓存区的代码不定期或定期存储到仓库区(例如通过提交(commit)操作)。作为一个实施例,仓库区对代码版本的存储方式与Git相同。需要说明的是,添加操作和提交操作中需要对代码版本进行加密。
客户端可以从服务器获取一个完整的代码版本(例如通过克隆(clone)操作)和复制一个代码版本(例如通过复制(fetch)操作)到本地客户端的仓库区,或从服务器直接拉取(pull)某个代码版本到工作区,对代码进行合并操作。作为一个实施例,clone操作中,将代码版本(例如,本地客户端中未存储的代码或代码分支)复制到本地客户端,新建一个与服务器同名的代码或代码分支保存在仓库区。作为一个实施例,fetch操作中,将服务器的最新代码版本拉到本地客户端,客户端的操作人员在检查该最新代码版本后决定是否将其合并到本地客户端中对应的代码或代码分支中。需要说明的是,在复制、克隆和拉取操作中,Web服务器向本地客户端传输数据时利用传输协议对目标代码版本进行加密和解密,保证了传输的安全性。在客户端接收到目标代码版本后,用户打开该代码版本后需要保存时,采用本申请的密钥管理方法进行加密。
可以理解地,本申请中,客户端与服务器之间的数据传输均采用传输协议来保护数据的安全。
作为一个实施例,代码更新状态模块是客户端后台的定时常驻服务(例如,客户端的code-status模块)。如图3所示,代码更新状态模块与仓库区、缓存区和工作区连接,其定时检查本地客户端目录下的代码更新情况、代码更新日志、代码存储情况和代码提交情况,获得更新后的代码版本的当前存储位置及更新后的代码版本的提交标识,形成代码更新状态并将代码更新状态发送给服务器。其中,当前存储区域为工作区、缓存区或仓库区。其中,本地客户端为代码更新状态的信息预设了口令,并预存在本地客户端。在本地客户端中通过调用该预设口令将代码更新状态的信息加密保存,在将其发送给服务器时调用该预设口令进行解密后通过客户端与服务器之间的传输协议(如http协议、SSH协议)进行加密,并在进入服务器后利用传输协议解密保存。
同时,本地客户端可以创建新的代码或代码分支提交到服务器端,使所有项目管理人员和开发人员可以共享代码版本,简化了本地客户端及服务器端的代码版本控制。
可以理解地,客户端还具有现有技术中公知的其他功能和模块,在此不再赘述。
服务器分别与多个客户端和代码版本存储器通信连接。如图3所示,服务器包括统计提醒模块。
统计提醒模块接收每个客户端的代码更新状态,并根据代码更新状态进行分析和统计,获得针对每个客户端的提醒信息,并向客户端发送与该客户端对应的提醒信息,方便客户端收到提醒信息后及时保存和提交更新后的代码版本。
作为一个实施例,服务器通过向客户端发送邮件的方式进行提醒。
服务器接收客户端提交(例如通过push操作)的更新后的代码版本,并将更新后的代码版本发送给代码版本存储器进行存储。客户端将更新后的代码版本发送给服务器时先利用用户输入的口令对更新后的代码版本进行解密,然后通过客户端与服务器之间的传输协议(如http协议、SSH协议)进行加密,并在进入服务器后利用传输协议解密保存。
当客户端需要获取某个代码版本时,服务器从代码版本存储器调用该代码版本并发送给客户端,方便客户端拉取整个代码版本、合并某个代码版本等。
可以理解地,服务器还具有现有技术中公知的其他功能和模块,在此不再赘述。
可以理解地,服务器和客户端之间的交互还可以实现其他的功能,如新建分支(例如branch操作)、删除文件(例如rm操作)、合并分支(例如merge操作)等等。
基于上述管理系统,如图4所示,本申请提供了一个实施例的管理系统的数据传输原理。
作为一个实施例,客户端和服务器通过http协议实现通信。
如图4所示,客户端(例如项目管理人员或开发人员)向服务器发送http请求,该http请求包括代码版本的提交请求、代码版本的获取请求、查询请求等请求。服务器通过http协议将http请求转发给轻量级反向代理服务器Workhorse,Workhorse对http请求上传与下载,其中关于Git包下载的http请求通过调用命令解析器git-shell直接处理,git-shell对Git命令进行处理、对authorized keys列表进行修改操作;关于其他请求,Workhorse通过http协议将请求转发给托管服务器Unicorn进行处理,Unicorn是Git Rails框架的托管服务器,处理Workhorse处理不了的请求。通过git-shell和Unicorn处理的http请求的结果按照原路径返回给服务器和客户端。
具体地,git-shell通过http协议向Git数据库提交请求,并通过SSH协议从Git数据库下载代码版本数据。SSH认证保障SSH服务器的合法性,有效的避免“中间人”攻击,确保了代码版本的安全性。
客户端的代码更新状态模块通过http请求将代码更新状态发送给服务器,并接收信息处理结果。
作为一个实施例,本申请中服务器为web服务器。作为一个实例,web服务器为Nginx服务器。
在上述的代码版本的管理系统中,代码版本的管理装置(客户端)包括密钥管理模块,其执行实施例一的加密和解密操作。由此,本申请还提供了一种应用于代码版本的管理装置的代码版本的管理方法,其加密和解密操作分别如图5和6所示。
参考实施例一,结合图5,加密流程包括如下步骤:
S510:接收第一数据处理请求,该第一数据处理请求包括上述的提交(commit)操作、从服务器获得数据(如通过上述克隆、拉取、复制操作)后在本地保存等操作。
S520:响应于第一数据处理请求,接收第三口令。
S530:对第三口令进行加密,获得第三密钥加密密钥。
优选地,对第三口令进行加密,获得第三密钥加密密钥,包括:
S5301:利用伪随机数生成器生成第三盐值。
S5302:利用第三盐值对第三口令进行加盐处理,获得第三密钥。
S5303:对第三密钥进行多次迭代散列操作,获得第三密钥加密密钥。
S540:响应于第一数据处理请求,利用伪随机数生成器生成第三信息加密密钥。
S550:利用第三信息加密密钥对第一数据处理请求中的待处理数据进行加密,获得加密数据。
作为一个实施例,采用对称加密算法对第一数据处理请求中的待处理数据进行加密,可以选择DES、3DES、RC5等对称加密算法。
优选地,采用Rijndael算法对第一数据处理请求中的待处理数据进行加密。由于Rijndael算法需要的第三密钥加密密钥为128比特,因此,在对第三密钥进行多次迭代散列操作生成160比特的散列值后,截取其中的128比特作为第三密钥加密密钥。作为一个实施例,截取前128比特作为第三密钥加密密钥。
S560:利用第三密钥加密密钥对第三信息加密密钥进行加密,获得第三加密后的信息加密密钥并保存。
其中,S550和S560可以同步进行,也可以先后进行,先后进行时先后顺序不做限定。
参考实施例一,结合图5和6,解密流程包括如下步骤:
S610:接收第二数据处理请求。第二数据处理请求可以是打开本地保存的代码版本的操作、将仓库区的代码版本提交到服务器的操作(如push)等。
S620:响应于第二数据处理请求,接收客户端的用户输入的第四口令。
S630:响应于第二数据处理请求,接收来自安全云端的第四加密后的信息加密密钥和第四盐值。
S640:依据第四口令和第四盐值获得第四密钥加密密钥。获得第四加密密钥的方法与S530对应。
S650:利用第四密钥加密密钥解密第四加密后的信息加密密钥,获得第四信息加密密钥。该解密步骤的方法与S560对应。
S660:利用第四信息加密密钥解密第二数据处理请求中的待处理数据,获得解密数据。该解密步骤的方法与S550对应。
实施例三
在实施例二的基础上,本申请提供了一种代码版本的管理方法的优选实施例。该优选实施例与实施例二的区别在于:在对数据进行加密时,首先利用第三信息加密密钥和第一数据处理请求中的待处理数据获取第一MAC值;其次,利用第三信息加密密钥对第一数据处理请求中的待加密数据和第一MAC值一起加密,获得加密数据。
在对数据进行解密时,首先利用第四信息加密密钥对第二数据处理请求中的待处理数据解密时获得加密前的数据和对应的第二MAC值,然后利用第四信息加密密钥和加密前的数据生成第三MAC值,若第二MAC值和第三MAC值相同,则第四口令正确,解密成功;否则,第四口令错误,通过客户端的显示装置展示该信息。
由于博图软件的操作系统使用的是二进制文件,加密后也是二进制文件,二进制文件不影响Git的使用,并且,不同版本代码的比对不是在代码版本控制系统或者其第三方工具内实现的,而是在博图软件内进行的,因此在该软件内对数据进行加密不会影响代码的比对,因此,在实现代码版本管理的同时对数据进行加密实现了数据的安全性,在制丝工序中避免代码被恶意盗取带来的设备无法正常运行的情况。
虽然已经通过例子对本申请的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本申请的范围。本领域的技术人员应该理解,可在不脱离本申请的范围和精神的情况下,对以上实施例进行修改。本申请的范围由所附权利要求来限定。
Claims (7)
1.一种密钥管理方法,其特征在于,包括:
接收第一请求;
响应于所述第一请求,接收第一口令;
对所述第一口令进行加密,获得第一密钥加密密钥;
响应于所述第一请求,生成第一信息加密密钥;
利用所述第一密钥加密密钥对所述第一信息加密密钥进行加密,获得第一加密后的信息加密密钥并保存;
对所述第一口令进行加密,获得第一密钥加密密钥,包括:
生成第一盐值;
利用所述第一盐值对所述第一口令进行加盐处理,获得第一密钥;
对所述第一密钥进行多次迭代散列操作,获得所述第一密钥加密密钥。
2.根据权利要求1所述的密钥管理方法,其特征在于,将第一加密后的信息加密密钥保存在安全云端。
3.根据权利要求1所述的密钥管理方法,其特征在于,将所述第一盐值和所述第一加密后的信息加密密钥保存在安全云端。
4.一种密钥管理方法,其特征在于,包括:
接收第二请求;
响应于所述第二请求,接收第二口令;
响应于所述第二请求,接收第二加密后的信息加密密钥;
依据所述第二口令获得第二密钥加密密钥;
利用所述第二密钥加密密钥解密所述第二加密后的信息加密密钥,获得第二信息加密密钥;
依据所述第二口令获得第二密钥加密密钥,包括:
生成第二盐值;
利用所述第二盐值对所述第二口令进行加盐处理,获得第二密钥;
对所述第二密钥进行多次迭代散列操作,获得所述第二密钥加密密钥。
5.一种代码版本的管理方法,其特征在于,包括:
接收第一数据处理请求;
响应于所述第一数据处理请求,接收第三口令;
对所述第三口令进行加密,获得第三密钥加密密钥;
响应于所述第一数据处理请求,生成第三信息加密密钥;
利用所述第三信息加密密钥对所述第一数据处理请求中的待处理数据进行加密,获得加密数据;
利用所述第三密钥加密密钥对所述第三信息加密密钥进行加密,获得第三加密后的信息加密密钥并保存;
对所述第三口令进行加密,获得第三密钥加密密钥,包括:
生成第三盐值;
利用所述第三盐值对所述第三口令进行加盐处理,获得第三密钥;
对所述第三密钥进行多次迭代散列操作,获得所述第三密钥加密密钥。
6.根据权利要求5所述的代码版本的管理方法,其特征在于,还包括:
接收第二数据处理请求;
响应于所述第二数据处理请求,接收第四口令;
响应于所述第二数据处理请求,接收第四加密后的信息加密密钥和第四盐值;
依据所述第四口令和所述第四盐值获得第四密钥加密密钥;
利用所述第四密钥加密密钥解密所述第四加密后的信息加密密钥,获得第四信息加密密钥;
利用所述第四信息加密密钥解密所述第二数据处理请求中的待处理数据。
7.一种代码版本的管理装置,其特征在于,包括密钥管理模块,所述密钥管理模块执行权利要求5-6中任一项所述的代码版本的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110468524.3A CN113517981B (zh) | 2021-04-28 | 2021-04-28 | 一种密钥管理方法、代码版本的管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110468524.3A CN113517981B (zh) | 2021-04-28 | 2021-04-28 | 一种密钥管理方法、代码版本的管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113517981A CN113517981A (zh) | 2021-10-19 |
CN113517981B true CN113517981B (zh) | 2023-05-23 |
Family
ID=78063982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110468524.3A Active CN113517981B (zh) | 2021-04-28 | 2021-04-28 | 一种密钥管理方法、代码版本的管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113517981B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553412B (zh) * | 2022-02-28 | 2024-02-23 | 百果园技术(新加坡)有限公司 | 一种数据传输方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8042155B1 (en) * | 2006-09-29 | 2011-10-18 | Netapp, Inc. | System and method for generating a single use password based on a challenge/response protocol |
CN105681039A (zh) * | 2016-04-15 | 2016-06-15 | 上海上讯信息技术股份有限公司 | 用于生成密钥及对应解密的方法和设备 |
CN109462608A (zh) * | 2018-12-19 | 2019-03-12 | 杭州安恒信息技术股份有限公司 | 数据加密处理方法、装置及系统 |
CN110378139A (zh) * | 2019-07-25 | 2019-10-25 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
CN111177762A (zh) * | 2019-12-30 | 2020-05-19 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、服务器及联邦学习系统 |
CN111464301A (zh) * | 2020-04-28 | 2020-07-28 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9021269B2 (en) * | 2012-07-18 | 2015-04-28 | TapLink, Inc. | Blind hashing |
US9736122B2 (en) * | 2015-09-02 | 2017-08-15 | International Business Machines Corporation | Bluesalt security |
CN106656476B (zh) * | 2017-01-18 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 一种密码保护方法、装置及计算机可读存储介质 |
US10476674B2 (en) * | 2017-05-18 | 2019-11-12 | Linden Research, Inc. | Systems and methods to secure searchable data having personally identifiable information |
CN107070948A (zh) * | 2017-05-23 | 2017-08-18 | 广东工业大学 | 云存储中基于混合加密算法的签名与验证方法 |
CN108959978A (zh) * | 2018-06-28 | 2018-12-07 | 北京海泰方圆科技股份有限公司 | 设备中密钥的生成与获取方法及装置 |
CN109474423B (zh) * | 2018-12-10 | 2022-10-21 | 平安科技(深圳)有限公司 | 数据加解密方法、服务器及存储介质 |
CN110519300B (zh) * | 2019-09-24 | 2021-08-06 | 杭州字节信息技术有限公司 | 基于口令双向认证的客户端密钥安全存储方法 |
CN111639348B (zh) * | 2020-05-14 | 2022-12-16 | 瀚高基础软件股份有限公司 | 数据库秘钥的管理方法及装置 |
-
2021
- 2021-04-28 CN CN202110468524.3A patent/CN113517981B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8042155B1 (en) * | 2006-09-29 | 2011-10-18 | Netapp, Inc. | System and method for generating a single use password based on a challenge/response protocol |
CN105681039A (zh) * | 2016-04-15 | 2016-06-15 | 上海上讯信息技术股份有限公司 | 用于生成密钥及对应解密的方法和设备 |
CN109462608A (zh) * | 2018-12-19 | 2019-03-12 | 杭州安恒信息技术股份有限公司 | 数据加密处理方法、装置及系统 |
CN110378139A (zh) * | 2019-07-25 | 2019-10-25 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
CN111177762A (zh) * | 2019-12-30 | 2020-05-19 | 北京同邦卓益科技有限公司 | 一种数据处理方法、装置、服务器及联邦学习系统 |
CN111464301A (zh) * | 2020-04-28 | 2020-07-28 | 郑州信大捷安信息技术股份有限公司 | 一种密钥管理方法及系统 |
Non-Patent Citations (1)
Title |
---|
李斌 ; 周清雷 ; 斯雪明 ; 冯峰 ; .混合可重构的DES算核高效能口令恢复方案.计算机工程与科学.2020,(第10期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN113517981A (zh) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5679018B2 (ja) | データベース暗号化システムと方法及びプログラム | |
US9673984B2 (en) | Session key cache to maintain session keys | |
US10439804B2 (en) | Data encrypting system with encryption service module and supporting infrastructure for transparently providing encryption services to encryption service consumer processes across encryption service state changes | |
US9985782B2 (en) | Network bound decryption with offline encryption | |
US7603322B2 (en) | Method and apparatus for managing a key management system | |
JP6048414B2 (ja) | データベース装置と方法及びプログラム | |
JP5777630B2 (ja) | ドキュメント共有のための方法及び装置 | |
EP3598714A1 (en) | Method, device, and system for encrypting secret key | |
US20160285635A1 (en) | Secure communication of data between devices | |
US20170099144A1 (en) | Embedded encryption platform comprising an algorithmically flexible multiple parameter encryption system | |
CN111639357B (zh) | 一种加密网盘系统及其认证方法和装置 | |
CN113517981B (zh) | 一种密钥管理方法、代码版本的管理方法及装置 | |
CN111010408B (zh) | 一种分布式加密和解密方法及系统 | |
CN115865461B (zh) | 一种高性能计算集群中分发数据的方法和系统 | |
CN106972928B (zh) | 一种堡垒机私钥管理方法、装置及系统 | |
CN112565156B (zh) | 信息注册方法、装置和系统 | |
CN112966287A (zh) | 获取用户数据的方法、系统、设备和计算机可读介质 | |
CN112738643A (zh) | 一种使用动态密钥实现监控视频安全传输的系统及方法 | |
CN112491787B (zh) | 一种用户数据的安全管理的方法和设备 | |
CN112769560B (zh) | 一种密钥管理方法和相关装置 | |
CN113918980A (zh) | 一种产品授权管理方法、装置、设备及介质 | |
CN117540707A (zh) | 数据协同编辑方法、装置及系统 | |
CN117640176A (zh) | 一种基于session和注解的安全加固系统 | |
CN113779618A (zh) | 一种k8s中secret资源的信息安全保护方法和系统 | |
JP2015106842A (ja) | 情報処理システム、サーバ、及びその制御方法、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |