KR102266342B1 - 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 - Google Patents
소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 Download PDFInfo
- Publication number
- KR102266342B1 KR102266342B1 KR1020190061810A KR20190061810A KR102266342B1 KR 102266342 B1 KR102266342 B1 KR 102266342B1 KR 1020190061810 A KR1020190061810 A KR 1020190061810A KR 20190061810 A KR20190061810 A KR 20190061810A KR 102266342 B1 KR102266342 B1 KR 102266342B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory data
- memory
- data
- value
- stored
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000006870 function Effects 0.000 claims abstract description 22
- 238000013507 mapping Methods 0.000 claims description 79
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000012795 verification Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
- G06F21/54—Monitoring 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 by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법은 암호화 기능이 주입된 기계어로 상기 메모리 데이터를 암호화하여 상기 메모리 영역에 저장하는 단계 및 복호화 기능이 주입된 기계어로 상기 메모리 영역에서 암호화 된 상기 메모리 데이터를 복호화하여 상기 메모리 데이터의 값으로 지정된 주소로 분기하는 단계를 포함한다.
Description
도 2 및 도 3은 본 발명의 일 실시예에 따른 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 장치를 실행하는 코드의 일 예를 보여주는 도면이다.
도 4는 도 1에 도시된 암호화부에서의 동작을 개략적으로 보여주는 개념도이다.
도 5는 도 1에 도시된 복호화부에서의 동작을 개략적으로 보여주는 개념도이다.
도 6은 도 1에 도시된 암호화부의 세부 블록도이다.
도 7은 도 1에 도시된 암호화부에 의한 메모리 데이터의 암호화 단계를 설명하기 위한 도면이다.
도 8은 도 1에 도시된 복호화부의 세부 블록도이다.
도 9는 도 1에 도시된 복호화부에 의한 메모리 데이터의 복호화 단계를 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법을 보여주는 흐름도이다.
10: 암호화부
30: 복호화부
50: 매핑 테이블
Claims (15)
- 소프트웨어를 실행하는 컴퓨터 프로세서가 상기 소프트웨어 보안을 위해 메모리 영역에 저장되는 데이터인 메모리 데이터를 암호화 및 복호화 하는 방법에 있어서,
암호화 기능이 주입된 기계어로 상기 메모리 데이터를 암호화하여 상기 메모리 영역에 저장하는 단계; 및
복호화 기능이 주입된 기계어로 상기 메모리 영역에서 암호화 된 상기 메모리 데이터를 복호화하여 상기 메모리 데이터의 값으로 지정된 주소로 분기하는 단계를 포함하며,
상기 메모리 데이터를 암호화하여 상기 메모리 영역에 저장하는 단계는,
메모리 데이터의 값 및 메모리 데이터가 저장되는 메모리 영역의 주소 각각에 랜덤 넘버를 매핑하여 저장한 매핑 테이블을 이용하여 상기 메모리 데이터의 값(Td) 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta) 각각의 암호화 키를 생성하는 단계;
상기 메모리 데이터의 값(Td)의 암호화 키 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 암호화 키 간의 배타적 논리합 연산을 통해 상기 메모리 데이터를 암호화하는 단계;
상기 메모리 데이터의 값(Td)의 암호화 키 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 암호화 키 간의 배타적 논리합 연산 결과를 상기 메모리 데이터에 대한 고유 ID로 획득하는 단계; 및
상기 고유 ID를 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)에 저장하는 단계를 포함하는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법. - 제1항에 있어서,
상기 메모리 데이터를 암호화하여 상기 메모리 영역에 저장하는 단계는,
상기 메모리 데이터의 값(Td) 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)를 이용하여 상기 메모리 데이터를 암호화하는 단계를 포함하는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법. - 삭제
- 삭제
- 삭제
- 제1항에 있어서,
상기 메모리 영역에서 암호화 된 상기 메모리 데이터를 복호화하여 상기 메모리 데이터의 값으로 지정된 주소로 분기하는 단계는,
메모리 데이터가 저장되는 메모리 영역의 주소 각각에 랜덤 넘버를 매핑하여 저장한 매핑 테이블을 이용하여 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 복호화 키를 생성하는 단계;
상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 복호화 키 및 암호화 된 상기 메모리 데이터 간의 배타적 논리합 연산을 통해 상기 메모리 데이터의 값(Td)의 암호화 키를 획득하는 단계; 및
상기 메모리 데이터의 값(Td)의 암호화 키를 복호화하여 상기 메모리 데이터의 값(Td)을 획득하는 단계를 포함하는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법. - 제6항에 있어서,
상기 메모리 데이터의 값(Td)의 암호화 키를 복호화하여 상기 메모리 데이터의 값(Td)을 획득하는 단계는,
상기 메모리 데이터의 값에 랜덤 넘버를 매핑하여 저장한 매핑 테이블의 역 매핑 테이블을 이용하여 상기 메모리 데이터의 값(Td)의 암호화 키를 복호화하는 단계를 포함하는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법. - 제1항에 있어서,
상기 메모리 영역에서 암호화 된 상기 메모리 데이터를 복호화하여 상기 메모리 데이터의 값으로 지정된 주소로 분기하는 단계는,
상기 컴퓨터 프로세서의 기계어 명령 단계 중 간접 분기 명령(indirect branch instruction) 단계인 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법. - 제1항, 제2항, 제6항 내지 제8항 중 어느 하나의 항에 따른 메모리 데이터의 암호화 및 복호화 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
- 소프트웨어를 실행하는 컴퓨터 프로세서에 포함되어 상기 소프트웨어 보안을 위해 메모리 영역에 저장되는 데이터인 메모리 데이터를 암호화 및 복호화 하는 장치에 있어서,
암호화 기능이 주입된 기계어로 상기 메모리 데이터를 암호화하여 상기 메모리 영역에 저장하는 암호화부; 및
복호화 기능이 주입된 기계어로 상기 메모리 영역에서 암호화 된 상기 메모리 데이터를 복호화하여 상기 메모리 데이터의 값으로 지정된 주소로 분기하는 복호화부를 포함하며,
메모리 데이터의 값에 랜덤 넘버를 매핑하여 저장한 매핑 테이블, 메모리 데이터가 저장되는 메모리 영역의 주소에 랜덤 넘버를 매핑하여 저장한 매핑 테이블 및 상기 메모리 데이터의 값에 랜덤 넘버를 매핑하여 저장한 매핑 테이블의 역 매핑 테이블로 구성되는 매핑 테이블을 더 포함하고,
상기 암호화부는,
상기 매핑 테이블을 이용하여 상기 메모리 데이터의 값(Td) 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta) 각각의 암호화 키를 생성하는 암호화 키 생성부;
상기 메모리 데이터의 값(Td)의 암호화 키 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 암호화 키 간의 배타적 논리합 연산을 통해 상기 메모리 데이터를 암호화하는 암호화 연산부; 및
상기 메모리 데이터의 값(Td)의 암호화 키 및 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 암호화 키 간의 배타적 논리합 연산 결과를 상기 메모리 데이터에 대한 고유 ID로 하여 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)에 저장하는 저장부를 포함하는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 장치. - 삭제
- 삭제
- 제10항에 있어서,
상기 복호화부는,
상기 매핑 테이블을 이용하여 상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 복호화 키를 생성하는 복호화 키 생성부;
상기 메모리 데이터가 저장되는 메모리 영역의 주소(Ta)의 복호화 키 및 암호화 된 상기 메모리 데이터 간의 배타적 논리합 연산을 통해 상기 메모리 데이터의 값(Td)의 암호화 키를 획득하고, 상기 매핑 테이블을 이용하여 상기 메모리 데이터의 값(Td)의 암호화 키를 복호화하는 복호화 연산부; 및
상기 메모리 데이터의 값(Td)으로 제어 플로우를 변경하는 호출부를 포함하는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 장치. - 제10항에 있어서,
상기 암호화부는,
메모리 데이터의 저장 기능 및 암호화 기능을 갖는 명령어에 의해 실행되는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 장치. - 제10항에 있어서,
상기 복호화부는,
상기 컴퓨터 프로세서의 간접 분기 명령 단계에서 제어 플로우를 변경하는 명령어에 의해 실행되는 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190061810A KR102266342B1 (ko) | 2019-05-27 | 2019-05-27 | 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 |
US16/829,109 US12086278B2 (en) | 2019-05-27 | 2020-03-25 | Method of encoding and decoding memory data for software security, recording medium and apparatus for performing the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190061810A KR102266342B1 (ko) | 2019-05-27 | 2019-05-27 | 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200136142A KR20200136142A (ko) | 2020-12-07 |
KR102266342B1 true KR102266342B1 (ko) | 2021-06-16 |
Family
ID=73550489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190061810A Active KR102266342B1 (ko) | 2019-05-27 | 2019-05-27 | 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US12086278B2 (ko) |
KR (1) | KR102266342B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102421746B1 (ko) * | 2020-12-10 | 2022-07-15 | 한국항공우주연구원 | 메모리에 포함된 보안 데이터 영역의 통합 방법 |
CN112559097B (zh) * | 2020-12-28 | 2021-12-28 | 上海纬百科技有限公司 | 函数调用方法、装置及计算机可读存储介质 |
CN113312327A (zh) * | 2021-05-24 | 2021-08-27 | 何细妹 | 一种适用于移动端的云存储文件共享系统 |
KR102647140B1 (ko) | 2023-11-14 | 2024-03-13 | 주식회사 월드씨엔에스 | IoT 기반 실시간 이상 모니터링 및 진단이 가능한 LED 등기구 장치 및 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006023957A (ja) * | 2004-07-07 | 2006-01-26 | Sony Corp | 半導体集積回路及び情報処理装置 |
JP2007094728A (ja) * | 2005-09-28 | 2007-04-12 | Digital Electronics Corp | 情報処理装置、情報処理システム、プログラムおよび記録媒体 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10320291A (ja) * | 1997-05-16 | 1998-12-04 | Taisei Corp | データ変換装置 |
KR101173761B1 (ko) | 2010-07-06 | 2012-08-20 | 고려대학교 산학협력단 | 프로그램의 외부 공격에 대한 공격 방어 및 탐지를 위한 장치 및 방법 |
CN103984637A (zh) * | 2013-02-07 | 2014-08-13 | 上海芯豪微电子有限公司 | 一种指令处理系统及方法 |
US20160335201A1 (en) * | 2014-01-28 | 2016-11-17 | Hewlett Packard Enterprise Development Lp | Data and instruction set encryption |
FR3047100B1 (fr) * | 2016-01-26 | 2018-03-02 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Methode de chiffrement d'un flot d'instructions et execution d'un flot d'instructions ainsi chiffre. |
FR3060789A1 (fr) * | 2016-12-19 | 2018-06-22 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procede d'execution par un microprocesseur d'un code machine polymorphique d'une fonction predeterminee |
US20200143043A1 (en) * | 2018-11-07 | 2020-05-07 | Raytheon Company | Edge verification and elimination control flow integrity |
US11580234B2 (en) * | 2019-06-29 | 2023-02-14 | Intel Corporation | Implicit integrity for cryptographic computing |
-
2019
- 2019-05-27 KR KR1020190061810A patent/KR102266342B1/ko active Active
-
2020
- 2020-03-25 US US16/829,109 patent/US12086278B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006023957A (ja) * | 2004-07-07 | 2006-01-26 | Sony Corp | 半導体集積回路及び情報処理装置 |
JP2007094728A (ja) * | 2005-09-28 | 2007-04-12 | Digital Electronics Corp | 情報処理装置、情報処理システム、プログラムおよび記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
KR20200136142A (ko) | 2020-12-07 |
US12086278B2 (en) | 2024-09-10 |
US20200380150A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7101761B2 (ja) | コール・パス依存認証 | |
KR102266342B1 (ko) | 소프트웨어 보안을 위한 메모리 데이터의 암호화 및 복호화 방법, 이를 수행하기 위한 기록매체 및 장치 | |
KR101216995B1 (ko) | 인덱스 테이블 기반 코드 암호화 및 복호화 장치 및 그 방법 | |
JP5785762B2 (ja) | 自己修正計算機コードのチェックサム検証のための方法、装置およびコンピュータ・プログラム担体 | |
KR102433011B1 (ko) | Apk 파일 보호 방법, 이를 수행하는 apk 파일 보호 시스템, 및 이를 저장하는 기록매체 | |
KR101687439B1 (ko) | 소프트웨어 무결성을 보장하기위한 프로세서 실행 방법 | |
JP7154365B2 (ja) | ソフトウェアコードをセキュアにするための方法 | |
US8402448B2 (en) | Compiler system and a method of compiling a source code into an encrypted machine language code | |
US9116765B2 (en) | System and method for obfuscating data using instructions as a source of pseudorandom values | |
US11341282B2 (en) | Method for the execution of a binary code of a secure function by a microprocessor | |
US20110202996A1 (en) | Method and apparatus for verifying the integrity of software code during execution and apparatus for generating such software code | |
US10862682B2 (en) | Nonce generation for encryption and decryption | |
KR20160145014A (ko) | 하드웨어-기반 스택 제어 정보 보호 | |
US10120987B2 (en) | Device and method for executing protected iOS software modules | |
JP2024528585A (ja) | 暗号的に検証された命令に基づくソフトウェアのセキュアな実行 | |
US11442738B2 (en) | Method for executing a machine code of a secure function | |
Lin et al. | Control-flow carrying code | |
US11210135B2 (en) | Lightweight dispatcher for program control flow flattening | |
EP3944106A1 (en) | Obfuscating method of protecting code | |
KR102177920B1 (ko) | 원본코드 패킹장치 및 원본코드 패킹방법 | |
AbdelHameed et al. | Portable executable automatic protection using dynamic infection and code redirection | |
Sonnleitner et al. | Indirect Data Representation Via Offset Vectoring: A Code-integrity-driven In-memory Data Regeneration Scheme. | |
Togan et al. | Virtual machine for encrypted code execution | |
CN114266082A (zh) | 防御控制流攻击的装置、方法、处理器、设备及存储介质 | |
Park et al. | Control Flow Hardening with Program Counter Encoding for ARM® Processor Architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20190527 |
|
PA0201 | Request for examination | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200918 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20210323 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20210611 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20210611 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20240604 Start annual number: 4 End annual number: 4 |