KR102258215B1 - Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법 - Google Patents

Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR102258215B1
KR102258215B1 KR1020190142651A KR20190142651A KR102258215B1 KR 102258215 B1 KR102258215 B1 KR 102258215B1 KR 1020190142651 A KR1020190142651 A KR 1020190142651A KR 20190142651 A KR20190142651 A KR 20190142651A KR 102258215 B1 KR102258215 B1 KR 102258215B1
Authority
KR
South Korea
Prior art keywords
hsm
enclave
kms
bootstrapping
key
Prior art date
Application number
KR1020190142651A
Other languages
English (en)
Other versions
KR20210056049A (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 KR1020190142651A priority Critical patent/KR102258215B1/ko
Priority to US16/985,266 priority patent/US11411719B2/en
Publication of KR20210056049A publication Critical patent/KR20210056049A/ko
Application granted granted Critical
Publication of KR102258215B1 publication Critical patent/KR102258215B1/ko

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/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)
    • H04L9/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • 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)
    • H04L9/0825Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3215Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a plurality of channels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

KMS 및 HSM를 함께 이용하는 보안 시스템 및 그 동작 방법을 개시한다.
본 발명의 일 측면에 의하면, 보안 시스템에 있어서, 루트 키를 생성, 교체 또는 제거하며, 물리적으로 독립된 HSM; 상기 HSM으로부터 상기 루트 키를 수신하는 부트스트래핑 엔클레이브; 및 상기 부트스트래핑 엔클레이브와 인증 절차를 수행하고, 상기 부트스트래핑 엔클레이브로부터 상기 루트 키를 수신하며, 상기 루트 키를 이용하여 상기 HSM과 보안 채널을 형성하는 하나 이상의 KMS 엔클레이브를 포함하는 보안 시스템을 제공한다.

Description

KMS 및 HSM를 함께 이용하는 보안 시스템 및 그 동작 방법{Security System and Method Thereof Using Both KMS and HSM}
본 발명의 실시예들은 KMS(Key Management Service)와 HSM(Hardware Security Module)을 이용함으로써 보안 서비스를 확장하기 위한 프레임워크를 구현하는 보안 시스템 및 그 동작 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
하드웨어 보안 모듈(HSM: Hardware Security Module)은 보안 키를 생성, 교체 또는 제거하는 보안 전용 하드웨어다. HSM은 물리적으로 독립된 하드웨어이며, 인증서 서명과 같은 암호화 키 작업을 보호하고 네트워크 인터페이스를 통해 제한된 액세스만 허용한다. HSM은 고도의 보안 서비스를 제공할 수 있으므로, 수 많은 클라우드 애플리케이션 및 네트워크 상거래를 보호하는 데 활용된다. 예를 들어, HSM은 데이터의 보안을 위해, HSM은 공개 키 인프라(PKI: public key infra) 환경, 전자 상거래 결제 시스템 및 인증 기관 (CA)과 같은 디지털 키 관리가 필요한 온라인 서비스에 널리 이용된다.
HSM은 높은 수준의 물리적 보안을 제공하도록 설계된다. 암호화 작업(cryptographic operation) 및 키 관리가 격리된 하드웨어인 HSM 내에서 수행되므로 다양한 키 관리 서비스에 활용된다. 최신 HSM 장치는 초당 수천 번의 암호화 작업을 수행 할 수 있을 정도로 연산이 빠르며, 보안 표준인 FIPS 140-2 레벨 3 또는 레벨 4 표준을 충족할 수 있다.
한편, 최근 마이크로 서비스, 엣지 컴퓨팅 및 금융 기술과 같은 신흥 산업의 급속한 혁신으로 보안 서비스의 확장성이 요구된다. 최근 애플리케이션 및 웹 서비스는 수많은 모바일 및 IoT 거래에 대한 지연 시간을 최소화하기 위해 분산형 방식을 이용한다. 즉, 서비스 제공자는 종래의 클라우드 단일 구조 서비스를 여러 마이크로 서비스로 나뉘어 사용자에게 제공한다. 이는 보안이 필요한 사용자 대 서비스 거래와 서비스 대 서비스 거래를 증가시킨다. 사용자 대 서비스 거래, 및 서비스 대 서비스 거래가 증가할수록 암호화 작업을 수행하는 HSM는 워크로드(workload) 부담을 갖는다. 즉, HSM이 모든 암호화 작업을 수행하는 경우 병목 현상이 발생할 수 있다.
또한, HSM는 사용자 수요에 대한 탄력성 또는 확장성이 낮다는 단점이 있다. HSM이 루트 키와 관련된 작업을 수행하며, 암호화 요청의 처리량이 많아지면 HSM의 리소스 사용률과 네트워크 사용률이 증가하고, 이는 대규모 서비스의 병목 현상이 될 수 있다. 이러한 문제점을 해결하기 위해, 더 많은 HSM을 구비하기 위해선 상당한 자본 투자가 필요하다는 문제점이 있다.
사용자에게 확장성 있는 보안 서비스를 제공하기 위해, TEE(Trusted Execution Environment) 기반의 키 관리 서비스(KMS: key management service)가 이용된다. 클라우드 환경을 위한 소프트웨어 기반 KMS는 HSM보다 확장성을 보장할 수 있다. KMS는 HSM와 동일한 역할을 수행하지만 응용 프로그램 개발 및 통합을 위한 확장성이 높다. 또한, KMS는 사용자의 요청에 따라 수평적으로 확장될 수 있어 HSM에 비해 작업 대기 시간을 줄일 수 있다. 특히, 엔클레이브를 이용하는 KMS 엔클레이브는 고도의 보안 서비스를 제공할 수 있다.
엔클레이브(enclave)란, 프로세서 내부에 위치한 인스턴스 또는 메모리 영역을 의미한다. 엔클레이브는 외부 장치와 데이터를 주고 받을 때마다 보안 절차를 수행하기 때문에 안정성을 보장할 수 있다. 구체적으로, 엔클레이브는 SoC(System-on-Chip) 내에서 제작된 보조 프로세서 내지 인스턴스(instance)이다. 엔클레이브는 암호화된 메모리를 사용하고 하드웨어 난수 발생기를 이용하여 암호화 작업을 수행한다. 엔클레이브는 데이터 보호 키 관리를 위한 모든 암호화 작업을 수행하며 커널이 손상된 경우에도 데이터 보호의 무결성을 보장할 수 있다. 또한, 엔클레이브와 응용 프로그램 프로세서 간의 통신은 인터럽트 구동 메일 박스와 공유 메모리 데이터 버퍼로 한정됩니다.
하지만, KMS 엔클레이브는 다른 장치들과 물리적으로 분리되지 않기 때문에, HSM에 비해 보안 능력이 낮다는 문제점이 있다.
따라서, HSM의 보안성과 KMS 엔클레이브의 확장성을 모두 이용하며, HSM과 KMS 엔클레이브 사이의 유효성(validation)을 보장할 수 있는 기술이 필요하다.
본 발명의 실시예들은, 하드웨어 보안 모듈(HSM)을 이용하여 키를 관리하며, 키 관리 모듈(KMS) 엔클레이브를 이용하여 클라이언트의 암호화 작업 요청을 처리함으로써, 서비스 확장성과 보안성을 모두 보장하며, 부트스트래핑 엔클레이브를 이용하여 HSM과 KMS 엔클레이브 사이의 신뢰도를 보장할 수 있는 보안 시스템 및 그의 동작 방법을 제공하는 데 주된 목적이 있다.
본 발명의 일 측면에 의하면, 보안 시스템에 있어서, 루트 키를 생성, 교체 또는 제거하며, 물리적으로 독립된 HSM; 상기 HSM으로부터 상기 루트 키를 수신하는 부트스트래핑 엔클레이브; 및 상기 부트스트래핑 엔클레이브와 인증 절차를 수행하고, 상기 부트스트래핑 엔클레이브로부터 상기 루트 키를 수신하며, 상기 루트 키를 이용하여 상기 HSM과 보안 채널을 형성하는 하나 이상의 KMS 엔클레이브를 포함하는 보안 시스템을 제공한다.
본 실시예의 다른 측면에 의하면, 보안 시스템의 동작 방법에 있어서, 물리적으로 독립되어 있는 HSM가 루트 키를 생성하는 과정; 상기 HSM이 부트스트래핑 엔클레이브에게 상기 루트 키를 전송하는 과정; 상기 부트스트래핑 엔클레이브가 하나 이상의 KMS 엔클레이브와 인증 절차를 수행하는 과정; 상기 부트스트래핑 엔클레이브가 상기 하나 이상의 KMS 엔클레이브에게 상기 루트 키를 전송하는 과정; 및 상기 하나 이상의 KMS 엔클레이브가 상기 루트 키를 이용하여 상기 HSM과 보안 채널을 형성하는 과정을 포함하는 보안 시스템의 동작 방법을 제공한다.
이상에서 설명한 바와 같이 본 발명의 일 실시예에 의하면, 하드웨어 보안 모듈(HSM)을 이용하여 키를 관리하며, 키 관리 모듈(KMS) 엔클레이브를 이용하여 클라이언트의 암호화 작업 요청을 처리함으로써, 서비스 확장성과 보안성을 모두 보장하며, 부트스트래핑 엔클레이브를 이용하여 HSM과 KMS 엔클레이브 사이의 신뢰도를 보장할 수 있다.
도 1은 HSM 엔클레이브와 HSM을 이용하는 보안 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 보안 시스템의 구성을 설명하기 위해 예시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 보안 시스템의 동작 과정을 설명하기 위한 순서도다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '~부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하에서는, 본 발명의 실시예에 따른 보안 시스템을 공격하려는 공격자를 가정한다. 공격자는 운영체제(OS) 및 하이퍼바이저(hypervisor)를 포함한 모든 소프트웨어 구성 요소를 제어 할 수 있다. HSM 하드웨어 자체는 하드웨어 분리를 통해 보안을 보장하지만, 공격자가 호스트 OS 및 라이브러리를 완전히 제어할 수 있으므로 외부 호스트와의 통신 채널에 대한 신뢰는 보장되지 않는다.
도 1은 KMS 엔클레이브와 HSM을 이용하는 보안 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 보안 시스템은 클라이언트(100), HSM(110), 하나 이상의 KMS 엔클레이브(120)를 이용할 수 있으며, 공격자(130)를 가정한다.
클라이언트(100)가 HSM(110)에게 암호화 작업을 요청하는 경우, HSM(110)이 암호화 작업과 관련된 데이터 처리를 수행한다. HSM(110)은 다른 구성요소들과 물리적으로 분리되어 있는 모듈로서, 공격자(130)에 의한 접근을 물리적으로 막을 수 있다. 즉, HSM(110)은 보안성을 보장한다.
하지만, 클라이언트(100)가 마이크로 서비스와 같이 많은 암호화 작업 요청을 HSM(110)에게 전송하는 경우, HSM(110)의 낮은 확장성으로 인해 병목 현상이 발생한다.
클라이언트(100)가 하나 이상의 KMS 엔클레이브(120)에게 암호화 작업을 요청하는 경우, 하나 이상의 KMS 엔클레이브(120)가 암호화 작업과 관련된 데이터 처리를 수행한다. 하나 이상의 KMS 엔클레이브(120)는 클라이언트(100)의 수요에 따라 탄력적으로 더 생성될 수 있는 구성이다. 하지만, 하나 이상의 KMS 엔클레이브(120)는 클라이언트(100)에게 마이크로 서비스를 제공할 수 있음에도 불구하고, HSM(110)과 달리 물리적으로 분리되어 있지 않아 보안에 취약하다는 단점이 있다.
공격자(130)는 클라이언트(100)와 하나 이상의 KMS 엔클레이브(120) 사이에 침입하여 미들 공격을 할 수 있다. 즉, 공격자(130)는 MITM(middle in the man) 기법을 이용하여 HSM(110) 또는 하나 이상의 KMS 엔클레이브(120)에게 암호화 작업을 요청할 수 있다.
HSM(110)과 하나 이상의 KMS 엔클레이브(120)를 모두 이용하는 경우, 공격자(130)는 가짜 엔클레이브를 생성하여 HSM(110)에게 접근할 수 있다. HSM(110)과 하나 이상의 KMS 엔클레이브 사이의 유효성 검사를 수행하지 않으면, HSM(110)은 공격자(130)에게 루트 키를 전송할 수도 있다.
따라서, HSM(110)의 보안성과 하나 이상의 KMS 엔클레이브(120)의 확장성을 모두 활용하면서 공격자(130)로부터 키를 보안할 수 있는 방안이 필요하다.
도 2는 본 발명의 일 실시예에 따른 보안 시스템의 구성을 설명하기 위해 예시한 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 보안 시스템은 HSM(hardware security module, 200), 부트스트래핑 엔클레이브(bootstrapping enclave, 210), 및 하나 이상의 KMS 엔클레이브(220)를 포함한다. 보안 시스템은 클라이언트(230)의 요청에 따라 암호화 작업을 수행함으로써, 클라이언트(230)에게 보안 서비스를 제공할 수 있다.
HSM(200)은 루트 키를 생성, 교체 또는 제거하며, 물리적으로 독립된 구성요소다. HSM(200)은 하나 이상의 KMS 엔클레이브(220)와 보안 채널을 형성하는 데 이용되는 루트 키를 생성하고, HSM(200)은 루트 키를 부트스트래핑 엔클레이브(210)에게 전송한다. HSM(200)은 필요에 따라 루트 키를 교체하거나 파기할 수 있다. 즉, 물리적으로 독립된 HSM(200)가 루트 키를 저장한다. 다시 말하면, 하나 이상의 KMS 엔클레이브(220)는 HSM(200)과 달리 물리적 변조 증거(physical tamper evidence)를 보존 할 수 없기 때문에 HSM(200)이 루트 키를 보관한다.
본 발명의 일 실시예에 따른 HSM(200)은 다른 구성요소들과 물리적으로 독립될 수 있다. 또한, HSM(200)은 물리적으로 독립되어 있기 때문에, 보안을 위해 부트스트래핑 엔클레이브(210)에게 오프라인(offline) 상으로 루트 키를 보낼 수 있다.
본 발명의 일 실시예에 따른 공개 키 암호화 방식을 이용하기 위해 HSM(200)은 루트 키로서 공개 키(public key) 및 비밀 키(private key, 이하에서 개인 키와 혼용하여 표현될 수 있음)를 생성할 수 있다. 이 경우, HSM(200)은 부트스트래핑 엔클레이브(210)에게 공개 키를 전송한다. 즉, HSM(200)은 부트스트래핑 엔클레이브(210)에게 전송하는 루트 키가 공개 키일 때, HSM(200)은 공개 키와 페어인 비밀 키를 더 생성, 교체, 및 관리한다. 여기서, 공개 키는 HSM(200), 부트스트래핑 엔클레이브(210) 및 하나 이상의 KMS 엔클레이브(220)에게만 공유되고, 클라이언트(230)에게는 공유되지 않는다. 비밀 키는 HSM(200)가 저장 및 관리하며, 하나 이상의 KMS 엔클레이브가 암호화한 데이터를 복화하는 데 이용된다.
구체적으로, HSM(200)은 부트스트래핑 엔클레이브(210)에게 공개 키를 전송할 수 있다. HSM(200)이 부트스트래핑 엔클레이브(210)에게 공개 키를 전송하고, 부트스트래핑 엔클레이브(210)로부터 공개 키를 수신한 하나 이상의 KMS 엔클레이브(220)가 있는 경우, HSM(200)는 하나 이상의 KMS 엔클레이브(220)와 공개 키를 이용하여 보안 채널을 형성한다. 또한, 또한, 하나 이상의 KMS 엔클레이브(220)가 보안 채널을 통해 암호화된 데이터를 HSM(200)에게 전송하면, HSM(200)은 비밀 키를 이용하여 암호화된 데이터를 복호화할 수 있다.
반대로, 본 발명의 일 실시예에 따른 HSM(200)은 부트스트래핑 엔클레이브(210)에게 비밀 키를 전송할 수도 있다. HSM(200)이 부트스트래핑 엔클레이브(210)에게 비밀 키를 전송하고, 부트스트래핑 엔클레이브(210)로부터 비밀 키를 수신한 하나 이상의 KMS 엔클레이브(220)가 있는 경우, HSM(200)는 하나 이상의 KMS 엔클레이브(220)와 비밀 키를 이용하여 보안 채널을 형성할 수 있다. 또한, 하나 이상의 KMS 엔클레이브(220)가 보안 채널을 통해 암호화된 데이터를 HSM(200)에게 전송하면, HSM(200)은 공개 키를 이용하여 암호화된 데이터를 복호화할 수 있다.
부트스트래핑 엔클레이브(210)는 HSM(200)으로부터 루트 키를 수신하고, 하나 이상의 KMS 엔클레이브(220)에 대해 인증 절차(attestation procedure)를 수행하는 구성요소다. 또한, 부트스트래핑 엔클레이브(210)는 하나 이상의 KMS 엔클레이브(220)에게 루트 키를 전송할 수 있다.
본 발명의 일 실시예에 따른 부트스트래핑 엔클레이브(210)는 하나 이상의 KMS 엔클레이브(210) 중 인증된 KMS 엔클레이브에게만 루트 키를 전송한다. 이는, 공격자가 가짜 엔클레이브를 생성하여 HSM(200)에 접근하는 것을 막기 위한 것이다.
부트스트래핑 엔클레이브(210)는 신뢰할 수 있는 서비스 제공자에 의해 구현되어야 한다. 부트스트래핑 엔클레이브(210)는 HSM(200)과 하나 이상의 KMS 엔클레이브(220) 사이의 유효성 검사를 수행하기 위한 구성요소이므로, 클라이언트(230)가 신뢰할 수 있도록 구현된다.
하나 이상의 KMS 엔클레이브(220)는 부트스트래핑 엔클레이브(210)와 인증 절차를 수행하고, 부트스트래핑 엔클레이브(210)로부터 루트 키를 수신하며, 루트 키를 이용하여 HSM(200)과 보안 채널을 형성하는 구성요소다.
하나 이상의 KMS 엔클레이브(220)가 HSM(200)을 대신하여 암호화 작업에 필요한 연산을 수행한다. 예를 들어, 클라이언트(230)가 짧은 시간 동안 빈번한 TLS(transport layer security) 연결을 설정하는 경우, HSM(200)에 모든 세션 키를 저장하는 것은 성능 병목 현상의 원인이 되고, 서비스 레벨 목표(SLO, service level opjective)를 만족하지 못할 수 있다. 따라서, 하나 이상의 KMS 엔클레이브(220)가 클라이언트(230)의 요청에 따른 암호화 작업을 수행한다.
본 발명의 일 실시예에 따르면, 하나 이상의 KMS 엔클레이브(220) 중 부트스트래핑 엔클레이브(210)로부터 인증된 KMS 엔클레이브만 루트 키를 수신할 수 있다. 인증된 KMS 엔클레이브는 루트 키를 이용하여 HSM(200)과 보안 채널을 형성한다. 인증된 KMS 엔클레이브는 HSM과 보안 채널인 PKCS(public key cryptography standard) 11 API(application programming interface) call을 통해 서로 통신할 수 있다. 따라서, 공격자는 가짜 엔클레이브를 생성하여 HSM(200)에 접근하거나 미들 공격을 할 수 없다.
본 발명의 일 실시예에 따라 HSM(200) 공개 키와 비밀 키 페어를 생성, 교체, 및 관리하는 경우, HSM(200)이 부트스트래핑 엔클레이브(210)에게 공개 키를 전송하고, 부트스트래핑 엔클레이브(210)로부터 공개 키를 수신한 하나 이상의 KMS 엔클레이브(220)가 있는 경우, HSM(200)는 하나 이상의 KMS 엔클레이브(220)와 공개 키를 이용하여 보안 채널을 형성할 수 있다.
본 발명의 일 실시예에 따른 하나 이상의 KMS 엔클레이브(220)는 클라이언트(230)의 요청에 따라 더 생성될 수 있다. 하나 이상의 KMS 엔클레이브(220)는 클라이언트(230)의 요청에 따라 탄력적으로 생성되거나 파기됨으로써, 클라이언트(230)에게 마이크로 서비스에 대한 보안 서비스를 제공할 수 있다. 또한, 하나 이상의 KMS 엔클레이브(220)는 클라이언트(230)에게 다양한 보안 서비스를 제공하기 위해 더 생성될 수 있으며, 임의의 시간이 지난 후 제거될 수도 있다.
도 3은 본 발명의 일 실시예에 따른 보안 시스템의 동작 과정을 설명하기 위한 순서도다.
도 3을 참조하면, HSM이 루트 키를 생성한다(S300). HSM은 루트 키를 생성하는 것 외에도 루트 키를 교체하거나 파기할 수 있다. 본 발명의 일 실시예에 따른 HSM은 공개 키 및 비밀 키를 생성하고, 이를 교체하거나 파기할 수 있다. HSM이 공개 키 및 비밀 키를 생성하는 경우, HSM은 부트스트래핑 엔클레이브에게 공개 키 또는 비밀 키 중 어느 하나를 전송한다.
부트스트래핑 엔클레이브는 HSM으로부터 루트 키를 수신한다(S302). 부트스트래핑 엔클레이브는 HSM과 하나 이상의 KMS 엔클레이브 사이의 유효성 검사를 수행하는 구성요소로서, 신뢰할 수 있는 서비스 제공자에 의해 구현되어야 한다.
부트스트래핑 엔클레이브와 하나 이상의 KMS 엔클레이브가 인증 절차를 수행한다(S304). 이는, 부트스트래핑 엔클레이브가 하나 이상의 KMS 엔클레이브와 HSM 사이의 유효성 검사를 대신 수행하기 위한 과정이다.
부트스트래핑 엔클레이브가 하나 이상의 KMS 엔클레이브 중 인증 절차를 통과한 KMS 엔클레이브에게 루트 키를 전송한다(S306). 본 발명의 일 실시예에 따라 HSM이 공개 키 및 비밀 키를 생성하고, 부트스트래핑 엔클레이브에게 공개 키 또는 비밀 키 중 어느 하나를 전송하는 경우, 부트스트래핑 엔클레이브는 인증된 KMS 엔클레이브에게 HSM으로부터 받은 키를 전송할 수 있다.
인증된 KMS 엔클레이브는 부트스트래핑 엔클레이브로부터 루트 키를 수신하고, 루트 키를 이용하여 HSM과 보안 채널을 형성한다(S308). 인증된 KMS 엔클레이브는 HSM과 보안 채널인 PKCS(public key cryptography standard) 11 API(application programming interface) call을 통해 서로 통신할 수 있다.
인증된 KMS 엔클레이브는 클라이언트로부터 인증을 받은 후 클라이언트와 보안 채널을 형성하고, 클라이언트 요청에 따른 암호화 작업을 수행한다(S310). 인증된 KMS 엔클레이브는 HSM과 보안 채널을 형성한 후 클라이언트로부터 인증을 받아야 한다. 하나 이상의 KMS 엔클레이브는 부트스트래핑 엔클레이브로부터 인증을 받고, 클라이언트로부터 인증을 받은 후 클라이언트의 요청에 따른 암호화 작업을 수행할 수 있다.
도 3에서는 과정 S300 내지 과정 S310을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3에 기재된 순서를 변경하여 실행하거나 과정 S300 내지 과정 S310 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 3에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 이러한 컴퓨터가 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등의 비일시적인(non-transitory) 매체일 수 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송) 및 데이터 전송 매체(data transmission medium)와 같은 일시적인(transitory) 매체를 더 포함할 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
200: HSM
210: 부트스트래핑 엔클레이브
220: 하나 이상의 KMS 엔클레이브
230: 클라이언트

Claims (14)

  1. 보안 시스템에 있어서,
    루트 키(root key)를 생성, 교체 또는 제거하는 HSM(hardware security module);
    상기 HSM으로부터 상기 루트 키를 수신하는 부트스트래핑 엔클레이브(bootstrapping enclave); 및
    상기 부트스트래핑 엔클레이브와 인증 절차(attestation procedure)를 수행하고, 상기 부트스트래핑 엔클레이브로부터 상기 루트 키를 수신하며, 상기 루트 키를 이용하여 상기 HSM과 보안 채널을 형성하는 하나 이상의 KMS(key management service) 엔클레이브;
    를 포함하는 보안 시스템.
  2. 제1항에 있어서,
    상기 부트스트래핑 엔클레이브는 상기 하나 이상의 KMS 엔클레이브 중 인증된 KMS 엔클레이브에게만 상기 루트 키를 전송하는 보안 시스템.
  3. 제2항에 있어서,
    상기 인증된 KMS 엔클레이브는 클라이언트로부터 인증을 받은 후 보안 채널을 형성하고, 상기 보안 채널을 통해 수신한 상기 클라이언트의 요청에 따라 암호화 작업(cryptographic operation)을 수행하는 보안 시스템.
  4. 제1항에 있어서,
    상기 HSM은 상기 부트스트래핑 엔클레이브에게 상기 루트 키를 오프라인(offline)을 통해 전송하는 보안 시스템.
  5. 제1항에 있어서,
    상기 하나 이상의 KMS 엔클레이브는 클라이언트의 KMS 요청에 따라 더 생성되는 것인 보안 시스템.
  6. 제1항에 있어서,
    상기 루트 키가 공개 키(public key)일 때, 상기 HSM은 상기 공개 키와 페어(pair)인 비밀 키(private key)를 더 생성, 교체 및 관리하는 보안 시스템.
  7. 제6항에 있어서,
    상기 하나 이상의 KMS 엔클레이브가 상기 공개 키를 이용하여 데이터를 암호화(encryption)하고, 상기 HSM이 상기 비밀 키를 이용하여 암호화된 데이터를 복호화(decryption)하는 보안 시스템.
  8. 보안 시스템의 동작 방법에 있어서,
    HSM가 루트 키를 생성하는 과정;
    상기 HSM이 부트스트래핑 엔클레이브에게 상기 루트 키를 전송하는 과정;
    상기 부트스트래핑 엔클레이브가 하나 이상의 KMS 엔클레이브와 인증 절차를 수행하는 과정;
    상기 부트스트래핑 엔클레이브가 상기 하나 이상의 KMS 엔클레이브에게 상기 루트 키를 전송하는 과정; 및
    상기 하나 이상의 KMS 엔클레이브가 상기 루트 키를 이용하여 상기 HSM과 보안 채널을 형성하는 과정;
    을 포함하는 보안 시스템의 동작 방법.
  9. 제8항에 있어서,
    상기 부트스트래핑 엔클레이브는 상기 하나 이상의 KMS 엔클레이브 중 인증된 KMS 엔클레이브에게만 상기 루트 키를 전송하는 보안 시스템의 동작 방법.
  10. 제9항에 있어서,
    상기 인증된 KMS 엔클레이브는 클라이언트로부터 인증을 받은 후 보안 채널을 형성하고, 상기 보안 채널을 통해 수신한 상기 클라이언트의 요청에 따라 암호화 작업을 수행하는 보안 시스템의 동작 방법.
  11. 제8항에 있어서,
    상기 HSM은 상기 부트스트래핑 엔클레이브에게 상기 루트 키를 오프라인을 통해 전송하는 보안 시스템의 동작 방법.
  12. 제8항에 있어서,
    상기 하나 이상의 KMS 엔클레이브는 클라이언트의 KMS 요청에 따라 더 생성되는 것인 보안 시스템의 동작 방법.
  13. 제8항에 있어서,
    상기 루트 키가 공개 키일 때, 상기 HSM은 상기 공개 키와 페어인 비밀 키를 더 생성, 교체 및 관리하는 보안 시스템의 동작 방법.
  14. 제13항에 있어서,
    상기 하나 이상의 KMS 엔클레이브가 상기 공개 키를 이용하여 데이터를 암호화하고, 상기 HSM이 상기 비밀 키를 이용하여 암호화된 데이터를 복호화하는 보안 시스템의 동작 방법.
KR1020190142651A 2019-11-08 2019-11-08 Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법 KR102258215B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190142651A KR102258215B1 (ko) 2019-11-08 2019-11-08 Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법
US16/985,266 US11411719B2 (en) 2019-11-08 2020-08-05 Security system and method thereof using both KMS and HSM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190142651A KR102258215B1 (ko) 2019-11-08 2019-11-08 Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20210056049A KR20210056049A (ko) 2021-05-18
KR102258215B1 true KR102258215B1 (ko) 2021-05-31

Family

ID=75847189

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190142651A KR102258215B1 (ko) 2019-11-08 2019-11-08 Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법

Country Status (2)

Country Link
US (1) US11411719B2 (ko)
KR (1) KR102258215B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102504957B1 (ko) 2022-10-15 2023-03-02 (주)케이스마텍 Hsm 성능 향상을 위한 사용자 단말 장치,그리고, hsm 시스템
KR102576819B1 (ko) 2023-01-30 2023-09-11 (주)케이스마텍 금융 토큰과 보안 토큰 발급이 가능한 클라우드 hsm 시스템 및 그의 금융 토큰과 보안 토큰 발급 방법
KR102628775B1 (ko) 2023-02-02 2024-01-23 (주)케이스마텍 인증서와 계정을 기반으로 토큰 접근이 가능한 클라우드 hsm 시스템 및 그의 인증서와 계정 기반 토큰 접근 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210406404A1 (en) * 2020-06-29 2021-12-30 Arm Cloud Technology, Inc Methods and apparatus for performing a cryptographic operation with a key stored in a hardware security module
US11595213B2 (en) 2020-06-29 2023-02-28 Izuma Tech, Inc. Methods and apparatus for performing attestation

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100642940B1 (ko) * 2005-10-31 2006-11-10 주식회사 하이스마텍 스마트카드의 인증 데이터 전송 시스템 및 방법

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050213768A1 (en) * 2004-03-24 2005-09-29 Durham David M Shared cryptographic key in networks with an embedded agent
KR101287669B1 (ko) * 2006-12-13 2013-07-24 주식회사 케이티 하드웨어 보안 모듈 다중화 장치 및 그 방법
US9276935B2 (en) * 2009-05-27 2016-03-01 Microsoft Technology Licensing, Llc Domain manager for extending digital-media longevity
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
US9100188B2 (en) * 2011-04-18 2015-08-04 Bank Of America Corporation Hardware-based root of trust for cloud environments
US9424439B2 (en) * 2011-09-12 2016-08-23 Microsoft Technology Licensing, Llc Secure data synchronization
US8984582B2 (en) * 2012-08-14 2015-03-17 Confidela Ltd. System and method for secure synchronization of data across multiple computing devices
US9686077B2 (en) * 2014-03-06 2017-06-20 Microsoft Technology Licensing, Llc Secure hardware for cross-device trusted applications
EP3123689B1 (de) * 2014-03-26 2022-05-11 Continental Teves AG & Co. OHG Verfahren und system zur verbesserung der datensicherheit bei einem kommunikationsvorgang
US9680816B2 (en) * 2014-10-14 2017-06-13 Cisco Technology, Inc. Attesting authenticity of infrastructure modules
US10447486B2 (en) * 2017-07-19 2019-10-15 Spyrus, Inc. Remote attestation of a security module's assurance level
US10757082B2 (en) * 2018-02-22 2020-08-25 International Business Machines Corporation Transforming a wrapped key into a protected key
US11233650B2 (en) * 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100642940B1 (ko) * 2005-10-31 2006-11-10 주식회사 하이스마텍 스마트카드의 인증 데이터 전송 시스템 및 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102504957B1 (ko) 2022-10-15 2023-03-02 (주)케이스마텍 Hsm 성능 향상을 위한 사용자 단말 장치,그리고, hsm 시스템
KR102525716B1 (ko) 2022-10-15 2023-04-26 (주)케이스마텍 Hsm 성능 향상 방법
KR102576819B1 (ko) 2023-01-30 2023-09-11 (주)케이스마텍 금융 토큰과 보안 토큰 발급이 가능한 클라우드 hsm 시스템 및 그의 금융 토큰과 보안 토큰 발급 방법
KR102628775B1 (ko) 2023-02-02 2024-01-23 (주)케이스마텍 인증서와 계정을 기반으로 토큰 접근이 가능한 클라우드 hsm 시스템 및 그의 인증서와 계정 기반 토큰 접근 방법

Also Published As

Publication number Publication date
KR20210056049A (ko) 2021-05-18
US20210143984A1 (en) 2021-05-13
US11411719B2 (en) 2022-08-09

Similar Documents

Publication Publication Date Title
KR102258215B1 (ko) Kms 및 hsm를 함께 이용하는 보안 시스템 및 그 동작 방법
CN109361668B (zh) 一种数据可信传输方法
US11075955B2 (en) Methods and systems for use in authorizing access to a networked resource
US11239994B2 (en) Techniques for key provisioning in a trusted execution environment
CN111448779B (zh) 用于混合秘密共享的系统、设备和方法
US9948616B2 (en) Apparatus and method for providing security service based on virtualization
US20200204530A1 (en) Self-encrypting key management system
US8732462B2 (en) Methods and apparatus for secure data sharing
US11102191B2 (en) Enabling single sign-on authentication for accessing protected network services
KR101130415B1 (ko) 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템
JP7454564B2 (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US20230139222A1 (en) Non-custodial tool for building decentralized computer applications
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
CN110430051B (zh) 一种密钥存储方法、装置及服务器
CN114584306B (zh) 一种数据处理方法和相关装置
Han et al. Toward scaling hardware security module for emerging cloud services
US20230222230A1 (en) Key distribution system in a secure enclave
US9864853B2 (en) Enhanced security mechanism for authentication of users of a system
US20210248245A1 (en) Calculation device, calculation method, calculation program and calculation system
CN114244508A (zh) 数据加密方法、装置、设备及存储介质
CN113630412A (zh) 资源下载方法、资源下载装置、电子设备以及存储介质
US20170295142A1 (en) Three-Tiered Security and Computational Architecture
CN112261015A (zh) 基于区块链的信息共享方法、平台、系统以及电子设备

Legal Events

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