[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20160067547A - Improved mobile trusted module-based session and key management method - Google Patents

Improved mobile trusted module-based session and key management method Download PDF

Info

Publication number
KR20160067547A
KR20160067547A KR1020140173083A KR20140173083A KR20160067547A KR 20160067547 A KR20160067547 A KR 20160067547A KR 1020140173083 A KR1020140173083 A KR 1020140173083A KR 20140173083 A KR20140173083 A KR 20140173083A KR 20160067547 A KR20160067547 A KR 20160067547A
Authority
KR
South Korea
Prior art keywords
session
mtm
key
command
nonce
Prior art date
Application number
KR1020140173083A
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 KR1020140173083A priority Critical patent/KR20160067547A/en
Publication of KR20160067547A publication Critical patent/KR20160067547A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Disclosed are an improved mobile trusted module (MTM) and an operating method thereof, for managing a session and a key. An improved MTM-based session and key management method according to an embodiment of the present invention comprises the steps of: determining session open acceptance when a session open request is received from the outside; generating a session entry including session nonce for a corresponding session when the session open is accepted, registering the same in a session table, and storing a generated session key in a key table; decoding an MTM command by using the session key when the MTM command is received from the outside; and executing the MTM command as session nonce included in the decoded MTM command is matched to the registered session nonce.

Description

개선된 MTM의 세션 및 키 관리 방법{IMPROVED MOBILE TRUSTED MODULE-BASED SESSION AND KEY MANAGEMENT METHOD}[0001] IMPROVED MOBILE TRUSTED MODULE-BASED SESSION AND KEY MANAGEMENT METHOD [0002]

본 발명은 MTM(Mobile Trusted Module)에 관한 것으로, 특히 개선된 MTM의 세션 및 키 관리 기술에 관한 것이다.
The present invention relates to a Mobile Trusted Module (MTM), and more particularly to an improved MTM session and key management technique.

모바일 신뢰 모듈(Mobile Trusted Module, MTM)은 스마트폰 등의 모바일 기기에 장착되어, 해킹 등을 완벽하게 차단해주는 모바일 정보보안 기술로서, 사용자 인증을 비롯해 플랫폼인증, 기기인증, 데이터 보호 등 보안문제들을 해결해 줄 수 있는 TCG(Trusted Computing Group) 표준 모바일 보안 하드웨어 기술이다.Mobile Trusted Module (MTM) is a mobile information security technology that is installed in a mobile device such as a smart phone to completely block hacking, etc. It is a mobile security module that is used for authentication of users, platform authentication, device authentication, Is a Trusted Computing Group (TCG) standard mobile security hardware technology.

모바일 단말은 사용자의 부주의로 인한 단말의 분실 및 도난 피해, 단말의 프라이버시 데이터 정보 유출, 악성코드의 삽입 등의 보안 위협에 항상 노출되어 있다. 일반적으로, 소프트웨어는 하드웨어에 비해 쉽게 조작 및 해킹 될 수 있으므로 물리적인 보안성을 제공해주는 MTM 기술을 이용하여 보안성을 강화하려는 노력이 진행되고 있다. 이에 따라, 모바일 단말은 MTM을 이용하여 외부 공격으로부터 중요한 데이터나 키, 인증서 정보 등을 안전하게 보호하고, 모바일 단말 플랫폼의 무결성을 검증하여 악성코드의 실행을 원천적으로 탐지 및 차단하여 보다 향상된 보안성을 제공할 수 있다. The mobile terminal is always exposed to security threats such as loss or theft of the terminal due to carelessness of the user, leakage of privacy data of the terminal, insertion of malicious code, and the like. In general, software can be easily manipulated and hacked compared to hardware, so efforts are being made to enhance security using MTM technology, which provides physical security. Accordingly, the mobile terminal uses the MTM to securely protect important data, keys, and certificate information from external attacks and verify the integrity of the mobile terminal platform to detect and block the execution of the malicious code. .

MTM은 기본적으로 물리적 공격에 대응하기 위한 Tamper-resistant한 기능을 제공한다. 또한, MTM은 Root of Trust 기능을 제공하는데, 데이터의 안전한 저장을 위한 RTS(Root of Trust for Storage), 시스템의 State를 MTM에 측정하여 기록하는 RTM(Root of Trust for Measurement), 시스템의 State를 신뢰할 수 있는 방법으로 증명하는 RTR(Root of Trust for Reporting) 기능을 제공한다. MTM basically provides a tamper-resistant function to counter physical attacks. In addition, the MTM provides the Root of Trust function, including the Root of Trust for Storage (RTS) for secure data storage, the Root of Trust for Measurement (RTM) that records the state of the system in the MTM, Provides a Root of Trust for Reporting (RTR) function that proves in a reliable manner.

MTM 스펙에는 많은 내용들을 포함하고 있지만, 제공되는 기능은 크게 다음 세 가지로 요약할 수 있다. Chain of Trust라는 무결성 측정 과정을 통해 모바일 플랫폼의 무결성을 보장해 주고, MTM내에 데이터나 키를 저장하여 안전하게 보호해주는 Protected Storage 기능을 제공해주고, Remote Attestation를 통해 MTM이 장착된 플랫폼들간의 플랫폼 보증을 통해 보다 안전하고 신뢰할 수 있는 컴퓨팅 환경을 제공해준다.Although the MTM specification contains a lot of content, the functions provided can be summarized in the following three points. It provides the Protected Storage function that guarantees the integrity of the mobile platform through the Chain of Trust measurement, stores the data and key in the MTM, and provides platform assurance between platforms with MTM through Remote Attestation. Providing a more secure and reliable computing environment.

기본적으로, MTM은 저성능, 저사양의 H/W 보안칩을 가정하여 스펙이 정의되어, 접근제어를 통한 세션관리 및 키관리 메커니즘이 굉장히 비효율적으로 정의되어 있다. 도 1은 MTM의 Protected Storage 구조를 보여주고 있다.Basically, the MTM is defined by assuming a low-performance, low-cost H / W security chip, and session management and key management mechanisms through access control are defined very inefficiently. FIG. 1 shows the Protected Storage structure of the MTM.

MTM은 중요한 데이터 및 키를 외부에 절대로 유출시키지 않고, MTM 내부에 저장한다. MTM 내에 저장할 수 있는 공간이 부족한 경우 SRK(Storage Root Key)를 이용하여 암호화 한 후, MTM 외부에 중요한 데이터나 키를 저장하는 Protected Storage 기능을 제공한다. The MTM stores important data and keys in the MTM without spilling it outward. If there is not enough space to store in the MTM, it provides the Protected Storage function that encrypts it using SRK (Storage Root Key) and stores important data or key outside MTM.

도 1에 도시된 바와 같이, 모드 Key는 Parent Key로 암호화되어 저장되는 계층적 구조를 가지고 있다. Key는 MTM 내에서 생성되고, Parent Key로 암호화되어 MTM 외부에 저장된다. 이에 따라, Key를 사용하기 위해서, 해당 Key와 Parent Key가 MTM 내의 Key Slot으로 Loading되고, 복호화 되어야 한다. 이때, MTM은 Auth Data에 대한 일치 여부를 검사하게 된다. As shown in FIG. 1, the mode key has a hierarchical structure that is encrypted and stored by a parent key. The key is generated in the MTM, encrypted with the parent key, and stored outside the MTM. Accordingly, in order to use the key, the corresponding key and the parent key must be loaded into the key slot in the MTM and decoded. At this time, the MTM checks the consistency of the Auth data.

이때, 원하는 Key의 저장 Depth가 깊은 경우, 중간에 있는 모든 Key를 순차적으로 Loading하고 복호화 하여야 하는데, 이는 상당한 비용을 초래한다. 이러한, 복잡한 세션 및 키 관리 방법으로 인해 실제 구현물이 모바일 단말의 MTM에 적용되어 사용되기가 힘들다는 단점이 있다.In this case, if the storage depth of the desired key is deep, all the keys in the middle must be sequentially loaded and decoded, which causes considerable cost. Due to the complicated session and key management methods, it is difficult to apply the actual implementation to the MTM of the mobile terminal.

또한, MTM 내의 Key Slot 용량에 제한이 있으므로 Slot이 꽉 차면 외부로 Key를 내보냈다가 필요 시에 다시 적절히 Loading하여 사용하는 등의 Key 관리 메커니즘이 필요하다. 즉, MTM 외부에 저장된 Key의 계층적 구조로 인한 Leaf Node의 키 복호화에 많은 연산과 비용이 소모되는 Key Loading 과정이 필요하며, 용량에 제한이 있는 Key Slot에 대한 관리도 필요하여 상당한 비용이 소모된다.Also, since there is a limitation on the capacity of the key slot in the MTM, if the slot is full, a key management mechanism such as exporting the key to the outside and appropriately reloading it when necessary is needed. In other words, key loading process is required for key decryption of Leaf Node due to the hierarchical structure of keys stored outside the MTM. Also, it is necessary to manage key slots having a limited capacity. do.

한편, 세션 연결을 위해서는 인증된 세션만 연결을 허용해 주어야 한다. MTM에서는 Authorization Protocol을 이용하여 세션 인증을 수행한다. 예컨대, MTM에서는 OIAP(Object Independent Authorization Protocol), OSAP(Object Specific Authorization Protocol)과 같은 Object 기반의 복잡한 인증 프로토콜을 거쳐서 인증과정을 통과한 세션만이 연결된다. 이로 인해, 기존의 MTM은 세션과 연관된 Key Loading, Sequence of Command에 대한 Context 관리가 반드시 필요하여 상당한 비용이 소모된다.On the other hand, for session connection, only authenticated session should be allowed to connect. MTM performs session authentication using Authorization Protocol. For example, in the MTM, only the sessions that have passed the authentication process are connected through the object-based complex authentication protocol such as Object Independent Authorization Protocol (OIAP) and Object Specific Authorization Protocol (OSAP). Therefore, existing MTM consumes a considerable amount of cost due to the necessity of managing the context for the key loading and sequence of commands associated with the session.

또한, 기존의 MTM은 세션 연결 후, MTM 명령을 수행하기 위해 일련의 명령어(Sequence of Command)에 대한 Context를 저장 및 관리하여, 인증된 세션을 통해 명령이 전달되어 실행되는지에 대해 보장해 주어야 한다.
In addition, the existing MTM must store and manage a context for a sequence of commands to perform an MTM command after a session is connected, and ensure that commands are transmitted and executed through an authenticated session.

본 발명은 기존의 MTM 스펙에서 정의하고 있는 복잡하고 비효율적인 세션 및 키 관리 기법을 개선하여, 보다 간략하고 효과적인 세션 및 키 관리 기법을 제공하는 데 그 목적이 있다. 또한, 본 발명은 MTM 기술을 구현하는데 있어서 효율적이고 경량화된 접근제어 및 세션 관리, 키 관리 기법을 제공하여 비용을 절감시킴으로써, MTM의 모바일 단말 적용 활성화에 기여하는데 또 다른 목적이 있다.
It is an object of the present invention to provide a more simple and effective session and key management technique by improving the complicated and ineffective session and key management techniques defined in the existing MTM specification. Another object of the present invention is to contribute to the activation of MTM's mobile terminal application by reducing cost by providing an efficient and lightweight access control, session management and key management technique in implementing MTM technology.

전술한 과제를 달성하기 위한 본 발명의 일 양상에 따른 개선된 MTM의 세션 및 키 관리 방법은 외부로부터 세션 연결(Session Open) 요청이 수신되면, 세션 연결 수락 여부를 결정하는 단계, 상기 세션 연결이 수락되면, 해당 세션에 대한 Session Nonce를 포함하는 세션 엔트리를 생성하여 세션 테이블에 등록하고, 세션 키(session Key)를 생성하여 키 테이블에 저장하는 단계, 상기 외부로부터 MTM 명령어가 수신되면, 상기 Session Key를 이용하여 상기 MTM 명령어를 복호화(Decryption)하는 단계, 및 상기 복호화된 MTM 명령어에 포함된 Session Nonce와 상기 등록된 Session Nonce의 일치 여부에 따라 상기 MTM 명령어를 실행(Execution)하는 단계를 포함한다.
According to an aspect of the present invention, there is provided an improved MTM session and key management method comprising: determining whether to accept a session connection when a Session Open request is received from an external source; Generating a session key including a Session Nonce for the session, registering the session entry in the session table, generating a session key and storing the session key in a key table, receiving the MTM command from the outside, Decrypting the MTM command by using the decrypted MTM command, and executing the MTM command according to whether the session nonce included in the decrypted MTM command matches the registered session nonce .

본 발명의 실시예에 따르면 생성된 모든 Key가 MTM 내부에 저장되므로, 기존의 MTM 외부에 암호화된 Key가 저장되어 있는 경우에서 발생하는 공격에 대해 방어가 가능하다. 즉, 외부 하드디스크에 Key가 저장되어 있는 경우에는 해킹에 의해 해당 Key가 삭제될 위험성을 가지고 있는데, 본 발명의 실시예에 따르면 Key Hiding 효과가 있어서 이러한 해킹 공격에 노출될 위험성이 적어진다. 또한, 본 발명의 실시예에 따르면 세션 연결이 설정될 때마다 동적으로 할당되는 Session Key, Session Nonce를 통해 보안성을 강화하여 Replay Attack, Man-in-the-middle Attack을 효과적으로 방어할 수 있다.According to the embodiment of the present invention, since all generated keys are stored in the MTM, it is possible to protect against attacks generated when an encrypted key is stored outside the existing MTM. That is, when the key is stored in the external hard disk, there is a risk that the corresponding key is deleted by hacking. According to the embodiment of the present invention, there is less risk of exposure to such a hacking attack due to the key hiding effect. Also, according to the embodiment of the present invention, it is possible to effectively protect the replay attack and the man-in-the-middle attack by enhancing the security through the session key and the session nonce which are dynamically allocated each time a session connection is established.

본 발명의 실시예에 따르면 간략화된 Key 관리 기법에 의해, 기존의 MTM이 가지고 있던 Key Loading 비용, 제한된 용량에 의해 부가적으로 발생하는 Key Slot 관리 비용, 복잡한 Context 관리 비용 등이 절감될 수 있다. 또한, 본 발명의 실시예에 따르면 애플리케이션 기반의 세션 및 키 관리 기법으로 다중 세션을 효율적으로 관리할 수 있다.According to the embodiment of the present invention, the simplified key management technique can reduce the key loading cost of the existing MTM, the key slot management cost that is additionally generated due to the limited capacity, and the complex context management cost. In addition, according to the embodiment of the present invention, it is possible to efficiently manage multiple sessions by application-based session and key management techniques.

이와 같이 개선된 MTM 기반의 세션 및 키 관리 기법은 쉽게 구현가능하며, 간략화된 구조로 연산 및 비용을 절감시켜 MTM 실행엔진을 경량화 시킬 수 있다. 이로 인해 모바일 단말에서의 MTM 적용이 실질적으로 어려운 현재의 문제점을 해결할 수 있다.
This improved MTM-based session and key management technique can be implemented easily, and the MTM execution engine can be lightened by reducing computation and cost with a simplified structure. Thus, it is possible to solve the present problem in which MTM application in a mobile terminal is practically difficult.

도 1은 기존의 MTM의 Protected Storage 구조를 예시한 도면.
도 2는 본 발명의 실시예에 따른 세션 및 키 관리를 위한 개선된 MTM의 기본 구조도.
도 3은 본 발명의 실시예에 따른 Session Table Entry와 Key Table Entry의 필드 구조를 예시한 도면.
도 4는 본 발명의 실시예에 따른 세션 및 키 관리를 위한 개선된 MTM의 동작 흐름도.
도 5는 본 발명의 실시예에 따라 Session Open 시, MTM의 동작 흐름도.
도 6은 본 발명의 실시예에 따라 세션 연결 설정 후, 데이터 통신을 통한 MTM 명령어 전송 및 실행에 관한 MTM의 동작 흐름도.
도 7은 본 발명의 실시예에 따라 데이터 통신 완료 후, Session Close 시 MTM의 동작 흐름도.
1 is a diagram illustrating a Protected Storage structure of a conventional MTM.
FIG. 2 is a basic structure diagram of an improved MTM for session and key management according to an embodiment of the present invention; FIG.
3 is a diagram illustrating a field structure of a Session Table Entry and a Key Table Entry according to an embodiment of the present invention.
4 is an operational flowchart of an improved MTM for session and key management according to an embodiment of the present invention.
5 is a flowchart illustrating an operation of the MTM when a session is opened according to an embodiment of the present invention.
FIG. 6 is a flowchart illustrating an MTM operation of transmitting and executing an MTM command through data communication after establishing a session connection according to an embodiment of the present invention; FIG.
7 is a flowchart illustrating an operation of MTM when a session is closed after data communication is completed according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. And is provided to fully convey the scope of the invention to those skilled in the art, and the present invention is defined by the claims. It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. It is noted that " comprises, " or "comprising," as used herein, means the presence or absence of one or more other components, steps, operations, and / Do not exclude the addition.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, like reference numerals refer to like elements throughout. In the drawings, like reference numerals are used to denote like elements, and in the description of the present invention, In the following description, a detailed description of the present invention will be omitted.

도 2는 본 발명의 실시예에 따른 세션 및 키 관리를 위한 개선된 MTM의 기본 구조도이다. 2 is a basic block diagram of an improved MTM for session and key management according to an embodiment of the present invention.

MTM(Mobile Trusted Module, 모바일 신뢰 모듈)(100)의 외부에서 연결 요청 명령(Request Command)이 수신되면, 접근제어(Access Control)부(110)는 인증과정을 통해 세션 연결설정 여부를 결정한다. 여기서, 인증 과정은 비휘발성 메모리(Non-Volatile Memory)에 저장되어 있는 AuthData와 외부에서 연결 요청 명령과 함께 수신되는 AuthData를 비교하여 일치 여부에 따라 세션 연결을 수락할지를 결정한다.When a connection request command is received from the mobile trusted module (MTM) 100, the access control unit 110 determines whether to establish a session connection through an authentication process. Here, the authentication process compares the AuthData stored in the non-volatile memory with the AuthData received from the outside together with the connection request command, and determines whether to accept the session connection according to the match.

접근 제어부(110)에 의해 세션 연결이 수락되면, 세션 관리(Session Management)부(120)는 세션 테이블(Session Table)(121)에 해당 세션에 대한 엔트리(Entry)를 생성한다. 이때, Session Table(121)은 동적으로 생성 및 삭제되는 세션 엔트리를 저장하고 관리하기 위한 것으로, 휘발성 메모리(Volatile Memory)에 저장된다.When the access control unit 110 accepts the session connection, the session management unit 120 creates an entry for the session in the session table 121. [ At this time, the session table 121 is for storing and managing session entries dynamically generated and deleted, and is stored in a volatile memory.

또한, 접근 제어부(110)에 의해 세션 연결이 수락되면, 키 관리(Key Management)부(130)는 세션 키(Session Key)를 생성하여 키 테이블(Key Table)(131)에 저장한다. 이때, 세션의 암/복호화에 사용되는 Session Key는 비록 세션과 함께 동적으로 생성되고 소멸되지만, Key Size를 고려하여 Key Table(131)은 일반적으로 휘발성 메모리보다 용량이 비교적 큰 비휘발성 메모리에 저장된다. When the session connection is accepted by the access control unit 110, the key management unit 130 generates a session key and stores the session key in a key table 131. In this case, although the session key used for encryption / decryption of the session is dynamically generated and destroyed with the session, the key table 131 is generally stored in a nonvolatile memory having a capacity larger than that of the volatile memory in consideration of the key size .

여기서, Session Table의 Entry(Session Table Entry)(310)와 Key Table의 Entry(Key Table Entry) (320)는 도 3에 예시된 바와 같은 필드 구조를 갖는다. 애플리케이션 기반으로 세션 및 키 관리가 이루어지므로, Session Table Entry(310)와 Key Table Entry(320)에는 애플리케이션 구별자인 AppID 필드(311, 321)가 공통으로 들어간다.Here, the Entry (Session Table Entry) 310 of the Session Table and the Entry (Key Table Entry) 320 of the Key Table have a field structure as illustrated in FIG. Since session and key management are performed based on the application, App ID fields 311 and 321, which are application distinguishers, are commonly included in the session table entry 310 and the key table entry 320.

Session Table Entry(310)는 각각의 세션을 구별하기 위한 Session Handle 필드(312)와, 인증과정을 통과하면 MTM(100)에서 랜덤하게 할당하는 Session Nonce 필드(313)로 이루어진다. 이때, Session Nonce 필드(313)는 Replay Attack이나 Man-in-the-middle Attack 방어에 효과적이다.The Session Table Entry 310 includes a Session Handle field 312 for distinguishing each session and a Session Nonce field 313 for randomly allocating the session in the MTM 100 when the authentication process is performed. At this time, the Session Nonce field 313 is effective for Replay attack or Man-in-the-middle attack defense.

한편, Key Table Entry(320)는 연결 설정된 세션을 위한 Session Key 필드(322)와 그 밖의 애플리케이션에서 사용하는 다양한 다른 Key 필드(323~326)로 이루어져 있다. 예컨대, Key Table Entry(320)는 데이터나 다른 키들을 안전하게 저장하는데 사용하는 Storage Key 필드(323), 서명하는데 사용하는 비대칭키인 Signing Key 필드(324), MTM(100)의 외부에서 사용하기 위해 MTM(100)에서 생성하여 전송하는 대칭키과 같은 작은 양의 데이터를 암/복호화 하는데 사용하는 Binding Key 필드(325), 기타 다른 Key(Other Key) 필드(326)로 구성되어 있다. 여기서, Session Key 필드(322)는 다른 정적인 Key 필드(323~326)와는 달리, 세션의 생성과 소멸에 따라 동적으로 생성되어 저장되거나 삭제된다The key table entry 320 includes a session key field 322 for a connected session and various other key fields 323 to 326 used in other applications. For example, the Key Table Entry 320 includes a Storage Key field 323 for securely storing data and other keys, a Signing Key field 324, which is an asymmetric key used for signing, A Binding Key field 325 used for encrypting / decrypting a small amount of data such as a symmetric key generated and transmitted by the MTM 100, and other Key (Other Key) field 326. Here, unlike the other static Key fields 323 to 326, the Session Key field 322 is dynamically generated and stored or deleted according to the creation and destruction of the session

본 발명의 실시예에 따른 MTM(100)에 의해 생성되는 세션과 키는 모바일 단말에서 실행되는 애플리케이션에 1:1로 매핑되어 생성되고 관리된다. MTM(100)은 복수의 모바일 단말 애플리케이션의 세션 연결 요청을 처리할 수 있으며, 메모리 용량만큼 다중 세션을 지원할 수 있다.The session and the key generated by the MTM 100 according to the embodiment of the present invention are generated and managed in a 1: 1 mapping to an application executed in the mobile terminal. The MTM 100 can process a session connection request of a plurality of mobile terminal applications and can support multiple sessions by the memory capacity.

이와 같은 본 발명의 실시예에 따른 MTM(100)은 기존의 MTM 스펙과 가장 큰 차이점이 존재한다. 본 발명의 실시예에 따른 MTM(100)은 인증과정을 통한 세션 연결 과정에서 OIAP(Object Independent Authorization Protocol)나 OSAP(Object Specific Authorization Protocol)과 같은 복잡하고 Context 관리가 필요한 Authorization Protocol을 사용하지 않으며, 생성된 모든 Key를 MTM(100) 내부에 저장한다는 점에서 기존의 MTM 스펙과는 차이가 있다. The MTM 100 according to the embodiment of the present invention has the biggest difference from the existing MTM specification. The MTM 100 according to the exemplary embodiment of the present invention does not use an Authorization Protocol that is complicated and requires context management such as OIAP (Object Independent Authorization Protocol) or OSAP (Object Specific Authorization Protocol) And stores all generated keys in the MTM 100, which is different from the existing MTM specification.

또한, 본 발명의 실시예에 따르면 Depth가 큰 Leaf Node에 저장된 키를 복호화하기 위해 수많은 Key Loading 과정을 수행할 필요가 없으며, Key Slot 관리를 따로 할 필요가 없다. 즉, 본 발명의 실시예에 따르면 간략화된 세션 및 키 관리 기법으로 기존의 MTM과 동일한 강도의 보안성을 제공할 수 있다.
Also, according to the embodiment of the present invention, there is no need to perform a lot of key loading processes to decrypt a key stored in a leaf node having a large depth, and there is no need to separately manage a key slot. That is, according to the embodiment of the present invention, security of the same strength as that of the existing MTM can be provided by a simplified session and key management technique.

이하, 도 4 내지 도 7의 흐름도를 참조하여 본 발명의 실시예에 따른 MTM(100)의 세션 및 키 관리 방법에 대해 구체적으로 설명한다. Hereinafter, the session and key management method of the MTM 100 according to the embodiment of the present invention will be described in detail with reference to the flowcharts of FIGS.

도 4는 본 발명의 실시예에 따른 세션 및 키 관리를 위한 MTM의 동작 흐름도이다. 4 is a flowchart illustrating an operation of the MTM for session and key management according to an embodiment of the present invention.

먼저, MTM(100)은 세션 연결(Session Open) 설정 시, AuthData를 비교하여 인증하고 세션을 생성한다(S410).First, the MTM 100 compares and authenticates AuthData when establishing a session connection (Session Open), and creates a session (S410).

예컨대, 외부(Trusted software stack Core Service, TCS)로부터 세션 연결(SessionOpen) 요청이 수신되어 세션 연결 설정(Access Control) 시, MTM(100)은 AuthData를 비교하여 인증(Authorization)하고 세션을 생성(Session Creation)한다. 이때, 외부로부터 세션 연결 요청을 수신할 시, MTM(100)은 AppID, Handle, AuthData를 포함한 정보를 함께 수신한다.For example, when a SessionOpen request is received from an external (Trusted Software Stack Core Service, TCS), the MTM 100 compares and authenticates the AuthData and creates a session Creation. At this time, when receiving a session connection request from the outside, the MTM 100 receives information including AppID, Handle, and AuthData together.

이에 대해서, 도 5를 참조하여 구체적으로 설명한다. 도 5는 Session Open 시, MTM(100)의 동작 흐름을 보여준다.This will be described in detail with reference to FIG. 5 shows the operation flow of the MTM 100 at the time of Session Open.

MTM(100)의 외부(TCS)로부터 세션 연결(Session Open) 요청이 들어오면(S501), MTM(100)의 접근 제어부(110)는 외부로부터 전송된 AuthData와 MTM(100) 내부에 저장되어 있는 AuthData를 비교한다(S502). 이때, Session Open 시에 전달되는 AuthData는 SRK로 암호화되어 있으며, 암호화된 AuthData는 MTM(100)에서 복호화되어 비교된다.When a session open request is received from the external TCS of the MTM 100 in operation S501, the access control unit 110 of the MTM 100 transmits the AuthData transmitted from the external and the MTM 100 AuthData is compared (S502). At this time, the AuthData transmitted at the time of Session Open is encrypted with the SRK, and the encrypted AuthData is decrypted and compared in the MTM 100.

AuthData의 비교 결과 서로 다르면(S503-N), MTM(100)은 Error Code를 생성하여 Response 메시지를 외부로 전송한다(S504).If the comparison result of the AuthData is different (S503-N), the MTM 100 generates an error code and transmits the response message to the outside (S504).

만약, AuthData의 비교 결과 일치하면(S503-Y), MTM(100)은 세션 연결 설정 과정을 진행하기 위해 Session Key를 생성하고, Key Table에 생성된 Session Key를 등록한다(S505). If the comparison result of the AuthData matches (S503-Y), the MTM 100 generates a session key for proceeding with the session connection establishment process and registers the generated session key in the key table (S505).

또한 MTM(100)은 Session Nonce를 생성하여 Session Handle과 함께 Session Table에 등록한다(S506).In addition, the MTM 100 generates a Session Nonce and registers it with the Session Handle in the Session Table (S506).

성공적으로 세션 연결 설정이 이루어졌으므로, MTM(100)은 Success Response 메시지를 생성하여 외부로 전송한다(S507). Since the session connection has been established successfully, the MTM 100 generates and transmits a Success Response message to the outside (S507).

위와 같은 과정(단계 S410)이 수행된 후, 데이터 통신(Data Transfer)시, MTM(100)은 외부로부터 MTM 명령어를 수신하며, Session Nonce를 통해 Replay Attack을 방지하고, Session Key를 이용하여 암/복호화(Decryption)하며 MTM 명령어를 실행(Execution)한다(S420). 외부로부터 MTM 명령어를 수신할 시, MTM(100)은 Handle, Session Nonce, Payload를 포함한 정보를 함께 수신한다. After the above-described process (step S410) is performed, the MTM 100 receives an MTM command from the outside when data communication is performed, prevents a Replay attack through a session nonce, And decodes the MTM instruction and executes the MTM instruction (S420). Upon receiving an MTM command from the outside, the MTM 100 receives information including Handle, Session Nonce, and Payload together.

이에 대해서, 도 6을 참조하여 구체적으로 설명한다. 도 6은 세션 연결 설정 후, 데이터 통신을 통한 MTM 명령어 전송 및 실행에 관한 MTM의 동작 흐름을 보여준다.This will be described in detail with reference to Fig. FIG. 6 shows an operation flow of the MTM related to transmission and execution of MTM commands through data communication after setting up a session connection.

외부(TCS)로부터 MTM 명령어(MTM_Command)를 수신하면(S601), MTM(100)은 Session Table을 검색한다(S602). Session Table 검색 결과 세션 엔트리가 존재하지 않으면(S603-N), MTM(100)은 Response(Fail) 메시지(Error Code)를 생성하여 외부로 전송한다(S604). Upon receiving the MTM command (MTM_Command) from the external (TCS) (S601), the MTM (100) searches the Session Table (S602). If there is no session entry as a result of the session table search (S603-N), the MTM 100 generates a Response (Fail) message (Error Code) and transmits it to the outside (S604).

만약, Session Table 검색 결과 세션 엔트리가 존재하면(S603-Y), MTM(100)은 Key Table에서 Session Key를 읽어 들이며(S605), 읽어 들인 Session Key를 이용하여 MTM 명령어를 복호화(Decryption)한다(S606).If there is a session entry as a result of the session table search (S603-Y), the MTM 100 reads the session key from the key table (S605), and decrypts the MTM command using the read session key S606).

MTM(100)은 복호화된 MTM 명령어의 Session Nonce와 Session Table의 Session Nonce 값을 비교한다(S607). 비교 결과 MTM 명령어의 Session Nonce와 Session Table의 Session Nonce 값이 서로 다르면(S608-N), MTM(100)은 Response(Fail) 메시지(Error Code)를 생성하여 외부로 전송한다(S609).The MTM 100 compares the Session Nonce of the decrypted MTM command with the Session Nonce value of the Session Table (S607). If the session nonce of the MTM instruction and the session nonce value of the session table are different from each other (S608-N), the MTM 100 generates a Response (Fail) message (Error Code) and transmits it to the outside (S609).

만약, MTM 명령어의 Session Nonce와 Session Table의 Session Nonce 값이 서로 같으면(S608-Y), MTM(100)은 해당 MTM 명령어를 실행(MTM Command Execution)하고(S610), Response(Success) 메시지를 생성하여 성공 결과를 외부로 전송한다(S611).If the Session Nonce of the MTM command and the Session Nonce value of the Session Table are the same (S608-Y), the MTM 100 executes the corresponding MTM command (MTM Command Execution) (S610) and generates a Response And transmits the success result to the outside (S611).

위와 같은 과정(단계 S420)이 수행되어 데이터 통신이 완료되면, MTM(100)은 세션을 종료(Session Close)하고 세션을 삭제한다(S430). 이때, MTM(100)은 외부로부터 세션 종료(Session Close) 요청과 함께 Handle, SessionNonce)를 포함한 정보를 수신한다. When the data communication is completed by performing the above-described process (step S420), the MTM 100 closes the session and deletes the session (S430). At this time, the MTM 100 receives information including a Session Close request and a Handle, SessionNonce from the outside.

이에 대해서, 도 7을 참조하여 구체적으로 설명한다. 도 7은 데이터 통신 완료 후, Session Close 시 MTM(100)의 동작 흐름을 보여준다. This will be described in detail with reference to Fig. FIG. 7 shows the operation flow of the MTM 100 when the session is closed after data communication is completed.

외부(TCS)로부터 세션 종료(Session Close) 요청이 수신되면(S701), MTM(100)은 Session Table을 검색한다(S702). Session Table 검색 결과 세션 엔트리가 존재하지 않으면(S703-N), MTM(100)은 Response(Fail) 메시지(Error Code)를 생성하여 외부로 전송한다(S704). When a Session Close request is received from the external TCS (S701), the MTM 100 searches the Session Table (S702). If there is no session entry in the session table search result (S703-N), the MTM 100 generates a Response (Fail) message (Error Code) and transmits it to the outside (S704).

만약, Session Table 검색 결과 세션 엔트리가 존재하면(S703-Y), MTM(100)은 Key Table에서 Session Key를 읽어 들이며(S705), 읽어 들인 Session Key를 이용하여 MTM 명령어를 복호화(Decryption)한다(S706).If a session entry exists as a result of the session table search (S703-Y), the MTM 100 reads the session key from the key table (S705), and decrypts the MTM command using the read session key ( S706).

MTM(100)은 복호화된 MTM 명령어의 Session Nonce와 Session Table의 Session Nonce 값을 비교한다(S707). 비교 결과 MTM 명령어의 Session Nonce와 Session Table의 Session Nonce 값이 서로 다르면(S708-N), MTM(100)은 Response(Fail) 메시지(Error Code)를 생성하여 외부로 전송한다(S709).The MTM 100 compares the Session Nonce of the decrypted MTM command with the Session Nonce value of the Session Table (S707). If the session nonce of the MTM instruction and the session nonce value of the session table are different from each other (S708-N), the MTM 100 generates and transmits a Response (Fail) message (S709).

만약, MTM 명령어의 Session Nonce와 Session Table의 Session Nonce 값이 서로 같으면(S708-Y), MTM 명령어로 실행되는 명령이 Session Close이기 때문에 Session Table에서 해당 세션 엔트리를 삭제하고, Key Table에서 해당 세션의 Session Key 필드를 삭제한다(S710). 이후, MTM(100)은 Response(Success) 메시지를 생성하여 성공 결과를 외부로 전송한다(S710).If the session nonce of the MTM instruction is the same as the session nonce value of the session table (S708-Y), the corresponding session entry is deleted from the session table because the command executed by the MTM instruction is Session Close. The Session Key field is deleted (S710). Thereafter, the MTM 100 generates a Response (Success) message and transmits the success result to the outside (S710).

이와 같이, 본 발명의 실시예에 따르면 생성된 모든 Key가 MTM 내부에 저장되므로, 기존의 MTM 외부에 암호화된 Key가 저장되어 있는 경우에서 발생하는 공격에 대해 방어가 가능하다. 즉, 외부 하드디스크에 Key가 저장되어 있는 경우에는 해킹에 의해 해당 Key가 삭제될 위험성을 가지고 있는데, 본 발명의 실시예에 따르면 Key Hiding 효과가 있어서 이러한 해킹 공격에 노출될 위험성이 적어진다. 또한, 본 발명의 실시예에 따르면 세션 연결이 설정될 때마다 동적으로 할당되는 Session Key, Session Nonce를 통해 보안성을 강화하여 Replay Attack, Man-in-the-middle Attack을 효과적으로 방어할 수 있다.As described above, according to the embodiment of the present invention, since all generated keys are stored in the MTM, it is possible to protect against attacks occurring when an encrypted key is stored outside the existing MTM. That is, when the key is stored in the external hard disk, there is a risk that the corresponding key is deleted by hacking. According to the embodiment of the present invention, there is less risk of exposure to such a hacking attack due to the key hiding effect. Also, according to the embodiment of the present invention, it is possible to effectively protect the replay attack and the man-in-the-middle attack by enhancing the security through the session key and the session nonce which are dynamically allocated each time a session connection is established.

