KR102256330B1 - Method of data transfer in electronic device - Google Patents
Method of data transfer in electronic device Download PDFInfo
- Publication number
- KR102256330B1 KR102256330B1 KR1020150011003A KR20150011003A KR102256330B1 KR 102256330 B1 KR102256330 B1 KR 102256330B1 KR 1020150011003 A KR1020150011003 A KR 1020150011003A KR 20150011003 A KR20150011003 A KR 20150011003A KR 102256330 B1 KR102256330 B1 KR 102256330B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- secure element
- application processor
- secure
- session key
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
프로세서 및 시큐어 엘리먼트(Secure Element)를 포함하는 시큐어 모듈, 어플리케이션 프로세서 및 센서를 포함하는 전자 장치의 데이터 전송 방법에서, 프로세서가 동작 모드를 바이패스 모드로 전환하고, 어플리케이션 프로세서와 시큐어 엘리먼트가 상호 인증을 수행하고, 상호 인증이 성공한 경우, 어플리케이션 프로세서와 시큐어 엘리먼트가 세션키를 생성하고, 프로세서가 동작 모드를 정상 모드로 전환하고, 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하고, 프로세서가 암호화된 센싱 데이터를 어플리케이션 프로세서에 전송하고, 어플리케이션 프로세서가 세션키를 사용하여 암호화된 센싱 데이터를 복호화하여 센싱 데이터를 획득한다.In a data transmission method of an electronic device including a secure module including a processor and a secure element, an application processor, and a sensor, the processor switches the operation mode to the bypass mode, and the application processor and the secure element perform mutual authentication. And, if mutual authentication is successful, the application processor and the secure element generate a session key, the processor switches the operation mode to the normal mode, the secure module encrypts the sensing data provided from the sensor using the session key, The processor transmits the encrypted sensing data to the application processor, and the application processor obtains the sensing data by decrypting the encrypted sensing data using the session key.
Description
본 발명은 전자 장치에 관한 것으로, 보다 상세하게는 전자 장치의 데이터 전송 방법에 관한 것이다.The present invention relates to an electronic device, and more particularly, to a data transmission method of the electronic device.
최근 모바일 디바이스(mobile device)와 같은 전자 시스템에 다양한 기능이 탐재됨에 따라, 전자 시스템에서 개인 정보, 암호키(cryptographic key) 등과 같은 보안 데이터(security data)를 처리하는 빈도가 증가하고 있다.Recently, as various functions are discovered in electronic systems such as mobile devices, the frequency of processing security data such as personal information and cryptographic keys in electronic systems is increasing.
그런데 전자 시스템의 구성 요소들 사이에서 보안 데이터를 송수신하는 과정에서 외부로부터 공격을 받는 경우 상기 보안 데이터가 유출되는 문제점이 있다.However, there is a problem in that the security data is leaked when an external attack occurs in the process of transmitting and receiving security data between components of an electronic system.
따라서 전자 시스템의 구성 요소들 사이에서 보안 데이터를 안전하게 송수신하기 위한 방법이 필요하다.Therefore, there is a need for a method for safely transmitting and receiving secure data between components of an electronic system.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 보안 데이터를 안전하게 송수신할 수 있는 전자 장치의 데이터 전송 방법을 제공하는 것이다.An object of the present invention for solving the above problems is to provide a data transmission method of an electronic device capable of safely transmitting and receiving security data.
본 발명의 다른 목적은 상기 데이터 전송 방법을 구현하는 전자 장치를 제공하는 것이다.Another object of the present invention is to provide an electronic device implementing the data transmission method.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 프로세서 및 시큐어 엘리먼트(Secure Element)를 포함하는 시큐어 모듈, 어플리케이션 프로세서 및 센서를 포함하는 전자 장치의 데이터 전송 방법에서, 상기 프로세서가 동작 모드를 바이패스 모드로 전환하고, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하고, 상기 상호 인증이 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하고, 상기 프로세서가 상기 동작 모드를 정상 모드로 전환하고, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 센싱 데이터를 암호화하고, 상기 프로세서가 상기 암호화된 센싱 데이터를 상기 어플리케이션 프로세서에 전송하고, 상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 센싱 데이터를 복호화하여 상기 센싱 데이터를 획득한다.In order to achieve an object of the present invention described above, in a data transmission method of an electronic device including a secure module, an application processor, and a sensor including a processor and a secure element according to an embodiment of the present invention, the When the processor switches the operation mode to the bypass mode, the application processor and the secure element perform mutual authentication, and the mutual authentication is successful, the application processor and the secure element generate a session key, and the processor The operation mode is switched to a normal mode, the secure module encrypts sensing data provided from the sensor using the session key, the processor transmits the encrypted sensing data to the application processor, and the application processor Decrypts the encrypted sensing data using the session key to obtain the sensing data.
일 실시예에 있어서, 상기 시큐어 모듈에 포함되는 상기 프로세서 및 상기 시큐어 엘리먼트는 하나의 패키지로 형성될 수 있다.In an embodiment, the processor and the secure element included in the secure module may be formed in one package.
상기 프로세서는 상기 패키지의 외부 단자를 통해 상기 어플리케이션 프로세서와 연결되고, 상기 시큐어 엘리먼트는 상기 패키지 내부에 형성되는 내부 버스를 통해 상기 프로세서와 연결될 수 있다.The processor may be connected to the application processor through an external terminal of the package, and the secure element may be connected to the processor through an internal bus formed inside the package.
상기 프로세서는 상기 정상 모드에서 상기 어플리케이션 프로세서와 통신을 수행하고, 상기 바이패스 모드에서 상기 어플리케이션 프로세서로부터 수신되는 신호를 바이패스시켜 상기 시큐어 엘리먼트에 제공하고, 상기 시큐어 엘리먼트로부터 수신되는 신호를 바이패스시켜 상기 어플리케이션 프로세서에 제공할 수 있다.The processor performs communication with the application processor in the normal mode, bypasses a signal received from the application processor in the bypass mode and provides it to the secure element, and bypasses the signal received from the secure element. It can be provided to the application processor.
일 실시예에 있어서, 상기 프로세서가 상기 동작 모드를 상기 바이패스 모드로 전환하는 단계는, 상기 어플리케이션 프로세서가 상기 프로세서에 바이패스 요청 신호를 전송하는 단계, 및 상기 프로세서가 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트를 연결하는 바이패스 채널을 형성하는 단계를 포함할 수 있다.In one embodiment, the switching of the operation mode to the bypass mode by the processor comprises: transmitting, by the application processor, a bypass request signal to the processor, and the processor responding to the bypass request signal. And changing the operation mode from the normal mode to the bypass mode to form a bypass channel connecting the application processor and the secure element.
일 실시예에 있어서, 상기 프로세서가 상기 동작 모드를 상기 바이패스 모드로 전환하는 단계는, 상기 어플리케이션 프로세서가 상기 프로세서에 바이패스 요청 신호 및 상기 어플리케이션 프로세서의 고유 번호를 전송하는 단계, 상기 프로세서가 상기 바이패스 요청 신호에 응답하여 고유 번호 테이블에 상기 어플리케이션 프로세서의 고유 번호가 존재하는지 여부를 판단하는 단계, 및 상기 고유 번호 테이블에 상기 어플리케이션 프로세서의 고유 번호가 존재하는 경우, 상기 프로세서가 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트를 연결하는 바이패스 채널을 형성하는 단계를 포함할 수 있다.In one embodiment, the switching of the operation mode to the bypass mode by the processor comprises: transmitting, by the application processor, a bypass request signal and a unique number of the application processor to the processor, the processor Determining whether the unique number of the application processor exists in the unique number table in response to the bypass request signal, and when the unique number of the application processor exists in the unique number table, the processor selects the operation mode. And forming a bypass channel connecting the application processor and the secure element by switching from the normal mode to the bypass mode.
일 실시예에 있어서, 상기 시큐어 엘리먼트는 제1 개인키, 인증기관(Certificate Authority; CA)의 공개키 및 상기 인증기관이 발행한 제1 인증서를 저장하고, 상기 어플리케이션 프로세서는 제2 개인키, 상기 인증기관의 공개키 및 상기 인증기관이 발행한 제2 인증서를 저장할 수 있다.In one embodiment, the secure element stores a first private key, a public key of a Certificate Authority (CA), and a first certificate issued by the certification authority, and the application processor stores a second private key, the The public key of the certification body and the second certificate issued by the certification body can be stored.
상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계는, 상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 인증서 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 인증서 요청 신호에 응답하여 상기 제1 인증서를 상기 어플리케이션 프로세서에 전송하는 단계, 상기 어플리케이션 프로세서가 상기 인증기관의 공개키를 사용하여 상기 제1 인증서를 검증하는 단계, 상기 어플리케이션 프로세서가 상기 제1 인증서의 검증을 성공하는 경우, 상기 제1 인증서에 포함되는 상기 시큐어 엘리먼트의 제1 공개키를 획득하는 단계, 상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 검증 요청 신호 및 상기 제2 인증서를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 검증 요청 신호에 응답하여 상기 인증기관의 공개키를 사용하여 상기 제2 인증서를 검증하는 단계, 및 상기 시큐어 엘리먼트가 상기 제2 인증서의 검증을 성공하는 경우, 상기 제2 인증서에 포함되는 상기 어플리케이션 프로세서의 제2 공개키를 획득하는 단계를 포함할 수 있다.The step of performing mutual authentication between the application processor and the secure element may include: transmitting, by the application processor, a certificate request signal to the secure element, the secure element receiving the first certificate in response to the certificate request signal. Transmitting to a processor, verifying the first certificate by the application processor using the public key of the certification authority, and when the application processor succeeds in verifying the first certificate, included in the first certificate Obtaining the first public key of the secure element, the application processor transmitting a verification request signal and the second certificate to the secure element, the secure element in response to the verification request signal to disclose to the certification authority Verifying the second certificate using a key, and when the secure element succeeds in verifying the second certificate, obtaining a second public key of the application processor included in the second certificate can do.
상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상기 세션키를 생성하는 단계는, 상기 시큐어 엘리먼트가 랜덤값을 생성하고, 상기 랜덤값을 상기 어플리케이션 프로세서에 전송하는 단계, 상기 어플리케이션 프로세서가 일회성 개인키 및 일회성 공개키 쌍을 생성하고, 상기 제2 개인키를 사용하여 상기 랜덤값 및 상기 일회성 공개키를 각각 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 일회성 공개키를 상기 시큐어 엘리먼트에 전송하는 단계, 상기 시큐어 엘리먼트가 상기 제2 공개키를 사용하여 상기 암호화된 랜덤값을 복호화하고, 상기 복호화된 랜덤값과 상기 랜덤값이 일치하는 경우, 상기 제2 공개키를 사용하여 상기 암호화된 일회성 공개키를 복호화하여 상기 일회성 공개키를 획득하는 단계, 상기 시큐어 엘리먼트가 상기 제1 개인키 및 상기 일회성 공개키에 기초하여 비밀값을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값을 생성하고, 상기 제1 인증값을 상기 어플리케이션 프로세서에 전송하는 단계, 및 상기 어플리케이션 프로세서가 상기 제1 공개키 및 상기 일회성 개인키에 기초하여 상기 비밀값을 계산하고, 상기 비밀값에 기초하여 제2 인증값을 생성하고, 상기 제2 인증값과 상기 제1 인증값이 일치하는 경우, 상기 비밀값에 기초하여 상기 세션키를 생성하는 단계를 포함할 수 있다.The generating of the session key by the application processor and the secure element includes: the secure element generating a random value and transmitting the random value to the application processor, the application processor: a one-time private key and a one-time public key Generating a pair, encrypting the random value and the one-time public key using the second private key, and transmitting the encrypted random value and the encrypted one-time public key to the secure element, the secure element Decrypts the encrypted random value using the second public key, and when the decrypted random value matches the random value, decrypts the encrypted one-time public key using the second public key Obtaining a one-time public key, the secure element calculating a secret value based on the first private key and the one-time public key, generating the session key and a first authentication value based on the secret value, and the Transmitting a first authentication value to the application processor, and the application processor calculating the secret value based on the first public key and the one-time private key, and generating a second authentication value based on the secret value And, when the second authentication value and the first authentication value match, generating the session key based on the secret value.
일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는, 상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계, 상기 프로세서가 상기 시큐어 엘리먼트에 세션키 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 세션키 요청 신호에 응답하여 상기 세션키를 상기 프로세서에 전송하는 단계, 및 상기 프로세서가 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계를 포함할 수 있다.In one embodiment, the step of encrypting the sensing data provided from the sensor by the secure module using the session key comprises: receiving the sensing data from the sensor by the processor, the secure element by the processor Transmitting a session key request signal to the secure element, transmitting the session key to the processor in response to the session key request signal, and encrypting the sensing data by the processor using the session key It may include.
일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는, 상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계, 상기 프로세서가 상기 시큐어 엘리먼트에 암호화 요청 신호 및 상기 센싱 데이터를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 암호화 요청 신호에 응답하여 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계, 및 상기 시큐어 엘리먼트가 상기 암호화된 센싱 데이터를 상기 프로세서에 전송하는 단계를 포함할 수 있다.In one embodiment, the step of encrypting the sensing data provided from the sensor by the secure module using the session key comprises: receiving the sensing data from the sensor by the processor, the secure element by the processor Transmitting an encryption request signal and the sensing data to the secure element, encrypting the sensing data using the session key in response to the encryption request signal by the secure element, and the secure element transmitting the encrypted sensing data to the It may include transmitting to the processor.
일 실시예에 있어서, 상기 센서는 상기 시큐어 모듈의 내부에 포함될 수 있다.In an embodiment, the sensor may be included in the secure module.
일 실시예에 있어서, 상기 어플리케이션 프로세서는 신뢰된 실행 환경(trusted execution environment; TEE) 및 리치 OS 실행 환경(rich operating system execution environment; REE)을 포함하고, 상기 어플리케이션 프로세서는 상기 신뢰된 실행 환경을 통해 상기 시큐어 모듈과 통신을 수행할 수 있다.In one embodiment, the application processor includes a trusted execution environment (TEE) and a rich operating system execution environment (REE), and the application processor is configured through the trusted execution environment. Communication with the secure module may be performed.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 프로세서 및 시큐어 엘리먼트(Secure Element)를 포함하는 시큐어 모듈과 어플리케이션 프로세서를 포함하는 전자 장치의 데이터 전송 방법에서, 상기 프로세서가 동작 모드를 바이패스 모드로 전환하고, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하고, 상기 상호 인증에 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하고, 상기 프로세서가 상기 동작 모드를 정상 모드로 전환하고, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하고, 상기 프로세서가 상기 암호화된 보안 데이터를 상기 어플리케이션 프로세서에 전송하고, 상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 보안 데이터를 복호화하여 상기 보안 데이터를 획득한다.In order to achieve the object of the present invention described above, in the data transmission method of an electronic device including a secure module and an application processor including a processor and a secure element according to an embodiment of the present invention, the processor When the operation mode is switched to the bypass mode, the application processor and the secure element perform mutual authentication, and the mutual authentication is successful, the application processor and the secure element generate a session key, and the processor performs the operation. The mode is switched to a normal mode, the secure module encrypts the security data stored in the secure element using the session key, the processor transmits the encrypted security data to the application processor, and the application processor sends the The encrypted security data is decrypted using a session key to obtain the security data.
일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 상기 보안 데이터를 암호화하는 단계는, 상기 프로세서가 상기 시큐어 엘리먼트에 데이터 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 데이터 요청 신호에 응답하여 상기 세션키 및 상기 보안 데이터를 상기 프로세서에 전송하는 단계, 및 상기 프로세서가 상기 세션키를 사용하여 상기 보안 데이터를 암호화하는 단계를 포함할 수 있다.In one embodiment, the step of encrypting the secure data stored in the secure element by the secure module using the session key comprises: transmitting, by the processor, a data request signal to the secure element, the secure element Transmitting the session key and the security data to the processor in response to a data request signal, and encrypting the security data by the processor using the session key.
일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 상기 보안 데이터를 암호화하는 단계는, 상기 프로세서가 상기 시큐어 엘리먼트에 데이터 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 데이터 요청 신호에 응답하여 상기 세션키를 사용하여 상기 보안 데이터를 암호화하는 단계, 및 상기 시큐어 엘리먼트가 상기 암호화된 보안 데이터를 상기 프로세서에 전송하는 단계를 포함할 수 있다.In one embodiment, the step of encrypting the secure data stored in the secure element by the secure module using the session key comprises: transmitting, by the processor, a data request signal to the secure element, the secure element Encrypting the security data using the session key in response to a data request signal, and transmitting the encrypted security data to the processor by the secure element.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전자 장치는 시큐어 모듈 및 어플리케이션 프로세서를 포함한다. 상기 시큐어 모듈은 제1 개인키, 인증기관(Certificate Authority; CA)의 공개키 및 상기 인증기관이 발행한 제1 인증서를 저장하는 시큐어 엘리먼트(Secure Element) 및 프로세서를 포함한다. 상기 어플리케이션 프로세서는 제2 개인키, 상기 인증기관의 공개키 및 상기 인증기관이 발행한 제2 인증서를 저장한다. 상기 프로세서가 바이패스 모드로 동작하는 동안, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트는 상기 제1 인증서, 상기 제2 인증서 및 상기 인증기관의 공개키를 사용하여 상호 인증을 수행하고, 상기 상호 인증이 성공하는 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트는 상기 제1 개인키 및 상기 제2 개인키를 사용하여 세션키를 생성한다. 상기 프로세서가 정상 모드로 전환한 후, 상기 시큐어 모듈은 상기 세션키를 사용하여 보안 데이터를 암호화하고, 상기 프로세서는 상기 암호화된 보안 데이터를 상기 어플리케이션 프로세서에 전송하고, 상기 어플리케이션 프로세서는 상기 세션키를 사용하여 상기 암호화된 보안 데이터를 복호화하여 상기 보안 데이터를 획득한다.In order to achieve the object of the present invention described above, an electronic device according to an embodiment of the present invention includes a secure module and an application processor. The secure module includes a first private key, a public key of a certificate authority (CA), a secure element for storing a first certificate issued by the certificate authority, and a processor. The application processor stores a second private key, a public key of the certification authority, and a second certificate issued by the certification authority. While the processor is operating in the bypass mode, the application processor and the secure element perform mutual authentication using the first certificate, the second certificate, and the public key of the authentication authority, and the mutual authentication is successful. In this case, the application processor and the secure element generate a session key using the first private key and the second private key. After the processor switches to the normal mode, the secure module encrypts security data using the session key, the processor transmits the encrypted security data to the application processor, and the application processor transmits the session key. The encrypted security data is decrypted to obtain the security data.
일 실시예에 있어서, 상기 시큐어 모듈에 포함되는 상기 프로세서 및 상기 시큐어 엘리먼트는 하나의 패키지로 형성되고, 상기 프로세서는 상기 패키지의 외부 단자를 통해 상기 어플리케이션 프로세서와 연결되고, 상기 시큐어 엘리먼트는 상기 패키지 내부에 형성되는 내부 버스를 통해 상기 프로세서와 연결될 수 있다.In one embodiment, the processor and the secure element included in the secure module are formed as one package, the processor is connected to the application processor through an external terminal of the package, and the secure element is inside the package. It may be connected to the processor through an internal bus formed in the.
상기 프로세서는 상기 정상 모드에서 상기 어플리케이션 프로세서와 통신을 수행하고, 상기 바이패스 모드에서 상기 어플리케이션 프로세서로부터 수신되는 신호를 바이패스시켜 상기 시큐어 엘리먼트에 제공하고, 상기 시큐어 엘리먼트로부터 수신되는 신호를 바이패스시켜 상기 어플리케이션 프로세서에 제공할 수 있다.The processor performs communication with the application processor in the normal mode, bypasses a signal received from the application processor in the bypass mode and provides it to the secure element, and bypasses the signal received from the secure element. It can be provided to the application processor.
일 실시예에 있어서, 상기 전자 장치는 상기 보안 데이터를 생성하여 상기 프로세서에 제공하는 센서를 더 포함할 수 있다.In an embodiment, the electronic device may further include a sensor that generates the security data and provides it to the processor.
본 발명의 실시예들에 따른 전자 장치의 데이터 전송 방법은, 통신 오버헤드(overhead)를 감소시키면서도 시큐어 엘리먼트(Secure Element; SE)를 포함하는 시큐어 모듈과 어플리케이션 프로세서 사이에 중요 데이터를 안전하게 송수신할 수 있다.In the data transmission method of an electronic device according to embodiments of the present invention, important data can be safely transmitted and received between an application processor and a secure module including a secure element (SE) while reducing communication overhead. have.
도 1은 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.
도 2는 본 발명의 일 실시예에 따른 전자 장치의 데이터 전송 방법을 나타내는 순서도이다.
도 3은 도 2의 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계의 일 예를 나타내는 순서도이다.
도 4는 도 2의 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계의 다른 예를 나타내는 순서도이다.
도 5a 및 5b는 도 2의 어플리케이션 프로세서와 시큐어 엘리먼트가 상호 인증을 수행하는 단계의 일 예를 나타내는 순서도이다.
도 6a 및 6b는 도 2의 어플리케이션 프로세서와 시큐어 엘리먼트가 세션키를 생성하는 단계의 일 예를 나타내는 순서도이다.
도 7은 도 2의 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하는 단계의 일 예를 나타내는 순서도이다.
도 8은 도 2의 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하는 단계의 다른 예를 나타내는 순서도이다.
도 9는 도 1에 도시된 전자 장치의 일 예를 나타내는 블록도이다.
도 10은 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.
도 11은 본 발명의 일 실시예에 따른 전자 장치의 데이터 전송 방법을 나타내는 순서도이다.
도 12는 도 11의 시큐어 모듈이 세션키를 사용하여 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계의 일 예를 나타내는 순서도이다.
도 13은 도 11의 시큐어 모듈이 세션키를 사용하여 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계의 다른 예를 나타내는 순서도이다.
도 14는 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.
도 15는 본 발명의 일 실시예에 따른 전자 시스템을 나타내는 블록도이다.
도 16은 도 15의 전자 시스템이 스마트폰으로 구현되는 일 예를 나타내는 도면이다.1 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
2 is a flowchart illustrating a data transmission method of an electronic device according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating an example of a step in which the processor of FIG. 2 converts an operation mode to a bypass mode.
FIG. 4 is a flowchart illustrating another example of a step in which the processor of FIG. 2 switches the operation mode to the bypass mode.
5A and 5B are flowcharts illustrating an example of a step of performing mutual authentication between the application processor and the secure element of FIG. 2.
6A and 6B are flowcharts illustrating an example of a step in which the application processor and the secure element of FIG. 2 generate a session key.
FIG. 7 is a flowchart illustrating an example of a step in which the secure module of FIG. 2 encrypts sensing data provided from a sensor using a session key.
FIG. 8 is a flowchart illustrating another example of a step in which the secure module of FIG. 2 encrypts sensing data provided from a sensor using a session key.
9 is a block diagram illustrating an example of the electronic device illustrated in FIG. 1.
10 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
11 is a flowchart illustrating a data transmission method of an electronic device according to an embodiment of the present invention.
12 is a flowchart illustrating an example of a step of encrypting security data stored in a secure element by the secure module of FIG. 11 using a session key.
13 is a flowchart illustrating another example of a step of encrypting security data stored in a secure element by the secure module of FIG. 11 using a session key.
14 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
15 is a block diagram illustrating an electronic system according to an embodiment of the present invention.
16 is a diagram illustrating an example in which the electronic system of FIG. 15 is implemented as a smart phone.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.With respect to the embodiments of the present invention disclosed in the text, specific structural or functional descriptions have been exemplified for the purpose of describing the embodiments of the present invention only, and the embodiments of the present invention may be implemented in various forms. It should not be construed as being limited to the embodiments described in.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Since the present invention can be modified in various ways and has various forms, specific embodiments will be illustrated in the drawings and described in detail in the text. However, this is not intended to limit the present invention to a specific form disclosed, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the present invention.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.Terms such as first and second may be used to describe various elements, but the elements should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it is understood that it may be directly connected or connected to the other component, but other components may exist in the middle. It should be. On the other hand, when a component is referred to as being "directly connected" or "directly connected" to another component, it should be understood that there is no other component in the middle. Other expressions describing the relationship between components, such as "between" and "directly between" or "adjacent to" and "directly adjacent to" should be interpreted as well.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In the present application, terms such as "comprise" or "have" are intended to designate the existence of a set feature, number, step, action, component, part, or combination thereof, but one or more other features or numbers. It is to be understood that the possibility of addition or presence of, steps, actions, components, parts, or combinations thereof is not preliminarily excluded.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms as defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning of the related technology, and should not be interpreted as an ideal or excessively formal meaning unless explicitly defined in the present application. .
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the accompanying drawings. The same reference numerals are used for the same elements in the drawings, and duplicate descriptions for the same elements are omitted.
도 1은 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.1 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
도 1을 참조하면, 전자 장치(10)는 시큐어 모듈(secure module)(100), 어플리케이션 프로세서(200) 및 센서(300)를 포함한다.Referring to FIG. 1, the
시큐어 모듈(100)은 프로세서(110) 및 시큐어 엘리먼트(Secure Element; SE)(120)를 포함한다.The
시큐어 엘리먼트(120)는 인증기관(Certificate Authority; CA)이 발행한 시큐어 엘리먼트(120)에 상응하는 제1 인증서(CT1), 상기 인증기관의 공개키(CA_PB) 및 시큐어 엘리먼트(120)의 제1 개인키(PR1)를 저장한다. 제1 개인키(PR1)에 대응되는 제1 공개키(PB1)는 제1 인증서(CT1)에 포함된다.The
일 실시예에 있어서, 시큐어 엘리먼트(120)는 외부로부터의 공격, 예를 들면, 랩 어택(lab attack)을 방어할 수 있는 기능을 포함할 수 있다. 시큐어 엘리먼트(120)에 포함되는 외부로부터의 공격을 방어하는 기능은 다양한 형태로 구현될 수 있다. 따라서 제1 인증서(CT1), 인증기관의 공개키(CA_PB) 및 제1 개인키(PR1)는 시큐어 엘리먼트(120)에 안전하게 저장될 수 있다.In one embodiment, the
프로세서(110)는 내부 버스(INT_BUS)를 통해 시큐어 엘리먼트(120)와 연결된다.The
프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성된다. 예를 들어, 프로세서(110) 및 시큐어 엘리먼트(120)는 시스템-인-패키지(System in package; SiP), 관통 실리콘 비아(Through Silicon Via; TSV), 멀티칩 패키지(Multi Chip Package; MCP), 패키지-온-패키지(Package on Package; PoP) 등을 통해 하나의 패키지로 형성될 수 있다.The
프로세서(110)는 시큐어 모듈(100)에 상응하는 상기 패키지의 외부 단자에 연결되는 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)와 직접 연결된다.The
어플리케이션 프로세서(200)는 상기 인증기관의 공개키(CA_PB), 상기 인증기관이 발행한 어플리케이션 프로세서(200)에 상응하는 제2 인증서(CT2) 및 어플리케이션 프로세서(200)의 제2 개인키(PR2)를 저장한다. 제2 개인키(PR2)에 대응되는 제2 공개키(PB2)는 제2 인증서(CT2)에 포함된다.The
상술한 바와 같이, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성되고, 프로세서(110)와 시큐어 엘리먼트(120)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성되므로, 내부 버스(INT_BUS)는 상기 패키지의 외부로 노출되지 않는다. 따라서 프로세서(110)와 시큐어 엘리먼트(120) 사이에 데이터 통신을 수행하는 경우, 프로세서(110)와 시큐어 엘리먼트(120) 사이에 보안 채널(secure channel)을 형성할 필요가 없으므로, 전자 장치(10)의 통신 오버헤드(overhead)는 효과적으로 감소될 수 있다.As described above, the
일 실시예에 있어서, 프로세서(110)는 정상 모드 또는 바이패스(bypass) 모드로 동작할 수 있다.In one embodiment, the
상기 바이패스 모드에서, 프로세서(110)는 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)를 연결하는 바이패스 채널(BP_CH)을 형성할 수 있다. 따라서 상기 바이패스 모드에서 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 시큐어 엘리먼트(120)에 제공하고, 시큐어 엘리먼트(120)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 어플리케이션 프로세서(200)에 제공할 수 있다.In the bypass mode, the
상기 정상 모드에서, 프로세서(110)는 바이패스 채널(BP_CH)을 비활성화시키고, 어플리케이션 프로세서(200)와 직접 통신을 수행할 수 있다.In the normal mode, the
센서(300)는 센싱 데이터(SSD)를 생성하여 프로세서(110)에 제공한다.The
일 실시예에 있어서, 센서(300)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있다. 예를 들어, 센서(300)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 상응하는 센싱 데이터(SSD)를 생성하여 프로세서(110)에 제공할 수 있다. 그러나 본 명세서에서 센서(300)는 바이오 센서에 한정되지 않으며, 센서(300)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서일 수 있다.In one embodiment, the
도 1을 참조하여 센서(300)는 시큐어 모듈(100)의 외부에 존재하는 것으로 설명하였으나, 실시예에 따라서 센서(300)는 시큐어 모듈(100)의 내부에 포함될 수도 있다. 이 경우, 프로세서(110), 시큐어 엘리먼트(120) 및 센서(300)는 하나의 패키지로 형성될 수 있다.Although the
후술하는 바와 같이, 시큐어 모듈(100)은 센서(300)로부터 제공되는 센싱 데이터(SSD)를 암호화하여 어플리케이션 프로세서(200)에 전송하고, 어플리케이션 프로세서(200)는 시큐어 모듈(100)로부터 제공되는 암호화된 센싱 데이터를 복호화하여 센싱 데이터(SSD)를 획득함으로써, 전자 장치(10)에서 데이터 전송의 보안 레벨을 향상시킬 수 있다.As described later, the
도 2는 본 발명의 일 실시예에 따른 전자 장치의 데이터 전송 방법을 나타내는 순서도이다.2 is a flowchart illustrating a data transmission method of an electronic device according to an embodiment of the present invention.
도 2에 도시된 데이터 전송 방법은 도 1의 전자 장치(10)를 통해 수행될 수 있다.The data transmission method shown in FIG. 2 may be performed through the
도 2에는, 시큐어 모듈(200)이 센서(300)로부터 생성되는 센싱 데이터(SSD)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법이 도시된다.In FIG. 2, a method of safely transmitting sensing data (SSD) generated from the
이하, 도 1 및 2를 참조하여 전자 장치(10)의 데이터 전송 방법에 대해 설명한다.Hereinafter, a data transmission method of the
도 2를 참조하면, 본 발명에 따른 전자 장치(10)의 데이터 전송 방법에서, 프로세서(110)는 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환한다(단계 S100). 일 실시예에 있어서, 프로세서(110)는 어플리케이션 프로세서(200)의 요청에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환할 수 있다.Referring to FIG. 2, in the data transmission method of the
도 3은 도 2의 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계(S100)의 일 예를 나타내는 순서도이다.FIG. 3 is a flowchart illustrating an example of a step S100 of converting an operation mode to a bypass mode by the processor of FIG. 2.
도 3을 참조하면, 어플리케이션 프로세서(200)는 프로세서(110)에 바이패스 요청 신호를 전송할 수 있다(단계 S110).Referring to FIG. 3, the
프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)를 연결하는 바이패스 채널(BP_CH)을 형성할 수 있다(단계 S120). 따라서 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 시큐어 엘리먼트(120)에 제공하고, 시큐어 엘리먼트(120)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 어플리케이션 프로세서(200)에 제공할 수 있다.The
도 4는 도 2의 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계(S100)의 다른 예를 나타내는 순서도이다.FIG. 4 is a flowchart illustrating another example of a step S100 of converting an operation mode to a bypass mode by the processor of FIG. 2.
도 4를 참조하면, 어플리케이션 프로세서(200)는 프로세서(110)에 바이패스 요청 신호 및 어플리케이션 프로세서의 고유 번호를 전송할 수 있다(단계 S130).Referring to FIG. 4, the
프로세서(110)는 통신이 허용된 디바이스의 고유 번호를 저장하는 고유 번호 테이블을 미리 저장할 수 있다. 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 상기 바이패스 요청 신호에 응답하여 상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하는지 여부를 판단할 수 있다(단계 S140).The
상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하는 경우(단계 S140; 예), 프로세서(110)는 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)를 연결하는 바이패스 채널(BP_CH)을 형성할 수 있다(단계 S150). 따라서 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 시큐어 엘리먼트(120)에 제공하고, 시큐어 엘리먼트(120)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 어플리케이션 프로세서(200)에 제공할 수 있다.When the unique number of the
한편, 상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하지 않는 경우(단계 S140; 아니오), 프로세서(110)는 상기 동작 모드를 상기 정상 모드로 유지하고, 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다.On the other hand, if the unique number of the
다시 도 2를 참조하면, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 상호 인증을 수행한다(단계 S200). 일 실시예에 있어서, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 제1 인증서(CT1), 제2 인증서(CT2) 및 상기 인증기관의 공개키(CA_PB)를 사용하여 상호 인증을 수행할 수 있다.Referring back to FIG. 2, the
도 5a 및 5b는 도 2의 어플리케이션 프로세서와 시큐어 엘리먼트가 상호 인증을 수행하는 단계(S200)의 일 예를 나타내는 순서도이다.5A and 5B are flowcharts illustrating an example of a step S200 of performing mutual authentication between the application processor and the secure element of FIG. 2.
도 5a 및 5b를 참조하면, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)에 인증서 요청 신호를 전송할 수 있다(단계 S210).5A and 5B, the
시큐어 엘리먼트(120)는 어플리케이션 프로세서(200)로부터 수신되는 상기 인증서 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 제1 인증서(CT1)를 어플리케이션 프로세서(200)에 전송할 수 있다(단계 S220).The
어플리케이션 프로세서(200)는 어플리케이션 프로세서(200)의 내부에 저장된 상기 인증기관의 공개키(CA_PB)를 사용하여 시큐어 엘리먼트(120)로부터 수신되는 제1 인증서(CT1)를 검증하고(단계 S230), 상기 검증이 성공했는지 여부를 판단할 수 있다(단계 S240).The
시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 서로 다른 인증기관에서 발행된 것인 경우, 상기 검증은 실패할 수 있다. 상기 검증이 실패한 경우(단계 S240; 아니오), 어플리케이션 프로세서(200)는 상기 상호 인증에 실패한 것으로 판단하고 시큐어 엘리먼트(120)와의 통신을 종료할 수 있다.When the first certificate CT1 stored in the
반면에, 시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 동일한 인증기관에서 발행된 것인 경우, 상기 검증은 성공할 수 있다. 상기 검증이 성공한 경우(단계 S240; 예), 어플리케이션 프로세서(200)는 제1 인증서(CT1)에 포함되는 시큐어 엘리먼트(120)의 제1 공개키(PB1)를 획득할 수 있다(단계 S250).On the other hand, when the first certificate CT1 stored in the
이후, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)에 검증 요청 신호 및 어플리케이션 프로세서(200)의 내부에 저장된 제2 인증서(CT2)를 전송할 수 있다(단계 S260).Thereafter, the
시큐어 엘리먼트(120)는 어플리케이션 프로세서(200)로부터 수신되는 상기 검증 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 인증기관의 공개키(CA_PB)를 사용하여 어플리케이션 프로세서(200)로부터 수신되는 제2 인증서(CT2)를 검증하고(단계 S270), 상기 검증이 성공했는지 여부를 판단할 수 있다(단계 S280).The
시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 서로 다른 인증기관에서 발행된 것인 경우, 상기 검증은 실패할 수 있다. 상기 검증이 실패한 경우(단계 S280; 아니오), 시큐어 엘리먼트(120)는 상기 상호 인증에 실패한 것으로 판단하고 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다.When the first certificate CT1 stored in the
반면에, 시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 동일한 인증기관에서 발행된 것인 경우, 상기 검증은 성공할 수 있다. 상기 검증이 성공한 경우(단계 S280; 예), 시큐어 엘리먼트(120)는 제2 인증서(CT2)에 포함되는 어플리케이션 프로세서(200)의 제2 공개키(PB2)를 획득할 수 있다(단계 S290). 이 경우, 상기 상호 인증은 성공한 것으로 판단될 수 있다.On the other hand, when the first certificate CT1 stored in the
도 5a 및 5b를 참조하여 상술한 바와 같은 동작을 통해, 상기 상호 인증이 성공하는 경우, 시큐어 엘리먼트(120) 및 어플리케이션 프로세서(200)는 각각 상대방의 공개키를 획득할 수 있다.When the mutual authentication is successful through the operation as described above with reference to FIGS. 5A and 5B, the
다시 도 2를 참조하면, 상기 상호 인증이 실패한 경우(단계 S300; 아니오), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120) 사이의 통신은 종료된다.Referring back to FIG. 2, when the mutual authentication fails (step S300; No), communication between the
반면에, 상기 상호 인증이 성공한 경우(단계 S300; 예), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 세션키(session key)를 생성한다(단계 S400). 후술하는 바와 같이, 상기 세션키는 센서(300)로부터 생성되는 센싱 데이터(SSD)를 암호화 및 복호화하는 데에 사용될 수 있다. 일 실시예에 있어서, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 제1 개인키(PR1) 및 제2 개인키(PR2)를 사용하여 상기 세션키를 생성할 수 있다.On the other hand, when the mutual authentication is successful (step S300; Yes), the
도 6a 및 6b는 도 2의 어플리케이션 프로세서와 시큐어 엘리먼트가 세션키를 생성하는 단계(S400)의 일 예를 나타내는 순서도이다.6A and 6B are flowcharts illustrating an example of a step S400 of generating a session key by the application processor and the secure element of FIG. 2.
도 6a 및 6b를 참조하면, 시큐어 엘리먼트(120)는 랜덤값을 생성하고, 상기 랜덤값을 어플리케이션 프로세서(200)에 전송할 수 있다(단계 S410).6A and 6B, the
어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)로부터 상기 랜덤값을 수신하는 경우, 일회성(one time) 개인키 및 일회성 공개키 쌍을 생성하고, 어플리케이션 프로세서(200)의 내부에 저장된 제2 개인키(PR2)를 사용하여 상기 랜덤값 및 상기 일회성 공개키를 각각 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 일회성 공개키를 시큐어 엘리먼트(120)에 전송할 수 있다(단계 S420).When receiving the random value from the
시큐어 엘리먼트(120)는 상기 상호 인증을 수행하는 과정(단계 S200)에서 획득한 어플리케이션 프로세서(200)의 제2 공개키(PB2)를 사용하여 상기 암호화된 랜덤값을 복호화할 수 있다(단계 S430).The
이후, 시큐어 엘리먼트(120)는 상기 복호화된 랜덤값과 시큐어 엘리먼트(120)가 최초에 생성한 상기 랜덤값이 서로 일치하는지 여부를 판단할 수 있다(단계 S440).Thereafter, the
상기 복호화된 랜덤값과 시큐어 엘리먼트(120)가 최초에 생성한 상기 랜덤값이 서로 일치하지 않는 경우(단계 S440; 아니오), 시큐어 엘리먼트(120)는 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다(단계 S495).When the decrypted random value and the random value initially generated by the
반면에, 상기 복호화된 랜덤값과 시큐어 엘리먼트(120)가 최초에 생성한 상기 랜덤값이 서로 일치하는 경우(단계 S440; 예), 시큐어 엘리먼트(120)는 상기 상호 인증을 수행하는 과정(단계 S200)에서 획득한 어플리케이션 프로세서(200)의 제2 공개키(PB2)를 사용하여 상기 암호화된 일회성 공개키를 복호화하여 상기 일회성 공개키를 획득할 수 있다(단계 S450).On the other hand, when the decrypted random value and the random value initially generated by the
이후, 시큐어 엘리먼트(120)는 상기 일회성 공개키 및 시큐어 엘리먼트(120)의 내부에 저장된 제1 개인키(PR1)에 기초하여 비밀값(secret value)을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값(authentication value)을 생성하고, 상기 제1 인증값을 어플리케이션 프로세서(200)에 전송할 수 있다(단계 S460).Thereafter, the
일 실시예에 있어서, 상기 일회성 공개키 및 제1 개인키(PR1)에 기초하여 상기 비밀값을 계산하는 제1 알고리즘 및 상기 비밀값에 기초하여 상기 세션키 및 상기 제1 인증값을 생성하는 제2 알고리즘은 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의될 수 있다.In an embodiment, a first algorithm for calculating the secret value based on the one-time public key and a first private key PR1, and a first algorithm for generating the session key and the first authentication value based on the secret value 2 The algorithm may be predefined between the
어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)로부터 상기 제1 인증값을 수신하는 경우, 상기 일회성 개인키 및 상기 상호 인증을 수행하는 과정(단계 S200)에서 획득한 시큐어 엘리먼트(120)의 제1 공개키(PB1)에 기초하여 상기 비밀값을 계산하고, 상기 비밀값에 기초하여 제2 인증값을 생성할 수 있다(단계 S470).When receiving the first authentication value from the
일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의된 상기 제1 알고리즘 및 상기 제2 알고리즘을 각각 사용하여 상기 비밀값 및 상기 제2 인증값을 각각 계산할 수 있다.In one embodiment, the
이후, 어플리케이션 프로세서(200)는 상기 제2 인증값과 시큐어 엘리먼트(120)로부터 수신되는 상기 제1 인증값이 일치하는지 여부를 판단할 수 있다(단계 S480). Thereafter, the
상기 제2 인증값과 시큐어 엘리먼트(120)로부터 수신되는 상기 제1 인증값이 일치하지 않는 경우(단계 S480; 아니오), 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와의 통신을 종료할 수 있다(단계 S495).When the second authentication value and the first authentication value received from the
반면에, 상기 제2 인증값과 시큐어 엘리먼트(120)로부터 수신되는 상기 제1 인증값이 일치하는 경우(단계 S480; 예), 어플리케이션 프로세서(200)는 상기 비밀값에 기초하여 상기 세션키를 생성할 수 있다(단계 S490).On the other hand, when the second authentication value and the first authentication value received from the
일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의된 상기 제2 알고리즘을 사용하여 상기 세션키를 생성할 수 있다.In an embodiment, the
따라서 시큐어 엘리먼트(120)가 생성한 상기 세션키는 어플리케이션 프로세서(200)가 생성한 상기 세션키와 동일할 수 있다. Accordingly, the session key generated by the
시큐어 엘리먼트(120) 및 어플리케이션 프로세서(200)는 각각 상기 세션키를 내부적으로 저장할 수 있다.Each of the
다시 도 2를 참조하면, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)가 상기 세션키를 생성한 이후, 프로세서(110)는 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환한다(단계 S500). 일 실시예에 있어서, 프로세서(110)는 어플리케이션 프로세서(200)의 요청에 응답하여 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환할 수 있다.Referring back to FIG. 2, after the
이후, 시큐어 모듈(100)은 센서(300)로부터 센싱 데이터(SSD)를 수신하고, 시큐어 엘리먼트(120)에 저장된 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화한다(단계 S600).Thereafter, the
일 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함할 수 있다. 이 경우, 프로세서(110)가 상기 하드웨어 암호화 엔진을 사용하여 센싱 데이터(SSD)를 암호화할 수 있다.In one embodiment, the
다른 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함하지 않을 수 있다. 이 경우, 시큐어 엘리먼트(120)가 센싱 데이터(SSD)를 암호화할 수 있다.In another embodiment, the
도 7은 도 2의 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하는 단계(S600)의 일 예를 나타내는 순서도이다.FIG. 7 is a flowchart illustrating an example of a step S600 of encrypting sensing data provided from a sensor by the secure module of FIG. 2 using a session key.
도 7에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하는 경우의 전자 장치(10)의 동작이 도시된다.7 illustrates the operation of the
도 7을 참조하면, 프로세서(110)는 센서(300)로부터 센싱 데이터(SSD)를 수신할 수 있다(단계 S610). 센서(300)가 신체 정보를 감지하는 바이오 센서인 경우, 센싱 데이터(SSD)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등과 같은 생체 정보를 포함할 수 있다.Referring to FIG. 7, the
프로세서(110)는 시큐어 엘리먼트(120)에 세션키 요청 신호를 전송할 수 있다(단계 S620).The
시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 세션키 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키를 프로세서(110)에 전송할 수 있다(단계 S630).The
도 1을 참조하여 상술한 바와 같이, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성되고, 프로세서(110)와 시큐어 엘리먼트(120)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성되므로, 내부 버스(INT_BUS)는 상기 패키지의 외부로 노출되지 않는다. 따라서 프로세서(110)와 시큐어 엘리먼트(120) 사이에 보안 채널을 형성하지 않고도 시큐어 엘리먼트(120)는 상기 세션키를 프로세서(110)에 안전하게 전송할 수 있다. 따라서 전자 장치(10)의 통신 오버헤드는 효과적으로 감소될 수 있다.As described above with reference to FIG. 1, the
프로세서(110)는 시큐어 엘리먼트(120)로부터 수신되는 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화할 수 있다(단계 S640).The
도 8은 도 2의 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하는 단계의 다른 예를 나타내는 순서도이다.FIG. 8 is a flowchart illustrating another example of a step in which the secure module of FIG. 2 encrypts sensing data provided from a sensor using a session key.
도 8에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하지 않는 경우의 전자 장치(10)의 동작이 도시된다.8 illustrates the operation of the
도 8을 참조하면, 프로세서(110)는 센서(300)로부터 센싱 데이터(SSD)를 수신할 수 있다(단계 S650). 센서(300)가 신체 정보를 감지하는 바이오 센서인 경우, 센싱 데이터(SSD)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등과 같은 생체 정보를 포함할 수 있다.Referring to FIG. 8, the
프로세서(110)는 시큐어 엘리먼트(120)에 암호화 요청 신호 및 센싱 데이터(SSD)를 전송할 수 있다(단계 S660).The
시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 암호화 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화할 수 있다(단계 S670).The
이후, 시큐어 엘리먼트(120)는 상기 암호화된 센싱 데이터를 프로세서(110)에 전송할 수 있다(단계 S680).Thereafter, the
다시 도 2를 참조하면, 프로세서(110)는 상기 암호화된 센싱 데이터를 어플리케이션 프로세서(200)에 전송한다(단계 S700).Referring back to FIG. 2, the
도 1을 참조하여 상술한 바와 같이, 프로세서(110)는 시큐어 모듈(100)에 상응하는 상기 패키지의 외부 단자에 연결되는 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)와 연결되므로, 프로세서(110)는 상기 암호화된 센싱 데이터를 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)에 전송할 수 있다. 센싱 데이터(SSD)는 상기 세션키로 암호화된 상태로 프로세서(110)에서 어플리케이션 프로세서(200)로 전송되므로, 외부 버스(EXT_BUS)가 스코프를 통해 프로빙(probing)되는 경우에도 센싱 데이터(SSD)의 유출을 효과적으로 방지할 수 있다.As described above with reference to FIG. 1, the
어플리케이션 프로세서(200)는 어플리케이션 프로세서(200)의 내부에 저장된 상기 세션키를 사용하여 프로세서(110)로부터 수신되는 상기 암호화된 센싱 데이터를 복호화하여 센싱 데이터(SSD)를 획득한다(단계 S800).The
도 1 내지 8을 참조하여 상술한 바와 같이, 본 발명의 실시예들에 따른 전자 장치(10)에 있어서, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성된다. 또한, 프로세서(110)가 상기 바이패스 모드로 동작하는 동안, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 시큐어 엘리먼트(120)의 내부에 저장된 제1 인증서(CT1), 어플리케이션 프로세서(200)의 내부에 저장된 제2 인증서(CT2) 및 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)에 공통으로 저장된 상기 인증기관의 공개키(CA_PB)를 사용하여 상호 인증을 수행하고, 상기 상호 인증이 성공하는 경우, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 시큐어 엘리먼트(120)의 내부에 저장된 제1 개인키(PR1) 및 어플리케이션 프로세서(200)의 내부에 저장된 제2 개인키(PR2)를 사용하여 상기 세션키를 생성한다. 이후, 시큐어 모듈(100)은 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화하여 어플리케이션 프로세서(200)에 전송하고, 어플리케이션 프로세서(200)는 상기 세션키를 사용하여 상기 암호화된 센싱 데이터를 복호화하여 센싱 데이터(SSD)를 획득한다. 따라서 전자 장치(10)에서 데이터 전송의 보안 레벨은 향상될 수 있다.As described above with reference to FIGS. 1 to 8, in the
일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 모듈(100)과 동일한 구성을 갖는 또 다른 시큐어 모듈로 구현될 수 있다. 이 경우, 도 1 내지 8을 참조하여 상술한 바와 같은 동작을 통해, 전자 장치(10)에 포함되는 시큐어 모듈들은 서로 안전하게 데이터 통신을 수행할 수 있다.In one embodiment, the
도 1 내지 8을 참조하여 어플리케이션 프로세서(200) 및 시큐어 모듈(100)이 동일한 전자 장치(10)에 포함되는 경우의 데이터 통신에 대해 설명하였으나, 본 발명은 이에 한정되지 않으며, 본 발명에 따른 데이터 전송 방법은 어플리케이션 프로세서(200) 및 시큐어 모듈(100)이 각각 서로 다른 전자 장치에 포함되는 경우에도 적용될 수 있다.Data communication in the case where the
도 9는 도 1에 도시된 전자 장치의 일 예를 나타내는 블록도이다.9 is a block diagram illustrating an example of the electronic device illustrated in FIG. 1.
도 9를 참조하면, 전자 장치(10a)는 시큐어 모듈(100), 어플리케이션 프로세서(200a) 및 센서(300)를 포함할 수 있다.Referring to FIG. 9, the
도 9의 전자 장치(10a)에 포함되는 시큐어 모듈(100) 및 센서(300)는 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 센서(300)와 동일할 수 있다. 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 센서(300)의 구성 및 동작에 대해서는 도 1 내지 8을 참조하여 상술하였으므로, 중복되는 설명은 생략한다.The
어플리케이션 프로세서(200a)는 신뢰된 실행 환경(trusted execution environment; TEE) 및 리치 OS 실행 환경(rich operating system execution environment; REE)을 갖는 어플리케이션 프로세서로 구현될 수 있다. 예를 들어, 신뢰된 실행 환경(TEE)은 ARM사의 트러스트존(TrustZone)을 사용하여 구현될 수 있다. The
리치 OS 실행 환경(REE)에서는, 안드로이드(Android) 등과 같은 일반 운영 체제(RICH OS)(212) 상에서 일반 어플리케이션(NORMAL APP)(211)이 구동되고, 신뢰된 실행 환경(TEE)에서는, 보안 운영 체제(SECURE OS)(222) 상에서 시큐어 모듈(100)과 통신을 수행하는 미리 정해진 보안 어플리케이션(TRUSTED APP)(221)이 구동될 수 있다.In the rich OS execution environment (REE), a normal application (NORMAL APP) 211 is driven on a general operating system (RICH OS) 212 such as Android, and in a trusted execution environment (TEE), security operation A predetermined security application (TRUSTED APP) 221 that communicates with the
또한, 어플리케이션 프로세서(200a)는 신뢰된 실행 환경(TEE)에 포함되는 보안 저장 장치(223)를 포함할 수 있다. 예를 들어, 보안 저장 장치(223)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(Flash Memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 또는 이와 유사한 메모리로 구현될 수 있다.In addition, the
상기 인증기관의 공개키(CA_PB), 상기 인증기관이 발행한 어플리케이션 프로세서(200a)에 상응하는 제2 인증서(CT2) 및 어플리케이션 프로세서(200a)의 제2 개인키(PR2)는 보안 저장 장치(223)에 저장될 수 있다.The public key CA_PB of the certification authority, the second certificate CT2 corresponding to the
보안 저장 장치(223)는 신뢰된 실행 환경(TEE)에서 동작하므로, 보안 저장 장치(223)는 신뢰된 실행 환경(TEE)에서 동작하는 보안 어플리케이션(221)을 통해서만 접근 가능할 수 있다. 즉, 리치 OS 실행 환경(REE)에서 동작하는 일반 어플리케이션(211)은 보안 저장 장치(223)에의 접근이 차단될 수 있다.Since the
보안 어플리케이션(221)은 보안 저장 장치(223)에 저장된 상기 인증기관의 공개키(CA_PB), 제2 인증서(CT2) 및 제2 개인키(PR2)를 사용하여 도 1 내지 8을 참조하여 상술한 바와 같은 동작을 수행함으로써 시큐어 모듈(100)로부터 센싱 데이터(SSD)를 안전하게 획득할 수 있다.The
도 9를 참조하여 상술한 바와 같이, 어플리케이션 프로세서(200a)는 신뢰된 실행 환경(TEE)을 통해 시큐어 모듈(100)과 통신을 수행하여 센싱 데이터(SSD)를 획득하므로, 전자 장치(10a)에서 데이터 전송의 보안 레벨은 더욱 향상될 수 있다.As described above with reference to FIG. 9, since the
도 10은 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.10 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
도 10을 참조하면, 전자 장치(20)는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)를 포함한다.Referring to FIG. 10, the
도 10의 전자 장치(20)에 포함되는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)가 보안 데이터(SED)를 더 저장한다는 사항을 제외하고는 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)와 동일할 수 있다. 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)의 구성 및 동작에 대해서는 도 1 내지 9를 참조하여 상술하였으므로, 중복되는 설명은 생략한다.The
도 11은 본 발명의 일 실시예에 따른 전자 장치의 데이터 전송 방법을 나타내는 순서도이다.11 is a flowchart illustrating a data transmission method of an electronic device according to an embodiment of the present invention.
도 11에 도시된 데이터 전송 방법은 도 10의 전자 장치(20)를 통해 수행될 수 있다.The data transmission method shown in FIG. 11 may be performed through the
도 11에는, 시큐어 모듈(200)이 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법이 도시된다.In FIG. 11, a method of securely transmitting the security data SED stored in the
이하, 도 10 및 11을 참조하여 전자 장치(20)의 데이터 전송 방법에 대해 설명한다.Hereinafter, a data transmission method of the
도 11을 참조하면, 본 발명에 따른 전자 장치(20)의 데이터 전송 방법에서, 프로세서(110)는 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환한다(단계 S100).Referring to FIG. 11, in the data transmission method of the
어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 상호 인증을 수행한다(단계 S200).The
상기 상호 인증이 실패한 경우(단계 S300; 아니오), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120) 사이의 통신은 종료된다.If the mutual authentication fails (step S300; No), communication between the
반면에, 상기 상호 인증이 성공한 경우(단계 S300; 예), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 세션키(session key)를 생성한다(단계 S400).On the other hand, when the mutual authentication is successful (step S300; Yes), the
어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)가 상기 세션키를 생성한 이후, 프로세서(110)는 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환한다(단계 S500).After the
도 11에 도시된 제1 내지 제5 단계들(S100, S200, S300, S400, S500)은 각각 도 2에 도시된 제1 내지 제5 단계들(S100, S200, S300, S400, S500)과 동일한 방법으로 수행될 수 있다. 도 2에 도시된 제1 내지 제5 단계들(S100, S200, S300, S400, S500)의 상세 동작에 대해서는 도 1 내지 8을 참조하여 상세히 설명하였으므로, 여기서는 중복되는 설명은 생략한다.The first to fifth steps (S100, S200, S300, S400, S500) shown in FIG. 11 are the same as the first to fifth steps (S100, S200, S300, S400, S500) shown in FIG. It can be done in a way. Since detailed operations of the first to fifth steps S100, S200, S300, S400, and S500 shown in FIG. 2 have been described in detail with reference to FIGS. 1 to 8, duplicate descriptions are omitted herein.
이후, 시큐어 모듈(100)은 시큐어 엘리먼트(120)에 저장된 상기 세션키를 사용하여 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 암호화한다(단계 S601).Thereafter, the
일 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함할 수 있다. 이 경우, 프로세서(110)가 상기 하드웨어 암호화 엔진을 사용하여 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 암호화할 수 있다.In one embodiment, the
다른 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함하지 않을 수 있다. 이 경우, 시큐어 엘리먼트(120)가 보안 데이터(SED)를 암호화할 수 있다.In another embodiment, the
도 12는 도 11의 시큐어 모듈이 세션키를 사용하여 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계(S601)의 일 예를 나타내는 순서도이다.12 is a flowchart illustrating an example of a step S601 of encrypting security data stored in a secure element by the secure module of FIG. 11 using a session key.
도 12에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하는 경우의 전자 장치(20)의 동작이 도시된다.12 illustrates the operation of the
도 12를 참조하면, 프로세서(110)는 시큐어 엘리먼트(120)에 데이터 요청 신호를 전송할 수 있다(단계 S611).Referring to FIG. 12, the
시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 데이터요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키 및 보안 데이터(SED)를 프로세서(110)에 전송할 수 있다(단계 S621).The
도 1을 참조하여 상술한 바와 같이, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성되고, 프로세서(110)와 시큐어 엘리먼트(120)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성되므로, 내부 버스(INT_BUS)는 상기 패키지의 외부로 노출되지 않는다. 따라서 프로세서(110)와 시큐어 엘리먼트(120) 사이에 보안 채널을 형성하지 않고도 시큐어 엘리먼트(120)는 상기 세션키 및 보안 데이터(SED)를 프로세서(110)에 안전하게 전송할 수 있다. 따라서 전자 장치(20)의 통신 오버헤드는 효과적으로 감소될 수 있다.As described above with reference to FIG. 1, the
프로세서(110)는 시큐어 엘리먼트(120)로부터 수신되는 상기 세션키를 사용하여 보안 데이터(SED)를 암호화할 수 있다(단계 S631).The
도 13은 도 11의 시큐어 모듈이 세션키를 사용하여 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계의 다른 예를 나타내는 순서도이다.13 is a flowchart illustrating another example of a step of encrypting security data stored in a secure element by the secure module of FIG. 11 using a session key.
도 13에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하지 않는 경우의 전자 장치(20)의 동작이 도시된다.13 illustrates the operation of the
도 13을 참조하면, 프로세서(110)는 시큐어 엘리먼트(120)에 데이터 요청 신호를 전송할 수 있다(단계 S641).Referring to FIG. 13, the
시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 데이터 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키를 사용하여 보안 데이터(SED)를 암호화할 수 있다(단계 S651).The
이후, 시큐어 엘리먼트(120)는 상기 암호화된 보안 데이터를 프로세서(110)에 전송할 수 있다(단계 S661).Thereafter, the
다시 도 11을 참조하면, 프로세서(110)는 상기 암호화된 보안 데이터를 어플리케이션 프로세서(200)에 전송한다(단계 S701).Referring back to FIG. 11, the
도 1을 참조하여 상술한 바와 같이, 프로세서(110)는 시큐어 모듈(100)에 상응하는 상기 패키지의 외부 단자에 연결되는 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)와 연결되므로, 프로세서(110)는 상기 암호화된 보안 데이터를 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)에 전송할 수 있다. 보안 데이터(SED)는 상기 세션키로 암호화된 상태로 프로세서(110)에서 어플리케이션 프로세서(200)로 전송되므로, 외부 버스(EXT_BUS)가 스코프를 통해 프로빙(probing)되는 경우에도 보안 데이터(SED)의 유출을 효과적으로 방지할 수 있다.As described above with reference to FIG. 1, the
어플리케이션 프로세서(200)는 어플리케이션 프로세서(200)의 내부에 저장된 상기 세션키를 사용하여 프로세서(110)로부터 수신되는 상기 암호화된 보안 데이터를 복호화하여 보안 데이터(SED)를 획득한다(단계 S801).The
도 10 내지 13을 참조하여 상술한 바와 같이, 본 발명의 실시예들에 따른 전자 장치(20)는 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 안전하게 어플리케이션 프로세서(200)에 전송할 수 있다. 따라서 전자 장치(20)에서 데이터 전송의 보안 레벨은 향상될 수 있다.As described above with reference to FIGS. 10 to 13, the
도 14는 본 발명의 일 실시예에 따른 전자 장치를 나타내는 블록도이다.14 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
도 14를 참조하면, 전자 장치(30)는 시큐어 모듈(100), 어플리케이션 프로세서(200) 및 센서(300)를 포함한다.Referring to FIG. 14, the
도 14의 전자 장치(30)는 시큐어 엘리먼트(120)가 보안 데이터(SED)를 더 저장한다는 사항을 제외하고는 도 1의 전자 장치(10)와 동일할 수 있다. 즉, 도 14의 전자 장치(30)는 도 1의 전자 장치(10) 및 도 10의 전자 장치(20)의 조합에 상응할 수 있다.The
따라서 전자 장치(30)는 도 1 내지 9를 참조하여 상술한 시큐어 모듈(200)이 센서(300)로부터 생성되는 센싱 데이터(SSD)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법 및 도 10 내지 13을 참조하여 상술한 시큐어 모듈(200)이 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법을 모두 수행할 수 있다.Accordingly, the
도 1의 전자 장치(10) 및 도 10의 전자 장치(20)의 구성 및 동작에 대해서는 도 1 내지 13을 참조하여 상세히 설명하였으므로, 도 14의 전자 장치(30)에 대한 상세한 설명은 생략한다.Since the configuration and operation of the
도 15는 본 발명의 일 실시예에 따른 전자 시스템을 나타내는 블록도이다.15 is a block diagram illustrating an electronic system according to an embodiment of the present invention.
도 15를 참조하면, 전자 시스템(900)은 시큐어 모듈(910), 어플리케이션 프로세서(920), 저장 장치(STORAGE DEVICE)(930), 메모리 장치(MEMORY DEVICE)(940), 입출력 장치(950), 전원 장치(960) 및 센서(970)를 포함한다. 또한, 도 15에는 도시되지 않았지만, 전자 시스템(900)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다.Referring to FIG. 15, the
어플리케이션 프로세서(920)는 전자 시스템(900)의 전반적인 동작을 제어한다. 어플리케이션 프로세서(920)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 어플리케이션 프로세서(920)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(920)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 어플리케이션 프로세서(920)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.The
시큐어 모듈(910)은 프로세서(911) 및 시큐어 엘리먼트(912)를 포함한다. 프로세서(911) 및 시큐어 엘리먼트(912)를 포함하는 시큐어 모듈(910)은 하나의 패키지로 형성되고, 프로세서(911)와 시큐어 엘리먼트(912)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성될 수 있다. 시큐어 에리먼트(912)는 외부로부터의 공격, 예를 들면, 랩 어택(lab attack)을 방어할 수 있는 기능을 포함할 수 있다. 따라서 시큐어 에리먼트(912)는 보안 데이터를 안전하게 저장할 수 있다. 프로세서(911)는 어플리케이션 프로세서(920)와 연결될 수 있다.The
센서(970)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있다. 예를 들어, 센서(970)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 상응하는 센싱 데이터를 생성하여 시큐어 모듈(910)에 포함되는 프로세서(911)에 제공할 수 있다. 그러나 센서(970)는 바이오 센서에 한정되지 않으며, 센서(970)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서일 수 있다.The
도 15의 전자 시스템(900)에 포함되는 시큐어 모듈(910), 어플리케이션 프로세서(920) 및 센서(970)는 각각 도 14의 전자 장치(30)에 포함되는 시큐어 모듈(100), 어플리케이션 프로세서(200) 및 센서(300)로 구현될 수 있다. 도 14의 전자 장치(30)에 포함되는 시큐어 모듈(100), 어플리케이션 프로세서(200) 및 센서(300)의 구성 및 동작에 대해서는 도 1 내지 14를 참조하여 상세히 설명하였으므로 여기서는 시큐어 모듈(910), 어플리케이션 프로세서(920) 및 센서(970)에 대한 상세한 설명은 생략한다.The
저장 장치(930)는 전자 시스템(900)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 저장 장치(930)는 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.The
메모리 장치(940)는 전자 시스템(900)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(940)는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치를 포함할 수 있다.The
입출력 장치(950)는 터치패드, 키패드, 입력 버튼 등과 같은 입력 수단 및 디스플레이, 스피커 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(960)는 전자 시스템(900)의 동작에 필요한 동작 전압을 공급할 수 있다.The input/
실시예에 따라, 전자 시스템(900)은 휴대폰(Mobile Phone), 스마트 폰(Smart Phone), 개인 정보 단말기(Personal Digital Assistant; PDA), 휴대형 멀티미디어 플레이어(Portable Multimedia Player; PMP), 디지털 카메라(Digital Camera), 음악 재생기(Music Player), 휴대용 게임 콘솔(Portable Game Console), 네비게이션(Navigation) 시스템, 랩탑 컴퓨터(laptop computer) 등과 같은 임의의 모바일 시스템일 수 있다.According to an embodiment, the
도 16은 도 15의 전자 시스템이 스마트폰으로 구현되는 일 예를 나타내는 도면이다.16 is a diagram illustrating an example in which the electronic system of FIG. 15 is implemented as a smart phone.
도 15 및 16을 참조하면, 스마트폰(900a)에 포함되는 시큐어 엘리먼트(912)는 사용자의 신체 정보(biometric information)에 상응하는 보안 데이터를 미리 저장할 수 있다. 15 and 16, the
예를 들어, 스마트폰(900a)에 포함되는 센서(SR)(970)가 사용자의 지문을 감지하는 지문 센서인 경우, 시큐어 엘리먼트(912)에 저장되는 상기 보안 데이터는 사용자의 지문 정보에 상응할 수 있다.For example, if the sensor (SR) 970 included in the
현재 사용자의 지문을 사용하여 상기 현재 사용자가 허용된 사용자인지를 판단하고자 하는 경우, 시큐어 모듈(910), 어플리케이션 프로세서(920) 및 센서(970)는 도 1 내지 8을 참조하여 상술한 바와 같은 동작을 수행하여 센서(970)로부터 생성되는 상기 현재 사용자의 지문 정보에 상응하는 센싱 데이터를 시큐어 모듈(910)을 통해 어플리케이션 프로세서(920)에 안전하게 전송할 수 있다. 또한, 시큐어 모듈(910) 및 어플리케이션 프로세서(920)는 도 10 내지 13을 참조하여 상술한 바와 같은 동작을 수행하여 시큐어 엘리먼트(912)에 저장된 상기 보안 데이터를 어플리케이션 프로세서(920)에 안전하게 전송할 수 있다. 어플리케이션 프로세서(920)는 시큐어 모듈(910)로부터 전송되는 상기 센싱 데이터와 상기 보안 데이터가 서로 일치하는지 여부에 기초하여 상기 현재 사용자가 허용된 사용자인지 여부를 효과적으로 판단할 수 있다.When determining whether the current user is an allowed user using the current user's fingerprint, the
도 15를 참조하여 설명한 지문 정보를 통한 사용자 인증 동작은 본 발명에 따른 전자 장치의 데이터 전송 방법의 한 응용 예에 불과하며, 본 발명에 따른 전자 장치의 데이터 전송 방법은 다양한 방식으로 응용될 수 있다.The user authentication operation through fingerprint information described with reference to FIG. 15 is only one application example of the data transmission method of the electronic device according to the present invention, and the data transmission method of the electronic device according to the present invention can be applied in various ways .
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.As described above, the present invention has been described with reference to preferred embodiments of the present invention, but those of ordinary skill in the relevant technical field may vary the present invention within the scope not departing from the spirit and scope of the present invention described in the following claims. You will understand that it can be modified and changed.
10, 20, 30: 전자 장치 100: 시큐어 모듈
110: 프로세서 120: 시큐어 엘리먼트
200: 어플리케이션 프로세서 300: 센서
900: 전자 시스템10, 20, 30: electronic device 100: secure module
110: processor 120: secure element
200: application processor 300: sensor
900: electronic system
Claims (10)
상기 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계;
상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계;
상기 상호 인증이 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하는 단계;
상기 프로세서가 상기 동작 모드를 정상 모드로 전환하는 단계;
상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 센싱 데이터를 암호화하는 단계;
상기 프로세서가 상기 암호화된 센싱 데이터를 상기 어플리케이션 프로세서에 전송하는 단계; 및
상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 센싱 데이터를 복호화하여 상기 센싱 데이터를 획득하는 단계를 포함하고,
상기 프로세서가 상기 동작 모드를 상기 바이패스 모드로 전환하는 단계는,
상기 어플리케이션 프로세서가 상기 프로세서에 바이패스 요청 신호를 전송하는 단계; 및
상기 프로세서가 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트를 연결하는 바이패스 채널을 형성하는 단계를 포함하는 전자 장치의 데이터 전송 방법.In a data transmission method of an electronic device including a secure module including a processor and a secure element, an application processor, and a sensor,
Converting, by the processor, an operation mode to a bypass mode;
Performing mutual authentication between the application processor and the secure element;
Generating a session key by the application processor and the secure element when the mutual authentication is successful;
Converting, by the processor, the operating mode to a normal mode;
Encrypting, by the secure module, sensing data provided from the sensor using the session key;
Transmitting, by the processor, the encrypted sensing data to the application processor; And
The application processor decrypting the encrypted sensing data using the session key to obtain the sensing data,
The step of the processor switching the operation mode to the bypass mode,
Transmitting, by the application processor, a bypass request signal to the processor; And
Data of an electronic device comprising the step of forming, by the processor, a bypass channel connecting the application processor and the secure element by switching the operation mode from the normal mode to the bypass mode in response to the bypass request signal Transmission method.
상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 인증서 요청 신호를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 인증서 요청 신호에 응답하여 상기 제1 인증서를 상기 어플리케이션 프로세서에 전송하는 단계;
상기 어플리케이션 프로세서가 상기 인증기관의 공개키를 사용하여 상기 제1 인증서를 검증하는 단계;
상기 어플리케이션 프로세서가 상기 제1 인증서의 검증을 성공하는 경우, 상기 제1 인증서에 포함되는 상기 시큐어 엘리먼트의 제1 공개키를 획득하는 단계;
상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 검증 요청 신호 및 상기 제2 인증서를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 검증 요청 신호에 응답하여 상기 인증기관의 공개키를 사용하여 상기 제2 인증서를 검증하는 단계; 및
상기 시큐어 엘리먼트가 상기 제2 인증서의 검증을 성공하는 경우, 상기 제2 인증서에 포함되는 상기 어플리케이션 프로세서의 제2 공개키를 획득하는 단계를 포함하는 전자 장치의 데이터 전송 방법.The method of claim 4, wherein performing mutual authentication between the application processor and the secure element comprises:
Transmitting, by the application processor, a certificate request signal to the secure element;
Transmitting, by the secure element, the first certificate to the application processor in response to the certificate request signal;
Verifying, by the application processor, the first certificate using the public key of the certification authority;
When the application processor succeeds in verifying the first certificate, obtaining a first public key of the secure element included in the first certificate;
Transmitting, by the application processor, a verification request signal and the second certificate to the secure element;
Verifying, by the secure element, the second certificate using the public key of the certification authority in response to the verification request signal; And
And when the secure element successfully verifies the second certificate, obtaining a second public key of the application processor included in the second certificate.
상기 시큐어 엘리먼트가 랜덤값을 생성하고, 상기 랜덤값을 상기 어플리케이션 프로세서에 전송하는 단계;
상기 어플리케이션 프로세서가 일회성 개인키 및 일회성 공개키 쌍을 생성하고, 상기 제2 개인키를 사용하여 상기 랜덤값 및 상기 일회성 공개키를 각각 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 일회성 공개키를 상기 시큐어 엘리먼트에 전송하는 단계;
상기 시큐어 엘리먼트가 상기 제2 공개키를 사용하여 상기 암호화된 랜덤값을 복호화하고, 상기 복호화된 랜덤값과 상기 랜덤값이 일치하는 경우, 상기 제2 공개키를 사용하여 상기 암호화된 일회성 공개키를 복호화하여 상기 일회성 공개키를 획득하는 단계;
상기 시큐어 엘리먼트가 상기 제1 개인키 및 상기 일회성 공개키에 기초하여 비밀값을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값을 생성하고, 상기 제1 인증값을 상기 어플리케이션 프로세서에 전송하는 단계; 및
상기 어플리케이션 프로세서가 상기 제1 공개키 및 상기 일회성 개인키에 기초하여 상기 비밀값을 계산하고, 상기 비밀값에 기초하여 제2 인증값을 생성하고, 상기 제2 인증값과 상기 제1 인증값이 일치하는 경우, 상기 비밀값에 기초하여 상기 세션키를 생성하는 단계를 포함하는 전자 장치의 데이터 전송 방법.The method of claim 5, wherein generating the session key by the application processor and the secure element comprises:
Generating a random value by the secure element and transmitting the random value to the application processor;
The application processor generates a one-time private key and one-time public key pair, encrypts the random value and the one-time public key, respectively, using the second private key, and stores the encrypted random value and the encrypted one-time public key. Transmitting to the secure element;
When the secure element decrypts the encrypted random value using the second public key, and the decrypted random value and the random value match, the encrypted one-time public key using the second public key Decrypting to obtain the one-time public key;
The secure element calculates a secret value based on the first private key and the one-time public key, generates the session key and a first authentication value based on the secret value, and calculates the first authentication value to the application processor Transferring to; And
The application processor calculates the secret value based on the first public key and the one-time private key, generates a second authentication value based on the secret value, and the second authentication value and the first authentication value are And if they match, generating the session key based on the secret value.
상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계;
상기 프로세서가 상기 시큐어 엘리먼트에 세션키 요청 신호를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 세션키 요청 신호에 응답하여 상기 세션키를 상기 프로세서에 전송하는 단계; 및
상기 프로세서가 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계를 포함하는 전자 장치의 데이터 전송 방법.The method of claim 1, wherein the secure module encrypts the sensing data provided from the sensor using the session key,
Receiving, by the processor, the sensing data from the sensor;
Transmitting, by the processor, a session key request signal to the secure element;
Transmitting, by the secure element, the session key to the processor in response to the session key request signal; And
And encrypting, by the processor, the sensing data using the session key.
상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계;
상기 프로세서가 상기 시큐어 엘리먼트에 암호화 요청 신호 및 상기 센싱 데이터를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 암호화 요청 신호에 응답하여 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계; 및
상기 시큐어 엘리먼트가 상기 암호화된 센싱 데이터를 상기 프로세서에 전송하는 단계를 포함하는 전자 장치의 데이터 전송 방법.The method of claim 1, wherein the secure module encrypts the sensing data provided from the sensor using the session key,
Receiving, by the processor, the sensing data from the sensor;
Transmitting, by the processor, an encryption request signal and the sensing data to the secure element;
Encrypting, by the secure element, the sensing data using the session key in response to the encryption request signal; And
And transmitting, by the secure element, the encrypted sensing data to the processor.
상기 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계;
상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계;
상기 상호 인증에 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하는 단계;
상기 프로세서가 상기 동작 모드를 정상 모드로 전환하는 단계;
상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계;
상기 프로세서가 상기 암호화된 보안 데이터를 상기 어플리케이션 프로세서에 전송하는 단계; 및
상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 보안 데이터를 복호화하여 상기 보안 데이터를 획득하는 단계를 포함하고,
상기 프로세서가 상기 동작 모드를 상기 바이패스 모드로 전환하는 단계는,
상기 어플리케이션 프로세서가 상기 프로세서에 바이패스 요청 신호를 전송하는 단계; 및
상기 프로세서가 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트를 연결하는 바이패스 채널을 형성하는 단계를 포함하는 전자 장치의 데이터 전송 방법.In a data transmission method of an electronic device including a secure module including a processor and a secure element and an application processor,
Converting, by the processor, an operation mode to a bypass mode;
Performing mutual authentication between the application processor and the secure element;
Generating a session key by the application processor and the secure element when the mutual authentication is successful;
Converting, by the processor, the operating mode to a normal mode;
Encrypting, by the secure module, security data stored in the secure element using the session key;
Transmitting, by the processor, the encrypted security data to the application processor; And
The application processor decrypting the encrypted security data using the session key to obtain the security data,
The step of the processor switching the operation mode to the bypass mode,
Transmitting, by the application processor, a bypass request signal to the processor; And
Data of an electronic device comprising the step of forming, by the processor, a bypass channel connecting the application processor and the secure element by switching the operation mode from the normal mode to the bypass mode in response to the bypass request signal Transmission method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/955,192 US9858429B2 (en) | 2014-12-01 | 2015-12-01 | Methods of data transfer in electronic devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462085756P | 2014-12-01 | 2014-12-01 | |
US62/085,756 | 2014-12-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160065716A KR20160065716A (en) | 2016-06-09 |
KR102256330B1 true KR102256330B1 (en) | 2021-05-26 |
Family
ID=56138960
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150011003A KR102256330B1 (en) | 2014-12-01 | 2015-01-23 | Method of data transfer in electronic device |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102256330B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106506148A (en) * | 2016-10-28 | 2017-03-15 | 郑建钦 | A kind of date storage method based on mobile fingerprint |
KR102163891B1 (en) * | 2018-10-01 | 2020-10-12 | 한국항공대학교산학협력단 | Device and method for communication between diffrent type block chains |
KR102438027B1 (en) * | 2020-08-11 | 2022-08-29 | 이청종 | Compartment Type Security Device, Computer comprising Compartment Type Computing Module and Hacking Prevention Method |
KR102528040B1 (en) * | 2021-05-11 | 2023-06-20 | 주식회사 시큐리안테크놀로지 | Kiosk and its control method |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105954A1 (en) * | 2001-10-18 | 2003-06-05 | Olli Immonen | Method, system and computer program product for secure ticketing in a communications device |
US20090164797A1 (en) * | 2007-12-21 | 2009-06-25 | Upek, Inc. | Secure off-chip processing such as for biometric data |
US20140317686A1 (en) * | 2013-04-22 | 2014-10-23 | Oracle International Corporation | System with a trusted execution environment component executed on a secure element |
-
2015
- 2015-01-23 KR KR1020150011003A patent/KR102256330B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105954A1 (en) * | 2001-10-18 | 2003-06-05 | Olli Immonen | Method, system and computer program product for secure ticketing in a communications device |
US20090164797A1 (en) * | 2007-12-21 | 2009-06-25 | Upek, Inc. | Secure off-chip processing such as for biometric data |
US20140317686A1 (en) * | 2013-04-22 | 2014-10-23 | Oracle International Corporation | System with a trusted execution environment component executed on a secure element |
Also Published As
Publication number | Publication date |
---|---|
KR20160065716A (en) | 2016-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7416775B2 (en) | Peripheral device | |
US11531758B2 (en) | Provision of domains in secure enclave to support multiple users | |
EP2877955B1 (en) | Providing access to encrypted data | |
US20160154967A1 (en) | Methods of data transfer in electronic devices | |
US9589159B2 (en) | Creating secure communication channels between processing elements | |
US20170337380A1 (en) | Self-contained cryptographic boot policy validation | |
US10325105B2 (en) | Single-chip virtualizing and obfuscating storage system for portable computing devices | |
US20200104528A1 (en) | Data processing method, device and system | |
ES2819449T3 (en) | Remote crypto services using server TPM | |
WO2017210145A1 (en) | Flexible provisioning of attestation keys in secure enclaves | |
US11455432B1 (en) | Multi-user storage volume encryption via secure processor | |
KR20210017083A (en) | Electronic device and method for generating attestation certificate based on fused key | |
CN107077567B (en) | Identifying security boundaries on computing devices | |
KR102256330B1 (en) | Method of data transfer in electronic device | |
KR102660863B1 (en) | Secure signing of configuration settings | |
CN110059497B (en) | Method, node and storage medium for implementing privacy protection in block chain | |
KR20210012186A (en) | Electronic device and method for protecting personal informatino using secure switch | |
CN114629639A (en) | Key management method and device based on trusted execution environment and electronic equipment | |
US10210350B2 (en) | Electronic device against side channel attacks | |
JP7335319B2 (en) | remote secure terminal | |
US20200226263A1 (en) | Platform security mechanism | |
US11983264B2 (en) | Adaptive acceleration of transport layer security | |
Fiolhais et al. | Software Emulation of Quantum Resistant Trusted Platform Modules. | |
KR102335203B1 (en) | Electronic device against side channel attack | |
TWI809852B (en) | Integrated circuit module functioning for information security |
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 |