CN112104447B - 一种防spa攻击的待测电路安全仿真分析方法和装置 - Google Patents

一种防spa攻击的待测电路安全仿真分析方法和装置 Download PDF

Info

Publication number
CN112104447B
CN112104447B CN202011164434.7A CN202011164434A CN112104447B CN 112104447 B CN112104447 B CN 112104447B CN 202011164434 A CN202011164434 A CN 202011164434A CN 112104447 B CN112104447 B CN 112104447B
Authority
CN
China
Prior art keywords
key
information
power consumption
unit
test
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
Application number
CN202011164434.7A
Other languages
English (en)
Other versions
CN112104447A (zh
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.)
Shenzhen Anjili New Technology Co ltd
Original Assignee
Shenzhen Anjili New 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 Shenzhen Anjili New Technology Co ltd filed Critical Shenzhen Anjili New Technology Co ltd
Priority to CN202011164434.7A priority Critical patent/CN112104447B/zh
Publication of CN112104447A publication Critical patent/CN112104447A/zh
Application granted granted Critical
Publication of CN112104447B publication Critical patent/CN112104447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种防SPA攻击的待测电路安全仿真分析方法和装置,所述装置包括:关键信号存储单元,用于存储关键信号和关键信号对应的路径信息;仿真电路单元,用于接收测试激励信息进行仿真测试;关键信号监控单元,用于在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息;功耗计算单元,用于计算待测电路在整个仿真过程中的功耗仿真数据;功耗分析单元,用于分析关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据。通过上述方案,在芯片设计阶段,就可以模拟芯片的安全仿真测试,且能够自动完成功耗攻击分析。

Description

一种防SPA攻击的待测电路安全仿真分析方法和装置
技术领域
本发明涉及芯片电路设计领域,特别涉及一种防SPA攻击的待测电路安全仿真分析方法和装置。
背景技术
SSD数据存储已经逐渐成为消费设备数据存储和云存储的主要存储介质。对于SSD数据存储来说,数据纠错的意义十分重大,特别是个人关键数据和政府机构相关的数据。SSD主控芯片作为SSD存储设备的大脑,其安全性能直接决定SSD硬盘整体最终的安全性能。
侧信道攻击是主要的黑客攻击手段,在侧信道攻击中,SPA攻击又是最常用的一种。SPA是一种直接解释能量消耗测定值的技术,待测电路的消耗能量的大小随处理器执行的指令不同而不同,当处理器在对数据信息的不同部分执行运算时,能量消耗变化有的会很明显。借助这种特征,攻击者能区分出单条指令,达到破解算法的目的。目前技术上有很多防御功耗攻击的算法和方法,但是都是要等到芯片设计出来之后再进行详细的验证。因此设计一种能够快速的防功耗攻击验证仿真平台就显示非常有意义。
发明内容
为此,需要提供一种防SPA攻击的待测电路安全仿真分析的技术方案,用以解决在芯片设计过程中无法针对功耗攻击进行仿真防御的问题。
为实现上述目的,本发明第一方面提供了一种防SPA攻击的待测电路安全仿真分析装置,所述装置包括:
关键信号存储单元,用于存储关键信号和关键信号对应的路径信息;
仿真电路单元,用于接收测试激励信息进行仿真测试;所述测试激励信息包括所述关键信号;
关键信号监控单元,用于在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息,并将当前时间戳信息存储至变化时间存储单元中;
功耗计算单元,用于计算待测电路在整个仿真过程中的功耗仿真数据,并将所述功耗仿真数据存储于功耗数据存储单元中;
功耗分析单元,用于根据所述变化时间存储单元中存储的时间戳信息计算变化时间区,以及根据所述功耗数据存储单元中的功耗仿真数据输出关键信号在所述变化时间区对应的功耗信息,并分析关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据;
所述变化时间区是指当前关键信号发生变化的时间戳信息与上一次该关键信号发生变化的时间戳信息的差值时间段。
进一步地,所述关键信号监控单元包括标记插入单元;
所述标记插入单元用于设置标记信号,并将所述标记信号插入所述关键信号对应的路径信息中,以及在所述标记信号的值发生变化时,记录当前时间戳信息;所述标记信号的值与所述关键信号的值实时相等。
所述功耗分析单元用于提取所述标记信号,根据各标记信号的时间戳信息计算所述关键信号对应的变化时间区。
进一步地,所述装置还包括:
随机数产生单元,用于产生随机数;
仿真激励生成单元,用于根据所述随机数产生单元产生的随机数生成测试激励信息,并将所述测试激励信息传输给所述仿真电路单元。
进一步地,所述装置还包括:
逻辑综合单元,用于对待测电路进行逻辑综合运算,得到网表信息;
功耗计算单元,用于根据所述网表信息计算待测电路在整个仿真过程中的功耗仿真数据。
进一步地,关键信号包括多个变化值;
功耗分析单元用于在关键信号为某一变化值时对应的功耗信息与其他变化值对应的功耗信息的差异大于预设误差时,则判定关键信号在该变化值的功耗信息存在相关性。
进一步地,所述关键信号包括测试密钥信息;所述装置包括:
密钥产生单元,用于产生所述测试密钥信息;
密钥记录单元,用于存储所述测试密钥信息;
功耗分析单元,用于获取所述测试密钥信息,并判断测试密钥信息在变化时间区上的功耗信息是否相关。
进一步地,所述密钥产生单元包括:
源数据存储单元,用于存储加密后的源数据,所述源数据包括源密钥和层级密钥加解密算法;
源数据解密单元,用于获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中;
层级信息存储单元,用于存储层级密钥信息和用户标识信息;
根密钥运算单元,用于获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息;
层级运算解密单元,用于获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到所述测试密钥信息。
进一步地,所述层级信息存储单元还用于存储握手请求信息和握手响应信息;
所述密钥产生单元包括:
握手解密运算电路,用于采用所述测试密钥信息对所述测试密钥信息自身进行解密,得到握手加密密钥信息;
握手加密运算电路,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息;
握手信息校验电路,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则通过校验,将所述测试密钥信息存储于所述密钥记录单元中;否则校验不通过,不将所述测试密钥信息存储于所述密钥记录单元中。
本发明的第二方面还提供了一种防SPA攻击的待测电路安全仿真分析方法,所述方法应用于如本发明第一方面所述的装置,所述方法包括以下步骤:
关键信号存储单元存储关键信号和关键信号对应的路径信息;
逻辑综合单元对待测电路进行逻辑综合运算,得到网表信息;
仿真电路单元接收测试激励信息进行仿真测试;所述测试激励信息包括所述关键信号;
关键信号监控单元在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息,并将当前时间戳信息存储至变化时间存储单元中;
功耗计算单元计算所述待测电路在整个仿真过程中的功耗仿真数据,并将所述功耗仿真数据存储于功耗数据存储单元中;
功耗分析单元根据所述变化时间存储单元中存储的时间戳信息计算变化时间区,以及根据所述功耗数据存储单元中的功耗仿真数据输出关键信号在所述变化时间区对应的功耗信息,并分析关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据;所述变化时间区是指当前关键信号发生变化的时间戳信息与上一次该关键信号发生变化的时间戳信息的差值时间段。
进一步地,所述关键信号包括测试密钥信息,所述测试密钥信息由密钥产生单元生成,所述密钥生成单元包括源数据存储单元、源数据解密单元、层级信息存储单元、根密钥运算单元和层级运算解密单元;
所述方法包括以下步骤:
源数据存储单元存储加密后的源数据,所述源数据包括源密钥和层级密钥加解密算法;
源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中;
层级信息存储单元存储层级密钥信息和用户标识信息;
根密钥运算单元获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息;
层级运算解密单元获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到所述测试密钥信息。
区别于现有技术,上述技术方案所述的防SPA攻击的待测电路安全仿真分析方法和装置,所述装置包括:关键信号存储单元,用于存储关键信号和关键信号对应的路径信息;仿真电路单元,用于接收测试激励信息进行仿真测试;关键信号监控单元,用于在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息;功耗计算单元,用于计算待测电路在整个仿真过程中的功耗仿真数据;功耗分析单元,用于分析关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据;通过上述方案,在芯片设计阶段,就可以模拟芯片的安全仿真测试,且能够自动完成功耗攻击分析。
附图说明
图1为本发明一实施例涉及的防SPA攻击的待测电路安全仿真分析装置的示意图;
图2为本发明另一实施例涉及的防SPA攻击的待测电路安全仿真分析装置的示意图;
图3为本发明一实施例涉及的密钥产生单元的结构示意图;
图4为本发明另一实施例涉及的密钥产生单元的结构示意图;
图5为本发明一实施例涉及的防SPA攻击的待测电路安全仿真分析方法的流程图;
图6为本发明另一实施例涉及的防SPA攻击的待测电路安全仿真分析方法的流程图;
图7为本发明一实施例涉及的绘图单元绘制的图表示意图。
附图标记说明:
101、关键信号存储单元;
102、仿真电路单元;
103、关键信号监控单元;201、标记插入单元;
104、功耗分析单元;
105、随机数产生单元;
106、仿真激励生成单元;
107、绘图单元;
108、密钥产生单元;
109、密钥记录单元。
110、功耗计算单元;
111、功耗数据存储单元;
112、变化时间存储单元;
113、待测电路;
114、逻辑综合单元;
115、网表信息;
301、源数据存储单元;
302、源数据解密单元;
303、算法信息存储单元;
304、层级信息存储单元;
305、根密钥运算单元;
306、层级解密运算单元;3061、一级解密运算单元;3062、二级解密运算单元;3063、三级解密运算单元;
307、握手解密运算电路;3071、一级握手解密运算电路;3072、二级握手解密运算电路;3073、三级握手解密运算电路;
308、握手加密运算电路;3081、一级握手加密运算电路;3082、二级握手加密运算电路;3083、三级握手加密运算电路;
309、握手信息校验电路;
310、密钥选择单元;
311、算法选择单元;3111、一级算法选择单元;3112、二级算法选择单元;3113、三级算法选择单元。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
如图1所示,本发明第一方面提供了一种防SPA攻击的待测电路安全仿真分析装置,所述装置包括:
关键信号存储单元101,用于存储关键信号和关键信号对应的路径信息。所述关键信号是指待安全监测的数据,对于计算机而言一般是一串由“0”或“1”组成的机器代码,可以是密钥信息,也可以是重要性较强的安全数据。所述路径信息是指所述关键信号的可执行路径的集合,通过选择适当的测试用例可以及时检测出关键信号的变化情况,进而进行收集和分析。
在本实施方式中,关键信号和关键信号对应的路径信息可以通过以下方式获得:在仿真测试开始之前,先对待测的主控芯片完成一次RTL测试设计,并把RTL设计的待测试电路作为输入文件让仿真分析平台开始工作,以及将RTL设计中的关键信号和这些信号对应的路径信息写入关键信号存储单元101中。
仿真电路单元102,用于接收测试激励信息进行仿真测试;所述测试激励信息包括所述关键信号。所述测试激励信息是指测试用例,测试用例是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。所述仿真电路单元102可以通过仿真电路工具来实现,如VCS仿真工具和modelsim仿真工具。
关键信号监控单元103,用于在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息,并将当前时间戳信息存储至变化时间存储单元112中。
当关键信号按照对应的路径信息执行时,如果其发生变化(如从“0”变成“1”),此时记录当前的时间戳信息,后期通过筛选关键信号变化的时间戳信息进行分析,就可以分析关键信号在各个类型变化上存在的关联性,进而判断关键信号当前是否存在被攻击的可能性。
功耗计算单元110,用于计算待测电路在整个仿真过程中的功耗仿真数据,并将所述功耗仿真数据存储于功耗数据存储单元111中。
功耗分析单元104,用于根据所述变化时间存储单元112中存储的时间戳信息计算变化时间区,以及根据所述功耗数据存储单元111中的功耗仿真数据输出关键信号在所述变化时间区对应的功耗信息,并分析关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据。所述变化时间区是指当前关键信号发生变化的时间戳信息与上一次该关键信号发生变化的时间戳信息的差值时间段。
例如当某一关键信号的变化类型的功耗信息明显高于或低于其他变化类型时,则可以判定关键信号对应的功耗信息存在相关性,即关键信号在仿真过程中存在被功耗攻击(通过功耗差异来检测关键数据的一种手段)的可能性,而后会对这一变化值的关键信号对应的功耗时间值统一予以记录,以供技术人员进一步分析。
通过上述方案,在芯片设计的早期阶段,就可以模拟芯片的安全仿真测试,具体是通过各种测试用例来对主控芯片的性能进行检测,主要包括关键信号变化时的功耗检测,从而对于黑客采用功耗攻击方式进行有效预警,大幅提高了分析效率。
如图2所示,在某些实施例中,所述关键信号监控单元103包括标记插入单元201;所述标记插入单元201用于设置标记信号,并将所述标记信号插入所述关键信号对应的路径信息中,以及在所述标记信号的值发生变化时,记录当前时间戳信息;所述标记信号的值与所述关键信号的值实时相等。所述功耗分析单元104用于提取所述标记信号,根据各标记信号的时间戳信息计算所述关键信号对应的变化时间区。
在实际应用过程中,关键信号监控单元103会根据关键信号当前的位置,在电路仿真的验证平台(即前文提到的“仿真电路单元”)中加入关键信号的监控组件,比如针对路径为path_x的关键信号a,监控组件可以被配置为:
wait(path_x.a==1’b1)$display_time;
这样就可以让路径为path_x中的关键信号a在值为1时,打印当前的仿真时间。当然路径信息中的判断条件也可以改成(path_x.a==0’b1)$display_time,则表示当关键信号a的值为0时,打印当前的仿真时间。
而后标记插入单元201负责对关键信号进行时间标记插入,具体组件配置如下:
wait(path_x.a==1’b1)set flag_a=1’b1;
这样就可以让路径为path_x的a在值为1时把标识信号a标记置为1,即所述标记信号的值与所述关键信号的值实时相等。待测试激励信息都遍历完成后,通过搜索调取所有标记信号的值,就可以清晰地获知关键信号的值的变化情况。
在某些实施例中,所述装置还包括:
随机数产生单元105,用于产生随机数。优选的,随机数产生单元每隔一定时间产生一个随机数,产生的随机数是随机的,这样可以使得仿真激励生成单元生成的激励也完全随机。
仿真激励生成单元106,用于根据所述随机数产生单元产生的随机数生成测试激励信息,并将所述测试激励信息传输给所述仿真电路单元102。随机数作为影响测试激励信息生成的影响因子,可以保证测试激励信息生成的随机性,从而仿真模拟各个应用场景下主控芯片的运行过程。为了保证测试激励信息能够尽可能地覆盖所有可能发生的情况,因而在本实施例中,随机数产生单元105所产生的随机数数量也足够大(超过预设数量)。
在某些实施例中,所述装置还包括:逻辑综合单元114,用于对待测电路113进行逻辑综合运算,得到网表信息115;功耗计算单元110,用于根据所述网表信息115计算待测电路在整个仿真过程中的功耗仿真数据。
所述逻辑综合(Logic Synthesis)是指将寄存器传输级(RTL,Register TransferLevel)的hdl代码转换为与工艺相关的门级网表(Gate Level Netlist)的过程。逻辑综合单元114可以通过DC综合工具来实现,在仿真电路单元开始工作后,DC综合工具对待测试电路的RTL代码进行DC(Design Compiler)综合,生成网表信息115。所述网表信息115包括但不限于:网表文件、SDF(标准延时文件)、SVF文件(包含RTL到网表的映射信息)等。
所述功耗计算单元110接收DC综合产生的网表文件、SDF文件、SVF文件,以及RTL仿真波形和foundry代工厂的标准库单元信息,基于SVF文件中存储的RTL到网表的映射信息,将RTL的仿真波形节点映射到网表文件上,从而产生了网表的仿真波形,再加入SDF文件中的延时信息和foundry代工厂的标准库单元功耗信息,得到整个仿真过程的功耗仿真数据,然后把功耗数据存储到功耗数据存储单元中。
在某些实施例中,所述装置还包括:绘图单元107,用于根据关键信号对应的功耗信息生成可视化图表。这样,测试人员通过生成的图表就可以很直观地看出当前关键信号的功耗信息是否存在关联性,并在关键信号的功耗信息存在关联性的时候进一步分析当前待测电路是否存在着被功耗攻击的可能,从而有效提升测试分析效率。
在某些实施例中,所述关键信号包括多个变化值,如包括“0”和“1”两个变化值。功耗分析单元104用于在关键信号为某一变化值时对应的功耗信息与其他变化值对应的功耗信息的差异大于预设误差时,则判定关键信号在该变化值的功耗信息存在相关性。
例如关键信号为测试密钥信息,所述测试密钥信息为8个比特位的数值,各个比特位对应的变化时间区的功耗信息值如表1所示
密钥值 0 1 0 1 1 0 0 1
功耗(mW) 3.9 8 3 8.5 7.8 3.2 2.5 9
表1-各个比特位对应的变化时间区的功耗信息值表
从表1中可以看出,当密钥信息的比特位的数值为1时,如表1中的第2位、第4位、第5位和第8位时,其对应的功耗信息值要明显高于比特位数值为0时的功耗信息,即可以判定密钥信息在比特位从0变化到1的变化时间区内的功耗信息上存在关联,测试人员可以进一步分析当前主控芯片存在时间攻击的可能性。
例如预设误差可以设置为某一关键信号的变化值的功耗信息值的平均值与其他变化值的功耗信息的平均值的比例为30%,以表1中的数据为例,表1中的密钥值为1时,多次出现功耗信息在8mW左右的情况,而其他类型的密钥值的平均只有2.6mW,两者之间的比值出现307.6%的区别,即远大于预设误差的情况,因而可以认定当关键信号的变化值为1(从其他值变到1)时,关键信号在这一变化值上存在明显的相关性。当然,预设误差可以根据实际需要进行设定,如设定为两个变化类型的功耗值之间的差值在2mW内,或者两者之间的比例在50%以下等等。
为了使得测试人员能够更加直观地获知仿真结果,如图7所示,根据表1中记录的本次仿真过程中密钥信息的每个Bit值和相应这些Bit的功耗信息,生成一个折线变化图,图7中的横轴表示关键信号值(如密钥信息各个比特位的密钥值),纵轴为对应的功耗值。从图7中可以很直观地看到密钥值的变化是否和功耗发生了线性相关的关系,如果存在相关性,说明当前待测芯片在进行运算过程中很可能被黑客发现规律从而破解安全信息,测试人员可以进一步优化相关设计以提升芯片整体的安全性能。
在某些实施例中,所述关键信号包括测试密钥信息;所述装置包括:
密钥产生单元108,用于产生所述测试密钥信息;
密钥记录单元109,用于存储所述测试密钥信息;
功耗分析单元104,用于获取所述测试密钥信息,并判断测试密钥信息在变化时间区上的功耗信息是否相关。
密钥信息作为数据加解密的工具,是芯片安全仿真的关键一环。因而在本实施方式中,除了对一些关键数据进行监控之外,对于密钥信息的变化也进行了重点监控,保证密钥存在被功耗攻击时测试人员能够及时人员。具体做法是对于测试密钥信息的功耗信息也进行监测,并在判定某一类型的密钥信息的功耗信息存在关联时,输出提示信息。所述提示信息包括声音提示信息、图像提示信息、光线提示信息、视频提示信息中的一种或多种。
为了进一步芯片在运算过程使用的密钥信息的安全性,本申请设计了专门的密钥产生单元108来生成运算所需的密钥信息。如图3所示,本申请涉及的密钥产生单元108包括:
源数据存储单元301,用于存储加密后的源数据,所述源数据包括源密钥和层级密钥加解密算法。在本实施方式中,所述源数据存储单元301为OTP存储单元(即一次性可编程单元),这样可以有效防止源数据被篡改。为了防止黑客从源数据存储单元301中直接获得源数据,因而在本申请中是先对源数据进行加密再存储至OTP存储单元中,加密采用的初始密钥可以被存储于其他存储单元中,以提升源数据存储的安全性。所述层级密钥加解密算法是后续进行数据加解密时所选择的算法,具体可以包括aes算法、tdes算法、sm4算法中的任意一种或多种。
源数据解密单元302,用于获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元303中。
层级信息存储单元304,用于存储层级密钥信息和用户标识信息。
根密钥运算单元305,用于获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息。由于根密钥信息是通过解密后的源密钥对所述用户标识信息进行哈希运算得到,可以保证源密钥和生成的根密钥的位数保持一致,同时保证芯片在接收不同用户登录后,所采用的密钥均是不同的,进一步提升了安全性。所述用户标识信息为区分不同用户的ID,例如可以是一串字符串。
层级解密运算单元306,用于获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到所述测试密钥信息。这样,测试密钥信息产生过程中的解密算法来自于算法信息存储单元303中的层级密钥加解密算法,并通过算法选择单元311进行筛选。解密的对象为层级密钥信息,解密的密钥为根密钥信息,三者分别来自于不同的单元,从而进一步提升了生成的测试密钥信息的安全性。
为了防止测试密钥信息在生成过程中被截获篡改,在本实施方式中,所述层级信息存储单元还用于存储握手请求信息和握手响应信息,所述密钥产生单元108包括:
握手解密运算电路307,用于采用所述测试密钥信息对所述测试密钥信息自身进行解密,得到握手加密密钥信息。测试密钥信息自身在传输过程中容易被截获或篡改,但是先用测试密钥信息对所述测试密钥信息自身进行解密后,黑客反向破解的难度就成指数级增加,因而本申请在进行数据校验前先让测试密钥信息对所述测试密钥信息自身进行解密,得到握手加密密钥信息。
握手加密运算电路308,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息。握手请求信息可以预先存储于层级信息存储单元304中,握手请求信息是指待验证的信息,其通过握手加密密钥信息进行加密后可以得到握手加密信息。
握手信息校验电路309,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则通过校验,将所述测试密钥信息存储于所述密钥记录单元中;否则校验不通过,不将所述测试密钥信息存储于所述密钥记录单元中。所述握手响应信息是指预先存储于层级信息存储单元304中、且是握手请求信息经过加密后得到的校验标准信息。通过比对所述握手响应信息和所述握手加密信息,就可以推知当前测试密钥信息是否被篡改,若两者匹配则可以输出测试密钥信息。
如图4所示,为了在不同用户使用待测芯片时能够使用不同权限的功能,因而在本实施方式中,对于不同用户使用所述待测芯片时的密钥信息也可以设置不同等级,即密钥产生单元可以根据用户的安全等级产生相应层级的待测密钥信息,层级越高,则待测密钥信息的安全性也就越高。
以密钥等级为三个安全等级为例,所述装置包括密钥选择单元310。所述解密运算单元包括一级解密运算单元3061、二级解密运算单元3062、三级解密运算单元3063。所述握手解密运算电路包括一级握手解密运算电路3071、二级握手解密运算电路3072、三级握手解密运算电路3073。所述握手加密运算电路包括一级握手加密运算电路3081、二级握手加密运算电路3082、三级握手加密运算电路3083。算法信息存储单元303中设置有多种加解密算法,包括一级加解密算法、二级加解密算法和三级加解密算法,并依次通过一级算法选择单元3111、二级算法选择单元3112、三级算法选择单元3113进行选择。所述层级密钥信息包括第一层源密钥、第二层源密钥和第三层源密钥。
图4所述的密钥产生单元108的工作原理如下:密钥产生单元108获取当前用户等级,并通过密钥选择单元310输出与所述用户等级相匹配的测试密钥至所述密钥记录单元109,假设用户等级有三级,则密钥选择单元310依次选择一级密钥、二级密钥和三级密钥进行输出,三级密钥的安全等级大于二级密钥,二级密钥的安全等级大于一级密钥。
一级密钥的产生过程如下:
源数据解密单元302获取所述源数据存储单元301中加密后的源密钥和层级密钥加解密算法进行解密,得到解密后的源密钥和层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元305,将所述解密后的层级密钥加解密算法存储于算法信息存储单元303中。根密钥运算单元获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息。
而后一级解密运算单元3061接收层级信息存储单元304的第一层源密钥,一级算法选择单元3111选择一级密钥加解密算法至一级解密运算单元3061,以使得一级解密运算单元3061采用一级密钥加解密算法应用所述根密钥信息对所述第一层源密钥进行解密,得到一级密钥。如果当前用户的安全等级为一级,则密钥选择单元310可以选择所述一级密钥输出。
在输出之前,为了防止一级密钥在传输过程中被篡改,需要对生成的一级密钥进行校验,具体是先通过一级握手解密运算电路3071使用一级密钥对一级密钥自身做一次加密,得到一级握手加密密钥信息。而后通过一级握手加密运算电路3081接收所述层级信息存储单元304传输的第一层握手请求数据,并采用所述一级握手加密密钥信息对所述第一层握手请求数据进行加密,得到第一层握手加密信息。而后接收所述层级信息存储单元304传输的第一层握手响应数据,将所述第一层握手响应数据与所述第一层握手加密信息进行比较,若两者匹配说明一级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
二级密钥的产生过程如下:
二级密钥的产生过程与一级密钥类似,区别在于一级密钥作为二级密钥产生的输入参数(相当于一级密钥产生时输入的根密钥),具体是二级解密运算单元3062接收层级信息存储单元304的第二层源密钥,二级算法选择单元3112选择二级密钥加解密算法至二级解密运算单元3062,以使得二级解密运算单元3062采用二级密钥加解密算法应用所述一级密钥对所述第二层源密钥进行解密,得到二级密钥。如果当前用户的安全等级为二级,则密钥选择单元310可以选择所述二级密钥输出。
在输出之前,为了防止二级密钥在传输过程中被篡改,需要对生成的二级密钥进行校验,具体是先通过二级握手解密运算电路3072使用二级密钥对二级密钥自身做一次加密,得到二级握手加密密钥信息。而后通过二级握手加密运算电路3082接收所述层级信息存储单元304传输的第二层握手请求数据,并采用所述二级握手加密密钥信息对所述第二层握手请求数据进行加密,得到第二层握手加密信息。而后接收所述层级信息存储单元304传输的第二层握手响应数据,将所述第二层握手响应数据与所述第二层握手加密信息进行比较,若两者匹配说明二级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
三级密钥的产生过程如下:
三级密钥的产生过程与二级密钥类似,区别在于二级密钥作为三级密钥产生的输入参数(相当于二级密钥产生时输入的一级密钥),具体是三级解密运算单元3063接收层级信息存储单元304的第三层源密钥,三级算法选择单元3113选择三级密钥加解密算法至三级解密运算单元3063,以使得三级解密运算单元3063采用三级密钥加解密算法应用所述二级密钥对所述第三层源密钥进行解密,得到三级密钥。如果当前用户的安全等级为三级,则密钥选择单元310可以选择所述三级密钥输出。
在输出之前,为了防止三级密钥在传输过程中被篡改,需要对生成的三级密钥进行校验,具体是先通过三级握手解密运算电路3073使用三级密钥对三级密钥自身做一次加密,得到三级握手加密密钥信息。而后通过三级握手加密运算电路3083接收所述层级信息存储单元304传输的第三层握手请求数据,并采用所述三级握手加密密钥信息对所述第三层握手请求数据进行加密,得到第三层握手加密信息。而后接收所述层级信息存储单元304传输的第三层握手响应数据,将所述第三层握手响应数据与所述第三层握手加密信息进行比较,若两者匹配说明三级密钥没有被篡改,可以通过密钥选择单元310进行输出,否则可以发出提示信息。
当然,在另一些实施例中,所述用户等级的数量还可以为其他数值,如两个安全等级或四个以上的安全等级,相对应地,所述测试密钥信息的层级也可以为其他数量,具体根据实际需要进行设置。当测试密钥信息的层级为其他数量时,其产生的方式可以参考图4所示的电路应用过程,此处不再赘述。
如图5所示,一种防SPA攻击的待测电路安全仿真分析方法,所述方法应用于本申请第一方面所述的装置,所述方法包括以下步骤:
首先进入步骤S501关键信号存储单元存储关键信号和关键信号对应的路径信息;
而后进入步骤S502仿真电路单元接收测试激励信息进行仿真测试;所述测试激励信息包括所述关键信号;
而后进入步骤S503关键信号监控单元在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息,并将当前时间戳信息存储至变化时间存储单元中;
而后进入步骤S504功耗计算单元计算所述待测电路在整个仿真过程中的功耗仿真数据,并将所述功耗仿真数据存储于功耗数据存储单元中;
而后进入步骤S505功耗分析单元根据所述变化时间存储单元中存储的时间戳信息计算变化时间区,以及根据所述功耗数据存储单元中的功耗仿真数据输出关键信号在所述变化时间区对应的功耗信息,并分析同一关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据;所述变化时间区是指当前关键信号发生变化的时间戳信息与上一次该关键信号发生变化的时间戳信息的差值时间段。
在某些实施例中,所述关键信号包括测试密钥信息,所述测试密钥信息由密钥产生单元生成,所述密钥生成单元包括源数据存储单元、源数据解密单元、层级信息存储单元、根密钥运算单元和层级运算解密单元;
如图6所示,所述方法包括以下步骤:
首先进入步骤S601源数据存储单元存储加密后的源数据,所述源数据包括源密钥和层级密钥加解密算法。
而后可以进入步骤S602源数据解密单元获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中。
与步骤S601和步骤S602相并行地,可以进入步骤S603层级信息存储单元存储层级密钥信息和用户标识信息;
步骤S602和步骤S603后可以进入步骤S604根密钥运算单元获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息。
步骤S604之后可以进入步骤S605层级解密运算单元获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到所述测试密钥信息。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (9)

1.一种防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述装置包括:
关键信号存储单元,用于存储关键信号和关键信号对应的路径信息;
仿真电路单元,用于接收测试激励信息进行仿真测试;所述测试激励信息包括所述关键信号;
关键信号监控单元,用于在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息;
变化时间存储单元,用于存储所述当前时间戳信息;
功耗计算单元,用于计算待测电路在整个仿真过程中的功耗仿真数据;
功耗数据存储单元,用于存储所述功耗仿真数据;
功耗分析单元,用于根据所述变化时间存储单元中存储的时间戳信息计算变化时间区,以及根据所述功耗数据存储单元中的功耗仿真数据输出关键信号在所述变化时间区对应的功耗信息,并分析同一关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据;所述变化时间区是指当前关键信号发生变化的时间戳信息与上一次该关键信号发生变化的时间戳信息的差值时间段;
所述关键信号为一串机器代码,包括多个变化值,所述变化值为0或1;
所述功耗分析单元还用于在关键信号为某一变化值时对应的功耗信息与其他变化值对应的功耗信息的比例差异大于预设误差时,则判定关键信号在该变化值的功耗信息存在相关性;所述预设误差为某一关键信号的变化值的功耗信息的平均值与其他变化值的功耗信息的平均值的比例为30%。
2.如权利要求1所述的防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述关键信号监控单元包括标记插入单元;
所述标记插入单元用于设置标记信号,并将所述标记信号插入所述关键信号对应的路径信息中,以及在所述标记信号的值发生变化时,记录当前时间戳信息;所述标记信号的值与所述关键信号的值实时相等;
所述功耗分析单元用于提取所述标记信号,根据各标记信号的时间戳信息计算所述关键信号对应的变化时间区。
3.如权利要求1所述的防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述装置还包括:
随机数产生单元,用于产生随机数;
仿真激励生成单元,用于根据所述随机数产生单元产生的随机数生成测试激励信息,并将所述测试激励信息传输给所述仿真电路单元。
4.如权利要求1所述的防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述装置还包括逻辑综合单元,所述逻辑综合单元用于对待测电路进行逻辑综合运算,得到网表信息;
所述功耗计算单元还用于根据所述网表信息计算待测电路在整个仿真过程中的功耗仿真数据。
5.如权利要求1所述的防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述关键信号包括测试密钥信息;所述装置包括:
密钥产生单元,用于产生所述测试密钥信息;
密钥记录单元,用于存储所述测试密钥信息;
功耗分析单元,用于获取所述测试密钥信息,并判断同一所述测试密钥信息在变化时间区上的功耗信息是否相关。
6.如权利要求5所述的防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述密钥产生单元包括:
源数据存储单元,用于存储加密后的源数据,所述源数据包括源密钥和层级密钥加解密算法;
源数据解密单元,用于获取所述加密后的源数据进行解密,得到解密后的源密钥和解密后的层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中;
层级信息存储单元,用于存储层级密钥信息和用户标识信息;
根密钥运算单元,用于获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息;
层级运算解密单元,用于获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到所述测试密钥信息。
7.如权利要求6所述的防SPA攻击的待测电路安全仿真分析装置,其特征在于,所述层级信息存储单元还用于存储握手请求信息和握手响应信息;
所述密钥产生单元包括:
握手解密运算电路,用于采用所述测试密钥信息对所述测试密钥信息自身进行解密,得到握手加密密钥信息;
握手加密运算电路,用于接收所述握手请求信息,并采用所述握手加密密钥信息对所述握手请求信息进行加密,得到握手加密信息;
握手信息校验电路,用于获取所述握手响应信息和所述握手加密信息,并判断两者是否匹配,若是则通过校验,将所述测试密钥信息存储于所述密钥记录单元中;否则校验不通过,不将所述测试密钥信息存储于所述密钥记录单元中。
8.一种防SPA攻击的待测电路安全仿真分析方法,其特征在于,所述方法包括以下步骤:
关键信号存储单元存储关键信号和关键信号对应的路径信息;
仿真电路单元接收测试激励信息进行仿真测试;所述测试激励信息包括所述关键信号;
关键信号监控单元在仿真测试时,根据所述关键信号对应的路径信息监控所述关键信号,并在所述关键信号发生变化时,记录当前时间戳信息,并将当前时间戳信息存储至变化时间存储单元中;
功耗计算单元计算所述待测电路在整个仿真过程中的功耗仿真数据,并将所述功耗仿真数据存储于功耗数据存储单元中;
功耗分析单元根据所述变化时间存储单元中存储的时间戳信息计算变化时间区,以及根据所述功耗数据存储单元中的功耗仿真数据输出关键信号在所述变化时间区对应的功耗信息,并分析同一关键信号在所述变化时间区对应的功耗信息是否存在相关性,若是则导出相关数据;所述变化时间区是指当前关键信号发生变化的时间戳信息与上一次该关键信号发生变化的时间戳信息的差值时间段;
所述关键信号为一串机器代码,包括多个变化值,所述变化值为0或1;
所述功耗分析单元还用于在关键信号为某一变化值时对应的功耗信息与其他变化值对应的功耗信息的比例差异大于预设误差时,则判定关键信号在该变化值的功耗信息存在相关性;所述预设误差为某一关键信号的变化值的功耗信息的平均值与其他变化值的功耗信息的平均值的比例为30%。
9.如权利要求8所述的防SPA攻击的待测电路安全仿真分析方法,其特征在于,所述关键信号包括测试密钥信息,所述测试密钥信息由密钥产生单元生成,所述密钥产生单元包括源数据存储单元、源数据解密单元、层级信息存储单元、根密钥运算单元和层级运算解密单元;
所述方法包括以下步骤:
源数据存储单元存储加密后的源数据,所述源数据包括源密钥和层级密钥加解密算法;
源数据解密单元获取加密后的源数据进行解密,得到解密后的源密钥和解密后的层级密钥加解密算法,并将所述解密后的源密钥送往根密钥运算单元,将所述解密后的层级密钥加解密算法存储于算法信息存储单元中;
层级信息存储单元存储层级密钥信息和用户标识信息;
根密钥运算单元获取所述用户标识信息和解密后的源密钥,根据所述解密后的源密钥对所述用户标识信息进行哈希运算,得到根密钥信息;
层级运算解密单元获取所述层级密钥加解密算法、所述层级密钥信息和所述根密钥信息,采用所述层级密钥加解密算法应用所述根密钥信息对所述层级密钥信息进行解密,得到所述测试密钥信息。
CN202011164434.7A 2020-10-27 2020-10-27 一种防spa攻击的待测电路安全仿真分析方法和装置 Active CN112104447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011164434.7A CN112104447B (zh) 2020-10-27 2020-10-27 一种防spa攻击的待测电路安全仿真分析方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011164434.7A CN112104447B (zh) 2020-10-27 2020-10-27 一种防spa攻击的待测电路安全仿真分析方法和装置

Publications (2)

Publication Number Publication Date
CN112104447A CN112104447A (zh) 2020-12-18
CN112104447B true CN112104447B (zh) 2024-02-06

Family

ID=73784799

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011164434.7A Active CN112104447B (zh) 2020-10-27 2020-10-27 一种防spa攻击的待测电路安全仿真分析方法和装置

Country Status (1)

Country Link
CN (1) CN112104447B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532973A (zh) * 2013-10-25 2014-01-22 东南大学 面向des算法电路的差分功耗攻击测试方法
CN103679008A (zh) * 2012-09-03 2014-03-26 江苏东大集成电路系统工程技术有限公司 一种高效的安全芯片功耗攻击测试方法
CN105939189A (zh) * 2016-06-06 2016-09-14 苏州健雄职业技术学院 一种密码芯片安全风险量化方法
CN213547530U (zh) * 2020-10-27 2021-06-25 深圳安捷丽新技术有限公司 一种防spa攻击的待测电路安全仿真分析装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1768040A4 (en) * 2004-07-07 2008-05-21 Mitsubishi Electric Corp POWER SUPPLY CALCULATING APPARATUS, POWER SUPPLY CALCULATING METHOD, APPARATUS FOR EVALUATING INVIOLABILITY, AND INVIOLABILITY ASSESSING METHOD

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103679008A (zh) * 2012-09-03 2014-03-26 江苏东大集成电路系统工程技术有限公司 一种高效的安全芯片功耗攻击测试方法
CN103532973A (zh) * 2013-10-25 2014-01-22 东南大学 面向des算法电路的差分功耗攻击测试方法
CN105939189A (zh) * 2016-06-06 2016-09-14 苏州健雄职业技术学院 一种密码芯片安全风险量化方法
CN213547530U (zh) * 2020-10-27 2021-06-25 深圳安捷丽新技术有限公司 一种防spa攻击的待测电路安全仿真分析装置

Also Published As

Publication number Publication date
CN112104447A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN108199832B (zh) 一种cloc认证加密算法抵御差分故障攻击的检测方法
CN110011794B (zh) 密码机密钥属性的测试方法
CN112115657A (zh) 一种防单一时间攻击的芯片安全仿真分析方法和装置
WO2014205369A1 (en) Signal transition analysis of a circuit
CN112134685B (zh) 一种防dpa攻击的待测电路安全仿真分析方法和装置
CN213547530U (zh) 一种防spa攻击的待测电路安全仿真分析装置
CN213028070U (zh) 一种防dpa攻击的待测电路安全仿真分析装置
CN112152780B (zh) 一种防sema攻击的待测电路安全仿真分析方法和装置
Hazarika et al. A novel partial image encryption using chaotic logistic map
Yang et al. Side-channel leakage detection with one-way analysis of variance
Mather et al. Pinpointing side-channel information leaks in web applications
CN106650504B (zh) 一种针对Web页面数据的摘要提取方法及检测方法
CN104935783B (zh) 一种安全的主动式图像篡改检测方法及装置
CN112114248A (zh) 一种防差分时间攻击的芯片安全仿真分析方法和装置
CN112104447B (zh) 一种防spa攻击的待测电路安全仿真分析方法和装置
CN112532374A (zh) 一种检测silc认证加密算法抵御差分故障攻击的方法
CN108038381A (zh) 一种密钥安全性检测方法及系统
CN112104448B (zh) 一种防dema攻击的待测电路安全仿真分析方法和装置
CN213276647U (zh) 一种防时间攻击的安全仿真分析装置
Zhou et al. Leakage detection with Kolmogorov-Smirnov test
CN112511291A (zh) 一种检测ocb认证加密算法抵御差分故障攻击的方法
CN112468283A (zh) 一种检测iFeed[AES]算法抵御差分故障攻击的方法
Treus et al. Early analysis of security threats by modeling and simulating power attacks in systemc
Zhao et al. An Optimization for Differential Power Analysis Based on Time Series Verification
CN117407926B (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