CN111082935B - 一种媒体密钥生成方法、装置及基于媒体密钥的终端 - Google Patents
一种媒体密钥生成方法、装置及基于媒体密钥的终端 Download PDFInfo
- Publication number
- CN111082935B CN111082935B CN201911414183.0A CN201911414183A CN111082935B CN 111082935 B CN111082935 B CN 111082935B CN 201911414183 A CN201911414183 A CN 201911414183A CN 111082935 B CN111082935 B CN 111082935B
- Authority
- CN
- China
- Prior art keywords
- random number
- user
- key
- identification information
- storage device
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种媒体密钥生成方法、装置及基于媒体密钥的终端,媒体密钥都是由用户密钥、存储装置标识信息和随机数结合并经过算法处理生成的,使得每颗芯片的媒体密钥具有独特性,提高了媒体密钥的安全性。方法包括:获取用户密钥、第一随机数、第二随机数及存储装置标识信息;根据用户密钥及所述存储装置标识信息得到第一哈希值;根据第一随机数及存储装置标识信息得到一级加密明文;根据第一哈希值对一级加密明文进行加密处理,得到一级密文;根据第二随机数得到二级加密明文;根据一级密文对二级加密明文进行加密处理,得到二级密文;根据二级密文对第一预置值进行加密处理,得到媒体密钥。
Description
技术领域
本发明涉及数据加密技术领域,特别是涉及一种媒体密钥生成方法、装置及基于媒体密钥的终端。
背景技术
媒体密钥(Media Key,MK)是系统进行对用户数据加解密的密钥,媒体密钥的安全性对于加密系统十分重要。当前信息技术产业,用户产生的数据量呈现出爆发式的急剧增长,数据安全得到越来越多的企业、用户、科研院所等的重视。通常,在安全模式下,用户数据写进存储装置前需要进行加密操作,然后将加密数据写入到存储介质中,在数据从存储介质读取的过程中,再将加密数据进行解密以还原加密前的原始数据。用户数据加密过程中使用的媒体密钥的安全性是整个安全加密系统的重要基础。
现有的方法是利用现有的媒体密钥对媒体数据进行加密,从而保证媒体内容的安全。但是,媒体密钥的安全性并未得到改进,可能由于密钥泄密导致安全性无法得到保证。
发明内容
本发明的目的是提供一种媒体密钥生成方法、装置及基于媒体密钥的终端,由于媒体密钥都是由用户密钥、存储装置标识信息和随机数结合并经过算法处理生成的,使得每颗芯片的媒体密钥具有独特性,提高了媒体密钥的安全性。
本发明第一方面提供一种媒体密钥生成方法,包括:
获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
根据用户密钥及存储装置标识信息得到第一哈希值;
根据第一随机数及存储装置标识信息得到一级加密明文;
根据第一哈希值对一级加密明文进行加密处理,得到一级密文;
根据第二随机数得到二级加密明文;
根据一级密文对二级加密明文进行加密处理,得到二级密文;
根据二级密文对第一预置值进行加密处理,得到媒体密钥。
进一步的,根据用户密钥及存储装置标识信息得到第一哈希值,包括:
对用户密钥及存储装置标识信息进行拼接;
对拼接后的用户密钥及存储装置标识信息进行哈希运算,得到第一哈希值,第一哈希值为CPU不可读。
进一步的,根据第一随机数及存储装置标识信息得到一级加密明文,包括:
对第一随机数及存储装置标识信息进行拼接;
对拼接后的第一随机数及存储装置标识信息进行哈希运算,得到一级加密明文,一级加密明文为CPU不可读。
进一步的,根据第二随机数得到二级加密明文,包括:
对第二随机数进行质量检测;
若第二随机数的质量符合要求,则将第二随机数作为二级加密明文,二级加密明文为CPU不可读;
若第二随机数的质量不符合要求,则对第二随机数进行哈希运算,得到二级加密明文,二级加密明文为CPU不可读。
进一步的,方法还包括:
当获取到用户数据时,根据媒体密钥对用户数据进行加密处理,得到加密数据,将加密数据保存到闪存介质;
当需要读取用户数据时,从闪存介质中读取加密数据,根据媒体密钥对加密数据进行解密处理,得到用户数据。
进一步的,方法还包括:
根据用户密钥得到第二哈希值;
根据第二哈希值对第二预置值进行哈希运算,得到用户加密密钥。
本发明第二方面提供一种媒体密钥生成装置,包括:
获取模块,用于获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
一级密文生成模块,用于根据用户密钥及存储装置标识信息得到第一哈希值;
一级密文生成模块,还用于根据第一随机数及存储装置标识信息得到一级加密明文;
一级密文生成模块,还用于根据第一哈希值对一级加密明文进行加密处理,得到一级密文;
二级密文生成模块,用于根据第二随机数得到二级加密明文;
二级密文生成模块,还用于根据一级密文对二级加密明文进行加密处理,得到二级密文;
媒体密钥生成模块,用于根据二级密文对第一预置值进行加密处理,得到媒体密钥。
进一步的,一级密文生成模块包括:
第一拼接单元,用于对用户密钥及存储装置标识信息进行拼接;
第一哈希运算单元,用于对拼接后的用户密钥及存储装置标识信息进行哈希运算,得到第一哈希值;
第二拼接单元,用于对第一随机数及存储装置标识信息进行拼接;
第二哈希运算单元,用于对拼接后的第一随机数及存储装置标识信息进行哈希运算,得到一级加密明文;
一级密文生成单元,用于根据第一哈希值对一级加密明文进行加密处理,得到一级密文。
进一步的,二级密文生成模块包括:
随机数发生单元,用于对第二随机数进行质量检测;
随机数发生单元,还用于若第二随机数的质量符合要求,将第二随机数作为二级加密明文;
第三哈希运算单元,用于若第二随机数的质量不符合要求,对第二随机数进行哈希运算,得到二级加密明文;
二级密文生成单元,用于根据一级密文对二级加密明文进行加密处理,得到二级密文。
本发明第三方面提供一种基于媒体密钥的终端,包括:
以上第二方面的媒体密钥生成装置、终端系统、存储介质及终端接口;
媒体密钥生成装置根据用户密钥、第一随机数、第二随机数及存储装置标识信息生成媒体密钥;
当用户需要登录时,终端系统通过终端接口接收用户输入的待比较用户密钥,根据用户密钥及待比较用户密钥判断用户是否身份验证通过;
当用户身份验证通过,且通过终端接口获取到用户数据时,终端系统根据媒体密钥对用户数据进行加密处理,得到加密数据,将加密数据保存到存储介质中;
当需要读取用户数据时,终端系统从存储介质中读取出加密数据,根据媒体密钥对加密数据进行解密处理,得到用户数据。
由此可见,本发明中根据用户密钥及存储装置标识信息得到第一哈希值,根据第一随机数及存储装置标识信息得到一级加密明文,根据第一哈希值对一级加密明文进行加密处理,得到一级密文,根据第二随机数得到二级加密明文,根据一级密文对二级加密明文进行加密处理,得到二级密文,根据二级密文对第一预置值进行加密处理,得到媒体密钥。由于媒体密钥的生成方式是结合用户密钥、存储装置标识信息、随机数三者并经过算法处理得到的,使得每颗芯片具有独特的高安全性的媒体密钥,提高了媒体密钥的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的媒体密钥生成方法的一个实施例的流程示意图;
图2为本发明提供的媒体密钥生成方法的另一个实施例的流程示意图;
图3为本发明提供的用户加密密钥生成及用户密钥验证的流程示意图;
图4为本发明提供的媒体密钥生成装置的一个实施例的结构示意图;
图5为本发明提供的媒体密钥生成装置的另一个实施例的结构示意图;
图6为本发明提供的媒体密钥生成装置的又一个实施例的结构示意图;
图7为本发明提供的媒体密钥生成装置的再一个实施例的结构示意图;
图8为本发明提供的AES1与OTP硬件接口时序图;
图9为本发明提供的RNG与OTP硬件接口时序图;
图10为本发明提供的RNG与SHA硬件接口时序图;
图11为本发明提供的AES1与SHA硬件接口时序图;
图12为本发明提供的基于媒体密钥的终端的一个实施例的结构示意图。
具体实施方式
本发明的核心是提供一种媒体密钥生成方法、装置及基于媒体密钥的终端,由于媒体密钥都是由用户密钥、存储装置标识信息和随机数结合并经过算法处理生成的,使得每颗芯片的媒体密钥具有独特性,提高了媒体密钥的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供一种媒体密钥生成方法,包括:
101、获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
本实施例中,用户密钥是在初次使用时由用户输入的。存储装置标识信息表示的是存储装置的唯一标识,具体可以是芯片ID,一般是在生产过程中由生产商赋予的,是在机台测试阶段烧写到一次性可编程器件(One Time Programmable,OTP)中的值。第一随机数和第二随机数是由随机数发生器(Random Number Generator,RNG)生成的,第一随机数一般为128bit的数值,第二随机数一般为256bit的数值。当执行媒体密钥生成过程时,通过交互界面就能够获取到用户输入的用户密钥,通过调用OTP从OTP中读取到存储装置标识信息,通过调用RNG从RNG获取到RNG生成的第一随机数及第二随机数。
102、根据用户密钥及存储装置标识信息得到第一哈希值;
本实施例中,在获取到用户密钥及存储装置标识信息后,依据用户密钥及存储装置标识信息计算得到第一哈希值。例如,先将用户密钥及存储装置标识信息进行拼接,再通过哈希运算得到第一哈希值。需要说明的是,可以将第一哈希值保存到CPU不可读的寄存器,使得CPU不可读取第一哈希值。
103、根据第一随机数及存储装置标识信息得到一级加密明文;
本实施例中,在获取到第一随机数及存储装置标识信息后,依据第一随机数及存储装置标识信息计算得到一级加密明文。例如,先将第一随机数及存储装置标识信息进行拼接,再通过哈希运算得到一级加密明文,哈希运算也可以称为安全散列(Secure HashAlgorithm,SHA)运算。需要说明的是,可以将一级加密明文保存到CPU不可正确读取寄存器值的寄存器,使得CPU不可读取一级加密明文。
104、根据第一哈希值对一级加密明文进行加密处理,得到一级密文;
本实施例中,将第一哈希值作为密钥,将一级加密明文作为明文,采用密钥相关路径的加解密引擎(AES1),根据第一哈希值对一级加密明文进行加密处理,得到一级密文。需要说明的是,可以将一级密文保存到CPU不可正确读取寄存器值的寄存器,使得CPU不可读取一级密文。
105、根据第二随机数得到二级加密明文;
本实施例中,将第二随机数作为二级加密明文,需要说明的是,第二随机数是在芯片回片测试阶段质量检测合格的。需要说明的是,可以将二级加密明文保存到CPU不可正确读取寄存器值的寄存器,使得CPU不可读取二级加密明文。
106、根据一级密文对二级加密明文进行加密处理,得到二级密文;
本实施例中,将一级密文作为密钥,将二级加密明文作为明文,采用AES1,根据一级密文对二级加密明文进行加密处理,得到二级密文。需要说明的是,可以将二级密文保存到CPU不可正确读取寄存器值的寄存器,使得CPU不可读取二级密文。
107、根据二级密文对第一预置值进行加密处理,得到媒体密钥。
本实施例中,将二级密文作为密钥,将第一预置值作为明文,采用AES1,根据二级密文对第一预置值进行加密处理,得到媒体密钥。其中,第一预置值是在机台测试阶段通过OTP调用RNG产生第一预置值的值,并将其烧写在OTP存储第一预置值的地址中,第一预置值一般为256bit。需要说明的是,可以将媒体密钥保存到CPU不可正确读取寄存器值的寄存器,使得CPU不可读取媒体密钥。
本发明实施例中,由于媒体密钥的生成方式是结合用户密钥、存储装置标识信息、随机数三者相结合,使得每颗芯片具有独特的高安全性的媒体密钥;而且第一哈希值、一级加密明文、一级密文、二级加密明文、二级密文及媒体密钥均为CPU不可读,使得一级密文、二级密文的明文和密钥都是CPU不可读,而且媒体密钥也是CPU不可读,避免了媒体密钥的泄漏的机会。因此,由于媒体密钥都是由用户密钥、存储装置标识信息和随机数结合并经过算法处理生成的,使得每颗芯片的媒体密钥具有独特性,提高了媒体密钥的安全性。
在以上图1所示的实施例中,并未说明第一哈希值、一级加密明文和二级加密明文的具体生成方式,下面通过实施例对第一哈希值、一级加密明文和二级加密明文的生成以及使用媒体密钥对用户数据加解密处理进行详细说明。
请参阅图2,本发明实施例提供一种媒体密钥生成方法,包括:
201、获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
详情请参考图1所示的实施例的步骤101。
202、对用户密钥及存储装置标识信息进行拼接;
本实施例中,将用户密钥及存储装置标识信息进行拼接,具体的拼接方式可以是用户密钥作为前端,将存储装置标识信息拼接到用户密钥后面,例如,用户密钥为“10101100”,存储装置标识信息为“10001001”,拼接之后得到“10101100 10001001”,也可以是存储装置标识信息作为前端,将用户密钥拼接到存储装置标识信息后面,拼接之后得到“10001001 10101100”。
203、对拼接后的用户密钥及存储装置标识信息进行签名验签处理,得到第一哈希值;
本实施例中,采用SHA-256标准或SM3标准对拼接后的用户密钥及存储装置标识信息进行哈希运算,得到第一哈希值。SHA-256是国际签名验签标准,SM3是国密签名验签标准。
204、对第一随机数及存储装置标识信息进行拼接;
本实施例中,将第一随机数及存储装置标识信息进行拼接,具体的拼接方式可以是第一随机数作为前端,将存储装置标识信息拼接到第一随机数后面,或者,存储装置标识信息作为前端,将第一随机数拼接到存储装置标识信息后面。
205、对拼接后的第一随机数及存储装置标识信息进行签名验签处理,得到一级加密明文;
本实施例中,采用SHA-256标准或SM3标准对拼接后的第一随机数及存储装置标识信息进行哈希运算,得到一级加密明文。将一级加密明文保存到CPU不可读的寄存器,使得CPU不可读取一级加密明文。
206、根据第一哈希值对一级加密明文进行加密处理,得到一级密文;
详情请参考图1所示的实施例的步骤104。
207、对第二随机数进行质量检测;
本实施例中,在二级加密明文生成之前,还需要依据芯片回片测试阶段的设定,对RNG生成的第二随机数进行质量检测,判断第二随机数是否质量符合要求,具体的质量符合要求的设定,一般是随机数的质量是否为优,即随机数是否适用于明文的要求。当第二随机数的质量符合要求时,执行步骤208;当第二随机数的质量不符合要求时,执行步骤209。
208、将第二随机数作为二级加密明文;
本实施例中,第二随机数的质量符合要求时,直接将第二随机数作为二级加密明文。
209、对第二随机数进行哈希运算,得到二级加密明文;
本实施例中,第二随机数的质量不符合要求时,通过调用RNG生成新的符合质量要求的第二随机数,对第二随机数进行哈希运算,得到二级加密明文,将二级加密明文保存到CPU不可读的寄存器,使得CPU不可读取二级加密明文。
210、根据一级密文对二级加密明文进行加密处理,得到二级密文;
详情请参考图1所示的实施例的步骤106。
211、根据二级密文对第一预置值进行加密处理,得到媒体密钥;
详情请参考图1所示的实施例的步骤107。
212、当获取到用户数据时,根据媒体密钥对用户数据进行加密处理,得到加密数据,将加密数据保存到闪存介质;
本实施例中,当获取到用户数据时,用户数据路径的加解密引擎(AES2)使用媒体密钥对用户数据进行加密处理,得到加密数据,将加密数据保存到闪存介质。
213、当需要读取用户数据时,从闪存介质中读取加密数据,根据媒体密钥对加密数据进行解密处理,得到用户数据。
本实施例中,当需要读取用户数据时,CPU从闪存介质中读取出加密数据,AES2按照媒体密钥对加密数据进行解密处理,得到用户数据。
本发明实施中,具体说明了第一哈希值是在用户密钥及存储装置标识信息进行拼接及哈希运算处理后得到的,一级加密明文是在第一随机数及存储装置标识信息进行拼接及哈希运算处理后得到的,二级加密明文的生成过程还需要进行第二随机数的质量检测,根据质量检测结果来得到二级加密明文,并且在得到媒体密钥之后,还使用媒体密钥对用户数据进行加解密处理。
在以上图1和图2所示的实施例中,并未对用户加密密钥及用户密钥的验证进行说明,下面通过实施例进行详细说明。
请参考图3,图3所示为用户加密密钥生成及用户密钥验证的流程图,包括:
301、根据用户密钥得到第二哈希值;
本实施例中,在用户进行初始设置时,采用SHA-256标准或SM3标准对用户密钥进行哈希运算,得到第二哈希值。
302、根据第二哈希值对第二预置值进行加密处理,得到用户加密密钥;
本实施例中,将第二哈希值作为密钥,将第二预置值作为明文,采用AES1,根据第二哈希值对第二预置值进行加密处理,得到预置用户加密密钥。第二预置值的获取方式为AES1调用OTP存储器硬件接口读取第二预置值的值,并将第二预置值的值保存在AES1内部寄存器中,第二预置值是存储在OTP中的256bit的随机数,在机台测试阶段通过OTP调用RNG产生第二预置值并将其烧写在OTP存储第二预置值的地址中。CPU可以将该用户加密密钥写到系统数据区。
303、当需要验证用户身份时,获取用户输入的待比较用户密钥;
本实施例中,在进行验证用户身份时,获取用户输入的待比较用户密钥。
304、根据待比较用户密钥得到待比较哈希值;
305、根据待比较哈希值对第二预置值进行哈希运算,得到待比较用户加密密钥;
306、比较待比较用户加密密钥及用户加密密钥是否相同;
本实施例中,将待比较用户加密密钥与系统数据区中读取的用户加密密钥进行比较,如果相同,就表示用户输入的待比较用户密钥正确,执行步骤307;如果不相同,就表示用户输入的待比较用户密钥错误,执行步骤308。
307、用户的身份验证通过;
本实施例中,待比较用户加密密钥与用户加密密钥相同,则待比较用户密钥正确,表示用户的身份验证通过。
308、用户的身份验证不通过。
本实施例中,待比较用户加密密钥与用户加密密钥不相同,则待比较用户密钥错误,表示用户的身份验证不通过。
本发明实施例中,具体说明用户加密密钥是如何生成的,及用户的身份验证是如何通过用户加密密钥来实现的,使得用户身份验证过程可以实现。
以上实施例中,具体说明了媒体密钥生成方法的执行过程,下面通过实施例对运行媒体密钥生成方法的媒体密钥生成装置进行详细说明。
请参阅图4,本发明实施例提供一种媒体密钥生成装置,包括:
获取模块401,用于获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
一级密文生成模块402,用于根据用户密钥及存储装置标识信息得到第一哈希值;
一级密文生成模块402,还用于根据第一随机数及存储装置标识信息得到一级加密明文;
一级密文生成模块402,还用于根据第一哈希值对一级加密明文进行加密处理,得到一级密文;
二级密文生成模块403,用于根据第二随机数得到二级加密明文;
二级密文生成模块403,还用于根据一级密文对二级加密明文进行加密处理,得到二级密文;
媒体密钥生成模块404,用于根据二级密文对第一预置值进行加密处理,得到媒体密钥。
本发明实施例中,获取模块401获取用户密钥、第一随机数、第二随机数及存储装置标识信息,一级密文生成模块402根据用户密钥及存储装置标识信息得到第一哈希值,根据第一随机数及存储装置标识信息得到一级加密明文,根据第一哈希值对一级加密明文进行加密处理,得到一级密文,二级密文生成模块403根据第二随机数得到二级加密明文,根据一级密文对二级加密明文进行加密处理,得到二级密文,媒体密钥生成模块404根据二级密文对第一预置值进行加密处理,得到媒体密钥。由于媒体密钥是由用户密钥、存储装置标识信息、随机数三者结合并经过算法处理生成的,使得每颗芯片具有独特的高安全性的媒体密钥,提高了媒体密钥的安全性。
可选的,如图4所示的实施例,如图5所示,一级密文生成模块402包括:
第一拼接单元501,用于对用户密钥及存储装置标识信息进行拼接;
第一哈希运算单元502,用于对拼接后的用户密钥及存储装置标识信息进行哈希运算,得到第一哈希值;
第二拼接单元503,用于对第一随机数及存储装置标识信息进行拼接;
第二哈希运算单元504,用于对拼接后的第一随机数及存储装置标识信息进行哈希运算,得到一级加密明文;
一级密文生成单元505,用于根据第一哈希值对一级加密明文进行加密处理,得到一级密文。
本发明实施例中,具体说明了第一哈希值的得到方式是,第一拼接单元501对用户密钥及存储装置标识信息进行拼接,第一安全哈希运算单元502采用SHA-256标准或SM3标准对拼接后的用户密钥及存储装置标识信息进行哈希运算,得到第一哈希值,第二拼接单元503对第一随机数及存储装置标识信息进行拼接,第二安全哈希运算单元504采用SHA-256标准或SM3标准对拼接后的第一随机数及存储装置标识信息进行哈希运算,得到一级加密明文。
可选的,如图4所示的实施例,如图6所示,二级加密明文模块405包括:
随机数发生单元601,用于对第二随机数进行质量检测;
随机数发生单元601,还用于若第二随机数的质量符合要求,将第二随机数作为二级加密明文;
第三哈希运算单元602,用于若第二随机数的质量不符合要求,对第二随机数进行哈希运算,得到二级加密明文;
二级密文生成单元603,用于根据一级密文对二级加密明文进行加密处理,得到二级密文。
本发明实施例中,随机数发生单元601在二级加密明文生成之前,还需要依据芯片回片测试阶段的设定,对RNG生成的第二随机数进行质量检测,判断第二随机数是否质量符合要求,具体的质量符合要求的设定,一般是随机数的质量是否为优,即随机数是否适用于明文的要求。当第二随机数的质量符合要求时,随机数发生单元601将第二随机数作为二级加密明文;当第二随机数的质量不符合要求时,第三哈希运算单元602对第二随机数进行哈希运算,得到二级加密明文,二级密文生成单元603根据一级密文对二级加密明文进行加密处理,得到二级密文。
可选的,如图4-图6所示的实施例,如图7所示,装置还包括:用户身份验证模块701;
用户身份验证模块701包括:
第四哈希运算单元702,用于根据用户密钥得到第二哈希值;
用户加密密钥单元703,用于根据第二哈希值对第二预置值进行加密处理,得到用户加密密钥;
第四哈希运算单元702,还用于当需要验证用户身份时,获取用户输入的待比较用户密钥;
第四哈希运算单元702,还用于根据待比较用户密钥得到待比较哈希值;
用户加密密钥单元703,还用于根据待比较哈希值对第二预置值进行加密处理,得到待比较用户加密密钥;
密钥验证单元704,用于比较待比较用户加密密钥及用户加密密钥是否相同,若相同,则用户的身份验证通过;若不相同,则用户的身份验证不通过。
本发明实施例中,用户身份验证模块701进行用户验证的过程为,第四哈希运算单元702根据用户密钥得到第二哈希值,用户加密密钥单元703根据第二哈希值对第二预置值进行加密处理,得到用户加密密钥,当需要验证用户身份时,第四哈希运算单元702获取用户输入的待比较用户密钥,第四哈希运算单元702根据待比较用户密钥得到待比较哈希值,用户加密密钥单元703根据待比较哈希值对第二预置值进行加密处理,得到待比较用户加密密钥,密钥验证单元704比较待比较用户加密密钥及预置用户加密密钥是否相同,若相同,则用户的身份验证通过;若不相同,则用户的身份验证不通过。使得用户身份验证过程可以通过用户加密密钥实现。
在本发明中,实体的芯片中的硬件结构包括了AES1、OTP、RNG、SHA,其中AES1表示密钥相关路径的加解密引擎,OTP表示一次性可编程器件,RNG表示随机数发生器,SHA表示以SHA-256标准/SM3标准进行哈希运算/安全散列运算的硬件模块。以上四个硬件结构都是通过硬件接口连接的,通过调用硬件接口实现数据交互。下面对各硬件之间的硬件接口时序图的对各硬件交互进行详细说明。
如图8所示,为AES1与OTP硬件接口时序图。AES1通过此硬件接口调用OTP读取第一预置值(R2)和第二预置值(R1)。aes1_OTP_req信号是AES1发起读R1或R2的读请求信号,硬件电路过aes1_OTP_key_idx[1:0]的值来选择读取R1或R2,当硬件电路从OTP中把R1或R2的值读出来时,OTP_aes1_key_rdy为高电平,表示R1或R2数据已准备好,此时AES1可以锁存R1或R2的值,当AES1成功保存R1或R2后,AES1将aes1_OTP_key_done信号拉高,硬件电路在下一个时钟周期将aes1_OTP_req和aes1_OTP_key_done信号拉低,一次读取R1/R2的请求结束。
如图9所示,为RNG与OTP硬件接口时序图。保存在OTP中的R1和R2的值来源于RNG的随机数,并在机台测试阶段烧写进OTP。OTP_RNG_req信号是OTP发起一个RNG的随机数的请求信号,当RNG的随机数产生完毕时,RNG_OTP_gen_rdy信号拉高,同时,如果当前产生的RNG的随机数没有通过RNG的质量自检,则RNG_OTP_gen_flag信号拉高,表示此随机数的质量不合格;如果当前产生的RNG的随机数通过RNG模块的质量自检,则RNG_OTP_gen_flag信号拉低,表示此随机数质量合格。OTP检测到RNG_OTP_gen_rdy信号为高电平后,保存RNG的随机数,并将OTP_RNG_done的信号拉高,表示随机数的锁存完毕,在OTP_RNG_done信号为高电平后的一个时钟周期,OTP_RNG_req信号和RNG_OTP_gen_rdy信号拉低,一次OTP调用RNG产生随机数过程结束。需要注意的是,由于R1和R2都是256bit的数据,因此在烧写R1或R2时都需要调用两次OTP与RNG硬件接口电路以产生256bit的随机数。
如图10所示,为RNG与SHA硬件接口时序图。sha_RNG_req信号是SHA发起一非RNG的随机数的请求信号,当RNG的随机数产生完毕时,RNG_sha_gen_rdy信号拉高,同时,如果当前产生的RNG的随机数没有通过RNG模块的质量自检,则RNG_sha_gen_flag信号拉高,表示此随机数质量不合格;如果当前产生的RNG的随机数通过RNG的质量自检,则RNG_sha_gen_flag信号拉低,表示此随机数质量合格。SHA检测到RNG_sha_gen_rdy信号为高电平后,保存RNG的随机数,并将sha_RNG_done信号拉高,表示随机数的锁存完毕,在sha_RNG_done信号为高电平后的一个时钟周期,sha_RNG_req信号和RNG_sha_gen_rdy信号拉低,一次SHA调用RNG产生随机数过程结束。
如图11所示,为AES1与SHA硬件接口时序图。AES1通过此硬件接口调用SHA模块以得到第二哈希值、第一哈希值、一级加密明文、二级加密明文。aes1_sha_req信号是AES1发起SHA进行哈希运算的请求信号,硬件电路过aes1_sha_key_idx[1:0]的值来选择进行哈希运算的数据来源,当哈希运算结束后,sha_aes1_key_rdy为高电平,此时AES1可以锁存哈希运算的值,当AES1成功保存哈希运算结果后,AES1将aes1_sha_key_done信号拉高,硬件电路在下一个时钟周期将aes1_sha_req和aes1_sha_key_done信号拉低,一次AES调用SHA的请求结束。
在以上图4-图11所示的实施例及硬件接口时序图中,媒体密钥生成装置具体可以是芯片的方式,也可以是硬件电路组成结构,具体不做限定。而媒体密钥生成装置具体可以安装在基于媒体密钥的终端中,作为一个数据存储终端的组成模块,基于媒体密钥的终端具体可以是移动硬盘,也可以是其他形式的存储设备。
请参考图12,本发明实施例提供一种基于媒体密钥的终端,包括:
媒体密钥生成装置1201、终端系统1202、存储介质1203及终端接口1204;
媒体密钥生成装置1201根据用户密钥、第一随机数、第二随机数及存储装置标识信息生成媒体密钥;
当用户需要登录时,终端系统1202通过终端接口1204接收用户输入的待比较用户密钥,根据用户密钥及待比较用户密钥判断用户是否身份验证通过;
当用户身份验证通过,且通过终端接口1204获取到用户数据时,终端系统1202根据媒体密钥对用户数据进行加密处理,得到加密数据,将加密数据保存到存储介质1203中;
当需要读取用户数据时,终端系统1202从存储介质1203中读取出加密数据,根据媒体密钥对加密数据进行解密处理,得到用户数据。
本发明实施例中,媒体密钥生成装置1201生成媒体密钥的过程具体参考以上图1-图11中描述的内容;由于基于媒体密钥的终端出于对用户的保密性,需要进行用户身份验证,因此在用户需要登录时,终端系统1202需要进行身份验证,具体的用户身份验证的过程参考图3所示的实施例中步骤301-步骤308的描述内容;当用户身份验证通过之后,且通过终端接口1204获取到用户数据时,终端系统1202根据媒体密钥对用户数据进行加密处理,得到加密数据,将加密数据保存到存储介质1203中,存储介质1203具体可以是闪存介质;当需要读取用户数据时,终端系统1202从存储介质1203中读取出加密数据,根据媒体密钥对加密数据进行解密处理,得到用户数据,通过终端接口1204将用户数据导出即可。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种媒体密钥生成方法,其特征在于,包括:
获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
根据所述用户密钥及所述存储装置标识信息得到第一哈希值;
根据所述第一随机数及所述存储装置标识信息得到一级加密明文;
根据所述第一哈希值对所述一级加密明文进行加密处理,得到一级密文;
根据所述第二随机数得到二级加密明文;
根据所述一级密文对所述二级加密明文进行加密处理,得到二级密文;
根据所述二级密文对第一预置值进行加密处理,得到媒体密钥。
2.根据权利要求1所述的方法,其特征在于,所述根据所述用户密钥及所述存储装置标识信息得到第一哈希值,包括:
对所述用户密钥及所述存储装置标识信息进行拼接;
对拼接后的所述用户密钥及所述存储装置标识信息进行哈希运算,得到第一哈希值,所述第一哈希值为CPU不可读。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机数及所述存储装置标识信息得到一级加密明文,包括:
对所述第一随机数及所述存储装置标识信息进行拼接;
对拼接后的所述第一随机数及所述存储装置标识信息进行哈希运算,得到一级加密明文,所述一级加密明文为CPU不可读。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二随机数得到二级加密明文,包括:
对所述第二随机数进行质量检测;
若所述第二随机数的质量符合要求,则将所述第二随机数作为二级加密明文,所述二级加密明文为CPU不可读;
若所述第二随机数的质量不符合要求,则对所述第二随机数进行哈希运算,得到二级加密明文,所述二级加密明文为CPU不可读。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述方法还包括:
当获取到用户数据时,根据所述媒体密钥对所述用户数据进行加密处理,得到加密数据,将所述加密数据保存到闪存介质;
当需要读取所述用户数据时,从所述闪存介质中读取所述加密数据,根据所述媒体密钥对所述加密数据进行解密处理,得到所述用户数据。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
根据所述用户密钥得到第二哈希值;
根据所述第二哈希值对第二预置值进行哈希运算,得到用户加密密钥。
7.一种媒体密钥生成装置,其特征在于,包括:
获取模块,用于获取用户密钥、第一随机数、第二随机数及存储装置标识信息;
一级密文生成模块,用于根据所述用户密钥及所述存储装置标识信息得到第一哈希值;
所述一级密文生成模块,还用于根据所述第一随机数及所述存储装置标识信息得到一级加密明文;
所述一级密文生成模块,还用于根据所述第一哈希值对所述一级加密明文进行加密处理,得到一级密文;
二级密文生成模块,用于根据所述第二随机数得到二级加密明文;
所述二级密文生成模块,还用于根据所述一级密文对所述二级加密明文进行加密处理,得到二级密文;
媒体密钥生成模块,用于根据所述二级密文对第一预置值进行加密处理,得到媒体密钥。
8.根据权利要求7所述的装置,其特征在于,所述一级密文生成模块包括:
第一拼接单元,用于对所述用户密钥及所述存储装置标识信息进行拼接;
第一哈希运算单元,用于对拼接后的所述用户密钥及所述存储装置标识信息进行哈希运算,得到第一哈希值;
第二拼接单元,用于对所述第一随机数及所述存储装置标识信息进行拼接;
第二哈希运算单元,用于对拼接后的所述第一随机数及所述存储装置标识信息进行哈希运算,得到一级加密明文;
一级密文生成单元,用于根据所述第一哈希值对所述一级加密明文进行加密处理,得到一级密文。
9.根据权利要求7所述的装置,其特征在于,所述二级密文生成模块包括:
随机数发生单元,用于对所述第二随机数进行质量检测;
所述随机数发生单元,还用于若所述第二随机数的质量符合要求,将所述第二随机数作为二级加密明文;
第三哈希运算单元,用于若所述第二随机数的质量不符合要求,对所述第二随机数进行哈希运算,得到二级加密明文;
二级密文生成单元,用于根据所述一级密文对所述二级加密明文进行加密处理,得到二级密文。
10.一种基于媒体密钥的终端,其特征在于,包括:
以上权利要求7-9中任一项所述的媒体密钥生成装置、终端系统、存储介质及终端接口;
所述媒体密钥生成装置根据用户密钥、第一随机数、第二随机数及存储装置标识信息生成媒体密钥;
当用户需要登录时,所述终端系统通过所述终端接口接收所述用户输入的待比较用户密钥,根据所述用户密钥及所述待比较用户密钥判断所述用户是否身份验证通过;
当所述用户身份验证通过,且通过所述终端接口获取到用户数据时,所述终端系统根据所述媒体密钥对所述用户数据进行加密处理,得到加密数据,将所述加密数据保存到所述存储介质中;
当需要读取所述用户数据时,所述终端系统从所述存储介质中读取出所述加密数据,根据所述媒体密钥对所述加密数据进行解密处理,得到所述用户数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414183.0A CN111082935B (zh) | 2019-12-31 | 2019-12-31 | 一种媒体密钥生成方法、装置及基于媒体密钥的终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911414183.0A CN111082935B (zh) | 2019-12-31 | 2019-12-31 | 一种媒体密钥生成方法、装置及基于媒体密钥的终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111082935A CN111082935A (zh) | 2020-04-28 |
CN111082935B true CN111082935B (zh) | 2022-07-12 |
Family
ID=70320742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911414183.0A Active CN111082935B (zh) | 2019-12-31 | 2019-12-31 | 一种媒体密钥生成方法、装置及基于媒体密钥的终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111082935B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113079001B (zh) * | 2021-03-08 | 2023-03-10 | 北京忆芯科技有限公司 | 密钥更新方法、信息处理设备及密钥更新装置 |
CN114640443B (zh) * | 2022-03-17 | 2023-05-09 | 浙江广厦建设职业技术大学 | 一种在线工程报价安全交互方法和系统 |
CN114666049B (zh) * | 2022-03-25 | 2024-02-20 | 中金金融认证中心有限公司 | 一种用于加密明文数据的方法及其相关产品 |
CN116011041B (zh) * | 2022-12-07 | 2024-06-18 | 成都海光集成电路设计有限公司 | 密钥管理方法、数据保护方法、系统、芯片及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719830A (zh) * | 2009-11-27 | 2010-06-02 | 中兴通讯股份有限公司 | Nfc认证方法和系统 |
CN101741555A (zh) * | 2008-11-12 | 2010-06-16 | 中兴通讯股份有限公司 | 身份认证和密钥协商方法及系统 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN108347331A (zh) * | 2017-01-25 | 2018-07-31 | 北京百度网讯科技有限公司 | 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 |
CN110417543A (zh) * | 2018-04-27 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种数据加密方法、装置和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373509B2 (en) * | 2003-12-31 | 2008-05-13 | Intel Corporation | Multi-authentication for a computing device connecting to a network |
-
2019
- 2019-12-31 CN CN201911414183.0A patent/CN111082935B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741555A (zh) * | 2008-11-12 | 2010-06-16 | 中兴通讯股份有限公司 | 身份认证和密钥协商方法及系统 |
CN101719830A (zh) * | 2009-11-27 | 2010-06-02 | 中兴通讯股份有限公司 | Nfc认证方法和系统 |
WO2018076365A1 (zh) * | 2016-10-31 | 2018-05-03 | 美的智慧家居科技有限公司 | 密钥协商方法及装置 |
CN108347331A (zh) * | 2017-01-25 | 2018-07-31 | 北京百度网讯科技有限公司 | 车联网系统中T_Box设备与ECU设备进行安全通信的方法与设备 |
CN110417543A (zh) * | 2018-04-27 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种数据加密方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111082935A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111082935B (zh) | 一种媒体密钥生成方法、装置及基于媒体密钥的终端 | |
CN110519260B (zh) | 一种信息处理方法及信息处理装置 | |
CN112019332B (zh) | 基于微服务的加解密方法、api网关系统及设备 | |
CN106599735B (zh) | 数据保护装置、方法以及存储控制器 | |
KR101393307B1 (ko) | 보안 부팅 방법 및 그 방법을 사용하는 반도체 메모리시스템 | |
CN110598422A (zh) | 一种基于移动数字证书的可信身份验证系统及方法 | |
US20130212401A1 (en) | Methods and devices for authentication and data encryption | |
CN109690543B (zh) | 安全认证方法、集成电路及系统 | |
EP3933624B1 (en) | Blockchain-based identity verification method and related hardware | |
US7499552B2 (en) | Cipher method and system for verifying a decryption of an encrypted user data key | |
US11349660B2 (en) | Secure self-identification of a device | |
KR20070112115A (ko) | 파일의 암호화·복호화 방법, 장치, 프로그램 및 이프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
CN106295318A (zh) | 一种系统启动引导方法和装置 | |
EP3059897A1 (en) | Methods and devices for authentication and key exchange | |
JP2005157930A (ja) | 機密情報処理システムおよびlsi | |
CN115982761A (zh) | 敏感信息处理方法、装置、电子设备和存储介质 | |
CN112468294A (zh) | 一种车载tbox的访问方法及鉴权设备 | |
US9590810B2 (en) | Device security | |
CN110032894B (zh) | 一种数据库日志记录方法及系统和数据库日志检测方法 | |
CN102270285B (zh) | 密钥授权信息管理方法及装置 | |
CN113821446A (zh) | 一种交易系统的测试验证方法及装置 | |
EP3482527B1 (en) | Apparatus, computer program, and method for securely broadcasting messages | |
CN114189862A (zh) | 无线终端及无线终端在Uboot模式下的接口访问鉴权方法 | |
CN116455625A (zh) | 密文通信方法、装置、计算机设备及存储介质 | |
CN108882182B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |