KR102208142B1 - Method and system for issuing and using device certificate based on distributed code - Google Patents

Method and system for issuing and using device certificate based on distributed code Download PDF

Info

Publication number
KR102208142B1
KR102208142B1 KR1020190092179A KR20190092179A KR102208142B1 KR 102208142 B1 KR102208142 B1 KR 102208142B1 KR 1020190092179 A KR1020190092179 A KR 1020190092179A KR 20190092179 A KR20190092179 A KR 20190092179A KR 102208142 B1 KR102208142 B1 KR 102208142B1
Authority
KR
South Korea
Prior art keywords
certificate
relay
csr
memory
information
Prior art date
Application number
KR1020190092179A
Other languages
Korean (ko)
Inventor
여현국
Original Assignee
시큐리티플랫폼 주식회사
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 시큐리티플랫폼 주식회사 filed Critical 시큐리티플랫폼 주식회사
Priority to KR1020190092179A priority Critical patent/KR102208142B1/en
Application granted granted Critical
Publication of KR102208142B1 publication Critical patent/KR102208142B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Abstract

Provided is a method for device security which improves the memory space efficiency of a device. The method for device security comprises the steps of: generating a certificate signing request (CSR) based on information received from a device by a relay PC; transmitting the CSR to a certificate authority (CA) server by the relay PC; in response to the CSR, issuing a certificate of the device and transmitting the issued certificate to the relay PC by the CA server; determining location information in the certificate of at least one component by searching for at least one of the components in the certificate by the relay PC; transmitting the location information and the certificate to the device; storing the certificate and the location information by the device; and verifying the integrity of the certificated based on the location information by the device.

Description

분산된 코드에 기반한 디바이스 인증서 발급 및 사용 방법 및 이를 위한 시스템{METHOD AND SYSTEM FOR ISSUING AND USING DEVICE CERTIFICATE BASED ON DISTRIBUTED CODE}How to issue and use a device certificate based on distributed code, and a system for it {METHOD AND SYSTEM FOR ISSUING AND USING DEVICE CERTIFICATE BASED ON DISTRIBUTED CODE}

본 발명은 디바이스 보안에 관한 것으로, 보다 구체적으로는 디바이스의 복제, 위조, 및 변조를 방지하기 위한 디바이스 인증서의 발급과 및 사용 방법 및 이를 위한 시스템에 관한 것이다.The present invention relates to device security, and more particularly, to a method of issuing and using a device certificate to prevent duplication, forgery, and tampering of a device, and a system therefor.

사물인터넷(Internet of Things, IoT)은 사물(예: 디바이스)에 센서와 프로세서를 장착하여 정보를 수집하고 제어 및 관리할 수 있도록 인터넷으로 연결되어 있는 시스템이다. 사물인터넷을 구성하는 디바이스는 매우 단순한 센싱 기능을 갖고 SPI(Serial Peripheral Interface) 수준의 시리얼 통신을 수행하는 디바이스에서부터 스마트폰과 같은 다양한 센싱 기능과 고성능 계산 능력을 갖는 디바이스에 이르기까지 다양한 형태 및 특성을 갖는다.The Internet of Things (IoT) is a system connected to the Internet to collect, control, and manage information by mounting sensors and processors on things (eg, devices). The devices that make up the Internet of Things have a very simple sensing function and have a variety of shapes and characteristics, from devices that perform serial communication at the level of SPI (Serial Peripheral Interface) to devices with various sensing functions and high-performance computing capabilities such as smartphones. Have.

이러한 사물인터넷에서는 악의적 역할을 수행하는 디바이스로 인한 오동작 혹은 의도하지 않은 기능이 수행되는 것을 방지하는 것이 매우 중요한 기술 이슈이다. 사물인터넷의 디바이스 보안 강화를 위해서는 디바이스 인증 및 식별이 반드시 필요하다. 사물인터넷 디바이스에 대한 인증 및 식별을 위한 대표적 실시 예는, 인증서를 사용하는 방법이 있다.In such IoT, it is a very important technology issue to prevent malfunctions or unintended functions due to devices that perform malicious roles. Device authentication and identification are indispensable for enhancing device security in the IoT. A representative embodiment for authentication and identification of an IoT device is a method of using a certificate.

디바이스 인증서의 발급과 사용을 위한 코드를 분산시키는 방법 및 시스템이 제공될 수 있다.A method and system for distributing a code for issuing and using a device certificate can be provided.

본 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 이하의 실시 예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The technical problem to be achieved by this embodiment is not limited to the technical problem as described above, and other technical problems may be inferred from the following embodiments.

디바이스의 보안을 위한 방법에 있어서, 중계 PC가 상기 디바이스로부터 수신한 정보에 기반하여 CSR(Certificate Signing Request)을 생성하는 단계, 상기 중계 PC가 상기 CSR을 CA(Certificate Authority) 서버로 전달하는 단계, 상기 CA 서버에서 상기 CSR에 응답하여 상기 디바이스의 인증서를 발급하고 상기 발급된 인증서를 상기 중계 PC에 전달하는 단계, 상기 중계 PC가 상기 인증서 내의 구성 요소들 중 적어도 하나를 탐색함으로써, 상기 적어도 하나의 구성 요소의 상기 인증서 내 위치 정보를 결정하는 단계, 상기 위치 정보와 상기 인증서를 상기 디바이스에 전달하는 단계, 상기 디바이스가 상기 인증서와 상기 위치 정보를 저장하는 단계, 및 상기 디바이스가 상기 위치 정보에 기반하여 상기 인증서의 무결성을 검증하는 단계를 포함할 수 있다.A method for security of a device, comprising: generating a CSR (Certificate Signing Request) based on information received from the device by a relay PC, and transmitting the CSR to a CA (Certificate Authority) server by the relay PC, Issuing a certificate of the device in response to the CSR in the CA server and transferring the issued certificate to the relay PC, the relay PC searching for at least one of the components in the certificate, the at least one Determining location information in the certificate of a component, transferring the location information and the certificate to the device, storing the certificate and the location information by the device, and the device being based on the location information Thus, it may include the step of verifying the integrity of the certificate.

상기 위치 정보는, 상기 적어도 하나의 구성 요소가 기록된 상기 인증서 내의 메모리 상대 주소를 포함하고, 상기 인증서의 무결성을 검증하는 단계는, 상기 메모리 상대 주소에 기반하여 메모리의 일 영역에 바로 접근함으로써 무결성을 검증하기 위한 상기 구성 요소들 중 적어도 하나를 읽는 단계를 포함할 수 있다.The location information includes a memory relative address in the certificate in which the at least one component is recorded, and the verifying the integrity of the certificate includes direct access to an area of the memory based on the memory relative address. It may include the step of reading at least one of the components for verifying.

상기 구성 요소들 중 적어도 하나는, 상기 인증서의 소유자 정보이고, 상기 인증서의 무결성을 검증하는 단계는, 상기 소유자 정보와 상기 디바이스의 식별 정보를 비교하는 단계를 더 포함할 수 있다.At least one of the components is owner information of the certificate, and verifying the integrity of the certificate may further include comparing the owner information and identification information of the device.

인증서를 저장하기 위한 메모리를 포함하는 디바이스, 상기 인증서를 발급하기 위한 CA 서버, 및 상기 디바이스로부터 수신한 정보에 기반하여 CSR(Certificate Signing Request)을 생성하고 상기 CSR을 상기 CA 서버로 전달하기 위한 중계 PC를 포함하고, 상기 CA 서버는, 상기 CSR에 응답하여 상기 인증서를 발급하고 상기 발급된 인증서를 상기 중계 PC에 전달하고, 상기 중계 PC는 상기 인증서 내에서 상기 인증서의 소유자 정보가 기록된 위치 정보와 상기 인증서를 상기 디바이스에 전달하고, 상기 디바이스는, 상기 위치 정보에 기반하여 상기 디바이스 내의 제1메모리의 일 영역에 바로 접근하여 상기 소유자 정보를 읽고, 상기 읽어온 소유자 정보와 상기 디바이스의 식별 정보를 비교하여 상기 인증서에 대한 무결성을 검증하고, 상기 위치 정보는, 상기 소유자 정보가 기록된 상기 인증서 내의 메모리 상대 주소를 포함할 수 있다.A device including a memory for storing a certificate, a CA server for issuing the certificate, and a relay for generating a CSR (Certificate Signing Request) based on information received from the device and transmitting the CSR to the CA server Including a PC, wherein the CA server issues the certificate in response to the CSR and delivers the issued certificate to the relay PC, and the relay PC is the location information in which the owner information of the certificate is recorded in the certificate. And the certificate to the device, and the device directly accesses an area of the first memory in the device based on the location information to read the owner information, and the read owner information and identification information of the device The integrity of the certificate is verified by comparing and the location information may include a memory relative address in the certificate in which the owner information is recorded.

상기 중계 PC는, 제2메모리를 포함하고, 상기 제2메모리는, 상기 CSR을 생성하기 위한 소프트웨어 코드가 기록된 CSR 생성부, 및 상기 인증서로부터 상기 인증서의 소유자 정보를 탐색하기 위한 소프트웨어 코드가 기록된 탐색부를 포함할 수 있다.The relay PC includes a second memory, and the second memory includes a CSR generation unit in which a software code for generating the CSR is recorded, and a software code for searching for owner information of the certificate from the certificate. It may include a search unit.

디바이스 인증서의 발급과 사용을 위한 코드를 분산시켜 관리함으로써, 디바이스의 메모리 공간 효율성이 향상될 수 있다.By distributing and managing codes for issuing and using device certificates, the efficiency of the memory space of the device can be improved.

도1은 일 실시 예에 따라, 인증서를 사용하는 디바이스를 나타낸다.
도2는 일 실시 예에 따라, 디바이스의 보안을 위해 디바이스 인증서를 발급하고 인증서의 무결성을 검증하는 방법을 나타낸다.
도3은 일 실시 예에 따라, 인증서를 사용하기 위한 시스템을 나타낸다.
도4는 일 실시 예에 따라, 디바이스 내의 메모리로부터 독출되는 인증서 내 구성 요소(항목)들을 나타낸다.
1 illustrates a device using a certificate, according to an embodiment.
2 is a diagram illustrating a method of issuing a device certificate and verifying the integrity of the certificate for device security, according to an embodiment.
Fig. 3 shows a system for using a certificate, according to an embodiment.
4 illustrates components (items) in a certificate read from a memory in a device, according to an embodiment.

아래에서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자들(이하, 통상의 기술자들)이 본 발명을 용이하게 실시할 수 있도록, 첨부되는 도면들을 참조하여 몇몇 실시 예가 명확하고 상세하게 설명될 것이다.In the following, some embodiments will be described clearly and in detail with reference to the accompanying drawings so that those with ordinary knowledge in the technical field to which the present invention pertains (hereinafter, ordinary technicians) can easily implement the present invention. will be.

도1은 일 실시 예에 따라, 인증서를 사용하는 디바이스를 나타낸다.1 illustrates a device using a certificate, according to an embodiment.

디바이스(1000)는 스마트폰, 태블릿PC, 웨어러블 디바이스와 같은 모바일 디바이스, IoT 디바이스, 컴퓨터, 가전 제품 등과 같은 전자 디바이스 전체 또는 일부를 포함할 수 있다. 예를 들어, 디바이스(1000)는 전자 디바이스에 탑재된 마이크로 컨트롤러(MCU, Micro Controller Unit)일 수 있다. The device 1000 may include all or part of an electronic device such as a smart phone, a tablet PC, a mobile device such as a wearable device, an IoT device, a computer, or a home appliance. For example, the device 1000 may be a microcontroller (MCU) mounted on an electronic device.

중계 PC(1200)는 인증 기관의 인증서 생성 및 발급 등을 중계하기 위한 컴퓨팅 장치이다. 중계 PC(1200)는 디바이스(1000)의 인증서(1020) 발급을 중계할 수 있다. 일 실시 예에 따라, 중계 PC(1200)는 시리얼 통신 방식에 기반하여 디바이스(1000)와 연결될 수 있다. The relay PC 1200 is a computing device for relaying generation and issuance of certificates of an authentication authority. The relay PC 1200 may relay the issuance of the certificate 1020 of the device 1000. According to an embodiment, the relay PC 1200 may be connected to the device 1000 based on a serial communication method.

CA(Certificate Authority) 서버(1400)는 디바이스(1000)의 인증서(1020)를 발급하기 위한 인증 기관의 서버이다. 일 실시 예에 따라, CA 서버(1400)는 각 디바이스에 대한 인증서 발급을 위한 인증서 생성, 발급, 및 관리를 위한 인증기관의 서버일 수 있다. CA 서버(1400)는 통신망에 기반하여 중계 PC(1200)와 연결될 수 있다. 통신망은 다양한 유선 또는 무선 네트워크를 포함할 수 있다. 예를 들어, 통신망은 LTE(Long Term Evolution), WIMAX(Worldwide Interoperability for Microwave Acess), GSM(Global System for Mobile communications), CDMA(Code Division Multiple Access), Bluetooth, NFC(Near Field Communication), Wi-Fi(Wireless Fidelity), RFID(Radio Frequency Identification) 등과 같은 다양한 무선 통신 규약 중 적어도 하나, 및/또는 TCP/IP(Transfer Control Protocol/Internet Protocol), USB(Universal Serial Bus), Firewire 등과 같은 다양한 유선 통신 규약 중 적어도 하나를 지원할 수 있다.The CA (Certificate Authority) server 1400 is a server of a certification authority for issuing a certificate 1020 of the device 1000. According to an embodiment, the CA server 1400 may be a server of a certification authority for generating, issuing, and managing certificates for issuing certificates for each device. The CA server 1400 may be connected to the relay PC 1200 based on a communication network. The communication network may include various wired or wireless networks. For example, the communication network is LTE (Long Term Evolution), WIMAX (Worldwide Interoperability for Microwave Access), GSM (Global System for Mobile communications), CDMA (Code Division Multiple Access), Bluetooth, NFC (Near Field Communication), Wi- At least one of various wireless communication protocols such as Fi (Wireless Fidelity), RFID (Radio Frequency Identification), and/or various wired communication such as TCP/IP (Transfer Control Protocol/Internet Protocol), USB (Universal Serial Bus), Firewire, etc. It can support at least one of the protocols.

도1을 참조하면, 디바이스(1000)는 디바이스(1000)가 신뢰할 수 있음을 증명하기 위한 정보가 기록되는 인증서(1020)를 포함할 수 있다. 일 실시 예에 따라, 인증서(1020)는 인증서의 소유자 이름(CNID), 공개키(PUK), 서명(SIG), 인증서(1020)의 유효 기간 등을 포함할 수 있다. Referring to FIG. 1, the device 1000 may include a certificate 1020 in which information for proving that the device 1000 is trusted is recorded. According to an embodiment, the certificate 1020 may include a certificate owner's name (CNID), a public key (PUK), a signature (SIG), a validity period of the certificate 1020, and the like.

서명 생성 주체인 디바이스(1000)의 제조자(예를 들어, 디바이스(1000)의 제조사/관리자)는 자신의 개인키(PRK) 또는 비밀키로 서명한 서명(SIG)이 포함된 인증서(1020)를 제공할 수 있다. 인증서(1020)는 디바이스(1000)의 메모리(예를 들어, 플래시 메모리)의 일 영역에 저장될 수 있다. 인증서(1020)의 발급은 계층 구조를 따르기 때문에, 서명(SIG)은 상위 인증 기관의 서명을 포함할 수 있다.The manufacturer of the device 1000 (for example, the manufacturer/manager of the device 1000), which is the subject of the signature generation, provides a certificate 1020 including a signature (SIG) signed with his/her private key (PRK) or secret key. can do. The certificate 1020 may be stored in a region of a memory (eg, flash memory) of the device 1000. Since the issuance of the certificate 1020 follows a hierarchical structure, the signature (SIG) may include a signature of an upper certification authority.

디바이스(1000)는 인증서 발급 요청을 위한 CSR(Certificate Signing Request)을 생성하고 이를 중계 PC(1200)로 전달할 수 있다. 중계 PC(1200)는 수신된 CSR을 CA 서버(1400)로 전달하고, CA 서버(1400)는 CSR에 응답하여 인증서(1020)를 발급할 수 있다. 발급된 인증서(1020)는 다시 중계 PC(1200)를 통해 디바이스(1000)로 전달될 수 있다. 디바이스(1000)는 인증서(1020)를 저장할 수 있다. The device 1000 may generate a Certificate Signing Request (CSR) for requesting for issuance of a certificate and transmit it to the relay PC 1200. The relay PC 1200 may transmit the received CSR to the CA server 1400, and the CA server 1400 may issue a certificate 1020 in response to the CSR. The issued certificate 1020 may be transferred to the device 1000 through the relay PC 1200 again. The device 1000 may store the certificate 1020.

디바이스(1000)는 인증서(1020)의 무결성을 검증할 수 있다. 디바이스(1000)는 인증서(1020)에 기록된 내용물들을 종합하여 해시화하여 생성된 해시값과 공개키(PUK)를 전자서명 검증 알고리즘에 입력함으로써 서명(SIG)을 검증할 수 있다. 또한, 인증서(1020)로부터 파싱된 인증서 소유자 정보(CNID)를 디바이스(1000)에 기록되어 있는 디바이스 식별 정보(HWID)와 비교함으로써 디바이스(1000)의 위조 또는 변조 여부를 검사할 수 있다. 비교를 위한 디바이스의 식별 정보(HWID)는 디바이스(1000)를 다른 디바이스과 구별 및 식별하기 위해 고유하게 부여되는 것으로서, 예를 들어 디바이스(1000)의 제조 시 제조사에 의해 해당 제품 모델에 대해 고유하게 부여된 일련번호(serial number)일 수 있다. 디바이스 식별 정보(HWID)는 디바이스(1000)의 메모리 중 일 영역에 디바이스(1000)의 제조사에 의해 미리 기록되어 있을 수 있다. The device 1000 may verify the integrity of the certificate 1020. The device 1000 may verify the signature (SIG) by inputting a hash value and a public key (PUK) generated by synthesizing and hashing contents recorded in the certificate 1020 into a digital signature verification algorithm. In addition, by comparing the certificate owner information (CNID) parsed from the certificate 1020 with device identification information (HWID) recorded in the device 1000, it is possible to check whether the device 1000 is forged or altered. The identification information (HWID) of the device for comparison is uniquely assigned to distinguish and identify the device 1000 from other devices, for example, when the device 1000 is manufactured, it is uniquely assigned to the corresponding product model by the manufacturer. It may be a serial number (serial number). The device identification information HWID may be previously recorded by the manufacturer of the device 1000 in one area of the memory of the device 1000.

이러한 실시 예에서, 디바이스(1000)의 메모리에는 CSR 생성을 위한 소프트웨어 코드(software code)와 인증서(1020)의 무결성을 검증하기 위해 필요한 인증서(1020) 내의 구성 요소들(예를 들어, 공개키(PUK), 인증서 해시값(HVAL), 인증서(1020)의 소유자 정보(CNID) 등과 같은 항목)을 파싱하기 위한 소프트웨어 코드가 기록되어 있어야 한다. 구성 요소들을 파싱하기 위한 소프트웨어 코드는, 예를 들어, 인증서(1020)를 메모리(예를 들어, RAM)로 로딩하는 코드, 로딩된 인증서(1020)로부터 인증서의 구성 요소들 각각에 대한 식별자를 인식하는 코드, 인식된 식별자에 기반하여 인증서(1020)를 구조화하는 코드를 포함할 수 있다. In this embodiment, in the memory of the device 1000, a software code for generating a CSR and components in the certificate 1020 required to verify the integrity of the certificate 1020 (for example, a public key ( A software code for parsing items such as PUK), certificate hash value (HVAL), owner information (CNID) of the certificate 1020, etc.) must be recorded. The software code for parsing the components is, for example, a code that loads the certificate 1020 into memory (eg, RAM), and recognizes an identifier for each of the components of the certificate from the loaded certificate 1020. It may include a code to structure the certificate 1020 based on the recognized identifier.

따라서, 디바이스(1000)의 메모리 용량이 이러한 소프트웨어 코드를 수용할 수 있도록 충분히 커야 한다. 다만, 디바이스(1000)가 소형(예를 들어, IoT 디바이스, MCU)인 경우 플래시 메모리의 용량에 한계가 있으므로, 메모리 공간을 많이 차지하는 소프트웨어 코드는 다른 곳에 분산시킴으로써 메모리 공간 효율성을 높이는 방법이 필요하다.Therefore, the memory capacity of the device 1000 must be large enough to accommodate such a software code. However, if the device 1000 is small (for example, an IoT device, an MCU), there is a limit to the capacity of the flash memory, so a method of increasing the memory space efficiency by distributing software codes that occupy a large amount of memory space elsewhere is required. .

도2는 일 실시 예에 따라, 디바이스의 보안을 위해 디바이스 인증서를 발급하고 인증서의 무결성을 검증하는 방법을 나타낸다.2 is a diagram illustrating a method of issuing a device certificate and verifying the integrity of the certificate for device security, according to an embodiment.

단계 S2100에서, 중계 PC(1200)는 디바이스(1000)로부터 CSR(Certificate Signing Request)을 생성하기 위한 정보를 수신하고, 수신된 정보에 기반하여 CSR을 생성할 수 있다. 예를 들어, 중계 PC(1200)는 디바이스(1000)로부터 수신되는 인증서 소유자 정보(CNID), 공개키(PUK), 공개키 알고리즘, 서명(SIG), 서명 알고리즘, 각종 파라미터 등)에 기반하여 CSR을 생성할 수 있다. 이를 위해, 중계 PC(1200)의 메모리에는 CSR을 생성하기 위한 소프트웨어 코드가 기록될 수 있다. CSR 생성을 위한 소프트웨어 코드는 수신된 정보에 인증서 발급을 위한 추가 정보를 기록함으로써 CSR을 생성하는 동작을 수행하기 위한 코드일 수 있다. 이러한 실시 예에서, CSR을 생성하기 위한 소프트웨어 코드가 디바이스(1000)가 아닌 중계 PC(1200)에 저장되므로, 디바이스(1000)의 메모리 공간 효율성이 향상될 수 있다.In step S2100, the relay PC 1200 receives information for generating a Certificate Signing Request (CSR) from the device 1000, and may generate a CSR based on the received information. For example, the relay PC 1200 receives CSR based on certificate owner information (CNID), public key (PUK), public key algorithm, signature (SIG), signature algorithm, various parameters, etc.) received from the device 1000. Can be created. To this end, a software code for generating a CSR may be recorded in the memory of the relay PC 1200. The software code for generating a CSR may be a code for performing an operation of generating a CSR by recording additional information for issuing a certificate in the received information. In this embodiment, since the software code for generating the CSR is stored in the relay PC 1200 instead of the device 1000, the memory space efficiency of the device 1000 may be improved.

단계 S2200에서, 중계 PC(1200)는 생성된 CSR을 CA 서버(1400)에 전달할 수 있다.In step S2200, the relay PC 1200 may transmit the generated CSR to the CA server 1400.

단계 S2300에서, CA 서버(1400)는 수신된 CSR에 응답하여, CSR에 대응하는 인증서를 발급하고, 발급된 인증서를 중계 PC(1200)에 전달(S2400)할 수 있다.In step S2300, the CA server 1400 may issue a certificate corresponding to the CSR in response to the received CSR, and transmit the issued certificate to the relay PC 1200 (S2400).

단계 S2500에서, 중계 PC(1200)는 인증서 내의 구성 요소들 중 적어도 하나를 탐색함으로써 구성 요소들 중 적어도 하나의 인증서 내 위치 정보를 결정할 수 있다. 예를 들어, 중계 PC(1200)는 인증서로부터 인증서의 소유자 정보(CNID)를 탐색하고, 인증서 내에서 인증서 소유자 정보(CNID)가 기록된 위치를 결정할 수 있다. 위치는 인증서의 각 구성 요소가 기록된 메모리 영역의 주소 정보(예를 들어, 인증서 내의 메모리 상대 주소)일 수 있다.In step S2500, the relay PC 1200 may determine the location information in the certificate of at least one of the components by searching for at least one of the components in the certificate. For example, the relay PC 1200 may search for the owner information (CNID) of the certificate from the certificate, and determine a location in the certificate where the certificate owner information (CNID) is recorded. The location may be address information (eg, a memory relative address in the certificate) of a memory area in which each component of the certificate is recorded.

위치 정보는, 인증서의 각 구성 요소가 기록된 인증서 내에서의 메모리 상대 주소(또는, 오프셋(offset) 값)를 포함할 수 있다. 예를 들어, 메모리 상대 주소는, 인증서 소유자 정보(CNID)가 인증서가 저장된 메모리 영역의 시작 주소로부터 몇 바이트(Byte) 내에 기록되었는지 또는 몇 바이트 뒤부터 기록되는지를 의미할 수 있다. 이를 위해, 중계 PC(1200)의 메모리에는 인증서 내의 구성 요소들 중 적어도 하나(예를 들어, 인증서 소유자 정보(CNID))를 탐색하고 위치 정보를 결정하기 위한 소프트웨어 코드가 기록된 메모리를 포함할 수 있다. 인증서 소유자 정보(CNID)를 예로 들어 설명하였으나 위치 정보가 결정되는 구성 요소들은 이에 제한되지 않는다. 예를 들어, 중계 PC(1200)는 인증서 소유자 정보(CNID) 외에도 인증서의 서명(SIG) 및/또는 공개키(PUK)가 기록된 위치 정보를 결정할 수 있다.The location information may include a memory relative address (or an offset value) in a certificate in which each component of the certificate is recorded. For example, the memory relative address may mean whether the certificate owner information (CNID) is recorded within a number of bytes or from a number of bytes from the start address of a memory area in which the certificate is stored. To this end, the memory of the relay PC 1200 may include a memory in which a software code for searching for at least one of the components in the certificate (for example, certificate owner information (CNID)) and determining location information is recorded. have. Although the description has been made using the certificate owner information (CNID) as an example, components for which location information is determined are not limited thereto. For example, the relay PC 1200 may determine location information in which the signature (SIG) and/or public key (PUK) of the certificate is recorded in addition to the certificate owner information (CNID).

단계 S2600에서, 중계 PC(1200)는 위치 정보와 인증서를 디바이스(1000)로 전달할 수 있다. In step S2600, the relay PC 1200 may transmit location information and a certificate to the device 1000.

단계 S2700에서, 디바이스(1000)는 중계 PC(1200)로부터 수신한 인증서와 위치 정보를 디바이스 내의 메모리에 저장할 수 있다. 예를 들어, 디바이스(1000)는 인증서와 위치 정보를 디바이스(1000)의 플래시 메모리에 저장할 수 있다.In operation S2700, the device 1000 may store the certificate and location information received from the relay PC 1200 in a memory in the device. For example, the device 1000 may store the certificate and location information in the flash memory of the device 1000.

단계 S2800에서, 디바이스(1000)는 수신된 위치 정보에 기반하여 인증서의 무결성을 검증할 수 있다. 무결성 검증을 위한 구성 요소를 획득하기 위해, 위치 정보에 기반하여 읽기(Read) 동작이 수행될 디바이스(1000)의 메모리 일 영역이 결정될 수 있다. 이러한 실시 예에서, 디바이스(1000)의 컨트롤러는 인증서가 기록된 메모리의 시작 위치에 메모리 상대 주소(또는, 오프셋 값)를 더함으로써 읽기 동작이 수행될 메모리 영역의 주소를 결정할 수 있다. 디바이스(1000)는 위치 정보를 사용하여 인증서의 구성 요소가 기록된 메모리 일 영역에 바로 접근함으로써 필요한 구성 요소를 읽을 수 있다. 예를 들어, 디바이스(1000)는 인증서가 저장된 메모리에서 공개키(PUK) 및/또는 서명(SIG)을 탐색할 필요 없이, 공개키(PUK) 및/또는 해시값(HVAL)이 기록된 메모리 일 영역에 바로 접근하여 해당 영역에 기록된 값을 읽을 수 있다. 또한, 디바이스(1000)는 인증서가 저장된 메모리에서 인증서 소유자 정보(CNID)를 탐색할 필요 없이, 인증서 소유자 정보(CNID)가 기록된 메모리 일 영역에 바로 접근하여 해당 영역에 기록된 값을 읽을 수 있다. In operation S2800, the device 1000 may verify the integrity of the certificate based on the received location information. In order to obtain a component for integrity verification, a memory area of the device 1000 in which a read operation is to be performed may be determined based on location information. In this embodiment, the controller of the device 1000 may determine an address of a memory area in which a read operation is to be performed by adding a memory relative address (or an offset value) to the start position of the memory in which the certificate is recorded. The device 1000 may read necessary components by directly accessing an area of a memory in which components of the certificate are recorded using the location information. For example, the device 1000 is a memory in which the public key (PUK) and/or hash value (HVAL) is recorded without the need to search for the public key (PUK) and/or signature (SIG) in the memory where the certificate is stored. You can directly access the area and read the value recorded in the area. In addition, the device 1000 may directly access an area of the memory in which the certificate owner information (CNID) is recorded without having to search for the certificate owner information (CNID) in the memory in which the certificate is stored and read the value recorded in the corresponding area .

도4를 참조하면, 디바이스(1000)는 위치 정보에 기반하여 디바이스(1000) 내의 2n 개의 페이지(page)들로 구성된 플래시 메모리(4000)로부터 인증서의 무결성을 검증하기 위한 구성 요소를 읽을 수 있다. 일 실시 예에 따라, 디바이스(1000)의 컨트롤러는 제1위치 정보(offset1)에 기반하여 페이지#2에 접근하고, 페이지#2로부터 인증서 소유자 정보(CNID)를 읽을 수 있다. 디바이스(1000)는 제2위치 정보(offset2)에 기반하여 페이지#4에 접근하고, 페이지#4로부터 공개키(PUK)를 읽을 수 있다. 디바이스(1000)는 제3위치 정보(offset3)에 기반하여 페이지#(2n-3)에 접근하고, 페이지#(2n-3)로부터 서명(SIG)을 읽을 수 있다. Referring to FIG. 4, the device 1000 may read a component for verifying the integrity of a certificate from a flash memory 4000 composed of 2n pages in the device 1000 based on location information. According to an embodiment, the controller of the device 1000 may access page #2 based on the first location information offset1 and read certificate owner information CNID from page #2. The device 1000 may access page #4 based on the second location information offset2 and read the public key PUK from page #4. The device 1000 may access page #2n-3 based on the third location information offset3 and read the signature SIG from page #2n-3.

디바이스(1000)는 인증서의 내용물에 대한 해시 값을 생성하고, 생성된 해시 값과 읽어온 공개키(PUK)를 전자서명 검증 알고리즘에 입력함으로써 인증서의 서명(SIG)을 검증할 수 있다. 디바이스(1000)는 읽어온 인증서 소유자 정보(CNID)와 디바이스의 식별 정보(HWID)를 비교하여 디바이스(1000)의 위조 또는 변조 여부를 검사할 수 있다. 이러한 실시 예에서, 디바이스(1000)는, 인증서를 메모리(예를 들어, RAM)로 로딩하는 코드, 로딩된 인증서로부터 인증서의 구성 요소들 각각에 대한 식별자를 인식하는 코드, 인식된 식별자에 기반하여 인증서를 구조화하는 코드를 메모리에 기록하지 않아도 되므로 메모리 사용의 효율성이 향상될 수 있다. 추가적으로, 인증서를 메모리에 로딩하여 구조화할 필요가 없이 다이렉트 액세스(Direct Access)가 가능하므로, 메모리 사용의 효율성이 더욱 향상될 수 있다.The device 1000 may verify the signature (SIG) of the certificate by generating a hash value for the contents of the certificate, and inputting the generated hash value and the read public key (PUK) into the digital signature verification algorithm. The device 1000 may check whether the device 1000 is forged or altered by comparing the read certificate owner information CNID and the device identification information HWID. In this embodiment, the device 1000 is based on a code for loading a certificate into a memory (eg, RAM), a code for recognizing an identifier for each of the components of the certificate from the loaded certificate, and the recognized identifier. The efficiency of memory usage can be improved because the code that structures the certificate does not need to be written to memory. Additionally, since direct access is possible without the need to load and structure a certificate into a memory, the efficiency of memory use can be further improved.

도3은 디바이스 보안을 위한 시스템을 나타낸다.3 shows a system for device security.

도3을 참조하면, 시스템(3000)은 디바이스(1000), 중계 PC(1200), 및 CA 서버(1400)를 포함할 수 있다.Referring to FIG. 3, the system 3000 may include a device 1000, a relay PC 1200, and a CA server 1400.

디바이스(1000), 중계 PC(1200), 및 CA 서버(1400)에 관해 도1 및 2를 참조하여 상술된 내용은 도3의 디바이스(1000), 중계 PC(1200), 및 CA 서버(1400)에도 적용될 수 있으므로 상세한 설명은 생략한다.For the device 1000, the relay PC 1200, and the CA server 1400, the above description with reference to FIGS. 1 and 2 is the device 1000, the relay PC 1200, and the CA server 1400 of FIG. Since it can also be applied to, detailed description is omitted.

중계 PC(1200)는 CSR 생성부(1220)와 탐색부(1240)를 포함할 수 있다. CSR 생성부(1220)는 CSR을 생성하는 동작을 위한 소프트웨어 코드를 포함할 수 있다. 탐색부(1240)는 CA 서버(1400)로부터 수신된 인증서 내의 구성 요소들 중 적어도 하나를 탐색함으로써 인증서 내의 구성 요소들 중 적어도 하나의 인증서 내 위치 정보를 결정할 수 있다. 예를 들어, 탐색부(1240)는 인증서 내에서 식별자를 사용하여 소유자 정보(CNID)를 탐색하고, 소유자 정보(CNID)의 위치 정보를 결정하는 동작을 위한 소프트웨어 코드를 포함할 수 있다. 중계 PC(1200)는 CSR 생성부(1220)와 탐색부(1240)를 기록하기 위한 메모리를 포함할 수 있다. The relay PC 1200 may include a CSR generation unit 1220 and a search unit 1240. The CSR generator 1220 may include software code for an operation of generating a CSR. The search unit 1240 may determine location information of at least one of the components in the certificate by searching for at least one of the components in the certificate received from the CA server 1400. For example, the search unit 1240 may include a software code for an operation of searching for owner information CNID using an identifier in the certificate and determining location information of the owner information CNID. The relay PC 1200 may include a memory for recording the CSR generation unit 1220 and the search unit 1240.

상대적으로 용량을 많이 차지하는 소프트웨어 코드들(CSR 생성부(1220)와 탐색부(1240))이 디바이스(1000)가 아닌 중계 PC(1200)에 기록되므로, 디바이스(1000)의 메모리 공간 효율성이 높아지고 이로 인해 발생되는 유휴 메모리를 사용하여 디바이스(1000)의 추가 설계 용이성과 확장성이 향상될 수 있다. 이는 디바이스(1000)가 소형(예를 들어, IoT 디바이스, MCU)인 경우 더욱 효과적이다.Since software codes (CSR generation unit 1220 and search unit 1240), which occupy a relatively large amount of capacity, are recorded in the relay PC 1200 instead of the device 1000, the memory space efficiency of the device 1000 is increased. Ease of design and expandability of the device 1000 may be improved by using the resulting idle memory. This is more effective when the device 1000 is a small size (eg, IoT device, MCU).

설명들은 본 발명을 구현하기 위한 예시적인 구성들 및 동작들을 제공하도록 의도된다. 본 발명의 기술 사상은 위에서 설명된 실시 예들뿐만 아니라, 위 실시 예들을 단순하게 변경하거나 수정하여 얻어질 수 있는 구현들도 포함할 것이다. 또한, 본 발명의 기술 사상은 위에서 설명된 실시 예들을 앞으로 용이하게 변경하거나 수정하여 달성될 수 있는 구현들도 포함할 것이다.The descriptions are intended to provide exemplary configurations and operations for implementing the present invention. The technical idea of the present invention will include not only the embodiments described above, but also implementations that can be obtained by simply changing or modifying the above embodiments. In addition, the technical idea of the present invention will also include implementations that can be achieved by easily changing or modifying the embodiments described above.

Claims (5)

디바이스의 보안을 위한 방법에 있어서,
중계 PC가 상기 디바이스로부터 수신한 정보에 기반하여 CSR(Certificate Signing Request)을 생성하는 단계;
상기 중계 PC가 상기 CSR을 CA(Certificate Authority) 서버로 전달하는 단계;
상기 CA 서버에서 상기 CSR에 응답하여 상기 디바이스의 인증서를 발급하고 상기 발급된 인증서를 상기 중계 PC에 전달하는 단계;
상기 중계 PC가 상기 인증서 내의 구성 요소들 중 적어도 하나를 탐색함으로써, 상기 적어도 하나의 구성 요소의 상기 인증서 내 위치 정보를 결정하는 단계;
상기 위치 정보와 상기 인증서를 상기 디바이스에 전달하는 단계;
상기 디바이스가 상기 인증서와 상기 위치 정보를 저장하는 단계; 및
상기 디바이스가 상기 위치 정보에 기반하여 상기 인증서의 무결성을 검증하는 단계를 포함하는 방법.
In the method for security of the device,
Generating, by a relay PC, a Certificate Signing Request (CSR) based on information received from the device;
Transmitting, by the relay PC, the CSR to a Certificate Authority (CA) server;
Issuing a certificate of the device in response to the CSR in the CA server and transmitting the issued certificate to the relay PC;
Determining, by the relay PC, the location information of the at least one component in the certificate by searching for at least one of the components in the certificate;
Transferring the location information and the certificate to the device;
Storing, by the device, the certificate and the location information; And
And verifying, by the device, the integrity of the certificate based on the location information.
제1항에 있어서,
상기 위치 정보는, 상기 적어도 하나의 구성 요소가 기록된 상기 인증서 내의 메모리 상대 주소를 포함하고,
상기 인증서의 무결성을 검증하는 단계는, 상기 메모리 상대 주소에 기반하여 메모리의 일 영역에 바로 접근함으로써 무결성을 검증하기 위한 상기 구성 요소들 중 적어도 하나를 읽는 단계를 포함하는 방법.
The method of claim 1,
The location information includes a memory relative address in the certificate in which the at least one component is recorded,
The verifying the integrity of the certificate includes reading at least one of the components for verifying the integrity by directly accessing a region of the memory based on the memory relative address.
제2항에 있어서,
상기 구성 요소들 중 적어도 하나는, 상기 인증서의 소유자 정보이고,
상기 인증서의 무결성을 검증하는 단계는, 상기 소유자 정보와 상기 디바이스의 식별 정보를 비교하는 단계를 더 포함하는 방법.
The method of claim 2,
At least one of the components is information on the owner of the certificate,
The verifying the integrity of the certificate further comprises comparing the owner information and identification information of the device.
인증서를 저장하기 위한 메모리를 포함하는 디바이스;
상기 인증서를 발급하기 위한 CA 서버; 및
상기 디바이스로부터 수신한 정보에 기반하여 CSR(Certificate Signing Request)을 생성하고 상기 CSR을 상기 CA 서버로 전달하기 위한 중계 PC를 포함하고,
상기 CA 서버는, 상기 CSR에 응답하여 상기 인증서를 발급하고 상기 발급된 인증서를 상기 중계 PC에 전달하고,
상기 중계 PC는 상기 인증서 내에서 상기 인증서의 소유자 정보가 기록된 위치 정보와 상기 인증서를 상기 디바이스에 전달하고,
상기 디바이스는, 상기 위치 정보에 기반하여 상기 디바이스 내의 제1메모리의 일 영역에 바로 접근하여 상기 소유자 정보를 읽고, 상기 읽어온 소유자 정보와 상기 디바이스의 식별 정보를 비교하여 상기 인증서에 대한 무결성을 검증하고,
상기 위치 정보는, 상기 소유자 정보가 기록된 상기 인증서 내의 메모리 상대 주소를 포함하는 시스템.
A device including a memory for storing a certificate;
A CA server for issuing the certificate; And
Including a relay PC for generating a CSR (Certificate Signing Request) based on the information received from the device and transmitting the CSR to the CA server,
The CA server issues the certificate in response to the CSR and delivers the issued certificate to the relay PC,
The relay PC transmits the location information and the certificate in which the owner information of the certificate is recorded in the certificate to the device,
The device directly accesses an area of the first memory in the device based on the location information to read the owner information, and verifies the integrity of the certificate by comparing the read owner information with the identification information of the device. and,
The location information includes a memory relative address in the certificate in which the owner information is recorded.
제4항에 있어서,
상기 중계 PC는, 제2메모리를 포함하고,
상기 제2메모리는,
상기 CSR을 생성하기 위한 소프트웨어 코드가 기록된 CSR 생성부; 및
상기 인증서로부터 상기 인증서의 소유자 정보를 탐색하기 위한 소프트웨어 코드가 기록된 탐색부를 포함하는 시스템.
The method of claim 4,
The relay PC includes a second memory,
The second memory,
A CSR generator in which a software code for generating the CSR is recorded; And
And a search unit in which a software code for searching for owner information of the certificate from the certificate is recorded.
KR1020190092179A 2019-07-30 2019-07-30 Method and system for issuing and using device certificate based on distributed code KR102208142B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190092179A KR102208142B1 (en) 2019-07-30 2019-07-30 Method and system for issuing and using device certificate based on distributed code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190092179A KR102208142B1 (en) 2019-07-30 2019-07-30 Method and system for issuing and using device certificate based on distributed code

Publications (1)

Publication Number Publication Date
KR102208142B1 true KR102208142B1 (en) 2021-01-27

Family

ID=74238452

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190092179A KR102208142B1 (en) 2019-07-30 2019-07-30 Method and system for issuing and using device certificate based on distributed code

Country Status (1)

Country Link
KR (1) KR102208142B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220021522A1 (en) * 2020-07-20 2022-01-20 Fujitsu Limited Storage medium, relay device, and communication method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075179A (en) * 2006-01-12 2007-07-18 에스케이 텔레콤주식회사 Apdu delivery host authentication method and system based on pki
EP2320375A1 (en) * 2008-08-27 2011-05-11 GlobalSign K.K. Server certificate issuing system and person authentication method
KR20160025531A (en) * 2013-07-01 2016-03-08 톰슨 라이센싱 Method to enroll a certificate to a device using scep and respective management application
KR101716743B1 (en) * 2012-02-14 2017-03-15 애플 인크. Mobile apparatus supporting a plurality of access control clients, and corresponding methods

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070075179A (en) * 2006-01-12 2007-07-18 에스케이 텔레콤주식회사 Apdu delivery host authentication method and system based on pki
EP2320375A1 (en) * 2008-08-27 2011-05-11 GlobalSign K.K. Server certificate issuing system and person authentication method
KR101716743B1 (en) * 2012-02-14 2017-03-15 애플 인크. Mobile apparatus supporting a plurality of access control clients, and corresponding methods
KR20160025531A (en) * 2013-07-01 2016-03-08 톰슨 라이센싱 Method to enroll a certificate to a device using scep and respective management application

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220021522A1 (en) * 2020-07-20 2022-01-20 Fujitsu Limited Storage medium, relay device, and communication method

Similar Documents

Publication Publication Date Title
US11678183B2 (en) Devices, systems and methods for connecting and authenticating local devices to common gateway device
US10285050B2 (en) Method and apparatus for managing a profile of a terminal in a wireless communication system
EP3557895B1 (en) Method and apparatus for managing a profile of a terminal in a wireless communication system
JP6652767B2 (en) Methods for managing the status of connected devices
KR102169947B1 (en) Method of establishing a trusted identity for an agent device
KR101081331B1 (en) Cloud printing system using mobile terminal and method thereof
US8978113B2 (en) Allocation of identifiers for application discovery
CN102823195A (en) System and methods for remote maintenance of client systems in an electronic network using software testing by a virtual machine
US11838752B2 (en) Method and apparatus for managing a profile of a terminal in a wireless communication system
WO2014142857A1 (en) Wireless communication of a user identifier and encrypted time-sensitive data
WO2017165488A1 (en) Methods and apparatus for sim-based authentication of non-sim devices
KR20190002598A (en) A method and apparatus for issuing assertions within a distributed database of a mobile communication network and personalizing object Internet devices
JP5952973B2 (en) Mutual authentication method between terminal and remote server via third-party portal
US20130028411A1 (en) Simple Group Security for Machine-to-Machine Networking (SGSM2M)
JP2014521143A (en) Apparatus and method for providing services to heterogeneous service terminals
KR102208142B1 (en) Method and system for issuing and using device certificate based on distributed code
KR101381364B1 (en) Apparatus and method for controlling access right for secure contents using near field communication of mobile device
CN114363067A (en) Network access control method, device, computer equipment and storage medium
JP6447949B1 (en) Authentication system, authentication server, authentication method, and authentication program
JP5770308B2 (en) Record generation for application identifier resolution with respect to connection identifiers
CN107396295B (en) Method and equipment for carrying out wireless connection pre-authorization on user equipment
KR20110127566A (en) Payment method in mobile device using information recognizing and transmitting apparatus
KR20200101053A (en) Electronic device and certification method in electronic device
KR20210020744A (en) Apparatus and methods for secure device to device bundle transfer
CA3081619A1 (en) Secure mobile internet-of-things (iot) device registry management

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant