KR20030083858A - 키 관리 방법 및 그를 위한 시스템 - Google Patents

키 관리 방법 및 그를 위한 시스템 Download PDF

Info

Publication number
KR20030083858A
KR20030083858A KR1020020022045A KR20020022045A KR20030083858A KR 20030083858 A KR20030083858 A KR 20030083858A KR 1020020022045 A KR1020020022045 A KR 1020020022045A KR 20020022045 A KR20020022045 A KR 20020022045A KR 20030083858 A KR20030083858 A KR 20030083858A
Authority
KR
South Korea
Prior art keywords
key
user
pair
key pair
session
Prior art date
Application number
KR1020020022045A
Other languages
English (en)
Other versions
KR100642978B1 (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 KR1020020022045A priority Critical patent/KR100642978B1/ko
Publication of KR20030083858A publication Critical patent/KR20030083858A/ko
Application granted granted Critical
Publication of KR100642978B1 publication Critical patent/KR100642978B1/ko

Links

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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/0822Key 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 key encryption key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 키 관리 기반 구조 시스템(key management infrastructure system)에 관한 것으로, 특히 공개키 기반 구조 시스템(PKI system)에서 키 위탁 및 키 복구 능력을 향상시켜 사용자의 편이성을 극대화시키는데 적당한 키 관리 방법 및 그를 위한 시스템에 관한 것이다. 이를 위해 본 발명은 특정 사용자에 대한 암호용 키 쌍을 생성하는 단계와, 임시로 미리 생성시킨 세션키로 상기 생성된 암호용 키 쌍을 암호화하는 단계와, 상기 세션키를 다수의 조각으로 분리시켜 다수의 서버들에 전달하는 단계와, 상기 서버들에서, 상기 세션키 조각들을 암호화하여 저장하는 단계로 이루어지며, 이후에, 상기 사용자로부터 상기 생성된 암호용 키 쌍의 복구가 요청됨에 따라, 상기 서버들에게 세션키 조각들을 요청하는 단계와, 상기 서버들이 자신에게 저장된 세션키 조각들을 각각 복호화하여 제공함에 따라, 그 세션키 조각들을 조합하여 상기 암호용 키 쌍을 복호화하는 단계와, 그 복호화된 암호용 키 쌍을 상기 사용자의 단말로 전달하는 단계가 더 포함된다.

Description

키 관리 방법 및 그를 위한 시스템{key management method, and method for the same}
본 발명은 키 관리 기반 구조 시스템(key management infrastructure system)에 관한 것으로, 특히 공개키 기반 구조 시스템(PKI system)에서 키 위탁 및 키 복구 능력을 향상시켜 사용자의 편이성을 극대화시키는데 적당한 키 관리 방법 및 그를 위한 시스템에 관한 것이다.
종래에는 여러 분야에서 인터넷 기술이 사용됨에 따라, 인터넷 보안 기술이요구되었다.
이러한 요구에 따라, 1991년 비대칭 키 알고리즘(asymmetric key algorithm)인 RSA(Rivest, Shamir, Adelman) 공개키 암호 방식(public key cryptosystem)에 대한 표준안이 발표되었다.
상기한 비대칭 키 알고리즘을 이용한 채널 암호화는 다수의 사용자 간에 보안 세션(security session)을 성공적으로 생성시켜 민감한 데이터를 온라인으로 주고받을 수 있도록 지원한다.
또한 비대칭 키 알고리즘을 사용한 서비스의 확산을 위해서, 공개키를 소유한 자의 증명을 위한 인증서(certificate) 개념이 도입된다. 온라인 사용자에게 인증서를 발급함으로써, 온라인 사용자들은 서로에 대한 인증이 가능하며, 또한 상호간 암호화 채널 형성이 가능해진다.
또한 비대칭 키 알고리즘에 의한 전자서명(electronic signature)을 사용함으로써, 온라인 사용자들이 주고받는 문서의 안전성(integrity)을 보증한다.
공개키 기반 구조(Public Key Infrastructure ; 이하, PKI 라 약칭함)는 상기에서 언급된 온라인 채널 보안과 사용자 인증과 전자서명 등의 보안 서비스를 제공한다.
PKI의 방식들 중에서는, 인증기관(Certificate Authority)에서 발생하는 인증서를 기반으로 상호 인증을 제공하는 ITU-T의 X.509 방식이 표준규격안으로 사용되고 있다.
특히 PKI에서는 키 사용목적을 문서에 대한 전자서명과 암호화 등으로 규정하고 있다.
문서에 대한 전자서명과 암호화의 특성을 각각 살펴보면, 전자서명 문서의 경우에는 키 생성자(사용자)의 비밀키(Private key)가 소멸되거나 손상되었을 때에도 해당 전자서명 사용자의 인증서를 발급한 인증기관이나 그 인증서를 저장하는 디렉토리 서버(directory server)를 통해 전자서명 값을 검증할 수 있는 공개키(public key) 정보를 쉽게 얻어낼 수 있다. 그러나 암호화된 문서의 경우에는 해당 문서를 암호화한 사용자의 비밀키가 소멸되거나 손상된다면 그 문서 자체까지 손실된다는 문제가 있다.
이렇게 문서에 대한 전자서명과 암호화의 특성들 때문에 PKI 표준규격안에서는 전자서명과 문서 암호화에 대해 각기 다른 키 정보를 이용해 보안 작업을 수행하도록 권고하고 있으며, 또한 사용자는 사용목적에 부합되는 인증서를 발급받아 사용토록 권하고 있다.
이러한 PKI 기반의 서비스가 성공적으로 운용됨에 따라, 다양한 전자상거래 및 전자결재, 전자문서화 등의 비즈니스가 안정적으로 진행되고 있으며, PKI에 기초한 암호화된 전자문서들이 증가하고 있는 실정이다. 특히 기업이나 단체는 중요자료를 암호화하여 보관하는 것이 일반화되었다.
그러나 암호화된 자료를 운용하는데 여러 부작용들이 대두되고 있으며, PKI의 확장 및 다양한 비즈니스 모델에 따른 사용자들의 요구가 복잡 다양해지고 있다.
다시 말해서 종래에는 암호문의 소유자, 즉 암호화 시스템의 키를 소유한 사람이 아니면 암호문을 풀 수 없었기 때문에, 키를 분실했을 경우에 중요한 정보 내지 문서의 복구가 어렵다는 단점이 있었다.
특히 현재 특정 단체나 기업에서는 직원(또는 회원)들 각 개인의 암호용 키로 자료나 문서를 보관한다. 그런데 이와 같이 암호화된 자료나 문서를 보관할 때 직원들(또는 회원들) 각 개인의 암호용 키에 100% 의존한다면, 그 직원이 퇴사하거나 그 자신의 암호용 키를 분실할 경우에 해당 자료나 문서까지 소실될 우려가 생긴다는 단점이 있다.
이에 따라 두 개 이상의 비대칭 키 쌍(비밀키와 공개키)과 인증서를 획득한 사용자들에 대해, 그 사용자들이 소유한 암호용 키나 서명용 키에 대한 적절한 관리가 요구되고 있는 실정이다.
본 발명의 목적은 이와 같은 종래 기술의 문제점을 해결하기 위하여 안출한 것으로, 암호문 소유자가 아니라도 암호화된 암호문에 대한 약속된 조건을 만족시키면 암호문을 풀 수 있도록, 적절한 키 위탁 및 키 복구 능력을 지원하는 키 관리 방법 및 그를 위한 시스템을 제공하는데 있다.
또한 본 발명에서는 단체나 기업에서 특정 직원(또는 회원)의 암호용 키로 암호화된 자료나 문서에 대해, 그 단체나 기업의 상급 관리자들(superior or CEO)이 그 암호화된 자료나 문서에 의해 접근할 수 있도록 해주는 키 관리 방법 및 그를 위한 시스템을 제공한다.
상기한 목적을 달성하기 위한 본 발명에 따른 키 관리 방법의 특징은, 특정사용자에 대한 암호용 키 쌍을 생성하는 단계와, 임시로 미리 생성시킨 세션키로 상기 생성된 암호용 키 쌍을 암호화하는 단계와, 상기 세션키를 다수의 조각으로 분리시켜 다수의 서버들에 전달하는 단계와, 상기 서버들에서, 상기 세션키 조각들을 암호화하여 저장하는 단계로 이루어진다.
보다 바람직하게는 이후에, 상기 사용자로부터 상기 생성된 암호용 키 쌍의 복구가 요청됨에 따라, 상기 서버들에게 세션키 조각들을 요청하는 단계와, 상기 서버들이 자신에게 저장된 세션키 조각들을 각각 복호화하여 제공함에 따라, 그 세션키 조각들을 조합하여 상기 암호용 키 쌍을 복호화하는 단계와, 그 복호화된 암호용 키 쌍을 상기 사용자의 단말로 전달하는 단계가 더 포함된다.
다른 예로써 이후에, 상기 사용자보다 상위 권한을 갖는 관리자로부터 그 사용자의 암호용 키 쌍의 복구가 요청됨에 따라, 별도로 구비된 키 복구 에이젼트(KRA)가 상기 관리자에게 암호문에 대한 단서를 묻는 단계와, 상기 관리자가 상기 사용자보다 상위 권한을 갖는 키를 암호문의 단서로써 전달함에 따라, 상기 키 복구 에이젼트(KRA)가 그 상위 권한 키에 대해 인증을 실시하는 단계와, 상기 상위 권한 키가 암호문에 대한 약속된 조건을 만족하는 경우에, 상기 사용자의 암호용 키 쌍을 복호화하여 상기 관리자의 단말로 전달하는 단계가 더 포함되어 이루어진다.
상기한 목적을 달성하기 위한 본 발명에 따른 키 관리 시스템의 특징은, 특정 사용자의 서명용 키 쌍을 생성하며, 그 사용자의 서명용 인증서와 암호용 인증서를 발급하는 인증기관서버와, 상기 사용자의 암호용 키 쌍과 그 암호용 키 쌍을암호화할 세션키를 생성시키며, 그 생성된 세션키를 분리시킨 여러 키 조각들을 위탁시키는 키 관리 서버와, 상기 키 관리 서버와 연동하여, 상기 분리된 세션키의 여러 키 조각들을 암호화한 후 보관하는 다수의 키 복구 서버들로 구성된다.
바람직하게는 상기 사용자보다 상위 권한을 갖는 관리자의 키에 대한 인증을 실시하고, 그 인증 결과에 따라 상기 사용자의 암호용 키 쌍을 복구하여 상기 관리자에게 제공하기 위한 키 복구 에이젼트가 더 구비된다.
도 1은 본 발명에 따른 키 관리 시스템의 구성을 나타낸 도면.
도 2는 본 발명에 따른 키 위탁 및 복구 절차를 나타낸 상태흐름도.
도 3은 본 발명의 일 실시 예에 따른 키 복구 절차를 나타낸 상태흐름도.
*도면의 주요부분에 대한 부호설명*
10 : 키 관리 서버(KMS)
21~22 : 키 복구 서버(KRS)
30 : 키 복구 에이젼트(KRA)
이하, 본 발명의 바람직한 일 실시 예를 첨부한 도면을 참조하여 설명하면 다음과 같다.
도 1은 본 발명에 따른 키 관리 시스템의 구성을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 시스템은 키 관리 서버(KMS : key management server)(10)와, 다수 개의 키 복구 서버(KRS : key recovery server)(21~22)와, 키 복구 에이젼트(KRA : key recovery agent)(30)와, 인증기관서버(CA)(40)와, 소스 사용자 단말(source user terminal)(51)과, 원격 사용자 단말(remote user terminal)(52)과, 별도의 관리자 단말(manager terminal)(60)로 구성된다.
이하 설명에서는 일단 사용자가 소스 사용자 단말(51)에서 키 생성 요청 및 위탁 요청, 그리고 문서 전달을 수행하는 것으로 가정한다.
인증기관서버(CA)(40)는 소스 사용자 단말(51)로부터 서명용 키 쌍(공개키 쌍)의 생성과 인증서 발급 요청이 있으면, 해당 사용자의 서명용 키 쌍을 생성시키고, 그 서명용 키 쌍으로 제작된 인증서를 그 소스 사용자 단말(51)로 전달한다.사용자가 위탁 관리되고 있는 자신의 암호용 키 쌍을 복구하고자 할 때, 인증기관서버(CA)(40)는 소스 사용자 단말(51) 내지 원격 사용자 단말(52)로부터 암호용 인증서 발급 요청이 있으면, 보관하고 있던 암호용 키 쌍으로 제작된 그 사용자의 암호용 인증서를 사용자 단말(51~52)로 전달한다.
키 관리 서버(KMS)(10)는 키 생성 위탁 기능을 수행하며, 암호용 키 쌍(개인키)을 위탁보관소(본 발명에서는 키 복구 서버임)에 위탁 보관시킨다. 그리고 키 복구 서버들(KRSs)(21~22)과 연동하여 암호용 세션키를 관리한다. 여기서 세션키는 암호용 키 쌍(개인키)의 암호화를 위해 임시로 생성된 키이다.
그리고 키 관리 서버(KMS)(10)는 그 생성된 세션키로 암호화된 개인키를 보관한다.
기존에는 인증서를 제공받은 사용자 단말이나 인증기관서버(CA)에서 발급된 인증서를 기반하여 개인키를 생성하는 것이 일반적이었다. 그러나 이와 같이 본 발명에서는 인증기관서버(CA)(40)와 독립적으로 운용되는 키 관리 서버(KMS)(10)에서 사용자의 개인키를 생성시키고 관리한다.
보다 상세하게, 키 관리 서버(KMS)(10)는 상기 인증서를 전달받은 소스 사용자 단말(51)로부터 암호용 키 쌍(개인키 쌍)의 생성 요청이 있으면, 해당 사용자의 암호용 키 쌍을 생성시켜 그 소스 사용자 단말(51)로 전달한다. 이와 같은 암호용 키 쌍의 생성을 위해 키 관리 서버(KMS)(10)는 내부에 검증된 하드웨어 보안모듈(hardware security module)을 구비한다. 키 관리 서버(KMS)(10)가 그 하드웨어 보안모듈을 사용하여 사용자의 암호용 키를 생성시킴에 따라 내부적인 키유출이 미연에 방지된다.
이후에 키 관리 서버(KMS)(10)는 생성된 암호용 키 쌍을 위탁 관리한다.
암호용 키 쌍의 위탁 관리에 있어서, 키 관리 서버(KMS)(10)는 먼저 생성된 암호용 키 쌍을 세션키(session key)로 암호화하고, 그때 사용된 세션키를 여러 키 조각으로 분리한다. 그리고 그 분리된 키 조각들은 각각 하나씩 키 복구 서버들(KRSs)(21~22)에 보관된다.
즉 키 관리 서버(KMS)(10)는 다수의 키 복구 서버들(KRSs)(21~22)과 연동하여 암호용 키 쌍을 암호화하는데 사용된 단서들을 키 복구 서버들(KRSs)(21~22)에 분배 보관시킨다.
키 복구 서버들(KRSs)(21~22)은 비밀키 위탁보관소의 역할을 수행하며, 키 관리 서버(KMS)(10)로부터 전달받은 자신의 세션키 조각을 자신의 고유한 키로 암호화하여 보관한다.
보다 상세하게 키 관리 서버(KMS)(10)는 사용자의 암호용 키 쌍을 생성하여 소스 사용자 단말(51)로 제공함과 동시에 그 생성된 암호용 키 쌍을 암호화하기 위한 임시적인 키인 세션키를 생성시킨다. 이 때 키 관리 서버(KMS)(10)는 키들을 생성시킴에 있어서, 순수랜덤발생기(pure random generator)를 사용하여 순수 랜덤한 난수를 키로 생성시킨다.
이후에 키 관리 서버(KMS)(10)는 비밀분산알고리즘(secret sharing algorithm)을 사용하여, 생성된 암호용 키 쌍을 세션키로 암호화하고, 이때 사용된 세션키를 여러 키 조각들로 분배한다. 키 관리 서버(KMS)(10)는 그 분배된 키 조각들을 키 복구 서버들(KRSs)(21~22)에게 하나씩 전달한다. 그러면 키 복구 서버들(KRSs)(21~22)은 각각 자신들의 고유한 키로 그 키 조각들을 암호화하여 보관한다.
키 복구 서버(KRS)(21~22)는 암호화된 키에 대한 복구를 수행하며, N개로 구성된다. 이 키 복구 서버(KRS)(21~22)는 위탁된 암호용 키 쌍(개인키)의 암호화에 사용된 세션키를 보관 관리한다. 특히 키 복구 서버(KRS)(21~22)는 암호용 키 쌍을 암호화한 세션키의 N개 조각들을 하나씩 보관한다. 그래서 키 복구 서버(KRS)(21~22)는 N개로 확장된다.
암호용 키 쌍을 전달받은 사용자는 자신의 단말(51)에서 그 암호용 키 쌍을 사용한 문서 암호화를 실행하고, 그 암호화된 문서를 인터넷과 같은 온라인으로 타 단말(counter terminal)로 전송하거나 특정 보관소에 보관시킨다.
상기 설명된 키 관리 서버(KMS)(10)와 키 복구 서버(KRS)(21~22)는 상호 연동을 통해 보다 안정적인 키 복구를 지원한다.
소스 사용자 단말(51)에서 암호용 인증서를 사용하여 암호용 키 쌍의 복구 요청이 있으면, 키 관리 서버(KMS)(10)는 키 복구 서버(KRS)(21~22)와 연동하여 암호용 키 쌍을 암호화하는데 사용된 세션키를 복호화한다.
즉 키 관리 서버(KMS)(10)는 키 복구 서버들(KRSs)(21~22)로 세션키 조각들을 요청하고, 이후에 키 복구 서버들(KRSs)(21~22)로부터 세션키 조각들을 제공받는다. 이때 키 복구 서버들(KRSs)(21~22)은 세션키 조각들에 대한 제공 요청이 있으면, 자신의 고유의 키로 세션키 조각을 복호한 다음 키 관리 서버(KMS)(10)에 전달한다. 다시 키 관리 서버(KMS)(10)는 제공받은 세션키 조각들을 비밀분산알고리즘(secret sharing algorithm)에 적용시켜 암호화되었던 암호용 키 쌍을 복원한다.
결국 키 관리 서버(KMS)(10)는 복원된 암호용 키 쌍을 소스 사용자 단말(51)로 전달한다.
그런데 상기와 같이 동일한 사용자가 소스 사용자 단말(51)에서 암호화 키 쌍의 생성을 요청하고, 키 관리 서버(KMS)(10)가 그 요청된 암호화 키 쌍을 생성 보관한 상태에서, 이동한 사용자가 원격 사용자 단말(52)로부터 암호화 키 쌍 복구를 요청하는 경우라면, 키 관리 서버(KMS)(10)는 복원된 암호용 키 쌍을 원격 사용자 단말(52)로 전달한다.
특히 본 발명의 시스템은 복수의 관리자들에 의해 기동되도록 하여, 키 소유자의 소멸에 대비하여 데이터(문서)를 응급 복구할 수 있도록 해준다. 이때 사용자의 프라이버시를 침해하지 않는 범위에서 암호화된 데이터를 복구해준다.
이를 위해 키 복구 에이젼트(KRA)(30)가 기동된다. 특히 키 복구 에이젼트(KRA)(30)는 비밀 분산된 관리자 키로 구동된다.
이러한 키 복구 에이젼트(KRA)(30)의 사용은, 단체나 기업에서 특정 직원(또는 회원으로 상기 설명에서 언급된 사용자 개념임)의 암호용 키 쌍으로 암호화된 자료나 문서에 대해, 그 단체나 기업의 상급 관리자들(superior or CEO)이 그 암호화된 자료나 문서에 의해 접근하여 복구할 수 있도록 해준다.
보다 상세하게, 키 복구 에이젼트(KRA)(30)는 사용자(하급직원 또는 회원)의 암호화된 문서를 암호화하는데 사용된 암호용 키 쌍을 복구하여 관리자에게 제공한다.
일단 관리자 또는 관리자들은 키 복구 서버(KRS)(21~22)에 각각 보관된 세션키 조각들보다 상위 권한의 키를 소유한다. 이는 키 관리 서버(KMS)(10)가 그 상위 권한의 키를 생성시켜 각 관리자에게 제공한다.
이후에 관리자가 특정 사용자(하급직원)의 암호용 키 쌍의 복구를 요청하면, 키 복구 에이젼트(KRA)(30)는 관리자에게 암호문에 대한 단서를 묻는다. 그러면 관리자는 자신의 상위 권한 키를 암호문의 단서로 전달한다.
이 때 키 복구 에이젼트(KRA)(30)는 상위 권한 키가 암호문에 대한 약속된 조건을 만족하면, 키 관리 서버(KMS)(10)에 해당 사용자의 암호용 키 쌍을 요청한다.
결국 키 복구 에이젼트(KRA)(30)는 키 관리 서버(KMS)(10)로부터 해당 사용자의 암호용 키 쌍을 전달받아 관리자 단말(60)로 전달한다. 이에 따라 관리자는 전달받은 암호용 키 쌍을 사용하여 사용자의 암호화된 문서를 복구한다.
이 때 키 복구 에이젼트(KRA)(30)와 키 관리 서버(KMS)(10)는 SSL(secure socket layer) 보안채널을 사용하여, 외부의 공격을 방지한다.
이하 본 발명의 시스템에 사용되는 비밀분산알고리즘(secret sharing algorithm)에 대해 설명한다.
비밀분산알고리즘에는 비밀 값(secret value)이 사용된다.
그 비밀 값(S)은 다차원방정식을 만족시키는 점 값들(XN,YN)이며, 그 점 값들로 이루어진 비밀 값(S)이 본 발명의 암호용 키 쌍이다.
키 관리 서버(KMS)(10)는 특정 차수 방정식을 만족시키는 점 값들(비밀 값) 중 하나를 암호화 키 쌍으로 생성시킨다.
그 생성된 비밀 값(S)은 순수랜덤발생기(pure random generator)에서 생성된 순수 랜덤한 난수와 믹싱(mixing)되어 여러 분산 값들이 된다. 여기서 순수 랜덤한 난수는 세션키이다. 본 발명에서는 세션키가 키 복구 서버(KRS)(21~22)의 개수만큼의 조각들로 분리되므로, 그 분산 값의 개수 또한 키 복구 서버(KRS)(21~22)의 개수만큼 생성된다.
상기에서 생성된 분산 값은 모두 동일한 권한(authority)을 갖는 하나의 경우와, 서로 다른 권한을 갖는 경우가 있다. 여기서 권한이란 암호용 키 쌍에 대한 복구 능력을 말한다. 즉 분산 값들이 모두 동일한 권한을 갖는 경우는 키 관리 서버(KMS)(10)에 키 복구 서버(KRS)(21~22)의 모든 조각들이 제공되었을 때 암호용 키 쌍의 복구가 가능하다. 반면에 분산 값들 중에서 특정 분산 값에 더 높은 권한을 부여하는 경우에는 키 관리 서버(KMS)(10)에 키 복구 서버(KRS)(21~22)의 모든 조각들이 제공되지 않아도 암호용 키 쌍의 복구가 가능하다. 다시 말해서 후자의 경우는 보다 높은 권한을 갖는 하나 또는 그 이상의 조각으로 세션키를 복구가 가능하다는 것이다.
다음은 본 발명에 따른 키 위탁 및 복구 절차에 대해 설명한다.
도 2는 본 발명에 따른 키 위탁 및 복구 절차를 나타낸 상태흐름도이다.
도 2를 참조하면, 사용자 단말로부터 서명용 키 쌍(공개키 쌍)의 생성과 인증서 발급 요청이 있으면(S1), 인증기관서버(CA)는 해당 사용자의 서명용 키 쌍을 생성시킨다(S2). 그리고 그 생성된 서명용 키 쌍으로 제작된 인증서를 사용자 단말로 전달한다(S3).
이후에 상기 인증서를 전달받은 사용자 단말로부터 암호용 키 쌍(개인키 쌍)의 생성 요청이 있으면(S4), 키 관리 서버(KMS)는 해당 사용자의 암호용 키 쌍을 생성시켜 그 소스 사용자 단말로 전달한다(S5,S6). 이 때 키 관리 서버(KMS)는 내부에 검증된 하드웨어 보안모듈(hardware security module)을 사용하여 암호용 키 쌍을 생성시킨다(S5).
키 관리 서버(KMS)는 그 생성된 암호용 키 쌍을 다음과 같이 위탁 관리한다.
먼저 키 관리 서버(KMS)는 순수랜덤발생기(pure random generator)를 사용하여 순수 랜덤한 세션키를 생성시킨다(S7). 그리고 그 세션키를 사용하여 미리 생성되어 있던 암호용 키 쌍을 암호화한다(S8).
다시 키 관리 서버(KMS)는 비밀분산알고리즘(secret sharing algorithm)을 사용하여 암호용 키 상의 암호화에 사용된 세션키를 N개의 키 조각들로 분배하고(S9), 그 분배된 키 조각들을 N개의 키 복구 서버들(KRSs)에게 하나씩 전달한다(S10). 그러면 키 복구 서버들(KRSs)은 각각 자신들의 고유한 키로 그 키 조각들을 암호화하여 보관한다(S11).
이로써 키 위탁 절차가 종료되며, 암호용 키 쌍을 전달받은 사용자는 그 암호용 키 쌍을 사용하여 자신의 문서를 암호화한다.
이후에 사용자 단말로부터 키 복구 요청이 발생되면, 그에 따른 키 복구 절차가 수행된다.
이하 키 복구 절차에 대해 설명한다.
사용자 단말로부터 암호용 인증서 발급 요청이 있으면(S12), 인증기관서버(CA)는 그 사용자의 암호용 키 쌍으로 제작된 암호용 인증서를 사용자 단말로 전달한다(S13).
사용자 단말에서 암호용 인증서를 사용하여 암호용 키 쌍의 복구 요청이 있으면(S14), 키 관리 서버(KMS)는 키 복구 서버들(KRSs)에 세션키 조각들을 요청한다(S15).
각 키 복구 서버들(KRSs)은 자신의 고유의 키로 세션키 조각을 복호한 다음 키 관리 서버(KMS)에 전달한다(S16,S17).
키 관리 서버(KMS)는 각 키 복구 서버들(KRSs)로부터 제공받은 세션키 조각들을 비밀분산알고리즘(secret sharing algorithm)에 적용시켜 암호화되었던 암호용 키 쌍을 복원한다(S18).
결국 키 관리 서버(KMS)는 그 복원된 암호용 키 쌍을 사용자 단말로 전달한다(S19).
상기한 키 복구 절차는 키 쌍을 위탁한 사용자가 암호용 키 쌍을 정상적으로 소유한 경우에 대한 것이다.
그러나 위탁된 암호용 키 쌍을 상기 사용자보다 상위 권한을 가진 관리자가 복구 요청하는 경우에 대해 도 3을 참조하여 이하 설명한다.
상기에서 암호용 키 쌍을 위탁한 사용자보다 상위 권한을 갖는 관리자로부터그 사용자의 암호용 키 쌍의 복구가 요청되면(S20), 키 복구 에이젼트(KRA)는 관리자에게 암호문에 대한 단서를 묻는다(S21).
관리자는 일단 사용자에 비해 상위 권한을 갖는 키를 소유하며, 그 관리자는 암호문의 단서로써 그 소유한 상귀 권한 키를 키 복구 에이젼트(KRA)에게 전달한다(S22).
키 복구 에이젼트(KRA)는 전달받은 상위 권한 키에 대해 인증을 실시하여(S23), 그 상위 권한 키가 암호문에 대한 약속된 조건을 만족하는지 여부를 확인한다(S24).
만약 그 제공받은 상위 권한 키가 암호문에 대한 조건을 만족하면, 키 복구 에이젼트(KRA)는 키 관리 서버(KMS)에 해당 사용자의 암호용 키 쌍을 요청한다(S25).
그러면 키 관리 서버(KMS)는 상기에서 언급된 키 복구 절차를 수행한다. 즉 키 관리 서버(KMS)는 키 복구 서버들(KRSs)에 세션키 조각들을 요청하고(S26), 각 키 복구 서버들(KRSs)은 자신의 고유의 키로 세션키 조각을 복호한 다음 키 관리 서버(KMS)에 전달한다(S27,S28). 그리고 키 관리 서버(KMS)는 각 키 복구 서버들(KRSs)로부터 제공받은 세션키 조각들을 비밀분산알고리즘(secret sharing algorithm)에 적용시켜 암호화되었던 암호용 키 쌍을 복원한다(S29).
결국 키 관리 서버(KMS)는 그 복원된 암호용 키 쌍을 키 복구 에이젼트(KRA)에 전달하며(S30), 다시 키 복구 에이젼트(KRA)는 그 전달받은 암호용 키 쌍을 관리자 단말로 전달한다(S31).
이에 따라 관리자는 전달받은 암호용 키 쌍을 사용하여 사용자의 암호화된 문서를 복구한다(S32).
지금까지 설명된 본 발명의 관리 시스템 및 관리 절차에서, 관리자가 소유한 상위 권한 키는 회사(또는 단체)의 정책에 의해 미리 설정된다. 즉 회사(또는 단체)는 하급 직원(또는 회원)들의 암호용 키 쌍을 복구할 수 있는 암호 조건을 설정하고, 그 암호 조건을 만족시키는 상위 개념의 키를 미리 관리자들에게 부여한다.
또한 본 발명의 키 관리 시스템은 키 복구에 있어서, 상위권자의 권한을 두기 위해 서버(키 관리 서버)에서 키를 생성시키고, 또한 그 생성된 키에 대한 암호화/복호화를 수행시킨다.
이상에서 설명된 본 발명은 다음의 효과가 있다.
첫 째, 키 관리를 지원하는데 있어 비밀분산구조(secret sharing scheme)를 채용하여, 기존 시스템들에 비해 보다 안정적인 키 쌍의 생성 및 분배 관리를 제공한다.
둘 째, 본 발명은 기업이나 단체의 암호화된 자료에 대한 손실을 보호해준다. 즉 본 발명에서는 직원들(또는 회원들) 각 개인의 암호용 키로 회사 자료나 문서를 암호화해 둔 상태에서, 그 해당 직원이 퇴사하거나 자신의 암호용 키를 분실했을 경우에도 관리자들이 상위 권한의 키를 사용하여 해당 자료나 문서를 복구할 수 있다는 것이다.
세 째, 불법 공격자가 암호화된 사용자의 비밀키를 복구하여 불법적으로 사용하는 것에 대해 보다 강력한 보안성을 제공한다. 즉 불법 공격자가 특정 사용자의 비밀키를 도용하기 위해서는 키 복구 서버들(KRSs)에 보관된 모든 단서들을 획득해야 된다. 여기서 단서들이란 사용자의 비밀키를 암호화하는데 사용된 세션키의 조각들이다.

Claims (6)

  1. 특정 사용자에 대한 암호용 키 쌍을 생성하는 제1 단계와;
    임시로 미리 생성시킨 세션키로 상기 생성된 암호용 키 쌍을 암호화하는 제2 단계와;
    상기 세션키를 다수의 조각으로 분리시켜 다수의 서버들에 전달하는 제3 단계와;
    상기 서버들에서, 상기 세션키 조각들을 암호화하여 저장하는 제4 단계로 이루어지는 것을 특징으로 하는 키 관리 방법.
  2. 제 1 항에 있어서, 상기 제4 단계 이후에,
    상기 사용자로부터 상기 생성된 암호용 키 쌍의 복구가 요청됨에 따라, 상기 서버들에게 세션키 조각들을 요청하는 제5 단계와,
    상기 서버들이 자신에게 저장된 세션키 조각들을 각각 복호화하여 제공함에 따라, 그 세션키 조각들을 조합하여 상기 암호용 키 쌍을 복호화하는 제6 단계와,
    그 복호화된 암호용 키 쌍을 상기 사용자의 단말로 전달하는 제7 단계가 더 포함되는 것을 특징으로 하는 키 관리 방법.
  3. 제 1 항 내지 제 2 항에 있어서, 상기 제3 단계 및 상기 제6 단계는,
    비밀분산알고리즘을 사용하여 상기 세션키를 다수의 조각으로 분리시키고,상기 서버들로부터 제공된 세션키 조각들을 상기 비밀분산알고리즘으로 조합하여 암호용 키 쌍을 복호화하는 것을 특징으로 하는 키 관리 방법.
  4. 제 1 항에 있어서, 상기 제4 단계 이후에,
    상기 사용자보다 상위 권한을 갖는 관리자로부터 그 사용자의 암호용 키 쌍의 복구가 요청됨에 따라, 별도로 구비된 키 복구 에이젼트(KRA)가 상기 관리자에게 암호문에 대한 단서를 묻는 단계와,
    상기 관리자가 상기 사용자보다 상위 권한을 갖는 키를 암호문의 단서로써 전달함에 따라, 상기 키 복구 에이젼트(KRA)가 그 상위 권한 키에 대해 인증을 실시하는 단계와,
    상기 상위 권한 키가 암호문에 대한 약속된 조건을 만족하는 경우에, 상기 사용자의 암호용 키 쌍을 복호화하여 상기 관리자의 단말로 전달하는 단계로 이루어지는 것을 특징으로 하는 키 관리 방법.
  5. 특정 사용자의 서명용 키 쌍을 생성하며, 그 사용자의 서명용 인증서와 암호용 인증서를 발급하는 인증기관서버와;
    상기 사용자의 암호용 키 쌍과 그 암호용 키 쌍을 암호화할 세션키를 생성시키며, 그 생성된 세션키를 분리시킨 여러 키 조각들을 위탁시키는 키 관리 서버와;
    상기 키 관리 서버와 연동하여, 상기 분리된 세션키의 여러 키 조각들을 암호화한 후 보관하는 다수의 키 복구 서버들로 구성되는 것을 특징으로 하는 키 관리 시스템.
  6. 제 5 항에 있어서, 상기 사용자보다 상위 권한을 갖는 관리자의 키에 대한 인증을 실시하고, 그 인증 결과에 따라 상기 사용자의 암호용 키 쌍을 복구하여 상기 관리자에게 제공하기 위한 키 복구 에이젼트가 더 구비되는 것을 특징으로 하는 키 관리 시스템.
KR1020020022045A 2002-04-22 2002-04-22 키 관리 방법 및 그를 위한 시스템 KR100642978B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020022045A KR100642978B1 (ko) 2002-04-22 2002-04-22 키 관리 방법 및 그를 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020022045A KR100642978B1 (ko) 2002-04-22 2002-04-22 키 관리 방법 및 그를 위한 시스템

Publications (2)

Publication Number Publication Date
KR20030083858A true KR20030083858A (ko) 2003-11-01
KR100642978B1 KR100642978B1 (ko) 2006-11-10

Family

ID=32380018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020022045A KR100642978B1 (ko) 2002-04-22 2002-04-22 키 관리 방법 및 그를 위한 시스템

Country Status (1)

Country Link
KR (1) KR100642978B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030097550A (ko) * 2002-06-21 2003-12-31 (주)케이사인 인가된 키 복구 서비스 시스템 및 그 방법
KR100769439B1 (ko) * 2005-03-10 2007-10-22 (주)케이사인 공개 키 기반 구조 기술 기반의 키 프로파일 기법을 이용한 데이터베이스 보안 시스템
KR20160139493A (ko) * 2015-05-27 2016-12-07 삼성에스디에스 주식회사 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
KR20190124552A (ko) * 2018-04-26 2019-11-05 한국조폐공사 블록 체인 기반 키의 저장 및 복원 방법과 이를 이용한 사용자 단말
KR20200136629A (ko) * 2019-05-28 2020-12-08 국민대학교산학협력단 종단간 암호화가 적용된 파일에 대한 복호화 장치 및 방법
CN114448638A (zh) * 2020-11-02 2022-05-06 如般量子科技有限公司 基于见证者的量子保密通信网络密钥管理通信方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101307573B1 (ko) 2011-11-28 2013-11-21 한국과학기술정보연구원 데이터 암호 또는 복호 장치 및 방법
KR101657932B1 (ko) * 2015-01-30 2016-09-22 중부대학교 산학협력단 자체확장인증을 이용한 키관리 및 사용자 인증방법

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030097550A (ko) * 2002-06-21 2003-12-31 (주)케이사인 인가된 키 복구 서비스 시스템 및 그 방법
KR100769439B1 (ko) * 2005-03-10 2007-10-22 (주)케이사인 공개 키 기반 구조 기술 기반의 키 프로파일 기법을 이용한 데이터베이스 보안 시스템
KR20160139493A (ko) * 2015-05-27 2016-12-07 삼성에스디에스 주식회사 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
KR20190124552A (ko) * 2018-04-26 2019-11-05 한국조폐공사 블록 체인 기반 키의 저장 및 복원 방법과 이를 이용한 사용자 단말
KR20200136629A (ko) * 2019-05-28 2020-12-08 국민대학교산학협력단 종단간 암호화가 적용된 파일에 대한 복호화 장치 및 방법
CN114448638A (zh) * 2020-11-02 2022-05-06 如般量子科技有限公司 基于见证者的量子保密通信网络密钥管理通信方法及系统
CN114448638B (zh) * 2020-11-02 2024-02-13 如般量子科技有限公司 基于见证者的量子保密通信网络密钥管理通信方法及系统

Also Published As

Publication number Publication date
KR100642978B1 (ko) 2006-11-10

Similar Documents

Publication Publication Date Title
CN106548345B (zh) 基于密钥分割实现区块链私钥保护的方法及系统
CA2423636C (en) Methods for authenticating potential members invited to join a group
US8731201B2 (en) Techniques for securing content in an untrusted environment
US7860243B2 (en) Public key encryption for groups
KR100969241B1 (ko) 네트워크 상의 데이터 관리 방법 및 시스템
US20090097657A1 (en) Constructive Channel Key
US20180034810A1 (en) A system and methods for protecting keys in computerized devices operating versus a server
KR20050027278A (ko) 공개 키 기반구조 내에서 개인 키를 안전하게 위탁하는 방법 및 시스템
GB2385955A (en) Key certification using certificate chains
JP2010231404A (ja) 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム
KR100642978B1 (ko) 키 관리 방법 및 그를 위한 시스템
CN115412236A (zh) 一种密钥管理和密码计算的方法、加密方法及装置
KR20030097550A (ko) 인가된 키 복구 서비스 시스템 및 그 방법
Sovio et al. Defining authorization domains using virtual devices
KR100681005B1 (ko) 키 로밍 방법 및 그를 위한 시스템
US20240214187A1 (en) System and Method of Creating Symmetric Keys Using Elliptic Curve Cryptography
US11824979B1 (en) System and method of securing a server using elliptic curve cryptography
KR20060099021A (ko) 공개 키 기반 구조 기술 기반의 키 프로파일 기법을 이용한데이터베이스 보안 기술
رشا روكان اسماعيل Improving Security, Management, Sharing In Cloud Computing
Adamović Development of a Cryptographic Solution Based on Kerberos for Database Security
Varalakshmi et al. A framework for secure cryptographic key management systems
CN116346329A (zh) 一种基于密码技术的加密数据监管方法及系统
BHANU et al. Scalable Approach to Store and Share Encrypted Data among Dynamic Groups in the Cloud
LAME THE ROLE OF CRYPTOGRAPHY IN INFORMATION AND DATA SECURITY
Hunt et al. Theoretical Analysis of using Identity Based PKI as the Authentication method in SQL

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120914

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131002

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141006

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161007

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20181004

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200121

Year of fee payment: 14