본 발명의 실시예에 따르면 간략화된 Key 관리 기법에 의해, 기존의 MTM이 가지고 있던 Key Loading 비용, 제한된 용량에 의해 부가적으로 발생하는 Key Slot 관리 비용, 복잡한 Context 관리 비용 등이 절감될 수 있다. 또한, 본 발명의 실시예에 따르면 애플리케이션 기반의 세션 및 키 관리 기법으로 다중 세션을 효율적으로 관리할 수 있다.According to the embodiment of the present invention, the simplified key management technique can reduce the key loading cost of the existing MTM, the key slot management cost that is additionally generated due to the limited capacity, and the complex context management cost. In addition, according to the embodiment of the present invention, it is possible to efficiently manage multiple sessions by application-based session and key management techniques.

개선된 MTM 기반의 세션 및 키 관리 기법은 쉽게 구현가능하며, 간략화된 구조로 연산 및 비용을 절감시켜 MTM 실행엔진을 경량화 시킬 수 있다. 이로 인해 모바일 단말에서의 MTM 적용이 실질적으로 어려운 현재의 문제점을 해결할 수 있다.
Improved MTM-based session and key management techniques can be implemented easily, and the MTM execution engine can be lightened by reducing computation and costs with a simplified structure. Thus, it is possible to solve the present problem in which MTM application in a mobile terminal is practically difficult.

이상, 본 발명의 바람직한 실시예를 통하여 본 발명의 구성을 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It is to be understood that the invention may be embodied in other specific forms. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. The scope of the present invention is defined by the appended claims rather than the detailed description, and all changes or modifications derived from the scope of the claims and their equivalents shall be construed as being included within the scope of the present invention.

100 : MTM
110 : 접근제어(Access Control)부
120 : 세션 관리(Session Management)부
130 : 키 관리(Key Management)부
100: MTM
110: access control unit
120: Session Management Department
130: Key management unit

Claims (1)

외부로부터 세션 연결(Session Open) 요청이 수신되면, 세션 연결 수락 여부를 결정하는 단계;
상기 세션 연결이 수락되면, 해당 세션에 대한 Session Nonce를 포함하는 세션 엔트리를 생성하여 세션 테이블에 등록하고, 세션 키(session Key)를 생성하여 키 테이블에 저장하는 단계;
상기 외부로부터 MTM(Mobile Trusted Module) 명령어가 수신되면, 상기 Session Key를 이용하여 상기 MTM 명령어를 복호화(Decryption)하는 단계; 및
상기 복호화된 MTM 명령어에 포함된 Session Nonce와 상기 등록된 Session Nonce의 일치 여부에 따라 상기 MTM 명령어를 실행(Execution)하는 단계;
를 포함하는 개선된 MTM의 세션 및 키 관리 방법.
Determining whether to accept a session connection when receiving a Session Open request from the outside;
Creating a session entry including a session nonce for the session, registering the session entry in the session table, creating a session key, and storing the session key in a key table;
Decrypting the MTM command using the session key when an MTM (Mobile Trusted Module) command is received from the outside; And
Executing the MTM instruction according to whether the session nonce included in the decrypted MTM instruction matches the registered session nonce;
The method comprising the steps of:
KR1020140173083A 2014-12-04 2014-12-04 Improved mobile trusted module-based session and key management method KR20160067547A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140173083A KR20160067547A (en) 2014-12-04 2014-12-04 Improved mobile trusted module-based session and key management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140173083A KR20160067547A (en) 2014-12-04 2014-12-04 Improved mobile trusted module-based session and key management method

Publications (1)

Publication Number Publication Date
KR20160067547A true KR20160067547A (en) 2016-06-14

Family

ID=56191776

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140173083A KR20160067547A (en) 2014-12-04 2014-12-04 Improved mobile trusted module-based session and key management method

Country Status (1)

Country Link
KR (1) KR20160067547A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023014695A1 (en) * 2021-08-03 2023-02-09 Vertiv It Systems, Inc. Systems and methods for creating a virtual kvm session between a client device and a target device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023014695A1 (en) * 2021-08-03 2023-02-09 Vertiv It Systems, Inc. Systems and methods for creating a virtual kvm session between a client device and a target device

Similar Documents

Publication Publication Date Title
JP6479758B2 (en) Establishing reliability between applications on a computer
CN110249332B (en) Addressing trusted execution environments using encryption keys
US8462955B2 (en) Key protectors based on online keys
CN110249336B (en) Addressing trusted execution environments using signing keys
US10972265B2 (en) Addressing a trusted execution environment
US9946884B2 (en) System and method for cryptographic suite management
EP2973183B1 (en) Intra-computer protected communications between applications
US9992029B1 (en) Systems and methods for providing authentication to a plurality of devices
US20220114249A1 (en) Systems and methods for secure and fast machine learning inference in a trusted execution environment
EP3788528B1 (en) Enclave interactions
CN110235134B (en) Addressing trusted execution environments using clean room provisioning
CN113014444A (en) Internet of things equipment production test system and safety protection method
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
JP2009543208A (en) Content management system and method using certificate chain
WO2023246509A1 (en) Gene data processing method and apparatus, device and medium
EP3886355B1 (en) Decentralized management of data access and verification using data management hub
KR20160067547A (en) Improved mobile trusted module-based session and key management method
Arfaoui et al. Practical and privacy-preserving TEE migration
US20240004986A1 (en) Cla certificateless authentication of executable programs
Horsch et al. TrustID: Trustworthy identities for untrusted mobile devices

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid