CN111008390A - 根密钥生成保护方法、装置、固态硬盘及存储介质 - Google Patents
根密钥生成保护方法、装置、固态硬盘及存储介质 Download PDFInfo
- Publication number
- CN111008390A CN111008390A CN201911285133.7A CN201911285133A CN111008390A CN 111008390 A CN111008390 A CN 111008390A CN 201911285133 A CN201911285133 A CN 201911285133A CN 111008390 A CN111008390 A CN 111008390A
- Authority
- CN
- China
- Prior art keywords
- root key
- user
- user password
- solid state
- state disk
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供的根密钥生成保护方法、装置、固态硬盘及存储介质,涉及信息安全领域,应用于固态硬盘,接收用户输入的用户标识和用户口令;用户标识和用户口令用于区分不同的用户;根据用户标识和用户口令生成根密钥;用户标识、用户口令与根密钥具有对应关系;根密钥用于获得数据保护密钥对应的密文;密文用于保护固态硬盘上的数据。与现有技术相比,本发明能够有效解决攻击者绕过用户身份认证获得存储的根密钥,造成根密钥的泄露的问题,提高了固态硬盘数据存储的安全性和可靠性。
Description
技术领域
本发明涉及信息安全领域,具体而言,涉及一种根密钥生成保护方法、装置、固态硬盘及存储介质。
背景技术
随着信息技术的发展,人们越来越重视信息的安全性,固态硬盘(SolidStateDrive,简称SSD)作为实现信息安全存储的基础设备,也面临着越来越严格的安全需求,在保护固态硬盘数据的过程中,根密钥作为数据加密密钥的保护密钥,具有较高的价值,密钥安全管理中对根密钥的生成要求越来越严格,一旦根密钥发生泄漏,会导致严重的后果。
现有技术中通常在固态硬盘内设置根密钥,并以固定的形式存储根密钥,这种方式具有以下缺陷:用户没有参与根密钥的生成,而且根密钥生成之后固定存储,所以攻击者极易绕过用户身份认证而获得存储的根密钥,从而造成根密钥的泄露,降低了固态硬盘数据存储的安全性和可靠性。
发明内容
有鉴于此,本发明提供一种根密钥生成保护方法、装置、固态硬盘及存储介质,用于解决攻击者绕过用户身份认证而获得存储的根密钥,造成根密钥的泄露的问题,提高SSD数据存储的安全性和可靠性。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供一种根密钥生成保护方法,应用于固态硬盘,所述方法包括:接收用户输入的用户标识和用户口令;所述用户标识和所述用户口令用于区分不同的用户;根据所述用户标识和所述用户口令生成根密钥;所述用户标识、所述用户口令与所述根密钥具有对应关系;所述根密钥用于获得数据保护密钥对应的密文;所述密文用于保护所述固态硬盘上的数据。
可选地,根据用户标识和用户口令生成根密钥的步骤,包括:根据所述用户标识和随机数生成用户口令生成参数;根据所述用户口令和所述用户口令生成参数生成所述根密钥。
可选地,在所述根据所述用户标识和随机数生成所述用户口令生成参数的步骤之前,所述方法还包括:从随机数发生器中获取所述随机数;将所述随机数和所述用户标识写入所述固态硬盘的系统数据区;所述系统数据区维护所述随机数与所述用户标识的对应关系。
可选地,所述根据所述用户口令和所述用户生成参数生成根密钥的步骤,包括:根据所述用户口令和所述用户生成参数生成根密钥因子;通过所述根密钥因子合成所述根密钥。
可选地,所述方法还包括:当所述用户口令发生更改时,根据所述用户标识和更改后的用户口令获得更新的根密钥;所述更新的根密钥用于更新所述数据保护密钥对应的密文。
可选地,所述方法还包括:当所述用户标识对应的用户退出所述固态硬盘时,删除所述用户标识对应的根密钥。
第二方面,本发明实施例提供一种根密钥生成保护装置,包括接收模块和生成模块;所述接收模块,用于接收用户输入的用户标识和用户口令;所述用户标识和所述用户口令用于区分不同的用户;所述生成模块,用于根据所述用户标识和所述用户口令生成根密钥;所述用户标识、所述用户口令与所述根密钥具有对应关系;所述根密钥用于获得数据保护密钥对应的密文;所述密文用于保护所述固态硬盘上的数据。
可选地,所述生成模块,具体用于根据所述用户标识和随机数生成用户口令生成参数;所述生成模块,具体用于根据所述用户口令和所述用户口令生成参数生成所述根密钥。
第三方面,本发明实施例提供一种固态硬盘,包括:一个或多个处理器和存储器,存储器用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如第一方面所述的根密钥生成保护方法。
第四方面,本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的根密钥生成保护方法。
相对于现有技术,本发明实施例所提供的一种根密钥生成保护方法、装置、固态硬盘及存储介质,应用于固态硬盘,方法首先接收用户输入的用户标识和用户口令;用户标识和用户口令用于区分不同的用户;再根据用户标识和用户口令生成根密钥;用户标识、用户口令与根密钥具有对应关系;根密钥用于获得数据保护密钥对应的密文;密文用于保护固态硬盘上的数据。与现有技术相比,本方法在生成根密钥的过程中使用了用户标识信息和用户口令信息,能够有效解决攻击者绕过用户身份认证而获得存储的根密钥,从而造成根密钥的泄露的问题,提高了SSD数据存储的安全性和可靠性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它相关的附图。
图1为本发明实施例提供的一种根密钥生成保护方法的示意性流程图;
图2为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图;
图3为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图;
图4为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图;
图5为本发明实施例提供的一种生成根密钥因子的数据示意图;
图6为本发明实施例提供的一种生成根密钥的数据示意图;
图7为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图;
图8为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图;
图9为本发明实施例提供的一种执行固态硬盘功能的示意图;
图10为本发明实施例提供的一种根密钥生成保护装置的功能模块图;
图11为本发明实施例提供的一种固态硬盘结构示意图。
图标:40-根密钥生成保护装置;401-接收模块;402-生成模块;50-固态硬盘;501-通信接口;502-处理器;503-存储器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
需要说明的是,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,在访问固态硬盘之前,用户需要通过身份验证获得数据访问的权限。通常采用口令的方式在用户登录时进行身份验证,固态硬盘用户输入正确的用户口令,则通过验证;如果用户口令验证失败,则拒绝访问,通过身份验证的用户可以对固态硬盘上的数据进行读写。
但是,现有的身份验证过程与数据保护过程是相互独立的,尤其是与数据保护过程中根密钥的生成过程相互独立,导致根密钥生成之后以固定的形式进行存储,很容易使得攻击者绕过身份验证而获得根密钥,造成根密钥的泄露,降低了根密钥和固态硬盘上数据的安全性问题。
为了解决上述问题,本发明提供一种根密钥生成保护方法,其核心在于时用户信息与根密钥的生成关联在一起,当用户需要访问固态硬盘时临时生成根密钥,而不需要对根密钥进行存储,能够有效解决上述根密钥泄露问题。
为了详细描述本发明的技术方案,首先参见图1,图1为本发明实施例提供的一种根密钥生成保护方法的示意性流程图,其中,该方法包括:
步骤201、接收用户输入的用户标识和用户口令。
可选地,用户标识和用户口令用于区分不同的用户,在创建固态硬盘用户时,可以预先设置用户标识和对应的用户口令,在进行固态硬盘用户登录时,可以直接输入预先设置的用户标识和用户口令来进行用户的身份验证。
可选地,用户口令可以由大写字母、小写字母、数字、特殊符号组合生成,其长度可以满足预设的长度要求以降低攻击者对于用户口令猜测成功的概率,例如,假设口令的长度不少于8个字符,那么攻击者单次猜测成功的概率为95-8≈1.5×10-16,该值远小于GM/T0028《密码模块安全技术要求》要求的单次口令猜测攻击的成功概率不得高于一百万分之一,有效降低了攻击者猜测成功的概率,提高了安全性。
步骤204、根据用户标识和用户口令生成根密钥。
可以理解的是,用户标识、用户口令与根密钥具有对应关系,根密钥用于获得数据保护密钥对应的密文,密文用于保护固态硬盘上的数据。数据保护密钥的产生方式可以是,通过随机数发生器生成固定长度(例如,256比特)的随机数,将该随机数作为数据保护密钥,数据保护密钥可以用于保护固态硬盘上的数据。通过用户标识和用户口令生成根密钥,能够解决用户无法参与到密钥生成过程中的问题,增强了根密钥的强度,提高了安全性。
本发明实施例提供的一种根密钥生成保护方法,应用于固态硬盘,该方法包括:首先接收用户输入的用户标识和用户口令;用户标识和用户口令用于区分不同的用户;再根据用户标识和用户口令生成根密钥;用户标识、用户口令与根密钥具有对应关系;根密钥用于对数据保护密钥进行加密和解密;根密钥用于获得数据保护密钥对应的密文;密文用于保护固态硬盘上的数据,本方法在生成根密钥的过程中使用了用户标识信息和用户口令信息,使得用户可以参与根密钥的生成,同时,根据用户标识和用户口令生成的根密钥不需要存储,有效解决了攻击者绕过用户身份认证而获得存储的根密钥,从而造成根密钥的泄露的问题,提高了SSD数据存储的安全性和可靠性。
可选地,生成根密钥之后,可以利用该根密钥对数据保护密钥进行加密,例如。可以通过SM4算法的可鉴别加密机制对数据保护密钥加密,得到含完整性校验的加密密文,并将该密文存储至固态硬盘的系统数据区,以便在用户进行数据验证时,通过比对密文的正确性来确定用户是否可以访问固态硬盘,其中,可鉴别的加密机制是用于实现数据保密性保护并提供数据完整性和数据源鉴别的密码技术,包括加密和解密两个处理过程,通过可鉴别加密机制对数据保护密钥进行加密,可以保证密文的完整性,防止密文遭受以未授权方式所作的更改或破坏。
可选地,为了详细描述根据用户标识和用户口令生成根密钥的过程,在图1的基础上给出一种可能的实现方式,参见图2,图2为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图,具体地,步骤203的一种可能的实现方式为:
步骤204-1、根据用户标识和随机数生成用户口令生成参数。
可以理解的是,用户口令生成参数可以是对用户标识和随机数进行关联处理得到,在另一些实施例中,还可以将用户标识、随机数和与用户标识对应的一些公开信息随机串联在一起用户口令生成参数,随机数和随机串联的实现方式保证根密钥的随机性,大大增加了攻击者通过彩虹表攻击整个系统的复杂度,从而降低了根密钥被破解的可能性。
步骤204-2、根据用户口令和用户口令生成参数生成根密钥。
可以理解的是,利用用户口令、用户口令生成参数,根据根密钥生成函数可以得到固定长度(例如SM4的输出长度:128比特)的根密钥,根密钥生成函数可以形如以下关系式:
RK=GMKDF(PWD,T,cLEN)
其中,RK表示根密钥;GMKDF可以表示为根密钥生成函数,PWD和T可以分别表示用户口令和用户口令生成参数,cLEN可以表示生成的根密钥的长度,GMKDF函数可以使用国产密码算法,例如,国密算法SM3。
需要说明的是,“GMKDF”仅仅是用来标识根密钥生成函数,在另一些场景中,根密钥生成函数可以用其他标识表示,其作用是通过用户标识PWD和用户口令生成参数T生成长度为cLEN的根密钥。
可选地,为了获得用于生成用户口令生成参数的随机数,在图2的基础上,给出一种可能的实现方式,参见图3,图3为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图,具体的,在步骤203之前,该方法还包括:
步骤202、从随机数发生器中获取随机数。
可以理解的是,上述的随机数可以是在创建固态硬盘用户时通过随机数发生器中获得,随机数可以保证根密钥的随机性,能够增强了根密钥强度,降低根密钥被破解的可能性。
步骤203、将随机数和用户标识写入固态硬盘的系统数据区。
可以理解的是,系统数据区维护随机数与用户标识的对应关系,在进行用户登录时,可以通过输入的用户标识直接获取对应的随机数,从而可以根据用户标识和随机数生成用户口令生成参数。
可选地,为了详细描述根据用户口令和用户口令生成参数的过程,下面在图3的基础上,给出一种可能的实现方式,参见图4,图4为本发明实施例提供的另一种根密钥生成保护方法的示意性流程图,其中,步骤204-2的一种可能的实现方式为:
步骤204-2a、根据用户口令和用户生成参数获取根密钥因子。
可选地,可以利用用户口令和用户生成参数执行根密钥因子生成流程,具体的可参见图5,图5为本发明实施例提供的一种生成根密钥因子的数据示意图,其中生成根密钥因子流程的实现方式可以如下:
其中,len表示为执行生成根密钥因子流程的次数,也可以表示生成的根密钥因子的个数,hLen表示SM3算法的输出长度,C表示生成根密因子的迭代次数,TSi表示第i个根密钥因子,SM3表示国密算法,Int(i)表示数值i的32比特大端表示。
需要说明是,在根据户口令和用户生成参数获取根密钥因子之前,从安全性的角度考虑,为了防止生成的根密钥太长造成安全隐患,可以先判断根密钥的长度是否大于预设算法输出的长度,例如,预设算法可以是SM3算法,SM3算法输出的长度hLen为256比特,当根密钥的长度kLen小于256比特时,可以执行根密钥因子生成流程,同时可以根据SM3算法输出的长度hLen和根密钥的长度kLen确定执行生成根密钥因子流程的次数len,例如,可以通过计算获得len的取值,其中表示向上取整。
还需要说明的是,为了确保生成根密钥的执行时间能够满足要求,比如在百分之一秒至一秒之间,使得攻击者猜测根密钥成功的概率远远小于《密码模块安全技术要求》要求的一分钟内多次口令猜测攻击的成功概率,可以在固态硬盘的系统数据区设定用于生成根密钥因子的迭代次数,例如,可以将迭代次数设定为1000次,那么在一分钟内攻击者最多能猜测6000次,其猜测成功的最大概率约为9.0×10-13,该值远小于GM/T0028《密码模块安全技术要求》要求的一分钟内多次口令猜测攻击的成功概率不得高于十万分之一,有效防止了非法攻击者窃取根密钥的可能性。
步骤204-2b、通过根密钥因子合成根密钥。
可选地,通过上述实施例可以得到多个根密钥因子TS1、TS1、…、TSlen,然后可以根据根密钥因子合成根密钥,具体地,可以通过以下关系式将根密钥因子合成根密钥,即RK=MSB(TS1||TS2||...||TSlen,kLen),其中,kLen表示输出的根密钥长度,MSB()表示取数据串的最左边预设长度,例如,MSB(s,len)表示取数据串s的最左边len比特长度。
可选地,通过上述实施例生成根密钥的数据示意图如图6所示,参见图6,图6为本发明实施例提供的一种生成根密钥的数据示意图,通过执行如图6所示的根密钥生成流程即可获得根密钥。在生成根密钥的过程中,首先通过用户口令和用户口令生成参数获得用于合成根密钥的根密钥因子,然后通过根密钥因子合成预设长度的根密钥,该过程中使用了用户口令和用户口令生成参数,增加了根密钥生成过程的复杂度,从而降低了根密钥被破解的机率。
可选地,通过身份验证的用户还可以更改预设的用户口令,由于用户口令与根密钥的生成有关联,因此,在进行更改用户口令时,需要将该用户对应的根密钥进行更新,以防止用户再次登录时无法通过身份验证,为了详细描述更改根密钥的过程,在图1的基础上,给出一种可能的实现方式,参见图7,图7为本明实施例提供的另一种根密钥生成保护方法的示意性流程图,该方法还包括:
步骤205、当用户口令发生更改时,根据用户标识和更改后的用户口令获得更新的根密钥。
上述更新的根密钥用于更新数据保护密钥对应的密文。
可以理解的是,上述更新的根密钥可以对数据保护密钥进行加密获得更新后的密文,将更新的密文覆写入系统数据区中密文的存储空间中以完成密文的更新,在用户口令发生改变后,通过重新生成根密钥更新密文,可以有效防止用户再次登录时无法通过身份验证。
可选地,当用户登出固态硬盘时,为了防止根密钥泄露,在图1的基础上给出一种可能的实现方式,参见图8,图8为本明实施例提供的另一种根密钥生成保护方法的示意性流程图,该方法还包括:
步骤206、当用户标识对应的用户退出固态硬盘时,删除用户标识对应的根密钥。
可选地,为了详细进一步详细阐述本发明的技术方案,下面将本发明所提供的根密钥生成保护方法应用于具体的固态硬盘功能中,具体的,参见图9,图9为本发明实施例提供的执行固态硬盘功能的示意图。
在固态硬盘执行创建用户的功能过程中,根据接收到的用户标识、初始口令以及获取的内部存储的SM4算法输出长度参数cLEN来执行根密钥生成保护方法,具体包括以下步骤:
步骤1:产生用户口令生成参数。
具体地,从随机数发生器获取随机数R,R不少于128比特,将用户标识UID、随机数R写入固态硬盘的系统数据区,生成用户口令生成参数T,T可以为用户标识UID、随机数R以及其它公开信息的串联。
步骤2:生成根密钥RK。
具体地,利用用户口令PWD、用户口令生成参数T,执行如图6所示的根密钥生成流程得到长度为cLEN的根密钥RK,即RK=GMKDF(PWD,T,cLEN)。
步骤3:生成数据保护密钥DK。
具体地,从随机数发生器获取256比特随机数作为数据保护密钥DK,使用SM4算法的可鉴别加密机制通过根密钥RK对数据保护密钥DK加密得到含完整性校验的密文DKC,即DKC=SM4-AE-ENCRK(DK),存储此密文DKC到系统数据区,SM4-AE-ENC表示国密算法SM4采用认证加密模式对数据保护密钥加密。
可以理解的是,在执行创建用户功能时,根据用户标识和用户口令临时生成根密钥,生成的根密钥起到用来对数据保护密钥进行加密并获得密文的作用,密文存储在固态硬盘的系统数据区,根密钥不需要存储。
在固态硬盘执行用户登录和身份认证的功能过程中,固态硬盘根据获取的用户标识和用户口令生成根密钥,利用根密钥对系统数据区的数据保护密钥的密文进行解密,若解密成功,则身份认证成功,否则身份认证失败。具体的步骤如下:
步骤1:获取用户口令生成参数。
具体地,先从系统存储区读取该用户对应的随机数R,然后根据用户标识和随机数生成用户口令生成参数T。
步骤2:生成根密钥RK。
具体地,可以利用用户口令PWD、用户口令生成参数T,执行如图6所示的根密钥生成流程得到长度为cLEN的根密钥RK,即通过关系式RK=GMKDF(PWD,T,cLEN)获得。
步骤3:解密得到数据保护密钥DK。
具体地,使用SM4算法可鉴别加密机制SM4-AE-DEC对数据保护密钥密文DKC解密,即DK=SM4-AE-DECRK(DKC),其中,SM4-AE-DEC表示表示国密算法SM4采用认证加密模式对数据保护密钥解密,若解密成功则登录成功,得到数据保护密钥DK,若解密失败,则返回登录失败。
可以理解的是,在进行用户登录与身份验证时,同样采取临时生成的方式获得根密钥,根密钥的作用是用来解密数据保护密钥的密文来进行身份验证。
通过身份验证的用户可以对固态硬盘上的数据进行访问,具体地,用户可以进行数据写入和数据读取,在一些场景中,当用户想固态硬盘写入数据时,可以使用SM4算法的磁盘加密模式(例如:XTS模式)利用数据保护密钥加密用户写入的数据,得到密文,并将密文存入磁盘中;在另一些场景中,当用户从固态硬盘读取数据时,可以先获取存入磁盘的用户所需数据的密文,再使用XTS模式利用数据保护密钥解密密文,得到明文,根据明文获需要读取的数据。
同理,通过身份验证的用户还可以更改用户口令,固态硬盘执行更改用户口令的功能过程中,首先获取该用户对应的数据保护密钥,然后根据用户标识和新的用户口令重新生成根密钥,利用重新生成的根密钥对数据保护密钥进行加密,更新数据保护密钥的密文,具体的实现方式如下:
步骤1:获取数据保护密钥DK。
具体地,若用户已在登录状态,则系统内存中驻留了数据保护密钥DK。否则,重新登录获取数据保护密钥DK。
步骤2:生成新的根密钥。
具体地,利用用户新口令PWD_NEW、用户口令生成参数T,执行图6所示的根密钥生成流程得到长度为cLEN的新的根密钥RK_NEW,即RK_NEW=GMKDF(PWD_NEW,T,cLEN)。
步骤3:更新数据保护密钥密文。
具体地,使用SM4算法的可鉴别加密机制SM4-AE-ENC通过新的根密钥RK_NEW对数据保护密钥DK加密得到含完整性校验的密文DKC_NEW,即:DKC_NEW=SM4-AE-ENCRK_NEW(DK),将此密文DKC_NEW覆写系统数据区的DKC。
可以理解的是,在进行用户口令更改的过程中,根密钥同样采取临时生成其作用是用来更新数据保护密钥的密文。
可以理解的是,在一些场景中,当完成用户创建之后,可以直接对创建的用户的进行销毁,同理,在另一些场景中,用户完成登录之后,可以对固态硬盘不作任何操作而直接登出,因此在固态硬盘执行用户登出、销毁用户的功能过程中,可以根据用户对应的用户标识从系统数据区擦除该用户存储的信息,信息可以是数据保护密钥的密文、用户标识以及用户标识对应的随机数,擦除方法可以是BMB21-2007、DOD522022M、Gutmann擦除法等。
通过上述实施例可以看出,根密钥没有以固定的形式存储在固态硬盘中,都是采取临时生成的方式来获取,而且在临时生成密钥的过程中,将用户标识和用户口令考虑在内,可以有效解决攻击者极易绕过用户身份认证而获得存储的根密钥的问题,防止造成根密钥的泄露,提高了SSD数据存储的安全性和可靠性。
为了执行上述实施例及各个可能的方式中的相应步骤,以实现相应的技术效果,下面给出一种无人机的实现方式,参见图10,图10为本发明实施例提供的一种根密钥生成保护装置的功能模块图。需要说明的是,本实施例所提供的一种根密钥生成保护装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该一种根密钥生成保护装置40包括:接收模块401、生成模块402。
接收模块401,用于接收用户输入的用户标识和用户口令。
可选地,上述的用户标识和所述用户口令用于区分不同的用户。
生成模块402,用于根据用户标识和用户口令生成根密钥。
可选地,用户标识、用户口令与根密钥具有对应关系,根密钥用于获得数据保护密钥对应的密文;密文用于保护固态硬盘上的数据。
可以理解的是,接收模块401和生成模块402可以协同的执行步骤201和步骤204以实现相应的技术效果。
可选地,生成模块402,具体用于根据用户标识和随机数生成用户口令生成参数;还具体用于根据用户口令和用户口令生成参数生成根密钥。
可以理解的是,生成模块402还可以执行步骤204-1、步骤204-2以实现相应的技术效果。
可选地,根密钥生成保护装置40还包括获取模块和存储模块,获取模块用于从随机数发生器中获取所述随机数;存储模块用于将随机数和用户标识写入固态硬盘的系统数据区,系统数据区维护随机数与所述用户标识的对应关系。
可以理解的是,获取模块和存储模块可以用于执行步骤202和步骤203以实现相应的技术效果。
可选地,生成模块402还可以根据用户口令和用户生成参数生成根密钥因子,通过根密钥因子合成根密钥。
可以理解的是,生成模块402可以用于执行步骤204-2a和步骤204-2b以实现相应的技术效果。
可选地,生成模块402还用于当用户口令发生更改时,根据用户标识和更改后的用户口令获得更新的根密钥,更新的根密钥用于更新数据保护密钥对应的密文。
可以理解的是,生成模块402可以用于执行步骤205以实现相应的技术效果。
可选地,根密钥生成保护装置40还包括删除模块,删除模块可以当用户标识对应的用户退出固态硬盘时,删除用户标识对应的根密钥。
可以理解的是,删除模块可以用于执行步骤206以实现相应的技术效果。
本发明实施例还提供一种固态硬盘,参见图11,图11为本发明实施例提供的一种固态硬盘的结构图,该固态硬盘50包括通信接口501、处理器502和存储器503,处理器502可以是主控芯片,用于执行根密钥生成保护方法,存储器503存储有能够被所述处理器执行的机器可执行指令,可执行指令以实现上述实施例中的根密钥生成保护方法。
可选地,上述模块可以软件或固件(Firmware)的形式存储于固态硬盘的存储器中,并可由固态硬盘的处理器执行。同时,执行上述模块所需的数据、程序的代码等可以存储在固态硬盘的存储器中。
本发明实施例提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前述实施方式中任一项根密钥生成保护方法,该存储介质可以是,但不限于,U盘、移动硬盘、ROM、RAM、PROM、EPROM、EEPROM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其它的具体形式实现本发明。因此无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种根密钥生成保护方法,应用于固态硬盘,所述方法包括:
接收用户输入的用户标识和用户口令;所述用户标识和所述用户口令用于区分不同的用户;
根据所述用户标识和所述用户口令生成根密钥;所述用户标识、所述用户口令与所述根密钥具有对应关系;所述根密钥用于获得数据保护密钥对应的密文;所述密文用于保护所述固态硬盘上的数据。
2.根据权利要求1所述的根密钥生成保护方法,其特征在于,根据用户标识和用户口令生成根密钥的步骤,包括:
根据所述用户标识和随机数生成用户口令生成参数;
根据所述用户口令和所述用户口令生成参数生成所述根密钥。
3.根据权利要求2所述的根密钥生成保护方法,其特征在于,在所述根据所述用户标识和随机数生成所述用户口令生成参数的步骤之前,所述方法还包括:
从随机数发生器中获取所述随机数;
将所述随机数和所述用户标识写入所述固态硬盘的系统数据区;所述系统数据区维护所述随机数与所述用户标识的对应关系。
4.根据权利要求3所述的方法,其特征在于,所述根据所述用户口令和所述用户生成参数生成根密钥的步骤,包括:
根据所述用户口令和所述用户生成参数生成根密钥因子;
通过所述根密钥因子合成所述根密钥。
5.根据权利要求1所述的根密钥生成保护方法,其特征在于,所述方法还包括:
当所述用户口令发生更改时,根据所述用户标识和更改后的用户口令获得更新的根密钥;所述更新的根密钥用于更新所述数据保护密钥对应的密文。
6.根据权利要求1所述的根密钥生成保护方法,其特征在于,所述方法还包括:
当所述用户标识对应的用户退出所述固态硬盘时,删除所述用户标识对应的根密钥。
7.一种根密钥生成保护装置,其特征在于,包括:接收模块和生成模块;
所述接收模块,用于接收用户输入的用户标识和用户口令;所述用户标识和所述用户口令用于区分不同的用户;
所述生成模块,用于根据所述用户标识和所述用户口令生成根密钥;所述用户标识、所述用户口令与所述根密钥具有对应关系;所述根密钥用于获得数据保护密钥对应的密文;所述密文用于保护固态硬盘上的数据。
8.根据权利要求7所述的根密钥生成保护装置,其特征在于,
所述生成模块,具体用于根据所述用户标识和随机数生成用户口令生成参数;
所述生成模块,具体用于根据所述用户口令和所述用户口令生成参数生成所述根密钥。
9.一种固态硬盘,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-6中任一项所述的根密钥生成保护方法。
10.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6中任一项所述的根密钥生成保护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285133.7A CN111008390A (zh) | 2019-12-13 | 2019-12-13 | 根密钥生成保护方法、装置、固态硬盘及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911285133.7A CN111008390A (zh) | 2019-12-13 | 2019-12-13 | 根密钥生成保护方法、装置、固态硬盘及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111008390A true CN111008390A (zh) | 2020-04-14 |
Family
ID=70114578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911285133.7A Pending CN111008390A (zh) | 2019-12-13 | 2019-12-13 | 根密钥生成保护方法、装置、固态硬盘及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111008390A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541550A (zh) * | 2020-05-11 | 2020-08-14 | 卡瓦科尔牙科医疗器械(苏州)有限公司 | 一种牙科医疗信息系统的密钥生成方法 |
CN112257121A (zh) * | 2020-10-20 | 2021-01-22 | 湖南国科微电子股份有限公司 | 加密方法、解密方法、电子设备和存储介质 |
CN112464211A (zh) * | 2020-12-21 | 2021-03-09 | 合肥大唐存储科技有限公司 | 一种验证固态硬盘中信息的方法、固态硬盘和服务器 |
CN114091088A (zh) * | 2022-01-18 | 2022-02-25 | 云丁网络技术(北京)有限公司 | 用于提高通信安全的方法和装置 |
CN114285554A (zh) * | 2021-12-15 | 2022-04-05 | 廊坊市新奥能源有限公司 | 基于设备标识的密钥生成方法及装置、计算机可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104639332A (zh) * | 2015-02-25 | 2015-05-20 | 山东超越数控电子有限公司 | 一种固态硬盘加密密钥的保护方法 |
CN104852891A (zh) * | 2014-02-19 | 2015-08-19 | 华为技术有限公司 | 一种密钥生成的方法、设备及系统 |
CN108449178A (zh) * | 2018-03-26 | 2018-08-24 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
-
2019
- 2019-12-13 CN CN201911285133.7A patent/CN111008390A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104852891A (zh) * | 2014-02-19 | 2015-08-19 | 华为技术有限公司 | 一种密钥生成的方法、设备及系统 |
CN104639332A (zh) * | 2015-02-25 | 2015-05-20 | 山东超越数控电子有限公司 | 一种固态硬盘加密密钥的保护方法 |
CN108449178A (zh) * | 2018-03-26 | 2018-08-24 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111541550A (zh) * | 2020-05-11 | 2020-08-14 | 卡瓦科尔牙科医疗器械(苏州)有限公司 | 一种牙科医疗信息系统的密钥生成方法 |
CN112257121A (zh) * | 2020-10-20 | 2021-01-22 | 湖南国科微电子股份有限公司 | 加密方法、解密方法、电子设备和存储介质 |
CN112464211A (zh) * | 2020-12-21 | 2021-03-09 | 合肥大唐存储科技有限公司 | 一种验证固态硬盘中信息的方法、固态硬盘和服务器 |
CN114285554A (zh) * | 2021-12-15 | 2022-04-05 | 廊坊市新奥能源有限公司 | 基于设备标识的密钥生成方法及装置、计算机可读介质 |
CN114091088A (zh) * | 2022-01-18 | 2022-02-25 | 云丁网络技术(北京)有限公司 | 用于提高通信安全的方法和装置 |
CN114091088B (zh) * | 2022-01-18 | 2022-09-06 | 云丁网络技术(北京)有限公司 | 用于提高通信安全的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740849B2 (en) | Registration and authentication of computing devices using a digital skeleton key | |
CN111008390A (zh) | 根密钥生成保护方法、装置、固态硬盘及存储介质 | |
US9673975B1 (en) | Cryptographic key splitting for offline and online data protection | |
CN111723383B (zh) | 数据存储、验证方法及装置 | |
US9043610B2 (en) | Systems and methods for data security | |
JPH10247905A (ja) | アクセス資格認証装置および方法 | |
JP5052878B2 (ja) | 記憶装置及び利用者認証方法 | |
CN109190401A (zh) | 一种Qemu虚拟可信根的数据存储方法、装置及相关组件 | |
WO2007006689A1 (en) | Generating a secret key from an asymmetric private key | |
CN102163267A (zh) | 固态硬盘安全访问控制方法、装置和固态硬盘 | |
CN106100851B (zh) | 密码管理系统、智能腕表及其密码管理方法 | |
CN110233729B (zh) | 一种基于puf的加密固态盘密钥管理方法 | |
EP2689367B1 (en) | Data protection using distributed security key | |
CN108574578A (zh) | 一种黑匣子数据保护系统及方法 | |
Lee et al. | A secure solution for USB flash drives using FAT file system structure | |
CN114297673A (zh) | 一种口令验证方法、固态硬盘和上位机 | |
CN107070648A (zh) | 一种密钥保护方法及pki系统 | |
CN108540426A (zh) | 一种实现数据处理的方法、装置及服务器 | |
CN108985079B (zh) | 数据验证方法和验证系统 | |
CN105025001A (zh) | 一种保护文件的装置、系统及方法 | |
JP2017079419A (ja) | サーバ認証システム、端末、サーバ、サーバ認証方法、プログラム | |
JPH09106445A (ja) | 情報記録媒体のキー変更方法および情報記録媒体 | |
Lee et al. | The study on the security solutions of USB memory | |
CN117811734B (zh) | 业务源码加密存储与评估与鉴权方法 | |
CN113454968B (zh) | 用于安全交易的方法和系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200414 |