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 PDFInfo
- 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
Links
Images
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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 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]
-
- 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/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
Abstract
Description
본 발명은 디바이스 보안에 관한 것으로, 보다 구체적으로는 디바이스의 복제, 위조, 및 변조를 방지하기 위한 디바이스 인증서의 발급과 및 사용 방법 및 이를 위한 시스템에 관한 것이다.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)
도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
디바이스(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
단계 S2300에서, CA 서버(1400)는 수신된 CSR에 응답하여, CSR에 대응하는 인증서를 발급하고, 발급된 인증서를 중계 PC(1200)에 전달(S2400)할 수 있다.In step S2300, the
단계 S2500에서, 중계 PC(1200)는 인증서 내의 구성 요소들 중 적어도 하나를 탐색함으로써 구성 요소들 중 적어도 하나의 인증서 내 위치 정보를 결정할 수 있다. 예를 들어, 중계 PC(1200)는 인증서로부터 인증서의 소유자 정보(CNID)를 탐색하고, 인증서 내에서 인증서 소유자 정보(CNID)가 기록된 위치를 결정할 수 있다. 위치는 인증서의 각 구성 요소가 기록된 메모리 영역의 주소 정보(예를 들어, 인증서 내의 메모리 상대 주소)일 수 있다.In step S2500, the
위치 정보는, 인증서의 각 구성 요소가 기록된 인증서 내에서의 메모리 상대 주소(또는, 오프셋(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
단계 S2600에서, 중계 PC(1200)는 위치 정보와 인증서를 디바이스(1000)로 전달할 수 있다. In step S2600, the
단계 S2700에서, 디바이스(1000)는 중계 PC(1200)로부터 수신한 인증서와 위치 정보를 디바이스 내의 메모리에 저장할 수 있다. 예를 들어, 디바이스(1000)는 인증서와 위치 정보를 디바이스(1000)의 플래시 메모리에 저장할 수 있다.In operation S2700, the device 1000 may store the certificate and location information received from the
단계 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
디바이스(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
디바이스(1000), 중계 PC(1200), 및 CA 서버(1400)에 관해 도1 및 2를 참조하여 상술된 내용은 도3의 디바이스(1000), 중계 PC(1200), 및 CA 서버(1400)에도 적용될 수 있으므로 상세한 설명은 생략한다.For the device 1000, the
중계 PC(1200)는 CSR 생성부(1220)와 탐색부(1240)를 포함할 수 있다. CSR 생성부(1220)는 CSR을 생성하는 동작을 위한 소프트웨어 코드를 포함할 수 있다. 탐색부(1240)는 CA 서버(1400)로부터 수신된 인증서 내의 구성 요소들 중 적어도 하나를 탐색함으로써 인증서 내의 구성 요소들 중 적어도 하나의 인증서 내 위치 정보를 결정할 수 있다. 예를 들어, 탐색부(1240)는 인증서 내에서 식별자를 사용하여 소유자 정보(CNID)를 탐색하고, 소유자 정보(CNID)의 위치 정보를 결정하는 동작을 위한 소프트웨어 코드를 포함할 수 있다. 중계 PC(1200)는 CSR 생성부(1220)와 탐색부(1240)를 기록하기 위한 메모리를 포함할 수 있다. The
상대적으로 용량을 많이 차지하는 소프트웨어 코드들(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
설명들은 본 발명을 구현하기 위한 예시적인 구성들 및 동작들을 제공하도록 의도된다. 본 발명의 기술 사상은 위에서 설명된 실시 예들뿐만 아니라, 위 실시 예들을 단순하게 변경하거나 수정하여 얻어질 수 있는 구현들도 포함할 것이다. 또한, 본 발명의 기술 사상은 위에서 설명된 실시 예들을 앞으로 용이하게 변경하거나 수정하여 달성될 수 있는 구현들도 포함할 것이다.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.
상기 위치 정보는, 상기 적어도 하나의 구성 요소가 기록된 상기 인증서 내의 메모리 상대 주소를 포함하고,
상기 인증서의 무결성을 검증하는 단계는, 상기 메모리 상대 주소에 기반하여 메모리의 일 영역에 바로 접근함으로써 무결성을 검증하기 위한 상기 구성 요소들 중 적어도 하나를 읽는 단계를 포함하는 방법.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.
상기 구성 요소들 중 적어도 하나는, 상기 인증서의 소유자 정보이고,
상기 인증서의 무결성을 검증하는 단계는, 상기 소유자 정보와 상기 디바이스의 식별 정보를 비교하는 단계를 더 포함하는 방법.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.
상기 중계 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.
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)
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)
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 |
-
2019
- 2019-07-30 KR KR1020190092179A patent/KR102208142B1/en active IP Right Grant
Patent Citations (4)
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)
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 |