CN103973680B - 云计算平台完整性验证方法 - Google Patents
云计算平台完整性验证方法 Download PDFInfo
- Publication number
- CN103973680B CN103973680B CN201410178147.XA CN201410178147A CN103973680B CN 103973680 B CN103973680 B CN 103973680B CN 201410178147 A CN201410178147 A CN 201410178147A CN 103973680 B CN103973680 B CN 103973680B
- Authority
- CN
- China
- Prior art keywords
- client
- remote port
- metric
- platform
- described client
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种云计算平台完整性验证方法,该方法包括:步骤A:客户端利用可信平台模块TPM对在该客户端上运行的软件和/或硬件进行完整性度量;步骤B:当所述客户端启动安全相关的应用时,向远程端发送包含根据步骤A得到的度量值的消息,请求所述远程端对该客户端的平台的完整性进行验证;步骤C:响应于接收到来自所述客户端的验证请求,所述远程端创建基于可信任执行技术TXT的硬件隔离环境,在该硬件隔离环境中对接收到的度量值进行解密和分析以得到验证结果,并将该验证结果发送给所述客户端;步骤D:所述客户端对从所述远程端接收的所述验证结果进行解密和分析,以确定当前客户端平台是否具有高完整性。
Description
技术领域
本发明涉及云计算平台完整性验证,其中涉及可信计算组织(TrustedComputingGroup,简称TCG)的可信平台模块和Intel的可信执行技术,属于可信计算与云计算安全领域。
背景技术
云计算等新型计算模式的出现对计算机系统提出了新的挑战,其资源与服务的集中化特性使得如何提高云计算平台的可信性,可扩展性与可用性成为当前国际研究热点。
云计算的第三方计算特征对云平台的安全与可信提出了新的挑战。可信计算的概念最初由可信计算组织(TrustedComputingGroup,简称TCG)引入到计算平台中。该技术试图从完整性验证的角度来解决大规模计算平台的安全性问题。TCG认为:如果从一个初始的“可信根”出发,在平台计算环境的每一次转换时,“信任”可以通过传递的方式保持下去而不被破坏,那么平台上的计算环境就始终是可信的。TCGv1.2规范定义了从平台加电到操作系统装载可信传递过程的完整性度量,但是并没有将信任传递延伸到应用程序。另一方面,完整性的验证机制需要扩展给使用平台的用户来验证其所属的虚拟机的可信性,以此来确保安全敏感度高的程序运行环境的可信性。
2004年IBM华盛顿研究中心的ReinerSailer等人提出了IMA完整性度量架构,在文献1“DesignandImplementationofaTCG-basedIntegrityMeasurementArchitecture(USENIX2004)”中,第一次将可信传递过程从BIOS延伸到应用层。
IMA属于静态完整性度量,它最大的问题就是不能对系统运行时的完整性做出任何的保证。2006年,IBM华盛顿研究中心的另一篇文章“PRIMA:PolicyReducedIntegrityMeasurementArchitecture(SACMAT2006)”提出了一种基于信息流的完整性度量方法PRIMA,对不同类型实体间的信息流进行完整性度量。
前面所述的工作都没有对远程验证方的验证过程添加任何保护措施,而是简单地假设远程验证方可信,客户端完全信任从远程验证端发送过来的验证结果。事实上,这种假设是很脆弱的。如果远程验证方被攻击,那么验证过程的输出结果就可能会被篡改。但是,如果客户端仍然坚持信任收到的验证结果,就会导致对完整性状态的误判,从而造成经济损失或者隐私泄密等安全问题。
基于AMD的安全虚拟机技术(SVM,类似于Intel的可信执行技术),文献3“Flicker:AnExecutionInfrastructureforTCBMinimization(EuroSys2008)”为安全敏感代码如何在完全隔离环境下执行提供了一个公共基础设施Flicker,而且能够对代码的执行向远程端提供一个有意义的、细粒度的认证。最后,将Flicker应用到多种类型的应用中。
发明内容
为解决现有技术中存在的不足,本发明的目的在于提供一种云计算平台完整性验证方法、客户端、远程端以及系统。
为了实现上述目的,本发明的一个方面提供一种云计算平台完整性验证方法,该方法包括:步骤A:客户端利用可信平台模块TPM对在该客户端上运行的软件和/或硬件进行完整性度量;步骤B:当所述客户端启动安全相关的应用时,向远程端发送包含根据步骤A得到的度量值的消息,请求所述远程端对该客户端的平台的完整性进行验证;步骤C:响应于接收到来自所述客户端的验证请求,所述远程端创建基于可信任执行技术TXT的硬件隔离环境,在该硬件隔离环境中对接收到的度量值进行解密和分析以得到验证结果,并将该验证结果发送给所述客户端;步骤D:所述客户端对从所述远程端接收的所述验证结果进行解密和分析,以确定当前客户端平台是否具有高完整性。
本发明的另一个方面提供一种在根据上述方法的云计算平台完整性验证中使用的客户端。
本发明的还一个方面提供一种在根据上述方法的云计算平台完整性验证中使用的远程端。
本发明的又一个方面提供一种云计算平台完整性验证系统,该系统包括上述的客户端和远程端。
与现有的完整性验证方法相比,本发明可以提高验证过程的安全性和可见性。
安全性:即使远程端的操作系统、应用程序都是恶意的,利用IntelTXT技术构建的强隔离的执行环境,也能够保证完整性验证过程的安全。
可见性:客户端能够收到IntelTXT技术生成的一个认证,该认证表明完整性验证过程是在相应的保护措施下进行的。也就是说,客户端对远程验证端的执行过程是可见的,避免了盲目地相信来自远程验证端发送过来的验证结果。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1示出的是客户端的各主体之间度量的关系图;
图2示出的是客户端和远程端度量、验证的流程图;
图3示出的是客户端检查验证结果正确性的流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明所述的平台完整性度量,客户端使用的可以是Linux操作系统并具有vTPM的虚拟机,不限制远程验证端的平台(但必须支持可信平台模块TPM和可信任执行技术,即TXT技术)。对客户端来说,启动过程可以分为如下几个步骤:BIOS→GRUB→LinuxKernel→Dynamiclibrary、LoadableModules、User-levelProcesses。如图1所示,我们选择从GRUB的Stage(阶段)2开始度量(即将GRUB视为可信根)。在GRUB以后的过程中,每个功能实体在将控制权交给下一个功能实体前,先对下一个功能实体进行度量。
之前的工作总是假设远程验证端是可信的,但是这种假设通常是不能够被满足的。在本发明中远程验证端可以是不可信的,我们在远程验证端构造了一个硬件隔离的执行环境,将其中的执行与平台上的其他软件完全地分开。这样,即使操作系统和平台上的其他软件都是恶意的,也能够通过这种硬件隔离的方式保证他们不会对隔离环境下代码的执行造成任何影响。远程验证端利用TPM生成一个认证,它能够验证相应的代码是在这种保护措施下执行的,这样就能够说服客户端信任得到的验证结果。
具体来说,本发明的一个实施方式提供一种云计算平台完整性验证方法,包括:
A.如图1所示,客户端利用TPM对运行在它上面的LinuxKernel(内核)、动态库、内核模块、可执行程序做完整性度量,其实现方法为:
A1,在GRUBStage2中,使用TPM硬件提供的SHA-1引擎计算LinuxKernel的度量值,并将其存储到度量列表measurement_list_kernel中,并将度量值扩展到寄存器PCR8中,然后再将控制权交给Kernel。
A2,在动态库、模块、可执行程序各自的加载阶段调用TPM的SHA-1引擎分别计算每个动态库、模块、可执行程序的度量值,并将度量值按先后顺序分别存入度量表measurement_list_sharedlib、measurement_list_mod、measurement_list_exe中,并将度量值扩展到寄存器PCR9、PCR10、PCR11中。
B.如图2所示,当客户端启动安全相关的应用时,会将自己在A1和A2得到的度量表measurement_list_kernel、measurement_list_sharedlib、measurement_list_mod、measurement_list_exe和PCR8-PCR11的值发送到远程端,请求远程端对其平台的完整性进行验证,其实现方法为:
B1,如果客户端启动某一安全相关的应用,在其加载过程中,对该应用以及它所依赖的共享库利用SHA-1引擎对其进行完整性度量,然后将度量值保存到相应的度量表中,并扩展对应的PCR;
B2,为了防止重放攻击,客户端利用TPM硬件生成一个随机数并保存在变量nonce_a中;
B3,客户端对A1和A2生成的measurement_list_kernel、measurement_list_sharedlib、measurement_list_mod、measurement_list_exe、PCR0-PCR11以及B2生成的随机数nonce_a打包,并用自己TPM的AIK私钥部分对这一数据集签名;
B4,客户端使用远程端的AIK公钥部分对B3得到的签名后的数据加密;
B5,客户端将B4得到的加密后的数据发送给远程端,请求远程端对其进行完整性验证。
C.如图2右边部分所示,远程端在收到客户端发送过来的验证请求后,首先准备敏感代码执行需要的基于TXT技术的硬件隔离环境,然后在这种硬件隔离的环境中对收到的度量表和PCR值进行解密、分析,得出验证结果verify_result。其实现方法为:
C1,远程端在收到从客户端发送过来的消息后,远程端保存当前执行上下文,并挂起当前的执行环境;
C2,远程端利用IntelTXT技术提供的特殊指令SENTER,禁用到某一内存区域的DMA、禁用中断和调试访问等硬件保护措施,建立一个独立的执行环境;
C3,远程验证端在C2得到的隔离的内存区域内利用自己的AIK私钥对收到的密文进行解密,得到一个已签名的数据集;
C4,远程验证端利用客户端的AIK的公钥部分对C3得到的数据集进行解密,得到度量列表measurement_list_kernel、measurement_list_sharedlib、measurement_list_mod、measurement_list_exe、PCR8-PCR11和随机数nonce_a;
C5,远程验证端将随机数nonce_a保存在变量nonce_c中。
C6,远程端将解密得到的measurement_list_kernel、measurement_list_sharedlib、measurement_list_mod、measurement_list_exe与系统预留的可信程序列表trusted_kernel、trusted_sharedlib、trusted_mod、trusted_exe进行比较,判断收到的度量列表中的所有项是否都存在于对应的可信度量列表中,如果是则说明客户端的平台具有高完整性verify_result=1,否则,客户端平台不具有高完整性verify_result=0;
C7,远程端清理C2初始化的内存区域的残留数据,并将二进制可执行的加解密和验证的代码、输入数据、输出数据传输到TPM中进行SHA-1运算,生成度量值,并将度量值扩展到PCR17中;
C8,远程端恢复C1挂起的执行环境。
C9,远程端将C6得到的完整性验证结果、C7得到的PCR17与C5保存在变量nonce_c中的随机数组合,并通过类似B3和B4的方法对数据集进行签名、加密;
C10,远程端将C9得到的密文发送给客户端;
D.如图3所示,客户端对收到的验证结果进行解密、分析,得出当前客户端平台是否具有高完整性。其实现方法为:
D1,客户端收到从远程端发送过来的消息后,对其进行解密;
D2,将解密后得到的随机数nonce_c与B2存放在变量nonce_a中的随机数进行比较。若一致则说明收到的包是最新的验证结果,继续下一步判断。否则,说明系统遭到重放攻击,暂时不能信任要执行的应用,需要重新做完整性度量。
D3,计算安全敏感代码、发送给远程验证端的包、以及收到的验证结果的SHA-1值,并用扩展的方式最终得到一个20字节的度量值txt_measurement,将其与收到的PCR17做比较。如果一致则说明相应的代码是在TXT的保护下执行的,继续下一步判断。否则,说明相应的代码没有在TXT的保护下进行,直接终止该应用的启动。
D4,若上面的判断都通过,则说明本次收到的验证结果是最新的并且是在TXT的保护下得到的验证结果,说明此验证结果可以信任。根据验证结果若verify_result=1此应用可信,则正常启动该应用。否则,终止该应用的启动。
与现有的完整性验证方法相比,本发明的方案可以提高验证过程的安全性和可见性。
安全性:即使远程端的操作系统、应用程序都是恶意的,利用IntelTXT技术构建的强隔离的执行环境,也能够保证完整性验证过程的安全。
可见性:客户端能够收到IntelTXT技术生成的一个认证,该认证表明完整性验证过程是在相应的保护措施下进行的。也就是说,客户端对远程验证端的执行过程是可见的,避免了盲目地相信来自远程验证端发送过来的验证结果。
以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简单变型,这些简单变型均属于本发明的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明的思想,其同样应当视为本发明所公开的内容。
Claims (5)
1.一种云计算平台完整性验证方法,该方法包括:
步骤A:客户端利用可信平台模块TPM对在该客户端上运行的软件和/或硬件进行完整性度量;
步骤B:当所述客户端启动安全相关的应用时,向远程端发送包含根据步骤A得到度量值的消息,请求所述远程端对该客户端的平台的完整性进行验证;
步骤C:响应于接收到来自所述客户端的验证请求,所述远程端创建基于可信任执行技术TXT的硬件隔离环境,在该硬件隔离环境中对接收到的度量值进行解密和分析以得到验证结果,并将该验证结果发送给所述客户端;其中,在该硬件隔离环境中对接收到的度量值进行解密和分析以得到验证结果包括:远程端对接收到的度量值进行解密,得到的度量列表,并将得到的度量列表与系统预留的可信程序列表进行比较,以判断该得到的度量列表中的所有项是否都存在于对应的可信度量列表中,从而验证客户端平台的完整性;
步骤D:所述客户端对从所述远程端接收的所述验证结果进行解密和分析,以确定当前客户端平台是否具有高完整性。
2.根据权利要求1所述的方法,其中,所述步骤A包括:
A1:在所述客户端启动过程的一个阶段,计算内核的度量值,将该度量值存储到对应的度量列表中,并将该度量值扩展到对应的程序控制寄存器PCR中;
A2:在所述客户端启动过程的不同阶段,分别计算动态库、模块、可执行程序的度量值,并将这些度量值依次分别存储到各自对应的度量列表中,并将这些度量值扩展到各自对应的PCR中。
3.根据权利要求2所述的方法,其中,所述步骤B包括:
B1:在所述客户端加载安全相关的应用时,对该应用以及该应用所依赖的共享库进行完整性度量,将得到的度量值存储到对应的度量列表中并被扩展到对应的PCR;
B2:所述客户端生成一个随机数并将该随机数保存在变量nonce_a中;
B3:所述客户端将在所述步骤A1和A2生成的度量列表和PCR以及在所述步骤B2生成的随机数nonce_a打包,并用该客户端的AIK私钥部分对打包后的数据集签名;
B4:所述客户端使用远程端的AIK公钥部分对在所述步骤B3得到的签名后的数据集加密;
B5:所述客户端将包含在所述步骤B4得到的加密后的数据集的消息发送给所述远程端,请求所述远程端对该客户端进行完整性验证。
4.根据权利要求3所述的方法,其中,所述步骤C包括:
C1:所述远程端在接收到从所述客户端发送的所述消息后,保存当前执行上下文,并挂起当前的执行环境;
C2:所述远程端使用所述TXT禁用一内存区域的硬件保护措施以建立一独立的执行环境;
C3:所述远程端在所述独立的执行环境内使用该远程端的AIK私钥对接收到的消息进行解密以得到已签名的数据集;
C4:所述远程端使用所述客户端的AIK的公钥部分对在步骤C3得到的数据集进行解密,以得到在所述步骤A1和A2生成的度量列表和PCR以及在所述步骤B2生成的随机数nonce_a;
C5:所述远程端将随机数nonce_a保存在变量nonce_c中;
C6:所述远程端将在步骤C4得到的度量列表与预留的可信度量列表进行比较,以判断该得到的度量列表中的所有项是否都存在于对应的可信度量列表中,如果判断出该得到的度量列表中的所有项都存在于对应的可信度量列表中,则说明所述客户端的平台具有高完整性,否则说明所述客户端的平台不具有高完整性;
C7:所述远程端清理在步骤C2中的内存区域的残留数据,并将二进制可执行的加密/解密和验证的代码、输入数据、输出数据传输到TPM中进行SHA-1运算,以生成度量值,并将该度量值扩展到对应的PCR中;
C8:所述远程端恢复在步骤C1被挂起的执行环境;
C9:所述远程端将在步骤C6得到的完整性验证结果、在步骤C7得到的PCR以及在步骤C5保存在变量nonce_c中的随机数组合成数据集,并用该远程端的AIK私钥部分对该数据集签名,以及使用客户端的AIK公钥部分对该签名后的数据集加密;
C10:所述远程端将包含在步骤C9中的加密后的数据集的消息发送给所述客户端。
5.根据权利要求4所述的方法,其中,所述步骤D包括:
D1:所述客户端从所述远程端接收消息,并对该消息进行解密;
D2:将对消息解密后得到的变量nonce_c中的随机数与在步骤B2中保存在变量nonce_a中的随机数进行比较,如果这两个随机数一致,则说明接收到的数据集是最新的验证结果,如果这两个随机数不一致,则返回步骤A;
D3:如果在步骤D2中比较出变量nonce_c中的随机数与变量nonce_a中的随机数是一致的,则所述客户端计算安全敏感代码、发送给所述远程端的数据集以及接收到的验证结果的SHA-1值,对计算出的SHA-1值进行扩展得到一度量值,并将该度量值与在步骤C7中得到的度量值进行比较,如果这两个度量值一致,则执行步骤D4,如果不一致,则终止所述应用的启动;
D4:所述客户端根据验证结果判断所述应用是否可信,如果判断该应用可信,则所述客户端启动该应用,如果判断该应用不可信,则终止该应用的启动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410178147.XA CN103973680B (zh) | 2014-04-29 | 2014-04-29 | 云计算平台完整性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410178147.XA CN103973680B (zh) | 2014-04-29 | 2014-04-29 | 云计算平台完整性验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973680A CN103973680A (zh) | 2014-08-06 |
CN103973680B true CN103973680B (zh) | 2016-01-13 |
Family
ID=51242726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410178147.XA Active CN103973680B (zh) | 2014-04-29 | 2014-04-29 | 云计算平台完整性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103973680B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268461B (zh) * | 2014-09-16 | 2018-03-06 | 华为技术有限公司 | 一种可信度量方法及装置 |
CN104933354A (zh) * | 2014-12-30 | 2015-09-23 | 国家电网公司 | 一种基于可信计算的白名单静态度量方法 |
CN107169375B (zh) * | 2017-05-16 | 2020-07-28 | 北京梦天门科技股份有限公司 | 系统数据安全增强方法 |
CN113468535A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 可信度量方法及相关装置 |
CN113315805A (zh) * | 2021-04-08 | 2021-08-27 | 中国科学院信息工程研究所 | 一种云基础设施可信设备的群组验证方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477602A (zh) * | 2009-02-10 | 2009-07-08 | 浪潮电子信息产业股份有限公司 | 一种可信计算环境中远程证明的方法 |
CN102271124A (zh) * | 2010-06-01 | 2011-12-07 | 富士通株式会社 | 数据处理设备和数据处理方法 |
CN102880826A (zh) * | 2012-08-29 | 2013-01-16 | 华南理工大学 | 一种电子政务云平台安全性的动态完整性度量方法 |
CN103179129A (zh) * | 2013-03-29 | 2013-06-26 | 华南理工大学 | 一种基于云计算IaaS环境的远程证明方法 |
CN103560887A (zh) * | 2013-11-04 | 2014-02-05 | 深圳数字电视国家工程实验室股份有限公司 | 智能终端远程证明方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102332069B (zh) * | 2011-08-05 | 2014-02-26 | 道里云信息技术(北京)有限公司 | 虚拟机全生命周期安全管理方法及系统 |
-
2014
- 2014-04-29 CN CN201410178147.XA patent/CN103973680B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477602A (zh) * | 2009-02-10 | 2009-07-08 | 浪潮电子信息产业股份有限公司 | 一种可信计算环境中远程证明的方法 |
CN102271124A (zh) * | 2010-06-01 | 2011-12-07 | 富士通株式会社 | 数据处理设备和数据处理方法 |
CN102880826A (zh) * | 2012-08-29 | 2013-01-16 | 华南理工大学 | 一种电子政务云平台安全性的动态完整性度量方法 |
CN103179129A (zh) * | 2013-03-29 | 2013-06-26 | 华南理工大学 | 一种基于云计算IaaS环境的远程证明方法 |
CN103560887A (zh) * | 2013-11-04 | 2014-02-05 | 深圳数字电视国家工程实验室股份有限公司 | 智能终端远程证明方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103973680A (zh) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103795717B (zh) | 一种云计算平台完整性证明方法及其系统 | |
US10530753B2 (en) | System and method for secure cloud computing | |
US8966642B2 (en) | Trust verification of a computing platform using a peripheral device | |
US9768951B2 (en) | Symmetric keying and chain of trust | |
CN103888251B (zh) | 一种云环境中虚拟机可信保障的方法 | |
CN104160403B (zh) | 使用单个可信平台模块测量平台部件 | |
US9509502B2 (en) | Symmetric keying and chain of trust | |
US9521125B2 (en) | Pseudonymous remote attestation utilizing a chain-of-trust | |
CN103973680B (zh) | 云计算平台完整性验证方法 | |
US10057223B2 (en) | Data protection keys | |
US20090019285A1 (en) | Establishing a Trust Relationship Between Computing Entities | |
US20150134942A1 (en) | Hardware rooted attestation | |
CN110874494B (zh) | 密码运算处理方法、装置、系统及度量信任链构建方法 | |
Ling et al. | Secure boot, trusted boot and remote attestation for ARM TrustZone-based IoT Nodes | |
Sebastian et al. | DER-TEE: Secure distributed energy resource operations through trusted execution environments | |
WO2016045458A1 (zh) | 一种安全控制方法及网络设备 | |
CN105323074A (zh) | 终端设备地理位置的可信验证方法 | |
EP3221996B1 (en) | Symmetric keying and chain of trust | |
Dave et al. | Sracare: Secure remote attestation with code authentication and resilience engine | |
Chalkiadakis et al. | The million dollar handshake: secure and attested communications in the cloud | |
Hao et al. | Trusted block as a service: Towards sensitive applications on the cloud | |
Khan et al. | A novel trusted hardware-based scalable security framework for IoT edge devices | |
Zhou et al. | Using asynchronous collaborative attestation to build a trusted computing environment for mobile applications | |
Jain et al. | Security analysis of remote attestation | |
Galanou et al. | Matee: Multimodal attestation for trusted execution environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |