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

KR102028197B1 - 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법 - Google Patents

하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법 Download PDF

Info

Publication number
KR102028197B1
KR102028197B1 KR1020150020746A KR20150020746A KR102028197B1 KR 102028197 B1 KR102028197 B1 KR 102028197B1 KR 1020150020746 A KR1020150020746 A KR 1020150020746A KR 20150020746 A KR20150020746 A KR 20150020746A KR 102028197 B1 KR102028197 B1 KR 102028197B1
Authority
KR
South Korea
Prior art keywords
terminal
authentication information
update
hsm
user authentication
Prior art date
Application number
KR1020150020746A
Other languages
English (en)
Other versions
KR20160098756A (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 KR1020150020746A priority Critical patent/KR102028197B1/ko
Priority to US15/018,778 priority patent/US9904806B2/en
Publication of KR20160098756A publication Critical patent/KR20160098756A/ko
Application granted granted Critical
Publication of KR102028197B1 publication Critical patent/KR102028197B1/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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/72Protecting 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 in cryptographic circuits
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • 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/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/3226Cryptographic 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 predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/35Protecting application or service provisioning, e.g. securing SIM application provisioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

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

Abstract

하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법이 개시된다. 이 방법은, 단말로부터 전달받은 상기 단말의 사용자 인증 정보를 저장하여 상기 단말의 사용자를 사전 등록하는 단계와, 상기 단말로부터 상기 무결성 검증 값의 업데이트 값을 포함하는 업데이트 요청 메시지에 응답하여 상기 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계와, 상기 인증 정보 요청 메시지에 따라 상기 단말로부터 전달받은 상기 사용자 인증 정보와 상기 사전 등록 시에 상기 저장된 사용자 인증 정보를 비교하여 상기 단말의 사용자에 대한 인증 과정을 수행하는 단계 및 상기 단말의 사용자에 대한 인증을 성공하면, 상기 업데이트 값으로 상기 저장된 무결성 검증 값을 업데이트하는 단계를 포함한다.

Description

하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법{Hardware secure module, method for updating integrity check value stored in the hardware secure module and program stored in terminal by the hardware secure module}
본 발명은 하드웨어 보안 모듈에 저장된 중요 데이터 또는 모바일 단말에 설치된 프로그램 등을 안전하게 업데이트하는 방법에 관한 것이다.
기존의 소프트웨어 기반의 모바일 보안 솔루션의 한계를 극복하기 위해, 최근 하드웨어 기반의 모바일 보안 솔루션에 대한 연구가 활발히 진행되고 있다.
하드웨어 기반의 모바일 보안 솔루션에 대한 연구의 일환으로, 모바일 단말에 내장되는 하드웨어 보안 모듈(Hardware Secure Module: HSM)의 개발이 연구되고 있다.
모바일 단말에 내장되는 HSM의 대표적인 예로 MTM(Mobile Trusted Module)이 있으며, 기본적으로 기기 인증, 기기 무결성 보장 및 중요 데이터의 보호하기 위한 보안 작업을 처리한다.
이러한 모바일 단말에 내장되는 HSM은 하드웨어 암호 코프로세서(Cryptographic Coprocessor) 기반의 암호 엔진, 메모리 등과 같은 하드웨어 자원을 이용하여 보안 작업을 처리하는 일종의 임베디드 시스템으로 볼 수도 있다.
HSM 내에는, 모바일의 신뢰성 있는 부팅을 제공하기 위한 부트로더(bootloader), 커널(kernel), OS(Operating System) 이미지에 대한 무결성과 앱의 설치 및 실행 시의 무결성을 검증할 수 있는 무결성 검증 값(Integrity Check Value: ICV)이 저장되는데, 이 무결성 검증 값은 안전하게 저장되어야 하고, 임의로 변경되어서도 안 된다.
특히, HSM에 저장되는 무결성 검증 값과 같은 중요 데이터에 대한 업데이트가 필요한 경우, 그 업데이트 과정이 안전하게 보장되어야 하는데, 아직까지 이를 안전하게 업데이트 할 수 있는 방안이 제시되고 못한 실정이다.
HSM에 저장되는 중요 데이터에 대한 안전한 업데이트 방법이 제시되지 않는 한, 모바일 단말에 설치 및 저장되는 펌웨어, 프로그램, 데이터 등의 무결성 보장을 장담할 수 없다.
따라서, 본 발명의 목적은, 하드웨어 보안 모듈에 저장된 무결성 검증 값과 모바일 단말에 설치된 중요 소프트웨어를 안전하게 업데이트할 수 있는 방법 및 그 시스템을 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법은, 단말로부터 전달받은 상기 단말의 사용자 인증 정보를 저장하여 상기 단말의 사용자를 사전 등록하는 단계와, 상기 단말로부터 상기 무결성 검증 값의 업데이트 값을 포함하는 업데이트 요청 메시지에 응답하여 상기 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계와, 상기 인증 정보 요청 메시지에 따라 상기 단말로부터 전달받은 상기 사용자 인증 정보와 상기 사전 등록 시에 상기 저장된 사용자 인증 정보를 비교하여 상기 단말의 사용자에 대한 인증 과정을 수행하는 단계 및 상기 단말의 사용자에 대한 인증을 성공하면, 상기 업데이트 값으로 상기 저장된 무결성 검증 값을 업데이트하는 단계를 포함한다.
본 발명의 다른 일면에 따른 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법은, 상기 단말이, 상기 서버로부터 상기 프로그램을 업데이트하기 위한 업데이트 파일, 상기 프로그램의 무결성 검증 값을 업데이트하기 위한 업데이트 값 및 상기 서버의 서명값을 전달받고, 전달받은 상기 업데이트 값 및 상기 서명값을 포함하는 업데이트 요청 메시지를 상기 HSM에게 전달하는 단계와, 상기 HSM이, 상기 서버의 서명값을 검증하여 검증에 성공하면, 상기 업데이트 요청 메시지에 응답하여 상기 단말의 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계와, 상기 단말이, 상기 인증 정보 요청 메시지에 대한 상기 단말의 사용자 인증 정보를 상기 HSM에게 전달하는 단계와, 상기 HSM이, 상기 사용자 인증 정보와 사전 등록된 사용자 인증 정보와 비교하여 상기 단말에 대한 인증 과정을 수행하여, 상기 단말의 사용자에 대한 인증을 성공하면, 사전에 저장된 무결성 검증 값을 상기 업데이트 값으로 업데이트하는 단계와, 상기 HSM이, 상기 무결성 검증 값의 업데이트를 완료하면, 업데이트 완료 메시지를 상기 단말에게 전달하는 단계 및 상기 단말이, 상기 업데이트 완료 메시지에 응답하여 상기 업데이트 파일로 상기 프로그램을 업데이트하는 단계를 포함한다.
본 발명의 또 다른 일면에 따른 하드웨어 보안 모듈은, 상기 단말의 공개키 및 비밀키로 이루어진 키 쌍을 생성하는 키 생성부; 상기 단말의 사용자 인증 정보 및 상기 단말에 설치된 중요 데이터의 무결성을 검증하기 위한 무결성 검증 값을 저장한 저장부; 및 상기 단말에 구비된 제1 프로세서와 독립적으로 구동되고, 상기 제1 프로세서로부터 상기 단말의 공개키로 암호화된 상기 무결성 검증 값의 업데이트 값을 수신하여, 수신된 상기 업데이트 값으로 상기 저장부에 저장된 무결성 검증 값을 업데이트하는 제2 프로세서를 포함한다. 여기서, 상기 제2 프로세서는 상기 제1 프로세서로부터 상기 단말의 공개키로 암호화된 상기 단말의 사용자 인증 정보를 수신하고, 수신된 상기 단말의 사용자 인증 정보를 상기 단말의 비밀키로 복호화하여, 복호화된 상기 단말의 사용자 인증 정보와 상기 저장부에 저장된 상기 단말의 사용자 인증 정보를 비교하여, 사용자 인증이 성공하면, 상기 암호화된 상기 무결성 검증 값의 업데이트 값을 상기 단말의 비밀키로 복호화하고, 복호화된 상기 업데이트 값으로 상기 저장부에 저장된 무결성 검증 값을 업데이트한다.
본 발명에 따르면, 모바일 단말에 저장된 중요 프로그램 또는 모바일 단말에 내장된 HSM에 저장된 무결성 검증 값이 사용자 인증 및 그에 대한 접근 권한을 검증 한 후에 업데이트 되기 때문에, 이들의 업데이트 과정이 외부로부터 안전하게 보호될 수 있다.
도 1은 본 발명의 실시 예에 따른 컴퓨팅 시스템의 전체 구성을 보여주는 도면이다.
도 2는 본 발명의 실시 예에 따라 모바일 단말의 사용자를 HSM에 등록하는 과정을 보여주는 흐름도이다.
도 3은 본 발명의 실시 예에 따른 모바일 단말 및 사용자를 서버에 등록하는 과정을 보여주는 흐름도이다.
도 4는 본 발명의 실시 예에 따른 HSM에 저장된 무결성 검증 값 및 모바일 단말에 설치된 프로그램을 업데이트하는 과정을 보여주는 흐름도이다.
종래의 문제점을 해결하기 위해, 본 발명에서는 모바일 단말 및 모바일 단말에 내장되는 하드웨어 보안 모듈에 저장되는 중요 데이터에 대해서는, 사용자 인증 및 그에 대한 접근 권한을 검증 한 후, 수정 또는 업데이트가 이루어질 수 있는 방법이 제안된다.
본 발명의 전술한 목적 및 그 이외의 목적과 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다.
그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 이하의 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 목적, 구성 및 효과를 용이하게 알려주기 위해 제공되는 것일 뿐으로서, 본 발명의 권리범위는 청구항의 기재에 의해 정의된다.
한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자가 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가됨을 배제하지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대해 상세 기술한다.
도 1은 본 발명의 실시 예에 따른 있는 전체 시스템 구성을 보여주는 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 전체 시스템(300)은 하드웨어 보안 모듈(Hardware Secure Module: HSM)에 저장된 무결성 검증 값(Integrity Check Value)을 안전하게 업데이트하고, 안전하게 업데이트된 무결성 검증 값을 기반으로 모바일 단말에 설치 및 저장된 소프트웨어를 안전하게 업데이트 한다.
이를 위해, 본 발명의 실시 예에 따른 전체 시스템(300)은 유무선 통신망(150)으로 연결된 서버(100)와 모바일 단말(200)을 포함하고, 상기 모바일 단말(200)에는 HSM(270)이 내장된다.
본 실시 예에서는 HSM(270)이 상기 모바일 단말(200)에 내장된 형태를 예시하였지만, 모바일 단말로부터 물리적으로 분리되어, 상기 모바일 단말의 보안 작업을 처리할 수 도 있다. 이 경우, 모바일 단말(200)과 HSM(270)은 micro-SD(Secure Digital) 카드 인터페이스나 USIM(Universal Subscriber Identity Module) 인터페이스 등으로 연결 될 수도 있다.
서버(100)는 모바일 단말(200)에 설치된 각종 프로그램의 업데이트 여부를 확인하고, 업데이트가 필요한 경우, 유무선 통신망(150)을 통해 해당 프로그램의 업데이트할 수 있는 업데이트 파일이 있음을 모바일 단말(200)에 알린다.
서버(100)는 모바일 단말(200)로부터 해당 프로그램의 업데이트를 요청 받으면, 프로그램의 업데이트 하기 위한 업데이트 파일, 업데이트 파일의 무결성을 검증할 수 있는 무결성 검증 값 및 서버의 서명값을 상기 유무선 통신망(150)을 이용하여 모바일 단말(200)로 전달한다. 이때, 보안을 위해, 무결성 검증 값과 서명값은 비대칭키 암호 알고리즘(asymmetric key algorithm)에 따라 암호화되고 생성되어, 상기 모바일 단말(200)로 전달된다.
예를 들면, 서버(100)는 비대칭키 암호 알고리즘에 따라 서버 자신의 공개키 및 비밀키로 이루어진 키 쌍을 생성하여 이를 가지고 있으며, 모바일 단말의 고유한 비대칭키 키쌍 중에서 공개키를 갖고 있다. 상기 모바일 단말의 공개키로 상기 무결성 검증 값을 암호화하여 이를 상기 모바일 단말(200)로 전달할 수 있다.
또한, 서버(100)는 서버 자신의 비밀키로 서명한 서명값을 생성하여, 이를 상기 암호화된 무결성 검증 값과 함께 상기 모바일 단말(200)로 전달할 수 있다.
중요한 점은 모바일 단말(200)이 모바일 단말의 공개키로 암호화된 무결성 검증 값과 서버의 비밀키로 서명된 서명값을 수신하지만, 보안을 위해, 이들을 복호화하고, 저장하지 않는다는 점이다.
즉, 상기 모바일 단말(200)은 모바일 단말의 공개키로 암호화된 무결성 검증 값과 서버의 비밀키로 서명된 서명값을 상기 모바일 단말(200)에 내장된 HSM(270)에게 전달하는 전달 매개체로서의 기능을 수행할 따름이다.
따라서, 모바일 단말의 공개키로 암호화된 무결성 검증 값과 서버의 비밀키로 서명된 서명값은 HSM(270)에서 복호화되고, HSM(270) 내부의 저장 유닛에 저장된다.
서버(100)는 모바일 단말(200)에 설치된 각종 프로그램의 제조사에서 운영하는 서버이거나, 모바일 단말(200)의 제조사에서 운영하는 서버일 수도 있다. 또한 서버(100)는 유무선 통신망(150)을 운영 및 관리하는 통신사에서 운영하는 서버일 수도 있다.
모바일 단말(200)은 통신부(210), 제1 프로세서(230), 제1 저장부(250), 데이터 버스(260) 및 HSM(270)을 포함하며, 이들 각각은 데이터 버스(260)를 통해 통신한다.
통신부(210)는 WCDMA, 3G(The Third Generation), 3G LTE, 4G 이동 통신 규격을 지원하도록 하드웨어적으로 구성될 수 있다. 통신부(210)는 상기 이동 통신 규격에 따라 유무선 통신망(150)에 접속하고, 상기 유무선 통신망(150)에 접속된 서버(100)와 통신한다.
제1 프로세서(230)는 제1 저장부(250)에 저장된 처리 명령어, 모바일 프로그램, 모바일 앱, 서버로부터 전달받은 각종 프로그램의 업데이트 파일 또는 모바일 단말의 설정을 관리하는 관리 앱(Admin 앱) 등을 실행하는 중앙 처리 유닛 또는 반도체 장치일 수 있다.
제1 프로세서(230)는 서버(100)로부터 전달되는 정보, 메시지, 데이터 등을 데이터 버스(260)를 통해 HSM(270)에 전달한다. 반대로 제1 프로세서(230)는 HSM(270)로부터 전달되는 정보, 메시지, 데이터 등을 유무선 통신망을 통해 서버(100)에게 전달하도록 통신부(210) 등을 포함하는 주변 유닛을 제어한다.
제1 저장부(250)는 휘발성 저장 매체 또는 비 휘발성 저장 매체를 포함할 수 있으며, 예컨대, ROM, Flash ROM 및 RAM을 포함할 수 있다.
HSM(270)은 제1 프로세서(230)의 제어에 따라, 상기 서버(100)로부터 전달되는 정보, 메시지, 데이터 등을 처리한다. 예컨대, HSM(270)은 비대칭 알고리즘에 따라 암호화된 정보, 메시지, 데이터 등을 상기 서버로부터 전달받는 경우, 이들을 복호화할 수 있고, 복호화된 정보, 메시지, 데이터 등을 내부에 안전하게 저장한다. 또한 HSM(270)은 내부에 구비된 하드웨어 자원을 이용하여 각종 요청 메시지 등을 생성하여 모바일 단말(200)의 제1 프로세서(230)에 전달하거나, 제1 프로세서(230)의 제어를 통해 상기 서버(100)로 전달할 수 있다.
구체적으로, HSM(270)은 키 생성부(272), 제2 프로세서(274) 및 제2 저장부(276)를 포함한다.
키 생성부(272)는 모바일 단말의 공개키 및 비밀키로 이루어진 키 쌍을 생성한다. 이러한 키 쌍의 생성은 모바일 단말의 제조 시에 생성되어, 제2 저장부(276)에 저장될 수 있다. 중요한 점은 모바일 단말(200)의 고유한 공개키 및 비밀키로 이루어진 키쌍은 모바일 단말이 자체적으로 보유한 보안 소프트웨어가 아닌 반드시 HSM 내의 키 생성부에 의해 생성되어야 한다.
또한 키 생성부(272)에 의해 생성된 단말의 키 쌍 중 공개키는 서버(100)에 저장될 수도 있는데, 예컨대, 아래에서 설명하겠지만, 모바일 단말의 사용자 또는 판매자가 모바일 단말(200)을 상기 서버(100)에 등록하는 과정에서 유무선 통신 망(150)을 통해 상기 서버(100)에 전달되어, 상기 서버(100)에 저장될 수 있다.
제2 프로세서(274)는 제1 프로세서(230)의 제어에 따라 상기 서버(100)로부터 전달되는 각종 정보, 메시지, 데이터 등을 처리한다. 예컨대, 상기 서버(100)로부터 전달되는 암호화된 무결성 검증 값을 복호화하는 복호화 작업을 처리할 수 있다. 또한 제2 프로세서(274)는 상기 서버(100)로부터 전달되는 서명값을 서버(100)의 공개키로 검증하는 검증 작업을 처리할 수 있다.
제2 저장부(276)에는 서버(100)의 공개키 외에 상기 키생성부(272)에서 생성된 모바일 단말(200)의 공개키 및 비밀키가 저장된다.
본 실시 예에서는 설명의 이해를 돕기 위해, 서버(100)와 모바일 단말(200)에 내장된 HSM(270)이 최초 생성한 각자의 공개키 및 비밀키로 이루어진 키 쌍을 이용하여 암복호화 작업, 서명 생성 작업 및 검증 작업을 각각 처리하는 것으로 가정한다.
다르게, 서버(100)와 모바일 단말(200)에 내장된 HSM(270)은 암복호화 작업, 서명 생성 작업 및 검증 작업을 처리하는 매 작업 처리 시점마다 각자의 고유한 키를 기반으로 키 쌍을 새롭게 생성하고, 새롭게 생성된 키 쌍 중 각자의 공개키를 상호 교환함으로써, 더욱 안전하게 작업을 수행할 수도 있다.
이하, 도 1에 도시된 각 구성들을 이용하여 HSM(270)에 저장된 무결성 검증 값을 업데이트 하고, 업데이트된 무결성 검증 값을 기반으로 모바일 단말(200)에 저장된 프로그램의 업데이트 방법에 대해 도 2 내지 도 4를 참조하여 상세 기술한다.
본 발명의 실시 예에 따른 업데이트 방법은 크게 사전 등록 단계, HSM(270)에 저장된 무결성 검증 값을 업데이트 하는 단계 및 업데이트된 무결성 검증 값을 기반으로 모바일 단말에 설치된 프로그램을 업데이트 하는 단계로 구분할 수 있다.
사전 등록 단계는, 크게 모바일 단말(200)의 사용자를 HSM(270)에 등록하는 과정과 모바일 단말(200) 및 모바일 단말의 사용자를 서버(100)에 등록하는 과정으로 나눌 수 있다.
모바일 단말(200)의 사용자를 HSM(270)에 등록하는 과정은 도 2를 참조하여 설명되고, 모바일 단말(200) 및 모바일 단말(200)의 사용자를 서버(100)에 등록하는 과정은 도 3을 참조하여 설명된다.
사전 등록 과정이 완료되면, HSM(270)에 저장된 무결성 검증 값을 업데이트 하는 단계 및 업데이트된 무결성 검증 값을 기반으로 모바일 단말에 설치된 프로그램을 업데이트 하는 단계가 진행되는 데, 이는 도 4를 참조하여 설명된다.
도 2는 본 발명의 실시 예에 따라 모바일 단말의 사용자를 HSM에 등록하는 과정을 보여주는 흐름도이다.
도 2를 참조하면, 사용자는 모바일 단말을 구매하고, 모바일 단말에 설치된 임의의 관리 앱을 통해 등록 과정을 수행하는 것으로 가정한다. 따라서, 아래의 각 단계의 수행 주체는 관리 앱으로 가정한다. 실질적으로, 상기 관리 앱은 도 1에 도시된 제1 프로세서(230)에 의해 실행되므로, 아래의 각 단계의 수행 주체는 제1 프로세서(230)로 해석될 수도 있다.
먼저, 모바일 단말의 관리 앱이 사용자 등록을 요청하는 사용자 등록 요청 메시지를 HSM에 전달한다(S210).
이어, HSM은 상기 사용자 등록 요청 메시지에 응답하여 모바일 단말의 사용자를 등록하기 위한 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 모바일 단말의 관리 앱에게 전달한다(S220). 이때, HSM은 자신의 내부 메모리에 모바일 단말의 고유한 공개키 및 비밀키로 이루어진 키 쌍이 저장되어 있는지 확인하고, 없으면, 모바일 단말의 공개키 및 비밀키로 이루어진 키 쌍을 생성하고, 이 중 모바일 단말의 공개키를 상기 인증 정보 요청 메시지에 포함시켜 모바일 단말의 관리 앱에게 전달한다.
이어, 모바일 단말의 관리 앱은 상기 인증 정보 요청 메시지에 응답하여, 상기 모바일 단말의 사용자 등록을 위한 사용자 인증 정보를 생성하여 이를 상기 HSM에 전달한다(S230). 이때, 모바일 단말의 관리 앱은 사용자 인증 정보를 상기 수신한 인증 정보 요청 메시지에 포함된 모바일 단말의 공개키로 암호화하고, 암호화된 사용자 인증 정보를 HSM에 전달한다.
여기서, 모바일 단말의 사용자를 HSM에 등록하기 위한 사용자 인증 정보는 모바일 단말의 사용자가 HSM에 접근할 수 있는 정당한 권한이 있는지 여부를 알려주는 정보이다. HSM에는 중요 데이터들이 저장되기 때문에, HSM이 접근하는 모바일 단말의 사용자가 정당한 권한이 있는지 여부를 확인할 필요가 있다.
사용자 인증 번호는 예컨대, PIN 번호(Personal Identification Number) 등일 수 있다. PIN 번호인 경우, PIN 번호는 다른 정보와 결합하고, 다른 정보와 결합된 PIN 번호를 해쉬 함수로 표현되는 형태로 HSM의 내부 저장 유닛에 저장될 수 있다.
이어, HSM은 모바일 단말의 관리 앱으로부터 전달받은 암호화된 사용자 인증 정보를 모바일 단말의 비밀키로 복호화하고, 복호화된 사용자 인증 정보를 내부 저장 유닛에 저장함으로써, 사용자 등록을 완료한다(S240). 필요에 따라서는 사용자 인증 정보를 복호화하지 않고 암호화된 상태로 저장할 수도 있다. 이때, HSM은 사용자 등록이 완료되면, 사용자 등록의 완료를 알리는 등록 완료 메시지를 모바일 단말의 관리 앱에 전달함으로써, 모바일 단말의 사용자를 HSM에 등록하는 일련의 절차를 종료한다.
모바일 단말의 관리 앱이 사용자 등록을 완료하면, HSM에 저장되어 있는 단말 등록 정보 및 사용자 등록 정보를 서버로 전달하는 단말 및 사용자를 서버(100)에 등록하는 과정이 진행된다. 이는 도 3을 참조하여 설명한다.
도 3은 본 발명의 실시 예에 따른 모바일 단말 및 사용자를 서버에 등록하는 과정을 보여주는 흐름도이다.
도 3을 참조하면, 모바일 단말의 관리 앱이 단말 및 사용자 등록을 요청하는 등록 요청 메시지를 서버에 전달한다(S312).
이어, 서버는 등록 요청 메시지에 응답하여 단말 및 사용자의 등록 정보를 요청하는 등록 정보 요청 메시지를 모바일 단말에게 전달한다(S314). 이때, 상기 등록 정보 요청 메시지는 서버의 비밀키로 서명된 서버의 서명 값을 포함할 수 있다.
이어, 모바일 단말의 관리 앱은 서버로부터 전달받은 상기 등록 정보 요청 메시지를 HSM으로 전달함으로써, HSM에게 단말 및 사용자의 등록 정보를 요청한다(S316).
이어, HSM은 모바일 단말의 관리 앱으로부터 전달받은 상기 등록 정보 요청 메시지에 포함된 서버의 서명 값을 사전에 저장한 서버의 공개키로 검증하고, 서명 값이 검증되면, 사용자 인증을 위해 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 모바일 단말의 관리 앱에게 전달한다(S318). 이때, HSM에서 생성한 모바일 단말의 공개키가 상기 인증 정보 요청 메시지에 포함되어 모바일 단말의 관리 앱으로 전달된다.
이어, 모바일 단말의 관리 앱은 도 2의 사용자 등록 과정에서 생성한 사용자 인증 정보를 HSM에 전달한다(S320). 이때, 사용자 인증 정보는 상기 S318에서 전달받은 모바일 단말의 공개키로 암호화되고, 암호화된 사용자 인증 정보가 HSM에 전달된다. 이때, HSM은 모바일 단말의 관리 앱으로부터의 암호화된 사용자 인증 정보를 모바일 단말의 비밀키로 복호화하고, 상기 복호화된 사용자 인증 정보와 도 2의 등록 과정에서 저장한 사용자 인증 정보를 비교하여 사용자 인증 과정을 수행한다.
이어, 사용자 인증이 성공되면, HSM은 단말 및 사용자 등록에 필요한 등록 정보를 모바일 단말의 관리 앱에 전달한다(S322). 이때, 단말 및 사용자 등록 정보는 서버의 공개키로 암호화되어, 모바일 단말의 관리 앱에게 전달되고, 암호화된 단말 및 사용자 등록 정보 외에 단말의 비밀키로 서명된 단말의 서명 값도 함께 모바일 단말의 관리 앱에게 전달된다.
모바일 단말의 관리 앱에 전달되는 단말 및 사용자 등록 정보는 HSM의 내부 저장 유닛에 사전에 저장되어 있는 등록 정보이다. 여기서, 단말의 등록 정보는 서버에 모바일 단말을 등록하기 위한 등록 정보로서, 모바일 단말의 시리얼 넘버, 제조일자, 모바일 단말의 공개키 등을 포함할 수 있다. 사용자의 등록 정보는, 서버에 모바일 단말의 사용자를 등록하기 위한 등록 정보로서, 모바일 단말의 사용자 이름, 생년월일, 성별, 그 외에 일반적으로 사용자 등록 시 필요한 중요 정보 등을 포함할 수 있다.
이어, 모바일 단말은 HSM으로부터 전달받은 서버의 공개키로 암호화된 단말 및 사용자의 등록 정보 및 모바일 단말의 비밀키로 서명된 단말의 서명 값을 유무선 통신망(도 1의 150)을 통해 서버로 전달한다(S324).
서버는 유무선 통신망(도 1의 150)을 통해 전달받은 단말 및 사용자의 등록 정보를 서버의 비밀키로 복호화하고, 단말의 서명 값을 단말의 등록 정보에 포함된 공개키로 단말의 서명 값을 검증한다. 서명 값이 검증되면, 단말 및 사용자의 등록 정보를 서버 내의 저장 유닛에 저장함으로써, 단말 및 사용자를 등록한다(S326). 동시에 단말 및 사용자 등록의 완료를 나타내는 등록 완료 메시지를 모바일 단말에 전달함으로써, 서버에 단말 및 사용자를 등록하기 위한 일련 절차들이 종료된다.
이하, HSM에 저장된 무결성 검증 값 및 모바일 단말에 설치된 프로그램을 업데이트하는 과정에 대해 도 4를 참조하여 상세 기술한다.
도 4는 본 발명의 실시 예에 따른 HSM에 저장된 무결성 검증 값 및 모바일 단말에 설치된 프로그램을 업데이트하는 과정을 보여주는 흐름도이다.
도 4를 참조하면, 서버는 모바일 단말에 설치된 프로그램의 업데이트 파일이 있음을 알리는 업데이트 알림 메시지를 모바일 단말에 전달한다(S412).
이어, 모바일 단말의 관리 앱은 상기 업데이트 알림 메시지에 따라 설치된 프로그램의 업데이트 여부를 확인하고, 업데이트가 필요한 경우, 상기 프로그램을 업데이트하기 위한 업데이트 파일을 요청하는 프로그램 업데이트 요청 메시지를 서버에 전달한다(S414). 여기서, 업데이트 대상인 프로그램은 펌웨어, OS 버전, 임의의 모바일 앱 등일 수 있다.
이어, 서버는 프로그램 업데이트 요청 메시지에 응답하여 업데이트 대상에 해당하는 프로그램의 업데이트 파일을 모바일 단말의 관리 앱에 전달한다. 이때, 서버는 업데이트 파일에 대한 무결성 검증 값 및 서버의 서명 값을 상기 업데이트 파일과 함께 모바일 단말의 관리 앱에 전달한다. 여기서, 서버는 업데이트 파일에 대한 무결성 검증 값을 모바일 단말의 공개키로 암호화하여 모바일 단말의 관리 앱으로 전달하고, 서버의 비밀키로 생성한 서버의 서명값을 생성하고, 생성된 서버의 서명값을 모바일 단말의 관리 앱로 전달한다.
이어, 모바일 단말의 관리 앱은 서버로부터 전달받은 프로그램 업데이트 요청 메시지에 응답하여 HSM에 저장된 기존의 무결성 검증 값에 대한 업데이트를 요청하는 무결성 검증 값 업데이트 요청 메시지를 HSM에 전달한다(S418). 이때, 모바일 단말의 관리 앱은 서버로부터 전달받은 업데이트 파일에 대한 무결성 검증 값 및 서버의 비밀키로 생성된 서버의 서명 값도 HSM에게 전달한다.
이어, HSM은 모바일 단말의 관리 앱으로부터 전달받은 서버의 서명 값을 서버의 공개키로 검증한다(S420).
이어, 검증이 성공되면, HSM은 기존에 저장된 무결성 검증 값에 대한 업데이트 요청이 무결성 검증 값에 대한 업데이트 권한이 있는 사용자가 요청하는 것인지를 확인하기 위해, 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 모바일 단말의 관리 앱에게 전달한다(S422). 이때, HSM은 모바일 단말의 공개키도 인증 정보 요청 메시지와 함께 모바일 단말의 관리 앱에게 전달한다.
이어, 모바일 단말의 관리 앱은 인증 정보 요청 메시지에 응답하여 사용자 인증 정보를 상기 S422에서 전달받은 모바일 단말의 공개키로 암호화하여 HSM에 전달한다(S424).
이어, HSM은 암호화된 사용자 인증 정보를 모바일 단말의 비밀키로 복호화하고, 복호화된 사용자 인증 정보와 도 2의 사전 등록 과정에서 저장된 사용자 인증 정보를 비교하여 사용자 인증 과정을 수행하고, 모바일 단말의 사용자의 인증을 성공되면, 모바일 단말의 공개키로 암호화된 무결성 검증 값을 모바일 단말의 비밀키로 복호화하고, 복호화된 무결성 검증 값으로 기존에 저장된 무결성 검증 값을 업데이트 한다(S426).
이어, 기존의 무결성 검증 값이 업데이트 파일에 대한 무결성 검증 값으로의 업데이트가 완료되면, HSM이 무결성 검증 값의 업데이트 완료를 알리는 업데이트 완료 메시지를 모바일 단말에게 전달한다(S428). 이때, HSM은 모바일 단말의 비밀키로 서명한 모바일 단말의 서명 값도 업데이트 완료 메시지와 함께 모바일 단말에게 전달한다.
이어, 모바일 단말은 상기 업데이트 완료 메시지에 응답하여 상기 S416에서 전달받은 업데이트 파일로 해당 프로그램을 업데이트한다(S430).
이어, 해당 프로그램의 업데이트가 완료되면, 모바일 단말은 해당 프로그램의 업데이트 완료를 알리는 업데이트 완료 메시지를 상기 S428에서 전달받은 모바일 단말의 서명 값과 함께 서버로 전달함으로써(S432), HSM에 저장된 무결성 검증 값 및 모바일 단말에 설치된 프로그램을 업데이트하기 위한 일련의 모든 절차가 종료된다.
이상 설명한 바와 같이, 모바일 단말에 저장된 중요 프로그램 또는 모바일 단말에 내장된 HSM에 저장된 무결성 검증 값이 사용자 인증 및 그에 대한 접근 권한을 검증한 후에 업데이트 되기 때문에, 이들의 업데이트 과정이 외부로부터 안전하게 보호될 수 있다.

Claims (17)

  1. 단말에 내장되고, 상기 단말에 구비된 하드웨어 자원과 독립되는 전용 하드웨어 자원을 구비하고, 상기 전용 하드웨어 자원을 기반으로 상기 단말 내에 설치된 중요 데이터의 무결성 검증과 관련된 보안 작업을 처리하는 하드웨어 보안 모듈(Hardware Secure Module: HSM)로서, 상기 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법에 있어서,
    상기 단말로부터 전달받은 상기 단말의 사용자 인증 정보를 저장하여 상기 단말의 사용자를 사전 등록하는 단계;
    상기 단말로부터 상기 무결성 검증 값의 업데이트 값 및 서버의 서명값을 포함하는 업데이트 요청 메시지에 응답하여 상기 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계;
    상기 인증 정보 요청 메시지에 따라 상기 단말로부터 전달받은 상기 사용자 인증 정보와 상기 사전 등록 시에 상기 저장된 사용자 인증 정보를 비교하여 상기 단말의 사용자에 대한 인증 과정을 수행하는 단계; 및
    상기 단말의 사용자에 대한 인증을 성공하면, 상기 업데이트 값으로 상기 저장된 무결성 검증 값을 업데이트하는 단계를 포함하고,
    상기 무결성 검증 값의 업데이트를 완료하면, 상기 단말이 상기 서버로부터 전달받은 업데이트 파일로 이전에 저장한 프로그램을 업데이트하도록 지시하는 상기 무결성 검증 값에 대한 업데이트 완료 메시지를 상기 단말에게 전달하는 단계를 더 포함하는 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법.
  2. 제1항에 있어서, 상기 단말의 사용자를 사전 등록하는 단계,
    상기 단말로부터 자신의 등록을 요청하는 등록 요청 메시지를 전달받는 단계;
    상기 등록 요청 메시지에 응답하여 상기 사용자 인증 정보를 요청하는 등록용 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계;
    상기 단말로부터, 상기 등록용 인증 정보 요청 메시지에 대한 암호화된 상기 사용자 인증 정보를 전달받는 단계;
    상기 암호화된 상기 사용자 인증 정보를 복호화하고, 복호화된 상기 사용자 인증 정보를 내부 메모리에 저장하는 단계; 및
    상기 저장을 완료하면, 상기 단말의 사용자에 대한 사전 등록의 완료를 알리는 등록 완료 메시지를 상기 단말로 전달하는 단계를 포함함을 특징으로 하는 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법.
  3. 제2항에 있어서, 상기 등록용 인증 정보 요청 메시지를 단말에게 전달하는 단계는,
    상기 단말의 공개키 및 비밀키로 이루어진 키 쌍을 생성하는 단계; 및
    상기 단말의 공개키를 포함하는 상기 등록용 인증 정보 요청 메시지를 단말에게 전달하는 단계를 포함함을 특징으로 하는 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법.
  4. 제3항에 있어서, 상기 암호화된 인증 정보를 전달받는 단계는,
    상기 단말의 공개키로 암호화된 사용자 인증 정보를 전달받는 단계임을 특징으로 하는 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법.
  5. 제4항에 있어서, 상기 복호화된 상기 단말의 사용자 인증 정보를 내부 메모리에 저장하는 단계는,
    상기 단말의 공개키로 암호화된 상기 단말의 사용자 인증 정보를 상기 단말의 비밀키로 복호화하는 단계; 및
    상기 단말의 비밀키로 복호화된 상기 단말의 사용자 인증 정보를 상기 내부 메모리에 저장하는 단계를 포함함을 특징으로 하는 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트 하는 방법.
  6. 제1항에 있어서, 상기 사용자 인증정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계는,
    상기 단말의 공개키를 포함하는 상기 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계임을 특징으로 하는 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법.
  7. 제6항에 있어서, 상기 단말의 사용자에 대한 인증 과정을 수행하는 단계는,
    상기 단말의 공개키로 암호화된 단말의 사용자 인증 정보를 상기 단말로부터 전달받는 단계;
    상기 단말로부터 전달받은 상기 암호화된 단말의 사용자 인증 정보를 상기 단말의 비밀키로 복호화하는 단계; 및
    상기 복호화된 단말의 사용자 인증 정보를 사전 등록 단계에서 저장된 단말의 사용자 인증 정보와 비교하여 상기 단말의 사용자에 대한 인증 과정을 수행하는 단계를 포함함을 특징으로 하는 HSM에 저장된 무결성 검증 값을 업데이트 하는 방법.
  8. 단말에 내장되고, 상기 단말에 구비된 하드웨어 자원과 독립되는 전용 하드웨어 자원을 구비하고, 상기 전용 하드웨어 자원을 기반으로 상기 단말 내에 설치된 중요 데이터의 무결성 검증과 관련된 보안 작업을 처리하는 하드웨어 보안 모듈(Hardware Secure Module: HSM)로서, 상기 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법에 있어서,
    상기 단말이, 서버로부터 상기 프로그램을 업데이트하기 위한 업데이트 파일, 상기 프로그램의 무결성 검증 값을 업데이트하기 위한 업데이트 값 및 상기 서버의 서명값을 전달받고, 전달받은 상기 업데이트 값 및 상기 서명값을 포함하는 업데이트 요청 메시지를 상기 HSM에게 전달하는 단계;
    상기 HSM이, 상기 업데이트 요청 메시지에 응답하여 상기 단말의 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계;
    상기 단말이, 상기 인증 정보 요청 메시지에 대한 상기 단말의 사용자 인증 정보를 상기 HSM에게 전달하는 단계;
    상기 HSM이, 상기 사용자 인증 정보와 사전 등록된 사용자 인증 정보와 비교하여 상기 단말의 사용자에 대한 인증 과정을 수행하여, 상기 단말의 사용자에 대한 인증을 성공하면, 사전에 저장된 무결성 검증 값을 상기 업데이트 값으로 업데이트하는 단계;
    상기 HSM이, 상기 무결성 검증 값의 업데이트를 완료하면, 업데이트 완료 메시지를 상기 단말에게 전달하는 단계; 및
    상기 단말이, 상기 업데이트 완료 메시지에 응답하여 상기 업데이트 파일로 상기 프로그램을 업데이트하는 단계를 포함하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  9. 제8항에 있어서, 상기 업데이트 요청 메시지를 HSM에게 전달하는 단계 이전에,
    상기 서버가, 자신의 공개키 및 비밀키로 이루어진 키 쌍을 생성하는 단계;
    상기 HSM이, 단말의 공개키 및 비밀키로 이루어진 키 쌍을 생성하는 단계;
    상기 서버가, 상기 HSM에서 생성된 상기 단말의 공개키를 사전에 저장하는 단계; 및
    상기 HSM이, 상기 서버에서 생성된 상기 서버의 공개키를 사전에 저장하는 단계를 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  10. 제9항에 있어서, 상기 단말이, 상기 업데이트 요청 메시지를 상기 HSM에게 전달하는 단계 이전에,
    상기 단말이, 상기 서버로부터 상기 단말에 저장된 프로그램의 업데이트가 필요함을 알리는 업데이트 알림 메시지를 전달받는 단계;
    상기 단말이, 상기 업데이트 알림 메시지에 응답하여 상기 프로그램의 업데이트를 요청하는 프로그램 업데이트 요청 메시지를 상기 서버에게 전달하는 단계;
    상기 서버가, 상기 프로그램 업데이트 요청 메시지에 응답하여 상기 무결성 검증 값의 업데이트 값을 상기 단말의 공개키로 암호화하고, 상기 서버의 비밀키로 상기 서명값을 생성하는 단계; 및
    상기 서버가, 상기 암호화된 상기 무결성 검증 값의 업데이트 값과 상기 서버의 비밀키로 생성된 상기 서명값을 상기 단말에 전달하는 단계를 더 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  11. 제10항에 있어서, 상기 HSM이, 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계는,
    상기 업데이트 요청 메시지에 포함된 상기 서명값을 상기 서버의 공개키로 검증하는 단계; 및
    상기 검증이 성공되면, 상기 단말의 사용자 인증 정보를 요청하는 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계를 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  12. 제10항에 있어서, 상기 HSM이, 상기 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계는,
    상기 HSM이, 상기 단말의 공개키를 포함하는 상기 인증 정보 요청 메시지를 상기 단말에게 전달하는 단계임을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  13. 제12항에 있어서, 상기 단말이, 상기 단말의 사용자 인증 정보를 상기 HSM에게 전달하는 단계는,
    상기 단말이, 상기 단말의 공개키로 상기 단말의 사용자 인증 정보를 암호화하는 단계; 및
    상기 암호화된 상기 단말의 사용자 인증 정보를 상기 HSM에게 전달하는 단계를 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  14. 제13항에 있어서, 상기 HSM이, 사전에 저장된 무결성 검증 값을 상기 업데이트 값으로 업데이트하는 단계는,
    상기 단말의 비밀키로 상기 암호화된 상기 단말의 사용자 인증 정보를 복호화하는 단계;
    복호화된 상기 단말의 사용자 인증 정보와 사전에 저장된 상기 단말의 사용자 인증 정보를 비교하여, 상기 단말의 사용자 인증을 수행하는 단계;
    상기 단말에 대한 인증을 완료하면, 상기 단말의 공개키로 암호화된 상기 무결성 검증 값의 상기 업데이트 값을 상기 단말의 비밀키로 복호화하는 단계; 및
    상기 사전에 저장된 무결성 검증 값을 상기 단말의 비밀키로 복호화한 상기 업데이트 값으로 업데이트하는 단계를 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  15. 제9항에 있어서, 상기 HSM이, 상기 업데이트 완료 메시지를 상기 단말에게 전달하는 단계는,
    상기 단말의 비밀키로 서명한 상기 단말의 서명값을 생성하는 단계; 및
    상기 단말의 서명값을 포함하는 상기 업데이트 완료 메시지를 상기 단말에게 전달하는 단계를 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  16. 제9항에 있어서, 상기 업데이트 값 및 상기 서명값을 포함하는 업데이트 요청 메시지를 상기 HSM에게 전달하는 단계이전에,
    상기 HSM에 사전에 저장된 단말의 시리얼 넘버, 제조일자, 단말의 공개키를 포함하는 단말 등록 정보를 상기 서버의 공개키로 암호화하는 단계; 및
    상기 서버의 공개키로 암호화된 상기 단말 등록 정보를 상기 단말을 통해 상기 서버로 전달하여, 상기 단말 등록 정보를 상기 서버에 등록하는 단계를 더 포함함을 특징으로 하는 HSM을 이용하여 단말에 저장된 프로그램을 업데이트 하는 방법.
  17. 단말에 내장되고, 상기 단말에 구비된 하드웨어 자원과 독립되는 전용 하드웨어 자원을 구비하고, 상기 전용 하드웨어 자원을 기반으로 상기 단말 내에 설치된 중요 데이터의 무결성 검증과 관련된 보안 작업을 처리하는 하드웨어 보안 모듈(Hardware Secure Module)에 있어서,
    상기 단말의 공개키 및 비밀키로 이루어진 키 쌍을 생성하는 키 생성부;
    상기 단말의 사용자 인증 정보 및 상기 단말에 설치된 중요 데이터의 무결성을 검증하기 위한 무결성 검증 값을 저장한 저장부; 및
    상기 단말에 구비된 제1 프로세서와 독립적으로 구동되고, 상기 제1 프로세서로부터 상기 단말의 공개키로 암호화된 상기 무결성 검증 값의 업데이트 값을 수신하여, 수신된 상기 업데이트 값으로 상기 저장부에 저장된 무결성 검증 값을 업데이트하는 제2 프로세서를 포함하고,
    상기 제2 프로세서는,
    상기 제1 프로세서로부터 상기 단말의 공개키로 암호화된 상기 단말의 사용자 인증 정보를 수신하고, 수신된 상기 단말의 사용자 인증 정보를 상기 단말의 비밀키로 복호화하여, 복호화된 상기 단말의 사용자 인증 정보와 상기 저장부에 저장된 상기 단말의 사용자 인증 정보를 비교하여, 사용자 인증이 완료되면, 상기 암호화된 상기 무결성 검증 값의 업데이트 값을 상기 단말의 비밀키로 복호화하고, 복호화된 상기 업데이트 값으로 상기 저장부에 저장된 무결성 검증 값을 업데이트 하는 것을 특징으로 하는 하드웨어 보안 모듈.
KR1020150020746A 2015-02-11 2015-02-11 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법 KR102028197B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150020746A KR102028197B1 (ko) 2015-02-11 2015-02-11 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법
US15/018,778 US9904806B2 (en) 2015-02-11 2016-02-08 Hardware security module, method of updating integrity check value stored in hardware security module, and method of updating program stored in terminal by using hardware security module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150020746A KR102028197B1 (ko) 2015-02-11 2015-02-11 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법

Publications (2)

Publication Number Publication Date
KR20160098756A KR20160098756A (ko) 2016-08-19
KR102028197B1 true KR102028197B1 (ko) 2019-10-04

Family

ID=56566032

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150020746A KR102028197B1 (ko) 2015-02-11 2015-02-11 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법

Country Status (2)

Country Link
US (1) US9904806B2 (ko)
KR (1) KR102028197B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102604046B1 (ko) * 2016-11-28 2023-11-23 삼성전자주식회사 전자 기기의 프로그램 관리 방법 및 장치
US10360393B2 (en) 2017-04-28 2019-07-23 International Business Machines Corporation Synchronizing write operations
US10915463B2 (en) 2017-04-28 2021-02-09 International Business Machines Corporation Synchronizing requests to access computing resources
CN107911215B (zh) * 2017-11-21 2020-09-29 中国银行股份有限公司 一种hsm密钥的验证方法及装置
KR102049889B1 (ko) 2018-01-02 2019-11-28 디노플러스 (주) 하드웨어 보안 모듈을 이용한 데이터 위변조 방지장치 및 그 방법
EP3726324B1 (en) 2019-04-17 2023-03-01 Raytheon Technologies Corporation Gas turbine engine communication gateway with internal sensors
EP3726480B1 (en) * 2019-04-17 2024-09-25 RTX Corporation Remote updates of a gas turbine engine
KR102415005B1 (ko) * 2019-08-21 2022-07-01 한국전자통신연구원 실행코드를 검증하는 하드웨어 보안모듈 및 그것을 갖는 디바이스 및 그것의 동작 방법
KR102671054B1 (ko) * 2020-09-25 2024-05-31 라인플러스 주식회사 중앙은행 디지털 화폐를 위한 결제 방법 및 시스템
US11922404B2 (en) 2020-09-25 2024-03-05 LINE Plus Corporation Method and system for payment for central bank digital currency
US12021861B2 (en) * 2021-01-04 2024-06-25 Bank Of America Corporation Identity verification through multisystem cooperation
CN112989370B (zh) 2021-02-09 2023-06-30 腾讯科技(深圳)有限公司 密钥灌装方法、系统、装置、设备以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259782A1 (en) * 2005-05-16 2006-11-16 Lan Wang Computer security system and method
CN103843303A (zh) * 2012-11-22 2014-06-04 华为技术有限公司 虚拟机的管理控制方法及装置、系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489496B2 (en) 2004-11-12 2016-11-08 Apple Inc. Secure software updates
US8413209B2 (en) 2006-03-27 2013-04-02 Telecom Italia S.P.A. System for enforcing security policies on mobile communications devices
KR20120072032A (ko) 2010-12-23 2012-07-03 한국전자통신연구원 모바일 단말의 상호인증 시스템 및 상호인증 방법
US9135449B2 (en) 2012-07-24 2015-09-15 Electronics And Telecommunications Research Institute Apparatus and method for managing USIM data using mobile trusted module
KR101428769B1 (ko) 2012-10-12 2014-08-08 한국전자통신연구원 스마트 그리드 시스템의 재구성을 지원하기 위한 블랙박스 장치 및 방법
EP2884692B1 (en) * 2013-12-13 2020-05-20 Nxp B.V. Updating software on a secure element
US9264419B1 (en) * 2014-06-26 2016-02-16 Amazon Technologies, Inc. Two factor authentication with authentication objects
US10013565B2 (en) * 2014-08-18 2018-07-03 Dell Products, Lp System and method for secure transport of data from an operating system to a pre-operating system environment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259782A1 (en) * 2005-05-16 2006-11-16 Lan Wang Computer security system and method
CN103843303A (zh) * 2012-11-22 2014-06-04 华为技术有限公司 虚拟机的管理控制方法及装置、系统

Also Published As

Publication number Publication date
US9904806B2 (en) 2018-02-27
KR20160098756A (ko) 2016-08-19
US20160232381A1 (en) 2016-08-11

Similar Documents

Publication Publication Date Title
KR102028197B1 (ko) 하드웨어 보안 모듈, 상기 하드웨어 보안 모듈에 저장된 무결성 검증 값을 업데이트하는 방법, 상기 하드웨어 보안 모듈을 이용하여 단말에 저장된 프로그램을 업데이트하는 방법
JP7364674B2 (ja) 安全な無線ファームウェアアップグレード
TWI489315B (zh) 用於電子裝置之暫時安全開機流程之系統與方法
US8607050B2 (en) Method and system for activation
US20080077592A1 (en) method and apparatus for device authentication
CN107464109B (zh) 可信移动支付装置、系统和方法
CN105915338B (zh) 生成密钥的方法和系统
CN104506515A (zh) 一种固件的保护方法和保护装置
JP5613596B2 (ja) 認証システム、端末装置、認証サーバ、およびプログラム
JP2012178010A (ja) 情報処理システム、及び情報処理方法
CN113099443A (zh) 设备认证方法、装置、设备和系统
US20220209946A1 (en) Key revocation for edge devices
JP2018117185A (ja) 情報処理装置、情報処理方法
CN110838919B (zh) 通信方法、存储方法、运算方法及装置
JP6701011B2 (ja) 端末登録方法、及び端末登録システム
EP3664362B1 (en) Key generation method, acquisition method, private key update method, chip and server
WO2024079438A1 (en) A device and a method for performing a cryptographic operation
KR20100043799A (ko) Mtm 기반 모바일 단말기 간의 비밀 데이터 이전 방법
JP5620805B2 (ja) データベース暗号化装置、データベース暗号化システム、データベース暗号化方法及びプログラム
KR101707121B1 (ko) 휴대통신기기 인증 시스템 및 그 방법
KR101804972B1 (ko) 휴대통신기기 인증 시스템 및 그 방법
CN113434865A (zh) 一种用于移动端的安全检测方法、装置、设备及存储介质
KR20160071711A (ko) 안전 인증 시스템 및 방법
CN111061490A (zh) 一种装载固件的方法、装置及电子设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right