KR20170040721A - Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method thereof - Google Patents
Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method thereof Download PDFInfo
- Publication number
- KR20170040721A KR20170040721A KR1020150168664A KR20150168664A KR20170040721A KR 20170040721 A KR20170040721 A KR 20170040721A KR 1020150168664 A KR1020150168664 A KR 1020150168664A KR 20150168664 A KR20150168664 A KR 20150168664A KR 20170040721 A KR20170040721 A KR 20170040721A
- Authority
- KR
- South Korea
- Prior art keywords
- authentication
- certificate
- response
- party
- challenge
- 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
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- 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
- 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/3271—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 challenge-response
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
Abstract
Description
본 발명은 공개키 암호 시스템 기반의 인증 장치, 그것을 갖는 모바일 장치 및 그것의 인증 방법에 관한 것이다.The present invention relates to an authentication apparatus based on a public key cryptosystem, a mobile apparatus having the same, and an authentication method thereof.
사물 인터넷(internet of things,IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술을 의미한다. 여기서 사물이란 가전제품, 모바일 장비, 웨어러블 컴퓨터 등 다양한 임베디드 시스템이 된다. IoT 환경에서는 다양한 기기(device)가 네트워크에 접속하여 상호 통신을 하고 데이터를 공유함으로써 사용자를 위한 서비스를 제공한다. 이때 사용자의 프라이버시(privacy)와 관련된 민감한 데이터가 네트워크를 통해 전송되어 서비스에 활용된다. 개인정보를 보호하면서 서비스를 제공하기 위해서는 통신의 상대방에 대한 신원을 확인하고, 기기는 인증된 상대방과의 상호 작용을 통해 프라이버시를 보호하는 동시에 사용자가 원하는 서비스를 제공할 수 있다.Internet of things (IoT) refers to the technology of connecting sensors and communication functions to various objects and connecting them to the Internet. Here, things become various embedded systems such as household appliances, mobile equipment, and wearable computers. In the IoT environment, various devices connect to the network, communicate with each other, and share data, thereby providing a service for the user. At this time, sensitive data related to the privacy of the user is transmitted through the network and used for the service. In order to provide the service while protecting the personal information, the identity of the other party of the communication is confirmed, and the device can protect the privacy through the interaction with the authenticated party and can provide the service desired by the user.
최근에는 인증의 대상도 확대되어 기기 내부의 부품(component) 간의 인증도 필요하다. IoT 환경의 기기가 아니더라도, 인증 없이 부품 간에 부품의 기능을 제공하면, 사용자의 민감한 데이터에 대한 공격으로 인해 프라이버시 침해 사고가 발생할 수 있다. 더불어 특정 부품의 재사용 및 도용으로 인한 위조 제품의 제작 등의 문제가 발생할 수 있다. 이러한 부품 수준에서의 인증은 상대방 즉, 부품의 신원을 확인함으로써 정품 인증의 기능을 수행할 수 있고, 나아가 사용자의 프라이버시를 보호함에 따라 더욱 안전한 서비스를 제공할 수 있다. 따라서 기기에 뿐만 아니라 부품 수준에서도 적용할 수 있는 경량의 인증 장치에 대한 필요성이 부각되고 있다.In recent years, the subject of authentication has also been expanded to require authentication between components within the device. Even if it is not a device in the IoT environment, if the function of a part is provided between parts without authentication, an attack on the user's sensitive data may cause a privacy invasion accident. In addition, problems such as the production of counterfeit products due to reuse and theft of specific parts may occur. Such authentication at the component level can perform the function of activation by checking the identity of the other party, that is, the part, and furthermore, by protecting the privacy of the user, a more secure service can be provided. Therefore, there is a need for a lightweight authentication device that can be applied not only to the device but also to the component level.
본 발명의 목적은 경량화시킬 수 있는 인증 장치 및 그것을 갖는 모바일 장치 및 그것의 인증 방법을 제공하는 데 있다.An object of the present invention is to provide an authentication apparatus that can be reduced in weight, a mobile apparatus having the same, and an authentication method thereof.
본 발명의 실시 예에 따른 네트워크 통신을 지원하는 장치에 포함된 인증 장치는, 상대방의 인증서를 수신하고, 상기 수신된 인증서를 입력, 분석, 혹은 검증하는 인증서 핸들러, 상기 상대방의 인증 요청을 수신하고, 상기 인증 요청에 응답하여 난수를 발생하고, 상기 난수에 대응하는 챌린지를 발생하고, 상기 챌린지에 대응하는 상기 상대방의 리스판스를 검증하거나 상대방의 챌린지에 대응하는 인증 장치의 리스판스를 발생하는 암호 프리미티브스, 상기 분석된 인증서, 상기 난수, 상기 챌린지, 상기 리스판스를 저장하는 공유 메모리, 및 인증 프로토콜에 따른 레지스터 설정을 통하여 상기 인증서 핸들러, 상기 암호 프리미티브스, 및 상기 공유 메모리를 제어하는 인증 제어기를 포함한다.An authentication device included in an apparatus for supporting network communication according to an embodiment of the present invention includes a certificate handler for receiving a certificate of a counter party and inputting, analyzing, or verifying the received certificate, Generating a random number in response to the authentication request, generating a challenge corresponding to the random number, verifying a response of the counterpart corresponding to the challenge, or generating a response of an authentication device corresponding to a challenge of the counterpart An authentication controller for controlling the certificate handler, the cipher primitives, and the shared memory through register settings according to an authentication protocol, a shared memory for storing the random number, the challenge, the response, .
본 발명의 실시 예에 따른 모바일 장치는, 제 1 구성 요소, 및 제 2 구성 요소를 포함하고, 상기 제 1 및 제 2 구성 요소들 중 적어도 하나는 인증 장치를 포함하고, 상기 인증 장치는, 상대방의 인증서를 입력, 분석, 혹은 검증하는 인증서 핸들러, 난수를 발생하고, 상기 난수에 대응하는 챌린지를 발생하고, 상기 챌린지에 대응하는 상기 상대방의 리스판스를 검증하거나 상대방의 챌린지에 대응하는 인증 장치의 리스판스를 발생하는 암호 프리미티브스, 상기 분석된 인증서, 상기 난수, 상기 챌린지, 상기 리스판스를 저장하는 공유 메모리, 및 상기 상대방의 인증 요청시 혹은 상대방의 인증 요청시 인증 프로토콜에 따른 레지스터 설정을 통하여 상기 인증서 핸들러, 상기 암호 프리미티브스, 및 상기 공유 메모리를 제어하는 제어기를 포함한다.A mobile device according to an embodiment of the present invention includes a first component and a second component, wherein at least one of the first and second components includes an authentication device, A certificate handler for inputting, analyzing, or verifying the certificate of the certificate, generating a random number, generating a challenge corresponding to the random number, verifying the response of the counterpart corresponding to the challenge, A random number, a challenge, a shared memory for storing the response, and a register setting according to an authentication protocol upon request of the other party or an authentication request of the other party And a controller for controlling the certificate handler, the encryption primitives, and the shared memory.
본 발명의 실시 예에 따른 인증 장치의 인증 방법은, 상대방으로부터 인증 요청을 입력 받는 단계, 상기 인증 요청을 지시하는 제 1 레지스터를 읽기 및 쓰기 가능으로 설정하는 단계, 상기 인증 요청에 응답하여 제 1 챌린지를 발생하는 단계, 상기 제 1 챌린지를 저장하는 제 2 레지스터를 읽기 및 쓰기 가능으로 설정하는 단계, 상기 상대방으로부터 제 1 인증서 및 상기 제 1 챌린지에 대응하는 제 1 리스판스를 입력 받는 단계, 상기 제 1 인증서, 상기 제 1 인증서를 검증하는 값, 정보 데이터, 및 상기 제 1 리스판스를 저장하는 레지스터들을 읽기 및 쓰기 가능으로 설정하는 단계, 상기 제 1 인증서 및 상기 제 1 리스판스를 검증하는 단계, 및 상기 검증의 중간값 혹은 결과값을 저장하는 레지스터들을 읽기 쓰기 가능으로 설정하는 단계를 포함한다.An authentication method of an authentication apparatus according to an embodiment of the present invention includes the steps of receiving an authentication request from a counter party, setting a first register indicating the authentication request to be readable and writable, The method comprising: generating a challenge; setting a second register for storing the first challenge to be readable and writable; receiving a first certificate and a first response corresponding to the first challenge from the partner; The method comprising: setting a first certificate, a value for verifying the first certificate, information data, and registers for storing the first response to be readable and writable, verifying the first certificate and the first response And setting registers for storing intermediate values or result values of the verification to be read / write enabled.
본 발명의 실시 예에 따른 인증 장치는 상대방의 인증 요청을 수신하고, 상기 인증 요청에 응답하여 상기 상대방의 리스판스를 검증하거나, 상대방의 챌린지에 대응하는 인증 장치의 리스판스를 발생할 수 있다.An authentication apparatus according to an embodiment of the present invention may receive an authentication request of a counterpart, verify a response of the counterpart in response to the authentication request, or generate a response of an authentication apparatus corresponding to a counterparty's challenge.
본 발명에 따른 인증 장치, 그것을 포함하는 모바일 장치 및 그것의 인증 방법은 메모리를 공유함에 따라 구성 요소들 간에 독립적으로 사용해야 하는 종래의 메모리를 줄이고, 인증 프로토콜을 수행하는 전용 모듈을 구비함에 따라 종래의 CPU(central processing unit) 혹은 NVM(nonvolatile memory)을 제거함으로써, 경량화(light-weight) 할 수 있다.The authentication device according to the present invention, the mobile device including the authentication device, and the authentication method thereof can reduce the conventional memory to be used independently among components as the memory is shared, By eliminating a central processing unit (CPU) or nonvolatile memory (NVM), it can be light-weighted.
도 1은 본 발명의 실시 예에 따른 인증 장치를 구비한 장치들의 인증 방법을 보여주는 네트워크 시스템을 예시적으로 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따른 인증 장치를 예시적으로 보여주는 블록도이다.
도 3은 도 2에 도시된 인증 제어기를 예시적으로 보여주는 블록도이다.
도 4는 도 2에 도시된 암호 프리미티브스를 예시적으로 보여주는 블록도이다.
도 5는 본 발명의 실시 예에 따른 인증 장치의 인증 프로토콜을 진행할 때 공유 메모리에 저장될 데이터 영역들을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 다른 인증 장치가 인증 프로토콜을 진행할 때, 공유 메모리에 저장된 각 구성 요소들의 입출력 값들을 다른 구성 요소에서 재사용하는 것을 예시적으로 보여주는 도면이다.
도 7은 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜 진행 과정을 예시적으로 보여주는 다이어그램이다.
도 8은 본 발명의 실시 예에 따른 인증 장치가 단독 인증 프로토콜을 진행할 경우, 내부 정보에 대한 권한 관리를 예시적으로 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜을 개념적으로 설명하는 래더 다이어그램이다.
도 10은 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜 진행시, 인증 요청을 입력 받는 과정을 예시적으로 설명하는 도면이다.
도 11은 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜 진행시, 인증 요청에 대응하는 챌린지를 발생하는 과정을 예시적으로 설명하는 도면이다.
도 12는 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜 진행시, 상대방의 공개키 인증서와 리스판스를 입력 받는 과정을 예시적으로 설명하는 도면이다.
도 13은 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜 진행시, 상대방의 공개키 인증서 및 리스판스를 검증하는 과정을 예시적으로 설명하는 도면이다.
도 14는 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜 진행 과정을 예시적으로 보여주는 다이어그램이다.
도 15는 본 발명의 실시 예에 따른 인증 장치가 상호 인증 프로토콜을 진행할 경우, 내부 정보에 대한 권한 관리를 예시적으로 보여주는 도면이다.
도 16은 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜을 개념적으로 설명하는 래더 다이어그램이다.
도 17은 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜 진행시, 상대방으로 인증 장치의 공개키와 챌린지를 전송하는 과정을 예시적으로 설명하는 도면이다.
도 18은 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜 진행시, 상대방의 공개키 인증서, 리스판스, 및 챌린지를 입력 받는 과정을 예시적으로 설명하는 도면이다.
도 19는 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜 진행시, 상대방에 챌린지에 응답하여 인증 장치의 리스판스를 발생하는 과정을 예시적으로 설명하는 도면이다.
도 20은 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜 진행시, 공유된 비밀키를 발생하는 과정을 예시적으로 설명하는 도면이다.
도 21은 본 발명의 실시 예에 따른 모바일 장치를 예시적으로 보여주는 도면이다.
도 22는 본 발명의 실시 예에 따른 IoT 네트워크 시스템을 예시적으로 보여주는 도면이다.Brief Description of the Drawings FIG. 1 is an exemplary diagram illustrating a network system illustrating an authentication method of an apparatus having an authentication apparatus according to an embodiment of the present invention.
2 is a block diagram illustrating an authentication apparatus according to an exemplary embodiment of the present invention.
FIG. 3 is a block diagram illustrating an exemplary authentication controller shown in FIG. 2. FIG.
FIG. 4 is a block diagram illustrating an exemplary cryptographic primitive shown in FIG. 2. FIG.
FIG. 5 is an exemplary diagram illustrating data areas to be stored in a shared memory when an authentication protocol of an authentication apparatus according to an embodiment of the present invention is performed.
6 is an exemplary diagram illustrating reuse of input / output values of each component stored in a shared memory in another component when an authentication apparatus according to an embodiment of the present invention performs an authentication protocol.
FIG. 7 is a diagram illustrating an exemplary authentication protocol process of an authentication apparatus according to an exemplary embodiment of the present invention. Referring to FIG.
8 is a diagram illustrating an example of rights management for internal information when an authentication apparatus according to an embodiment of the present invention proceeds with a single authentication protocol.
9 is a ladder diagram conceptually illustrating a single authentication protocol of an authentication apparatus according to an embodiment of the present invention.
10 is a diagram for explaining a process of receiving an authentication request when the authentication apparatus of the authentication apparatus according to the embodiment of the present invention is in progress.
11 is a view for explaining a process of generating a challenge corresponding to an authentication request when an authentication protocol of an authentication apparatus according to an embodiment of the present invention is performed.
12 is a diagram for explaining a process of receiving a public key certificate and a response of a counterpart when a single authentication protocol of an authentication device according to an embodiment of the present invention is performed.
FIG. 13 is a view for explaining a process of verifying a public key certificate and a response of a counterpart when the single authentication protocol of the authentication device according to the embodiment of the present invention is performed.
FIG. 14 is a diagram illustrating an exemplary process of a mutual authentication protocol process of an authentication apparatus according to an embodiment of the present invention.
FIG. 15 is a diagram illustrating an example of rights management for internal information when an authentication apparatus according to an embodiment of the present invention performs a mutual authentication protocol.
16 is a ladder diagram conceptually illustrating a mutual authentication protocol of an authentication apparatus according to an embodiment of the present invention.
17 is a diagram for explaining a process of transmitting a public key and a challenge of an authentication apparatus to a counterpart when a mutual authentication protocol of an authentication apparatus according to an embodiment of the present invention is performed.
18 is a diagram for explaining a process of receiving a public key certificate, a response, and a challenge of a counterpart when a mutual authentication protocol of an authentication device according to an embodiment of the present invention is performed.
19 is a diagram for explaining a process of generating a response of an authentication apparatus in response to a challenge to a counterpart when a mutual authentication protocol of the authentication apparatus according to an embodiment of the present invention is performed.
FIG. 20 is a diagram for explaining a process of generating a shared secret key when an authentication protocol of an authentication apparatus according to an embodiment of the present invention is performed.
21 is an exemplary illustration of a mobile device in accordance with an embodiment of the present invention.
22 is a diagram illustrating an exemplary IoT network system according to an embodiment of the present invention.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다. 본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 혹은 대체물을 포함한다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG. The embodiments according to the concept of the present invention can make various changes and can take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. It should be understood, however, that there is no intention to limit the embodiments according to the concepts of the present invention to the specific disclosed embodiments, and all changes, equivalents, or alternatives included in the spirit and scope of the present invention.
본 발명에 따른 공개키 암호 시스템 기반의 인증 장치(authentication apparatus)는 메모리를 공유함에 따라 구성 요소들 간에 독립적으로 사용해야 하는 종래의 메모리를 줄이고, 인증 프로토콜을 수행하는 전용 모듈을 구비함에 따라 종래의 CPU(central processing unit) 혹은 NVM(nonvolatile memory)을 제거함으로써, 경량화(light-weight) 할 수 있다.Since the authentication apparatus based on the public key cryptosystem according to the present invention has a dedicated module for reducing the conventional memory to be used independently among the components and sharing the memory and performing the authentication protocol, by removing the central processing unit (NVM) or nonvolatile memory (NVM).
인증 장치는 공개키 암호시스템 기반의 서비스를 제공하기 위해서 필요한 기능을 고속으로 수행하는 전용의 암호학적 하드웨어(cryptographic hardware)를 필요로 한다. 왜냐하면, 공개키 암호시스템은 높은 연산량을 요구하는 암호학적 난제(cryptographic hard problem)에 기반한 정수(integer)의 연산들, 예를 들어, modular addition/ subtraction/ multiplication/ exponentiation 및 타원 곡선(elliptic curve) 상의 point addition/ doubling, scalar multiplication과 메시지 축약(message digest) 등으로 구성된 스킴(scheme) 또는 프로토콜(protocol)을 포함하기 때문이다.Authentication devices require dedicated cryptographic hardware to perform the functions required to provide services based on a public key cryptosystem at high speed. This is because the public key cryptosystem can perform integer operations based on a cryptographic hard problem requiring high computation, such as modular addition / subtraction / multiplication / exponentiation and elliptic curve point addition / doubling, scalar multiplication and message digest, and so on.
또한, 인증 장치는 정수 연산의 수행기와 메시지 축약을 위한 해쉬(hash) 수행기 등을 조합하여 구현할 수 있다. 이때, 각각의 기능 구성 요소들은 상호 중복된 리소스(resource)를 가지고 있을 수 있다. 예를 들어, 각각의 구성 요소들은 자신의 기능을 수행하기 위하여 개별적으로 메모리(예, SRAM(static random access memory))를 필요로 할 수 있다. 이러한 메모리는 구성 요소 간에 중복된 리소스일 수 있기 때문에, 인증 장치를 구성하는데 최적화와 경량화를 위해 공유 메모리로 사용될 수 있다. In addition, the authentication apparatus can be implemented by combining an integer calculator and a hash calculator for reducing a message. At this time, each functional component may have mutually overlapping resources. For example, each component may require a separate memory (e.g., static random access memory (SRAM)) to perform its functions. Since such memory may be a redundant resource between components, it may be used as a shared memory for optimization and lightweight construction of an authentication device.
또한, 각각의 구성 요소들의 내부 변수 또한 공유 메모리에 저장함으로써, 각각의 구성 요소의 크기가 최소화될 수 있다. 실시 예에 있어서, 스마트폰(smartphone)의 플립 커버(flip-cover), 배터리, 전력 케이블(power cable)과 같은 제품의 인증 기능은 먼저 서비스를 제공한 뒤 혹은 서비스를 제공하면서 인증을 진행하도록 구현될 수 있다. 만일, 인증이 실패하면, 대응하는 서비스가 즉시 중단될 수 있다.Further, by storing the internal variables of the respective components in the shared memory, the size of each component can be minimized. In an embodiment, an authentication function of a product such as a flip-cover of a smartphone, a battery, and a power cable may be implemented so as to perform authentication after providing a service or providing a service first . If the authentication fails, the corresponding service can be immediately stopped.
본 발명의 실시 예에 따른 인증 장치는, 공개키 암호시스템 기반의 인증을 수행하기 위한 독립적인 CPU와 인증 절차 수행을 위한 SW를 저장할 NVM을 사용하지 않을 수 있다. 또한, 본 발명의 실시 예에 따른 인증 장치의 내부 구성 요소(component)는 지속적으로 공유 메모리를 접근하며 동작할 수 있다. 또한, 배타적으로 동작하는 구성 요소들은 메모리를 서로 공유하여 사용할 수 있다. 이때 구성 요소들은 메모리를 통해 상호 필요한 데이터를 공유할 수 있다.The authentication apparatus according to the embodiment of the present invention may not use an independent CPU for performing authentication based on the public key cryptosystem and an NVM for storing the SW for performing the authentication procedure. In addition, an internal component of the authentication apparatus according to the embodiment of the present invention can continuously access and operate the shared memory. In addition, the exclusively operating components can share the memory. At this point, the components can share the necessary data with each other through the memory.
도 1은 본 발명의 실시 예에 따른 인증 장치를 구비한 장치들(A, B)의 인증 방법을 보여주는 네트워크 시스템(10)을 예시적으로 보여주는 도면이다. 도 1을 참조하면, 네트워크 시스템(10)은 장치들(A, B, C)의 유무선 연결을 위한 네트워크(11)를 포함할 수 있다. 실시 예에 있어서, 네트워크(11)는 IoT(internet of things) 네트워크일 수 있다. 도 1에서는 설명의 편의를 위하여 네트워크(11)에 3 개의 장치들(A, B, C)에 연결되었다. 하지만, 네트워크(11)에 연결된 장치들의 개수는 여기에 제한되지 않을 것이다.1 is an exemplary diagram illustrating a
제 1 장치(A) 및 제 2 장치(B)는 각각 대응하는 인증 장치(100, 200)를 포함할 수 있다. 제 3 장치(C)는 제 1 및 제 2 장치들(A, B)과 달리 인증 장치를 포함하지 않을 수 있다. The first device A and the second device B may each include a
본 발명의 네트워크 시스템(10)의 장치별 인증 방법은, 도 1에 도시된 바와 같이 크게 2 가지로 구분될 수 있다. 우선, 인증 장치(100, 200)를 구비한 장치들(A, B) 사이의 상호(혹은 '양방향') 인증(mutual authentication)과, 인증 장치(100 혹은 200)을 구비한 장치(A 혹은 B)와 인증 장치를 구비하지 않은 장치(C) 사이의 단독(unilateral, 혹은 '단방향') 인증이다. 실시 예에 있어서, 제 1 장치(A)는 스마트폰을 감싸는 플립 커버(flip cover)이고, 제 2 장치(B)는 스마트 폰이고, 제 3 장치(C)는 인증 장치를 포함하는 않는 장치일 수 있다.As shown in FIG. 1, the
또한, 인증 장치(예, 200)는 장치(B)의 제 1 및 제 2 구성 요소들(201, 202) 사이의 내부 인증(internal authentication)을 수행하는데 이용될 수도 있다. 내부 인증은 외부 인증과 동일하게 상호 인증 혹은 단독 인증을 포함할 수 있다. 실시 예에 있어서, 제 1 구성 요소(201)는 디스플레이 드라이버 칩(display driver integrated chip, DDI) 장치이고, 제 2 구성 요소(202)는 디스플레이 장치일 수 있다. 도 1에서 장치(B)는 구성 요소(201)에 포함된 하나의 인증 장치(200)를 도시한다. 하지만, 본 발명이 여기에 제한될 필요는 없다. 도시되지 않았지만, 장치(B)의 다른 구성 요소(202)도 인증 장치를 포함할 수 있다. 한편, 도시되지 않았지만, 제 1 장치(A)의 인증 장치(100) 구성 방법도, 제 2 장치(B)의 인증 장치(200)의 구성 방법과 유사할 수 있다.The authentication device (e.g., 200) may also be used to perform internal authentication between the first and
한편, 도 1에 도시된 네트워크 시스템(10)은 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다On the other hand, it should be understood that the
도 2는 본 발명의 실시 예에 따른 인증 장치(100)를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 인증 장치(100)는 인증 제어기(110), 인증서 핸들러(120), 암호 프리미티브스(cryptographic primitives, 130), 및 공유 메모리(140)를 포함할 수 있다.FIG. 2 is a block diagram illustrating an
인증 제어기(110)는 공개키(public key) 암호 시스템 기반의 인증 프로토콜을 수행하도록 구현될 수 있다. 여기서 인증 프로토콜은 외부 장치와의 외부 인증 프로토콜 혹은 내부 구성 요소와 내부 인증 프로토콜일 수 있다. 인증 제어기(110)는 상대방과의 통신을 통해 인증 프로토콜 진행을 직접적으로 담당할 수 있다. 예를 들어, 인증 제어기(110)는 인증 프로토콜 진행시 필요한 연산을 수행하기 위하여 단위 연산을 수행하는 구성 요소들(120, 130)을 반복적으로 호출할 수 있다. 또한, 인증 제어기(110)는 각 구성 요소들(120, 130)의 동작 시기를 순차적으로 조절함으로써 공유 메모리(140)를 공유할 수 있다. 즉, 인증 제어기(110)는 어느 하나의 구성 요소에서 공유 메모리(140)를 통해 입출력되는 값을 다른 구성 요소에서 사용할 수 있도록, 인증서 핸들러(120), 암호 프리미티브스(130) 및 공유 메모리(140)를 제어할 수 있다. 실시 예에 있어서, 인증 제어기(110)는 레지스터 설정을 통하여 인증 프로토콜을 위한 인증서 핸들러(120), 암호 프리미티브스(130) 및 공유 메모리(140)를 제어할 수 있다.The
인증서 핸들러(120)는 공개키(public key) 인증서(certification)를 관리하도록 구현될 수 있다. 인증서 핸들러(120)는 인증서를 발생, 분석, 혹은 검증을 수행할 수 있다. 인증서 핸들러(120)는 상대방으로부터 입력된 인증서를 분석하고(parse), 분석된 인증서(parsed certificate)를 공유 메모리(140)에 저장할 수 있다. 예를 들어, 인증서 핸들러(120)는 상대방의 공개키 인증서를 입력 받고, 인증기관(certificate authority; CA)의 루트 인증서(root certificate)를 이용하여 상대방의 공개키 인증서가 유효한 지를 검증할 수 있다.The
인증서 핸들러(120)는 공개키 인증서를 관리하기 위하여 공유 메모리(140)에 수시로, 지속적으로 접근하도록 구현될 수 있다. 즉, 인증서 핸들러(120)는 공개키 인증서를 발생 혹은 검증을 위한 내부 변수들을 공유 메모리(140)에 저장하도록 구현될 수 있다.The
암호 프리미티브스(130)는 공개키 암호 연산을 수행하거나, 해쉬(hash) 연산을 수행하거나, 혹은 난수(random number) 발생하도록 구현될 수 있다. The encryption primitive 130 may be implemented to perform a public key cryptographic operation, perform a hash operation, or generate a random number.
실시 예에 있어서, 암호 프리미티브스(130)는 인증 프로토콜 진행시, 상대방의 인증 요청에 응답하여 챌린지(challenge)를 발생할 수 있다. 여기서 챌린지는 난수를 해쉬 알고리즘에 입력하여 얻을 수 있다. 또한, 암호 프리미티브스(130)는 인증 장치(100)의 챌린지에 응답하여 상대방에서 발생된 리스판스(response)를 검증할 수 있다. 예를 들어, 상대방으로부터 입력된 리스판스는 인증 장치(100)의 챌린지를 상대방의 개인키로 서명시킨 값일 수 있다. 이때, 암호 프리미티브스(130)는 상대방의 리스판스(서명값)와 상대방의 공개키(인증서)를 이용하여 챌린지를 복호화함으로써, 상대방의 리스판스를 검증할 수 있다.In an embodiment, the cryptographic primitive 130 may generate a challenge in response to an authentication request of the other party in the course of the authentication protocol. Here, the challenge can be obtained by inputting a random number into the hash algorithm. In addition, the cryptographic primitive 130 may verify the response generated in the other party in response to the challenge of the
또한, 암호 프리미티브스(130)는 상대방이 발행한 챌린지(challenge)에 대응하는 인증 장치의 리스판스(혹, 서명값)를 발생할 수 있다.In addition, the cryptographic primitive 130 may generate a response (or signature value) of the authentication device corresponding to the challenge issued by the counterpart.
실시 예에 있어서, 암호 프리미티브스(130)는 상호 인증 프로토콜을 진행시 발생된 난수를 이용하여 상호 공유된 비밀 값(shared secret)을 발생할 수 있다.In an embodiment, the cryptographic primitive 130 may generate a mutual shared secret using a random number generated in the course of mutual authentication protocol.
암호 프리미티브스(130)는 공개키 암호 연산을 수행하거나, 해쉬(hash) 연산을 수행하거나, 혹은 난수(random number) 발생하기 위하여 공유 메모리(140)에 수시로, 지속적으로 접근하도록 구현될 수 있다. 즉, 암호 프리미티브스(130)는 암호 연산, 해쉬 연산, 혹은 난수 발생을 위한 내부 변수들을 공유 메모리(140)에 저장하도록 구현될 수 있다.The
공유 메모리(140)는 인증 제어기(110), 인증서 핸들러(120), 및 암호 프리미티브스(130) 중 적어도 하나의 동작을 위한 데이터, 동작 중 발생된 데이터, 혹은 동작 결과에 따른 데이터를 저장하도록 구현될 수 있다. 실시 예에 있어서, 공유 메모리(140)는 휘발성 메모리(volatile memory), 비휘발성 메모리(nonvolatile memory), 혹은 휘발성 메모리와 비휘발성 메모리로 구성된 하이브리드 메모리(hybrid memory)로 구현될 수 있다. 예를 들어, 공유 메모리(140)는 DRAM(dynamic random access memory), SRAM(static random access memory), eMMC(embedded multimedia card) 등일 수 있다. 공유 메모리(140)의 입출력 제어 동작은 인증 제어기(120)에 의해 수행될 수 있다. 즉, 인증 제어기(120)는 공유 메모리(140)를 제어하기 위한 메모리 제어기를 포함할 수 있다.The shared
실시 예에 있어서, 인증 장치(100)의 구성 요소들(110, 120, 130, 140)은 데이터 라인들(101, 102, 103, 104, 105)에 의해 서로 연결되도록 구현될 수 있다. 데이터 라인들(101, 102, 103, 104, 105) 각각은 인증 프로토콜을 수행할 때 발생되는 내부 데이터의 입출력 라인으로 이용될 수 있다.In an embodiment, the
본 발명의 인증 장치(100)의 구성 요소들(110, 120, 130)은 공유 메모리(140)를 공유할 수 있다. 이로 인해 각 구성 요소들(110, 120, 130)의 입/출력은 다른 구성 요소들과 공유하여 사용될 수 있다. 즉, 본 발명의 인증 장치(100)는 구성 요소를 독립적으로 사용하는 종래의 메모리를 줄임으로써, 인증 장치의 경량화를 달성시킬 수 있다.The
또한, 본 발명의 인증 장치(100)는 인증 프로토콜을 전용으로 수행하는 구성 요소(110)를 구비함으로써, 종래의 인증 장치에서 인증을 위한 SW(software)를 구동하기 위한 CPU 혹은 NVM을 제거시킬 수 있다. 즉, 인증 장치의 경량화시킬 수 있다. 게다가, 본 발명의 인증 장치(100)는 인증 프로토콜 진행을 위한 SW를 저장할 필요가 없기 때문에, SW의 위/변조로 인한 인증 장치의 오동작 가능성을 배제시킬 수 있다.In addition, the
본 발명의 인증 장치(100)는, 인증 프로토콜을 수행하는 인증 제어기(110)와 공개키 인증서를 처리하기 위한 인증서 핸들러(120)를 이용하여, 사용자가 공개키 인증서를 인증 장치(110)에 입력하고, 인증 장치(100)를 동작시키는 것만으로 공개키 암호시스템 기반의 인증 프로토콜을 수행할 수 있다.The
한편, 본 발명의 인증 장치(100)는 다양한 기기 및 부품에 적용하여 여러 가지 환경에서 다양한 인증 기능을 제공할 수 있다. 본 발명의 인증 장치(100)가 지원하는 공개키 암호시스템 기반 인증 프로토콜은 단독 인증 및 상호 인증이다. Meanwhile, the
인증 프로토콜이 수행되는 동작에 맞게 각 구성 요소들은 유기적으로 동작할 수 있다. 실시 예에 있어서, 단독 인증의 경우에, 인증 장치(100)의 동작의 결과는 상대방의 신원 확인 결과이다. 다른 실시 예에 있어서, 상호 인증의 경우에, 인증 장치(100)의 동작 결과는, 상대방의 신원 확인 결과 및 이후 비밀 통신을 위한 세션키(session key)를 발생하는데 사용될 비밀 값의 공유이다.Each component can operate organically according to the operation in which the authentication protocol is performed. In the embodiment, in the case of the single authentication, the result of the operation of the
한편, 도 2에 도시된 인증 장치(100)는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the
도 3은 도 2에 도시된 인증 제어기(110)를 예시적으로 보여주는 블록도이다. 도 3을 참조하면, 인증 제어기(110)는 레지스터들(112) 및 원-타임 프로그래머블 메모리(114)를 포함할 수 있다.FIG. 3 is a block diagram illustrating the
레지스터들(112)은 인증 장치(100)의 인증 프로토콜 진행 시작을 지시하는 실행값을 저장하는 제 1 레지스터(112-1), 인증 요청을 입력 받을 때 설정되는 준비값을 저장하는 제 2 레지스터(112-2), 및 인증 결과값을 저장하는 제 3 레지스터(112-3)을 포함할 수 있다. 제 1 레지스터(112-1)가 설정되면, 인증 장치(100)는 인증 프로토콜 동작을 시작할 수 있다. 외부의 장치로부터 인증 요청을 입력받으면, 제 2 레지스터(112-2)가 설정될 수 있다. 인증 프로토콜이 성공적으로 완료되면, 제 3 레지스터(113-3)가 설정될 수 있다.The
원-타임 프로그래머블 메모리(114)는 인증 장치(110)를 위한 인증서(certificate, 114-1)을 저장하도록 구현될 수 있다. 인증서(114-1)는 공개키 암호시스템 기반 인증 프로토콜을 수행하는데 필요한 인증 장치(110)의 공개키(public key, 114-2) 및 비밀키(secret key, 114-3)를 포함할 수 있다. 원-타임 프로그래머블 메모리(114)는 비밀키(114-3)를 보호하기 위한 보안대책(counter measure)을 구비하도록 구현될 수 있다.The one-time
한편, 도 3에 도시된 인증 제어기(110)는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the
도 4는 도 2에 도시된 암호 프리미티브스(130)를 예시적으로 보여주는 블록도이다. 도 4를 참조하면, 암호 프리미티브스(130)는 공개키 가속기(131), 해쉬 함수(132) 및 난수 발생기(133)를 포함할 수 있다.FIG. 4 is a block diagram illustrating an exemplary encryption primitive 130 shown in FIG. 4, the cryptographic primitive 130 may include a public
공개키 가속기(131)는 인증 프로토콜에 필요한 모듈러(modular) 연산 혹은 포인트(point) 연산을 수행하도록 구현될 수 있다. 실시 예에 있어서, 공개키 가속기(131) 및 인증 제어기(110)는 데이터 라인(103-1)을 통하여 연결될 수 있다. 실시 예에 있어서, 공개키 가속기(131) 및 공유 메모리(140)는 데이터 라인(104-1)을 통하여 연결될 수 있다.The public
해쉬 함수(132)는 해쉬(hash) 알고리즘을 수행하도록 구현될 수 있다. 실시 예에 있어서, 해쉬 함수(132) 및 인증 제어기(110)는 데이터 라인(103-2)을 통하여 연결될 수 있다. 실시 예에 있어서, 해쉬 함수(132) 및 공유 메모리(140)는 데이터 라인(104-2)를 통하여 연결될 수 있다.The
난수 발생기(133)는 난수를 발생하도록 구현될 수 있다. 실시 예에 있어서, 난수 발생기(133) 및 인증 제어기(110)는 데이터 라인(103-3)을 통하여 연결될 수 있다. 실시 예에 있어서, 난수 발생기(133) 및 공유 메모리(140)는 데이터 라인(104-3)을 통하여 연결될 수 있다.The
또한, 실시 예에 있어서, 데이터 라인들(103-1, 103-2, 103-3)은 도 2에 도시된 데이터 라인(103)에 포함되고, 데이터 라인들(104-1 104-2, 104-3)은 도 2에 도시된 데이터 라인(104)에 포함될 수 있다.Further, in the embodiment, the data lines 103-1, 103-2, and 103-3 are included in the
한편, 도 4에 도시된 암호 프리미티브스(130)는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the
도 5는 본 발명의 실시 예에 따른 인증 장치(100)의 인증 프로토콜을 진행할 때 공유 메모리(140)에 저장될 데이터 영역들을 예시적으로 보여주는 도면이다.5 is an exemplary diagram illustrating data areas to be stored in the shared
공유 메모리(130)는, 인증 프로토콜이 수행될 때 인증 제어기(110)에 의해 발생된 인증 장치(100)의 챌린지(challenge)를 저장하는 제 1 영역(141), 인증 장치(100)의 챌린지에 응답하여 상대방(opponent)에 의해 발생된 리스판스(response)를 저장하는 제 2 영역(142), 상대방으로부터 파싱된(parsed) 인증서(certificate)를 저장하는 제 3 영역(143), 상대방으로부터 전송된 챌린지를 저장하는 제 4 영역(144), 상대방의 챌린지에 응답하여 인증 장치(100)에서 발생된 리스판스를 저장하는 제 5 영역(145), 인증 프로토콜을 위한 중간값(intermediate value)을 저장하는 제 6 영역(146) 및 해쉬 함수(124, 도 4 참조)의 결과값인, 해쉬값(Hashed Value)를 저장하는 제 7 영역(147)을 포함할 수 있다. 여기서, 제 3 영역(143)은, 상대방의 공개키를 저장하는 영역(143-1), 서명 검증을 위한 값을 저장하는 영역(143-2) 및 기타 인증 프로토콜을 수행하는 데 필요한 정보 데이터를 저장하는 영역(143-3)을 포함할 수 있다.The shared
도 6은 본 발명의 실시 예에 다른 인증 장치(100)가 인증 프로토콜을 진행할 때, 공유 메모리(140)에 저장된 각 구성 요소들(110, 120,130)의 입출력 값들을 다른 구성 요소에서 재사용하는 것을 예시적으로 보여주는 도면이다.6 illustrates an example of reusing input / output values of each of the
우선 구성 요소들(110, 120, 130)의 입출력 값들은 다음과 같이 저장될 수 있다. 공개키 가속기(131)의 입출력값들은 데이터 라인(104-1)을 통하여 공유 메모리(140)의 제 6 영역(146)에 저장될 수 있다. 해쉬 함수(132)의 입출력값들은 데이터 라인(104-2)을 통하여 공유 메모리(140)의 제 7 영역(147)에 저장될 수 있다. 난수 발생기(133)의 입출력값은 데이터 라인(104-3)을 통하여 공유 메모리(140)의 제 1 영역(141)에 저장될 수 있다. 인증서 핸들러(120)의 입출력값은 데이터 라인(102)을 통하여 공유 메모리(140)의 제 3 영역(143)에 저장될 수 있다.The input / output values of the
또한, 공유 메모리(140)에 저장된 값들은 다음과 같이 다른 구성 요소들에서 재사용될 수 있다. 실시 예에 있어서, 제 1 영역(141)에 저장된 챌린지 값은 데이터 라인(104-5)을 통하여 해쉬 함수(132)에서 재사용되고, 그 결과값이 제 7 영역(147)에 저장될 수 있다. 실시 예에 있어서, 제 7 영역(147)에 저장된 해쉬값은 데이터 라인(104-6)을 통하여 공개키 가속기(131)에서 재사용되고, 그 결과값이 제 6 영역(146)에 저장될 수 있다. 실시 예에 있어서, 제 3 영역(143)의 파싱된 인증서는 데이터 라인(104-7)을 통하여 공개키 가속기(131)에서 재사용되고, 그 결과값이 제 6 영역(146)에 저장될 수 있다. 실시 예에 있어서, 제 3 영역(143)의 파싱된 인증서는 데이터 라인(104-8)을 통하여 해쉬 함수(132)에서 재사용되고, 그 결과값이 제 7 영역(147)에 저장될 수 있다.In addition, the values stored in the shared
한편, 인증 장치(100)의 구성 요소들(110, 120, 130) 각각은, 메모리(140)를 수시로, 반복적으로 접근하며, 출력 값을 발생할 수 있다.On the other hand, each of the
한편, 도 2에 도시된 구성 요소들(110, 120, 130)의 입출력값의 재사용 방법은 본 발명을 제한하지 않는 실시 예들에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the method of reusing input / output values of the
도 7은 본 발명의 실시 예에 따른 인증 장치의 단독 인증 프로토콜 진행 과정을 예시적으로 보여주는 다이어그램이다. 도 1 내지 도 7를 참조하면, 인증 장치(100)의 단독 인증 프로토콜은 다음과 같이 진행될 수 있다.FIG. 7 is a diagram illustrating an exemplary authentication protocol process of an authentication apparatus according to an exemplary embodiment of the present invention. Referring to FIG. Referring to Figs. 1 to 7, the single authentication protocol of the
인증 장치(100)가 리셋(reset) 되면, 인증 장치(100)는 초기 상태(S110)로 될 수 있다. 또한, 종료 상태(S160)에서 초기화 동작에 의해 초기 상태(S110)로 천이 될 수도 있다. 또한, 실패 상태(S170)에서 리셋에 의해 초기 상태(S110)로 천이 될 수 있다.When the
인증 장치(100)를 포함한 장치 혹은 내부의 신호에 의거하여 실행이 되면(S111), 초기 상태(S110)에서 대기 상태(S120)로 천이 될 수 있다. 대기 상태(S120)에서 인증 프로토콜을 진행할 상대방으로부터 인증 요청을 기다릴 수 있다. 상대방으로부터 인증 요청이 입력되면(S121), 인증 장치(100)는 챌린지 발생 상태(S130)로 천이 될 수 있다. 여기서 챌린지 값은 암호 프리미티브스(130, 도 참조)의 난수 발생기(133)에서 발생될 수 있다. 발생된 챌린지 값은 인증 장치(100)의 외부, 즉 상대방에게 전송될 수 있다. 챌린지 전송이 완료되면(S131), 상대방의 공개키 및 리스판스 입력 상태(S140)로 천이 될 수 있다. S140에서, 상대방으로부터 인증을 받고자 하는 상대방의 공개키와 인증 장치(100)의 챌린지에 대한 리스판스(response)가 전송될 수 있다. 상대방의 공개키와 리스판스가 입력되면(S141), 인증 장치(100)는 공개키와 리스판스 검증 상태(S150)로 천이될 수 있다. S150 에서는, 상대방의 공개키에 대한 검증이 수행되고, 공개키 검증 결과로써 유효한 공개키라고 판별되면, 리스판스에 대한 검증이 수행될 수 있다.(S111), the transition from the initial state (S110) to the standby state (S120) can be performed based on an apparatus including the
만일, 이러한 검증이 성공하면(S151), 인증 장치(100)는 인증 프로토콜에 대한 종료 상태(S160)로 천이될 수 있다. 반면에, 이러한 검증이 실패하면(S152), 인증 장치(100)는 인증 프로토콜에 대한 실패 상태(S170)로 천이될 수 있다.If this verification is successful (S151), the
한편, 도 7에 도시된 단독 인증 프로토콜의 진행 과정은 본 발명을 제한하지 않는 실시 예들에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the process of the single authentication protocol shown in FIG. 7 is merely an embodiment that does not limit the present invention.
한편, 본 발명의 실시 예에 따른 인증 장치(100)는 각 동작 단계에서 단독 인증 프로토콜을 진행한 동안에 발생되는 값이나, 진행을 위한 값들에 대한 읽기/쓰기 권한을 다르게 설정할 수 있다. 이로써, 공격자에 의해 특정 값이 변조됨으로써, 인증 결과에 영향을 주는 행위가 차단될 수 있다. 이를 위하여, 도 3에 도시된 인증 제어기(110)는 인증 장치(100)의 동작 단계에 따라 레지스터들(112, 도 3 참조)에 저장된 값들, 혹은 원-타임 프로그래머블 메모리(114, 도 3 참조)에 저장된 값들에 대한 접근 권한을 조절할 수 있다.Meanwhile, the
도 8은 본 발명의 실시 예에 따른 인증 장치가 단독 인증 프로토콜을 진행할 경우, 내부 정보에 대한 권한 관리를 예시적으로 보여주는 도면이다. 8 is a diagram illustrating an example of rights management for internal information when an authentication apparatus according to an embodiment of the present invention proceeds with a single authentication protocol.
초기 상태(S110)에서는, 실행 값에 대하여는 읽기 및 쓰기가 모두 가능하다. 대기 상태(S120)에서는, 실행 값에 대하여는 읽기 가능하고, 요청 준비 값에 대하여는 읽기 및 쓰기 모두 가능하다. 챌린지 발생 상태(S130)에서는, 실행 값 및 요청 준비 값에 대하여는 읽기 가능하고, 인증 장치(100)의 챌린지에 대하여는 읽기 및 쓰기가 모두 가능하다. 공개키 및 리스판스 입력 상태(S140)에서는, 실행 값 및 요청 준비 값에 대하여는 읽기 가능하고, 상대방의 공개키 값, 인증서 검증 값, 정보 데이터, 상대방의 리스판스 값에 대하여는 읽기 및 쓰기 모두가 가능하다. 공개키 및 리스판스 검증 상태(S150)에서는, 실행 값, 요청 준비 값, 인증 장치의 챌린지 값, 상대방의 공개키 값, 인증서 검증 값, 정보 데이터, 상대방의 리스판스 값에 대하여는 읽기 가능하고, 인증 프로토콜을 위한 중간 값, 해쉬 값, 인증 결과 값에 대하여는 읽기 및 쓰기 모두 가능하다. 종료 상태(S160) 및 실패 상태(S170)에서는, 인증 결과 값에 대하여는 읽기 가능하고, 쓰기는 불가능하다.In the initial state (S110), both the reading and the writing are possible for the execution value. In the standby state (S120), the execution value is readable, and the read ready value is both readable and writable. In the challenge occurrence state (S130), the execution value and the request preparation value are readable, and the challenge of the
실시 예에 있어서, 읽기 및 쓰기 권한 설정은 대응하는 비트값을 저장하는 상태 레지스터에 의해 구현될 수 있다.In an embodiment, the read and write rights settings may be implemented by status registers that store corresponding bit values.
한편, 도 8에 테이블에 도시된 값들을 제외한 값들은 읽기 혹은 쓰기를 허용하지 않을 수 있다.On the other hand, values other than the values shown in the table of FIG. 8 may not allow reading or writing.
도 9는 본 발명의 실시 예에 따른 인증 장치(100)의 단독 인증 프로토콜을 개념적으로 설명하는 래더 다이어그램이다. 도 9를 참조하면, 인증 장치(100)의 단독 인증 프로토콜은 다음과 같이 진행될 수 있다. 인증 장치(100)는 상대방(300)으로 인증 요청을 입력 받고(S11), 인증 요청에 응답한 챌린지를 발생하고, 챌린지를 상대방(300)에 전송할 수 있다(S12). 상대방(300)은 전송된 챌린지를 이용하여 리스판스를 발생할 수 있다. 인증 장치(100)는 상대방(300)의 공개키와 리스판스를 입력 받고(S13), 이것들을 인증 장치의 비밀키를 이용하여 검증할 수 있다(S14). 이로써, 단독 인증 프로토콜이 종료될 수 있다.FIG. 9 is a ladder diagram conceptually illustrating a single authentication protocol of the
실시 예에 있어서, 상대방(300)은 인증 장치(100)를 포함한 장치(B, 도 1 참조)의 다른 구성 요소이거나, 인증 장치(100)를 포함한 장치 외부의 장치(C, 도 1 참조)일 수 있다.In the embodiment, the
도 10은 본 발명의 실시 예에 따른 인증 장치(100)의 단독 인증 프로토콜 진행시, 인증 요청을 입력 받는 과정을 예시적으로 설명하는 도면이다. 도 7 내지 도 10을 참조하면, 인증 요청은 다음과 같이 입력 될 수 있다. 인증 장치(100)는 대기 상태(S120, 도 7 참조)에서 인증 요청(authentication request)을 받을 수 있다(S11). 여기서 인증 요청은 장치(A)로부터 입력 될 수 있다. 장치(A)는 장치(A)의 다른 구성 요소로부터 인증 요청을 입력 받거나, 장치(A)의 외부 장치로부터 인증 요청을 입력 받을 수 있고, 이를 인증 장치(100)에 전송할 수 있다. 실시 예에 있어서, 인증 요청은 인증 제어기(110)에 입력될 수 있다.FIG. 10 is a diagram for explaining a process of receiving an authentication request when the
도 11은 본 발명의 실시 예에 따른 인증 장치(100)의 단독 인증 프로토콜 진행시, 인증 요청에 대응하는 챌린지를 발생하는 과정을 예시적으로 설명하는 도면이다. 도 7 내지 도 11을 참조하면, 챌린지 발생 과정은 다음과 같다. 챌린지 발생을 위하여, 인증 제어기(110)는 인증 요청에 응답하여 해쉬 함수(132) 및 난수 발생기(133)을 제어할 수 있다(S12-1). 난수 발생기(133)는 인증 제어기(110)의 제어에 따라 챌린지에 대응하는 씨드값(seed value)를 발생하고, 이를 공유 메모리(140)에 전송할 수 있다(S12-2). 해쉬 함수(132)는 인증 제어기(110)의 제어에 따라 씨드값을 이용하여 랜덤값(random value)을 발생하고, 이를 공유 메모리(140)에 전송할 수 있다(S12-3). 여기서 랜덤값이 챌린지 값일 수 있다. 한편, 도 11에 도시된 바와 같이, 해쉬 함수(132)와 난수 발생기(133)를 이용한 챌린지 값 발생 과정은 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.11 is a view for explaining a process of generating a challenge corresponding to an authentication request when the
실시 예에 있어서, 인증 제어기(110)는 공유 메모리(140)의 입출력을 제어할 수 있다(S12-4).In an embodiment, the
도 12는 본 발명의 실시 예에 따른 인증 장치(100)의 단독 인증 프로토콜 진행시, 상대방의 공개키 인증서와 리스판스를 입력 받는 과정을 예시적으로 설명하는 도면이다. 도 7 내지 도 12를 참조하면, 상대방의 공개키 인증서와 리스판스를 입력 받는 과정은 다음과 같다.FIG. 12 is an exemplary diagram illustrating a process of receiving a public key certificate and a response of a counterpart when a single authentication protocol of the
인증 장치(100)는 상대방(300)의 인증서(공개키 포함)와 챌린지에 대한 리스판스를 입력 받을 수 있다. 상대방(300)의 인증서는 인증서 핸들러(120)에 입력되었다가 공유 메모리(140)에 저장될 수 있다(S13-1). 인증서 핸들러(120)는 공유 메모리(140)에 저장된 상대방의 인증서를 정해진 절차에 따라 처리할 수 있다(S13-2). 또한, 상대방의 리스판스는 인증서 제어기(110)를 경유하여 공유 메모리(140)에 저장될 수 있다(S13-3). 인증 제어기(110)는 공개키 인증서 및 리스판스 입력을 위하여 공유 메모리(140)의 전반적인 동작을 제어할 수 있다(S13-4).The
도 13은 본 발명의 실시 예에 따른 인증 장치(100)의 단독 인증 프로토콜 진행시, 상대방의 공개키 인증서 및 리스판스를 검증하는 과정을 예시적으로 설명하는 도면이다. 도 7 내지 도 13을 참조하면, 상대방(300)의 공개키 인증서와 리스판스를 검증하는 과정은 다음과 같다.13 is a diagram for explaining a process of verifying a public key certificate and a response of a counterpart when an authentication protocol of the
인증 제어기(110)는 암호 프리미티브스(120) 및 공유 메모리(140)을 반복적으로 동작시킴으로써 공개키 인증서 및 리스판스를 검증할 수 있다(S14-1). 공개키 가속기(131)는 공개키 인증서 및 리스판스 검증 동작시 반복적으로 공유 메모리(140)를 접근할 수 있다(S14-2). 해쉬 함수(132)는 공개키 인증서 및 리스판스 검증 동작시 반복적으로 공유 메모리(140)를 접근할 수 있다(S14-3).The
한편, 본 발명의 실시 예에 따른 인증 장치(100)는 상호 인증 프로토콜에 적용 가능하다.Meanwhile, the
도 14는 본 발명의 실시 예에 따른 인증 장치의 상호 인증 프로토콜 진행 과정을 예시적으로 보여주는 다이어그램이다. 도 1 내지 도 6 및 도 14를 참조하면, 인증 장치(100)의 상호 인증 프로토콜은 다음과 같이 진행될 수 있다.FIG. 14 is a diagram illustrating an exemplary process of a mutual authentication protocol process of an authentication apparatus according to an embodiment of the present invention. Referring to Figs. 1 to 6 and 14, the mutual authentication protocol of the
S210, S220, S230 각각은 도 7에 도시된 제 S110, S120, S130에 동일하거나 유사하게 진행될 수 있기에, 여기서는 설명을 생략하겠다.S210, S220, and S230 may be performed in the same or similar manner to steps S110, S120, and S130 shown in FIG. 7, respectively, so that their descriptions are omitted here.
상호 인증 프로토콜을 진행하기 위한 챌린지가 발생 되면(S231), 인증 장치(100)는 인증 장치(100)의 공개키를 갖는 인증서 및 챌린지를 상대방에서 전송할 수 있다(S240).When a challenge for proceeding with the mutual authentication protocol occurs (S231), the
인증 장치(100)의 공개키를 갖는 인증서 및 챌린지가 상대방에게 전송되면(S241), 상대방은 인증 장치(100)의 공개키 인증서 및 챌린지를 입력 받고, 이것들을 검증한 뒤, 상대방의 공개키 인증서 및 챌린지와, 인증 장치(100)의 챌린지에에 대응하는 리스판스를 발생할 수 있다. 인증 장치(100)는 상대방의 공개키 인증서 및 리스판스를 입력 받을 수 있다(S250).When the certificate and the challenge having the public key of the
인증 장치(100)가 상대방의 공개키 인증서 및 챌린지와 리스판스를 입력 받으면(S251), 인증 장치(100)는 상대방의 공개키 인증서 및 리스판스가 유효한 지를 검증할 수 있다(S260). 반면에, 인증 장치(100)가 사전에 결정된 시간 동안에 상대방의 공개키 인증서 및 챌린지와 리스판스를 입력 받지 못하면(S252), 인증 장치(100)는 상호 인증 프로토콜의 실패 상태(295)로 진입할 수 있다.When the
검증이 성공하면(S261), 인증 장치(100)는 리스판스 발생 및 그것을 상대방에게 전송할 수 있다(S270). 반면에 검증이 실패하면(S262), 인증 장치(100)는 상호 인증 프로토콜의 실패 상태(S295)로 진입할 수 있다.If the verification is successful (S261), the
인증 장치(100)의 리스판스 발생 및 전송이 완료되면(S271), 인증 장치(100)는 공유 비밀키(shared secret key)를 발생할 수 있다(S280). 공유 비밀키 발생이 완료되면(S281), 인증 장치(100)는 상호 인증 프로토콜을 종료시킬 수 있다(S290).When the occurrence and transmission of the response of the
한편, 도 14에 도시된 상호 인증 프로토콜의 진행 과정은 본 발명을 제한하지 않는 실시 예들에 불과하다고 이해되어야 할 것이다.Meanwhile, it should be understood that the process of the mutual authentication protocol shown in FIG. 14 is merely an embodiment that does not limit the present invention.
한편, 본 발명의 실시 예에 따른 인증 장치(100)는 각 동작 단계에서 상호 인증 프로토콜을 진행한 동안에 발생되는 값이나, 진행을 위한 값들에 대한 읽기/쓰기 권한을 다르게 설정할 수 있다.Meanwhile, the
도 15는 본 발명의 실시 예에 따른 인증 장치가 상호 인증 프로토콜을 진행할 경우, 내부 정보에 대한 권한 관리를 예시적으로 보여주는 도면이다.FIG. 15 is a diagram illustrating an example of rights management for internal information when an authentication apparatus according to an embodiment of the present invention performs a mutual authentication protocol.
초기 상태(S210)에서는, 실행 값에 대하여는 읽기 및 쓰기가 모두 가능하다. 대기 상태(S220)에서는, 실행 값에 대하여는 읽기 가능하고, 요청 준비 값에 대하여는 읽기 및 쓰기 모두 가능하다. 챌린지 발생 상태(S230)에서는, 실행 값 및 요청 준비 값에 대하여는 읽기 가능하고, 인증 장치(100)의 챌린지에 대하여는 읽기 및 쓰기가 모두 가능하다.In the initial state (S210), reading and writing are both possible for the execution value. In the standby state (S220), the execution value is readable, and the read ready value is both readable and writable. In the challenge occurrence state (S230), the execution value and the request preparation value are readable, and the challenge of the
공개키 및 챌린지 전송 상태(S240)에서는, 실행 값, 요청 준비 값, 인증 장치(100)의 챌린지 값, 인증 장치(100)의 공개키 인증서에 대하여는 읽기 가능하고, 쓰기는 불가능하다.In the public key and challenge transmission state (S240), the execution value, the request preparation value, the challenge value of the
공개키 및 리스판스 입력 상태(S250)에서는, 실행 값, 요청 준비 값에 대하여 읽기 가능하고, 상대방의 공개키 인증서, 인증서 검증 값, 정보 데이터, 인증 장치(100)의 챌린지에 대응하는 리스판스 값에 대하여는 읽기 및 쓰기 모두 가능하다. In the public key and response input state (S250), the public key certificate, the certificate verification value, the information data, the response value corresponding to the challenge of the
공개키 및 리스판스 검증 상태(S260)에서는, 실행 값, 요청 준비 값, 인증 장치의 챌린지 값, 상대방의 공개키 인증서, 인증서 검증 값, 정보 데이터, 인증 장치(100)의 챌린지에 대응하는 상대방의 리스판스 값에 대하여는 읽기 가능하고, 인증 프로토콜을 위한 중간 값, 해쉬 값, 인증 결과 값에 대하여는 읽기 및 쓰기 모두 가능하다.In the public key and response validation state (S260), the execution value, the request preparation value, the challenge value of the authentication device, the counterpart's public key certificate, the certificate verification value, the information data, The response value is readable, the intermediate value for the authentication protocol, the hash value, and the authentication result value are both readable and writable.
리스판스 발생 및 전송 상태(S270)에서는, 실행 값, 요청 준비 값, 인증 장치(100)의 챌린지 값, 인증 장치(100)의 비밀 키 값, 상대방의 공개키 인증서, 정보 데이터에 대하여는 읽기 가능하고, 인증 프로토콜을 위한 중간 값, 해쉬 값, 인증 결과 값에 대하여는 읽기 및 쓰기 모두 가능하다.The response value, the request preparation value, the challenge value of the
공유 비밀키 발생 상태(S280)에서는, 실행 값, 요청 준비 값, 인증 장치(100)의 챌린지 값, 상대방의 챌린지 값에 대하여는 읽기 가능하고, 인증 프로토콜을 위한 중간 값, 해쉬 값, 인증 결과 값에 대하여는 읽기 및 쓰기 모두 가능하다.In the shared secret key generation state S280, the execution value, the request preparation value, the challenge value of the
종료 상태(S290) 및 실패 상태(S295)에서는, 인증 결과 값에 대하여는 읽기 가능하고, 쓰기는 불가능하다.In the end state (S290) and the failure state (S295), the authentication result value is readable, and writing is impossible.
도 16은 본 발명의 실시 예에 따른 인증 장치(100)의 상호 인증 프로토콜을 개념적으로 설명하는 래더 다이어그램이다. 도 16을 참조하면, 인증 장치(100)의 상호 인증 프로토콜은 다음과 같이 진행될 수 있다. 인증 장치(100)는 상대방(400)으로 인증 요청을 입력 받고(S21), 인증 요청에 응답한 챌린지(Challenge_A)를 발생할 수 있다(S23). 인증 장치(100)는 상호 인증 프로토콜을 위하여 인증 장치(100)의 공개키를 갖는 인증서(Certificate_A) 및 챌린지(Challenge_A)을 상대방(400)에 전송할 수 있다(S24).16 is a ladder diagram conceptually illustrating a mutual authentication protocol of the
상대방(400)은 전송된 인증 장치(100)의 인증서(Certificate_A)를 검증하고, 인증 장치(100)의 챌린지(Challenge_A)에 대응하는 리스판스를 발생할 수 있다. 검증 결과, 인증 장치(100)의 인증서(Certificate_A)가 유효하다면, 상대방(400)은 인증 장치(100)의 챌린지에 대응하는 리스판스(Response_O), 및 상대방(400)의 챌린지(Challenge_O)를 발생할 수 있다.The
인증 장치(100)는 상대방(400)의 공개키를 갖는 인증서(Certificate_O), 상대방(400)의 리스판스(Response_O), 및 상대방(400)의 챌린지(Challenge_O)를 입력 받을 수 있다(S25). 이후, 인증 장치(100)는 상대방(400)의 인증서(400) 및 상대방의 리스판스(Response_O)를 검증할 수 있다(S26). 이후, 상대방(400)의 검증이 유효하다면, 인증 장치(100)는 인증 장치(100)의 리스판스(Response_A)를 발생할 수 있다(S27). 이후, 인증 장치(100)는 상대방(400)과 공유된 비밀키(shared secret key)를 발생할 수 있다(S28). 이후에 인증 장치(100)는 상호 인증 프로토콜의 성공 여부를 알리는 리스판스(Response_0) 및 공유된 비밀키를 상대방(400)으로 전송할 수 있다. 여기서 공유된 비밀키는 세션키(session key)일 수 있다.The
도 17은 본 발명의 실시 예에 따른 인증 장치(100)의 상호 인증 프로토콜 진행시, 상대방(400)으로 인증 장치(100)의 공개키와 챌린지를 전송하는 과정을 예시적으로 설명하는 도면이다.17 is a diagram for explaining a process of transmitting a public key and a challenge of an
인증 장치(100)는 상대방(400)의 인증 요청에 응답하여 챌린지(Challenge_A)를 발생할 수 있다. 챌린지 발생 방법은 도 11에서 설명된 바와 같이 진행될 수 있다. 발생된 챌린지(Challenge_A)는 공유 메모리(140)에 저장될 수 있다. 상호 인증 프로토콜을 진행하기 위하여 인증 장치(100)는 인증 제어기(110)에 저장된 인증서(Certificate_A)를 상대방(400)으로 전송할 수 있다(S24-1). 또한, 인증 장치(100)는 공유 메모리(140)에 저장된 인증 장치(100)의 챌린지(Challenge_A)를 인증 제어기(110)를 경유하여 상대방(400)으로 전송할 수 있다(S24-2).The
도 18은 본 발명의 실시 예에 따른 인증 장치(100)의 상호 인증 프로토콜 진행시, 상대방의 공개키 인증서, 리스판스, 및 챌린지를 입력 받는 과정을 예시적으로 설명하는 도면이다. 도 14 내지 도 18을 참조하면, 상대방의 공개키 인증서(Certificate_O), 리스판스(Response_O) 및 챌린지(Challenge_O)를 입력 받는 과정은 다음과 같다.18 is a diagram for explaining a process of receiving a public key certificate, a response, and a challenge of a counter party when a mutual authentication protocol of the
인증 장치(100)는 상대방(400)의 공개키 인증서(Certificate_O)와 리스판스(Response_O) 및 챌린지(Challenge_O)를 입력 받을 수 있다. 상대방(400)의 인증서(Certificate_O)는 인증서 핸들러(120)를 경유하여 공유 메모리(140)에 저장될 수 있다(S25-1). 인증서 핸들러(120)는 공유 메모리(140)에 저장된 상대방의 인증서(Certificate_O)를 정해진 절차에 따라 처리할 수 있다(S25-2).The
또한, 상대방(400)의 리스판스(Response_O) 및 챌린지(Challenge_O)는 인증서 제어기(110)를 경유하여 공유 메모리(140)에 저장될 수 있다(S25-3). 인증 제어기(110)는 공개키 인증서(Certificate_O), 리스판스(Response_O) 및 챌린지(Challenge_O)의 입력을 위하여 공유 메모리(140)의 전반적인 동작을 제어할 수 있다(S25-4).In addition, the response_O and the challenge_O of the
도 19는 본 발명의 실시 예에 따른 인증 장치(100)의 상호 인증 프로토콜 진행시, 상대방에 챌린지에 응답하여 인증 장치(100)의 리스판스를 발생하는 과정을 예시적으로 설명하는 도면이다. 도 14 내지 도 19를 참조하면, 상대방(400)의 챌린지(Challenge_O)에 응답하여 인증 장치(100)의 리스판스(Response_A)를 발생하는 과정은 다음과 같다.19 is a view for explaining a process of generating a response of an
인증 제어기(110)는 상대방(400)의 챌린지(Challenge_O)에 응답하여 리스판스(Response_A)를 발생하기 위하여 암호 프리미티브스(120) 및 공유 메모리(140)를 제어할 수 있다(S27-1). 공개키 가속기(131)는 인증 장치(100)의 리스판스(Response_A)를 발생하기 위하여 공유 메모리(140)를 반복적으로 접근할 수 있다(S27-2). 또한, 해쉬 함수(132)는 인증 장치(100)의 리스판스(Response_A)를 발생하기 위하여 공유 메모리(140)를 반복적으로 접근할 수 있다(S27-3). 발생된 리스판스(Response_A)는 인증 제어기(110)을 경유하여 상대방(400)으로 전송될 수 있다(S27-4).The
도 20은 본 발명의 실시 예에 따른 인증 장치(100)의 상호 인증 프로토콜 진행시, 공유된 비밀키(shared secret key)를 발생하는 과정을 예시적으로 설명하는 도면이다. 도 14 내지 도 20을 참조하면, 인증 장치(100)의 공유된 비밀키 발생 과정은 다음과 같다.20 is a view for explaining a process of generating a shared secret key when the mutual authentication protocol of the
인증 제어기(110)는 공개키 가속기(131)와 공유 메모리(140)를 반복적으로 접근함으로써 공유된 비밀키(shared secret key)를 발생할 수 있다(S28-1). 공개키 가속기(131)는 공유된 비밀키를 발생하기 위하여 공유 메모리(140)를 반복적으로 접근할 수 있다(S28-2).The
도 21은 본 발명의 실시 예에 따른 모바일 장치를 예시적으로 보여주는 도면이다. 도 21을 참조하면, 모바일 장치(1000)는 보안 칩(1020), 프로세서(AP/ModAP, 1100), 버퍼 메모리(1200), 디스플레이/터치 모듈(1300) 및 저장 장치(1400)를 포함한다.21 is an exemplary illustration of a mobile device in accordance with an embodiment of the present invention. 21, the
보안 칩(1020)은 모바일 장치(1000)의 전반적인 보안 기능을 제공하도록 구현될 수 있다. 보안 칩(1020)은, 소프트웨어 및/혹 변조 방지 하드웨어(tamper resistant hardware)로 구성되고, 높은 수준의 보안을 허용하고, 프로세서(1100)의TEE(trusted execution environment)에 협력하여 작업할 수 있다. 보안 칩(1020)은 운영 체제인 Native OS(operation system), 내부의 데이터 저장소인 보안 저장 장치, 보안칩(1020)에 접근 권을 제어하는 접근 제어 블록, 오너십 관리(ownership management), 키 관리(key management), 디지털 서명(digital signature), 암호/복호 등을 수행하는 보안 기능 블록과 보안 칩(1020)의 펌웨어를 업데이트하기 위한 펌웨어 업데이트 블록을 포함할 수 있다. 보안 칩(1020)는, 예를 들어, UICC(universal IC card, 예, USIM, CSIM, ISIM), SIM(subscriber identity module) 카드, eSE(embedded secure elements), MicroSD, Stikers 등 일 수 있다.The
또한, 본 발명의 보안 칩(1020)은 도 1 내지 도 20에서 설명한 인증 장치(100)를 포함할 수 있다. 도 21에서 인증 장치는 프로세서(1100)의 외부에 존재하도록 도시된다. 하지만, 본 발명의 인증 장치의 위치가 여기에 제한될 필요는 없다. 본 발명의 인증 장치는 프로세서(1100)의 내부에 존재할 수도 있다.In addition, the
프로세서(1100)는 모바일 장치(1000)의 전반적인 동작 및 외부와의 유선/무선 통신을 제어하도록 구현될 수 있다. 예를 들어, 프로세서(1100)는 어플리케이션 프로세서(AP, application processor), 통합 모뎀 어플리케이션 프로세서(ModAP) 등 일 수 있다.The
버퍼 메모리(1200)는 모바일 장치(1000)의 처리 동작 시 필요한 데이터를 임시로 저장하도록 구현될 수 있다. 디스플레이/터치 모듈(1300)은 프로세서(1100)에서 처리된 데이터를 디스플레이하거나, 터치 패널로부터 데이터를 입력받도록 구현될 수 있다. 저장 장치(1400)는 사용자의 데이터를 저장하도록 구현될 수 있다. 저장 장치(1400)는 eMMC(embedded multimedia card), SSD(solid state drive), UFS(universal flash storage) 등 일 수 있다. 저장 장치(1400)는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다.The
비휘발성 메모리 장치는, 낸드 플래시 메모리(NAND Flash Memory), 수직형 낸드 플래시 메모리(Vertical NAND; VNAND), 노아 플래시 메모리(NOR Flash Memory), 저항성 램(Resistive Random Access Memory: RRAM), 상변화 메모리(Phase-Change Memory: PRAM), 자기저항 메모리(Magnetoresistive Random Access Memory: MRAM), 강유전체 메모리(Ferroelectric Random Access Memory: FRAM), 스핀주입 자화반전 메모리(Spin Transfer Torque Random Access Memory: STT-RAM) 등이 될 수 있다.The nonvolatile memory device may be a NAND flash memory, a vertical NAND (VNAND), a NOR flash memory, a resistive random access memory (RRAM), a phase change memory (PRAM), a magnetoresistive random access memory (MRAM), a ferroelectric random access memory (FRAM), a spin transfer random access memory (STT-RAM), etc. .
또한, 비휘발성 메모리 장치는 3차원 어레이 구조(three-dimensional array structure)로 구현될 수 있다. 본 발명의 실시 예로서, 3차원 메모리 어레이는, 실리콘 기판 및 메모리 셀들의 동작에 연관된 회로의 위에 배치되는 활성 영역을 갖는 메모리 셀들의 어레이들의 하나 또는 그 이상의 물리 레벨들에 모놀리식으로(monolithically) 형성될 수 있다. 메모리 셀들의 동작에 연관된 회로는 기판 내에 또는 기판 위에 위치할 수 있다. 모놀리식(monolithical)이란 용어는, 3차원 어레이의 각 레벨의 층들이 3차원 어레이의 하위 레벨의 층들 위에 직접 증착됨을 의미한다.The non-volatile memory device may also be implemented as a three-dimensional array structure. As an embodiment of the present invention, a three-dimensional memory array may be monolithically connected to one or more physical levels of arrays of memory cells having active areas disposed above a circuit associated with operation of a silicon substrate and memory cells. ). The circuitry associated with the operation of the memory cells may be located within or on the substrate. The term monolithical means that layers of each level in a three-dimensional array are deposited directly on the lower-level layers of the three-dimensional array.
본 발명의 개념에 따른 실시 예로서, 3차원 메모리 어레이는 수직의 방향성을 가져, 적어도 하나의 메모리 셀이 다른 하나의 메모리 셀 위에 위치하는 수직 NAND 스트링들을 포함한다. 적어도 하나의 메모리 셀은 전하 트랩 층을 포함한다. 각각의 수직 NAND 스트링은 메모리 셀들 위에 위치하는 적어도 하나의 선택 트랜지스터를 포함할 수 있다. 적어도 하나의 선택 트랜지스터는 메모리 셀들과 동일한 구조를 갖고, 메모리 셀들과 함께 모놀리식으로 형성될 수 있다.As an embodiment in accordance with the inventive concept, a three-dimensional memory array has vertical directionality and includes vertical NAND strings in which at least one memory cell is located on the other memory cell. The at least one memory cell includes a charge trap layer. Each vertical NAND string may include at least one select transistor located over the memory cells. The at least one select transistor has the same structure as the memory cells and can be formed monolithically with the memory cells.
3차원 메모리 어레이가 복수의 레벨들로 구성되고, 레벨들 사이에 공유된 워드 라인들 또는 비트 라인들을 갖는다. 3차원 메모리 어레이에 적합한 구성은, 삼성전자에서 출원하였으며, 이 출원의 참고문헌으로 결합된 US 7,679,133, US 8,553,466, US 8,654,587, US 8,559,235, 및 US 2011/0233648에 설명될 것이다. 본 발명의 비휘발성 메모리 장치(NVM)는 전하 저장층이 전도성 부유 게이트로 구성된 플래시 메모리 장치는 물론, 전하 저장층이 절연막으로 구성된 차지 트랩형 플래시(charge trap flash; CTF)에도 모두 적용 가능하다. A three-dimensional memory array is composed of a plurality of levels and has word lines or bit lines shared between the levels. Suitable configurations for a three-dimensional memory array will be described in US 7,679,133, US 8,553,466, US 8,654,587, US 8,559,235, and US 2011/0233648, filed by Samsung Electronics and incorporated herein by reference. The nonvolatile memory device (NVM) of the present invention is applicable not only to a flash memory device in which the charge storage layer is composed of a conductive floating gate but also to a charge trap flash (CTF) in which the charge storage layer is composed of an insulating film.
본 발명의 공개키 암호 시스템 기반의 인증 장치의 구성 방법은 하위 구성 요소들이 리소스를 공유하여 사용하는 방식, 구성 요소 내부의 저장장치를 제한하고 공유 리소스를 활용하는 방식, 공개키 암호시스템 기반 인증 프로토콜을 절차에 맞게 진행하는 하위 구성 요소를 포함하고 있는 구조, 및 공개키 인증서를 하위 구성 요소에 의해 처리하는 구조를 제안한다.A method of configuring an authentication device based on a public key cryptosystem of the present invention includes a method in which subcomponents share a resource, a method in which a storage device in a component is limited and a shared resource is utilized, a public key cryptosystem- , And a structure for processing the public key certificate by the sub-component.
본 발명의 공개키 암호 시스템 기반의 인증 장치의 하드웨어 구조는 공개키 암호시스템 기반의 인증 프로토콜을 수행 하드웨어 장치와 공개키 인증서를 관리하는 장치를 제안한다.The hardware structure of the authentication device based on the public key cryptosystem of the present invention proposes a hardware device for performing an authentication protocol based on a public key cryptosystem and a device for managing a public key certificate.
도 22는 본 발명의 실시 예에 따른 IoT 네트워크 시스템을 예시적으로 보여주는 도면이다. 도 22를 참조하면, 모바일 장치(22-1), 웨어러블 장치(22-2), 혹은 스마트 글래스(22-3), 센서(22-4), 기타 등등은 본 발명의 인증 장치(100)를 구비할 수 있다.22 is a diagram illustrating an exemplary IoT network system according to an embodiment of the present invention. 22, the mobile device 22-1, the wearable device 22-2, or the smart glass 22-3, the sensor 22-4, and the like are similar to the
발명이 적용될 수 있는 제품은 공개키 암호시스템 기반 인증을 지원해야 하는 기기, 일예로, 스마트폰, IoT 환경을 지원하는 전구/온도계/동작감지센서, 프린터 토너, 스마트폰 플립커버, 어플리케이션 프로세서, 디스플레이 드라이버 집적회로(Display driver IC, DDI) 등을 모두 포함할 수 있다. 또한, 상술한 장치들 이외에 공개키 암호시스템 기반 인증을 지원해야 하는 다른 모든 기기들에도 적용될 수 있다.The products to which the invention can be applied include devices that must support public key cryptosystem based authentication, such as a smartphone, a bulb / thermometer / motion detection sensor that supports the IoT environment, a printer toner, a smartphone flip cover, A driver integrated circuit (DDI), and the like. It is also applicable to all other devices that need to support public key cryptographic system based authentication in addition to the above-described devices.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made therein without departing from the spirit and scope of the invention. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by the equivalents of the claims of the present invention as well as the claims of the following.
Claims (20)
상대방의 인증서를 수신하고, 상기 상대방의 인증서를 분석, 혹은 검증하는 인증서 핸들러;
상기 상대방의 인증 요청에 응답을 수신하고, 상기 인증 요청에 응답하여 난수를 발생하고, 상기 난수에 대응하는 챌린지를 발생하고, 상기 챌린지에 대응하는 상기 상대방의 리스판스를 검증하는 암호 프리미티브스;
상기 분석된 인증서, 상기 난수, 상기 챌린지, 상기 리스판스를 저장하는 공유 메모리; 및
인증 프로토콜에 따른 레지스터 설정을 통하여 상기 인증서 핸들러, 상기 암호 프리미티브스, 및 상기 공유 메모리를 제어하는 인증 제어기를 포함하는 인증 장치.An authentication device included in a device supporting network communication, comprising:
A certificate handler for receiving a certificate of the other party and analyzing or verifying the other party's certificate;
A cipher primitive for receiving a response to the authentication request of the other party, generating a random number in response to the authentication request, generating a challenge corresponding to the random number, and verifying the response of the counterpart corresponding to the challenge;
A shared memory for storing the analyzed certificate, the random number, the challenge, and the response; And
And an authentication controller for controlling the certificate handler, the encryption primitives, and the shared memory through register setting according to an authentication protocol.
상기 인증 제어기는,
상기 인증 프로토콜을 진행하기 위한 값들을 저장하는 레지스터들; 및
상기 인증 장치의 인증서를 저장하는 원-타임 프로그래머블 메모리를 포함하는 인증 장치.The method according to claim 1,
Wherein the authentication controller comprises:
Registers for storing values for proceeding with the authentication protocol; And
And a one-time programmable memory for storing the certificate of the authentication device.
상기 레지스터들은,
상기 인증 프로토콜의 시작을 지시하는 제 1 레지스터;
상기 상대방으로부터 상기 인증 요청을 입력 받을 때 설정되는 제 2 레지스터; 및
상기 인증 프로토콜의 결과값을 저장하는 제 3 레지스터를 포함하는 인증 장치.3. The method of claim 2,
The registers,
A first register for indicating the start of the authentication protocol;
A second register that is set when the authentication request is received from the other party; And
And a third register for storing a result value of the authentication protocol.
상기 인증 장치의 인증서는 상기 인증 장치의 공개키와 상기 인증 장치의 비밀키를 포함하는 인증 장치.3. The method of claim 2,
Wherein the certificate of the authentication device includes a public key of the authentication device and a secret key of the authentication device.
상기 암호 프리미티브스는,
상기 챌린지를 발생하거나 혹은 상기 리스판스를 검증하는데 필요한 모듈러 연산 혹은 포인트 연산을 수행하는 공개키 가속기;
상기 난수를 입력 받고 해쉬 알고리즘에 의거하여 상기 챌린지를 발생하는 해쉬 함수; 및
상기 인증 요청에 응답하여 상기 난수를 발생하는 난수 발생기를 포함하는 인증 장치.The method according to claim 1,
The cryptographic primitive includes:
A public key accelerator for performing a modular operation or a point operation necessary for generating the challenge or verifying the response;
A hash function for receiving the random number and generating the challenge based on a hash algorithm; And
And a random number generator for generating the random number in response to the authentication request.
상기 공개키 가속기는 제 1 데이터 라인을 통하여 상기 공유 메모리에 반복적으로 접근하고,
상기 해쉬 함수는 제 2 데이터 라인을 통하여 상기 공유 메모리에 반복적으로 접근하고,
상기 난수 발생기는 제 3 데이터 라인을 통하여 상기 공유 메모리에 반복적으로 접근하는 인증 장치.6. The method of claim 5,
Wherein the public key accelerator repeatedly accesses the shared memory via a first data line,
The hash function repeatedly accesses the shared memory via a second data line,
And the random number generator repeatedly accesses the shared memory via a third data line.
상기 공유 메모리는,
상기 인증 장치의 상기 챌린지를 저장하는 제 1 영역; 상기 인증 장치의 리스판스를 저장하는 제 2 영역; 상기 상대방의 상기 분석된 인증서를 저장하는 제 3 영역; 상기 상대방의 챌린지를 저장하는 제 4 영역; 상기 상대방의 상기 리스판스를 저장하는 제 5 영역; 상기 인증 프로토콜의 진행시 중간 값을 저장하는 제 6 영역; 및 해쉬 함수의 해쉬 값을 저장하는 제 7 영역 중 적어도 하나를 포함하는 인증 장치.The method according to claim 1,
The shared memory includes:
A first area for storing the challenge of the authentication device; A second area for storing a response of the authentication device; A third area for storing the analyzed certificate of the other party; A fourth area for storing a challenge of the other party; A fifth area for storing the response of the other party; A sixth area for storing an intermediate value in the progress of the authentication protocol; And a seventh area for storing a hash value of the hash function.
상기 제 1 내지 상기 제 7 영역에 저장된 값들 중 적어도 하나는, 상기 인증서 핸들러, 상기 암호 프리미티브스, 및 상기 인증 제어기 중 적어도 하나에서 재사용되는 인증 장치.8. The method of claim 7,
Wherein at least one of the values stored in the first to seventh areas is reused in at least one of the certificate handler, the encryption primitives, and the authentication controller.
상기 재사용되는 상기 적어도 하나의 값을 전송하기 위한 별도의 데이터 라인을 더 포함하는 인증 장치.9. The method of claim 8,
Further comprising a separate data line for transmitting said at least one value to be reused.
상기 인증 제어기는, 상기 인증 프로토콜의 진행시 동작 단계에 대응하는 레지스터에 대한 읽기 혹은 쓰기 권한을 다르게 설정하는 인증 장치.The method according to claim 1,
Wherein the authentication controller sets a read or write right for a register corresponding to an operation step of the authentication protocol differently.
제 2 구성 요소를 포함하고,
상기 제 1 및 제 2 구성 요소들 중 적어도 하나는 인증 장치를 포함하고,
상기 인증 장치는,
상대방의 인증서를 입력, 분석, 혹은 검증하는 인증서 핸들러;
난수를 발생하고, 상기 난수에 대응하는 챌린지를 발생하고, 상기 챌린지에 대응하는 상기 상대방의 리스판스를 검증하거나, 상기 상대방의 챌린지에 대응하는 상기 인증 장치의 리스판스를 발생하는 암호 프리미티브스;
상기 분석된 인증서, 상기 난수, 상기 챌린지, 상기 리스판스를 저장하는 공유 메모리; 및
상기 상대방의 인증 요청 혹은 상기 상대방에 대한 인증 요청시 인증 프로토콜에 따른 레지스터 설정을 통하여 상기 인증서 핸들러, 상기 암호 프리미티브스, 및 상기 공유 메모리를 제어하는 제어기를 포함하는 모바일 장치.A first component; And
And a second component,
Wherein at least one of the first and second components comprises an authentication device,
The authentication device includes:
A certificate handler for entering, analyzing, or verifying the other party's certificate;
A cipher primitive for generating a random number, generating a challenge corresponding to the random number, verifying a response of the counterpart corresponding to the challenge, or generating a response of the authentication device corresponding to the challenge of the counterpart;
A shared memory for storing the analyzed certificate, the random number, the challenge, and the response; And
And a controller for controlling the certificate handler, the encryption primitives, and the shared memory through a register setting according to an authentication protocol when the authentication request of the counterpart or the authentication request to the counterpart is made.
상기 인증 프로토콜은 공개키 암호 시스템 기반의 단독 인증 프로토콜이고,
상기 단독 인증 프로토콜은,
상기 상대방으로부터 상기 인증 요청을 입력 받고,
상기 인증 요청에 응답하여 상기 챌린지를 발생하고, 상기 챌린지를 상기 상대방에 전송하고,
상기 상대방으로부터 상기 상대방의 인증서 및 상기 상대방의 리스판스를 입력 받고,
상기 상대방의 인증서 및 상기 상대방의 리스판스를 검증하는 동작을 수행하는 모바일 장치.12. The method of claim 11,
Wherein the authentication protocol is a single authentication protocol based on a public key cryptosystem,
Wherein the single authentication protocol comprises:
Receives the authentication request from the other party,
Generate the challenge in response to the authentication request, send the challenge to the counterpart,
Receives the certificate of the other party and the response of the other party from the other party,
And verifying the other party's certificate and the other party's response.
상기 인증 제어기는 상기 상대방으로부터 상기 인증 요청을 입력 받고, 상기 인증 요청에 응답하여 대응하는 레지스터를 설정하는 모바일 장치. 13. The method of claim 12,
Wherein the authentication controller receives the authentication request from the counterpart and sets a corresponding register in response to the authentication request.
상기 암호 프리미티브스는 난수 발생기 및 해쉬 함수를 더 포함하고,
상기 인증 제어기는, 상기 인증 요청에 응답하여 상기 난수 발생기에서 상기 난수를 발생하도록, 상기 공유 메모리에 상기 난수를 저장하도록, 상기 해쉬 함수에서 상기 공유 메모리에 저장된 상기 난수를 재사용하여 상기 챌린지를 발생하도록, 상기 난수 발생기, 상기 해쉬 함수, 및 상기 공유 메모리를 제어 하는 모바일 장치.13. The method of claim 12,
Wherein the cryptographic primitive further comprises a random number generator and a hash function,
Wherein the authentication controller generates the challenge by reusing the random number stored in the shared memory in the hash function to store the random number in the shared memory so as to generate the random number in the random number generator in response to the authentication request The random number generator, the hash function, and the shared memory.
상기 인증서 핸들러는 상기 상대방의 인증서를 입력 및 분석하고, 상기 분석된 인증서를 상기 공유 메모리에 저장하고,
상기 인증 제어기는 상기 상대방의 리스판스를 입력 받고, 상기 리스판스를 상기 공유 메모리에 저장하는 모바일 장치.13. The method of claim 12,
Wherein the certificate handler inputs and analyzes the certificate of the other party, stores the analyzed certificate in the shared memory,
Wherein the authentication controller receives the response of the other party and stores the response in the shared memory.
상기 인증서 핸들러는 상기 공유 메모리에 저장된 인증서가 유효한 지를 검증하고,
상기 인증 제어기는 상기 상대방의 인증서가 유효할 때 상기 암호 프리미티브스를 이용하여 상기 공유 메모리에 저장된 리스판스가 유효한 지를 판별하는 모바일 장치. 16. The method of claim 15,
The certificate handler verifies that the certificate stored in the shared memory is valid,
Wherein the authentication controller uses the cryptographic primitives to determine if a responder stored in the shared memory is valid when the other party's certificate is valid.
상기 인증 프로토콜은 공개키 암호 시스템 기반의 상호 인증 프로토콜이고,
상기 단독 인증 프로토콜은,
상기 상대방으로부터 상기 인증 요청을 입력 받고,
상기 인증 요청에 응답하여 상기 챌린지를 발생하고, 상기 챌린지 및 상기 인증 장치의 인증서를 상기 상대방에 전송하고,
상기 상대방으로부터 상기 상대방의 인증서, 상기 상대방의 리스판스, 및 상기 상대방의 챌린지를 입력 받고,
상기 상대방의 인증서 및 상기 상대방의 리스판스를 검증하고,
상기 상대방의 챌린지에 응답하여 상기 인증 장치의 리스판스를 발생하고,
인증 동작이 성공할 때, 공유된 비밀키를 발생하는 동작을 수행하는 모바일 장치.12. The method of claim 11,
Wherein the authentication protocol is a mutual authentication protocol based on a public key cryptosystem,
Wherein the single authentication protocol comprises:
Receives the authentication request from the other party,
Generating the challenge in response to the authentication request, sending the challenge and the certificate of the authentication device to the other party,
Receives the certificate of the other party, the response of the partner, and the challenge of the partner from the partner,
Verifying the other party's certificate and the other party's response,
Generate a response of the authentication device in response to the challenge of the other party,
And when the authentication operation succeeds, generating a shared secret key.
상기 제 1 구성 요소는 디스플레이 드라이버 칩이고,
상기 제 2 구성 요소는 디스플레이 장치인 모바일 장치.12. The method of claim 11,
Wherein the first component is a display driver chip,
Wherein the second component is a display device.
상기 모바일 장치는 스마트폰이고,
상기 상대방은 상기 스마트폰을 감싸는 플립 커버(flip cover)인 모바일 장치.12. The method of claim 11,
The mobile device is a smartphone,
Wherein the other party is a flip cover that encloses the smartphone.
상대방으로부터 인증 요청을 입력 받는 단계;
상기 인증 요청을 지시하는 제 1 레지스터를 읽기 및 쓰기 가능으로 설정하는 단계;
상기 인증 요청에 응답하여 제 1 챌린지를 발생하는 단계;
상기 제 1 챌린지를 저장하는 제 2 레지스터를 읽기 및 쓰기 가능으로 설정하는 단계;
상기 상대방으로부터 제 1 인증서 및 상기 제 1 챌린지에 대응하는 제 1 리스판스를 입력 받는 단계;
상기 제 1 인증서, 상기 제 1 인증서를 검증하는 값, 정보 데이터, 및 상기 제 1 리스판스를 저장하는 레지스터들을 읽기 및 쓰기 가능으로 설정하는 단계;
상기 제 1 인증서 및 상기 제 1 리스판스를 검증하는 단계; 및
상기 검증의 중간값 혹은 결과값을 저장하는 레지스터들을 읽기 쓰기 가능으로 설정하는 단계를 포함하는 방법.An authentication method for an authentication apparatus comprising:
Receiving an authentication request from the other party;
Setting a first register indicating the authentication request to be readable and writable;
Generating a first challenge in response to the authentication request;
Setting a second register for storing the first challenge to be readable and writable;
Receiving a first certificate and a first response corresponding to the first challenge from the other party;
Setting the first certificate, a value for verifying the first certificate, information data, and registers for storing the first response to be readable and writable;
Verifying the first certificate and the first response; And
And setting registers that store intermediate values or result values of the verification to be read / write enabled.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/212,343 US11070380B2 (en) | 2015-10-02 | 2016-07-18 | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20150139168 | 2015-10-02 | ||
KR1020150139168 | 2015-10-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170040721A true KR20170040721A (en) | 2017-04-13 |
KR102458351B1 KR102458351B1 (en) | 2022-10-26 |
Family
ID=58580094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150168664A KR102458351B1 (en) | 2015-10-02 | 2015-11-30 | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102458351B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210081615A (en) * | 2019-12-24 | 2021-07-02 | 한전케이디엔주식회사 | Cryptographic entity management device for power distribution security device |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126458A1 (en) * | 2000-12-28 | 2003-07-03 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
JP2013236376A (en) * | 2012-05-04 | 2013-11-21 | Samsung Electronics Co Ltd | System on chip, method of operating the same, and system in package including the same |
-
2015
- 2015-11-30 KR KR1020150168664A patent/KR102458351B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126458A1 (en) * | 2000-12-28 | 2003-07-03 | Kabushiki Kaisha Toshiba | Method for sharing encrypted data region among processes in tamper resistant processor |
JP2013236376A (en) * | 2012-05-04 | 2013-11-21 | Samsung Electronics Co Ltd | System on chip, method of operating the same, and system in package including the same |
Non-Patent Citations (1)
Title |
---|
Alfred J. Menezes 외 1명, Handbook of Applied Cryptography, CRC Press (1996.)* * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210081615A (en) * | 2019-12-24 | 2021-07-02 | 한전케이디엔주식회사 | Cryptographic entity management device for power distribution security device |
Also Published As
Publication number | Publication date |
---|---|
KR102458351B1 (en) | 2022-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10839391B2 (en) | Method and apparatus for secure offline payment | |
US11070380B2 (en) | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method | |
JP7416775B2 (en) | Peripheral device | |
EP3458999B1 (en) | Self-contained cryptographic boot policy validation | |
CN107533609B (en) | System, device and method for controlling multiple trusted execution environments in a system | |
US9768951B2 (en) | Symmetric keying and chain of trust | |
JP2022527757A (en) | Generating the ID of a computing device using a physical duplication difficulty function | |
JP5497171B2 (en) | System and method for providing a secure virtual machine | |
TWI391864B (en) | Critical security parameter generation and exchange system and method for smart-card memory modules | |
JP2022528641A (en) | Identity verification using private key | |
CN107925567A (en) | For optimizing the systems, devices and methods of symmetric key cache using the ticket that service provider's issue is checked by certificate status | |
US11853438B2 (en) | Providing cryptographically secure post-secrets-provisioning services | |
KR20210017083A (en) | Electronic device and method for generating attestation certificate based on fused key | |
CN113841355B (en) | Apparatus and system for securely monitoring using a blockchain | |
US20210165909A1 (en) | Security processor configured to authenticate user and authorize user for user data and computing system including the same | |
KR20170136406A (en) | Electronic device for authenticating application and operating method thereof | |
CN111740834A (en) | Secure sensor communication | |
CN112400294B (en) | Secure communications from within a non-volatile memory device | |
US20220141001A1 (en) | Secure communication in accessing a network | |
US20230342501A1 (en) | Secure Provisioning with Hardware Verification | |
KR102458351B1 (en) | Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method thereof | |
Vaswani et al. | Confidential machine learning within graphcore ipus | |
US11811948B2 (en) | Flexible security enclave for protecting data at rest and in motion | |
US20220050605A1 (en) | Remote enforcement of device memory | |
RU2633186C1 (en) | Personal device for authentication and data protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |