CN114611106B - Program control flow proving method based on multi-target particle swarm algorithm - Google Patents

Program control flow proving method based on multi-target particle swarm algorithm Download PDF

Info

Publication number
CN114611106B
CN114611106B CN202210240839.7A CN202210240839A CN114611106B CN 114611106 B CN114611106 B CN 114611106B CN 202210240839 A CN202210240839 A CN 202210240839A CN 114611106 B CN114611106 B CN 114611106B
Authority
CN
China
Prior art keywords
control flow
program
function
report
target
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
CN202210240839.7A
Other languages
Chinese (zh)
Other versions
CN114611106A (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.)
Kunming University of Science and Technology
Original Assignee
Kunming University of Science and Technology
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 Kunming University of Science and Technology filed Critical Kunming University of Science and Technology
Priority to CN202210240839.7A priority Critical patent/CN114611106B/en
Publication of CN114611106A publication Critical patent/CN114611106A/en
Application granted granted Critical
Publication of CN114611106B publication Critical patent/CN114611106B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Abstract

The invention relates to a program control flow proving method based on a multi-target particle swarm algorithm, and belongs to the technical field of computer information remote proving. According to the method, an optimal pile inserting scheme is obtained through a multi-target particle swarm algorithm, all possible control flow data of a target program are obtained according to the scheme, and hash values of the control flow data under each input range and the input range are stored in a server. After receiving a request initiated by a server, the device operates a target program according to input in the request, performs hash operation on dynamic control flow data in a trusted execution environment to obtain a hash value, signs the hash value and the request to generate a report, and sends the report to the server. And after receiving the report, the server signs the report a priori, checks whether the request is correct, and finally compares the hash value with the expected hash value. The invention can enable the resource-limited equipment to obtain extremely high security with lower performance cost.

Description

Program control flow proving method based on multi-target particle swarm algorithm
Technical Field
The invention relates to a program control flow proving method based on a multi-target particle swarm algorithm, and belongs to the technical field of computer information remote proving.
Background
With the continuous development of the internet of things technology, the embedded device is widely applied to important fields such as families, offices, automobiles, urban management, medical treatment, electric power, industrial control and the like, and once the embedded device in the fields is attacked by an attacker, the embedded device not only threatens personal privacy and safety, but also threatens enterprise information safety, even threatens national key infrastructure, thereby threatening national safety. An attacker attacks software on an embedded device by various means, wherein the most common and most harmful is the control flow hijacking attack.
The control flow hijacking attack is a common attack method aiming at computer software, and the control flow of a process is changed through binary vulnerabilities such as buffer overflow vulnerabilities, so that specific malicious codes are executed, and the purpose of attack is achieved.
Remote attestation techniques allow a resource-rich verifier (entity performing authentication) to obtain the running state of software on a resource-constrained attester (device requiring attestation) to determine if the attester is under attack. Remote attestation is a method for effectively guaranteeing the safety of equipment, and the attestation overhead of resource embedded equipment can be reduced.
The current scheme for resisting the control flow hijacking attack mainly comprises a fine-grained control flow proving scheme, and the security of an authentication scheme is very focused. But for some resource constrained devices none of these schemes can be implemented on them. While coarse-grained control flow attestation schemes, while capable of deployment on resource-constrained devices, have limited security.
Disclosure of Invention
The technical problem to be solved by the invention is to provide a program control flow proving method based on a multi-target particle swarm algorithm, which is used for solving the problem that the safety and the performance cost of control flow proving are not balanced, and optimizing the safety and the performance cost through the multi-target particle swarm algorithm, so that the resource-limited equipment can obtain extremely high safety with lower performance cost.
The technical scheme of the invention is as follows: a program control flow proving method based on a multi-target particle swarm algorithm obtains an optimal pile inserting scheme through the multi-target particle swarm algorithm, obtains all possible control flow data of a target program according to the scheme, and stores hash values and input ranges of the control flow data under each input range to a server. After receiving a request initiated by a server, the device operates a target program according to input in the request, performs hash operation on dynamic control flow data in a trusted execution environment to obtain a hash value, signs the hash value and the request to generate a report, and sends the report to the server. And after receiving the report, the server signs the report a priori, checks whether the request is correct, and finally compares the hash value with the expected hash value.
The method comprises the following specific steps:
step1: analyzing the function of the target program, obtaining the call times of each function of the target program and the total number of control flow events, inputting the call times and the total number of control flow events into a multi-target particle swarm algorithm, and optimizing the safety and performance cost to obtain an optimal function instrumentation scheme;
further, the number of times of each function call of the target program and the total number of control flow events are average values of a plurality of running paths, and the control flow events are jump instructions in program assembly codes.
Further, formalization of the problem of multi-objective particle swarm optimization is described as:
optimization target: max { security (Y) } min { fastening (Y) }, and
constraint conditions: safety (Y) > Safety threshold
spending(Y)<Spending threshold
Control variable: y= { Y 1 ,y 2 ,y 3 ,...,y n }
Parameter meaning: safety (Y) refers to the safety under the function instrumentation scheme Y;
the mapping (Y) refers to the performance overhead under the function pile inserting scheme Y;
Safety threshold the finger function pile inserting scheme is the safety of the edge function;
Spending threshold the finger function instrumentation scheme is the performance overhead when the core function is adopted;
step2: performing pile inserting processing of combining coarse granularity and fine granularity on a target program according to an optimal function pile inserting scheme, analyzing the target program, determining an input range of a function, operating the processed target program on equipment according to the determined input range to obtain all control flow data, performing cumulative hash operation on the control flow data to obtain an expected hash value, and storing the expected hash value and an input range key value pair into a database of a server;
further, the control flow data is composed of a plurality of jump nodes, each jump node is unique, if the same jump node appears for a plurality of times in the running process, the control flow data obtained by inserting piles is recorded only once, the follow-up reappearance is recorded only in the execution times of the instruction in the jump node data, the data of the jump node comprises the source address and the jump destination address of the jump instruction and the execution times of the instruction, and the jump instruction comprises a direct jump instruction, an indirect jump instruction, a conditional jump instruction, a function call instruction and a function return instruction.
Step3: the server initiates an authentication request to the equipment, after the equipment receives the authentication request, the equipment inputs a target program after operation processing according to a program in the authentication request to obtain dynamic program control flow data, the dynamic program control flow data is input into a trusted execution environment to perform cumulative hash operation to obtain a hash value, the hash value and the authentication request are signed to generate an authentication report, and finally the report is sent to the server;
further, the hash algorithm uses an SM3 password hash algorithm in China commercial password algorithm standard, and a recursion formula of accumulated hash operation is that
Wherein H represents a hash operation, N n Representing the nth hop node.
Step4: after receiving the authentication report, the server firstly carries out verification on the report, determines whether a submitter of the report is legal, then checks whether the authentication request in the report is legal, finally compares the hash value with an expected hash value input in the authentication request to obtain an authentication result, and if the authentication is successful, the target program on the equipment is not attacked, otherwise, the target program is attacked by the control flow hijacking.
Further, the authentication request includes a random number, a target program identifier and an input value of the target program.
Further, the signature algorithm uses a digital signature algorithm in an SM2 elliptic curve public key cryptographic algorithm in China commercial cryptographic algorithm standard.
The beneficial effects of the invention are as follows: the problem that the safety and the performance cost of control flow proving cannot be balanced is solved, the safety and the performance cost are optimized through a multi-target particle swarm algorithm, and the resource-limited equipment can obtain extremely high safety with lower performance cost; the security and performance overhead of the control flow proving scheme are optimized by using a multi-target particle swarm algorithm, so that the control flow proving scheme with the combination of the coarse granularity and the fine granularity can be applied to equipment with limited resources.
Drawings
FIG. 1 is a diagram of the overall architecture of the present invention;
FIG. 2 is an architecture diagram of a device acquiring dynamic control flow information for attestation;
fig. 3 is a remote attestation flowchart.
Detailed Description
The invention will be further described with reference to the drawings and detailed description.
Example 1: as shown in fig. 1, a program control flow proving method based on a multi-target particle swarm algorithm comprises the following specific steps:
step1: analyzing the function of the target program, obtaining the call times of each function of the target program and the total number of control flow events, inputting the call times and the total number of control flow events into a multi-target particle swarm algorithm, and optimizing the maximized safety and minimized performance cost to obtain an optimal function instrumentation scheme;
step2: performing pile inserting processing of combining coarse granularity and fine granularity on a target program according to an optimal function pile inserting scheme to obtain a processed target program, analyzing the target program, determining an input range of a function, operating the processed target program on equipment according to the determined input range to obtain all control flow data, performing cumulative hash operation on the control flow data to obtain an expected hash value, and storing the expected hash value and an input range key value pair into a database of a server;
step3: the server initiates an authentication request to the equipment, after the equipment receives the authentication request, the equipment inputs a target program after operation processing according to a program in the authentication request to obtain dynamic program control flow data, the dynamic program control flow data is input into a trusted execution environment to perform cumulative hash operation to obtain a hash value, the hash value and the authentication request are signed to generate an authentication report, and finally the report is sent to the server;
step4: after receiving the authentication report, the server firstly carries out verification on the report, determines whether a submitter of the report is legal, then checks whether the authentication request in the report is legal, finally compares the hash value with an expected hash value input in the authentication request to obtain an authentication result, and if the authentication is successful, the target program on the equipment is not attacked, otherwise, the target program is attacked by the control flow hijacking.
Example 2: as shown in fig. 2, a program control flow proving method based on a multi-target particle swarm algorithm, wherein the specific steps of the device for obtaining dynamic control flow information for proving are as follows:
the function requiring coarse-grained instrumentation is first referred to as the edge function, and the function requiring fine-grained instrumentation is referred to as the core function. After the device receives the authentication request of the server, the operation target program is input according to the program specified by the server. When executing the function call to the edge function and the function return, the runtime tracker jumps to the coarse-granularity interceptor; the runtime tracker jumps to the fine-grained interceptor when executing function calls and function returns to the core function and internal control flow branch instructions. When the program execution is finished, the interceptor sends the intercepted dynamic control stream data to a hash module in the trusted execution environment for cumulative hash operation to obtain a final hash value. The signature module in the trusted execution environment signs the hash value and the authentication request by using the private key of the equipment, generates an authentication report and sends the authentication report to the server.
Example 3: as shown in fig. 3, a program control flow proving method based on a multi-target particle swarm algorithm, wherein the specific steps of the remote proving are as follows:
step1: the server packages the program id to be authenticated, the random number N and the input i of the program as a request c, and sends the request c to the device as an authentication request. Wherein the random number is to prevent replay attacks.
Step2: after the device receives the authentication request of the server, the device uses the input i to execute the program A, and the intercepted program control flow information CF is sent to a hash module in a trusted execution environment through the runtime tracker. The hash module hashes the obtained control flow information CF in a cumulative hash operation mode to obtain a final hash value h, and then sends the hash value h to the signature module. The hash value h and the received request c are signed using the private key sk of the device, generating an authentication report r.
Step3: the device sends an authentication report r to the server.
Step4: after receiving the authentication report, the server uses the public key pk of the device to check the authentication report r. If the check is correct, checking whether the received request c is a request c' sent to the device by the server in the earlier stage, if not, indicating that the request c sent to the device is modified, if so, continuously checking whether the received hash value h is consistent with the expected hash value under the input i in the database, if so, indicating that the program A is not attacked, and if not, indicating that the program A is attacked by the control flow hijacking.
While the present invention has been described in detail with reference to the drawings, the present invention is not limited to the above embodiments, and various changes can be made without departing from the spirit of the present invention within the knowledge of those skilled in the art.

Claims (4)

1. A program control flow proving method based on a multi-target particle swarm algorithm is characterized in that:
step1: analyzing the function of the target program, obtaining the call times of each function of the target program and the total number of control flow events, inputting the call times and the total number of control flow events into a multi-target particle swarm algorithm, and optimizing the safety and performance cost to obtain an optimal function instrumentation scheme;
step2: performing pile inserting processing of combining coarse granularity and fine granularity on a target program according to an optimal function pile inserting scheme, analyzing the target program, determining an input range of a function, operating the processed target program on equipment according to the determined input range to obtain all control flow data, performing cumulative hash operation on the control flow data to obtain an expected hash value, and storing the expected hash value and an input range key value pair into a database of a server;
step3: the server initiates an authentication request to the equipment, after the equipment receives the authentication request, the equipment inputs a target program after operation processing according to a program in the authentication request to obtain dynamic program control flow data, the dynamic program control flow data is input into a trusted execution environment to perform cumulative hash operation to obtain a hash value, the hash value and the authentication request are signed to generate an authentication report, and finally the report is sent to the server;
step4: after receiving the authentication report, the server firstly carries out verification on the report, determines that the submitter of the report is legal, then checks whether the authentication request in the report is legal or not, finally compares the hash value with the expected hash value input in the authentication request to obtain an authentication result, and if the authentication is successful, the target program on the equipment is not attacked, otherwise, the target program is attacked by the control flow hijacking;
the number of times of each function call of the target program and the total number of control flow events are all average values of a plurality of running paths, and the control flow events are jump instructions in program assembly codes;
the multi-target particle swarm algorithm specifically comprises the following steps:
optimization target: max { security (Y) } min { fastening (Y) }, and
constraint conditions: safety (Y)>Safety threshold
spending(Y)<Spending threshold
Control variable: y= { Y 1 ,y 2 ,y 3 ,...,y n }
Parameter meaning: safety (Y) refers to the Safety under the function instrumentation scheme Y;
the mapping (Y) refers to the performance overhead under the function pile inserting scheme Y;
Safety threshold the finger function pile inserting scheme is the safety of the edge function;
Spending threshold the finger function instrumentation scheme is the performance overhead when the core function is adopted;
the control flow data is composed of a plurality of jump nodes, each jump node is unique, if the same jump node appears for a plurality of times in the operation process, the control flow data obtained by pile insertion is recorded once, the follow-up reappearance is recorded in the execution times of the jump instructions in the jump node data, the data of the jump nodes comprises the source address of the jump instructions, the jump destination address and the execution times of the jump instructions, wherein the jump instructions comprise direct jump instructions, indirect jump instructions, conditional jump instructions, function call instructions and function return instructions.
2. The method for proving program control flow based on multi-objective particle swarm algorithm according to claim 1, wherein: the hash algorithm uses SM3 password hash algorithm in China commercial password algorithm standard, and a recursion formula of accumulated hash operation is that
Wherein H represents a hash operation, N n Representing the nth hop node.
3. The method for proving program control flow based on multi-objective particle swarm algorithm according to claim 1, wherein: the authentication request comprises a random number, a target program identifier and an input value of the target program.
4. The method for proving program control flow based on multi-objective particle swarm algorithm according to claim 1, wherein: the signature algorithm uses a digital signature algorithm in an SM2 elliptic curve public key cryptographic algorithm in China commercial cryptographic algorithm standard.
CN202210240839.7A 2022-03-10 2022-03-10 Program control flow proving method based on multi-target particle swarm algorithm Active CN114611106B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210240839.7A CN114611106B (en) 2022-03-10 2022-03-10 Program control flow proving method based on multi-target particle swarm algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210240839.7A CN114611106B (en) 2022-03-10 2022-03-10 Program control flow proving method based on multi-target particle swarm algorithm

Publications (2)

Publication Number Publication Date
CN114611106A CN114611106A (en) 2022-06-10
CN114611106B true CN114611106B (en) 2024-04-09

Family

ID=81862078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210240839.7A Active CN114611106B (en) 2022-03-10 2022-03-10 Program control flow proving method based on multi-target particle swarm algorithm

Country Status (1)

Country Link
CN (1) CN114611106B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194252A (en) * 2017-05-09 2017-09-22 华中科技大学 The program control flow completeness protection method and system of a kind of complete context-sensitive
CN108694320A (en) * 2018-05-15 2018-10-23 中国科学院信息工程研究所 The method and system of sensitive application dynamic measurement under a kind of more security contexts
CN109002721A (en) * 2018-07-12 2018-12-14 南方电网科学研究院有限责任公司 A kind of mining analysis method of information security loophole
CN109960940A (en) * 2019-02-18 2019-07-02 中国科学院软件研究所 A kind of embedded device control stream method of proof and system based on log
CN110276198A (en) * 2019-06-14 2019-09-24 中国科学院信息工程研究所 A kind of embedded changeable granularity control flow verification method and system based on probabilistic forecasting
CN111797010A (en) * 2020-06-23 2020-10-20 河海大学 Intelligent contract test case generation method applying improved genetic algorithm
CN112287357A (en) * 2020-11-11 2021-01-29 中国科学院信息工程研究所 Control flow verification method and system for embedded bare computer system
CN113918959A (en) * 2021-10-22 2022-01-11 北京邮电大学 Vulnerability mining method and device, electronic equipment and medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102324361B1 (en) * 2017-05-29 2021-11-11 한국전자통신연구원 Apparatus and method for detecting malicious devices based on a swarm intelligence

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107194252A (en) * 2017-05-09 2017-09-22 华中科技大学 The program control flow completeness protection method and system of a kind of complete context-sensitive
CN108694320A (en) * 2018-05-15 2018-10-23 中国科学院信息工程研究所 The method and system of sensitive application dynamic measurement under a kind of more security contexts
CN109002721A (en) * 2018-07-12 2018-12-14 南方电网科学研究院有限责任公司 A kind of mining analysis method of information security loophole
CN109960940A (en) * 2019-02-18 2019-07-02 中国科学院软件研究所 A kind of embedded device control stream method of proof and system based on log
CN110276198A (en) * 2019-06-14 2019-09-24 中国科学院信息工程研究所 A kind of embedded changeable granularity control flow verification method and system based on probabilistic forecasting
CN111797010A (en) * 2020-06-23 2020-10-20 河海大学 Intelligent contract test case generation method applying improved genetic algorithm
CN112287357A (en) * 2020-11-11 2021-01-29 中国科学院信息工程研究所 Control flow verification method and system for embedded bare computer system
CN113918959A (en) * 2021-10-22 2022-01-11 北京邮电大学 Vulnerability mining method and device, electronic equipment and medium

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Blockchain-Assisted Distributed Fog Computing Control Flow Attestation;Hongchao Li 等;Security and Privacy Challenges for intelligent Internet of Things Devices 2022;20220828;第2022卷;1-17 *
Efficient implementation of practical swarm optimization algorithm;Zhefu Shi 等;International Journal of Soft Computing, Mathematics and Control(IJSCMC);20131130;第2卷(第4期);1-13 *
System Calls Instrumentation for Intrusion Detection in Embedded Mixed-Criticality Systems;Marine Kadar 等;4th International Workshop on Security and Dependability of Critical Embedded Real-Time Systems(CERTS 2019);20190729;1-13 *
函数调用路径测试用例自动生成的方法研究;沈晴 等;计算机工程与应用;20191118;第56卷(第18期);238-246 *
基于函数级控制流监控的软件防篡改;张贵民 等;计算机应用;20130901;第33卷(第09期);2520-2524 *
改进的SAMPSO的软件测试数据自动生成;魏付强 等;计算机工程与应用;20091111;第45卷(第32期);57-60 *
面向RISC处理器的控制流认证方案;李扬 等;计算机工程;20190125;第45卷(第12期);134-140+146 *

Also Published As

Publication number Publication date
CN114611106A (en) 2022-06-10

Similar Documents

Publication Publication Date Title
Wazid et al. Uniting cyber security and machine learning: Advantages, challenges and future research
Mei et al. Blockchain-enabled privacy-preserving authentication mechanism for transportation CPS with cloud-edge computing
JP2009515480A (en) Digital signature for network encoding
EP3029594B1 (en) System and method for antivirus checking of files based on level of trust of their digital certificates
CN110276198B (en) Embedded variable granularity control flow verification method and system based on probability prediction
Arshad et al. Efficient and scalable integrity verification of data and query results for graph databases
US9264234B2 (en) Secure authentication of identification for computing devices
KR20220010534A (en) Systems and Methods for Non-Parallel Mining on Proof-of-Work Blockchain Networks
CN114611106B (en) Program control flow proving method based on multi-target particle swarm algorithm
Marzougui et al. Post-quantum cryptography in embedded systems
Zhang et al. Diversity-by-design for dependable and secure cyber-physical systems: A survey
Ding et al. An efficient and secure scheme of verifiable computation for intel SGX
Otta et al. Cloud identity and access management solution with blockchain
KR20130116426A (en) Apparatus and method for electronic signature verification
Conti et al. Distributed services attestation in IoT
Cheng Design and Implementation of Cloud Computing Network Security Virtual Computing and Defense Technology
Wang et al. Automated proof for authorization protocols of TPM 2.0 in computational model
Kanagala et al. Effective encryption approach to improving the secure cloud framework through fuzzy-based encrypted cryptography
Lan et al. Cryptanalysis of “Certificateless remote data integrity checking using lattices in cloud storage”
Chang et al. A security protocol for trusted access to cloud environment
Ainapure et al. Adaptive multilevel fuzzy-based authentication framework to mitigate cache side channel attack in cloud computing
Li et al. Backdoor-Resistant Public Data Integrity Verification Scheme based on Smart Contracts
Xu et al. Post Quantum Secure Blockchain-based Federated Learning for Mobile Edge Computing
CN116528239A (en) Internet of things software integrity proving method based on super SIM card
Sagar et al. Survey on Various Cloud Security Approaches

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