[go: up one dir, main page]

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

Method of data transfer in electronic device Download PDF

Info

Publication number
KR20160065716A
KR20160065716A KR1020150011003A KR20150011003A KR20160065716A KR 20160065716 A KR20160065716 A KR 20160065716A KR 1020150011003 A KR1020150011003 A KR 1020150011003A KR 20150011003 A KR20150011003 A KR 20150011003A KR 20160065716 A KR20160065716 A KR 20160065716A
Authority
KR
South Korea
Prior art keywords
processor
application processor
secure element
secure
session key
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020150011003A
Other languages
Korean (ko)
Other versions
KR102256330B1 (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
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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, an application processor, and a sensor including a processor and a secure element, the processor switches the operation mode to the bypass mode, and the application processor and the secure element perform mutual authentication And when the mutual authentication is successful, the application processor and the secure element generate the 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 decrypts the sensing data encrypted using the session key to obtain the sensing data.

Description

전자 장치의 데이터 전송 방법{METHOD OF DATA TRANSFER IN ELECTRONIC DEVICE}[0001] METHOD OF DATA TRANSFER IN ELECTRONIC DEVICE [0002]

본 발명은 전자 장치에 관한 것으로, 보다 상세하게는 전자 장치의 데이터 전송 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic apparatus, and more particularly, to a data transmission method of an electronic apparatus.

최근 모바일 디바이스(mobile device)와 같은 전자 시스템에 다양한 기능이 탐재됨에 따라, 전자 시스템에서 개인 정보, 암호키(cryptographic key) 등과 같은 보안 데이터(security data)를 처리하는 빈도가 증가하고 있다.2. Description of the Related Art [0002] With the recent introduction of various functions in an electronic system such as a mobile device, the frequency of processing security data such as personal information, cryptographic key, etc. in an electronic system is increasing.

그런데 전자 시스템의 구성 요소들 사이에서 보안 데이터를 송수신하는 과정에서 외부로부터 공격을 받는 경우 상기 보안 데이터가 유출되는 문제점이 있다.However, there is a problem that the security data is leaked when an attack is received from the outside in transmission and reception of security data between the components of the electronic system.

따라서 전자 시스템의 구성 요소들 사이에서 보안 데이터를 안전하게 송수신하기 위한 방법이 필요하다.Therefore, there is a need for a method for securely transmitting and receiving secure data between components of an electronic system.

상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 보안 데이터를 안전하게 송수신할 수 있는 전자 장치의 데이터 전송 방법을 제공하는 것이다.An object of the present invention is to provide a data transmission method of an electronic device capable of securely transmitting and receiving secure data.

본 발명의 다른 목적은 상기 데이터 전송 방법을 구현하는 전자 장치를 제공하는 것이다.Another object of the present invention is to provide an electronic device implementing the data transmission method.

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 프로세서 및 시큐어 엘리먼트(Secure Element)를 포함하는 시큐어 모듈, 어플리케이션 프로세서 및 센서를 포함하는 전자 장치의 데이터 전송 방법에서, 상기 프로세서가 동작 모드를 바이패스 모드로 전환하고, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하고, 상기 상호 인증이 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하고, 상기 프로세서가 상기 동작 모드를 정상 모드로 전환하고, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 센싱 데이터를 암호화하고, 상기 프로세서가 상기 암호화된 센싱 데이터를 상기 어플리케이션 프로세서에 전송하고, 상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 센싱 데이터를 복호화하여 상기 센싱 데이터를 획득한다.According to another aspect of the present invention, there is provided 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 according to an embodiment of the present invention, The processor switches the operation mode to the bypass mode, the application processor and the secure element perform mutual authentication, and when the mutual authentication is successful, the application processor and the secure element generate a session key, The secure module uses the session key to encrypt the sensing data provided by the sensor and the processor sends the encrypted sensing data to the application processor, email And decrypting the encrypted sensing data with the session key to obtain the sensing data.

일 실시예에 있어서, 상기 시큐어 모듈에 포함되는 상기 프로세서 및 상기 시큐어 엘리먼트는 하나의 패키지로 형성될 수 있다.In one embodiment, the processor and the secure element included in the secure module may be formed as one package.

상기 프로세서는 상기 패키지의 외부 단자를 통해 상기 어플리케이션 프로세서와 연결되고, 상기 시큐어 엘리먼트는 상기 패키지 내부에 형성되는 내부 버스를 통해 상기 프로세서와 연결될 수 있다.The processor is connected to the application processor through an external terminal of the package, and the secure element can be connected to the processor through an internal bus formed inside the package.

상기 프로세서는 상기 정상 모드에서 상기 어플리케이션 프로세서와 통신을 수행하고, 상기 바이패스 모드에서 상기 어플리케이션 프로세서로부터 수신되는 신호를 바이패스시켜 상기 시큐어 엘리먼트에 제공하고, 상기 시큐어 엘리먼트로부터 수신되는 신호를 바이패스시켜 상기 어플리케이션 프로세서에 제공할 수 있다.Wherein the processor communicates with the application processor in the normal mode, bypasses a signal received from the application processor in the bypass mode and provides the signal to the secure element, and bypasses the signal received from the secure element To the application processor.

일 실시예에 있어서, 상기 프로세서가 상기 동작 모드를 상기 바이패스 모드로 전환하는 단계는, 상기 어플리케이션 프로세서가 상기 프로세서에 바이패스 요청 신호를 전송하는 단계, 및 상기 프로세서가 상기 바이패스 요청 신호에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환하여 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트를 연결하는 바이패스 채널을 형성하는 단계를 포함할 수 있다.In one embodiment, the step of the processor switching the operation mode to the bypass mode comprises the steps of: the application processor sending a bypass request signal to the processor, and in response to the bypass request signal And switching 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 step of the processor switching the operation mode to the bypass mode comprises the steps of: the application processor transmitting a bypass request signal and a unique number of the application processor to the processor; Determining whether a unique number of the application processor exists in the unique number table in response to the bypass request signal, and if the unique number of the application processor exists in the unique number table, And switching from the normal mode to the bypass mode to form a bypass channel connecting the application processor and the secure element.

일 실시예에 있어서, 상기 시큐어 엘리먼트는 제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 includes a second private key, The public key of the certification authority and the second certificate issued by the certification authority.

상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계는, 상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 인증서 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 인증서 요청 신호에 응답하여 상기 제1 인증서를 상기 어플리케이션 프로세서에 전송하는 단계, 상기 어플리케이션 프로세서가 상기 인증기관의 공개키를 사용하여 상기 제1 인증서를 검증하는 단계, 상기 어플리케이션 프로세서가 상기 제1 인증서의 검증을 성공하는 경우, 상기 제1 인증서에 포함되는 상기 시큐어 엘리먼트의 제1 공개키를 획득하는 단계, 상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 검증 요청 신호 및 상기 제2 인증서를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 검증 요청 신호에 응답하여 상기 인증기관의 공개키를 사용하여 상기 제2 인증서를 검증하는 단계, 및 상기 시큐어 엘리먼트가 상기 제2 인증서의 검증을 성공하는 경우, 상기 제2 인증서에 포함되는 상기 어플리케이션 프로세서의 제2 공개키를 획득하는 단계를 포함할 수 있다.Wherein the step of performing mutual authentication between the application processor and the secure element comprises the steps of: the application processor transmitting a certificate request signal to the secure element, the secure element sending the first certificate to the application The method comprising: transmitting to the processor, the application processor verifying the first certificate using the public key of the certification authority; if the application processor succeeds in verifying the first certificate, The method comprising: obtaining a first public key of the secure element; transmitting, by the application processor, a verification request signal and the second certificate to the secure element; Authenticating the second certificate using the authentication key and obtaining a second public key of the application processor included in the second certificate if the secure element succeeds in verifying the second certificate can do.

상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상기 세션키를 생성하는 단계는, 상기 시큐어 엘리먼트가 랜덤값을 생성하고, 상기 랜덤값을 상기 어플리케이션 프로세서에 전송하는 단계, 상기 어플리케이션 프로세서가 일회성 개인키 및 일회성 공개키 쌍을 생성하고, 상기 제2 개인키를 사용하여 상기 랜덤값 및 상기 일회성 공개키를 각각 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 일회성 공개키를 상기 시큐어 엘리먼트에 전송하는 단계, 상기 시큐어 엘리먼트가 상기 제2 공개키를 사용하여 상기 암호화된 랜덤값을 복호화하고, 상기 복호화된 랜덤값과 상기 랜덤값이 일치하는 경우, 상기 제2 공개키를 사용하여 상기 암호화된 일회성 공개키를 복호화하여 상기 일회성 공개키를 획득하는 단계, 상기 시큐어 엘리먼트가 상기 제1 개인키 및 상기 일회성 공개키에 기초하여 비밀값을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값을 생성하고, 상기 제1 인증값을 상기 어플리케이션 프로세서에 전송하는 단계, 및 상기 어플리케이션 프로세서가 상기 제1 공개키 및 상기 일회성 개인키에 기초하여 상기 비밀값을 계산하고, 상기 비밀값에 기초하여 제2 인증값을 생성하고, 상기 제2 인증값과 상기 제1 인증값이 일치하는 경우, 상기 비밀값에 기초하여 상기 세션키를 생성하는 단계를 포함할 수 있다.Wherein the step of the application processor and the secure element generating the session key comprises the steps of: the secure element generating a random value and transmitting the random value to the application processor, the application processor including a one- Encrypting the random value and the one-time public key using the second private key, transmitting the encrypted random value and the encrypted one-time public key to the secure element, Decrypts the encrypted random value using the second public key, decrypts the encrypted one-time public key using the second public key if the decrypted random value and the random value match, Acquiring a one-time public key, Calculating a secret value based on the private key and the one-time public key, generating the session key and the first authentication value based on the secret value, and transmitting the first authentication value to the application processor, 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 if the second authentication value matches the first authentication value , Generating the session key based on the secret value.

일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는, 상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계, 상기 프로세서가 상기 시큐어 엘리먼트에 세션키 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 세션키 요청 신호에 응답하여 상기 세션키를 상기 프로세서에 전송하는 단계, 및 상기 프로세서가 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계를 포함할 수 있다.In one embodiment, the step of the secure module encrypting the sensing data provided from the sensor using the session key comprises receiving the sensing data from the sensor, Sending the session key request signal to the secure element, the secure element sending the session key to the processor in response to the session key request signal, and the processor encrypting the sensing data using the session key . ≪ / RTI >

일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는, 상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계, 상기 프로세서가 상기 시큐어 엘리먼트에 암호화 요청 신호 및 상기 센싱 데이터를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 암호화 요청 신호에 응답하여 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계, 및 상기 시큐어 엘리먼트가 상기 암호화된 센싱 데이터를 상기 프로세서에 전송하는 단계를 포함할 수 있다.In one embodiment, the step of the secure module encrypting the sensing data provided from the sensor using the session key comprises receiving the sensing data from the sensor, Transmitting the encryption request signal and the sensing data to the secure element, the secure element encrypting the sensing data using the session key in response to the encryption request signal, and transmitting the encrypted sensing data to the secure element To the processor.

일 실시예에 있어서, 상기 센서는 상기 시큐어 모듈의 내부에 포함될 수 있다.In one embodiment, the sensor may be included inside 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 capable of executing the trusted execution environment And can perform communication with the secure module.

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 프로세서 및 시큐어 엘리먼트(Secure Element)를 포함하는 시큐어 모듈과 어플리케이션 프로세서를 포함하는 전자 장치의 데이터 전송 방법에서, 상기 프로세서가 동작 모드를 바이패스 모드로 전환하고, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하고, 상기 상호 인증에 성공한 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 세션키를 생성하고, 상기 프로세서가 상기 동작 모드를 정상 모드로 전환하고, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하고, 상기 프로세서가 상기 암호화된 보안 데이터를 상기 어플리케이션 프로세서에 전송하고, 상기 어플리케이션 프로세서가 상기 세션키를 사용하여 상기 암호화된 보안 데이터를 복호화하여 상기 보안 데이터를 획득한다.According to an aspect of the present invention, there is provided a data transmission method for an electronic device including a secure module including a processor and a secure element according to an embodiment of the present invention and an application processor, Wherein the application processor and the secure element generate a session key when the mutual authentication is successful and the application processor and the secure element generate a session key when the mutual authentication is successful, Mode to a normal mode, the secure module encrypts secure data stored in the secure element using the session key, and the processor transmits the encrypted secure data to the application processor, And decrypts the encrypted security data using the session key to obtain the security data.

일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 상기 보안 데이터를 암호화하는 단계는, 상기 프로세서가 상기 시큐어 엘리먼트에 데이터 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 데이터 요청 신호에 응답하여 상기 세션키 및 상기 보안 데이터를 상기 프로세서에 전송하는 단계, 및 상기 프로세서가 상기 세션키를 사용하여 상기 보안 데이터를 암호화하는 단계를 포함할 수 있다.In one embodiment, the step of the secure module encrypting the secure data stored in the secure element using the session key comprises the steps of: the processor transmitting a data request signal to the secure element; Sending the session key and the secure data to the processor in response to a data request signal, and encrypting the secure data using the session key.

일 실시예에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 시큐어 엘리먼트에 저장된 상기 보안 데이터를 암호화하는 단계는, 상기 프로세서가 상기 시큐어 엘리먼트에 데이터 요청 신호를 전송하는 단계, 상기 시큐어 엘리먼트가 상기 데이터 요청 신호에 응답하여 상기 세션키를 사용하여 상기 보안 데이터를 암호화하는 단계, 및 상기 시큐어 엘리먼트가 상기 암호화된 보안 데이터를 상기 프로세서에 전송하는 단계를 포함할 수 있다.In one embodiment, the step of the secure module encrypting the secure data stored in the secure element using the session key comprises the steps of: the processor transmitting a data request signal to the secure element; Encrypting the secure data using the session key in response to a data request signal, and transmitting the encrypted secure data to the processor.

상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 전자 장치는 시큐어 모듈 및 어플리케이션 프로세서를 포함한다. 상기 시큐어 모듈은 제1 개인키, 인증기관(Certificate Authority; CA)의 공개키 및 상기 인증기관이 발행한 제1 인증서를 저장하는 시큐어 엘리먼트(Secure Element) 및 프로세서를 포함한다. 상기 어플리케이션 프로세서는 제2 개인키, 상기 인증기관의 공개키 및 상기 인증기관이 발행한 제2 인증서를 저장한다. 상기 프로세서가 바이패스 모드로 동작하는 동안, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트는 상기 제1 인증서, 상기 제2 인증서 및 상기 인증기관의 공개키를 사용하여 상호 인증을 수행하고, 상기 상호 인증이 성공하는 경우, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트는 상기 제1 개인키 및 상기 제2 개인키를 사용하여 세션키를 생성한다. 상기 프로세서가 정상 모드로 전환한 후, 상기 시큐어 모듈은 상기 세션키를 사용하여 보안 데이터를 암호화하고, 상기 프로세서는 상기 암호화된 보안 데이터를 상기 어플리케이션 프로세서에 전송하고, 상기 어플리케이션 프로세서는 상기 세션키를 사용하여 상기 암호화된 보안 데이터를 복호화하여 상기 보안 데이터를 획득한다.According to an aspect of the present invention, there is provided an electronic device including a secure module and an application processor. The secure module includes a secure element for storing a first private key, a public key of a certificate authority (CA), and a first certificate issued by the certification 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. Wherein the application processor and the secure element perform mutual authentication using the first certificate, the second certificate and the public key of the certification authority while the processor is operating in the bypass mode, , The application processor and the secure element generate the session key using the first private key and the second private key. Wherein the secure module encrypts secure data using the session key after the processor transitions to a normal mode and the processor transmits the encrypted secure data to the application processor, And decrypts the encrypted security data to obtain the secure 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 may be coupled to the processor via an internal bus.

상기 프로세서는 상기 정상 모드에서 상기 어플리케이션 프로세서와 통신을 수행하고, 상기 바이패스 모드에서 상기 어플리케이션 프로세서로부터 수신되는 신호를 바이패스시켜 상기 시큐어 엘리먼트에 제공하고, 상기 시큐어 엘리먼트로부터 수신되는 신호를 바이패스시켜 상기 어플리케이션 프로세서에 제공할 수 있다.Wherein the processor communicates with the application processor in the normal mode, bypasses a signal received from the application processor in the bypass mode and provides the signal to the secure element, and bypasses the signal received from the secure element To the application processor.

일 실시예에 있어서, 상기 전자 장치는 상기 보안 데이터를 생성하여 상기 프로세서에 제공하는 센서를 더 포함할 수 있다.In one embodiment, the electronic device may further comprise a sensor for generating and providing the security data to the processor.

본 발명의 실시예들에 따른 전자 장치의 데이터 전송 방법은, 통신 오버헤드(overhead)를 감소시키면서도 시큐어 엘리먼트(Secure Element; SE)를 포함하는 시큐어 모듈과 어플리케이션 프로세서 사이에 중요 데이터를 안전하게 송수신할 수 있다.The data transmission method of an electronic device according to embodiments of the present invention can securely transmit and receive important data between a secure module including a secure element (SE) and an application processor 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 showing a data transmission method of an electronic device according to an embodiment of the present invention.
FIG. 3 is a flowchart showing an example of a step of switching the operation mode to the bypass mode by the processor of FIG. 2. FIG.
4 is a flowchart showing another example of the step of switching the operation mode to the bypass mode by the processor of Fig.
5A and 5B are flowcharts showing an example of a step of performing mutual authentication between the application processor and the secure element of FIG.
6A and 6B are flowcharts showing 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 showing an example of a step of encrypting sensing data provided from a sensor using the session key by the secure module of FIG. 2;
8 is a flowchart showing another example of the step of encrypting the sensing data provided from the sensor using the session key by the secure module of Fig.
9 is a block diagram showing an example of the electronic device shown in Fig.
10 is a block diagram illustrating an electronic device according to an embodiment of the present invention.
11 is a flowchart showing 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 using the session key by the secure module of FIG.
13 is a flowchart showing another example of a step in which the secure module of FIG. 11 encrypts security data stored in a secure element 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 showing an example in which the electronic system of Fig. 15 is implemented as a smartphone.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, The present invention should not be construed as limited to the embodiments described in Figs.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the text. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms may be used for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprise", "having", and the like are intended to specify the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, , Steps, operations, components, parts, or combinations thereof, as a matter of principle.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 this invention belongs. Terms such as those defined in commonly used dictionaries should be construed as meaning consistent with meaning in the context of the relevant art and are not to be construed as ideal or overly formal in meaning unless expressly defined in the present application .

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent 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, an 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)는 인증기관(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 certification authority 120, And stores 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 the ability to defend against attacks from the outside, for example, a lab attack. The function of defending an attack from outside included in the secure element 120 can 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 securely stored in the secure element 120. [

프로세서(110)는 내부 버스(INT_BUS)를 통해 시큐어 엘리먼트(120)와 연결된다.The processor 110 is connected to the secure element 120 via 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 be implemented as a system in package (SiP), a through silicon via (TSV), a multi chip package (MCP) And may be formed as a single package through a package on package (PoP) or the like.

프로세서(110)는 시큐어 모듈(100)에 상응하는 상기 패키지의 외부 단자에 연결되는 외부 버스(EXT_BUS)를 통해 어플리케이션 프로세서(200)와 직접 연결된다.The processor 110 is directly connected to the application processor 200 via 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 receives the public key CA_PB of the certification authority, the second certificate CT2 corresponding to the application processor 200 issued by the certification authority, and the second private key PR2 of the application processor 200, / RTI > 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 The internal bus INT_BUS is not exposed to the outside of the package. Therefore, when data communication is performed between the processor 110 and the secure element 120, it is not necessary to form a secure channel between the processor 110 and the secure element 120, The overhead of communication can be effectively reduced.

일 실시예에 있어서, 프로세서(110)는 정상 모드 또는 바이패스(bypass) 모드로 동작할 수 있다.In one embodiment, the processor 110 may operate in either 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) that connects the application processor 200 and the secure element 120. Therefore, 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 signal to the secure element 120, and the signal received from the secure element 120 To the application processor 200 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 communicate directly 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 senses biometric information. For example, the sensor 300 senses a fingerprint, an iris pattern, a vein pattern, a heart rate, blood sugar, and the like, generates sensing data (SSD) corresponding to the sensed information, However, the sensor 300 is not limited to a biosensor, and the sensor 300 may be any sensor such as an illuminance sensor, an acoustic sensor, an acceleration sensor, or the like.

도 1을 참조하여 센서(300)는 시큐어 모듈(100)의 외부에 존재하는 것으로 설명하였으나, 실시예에 따라서 센서(300)는 시큐어 모듈(100)의 내부에 포함될 수도 있다. 이 경우, 프로세서(110), 시큐어 엘리먼트(120) 및 센서(300)는 하나의 패키지로 형성될 수 있다.1, the sensor 300 exists outside the secure module 100, but the sensor 300 may be included in the secure module 100 according to an embodiment of the present invention. 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)에서 데이터 전송의 보안 레벨을 향상시킬 수 있다.The secure module 100 encrypts the sensing data SSD provided from the sensor 300 and transmits the sensing data SSD to the application processor 200. The application processor 200 encrypts the encryption data SSD provided from the secure module 100, The security level of the data transmission in the electronic device 10 can be improved by decoding the sensed data to acquire the sensing data SSD.

도 2는 본 발명의 일 실시예에 따른 전자 장치의 데이터 전송 방법을 나타내는 순서도이다.2 is a flowchart showing a data transmission method of an electronic device according to an embodiment of the present invention.

도 2에 도시된 데이터 전송 방법은 도 1의 전자 장치(10)를 통해 수행될 수 있다.The data transfer method shown in FIG. 2 may be performed through the electronic device 10 of FIG.

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

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

도 2를 참조하면, 본 발명에 따른 전자 장치(10)의 데이터 전송 방법에서, 프로세서(110)는 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환한다(단계 S100). 일 실시예에 있어서, 프로세서(110)는 어플리케이션 프로세서(200)의 요청에 응답하여 상기 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환할 수 있다.Referring to FIG. 2, in the data transfer 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 one embodiment, the processor 110 may transition the operating mode from the normal mode to the bypass mode in response to a request from the application processor 200.

도 3은 도 2의 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계(S100)의 일 예를 나타내는 순서도이다.3 is a flowchart showing an example of a step S100 of switching the operation mode of the processor of FIG. 2 to the bypass mode.

도 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 switches the operation mode from the normal mode to the bypass mode in response to the bypass request signal received from the application processor 200 and connects the application processor 200 and the secure element 120 A bypass channel BP_CH can be formed (step S120). Therefore, the processor 110 bypasses the signal received from the application processor 200 via the bypass channel BP_CH to provide the signal to the secure element 120, and transmits the signal received from the secure element 120 to the bypass channel BP_CH) and provide it to the application processor 200.

도 4는 도 2의 프로세서가 동작 모드를 바이패스 모드로 전환하는 단계(S100)의 다른 예를 나타내는 순서도이다.4 is a flowchart showing another example of step S100 in which the processor of FIG. 2 switches the operation mode to the bypass mode.

도 4를 참조하면, 어플리케이션 프로세서(200)는 프로세서(110)에 바이패스 요청 신호 및 어플리케이션 프로세서의 고유 번호를 전송할 수 있다(단계 S130).Referring to FIG. 4, the application processor 200 may transmit the bypass request signal and the unique number of the application processor to the processor 110 (step S130).

프로세서(110)는 통신이 허용된 디바이스의 고유 번호를 저장하는 고유 번호 테이블을 미리 저장할 수 있다. 프로세서(110)는 어플리케이션 프로세서(200)로부터 수신되는 상기 바이패스 요청 신호에 응답하여 상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하는지 여부를 판단할 수 있다(단계 S140).The processor 110 may previously store a unique number table for storing a unique number of a device that is allowed to communicate. The processor 110 may determine whether the 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)에 제공할 수 있다.If there is a unique number of the application processor 200 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 can be formed (step S150). Therefore, the processor 110 bypasses the signal received from the application processor 200 via the bypass channel BP_CH to provide the signal to the secure element 120, and transmits the signal received from the secure element 120 to the bypass channel BP_CH) and provide it to the application processor 200.

한편, 상기 고유 번호 테이블에 어플리케이션 프로세서(200)의 고유 번호가 존재하지 않는 경우(단계 S140; 아니오), 프로세서(110)는 상기 동작 모드를 상기 정상 모드로 유지하고, 어플리케이션 프로세서(200)와의 통신을 종료할 수 있다.On the other hand, if there is no unique number of the application processor 200 in the unique number table (step S140; NO), the processor 110 keeps 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 again 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 can perform mutual authentication using a first certificate CT1, a second certificate CT2, and a public key CA_PB of the certificate authority have.

도 5a 및 5b는 도 2의 어플리케이션 프로세서와 시큐어 엘리먼트가 상호 인증을 수행하는 단계(S200)의 일 예를 나타내는 순서도이다.5A and 5B are flowcharts showing an example of a step S200 of performing mutual authentication between the application processor and the secure element of FIG.

도 5a 및 5b를 참조하면, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)에 인증서 요청 신호를 전송할 수 있다(단계 S210).Referring to FIGS. 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 certificate authority stored in the application processor 200 It can be determined whether the verification is successful (step S240).

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

반면에, 시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 동일한 인증기관에서 발행된 것인 경우, 상기 검증은 성공할 수 있다. 상기 검증이 성공한 경우(단계 S240; 예), 어플리케이션 프로세서(200)는 제1 인증서(CT1)에 포함되는 시큐어 엘리먼트(120)의 제1 공개키(PB1)를 획득할 수 있다(단계 S250).On the other hand, if the first certificate CT1 stored in the secure element 120 and the second certificate CT2 stored in the application processor 200 are issued from the same certification authority, the verification may succeed. If the verification is successful (step S240; YES), the application processor 200 can acquire 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 to the secure element 120 and a second certificate CT2 stored in the application processor 200 (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 in 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 is successful (step S280).

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

반면에, 시큐어 엘리먼트(120)에 저장된 제1 인증서(CT1)와 어플리케이션 프로세서(200)에 저장된 제2 인증서(CT2)가 동일한 인증기관에서 발행된 것인 경우, 상기 검증은 성공할 수 있다. 상기 검증이 성공한 경우(단계 S280; 예), 시큐어 엘리먼트(120)는 제2 인증서(CT2)에 포함되는 어플리케이션 프로세서(200)의 제2 공개키(PB2)를 획득할 수 있다(단계 S290). 이 경우, 상기 상호 인증은 성공한 것으로 판단될 수 있다.On the other hand, if the first certificate CT1 stored in the secure element 120 and the second certificate CT2 stored in the application processor 200 are issued from the same certification authority, the verification may succeed. If the verification is successful (step S280; YES), the secure element 120 can acquire the second public key PB2 of the application processor 200 included in the second certificate CT2 (step S290). In this case, it can be determined that the mutual authentication is successful.

도 5a 및 5b를 참조하여 상술한 바와 같은 동작을 통해, 상기 상호 인증이 성공하는 경우, 시큐어 엘리먼트(120) 및 어플리케이션 프로세서(200)는 각각 상대방의 공개키를 획득할 수 있다.5A and 5B, if the mutual authentication is successful, the secure element 120 and the application processor 200 can acquire the public key of the counterpart, respectively.

다시 도 2를 참조하면, 상기 상호 인증이 실패한 경우(단계 S300; 아니오), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120) 사이의 통신은 종료된다.Referring again to FIG. 2, when the mutual authentication fails (step S300; NO), the 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, if 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 can be used to encrypt and decrypt the sensing data SSD generated from the sensor 300. In one embodiment, the application processor 200 and the secure element 120 may generate the session key using a first private key PR1 and a second private key PR2.

도 6a 및 6b는 도 2의 어플리케이션 프로세서와 시큐어 엘리먼트가 세션키를 생성하는 단계(S400)의 일 예를 나타내는 순서도이다.6A and 6B are flowcharts illustrating an example of a step S400 of the application processor and the secure element of FIG. 2 generating a session key.

도 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 transmits a second private key (" PR2) to encrypt the random value and the one-time public key, and to transmit the encrypted random value and the encrypted one-time public key 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 mutual authentication (step S200) (step S430) .

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

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

반면에, 상기 복호화된 랜덤값과 시큐어 엘리먼트(120)가 최초에 생성한 상기 랜덤값이 서로 일치하는 경우(단계 S440; 예), 시큐어 엘리먼트(120)는 상기 상호 인증을 수행하는 과정(단계 S200)에서 획득한 어플리케이션 프로세서(200)의 제2 공개키(PB2)를 사용하여 상기 암호화된 일회성 공개키를 복호화하여 상기 일회성 공개키를 획득할 수 있다(단계 S450).On the other hand, if 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 (Step S200 The one-time public key may be decrypted using the second public key PB2 of the application processor 200 acquired in step S450.

이후, 시큐어 엘리먼트(120)는 상기 일회성 공개키 및 시큐어 엘리먼트(120)의 내부에 저장된 제1 개인키(PR1)에 기초하여 비밀값(secret value)을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값(authentication value)을 생성하고, 상기 제1 인증값을 어플리케이션 프로세서(200)에 전송할 수 있다(단계 S460).The secure element 120 then computes 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, Key and a first authentication value, and transmits the first authentication value to the application processor 200 (step S460).

일 실시예에 있어서, 상기 일회성 공개키 및 제1 개인키(PR1)에 기초하여 상기 비밀값을 계산하는 제1 알고리즘 및 상기 비밀값에 기초하여 상기 세션키 및 상기 제1 인증값을 생성하는 제2 알고리즘은 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의될 수 있다.In one embodiment, a first algorithm for calculating the secret value based on the one-time public key and a first private key (PR1), and a second algorithm for generating the session key and the first authentication value based on the secret value 2 algorithm can be defined in advance 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 transmits the one-time private key and the first public key of the secure element 120 acquired in the step of performing the mutual authentication (step S200) The secret value may be calculated based on the key PB1, and the 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, which are predefined between the secure element 120 and the application processor 200, to generate the secret value and the second authentication value Respectively.

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

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

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

일 실시예에 있어서, 어플리케이션 프로세서(200)는 시큐어 엘리먼트(120)와 어플리케이션 프로세서(200) 사이에서 미리 정의된 상기 제2 알고리즘을 사용하여 상기 세션키를 생성할 수 있다.In one 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)가 생성한 상기 세션키와 동일할 수 있다. Therefore, 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)는 각각 상기 세션키를 내부적으로 저장할 수 있다.The secure element 120 and the application processor 200 may internally store the session key, respectively.

다시 도 2를 참조하면, 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)가 상기 세션키를 생성한 이후, 프로세서(110)는 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환한다(단계 S500). 일 실시예에 있어서, 프로세서(110)는 어플리케이션 프로세서(200)의 요청에 응답하여 상기 동작 모드를 상기 바이패스 모드에서 상기 정상 모드로 전환할 수 있다.Referring again 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 one embodiment, the processor 110 may transition the operating mode from the bypass mode to the normal mode in response to a request from 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 can encrypt the sensing data SSD.

도 7은 도 2의 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하는 단계(S600)의 일 예를 나타내는 순서도이다.7 is a flowchart showing an example of a step (S600) in which the secure module of FIG. 2 encrypts sensing data provided from a sensor using a session key.

도 7에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하는 경우의 전자 장치(10)의 동작이 도시된다.7 shows 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 for sensing body information, the sensing data SSD may include biometric information such as a fingerprint, an iris pattern, a blood line pattern, a heart rate, blood glucose, and the like.

프로세서(110)는 시큐어 엘리먼트(120)에 세션키 요청 신호를 전송할 수 있다(단계 S620).The processor 110 may send 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)의 통신 오버헤드는 효과적으로 감소될 수 있다.1, the secure module 100 including the processor 110 and the secure element 120 is formed as a single package, and the internal structure of the secure element 120, which connects 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 securely transmit the session key to the processor 110 without forming a secure channel between the processor 110 and the secure element 120. [ Therefore, the 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의 시큐어 모듈이 세션키를 사용하여 센서로부터 제공되는 센싱 데이터를 암호화하는 단계의 다른 예를 나타내는 순서도이다.8 is a flowchart showing another example of the step of encrypting the sensing data provided from the sensor using the session key by the secure module of Fig.

도 8에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하지 않는 경우의 전자 장치(10)의 동작이 도시된다.8 shows 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 for sensing body information, the sensing data SSD may include biometric information such as a fingerprint, an iris pattern, a blood line pattern, a heart rate, blood glucose, and the like.

프로세서(110)는 시큐어 엘리먼트(120)에 암호화 요청 신호 및 센싱 데이터(SSD)를 전송할 수 있다(단계 S660).The processor 110 may transmit the encryption request signal and the 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 in the secure element 120 in response to the encryption request signal received from the processor 110 in operation S670.

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

다시 도 2를 참조하면, 프로세서(110)는 상기 암호화된 센싱 데이터를 어플리케이션 프로세서(200)에 전송한다(단계 S700).Referring again 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)의 유출을 효과적으로 방지할 수 있다.The processor 110 is connected to the application processor 200 through an external bus EXT_BUS connected to the external terminal of the package corresponding to the secure module 100. As a result, May transmit the encrypted sensing data to the application processor 200 via the external bus EXT_BUS. Since the sensing data SSD is transmitted from the processor 110 to the application processor 200 while being encrypted with the session key, even if the external bus EXT_BUS is probed through the scope, the leakage of the sensing data SSD 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 acquire the 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)에서 데이터 전송의 보안 레벨은 향상될 수 있다.1 to 8, in the electronic device 10 according to the embodiments of the present invention, the secure module 100 including the processor 110 and the secure element 120 is a single package . Also, while the processor 110 is operating in the bypass mode, the application processor 200 and the secure element 120 may receive the first certificate CT1 stored in the secure element 120, Mutual authentication is performed by using the second certificate CT2 stored in the application processor 200 and the public key CA_PB of the certification authority stored in common with the application processor 200 and the secure element 120, The application processor 200 and the secure element 120 use the first private key PR1 stored in the secure element 120 and the second private key PR2 stored in the application processor 200, Creates a session key. The secure module 100 encrypts the sensing data SSD using the session key and transmits the sensing data SSD to the application processor 200. The application processor 200 decrypts the encrypted sensing data using the session key, To obtain sensing data (SSD). Therefore, the security level of data transmission in the electronic device 10 can be improved.

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

도 1 내지 8을 참조하여 어플리케이션 프로세서(200) 및 시큐어 모듈(100)이 동일한 전자 장치(10)에 포함되는 경우의 데이터 통신에 대해 설명하였으나, 본 발명은 이에 한정되지 않으며, 본 발명에 따른 데이터 전송 방법은 어플리케이션 프로세서(200) 및 시큐어 모듈(100)이 각각 서로 다른 전자 장치에 포함되는 경우에도 적용될 수 있다.1 to 8, 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. However, the present invention is not limited to this, 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 showing an example of the electronic device shown in Fig.

도 9를 참조하면, 전자 장치(10a)는 시큐어 모듈(100), 어플리케이션 프로세서(200a) 및 센서(300)를 포함할 수 있다.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. 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, and a duplicate description 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, a trusted execution environment (TEE) can be implemented using ARM 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 run on a general operating system (RICH OS) 212 such as Android and the like. In a trusted execution environment (TEE) A predetermined security application (TRUSTED APP) 221 that performs communication 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 may be an electrically erasable programmable read-only memory (EEPROM), a flash memory, a phase change random access memory (PRAM), a resistance random access memory (RRAM) Gate Memory, PoRAM, Magnetic Random Access Memory (MRAM), Ferroelectric Random Access Memory (FRAM), or the like.

상기 인증기관의 공개키(CA_PB), 상기 인증기관이 발행한 어플리케이션 프로세서(200a)에 상응하는 제2 인증서(CT2) 및 어플리케이션 프로세서(200a)의 제2 개인키(PR2)는 보안 저장 장치(223)에 저장될 수 있다.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 stored in the secure storage device 223 ). ≪ / RTI >

보안 저장 장치(223)는 신뢰된 실행 환경(TEE)에서 동작하므로, 보안 저장 장치(223)는 신뢰된 실행 환경(TEE)에서 동작하는 보안 어플리케이션(221)을 통해서만 접근 가능할 수 있다. 즉, 리치 OS 실행 환경(REE)에서 동작하는 일반 어플리케이션(211)은 보안 저장 장치(223)에의 접근이 차단될 수 있다.Since the secure storage device 223 operates in a trusted execution environment (TEE), the secure storage device 223 may be accessible only through the secure application 221 operating in a 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 certificate authority stored in the secure storage device 223, the second certificate CT2 and the second private key PR2, It is possible to securely obtain the sensing data (SSD) from the secure module 100 by performing the operation as described above.

도 9를 참조하여 상술한 바와 같이, 어플리케이션 프로세서(200a)는 신뢰된 실행 환경(TEE)을 통해 시큐어 모듈(100)과 통신을 수행하여 센싱 데이터(SSD)를 획득하므로, 전자 장치(10a)에서 데이터 전송의 보안 레벨은 더욱 향상될 수 있다.As described above with reference to FIG. 9, the application processor 200a communicates with the secure module 100 through the trusted execution environment (TEE) to acquire the sensing data (SSD), so that the electronic device 10a The security level of the 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 Figure 10 are identical to the electronic device 10 of Figure 1 except that the secure element 120 further stores the security data SED. The secure module 100 and the application processor 200 may be the same. 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, and a duplicate description will be omitted.

도 11은 본 발명의 일 실시예에 따른 전자 장치의 데이터 전송 방법을 나타내는 순서도이다.11 is a flowchart showing a data transmission method of an electronic device according to an embodiment of the present invention.

도 11에 도시된 데이터 전송 방법은 도 10의 전자 장치(20)를 통해 수행될 수 있다.The data transfer method shown in Fig. 11 can be performed through the electronic device 20 of Fig.

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

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

도 11을 참조하면, 본 발명에 따른 전자 장치(20)의 데이터 전송 방법에서, 프로세서(110)는 동작 모드를 상기 정상 모드에서 상기 바이패스 모드로 전환한다(단계 S100).Referring to FIG. 11, in the data transfer 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), the communication between the application processor 200 and the secure element 120 is terminated.

반면에, 상기 상호 인증이 성공한 경우(단계 S300; 예), 어플리케이션 프로세서(200)와 시큐어 엘리먼트(120)는 세션키(session key)를 생성한다(단계 S400).On the other hand, if 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 through fifth steps S100, S200, S300, S400, and S500 shown in FIG. 11 are the same as the first through fifth steps S100, S200, S300, S400, and S500 shown in FIG. . ≪ / RTI > Detailed operations of the first through fifth steps S100, S200, S300, S400, and S500 shown in FIG. 2 have been described in detail with reference to FIGS. 1 through 8, and a duplicate description will be omitted here.

이후, 시큐어 모듈(100)은 시큐어 엘리먼트(120)에 저장된 상기 세션키를 사용하여 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 암호화한다(단계 S601).The secure module 100 encrypts the secure data SED stored in the secure element 120 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 can encrypt the security data SED.

도 12는 도 11의 시큐어 모듈이 세션키를 사용하여 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계(S601)의 일 예를 나타내는 순서도이다.12 is a flowchart showing an example of a step (S601) in which the secure module of FIG. 11 encrypts security data stored in a secure element using a session key.

도 12에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하는 경우의 전자 장치(20)의 동작이 도시된다.12 shows 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 the secure data SED stored in the secure element 120 to the processor 110 in response to the data request signal received from the processor 110 ).

도 1을 참조하여 상술한 바와 같이, 프로세서(110) 및 시큐어 엘리먼트(120)를 포함하는 시큐어 모듈(100)은 하나의 패키지로 형성되고, 프로세서(110)와 시큐어 엘리먼트(120)를 연결하는 내부 버스(INT_BUS)는 상기 패키지의 내부에 형성되므로, 내부 버스(INT_BUS)는 상기 패키지의 외부로 노출되지 않는다. 따라서 프로세서(110)와 시큐어 엘리먼트(120) 사이에 보안 채널을 형성하지 않고도 시큐어 엘리먼트(120)는 상기 세션키 및 보안 데이터(SED)를 프로세서(110)에 안전하게 전송할 수 있다. 따라서 전자 장치(20)의 통신 오버헤드는 효과적으로 감소될 수 있다.1, the secure module 100 including the processor 110 and the secure element 120 is formed as a single package, and the internal structure of the secure element 120, which connects 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. The secure element 120 can securely transmit the session key and the secure data SED to the processor 110 without forming a secure channel between the processor 110 and the secure element 120. [ Thus, the communication overhead of the electronic device 20 can be effectively reduced.

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

도 13은 도 11의 시큐어 모듈이 세션키를 사용하여 시큐어 엘리먼트에 저장된 보안 데이터를 암호화하는 단계의 다른 예를 나타내는 순서도이다.13 is a flowchart showing another example of a step in which the secure module of FIG. 11 encrypts security data stored in a secure element using a session key.

도 13에는 프로세서(110)가 상기 하드웨어 암호화 엔진을 포함하지 않는 경우의 전자 장치(20)의 동작이 도시된다.13 shows 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 secure 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).Then, the secure element 120 can transmit the encrypted secure data to the processor 110 (step S661).

다시 도 11을 참조하면, 프로세서(110)는 상기 암호화된 보안 데이터를 어플리케이션 프로세서(200)에 전송한다(단계 S701).Referring again 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)의 유출을 효과적으로 방지할 수 있다.The processor 110 is connected to the application processor 200 through an external bus EXT_BUS connected to the external terminal of the package corresponding to the secure module 100. As a result, May transmit the encrypted security data to the application processor 200 via the external bus EXT_BUS. Since the security data SED is transmitted from the processor 110 to the application processor 200 while being encrypted with the session key, even if the external bus EXT_BUS is probed through the scope, the leakage of the security data SED Can be effectively prevented.

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

도 10 내지 13을 참조하여 상술한 바와 같이, 본 발명의 실시예들에 따른 전자 장치(20)는 시큐어 엘리먼트(120)에 저장된 보안 데이터(SED)를 안전하게 어플리케이션 프로세서(200)에 전송할 수 있다. 따라서 전자 장치(20)에서 데이터 전송의 보안 레벨은 향상될 수 있다.The electronic device 20 according to the embodiments of the present invention can securely transmit the security data SED stored in the secure element 120 to the application processor 200 as described above with reference to FIGS. Therefore, the security level of data transmission in the electronic device 20 can 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)를 포함한다.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 the combination of the electronic device 10 of FIG. 1 and the electronic device 20 of FIG.

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

도 1의 전자 장치(10) 및 도 10의 전자 장치(20)의 구성 및 동작에 대해서는 도 1 내지 13을 참조하여 상세히 설명하였으므로, 도 14의 전자 장치(30)에 대한 상세한 설명은 생략한다.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. Therefore, detailed description of the electronic device 30 of Fig. 14 is 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)들을 더 포함할 수 있다.15, an 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, A power supply 960 and a sensor 970. 15, the electronic system 900 may further include ports capable of communicating with, or communicating with, video cards, sound cards, memory cards, USB devices, and the like .

어플리케이션 프로세서(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 Internet browsers, games, animations, and the like. According to an embodiment, the application processor 920 may include a single processor 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. Also, according to an embodiment, the application processor 920 may further include a cache memory located internally or externally.

시큐어 모듈(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 the internal bus INT_BUS connecting the processor 911 and the secure element 912 is formed inside the package . The secure elite 912 may include a capability to defend against external attacks, for example, a lab attack. Thus, the secure erim 912 can securely store the secure data. The processor 911 may be coupled to the application processor 920.

센서(970)는 신체 정보(biometric information)를 감지하는 바이오 센서일 수 있다. 예를 들어, 센서(970)는 지문, 홍체 패턴, 핏줄 패턴, 심박수, 혈당 등을 감지하고, 감지된 정보에 상응하는 센싱 데이터를 생성하여 시큐어 모듈(910)에 포함되는 프로세서(911)에 제공할 수 있다. 그러나 센서(970)는 바이오 센서에 한정되지 않으며, 센서(970)는 조도(illuminance) 센서, 음향 센서, 가속도 센서 등과 같은 임의의 센서일 수 있다.The sensor 970 may be a biosensor for sensing biometric information. For example, the sensor 970 senses a fingerprint, an iris pattern, a vein pattern, a heart rate, a blood sugar, etc., generates sensing data corresponding to the sensed information, and provides the sensed data 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 illuminance sensor, an acoustic sensor, an acceleration sensor, and 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 respectively connected to the secure module 100 included in the electronic device 30 of FIG. 14, the application processor 200 And a sensor 300 as shown in FIG. 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. Therefore, the secure module 910, A detailed description 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 comprise a non-volatile memory device such as a flash memory device, a solid state drive (SSD), or the like.

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

입출력 장치(950)는 터치패드, 키패드, 입력 버튼 등과 같은 입력 수단 및 디스플레이, 스피커 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(960)는 전자 시스템(900)의 동작에 필요한 동작 전압을 공급할 수 있다.The input / output device 950 may include input means such as a touch pad, a keypad, an input button and the like, and output means such as a display, a speaker, and the like. The power supply 960 can supply the operating voltage required for 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 may be a mobile phone, a smart phone, a personal digital assistant (PDA), a portable multimedia player (PMP), 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 showing an example in which the electronic system of Fig. 15 is implemented as a smartphone.

도 15 및 16을 참조하면, 스마트폰(900a)에 포함되는 시큐어 엘리먼트(912)는 사용자의 신체 정보(biometric information)에 상응하는 보안 데이터를 미리 저장할 수 있다. 15 and 16, the secure element 912 included in the smartphone 900a may previously store security data corresponding to the user's biometric information.

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

현재 사용자의 지문을 사용하여 상기 현재 사용자가 허용된 사용자인지를 판단하고자 하는 경우, 시큐어 모듈(910), 어플리케이션 프로세서(920) 및 센서(970)는 도 1 내지 8을 참조하여 상술한 바와 같은 동작을 수행하여 센서(970)로부터 생성되는 상기 현재 사용자의 지문 정보에 상응하는 센싱 데이터를 시큐어 모듈(910)을 통해 어플리케이션 프로세서(920)에 안전하게 전송할 수 있다. 또한, 시큐어 모듈(910) 및 어플리케이션 프로세서(920)는 도 10 내지 13을 참조하여 상술한 바와 같은 동작을 수행하여 시큐어 엘리먼트(912)에 저장된 상기 보안 데이터를 어플리케이션 프로세서(920)에 안전하게 전송할 수 있다. 어플리케이션 프로세서(920)는 시큐어 모듈(910)로부터 전송되는 상기 센싱 데이터와 상기 보안 데이터가 서로 일치하는지 여부에 기초하여 상기 현재 사용자가 허용된 사용자인지 여부를 효과적으로 판단할 수 있다.The secure module 910, the application processor 920, and the sensor 970 may perform the operations as described above with reference to FIGS. 1-8, if the current user is to determine whether the current user is an authorized user, And securely transmit the sensing data corresponding to the fingerprint information of the current user generated from the sensor 970 to the application processor 920 through the secure module 910. [ The secure module 910 and the application processor 920 may also perform operations as described above with reference to Figures 10 to 13 to securely transmit the secure data stored in the secure element 912 to the application processor 920 . The application processor 920 can effectively determine whether the current user is an authorized user based on whether the sensing data transmitted from the secure module 910 and the security data match with each other.

도 15를 참조하여 설명한 지문 정보를 통한 사용자 인증 동작은 본 발명에 따른 전자 장치의 데이터 전송 방법의 한 응용 예에 불과하며, 본 발명에 따른 전자 장치의 데이터 전송 방법은 다양한 방식으로 응용될 수 있다.The user authentication operation using the 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 .

상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. It will be understood that the invention may be modified and varied without departing from the scope of the invention.

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,
Switching the operating mode of the processor to 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;
The processor switching the operation mode to a normal mode;
Encrypting the sensing data provided by the sensor using the session key;
The processor transmitting the encrypted sensing data to the application processor; And
And the application processor decrypting the encrypted sensing data using the session key to obtain the sensing data.
제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, Wherein the processor is coupled to the processor via an internal bus formed in the processor. 제2 항에 있어서, 상기 프로세서는 상기 정상 모드에서 상기 어플리케이션 프로세서와 통신을 수행하고, 상기 바이패스 모드에서 상기 어플리케이션 프로세서로부터 수신되는 신호를 바이패스시켜 상기 시큐어 엘리먼트에 제공하고, 상기 시큐어 엘리먼트로부터 수신되는 신호를 바이패스시켜 상기 어플리케이션 프로세서에 제공하는 전자 장치의 데이터 전송 방법.3. The method of claim 2, wherein the processor communicates with the application processor in the normal mode, bypasses a signal received from the application processor in the bypass mode and provides the signal to the secure element, And supplies the bypassed signal to the application processor. 제1 항에 있어서, 상기 시큐어 엘리먼트는 제1 개인키, 인증기관(Certificate Authority; CA)의 공개키 및 상기 인증기관이 발행한 제1 인증서를 저장하고, 상기 어플리케이션 프로세서는 제2 개인키, 상기 인증기관의 공개키 및 상기 인증기관이 발행한 제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 certification authority, A public key of a certification authority and a second certificate issued by the certification authority are stored. 제4 항에 있어서, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상호 인증을 수행하는 단계는,
상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 인증서 요청 신호를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 인증서 요청 신호에 응답하여 상기 제1 인증서를 상기 어플리케이션 프로세서에 전송하는 단계;
상기 어플리케이션 프로세서가 상기 인증기관의 공개키를 사용하여 상기 제1 인증서를 검증하는 단계;
상기 어플리케이션 프로세서가 상기 제1 인증서의 검증을 성공하는 경우, 상기 제1 인증서에 포함되는 상기 시큐어 엘리먼트의 제1 공개키를 획득하는 단계;
상기 어플리케이션 프로세서가 상기 시큐어 엘리먼트에 검증 요청 신호 및 상기 제2 인증서를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 검증 요청 신호에 응답하여 상기 인증기관의 공개키를 사용하여 상기 제2 인증서를 검증하는 단계; 및
상기 시큐어 엘리먼트가 상기 제2 인증서의 검증을 성공하는 경우, 상기 제2 인증서에 포함되는 상기 어플리케이션 프로세서의 제2 공개키를 획득하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
5. The method of claim 4, wherein the mutual authentication of the application processor and the secure element comprises:
The application processor sending a certificate request signal to the secure element;
The secure element sending the first certificate to the application processor in response to the certificate request signal;
The application processor verifying the first certificate using the public key of the certification authority;
Acquiring a first public key of the secure element included in the first certificate when the application processor succeeds in verifying the first certificate;
The application processor sending a verification request signal and the second certificate to the secure element;
Verifying the second certificate using the public key of the certification authority in response to the verification request signal; And
And acquiring a second public key of the application processor included in the second certificate when the secure element succeeds in verifying the second certificate.
제5 항에 있어서, 상기 어플리케이션 프로세서와 상기 시큐어 엘리먼트가 상기 세션키를 생성하는 단계는,
상기 시큐어 엘리먼트가 랜덤값을 생성하고, 상기 랜덤값을 상기 어플리케이션 프로세서에 전송하는 단계;
상기 어플리케이션 프로세서가 일회성 개인키 및 일회성 공개키 쌍을 생성하고, 상기 제2 개인키를 사용하여 상기 랜덤값 및 상기 일회성 공개키를 각각 암호화하고, 상기 암호화된 랜덤값 및 상기 암호화된 일회성 공개키를 상기 시큐어 엘리먼트에 전송하는 단계;
상기 시큐어 엘리먼트가 상기 제2 공개키를 사용하여 상기 암호화된 랜덤값을 복호화하고, 상기 복호화된 랜덤값과 상기 랜덤값이 일치하는 경우, 상기 제2 공개키를 사용하여 상기 암호화된 일회성 공개키를 복호화하여 상기 일회성 공개키를 획득하는 단계;
상기 시큐어 엘리먼트가 상기 제1 개인키 및 상기 일회성 공개키에 기초하여 비밀값을 계산하고, 상기 비밀값에 기초하여 상기 세션키 및 제1 인증값을 생성하고, 상기 제1 인증값을 상기 어플리케이션 프로세서에 전송하는 단계; 및
상기 어플리케이션 프로세서가 상기 제1 공개키 및 상기 일회성 개인키에 기초하여 상기 비밀값을 계산하고, 상기 비밀값에 기초하여 제2 인증값을 생성하고, 상기 제2 인증값과 상기 제1 인증값이 일치하는 경우, 상기 비밀값에 기초하여 상기 세션키를 생성하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
6. The method of claim 5, wherein the application processor and the secure element generate the session key,
The secure element generating a random value and transmitting the random value to the application processor;
The application processor generates a one-time private key and a one-time public key pair, encrypts the random value and the one-time public key using the second private key, respectively, and encrypts the encrypted random value and the encrypted one- Transmitting to the secure element;
The secure element decrypts the encrypted random value using the second public key, and if the decrypted random value and the random value match, encrypting the encrypted one-time public key using the second public key Decrypting the public key to obtain the one-time public key;
Wherein the secure element computes a secret value based on the first private key and the one-time public key, generates the session key and the first authentication value based on the secret value, ; And
The application processor calculates the secret value based on the first public key and the one-time private key, and generates a second authentication value based on the secret value, and the second authentication value and the first authentication value And generating the session key on the basis of the secret value, if it is matched.
제1 항에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는,
상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계;
상기 프로세서가 상기 시큐어 엘리먼트에 세션키 요청 신호를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 세션키 요청 신호에 응답하여 상기 세션키를 상기 프로세서에 전송하는 단계; 및
상기 프로세서가 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
2. The method of claim 1, wherein the step of the secure module encrypting the sensing data provided from the sensor using the session key comprises:
The processor receiving the sensing data from the sensor;
The processor transmitting a session key request signal to the secure element;
The secure element sending the session key to the processor in response to the session key request signal; And
And the processor encrypts the sensing data using the session key.
제1 항에 있어서, 상기 시큐어 모듈이 상기 세션키를 사용하여 상기 센서로부터 제공되는 상기 센싱 데이터를 암호화하는 단계는,
상기 프로세서가 상기 센서로부터 상기 센싱 데이터를 수신하는 단계;
상기 프로세서가 상기 시큐어 엘리먼트에 암호화 요청 신호 및 상기 센싱 데이터를 전송하는 단계;
상기 시큐어 엘리먼트가 상기 암호화 요청 신호에 응답하여 상기 세션키를 사용하여 상기 센싱 데이터를 암호화하는 단계; 및
상기 시큐어 엘리먼트가 상기 암호화된 센싱 데이터를 상기 프로세서에 전송하는 단계를 포함하는 전자 장치의 데이터 전송 방법.
2. The method of claim 1, wherein the step of the secure module encrypting the sensing data provided from the sensor using the session key comprises:
The processor receiving the sensing data from the sensor;
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; And
And the secure element transmits the encrypted sensing data to the processor.
제1 항에 있어서, 상기 어플리케이션 프로세서는 신뢰된 실행 환경(trusted execution environment; TEE) 및 리치 OS 실행 환경(rich operating system execution environment; REE)을 포함하고, 상기 어플리케이션 프로세서는 상기 신뢰된 실행 환경을 통해 상기 시큐어 모듈과 통신을 수행하는 전자 장치의 데이터 전송 방법.2. The method of claim 1, wherein the application processor comprises a trusted execution environment (TEE) and a rich operating system execution environment (REE) And a data transmission method of an electronic device that performs 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,
Switching the operating mode of the processor to 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;
The processor switching the operation mode to a normal mode;
Encrypting the secure data stored in the secure element using the session key;
The processor transmitting the encrypted security data to the application processor; And
And the application processor decrypting the encrypted secure data using the session key to obtain the secure data.
KR1020150011003A 2014-12-01 2015-01-23 Method of data transfer in electronic device Active 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 true KR20160065716A (en) 2016-06-09
KR102256330B1 KR102256330B1 (en) 2021-05-26

Family

ID=56138960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150011003A Active KR102256330B1 (en) 2014-12-01 2015-01-23 Method of data transfer in electronic device

Country Status (1)

Country Link
KR (1) KR102256330B1 (en)

Cited By (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
KR20200037481A (en) * 2018-10-01 2020-04-09 한국항공대학교산학협력단 Device and method for communication between diffrent type block chains
WO2022035155A1 (en) * 2020-08-11 2022-02-17 이청종 Compartmentalized security device, computer including compartmentalized computing module, and hacking prevention method
KR20220153315A (en) * 2021-05-11 2022-11-18 주식회사 시큐리안테크놀로지 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

Cited By (5)

* 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
KR20200037481A (en) * 2018-10-01 2020-04-09 한국항공대학교산학협력단 Device and method for communication between diffrent type block chains
WO2022035155A1 (en) * 2020-08-11 2022-02-17 이청종 Compartmentalized security device, computer including compartmentalized computing module, and hacking prevention method
KR20220020172A (en) * 2020-08-11 2022-02-18 이청종 Compartment Type Security Device, Computer comprising Compartment Type Computing Module and Hacking Prevention Method
KR20220153315A (en) * 2021-05-11 2022-11-18 주식회사 시큐리안테크놀로지 Kiosk and its control method

Also Published As

Publication number Publication date
KR102256330B1 (en) 2021-05-26

Similar Documents

Publication Publication Date Title
JP7416775B2 (en) Peripheral device
US11531758B2 (en) Provision of domains in secure enclave to support multiple users
EP3458999B1 (en) Self-contained cryptographic boot policy validation
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
CN109074449B (en) Flexibly provisioning attestation keys in secure enclaves
CN106416121B (en) Common mode RSA key pair for signature generation and encryption/decryption
US8462955B2 (en) Key protectors based on online keys
US10691837B1 (en) Multi-user storage volume encryption via secure enclave
US20160154967A1 (en) Methods of data transfer in electronic devices
CN114629639B (en) Key management method, device and electronic device based on trusted execution environment
KR20210017083A (en) Electronic device and method for generating attestation certificate based on fused key
ES2819449T3 (en) Remote crypto services using server TPM
US10325105B2 (en) Single-chip virtualizing and obfuscating storage system for portable computing devices
US20110022856A1 (en) Key Protectors Based On Public Keys
US20110314284A1 (en) Method for securing transmission data and security system for implementing the same
US9942226B2 (en) NFC package for storing biometric information and electronic device
CN107077560B (en) System for establishing ownership of secure workspace
KR20230016195A (en) Secure signing of configuration settings
JP6756056B2 (en) Cryptographic chip by identity verification
CN111917696A (en) TPM-based secure multi-party computing system using non-bypassable gateways
KR102256330B1 (en) Method of data transfer in electronic device
KR20210012186A (en) Electronic device and method for protecting personal informatino using secure switch
US11496287B2 (en) Privacy preserving fully homomorphic encryption with circuit verification
TWI809852B (en) Integrated circuit module functioning for information security
US9749133B2 (en) Method and apparatus for secure communication and determining secret information

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20150123

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20190827

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20150123

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20200805

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20210222

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20210520

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20210521

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20240424

Start annual number: 4

End annual number: 4