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 PDF

Info

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
Application number
KR1020150168664A
Other languages
Korean (ko)
Other versions
KR102458351B1 (en
Inventor
김기탁
강지수
배기석
신종훈
안경문
현진수
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US15/212,343 priority Critical patent/US11070380B2/en
Publication of KR20170040721A publication Critical patent/KR20170040721A/en
Application granted granted Critical
Publication of KR102458351B1 publication Critical patent/KR102458351B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication

Abstract

An authentication apparatus included in a device supporting a network communication according to the present invention comprises: a certificate handler receiving a certificate of the other party, and analyzing or verifying the received certificate; a cryptographic primitive receiving an 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 other party corresponding to the challenge; a shared memory storing the analyzed certificate, the random number, the challenge, and the response; and an authentication controller controlling the certificate handler, the cryptographic primitive, and the shared memory through a register setting according to an authentication protocol.

Description

공개키 암호 시스템 기반의 인증 장치, 그것을 갖는 모바일 장치 및 그것의 인증 방법{AUTHENTICATION APPARATUS BASED ON PUBLIC KEY CRYPTOSYSTEM, MOBILE DEVICE HAVING THE SAME AND AUTHENTICATION METHOD THEREOF}TECHNICAL FIELD [0001] The present invention relates to an authentication device based on a public key cryptosystem, a mobile device having the authentication device, and an authentication method thereof. [0002]

본 발명은 공개키 암호 시스템 기반의 인증 장치, 그것을 갖는 모바일 장치 및 그것의 인증 방법에 관한 것이다.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 network system 10 showing an authentication method of devices A and B having an authentication device according to an embodiment of the present invention. Referring to FIG. 1, the network system 10 may include a network 11 for wired / wireless connection of the devices A, B, and C to each other. In an embodiment, the network 11 may be an internet of things (IoT) network. In FIG. 1, three devices A, B and C are connected to the network 11 for convenience of explanation. However, the number of devices connected to the network 11 will not be limited thereto.

제 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 corresponding authentication device 100, 200. Unlike the first and second devices A and B, the third device C may not include an authentication device.

본 발명의 네트워크 시스템(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 network system 10 according to the present invention can be roughly divided into two types. First, mutual authentication between mutual (or 'bidirectional') authentication between devices A and B having authentication devices 100 and 200 and authentication of device A or B having authentication device 100 or 200 (Unilateral or " unidirectional ") authentication between the device C having no authentication device and the device C having no authentication device. In an embodiment, the first device A is a flip cover that wraps a smartphone, the second device B is a smartphone, and the third device C is a device that does not include an authentication device .

또한, 인증 장치(예, 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 second components 201, 202 of device B, Internal authentication can include mutual authentication or single authentication as external authentication. In an embodiment, the first component 201 may be a display driver integrated chip (DDI) device and the second component 202 may be a display device. In FIG. 1, device B illustrates one authentication device 200 included in component 201. However, the present invention is not limited thereto. Although not shown, other components 202 of device B may also include an authentication device. The method of configuring the authentication apparatus 100 of the first apparatus A may be similar to that of the authentication apparatus 200 of the second apparatus B although not shown.

한편, 도 1에 도시된 네트워크 시스템(10)은 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다On the other hand, it should be understood that the network system 10 shown in FIG. 1 is only an embodiment that does not limit the present invention

도 2는 본 발명의 실시 예에 따른 인증 장치(100)를 예시적으로 보여주는 블록도이다. 도 2를 참조하면, 인증 장치(100)는 인증 제어기(110), 인증서 핸들러(120), 암호 프리미티브스(cryptographic primitives, 130), 및 공유 메모리(140)를 포함할 수 있다.FIG. 2 is a block diagram illustrating an authentication apparatus 100 according to an exemplary embodiment of the present invention. Referring to FIG. Referring to FIG. 2, the authentication device 100 may include an authentication controller 110, a certificate handler 120, cryptographic primitives 130, and a shared memory 140.

인증 제어기(110)는 공개키(public key) 암호 시스템 기반의 인증 프로토콜을 수행하도록 구현될 수 있다. 여기서 인증 프로토콜은 외부 장치와의 외부 인증 프로토콜 혹은 내부 구성 요소와 내부 인증 프로토콜일 수 있다. 인증 제어기(110)는 상대방과의 통신을 통해 인증 프로토콜 진행을 직접적으로 담당할 수 있다. 예를 들어, 인증 제어기(110)는 인증 프로토콜 진행시 필요한 연산을 수행하기 위하여 단위 연산을 수행하는 구성 요소들(120, 130)을 반복적으로 호출할 수 있다. 또한, 인증 제어기(110)는 각 구성 요소들(120, 130)의 동작 시기를 순차적으로 조절함으로써 공유 메모리(140)를 공유할 수 있다. 즉, 인증 제어기(110)는 어느 하나의 구성 요소에서 공유 메모리(140)를 통해 입출력되는 값을 다른 구성 요소에서 사용할 수 있도록, 인증서 핸들러(120), 암호 프리미티브스(130) 및 공유 메모리(140)를 제어할 수 있다. 실시 예에 있어서, 인증 제어기(110)는 레지스터 설정을 통하여 인증 프로토콜을 위한 인증서 핸들러(120), 암호 프리미티브스(130) 및 공유 메모리(140)를 제어할 수 있다.The authentication controller 110 may be implemented to perform an authentication protocol based on a public key cryptosystem. Here, the authentication protocol may be an external authentication protocol with an external device or an internal component and an internal authentication protocol. The authentication controller 110 can directly take charge of the authentication protocol through communication with the other party. For example, the authentication controller 110 may repeatedly invoke the components 120 and 130 that perform a unit operation to perform an operation required when proceeding with an authentication protocol. In addition, the authentication controller 110 may share the shared memory 140 by sequentially controlling the operation timing of the respective components 120 and 130. That is, the authentication controller 110 includes a certificate handler 120, a cryptographic primitive 130, and a shared memory 140 (not shown) so that a value input and output through the shared memory 140 can be used by another component, Can be controlled. In an embodiment, the authentication controller 110 may control the certificate handler 120, the encryption primitive 130, and the shared memory 140 for the authentication protocol via register settings.

인증서 핸들러(120)는 공개키(public key) 인증서(certification)를 관리하도록 구현될 수 있다. 인증서 핸들러(120)는 인증서를 발생, 분석, 혹은 검증을 수행할 수 있다. 인증서 핸들러(120)는 상대방으로부터 입력된 인증서를 분석하고(parse), 분석된 인증서(parsed certificate)를 공유 메모리(140)에 저장할 수 있다. 예를 들어, 인증서 핸들러(120)는 상대방의 공개키 인증서를 입력 받고, 인증기관(certificate authority; CA)의 루트 인증서(root certificate)를 이용하여 상대방의 공개키 인증서가 유효한 지를 검증할 수 있다.The certificate handler 120 may be implemented to manage public key certificates. The certificate handler 120 may generate, analyze, or verify a certificate. The certificate handler 120 may parse the certificate entered from the other party and store the parsed certificate in the shared memory 140. [ For example, the certificate handler 120 receives the public key certificate of the other party and can verify that the public key certificate of the other party is valid by using the root certificate of the certificate authority (CA).

인증서 핸들러(120)는 공개키 인증서를 관리하기 위하여 공유 메모리(140)에 수시로, 지속적으로 접근하도록 구현될 수 있다. 즉, 인증서 핸들러(120)는 공개키 인증서를 발생 혹은 검증을 위한 내부 변수들을 공유 메모리(140)에 저장하도록 구현될 수 있다.The certificate handler 120 may be implemented to access the shared memory 140 from time to time to maintain the public key certificate. That is, the certificate handler 120 may be implemented to store the internal variables for generating or verifying the public key certificate in the shared memory 140.

암호 프리미티브스(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 authentication device 100. [ For example, the lease entered from the other party may be a value obtained by signing the challenge of the authentication device 100 with the other party's private key. At this time, the encryption primitive 130 can verify the response of the counterpart by decrypting the challenge using the counterpart's response (signature value) and the counterpart's public key (certificate).

또한, 암호 프리미티브스(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 encryption primitives 130 may be implemented to access the shared memory 140 from time to time to continuously perform a public key cryptographic operation, perform a hash operation, or generate a random number. That is, the encryption primitive 130 can be implemented to store the internal variables for the cryptographic operation, the hash operation, or the random number generation in the shared memory 140.

공유 메모리(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 memory 140 is implemented to store data for operation of at least one of the authentication controller 110, the certificate handler 120, and the encryption primitives 130, data generated during operation, . In an embodiment, the shared memory 140 may be implemented as a volatile memory, a nonvolatile memory, or a hybrid memory composed of volatile memory and nonvolatile memory. For example, the shared memory 140 may be a dynamic random access memory (DRAM), a static random access memory (SRAM), an embedded multimedia card (eMMC), or the like. The input / output control operation of the shared memory 140 may be performed by the authentication controller 120. [ That is, the authentication controller 120 may include a memory controller for controlling the shared memory 140.

실시 예에 있어서, 인증 장치(100)의 구성 요소들(110, 120, 130, 140)은 데이터 라인들(101, 102, 103, 104, 105)에 의해 서로 연결되도록 구현될 수 있다. 데이터 라인들(101, 102, 103, 104, 105) 각각은 인증 프로토콜을 수행할 때 발생되는 내부 데이터의 입출력 라인으로 이용될 수 있다.In an embodiment, the components 110, 120, 130, 140 of the authentication device 100 may be implemented to be interconnected by data lines 101, 102, 103, 104, Each of the data lines 101, 102, 103, 104, and 105 may be used as an input / output line of internal data generated when performing an authentication protocol.

본 발명의 인증 장치(100)의 구성 요소들(110, 120, 130)은 공유 메모리(140)를 공유할 수 있다. 이로 인해 각 구성 요소들(110, 120, 130)의 입/출력은 다른 구성 요소들과 공유하여 사용될 수 있다. 즉, 본 발명의 인증 장치(100)는 구성 요소를 독립적으로 사용하는 종래의 메모리를 줄임으로써, 인증 장치의 경량화를 달성시킬 수 있다.The components 110, 120, and 130 of the authentication device 100 of the present invention may share the shared memory 140. Therefore, the input / output of each of the components 110, 120, and 130 can be shared with other components. That is, the authentication apparatus 100 of the present invention can reduce the weight of the authentication apparatus by reducing the conventional memory that uses the constituent elements independently.

또한, 본 발명의 인증 장치(100)는 인증 프로토콜을 전용으로 수행하는 구성 요소(110)를 구비함으로써, 종래의 인증 장치에서 인증을 위한 SW(software)를 구동하기 위한 CPU 혹은 NVM을 제거시킬 수 있다. 즉, 인증 장치의 경량화시킬 수 있다. 게다가, 본 발명의 인증 장치(100)는 인증 프로토콜 진행을 위한 SW를 저장할 필요가 없기 때문에, SW의 위/변조로 인한 인증 장치의 오동작 가능성을 배제시킬 수 있다.In addition, the authentication apparatus 100 of the present invention includes the component 110 that exclusively performs the authentication protocol, thereby eliminating the CPU or NVM for driving SW (software) for authentication in the conventional authentication apparatus have. That is, the authentication device can be lightened. In addition, since the authentication apparatus 100 of the present invention does not need to store the SW for proceeding with the authentication protocol, it is possible to exclude the possibility of the malfunction of the authentication apparatus due to the up / modulation of the SW.

본 발명의 인증 장치(100)는, 인증 프로토콜을 수행하는 인증 제어기(110)와 공개키 인증서를 처리하기 위한 인증서 핸들러(120)를 이용하여, 사용자가 공개키 인증서를 인증 장치(110)에 입력하고, 인증 장치(100)를 동작시키는 것만으로 공개키 암호시스템 기반의 인증 프로토콜을 수행할 수 있다.The authentication apparatus 100 of the present invention may be configured such that a user inputs a public key certificate to the authentication apparatus 110 using an authentication controller 110 that performs an authentication protocol and a certificate handler 120 that processes a public key certificate And can operate the authentication device 100 based on the public key cryptosystem.

한편, 본 발명의 인증 장치(100)는 다양한 기기 및 부품에 적용하여 여러 가지 환경에서 다양한 인증 기능을 제공할 수 있다. 본 발명의 인증 장치(100)가 지원하는 공개키 암호시스템 기반 인증 프로토콜은 단독 인증 및 상호 인증이다. Meanwhile, the authentication device 100 of the present invention can be applied to various devices and parts to provide various authentication functions in various environments. The public key cryptosystem-based authentication protocols supported by the authentication apparatus 100 of the present invention are single authentication and mutual authentication.

인증 프로토콜이 수행되는 동작에 맞게 각 구성 요소들은 유기적으로 동작할 수 있다. 실시 예에 있어서, 단독 인증의 경우에, 인증 장치(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 authentication apparatus 100 is a result of the identification of the other party. In another embodiment, in the case of mutual authentication, the result of operation of the authentication device 100 is a sharing of the identity of the other party and a secret value to be used to generate a session key for subsequent secret communication.

한편, 도 2에 도시된 인증 장치(100)는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the authentication apparatus 100 shown in FIG. 2 is merely an embodiment that does not limit the present invention.

도 3은 도 2에 도시된 인증 제어기(110)를 예시적으로 보여주는 블록도이다. 도 3을 참조하면, 인증 제어기(110)는 레지스터들(112) 및 원-타임 프로그래머블 메모리(114)를 포함할 수 있다.FIG. 3 is a block diagram illustrating the authentication controller 110 shown in FIG. 2 by way of example. Referring to FIG. 3, the authentication controller 110 may include registers 112 and one-time programmable memory 114.

레지스터들(112)은 인증 장치(100)의 인증 프로토콜 진행 시작을 지시하는 실행값을 저장하는 제 1 레지스터(112-1), 인증 요청을 입력 받을 때 설정되는 준비값을 저장하는 제 2 레지스터(112-2), 및 인증 결과값을 저장하는 제 3 레지스터(112-3)을 포함할 수 있다. 제 1 레지스터(112-1)가 설정되면, 인증 장치(100)는 인증 프로토콜 동작을 시작할 수 있다. 외부의 장치로부터 인증 요청을 입력받으면, 제 2 레지스터(112-2)가 설정될 수 있다. 인증 프로토콜이 성공적으로 완료되면, 제 3 레지스터(113-3)가 설정될 수 있다.The registers 112 include a first register 112-1 for storing an execution value for instructing the start of authentication protocol processing of the authentication apparatus 100, a second register 112-1 for storing a ready value to be set when receiving an authentication request 112-2, and a third register 112-3 that stores authentication result values. When the first register 112-1 is set, the authentication apparatus 100 can start the authentication protocol operation. Upon receiving an authentication request from an external device, the second register 112-2 can be set. When the authentication protocol is successfully completed, the third register 113-3 can be set.

원-타임 프로그래머블 메모리(114)는 인증 장치(110)를 위한 인증서(certificate, 114-1)을 저장하도록 구현될 수 있다. 인증서(114-1)는 공개키 암호시스템 기반 인증 프로토콜을 수행하는데 필요한 인증 장치(110)의 공개키(public key, 114-2) 및 비밀키(secret key, 114-3)를 포함할 수 있다. 원-타임 프로그래머블 메모리(114)는 비밀키(114-3)를 보호하기 위한 보안대책(counter measure)을 구비하도록 구현될 수 있다.The one-time programmable memory 114 may be implemented to store a certificate 114-1 for the authentication device 110. [ The certificate 114-1 may include a public key 114-2 and a secret key 114-3 of the authentication device 110 required to perform a public key cryptographic system based authentication protocol . The one-time programmable memory 114 may be implemented with a counter measure to protect the secret key 114-3.

한편, 도 3에 도시된 인증 제어기(110)는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the authentication controller 110 shown in FIG. 3 is only an embodiment that does not limit the present invention.

도 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 key accelerator 131, a hash function 132, and a random number generator 133.

공개키 가속기(131)는 인증 프로토콜에 필요한 모듈러(modular) 연산 혹은 포인트(point) 연산을 수행하도록 구현될 수 있다. 실시 예에 있어서, 공개키 가속기(131) 및 인증 제어기(110)는 데이터 라인(103-1)을 통하여 연결될 수 있다. 실시 예에 있어서, 공개키 가속기(131) 및 공유 메모리(140)는 데이터 라인(104-1)을 통하여 연결될 수 있다.The public key accelerator 131 may be implemented to perform a modular operation or a point operation required for the authentication protocol. In an embodiment, the public key accelerator 131 and the authentication controller 110 may be coupled through a data line 103-1. In an embodiment, the public key accelerator 131 and the shared memory 140 may be connected via a data line 104-1.

해쉬 함수(132)는 해쉬(hash) 알고리즘을 수행하도록 구현될 수 있다. 실시 예에 있어서, 해쉬 함수(132) 및 인증 제어기(110)는 데이터 라인(103-2)을 통하여 연결될 수 있다. 실시 예에 있어서, 해쉬 함수(132) 및 공유 메모리(140)는 데이터 라인(104-2)를 통하여 연결될 수 있다.The hash function 132 may be implemented to perform a hash algorithm. In an embodiment, the hash function 132 and the authentication controller 110 may be connected via a data line 103-2. In an embodiment, the hash function 132 and the shared memory 140 may be connected via a data line 104-2.

난수 발생기(133)는 난수를 발생하도록 구현될 수 있다. 실시 예에 있어서, 난수 발생기(133) 및 인증 제어기(110)는 데이터 라인(103-3)을 통하여 연결될 수 있다. 실시 예에 있어서, 난수 발생기(133) 및 공유 메모리(140)는 데이터 라인(104-3)을 통하여 연결될 수 있다.The random number generator 133 may be implemented to generate a random number. In an embodiment, the random number generator 133 and the authentication controller 110 may be connected via a data line 103-3. In an embodiment, the random number generator 133 and the shared memory 140 may be connected via a data line 104-3.

또한, 실시 예에 있어서, 데이터 라인들(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 data line 103 shown in FIG. 2, and the data lines 104-1 104-2 and 104-4 -3) may be included in the data line 104 shown in FIG.

한편, 도 4에 도시된 암호 프리미티브스(130)는 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the cipher primitives 130 shown in FIG. 4 are merely examples that do not limit the present invention.

도 5는 본 발명의 실시 예에 따른 인증 장치(100)의 인증 프로토콜을 진행할 때 공유 메모리(140)에 저장될 데이터 영역들을 예시적으로 보여주는 도면이다.5 is an exemplary diagram illustrating data areas to be stored in the shared memory 140 when the authentication protocol of the authentication apparatus 100 according to the embodiment of the present invention is performed.

공유 메모리(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 memory 130 includes a first area 141 for storing a challenge of the authentication device 100 generated by the authentication controller 110 when the authentication protocol is executed, A second area 142 for storing a response generated by the opponent in response to the request, a third area 143 for storing a certificate parsed from the other party, A fourth area 144 for storing the challenge, a fifth area 145 for storing the response generated in the authentication device 100 in response to the other party's challenge, and an intermediate value for the authentication protocol And a seventh area 147 for storing a hashed value which is a result of the sixth area 146 and the hash function 124 (see FIG. 4). Here, the third area 143 includes an area 143-1 for storing a public key of the other party, an area 143-2 for storing a value for signature verification, and information data necessary for performing other authentication protocols And an area 143-3 for storing data.

도 6은 본 발명의 실시 예에 다른 인증 장치(100)가 인증 프로토콜을 진행할 때, 공유 메모리(140)에 저장된 각 구성 요소들(110, 120,130)의 입출력 값들을 다른 구성 요소에서 재사용하는 것을 예시적으로 보여주는 도면이다.6 illustrates an example of reusing input / output values of each of the components 110, 120, and 130 stored in the shared memory 140 in another component when the authentication apparatus 100 according to an embodiment of the present invention performs an authentication protocol. It is the drawing which shows it as enemy.

우선 구성 요소들(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 priority components 110, 120, and 130 may be stored as follows. The input and output values of the public key accelerator 131 may be stored in the sixth area 146 of the shared memory 140 via the data line 104-1. The input and output values of the hash function 132 may be stored in the seventh area 147 of the shared memory 140 via the data line 104-2. The input / output values of the random number generator 133 may be stored in the first area 141 of the shared memory 140 via the data line 104-3. The input / output values of the certificate handler 120 may be stored in the third area 143 of the shared memory 140 via the data line 102.

또한, 공유 메모리(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 memory 140 may be reused in other components as follows. In an embodiment, the challenge value stored in the first area 141 may be reused in the hash function 132 via the data line 104-5 and the result value stored in the seventh area 147. [ The hash value stored in the seventh region 147 may be reused in the public key accelerator 131 via the data line 104-6 and the resulting value may be stored in the sixth region 146 . In an embodiment, the parsed certificate of the third region 143 may be reused in the public key accelerator 131 via the data line 104-7, and the resulting value may be stored in the sixth region 146 . In an embodiment, the parsed certificate of the third region 143 may be reused in the hash function 132 via the data line 104-8, and the resulting value may be stored in the seventh region 147. [

한편, 인증 장치(100)의 구성 요소들(110, 120, 130) 각각은, 메모리(140)를 수시로, 반복적으로 접근하며, 출력 값을 발생할 수 있다.On the other hand, each of the components 110, 120, and 130 of the authentication device 100 can repeatedly access the memory 140 from time to time and generate an output value.

한편, 도 2에 도시된 구성 요소들(110, 120, 130)의 입출력값의 재사용 방법은 본 발명을 제한하지 않는 실시 예들에 불과하다고 이해되어야 할 것이다.On the other hand, it should be understood that the method of reusing input / output values of the components 110, 120, and 130 shown in FIG. 2 is merely an embodiment that does not limit the present invention.

도 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 authentication apparatus 100 can be proceeded as follows.

인증 장치(100)가 리셋(reset) 되면, 인증 장치(100)는 초기 상태(S110)로 될 수 있다. 또한, 종료 상태(S160)에서 초기화 동작에 의해 초기 상태(S110)로 천이 될 수도 있다. 또한, 실패 상태(S170)에서 리셋에 의해 초기 상태(S110)로 천이 될 수 있다.When the authentication device 100 is reset, the authentication device 100 may be in the initial state S110. In addition, transition may be made from the end state (S160) to the initial state (S110) by the initializing operation. Also, the transition from the failure state (S170) to the initial state (S110) can be made by reset.

인증 장치(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 authentication apparatus 100 or an internal signal. In the waiting state (S120), an authentication request can be awaited from the other party to proceed with the authentication protocol. When the authentication request is inputted from the other party (S121), the authentication apparatus 100 can be transited to the challenge occurrence state (S130). Where the challenge value may be generated in the random number generator 133 of the cipher primitives 130 (see also). The generated challenge value can be transmitted to the outside of the authentication apparatus 100, that is, to the other party. When the challenge transmission is completed (S131), the state can be switched to the public key and response input state (S140) of the other party. In S140, a public key of the other party to be authenticated and a response to the challenge of the authentication device 100 may be transmitted from the other party. If the public key of the other party and the lease field are input (S141), the authentication device 100 can be transitioned to the public key and response verification state (S150). In S150, if verification of the public key of the other party is performed and it is determined that the public key is a valid public key as the public key verification result, verification of the response can be performed.

만일, 이러한 검증이 성공하면(S151), 인증 장치(100)는 인증 프로토콜에 대한 종료 상태(S160)로 천이될 수 있다. 반면에, 이러한 검증이 실패하면(S152), 인증 장치(100)는 인증 프로토콜에 대한 실패 상태(S170)로 천이될 수 있다.If this verification is successful (S151), the authentication apparatus 100 can transition to the end state (S160) for the authentication protocol. On the other hand, if this verification fails (S152), the authentication apparatus 100 can transition to the failure state (S170) for the authentication protocol.

한편, 도 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 authentication apparatus 100 according to the embodiment of the present invention may set a value generated during the operation of the single authentication protocol or a read / write permission for the values for the progress in the respective operation steps differently. As a result, a specific value is modulated by the attacker, so that an action affecting the authentication result can be blocked. To this end, the authentication controller 110 shown in FIG. 3 may store the values stored in the registers 112 (see FIG. 3) or the values stored in the one-time programmable memory 114 (see FIG. 3) The access rights to the stored values can be adjusted.

도 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 authentication apparatus 100 is both readable and writeable. In the public key and response input state (S140), the execution value and the request preparation value are readable, and the public key value, the certificate verification value, the information data, and the response value of the other party are both readable and writable Do. In the public key and response validation state S150, it is possible to read out the execution value, the request preparation value, the challenge value of the authentication device, the public key value of the counterpart, the certificate verification value, the information data, The median value for the protocol, the hash value, and the authentication result value are both readable and writable. In the end state (S160) and the failure state (S170), the authentication result value is readable, and writing is impossible.

실시 예에 있어서, 읽기 및 쓰기 권한 설정은 대응하는 비트값을 저장하는 상태 레지스터에 의해 구현될 수 있다.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 authentication apparatus 100 according to the embodiment of the present invention. Referring to FIG. 9, the single authentication protocol of the authentication apparatus 100 may proceed as follows. The authentication apparatus 100 receives the authentication request from the counterpart 300 (S11), generates a challenge in response to the authentication request, and transmits the challenge to the counterpart 300 (S12). The other party 300 may generate a response using the transmitted challenge. The authentication apparatus 100 receives the public key and the response of the other party 300 (S13), and can verify them using the secret key of the authentication apparatus (S14). Thereby, the single authentication protocol can be terminated.

실시 예에 있어서, 상대방(300)은 인증 장치(100)를 포함한 장치(B, 도 1 참조)의 다른 구성 요소이거나, 인증 장치(100)를 포함한 장치 외부의 장치(C, 도 1 참조)일 수 있다.In the embodiment, the other party 300 is another component of the device B (see FIG. 1) including the authentication device 100, or a device C outside the device including the authentication device 100 .

도 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 authentication apparatus 100 according to the embodiment of the present invention performs a single authentication protocol. 7 to 10, the authentication request can be input as follows. The authentication apparatus 100 can receive an authentication request in a standby state (S120, see FIG. 7) (S11). Here, the authentication request can be input from the device A. [ The device A can receive an authentication request from another component of the device A or receive an authentication request from an external device of the device A and can transmit the authentication request to the authentication device 100. [ In an embodiment, the authentication request may be input to the authentication controller 110.

도 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 authentication apparatus 100 according to an exemplary embodiment of the present invention conducts a single authentication protocol. Referring to FIGS. 7 to 11, a process of generating a challenge is as follows. In order to generate the challenge, the authentication controller 110 may control the hash function 132 and the random number generator 133 in response to the authentication request (S12-1). The random number generator 133 generates a seed value corresponding to the challenge according to the control of the authentication controller 110 and transmits the generated seed value to the shared memory 140 (S12-2). The hash function 132 generates a random value using the seed value under the control of the authentication controller 110 and may transmit the generated random value to the shared memory 140 (S12-3). Here, the random value may be a challenge value. 11, it is to be understood that the challenge value generation process using the hash function 132 and the random number generator 133 is merely an embodiment that does not limit the present invention.

실시 예에 있어서, 인증 제어기(110)는 공유 메모리(140)의 입출력을 제어할 수 있다(S12-4).In an embodiment, the authentication controller 110 may control the input / output of the shared memory 140 (S12-4).

도 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 authentication apparatus 100 according to an embodiment of the present invention is performed. Referring to FIGS. 7 to 12, the process of receiving the public key certificate and the response of the other party is as follows.

인증 장치(100)는 상대방(300)의 인증서(공개키 포함)와 챌린지에 대한 리스판스를 입력 받을 수 있다. 상대방(300)의 인증서는 인증서 핸들러(120)에 입력되었다가 공유 메모리(140)에 저장될 수 있다(S13-1). 인증서 핸들러(120)는 공유 메모리(140)에 저장된 상대방의 인증서를 정해진 절차에 따라 처리할 수 있다(S13-2). 또한, 상대방의 리스판스는 인증서 제어기(110)를 경유하여 공유 메모리(140)에 저장될 수 있다(S13-3). 인증 제어기(110)는 공개키 인증서 및 리스판스 입력을 위하여 공유 메모리(140)의 전반적인 동작을 제어할 수 있다(S13-4).The authentication apparatus 100 can receive a certificate (including a public key) of the partner 300 and a response to the challenge. The certificate of the other party 300 may be input to the certificate handler 120 and stored in the shared memory 140 (S13-1). The certificate handler 120 may process the other's certificate stored in the shared memory 140 according to a predetermined procedure (S13-2). Also, the responder of the other party may be stored in the shared memory 140 via the certificate controller 110 (S13-3). The authentication controller 110 may control the overall operation of the shared memory 140 for public key certificate and response input (S13-4).

도 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 authentication device 100 according to an embodiment of the present invention is performed. 7 to 13, the process of verifying the public key certificate and response of the other party 300 is as follows.

인증 제어기(110)는 암호 프리미티브스(120) 및 공유 메모리(140)을 반복적으로 동작시킴으로써 공개키 인증서 및 리스판스를 검증할 수 있다(S14-1). 공개키 가속기(131)는 공개키 인증서 및 리스판스 검증 동작시 반복적으로 공유 메모리(140)를 접근할 수 있다(S14-2). 해쉬 함수(132)는 공개키 인증서 및 리스판스 검증 동작시 반복적으로 공유 메모리(140)를 접근할 수 있다(S14-3).The authentication controller 110 may verify the public key certificate and the response by repeatedly operating the cryptographic primitive 120 and the shared memory 140 (S14-1). The public key accelerator 131 may access the shared memory 140 repeatedly in the public key certificate and response verification operations (S14-2). The hash function 132 may access the shared memory 140 repeatedly during the public key certificate and response verification operations (S14-3).

한편, 본 발명의 실시 예에 따른 인증 장치(100)는 상호 인증 프로토콜에 적용 가능하다.Meanwhile, the authentication apparatus 100 according to the embodiment of the present invention is applicable to a mutual authentication protocol.

도 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 authentication apparatus 100 may proceed as follows.

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 authentication device 100 can transmit the certificate and challenge having the public key of the authentication device 100 (S240).

인증 장치(100)의 공개키를 갖는 인증서 및 챌린지가 상대방에게 전송되면(S241), 상대방은 인증 장치(100)의 공개키 인증서 및 챌린지를 입력 받고, 이것들을 검증한 뒤, 상대방의 공개키 인증서 및 챌린지와, 인증 장치(100)의 챌린지에에 대응하는 리스판스를 발생할 수 있다. 인증 장치(100)는 상대방의 공개키 인증서 및 리스판스를 입력 받을 수 있다(S250).When the certificate and the challenge having the public key of the authentication device 100 are transmitted to the other party (S241), the other party receives the public key certificate and challenge of the authentication device 100, verifies the public key certificate and the challenge, And a challenge, and a response corresponding to the challenge of the authentication device 100. [ The authentication apparatus 100 can receive the public key certificate and the response of the other party (S250).

인증 장치(100)가 상대방의 공개키 인증서 및 챌린지와 리스판스를 입력 받으면(S251), 인증 장치(100)는 상대방의 공개키 인증서 및 리스판스가 유효한 지를 검증할 수 있다(S260). 반면에, 인증 장치(100)가 사전에 결정된 시간 동안에 상대방의 공개키 인증서 및 챌린지와 리스판스를 입력 받지 못하면(S252), 인증 장치(100)는 상호 인증 프로토콜의 실패 상태(295)로 진입할 수 있다.When the authentication apparatus 100 receives the public key certificate and the challenge and response of the other party (S251), the authentication apparatus 100 can verify whether the public key certificate and the responder of the other party are valid (S260). On the other hand, if the authentication apparatus 100 does not receive the other party's public key certificate and challenge and response during a predetermined time (S252), the authentication apparatus 100 enters the mutual authentication protocol failure state 295 .

검증이 성공하면(S261), 인증 장치(100)는 리스판스 발생 및 그것을 상대방에게 전송할 수 있다(S270). 반면에 검증이 실패하면(S262), 인증 장치(100)는 상호 인증 프로토콜의 실패 상태(S295)로 진입할 수 있다.If the verification is successful (S261), the authentication apparatus 100 can generate a response and transmit it to the other party (S270). On the other hand, if the verification fails (S262), the authentication apparatus 100 can enter the mutual authentication protocol failure state (S295).

인증 장치(100)의 리스판스 발생 및 전송이 완료되면(S271), 인증 장치(100)는 공유 비밀키(shared secret key)를 발생할 수 있다(S280). 공유 비밀키 발생이 완료되면(S281), 인증 장치(100)는 상호 인증 프로토콜을 종료시킬 수 있다(S290).When the occurrence and transmission of the response of the authentication apparatus 100 is completed (S271), the authentication apparatus 100 can generate a shared secret key (S280). When the generation of the shared secret key is completed (S281), the authentication apparatus 100 can terminate the mutual authentication protocol (S290).

한편, 도 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 authentication apparatus 100 according to the embodiment of the present invention may set a value generated during the mutual authentication protocol process or a read / write permission for the values for the progress in the respective operation steps differently.

도 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 authentication apparatus 100 is both readable and writeable.

공개키 및 챌린지 전송 상태(S240)에서는, 실행 값, 요청 준비 값, 인증 장치(100)의 챌린지 값, 인증 장치(100)의 공개키 인증서에 대하여는 읽기 가능하고, 쓰기는 불가능하다.In the public key and challenge transmission state (S240), the execution value, the request preparation value, the challenge value of the authentication apparatus 100, and the public key certificate of the authentication apparatus 100 are readable and not writable.

공개키 및 리스판스 입력 상태(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 authentication apparatus 100, Can be read and written.

공개키 및 리스판스 검증 상태(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 authentication device 100, the secret key value of the authentication device 100, the public key certificate of the other party, and the information data are readable in the responder generation and transmission state (S270) , The intermediate value for the authentication protocol, the hash value, and the authentication result value are both readable and writable.

공유 비밀키 발생 상태(S280)에서는, 실행 값, 요청 준비 값, 인증 장치(100)의 챌린지 값, 상대방의 챌린지 값에 대하여는 읽기 가능하고, 인증 프로토콜을 위한 중간 값, 해쉬 값, 인증 결과 값에 대하여는 읽기 및 쓰기 모두 가능하다.In the shared secret key generation state S280, the execution value, the request preparation value, the challenge value of the authentication apparatus 100, and the challenge value of the other party are readable, and the intermediate value, the hash value, Both reading and writing are possible.

종료 상태(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 authentication apparatus 100 according to the embodiment of the present invention. Referring to FIG. 16, the mutual authentication protocol of the authentication apparatus 100 may proceed as follows. The authentication apparatus 100 receives an authentication request from the other party 400 in step S21, and may generate a challenge (Challenge_A) in response to the authentication request (S23). The authentication apparatus 100 may transmit a certificate (Certificate_A) having a public key of the authentication apparatus 100 and a challenge (Challenge_A) to the other party 400 for mutual authentication protocol (S24).

상대방(400)은 전송된 인증 장치(100)의 인증서(Certificate_A)를 검증하고, 인증 장치(100)의 챌린지(Challenge_A)에 대응하는 리스판스를 발생할 수 있다. 검증 결과, 인증 장치(100)의 인증서(Certificate_A)가 유효하다면, 상대방(400)은 인증 장치(100)의 챌린지에 대응하는 리스판스(Response_O), 및 상대방(400)의 챌린지(Challenge_O)를 발생할 수 있다.The other party 400 can verify the certificate (Certificate_A) of the transmitted authentication device 100 and generate a response corresponding to the challenge (Challenge_A) of the authentication device 100. [ As a result of the verification, if the certificate (Certificate_A) of the authentication apparatus 100 is valid, the other party 400 generates a response (Response_O) corresponding to the challenge of the authentication apparatus 100 and a challenge (Challenge_O) .

인증 장치(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 authentication apparatus 100 can receive a certificate (Certificate_O) having a public key of the counter party 400, a response (Response_O) of the counter party 400 and a challenge (Challenge_O) of the counterpart 400 (S25). Thereafter, the authentication apparatus 100 can verify the certificate 400 of the partner 400 and the response (Response_O) of the partner (S26). Thereafter, if the verification of the other party 400 is valid, the authentication device 100 can generate a response (Response_A) of the authentication device 100 (S27). Then, the authentication apparatus 100 can generate a shared secret key with the counter party 400 (S28). After that, the authentication apparatus 100 can transmit the response_0 indicating the success of the mutual authentication protocol and the shared secret key to the counterpart party 400. [ The shared secret key may be a session key.

도 17은 본 발명의 실시 예에 따른 인증 장치(100)의 상호 인증 프로토콜 진행시, 상대방(400)으로 인증 장치(100)의 공개키와 챌린지를 전송하는 과정을 예시적으로 설명하는 도면이다.17 is a diagram for explaining a process of transmitting a public key and a challenge of an authentication apparatus 100 to a counter party 400 when a mutual authentication protocol of the authentication apparatus 100 according to an embodiment of the present invention is in progress.

인증 장치(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 authentication apparatus 100 may generate a challenge (Challenge_A) in response to the authentication request of the counterpart 400. [ The challenge generation method may proceed as described in FIG. The generated challenge (Challenge_A) may be stored in the shared memory 140. In order to proceed with the mutual authentication protocol, the authentication apparatus 100 may transmit the certificate (Certificate_A) stored in the authentication controller 110 to the counterpart 400 (S24-1). The authentication apparatus 100 may transmit a challenge (Challenge_A) of the authentication apparatus 100 stored in the shared memory 140 to the other party 400 via the authentication controller 110 (S24-2).

도 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 authentication apparatus 100 according to an embodiment of the present invention is performed. 14 to 18, a process of receiving a public key certificate (Certificate_O), a response (Response_O), and a challenge (Challenge_O) of the other party is as follows.

인증 장치(100)는 상대방(400)의 공개키 인증서(Certificate_O)와 리스판스(Response_O) 및 챌린지(Challenge_O)를 입력 받을 수 있다. 상대방(400)의 인증서(Certificate_O)는 인증서 핸들러(120)를 경유하여 공유 메모리(140)에 저장될 수 있다(S25-1). 인증서 핸들러(120)는 공유 메모리(140)에 저장된 상대방의 인증서(Certificate_O)를 정해진 절차에 따라 처리할 수 있다(S25-2).The authentication apparatus 100 can receive the public key certificate (Certificate_O), response (Response_O), and challenge (Challenge_O) of the counter party 400. The certificate (Certificate_O) of the other party 400 may be stored in the shared memory 140 via the certificate handler 120 (S25-1). The certificate handler 120 may process the certificate (Certificate_O) of the counterpart stored in the shared memory 140 according to a predetermined procedure (S25-2).

또한, 상대방(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 other party 400 may be stored in the shared memory 140 via the certificate controller 110 (S25-3). The authentication controller 110 may control the overall operation of the shared memory 140 for inputting a public key certificate (Certificate_O), a response (Response_O), and a challenge (Challenge_O) (S25-4).

도 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 authentication apparatus 100 in response to a challenge to a counterpart when a mutual authentication protocol of the authentication apparatus 100 according to an embodiment of the present invention proceeds. 14 to 19, a process of generating a response (Response_A) of the authentication apparatus 100 in response to a challenge (Challenge_O) of the other party 400 is as follows.

인증 제어기(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 authentication controller 110 may control the encryption primitives 120 and the shared memory 140 in order to generate the response_A in response to the challenge of the counterpart 400 in step S27-1. The public key accelerator 131 may repeatedly access the shared memory 140 to generate a response (Response_A) of the authentication apparatus 100 (S27-2). In addition, the hash function 132 can access the shared memory 140 repeatedly to generate the response (Response_A) of the authentication apparatus 100 (S27-3). The generated response (Response_A) may be transmitted to the other party (400) via the authentication controller (110) (S27-4).

도 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 authentication apparatus 100 according to the embodiment of the present invention proceeds. Referring to FIGS. 14 and 20, a shared secret key generation process of the authentication apparatus 100 is as follows.

인증 제어기(110)는 공개키 가속기(131)와 공유 메모리(140)를 반복적으로 접근함으로써 공유된 비밀키(shared secret key)를 발생할 수 있다(S28-1). 공개키 가속기(131)는 공유된 비밀키를 발생하기 위하여 공유 메모리(140)를 반복적으로 접근할 수 있다(S28-2).The authentication controller 110 may generate a shared secret key by repeatedly accessing the public key accelerator 131 and the shared memory 140 (S28-1). The public key accelerator 131 may repeatedly access the shared memory 140 to generate the shared secret key (S28-2).

도 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 mobile device 1000 includes a security chip 1020, a processor (AP / ModAP 1100), a buffer memory 1200, a display / touch module 1300, and a storage device 1400.

보안 칩(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 security chip 1020 may be implemented to provide overall security functionality of the mobile device 1000. The security chip 1020 is comprised of software and / or tamper resistant hardware that allows for a high level of security and can work in cooperation with the trusted execution environment (TEE) of the processor 1100. The security chip 1020 includes a native operating system (OS) as an operating system, a secure storage device as an internal data store, an access control block for controlling access rights to the security chip 1020, ownership management, key management, digital signature, encryption / decryption, and the like, and a firmware update block for updating the firmware of the security chip 1020. The security chip 1020 may be, for example, a universal IC card (e.g., USIM, CSIM, ISIM), a subscriber identity module (SIM) card, embedded secure elements (ESE), MicroSD, Stikers,

또한, 본 발명의 보안 칩(1020)은 도 1 내지 도 20에서 설명한 인증 장치(100)를 포함할 수 있다. 도 21에서 인증 장치는 프로세서(1100)의 외부에 존재하도록 도시된다. 하지만, 본 발명의 인증 장치의 위치가 여기에 제한될 필요는 없다. 본 발명의 인증 장치는 프로세서(1100)의 내부에 존재할 수도 있다.In addition, the security chip 1020 of the present invention may include the authentication device 100 described in FIGS. 1 to 20. In FIG. 21, the authentication device is shown to be external to the processor 1100. However, the location of the authentication device of the present invention need not be limited thereto. The authentication device of the present invention may be internal to the processor 1100.

프로세서(1100)는 모바일 장치(1000)의 전반적인 동작 및 외부와의 유선/무선 통신을 제어하도록 구현될 수 있다. 예를 들어, 프로세서(1100)는 어플리케이션 프로세서(AP, application processor), 통합 모뎀 어플리케이션 프로세서(ModAP) 등 일 수 있다.The processor 1100 may be implemented to control the overall operation of the mobile device 1000 and the wired / wireless communication with the outside. For example, the processor 1100 may be an application processor (AP), an integrated modem application processor (ModAP), or the like.

버퍼 메모리(1200)는 모바일 장치(1000)의 처리 동작 시 필요한 데이터를 임시로 저장하도록 구현될 수 있다. 디스플레이/터치 모듈(1300)은 프로세서(1100)에서 처리된 데이터를 디스플레이하거나, 터치 패널로부터 데이터를 입력받도록 구현될 수 있다. 저장 장치(1400)는 사용자의 데이터를 저장하도록 구현될 수 있다. 저장 장치(1400)는 eMMC(embedded multimedia card), SSD(solid state drive), UFS(universal flash storage) 등 일 수 있다. 저장 장치(1400)는 적어도 하나의 비휘발성 메모리 장치를 포함할 수 있다.The buffer memory 1200 may be implemented to temporarily store data necessary for the processing operation of the mobile device 1000. [ The display / touch module 1300 may be implemented to display data processed by the processor 1100 or receive data from the touch panel. The storage device 1400 may be implemented to store user data. The storage device 1400 may be an embedded multimedia card (eMMC), a solid state drive (SSD), a universal flash storage (UFS), or the like. The storage device 1400 may include at least one non-volatile memory device.

비휘발성 메모리 장치는, 낸드 플래시 메모리(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 authentication device 100 of the present invention .

발명이 적용될 수 있는 제품은 공개키 암호시스템 기반 인증을 지원해야 하는 기기, 일예로, 스마트폰, 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.
제 1 항에 있어서,
상기 인증 제어기는,
상기 인증 프로토콜을 진행하기 위한 값들을 저장하는 레지스터들; 및
상기 인증 장치의 인증서를 저장하는 원-타임 프로그래머블 메모리를 포함하는 인증 장치.
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.
제 2 항에 있어서,
상기 레지스터들은,
상기 인증 프로토콜의 시작을 지시하는 제 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.
제 2 항에 있어서,
상기 인증 장치의 인증서는 상기 인증 장치의 공개키와 상기 인증 장치의 비밀키를 포함하는 인증 장치.
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.
제 1 항에 있어서,
상기 암호 프리미티브스는,
상기 챌린지를 발생하거나 혹은 상기 리스판스를 검증하는데 필요한 모듈러 연산 혹은 포인트 연산을 수행하는 공개키 가속기;
상기 난수를 입력 받고 해쉬 알고리즘에 의거하여 상기 챌린지를 발생하는 해쉬 함수; 및
상기 인증 요청에 응답하여 상기 난수를 발생하는 난수 발생기를 포함하는 인증 장치.
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.
제 5 항에 있어서,
상기 공개키 가속기는 제 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 항에 있어서,
상기 공유 메모리는,
상기 인증 장치의 상기 챌린지를 저장하는 제 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.
제 7 항에 있어서,
상기 제 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.
제 8 항에 있어서,
상기 재사용되는 상기 적어도 하나의 값을 전송하기 위한 별도의 데이터 라인을 더 포함하는 인증 장치.
9. The method of claim 8,
Further comprising a separate data line for transmitting said at least one value to be reused.
제 1 항에 있어서,
상기 인증 제어기는, 상기 인증 프로토콜의 진행시 동작 단계에 대응하는 레지스터에 대한 읽기 혹은 쓰기 권한을 다르게 설정하는 인증 장치.
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.
제 1 구성 요소; 및
제 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.
제 11 항에 있어서,
상기 인증 프로토콜은 공개키 암호 시스템 기반의 단독 인증 프로토콜이고,
상기 단독 인증 프로토콜은,
상기 상대방으로부터 상기 인증 요청을 입력 받고,
상기 인증 요청에 응답하여 상기 챌린지를 발생하고, 상기 챌린지를 상기 상대방에 전송하고,
상기 상대방으로부터 상기 상대방의 인증서 및 상기 상대방의 리스판스를 입력 받고,
상기 상대방의 인증서 및 상기 상대방의 리스판스를 검증하는 동작을 수행하는 모바일 장치.
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.
제 12 항에 있어서,
상기 인증 제어기는 상기 상대방으로부터 상기 인증 요청을 입력 받고, 상기 인증 요청에 응답하여 대응하는 레지스터를 설정하는 모바일 장치.
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.
제 12 항에 있어서,
상기 암호 프리미티브스는 난수 발생기 및 해쉬 함수를 더 포함하고,
상기 인증 제어기는, 상기 인증 요청에 응답하여 상기 난수 발생기에서 상기 난수를 발생하도록, 상기 공유 메모리에 상기 난수를 저장하도록, 상기 해쉬 함수에서 상기 공유 메모리에 저장된 상기 난수를 재사용하여 상기 챌린지를 발생하도록, 상기 난수 발생기, 상기 해쉬 함수, 및 상기 공유 메모리를 제어 하는 모바일 장치.
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.
제 12 항에 있어서,
상기 인증서 핸들러는 상기 상대방의 인증서를 입력 및 분석하고, 상기 분석된 인증서를 상기 공유 메모리에 저장하고,
상기 인증 제어기는 상기 상대방의 리스판스를 입력 받고, 상기 리스판스를 상기 공유 메모리에 저장하는 모바일 장치.
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.
제 15 항에 있어서,
상기 인증서 핸들러는 상기 공유 메모리에 저장된 인증서가 유효한 지를 검증하고,
상기 인증 제어기는 상기 상대방의 인증서가 유효할 때 상기 암호 프리미티브스를 이용하여 상기 공유 메모리에 저장된 리스판스가 유효한 지를 판별하는 모바일 장치.
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.
제 11 항에 있어서,
상기 인증 프로토콜은 공개키 암호 시스템 기반의 상호 인증 프로토콜이고,
상기 단독 인증 프로토콜은,
상기 상대방으로부터 상기 인증 요청을 입력 받고,
상기 인증 요청에 응답하여 상기 챌린지를 발생하고, 상기 챌린지 및 상기 인증 장치의 인증서를 상기 상대방에 전송하고,
상기 상대방으로부터 상기 상대방의 인증서, 상기 상대방의 리스판스, 및 상기 상대방의 챌린지를 입력 받고,
상기 상대방의 인증서 및 상기 상대방의 리스판스를 검증하고,
상기 상대방의 챌린지에 응답하여 상기 인증 장치의 리스판스를 발생하고,
인증 동작이 성공할 때, 공유된 비밀키를 발생하는 동작을 수행하는 모바일 장치.
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.
제 11 항에 있어서,
상기 제 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.
제 11 항에 있어서,
상기 모바일 장치는 스마트폰이고,
상기 상대방은 상기 스마트폰을 감싸는 플립 커버(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.
KR1020150168664A 2015-10-02 2015-11-30 Authentication apparatus based on public key cryptosystem, mobile device having the same and authentication method thereof KR102458351B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
Alfred J. Menezes 외 1명, Handbook of Applied Cryptography, CRC Press (1996.)* *

Cited By (1)

* Cited by examiner, † Cited by third party
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