CN115051806A - 一种控制部件 - Google Patents

一种控制部件 Download PDF

Info

Publication number
CN115051806A
CN115051806A CN202210319862.5A CN202210319862A CN115051806A CN 115051806 A CN115051806 A CN 115051806A CN 202210319862 A CN202210319862 A CN 202210319862A CN 115051806 A CN115051806 A CN 115051806A
Authority
CN
China
Prior art keywords
key
user
data
encryption
management unit
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
Application number
CN202210319862.5A
Other languages
English (en)
Inventor
王祎磊
黄好城
傅海龙
其他发明人请求不公开姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Starblaze Technology Co ltd
Original Assignee
Beijing Starblaze Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Starblaze Technology Co ltd filed Critical Beijing Starblaze Technology Co ltd
Priority to CN202210319862.5A priority Critical patent/CN115051806A/zh
Publication of CN115051806A publication Critical patent/CN115051806A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0822Key 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

Abstract

本申请公开了控制部件,涉及信息安全领域。该控制部件,包括:命令管理单元和密钥管理单元;其中,所述命令管理单元响应于获取主机提供的指示用户密钥的密钥管理命令,指示所述密钥管理单元对用户密钥进行处理得到用户加密密钥,并保存所述用户加密密钥;所述命令管理单元响应于获取主机提供的IO命令,指示所述密钥管理单元根据所述用户加密密钥对IO命令访问的数据进行加密和/或解密,其中,命令管理单元无法访问密钥管理单元所管理的用户加密密钥。采用本申请提供的控制部件,使得存储设备运行的软件不能直接访问对数据进行加解密的密钥,从而达到密钥的硬件级保护,降低了泄密的风险。

Description

一种控制部件
技术领域
本申请涉及信息安全领域,尤其涉及一种控制部件,用于存储设备的数据加密或解密。
背景技术
图1展示了存储设备的框图。存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(SmallComputer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal SerialBus,通用串行总线)、PCIE(Peripheral Component Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM芯片105以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)110。
NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(MagneticRandom Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)、XPoint存储器等是常见的NVM。
接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
控制部件104用于控制在接口103、NVM芯片105以及DRAM 110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件104可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件104可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理IO(Input/Output)命令。控制部件104还可以耦合到DRAM 110,并可访问DRAM 110的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。
控制部件104包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
现有的存储设备的控制部件运行的软件有机会接触到用于加密或解密的数据密钥,导致存储设备的供应商有机会接触到用户的敏感信息,为信息安全带来隐患。
发明内容
根据本申请的第一方面,提供了根据本申请第一方面的第一密钥管理方法,其中接收输入的用户密钥,对所述用户密钥进行哈希运算,得到用户密钥哈希值;从存储介质读入数据密钥的加密值,使用所述用户密钥哈希值对所述数据密钥的加密值进行解密,得到数据密钥,使用所述数据密钥对用户数据进行加密或解密。
根据本申请的第一方面的第一密钥管理方法,提供了根据本申请第一方面的第二密钥管理方法,其中,所述用户密钥由主机通过主机接口发送给存储设备。
根据本申请的第一方面的第一或第二密钥管理方法,提供了根据本申请第一方面的第三密钥管理方法,其中,所述数据密钥的加密值存储在控制部件内或外部的存储介质中。
根据本申请的第一方面的第一至第三密钥管理方法,提供了根据本申请第一方面的第四密钥管理方法,其中,所述用户数据由主机通过主机接口写入存储设备,使用所述数据密钥对用户数据进行加密,加密后的数据被写入NVM芯片。
根据本申请的第一方面的第一至第三密钥管理方法,提供了根据本申请第一方面的第五密钥管理方法,其中,响应于主机从存储设备读取数据,使用所述数据密钥解密从NVM芯片读出的加密数据,将解密后的数据传输给主机。
根据本申请的第一方面的第一至第五密钥管理方法,提供了根据本申请第一方面的第六密钥管理方法,其中,固件控制加密过程,但固件不接触加密密钥与数据密钥。
根据本申请的第一方面的第一至第六密钥管理方法,提供了根据本申请第一方面的第七密钥管理方法,其中,使用生成的一次性可编程随机数对用户密钥哈希值进行加密,得到用户加密密钥,将所述用户加密密钥写入存储介质中。
根据本申请的第一方面的第七密钥管理方法,提供了根据本申请第一方面的第八密钥管理方法,其中,从存储介质读入数据密钥的加密值之前还包括:使用从OTP获取的第一数据对用户密钥哈希值进行加密,得到第一用户加密密钥,从存储介质读入用户加密密钥,若第一用户加密密钥与读入的用户加密密钥相同,则从存储介质读入数据密钥的加密值。
根据本申请的第一方面的第一至第八密钥管理方法,提供了根据本申请第一方面的第九密钥管理方法,其中,生成第一随机数;对第一随机数进行哈希运算,得到所述数据密钥。
根据本申请的第一方面的第九密钥管理方法,提供了根据本申请第一方面的第十密钥管理方法,其中,使用用户密钥哈希值对所述数据密钥进行加密,得到所述数据密钥的加密值;将所述数据密钥的加密值写入存储介质中。
根据本申请的第一方面的第一至第八密钥管理方法,提供了根据本申请第一方面的第十一密钥管理方法,其中,对于1~N的每个自然数i,执行下列操作:生成第i随机数,以及对第i随机数进行哈希运算,得到第i级数据密钥;在1<i<=N时,使用第(i-1)级数据密钥对i级数据密钥进行加密,得到第i级数据密钥的加密值;在i=1时,使用用户密钥哈希值对第i级数据密钥进行加密,得到第i级数据密钥的加密值;将所述第i级数据密钥的加密值写存储介质中;其中将第N级数据密钥作为所述数据密钥,N是大于1的自然数。
根据本申请的第一方面的第十一密钥管理方法,提供了根据本申请第一方面的第十二密钥管理方法,其中,从存储介质读入第一级数据密钥的加密值,使用所述用户密钥哈希值对所述第一级数据密钥的加密值进行解密,得到一级数据密钥;依次将第(i-1)级数据密钥作为解密密钥,从存储介质读入第i级数据密钥的加密值,对第i级数据密钥的加密值进行解密,得到i级数据密钥;其中1<i<=N,N>=2;使用第N级数据密钥对用户数据进行加密或解密。
根据本申请的第一方面的第一至第八密钥管理方法,提供了根据本申请第一方面的第十三密钥管理方法,其中,生成M个随机数;对每个随机数进行哈希运算,得到M个数据密钥;其中M是大于1的自然数。
根据本申请的第一方面的第十三密钥管理方法,提供了根据本申请第一方面的第十四密钥管理方法,其中,使用用户密钥哈希值分别对M个数据密钥进行加密,得到M个数据密钥的加密值;将M个数据密钥的加密值写入存储介质中。
根据本申请的第一方面的第十三密钥管理方法,提供了根据本申请第一方面的第十五密钥管理方法,其中,通从存储介质的M个数据密钥的加密值中选择一个读入,使用所述用户密钥哈希值对所述数据密钥的加密值进行解密,得到数据密钥,使用所述数据密钥对用户数据进行加密或解密。
根据本申请的第一方面的第十三密钥管理方法,提供了根据本申请第一方面的第十六密钥管理方法,其中,从存储介质获取M个数据密钥的加密值,使用所述用户密钥哈希值对所述M个数据密钥的加密值分别进行解密,得到M个数据密钥,使用所述M个数据密钥对用户数据进行加密或解密。
根据本申请的第一方面的第一至第十六密钥管理方法,提供了根据本申请第一方面的第十七密钥管理方法,其中,每个用户密钥对应一个存储在存储介质中的用户加密密钥,以及对应存储在存储介质中的一个或多个数据密钥的加密值。
根据本申请的第一方面的第一至第十七密钥管理方法,提供了根据本申请第一方面的第十八密钥管理方法,其中,通过使能相应的随机数使能位,访问生成的随机数、用户密钥哈希值、N级数据密钥。
根据本申请的第二方面,提供了根据本申请第二方面的第一密钥管理系统,其中包括:用户密钥生成子系统和处理子系统;用户密钥生成子系统,对输入的用户密钥进行哈希运算,得到用户密钥哈希值;处理子系统,从存储介质读入数据密钥的加密值,使用所述用户密钥哈希值对所述数据密钥的加密值进行解密,得到数据密钥,使用数据密钥对用户数据进行加密或解密。
根据本申请的第二方面的第一密钥管理系统,提供了根据本申请第二方面的第二密钥管理系统,其中,数据密钥生成子系统,根据用户密钥哈希值生成数据密钥,将数据密钥加密得到的加密值存储在片外存储介质中。
根据本申请的第二方面的第二密钥管理系统,提供了根据本申请第二方面的第三密钥管理系统,其中,数据密钥生成子系统包括随机数生成模块和哈希运算模块;随机数生成模块生成M个随机数;哈希运算模块对M个随机数的每个进行哈希运算,得到M个数据密钥。
根据本申请的第二方面的第三密钥管理系统,提供了根据本申请第二方面的第四密钥管理系统,其中,数据密钥生成子系统还包括加密模块;加密模块使用用户密钥哈希值对M个数据密钥的每个进行加密,得到M个数据密钥的加密值;其中M个数据密钥的加密值被写入存储介质。
根据本申请的第二方面的第四密钥管理系统,提供了根据本申请第二方面的第五密钥管理系统,其中,用户密钥生成子系统还包括OTP和第一加密模块;OTP用于提供第一数据;第一加密模块用于根据第一数据和用户密钥哈希值进行加密,得到用户加密密钥。
根据本申请的第二方面的第五密钥管理系统,提供了根据本申请第二方面的第六密钥管理系统,其中,第一加密模块使用第一数据对用户密钥哈希值进行加密,得到用户加密密钥;或者,使用用户密钥哈希值对第一数据进行加密,得到用户加密密钥。
根据本申请的第二方面的第一至第六密钥管理系统,提供了根据本申请第二方面的第七密钥管理系统,其中,所述用户加密密钥写入存储介质中。
根据本申请的第二方面的第一至第七密钥管理系统,提供了根据本申请第二方面的第八密钥管理系统,其中,数据密钥生成子系统包括第一随机数生成模块和第一哈希运算模块;第一随机数生成模块生成第一随机数;第一哈希运算模块对第一随机数进行哈希运算,得到所述数据密钥。
根据本申请的第二方面的第八密钥管理系统,提供了根据本申请第二方面的第九密钥管理系统,其中,数据密钥生成子系统还包括第一加密模块和第一存储模块;第一加密模块使用用户密钥哈希值对所述数据密钥进行加密,得到所述数据密钥的加密值;第一存储模块将所述数据密钥的加密值写入存储介质中。
根据本申请的第二方面的第一至第九密钥管理系统,提供了根据本申请第二方面的第十密钥管理系统,其中,数据密钥生成子系统包括N个随机数生成模块、N个哈希运算模块与N个加密模块;第i随机数生成模块生成第i随机数;第i哈希运算模块对第i随机数进行哈希运算,得到第i级数据密钥;第i加密模块在1<i<=N时,使用第(i-1)级数据密钥对i级数据密钥进行加密,得到第i级数据密钥的加密值;在i=1时,使用用户密钥哈希值对第i级数据密钥进行加密,得到第i级数据密钥的加密值;其中所述第i级数据密钥的加密值被记录在存储介质中;其中将第N级数据密钥作为所述数据密钥,N是大于1的自然数。
根据本申请的第二方面的第十密钥管理系统,提供了根据本申请第二方面的第十一密钥管理系统,其中,处理子系统从存储介质读入第一级数据密钥的加密值,使用所述用户密钥哈希值对所述第一级数据密钥的加密值进行解密,得到一级数据密钥;依次将第(i-1)级数据密钥作为解密密钥,对从存储介质读入的第i级数据密钥的加密值进行解密,得到i级数据密钥;其中1<i<=N,N>=2;使用第N级数据密钥对用户数据进行加密或解密。
根据本申请的第二方面的第一至第八密钥管理系统,提供了根据本申请第二方面的第十二密钥管理系统,其中,数据密钥生成子系统包括M个随机数生成模块和M个哈希运算模块;M个随机数生成模块的第i随机数生成模块生成第i随机数;M个哈希运算模块的第i个哈希运算模块对第i随机数进行哈希运算,得到第i数据密钥。
根据本申请的第二方面的第十二密钥管理系统,提供了根据本申请第二方面的第十三密钥管理系统,其中,数据密钥生成子系统还包括M个加密模块和M个存储模块;M个加密模块的第i个加密模块使用用户密钥哈希值对第i个数据密钥进行加密,得到第i个数据密钥的加密值;其中M个数据密钥的加密值被写入存储介质。
根据本申请的第二方面的第十三密钥管理系统,提供了根据本申请第二方面的第十四密钥管理系统,其中,处理子系统具体用于从存储介质的M个数据密钥的加密值中选择一个读入,使用所述用户密钥哈希值对所述数据密钥的加密值进行解密,得到数据密钥,使用所述数据密钥对用户数据进行加密或解密。
本申请实现的有益效果如下:采用本申请提供的密钥管理方法和系统,使得存储设备运行的软件不能直接访问对数据进行加解密的密钥,从而达到密钥的硬件级保护,降低了泄密的风险。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1展示了存储设备的框图;
图2展示了本申请密钥管理系统的示意图;
图3为密钥管理单元对用户密钥处理生成用户加密密钥的示意图;
图4为生成用户加密密钥的方法流程图;
图5为密钥管理单元使用用户加密密钥校验用户密钥的示意图;
图6为使用用户加密密钥校验用户密钥的方法流程图;
图7为密钥管理单元根据用户加密密钥生成数据密钥的示意图;
图8为根据用户加密密钥生成数据密钥的方法流程图;
图9为又一种根据用户加密密钥生成数据密钥的示意图;
图10为根据用户加密密钥生成数据密钥的方法流程图;
图11为再一种根据用户加密密钥生成数据密钥的示意图;
图12为根据用户加密密钥生成数据密钥的方法流程图;
图13为芯片上电或复位后,重新进行一级密钥初始化的示意图;
图14为使用所设置的一级数据密钥对数据加密的方法流程图;
图15为根据本申请又一实施例的使用所设置的M个密钥在芯片上电或复位后对数据加密的示意图;
图16为使用所设置的M个数据密钥对数据加密的方法流程图;
图17为根据本申请又一实施例的使用所设置的N级密钥对数据加密的示意图;
图18为使用所设置的N级数据密钥对数据加密的方法流程图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图2是根据本申请实施例的密钥管理系统的示意图。
根据本申请的实施例,主机210通过主机接口221访问存储设备。控制部件220包括命令处理单元222与密钥管理单元223。命令处理单元222获取主机210提供的命令并处理。主机210提供的命令包括例如IO命令与密钥管理命令。
作为举例,密钥管理命令指示了例如用户密钥。命令处理单元222指示密钥管理单元223对用户密钥进行处理。密钥管理单元222还保存处理后的用户密钥(称为用户加密密钥),而命令处理单元无法访问用户加密密钥。依然作为举例,响应于收到IO命令,命令处理单元还指示密钥管理单元222对IO命令访问的数据进行加密和/或解密。例如,对于读命令,密钥管理单元222根据指定的用户加密密钥对根据读命令从NVM芯片读出的数据进行解密,并将解密后的数据提供给主机接口210。对于写命令,密钥管理单元222根据指定的用户加密密钥对根据写命令传输给存储设备的数据进行加密,并将加密后的数据通过介质接口224写入NVM芯片230。密钥管理单元222依据命令处理单元223的指示对IO命令访问的数据进行加密或解密,而命令处理单元223无须也不能接触用户加密密钥。
对于用户密钥,若是单机用户,用户密钥可以是用户的开机密码,也可以是针对存储设备某个分区的密码;作为网络存储,用户密钥可能是通过网络传输过来的某个用户的密码。
图3为密钥管理单元对用户密钥处理生成用户加密密钥的示意图。
在密钥初始化阶段,存储设备响应于例如密钥初始化命令接收用户密钥,并生成用户加密密钥(C_Pin_hash)记录在存储介质中,还生在第一随机数,并保存在一次性可编程模块310中。
响应于接收的用户密钥,通过随机数模块产生第一随机数Data A。可选的,第一随机数Data A还被写入一次性可编程模块310并封闭该数据的存储空间。第一随机数Data A为一次性数据,写入一次性可编程模块310后,可通过配置寄存器配置来使用该数据,但是不能访问该数据。可选地,可能需要产生多组受硬件保护的随机数。
用户密钥被提供给哈希运算模块320,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块330,产生用户加密密钥(C_Pin_hash),把用户加密密钥(C_Pin_hash)写入存储介质340中。
可选的,将用户密钥哈希值作为密钥,第一随机数Data A作为待加密数据,调用加密模块330,产生用户加密密钥(C_Pin_hash)。
在整个过程中,固件都不能直接访问第一随机数和用户密钥哈希值,只能通过配置相应的寄存器来使用这些数据。
图4为生成用户加密密钥的方法流程图。
接收用户密钥,对用户密钥进行哈希运算,得到用户密钥哈希值(410);使用生成的第一随机数对用户密钥哈希值进行加密运算,得到用户加密密钥(420),将用户加密密钥存储在存储介质中(430)。
图5为密钥管理单元使用用户加密密钥校验用户密钥的示意图。
在使用存储设备的过程中,通过主机再次提供的用户密钥验证主机身份,根据本申请实施例的存储设备仅允许通过身份验证的主机使用。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块510,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块520中获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块530,产生用户加密密钥(C_Pin_hash)。作为举例,加密模块530根据XTS-AES等现有技术的加密算法对用户密钥哈希值进行加密。从存储介质540中读入用户加密密钥,通过判定模块550判断读入的用户加密密钥与生成的用户加密密钥是否相等,如果是,则校验通过,否则校验失败。
在整个过程中,固件都不能直接访问第一随机数Data A和用户密钥哈希值,只能通过配置相应的寄存器来使用这些数据。
对于多个用户密钥:按照上述流程,每个用户密钥对应一个存储在存储介质中的用户加密密钥,其中对用户密钥加密使用的随机数可以相同,也可以不同。
图6为使用用户加密密钥校验用户密钥的方法流程图。
对用户密钥进行哈希运算,生成用户密钥哈希值(610),获取第一随机数,使用第一随机数对用户密钥哈希值进行加密,得到第一用户加密密钥(620),从存储介质读入用户加密密钥(630),判断第一用户加密密钥与读入的用户加密密钥是否相同(640),如果是,则用户密钥为合法密钥,否则用户密钥为非法密钥。
图7为密钥管理单元根据用户加密密钥生成数据密钥加密值的示意图。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块710,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块720中获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块730,产生用户加密密钥C_Pin_hash,把用户加密密钥C_Pin_hash写入存储介质740中。作为举例,加密模块730根据XTS-AES等现有技术的加密算法对用户密钥哈希值进行加密。
可选地,为生成数据密钥,从存储介质740获取用户加密密钥C_Pin_hash,从一次性可编程模块720获取第一随机数Data A,将第一随机数Data A作为解密密钥,用户加密密钥C_Pin_hash作为待解密数据,用第一随机数Data A解密用户加密密钥C_Pin_hash,得到用户密钥哈希值。作为举例,根据XTS-AES等现有技术的加密算法对用户加密密钥C_Pin_hash进行解密。
随机数生成模块750生成第二随机数(TRNG_Data 1),输入哈希运算模块760,生成对应的哈希值,该哈希值即为数据密钥。将用户密钥哈希值作为密钥,数据密钥作为待加密数据,调用加密模块770,产生数据密钥加密值,把数据密钥加密值写入存储介质740中。作为举例,加密模块770根据XTS-AES等现有技术的加密算法对用户密钥哈希值进行加密。
存储设备使用数据密钥对输入的用户数据明文经加密模块780加密得到用户密文,将用户密文存储在存储设备中。
图8为根据用户加密密钥生成数据密钥的方法流程图。
作为可选的实施例,生成数据密钥的流程为:对生成的第二随机数经过哈希运算得到哈希值,将该哈希值作为数据密钥(810)。使用用户密钥哈希值对该数据密钥加密生成数据密钥加密值(820),将数据密钥加密值存储在存储介质中(830)。
图9为根据又一实施例根据用户加密密钥生成数据密钥加密值的示意图。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块910,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块920中获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块930,产生用户加密密钥C_Pin_hash,把用户加密密钥C_Pin_hash写入存储介质940中。作为举例,加密模块930根据XTS-AES等现有技术的加密算法对用户密钥哈希值进行加密。
可选地,为生成数据密钥,从存储介质940获取用户加密密钥C_Pin_hash,从一次性可编程模块920获取第一随机数Data A,将第一随机数Data A作为解密密钥,用户加密密钥C_Pin_hash作为待解密数据,用第一随机数Data A解密用户加密密钥C_Pin_hash,得到用户密钥哈希值。作为举例,根据XTS-AES等现有技术的加密算法对用户加密密钥C_Pin_hash进行解密。
随机数生成模块950生成M个随机数(M为自然数),生成的每个随机数输入哈希运算模块960,生成对应的M个哈希值,该M个哈希值即为M个数据密钥。将用户密钥哈希值作为密钥,M个数据密钥分别作为待加密数据,调用加密模块970,产生M个数据密钥加密值,把M个数据密钥加密值写入存储介质940中。
从M个数据密钥中选择一个对用户数据明文经加密模块980加密得到用户密文,将用户密文存储在存储介质940中。
图10为根据用户加密密钥生成数据密钥加密值的方法流程图。
作为可选的实施例,为生成M个数据密钥,生成M个随机数(1010);对每个随机数进行哈希运算,得到M个数据密钥(1020);使用用户密钥哈希值分别对M个数据密钥进行加密,得到M个数据密钥的加密值(1030);将M个数据密钥的加密值写入存储介质中(1040)。
图11为再一实施例的根据用户加密密钥生成数据密钥加密值的示意图。
在根据图11的实施例中,使用单一用户密钥生成更高强度的数据密钥,通过N级加密过程生成第N级数据密钥加密值,其中N是大于1的自然数。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块1110,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块1111中获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块1112,产生用户加密密钥C_Pin_hash,把用户加密密钥C_Pin_hash写入存储介质1113中。作为举例,加密模块1112根据XTS-AES等现有技术的加密算法对用户密钥哈希值进行加密。
可选地,为生成数据密钥,从存储介质1113获取用户加密密钥C_Pin_hash,从一次性可编程模块1111获取第一随机数Data A,将第一随机数Data A作为解密密钥,用户加密密钥C_Pin_hash作为待解密数据,用第一随机数Data A解密用户加密密钥C_Pin_hash,得到用户密钥哈希值。作为举例,根据XTS-AES等现有技术的加密算法对用户加密密钥C_Pin_hash进行解密。
根据图11的实施例,生成从第一到第N的N个数据密钥与N个数据密钥加密值。第N数据密钥用于加密用户数据明文或解密用户数据密文。在数据密钥初始化过程中,生成N个数据密钥加密值。而在数据密钥被初始化后,对存储介质1113记录的数据密钥加密值解密,得到第N级数据密钥,用于加密用户数据明文或解密用户数据密文。
通过对第i级随机数生成模块生成的第i个数据密钥输入哈希运算模块,生成对应的第i级哈希值,作为第i个数据密钥,其中1<=i<=N。以及用第i-1个数据密钥作为密钥,加密第i个数据密钥,得到第i级数据密钥加密值,其中2<=i<=N。对于第1个数据密钥,用用户密钥哈希值对第1个数据密钥加密,得到第1级数据密钥加密值。N个数据密钥加密值都被记录在存储介质1113。
第一级随机数生成模块1120生成第一级随机数,输入哈希运算模块1121,生成对应的第一级哈希值,作为第一级数据密钥。将用户密钥哈希值作为密钥,第一级数据密钥分别作为待加密数据,调用加密模块1122,产生第一级数据密钥加密值,把第一级数据密钥加密值写入存储介质1113中。
依次将上一级的数据密钥作为下一级加密模块的密钥输入。
第N级随机数生成模块1130生成第N级随机数,输入哈希运算模块1131,生成对应的第N级哈希值,作为第N级数据密钥。将第N-1级数据密钥作为密钥,第N级数据密钥作为待加密数据,通过加密模块1132,产生第N级数据密钥加密值,把第N级数据密钥加密值写入存储介质1113中。
图12为根据用户加密密钥生成数据密钥加密值的方法流程图。
对于1~N的每个自然数i,执行下列操作:生成第i随机数(1210),以及对第i随机数进行哈希运算,得到第i级数据密钥(1220);在i>1时,使用第(i-1)级数据密钥对i级数据密钥进行加密,得到第i级数据密钥的加密值(1230)。在i=1时,使用用户密钥哈希值对第i级数据密钥进行加密,得到第i级数据密钥的加密值。将第i级数据密钥的加密值写存储介质中(1240)。
图13为校验用户密钥与生成数据密钥的示意图。
在存储设备上电或复位后,响应于用户对存储设备的访问请求,首先校验用户密钥,并根据用户密钥获取数据密钥,用于对用户数据明文的加密或对用户数据密文的解密。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块1310,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块1320中获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块1330,产生用户加密密钥C_Pin_hash。从存储介质1340中读入用户加密密钥,通过判定模块1350判断读入的用户加密密钥与生成的用户加密密钥是否相等,如果是,则校验通过,否则校验失败。
响应于校验通过,启动生成数据密钥的过程。若校验未通过,拒绝生成数据密钥。
为生成数据密钥,从存储介质读入数据密钥加密值,使用用户密钥哈希值对数据密钥加密值经解密模块1360解密得到数据密钥。在一个例子中,哈希运算模块1310对用户密钥进行哈希运算得到作为解密模块1360的解密密钥的用户密钥哈希值。在另一个例子中,响应于判定模块1350指示用户密钥校验通过,用第一随机数Data A作为解密密钥,对从存储介质1340读出的用户加密密钥进行解密,得到用户密钥哈希值。
在可选的实施方式中,省略用户密钥的校验过程。为生成数据密钥,从一次性可编程模块1320中获取第一随机数Data A作为密钥,解密从存储介质1340读出的用户加密密钥,得到用户密钥哈希值。
在向存储设备写入用户数据的过程中,使用数据密钥对用户数据明文经加密模块1370加密得到用户密文,将用户数据密文存储在存储设备中。在从存储设备读出用户数据的过程中,对从存储设备读出的用户数据密文,用数据密钥解密,得到用户数据明文。
图14为校验用户密钥与生成数据密钥的方法流程图。
为校验用户密钥,对接收到的用户密钥进行哈希运算,得到用户密钥哈希值(1410),获取第一随机数,用第一随机数对用户密钥哈希值加密以生成用户加密密钥(1420),从存储介质读取用户加密密钥(1430),比较生成的用户加密密钥与读取的用户加密密钥是否一致,来校验接收的用户密钥(1440)。
为生成数据密钥,从存储介质中读入数据密钥加密值(1450),使用用户密钥哈希值对数据密钥加密值进行解密,得到数据密钥(1460),使用数据密钥对用户数据进行加密或解密(1470)。
图15为根据本申请又一实施例的校验用户密钥与生成数据密钥的示意图。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块1510,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块1520获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块1530,产生用户加密密钥。从存储介质1540中读入用户加密密钥,通过判定模块1550判断读入的用户加密密钥与生成的用户加密密钥是否相等,如果是,则校验通过,否则校验失败。
数据密钥有M个,选择其中的一个或多个用来加密或解密用户数据。作为举例,根据用户数据的逻辑地址、命名空间、当前时间或者主机的指定确定所使用的数据密钥。
在用户密钥校验通过的情况下,从存储介质1540的M个数据密钥的加密值中选择一个读入,使用所述用户密钥哈希值对所述数据密钥的加密值经解密模块1560进行解密,得到数据密钥。
或者,从存储介质获取M个数据密钥的加密值,使用所述用户密钥哈希值对所述M个数据密钥的加密值分别经解密模块1560进行解密,得到M个数据密钥。
在可选的实施方式中,省略用户密钥的校验过程。为生成数据密钥,从一次性可编程模块1520中获取第一随机数Data A作为密钥,解密从存储介质1540读出的用户加密密钥,得到用户密钥哈希值。
使用数据密钥对用户数据明文经加密模块1570加密得到用户数据密文,将用户数据密文存储在存储设备中。或者使用数据密钥对从存储介质1540读出的用户数据密文解密,得到用户数据明文。
图16为校验密钥与生成数据密钥的方法流程图。
为校验用户密钥,对接收到的用户密钥进行哈希运算,得到用户密钥哈希值(1610),从一次性可编程模块获取第一随机数,用第一随机数对用户密钥哈希值加密以生成用户加密密钥(1620)。从存储介质读取用户加密密钥(1630),比较生成的用户加密密钥与读取的用户加密密钥是否一致(1640),来校验接收的用户密钥。
若用户密钥通过验证,为生成数据密钥,从存储介质的M个数据密钥的加密值中选择一个读入(1650),使用用户密钥哈希值对数据密钥的加密值进行解密,得到数据密钥(1660),使用数据密钥对用户数据进行加密或解密(1670)。
或者,从存储介质获取M个数据密钥的加密值,使用所述用户密钥哈希值对所述M个数据密钥的加密值分别进行解密,得到M个数据密钥,使用所述M个数据密钥对用户数据进行加密或解密。
图17为根据本申请再一实施例的校验用户密钥与生成数据密钥的示意图。
密钥管理单元接收到用户密钥后,将用户密钥输入哈希运算模块1710,生成对应的用户密钥哈希值,暂存在芯片内部的缓存中。从一次性可编程模块1720中获取第一随机数Data A。将第一随机数Data A作为密钥,用户密钥哈希值作为待加密数据,调用加密模块1730,产生用户加密密钥。从存储介质1740中读入用户加密密钥,通过判定模块1750判断读入的用户加密密钥与生成的用户加密密钥是否相等,如果是,则校验通过,否则校验失败。
在用户密钥的校验通过的情况下,从存储介质1740读入第一级数据密钥加密值,使用用户密钥哈希值对第一级数据密钥加密值经解密模块1760进行解密,得到一级数据密钥。
在可选的实施方式中,省略用户密钥的校验过程。为生成数据密钥,从一次性可编程模块1720中获取第一随机数Data A作为密钥,解密从存储介质1740读出的用户加密密钥,得到用户密钥哈希值。使用用户密钥哈希值对第一级数据密钥加密值经解密模块1760进行解密,得到一级数据密钥。
依次将第(i-1)级数据密钥作为解密密钥,从存储介质1740读入第i级数据密钥的加密值,对第i级数据密钥的加密值进行解密,得到i级数据密钥;其中1<i<=N,N>=2。随着N的增加,第N级数据密钥的强度也增加。
使用第N级数据密钥对用户数据明文经加密模块1780进行加密得到用户数据密文,将用户数据密文存储在存储介质1740中。或者,使用第N级数据密钥对从存储介质读出的用户数据密文进行解密,得到用户数据明文。
图18为校验用户密钥与生成数据密钥的方法流程图。
为校验用户密钥,对接收到的用户密钥进行哈希运算,得到用户密钥哈希值(1810),从一次性可编程模块获取第一随机数,用第一随机数对用户密钥哈希值加密以生成用户加密密钥(1820)。从存储介质读取用户加密密钥(1830),比较生成的用户加密密钥与读取的用户加密密钥是否一致(1840),来校验接收的用户密钥。
在用户密钥通过验证的情况下,生成数据密钥。为生成数据密钥,从存储介质读入第一级数据密钥的加密值(1850),使用用户密钥哈希值对第一级数据密钥的加密值进行解密,得到一级数据密钥(1860)。
对于2~N的每个自然数i,依次将第(i-1)级数据密钥作为解密密钥,从存储介质读入第i级数据密钥的加密值,对第i级数据密钥的加密值进行解密,得到i级数据密钥;其中1<i<=N,N>=2(1870)。
使用第N级数据密钥对用户数据进行加密或解密(1880)。
在上述整个过程中,生成的随机数、用户密钥哈希值、数据密钥均不可见,只可通过使能相应的寄存器进行访问。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

1.一种控制部件,其特征在于,包括:命令管理单元和密钥管理单元;其中,
所述命令管理单元响应于获取主机提供的指示用户密钥的密钥管理命令,指示所述密钥管理单元对用户密钥进行处理得到用户加密密钥,并保存所述用户加密密钥;
所述命令管理单元响应于获取主机提供的IO命令,指示所述密钥管理单元根据所述用户加密密钥对IO命令访问的数据进行加密和/或解密,其中,命令管理单元无法访问密钥管理单元所管理的用户加密密钥。
2.如权利要求1所述的控制部件,其特征在于,所述密钥管理单元接收输入的用户密钥,对所述用户密钥进行哈希运算,得到用户密钥哈希值;
生成的第一随机数,根据所述第一随机数以及所述用户密钥哈希值进行加密得到所述用户加密密钥,将所述用户加密密钥写入存储介质中。
3.如权利要求2所述的控制部件,其特征在于,其中,通过固件控制加密过程,但固件不能直接访问第一随机数和用户密钥哈希值,所述固件通过配置相应的寄存器来使用所述第一随机数和用户密钥哈希值。
4.如权利要求3所述的控制部件,其特征在于,所述密钥管理单元使用所述第一随机数对用户密钥哈希值进行加密,得到第一用户加密密钥,从存储介质读入用户加密密钥,若第一用户加密密钥与读入的用户加密密钥相同,则所述用户密钥合法。
5.如权利要求2-4任一项所述的控制部件,其特征在于,所述密钥管理单元使用所述第一随机数以及所述用户加密密钥,根据所述第一随机数对所述用户加密密钥进行解密得到用户密钥哈希值,并存储在缓存中;
生成第二随机数,对所述第二随机数做哈希运算得到数据密钥,根据所述用户密钥哈希值对所述数据密钥进行加密得到数据密钥加密值,将所述数据密钥加密值写入存储介质。
6.如权利要求5所述的控制部件,其特征在于,密钥管理单元接收输入的用户密钥,对所述用户密钥进行哈希运算,得到用户密钥哈希值;从存储介质读入数据密钥的加密值,使用所述用户密钥哈希值对所述数据密钥的加密值进行解密,得到数据密钥,使用所述数据密钥对用户数据进行加密或解密。
7.如权利要求6所述的控制部件,其特征在于,所述密钥管理单元生成M个随机数;对每个随机数进行哈希运算,得到M个数据密钥;其中M是大于1的自然数;
将所述用户密钥哈希值作为密钥,M个数据密钥分别作为待加密数据生成M个数据密钥加密值,并将M个数据密钥加密值写入存储介质中。
8.如权利要求7所述的控制部件,其特征在于,所述密钥管理单元从存储介质获取M个数据密钥的加密值,使用所述用户密钥哈希值对所述M个数据密钥的加密值分别进行解密,得到M个数据密钥,使用所述M个数据密钥对用户数据进行加密或解密。
9.如权利要求7所述的控制部件,其特征在于,所述密钥管理单元通从存储介质的M个数据密钥的加密值中选择一个读入,使用所述用户密钥哈希值对所述数据密钥的加密值进行解密,得到数据密钥,使用所述数据密钥对用户数据进行加密或解密。
10.如权利要求5-9任一项所述的控制部件,其特征在于,密钥管理单元从存储介质读入第一级数据密钥的加密值,使用所述用户密钥哈希值对所述第一级数据密钥的加密值进行解密,得到一级数据密钥;
依次将第(i-1)级数据密钥作为解密密钥,从存储介质读入第i级数据密钥的加密值,对第i级数据密钥的加密值进行解密,得到i级数据密钥;其中1<i<=N,N>=2;
使用第N级数据密钥对用户数据进行加密或解密。
CN202210319862.5A 2018-10-30 2018-10-30 一种控制部件 Pending CN115051806A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210319862.5A CN115051806A (zh) 2018-10-30 2018-10-30 一种控制部件

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811278265.2A CN111131130B (zh) 2018-10-30 2018-10-30 密钥管理方法及系统
CN202210319862.5A CN115051806A (zh) 2018-10-30 2018-10-30 一种控制部件

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201811278265.2A Division CN111131130B (zh) 2018-10-30 2018-10-30 密钥管理方法及系统

Publications (1)

Publication Number Publication Date
CN115051806A true CN115051806A (zh) 2022-09-13

Family

ID=70484832

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811278265.2A Active CN111131130B (zh) 2018-10-30 2018-10-30 密钥管理方法及系统
CN202210319862.5A Pending CN115051806A (zh) 2018-10-30 2018-10-30 一种控制部件

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811278265.2A Active CN111131130B (zh) 2018-10-30 2018-10-30 密钥管理方法及系统

Country Status (1)

Country Link
CN (2) CN111131130B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111600882A (zh) * 2020-05-15 2020-08-28 杭州溪塔科技有限公司 一种基于区块链的账户密码管理方法、装置及电子设备
CN111767553B (zh) * 2020-05-29 2024-04-12 上海橙群微电子有限公司 数据加密解密方法、mcu及电子设备、可读存储介质
CN111541723B (zh) * 2020-07-07 2020-10-13 飞天诚信科技股份有限公司 一种处理密钥数据的方法和终端
CN112165384B (zh) * 2020-10-15 2022-04-01 清华大学 数据加密方法和解密方法及数据加密装置和解密装置
CN112887085B (zh) * 2021-01-13 2022-06-24 深圳安捷丽新技术有限公司 一种ssd固态硬盘主控芯片安全密钥生成方法、装置和系统
CN113079001B (zh) * 2021-03-08 2023-03-10 北京忆芯科技有限公司 密钥更新方法、信息处理设备及密钥更新装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4422981B2 (ja) * 2003-06-12 2010-03-03 パナソニック株式会社 暗号通信システム
CN101340279B (zh) * 2008-07-09 2011-02-02 深圳市金蝶友商电子商务服务有限公司 数据加密及解密方法、系统及设备
CN102346716B (zh) * 2011-09-20 2015-03-18 记忆科技(深圳)有限公司 硬盘存储设备的加密方法和解密方法及其加解密系统
CN102694650B (zh) * 2012-06-13 2015-03-11 苏州大学 一种基于身份加密的密钥生成方法
KR102013841B1 (ko) * 2012-08-06 2019-08-23 삼성전자주식회사 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
CN103914666A (zh) * 2013-09-17 2014-07-09 亚欧宝龙信息安全技术(湖南)有限公司 一种基于分区的文件加解密方法和装置
JP2015065495A (ja) * 2013-09-24 2015-04-09 ルネサスエレクトロニクス株式会社 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置
EP3065078A1 (de) * 2015-03-02 2016-09-07 Siemens AG Österreich Schutz von speicherinhalten eines speichers eines computersystems unter verwendung einer hashfunktion
CN106452748A (zh) * 2016-10-18 2017-02-22 西安电子科技大学 基于多用户的外包数据库审计方法

Also Published As

Publication number Publication date
CN111131130B (zh) 2022-04-22
CN111131130A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111131130B (zh) 密钥管理方法及系统
CN108139984B (zh) 安全子系统
US10911250B2 (en) Challenge response authentication for self encrypting drives
CN106599735B (zh) 数据保护装置、方法以及存储控制器
KR102453780B1 (ko) 액세스 보호 기법을 안전화하기 위한 장치 및 방법
US20080107275A1 (en) Method and system for encryption of information stored in an external nonvolatile memory
WO2017041603A1 (zh) 数据加密方法、装置及移动终端、计算机存储介质
TWI747007B (zh) 可配置安全記憶區域
JP2022554288A (ja) メモリサブシステムへの暗号鍵の委任
US10180804B1 (en) Obfuscation-enhanced memory encryption
US11683155B2 (en) Validating data stored in memory using cryptographic hashes
KR20210132723A (ko) 메모리에서의 데이터 증명
US20230336337A1 (en) Single-use password generation
CN116420145A (zh) 基于多个组件的启动时间绑定的端点验证
JP2022526934A (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