掌桥专利:专业的专利平台
掌桥专利
首页

一种私有数据的存储访问方法及系统

文献发布时间:2023-06-19 10:08:35


一种私有数据的存储访问方法及系统

技术领域

本发明属于信息安全技术领域,具体涉及一种私有数据的存储访问方法及系统。

背景技术

私有数据的隐私保护一直是数字世界的基石,私有数据的安全存储与安全访问是一个需要持续研究的课题。当前私有数据安全存储与安全访问主要采用硬件设备进行访问,例如采用UKey进行加解密,整个加解密的过程在UKey中进行,这种方法需要携带硬件设备,使用不方便,用户体验感不好。

发明内容

针对现有技术中的缺陷,本发明提供一种私有数据的存储访问方法及系统,提高私有数据存储和访问的安全性,提升用户体验感。

第一方面,一种高安全性的数据存储访问方法,包括以下步骤:

当进行数据存储时,获取录入的数据明文和用户PIN码;

随机生成会话密钥;

采用会话密钥加密数据明文,得到并存储数据密文;

采用用户PIN码加密会话密钥,得到并存储加密密钥;

当进行私有数据访问时,获取录入的用户PIN码;

采用该用户PIN码解密加密密钥,当解密成功时,获得解密后的会话密钥;

采用解密后的会话密钥解密数据密文,得到数据明文。

优选地,所述采用用户PIN码加密会话密钥,得到并存储加密密钥具体包括:

采用用户PIN码加密会话密钥,得到并存储第一会话密钥密文;

所述采用该用户PIN码解密加密密钥,当解密成功时,获得解密后的会话密钥具体包括:

采用该用户PIN码解密所述第一会话密钥密文,如果解密成功,获得解密后的会话密钥。

优选地,该方法在所述得到并存储第一会话密钥密文之后,还包括:

获取录入的管理员PIN码;

随机生成与所述会话密钥对称的主密钥;

采用管理员PIN码加密主密钥,得到并存储第一主密钥密文;

采用主密钥加密会话密钥,得到并存储第二会话密钥密文;

当重置用户PIN码时,获取录入的管理员PIN码和新的用户PIN码;

采用该管理员PIN码解密第一主密钥密文,如果解密成功,获得解密后的主密钥;

采用解密后的主密钥解密第二会话密钥密文,如果解密成功,获得解密后得到的会话密钥;

采用新的用户PIN码加密解密后得到的会话密钥,得到新的第一会话密钥密文;

用新的第一会话密钥密文替换原有的第一会话密钥密文。

优选地,所述当进行数据存储时,获取录入的数据明文和用户PIN码具体包括:

当进行数据存储时,客户端获取录入的数据明文和用户PIN码;

客户端根据用户PIN码生成用户SM2密钥对,其中用户SM2密钥对包括公钥和私钥;

客户端将用户SM2密钥对的公钥发送给服务器;

服务器生成唯一标识ID;

服务器生成服务器SM2密钥对,将服务器SM2密钥对通过唯一标识ID与所述用户SM2密钥对的公钥进行关联;其中服务器SM2密钥对包括公钥和私钥;

服务器存储唯一标识ID、用户SM2密钥对的公钥以及服务器SM2密钥对;

服务器将服务器SM2密钥中的公钥和唯一标识ID发送给客户端。

优选地,所述随机生成会话密钥;采用会话密钥加密数据明文,得到并存储数据密文;采用用户PIN码加密会话密钥,得到并存储加密密钥具体包括:

客户端随机生成会话密钥;

客户端采用会话密钥加密数据明文,得到并存储数据密文;

客户端采用用户SM2密钥对的公钥和服务器SM2密钥的公钥加密会话密钥,得到并存储第三会话密钥密文。

优选地,所述当进行私有数据访问时,获取录入的用户PIN码;采用该用户PIN码解密加密密钥,当解密成功时,获得解密后的会话密钥;采用解密后的会话密钥解密数据密文,得到数据明文具体包括:

当进行私有数据访问时,客户端获取录入的用户PIN码;

客户端根据该用户PIN码生成用户SM2密钥对;

客户端基于该用户SM2密钥对向服务器发起身份认证挑战;

服务器当检测到客户端的身份认证挑战成功后,采用服务器SM2密钥中的私钥解密第三会话密钥密文,得到会话密钥初级明文;

服务器将所述会话密钥初级明文发送给客户端;

客户端采用用户SM2密钥中的私钥解密会话密钥初级明文,如果解密成功,获得解密后的会话密钥;

客户端采用解密后的会话密钥解密数据密文,得到数据明文。

优选地,该方法在所述得到并存储第三会话密钥密文之后,还包括:

客户端获取录入的管理员PIN码;

客户端根据管理员PIN码生成管理员SM2密钥对,其中用户SM2密钥对包括公钥和私钥;

客户端将管理员SM2密钥对的公钥发送给服务器;

服务器将所述服务器SM2密钥对通过所述唯一标识ID与管理员SM2密钥对的公钥进行关联;

服务器存储管理员SM2密钥对的公钥;

客户端随机生成与所述会话密钥对称的主密钥;

客户端采用管理员SM2密钥对的公钥和服务器SM2密钥的公钥加密主密钥,得到并存储第二主密钥密文;

客户端采用主密钥加密会话密钥,得到并存储第四会话密钥密文;

当重置用户PIN码时,客户端获取录入的管理员PIN码和新的用户PIN码;

客户端根据管理员PIN码生成管理员SM2密钥对,根据新的用户PIN码生成新的用户SM2密钥对;

客户端基于该管理员SM2密钥对向服务器发起身份认证挑战;

服务器当检测到客户端的身份认证挑战成功后,采用服务器SM2密钥中的私钥解密第二主密钥密文,得到主密钥初级明文;

服务器将所述主密钥初级明文发送给客户端;

客户端采用管理员SM2密钥中的私钥解密主密钥初级明文,如果解密成功,获得解密后的主密钥;

客户端采用解密后的主密钥解密第四会话密钥密文,如果解密成功,获得解密后得到的会话密钥;

客户端采用新的服务器SM2密钥中的公钥和新的用户SM2密钥中的公钥加密解密后得到的会话密钥,得到新的第三会话密钥密文;

用新的第三会话密钥密文替换原有的第三会话密钥密文。

优选地,所述身份认证挑战具体包括:

客户端将用户SM2密钥中的公钥或管理员SM2密钥中的公钥发送给服务器;

客户端将唯一标识ID发送给服务器;

服务器产生挑战随机数发送给客户端;

客户端使用用户SM2密钥中的私钥或管理员SM2密钥中的私钥对挑战随机数进行签名,将得到的签名和第三会话密钥密文发送给服务器,或者是将得到的签名、第二主密钥密文和新的用户SM2密钥对的公钥发送给服务器;

服务器通过用户SM2密钥中的公钥和挑战随机数验证签名,或者是通过管理员SM2密钥中的公钥和挑战随机数验证签名,如果签名S验证失败,返回解密错误的提示;

服务器当检测到客户端连续身份认证挑战的次数大于预设值时,锁定服务SM2密钥中的私钥。

第二方面,一种高安全性的数据存储访问系统,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行第一方面所述的方法。

第三方面,一种高安全性的数据存储访问系统,包括客户端和服务器;

客户端用于执行第一方面所述的方法;

服务器用于生成服务器SM2密钥对,与用户PIN码进行关联;服务器还用于执行客户端发起的身份认证挑战。

由上述技术方案可知,本发明提供的私有数据的存储访问方法及系统,提高私有数据存储和访问的安全性,提升用户体验感。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1为本发明实施例一提供的存储访问方法中数据存储的流程图。

图2为本发明实施例一提供的存储访问方法中数据访问的流程图。

图3为本发明实施例二提供的存储访问方法中数据存储的流程图。

图4为本发明实施例二提供的存储访问方法中数据访问的流程图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

实施例一:

实施例提供一种本地实现的数据存储访问方法,包括以下步骤:

1、数据存储,参见图1。

当进行数据存储时,获取录入的数据明文和用户PIN码userPin;

随机生成会话密钥sessionKey;

采用会话密钥sessionKey加密数据明文,得到并存储数据密文;

采用用户PIN码userPin加密会话密钥sessionKey,得到并存储第一会话密钥密文;其中本实施例提供的加解密过程包含校验padding。

2、数据访问,参见图2。

当进行私有数据访问时,获取录入的用户PIN码userPin;

采用该用户PIN码userPin解密所述第一会话密钥密文,如果解密成功,获得解密后的会话密钥sessionKey;如果解密失败,返回PIN码错误的提示。

采用解密后的会话密钥sessionKey解密数据密文,得到数据明文。

3、重置用户PIN码。

该方法还具有重置用户PIN码的功能,用于当用户忘记用户PIN码时使用,其步骤具体包括:

获取录入的管理员PIN码soPin;

随机生成与所述会话密钥对称的主密钥masterKey;

采用管理员PIN码soPin加密主密钥masterKey,得到并存储第一主密钥密文;

采用主密钥masterKey加密会话密钥sessionKey,得到并存储第二会话密钥密文;

当重置用户PIN码时,获取录入的管理员PIN码soPin和新的用户PIN码userPin;

采用该管理员PIN码soPin解密第一主密钥密文,如果解密成功,获得解密后的主密钥masterKey;如果解密失败,返回PIN码错误的提示。

采用解密后的主密钥masterKey解密第二会话密钥密文,如果解密成功,获得解密后得到的会话密钥sessionKey;如果解密失败,返回解密错误的提示。

采用新的用户PIN码userPin加密解密后得到的会话密钥sessionKey,得到新的第一会话密钥密文;

用新的第一会话密钥密文替换原有的第一会话密钥密文。

该方法可离线运行,用户只需要提供正确的用户PIN码userPin,才能解密出已加密的数据密文,该方法还支持用户PIN码userPin重置找回功能。该方法提高私有数据存储和访问的安全性,提升用户体验感。

实施例二:

实施例提供一种在线实现的数据存储访问方法,包括以下步骤:

1、数据存储,参见图3。

当进行数据存储时,客户端获取录入的数据明文和用户PIN码userPin;

客户端根据用户PIN码userPin生成用户SM2密钥对(d1,P1),其中用户SM2密钥对(d1,P1)包括一一对应的公钥P1和私钥d1;

客户端将用户SM2密钥对的公钥P1发送给服务器;

服务器生成唯一标识IDuuid;

服务器生成服务器SM2密钥对(d3,P3),将服务器SM2密钥对(d3,P3)通过唯一标识IDuuid与所述用户SM2密钥对的公钥P1进行关联;其中服务器SM2密钥对(d3,P3)包括一一对应的公钥P3和私钥d3;

服务器存储唯一标识IDuuid、用户SM2密钥对的公钥P1以及服务器SM2密钥对(d3,P3),其中私钥d3可以使用密码机加密保护后进行存储;

服务器将服务器SM2密钥中的公钥P3和唯一标识IDuuid发送给客户端。

客户端随机生成会话密钥sessionKey;

客户端采用会话密钥sessionKey加密数据明文,得到并存储数据密文;

客户端采用用户SM2密钥对的公钥P1和服务器SM2密钥的公钥P3加密会话密钥sessionKey,得到并存储第三会话密钥密文see,即see=enc(enc(sessionKey,P1),P3),加密时,采用用户SM2密钥对的公钥P1对会话密钥sessionKey进行第一级加密,采用服务器SM2密钥的公钥P3对第一级加密的结果进行第二级加密。

2、数据访问,参见图4。

当进行私有数据访问时,客户端获取录入的用户PIN码userPin;

客户端根据该用户PIN码userPin生成用户SM2密钥对(d1,P1);

客户端基于该用户SM2密钥(d1,P1)对向服务器发起身份认证挑战;

服务器当检测到客户端的身份认证挑战成功后,采用服务器SM2密钥中的私钥d3解密第三会话密钥密文see,得到会话密钥初级明文se,即se=dec(see,d3);

服务器将所述会话密钥初级明文se发送给客户端;

客户端采用用户SM2密钥中的私钥d1解密会话密钥初级明文se,如果解密成功,获得解密后的会话密钥sessionKey,即sessionKey=dec(se,d1);

客户端采用解密后的会话密钥sessionKey解密数据密文,得到数据明文。

所述身份认证挑战具体包括:

客户端将用户SM2密钥中的公钥P1发送给服务器,发起公钥P1的鉴别挑战;

客户端将唯一标识IDuuid发送给服务器;

服务器产生挑战随机数r发送给客户端;

客户端使用用户SM2密钥中的私钥d1对挑战随机数r进行签名,将得到的签名S和第三会话密钥密文see发送给服务器;

服务器通过用户SM2密钥中的公钥P1和挑战随机数r验证签名S;如果签名S验证失败,返回解密错误的提示;

服务器当检测到客户端连续身份认证挑战的次数大于预设值时,锁定服务SM2密钥中的私钥。

3、重置用户PIN码。

客户端获取录入的管理员PIN码soPin;

客户端根据管理员PIN码soPin生成管理员SM2密钥对(d2,P2),其中用户SM2密钥对(d2,P2)包括一一对应的公钥P2和私钥d2;

客户端将管理员SM2密钥对的公钥P2发送给服务器;

服务器将所述服务器SM2密钥(d3,P3)对通过所述唯一标识IDuuid与管理员SM2密钥对的公钥P2进行关联;

服务器存储管理员SM2密钥对的公钥P2;

客户端随机生成与所述会话密钥对称的主密钥masterKey;

客户端采用管理员SM2密钥对的公钥P2和服务器SM2密钥的公钥P3加密主密钥,得到并存储第二主密钥密文mee,mee=enc(enc(masterKey,P2),P3);

客户端采用主密钥masterKey加密会话密钥sessionKey,得到并存储第四会话密钥密文;

当重置用户PIN码userPin时,客户端获取录入的管理员PIN码soPin和新的用户PIN码userPin;

客户端根据管理员PIN码soPin生成管理员SM2密钥对(d2,P2),根据新的用户PIN码userPin生成新的用户SM2密钥对(d1,P1);

客户端基于该管理员SM2密钥(d2,P2)对向服务器发起身份认证挑战;

服务器当检测到客户端的身份认证挑战成功后,采用服务器SM2密钥中的私钥d3解密第二主密钥密文mee,得到主密钥初级明文me,me=dec(mee,d3)。

服务器将所述主密钥初级明文me发送给客户端;

客户端采用管理员SM2密钥中的私钥d2解密主密钥初级明文me,如果解密成功,获得解密后的主密钥masterKey,即masterKey=dec(me,d2);

客户端采用解密后的主密钥masterKey解密第四会话密钥密文,如果解密成功,获得解密后得到的会话密钥sessionKey;

客户端采用新的服务器SM2密钥中的公钥P3和新的用户SM2密钥中的公钥P1加密解密后得到的会话密钥sessionKey,得到新的第三会话密钥密文新see,新see=enc(enc(sessionKey,新P1),P3);

用新的第三会话密钥密文替换原有的第三会话密钥密文。

所述身份认证挑战具体包括:

客户端将管理员SM2密钥中的公钥P2发送给服务器,发起公钥P2的鉴别挑战;

客户端将唯一标识IDuuid发送给服务器;

服务器产生挑战随机数r发送给客户端;

客户端使用管理员SM2密钥中的私钥d2对挑战随机数r进行签名,将得到的签名S、第二主密钥密文mee和新的用户SM2密钥对的公钥P1发送给服务器;

服务器通过管理员SM2密钥中的公钥P2和挑战随机数r验证签名S;如果签名S验证失败,返回解密错误的提示;

服务器当检测到客户端连续身份认证挑战的次数n大于预设值时,锁定服务SM2密钥中的私钥d3,例如当n大于等于1时,锁定私钥d3。

该方法更安全,无惧pin码暴力破解,提高私有数据存储和访问的安全性,提升用户体验感。

本发明实施例所提供的方法,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例三:

一种高安全性的数据存储访问系统,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行实施例一所述的方法。

应当理解,在本发明实施例中,所称处理器可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

输入设备可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备可以包括显示器(LCD等)、扬声器等。

该存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。

本发明实施例所提供的系统,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

实施例四:

一种高安全性的数据存储访问系统,包括客户端和服务器;

客户端用于执行实施例二所述的方法;

服务器用于生成服务器SM2密钥对,与用户PIN码进行关联;服务器还用于执行客户端发起的身份认证挑战。

本发明实施例所提供的系统,为简要描述,实施例部分未提及之处,可参考前述方法实施例中相应内容。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

相关技术
  • 一种私有数据的存储访问方法及系统
  • 一种私有数据云存储系统及私有数据云存储方法
技术分类

06120112436857