KR102256330B1 - Method of data transfer in electronic device - Google Patents

Method of data transfer in electronic device Download PDF

Info

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
Application number
KR1020150011003A
Other languages
Korean (ko)
Other versions
KR20160065716A (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 US14/955,192 priority Critical patent/US9858429B2/en
Publication of KR20160065716A publication Critical patent/KR20160065716A/en
Application granted granted Critical
Publication of KR102256330B1 publication Critical patent/KR102256330B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network 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

전자 장치의 데이터 전송 방법{METHOD OF DATA TRANSFER IN ELECTRONIC DEVICE}Data transmission method of electronic device {METHOD OF DATA TRANSFER IN ELECTRONIC DEVICE}

본 발명은 전자 장치에 관한 것으로, 보다 상세하게는 전자 장치의 데이터 전송 방법에 관한 것이다.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 electronic device 10 includes a secure module 100, an application processor 200, and a sensor 300.

시큐어 모듈(100)은 프로세서(110) 및 시큐어 엘리먼트(Secure Element; SE)(120)를 포함한다.The secure module 100 includes a processor 110 and a secure element (SE) 120.

시큐어 엘리먼트(120)는 인증기관(Certificate Authority; CA)이 발행한 시큐어 엘리먼트(120)에 상응하는 제1 인증서(CT1), 상기 인증기관의 공개키(CA_PB) 및 시큐어 엘리먼트(120)의 제1 개인키(PR1)를 저장한다. 제1 개인키(PR1)에 대응되는 제1 공개키(PB1)는 제1 인증서(CT1)에 포함된다.The secure element 120 includes a first certificate CT1 corresponding to the secure element 120 issued by a certificate authority (CA), a public key CA_PB of the certificate authority, and a first of the secure element 120. Save the private key (PR1). The first public key PB1 corresponding to the first private key PR1 is included in the first certificate CT1.

일 실시예에 있어서, 시큐어 엘리먼트(120)는 외부로부터의 공격, 예를 들면, 랩 어택(lab attack)을 방어할 수 있는 기능을 포함할 수 있다. 시큐어 엘리먼트(120)에 포함되는 외부로부터의 공격을 방어하는 기능은 다양한 형태로 구현될 수 있다. 따라서 제1 인증서(CT1), 인증기관의 공개키(CA_PB) 및 제1 개인키(PR1)는 시큐어 엘리먼트(120)에 안전하게 저장될 수 있다.In one embodiment, the secure element 120 may include a function capable of defending against attacks from outside, for example, a lab attack. A function of preventing external attacks included in the secure element 120 may be implemented in various forms. Accordingly, the first certificate CT1, the public key CA_PB of the certification authority, and the first private key PR1 may be safely stored in the secure element 120.

프로세서(110)는 내부 버스(INT_BUS)를 통해 시큐어 엘리먼트(120)와 연결된다.The processor 110 is connected to the secure element 120 through an internal bus INT_BUS.

프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성된다. 예를 들어, 프로세서(110) 및 시큐어 엘리먼트(120)는 시스템-인-패키지(System in package; SiP), 관통 실리콘 비아(Through Silicon Via; TSV), 멀티칩 패키지(Multi Chip Package; MCP), 패키지-온-패키지(Package on Package; PoP) 등을 통해 하나의 패키지로 형성될 수 있다.The secure module 100 including the processor 110 and the secure element 120 is formed in one package. For example, the processor 110 and the secure element 120 may include a system in package (SiP), a through silicon via (TSV), a multi-chip package (MCP), Package-on-package (Package on Package; PoP) may be formed as a single package.

프로세서(110)는 시큐어 모듈(100)에 상응하는 상기 패키지의 외부 단자에 연결되는 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)와 직접 연결된다.The processor 110 is directly connected to the application processor 200 through an external bus EXT_BUS connected to an external terminal of the package corresponding to the secure module 100.

어플리케이션 프로세서(200)는 상기 인증기관의 공개키(CA_PB), 상기 인증기관이 발행한 어플리케이션 프로세서(200)에 상응하는 제2 인증서(CT2) 및 어플리케이션 프로세서(200)의 제2 개인키(PR2)를 저장한다. 제2 개인키(PR2)에 대응되는 제2 공개키(PB2)는 제2 인증서(CT2)에 포함된다.The application processor 200 includes a public key CA_PB of the certification authority, a second certificate CT2 corresponding to the application processor 200 issued by the certification authority, and a second private key PR2 of the application processor 200 Save it. The second public key PB2 corresponding to the second private key PR2 is included in the second certificate CT2.

상술한 바와 같이, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성되고, 프로세서(110)와 시큐어 엘리먼트(120)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성되므로, 내부 버스(INT_BUS)는 상기 패키지의 외부로 노출되지 않는다. 따라서 프로세서(110)와 시큐어 엘리먼트(120) 사이에 데이터 통신을 수행하는 경우, 프로세서(110)와 시큐어 엘리먼트(120) 사이에 보안 채널(secure channel)을 형성할 필요가 없으므로, 전자 장치(10)의 통신 오버헤드(overhead)는 효과적으로 감소될 수 있다.As described above, the secure module 100 including the processor 110 and the secure element 120 is formed in one package, and the internal bus INT_BUS connecting the processor 110 and the secure element 120 is Since it is formed inside the package, the internal bus INT_BUS is not exposed to the outside of the package. Therefore, when performing data communication between the processor 110 and the secure element 120, there is no need to form a secure channel between the processor 110 and the secure element 120, so the electronic device 10 The communication overhead of can be effectively reduced.

일 실시예에 있어서, 프로세서(110)는 정상 모드 또는 바이패스(bypass) 모드로 동작할 수 있다.In one embodiment, the processor 110 may operate in a normal mode or a bypass mode.

상기 바이패스 모드에서, 프로세서(110)는 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)를 연결하는 바이패스 채널(BP_CH)을 형성할 수 있다. 따라서 상기 바이패스 모드에서 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 시큐어 엘리먼트(120)에 제공하고, 시큐어 엘리먼트(120)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 어플리케이션 프로세서(200)에 제공할 수 있다.In the bypass mode, the processor 110 may form a bypass channel BP_CH connecting the application processor 200 and the secure element 120. Accordingly, in the bypass mode, the processor 110 bypasses the signal received from the application processor 200 through the bypass channel BP_CH and provides the bypass channel to the secure element 120, and the signal received from the secure element 120 May be provided to the application processor 200 by bypassing through the bypass channel BP_CH.

상기 정상 모드에서, 프로세서(110)는 바이패스 채널(BP_CH)을 비활성화시키고, 어플리케이션 프로세서(200)와 직접 통신을 수행할 수 있다.In the normal mode, the processor 110 may deactivate the bypass channel BP_CH and perform direct communication with the application processor 200.

센서(300)는 센싱 데이터(SSD)를 생성하여 프로세서(110)에 제공한다.The sensor 300 generates sensing data SSD and provides it to the processor 110.

일 실시예에 있어서, 센서(300)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있다. 예를 들어, 센서(300)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 상응하는 센싱 데이터(SSD)를 생성하여 프로세서(110)에 제공할 수 있다. 그러나 본 명세서에서 센서(300)는 바이오 센서에 한정되지 않으며, 센서(300)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서일 수 있다.In one embodiment, the sensor 300 may be a biosensor that detects biometric information. For example, the sensor 300 may sense a fingerprint, an iris pattern, a vein pattern, a heart rate, a blood sugar, and the like, and generate sensing data SSD corresponding to the sensed information and provide it to the processor 110. However, in this specification, the sensor 300 is not limited to a biosensor, and the sensor 300 may be any sensor such as an illumination sensor, an acoustic sensor, an acceleration sensor, or the like.

도 1을 참조하여 센서(300)는 시큐어 모듈(100)의 외부에 존재하는 것으로 설명하였으나, 실시예에 따라서 센서(300)는 시큐어 모듈(100)의 내부에 포함될 수도 있다. 이 경우, 프로세서(110), 시큐어 엘리먼트(120) 및 센서(300)는 하나의 패키지로 형성될 수 있다.Although the sensor 300 has been described as being external to the secure module 100 with reference to FIG. 1, the sensor 300 may be included in the secure module 100 according to embodiments. In this case, the processor 110, the secure element 120, and the sensor 300 may be formed in one package.

후술하는 바와 같이, 시큐어 모듈(100)은 센서(300)로부터 제공되는 센싱 데이터(SSD)를 암호화하여 어플리케이션 프로세서(200)에 전송하고, 어플리케이션 프로세서(200)는 시큐어 모듈(100)로부터 제공되는 암호화된 센싱 데이터를 복호화하여 센싱 데이터(SSD)를 획득함으로써, 전자 장치(10)에서 데이터 전송의 보안 레벨을 향상시킬 수 있다.As described later, the secure module 100 encrypts the sensing data (SSD) provided from the sensor 300 and transmits it to the application processor 200, and the application processor 200 encrypts the data provided from the secure module 100. By decoding the sensed data to obtain the sensed data (SSD), the electronic device 10 may improve the security level of data transmission.

도 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 electronic device 10 of FIG. 1.

도 2에는, 시큐어 모듈(200)이 센서(300)로부터 생성되는 센싱 데이터(SSD)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법이 도시된다.In FIG. 2, a method of safely transmitting sensing data (SSD) generated from the sensor 300 by the secure module 200 to the application processor 200 is illustrated.

이하, 도 1 및 2를 참조하여 전자 장치(10)의 데이터 전송 방법에 대해 설명한다.Hereinafter, a data transmission method of the electronic device 10 will be described with reference to FIGS. 1 and 2.

도 2를 참조하면, 본 발명에 따른 전자 장치(10)의 데이터 전송 방법에서, 프로세서(110)는 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환한다(단계 S100). 일 실시예에 있어서, 프로세서(110)는 어플리케이션 프로세서(200)의 요청에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환할 수 있다.Referring to FIG. 2, in the data transmission method of the electronic device 10 according to the present invention, the processor 110 switches the operation mode from the normal mode to the bypass mode (step S100). In an embodiment, the processor 110 may switch the operation mode from the normal mode to the bypass mode in response to a request of the application processor 200.

도 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 application processor 200 may transmit a bypass request signal to the processor 110 (step S110).

프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)를 연결하는 바이패스 채널(BP_CH)을 형성할 수 있다(단계 S120). 따라서 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 시큐어 엘리먼트(120)에 제공하고, 시큐어 엘리먼트(120)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 어플리케이션 프로세서(200)에 제공할 수 있다.The processor 110 connects the application processor 200 and the secure element 120 by switching the operation mode from the normal mode to the bypass mode in response to the bypass request signal received from the application processor 200. A bypass channel BP_CH may be formed (step S120). Therefore, the processor 110 bypasses the signal received from the application processor 200 through the bypass channel BP_CH to provide the bypass channel to the secure element 120, and provides the signal received from the secure element 120 to the bypass channel ( BP_CH) may be bypassed and provided to the application processor 200.

도 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 application processor 200 may transmit a bypass request signal and a unique number of the application processor to the processor 110 (step S130).

프로세서(110)는 통신이 허용된 디바이스의 고유 번호를 저장하는 고유 번호 테이블을 미리 저장할 수 있다. 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 상기 바이패스 요청 신호에 응답하여 상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하는지 여부를 판단할 수 있다(단계 S140).The processor 110 may pre-store a unique number table that stores a unique number of a device that is allowed to communicate. The processor 110 may determine whether a unique number of the application processor 200 exists in the unique number table in response to the bypass request signal received from the application processor 200 (step S140).

상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하는 경우(단계 S140; 예), 프로세서(110)는 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)를 연결하는 바이패스 채널(BP_CH)을 형성할 수 있다(단계 S150). 따라서 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 시큐어 엘리먼트(120)에 제공하고, 시큐어 엘리먼트(120)로부터 수신되는 신호를 바이패스 채널(BP_CH)을 통해 바이패스시켜 어플리케이션 프로세서(200)에 제공할 수 있다.When the unique number of the application processor 200 exists in the unique number table (step S140; YES), the processor 110 switches the operation mode from the normal mode to the bypass mode, A bypass channel BP_CH connecting the secure element 120 may be formed (step S150). Therefore, the processor 110 bypasses the signal received from the application processor 200 through the bypass channel BP_CH to provide the bypass channel to the secure element 120, and provides the signal received from the secure element 120 to the bypass channel ( BP_CH) may be bypassed and provided to the application processor 200.

한편, 상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하지 않는 경우(단계 S140; 아니오), 프로세서(110)는 상기 동작 모드를 상기 정상 모드로 유지하고, 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다.On the other hand, if the unique number of the application processor 200 does not exist in the unique number table (step S140; No), the processor 110 maintains the operation mode in the normal mode and communicates with the application processor 200 Can be terminated.

다시 도 2를 참조하면, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 상호 인증을 수행한다(단계 S200). 일 실시예에 있어서, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 제1 인증서(CT1), 제2 인증서(CT2) 및 상기 인증기관의 공개키(CA_PB)를 사용하여 상호 인증을 수행할 수 있다.Referring back to FIG. 2, the application processor 200 and the secure element 120 perform mutual authentication (step S200). In one embodiment, the application processor 200 and the secure element 120 may perform mutual authentication using a first certificate (CT1), a second certificate (CT2), and a public key (CA_PB) of the certification authority. have.

도 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 application processor 200 may transmit a certificate request signal to the secure element 120 (step S210).

시큐어 엘리먼트(120)는 어플리케이션 프로세서(200)로부터 수신되는 상기 인증서 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 제1 인증서(CT1)를 어플리케이션 프로세서(200)에 전송할 수 있다(단계 S220).The secure element 120 may transmit the first certificate CT1 stored in the secure element 120 to the application processor 200 in response to the certificate request signal received from the application processor 200 (step S220). .

어플리케이션 프로세서(200)는 어플리케이션 프로세서(200)의 내부에 저장된 상기 인증기관의 공개키(CA_PB)를 사용하여 시큐어 엘리먼트(120)로부터 수신되는 제1 인증서(CT1)를 검증하고(단계 S230), 상기 검증이 성공했는지 여부를 판단할 수 있다(단계 S240).The application processor 200 verifies the first certificate CT1 received from the secure element 120 using the public key CA_PB of the certification authority stored in the application processor 200 (step S230), and the It can be determined whether the verification has been successful (step S240).

시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 서로 다른 인증기관에서 발행된 것인 경우, 상기 검증은 실패할 수 있다. 상기 검증이 실패한 경우(단계 S240; 아니오), 어플리케이션 프로세서(200)는 상기 상호 인증에 실패한 것으로 판단하고 시큐어 엘리먼트(120)와의 통신을 종료할 수 있다.When the first certificate CT1 stored in the secure element 120 and the second certificate CT2 stored in the application processor 200 are issued by different certification authorities, the verification may fail. If the verification fails (step S240; No), the application processor 200 may determine that the mutual authentication has failed and terminate communication with the secure element 120.

반면에, 시큐어 엘리먼트(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 secure element 120 and the second certificate CT2 stored in the application processor 200 are issued by the same certification authority, the verification may be successful. If the verification is successful (step S240; YES), the application processor 200 may obtain the first public key PB1 of the secure element 120 included in the first certificate CT1 (step S250).

이후, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)에 검증 요청 신호 및 어플리케이션 프로세서(200)의 내부에 저장된 제2 인증서(CT2)를 전송할 수 있다(단계 S260).Thereafter, the application processor 200 may transmit a verification request signal and a second certificate CT2 stored in the application processor 200 to the secure element 120 (step S260).

시큐어 엘리먼트(120)는 어플리케이션 프로세서(200)로부터 수신되는 상기 검증 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 인증기관의 공개키(CA_PB)를 사용하여 어플리케이션 프로세서(200)로부터 수신되는 제2 인증서(CT2)를 검증하고(단계 S270), 상기 검증이 성공했는지 여부를 판단할 수 있다(단계 S280).The secure element 120 is received from the application processor 200 using the public key CA_PB of the certification authority stored inside the secure element 120 in response to the verification request signal received from the application processor 200. The second certificate CT2 may be verified (step S270), and it may be determined whether the verification was successful (step S280).

시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 서로 다른 인증기관에서 발행된 것인 경우, 상기 검증은 실패할 수 있다. 상기 검증이 실패한 경우(단계 S280; 아니오), 시큐어 엘리먼트(120)는 상기 상호 인증에 실패한 것으로 판단하고 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다.When the first certificate CT1 stored in the secure element 120 and the second certificate CT2 stored in the application processor 200 are issued by different certification authorities, the verification may fail. If the verification fails (step S280; No), the secure element 120 may determine that the mutual authentication has failed and terminate communication with the application processor 200.

반면에, 시큐어 엘리먼트(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 secure element 120 and the second certificate CT2 stored in the application processor 200 are issued by the same certification authority, the verification may be successful. If the verification is successful (step S280; YES), the secure element 120 may obtain a second public key PB2 of the application processor 200 included in the second certificate CT2 (step S290). In this case, the mutual authentication may be determined to be successful.

도 5a 및 5b를 참조하여 상술한 바와 같은 동작을 통해, 상기 상호 인증이 성공하는 경우, 시큐어 엘리먼트(120) 및 어플리케이션 프로세서(200)는 각각 상대방의 공개키를 획득할 수 있다.When the mutual authentication is successful through the operation as described above with reference to FIGS. 5A and 5B, the secure element 120 and the application processor 200 may each obtain the other's public key.

다시 도 2를 참조하면, 상기 상호 인증이 실패한 경우(단계 S300; 아니오), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120) 사이의 통신은 종료된다.Referring back to FIG. 2, when the mutual authentication fails (step S300; No), communication between the application processor 200 and the secure element 120 is terminated.

반면에, 상기 상호 인증이 성공한 경우(단계 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 application processor 200 and the secure element 120 generate a session key (step S400). As will be described later, the session key may be used to encrypt and decrypt sensing data (SSD) generated from the sensor 300. In an embodiment, the application processor 200 and the secure element 120 may generate the session key using the first private key PR1 and the second private key PR2.

도 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 secure element 120 may generate a random value and transmit the random value to the application processor 200 (step S410).

어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)로부터 상기 랜덤값을 수신하는 경우, 일회성(one time) 개인키 및 일회성 공개키 쌍을 생성하고, 어플리케이션 프로세서(200)의 내부에 저장된 제2 개인키(PR2)를 사용하여 상기 랜덤값 및 상기 일회성 공개키를 각각 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 일회성 공개키를 시큐어 엘리먼트(120)에 전송할 수 있다(단계 S420).When receiving the random value from the secure element 120, the application processor 200 generates a one-time private key and a one-time public key pair, and a second private key stored in the application processor 200 ( The random value and the one-time public key may be encrypted using PR2), and the encrypted random value and the encrypted one-time public key may be transmitted to the secure element 120 (step S420).

시큐어 엘리먼트(120)는 상기 상호 인증을 수행하는 과정(단계 S200)에서 획득한 어플리케이션 프로세서(200)의 제2 공개키(PB2)를 사용하여 상기 암호화된 랜덤값을 복호화할 수 있다(단계 S430).The secure element 120 may decrypt the encrypted random value using the second public key PB2 of the application processor 200 obtained in the process of performing the mutual authentication (step S200) (step S430). .

이후, 시큐어 엘리먼트(120)는 상기 복호화된 랜덤값과 시큐어 엘리먼트(120)가 최초에 생성한 상기 랜덤값이 서로 일치하는지 여부를 판단할 수 있다(단계 S440).Thereafter, the secure element 120 may determine whether the decoded random value and the random value initially generated by the secure element 120 coincide with each other (step S440).

상기 복호화된 랜덤값과 시큐어 엘리먼트(120)가 최초에 생성한 상기 랜덤값이 서로 일치하지 않는 경우(단계 S440; 아니오), 시큐어 엘리먼트(120)는 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다(단계 S495).When the decrypted random value and the random value initially generated by the secure element 120 do not match each other (step S440; No), the secure element 120 may terminate communication with the application processor 200. (Step S495).

반면에, 상기 복호화된 랜덤값과 시큐어 엘리먼트(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 secure element 120 coincide with each other (step S440; YES), the secure element 120 performs the mutual authentication process (step S200). ), the encrypted one-time public key may be decrypted using the second public key PB2 of the application processor 200 obtained in step S450 (step S450).

이후, 시큐어 엘리먼트(120)는 상기 일회성 공개키 및 시큐어 엘리먼트(120)의 내부에 저장된 제1 개인키(PR1)에 기초하여 비밀값(secret value)을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값(authentication value)을 생성하고, 상기 제1 인증값을 어플리케이션 프로세서(200)에 전송할 수 있다(단계 S460).Thereafter, the secure element 120 calculates a secret value based on the one-time public key and the first private key PR1 stored in the secure element 120, and based on the secret value, the session A key and a first authentication value may be generated, and the first authentication value may be transmitted to the application processor 200 (step S460).

일 실시예에 있어서, 상기 일회성 공개키 및 제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 secure element 120 and the application processor 200.

어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)로부터 상기 제1 인증값을 수신하는 경우, 상기 일회성 개인키 및 상기 상호 인증을 수행하는 과정(단계 S200)에서 획득한 시큐어 엘리먼트(120)의 제1 공개키(PB1)에 기초하여 상기 비밀값을 계산하고, 상기 비밀값에 기초하여 제2 인증값을 생성할 수 있다(단계 S470).When receiving the first authentication value from the secure element 120, the application processor 200 first discloses the one-time private key and the secure element 120 obtained in the process of performing the mutual authentication (step S200). The secret value may be calculated based on the key PB1, and a second authentication value may be generated based on the secret value (step S470).

일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의된 상기 제1 알고리즘 및 상기 제2 알고리즘을 각각 사용하여 상기 비밀값 및 상기 제2 인증값을 각각 계산할 수 있다.In one embodiment, the application processor 200 uses the first algorithm and the second algorithm predefined between the secure element 120 and the application processor 200, respectively, to determine the secret value and the second authentication value. Each can be calculated.

이후, 어플리케이션 프로세서(200)는 상기 제2 인증값과 시큐어 엘리먼트(120)로부터 수신되는 상기 제1 인증값이 일치하는지 여부를 판단할 수 있다(단계 S480). Thereafter, the application processor 200 may determine whether the second authentication value and the first authentication value received from the secure element 120 match (step S480).

상기 제2 인증값과 시큐어 엘리먼트(120)로부터 수신되는 상기 제1 인증값이 일치하지 않는 경우(단계 S480; 아니오), 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와의 통신을 종료할 수 있다(단계 S495).When the second authentication value and the first authentication value received from the secure element 120 do not match (step S480; No), the application processor 200 may terminate communication with the secure element 120 ( Step S495).

반면에, 상기 제2 인증값과 시큐어 엘리먼트(120)로부터 수신되는 상기 제1 인증값이 일치하는 경우(단계 S480; 예), 어플리케이션 프로세서(200)는 상기 비밀값에 기초하여 상기 세션키를 생성할 수 있다(단계 S490).On the other hand, when the second authentication value and the first authentication value received from the secure element 120 match (step S480; YES), the application processor 200 generates the session key based on the secret value. Yes (step S490).

일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의된 상기 제2 알고리즘을 사용하여 상기 세션키를 생성할 수 있다.In an embodiment, the application processor 200 may generate the session key using the second algorithm predefined between the secure element 120 and the application processor 200.

따라서 시큐어 엘리먼트(120)가 생성한 상기 세션키는 어플리케이션 프로세서(200)가 생성한 상기 세션키와 동일할 수 있다. Accordingly, the session key generated by the secure element 120 may be the same as the session key generated by the application processor 200.

시큐어 엘리먼트(120) 및 어플리케이션 프로세서(200)는 각각 상기 세션키를 내부적으로 저장할 수 있다.Each of the secure element 120 and the application processor 200 may internally store the session key.

다시 도 2를 참조하면, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)가 상기 세션키를 생성한 이후, 프로세서(110)는 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환한다(단계 S500). 일 실시예에 있어서, 프로세서(110)는 어플리케이션 프로세서(200)의 요청에 응답하여 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환할 수 있다.Referring back to FIG. 2, after the application processor 200 and the secure element 120 generate the session key, the processor 110 switches the operation mode from the bypass mode to the normal mode (step S500). ). In an embodiment, the processor 110 may switch the operation mode from the bypass mode to the normal mode in response to a request of the application processor 200.

이후, 시큐어 모듈(100)은 센서(300)로부터 센싱 데이터(SSD)를 수신하고, 시큐어 엘리먼트(120)에 저장된 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화한다(단계 S600).Thereafter, the secure module 100 receives the sensing data SSD from the sensor 300 and encrypts the sensing data SSD using the session key stored in the secure element 120 (step S600).

일 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함할 수 있다. 이 경우, 프로세서(110)가 상기 하드웨어 암호화 엔진을 사용하여 센싱 데이터(SSD)를 암호화할 수 있다.In one embodiment, the processor 110 may include a hardware encryption engine. In this case, the processor 110 may encrypt the sensing data SSD using the hardware encryption engine.

다른 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함하지 않을 수 있다. 이 경우, 시큐어 엘리먼트(120)가 센싱 데이터(SSD)를 암호화할 수 있다.In another embodiment, the processor 110 may not include a hardware encryption engine. In this case, the secure element 120 may encrypt the sensing data SSD.

도 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 electronic device 10 when the processor 110 includes the hardware encryption engine.

도 7을 참조하면, 프로세서(110)는 센서(300)로부터 센싱 데이터(SSD)를 수신할 수 있다(단계 S610). 센서(300)가 신체 정보를 감지하는 바이오 센서인 경우, 센싱 데이터(SSD)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등과 같은 생체 정보를 포함할 수 있다.Referring to FIG. 7, the processor 110 may receive sensing data SSD from the sensor 300 (step S610). When the sensor 300 is a biosensor that detects body information, the sensing data SSD may include biometric information such as a fingerprint, an iris pattern, a vein pattern, heart rate, blood sugar, and the like.

프로세서(110)는 시큐어 엘리먼트(120)에 세션키 요청 신호를 전송할 수 있다(단계 S620).The processor 110 may transmit a session key request signal to the secure element 120 (step S620).

시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 세션키 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키를 프로세서(110)에 전송할 수 있다(단계 S630).The secure element 120 may transmit the session key stored in the secure element 120 to the processor 110 in response to the session key request signal received from the processor 110 (step S630).

도 1을 참조하여 상술한 바와 같이, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성되고, 프로세서(110)와 시큐어 엘리먼트(120)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성되므로, 내부 버스(INT_BUS)는 상기 패키지의 외부로 노출되지 않는다. 따라서 프로세서(110)와 시큐어 엘리먼트(120) 사이에 보안 채널을 형성하지 않고도 시큐어 엘리먼트(120)는 상기 세션키를 프로세서(110)에 안전하게 전송할 수 있다. 따라서 전자 장치(10)의 통신 오버헤드는 효과적으로 감소될 수 있다.As described above with reference to FIG. 1, the secure module 100 including the processor 110 and the secure element 120 is formed as a single package, and an interior connecting the processor 110 and the secure element 120 Since the bus INT_BUS is formed inside the package, the internal bus INT_BUS is not exposed to the outside of the package. Accordingly, the secure element 120 can safely transmit the session key to the processor 110 without forming a secure channel between the processor 110 and the secure element 120. Accordingly, communication overhead of the electronic device 10 can be effectively reduced.

프로세서(110)는 시큐어 엘리먼트(120)로부터 수신되는 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화할 수 있다(단계 S640).The processor 110 may encrypt the sensing data SSD using the session key received from the secure element 120 (step S640).

도 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 electronic device 10 when the processor 110 does not include the hardware encryption engine.

도 8을 참조하면, 프로세서(110)는 센서(300)로부터 센싱 데이터(SSD)를 수신할 수 있다(단계 S650). 센서(300)가 신체 정보를 감지하는 바이오 센서인 경우, 센싱 데이터(SSD)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등과 같은 생체 정보를 포함할 수 있다.Referring to FIG. 8, the processor 110 may receive sensing data SSD from the sensor 300 (step S650). When the sensor 300 is a biosensor that detects body information, the sensing data SSD may include biometric information such as a fingerprint, an iris pattern, a vein pattern, heart rate, blood sugar, and the like.

프로세서(110)는 시큐어 엘리먼트(120)에 암호화 요청 신호 및 센싱 데이터(SSD)를 전송할 수 있다(단계 S660).The processor 110 may transmit an encryption request signal and sensing data (SSD) to the secure element 120 (step S660).

시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 암호화 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키를 사용하여 센싱 데이터(SSD)를 암호화할 수 있다(단계 S670).The secure element 120 may encrypt the sensing data SSD using the session key stored inside the secure element 120 in response to the encryption request signal received from the processor 110 (step S670).

이후, 시큐어 엘리먼트(120)는 상기 암호화된 센싱 데이터를 프로세서(110)에 전송할 수 있다(단계 S680).Thereafter, the secure element 120 may transmit the encrypted sensing data to the processor 110 (step S680).

다시 도 2를 참조하면, 프로세서(110)는 상기 암호화된 센싱 데이터를 어플리케이션 프로세서(200)에 전송한다(단계 S700).Referring back to FIG. 2, the processor 110 transmits the encrypted sensing data to the application processor 200 (step S700).

도 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 processor 110 is connected to the application processor 200 through an external bus EXT_BUS connected to an external terminal of the package corresponding to the secure module 100. ) May transmit the encrypted sensing data to the application processor 200 through an external bus EXT_BUS. Since the sensing data (SSD) is transmitted from the processor 110 to the application processor 200 in a state encrypted with the session key, the sensing data (SSD) is leaked even when the external bus (EXT_BUS) is probed through the scope. Can be effectively prevented.

어플리케이션 프로세서(200)는 어플리케이션 프로세서(200)의 내부에 저장된 상기 세션키를 사용하여 프로세서(110)로부터 수신되는 상기 암호화된 센싱 데이터를 복호화하여 센싱 데이터(SSD)를 획득한다(단계 S800).The application processor 200 decrypts the encrypted sensing data received from the processor 110 using the session key stored in the application processor 200 to obtain sensing data SSD (step S800).

도 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 electronic device 10 according to embodiments of the present invention, the secure module 100 including the processor 110 and the secure element 120 is one package Is formed by In addition, while the processor 110 is operating in the bypass mode, the application processor 200 and the secure element 120 have a first certificate (CT1) stored in the secure element 120 and the application processor 200 When mutual authentication is performed using the second certificate (CT2) stored inside and the public key (CA_PB) of the certification authority commonly stored in the application processor 200 and the secure element 120, and the mutual authentication is successful , The application processor 200 and the secure element 120 use a first private key PR1 stored in the secure element 120 and a second private key PR2 stored in the application processor 200. Create a session key. Thereafter, the secure module 100 encrypts the sensing data (SSD) using the session key and transmits it to the application processor 200, and the application processor 200 decrypts the encrypted sensing data using the session key. Thus, sensing data (SSD) is obtained. Accordingly, the security level of data transmission in the electronic device 10 may be improved.

일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 모듈(100)과 동일한 구성을 갖는 또 다른 시큐어 모듈로 구현될 수 있다. 이 경우, 도 1 내지 8을 참조하여 상술한 바와 같은 동작을 통해, 전자 장치(10)에 포함되는 시큐어 모듈들은 서로 안전하게 데이터 통신을 수행할 수 있다.In one embodiment, the application processor 200 may be implemented as another secure module having the same configuration as the secure module 100. In this case, through the operation described above with reference to FIGS. 1 to 8, secure modules included in the electronic device 10 may safely perform data communication with each other.

도 1 내지 8을 참조하여 어플리케이션 프로세서(200) 및 시큐어 모듈(100)이 동일한 전자 장치(10)에 포함되는 경우의 데이터 통신에 대해 설명하였으나, 본 발명은 이에 한정되지 않으며, 본 발명에 따른 데이터 전송 방법은 어플리케이션 프로세서(200) 및 시큐어 모듈(100)이 각각 서로 다른 전자 장치에 포함되는 경우에도 적용될 수 있다.Data communication in the case where the application processor 200 and the secure module 100 are included in the same electronic device 10 has been described with reference to FIGS. 1 to 8, but the present invention is not limited thereto, and data according to the present invention The transmission method may be applied even when the application processor 200 and the secure module 100 are included in different electronic devices, respectively.

도 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 electronic device 10a may include a secure module 100, an application processor 200a, and a sensor 300.

도 9의 전자 장치(10a)에 포함되는 시큐어 모듈(100) 및 센서(300)는 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 센서(300)와 동일할 수 있다. 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 센서(300)의 구성 및 동작에 대해서는 도 1 내지 8을 참조하여 상술하였으므로, 중복되는 설명은 생략한다.The secure module 100 and the sensor 300 included in the electronic device 10a of FIG. 9 may be the same as the secure module 100 and the sensor 300 included in the electronic device 10 of FIG. 1. Since the configuration and operation of the secure module 100 and the sensor 300 included in the electronic device 10 of FIG. 1 have been described above with reference to FIGS. 1 to 8, duplicate descriptions will be omitted.

어플리케이션 프로세서(200a)는 신뢰된 실행 환경(trusted execution environment; TEE) 및 리치 OS 실행 환경(rich operating system execution environment; REE)을 갖는 어플리케이션 프로세서로 구현될 수 있다. 예를 들어, 신뢰된 실행 환경(TEE)은 ARM사의 트러스트존(TrustZone)을 사용하여 구현될 수 있다. The application processor 200a may be implemented as an application processor having a trusted execution environment (TEE) and a rich operating system execution environment (REE). For example, the trusted execution environment (TEE) may be implemented using the ARM's TrustZone.

리치 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 secure module 100 on the SECURE OS 222 may be driven.

또한, 어플리케이션 프로세서(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 application processor 200a may include a secure storage device 223 included in a trusted execution environment (TEE). For example, the secure storage device 223 includes an electrically erasable programmable read-only memory (EEPROM), a flash memory, a phase change random access memory (PRAM), a resistance random access memory (RRAM), and a nano floating memory (NFGM). Gate Memory), PoRAM (Polymer Random Access Memory), MRAM (Magnetic Random Access Memory), FRAM (Ferroelectric Random Access Memory), or similar memory.

상기 인증기관의 공개키(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 application processor 200a issued by the certification authority, and the second private key PR2 of the application processor 200a are secure storage device 223 ) Can be stored.

보안 저장 장치(223)는 신뢰된 실행 환경(TEE)에서 동작하므로, 보안 저장 장치(223)는 신뢰된 실행 환경(TEE)에서 동작하는 보안 어플리케이션(221)을 통해서만 접근 가능할 수 있다. 즉, 리치 OS 실행 환경(REE)에서 동작하는 일반 어플리케이션(211)은 보안 저장 장치(223)에의 접근이 차단될 수 있다.Since the secure storage device 223 operates in the trusted execution environment (TEE), the secure storage device 223 can be accessed only through the security application 221 operating in the trusted execution environment (TEE). That is, the general application 211 operating in the rich OS execution environment REE may be blocked from accessing the secure storage device 223.

보안 어플리케이션(221)은 보안 저장 장치(223)에 저장된 상기 인증기관의 공개키(CA_PB), 제2 인증서(CT2) 및 제2 개인키(PR2)를 사용하여 도 1 내지 8을 참조하여 상술한 바와 같은 동작을 수행함으로써 시큐어 모듈(100)로부터 센싱 데이터(SSD)를 안전하게 획득할 수 있다.The security application 221 uses the public key (CA_PB) of the certification authority, the second certificate (CT2), and the second private key (PR2) stored in the secure storage device 223, as described above with reference to FIGS. By performing the above operation, the sensing data SSD can be safely obtained from the secure module 100.

도 9를 참조하여 상술한 바와 같이, 어플리케이션 프로세서(200a)는 신뢰된 실행 환경(TEE)을 통해 시큐어 모듈(100)과 통신을 수행하여 센싱 데이터(SSD)를 획득하므로, 전자 장치(10a)에서 데이터 전송의 보안 레벨은 더욱 향상될 수 있다.As described above with reference to FIG. 9, since the application processor 200a communicates with the secure module 100 through a trusted execution environment (TEE) to obtain sensing data (SSD), the electronic device 10a The security level of data transmission can be further improved.

도 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 electronic device 20 includes a secure module 100 and an application processor 200.

도 10의 전자 장치(20)에 포함되는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)가 보안 데이터(SED)를 더 저장한다는 사항을 제외하고는 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)와 동일할 수 있다. 도 1의 전자 장치(10)에 포함되는 시큐어 모듈(100) 및 어플리케이션 프로세서(200)의 구성 및 동작에 대해서는 도 1 내지 9를 참조하여 상술하였으므로, 중복되는 설명은 생략한다.The secure module 100 and the application processor 200 included in the electronic device 20 of FIG. 10 are the electronic device 10 of FIG. 1 except that the secure element 120 further stores the security data SED. It may be the same as the secure module 100 and the application processor 200 included in ). Since the configuration and operation of the secure module 100 and the application processor 200 included in the electronic device 10 of FIG. 1 have been described above with reference to FIGS. 1 to 9, duplicate descriptions will be omitted.

도 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 electronic device 20 of FIG. 10.

도 11에는, 시큐어 모듈(200)이 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법이 도시된다.In FIG. 11, a method of securely transmitting the security data SED stored in the secure element 120 by the secure module 200 to the application processor 200 is illustrated.

이하, 도 10 및 11을 참조하여 전자 장치(20)의 데이터 전송 방법에 대해 설명한다.Hereinafter, a data transmission method of the electronic device 20 will be described with reference to FIGS. 10 and 11.

도 11을 참조하면, 본 발명에 따른 전자 장치(20)의 데이터 전송 방법에서, 프로세서(110)는 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환한다(단계 S100).Referring to FIG. 11, in the data transmission method of the electronic device 20 according to the present invention, the processor 110 switches the operation mode from the normal mode to the bypass mode (step S100).

어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 상호 인증을 수행한다(단계 S200).The application processor 200 and the secure element 120 perform mutual authentication (step S200).

상기 상호 인증이 실패한 경우(단계 S300; 아니오), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120) 사이의 통신은 종료된다.If the mutual authentication fails (step S300; No), communication between the application processor 200 and the secure element 120 is terminated.

반면에, 상기 상호 인증이 성공한 경우(단계 S300; 예), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 세션키(session key)를 생성한다(단계 S400).On the other hand, when the mutual authentication is successful (step S300; Yes), the application processor 200 and the secure element 120 generate a session key (step S400).

어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)가 상기 세션키를 생성한 이후, 프로세서(110)는 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환한다(단계 S500).After the application processor 200 and the secure element 120 generate the session key, the processor 110 switches the operation mode from the bypass mode to the normal mode (step S500).

도 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 secure module 100 encrypts the security data SED stored in the secure element 120 by using the session key stored in the secure element 120 (step S601).

일 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함할 수 있다. 이 경우, 프로세서(110)가 상기 하드웨어 암호화 엔진을 사용하여 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 암호화할 수 있다.In one embodiment, the processor 110 may include a hardware encryption engine. In this case, the processor 110 may encrypt the security data SED stored in the secure element 120 using the hardware encryption engine.

다른 실시예에 있어서, 프로세서(110)는 하드웨어 암호화 엔진을 포함하지 않을 수 있다. 이 경우, 시큐어 엘리먼트(120)가 보안 데이터(SED)를 암호화할 수 있다.In another embodiment, the processor 110 may not include a hardware encryption engine. In this case, the secure element 120 may encrypt the security data SED.

도 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 electronic device 20 when the processor 110 includes the hardware encryption engine.

도 12를 참조하면, 프로세서(110)는 시큐어 엘리먼트(120)에 데이터 요청 신호를 전송할 수 있다(단계 S611).Referring to FIG. 12, the processor 110 may transmit a data request signal to the secure element 120 (step S611).

시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 데이터요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키 및 보안 데이터(SED)를 프로세서(110)에 전송할 수 있다(단계 S621).The secure element 120 may transmit the session key and security data (SED) stored in the secure element 120 to the processor 110 in response to the data request signal received from the processor 110 (step S621 ).

도 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 secure module 100 including the processor 110 and the secure element 120 is formed as a single package, and an interior connecting the processor 110 and the secure element 120 Since the bus INT_BUS is formed inside the package, the internal bus INT_BUS is not exposed to the outside of the package. Accordingly, the secure element 120 may securely transmit the session key and security data SED to the processor 110 without forming a secure channel between the processor 110 and the secure element 120. Accordingly, communication overhead of the electronic device 20 can be effectively reduced.

프로세서(110)는 시큐어 엘리먼트(120)로부터 수신되는 상기 세션키를 사용하여 보안 데이터(SED)를 암호화할 수 있다(단계 S631).The processor 110 may encrypt the security data SED using the session key received from the secure element 120 (step S631).

도 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 electronic device 20 when the processor 110 does not include the hardware encryption engine.

도 13을 참조하면, 프로세서(110)는 시큐어 엘리먼트(120)에 데이터 요청 신호를 전송할 수 있다(단계 S641).Referring to FIG. 13, the processor 110 may transmit a data request signal to the secure element 120 (step S641).

시큐어 엘리먼트(120)는 프로세서(110)로부터 수신되는 상기 데이터 요청 신호에 응답하여 시큐어 엘리먼트(120)의 내부에 저장된 상기 세션키를 사용하여 보안 데이터(SED)를 암호화할 수 있다(단계 S651).The secure element 120 may encrypt the security data SED using the session key stored in the secure element 120 in response to the data request signal received from the processor 110 (step S651).

이후, 시큐어 엘리먼트(120)는 상기 암호화된 보안 데이터를 프로세서(110)에 전송할 수 있다(단계 S661).Thereafter, the secure element 120 may transmit the encrypted security data to the processor 110 (step S661).

다시 도 11을 참조하면, 프로세서(110)는 상기 암호화된 보안 데이터를 어플리케이션 프로세서(200)에 전송한다(단계 S701).Referring back to FIG. 11, the processor 110 transmits the encrypted security data to the application processor 200 (step S701).

도 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 processor 110 is connected to the application processor 200 through an external bus EXT_BUS connected to an external terminal of the package corresponding to the secure module 100. ) May transmit the encrypted security data to the application processor 200 through an external bus EXT_BUS. Since the security data (SED) is transmitted from the processor 110 to the application processor 200 in a state encrypted with the session key, the security data (SED) is leaked even when the external bus (EXT_BUS) is probed through the scope. Can be effectively prevented.

어플리케이션 프로세서(200)는 어플리케이션 프로세서(200)의 내부에 저장된 상기 세션키를 사용하여 프로세서(110)로부터 수신되는 상기 암호화된 보안 데이터를 복호화하여 보안 데이터(SED)를 획득한다(단계 S801).The application processor 200 obtains security data SED by decrypting the encrypted security data received from the processor 110 using the session key stored in the application processor 200 (step S801).

도 10 내지 13을 참조하여 상술한 바와 같이, 본 발명의 실시예들에 따른 전자 장치(20)는 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 안전하게 어플리케이션 프로세서(200)에 전송할 수 있다. 따라서 전자 장치(20)에서 데이터 전송의 보안 레벨은 향상될 수 있다.As described above with reference to FIGS. 10 to 13, the electronic device 20 according to embodiments of the present invention may safely transmit the security data SED stored in the secure element 120 to the application processor 200. Accordingly, the security level of data transmission in the electronic device 20 may be improved.

도 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 electronic device 30 includes a secure module 100, an application processor 200, and a sensor 300.

도 14의 전자 장치(30)는 시큐어 엘리먼트(120)가 보안 데이터(SED)를 더 저장한다는 사항을 제외하고는 도 1의 전자 장치(10)와 동일할 수 있다. 즉, 도 14의 전자 장치(30)는 도 1의 전자 장치(10) 및 도 10의 전자 장치(20)의 조합에 상응할 수 있다.The electronic device 30 of FIG. 14 may be the same as the electronic device 10 of FIG. 1 except that the secure element 120 further stores the security data SED. That is, the electronic device 30 of FIG. 14 may correspond to a combination of the electronic device 10 of FIG. 1 and the electronic device 20 of FIG. 10.

따라서 전자 장치(30)는 도 1 내지 9를 참조하여 상술한 시큐어 모듈(200)이 센서(300)로부터 생성되는 센싱 데이터(SSD)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법 및 도 10 내지 13을 참조하여 상술한 시큐어 모듈(200)이 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 어플리케이션 프로세서(200)에 안전하게 전송하는 방법을 모두 수행할 수 있다.Accordingly, the electronic device 30 safely transmits the sensing data (SSD) generated from the sensor 300 by the secure module 200 described above with reference to FIGS. 1 to 9 to the application processor 200 and FIGS. 10 to 13 The secure module 200 described above may perform all methods of safely transmitting the security data SED stored in the secure element 120 to the application processor 200.

도 1의 전자 장치(10) 및 도 10의 전자 장치(20)의 구성 및 동작에 대해서는 도 1 내지 13을 참조하여 상세히 설명하였으므로, 도 14의 전자 장치(30)에 대한 상세한 설명은 생략한다.Since the configuration and operation of the electronic device 10 of FIG. 1 and the electronic device 20 of FIG. 10 have been described in detail with reference to FIGS. 1 to 13, a detailed description of the electronic device 30 of FIG. 14 will be omitted.

도 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 electronic system 900 includes a secure module 910, an application processor 920, a storage device 930, a memory device 940, an input/output device 950, and It includes a power supply 960 and a sensor 970. Further, although not shown in FIG. 15, the electronic system 900 may further include ports capable of communicating with a video card, a sound card, a memory card, a USB device, or the like, or with other electronic devices. .

어플리케이션 프로세서(920)는 전자 시스템(900)의 전반적인 동작을 제어한다. 어플리케이션 프로세서(920)는 인터넷 브라우저, 게임, 동영상 등을 제공하는 어플리케이션들을 실행할 수 있다. 실시예에 따라, 어플리케이션 프로세서(920)는 하나의 프로세서 코어(Single Core)를 포함하거나, 복수의 프로세서 코어들(Multi-Core)을 포함할 수 있다. 예를 들어, 어플리케이션 프로세서(920)는 듀얼 코어(Dual-Core), 쿼드 코어(Quad-Core), 헥사 코어(Hexa-Core) 등의 멀티 코어(Multi-Core)를 포함할 수 있다. 또한, 실시예에 따라, 어플리케이션 프로세서(920)는 내부 또는 외부에 위치한 캐시 메모리(Cache Memory)를 더 포함할 수 있다.The application processor 920 controls the overall operation of the electronic system 900. The application processor 920 may execute applications that provide an Internet browser, a game, or a video. Depending on the embodiment, the application processor 920 may include one processor core (Single Core) or a plurality of processor cores (Multi-Core). For example, the application processor 920 may include a multi-core such as a dual-core, a quad-core, and a hexa-core. In addition, according to an embodiment, the application processor 920 may further include a cache memory located inside or outside.

시큐어 모듈(910)은 프로세서(911) 및 시큐어 엘리먼트(912)를 포함한다. 프로세서(911) 및 시큐어 엘리먼트(912)를 포함하는 시큐어 모듈(910)은 하나의 패키지로 형성되고, 프로세서(911)와 시큐어 엘리먼트(912)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성될 수 있다. 시큐어 에리먼트(912)는 외부로부터의 공격, 예를 들면, 랩 어택(lab attack)을 방어할 수 있는 기능을 포함할 수 있다. 따라서 시큐어 에리먼트(912)는 보안 데이터를 안전하게 저장할 수 있다. 프로세서(911)는 어플리케이션 프로세서(920)와 연결될 수 있다.The secure module 910 includes a processor 911 and a secure element 912. The secure module 910 including the processor 911 and the secure element 912 is formed in one package, and an internal bus (INT_BUS) connecting the processor 911 and the secure element 912 is inside the package. Can be formed. The secure element 912 may include a function capable of defending against attacks from outside, for example, a lab attack. Therefore, the secure element 912 can safely store security data. The processor 911 may be connected to the application processor 920.

센서(970)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있다. 예를 들어, 센서(970)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 상응하는 센싱 데이터를 생성하여 시큐어 모듈(910)에 포함되는 프로세서(911)에 제공할 수 있다. 그러나 센서(970)는 바이오 센서에 한정되지 않으며, 센서(970)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서일 수 있다.The sensor 970 may be a biosensor that detects biometric information. For example, the sensor 970 detects a fingerprint, an iris pattern, a vein pattern, heart rate, blood sugar, etc., generates sensing data corresponding to the detected information, and provides it to the processor 911 included in the secure module 910 can do. However, the sensor 970 is not limited to a biosensor, and the sensor 970 may be any sensor such as an illumination sensor, an acoustic sensor, an acceleration sensor, or the like.

도 15의 전자 시스템(900)에 포함되는 시큐어 모듈(910), 어플리케이션 프로세서(920) 및 센서(970)는 각각 도 14의 전자 장치(30)에 포함되는 시큐어 모듈(100), 어플리케이션 프로세서(200) 및 센서(300)로 구현될 수 있다. 도 14의 전자 장치(30)에 포함되는 시큐어 모듈(100), 어플리케이션 프로세서(200) 및 센서(300)의 구성 및 동작에 대해서는 도 1 내지 14를 참조하여 상세히 설명하였으므로 여기서는 시큐어 모듈(910), 어플리케이션 프로세서(920) 및 센서(970)에 대한 상세한 설명은 생략한다.The secure module 910, the application processor 920, and the sensor 970 included in the electronic system 900 of FIG. 15 are each of the secure module 100 and the application processor 200 included in the electronic device 30 of FIG. 14. ) And the sensor 300. Since the configuration and operation of the secure module 100, the application processor 200, and the sensor 300 included in the electronic device 30 of FIG. 14 have been described in detail with reference to FIGS. 1 to 14, the secure module 910, Detailed descriptions of the application processor 920 and the sensor 970 will be omitted.

저장 장치(930)는 전자 시스템(900)을 부팅하기 위한 부트 이미지를 저장할 수 있다. 예를 들어, 저장 장치(930)는 플래시 메모리 장치(flash memory device), 솔리드 스테이트 드라이브(Solid State Drive; SSD) 등과 같은 비휘발성 메모리 장치를 포함할 수 있다.The storage device 930 may store a boot image for booting the electronic system 900. For example, the storage device 930 may include a nonvolatile memory device such as a flash memory device and a solid state drive (SSD).

메모리 장치(940)는 전자 시스템(900)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(940)는 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 휘발성 메모리 장치를 포함할 수 있다.The memory device 940 may store data necessary for the operation of the electronic system 900. For example, the memory device 940 may include a volatile memory device such as a dynamic random access memory (DRAM) or a static random access memory (SRAM).

입출력 장치(950)는 터치패드, 키패드, 입력 버튼 등과 같은 입력 수단 및 디스플레이, 스피커 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(960)는 전자 시스템(900)의 동작에 필요한 동작 전압을 공급할 수 있다.The input/output device 950 may include an input means such as a touch pad, a keypad, and an input button, and an output means such as a display and a speaker. The power supply 960 may supply an operating voltage required for the operation of the electronic system 900.

실시예에 따라, 전자 시스템(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 electronic system 900 includes a mobile phone, a smart phone, a personal digital assistant (PDA), a portable multimedia player (PMP), and a digital camera. Camera), a music player, a portable game console, a navigation system, a laptop computer, and the like.

도 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 secure element 912 included in the smartphone 900a may pre-store security data corresponding to the user's biometric information.

예를 들어, 스마트폰(900a)에 포함되는 센서(SR)(970)가 사용자의 지문을 감지하는 지문 센서인 경우, 시큐어 엘리먼트(912)에 저장되는 상기 보안 데이터는 사용자의 지문 정보에 상응할 수 있다.For example, if the sensor (SR) 970 included in the smartphone 900a is a fingerprint sensor that detects a user's fingerprint, the security data stored in the secure element 912 may correspond to the user's fingerprint information. I can.

현재 사용자의 지문을 사용하여 상기 현재 사용자가 허용된 사용자인지를 판단하고자 하는 경우, 시큐어 모듈(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 secure module 910, the application processor 920, and the sensor 970 operate as described above with reference to FIGS. The sensing data corresponding to the current user's fingerprint information generated from the sensor 970 may be safely transmitted to the application processor 920 through the secure module 910. In addition, the secure module 910 and the application processor 920 may safely transmit the security data stored in the secure element 912 to the application processor 920 by performing the operation described above with reference to FIGS. 10 to 13. . The application processor 920 may effectively determine whether the current user is an allowed user based on whether the sensing data transmitted from the secure module 910 and the security data match each other.

도 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)

프로세서 및 시큐어 엘리먼트(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,
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 항에 있어서, 상기 시큐어 모듈에 포함되는 상기 프로세서 및 상기 시큐어 엘리먼트는 하나의 패키지로 형성되고, 상기 프로세서는 상기 패키지의 외부 단자를 통해 상기 어플리케이션 프로세서와 연결되고, 상기 시큐어 엘리먼트는 상기 패키지 내부에 형성되는 내부 버스를 통해 상기 프로세서와 연결되는 전자 장치의 데이터 전송 방법.The method of claim 1, wherein 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. Data transmission method of an electronic device connected to the processor through an internal bus formed in the. 제2 항에 있어서, 상기 프로세서는 상기 정상 모드에서 상기 어플리케이션 프로세서와 통신을 수행하고, 상기 바이패스 모드에서 상기 어플리케이션 프로세서로부터 수신되는 신호를 바이패스시켜 상기 시큐어 엘리먼트에 제공하고, 상기 시큐어 엘리먼트로부터 수신되는 신호를 바이패스시켜 상기 어플리케이션 프로세서에 제공하는 전자 장치의 데이터 전송 방법.The method of claim 2, wherein 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 receives from the secure element. A data transmission method of an electronic device that bypasses the generated signal and provides it to the application processor. 제1 항에 있어서, 상기 시큐어 엘리먼트는 제1 개인키, 인증기관(Certificate Authority; CA)의 공개키 및 상기 인증기관이 발행한 제1 인증서를 저장하고, 상기 어플리케이션 프로세서는 제2 개인키, 상기 인증기관의 공개키 및 상기 인증기관이 발행한 제2 인증서를 저장하는 전자 장치의 데이터 전송 방법.The method of claim 1, wherein the secure element stores a first private key, a public key of a Certificate Authority (CA), and a first certificate issued by the certificate authority, and the application processor stores a second private key, the A data transmission method of an electronic device storing a public key of a certification authority and a second certificate issued by the certification authority. 제4 항에 있어서, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계는,
상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 인증서 요청 신호를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 인증서 요청 신호에 응답하여 상기 제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.
제5 항에 있어서, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상기 세션키를 생성하는 단계는,
상기 시큐어 엘리먼트가 랜덤값을 생성하고, 상기 랜덤값을 상기 어플리케이션 프로세서에 전송하는 단계;
상기 어플리케이션 프로세서가 일회성 개인키 및 일회성 공개키 쌍을 생성하고, 상기 제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.
제1 항에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는,
상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계;
상기 프로세서가 상기 시큐어 엘리먼트에 세션키 요청 신호를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 세션키 요청 신호에 응답하여 상기 세션키를 상기 프로세서에 전송하는 단계; 및
상기 프로세서가 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
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.
제1 항에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는,
상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계;
상기 프로세서가 상기 시큐어 엘리먼트에 암호화 요청 신호 및 상기 센싱 데이터를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 암호화 요청 신호에 응답하여 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계; 및
상기 시큐어 엘리먼트가 상기 암호화된 센싱 데이터를 상기 프로세서에 전송하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
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.
제1 항에 있어서, 상기 어플리케이션 프로세서는 신뢰된 실행 환경(trusted execution environment; TEE) 및 리치 OS 실행 환경(rich operating system execution environment; REE)을 포함하고, 상기 어플리케이션 프로세서는 상기 신뢰된 실행 환경을 통해 상기 시큐어 모듈과 통신을 수행하는 전자 장치의 데이터 전송 방법.The method of claim 1, wherein the application processor includes a trusted execution environment (TEE) and a rich operating system execution environment (REE), and the application processor is Data transmission method of an electronic device performing communication with the secure module. 프로세서 및 시큐어 엘리먼트(Secure Element)를 포함하는 시큐어 모듈과 어플리케이션 프로세서를 포함하는 전자 장치의 데이터 전송 방법에서,
상기 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계;
상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계;
상기 상호 인증에 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하는 단계;
상기 프로세서가 상기 동작 모드를 정상 모드로 전환하는 단계;
상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계;
상기 프로세서가 상기 암호화된 보안 데이터를 상기 어플리케이션 프로세서에 전송하는 단계; 및
상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 보안 데이터를 복호화하여 상기 보안 데이터를 획득하는 단계를 포함하고,
상기 프로세서가 상기 동작 모드를 상기 바이패스 모드로 전환하는 단계는,
상기 어플리케이션 프로세서가 상기 프로세서에 바이패스 요청 신호를 전송하는 단계; 및
상기 프로세서가 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트를 연결하는 바이패스 채널을 형성하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
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.
KR1020150011003A 2014-12-01 2015-01-23 Method of data transfer in electronic device KR102256330B1 (en)

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)

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

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

Patent Citations (3)

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