KR102329580B1 - 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법 - Google Patents

복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법 Download PDF

Info

Publication number
KR102329580B1
KR102329580B1 KR1020200149762A KR20200149762A KR102329580B1 KR 102329580 B1 KR102329580 B1 KR 102329580B1 KR 1020200149762 A KR1020200149762 A KR 1020200149762A KR 20200149762 A KR20200149762 A KR 20200149762A KR 102329580 B1 KR102329580 B1 KR 102329580B1
Authority
KR
South Korea
Prior art keywords
key
cloud
recoverable
encryption key
mpc server
Prior art date
Application number
KR1020200149762A
Other languages
English (en)
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 KR1020200149762A priority Critical patent/KR102329580B1/ko
Application granted granted Critical
Publication of KR102329580B1 publication Critical patent/KR102329580B1/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/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/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/0827Key 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 distinctive intermediate devices or communication paths
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

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

Abstract

본 발명은 제3자에게 위탁 운영되는 시스템에 네트워크를 통한 암호키 전송 없이 암호키를 분배하는 방법에 관한 것으로 특히, 클라우드 서버가 암호화된 데이터를 저장하여 필요시 이를 복호화하여 서비스를 제공하는 과정에서, 암호화된 데이터와 암호키를 클라우드에 저장하여 보안 상의 취약점을 만들게 되거나, 암복호화를 위한 암호키를 네트워크로 전송하거나 백업을 위하여 데이터를 클라우드 상에서 복호화하여 다른 클라우드로 전송하는 과정에서 보안 상의 취약점을 만들게 되는 것을 피하기 위하여, 다자간 보안 컴퓨팅을 이용하여 생성한 비대칭키 암호의 프라이빗키 정보를 담은 곱셈 복원가능 비밀정보조각을 데이터 소유자의 시스템과 복수의 클라우드 서버에 분산하여 보관하고 이 비밀정보조각들을 이용하여 협력 연산을 통해 동일한 암호키 시드를 네트워크 상의 전송 없이 복수의 클라우드 서버로 분배하고, 클라우드 서버에 저장된 암호화된 데이터를 암호화된 채로 다른 클라우드 서버에 백업하여 최초 암호화를 실행한 클라우드 시스템이 장애 등으로 사용이 불가능한 상태에서도 다른 클라우드 시스템에서 암호키를 복구하여 클라우드에 저장된 백업 데이터를 복호화할 수 있도록 하는 암호키 분배 방법에 관한 것이다.

Description

복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법 {Crypto Key distribution and recovery method for multiple 3rd parties managed systems}
본 발명은 제3자에게 위탁 운영되는 시스템을 이용하는 상황에서 제3자에 대한 암호화키 노출없이 암호화키를 생성하고 배포하고 사용하고 복구하는 방법에 관한 것으로 특히, 물리적 뿐아니라 논리적으로도 분리된 복수의 클라우드 서버에 대해 동일한 암호키를 배포하여 하나의 클라우드에서 장애가 발생하여 데이터가 유실된 경우 장애가 없는 클라우드에 저장된 데이터를 복호화하지 않고 장애 복구된 클라우드로 전송하여 복수의 클라우드에 의한 백업 시스템을 가동함에 있어, 2 of 3 MPC 협력 연산에 사용할 수 있는 샤미르 시크릿 비밀정보 조각을 저장하고 있는 본사의 키 분배 시스템과 제3자에게 위탁 운영되는 클라우드 서버가, 다자간 보안 컴퓨팅을 이용하여 암호키의 전송없이 공유 정보를 이용하여 암호키를 배포하여, 위탁 운영하는 클라우드 사업자 등이 위탁 운영 시스템에 관한 어드민 권한을 보유하고 있더라도 암호키를 추출할 수 없도록 할 뿐 아니라, 클라우드 시스템에서 사용한 암호키가 유실되더라도 본사의 키 분배 시스템에 저장된 정보를 이용하여 암호키를 복구하여 데이터의 가용성을 확보하는 방법에 관한 것이다.
일반적으로 통신기술과 컴퓨터 분야의 급격한 발전과 더불어 컴퓨터 통신 및 인터넷 통신이 현대인에게는 정보 습득과 교류의 장으로서 하나의 필수적인 수단이 되었으며, 그 기능 및 역할이 폭발적으로 증대되고 있는 추세이다.
또한, 상기 인터넷은 특정 서비스 군에 속하는 사람들간의 통신에 한정되는 것이 아니라 국가나 지역의 구분이 없어 현재 가장 각광받고 있는 정보 취득 및 통신망으로 자리잡고 있다.
이러한 인터넷을 통해 서비스를 제공하는 서비스들은 초기에 서비스 제공자들이 직접 운영하는 서버 시스템을 통해 제공되었으나, 최근에는 대용량의 컴퓨터 집적 시설을 논리적으로 분할하여 여러 개의 가상적인 시스템으로 나눠 사용하는 클라우드 컴퓨팅의 발전으로 비용 효율성이 제고됨에 따라 대규모 사용자를 가진 인터넷 서비스 뿐 아니라 소규모의 인터넷 및 모바일 서비스 제공자들도 이러한 클라우드 인프라를 사용하여 서비스를 제공하고 있다.
또한, 이러한 클라우드 인프라들은 클라우드에 저장된 서비스 기업의 비밀 데이터 처리를 위한 기능을 다양하게 제공하고 있으며, 서비스 기업들은 클라우드 플랫폼이 제공하는 암호키의 생성과 이를 이용한 암복호화, 암호키의 보관 등을 사용하여 서비스 과정에서 발생하는 개인정보나 영업 비밀 등을 클라우드에 저장하여 사용하고 있다.
대표적인 클라우드 인프라 제공자인 구글이나 아마존, 마이크로소프트 등이 이러한 기능을 Cloud KMS(Cloud Key Management Service)라는 명칭으로 제공하고 있다. 그러나 문제는 클라우드에 저장된 고객 정보나 영업 비밀 등이 사업의 성패를 결정짓는 중요한 데이터인 경우 제3자인 클라우드 서비스 제공자들이 시스템의 관리를 위해 보유한 권한으로 암호키에 접근할 수 있다는 점이다. 이를 보완하기 위해 서비스 기업들은 자사가 직접 운영하는 키 관리 시스템을 통해 생성된 암호키를 이용하여 클라우드에서 암복호화를 수행하고 그 암호키가 유실될 경우에도 데이터를 복구할 수 있는 방안을 찾고 있으며, 가장 대표적 방안은 기업이 관리하는 KMS에서 생성된 암호키를 클라우드로 전송하여 사용하는 것이다.
그러나 일반적으로 높은 수준의 보안을 요구하는 데이터 암호화에 있어 네트워크로의 암호키 전송은 그 자체로 보안취약점으로 인식되며, 이 문제를 해결하기 위해 제안된 비대칭키 암호를 이용한 암호키 교환 방식인 Diffie-Helman 스킴은 네트워크를 이용한 키 배포를 안전하게 할 수 있는 암호학적 방법으로 널리 사용되고 있다. 하지만 이 방법을 사용하기 위해서는 기업의 KMS와 클라우드 시스템에서 독립적으로 암호키가 생성되어 서로의 퍼블릭키를 알고 있어야 하고, 암호키가 기업의 KMS 장비에서 생성되어 Diffie-Helman 스킴에 의해 암호화되는 과정에서 시스템의 메모리 등에 노출되지 않고 복수의 클라우드에 암호키를 배포하는 보안성을 유지하기 위해서는 고가의 전용 장비를 필요로 하므로, 취급하는 데이터량이 늘어나고 암호키의 수요가 늘어나면 비용이 크게 증가하는 문제를 안고 있다.
이러한 문제는 수학적 연산 등을 통해 정보로부터 가치있는 발견을 하려는 과학 연구나 금융 서비스 등의 경제 활동에서 흔하게 발생하며, 특히 비밀정보가 법률로 보호되는 개인의 정보인 경우에는 서로의 정보 공유나 전달을 통해 법률을 위반하게 되는 문제로 귀결된다.
이러한 문제를 해결하기 위해, 비밀정보를 가진 복수의 주체나 단말이 각자의 비밀정보를 서로에게 노출시키지 않은 채로 협력 연산을 할 수 있는 다자간 암호기술적 연구가 이루어져 왔고, 그러한 연구의 산물 중 하나가 샤미르 비밀정보조각과 같은 기술이다.
이 기술은 N명의 참여자가 하나의 비밀정보를 '공유'하지만, 그 중 누구도 비밀정보를 알지 못하며, 그 중 t 명이 참여하여 각자가 가진 비밀정보의 조각들을 이용하면 그 비밀정보를 알 수 있도록 한 다자간 비밀정보 생성과 분할에 대한 기술이다.
그러나 샤미르 비밀정보조각은 여전히 최종적으로 비밀정보의 조각들을 이용하여 비밀정보를 도출하는 연산 과정을 하나의 단말에서 수행해야 하며, 이는 각자가 가진 정보를 다른 참여자에게 제공해야 하는 문제를 안고 있기 때문에, 일단 한번 t 명이 참여하여 비밀정보가 노출되고 나면 그 정보의 비밀성이 급격히 떨어지는 문제를 안고 있다.
이러한 문제를 해결하기위해 만들어진 다자간 보안컴퓨팅 기술이 Secure Multi-party Computation(이하 SMPC)이다.
SMPC는 복수의 참여자가 각자의 비밀정보 조각을 가지고 협력 연산에 참여하지만 서로에게 자신이 보유한 비밀정보 조각을 노출시키지 않은 채로 연산의 결과를 만들 수 있기 때문에, N명 중에 t 명의 비밀정보 조각이 있으면 복구할 수 있는 비밀정보를 입력값으로 하는 연산을 각자의 비밀정보 조각을 노출하여 합쳐서 비밀정보를 만들지 않고도 계산할 수 있게 해준다.
특히, 이러한 연산 중에 연산 결과를 가지고 입력값을 추론하기 어려운 연산에 적용할 경우, 연산 결과가 공개되더라도 비밀정보가 노출되지 않기 때문에, 비밀정보의 노출없이 반복적으로 여러 번 협력 연산을 수행할 수 있는 장점이 있다. 이를 이용하면 서로 다른 클라우드 시스템이 단독으로 암복호화를 수행하는 암호키를 보유하지 않으면서, 그 비밀키의 정보를 일부만 담고 있는 비밀정보조각을 이용하여 암호키의 전송 없이 복구 가능한 암호키를 복수의 클라우드 시스템에 배포할 수 있고, 이를 이용하여 물리적으로도 논리적으로도 완전히 분리된 클라우드 시스템 간에 암호화된 데이터를 동기화하는 것만으로도 백업이나 부하 분산이 가능한 멀티 클라우드 시스템으로 통합하여 운영할 수 있게 된다.
본 발명이 이루고자 하는 기술적 과제는 종래의 불편한 점을 개선하고자 하는 것으로, 데이터 소유자의 시스템들과 제3자 위탁 운영 시스템의 협력연산을 통해 하나의 비대칭키 암호시스템의 프라이빗키에 대한 비밀정보조각을 생성하고, 클라우드에 보관된 비밀정보조각만으로는 암호키를 생성하거나 복구할 수 없으면서 데이터 소유자의 시스템과의 다자간 보안컴퓨팅을 통해 암호키를 연산에 의해 생성하여 사용하고 제3자에게 위탁 운영되는 시스템에 암호키를 저장하지 않더라도 그 암호키를 사용하고자 하는 시점에 클라우드 시스템이 자신이 보유한 비밀정보조각을 이용하여 권한을 인증하고 데이터 소유자의 키 분배 시스템에게 해당 암호키를 네트워크 상에 전송하지 않고도 생성할 수 있는 협력연산을 요청하여 암호키를 재생성하여 암복호화에 사용할 수 있는 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적 과제는 종래의 불편한 점을 개선하고자 하는 것으로, 데이터 소유자의 시스템들과 복수의 제3자 위탁 운영 시스템이 하나의 비대칭키 암호시스템의 프라이빗키에 대한 비밀정보조각을 생성하고, 각 클라우드에 보관된 비밀정보조각만으로는 암호키를 생성하거나 복구할 수 없으면서 데이터 소유자의 시스템과의 다자간 보안컴퓨팅을 통해 암호키를 연산에 의해 생성하여 암복호화에 사용하고, 제3자 위탁 운영 시스템 중 하나가 장애 등으로 사용이 불가능하더라도 다른 제3자 위탁 운영 시스템이 서비스의 중단없이 장애 중인 시스템에서 생성된 암호화된 데이터를 동기화하여 해당 클라우드 시스템이 그간 암호화된 데이터들을 활용하도록 하는 것이다. 이를 위해 데이터 소유자는 복수의 클라우드에 대해서 데이터 소유자가 보유한 비밀정보조각을 이용하여 동일한 프라이빗키에 대응하는 서로 다른 쌍의 비밀정보조각을 배포하여 동일한 암호키를 다자간 연산에 의해 재배포할 수 있도록 하여, 암호키를 네트워크 상에 전송하지 않고도 서로 다른 클라우드 시스템이 동일한 암호키를 사용하여 부하 분산이나 백업 등을 수행하는 방법을 제공하는 것이다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법은,
데이터 소유자의 키 분배 MPC 서버, 제1 클라우드 시스템 상의 제1 클라우드 MPC 서버, 제2 클라우드 시스템 상의 제2 클라우드 MPC 서버의 협력 연산에 의해 제1 클라우드 시스템과 제2 클라우드 시스템에 각자 독립적으로 암호키 생성이 이루어 진다.
본 발명의 실시예에서는, 제3자 위탁운영 시스템에 대한 키 분배 시스템은 데이터 소유자의 키 분배 MPC 서버, 제1 클라우드 시스템 상의 제1 클라우드 MPC 서버, 제2 클라우드 시스템 상의 제2 클라우드 MPC 서버의 협력 연산에 의해 제1 클라우드 시스템과 제2 클라우드 시스템에 각자 독립적으로 암호키 생성이 이루어지므로, 데이터 소유자의 서버 중 일부나 클라우드 시스템에 저장된 비밀정보가 탈취되더라도 이를 이용하여 제3자가 암호키를 생성 할 수 있는 방법이 없으므로, 데이터 소유자가 고가의 암호키 분배 전용시스템을 사용하지 않고도 복수의 제3자의 위탁 운영 시스템에서 암호키와 암호화된 데이터를 보호하면서도 복수의 클라우드 시스템 안에 암호키를 저장하지 않고도 동일한 암호화된 데이터를 이용한 서비스를 제공할 수 있다.
또한 본 발명을 실시하면, 데이터 소유자의 키 분배 MPC 서버와 SMPC(Secure Multi-party Computation)을 이용하여 복수의 클라우드 시스템 위에서 실행되는 클라우드 MPC 서버에 같은 암호키를 협력 연산에 의해 배포할 수 있으므로, 하나의 클라우드에서 생성되어 암호화된 데이터를 복호화하지 않고 다른 클라우드로 동기화하면 복수의 클라우드에서 동일한 암호키를 이용하여 데이터를 암복호화하면서 서비스를 제공할 수 있기 때문에, 고가의 전용 장비를 사용하지 않고도 복수 클라우드 부하 분산이나 백업으로 작동시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 제3자 위탁 운영 시스템에 대한 키 관리 시스템의 구성도이다.
도 2는 본 발명의 실시예에 따른 제1 클라우드 시스템을 위한 키 생성 방법의 동작흐름도이다.
도 3은 본 발명의 실시예에 따른 제2 클라우드 시스템을 위한 제1 클라우드 시스템과 동일한 암호키를 재배포하는 방법의 동작흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시예에 따른 제3자 위탁 운영 시스템에 대한 키 관리 시스템으로,
네트워크망을 통해 서로 연결되는 키 분배 MPC 서버(110)와 제1 클라우드 시스템에서 작동하는 제1 클라우드 MPC 서버(310), 제2 클라우드 시스템에서 작동하는 제2 클라우드 MPC 서버(410)를 포함한다.
키 분배 MPC 서버(110)는 데이터베이스(120)를 구비하며, 데이터베이스(120)는 키 분배 MPC 서버 곱셈 복원가능 비밀정보조각(a1, a1'), 베이스포인트 G, 키 분배 MPC 서버와 제1 클라우드 MPC 서버의 곱셈 복원가능 비밀정보조각(a1, a2)에 의해 공동으로 구성될 수 있는 프라이빗키(SK)에 대응되는 퍼블릭키(PK), 랜덤시드(b), 베이스포인트 G, b의 공개키 B(B=b*G), 제1 클라우드 MPC 서버로부터 수신한 키 생성 요청 식별자(ID)를 저장할 수도 있다.
제1 클라우드 MPC 서버(310)는 키 생성 요청이나 키 재배포 요청을 키 분배 서버로 전달하고 그 결과로 수신한 응답을 클라우드 MPC 서버로 전송하여 암호키 시드 비밀정보 조각을 수신하여 암호키 시드를 생성하고 이를 입력값으로 하여 KDF(Key Derivation Function)을 실행할 수 있는 KDF 응용소프트웨어와 데이터베이스(320)를 구비하며, 데이터베이스(320)는 제1 클라우드 MPC 서버 곱셈 복원가능 비밀정보조각(a2), 베이스포인트 G, 키 분배 MPC 서버와 제1 클라우드 MPC 서버의 곱셈 복원가능 비밀정보조각(a1, a2)에 의해 공동으로 구성될 수 있는 프라이빗키(SK)에 대응되는 퍼블릭키(PK)를 저장할 수도 있다. 이때 KDF 응용소프트웨어는 HKDF(HMAC based KDF)와 같이 잘 알려진 공지기술로 구현가능하다.
제2 클라우드 MPC 서버(410)는 키 생성 요청이나 키 재배포 요청을 키 분배 서버로 전달하고 그 결과로 수신한 응답을 클라우드 MPC 서버로 전송하여 암호키 시드 비밀정보 조각을 수신하여 암호키 시드를 생성하고 이를 입력값으로 하여 KDF(Key Derivation Function)을 실행할 수 있는 KDF 응용소프트웨어와 데이터베이스(420)를 구비하며, 데이터베이스(420)는 제2 클라우드 MPC 서버 곱셈 복원가능 비밀정보조각(a2'), 베이스포인트 G, 키 분배 MPC 서버와 제2 클라우드 MPC 서버의 곱셈 복원가능 비밀정보조각(a1', a2')에 의해 공동으로 구성될 수 있는 프라이빗키(SK)에 대응되는 퍼블릭키(PK)를 저장할 수도 있다. 이때 KDF 응용소프트웨어는 HKDF(HMAC based KDF)와 같이 잘 알려진 공지기술로 구현가능하다.
협력 연산에 의한 암호키의 생성 과정에서 키 분배 MPC 서버(110)와 제1 클라우드 MPC 서버(310)는 주)아톰릭스랩의 특허(대한민국 특허 출원번호 1020190140558)의 실시예에서와 같이 협력연산으로 프라이빗키(SK)에 대한 곱셈 복원가능 비밀정보조각(a1, a2)을 생성하고(SK=a1*a2)하거나 키 분배 MPC 서버에서 임의의 프라이빗키(SK)와 그에 대응하는 퍼블릭키(PK=SK*G)를 생성하고, 이를 키 분배 MPC 서버가 두 개의 곱셈 복원가능 비밀정보조각 a1, a2로 나누어,(SK=a1*a2) 제1 클라우드 MPC 서버에 전송하는 것과 같이 요구되는 보안강도 수준에 따라 다양한 방법으로 생성할 수 있다. 그리고 나서 키 분배 MPC 서버(110)가 제1 클라우드 MPC 서버(310)으로부터 암호키 생성 요청 식별자(ID)를 포함한 암호키 생성 요청을 받으면 랜덤시드 b를 생성하여 여기에 베이스포인트 G를 곱한 값인 B에 자신의 곱셈 복원가능 비밀정보조각인 a1을 곱하여 원격 복원가능 암호키 시드 비밀정보조각(a1*b*G)를 생성하여, 암호키 생성 요청 식별자(ID)와 함께 저장한다. 키 분배 MPC 서버는 a1*b*G를 제1 클라우드 MPC 서버(310)로 전송하고, 이를 수신한 제1 클라우드 MPC 서버(310)는 자신의 곱셈 복원가능 비밀정보조각(a2)을 곱하여 암호키 시드(a1*a2*b*G=b*a1*a2*G=b*PK)를 입력값으로 하여 KDF(Key Derivation Function)를 실행하고 이로부터 암호키(CK)를 생성하여 암호화하려는 데이터를 암호화하고, CK를 삭제하고 암호화한 데이터(EncData)와 암호키 생성 요청 식별자(ID)를 함께 저장한다.(EncData, ID)
이 상태에서 암호화된 데이터(EncData)와 암호키 생성 요청 식별자(ID)의 쌍을 다른 제3자의 클라우드 시스템인 제2 클라우드 시스템으로 전송하여 저장하고, 키 분배 MPC 서버와 제1 클라우드 MPC 서버가 보유한 곱셈 복원가능 비밀정보조각의 곱인 프라이빗키(SK)를 동일하게 유지하면서 키 분배 MPC 서버와 제2 클라우드 MPC 서버 간에 새로운 곱셈 복원가능 비밀정보조각(a1', a2')을 생성한다. (SK=a1'*a2')
이를 구현하는 방법은, (주)아톰릭스랩의 특허(대한민국 특허 출원번호 1020190140558)와 같이, 키 분배 MPC 서버와 제2 MPC 서버와 제2 클라우드 MPC 서버가 서로를 인증하여 안전한 통신채널을 구성한 후에 키 분배 MPC 서버와 제2 MPC 서버가 보유한 샤미르 비밀정보조각 s1과 s2를 이용하여 SK를 프라이빗키로 하는 새로운 샤미르 비밀정보조각 세트인 s1', s2', s3'을 각각 키 분배 MPC 서버와 제2 MPC 서버, 제2 클라우드 MPC 서버에 생성하고 키 분배 MPC 서버와 제2 클라우드 MPC 서버가 협력 연산하여 샤미르 비밀정보조각인 s1'과 s3'을 프라이빗키(SK)에 대한 곱셈 복원가능 비밀정보조각 a1'과 a2'으로 변환하는 방법이 있다. 그러나 이는 디지털 자산의 소유권 증명에 사용되는 보안성 요구수준이 높은 경우가 아니라면 너무 연산 비용이 높은 문제를 안고 있다.
데이터를 암호화하기 위한 수준에서는 상황에 따라서는 키 분배 MPC 서버가 제1 클라우드 MPC 서버에게 곱셈 복원가능 비밀정보조각 재배포를 위한 랜덤넘버(R)를 전송하고, 제1 클라우드 MPC 서버는 자신이 보유한 곱셈 복원가능 비밀정보조각 a2에 이를 곱하여 R*a2를 만들어 제2 클라우드 MPC 서버에 전송하고 제2 클라우드 MPC 서버는 이를 받아 a2'으로 저장하고, 키 분배 MPC 서버는 제1 클라우드 MPC 서버의 a2에 대응하는 자신이 가진 곱셈 복원가능 비밀정보조각 a1을 R로 나누어 제2 클라우드 MPC 서버의 곱셈 복원가능 비밀정보조각 a2'으로 저장하는 간단한 방법을 사용할 수 있다. 이때 a1'과 a2'은 각각 a1/R과 a2*R이므로 이 둘의 곱은 (a1/R)*(a2*R)로 a1*a2=SK이므로 a1'과 a2'은 프라이빗키(SK)에 대한 곱셈 복원가능 비밀정보조각이 된다.
제2 클라우드 MPC 서버는 제1 클라우드 시스템으로부터 동기화되어 저장하고 있는 (EncData, ID)의 암호화된 데이터를 복호화하기 위해 키 분배 MPC 서버에게 키 생성 요청 식별자(ID)로 암호키 재분배 요청을 보낼 수 있고, 이를 수신한 키 분배 MPC 서버는 저장하고 있는 a1'과 ID에 대응되는 B를 곱하여(a1'*B=a1'*b*G) 제2 클라우드 MPC 서버에게 전송하고, 이를 수신한 제2 클라우드 MPC 서버는 자신이 보유한 곱셈 복원가능 비밀정보조각(a2')을 여기에 곱하여 암호키 시드(a2'*a1'*b*G=b*a1'*a2'*G=b*PK)를 생성하여 KDF를 실행함으로써 암호키 CK'을 생성할 수 있는데, CK'=CK와 동일하므로 제2 클라우드 시스템은 제1 클라우드 시스템에서 암호화된 데이터 EncData를 데이터의 복호화된 백업이나 암호키의 네트워크 구간 전송 없이 암호화된 채로 백업하여 필요시에 복호화하여 사용할 수 있다.
이러한 구성을 가진 제3자 위탁 운영 시스템에 대한 키 분배 시스템의 동작에 대해 설명하면 다음과 같다.
특히, 본 발명의 실시예에 따른 ECDSA 비대칭키 암호알고리즘을 사용하는 프라이빗키의 Secure Multi Party Computation(이하 'SMPC'라 한다) 기술을 이용한 2 Party 협력 연산에 사용되는 곱셈복원가능 비밀정보조각을 저장하고 있는 키 분배 MPC 서버(110)과 제1 클라우드 MPC 서버(310)가 협력 연산을 통해 비밀정보조각 생성과정에서 공유하게 되는 값과 2 party 곱셈복원가능 비밀정보조각, 랜덤시드의 공개키(B)를 이용하여 암호키를 생성하는 방법을 설명하고, 이어 제2 클라우드 시스템에서 작동하는 제2 클라우드 MPC 서버(410)가 키 생성 요청 식별자(ID)를 이용한 암호키 시드 재분배 요청을 통해 해당 데이터의 암복호화에 필요한 암호키를 네트워크 상으로 전송하지 않고 데이터 소유자의 키 분배 MPC 서버(110)로부터 협력 연산으로 재분배 받아 데이터의 암복호화에 사용하는 방법을 설명하기로 한다.
도 2를 참조하면, 본 발명의 실시예에 따른 다른 제3자 위탁 운영 시스템을 위한 키 재분배 방법이 도시된다.
본 발명의 실시예에 따르면, 제1 클라우드 시스템에서 생성된 암호키 CK(=KDF(b*a1*a2*G)에 의해 암호화된 데이터(EncData)와 그와 쌍을 이루는 암호키 생성 요청 식별자(ID)와 키 분배 MPC 서버(110)와 제2 클라우드 MPC 서버(410)가 협력으로 생성한 프라이빗키(SK)와 키 분배 MPC 서버(110)에 저장된 곱셈 복원가능 비밀정보조각(a1')에 대응하는 제2 클라우드 MPC 서버(410)용 곱셈 복원가능 비밀정보조각(a2')를 저장하고 있는 제2 클라우드 시스템 상에서 실행되는 제2 클라우드 MPC 서버(410)는 이 암호화된 데이터(EncData)를 복호화하기 위하여 키 분배 MPC 서버(110)에게 키 생성 요청 식별자(ID)와 함께 키 재분배 요청을 전송한다.
제2 클라우드 MPC 서버(410)로부터 키 재분배 요청을 받은 키 분배 MPC 서버(110)는 키 재분배 요청에 포함된 ID를 자신의 데이터베이스에서 확인하여 해당 ID에 대응하는 B(B=b*G)가 있으면 자신이 가진 a1'을 여기에 곱하여 a1'*b*G를 생성하여 제2 클라우드 MPC 서버(410)에게 전송한다. 이를 수신한 제2 클라우드 MPC 서버(410)는 자신이 보유한 a2'를 곱하여 b*a1'*a2'*G=b*PK를 만들고 이를 시드로 KDF(Key Derivation Function)을 실행하여 암호키 CK'를 생성한다. 암호키 CK'는 키 분배 서버가 생성한 b의 값에 따라 달라지지만 CK'에 사용된 B는 암호키 CK의 랜덤시드(b)에 베이스포인트(G)를 곱한 것과 동일하므로 CK'은 CK와 동일하게 생성되므로 이를 수신한 제2 클라우드 MPC 서버(410)는 제1 클라우드 MPC 서버가 CK로 암호화한 데이터(EncData)를 CK'로 복호화할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
삭제

Claims (1)

  1. 키 분배 MPC 서버와 네트워크망을 통해 연결되어 클라우드 상에서 실행되는 제1 클라우드 키 요청 MPC 서버가 암호키를 배포 및 복구하는 방법에 있어서,
    키 생성 요청 ID와 함께 키 생성 요청을 상기 키 분배 MPC 서버로 전송하여, 암호키(CK)의 생성을 요청하는 단계;
    원격 복구가능 암호키 시드 비밀정보조각을 상기 키 분배 MPC 서버로부터 수신하는 단계;
    데이터베이스에 저장된 곱셈 복원가능 비밀정보조각(a2)을 상기 수신된 원격 복구가능 암호키 시드 비밀정보조각에 곱하여 원격 복구가능 암호키 시드를 생성하는 단계;
    상기 생성된 원격 복구가능 암호키 시드를 이용해 KDF(Key Derivation Function)을 실행하여 암호키(CK)를 생성하는 단계; 및
    상기 생성된 암호키(CK)를 이용하여 암호화된 데이터(EncData)와 상기 키 생성 요청 ID를 제2 클라우드 키 요청 MPC 서버로 전송하는 단계;를 포함하고,
    상기 키 분배 MPC 서버는
    랜덤시드(b)를 생성하고, 상기 생성된 랜덤시드(b)에 베이스포인트(G)를 곱하여 암호키 랜덤시드(B)를 생성하며, 데이터베이스에 저장된 곱셈 복원가능 비밀정보조각(a1)을 상기 생성된 암호키 랜덤시드(B)에 곱하여 상기 원격 복구가능 암호키 시드 비밀정보조각(a1*b*G)을 생성하고,
    상기 키 분배 MPC 서버의 데이터베이스에 저장된 곱셈 복원가능 비밀정보조각(a1)과 상기 제1 클라우드 키 요청 MPC 서버의 데이터베이스에 저장된 곱셈 복원가능 비밀정보조각(a2)의 곱셈(a1*a2)으로 프라이빗키(SK)가 정의되며, 퍼블릭키(PK)는 상기 프라이빗키(SK)에 대응되며,
    상기 제2 클라우드 키 요청 MPC 서버는
    상기 암호화된 데이터(EncData)를 복호화하기 위해 상기 키 생성 요청 ID와 함께 키 재분배 요청을 상기 키 분배 MPC 서버로 전송하고, 원격 복구가능 암호키 시드 비밀정보조각을 상기 키 분배 MPC 서버로부터 수신하며, 데이터베이스에 저장된 곱셈 복원가능 비밀정보조각(a2')을 상기 수신된 원격 복구가능 암호키 시드 비밀정보조각에 곱하여 원격 복구가능 암호키 시드를 생성하고, 상기 생성된 원격 복구가능 암호키 시드를 이용해 KDF을 실행하여 암호키(CK')를 생성하며,
    상기 제2 클라우드 키 요청 MPC 서버에서 생성된 암호키(CK')는 상기 제1 클라우드 키 요청 MPC 서버에서 생성된 암호키(CK)와 동일한 것을 특징으로 하는 암호키 배포 및 복구 방법.
KR1020200149762A 2020-11-10 2020-11-10 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법 KR102329580B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200149762A KR102329580B1 (ko) 2020-11-10 2020-11-10 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200149762A KR102329580B1 (ko) 2020-11-10 2020-11-10 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법

Publications (1)

Publication Number Publication Date
KR102329580B1 true KR102329580B1 (ko) 2021-11-23

Family

ID=78694766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200149762A KR102329580B1 (ko) 2020-11-10 2020-11-10 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법

Country Status (1)

Country Link
KR (1) KR102329580B1 (ko)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020035646A (ko) * 1999-09-28 2002-05-13 데니스 에이치. 얼백 간이형 네트워크 관리 프로토콜(snmp) 에이전트를초기화하기 위한 시스템 및 방법
JP2004501385A (ja) * 2000-04-18 2004-01-15 ジェムプリュス 楕円曲線暗号化方法
KR20060078768A (ko) * 2004-12-31 2006-07-05 주식회사 케이티 사용자 개인키의 분산 등록을 이용한 키 복구 시스템 및그 방법
KR20130077171A (ko) * 2011-12-29 2013-07-09 고려대학교 산학협력단 서버와 디바이스간 인증방법
WO2016165900A1 (en) * 2015-04-17 2016-10-20 Gemalto Sa Method to check and prove the authenticity of an ephemeral public key
JP2017063432A (ja) * 2009-12-10 2017-03-30 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法
KR20190049133A (ko) * 2017-11-01 2019-05-09 경희대학교 산학협력단 보안 공유키 교환 방법 및 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020035646A (ko) * 1999-09-28 2002-05-13 데니스 에이치. 얼백 간이형 네트워크 관리 프로토콜(snmp) 에이전트를초기화하기 위한 시스템 및 방법
JP2004501385A (ja) * 2000-04-18 2004-01-15 ジェムプリュス 楕円曲線暗号化方法
KR20060078768A (ko) * 2004-12-31 2006-07-05 주식회사 케이티 사용자 개인키의 분산 등록을 이용한 키 복구 시스템 및그 방법
JP2017063432A (ja) * 2009-12-10 2017-03-30 タタ コンサルタンシー サービシズ リミテッドTATA Consultancy Services Limited 証明書不要公開鍵基盤に基づく安全なクライアント・サーバ通信プロトコルを設計するシステムと方法
KR20130077171A (ko) * 2011-12-29 2013-07-09 고려대학교 산학협력단 서버와 디바이스간 인증방법
WO2016165900A1 (en) * 2015-04-17 2016-10-20 Gemalto Sa Method to check and prove the authenticity of an ephemeral public key
KR20190049133A (ko) * 2017-11-01 2019-05-09 경희대학교 산학협력단 보안 공유키 교환 방법 및 시스템

Similar Documents

Publication Publication Date Title
US10757083B2 (en) Method, apparatus, and system for quantum key distribution
TWI748853B (zh) 用於基於區塊鏈的系統結合錢包管理系統中的安全多方防遺失儲存及加密金鑰轉移
US9954680B1 (en) Secure management of a master encryption key in a split-key based distributed computing environment
US11165565B2 (en) Secure distribution private keys for use by untrusted code
KR0151217B1 (ko) 공용-키 암호 시스템에서 비밀키를 조회하는 방법
US10546141B2 (en) Network system, and methods of encrypting data, decrypting encrypted data in the same
US9197410B2 (en) Key management system
KR100734162B1 (ko) 공중/개인키 쌍들의 안전한 분배 방법 및 장치
US9698979B2 (en) QKD key management system
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN111371790B (zh) 基于联盟链的数据加密发送方法、相关方法、装置和系统
US11870891B2 (en) Certificateless public key encryption using pairings
CN104901942A (zh) 一种基于属性加密的分布式访问控制方法
JPH11239124A (ja) 秘密鍵回復方法および装置
US20050033963A1 (en) Method and system for authentication, data communication, storage and retrieval in a distributed key cryptography system
CN112003690B (zh) 密码服务系统、方法及装置
KR102329580B1 (ko) 복수의 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법
KR20210020699A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
KR102328896B1 (ko) 제3자 위탁 운영 시스템에 대한 암호키 배포 및 복구 방법
CN112187456B (zh) 一种密钥分层管理与协同恢复系统及方法
CN115412236A (zh) 一种密钥管理和密码计算的方法、加密方法及装置
KR20210020851A (ko) 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치
Mishra et al. A certificateless authenticated key agreement protocol for digital rights management system
CA3007825A1 (en) System for secure arbitrary data transport
CN113691373B (zh) 一种基于联盟区块链的抗量子密钥托管系统及方法

Legal Events

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