KR101992325B1 - Session key establishment method based on elliptic curve cryptography using trusted execution environment - Google Patents

Session key establishment method based on elliptic curve cryptography using trusted execution environment Download PDF

Info

Publication number
KR101992325B1
KR101992325B1 KR1020180132353A KR20180132353A KR101992325B1 KR 101992325 B1 KR101992325 B1 KR 101992325B1 KR 1020180132353 A KR1020180132353 A KR 1020180132353A KR 20180132353 A KR20180132353 A KR 20180132353A KR 101992325 B1 KR101992325 B1 KR 101992325B1
Authority
KR
South Korea
Prior art keywords
key
temporary
temporary key
hash function
session
Prior art date
Application number
KR1020180132353A
Other languages
Korean (ko)
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 KR1020180132353A priority Critical patent/KR101992325B1/en
Application granted granted Critical
Publication of KR101992325B1 publication Critical patent/KR101992325B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a method for establishing an encryption session between a first device and a second device of an infotainment system including a trusted execution environment, comprising: an encryption parameter registration procedure in which a trust anchor generates an encryption parameter used for an elliptic curve cryptography method and passes the encryption parameter to the first device and the second device; and a procedure for maintaining device anonymity and mutual authentication using encryption parameters received without help of the trust anchor, and establishing an encryption session by the first and second devices generating the same session key without exchanging session keys.

Description

신뢰 실행 환경을 이용한 타원 곡선 암호 기반 세션키 수립 방법{SESSION KEY ESTABLISHMENT METHOD BASED ON ELLIPTIC CURVE CRYPTOGRAPHY USING TRUSTED EXECUTION ENVIRONMENT}[0001] SESSION KEY ESTABLISHMENT METHOD BASED ON ELLIPTIC CURVE CRYPTOGRAPHY USING TRUSTED EXECUTION ENVIRONMENT [0002]

암호화 통신을 위한 세션키 수립 방법에 관한 것으로, 보다 상세하게는 신뢰 실행 환경(Trusted Execution Environment)을 포함하는 인포테인먼트 장치 사이에 타원 곡선 암호 기반의 암호화 세션키를 수립하는 방법에 대한 발명이 개시된다.The present invention relates to a method for establishing a session key for encrypted communication, and more particularly, to a method for establishing an encryption session key based on an elliptic curve cipher between an infotainment apparatus including a trusted execution environment.

최근 차량과 IT 기술 간 융합이 가속화 되면서 스마트 카와 관련된 기술이 발전하고 있다. 스마트 카 기술 중 하나인 인포테인먼트(Infotainment) 기술들이 활발히 연구되고 있으며, 인포테인먼트 시스템을 탑재한 차량의 수도 점차적으로 증가하고 있다. Recently, as the convergence between vehicle and IT technology accelerates, technologies related to smart cars are developing. Infotainment technologies, one of the smart car technologies, are actively being studied, and the number of vehicles equipped with infotainment systems is gradually increasing.

인포테인먼트는 정보(Information)와 오락(Entertainment)의 합성어로 차량 내에서 차량의 정보(예, 타이어 공기압, 엔진 온도 등)와 오락(예, 영화, 음악)을 한번에 즐길 수 있는 시스템이다. 차량 인포테인먼트 기술은 GENIVI에서 표준화를 진행 하였다. Infotainment is a compound of information and entertainment. It is a system that can enjoy the information of the car (eg tire pressure, engine temperature) and entertainment (eg movie, music) in the vehicle at once. Vehicle infotainment technology was standardized by GENIVI.

인포테인먼트 시스템에서 주요한 요소는 HMI(Human Machine Interface)와 TCU(Telematics Control Unit)가 있다. TCU는 차량의 내부와 외부의 통신을 중재하는 장비이고, HMI는 사용자들이 차량 인포테인먼트를 활용할 수 있도록 하는 장비이다. 인포테인먼트 시스템에 새로운 장치가 연결되기 위해서는 TCU를 통해 연결이 가능하다. 연결된 장치들은 인포테인먼트 시스템에서 할당한 서비스만 이용할 수 있게 된다. 장치가 할당된 서비스 이외의 서비스를 이용하게 되면 차량의 정보를 악용하여 차량의 사고를 유발할 수 있게 된다. The main elements of the infotainment system are Human Machine Interface (HMI) and Telematics Control Unit (TCU). TCU is a device that mediates communication between the inside and the outside of a vehicle, and HMI is a device that allows users to utilize vehicle infotainment. In order to connect a new device to the infotainment system, it is possible to connect via TCU. The connected devices will only be able to use the services assigned by the infotainment system. If a device uses a service other than the service to which the device is assigned, the information of the vehicle can be used to cause an accident of the vehicle.

이러한 인포테인먼트 기술은 추가적인 장치를 차량에 연결하여 서비스를 확장하여 사용할 수 있다. 시스템에 연결된 다수의 장치들은 각 장치별 할당된 서비스들을 제공받게 된다. 그러나 인포테인먼트 시스템의 취약점들이 계속해서 알려지고 있으며, 최근에는 공격자가 인포테인먼트 시스템을 장악하여 핸들 조작이 가능함을 시연하기도 하였다. 이 시연은 차량 내부 통신과정에서의 안전하지 않은 세션을 통해 차량 핸들을 조작하는 것이 가능함을 보여주었다. 차량 내에서 인포테인먼트 시스템의 역할이 커지고 있고 이에 따른 보안성도 커져야 필요성이 대두되고 있다.These infotainment technologies can be extended by connecting additional devices to the vehicle. A plurality of devices connected to the system are provided with services assigned to each device. However, the vulnerabilities of the infotainment system continue to be known, and in recent years, the attacker has taken control of the infotainment system and demonstrated the ability to manipulate the handle. This demonstration showed that it is possible to manipulate the vehicle handles through an unsafe session during the vehicle's internal communication process. The infotainment system is becoming more and more important in the vehicle, and security has to be increased accordingly.

본 발명의 목적은 차량에 설치된 인포테인먼트 시스템의 신뢰 실행 환경을 포함하는 장치 간에 암호화된 통신 세션을 통해 안전하게 통신할 수 있는 방법을 제공함에 있다.It is an object of the present invention to provide a method for securely communicating through an encrypted communication session between devices including a trusted execution environment of an infotainment system installed in a vehicle.

과제를 해결하기 위한 일 양상에 따른 신뢰 실행 환경을 포함하는 인포테인먼트 시스템의 제1 장치와 제2 장치 사이의 암호화 세션을 수립하는 방법은 암호화 파라미터를 등록하는 절차와, 암호화 세션키를 분배하는 절차를 포함한다.A method for establishing a cryptographic session between a first device and a second device of an infotainment system including a trusted execution environment in accordance with one aspect for solving the task, comprises a procedure for registering the cryptographic parameters, a procedure for distributing the cryptographic session key .

암호화 파라미터를 등록하는 절차는 신뢰 실행 환경을 포함하는 제1 장치와 제2 장치 사이의 세션키 생성을 위한 암호화 파라미터 등록하는 방법으로, 트러스트 앵커가 마스터 키 등을 선택하는 단계와, 트러스트 앵커가 트러스트 앵커의 공개키를 생성하는 단계와, 트러스트 앵커가 시스템 파라미터를 전송하는 단계와, 제1 장치가 제1 장치 아이디를 전송하는 단계와, 제2 장치가 제2 장치 아이디를 전송하는 단계와, 트러스트 앵커가 제1 장치의 개인키를 전송하는 단계와, 트러스트 앵커가 제2 장치의 개인키를 전송하는 단계를 포함한다.The procedure for registering encryption parameters is a method for registering an encryption parameter for generating a session key between a first device including a trusted execution environment and a second device, the method comprising the steps of: selecting a master key or the like by a trust anchor; The method comprising: generating a public key of an anchor; transmitting a system parameter by a trust anchor; transmitting a first device ID by a first device; transmitting a second device ID by a second device; The anchor transmitting the private key of the first device, and the trust anchor transmitting the private key of the second device.

트러스트 앵커가 마스터 키 등을 선택하는 단계는 트러스트 앵커가 제1 소수와, 제2 소수와, 유한체로 정의된 타원 곡선 상의 생성점과, 마스터 키를 선택하는 단계이고, 트러스트 앵커가 트러스트 앵커의 공개키를 생성하는 단계는 트러스트 앵커가 마스터 키와 생성점을 이용하여 트러스트 앵커의 공개키를 생성하는 단계이고, 트러스트 앵커가 시스템 파라미터를 전송하는 단계는 트러스트 앵커가 제1 소수와, 제2 소수와, 상기 타원 곡선을 정의하는 타원 곡선 방정식과, 생성점과, 트러스트 앵커의 공개키를 포함하는 시스템 파라미터를 생성하여 제1 장치 및 제2 장치의 보안 영역으로 전송하는 단계이고, 제1 장치가 제1 장치 아이디를 전송하는 단계는 제1 장치가 장치를 식별할 수 있는 제1 장치 아이디를 트러스트 앵커로 전송하는 단계이고, 제2 장치가 제2 장치 아이디를 전송하는 단계는 제2 장치가 장치를 식별할 수 있는 제2 장치 아이디를 트러스트 앵커로 전송하는 단계이고, 트러스트 앵커가 제1 장치의 개인키를 전송하는 단계는 트러스트 앵커가 제1 난수를 생성하고, 제1 장치 아이디와, 생성점과, 제1 난수를 기초로 상기 타원 곡선을 정의하는 타원 곡선 방정식 및 암호화 해시 함수를 이용하여 제1 장치의 개인키를 생성하여 제1 장치의 보안 영역으로 전송하는 단계이고, 트러스트 앵커가 제2 장치의 개인키를 전송하는 단계는 트러스트 앵커가 제2 난수를 생성하고, 제2 장치 아이디와, 생성점과, 제2 난수를 기초로 상기 타원 곡선을 정의하는 타원 곡선 방정식 및 암호화 해시 함수를 이용하여 제2 장치의 개인키를 생성하여 제2 장치의 보안 영역으로 전송하는 단계이다.The step of the trust anchor selecting the master key or the like is a step of selecting a master key and a generation point on an elliptic curve defined by a trust anchor, a first prime number, a second prime number, a finite element, and the trust anchor is a public trust anchor The step of generating the key is a step in which the trust anchor generates the public key of the trust anchor using the master key and the generation point, and the step of transmitting the system parameter by the trust anchor is a step in which the trust anchor transmits the first prime number, Generating a system parameter including an elliptic curve equation defining the elliptic curve, a generation point, and a public key of a trust anchor, and transmitting the system parameter to a secure area of the first device and the second device, The step of transmitting the device ID is a step in which the first device transmits a first device ID to the trust anchor for identifying the device, Wherein the step of transmitting the second device ID is a step in which the second device transmits a second device ID to the trust anchor which is capable of identifying the device and the step of transmitting the private key of the first device by the trust anchor Generating a first random number and generating a private key of the first device using an elliptic curve equation and a cryptographic hash function defining the elliptic curve based on a first device ID, a generating point, and a first random number, Wherein the step of transmitting the private key of the second device by the trust anchor generates the second random number and the step of transmitting the second device ID, the generating point, and the second random number on the basis of the second random number Generating a private key of the second device using the elliptic curve equation and the cryptographic hash function defining the elliptic curve, and transmitting the private key to the secure area of the second device.

암호화 세션키를 분배하는 절차는 신뢰 실행 환경을 포함하는 제1 장치와 제2 장치 사이의 세션키 수립을 위한 세션키를 분배하는 방법으로, 제1 장치가 제1 메시지를 전송하는 단계와, 제2 장치가 제4 임시키를 생성하는 단계와, 제2 장치가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치가 제2 메시지를 전송하는 단계와, 제1 장치가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치가 세션키를 생성하는 단계와, 제2 장치가 세션키를 생성하는 단계를 포함한다.The procedure for distributing a cryptographic session key is a method for distributing a session key for establishing a session key between a first device comprising a trusted execution environment and a second device, the method comprising the steps of: a first device transmitting a first message; 2 device generates a fourth temporary key, the second device generates a first common key and a second common key, the second device transmits a second message, 1 common key and a second common key; generating a session key by the first device; and generating the session key by the second device.

제1 장치가 제1 메시지를 전송하는 단계는 제1 장치가 제3 난수를 생성하고 제3 난수와 유한체로 정의된 타원 곡선 상의 생성점을 이용하여 생성한 제3 임시키를 포함하는 제1 메시지를 제2 장치의 보안 영역으로 전송하는 단계이고, 제2 장치가 제4 임시키를 생성하는 단계는 제2 장치가 제4 난수를 생성하고 제4 난수와, 생성점을 이용하여 제4 임시키를 생성하는 단계이고, 제2 장치가 제1 공통키 및 제2 공통키를 생성하는 단계는 제2 장치가 제4 난수와 제3 임시키를 이용하여 제1 공통키를 생성하고, 제2 장치 개인키와 제3 임시키를 이용하여 제2 공통키를 생성하는 단계이고, 제2 장치가 제2 메시지를 전송하는 단계는 제2 장치가 제4 임시키와 제2 임시키를 포함하는 제2 메시지를 제1 장치의 보안 영역으로 전송하는 단계이고, 제1 장치가 제1 공통키 및 제2 공통키를 생성하는 단계는 제1 장치가 제3 난수와 제4 임시키를 이용하여 제1 공통키를 생성하고, 제2 임시키와 제2 장치 아이디와 트러스트 앵커의 공개키와 제1 암호화 해시 함수를 이용하여 제2 공통키를 생성하는 단계이고, 제1 장치가 세션키를 생성하는 단계는 제1 장치가 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성하는 단계이고, 제2 장치가 세션키를 생성하는 단계는 제2 장치가 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성하는 단계이다.The first device transmitting the first message may include a first message including a third temporary key generated by the first device using a third random number and a generation point on an elliptic curve defined by a third random number and a finite field, To the secure area of the second device, the second device generating the fourth temporary key is a step of the second device generating the fourth random number and using the fourth random number and the fourth temporary key Wherein generating a first common key and a second common key comprises generating a first common key using a fourth random number and a third temporary key by a second device, Wherein the step of generating the second common key using the private key and the third temporary key and the step of transmitting the second message by the second device includes the step of transmitting the second message by using the second temporary key and the second temporary key, Sending a message to the secure area of the first device, wherein the first device is transmitting the first common key and the second Generating a public key comprises: generating a first common key using a third random number and a fourth temporary key by a first device, generating a public key of the second temporary key, a second device ID, a trust anchor, Wherein the step of generating the session key by the first device uses the third temporary key, the fourth temporary key, the first common key and the third cryptographic hash function Wherein the step of generating the session key by the second device includes the step of generating the session key by the second device using the third temporary key, the fourth temporary key, the first common key and the third cryptographic hash function .

본 발명에 의하면 차량에 설치된 인포테인먼트 시스템의 장치가 신뢰 실행 환경을 기반으로 하여 Secure Storage, RoT, Secure Boot 등을 활용하여 펌웨어를 관리하고, 타원 곡선 암호를 기반으로 세션키를 생성하여 세션키가 노출되지 않고 암호화 세션을 수립하므로 장치 간에 안전하게 통신할 수 있는 효과를 달성할 수 있다.According to the present invention, a device of an infotainment system installed in a vehicle manages firmware by utilizing Secure Storage, RoT, Secure Boot, etc. based on a trusted execution environment, generates a session key based on an elliptic curve password, It is possible to achieve an effect of securely communicating between the devices.

도 1은 본 발명의 세션키 수립 방법을 사용하는 장치가 포함하는 신뢰 실행 환경의 기본 구조를 도시한 것이다.
도 2는 일 실시 예에 따른 세션키 생성을 위한 암호화 파라미터 등록 절차를 도시한 것이다.
도 3은 또 다른 실시 예에 따른 장치와 텔레매틱스 제어 유닛 사이의 세션키 생성을 위한 암호화 파라미터 등록 절차를 도시한 것이다.
도 4는 일 실시 예에 따른 암호화 세션 수립을 위한 세션키 분배 절차를 도시한 것이다.
도 5는 또 다른 실시 예에 따른 장치와 텔레매틱스 제어 유닛 사이의 세션키 생성을 위한 암호화 세션 수립을 위한 세션키 분배 절차를 도시한 것이다.
1 shows a basic structure of a trusted execution environment included in an apparatus using the session key establishment method of the present invention.
2 illustrates an encryption parameter registration procedure for generating a session key according to an exemplary embodiment of the present invention.
3 illustrates a procedure for registering an encryption parameter for generating a session key between a telematics control unit and a device according to another embodiment.
4 illustrates a session key distribution procedure for establishing an encryption session according to an embodiment.
5 illustrates a session key distribution procedure for establishing an encrypted session for generating a session key between a device and a telematics control unit according to another embodiment.

전술한, 그리고 추가적인 양상들은 첨부된 도면을 참조하여 설명하는 실시 예들을 통해 구체화된다. 각 실시 예들의 구성 요소들은 다른 언급이나 상호간에 모순이 없는 한 실시 예 내에서 다양한 조합이 가능한 것으로 이해된다. 블록도의 각 블록은 어느 경우에 있어서 물리적인 부품을 표현할 수 있으나 또 다른 경우에 있어서 하나의 물리적인 부품의 기능의 일부 혹은 복수의 물리적인 부품에 걸친 기능의 논리적인 표현일 수 있다. 때로는 블록 혹은 그 일부의 실체는 프로그램 명령어들의 집합(set)일 수 있다. 이러한 블록들은 전부 혹은 일부가 하드웨어, 소프트웨어 혹은 이들의 결합에 의해 구현될 수 있다.The foregoing and further aspects are embodied through the embodiments described with reference to the accompanying drawings. It is to be understood that the components of each embodiment are capable of various combinations within an embodiment as long as no other mention or mutual contradiction exists. Each block of the block diagram may in some instances represent a physical part, but in other cases it may be a part of the function of one physical part or a logical representation of the function across a plurality of physical parts. Sometimes the entity of a block or part thereof may be a set of program instructions. These blocks may be implemented in whole or in part by hardware, software, or a combination thereof.

일 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법은 트러스트 앵커(300)가 마스터 키 등을 선택하는 단계와, 트러스트 앵커(300)가 트러스트 앵커의 공개키를 생성하는 단계와, 트러스트 앵커(300)가 시스템 파라미터를 전송하는 단계와, 제1 장치(100)가 제1 장치 아이디를 전송하는 단계와, 제2 장치(200)가 제2 장치 아이디를 전송하는 단계와, 트러스트 앵커(300)가 제1 장치의 개인키를 전송하는 단계와, 트러스트 앵커(300)가 제2 장치의 개인키를 전송하는 단계를 포함한다.The encryption parameter registration method for generating a session key between the first device 100 and the second device 200 including the trusted execution environment according to an embodiment includes a step of the trust anchor 300 selecting a master key or the like A step in which the trust anchor 300 generates a public key of the trust anchor, a step in which the trust anchor 300 transmits the system parameters, the step in which the first device 100 transmits the first device ID, 2 device 200 transmits a second device ID, the trust anchor 300 transmits the private key of the first device, and the trust anchor 300 transmits the private key of the second device .

일 실시 예에 따르면 제1 장치(100) 및 제2 장치(200)는 차량의 인포테인먼트 시스템의 장치이다. 제1 장치(100)는 차량에 설치되는 장치로 엔터테인먼트를 위한 A/V 장치, DMB 장치 등이거나 정보를 위한 카메라 등의 장치일 수 있으며, 제2 장치(200)는 텔레메틱스 제어 유닛(TCU) 일 수 있다.According to one embodiment, the first device 100 and the second device 200 are devices of an infotainment system of a vehicle. The first device 100 may be a device installed in a vehicle, such as an A / V device, a DMB device for entertainment, a camera or the like for information, and the second device 200 may be a telematics control unit (TCU) .

제1 장치(100) 및 제2 장치(200)에 포함된 신뢰 실행 환경은 민감한 데이터를 보호하기 위해 실행 환경을 분리하는 기술로 일반적인 어플리케이션이 실행되는 일반 영역(Normal World)와 신뢰할 수 있는 어플리케이션이 실행되는 보안 영역(Secure World)로 분리되어 구성된다.The trusted execution environment included in the first device 100 and the second device 200 is a technique for separating the execution environment to protect sensitive data. In this case, a normal region in which a general application is executed and a trusted application And a security area (Secure World) to be executed.

도 1은 본 발명의 세션키 수립 방법을 사용하는 장치가 포함하는 신뢰 실행 환경의 기본 구조를 도시한 것이다. 도 1에 도시된 구조에서 민감한 데이터는 보안 영역(Secure World)에 저장하고, 일반 영역(Normal World)에서 실행되는 어플리케이션 등은 모니터 모드(Monitor Mode)를 통해서만 민감한 데이터를 이용할 수 있다. 이러한 신뢰 실행 환경의 대표적인 구현(Implementation)으로 ARM 사의 TrustZone과 인텔(Intel)사의 SGX가 있다. 제1 장치(100)와 제2 장치(200)에 포함되는 신뢰 실행 환경의 구현으로 ARM 사의 TrustZone과 인텔(Intel)사의 SGX가 사용될 수 있으나 이에 한정되지 않는다. 제1 장치(100)와 제2 장치(200)에 포함되는 신뢰 실행 환경의 구현으로 ARM 사의 TrustZone이 사용될 경우, 일반 영역(Normal World)과 보안 영역(Secure World) 간의 통신은 NS(Non Secure) bit를 이용하여 NSC(Non-Secure Call)을 통해 이루어진다. 신뢰 실행 환경은 일반 영역(Normal World)과 보안 영역(Secure World)을 완전하게 분리하여 안전하게 운용이 가능한 구조를 가지고 있다. 보안 영역에서 실행되는 어플리케이션은 일반 영역에 존재하는 네트워크 인터페이스를 통하여 외부 인터넷과 통신할 수 있다. 이때 생길 수 있는 보안 문제는 Transport Layer Security(TLS)를 통해 보호된다.1 shows a basic structure of a trusted execution environment included in an apparatus using the session key establishment method of the present invention. In the structure shown in FIG. 1, sensitive data may be stored in a secure area, and applications executed in a normal area may use sensitive data only through a monitor mode. Typical implementations of this trusted execution environment are TrustZone by ARM and SGX by Intel. TrustZone from ARM and SGX from Intel may be used in the implementation of the trusted execution environment included in the first device 100 and the second device 200, but are not limited thereto. When TrustZone of the ARM company is used as an implementation of the trust execution environment included in the first device 100 and the second device 200, the communication between the normal domain and the secure domain (Secure World) bit (NSC). The Trusted Execution Environment has a structure that can operate securely by completely separating the Normal World and the Secure World. An application running in the security domain can communicate with the external Internet through a network interface existing in the general domain. Security issues that may arise here are protected by Transport Layer Security (TLS).

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 트러스트 앵커(300)가 마스터 키 등을 선택하는 단계는 트러스트 앵커(300)가 제1 소수와, 제2 소수와, 유한체로 정의된 타원 곡선 상의 생성점과, 마스터 키를 선택하는 단계이다.In the encryption parameter registration method for session key generation between the first device 100 and the second device 200, the step of the trust anchor 300 selecting the master key or the like is such that the trust anchor 300 selects the first prime A second prime number, a generation point on an elliptic curve defined by a finite field, and a master key.

트러스트 앵커(200, Trusted Anchor, TA)는 암호화 통신에서 신뢰할 수 있는 제 3 자이며 타원 곡선 암호 방식에서 사용되는 마스터 키 및 시스템 파라미터를 생성한다. 또한 제1 장치(100) 및 제2 장치(200)의 장치 아이디를 기반으로 제1 장치와 제2 장치의 개인키를 생성한다. 트러스트 앵커(300)와 제1 장치(100) 및 트러스트 앵커(300)와 제2 장치(200)는 모두 사전에 설정된 보안 채널을 통해 통신한다.A Trust Anchor (TA) is a trusted third party in encrypted communications and generates master keys and system parameters used in elliptic curve cryptography. And generates the private key of the first device and the second device based on the device IDs of the first device 100 and the second device 200. [ The trust anchor 300, the first device 100, the trust anchor 300, and the second device 200 all communicate over a predetermined secure channel.

트러스트 앵커(300)는 마스터 키 및 시스템 파라미터를 생성하기 위해 큰 소수(large prime number)인 제1 소수(p)를 선택한다. 또한 트러스트 앵커(300)는 소수에 의해 결정되는 유한체(Fp)로 정의된 타원 곡선(E(Fp))와 타원 곡선 상의 생성점(P)을 선택한다. 생성점(P)는 q · P = O(무한 원점)을 만족하는 제2 소수(q)가 큰 소수가 되는 타원 곡선 상의 점으로 선택된다. 제2 소수(q) 타원 곡선 방정식은 아래 수학식1과 같다.Trust anchor 300 selects a first prime number p that is a large prime number to generate the master key and system parameters. Also, the trust anchor 300 selects an elliptic curve E (F p ) defined by a finite element F p determined by a prime number and a generation point P on an elliptic curve. The generation point P is selected as a point on the elliptic curve in which the second prime number q satisfying q · P = 0 (infinite origin) is a large prime number. The second prime (q) elliptic curve equation is shown in Equation 1 below.

Figure 112018108043605-pat00001
Figure 112018108043605-pat00001

트러스트 앵커(300)는 난수를 생성하여 마스터 키(

Figure 112018108043605-pat00002
)로 선택한다.The trust anchor 300 generates a random number to generate a master key (
Figure 112018108043605-pat00002
).

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 트러스트 앵커(300)가 트러스트 앵커의 공개키를 생성하는 단계는 트러스트 앵커(300)가 마스터 키와 생성점을 이용하여 트러스트 앵커의 공개키를 생성하는 단계 이다. 트러스트 앵커의 공개키를 계산하는 식은 아래 수학식2와 같다.A method for registering an encryption parameter for session key generation between a first device (100) and a second device (200), the step of the trust anchor (300) generating a public key of a trust anchor And generating the public key of the trust anchor using the key and the generation point. The equation for calculating the public key of the trust anchor is shown in Equation 2 below.

Figure 112018108043605-pat00003
Figure 112018108043605-pat00003

Ppub는 트러스트 앵커의 공개키, s는 마스터 키, P는 생성점이다.P pub is the public key of the trust anchor, s is the master key, and P is the generation point.

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 트러스트 앵커(300)가 시스템 파라미터를 전송하는 단계는 트러스트 앵커(300)가 제1 소수와, 제2 소수와, 상기 타원 곡선을 정의하는 타원 곡선 방정식과, 생성점과, 트러스트 앵커의 공개키를 포함하는 시스템 파라미터를 생성하여 제1 장치(100) 및 제2 장치(200)의 보안 영역으로 전송하는 단계이다. 제1 장치(100) 및 제2 장치(200)는 수신한 시스템 파라미터를 저장하여 후술할 세션키 생성이나 상호 인증 등에 사용할 수 있다.In the encryption parameter registration method for session key generation between the first device 100 and the second device 200, the step of transmitting the system parameter by the trust anchor 300 may be such that the trust anchor 300 transmits the first prime number The system parameters including the second prime number, the elliptic curve equation defining the elliptic curve, the generation point, and the public key of the trust anchor are generated and transmitted to the security areas of the first device 100 and the second device 200 . The first device 100 and the second device 200 may store the received system parameters and use it for session key generation, mutual authentication, etc., which will be described later.

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 제1 장치(100)가 제1 장치 아이디를 전송하는 단계는 제1 장치(100)가 장치를 식별할 수 있는 제1 장치 아이디를 트러스트 앵커(300)로 전송하는 단계이다. 이때 제1 장치 아이디는 제1 장치(100)에 포함된 신뢰 실행 환경의 보안 영역(Secure World)에서 일반 영역(Normal World)를 거쳐 트러스트 앵커(300)로 전송된다. 제1 장치(100)와 트러스트 앵커(300) 사이는 사전에 설정된 보안 채널을 통해 통신한다.In the encryption parameter registration method for generating a session key between the first device 100 and the second device 200, the step of the first device 100 transmitting the first device ID is performed by the first device 100 And transmitting the first device ID to the trust anchor 300 capable of identifying the device. At this time, the first device ID is transmitted from the secure area (Secure World) of the trust execution environment included in the first device 100 to the trust anchor 300 via the normal area (Normal World). The first device 100 and the trust anchor 300 communicate through a predetermined secure channel.

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 제2 장치(200)가 제2 장치 아이디를 전송하는 단계는 제2 장치(200)가 장치를 식별할 수 있는 제2 장치 아이디를 트러스트 앵커(300)로 전송하는 단계이다. 이때 제2 장치 아이디는 제2 장치(200)에 포함된 신뢰 실행 환경의 보안 영역(Secure World)에서 일반 영역(Normal World)를 거쳐 트러스트 앵커(300)로 전송된다. 제2 장치(200)와 트러스트 앵커(300) 사이는 사전에 설정된 보안 채널을 통해 통신한다.In the encryption parameter registration method for generating a session key between the first device 100 and the second device 200, the step of the second device 200 transmitting the second device ID is performed by the second device 200 And transmitting the second device ID to the trust anchor 300 capable of identifying the device. At this time, the second device ID is transmitted from the secure area (Secure World) of the trust execution environment included in the second device 200 to the trust anchor 300 via the normal area (Normal World). The second device 200 communicates with the trust anchor 300 through a predetermined secure channel.

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 트러스트 앵커(300)가 제1 장치의 개인키를 전송하는 단계는 트러스트 앵커(300)가 제1 난수(

Figure 112018108043605-pat00004
)를 생성하고, 제1 장치 아이디와, 생성점과, 제1 난수를 기초로 상기 타원 곡선을 정의하는 타원 곡선 방정식 및 암호화 해시 함수를 이용하여 제1 장치의 개인키를 생성하여 제1 장치(100)의 보안 영역으로 전송하는 단계이다. 트러스트 앵커(300)는 아래의 수학식3으로 제1 장치의 개인키를 생성한다.In the encryption parameter registration method for generating a session key between the first device 100 and the second device 200, the trust anchor 300 transmits the private key of the first device 200, The first random number (
Figure 112018108043605-pat00004
) And generates a private key of the first device by using an elliptic curve equation and a cryptographic hash function that defines the elliptic curve based on the first device ID, the generation point, and the first random number, 100 to the secure area. The trust anchor 300 generates the private key of the first device by Equation (3) below.

Figure 112018108043605-pat00005
Figure 112018108043605-pat00005

RDev1은 제1 임시키이고, rDev1은 제1 난수이고, sDev1은 제1 장치의 개인키이고, h1은 암호화 해시 함수이다.R Dev1 is a first temporary key, r Dev1 is a first random number, s Dev1 is a private key of the first device, and h 1 is a cryptographic hash function.

트러스트 앵커(300)는 생성된 개인키를 제1 장치(100)로 전송한다. 이때 신뢰 실행 환경을 포함하는 제1 장치(100)의 보안 영역으로 제1 장치의 개인키가 전송되며, 제1 장치의 개인키는 사전에 설정된 보안 채널을 통해 제1 장치(100)의 일반 영역을 거쳐 전송된다.The trust anchor 300 transmits the generated private key to the first device 100. At this time, the private key of the first device is transmitted to the security area of the first device 100 including the trusted execution environment, and the private key of the first device is transmitted to the general area of the first device 100 Lt; / RTI >

제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에 있어서, 트러스트 앵커(300)가 제2 장치의 개인키를 전송하는 단계는 트러스트 앵커(300)가 제2 난수(rDev2 ∈ Zq *)를 생성하고, 제2 장치 아이디와, 생성점과, 제2 난수를 기초로 상기 타원 곡선을 정의하는 타원 곡선 방정식 및 암호화 해시 함수를 이용하여 제2 장치의 개인키를 생성하여 제2 장치(200)의 보안 영역으로 전송하는 단계이다. 트러스트 앵커(300)는 아래의 수학식4로 제2 장치의 개인키를 생성한다.In the encryption parameter registration method for generating a session key between the first device 100 and the second device 200, the trust anchor 300 transmits the private key of the second device, the second random number (r Dev2 ∈ Z q *) generated, and the second device ID and, on the basis of the generated points, and a second random number by using the elliptic curve equation and a cryptographic hash function that defines the elliptic curve second device And transmits the generated private key to the secure area of the second device 200. [ The trust anchor 300 generates the private key of the second device by Equation (4) below.

Figure 112018108043605-pat00006
Figure 112018108043605-pat00006

RDev2는 제2 임시키이고, rDev2는 제2 난수이고, sDev2는 제2 장치의 개인키이고, h1은 암호화 해시 함수이다.R Dev2 is a second temporary key, r Dev2 is a second random number, s Dev2 is a private key of the second device, and h 1 is a cryptographic hash function.

트러스트 앵커(300)는 생성된 개인키를 제2 장치(200)로 전송한다. 이때 신뢰 실행 환경을 포함하는 제2 장치(200)의 보안 영역으로 제2 장치의 개인키가 전송되며, 제2 장치의 개인키는 사전에 설정된 보안 채널을 통해 제2 장치(200)의 일반 영역을 거쳐 전송된다.The trust anchor 300 transmits the generated private key to the second device 200. At this time, the private key of the second device is transmitted to the security area of the second device 200 including the trusted execution environment, and the private key of the second device is transmitted to the general area of the second device 200 through the pre- Lt; / RTI >

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에서 트러스트 앵커(300)가 전송하는 시스템 파라미터는 제1 암호화 해시 함수와, 제2 암호화 해시 함수와, 제3 암호화 해시 함수와, 제4 암호화 해시 함수를 더 포함할 수 있다. 트러스트 앵커(300)는

Figure 112018108043605-pat00007
를 만족하는 암호화 해시 함수인 제1 암호화 해시 함수와, 제2 암호화 해시 함수와, 제3 암호화 해시 함수와, 제4 암호화 해시 함수를 선택하고 이를 시스템 파라미터를 통해 제1 장치(100) 및 제2 장치(200)에 알려줄 수 있다. 제1 암호화 해시 함수와, 제2 암호화 해시 함수와, 제3 암호화 해시 함수와, 제4 암호화 해시 함수는 입력 파라미터를 달리 하는 일방향의 암호화 해시 함수이며, 발명의 양상에 따라서는 동일한 해시 알고리즘을 사용하는 함수일 수 있다. 이에 한정되는 것은 아니며 각 암호화 해시 함수가 다른 해시 알고리즘을 사용할 수도 있다.The system parameter transmitted by the trust anchor 300 in the encryption parameter registration method for session key generation between the first device 100 and the second device 200 including the trusted execution environment according to another embodiment is the first A second cryptographic hash function, a third cryptographic hash function, and a fourth cryptographic hash function. Trust anchor (300)
Figure 112018108043605-pat00007
The second cryptographic hash function, the third cryptographic hash function, and the fourth cryptographic hash function, which are the cryptographic hash functions satisfying the first and second cryptographic hash functions, To the device 200. The first cryptographic hash function, the second cryptographic hash function, the third cryptographic hash function, and the fourth cryptographic hash function are unidirectional cryptographic hash functions having different input parameters. According to aspects of the invention, the same hash algorithm is used . But the present invention is not limited thereto, and each encryption hash function may use another hash algorithm.

트러스트 앵커(300)가 제1 장치(100) 및 제2 장치(200)의 개인키 생성시 이용하는 암호화 해시 함수는 제1 암호화 해시 함수이다.The cryptographic hash function used by the trust anchor 300 in generating the private key of the first device 100 and the second device 200 is the first cryptographic hash function.

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법에서 트러스트 앵커(300)가 제1 장치의 개인키를 제1 장치(100)의 보안 영역으로 전송 시 제1 난수와 생성점을 이용하여 계산한 제1 임시키를 더 포함할 수 있다. 트러스트 앵커(300)는 제1 임시키를 수학식3 또는 수학식4를 이용하여 생성한다.In the encryption parameter registration method for generating a session key between the first device 100 and the second device 200 including the trust execution environment according to another embodiment, the trust anchor 300 may use the private key of the first device And may further include a first temporary key calculated using the first random number and the generation point in transmission to the secure area of the first device 100. [ The trust anchor 300 generates the first temporary key using Equation (3) or Equation (4).

도 2는 일 실시 예에 따른 세션키 생성을 위한 암호화 파라미터 등록 절차를 도시한 것이다. 도 2를 참조하여 제1 장치(100)와 제2 장치(200) 사이의 세션키 생성을 위한 암호화 파라미터 등록 방법을 설명하면, 트러스트 앵커(300)가 큰 소수인 제1 소수와 제2 소수와 유한체로 정의된 타원 곡선 상의 생성점과 마스터 키를 선택하고(S1000), 트러스트 앵커(300)가 수학식2를 통해 트러스트 앵커의 공개키를 생성하고(S1020), 트러스트 앵커(300)가 제1 내지 제4 암호화 해시 함수를 선택하고, 트러스트 앵커(300)가 타원 곡선 암호 방식에 사용되는 제1 소수와 제2 소수와 타원 곡선 방정식과 생성점과 트러스트 앵커의 공개키와 제1 내지 제4 암호화 해시 함수를 포함하는 시스템 파라미터를 생성하여 제1 장치(100) 및 제2 장치(200)의 보안 영역으로 전송하고(S1040), 시스템 파라미터를 수신한 제1 장치(100)는 제1 장치 아이디를 트러스트 앵커(300)로 전송하고(S1060), 시스템 파라미터를 수신한 제2 장치(200)는 제2 장치 아이디를 트러스트 앵커(300)로 전송하고(S1080), 트러스트 앵커(300)는 수학식3을 통해 제1 장치의 개인키를 생성하고, 함께 생성된 제1 임시키를 제1 장치의 개인키와 함께 제1 장치(100)의 보안 영역으로 전송하고(S1100), 트러스트 앵커(300)는 수학식4를 통해 제2 장치의 개인키를 생성하고, 함께 생성된 제2 임시키를 제2 장치의 개인키와 함께 제2 장치(200)의 보안 영역으로 전송한다(S1120).2 illustrates an encryption parameter registration procedure for generating a session key according to an exemplary embodiment of the present invention. Referring to FIG. 2, a method of registering an encryption parameter for generating a session key between the first device 100 and the second device 200 will be described. The trust anchor 300 includes a first prime number and a second prime number The trust anchor 300 generates a public key of the trust anchor through Equation (2) (S1020), and the trust anchor 300 generates the public key of the trust anchor And the fourth anchor cryptographic hash function. The trust anchor 300 selects a first cryptographic hash function, a first prime number and a second prime number used in the elliptic curve cryptosystem, an elliptic curve equation, a generation point and a public key of the trust anchor, The system parameter including the hash function is generated and transmitted to the secure areas of the first device 100 and the second device 200 in step S1040. The first device 100 receiving the system parameters receives the first device ID To the trust anchor 300 (S1060) The second device 200 receiving the system parameter transmits the second device ID to the trust anchor 300 (S1080), and the trust anchor 300 generates the private key of the first device through Equation (3) The first ancipher key generated together with the private key of the first device is transmitted to the secure area of the first device 100 (S1100), and the trust anchor 300 transmits the private key of the second device And transmits the generated second temporary key together with the private key of the second device to the secure area of the second device 200 (S1120).

도 3은 또 다른 실시 예에 따른 장치와 텔레매틱스 제어 유닛 사이의 세션키 생성을 위한 암호화 파라미터 등록 절차를 도시한 것이다. 도 3이 도시한 실시 예에서는 제1 장치(100)는 텔레매틱스 장치의 하나로 Device로 표현하고, 제2 장치(200)는 텔레매틱스 제어 유닛(Telematics Control Unit)으로 TCU로 표현한다. 트러스트 앵커(300)와 Device 사이는 사전에 설정된 보안 채널을 통해 통신하고, 트러스트 앵커(300)와 TCU 사이 또한 사전에 설정된 보안 채널을 통해 통신한다. 도 3을 참조하여 Device와 TCU의 세션키 생성을 위한 암호화 파라미터 등록 절차를 설명하면, 트러스트 앵커(300)는 큰 소수 p와 유한체 Fp에 의해 정의되는 타원 곡선 E(Fp)와 q·P(생성점) = O(무한 원점)을 만족하는 큰 소수 q와 q를 order로 타원 곡선 E(Fp) 상의 생성점 P를 선택한다(S2000). 또한 트러스트 앵커(300)는 난수 s(s ∈ Zq *)를 마스터 키로 선택한다(S2020). 또한 트러스트 앵커(300)는 마스터 키 s와 생성점을 기초로 트러스트 앵커의 공개키 Ppub (Ppub = s·P)를 생성한다(S2040). 또한 트러스트 앵커(300)는 Device와 TCU 사이의 세션 수립에 사용될 암호화 해시 함수 h1, h2, h3, h4 (h1, h2, h3, h4 : 0, 1* → Zq *)를 선택한다(S2060). 또한 트러스트 앵커(300)는 p, E(Fp), P, q, Ppub, h1, h2, h3, h4를 포함하는 시스템 파라미터를 생성하고(S2080) 이를 Device의 보안 영역 및 TCU의 보안 영역으로 전송한다(S2100, S2105, S2110, S2115). 3 illustrates a procedure for registering an encryption parameter for generating a session key between a telematics control unit and a device according to another embodiment. In the embodiment shown in FIG. 3, the first device 100 is represented as a device as one of the telematics devices, and the second device 200 is represented as a telematics control unit (TCU). The communication between the trust anchor 300 and the Device is performed through a predetermined secure channel, and also between the trust anchor 300 and the TCU through a predetermined secure channel. Referring to FIG. 3, a procedure for registering an encryption parameter for generating a session key between a device and a TCU will be described. The trust anchor 300 includes an elliptic curve E (F p ) defined by a large prime number p and a finite element F p , The generation point P on the elliptic curve E (F p ) is selected (S2000) by ordering large prime numbers q and q satisfying P (generation point) = O (infinite origin). Also selects the trust anchor 300 is master key the random number s (s ∈ Z q *) (S2020). Also, the trust anchor 300 generates a public key P pub (P pub = s P) of the trust anchor based on the master key s and the generation point (S 2040). In addition, the trust anchor 300 is a cryptographic hash to be used for session establishment between the Device and the TCU functions h 1, h 2, h 3 , h 4 (h 1, h 2, h 3, h 4: 0, 1 * → Z q * ) (S2060). The trust anchor 300 also generates system parameters including p, E (F p ), P, q, P pub , h 1 , h 2 , h 3 and h 4 (S2080) To the security area of the TCU (S2100, S2105, S2110, S2115).

시스템 파라미터를 수신한 Device는 장치 식별자인 IDDev를 트러스트 앵커(300)로 전송하고(S2120, S2125), TCU 또한 장치 식별자인 IDTCU를 트러스트 앵커(300)로 전송한다(S2130, S2135).The Device receiving the system parameter transmits the ID Dev , which is the device identifier, to the trust anchor 300 (S2120, S2125), and the TCU also transmits the ID TCU , which is the device identifier, to the trust anchor 300 (S2130, S2135).

트러스트 앵커(300)는 난수 rDev와 rTCU (rDev, rTCU ∈ Zq *)를 생성하고(S2140) RDev(RDev = rDev·P)와 RTCU(RDev = rDev·P)를 계산하고(S2160, S2180), IDDev와 RDev를 h1 함수로 암호화 해시하여 αDev를 생성하며(S2200) IDTCU와 RTCU를 h1 함수로 암호화 해시하여 αTCU를 생성한다(S2220). 또한 트러스트 앵커(300)는 rDev와 αDev와 s와 q를 기초로 Device의 개인키인 sDev(sDev = rDev·αDev·s mod q)를 생성하여(S2240) RDev와 함께 Device로 전송하고(S2280, S2320, S2325), rTCU와 αTCU와 s와 q를 기초로 TCU의 개인키인 sTCU(sTCU = rTCU·αTCU· s mod q)를 생성하여(S2260) RTCU와 함께 TCU로 전송한다(S2300, S2330, S2335).Trust anchor 300, a random number r Dev and r TCU (r Dev, r TCU ∈ Z q *) to create and (S2140), the R Dev (R Dev = r Dev · P) and R TCU (R Dev = r Dev · by calculating P) and (S2160, S2180), encrypts the ID Dev and R Dev by h 1 function hash to generate the α Dev encrypts (S2200) ID TCU and R TCU as h 1 function hash generates α TCU (S2220). In addition, the trust anchor 300 is to generate s Dev (s Dev = r Dev · α Dev · s mod q), the private key of the Device on the basis of the r Dev and α Dev and s and q (S2240) together with R Dev sent to the Device and (S2280, S2320, S2325), r TCU and α TCU and s and the private key of the TCU based on a q s TCU (s TCU = r TCU · α TCU · s mod q) the generated (S2260 ) R TCU to the TCU (S2300, S2330, S2335).

일 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법은 제1 장치(100)가 제1 메시지를 전송하는 단계와, 제2 장치(200)가 제4 임시키를 생성하는 단계와, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치(200)가 제2 메시지를 전송하는 단계와, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치(100)가 세션키를 생성하는 단계와, 제2 장치(200)가 세션키를 생성하는 단계를 포함한다.A session key distribution method for establishing an encryption session between a first device 100 and a second device 200 including a trusted execution environment according to an embodiment includes the steps of a first device 100 transmitting a first message , The second device 200 generating a fourth temporary key, the second device 200 generating a first common key and a second common key, and the second device 200 generating a second common key, Message; the first device 100 generates a first common key and a second common key; the first device 100 generates a session key; Includes generating a session key.

제1 장치(100) 및 제2 장치(200)는 난수 생성, 해시 함수, 암호화 및 복호화 등의 암호화와 관련된 연산을 신뢰 실행 환경에서 수행한다.The first device 100 and the second device 200 perform encryption related operations such as random number generation, hash function, encryption and decryption in a trusted execution environment.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제1 장치(100)가 제1 메시지를 전송하는 단계는 제1 장치(100)가 제3 난수(a ∈ Zq *)를 생성하고 제3 난수와 유한체로 정의된 타원 곡선 상의 생성점(P)을 이용하여 생성한 제3 임시키를 포함하는 제1 메시지를 제2 장치(200)의 보안 영역으로 전송하는 단계이다. 제3 임시키를 계산하는 식은 아래 수학식5와 같다.In the session key distribution method for establishing an encryption session between a first device (100) and a second device (200), the step of the first device (100) (A ∈ Z q * ) and generates a first message including a third random number and a third temporary key generated using an elliptic curve generation point P defined by the finite field, to the second device 200, To the secure area of the network. The equation for calculating the third temporary key is shown in Equation (5) below.

Figure 112018108043605-pat00008
Figure 112018108043605-pat00008

A는 제3 임시키이고, a는 제3 난수이고, P는 생성점이다.A is the third temporary key, a is the third random number, and P is the generation point.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제2 장치(200)가 제4 임시키를 생성하는 단계는 제2 장치(200)가 제4 난수(b ∈ Zq *)를 생성하고 제4 난수와, 생성점을 이용하여 제4 임시키를 생성하는 단계이다. 제4 임시키를 계산하는 식은 아래 수학식6과 같다.In the session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the second device (200) generating a fourth temporary key comprises: Generates a fourth random number b ∈ Z q * , and generates a fourth temporary key using the fourth random number and the generation point. The equation for calculating the fourth temporary key is shown in Equation (6) below.

Figure 112018108043605-pat00009
Figure 112018108043605-pat00009

B는 제4 임시키이고, b는 제4 난수이고, P는 생성점이다.B is the fourth temporary key, b is the fourth random number, and P is the generation point.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계는 제2 장치(200)가 제4 난수와 제3 임시키를 이용하여 제1 공통키를 생성하고, 제2 장치 개인키와 제3 임시키를 이용하여 제2 공통키를 생성 하는 단계이다. 제2 장치(200)는 다음의 수학식7을 이용하여 제1 공통키와 제2 공통키를 생성한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the second device (200) generating a first common key and a second common key comprises: The apparatus 200 generates the first common key using the fourth random number and the third temporary key, and generates the second common key using the second device private key and the third temporary key. The second device 200 generates a first common key and a second common key using Equation (7) below.

Figure 112018108043605-pat00010
Figure 112018108043605-pat00010

Figure 112018108043605-pat00011
는 제1 공통키이고,
Figure 112018108043605-pat00012
는 제2 공통키이고, A는 제3 임시키이고, b는 제4 난수이고, sDev2는 제2 장치의 개인키이다.
Figure 112018108043605-pat00011
Is a first common key,
Figure 112018108043605-pat00012
Is a second common key, A is a third temporary key, b is a fourth random number, and s Dev2 is the private key of the second device.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제2 장치(200)가 제2 메시지를 전송하는 단계는 제2 장치(200)가 제4 임시키와 제2 임시키를 포함하는 제2 메시지를 제1 장치(100)의 보안 영역으로 전송하는 단계이다.In the session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the second device (200) And transmitting the second message including the fourth temporary key and the second temporary key to the secure area of the first device 100. [

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계는 제1 장치(100)가 제3 난수와 제4 임시키를 이용하여 제1 공통키를 생성하고, 제2 임시키와 제2 장치 아이디와 트러스트 앵커의 공개키와 제1 암호화 해시 함수를 이용하여 제2 공통키를 생성하는 단계이다. 제1 장치(100)는 다음의 수학식8을 이용하여 제1 공통키와 제2 공통키를 생성한다. 이때 제2 장치의 아이디는 제1 장치(100)가 항상 연결하는 장치로 제1 장치(100)는 제2 장치의 아이디를 미리 저장하고 있다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the first device (100) generating a first common key and a second common key comprises: The device 100 generates a first common key using the third random number and the fourth temporary key and uses the second temporary key, the second device ID, the public key of the trust anchor and the first cryptographic hash function to generate the second And generating a common key. The first device 100 generates a first common key and a second common key using the following Equation (8). In this case, the ID of the second device is a device that the first device 100 always connects to, and the first device 100 stores the ID of the second device in advance.

Figure 112018108043605-pat00013
Figure 112018108043605-pat00013

Figure 112018108043605-pat00014
는 제1 공통키이고,
Figure 112018108043605-pat00015
는 제2 공통키이고, B는 제4 임시키이고, a는 제3 난수이고, IDDev2는 제2 장치의 아이디이고, Ppub는 트러스트 앵커의 공개키이고, RDev2는 제2 임시키이고, h1은 제1 암호화 해시 함수이다.
Figure 112018108043605-pat00014
Is a first common key,
Figure 112018108043605-pat00015
Is a second public key, B is a fourth temporary key, a is a third random number, ID Dev2 is the ID of the second device, P pub is the public key of the trust anchor, R Dev2 is the second temporary key , h 1 is the first cryptographic hash function.

수학식7의

Figure 112018108043605-pat00016
과 수학식8의
Figure 112018108043605-pat00017
는 동일한 제1 공통키이나, 계산 방법이 다르다. 하지만 수학식9와 같이 동일한 값으로 계산된다.Equation (7)
Figure 112018108043605-pat00016
And Equation (8)
Figure 112018108043605-pat00017
Have the same first common key or calculation method. However, it is calculated as the same value as in Equation (9).

Figure 112018108043605-pat00018
Figure 112018108043605-pat00018

수학식7의

Figure 112018108043605-pat00019
와 수학식8의
Figure 112018108043605-pat00020
는 동일한 제2 공통키이나, 계산 방법이 다르다. 하지만 수학식10와 같이 동일한 값으로 계산된다.Equation (7)
Figure 112018108043605-pat00019
And Equation 8
Figure 112018108043605-pat00020
Have the same second common key or calculation method. However, it is calculated as the same value as in Equation (10).

Figure 112018108043605-pat00021
Figure 112018108043605-pat00021

제1 장치(100) 및 제2 장치(200)는 서로 상대방이 생성한 난수(a, b)를 알지 못하여도 동일한 제1 공통키를 생성한다. 또한, 제1 장치(100)는 제2 장치의 개인키를 모르더라도 제2 장치(200)가 제2 장치의 개인키를 이용하여 생성한 제2 공통키를 제2 장치(200)와 동일하게 생성할 수 있다.The first device 100 and the second device 200 generate the same first common key even if they do not know the random numbers a and b generated by each other. Also, the first device 100 may be configured such that the second common key generated by the second device 200 using the private key of the second device 200 is the same as the second device 200, Can be generated.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제1 장치(100)가 세션키를 생성하는 단계는 제1 장치(100)가 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성하는 단계이다. 제1 장치(100)는 수학식11을 이용하여 세션키를 생성한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the first device (100) generating a session key comprising: The session key is generated using the temporary key, the fourth temporary key, the first common key, and the third encrypted hash function. The first device 100 generates a session key using Equation (11).

Figure 112018108043605-pat00022
Figure 112018108043605-pat00022

SKDev1 - Dev2는 세션키이고, A는 제3 임시키이고, B는 제4 임시키이고,

Figure 112018108043605-pat00023
은 제1 공통키이고, h3은 제3 암호화 해시 함수이다.SK Dev1 - Dev2 is the session key, A is the third temporary key, B is the fourth temporary key,
Figure 112018108043605-pat00023
It is a first common key, h 3 is a third cryptographic hash function.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 제2 장치(200)가 세션키를 생성하는 단계는 제2 장치(200)가 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성하는 단계이다. 제1 장치(100)는 수학식11을 이용하여 세션키를 생성한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), wherein the step of generating a session key by a second device (200) The session key is generated using the temporary key, the fourth temporary key, the first common key, and the third encrypted hash function. The first device 100 generates a session key using Equation (11).

Figure 112018108043605-pat00024
Figure 112018108043605-pat00024

SKDev1 - Dev2는 세션키이고, A는 제3 임시키이고, B는 제4 임시키이고,

Figure 112018108043605-pat00025
은 제1 공통키이고, h3은 제3 암호화 해시 함수이다.SK Dev1 - Dev2 is the session key, A is the third temporary key, B is the fourth temporary key,
Figure 112018108043605-pat00025
It is a first common key, h 3 is a third cryptographic hash function.

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법은 제1 장치(100)가 제1 메시지를 전송하는 단계와, 제2 장치(200)가 제4 임시키를 생성하는 단계와, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치(200)가 제2 메시지를 전송하는 단계와, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치(100)가 세션키를 생성하는 단계와, 제2 장치(200)가 세션키를 생성하는 단계를 포함하고, 제2 장치(200)가 제1 인증문을 생성하는 단계를 더 포함할 수 있다.A session key distribution method for establishing an encryption session between a first device 100 and a second device 200 that includes a trusted execution environment according to another embodiment is similar to the first embodiment in that the first device 100 transmits a first message , The second device 200 generating a fourth temporary key, the second device 200 generating a first common key and a second common key, and the second device 200 generating a second common key, 2 message; the first device 100 generates a first common key and a second common key; the first device 100 generates a session key; and the second device 200 ) May generate the session key, and the second device 200 may generate the first authentication statement.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제2 장치(200)가 제1 인증문을 생성하는 단계는 제2 장치(200)가 제2 장치 아이디와 제2 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제1 인증문을 생성하는 단계이다. 제2 장치(200)가 다음 수학식13을 이용하여 제1 인증문을 생성한다.In a session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of generating a first authentication statement by a second device (200) (200) hashes a second device ID, a second temporary key, a third temporary key, a fourth temporary key, a first common key and a second common key into a second cryptographic hash function to generate a first authentication statement to be. The second device 200 generates the first authentication statement using the following equation (13).

Figure 112018108043605-pat00026
Figure 112018108043605-pat00026

βDev2는 제1 인증문이고, IDDev2는 제2 장치 아이디이고, RDev2는 제2 임시키이고, A는 제3 임시키이고, B는 제4 임시키이고,

Figure 112018108043605-pat00027
은 제1 공통키이고,
Figure 112018108043605-pat00028
는 제2 공통키이고, h2은 제2 암호화 해시 함수이다.beta Dev2 is a first authentication statement, ID Dev2 is a second device ID, R Dev2 is a second temporary key, A is a third temporary key, B is a fourth temporary key,
Figure 112018108043605-pat00027
Is a first common key,
Figure 112018108043605-pat00028
Is the second common key, and h 2 is the second cryptographic hash function.

생성된 제1 인증문은 제2 장치(200)가 제1 장치(100)의 보안 영역으로 전송하는 제2 메시지에 추가되어 전송된다.The generated first authentication statement is transmitted in addition to the second message transmitted by the second device 200 to the secure area of the first device 100. [

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법은 제1 장치(100)가 제1 메시지를 전송하는 단계와, 제2 장치(200)가 제4 임시키를 생성하는 단계와, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치(200)가 제1 인증문을 생성하는 단계와, 제2 장치(200)가 제2 메시지를 전송하는 단계와, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치(100)가 세션키를 생성하는 단계와, 제2 장치(200)가 세션키를 생성하는 단계를 포함하고, 제1 장치(100)가 제1 인증문을 생성하는 단계와 제1 장치(100)가 수신한 제1 인증문과 생성한 제1 인증문을 비교하는 단계를 더 포함할 수 있다.A session key distribution method for establishing an encryption session between a first device 100 and a second device 200 that includes a trusted execution environment according to another embodiment is similar to the first embodiment in that the first device 100 transmits a first message , The second device 200 generating a fourth temporary key, the second device 200 generating a first common key and a second common key, and the second device 200 generating a second common key, Generating a first common key and a second common key; generating a first public key and a second common key by the first device (100) Wherein the first device (100) generates a session key and the second device (200) generates a session key, the first device (100) generating a first authentication statement and the first device And comparing the generated first authentication statement with the generated first authentication statement.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제1 장치(100)가 제1 인증문을 생성하는 단계는 제1 장치(100)가 제2 장치 아이디와 제2 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제1 인증문을 생성하는 단계이다. 제1 장치(100)가 다음 수학식14을 이용하여 제1 인증문을 생성한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the first device (100) (100) hashes a second device ID, a second temporary key, a third temporary key, a fourth temporary key, a first common key and a second common key into a second cryptographic hash function to generate a first authentication statement to be. The first device 100 generates the first authentication statement using the following equation (14).

Figure 112018108043605-pat00029
Figure 112018108043605-pat00029

βDev2는 제1 인증문이고, IDDev2는 제2 장치 아이디이고, RDev2는 제2 임시키이고, A는 제3 임시키이고, B는 제4 임시키이고,

Figure 112018108043605-pat00030
은 제1 공통키이고,
Figure 112018108043605-pat00031
는 제2 공통키이고, h2은 제2 암호화 해시 함수이다.beta Dev2 is a first authentication statement, ID Dev2 is a second device ID, R Dev2 is a second temporary key, A is a third temporary key, B is a fourth temporary key,
Figure 112018108043605-pat00030
Is a first common key,
Figure 112018108043605-pat00031
Is the second common key, and h 2 is the second cryptographic hash function.

제2 암호화 해시에 입력되는 파라미터가 동일하므로 제2 장치(200)에서 생성한 제1 인증문과 제2 장치(200)에서 생성한 제1 인증문은 동일하여야 한다.The first authentication statement generated by the second device 200 and the first authentication statement generated by the second device 200 must be the same because the parameters input to the second encryption hash are the same.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제1 장치(100)가 수신한 제1 인증문과 생성한 제1 인증문을 비교하는 단계는 제1 장치(100)가 제2 장치(200)로부터 수신한 제1 인증문과 생성한 제1 인증문을 비교하여 제2 장치(200)를 인증하는 단계이다. 제2 장치(200)는 제1 장치(100)와 동일한 제1 공통키 및 제2 공통키를 생성하므로 제1 장치(100)는 제2 장치(200)를 인증할 수 있다. 비교결과 일치하지 않으면 세션 수립 절차를 중단된다.A session key distribution method for establishing an encryption session between a first device (100) and a second device (200), the method comprising the steps of: Is a step for the first device 100 to compare the first authentication statement received from the second device 200 with the generated first authentication statement to authenticate the second device 200. [ The second device 200 generates the first common key and the second common key that are the same as the first device 100 so that the first device 100 can authenticate the second device 200. If the comparison result does not match, the session establishment procedure is stopped.

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법은 제1 장치(100)가 제1 메시지를 전송하는 단계와, 제2 장치(200)가 제4 임시키를 생성하는 단계와, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치(200)가 제1 인증문을 생성하는 단계와, 제2 장치(200)가 제2 메시지를 전송하는 단계와, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치(100)가 제1 인증문을 생성하는 단계와, 제1 장치(100)가 수신한 제1 인증문과 생성한 제1 인증문을 비교하는 단계와, 제1 장치(100)가 세션키를 생성하는 단계와, 제2 장치(200)가 세션키를 생성하는 단계를 포함하고, 제1 장치(100)가 제2 인증문을 생성하는 단계와 제1 장치(100)가 제1 서명을 생성하는 단계와, 제1 장치(100)가 제1 암호문을 생성하는 단계와, 제1 장치(100)가 제3 메시지를 전송하는 단계를 더 포함할 수 있다.A session key distribution method for establishing an encryption session between a first device 100 and a second device 200 that includes a trusted execution environment according to another embodiment is similar to the first embodiment in that the first device 100 transmits a first message , The second device 200 generating a fourth temporary key, the second device 200 generating a first common key and a second common key, and the second device 200 generating a second common key, Generating a first common key and a second common key; generating a first public key and a second common key by the first device (100) (100) generates a first authentication statement; comparing the first authentication statement received by the first device (100) with the first authentication statement generated; and generating a session key by the first device , And the second device (200) generating a session key, wherein the first device (100) generates a second authentication statement and the first device (100) generates a first signature Step The first device 100 may generate a first cipher text and the first device 100 may transmit the third message.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제1 장치(100)가 제2 인증문을 생성하는 단계는 제1 장치(100)가 제1 장치 아이디와 제1 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제2 인증문을 생성하는 단계이다. 제1 장치(100)가 다음 수학식15를 이용하여 제1 인증문을 생성한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the first device (100) (100) hashes a first device ID, a first temporary key, a third temporary key, a fourth temporary key, a first common key and a second common key into a second cryptographic hash function to generate a second authentication statement to be. The first device 100 generates the first authentication statement using the following equation (15).

Figure 112018108043605-pat00032
Figure 112018108043605-pat00032

βDev1는 제2 인증문이고, IDDev1은 제1 장치 아이디이고, RDev1은 제1 임시키이고, A는 제3 임시키이고, B는 제4 임시키이고,

Figure 112018108043605-pat00033
은 제1 공통키이고,
Figure 112018108043605-pat00034
는 제2 공통키이고, h2은 제2 암호화 해시 함수이다.? Dev1 is a second authentication statement, ID Dev1 is a first device ID, R Dev1 is a first temporary key, A is a third temporary key, B is a fourth temporary key,
Figure 112018108043605-pat00033
Is a first common key,
Figure 112018108043605-pat00034
Is the second common key, and h 2 is the second cryptographic hash function.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제1 장치(100)가 제1 서명을 생성하는 단계는 제1 장치(100)가 제2 인증문을 제1 장치 개인키로 암호화하여 제1 서명을 생성하는 단계이다. 제1 장치(100)가 다음 수학식16을 이용하여 제1 서명을 생성한다.In a session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the first device (100) 100) encrypts the second authentication statement with the first device private key to generate the first signature. The first device 100 generates a first signature using the following Equation (16).

Figure 112018108043605-pat00035
Figure 112018108043605-pat00035

Figure 112018108043605-pat00036
은 제1 서명이고, sDev1는 제1 장치의 개인키이고, βDev1은 제2 인증문이고, a는 제3 난수이고, q는 제2 소수이다.
Figure 112018108043605-pat00036
Is a first signature, s Dev1 is a private key of the first device, beta Dev1 is a second authentication statement, a is a third random number, and q is a second prime number.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제1 장치(100)가 제1 암호문을 생성하는 단계는 제1 장치(100)가 제1 공통키와 제2 공통키를 제4 암호화 해시 함수로 해시하여 생성한 임시키를 이용하여 제1 장치 아이디와 제1 임시키와 제1 서명을 암호화하여 제1 암호문을 생성하는 단계이다. 제1 장치(100)가 다음 수학식17을 이용하여 제1 암호문을 생성한다.In a session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of the first device (100) 100 generates a first cipher text by encrypting the first device ID, the first temporary key, and the first signature using the temporary key generated by hashing the first common key and the second common key as the fourth cryptographic hash function . The first device 100 generates the first cipher text using the following Equation (17).

Figure 112018108043605-pat00037
Figure 112018108043605-pat00037

ΨDev1은 제1 암호문이고,

Figure 112018108043605-pat00038
는 임시키이고, KDev1 1은 제1 공개키이고,
Figure 112018108043605-pat00039
은 제2 공개키이고, IDDev1은 제1 장치의 아이디이고, RDev1은 제1 임시키이고,
Figure 112018108043605-pat00040
은 제1 서명이다.[Delta] Dev1 is a first cipher text,
Figure 112018108043605-pat00038
Is a temporary key, K Dev1 1 is a first public key,
Figure 112018108043605-pat00039
ID Dev1 is the ID of the first device, R Dev1 is the first temporary key,
Figure 112018108043605-pat00040
Is a first signature.

제1 암호문은 제1 장치(100)의 익명성을 위해 제1 장치의 아이디를 암호화하여 전달하는 데 사용된다. 또한 제1 장치(100)의 제1 서명을 제2 장치(200)가 확인할 수 있도록 제1 임시키와 제1 서명을 암호화하여 전달하는 데 사용된다. 즉, 제1 암호문을 수신한 장치만 제1 장치(100)와 동일하게 생성한 공통키를 이용하여 해당 암호문을 복호화하여 제1 장치의 제1 서명을 확인할 수 있다.The first cipher text is used to encrypt and convey the identity of the first device for the anonymity of the first device 100. It is also used to encrypt and transmit the first temporary key and the first signature so that the second device 200 can verify the first signature of the first device 100. [ That is, the first signature of the first device can be confirmed by decrypting the corresponding cipher text using the common key generated by only the device that received the first cipher text in the same manner as the first device 100.

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법은 제1 장치(100)가 제1 메시지를 전송하는 단계와, 제2 장치(200)가 제4 임시키를 생성하는 단계와, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치(200)가 제1 인증문을 생성하는 단계와, 제2 장치(200)가 제2 메시지를 전송하는 단계와, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치(100)가 제1 인증문을 생성하는 단계와, 제1 장치(100)가 수신한 제1 인증문과 생성한 제1 인증문을 비교하는 단계와, 제1 장치(100)가 세션키를 생성하는 단계와, 제1 장치(100)가 제2 인증문을 생성하는 단계와 제1 장치(100)가 제1 서명을 생성하는 단계와, 제1 장치(100)가 제1 암호문을 생성하는 단계와, 제1 장치(100)가 제3 메시지를 전송하는 단계와, 제2 장치(200)가 세션키를 생성하는 단계를 포함하고, 제2 장치(200)가 제1 서명을 획득하는 단계와 제2 장치(200)가 제2 인증문을 생성하는 단계와, 제2 장치(200)가 제1 서명을 확인하는 단계를 더 포함할 수 있다.A session key distribution method for establishing an encryption session between a first device 100 and a second device 200 that includes a trusted execution environment according to another embodiment is similar to the first embodiment in that the first device 100 transmits a first message , The second device 200 generating a fourth temporary key, the second device 200 generating a first common key and a second common key, and the second device 200 generating a second common key, Generating a first common key and a second common key; generating a first public key and a second common key by the first device (100) (100) generates a first authentication statement; comparing the first authentication statement received by the first device (100) with the first authentication statement generated; and generating a session key by the first device , The first device 100 generates a second authentication statement, the first device 100 generates a first signature, the first device 100 generates a first ciphertext, And a first device 100 includes sending a third message and the second device 200 generating a session key, the second device 200 obtaining a first signature and the second device 200 sending a second signature, Generating a second authentication statement, and the second device 200 verifying the first signature.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제2 장치(200)가 제1 서명을 획득하는 단계는 제2 장치(200)가 제1 공통키와 제2 공통키를 제4 암호화 해시 함수로 해시하여 생성한 임시키를 이용하여 제1 암호문을 복호화하여 제1 장치 아이디와 제1 임시키와 제1 서명을 획득하는 단계이다. 제2 장치(200)가 다음 수학식18을 이용하여 제1 서명을 획득한다.In a session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of obtaining a first signature by a second device (200) 200 decrypts the first cipher text using the temporary key generated by hashing the first common key and the second common key as the fourth cryptographic hash function to obtain the first device ID, the first temporary key, and the first signature . The second device 200 obtains the first signature using the following equation (18).

Figure 112018108043605-pat00041
Figure 112018108043605-pat00041

ΨDev1은 제1 암호문이고,

Figure 112018108043605-pat00042
는 임시키이고,
Figure 112018108043605-pat00043
은 제1 공개키이고,
Figure 112018108043605-pat00044
은 제2 공개키이고, IDDev1은 제1 장치의 아이디이고, RDev1은 제1 임시키이고,
Figure 112018108043605-pat00045
은 제1 서명이다.[Delta] Dev1 is a first cipher text,
Figure 112018108043605-pat00042
Is a temporary key,
Figure 112018108043605-pat00043
Is a first public key,
Figure 112018108043605-pat00044
ID Dev1 is the ID of the first device, R Dev1 is the first temporary key,
Figure 112018108043605-pat00045
Is a first signature.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제2 장치(200)가 제2 인증문을 생성하는 단계는 제2 장치(200)가 제1 장치 아이디와 제1 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제2 인증문을 생성하는 단계이다. 제2 장치(200)가 다음 수학식19를 이용하여 제2 인증문을 획득한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of generating a second authentication statement by a second device (200) (200) hashes the first device ID, the first temporary key, the third temporary key, the fourth temporary key, the first common key and the second common key into a second cryptographic hash function to generate a second authentication statement to be. The second device 200 acquires the second authentication statement using the following equation (19).

Figure 112018108043605-pat00046
Figure 112018108043605-pat00046

βDev1는 제2 인증문이고, IDDev1은 제1 장치 아이디이고, RDev1은 제1 임시키이고, A는 제3 임시키이고, B는 제4 임시키이고,

Figure 112018108043605-pat00047
은 제1 공통키이고,
Figure 112018108043605-pat00048
는 제2 공통키이고, h2은 제2 암호화 해시 함수이다.? Dev1 is a second authentication statement, ID Dev1 is a first device ID, R Dev1 is a first temporary key, A is a third temporary key, B is a fourth temporary key,
Figure 112018108043605-pat00047
Is a first common key,
Figure 112018108043605-pat00048
Is the second common key, and h 2 is the second cryptographic hash function.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제2 장치(200)가 제1 서명을 확인하는 단계는 제2 장치(200)가 제1 장치 아이디와 제1 임시키와 생성점과 트러스트 앵커의 공개키와 제3 임시키와 제1 암호화 해시 함수를 이용하여 제1 서명을 확인하는 단계이다. 제2 장치(200)가 수신한 제1 아이디 등이 제1 장치(100)가 전송한 것임을 확인하는 절차이다. 제2 장치(200)가 다음 수학식20을 이용하여 제1 서명을 확인한다.In a session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the step of verifying the first signature by the second device (200) 200 confirms the first signature using the first device ID, the first temporary key, the generation point, the public key of the trust anchor, the third temporary key, and the first cryptographic hash function. And the first ID received by the second device 200 is transmitted from the first device 100. [ The second device 200 confirms the first signature using the following equation (20).

Figure 112018108043605-pat00049
Figure 112018108043605-pat00049

βDev1는 제2 인증문이고, IDDev1은 제1 장치 아이디이고, RDev1은 제1 임시키이고, A는 제3 임시키이고, P는 생성점이고, Ppub은 트러스트 앵커의 공개키이고, h1은 제1 암호화 해시 함수이고,

Figure 112018108043605-pat00050
은 제1 서명이다.beta Dev1 is the second authentication statement, ID Dev1 is the first device ID, R Dev1 is the first temporary key, A is the third temporary key, P is the generation point, P pub is the public key of the trust anchor, h 1 is a first cryptographic hash function,
Figure 112018108043605-pat00050
Is a first signature.

수학식20에서의 제1 서명 확인은 수학식21을 통해 확인할 수 있다.The first signature verification in Equation (20) can be confirmed through Equation (21).

Figure 112018108043605-pat00051
Figure 112018108043605-pat00051

도 4는 일 실시 예에 따른 암호화 세션 수립을 위한 세션키 분배 절차를 도시한 것이다. 도 4를 참조하여 제1 장치(100)와 제2 장치(200) 사이의 세션 수립을 위한 세션키 분배 방법을 설명하면, 제1 장치(100)가 제3 난수를 생성하고 제3 난수와 생성점을 이용하여 제3 임시키를 생성한다. 제1 장치(100)는 생성된 제3 임시키를 포함하는 제1 메시지를 제2 장치(200)의 보안 영역으로 전송한다(S3000). 제2 장치(200)는 제4 난수를 생성하고 제4 난수와 생성점을 이용하여 제4 임시키를 생성한다(S3020). 제2 장치(200)는 제4 난수와 제3 임시키를 이용하여 제1 공통키를 생성하고, 제2 장치의 개인키와 제3 임시키를 이용하여 제2 공통키를 생성한다(S3040). 제2 장치(200)는 제1 장치(100)가 제2 장치(200)를 인증할 수 있는 제1 인증문을 생성하고(S3060), 제4 임시키와 제2 임시키와 생성된 제1 인증문을 포함하는 제2 메시지를 제1 장치(100)의 보안 영역으로 전송한다(S3080). 제1 장치(100)는 제3 난수와 제4 임시키를 이용하여 제2 장치(200)가 생성한 제1 공통키와 동일한 제1 공통키를 생성하고, 제2 임시키와 제2 장치 아이디와 트러스트 앵커의 공개키와 제1 암호화 해시 함수를 이용하여 제2 장치(200)가 생성한 제2 공통키와 동일한 제2 공통키를 생성한다(S3100). 제1 장치(100)는 제2 장치(200)로부터 수신한 제1 인증문과 비교할 제1 인증문을 생성하여 비교한다(S3120). 제1 장치(100)는 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성한다(S3160). 제1 장치(100)는 제2 인증문을 생성하고 제2 인증문을 제1 장치의 개인키로 암호화하여 제1 서명을 생성한다(S3180). 제1 장치(100)는 제1 공통키와 제2 공통키로 임시키를 생성하고 생성된 임시키를 이용하여 제1 장치 아이디와 제1 임시키와 제1 서명을 암호화하여 제1 암호문을 생성하고(S3200), 제1 암호문을 포함하는 제3 메시지를 제2 장치(200)의 보안 영역으로 전송한다(S3220). 제2 장치(200)는 제1 공통키와 제2 공통키로 임시키를 생성하고 생성된 임시키를 이용하여 제1 암호문을 복호화하여 제1 장치 아이디와 제1 임시키와 제1 서명을 획득한다(S3240). 제2 장치(200)는 제1 서명 인증에 사용될 제2 인증문은 생성하고(S3260), 제2 인증문과 제1 임시키와 생성점과 트러스트 앵커의 공개키와 제3 임시키와 제1 암호화 해시 함수를 이용하여 제1 서명을 확인한다(S3280). 제2 장치(200)는 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성한다(S3300).4 illustrates a session key distribution procedure for establishing an encryption session according to an embodiment. A session key distribution method for establishing a session between the first device 100 and the second device 200 will be described with reference to FIG. 4. The first device 100 generates a third random number, generates a third random number, Point to generate a third temporary key. The first device 100 transmits the first message including the generated third temporary key to the secure area of the second device 200 (S3000). The second device 200 generates a fourth random number and generates a fourth temporary key using the fourth random number and the generation point (S3020). The second device 200 generates the first common key using the fourth random number and the third temporary key, and generates the second common key using the private key of the second device and the third temporary key (S3040) . The second device 200 generates a first authentication statement in which the first device 100 can authenticate the second device 200 (S3060), and the fourth temporary key, the second temporary key, And transmits a second message including an authentication statement to the secure area of the first device 100 (S3080). The first device 100 generates a first common key identical to the first common key generated by the second device 200 using the third random number and the fourth temporary key, And generates a second common key, which is the same as the second common key generated by the second device 200, using the public key of the trust anchor and the first cryptographic hash function (S3100). The first device 100 generates and compares a first authentication statement to be compared with the first authentication statement received from the second device 200 (S3120). The first device 100 generates a session key using the third temporary key, the fourth temporary key, the first common key, and the third encrypted hash function (S3160). The first device 100 generates a second authentication message and encrypts the second authentication message with the private key of the first device to generate a first signature (S3180). The first device 100 generates a temporary key using the first common key and the second common key, encrypts the first device ID, the first temporary key, and the first signature using the generated temporary key to generate a first cipher text (S3200), and transmits a third message including the first ciphertext to the secure area of the second device 200 (S3220). The second device 200 generates a temporary key with the first common key and the second common key and decrypts the first cipher text using the generated temporary key to obtain the first device ID and the first temporary key and the first signature (S3240). The second device 200 generates a second authentication statement to be used for the first signature authentication (S3260), and generates a second authentication key to be used for the first signature authentication, a second authentication key, a first temporary key, a generation point, a public key of the trust anchor, The first signature is confirmed using the hash function (S3280). The second device 200 generates a session key using the third temporary key, the fourth temporary key, the first common key, and the third encrypted hash function (S3300).

또 다른 실시 예에 따른 신뢰 실행 환경을 포함하는 제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법은 제1 장치(100)가 제1 메시지를 전송하는 단계와, 제2 장치(200)가 제4 임시키를 생성하는 단계와, 제2 장치(200)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제2 장치(200)가 제1 인증문을 생성하는 단계와, 제2 장치(200)가 제2 메시지를 전송하는 단계와, 제1 장치(100)가 제1 공통키 및 제2 공통키를 생성하는 단계와, 제1 장치(100)가 제1 인증문을 생성하는 단계와, 제1 장치(100)가 수신한 제1 인증문과 생성한 제1 인증문을 비교하는 단계와, 제1 장치(100)가 세션키를 생성하는 단계와, 제1 장치(100)가 제2 인증문을 생성하는 단계와 제1 장치(100)가 제1 서명을 생성하는 단계와, 제1 장치(100)가 제1 암호문을 생성하는 단계와, 제1 장치(100)가 제3 메시지를 전송하는 단계와, 제2 장치(200)가 제1 서명을 획득하는 단계와 제2 장치(200)가 제2 인증문을 생성하는 단계와, 제2 장치(200)가 제1 서명을 확인하는 단계와, 제2 장치(200)가 세션키를 생성하는 단계를 포함하고, 제1 장치(100) 및 제2 장치(200)가 메시지에 포함된 난수를 확인하는 단계를 더 포함할 수 있다.A session key distribution method for establishing an encryption session between a first device 100 and a second device 200 that includes a trusted execution environment according to another embodiment is similar to the first embodiment in that the first device 100 transmits a first message , The second device 200 generating a fourth temporary key, the second device 200 generating a first common key and a second common key, and the second device 200 generating a second common key, Generating a first common key and a second common key; generating a first public key and a second common key by the first device (100) (100) generates a first authentication statement; comparing the first authentication statement received by the first device (100) with the first authentication statement generated; and generating a session key by the first device , The first device 100 generates a second authentication statement, the first device 100 generates a first signature, the first device 100 generates a first ciphertext, And a first device 100) transmits a third message; the second device 200 obtains the first signature and the second device 200 generates a second authentication statement; And the second device 200 generates a session key, the first device 100 and the second device 200 verifying the random number contained in the message, As shown in FIG.

제1 장치(100)와 제2 장치(200)는 중간자 공격을 방지하기 위해서 생성한 난수를 메시지에 포함시켜 전송하고 메시지 전송 시 해당 난수 값을 증가시킨다.The first device 100 and the second device 200 transmit a random number generated in order to prevent a meson attack, and increase the random number when a message is transmitted.

제1 장치(100)가 제2 장치(200)의 보안 영역으로 전송하는 제1 메시지는 제1 장치(100)가 생성한 제5 난수를 더 포함하고, 제2 장치(200)가 제1 장치(100)의 보안 영역으로 전송하는 제2 메시지는 제5 난수에 1을 더한 값을 더 포함하고, 제1 장치(100)가 제2 장치(200)의 보안 영역으로 전송하는 제3 메시지는 제5 난수에 2를 더한 값을 더 포함한다.The first message transmitted by the first device 100 to the secure area of the second device 200 further comprises a fifth random number generated by the first device 100 and the second device 200 comprises the second random number generated by the first device 100. [ The third message transmitted from the first device 100 to the secure area of the second device 200 includes a value obtained by adding a value of the fifth random number plus 1, 5 Includes a value that is the sum of two random numbers.

제1 장치(100)와 제2 장치(200) 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서, 추가되는 단계인 제1 장치(100) 및 제2 장치(200)가 메시지에 포함된 난수를 확인하는 단계는 제1 장치(100)가 제2 메시지 수신 시 메시지에 포함된 제5 난수에 1을 더한 값을 확인하는 단계와 제2 장치(200)가 제3 메시지 수신 시 메시지에 포함된 제5 난수에 2를 더한 값을 확인하는 단계를 포함한다.A session key distribution method for establishing a cryptographic session between a first device (100) and a second device (200), the method comprising: a first device (100) and a second device (200) Includes checking that the first device 100 adds 1 to the fifth random number included in the message upon receiving the second message, and checking whether the second device 200 is included in the message upon receiving the third message And a value obtained by adding 2 to the fifth random number.

도 5는 또 다른 실시 예에 따른 장치와 텔레매틱스 제어 유닛 사이의 세션키 생성을 위한 암호화 세션 수립을 위한 세션키 분배 절차를 도시한 것이다. 도 5가 도시한 실시 예에서는 제1 장치(100)는 텔레매틱스 장치의 하나로 Device로 표현하고, 제2 장치(200)는 텔레매틱스 제어 유닛(Telematics Control Unit)으로 TCU로 표현한다. 도 5를 참조하여 Device와 TCU의 암호화 세션 수립을 위한 세션키 분배 절차를 설명하면, Device는 신뢰 실행 환경의 보안 영역에서 난수 a(a ∈ Zq *)를 생성하고(S4000), A(A = a·P)를 생성한다(S4020). 또한 중간자 공격 방지에 사용할 난수 r을 생성한다(S4000). Device는 A와 r을 포함하는 메시지 M3을 생성하여(S4040) 일반 영역을 거쳐 TCU의 신뢰 실행 환경의 보안 영역으로 전송한다(S4060, S4070, S4075). TCU는 신뢰 실행 환경의 보안 영역에서 난수 b(b ∈ Zq *)를 생성하고(S4080) B(B = b·P)를 생성한다(S4100). TCU는

Figure 112018108043605-pat00052
Figure 112018108043605-pat00053
를 생성한다(S4120, S4140). 또한 TCU는 βTCU(
Figure 112018108043605-pat00054
)를 생성하고(S4160), B와 RTCU, βTCU와 r+1을 포함하는 메시지 M4를 생성하여(S4180) 일반 영역을 거쳐 Device의 신뢰 실행 환경의 보안 영역으로 전송한다(S4200, S4210, S4215).5 illustrates a session key distribution procedure for establishing an encrypted session for generating a session key between a device and a telematics control unit according to another embodiment. In the embodiment shown in FIG. 5, the first device 100 is represented as a device as one of the telematics devices, and the second device 200 is represented as a telematics control unit (TCU). Referring to FIG. 5, a session key distribution procedure for establishing a cryptographic session between a device and a TCU will be described. The device generates a random number a (a ∈ Z q * ) in a secure area of a trusted execution environment (S4000) = a · P) (S4020). In addition, a random number r to be used for preventing the meson attack is generated (S4000). Device sends the secure area of the TCU trusted execution environment to generate a message containing the A and M 3 r through (S4040) the general region (S4060, S4070, S4075). The TCU generates a random number b (b? Z q * ) in the security area of the trust execution environment (S4080) and generates B (B = b? P) (S4100). The TCU
Figure 112018108043605-pat00052
Wow
Figure 112018108043605-pat00053
(S4120, S4140). In addition, the TCU β TCU (
Figure 112018108043605-pat00054
) To create and (S4160), B and R TCU, β TCU and r + and 1 to generate a message M 4, including through (S4180) normal zone transfer, the secure area of the Device of the trusted execution environment (S4200, S4210 , S4215).

Device는 r+1을 체크하여 값이 유효하지 않으면 절차를 종료한다(S4220). Device는

Figure 112018108043605-pat00055
과 αTCUTCU = h1(IDTCU, RTCU)를 생성하고(S4240, 4260), αTCU를 이용하여
Figure 112018108043605-pat00056
를 생성한다(S4280).The device checks r + 1, and if the value is not valid, ends the procedure (S4220). Device
Figure 112018108043605-pat00055
And α TCUTCU = h 1 (ID TCU , R TCU ) are generated (S 4240, 4260), and α TCU is used
Figure 112018108043605-pat00056
(S4280).

Device는 TCU로부터 수신한 βTCU

Figure 112018108043605-pat00057
와 일치하는지 비교한다(S4300). 비교 결과 일치하지 않으면 Device는 절차를 종료한다.Device receives β TCU received from TCU
Figure 112018108043605-pat00057
(S4300). If the comparison result does not match, the device terminates the procedure.

Device는 βDev(

Figure 112018108043605-pat00058
)와,
Figure 112018108043605-pat00059
를 계산하고(S4320, S4340), 세션키인 SKDev-TCU(
Figure 112018108043605-pat00060
)를 생성한다(S4360). 또한 Device는 ΨDev (
Figure 112018108043605-pat00061
)를 생성한다(S4380). Device는 ΨDev와 r + 2를 포함하는 메시지 M5를 생성하여(S4400) 일반 영역을 거쳐 TCU의 신뢰 실행 환경의 보안 영역으로 전송한다(S4420, S4430, S4435).Device is β Dev (
Figure 112018108043605-pat00058
)Wow,
Figure 112018108043605-pat00059
(S4320, S4340), and the session key SK Dev-TCU (
Figure 112018108043605-pat00060
(S4360). Device also has Ψ Dev (
Figure 112018108043605-pat00061
(S4380). The Device generates a message M 5 including Ψ Dev and r + 2 (S 4400), and transmits the message M 5 to the security area of the trusted execution environment of the TCU (S 4420, S 4430, S 4435).

TCU는 r+2를 체크하여 값이 유효하지 않으면 절차를 종료한다(S4440).The TCU checks r + 2 and terminates the procedure if the value is not valid (S4440).

TCU는

Figure 112018108043605-pat00062
로 생성한 임시키와 ΨDev로부터 IDDev와, RDev와,
Figure 112018108043605-pat00063
를 획득(
Figure 112018108043605-pat00064
)하고(S4460), αDevDev = h1(IDDev, RDev))와 βDev(
Figure 112018108043605-pat00065
)를 구한다(S4480, S4500). 또한 TCU는
Figure 112018108043605-pat00066
와 RDev + αDev ·Ppub + βDev ·A의 계산 값이 동일한지 확인하여 동일하지 않으면 절차를 종료한다(S4520).The TCU
Figure 112018108043605-pat00062
And Dev ID from the temporary key generated in the Ψ Dev, R and Dev,
Figure 112018108043605-pat00063
(
Figure 112018108043605-pat00064
) And (S4460), α Dev (α Dev = h 1 (ID Dev, R Dev)) and β Dev (
Figure 112018108043605-pat00065
(S4480, S4500). Also,
Figure 112018108043605-pat00066
And R Dev Dev + α · β + and P pub Dev · Check the calculated value of A is equal to the end unless the same procedure (S4520).

TCU는 세션키 SKDev-TCU (

Figure 112018108043605-pat00067
)를 생성하여 세션을 수립한다(S4540).The TCU uses the session key SK Dev-TCU (
Figure 112018108043605-pat00067
) To establish a session (S4540).

이상에서 본 발명을 첨부된 도면을 참조하는 실시 예들을 통해 설명하였지만 이에 한정되는 것은 아니며, 이들로부터 당업자라면 자명하게 도출할 수 있는 다양한 변형 예들을 포괄하도록 해석되어야 한다. 특허청구범위는 이러한 변형 예들을 포괄하도록 의도되었다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities that may occur to those skilled in the art. The claims are intended to cover such modifications.

Claims (9)

신뢰 실행 환경을 포함하는 제1 장치와 제2 장치 사이의 암호화 세션 수립을 위한 세션키 분배 방법에 있어서,
트러스트 앵커로부터 제1 장치 및 제2 장치가 각각의 보안 영역으로 타원 곡선을 정의하는 타원 곡선 방정식과, 생성점을 포함하는 시스템 파라미터를 수신하는 단계;
트러스트 앵커가 제1 장치 아이디와 생성점을 기초로 타원 곡선 방정식 및 암호화 해시 함수를 이용하여 생성한 제1 장치의 개인키와, 제1 난수와 생성점을 이용하여 계산한 제1 임시키를 제1 장치가 그 보안 영역으로 수신하는 단계;
트러스트 앵커가 제2 장치 아이디와 생성점을 기초로 타원 곡선 방정식 및 암호화 해시 함수를 이용하여 생성한 제2 장치의 개인키와, 제2 난수와 생성점을 이용하여 계산한 제2 임시키를 제2 장치가 그 보안 영역으로 수신하는 단계;
제1 장치가 제3 난수를 생성하고 제3 난수와 생성점을 이용하여 생성한 제3 임시키를 포함하는 제1 메시지를 제2 장치의 보안 영역으로 전송하는 단계;
제2 장치가 제4 난수를 생성하고 제4 난수와, 생성점을 이용하여 제4 임시키를 생성하는 단계;
제2 장치가 제4 난수와 제3 임시키를 이용하여 제1 공통키를 생성하고, 제2 장치 개인키와 제3 임시키를 이용하여 제2 공통키를 생성하는 단계;
제2 장치가 제4 임시키와 제2 임시키를 포함하는 제2 메시지를 제1 장치의 보안 영역으로 전송하는 단계;
제1 장치가 제3 난수와 제4 임시키를 이용하여 제1 공통키를 생성하고, 제2 임시키와 제2 장치 아이디와 트러스트 앵커의 공개키와 제1 암호화 해시 함수를 이용하여 제2 공통키를 생성하는 단계;
제1 장치가 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성하는 단계;
제2 장치가 제3 임시키와 제4 임시키와 제1 공통키와 제3 암호화 해시 함수를 이용하여 세션키를 생성하는 단계;
를 포함하는 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
A session key distribution method for establishing a cryptographic session between a first device and a second device including a trusted execution environment,
Receiving, from the trust anchor, an elliptic curve equation defining an elliptic curve for each security area by the first device and the second device, and a system parameter including a generation point;
The trust anchor uses the private key of the first device generated using the elliptic curve equation and the cryptographic hash function based on the first device ID and the generation point and the first temporary key calculated using the first random number and the generation point 1 < / RTI > device to its security zone;
The trust anchor uses the private key of the second device generated using the elliptic curve equation and the cryptographic hash function based on the second device ID and the generation point and the second temporary key calculated using the second random number and the generation point 2 < / RTI > device to its security zone;
Transmitting a first message to the secure area of the second device, the first message including a third temporary key generated by the first device using the third random number and the generating point, and generating a third random number;
The second device generating a fourth random number and generating a fourth temporary key using a fourth random number and a generation point;
The second device generating the first common key using the fourth random number and the third temporary key, generating the second common key using the second device private key and the third temporary key,
The second device sending a second message including a fourth temporary key and a second temporary key to the secure area of the first device;
The first device generates the first common key using the third random number and the fourth temporary key, and the second common key is generated using the second temporary key, the second device ID, the public key of the trust anchor and the first cryptographic hash function, Generating a key;
The first device generating a session key using a third temporary key, a fourth temporary key, a first common key and a third cryptographic hash function;
The second device generating a session key using a third temporary key, a fourth temporary key, a first common key and a third cryptographic hash function;
A session key distribution method for establishing an encryption session based on an elliptic curve cryptosystem.
제 1 항에 있어서,
트러스트 앵커가 전송하는 시스템 파라미터는 제1 암호화 해시 함수와, 제2 암호화 해시 함수와, 제3 암호화 해시 함수와, 제4 암호화 해시 함수를 더 포함하고,
트러스트 앵커가 제1 장치 및 제2 장치의 개인키 생성시 이용하는 암호화 해시 함수는 제1 암호화 해시 함수인 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
The method according to claim 1,
The system parameters transmitted by the trust anchor further include a first cryptographic hash function, a second cryptographic hash function, a third cryptographic hash function, and a fourth cryptographic hash function,
Wherein the cryptographic hash function used by the trust anchor in generating the private key of the first device and the second device is a first cryptographic hash function.
삭제delete 삭제delete 제 1 항에 있어서, 상기 방법은
제2 장치가 제2 장치 아이디와 제2 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제1 인증문을 생성하는 단계;
를 더 포함하되,
제2 장치가 제1 장치의 보안 영역으로 전송하는 제2 메시지는 제1 인증문을 더 포함하는 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
The method of claim 1,
The second device hashes the second device ID, the second temporary key, the third temporary key, the fourth temporary key, the first common key and the second common key into a second cryptographic hash function to generate a first authentication statement ;
Further comprising:
Wherein the second message transmitted by the second device to the secure area of the first device further comprises a first authentication statement.
제 5 항에 있어서, 상기 방법은
제1 장치가 제2 장치 아이디와 제2 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제1 인증문을 생성하는 단계;
제1 장치가 수신한 제1 인증문과 생성한 제1 인증문을 비교하여 제2 장치를 인증하는 단계;
를 더 포함하는 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
6. The method of claim 5,
The first device hashes the second device ID, the second temporary key, the third temporary key, the fourth temporary key, the first common key and the second common key into a second cryptographic hash function to generate a first authentication statement ;
Authenticating the second device by comparing the first authentication statement received by the first device with the generated first authentication statement;
Wherein the session key distribution method further comprises:
제 6 항에 있어서, 상기 방법은
제1 장치가 제1 장치 아이디와 제1 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제2 인증문을 생성하는 단계;
제1 장치가 제2 인증문을 제1 장치 개인키로 암호화하여 제1 서명을 생성하는 단계;
제1 장치가 제1 공통키와 제2 공통키를 제4 암호화 해시 함수로 해시하여 생성한 임시키를 이용하여 제1 장치 아이디와 제1 임시키와 제1 서명을 암호화하여 제1 암호문을 생성하는 단계;
제1 장치가 제1 암호문을 포함하는 제3 메시지를 제2 장치의 보안 영역으로 전송하는 단계;
를 더 포함하는 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
7. The method of claim 6,
The first device hashes the first device ID, the first temporary key, the third temporary key, the fourth temporary key, the first common key and the second common key into a second cryptographic hash function to generate a second authentication statement ;
The first device encrypting the second authentication statement with the first device private key to generate a first signature;
The first device encrypts the first device ID, the first temporary key, and the first signature using the temporary key generated by hashing the first common key and the second common key as a fourth encrypted hash function to generate a first cipher text ;
The first device sending a third message including a first ciphertext to the secure area of the second device;
Wherein the session key distribution method further comprises:
제 7 항에 있어서, 상기 방법은
제2 장치가 제1 공통키와 제2 공통키를 제4 암호화 해시 함수로 해시하여 생성한 임시키를 이용하여 제1 암호문을 복호화하여 제1 장치 아이디와 제1 임시키와 제1 서명을 획득하는 단계;
제2 장치가 제1 장치 아이디와 제1 임시키와 제3 임시키와 제4 임시키와 제1 공통키와 제2 공통키를 제2 암호화 해시 함수로 해시하여 제2 인증문을 생성하는 단계;
제2 장치가 제1 장치 아이디와 제1 임시키와 생성점과 트러스트 앵커의 공개키와 제3 임시키와 제1 암호화 해시 함수를 이용하여 제1 서명을 확인하는 단계;
를 더 포함하는 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
8. The method of claim 7,
The second device decrypts the first cipher text using the temporary key generated by hashing the first common key and the second common key as the fourth cryptographic hash function to acquire the first device ID, the first temporary key, and the first signature ;
The second device hashes the first device ID, the first temporary key, the third temporary key, the fourth temporary key, the first common key and the second common key into a second cryptographic hash function to generate a second authentication statement ;
The second device verifying the first signature using the first device identity, the first temporary key, the generating point, the public key of the trust anchor, the third temporary key, and the first cryptographic hash function;
Wherein the session key distribution method further comprises:
제 8 항에 있어서,
제1 장치가 제2 장치의 보안 영역으로 전송하는 제1 메시지는 제1 장치가 생성한 제5 난수를 더 포함하고,
제2 장치가 제1 장치의 보안 영역으로 전송하는 제2 메시지는 제5 난수에 1을 더한 값을 더 포함하고,
제1 장치가 제2 장치의 보안 영역으로 전송하는 제3 메시지는 제5 난수에 2를 더한 값을 더 포함하고,
상기 방법은
제1 장치가 제2 메시지 수신 시 메시지에 포함된 제5 난수에 1을 더한 값을 확인하는 단계;
제2 장치가 제3 메시지 수신 시 메시지에 포함된 제5 난수에 2를 더한 값을 확인하는 단계;
를 더 포함하는 타원 곡선 암호 기반 암호화 세션 수립을 위한 세션키 분배 방법.
9. The method of claim 8,
The first message transmitted by the first device to the secure area of the second device further comprises a fifth random number generated by the first device,
The second message transmitted by the second device to the secure area of the first device further comprises a value obtained by adding 1 to the fifth random number,
The third message transmitted by the first device to the secure area of the second device further comprises a value obtained by adding 2 to the fifth random number,
The method
Confirming a value obtained by adding 1 to the fifth random number included in the message when the first device receives the second message;
Confirming a value obtained by adding 2 to the fifth random number included in the message when the second device receives the third message;
Wherein the session key distribution method further comprises:
KR1020180132353A 2018-10-31 2018-10-31 Session key establishment method based on elliptic curve cryptography using trusted execution environment KR101992325B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180132353A KR101992325B1 (en) 2018-10-31 2018-10-31 Session key establishment method based on elliptic curve cryptography using trusted execution environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180132353A KR101992325B1 (en) 2018-10-31 2018-10-31 Session key establishment method based on elliptic curve cryptography using trusted execution environment

Publications (1)

Publication Number Publication Date
KR101992325B1 true KR101992325B1 (en) 2019-06-24

Family

ID=67055725

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180132353A KR101992325B1 (en) 2018-10-31 2018-10-31 Session key establishment method based on elliptic curve cryptography using trusted execution environment

Country Status (1)

Country Link
KR (1) KR101992325B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030008182A (en) * 2002-12-24 2003-01-24 학교법인 한국정보통신학원 Method of id-based blind signature by using bilinear parings
KR20150080061A (en) * 2013-12-30 2015-07-09 삼성에스디에스 주식회사 System and method for identity based key management
KR20180039922A (en) * 2016-10-11 2018-04-19 홍익대학교세종캠퍼스산학협력단 Function encryption system and method for outputting inner product values

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030008182A (en) * 2002-12-24 2003-01-24 학교법인 한국정보통신학원 Method of id-based blind signature by using bilinear parings
KR20150080061A (en) * 2013-12-30 2015-07-09 삼성에스디에스 주식회사 System and method for identity based key management
KR20180039922A (en) * 2016-10-11 2018-04-19 홍익대학교세종캠퍼스산학협력단 Function encryption system and method for outputting inner product values

Similar Documents

Publication Publication Date Title
US10652015B2 (en) Confidential communication management
KR102020898B1 (en) Session key establishment method based on trusted execution environment
US9847880B2 (en) Techniques for ensuring authentication and integrity of communications
US7343014B2 (en) Method for sharing the authorization to use specific resources
EP2461564A1 (en) Key transport protocol
CN108604985B (en) Data transfer method, method for controlling data use, and cryptographic apparatus
US20200320178A1 (en) Digital rights management authorization token pairing
US20080010242A1 (en) Device authentication method using broadcast encryption (BE)
US20140281493A1 (en) Provisioning sensitive data into third party
KR20170139570A (en) Method, apparatus and system for cloud-based encryption machine key injection
CA2551113A1 (en) Authentication system for networked computer applications
US20130159704A1 (en) System and method of enforcing a computer policy
JP2009529832A (en) Undiscoverable, ie secure data communication using black data
CN109905384B (en) Data migration method and system
CN112926046A (en) Method and system for authenticating anonymous identification information of mobile terminal equipment for protecting equipment identification information
US20220171832A1 (en) Scalable key management for encrypting digital rights management authorization tokens
KR102198178B1 (en) Session key establishment method using blockchain
WO2017008556A1 (en) Authentication method and device for wireless access point and management platform
KR101992325B1 (en) Session key establishment method based on elliptic curve cryptography using trusted execution environment
KR20200060930A (en) Cryptographic communication method between telematics devices
JP5376663B2 (en) TRANSMITTING DEVICE, RECEIVING DEVICE, AND MANAGEMENT SERVER FOR ENCRYPTED DATA DISTRIBUTION, TRANSMITTING PROGRAM, RECEIVING PROGRAM, AND MANAGING PROGRAM FOR ENCRYPTED DATA DISTRIBUTION, ENCRYPTED DATA DISTRIBUTION SYSTEM, AND ENCRYPTED DATA DISTRIBUTION METHOD
JP2015186101A (en) Key exchange device and key exchange method
KR101657936B1 (en) Key management and user authentication method using identity based encryption
KR20190067316A (en) One-Way Encryption Storage Method for Password Protection of Guard-on Solution
JP2005217665A (en) Communications system, transmitter, receiver and communication method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant