KR20250061572A - Device and method for implementing white-box cryptography of ec-kcdsa digital signature suitable for mobile environment - Google Patents
Device and method for implementing white-box cryptography of ec-kcdsa digital signature suitable for mobile environment Download PDFInfo
- Publication number
- KR20250061572A KR20250061572A KR1020230191332A KR20230191332A KR20250061572A KR 20250061572 A KR20250061572 A KR 20250061572A KR 1020230191332 A KR1020230191332 A KR 1020230191332A KR 20230191332 A KR20230191332 A KR 20230191332A KR 20250061572 A KR20250061572 A KR 20250061572A
- Authority
- KR
- South Korea
- Prior art keywords
- signature
- kcdsa
- mobile environment
- generating
- intermediate value
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
- H04L9/3252—Cryptographic 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 involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치 및 방법에 관한 것으로, 상기 장치는 반복되는 라운드 동안 인코딩된 입력을 수신하여 사전 저장된 음함수(Implicit) 방정식을 기초로 인코딩된 출력을 생성하는 제1 라운드 연산부; 상기 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 상기 인코딩된 출력을 생성하는 제2 라운드 연산부; 및 상기 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성하는 서명 생성부;를 포함한다.The present invention relates to a device and method for implementing a whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment, the device including: a first round operation unit which receives an encoded input during repeated rounds and generates an encoded output based on a pre-stored implicit equation; a second round operation unit which generates the encoded output by masking at least one intermediate value in the last round of the repeated rounds; and a signature generation unit which generates a signature by using a masked intermediate value obtained as a result of decoding the encoded output.
Description
본 발명은 화이트박스 암호화 기술에 관한 것으로, 보다 상세하게는 전자서명 생성 시 노출되는 개인키와 논스를 안전하게 인코딩하여 공격자에게 점유된 기기에서 생성한 서명의 무결성을 보장할 수 있는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치 및 방법에 관한 것이다.The present invention relates to whitebox encryption technology, and more specifically, to a whitebox encryption implementation device and method for an EC-KCDSA electronic signature suitable for a mobile environment, which can securely encode a private key and nonce exposed when generating an electronic signature, thereby ensuring the integrity of a signature generated in a device occupied by an attacker.
화이트박스 암호의 설계는 공격자에게 점유된 기기에서도 안전하게 암호기능을 수행할 수 있는 것을 목표로 하고 있다. 이러한 목표를 달성하기 위해 최초 2002년의 Chow AES 화이트박스 대칭키 암호의 설계부터 시작하여 현재까지 수많은 화이트박스 암호 설계가 이루어지고 있다.The design of white-box cryptography aims to perform cryptographic functions securely even on devices that are occupied by attackers. To achieve this goal, numerous white-box cryptography designs have been made since the design of the Chow AES white-box symmetric key cryptography in 2002.
그러나, 기존 Explicit 방정식의 입출력 룩업테이블(Lookup Table)을 활용하는 대칭키 화이트박스 암호 구현은 전부 공격당해 키가 노출되거나 구조적으로 분석이 완료된 상태이다.However, all symmetric key whitebox cryptographic implementations that utilize the input/output lookup table of the existing explicit equation have been attacked and their keys have been exposed or structurally analyzed.
이러한 분석들로 인해 화이트박스 암호 설계의 방향이 최근 전환되고 있으며, 2021년에는 대칭키 화이트박스 암호가 아닌 공개키 화이트박스를 설계 및 분석하는 행사가 CHES 2021에서 개최되기도 했다. 이후, 2022년에는 국외에서 공개키 전자서명인 ECDSA의 화이트박스 암호화를 위해 Explicit 구현 방식이 아닌 Implicit 방정식을 활용하는 논문도 게재되기도 하였다.Due to these analyses, the direction of white-box cryptography design has recently changed, and in 2021, an event to design and analyze public-key white-box cryptography, rather than symmetric-key white-box cryptography, was held at CHES 2021. Afterwards, in 2022, a paper was published abroad that utilized implicit equations rather than explicit implementations for white-box cryptography of ECDSA, a public-key electronic signature.
본 발명의 일 실시예는 전자서명 생성 시 노출되는 개인키와 논스를 안전하게 인코딩하여 공격자에게 점유된 기기에서 생성한 서명의 무결성을 보장할 수 있는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치 및 방법을 제공하고자 한다.One embodiment of the present invention provides a whitebox cryptographic implementation device and method for an EC-KCDSA electronic signature suitable for a mobile environment, which can securely encode a private key and nonce exposed when generating an electronic signature, thereby ensuring the integrity of a signature generated in a device occupied by an attacker.
실시예들 중에서, 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치는 반복되는 라운드 동안 인코딩된 입력을 수신하여 사전 저장된 음함수(Implicit) 방정식을 기초로 인코딩된 출력을 반복 생성하는 제1 라운드 연산부; 상기 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 상기 인코딩된 출력을 생성하는 제2 라운드 연산부; 및 상기 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성하는 서명 생성부;를 포함한다.Among the embodiments, a white-box cryptographic implementation device of an EC-KCDSA electronic signature suitable for a mobile environment includes a first round operation unit which receives an encoded input during repeated rounds and repeatedly generates an encoded output based on a pre-stored implicit equation; a second round operation unit which generates the encoded output by masking at least one intermediate value in a last round of the repeated rounds; and a signature generation unit which generates a signature by using a masked intermediate value obtained as a result of decoding the encoded output.
상기 음함수 방정식 구현은 상기 인코딩된 입력과 상기 인코딩된 출력이 테이블(table)로 구현된 양함수(Explicit) 방정식에 대응되어 구현될 수 있다.The above-mentioned implicit function equation implementation can be implemented in correspondence to an explicit function equation in which the encoded input and the encoded output are implemented as a table.
상기 제1 라운드 연산부는 상기 반복되는 라운드 동안 이전 라운드의 출력을 다음 라운드의 입력으로 전달할 수 있다.The above first round operation unit can transfer the output of the previous round as the input of the next round during the repeated rounds.
상기 제2 라운드 연산부는 서명 생성 과정에 사용되는 개인키와 논스 각각에 마스킹 함수를 적용하여 상기 마스킹된 중간값을 생성할 수 있다.The above second round operation unit can generate the masked intermediate value by applying a masking function to each of the private key and nonce used in the signature generation process.
상기 제2 라운드 연산부는 상기 마스킹 함수의 입출력 파라미터의 개수를 가변적으로 적용하여 함수의 안전성을 조절할 수 있다.The above second round operation unit can adjust the safety of the function by variably applying the number of input/output parameters of the masking function.
상기 서명 생성부는 상기 인코딩된 출력으로부터 획득된 중간값에 해시 함수를 적용하여 상기 서명의 제1 요소를 생성할 수 있다.The above signature generation unit can generate a first element of the signature by applying a hash function to an intermediate value obtained from the encoded output.
상기 서명 생성부는 상기 음함수 방정식에 대응되는 양함수 방정식을 이용하여 상기 마스킹된 중간값의 마스킹을 제거하면서 상기 서명의 제2 요소를 생성할 수 있다.The above signature generating unit can generate the second element of the signature by removing the masking of the masked intermediate value using an ambiguous function equation corresponding to the negative function equation.
상기 장치는 서명 생성 과정의 개인키를 기초로 생성된 공개키를 이용하여 상기 서명을 검증하는 서명 검증부;를 더 포함할 수 있다.The above device may further include a signature verification unit that verifies the signature using a public key generated based on a private key in a signature generation process.
실시예들 중에서, 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법은 제1 라운드 연산부를 통해, 반복되는 라운드 동안 인코딩된 입력을 수신하여 사전 저장된 음함수(Implicit) 방정식을 기초로 인코딩된 출력을 반복 생성하는 단계; 제2 라운드 연산부를 통해, 상기 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 상기 인코딩된 출력을 생성하는 단계; 및 서명 생성부를 통해, 상기 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성하는 단계;를 포함한다.Among the embodiments, a method for implementing a whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment includes: a step of repeatedly generating an encoded output based on a pre-stored implicit equation by receiving an encoded input during repeated rounds through a first round operation unit; a step of generating the encoded output by masking at least one intermediate value in a last round of the repeated rounds through a second round operation unit; and a step of generating a signature by using a masked intermediate value obtained as a result of decoding the encoded output through a signature generation unit.
상기 인코딩된 출력을 생성하는 단계는 서명 생성 과정에 사용되는 개인키와 논스 각각에 마스킹 함수를 적용하여 상기 마스킹된 중간값을 생성하는 단계를 포함할 수 있다.The step of generating the encoded output may include a step of generating the masked intermediate value by applying a masking function to each of the private key and nonce used in the signature generation process.
상기 서명을 생성하는 단계는 상기 인코딩된 출력으로부터 획득된 중간값에 해시 함수를 적용하여 상기 서명의 제1 요소를 생성하는 단계를 포함할 수 있다.The step of generating the signature may include the step of generating a first element of the signature by applying a hash function to an intermediate value obtained from the encoded output.
상기 서명을 생성하는 단계는 상기 음함수 방정식에 대응되는 양함수 방정식을 이용하여 상기 마스킹된 중간값의 마스킹을 제거하면서 상기 서명의 제2 요소를 생성하는 단계를 포함할 수 있다.The step of generating the signature may include the step of generating a second element of the signature while removing the masking of the masked intermediate value using an ambiguous equation corresponding to the implicit equation.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a specific embodiment must include all or only the following effects, and thus the scope of the disclosed technology should not be construed as being limited thereby.
본 발명의 일 실시예에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치 및 방법은 전자서명 생성 시 노출되는 개인키와 논스를 안전하게 인코딩하여 공격자에게 점유된 기기에서 생성한 서명의 무결성을 보장할 수 있다.A device and method for implementing a whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment according to one embodiment of the present invention can securely encode a private key and a nonce exposed when generating an electronic signature, thereby ensuring the integrity of a signature generated on a device occupied by an attacker.
도 1은 본 발명에 따른 화이트박스 암호 전자서명 시스템을 설명하는 도면이다.
도 2는 도 1의 암호화 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 암호화 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법을 설명하는 순서도이다.
도 5는 화이트박스 구현을 적용하기 위한 논스의 생성과정을 설명하는 도면이다.
도 6은 본 발명에 따른 음함수 방정식 구현을 적용한 화이트박스 전자서명 생성 과정을 설명하는 도면이다.
도 7은 Explicit과 Implicit 방식의 차이를 설명하는 도면이다.FIG. 1 is a drawing illustrating a white box cryptographic electronic signature system according to the present invention.
Figure 2 is a drawing explaining the system configuration of the encryption device of Figure 1.
Figure 3 is a drawing explaining the functional configuration of the encryption device of Figure 1.
FIG. 4 is a flowchart illustrating a whitebox encryption implementation method of an EC-KCDSA electronic signature suitable for a mobile environment according to the present invention.
Figure 5 is a diagram explaining the process of generating a nonce for applying a whitebox implementation.
FIG. 6 is a drawing explaining a white-box electronic signature generation process using an implicit function equation implementation according to the present invention.
Figure 7 is a diagram explaining the difference between Explicit and Implicit methods.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is only an embodiment for structural and functional explanation, so the scope of the rights of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiments can be variously modified and can have various forms, the scope of the rights of the present invention should be understood to include equivalents that can realize the technical idea. In addition, the purpose or effect presented in the present invention does not mean that a specific embodiment must include all of them or only such effects, so the scope of the rights of the present invention should not be understood as being limited thereby.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meanings of the terms described in this application should be understood as follows.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first", "second", etc. are intended to distinguish one component from another, and the scope of the rights should not be limited by these terms. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When it is said that a component is "connected" to another component, it should be understood that it may be directly connected to that other component, but there may also be other components in between. On the other hand, when it is said that a component is "directly connected" to another component, it should be understood that there are no other components in between. Meanwhile, other expressions that describe the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to", should be interpreted similarly.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.A singular expression should be understood to include the plural expression unless the context clearly indicates otherwise, and terms such as "comprises" or "have" should be understood to specify the presence of a feature, number, step, operation, component, part, or combination thereof, but not to exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identifiers (e.g., a, b, c, etc.) are used for convenience of explanation and do not describe the order of each step, and each step may occur in a different order than stated unless the context clearly indicates a specific order. That is, each step may occur in the same order as stated, may be performed substantially simultaneously, or may be performed in the opposite order.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be implemented as a computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all kinds of recording devices that store data that can be read by a computer system. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. In addition, the computer-readable recording medium can be distributed over network-connected computer systems, so that the computer-readable code can be stored and executed in a distributed manner.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.All terms used herein, unless otherwise defined, have the same meaning as commonly understood by a person of ordinary skill in the art to which the present invention belongs. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the contextual meaning of the relevant art, and shall not be interpreted as having an ideal or overly formal meaning unless explicitly defined in this application.
도 1은 본 발명에 따른 화이트박스 암호 전자서명 시스템을 설명하는 도면이다.FIG. 1 is a drawing illustrating a white box cryptographic electronic signature system according to the present invention.
도 1을 참조하면, 화이트박스 암호 전자서명 시스템(100)은 사용자 단말(110), 암호화 장치(130) 및 데이터베이스(150)를 포함할 수 있다.Referring to FIG. 1, a white box cryptographic electronic signature system (100) may include a user terminal (110), an encryption device (130), and a database (150).
사용자 단말(110)은 사용자에 의해 운용되는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC, 모바일 단말 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 암호화 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 암호화 장치(130)와 동시에 연결될 수 있다.The user terminal (110) may correspond to a computing device operated by a user, and may be implemented as a smart phone, a laptop, or a computer, but is not necessarily limited thereto, and may also be implemented as various devices such as a tablet PC or a mobile terminal. The user terminal (110) may be connected to the encryption device (130) through a network, and a plurality of user terminals (110) may be connected to the encryption device (130) simultaneously.
또한, 사용자 단말(110)은 암호화 장치(130)에서 제공하는 안전한 화이트박스 암호화 기능을 사용할 수 있으며, 필요에 따라 암호화 장치(130)를 독립적인 모듈로서 포함하여 구현될 수도 있다. 예를 들어, 모바일 환경의 사용자 단말(110) 상에서 전자서명을 생성하는 경우 암호화 장치(130)를 통해 안전한 전자서명을 생성할 수 있다.In addition, the user terminal (110) can use the secure whitebox encryption function provided by the encryption device (130), and the encryption device (130) can be implemented as an independent module as needed. For example, when an electronic signature is created on a user terminal (110) in a mobile environment, a secure electronic signature can be created through the encryption device (130).
암호화 장치(130)는 인코딩된 입력을 수신하여 화이트박스 암호화 과정을 통해 서명을 생성하는 컴퓨터 또는 서버로 구현될 수 있다. 여기에서는 설명의 편의를 위하여 암호화 장치(130)를 독립된 장치로서 설명하지만, 반드시 이에 한정되지 않고, 다양한 환경(특히, 경량 환경)에 적용 가능하도록 구현될 수 있음은 물론이다. 예를 들어, 암호화 장치(130)는 하나의 암호화 모듈로 구현된 결과 다양한 모바일 단말에 포함되어 본 발명에 따른 EC-KCDSA 전자서명의 화이트박스 암호 구현 과정을 수행할 수 있다.The encryption device (130) may be implemented as a computer or server that receives an encoded input and generates a signature through a white-box encryption process. Here, for convenience of explanation, the encryption device (130) is described as an independent device, but it is not necessarily limited thereto and may be implemented so as to be applicable to various environments (particularly, lightweight environments). For example, the encryption device (130) may be implemented as a single encryption module and may be included in various mobile terminals to perform the white-box encryption implementation process of the EC-KCDSA electronic signature according to the present invention.
한편, 화이트박스 암호는 데이터 암호화에 사용되는 암호키를 외부로부터 보호하는 기술에 해당할 수 있고, 메모리 덤프(dump)나 리버싱(reversing) 등 강력한 공격자 환경에서도 안전한 구현 방법에 해당할 수 있다. 특히, 암호화 장치(130)는 기존의 EC-KCDSA 전자서명의 화이트박스 암호화를 위하여 Explicit 화이트박스 룩업테이블 저장 방식이 아닌 Implicit 방정식 자체를 저장하는 방식을 구현할 수 있으며, 이를 통해 Explicit 방식의 화이트박스 구현을 적용한 EC-KCDSA보다 경량 환경에 적합하고 효율적인 전자서명 기술을 제공할 수 있다.Meanwhile, whitebox cryptography can correspond to a technology for protecting an encryption key used for data encryption from the outside, and can correspond to a safe implementation method even in a strong attacker environment such as a memory dump or reversing. In particular, the encryption device (130) can implement a method of storing the Implicit equation itself rather than the Explicit whitebox lookup table storage method for the whitebox encryption of the existing EC-KCDSA electronic signature, and through this, it can provide an electronic signature technology that is more suitable for a lightweight environment and more efficient than EC-KCDSA that applies the Explicit whitebox implementation.
일 실시예에서, 암호화 장치(130)는 인코딩 기법을 타원곡선 addition Implicit 방정식 구현에 적용하여 Naive한 개인키(d)와 논스(k) 값을 숨길 수 있다. 암호화 장치(130)는 Implicit 방식을 통해 타원곡선 addition에서 사용되는 높은 차원의 modulo 연산을 낮은 차원으로 낮출 수 있어 계산량을 줄일 수 있다. 또한, 암호화 장치(130)는 사용자 단말(110)과 블루투스, WiFi, 통신망 등을 통해 무선으로 연결될 수 있고, 네트워크를 통해 사용자 단말(110)과 데이터를 주고받을 수 있다.In one embodiment, the encryption device (130) can hide the naive private key (d) and nonce (k) value by applying the encoding technique to the implementation of the elliptic curve addition Implicit equation. The encryption device (130) can reduce the high-dimensional modulo operation used in the elliptic curve addition to a low-dimensional one through the Implicit method, thereby reducing the amount of calculation. In addition, the encryption device (130) can be wirelessly connected to the user terminal (110) through Bluetooth, WiFi, a communication network, etc., and can exchange data with the user terminal (110) through the network.
일 실시예에서, 암호화 장치(130)는 데이터베이스(150)와 연동하여 EC-KCDSA 전자서명의 화이트박스 암호 구현 과정에서 필요한 정보를 저장할 수 있다. 한편, 암호화 장치(130)는 도 1과 달리, 데이터베이스(150)를 내부에 포함하여 구현될 수 있고, 사용자 단말(110)의 내부에 포함되어 동작하는 형태로 구현될 수 있다. 또한, 암호화 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.In one embodiment, the encryption device (130) may be linked with the database (150) to store information required in the process of implementing the white box cryptography of the EC-KCDSA electronic signature. Meanwhile, unlike FIG. 1, the encryption device (130) may be implemented by including the database (150) inside, and may be implemented in a form that is included and operates inside the user terminal (110). In addition, the encryption device (130) may be implemented by including a processor, a memory, a user input/output unit, and a network input/output unit, which will be described in more detail in FIG. 2.
데이터베이스(150)는 본 발명에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(150)는 화이트박스 연산에 사용되는 테이블 정보를 저장하거나 화이트박스 암호화 구현을 위한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 암호화 장치(130)가 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 과정에서 다양한 형태로 수집 또는 가공한 정보들을 저장할 수 있다.The database (150) may correspond to a storage device that stores various information required in the process of implementing whitebox encryption of an EC-KCDSA electronic signature suitable for a mobile environment according to the present invention. The database (150) may store table information used in whitebox operations or information for implementing whitebox encryption, but is not necessarily limited thereto, and may store information collected or processed in various forms in the process of implementing whitebox encryption of an EC-KCDSA electronic signature suitable for a mobile environment by the encryption device (130).
도 2는 도 1의 암호화 장치의 시스템 구성을 설명하는 도면이다.Figure 2 is a drawing explaining the system configuration of the encryption device of Figure 1.
도 2를 참조하면, 암호화 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함할 수 있다.Referring to FIG. 2, the encryption device (130) may include a processor (210), a memory (230), a user input/output unit (250), and a network input/output unit (270).
프로세서(210)는 본 발명의 실시예에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 프로시저를 실행할 수 있고, 이러한 과정에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄 할 수 있다. 프로세서(210)는 암호화 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 암호화 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor (210) can execute a whitebox cryptography implementation procedure of an EC-KCDSA electronic signature suitable for a mobile environment according to an embodiment of the present invention, manage a memory (230) that is read or written in the process, and schedule a synchronization time between a volatile memory and a non-volatile memory in the memory (230). The processor (210) can control the overall operation of the encryption device (130), and is electrically connected to the memory (230), the user input/output unit (250), and the network input/output unit (270) to control the data flow therebetween. The processor (210) can be implemented as a CPU (Central Processing Unit) of the encryption device (130).
메모리(230)는 SSD(Solid State Disk) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 암호화 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다. 또한, 메모리(230)는 전기적으로 연결된 프로세서(210)에 의해 실행됨으로써 본 발명에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법을 실행하는 명령들의 집합을 저장할 수 있다.The memory (230) may include an auxiliary memory device implemented as a non-volatile memory such as an SSD (Solid State Disk) or an HDD (Hard Disk Drive) and used to store all data required for the encryption device (130), and may include a main memory device implemented as a volatile memory such as a RAM (Random Access Memory). In addition, the memory (230) may store a set of commands for executing a white box encryption implementation method of an EC-KCDSA electronic signature suitable for a mobile environment according to the present invention by being executed by an electrically connected processor (210).
사용자 입출력부(250)은 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함하고, 예를 들어, 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치 스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)은 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 암호화 장치(130)는 독립적인 서버로서 수행될 수 있다.The user input/output unit (250) includes an environment for receiving user input and an environment for outputting specific information to the user, and may include, for example, an input device including an adapter such as a touch pad, a touch screen, a visual keyboard, or a pointing device, and an output device including an adapter such as a monitor or a touch screen. In one embodiment, the user input/output unit (250) may correspond to a computing device connected via a remote connection, in which case the encryption device (130) may be performed as an independent server.
네트워크 입출력부(270)은 네트워크를 통해 사용자 단말(110)과 연결되기 위한 통신 환경을 제공하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다. 또한, 네트워크 입출력부(270)는 데이터의 무선 전송을 위해 WiFi, 블루투스 등의 근거리 통신 기능이나 4G 이상의 무선 통신 기능을 제공하도록 구현될 수 있다.The network input/output unit (270) provides a communication environment for connecting to a user terminal (110) via a network, and may include, for example, an adapter for communication such as a LAN (Local Area Network), a MAN (Metropolitan Area Network), a WAN (Wide Area Network), and a VAN (Value Added Network). In addition, the network input/output unit (270) may be implemented to provide a short-distance communication function such as WiFi or Bluetooth, or a wireless communication function of 4G or higher for wireless transmission of data.
다만, 본 발명의 실시예에 따른 암호화 장치(130)가 위의 시스템 구성들을 동시에 모두 포함해야 하는 것은 아니며, 각각의 실시예에 따라 위의 시스템 구성들 중 일부는 생략될 수 있고, 상기의 시스템 구성들 중 일부 또는 전부를 선택적으로 포함하여 구현될 수도 있다.However, the encryption device (130) according to an embodiment of the present invention does not have to include all of the above system configurations at the same time, and some of the above system configurations may be omitted depending on each embodiment, and some or all of the above system configurations may be selectively included and implemented.
도 3은 도 1의 암호화 장치의 기능적 구성을 설명하는 도면이다.Figure 3 is a drawing explaining the functional configuration of the encryption device of Figure 1.
도 3을 참조하면, 암호화 장치(130)는 본 발명에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법을 수행할 수 있다. 이를 위하여, 암호화 장치(130)는 제1 라운드 연산부(310), 제2 라운드 연산부(330), 서명 생성부(350), 서명 검증부(370) 및 제어부(도 3에 미도시함)를 포함할 수 있다.Referring to FIG. 3, the encryption device (130) can perform a white box cryptography implementation method of an EC-KCDSA electronic signature suitable for a mobile environment according to the present invention. To this end, the encryption device (130) can include a first round operation unit (310), a second round operation unit (330), a signature generation unit (350), a signature verification unit (370), and a control unit (not shown in FIG. 3).
다만, 본 발명의 실시예에 따른 암호화 장치(130)가 상기의 기능적 구성들을 동시에 모두 포함해야 하는 것은 아니며, 각각의 실시예에 따라 상기의 구성들 중 일부를 생략하거나, 상기의 구성들 중 일부 또는 전부를 선택적으로 포함하여 구현될 수도 있다. 또한, 암호화 장치(130)는 필요에 따라 상기의 구성들 중 일부를 선택적으로 포함하는 독립된 장치들로 구현될 수 있으며, 각 장치들 간의 연동을 통해 본 발명에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법을 수행할 수 있다. 이하, 각 구성들의 동작을 구체적으로 설명한다.However, the encryption device (130) according to the embodiment of the present invention does not have to include all of the above functional configurations at the same time, and may be implemented by omitting some of the above configurations or selectively including some or all of the above configurations depending on each embodiment. In addition, the encryption device (130) may be implemented as independent devices that selectively include some of the above configurations as needed, and the white box encryption implementation method of the EC-KCDSA electronic signature suitable for the mobile environment according to the present invention can be performed through linkage between each device. Hereinafter, the operation of each configuration will be described in detail.
제1 라운드 연산부(310)는 반복되는 라운드 동안 인코딩된 입력을 수신하여 사전 저장된 음함수(Implicit) 방정식을 기초로 인코딩된 출력을 반복 생성할 수 있다. 즉, 제1 라운드 연산부(310)는 EC-KCDSA 과정 중 논스 k와 개인키 d를 공격자로부터 감추기 위하여 라운드 별로 음함수 방정식을 풀이하는 동작을 수행할 수 있다. 이를 위하여, 제1 라운드 연산부(310)는 인코딩이 포함된 방정식 형태를 사전에 저장할 수 있으며, 라운드 별로 인코딩된 입력에 따라 방정식을 풀이한 후 인코딩된 출력을 생성할 수 있다.The first round operation unit (310) can receive encoded inputs during repeated rounds and repeatedly generate encoded outputs based on pre-stored implicit equations. That is, the first round operation unit (310) can perform an operation of solving implicit equations for each round in order to hide the nonce k and the private key d from an attacker during the EC-KCDSA process. To this end, the first round operation unit (310) can store an equation form including encoding in advance, and can generate encoded outputs after solving the equations according to the encoded inputs for each round.
여기에서, 음함수 방정식 구현은 인코딩된 입력과 인코딩된 출력이 테이블(table)로 구현된 양함수(Explicit) 방정식에 대응되어 구현될 수 있다. 예를 들어, 는 Explicit 함수 의 Implicit 함수 형태에 해당할 수 있다(도 6 참조). 또한, Explicit과 Implicit 방식의 차이에 대해서는 도 7에서 보다 자세히 설명한다.Here, the implicit equation implementation can be implemented corresponding to the explicit equation where the encoded input and encoded output are implemented as a table. For example, is an Explicit function It can correspond to the Implicit function form (see Fig. 6). In addition, the difference between the Explicit and Implicit methods is explained in more detail in Fig. 7.
일 실시예에서, 제1 라운드 연산부(310)는 반복되는 라운드 동안 이전 라운드의 출력을 다음 라운드의 입력으로 전달할 수 있다. 예를 들어, 1라운드부터 β라운드까지 각 라운드의 입력은 이전 라운드의 출력에 해당할 수 있다. 이전 라운드의 입력과 출력이 각각 xβ-1, yβ-1이고 다음 라운드의 입력과 출력이 각각 xβ, yβ인 경우 xβ = yβ-1에 해당할 수 있다.In one embodiment, the first round operation unit (310) may transfer the output of the previous round to the input of the next round during repeated rounds. For example, the input of each round from round 1 to round β may correspond to the output of the previous round. If the input and output of the previous round are x β-1 and y β-1 , respectively, and the input and output of the next round are x β and y β , respectively, then x β = y β-1 may correspond.
제2 라운드 연산부(330)는 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 인코딩된 출력을 생성할 수 있다. 즉, 제2 라운드 연산부(330)는 마지막 라운드 종료 후 인코딩된 출력을 Explicit하게 해제하고 서명을 생성하는 과정에서 공격자에게 중요한 중간값이 노출되지 않도록 마스킹(Masking) 연산을 수행할 수 있다.The second round operation unit (330) can generate an encoded output by masking at least one intermediate value in the last round of the repeated rounds. That is, the second round operation unit (330) can perform a masking operation to explicitly release the encoded output after the last round ends and prevent important intermediate values from being exposed to an attacker during the process of generating a signature.
일 실시예에서, 제2 라운드 연산부(330)는 서명 생성 과정에 사용되는 개인키와 논스 각각에 마스킹 함수를 적용하여 마스킹된 중간값을 생성할 수 있다. 예를 들어, 제2 라운드 연산부(330)는 나이브(Naive)한 개인키 d와 논스 k에 대해 마스킹 함수 C를 적용함으로써 C(k)=k*, C(d)=d*을 각각 생성할 수 있다.In one embodiment, the second round operation unit (330) may apply a masking function to each of the private key and nonce used in the signature generation process to generate a masked intermediate value. For example, the second round operation unit (330) may apply a masking function C to a naive private key d and a nonce k to generate C(k)=k* and C(d)=d*, respectively.
일 실시예에서, 제2 라운드 연산부(330)는 마스킹 함수의 입출력 파라미터의 개수를 가변적으로 적용하여 함수의 안전성을 조절할 수 있다. 제2 라운드 연산부(330)는 마스킹 함수의 안전성을 강화하기 위하여 파라미터를 추가할 수 있으며, 이에 따라 화이트박스 암호화를 위한 음함수 방정식에 적용되는 T, M 및 A의 크기도 유동적으로 조절될 수 있다. 예를 들어, n개의 입출력 파라미터가 적용된 경우, M 및 A는 n×n 크기의 매트릭스(Matrix)에 해당할 수 있다.In one embodiment, the second round operation unit (330) can adjust the security of the function by variably applying the number of input/output parameters of the masking function. The second round operation unit (330) can add parameters to enhance the security of the masking function, and accordingly, the sizes of T, M, and A applied to the implicit function equation for whitebox encryption can also be flexibly adjusted. For example, when n input/output parameters are applied, M and A can correspond to a matrix of n×n size.
서명 생성부(350)는 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성할 수 있다. 예를 들어, 인코딩된 출력의 인코딩을 해제하는 경우, 서명 생성 과정에서 사용되는 변수들로서 Rx, Ry, k*, m, d*, etc 등과 같이 마스킹된 변수들과 공개된 변수들이 획득될 수 있다.The signature generation unit (350) can generate a signature using a masked intermediate value obtained as a result of decoding an encoded output. For example, when decoding an encoded output, masked variables and public variables such as R x , R y , k*, m, d*, etc. used in the signature generation process can be obtained.
일 실시예에서, 서명 생성부(350)는 인코딩된 출력으로부터 획득된 중간값에 해시 함수를 적용하여 서명의 제1 요소를 생성할 수 있다. 예를 들어, 서명 생성부(350)는 마스킹 제거없이 공개된 값을 이용하여 서명 r을 제1 요소로서 생성할 수 있으며, 서명 r = H(Rx mod p)로부터 생성될 수 있다.In one embodiment, the signature generation unit (350) can generate a first element of the signature by applying a hash function to an intermediate value obtained from the encoded output. For example, the signature generation unit (350) can generate a signature r as the first element using a public value without masking removal, and can be generated from the signature r = H(R x mod p).
일 실시예에서, 서명 생성부(350)는 음함수 방정식에 대응되는 양함수 방정식을 이용하여 마스킹된 중간값의 마스킹을 제거하면서 서명의 제2 요소를 생성할 수 있다. 즉, 서명 생성부(350)는 함수 f를 이용하여 마스킹된 중간값으로 d*과 k*, 그리고 추가 파라미터를 입력받을 수 있으며, 마스킹된 중간값의 마스킹을 제거하면서 서명 s를 제2 요소로서 Explicit하게 생성할 수 있다. 이를 통해, 서명 생성부(350)는 공격자에게 나이브(Naive)한 논스 k와 개인키 d를 노출시키지 않고 서명을 생성할 수 있다.In one embodiment, the signature generation unit (350) can generate the second element of the signature while removing the masking of the masked intermediate value using an ambiguous function equation corresponding to an implicit function equation. That is, the signature generation unit (350) can receive d* and k* as masked intermediate values and additional parameters using a function f, and can explicitly generate the signature s as the second element while removing the masking of the masked intermediate value. Through this, the signature generation unit (350) can generate a signature without exposing the naive nonce k and the private key d to an attacker.
서명 검증부(370)는 서명 생성 과정의 개인키를 기초로 생성된 공개키를 이용하여 서명 생성 과정을 통해 생성된 서명을 검증할 수 있다. 즉, 서명 검증부(370)는 개인키를 이용하여 생성되는 전자서명에 대해 공개키를 통해 검증 과정을 수행할 수 있다. 예를 들어, 서명 검증부(370)는 메시지에 전자서명이 이루어지는 경우 개인키 d와 연관된 사용자에 의해 정상적인 서명이 이루어진 것인지를 확인할 수 있으며, 검증 결과에 따라 해당 서명의 승인 또는 거절을 결정할 수 있다.The signature verification unit (370) can verify the signature generated through the signature generation process using the public key generated based on the private key of the signature generation process. That is, the signature verification unit (370) can perform a verification process using the public key for the electronic signature generated using the private key. For example, when an electronic signature is made on a message, the signature verification unit (370) can verify whether the signature is normal and signed by a user associated with the private key d, and can decide to approve or reject the signature based on the verification result.
제어부(도 3에 미도시함)는 암호화 장치(130)의 전체적인 동작을 제어하고, 제1 라운드 연산부(310), 제2 라운드 연산부(330), 서명 생성부(350) 및 서명 검증부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit (not shown in FIG. 3) controls the overall operation of the encryption device (130) and can manage the control flow or data flow between the first round operation unit (310), the second round operation unit (330), the signature generation unit (350), and the signature verification unit (370).
도 4는 본 발명에 따른 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법을 설명하는 순서도이다.FIG. 4 is a flowchart illustrating a whitebox encryption implementation method of an EC-KCDSA electronic signature suitable for a mobile environment according to the present invention.
도 4를 참조하면, 암호화 장치(130)는 인코딩된 입력을 수신할 수 있다(S410). 암호화 장치(130)는 제1 라운드 연산부(310)를 통해 반복되는 라운드 동안 인코딩된 입력을 수신하여 사전 저장된 음함수(Implicit) 방정식을 기초로 인코딩된 출력을 반복 생성할 수 있다(S430). 예를 들어, 제1 라운드 연산부(310)에서는 1 라운드부터 β-1 라운드까지 반복 수행될 수 있다.Referring to FIG. 4, the encryption device (130) can receive an encoded input (S410). The encryption device (130) can receive an encoded input during repeated rounds through the first round operation unit (310) and repeatedly generate an encoded output based on a pre-stored implicit equation (S430). For example, the first round operation unit (310) can be repeatedly performed from the 1st round to the β-1 round.
또한, 암호화 장치(130)는 제2 라운드 연산부(330)를 통해 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 인코딩된 출력을 생성할 수 있다(S450). 예를 들어, 제2 라운드 연산부(330)에서는 1 라운드부터 β 라운드가 수행될 수 있다. 마지막으로, 암호화 장치(130)는 서명 생성부(350)를 통해 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성할 수 있다(S470, S490).In addition, the encryption device (130) can generate an encoded output by masking at least one intermediate value in the last round of the repeated rounds through the second round operation unit (330) (S450). For example, β rounds can be performed from the first round in the second round operation unit (330). Finally, the encryption device (130) can generate a signature by using the masked intermediate value obtained as a result of decoding the encoded output through the signature generation unit (350) (S470, S490).
도 5는 화이트박스 구현을 적용하기 위한 논스의 생성과정을 설명하는 도면이다.Figure 5 is a diagram explaining the process of generating a nonce for applying a whitebox implementation.
도 5를 참조하면, 기존의 EC-KCDSA의 경우, 서명 r 및 s를 생성하기 위하여 파라미터 결정 및 키 생성과 kG 생성 과정이 수행될 수 있다. 구체적으로, EC-KCDSA의 키 생성, kG 생성 및 서명 r, s 생성 과정은 다음과 같이 표현될 수 있다.Referring to Fig. 5, in the case of the existing EC-KCDSA, parameter determination and key generation and kG generation processes can be performed to generate signatures r and s. Specifically, the key generation, kG generation, and signature r, s generation processes of EC-KCDSA can be expressed as follows.
1) 키 생성 과정은 개인키 (by 난수발생기)와, 공개키 의 생성 과정을 포함하며, G는 기본점(Base point)이고 p는 소수이며, n은 위수이고, 는 Q의 x좌표, 는 Q의 y좌표이다.1) The key generation process is a private key (by random number generator) and public key It includes the generation process, where G is a base point, p is a prime number, and n is an order. is the x-coordinate of Q, is the y-coordinate of Q.
2) kG 생성 과정은 논스 (by 난수발생기)와 스칼라 곱 의 생성 과정을 포함하며, 는 의 x좌표 값이고, 는 의 y좌표 값이다.2) The kG generation process is nonsense (by random number generator) and scalar product Includes the creation process of Is is the x-coordinate value, Is is the y-coordinate value.
3) 서명 생성 과정은 , 의 생성 과정을 포함하며, H는 해시 함수이고, 이며, L은 해시 블록 입력 바이트이고, M은 메시지이다.3) The signature creation process , It includes the generation process, where H is a hash function, , L is the hash block input bytes, and M is the message.
즉, 기존의 EC-KCDSA는 서명 생성에 사용되는 논스(k)를 암호학적으로 안전한 난수발생기(RNG, Random Number Generator)를 통해 생성할 수 있다. 그러나, 화이트박스 공격자는 생성된 난수를 메모리에서 획득할 수 있기 때문에 외부 난수발생기를 사용하는 것은 취약할 수 있다. 따라서, 본 발명은 기존의 EC-KCDSA의 k 생성 과정을 서명 생성에 사용되는 공개된 해시 값 v(=, n-bit 크기)에 의해 결정론적(deterministic)으로 결정되도록 변경할 수 있다.That is, the existing EC-KCDSA can generate the nonce (k) used for signature generation through a cryptographically secure random number generator (RNG). However, since a whitebox attacker can obtain the generated random number from memory, using an external random number generator can be vulnerable. Therefore, the present invention improves the k generation process of the existing EC-KCDSA by using the public hash value v(=) used for signature generation. , can be changed to be deterministically determined by a size (n-bit).
구체적으로, 생성은 개의 라운드 간 를 합산하여 생성될 수 있다. 이를 위하여, 사전에 개의 를 RNG로 생성할 수 있고(), 대응되는 도 계산하여 배열로 저장할 수 있다. 이때, 를 개로 분할한 각각의 u-bit의 10진수 값(=value)에 따라 가 결정될 수 있으며, 선택된 를 개의 라운드 과정에서 합산하는 경우 논스 k가 생성될 수 있다. 이때, 이고, value는 u-bit의 10진수 형태의 값이다. 도 5의 경우, 결정론적(deterministic) 생성 과정을 도시한 것으로, 와 의 값을 조정해 를 생성하기 위한 필요한 메모리와 알고리즘 속도를 유동적으로 조정할 수 있다.Specifically, Creation is Between the dog's rounds can be generated by adding them up. For this, in advance, doggy can be generated with RNG ( ), corresponding You can also calculate it and store it in an array. At this time, cast According to the decimal value (=value) of each u-bit divided into can be determined and selected cast A nonce k can be generated when summing over the course of a dog's round. At this time, , and value is the decimal value of u-bit. In the case of Fig. 5, deterministic This illustrates the creation process. and Adjust the value of The memory required to generate the algorithm and the speed can be dynamically adjusted.
도 6은 본 발명에 따른 음함수 방정식 구현을 적용한 화이트박스 전자서명 생성 과정을 설명하는 도면이다.FIG. 6 is a drawing explaining a white-box electronic signature generation process using an implicit function equation implementation according to the present invention.
도 6을 참조하면, 본 발명에 따른 EC-KCDSA의 Implicit 화이트박스 구현 동작 과정은 인코딩된 입력 수신, Implicit 1~β-1 라운드, Implicit β 라운드, Explicit β+1 라운드 및 서명 생성으로 진행될 수 있다.Referring to FIG. 6, the operation process of the Implicit whitebox implementation of EC-KCDSA according to the present invention can proceed with encoded input reception, Implicit 1 to β-1 rounds, Implicit β rounds, Explicit β+1 rounds, and signature generation.
여기에서, 는 랜덤 선형 변환 매트릭스(Random linear transformation matrix)에 해당할 수 있으며, 음함수 방정식에 적용되어 공격자의 분석 복잡도를 증가시킬 수 있다. 또한, 은 의 인코딩을 해제하는 랜덤 아핀(Random Affine) 변환이고, 는 에 인코딩을 적용하는 랜덤 아핀 변환이다.Here, may correspond to a random linear transformation matrix and may be applied to implicit equations to increase the attacker's analysis complexity. In addition, silver is a random affine transformation that decode , Is is a random affine transformation that applies encoding to .
구체적으로, 인코딩이 적용된 음함수 방정식의 연산(modulo 덧셈 및 곱셈) 과정은 각 라운드의 k 및 d 중간값들이 메모리에 노출되지 않도록 할 수 있으며, 입출력 값도 인코딩된 값이므로 공격자에게 노출되지 않을 수 있다. 또한, 해당 과정은 다음의 수학식 1과 같이 표현될 수 있다.Specifically, the operation process (modulo addition and multiplication) of the implicit equation to which the encoding is applied can prevent the intermediate values of k and d of each round from being exposed to the memory, and the input/output values are also encoded values, so they cannot be exposed to the attacker. In addition, the process can be expressed as the following mathematical expression 1.
[수학식 1][Mathematical Formula 1]
여기에서, i번째 라운드의 중간값은 및 이고, i라운드 출력 인코딩은 이다.Here, the median of the i-th round is and , and the i-round output encoding is am.
또한, β 라운드에서는 k 및 d에 마스킹이 적용될 수 있다. 즉, β 라운드 종료 후 인코딩을 Explicit하게 해제하고 서명을 생성하는 과정에서 공격자에게 나이브한 k 및 d 값이 노출되지 않도록 마스킹 동작이 수행될 수 있다. 즉, 마스킹 함수 C를 β 라운드에서 적용하는 경우, C(k)=k*, C(d)=d*으로 값이 노출되지 않을 수 있다. 또한, 마스킹에 사용되는 함수 C의 안전성을 강화하기 위하여 파라미터를 추가하는 경우, , 및 의 크기를 유동적으로 조절할 수 있다.Additionally, masking can be applied to k and d in the β round. That is, after the β round ends, In the process of explicitly decoding and generating a signature, a masking operation can be performed so that the naive k and d values are not exposed to the attacker. That is, when the masking function C is applied in the β round, the values may not be exposed as C(k)=k*, C(d)=d*. In addition, when adding parameters to enhance the security of the function C used for masking, , and The size can be adjusted dynamically.
또한, β+1 라운드에서는 서명 r 및 s가 생성될 수 있다. 즉, 인코딩을 Explicit하게 제거하고 나오는 결과값은 , , k*, m, d*, etc를 포함할 수 있으며, etc에 해당하는 변수의 개수와 값은 마스킹 함수 C의 형태에 따라 달라질 수 있다. 서명 r은 이며, 마스킹 제거 없이 공개된 값으로 생성될 수 있다. 또한, 함수 f는 d* 및 k*와 추가 파라미터를 입력받아 마스킹을 제거하면서 서명 s를 Explicit하게 생성할 수 있으며, s = f(d*, k*, ...)와 같이 표현될 수 있다. 이때, 공격자에게 나이브한 k 및 d를 노출시키지 않고 서명 생성이 가능할 수 있다.Additionally, in round β+1, signatures r and s can be generated, i.e., The result of explicitly removing the encoding is , , k*, m, d*, etc. can be included, and the number and values of variables corresponding to etc. can vary depending on the form of the masking function C. The signature r is , and can be generated as a public value without removing the masking. In addition, the function f can explicitly generate a signature s while removing the masking by receiving d* and k* and additional parameters as input, and can be expressed as s = f(d*, k*, ...). In this case, it is possible to generate a signature without exposing the naive k and d to the attacker.
도 7은 Explicit과 Implicit 방식의 차이를 설명하는 도면이다.Figure 7 is a diagram explaining the difference between Explicit and Implicit methods.
도 7을 참조하면, 그림 (a)의 Explicit 방식은 화이트박스 암호의 인코딩된 입출력을 룩업테이블(Lookup Table) 형태로 저장하는 방식에 해당할 수 있다. 반면, 그림 (b)의 Implicit 방식은 인코딩이 포함된 방정식(예: 음함수 방정식)의 형태를 저장하고, 인코딩된 입력이 들어오면 해당 방정식을 풀이하여 인코딩된 출력을 생성하는 방식에 해당할 수 있다. 즉, Implicit 화이트박스 구현 기법은 최신 화이트박스 구현 기법으로 공격자에게 어려움을 줄 것으로 기대되는 최신 구현 방식에 해당할 수 있다.Referring to Fig. 7, the Explicit method of Fig. (a) may correspond to a method of storing encoded input/output of a whitebox cryptography in the form of a lookup table. On the other hand, the Implicit method of Fig. (b) may correspond to a method of storing the form of an equation (e.g., an implicit function equation) that includes encoding, and generating an encoded output by solving the equation when an encoded input is input. In other words, the Implicit whitebox implementation technique may correspond to a state-of-the-art implementation technique that is expected to be difficult for attackers as a state-of-the-art whitebox implementation technique.
본 발명에 따른 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법은 현재 TTA 국내 표준인 타원곡선 전자서명 EC-KCDSA를 화이트박스 공격자에게 안전하도록 구현한 것에 해당할 수 있다. 화이트박스 전자서명은 고객의 디바이스에서도 개인키 d, 논스 k를 메모리에 노출시키지 않고 전자서명 r 및 s 생성이 가능하다는 장점을 가질 수 있다. 따라서, 본 발명에 따른 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법은 현재 국내 금융권이나 핀테크 기업에서 사용하는 금융 어플리케이션의 인증 시스템에 도입하면 안전성을 높일 수 있으며, k 생성과정에서 사용되는 배열의 크기, 마스킹 함수 C에 따른 매트릭스(Matrix) 크기를 조절 가능해 메모리와 속도를 유동적으로 개선할 수 있는 있다.The white-box cryptography implementation method of the EC-KCDSA electronic signature according to the present invention can correspond to the implementation of the elliptic curve electronic signature EC-KCDSA, which is the current TTA domestic standard, in a way that is safe from white-box attackers. The white-box electronic signature can have the advantage of being able to generate electronic signatures r and s without exposing the private key d and the nonce k to the memory even in the customer's device. Therefore, the white-box cryptography implementation method of the EC-KCDSA electronic signature according to the present invention can increase security when introduced to the authentication system of financial applications currently used in the domestic financial sector or fintech companies, and can flexibly improve memory and speed by adjusting the size of the array used in the k generation process and the size of the matrix according to the masking function C.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.
100: 화이트박스 암호 전자서명 시스템
110: 사용자 단말
130: 암호화 장치
150: 데이터베이스
210: 프로세서
230: 메모리
250: 사용자 입출력부
270: 네트워크 입출력부
310: 제1 라운드 연산부
330: 제2 라운드 연산부
350: 서명 생성부
370: 서명 검증부100: Whitebox cryptographic electronic signature system
110: User terminal 130: Encryption device
150: Database
210: Processor 230: Memory
250: User I/O section 270: Network I/O section
310: 1st round operation unit 330: 2nd round operation unit
350: Signature generation unit 370: Signature verification unit
Claims (12)
상기 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 상기 인코딩된 출력을 생성하는 제2 라운드 연산부; 및
상기 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성하는 서명 생성부;를 포함하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
A first round operation unit which receives encoded input during repeated rounds and repeatedly generates encoded output based on pre-stored implicit equations;
A second round operation unit that generates the encoded output by masking at least one intermediate value in the last round of the above repeated rounds; and
A white-box cryptographic implementation device for an EC-KCDSA electronic signature suitable for a mobile environment, comprising: a signature generation unit for generating a signature using a masked intermediate value obtained as a result of decoding the encoded output;
상기 인코딩된 입력과 상기 인코딩된 출력이 테이블(table)로 구현된 양함수(Explicit) 방정식에 대응되어 구현되는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the first paragraph, the implementation of the implicit function equation is
A white box cryptographic implementation device for EC-KCDSA electronic signature suitable for a mobile environment, characterized in that the encoded input and the encoded output are implemented in correspondence to an explicit equation implemented as a table.
상기 반복되는 라운드 동안 이전 라운드의 출력을 다음 라운드의 입력으로 전달하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the first paragraph, the first round operation unit
A white-box cryptographic implementation device for EC-KCDSA electronic signature suitable for a mobile environment, characterized in that the output of the previous round is passed as the input of the next round during the above-mentioned repeated rounds.
서명 생성 과정에 사용되는 개인키와 논스 각각에 마스킹 함수를 적용하여 상기 마스킹된 중간값을 생성하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the first paragraph, the second round operation unit
A white-box cryptographic implementation device for an EC-KCDSA electronic signature suitable for a mobile environment, characterized in that it generates the masked intermediate value by applying a masking function to each of a private key and a nonce used in the signature generation process.
상기 마스킹 함수의 입출력 파라미터의 개수를 가변적으로 적용하여 함수의 안전성을 조절하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the fourth paragraph, the second round operation unit
A white box cryptographic implementation device for EC-KCDSA electronic signature suitable for a mobile environment, characterized in that the security of the function is adjusted by variably applying the number of input/output parameters of the above masking function.
상기 인코딩된 출력으로부터 획득된 중간값에 해시 함수를 적용하여 상기 서명의 제1 요소를 생성하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the first paragraph, the signature generating unit
A white-box cryptographic implementation device for an EC-KCDSA electronic signature suitable for a mobile environment, characterized in that a first element of the signature is generated by applying a hash function to an intermediate value obtained from the encoded output.
상기 음함수 방정식에 대응되는 양함수 방정식을 이용하여 상기 마스킹된 중간값의 마스킹을 제거하면서 상기 서명의 제2 요소를 생성하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the 6th paragraph, the signature generating unit
A whitebox cryptographic implementation device for an EC-KCDSA electronic signature suitable for a mobile environment, characterized in that it generates a second element of the signature while removing the masking of the masked intermediate value by using an ambiguous function equation corresponding to the ambiguous function equation.
서명 생성 과정의 개인키를 기초로 생성된 공개키를 이용하여 상기 서명을 검증하는 서명 검증부;를 더 포함하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 장치.
In the first paragraph,
A white box cryptographic implementation device for an EC-KCDSA electronic signature suitable for a mobile environment, characterized in that it further includes a signature verification unit that verifies the signature using a public key generated based on a private key in a signature generation process.
제1 라운드 연산부를 통해, 반복되는 라운드 동안 인코딩된 입력을 수신하여 사전 저장된 음함수(Implicit) 방정식을 기초로 인코딩된 출력을 반복 생성하는 단계;
제2 라운드 연산부를 통해, 상기 반복되는 라운드의 마지막 라운드에서 적어도 하나의 중간값을 마스킹하여 상기 인코딩된 출력을 생성하는 단계; 및
서명 생성부를 통해, 상기 인코딩된 출력의 인코딩을 해제한 결과로서 획득된 마스킹된 중간값을 이용하여 서명을 생성하는 단계;를 포함하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법.
In a white box cryptography implementation method performed in a white box cryptography implementation device,
A step of repeatedly generating encoded outputs based on pre-stored implicit equations by receiving encoded inputs during repeated rounds through a first round operation unit;
A step of generating the encoded output by masking at least one intermediate value in the last round of the repeated rounds through the second round operation unit; and
A method for implementing whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment, comprising: a step of generating a signature by using a masked intermediate value obtained as a result of decoding the encoded output through a signature generating unit;
서명 생성 과정에 사용되는 개인키와 논스 각각에 마스킹 함수를 적용하여 상기 마스킹된 중간값을 생성하는 단계를 포함하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법.
In the 9th paragraph, the step of generating the encoded output
A method for implementing whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment, characterized by including a step of generating a masked intermediate value by applying a masking function to each of a private key and a nonce used in a signature generation process.
상기 인코딩된 출력으로부터 획득된 중간값에 해시 함수를 적용하여 상기 서명의 제1 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법.
In the 9th paragraph, the step of generating the signature is
A method for implementing whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment, characterized by comprising a step of generating a first element of the signature by applying a hash function to an intermediate value obtained from the encoded output.
상기 음함수 방정식에 대응되는 양함수 방정식을 이용하여 상기 마스킹된 중간값의 마스킹을 제거하면서 상기 서명의 제2 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 모바일 환경에 적합한 EC-KCDSA 전자서명의 화이트박스 암호 구현 방법.
In the 11th paragraph, the step of generating the signature
A method for implementing whitebox cryptography of an EC-KCDSA electronic signature suitable for a mobile environment, characterized by comprising a step of generating a second element of the signature while removing masking of the masked intermediate value by using an ambiguous function equation corresponding to the ambiguous function equation.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20230146066 | 2023-10-27 | ||
KR1020230146066 | 2023-10-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20250061572A true KR20250061572A (en) | 2025-05-08 |
Family
ID=95711816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230191332A Pending KR20250061572A (en) | 2023-10-27 | 2023-12-26 | Device and method for implementing white-box cryptography of ec-kcdsa digital signature suitable for mobile environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20250061572A (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101712850B1 (en) | 2010-03-31 | 2017-03-07 | 이르데토 비.브이. | System and method for protecting cryptographic assets from a white-box attack |
-
2023
- 2023-12-26 KR KR1020230191332A patent/KR20250061572A/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101712850B1 (en) | 2010-03-31 | 2017-03-07 | 이르데토 비.브이. | System and method for protecting cryptographic assets from a white-box attack |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110881063B (en) | Storage method, device, equipment and medium of private data | |
US12120227B2 (en) | Efficient post-quantum secure software updates tailored to resource-constrained devices | |
US8681976B2 (en) | System and method for device dependent and rate limited key generation | |
CA2864227C (en) | Lightweight stream cipher cryptosystems | |
US20120254625A1 (en) | Protecting states of a cryptographic process using group automorphisms | |
CN105024803A (en) | Behavioral fingerprint in a white-box implementation | |
CN103119888A (en) | Apparatus and method for block cipher processing in an insecure environment | |
WO2021129470A1 (en) | Polynomial-based system and method for fully homomorphic encryption of binary data | |
CN113839781A (en) | Countermeasure for side channel attacks on protected signing and key exchange operations | |
US20230179395A1 (en) | Using cryptographic blinding for efficient use of montgomery multiplication | |
US20210036864A1 (en) | Method and system for generating a keccak message authentication code (kmac) based on white-box implementation | |
CN113420313A (en) | Program safe operation and encryption method and device, equipment and medium thereof | |
CN105814833B (en) | Method and system for secure data transformation | |
US20100281260A1 (en) | Hash function based on polymorphic code | |
US9509495B2 (en) | Data protection method and apparatus | |
CN115459926A (en) | Method and device for processing key message, storage medium and electronic equipment | |
US20230185905A1 (en) | Protection of authentication tag computation against power and electromagnetic side-channel attacks | |
KR20250061572A (en) | Device and method for implementing white-box cryptography of ec-kcdsa digital signature suitable for mobile environment | |
KR102780416B1 (en) | Whitebox cryptographic method and device based on block cipher mode of operation using one-way function | |
WO2020058051A1 (en) | Devices and methods for protecting cryptographic programs | |
CN117171202A (en) | Data query method and device | |
Lu et al. | White-box implementation of the KMAC message authentication code | |
CN114254372B (en) | Data encryption processing method and system and electronic equipment | |
CN115801258B (en) | Data processing method, device, electronic equipment and computer readable storage medium | |
CN112887097A (en) | Signature method based on SM2 elliptic curve, related device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |