KR102443085B1 - 디지털 자산의 커스터디 서비스 방법 - Google Patents

디지털 자산의 커스터디 서비스 방법 Download PDF

Info

Publication number
KR102443085B1
KR102443085B1 KR1020200036325A KR20200036325A KR102443085B1 KR 102443085 B1 KR102443085 B1 KR 102443085B1 KR 1020200036325 A KR1020200036325 A KR 1020200036325A KR 20200036325 A KR20200036325 A KR 20200036325A KR 102443085 B1 KR102443085 B1 KR 102443085B1
Authority
KR
South Korea
Prior art keywords
custody
user terminal
random number
value
server
Prior art date
Application number
KR1020200036325A
Other languages
English (en)
Other versions
KR20210119762A (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 KR1020200036325A priority Critical patent/KR102443085B1/ko
Publication of KR20210119762A publication Critical patent/KR20210119762A/ko
Application granted granted Critical
Publication of KR102443085B1 publication Critical patent/KR102443085B1/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/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/3247Cryptographic 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 involving digital signatures
    • H04L9/3252Cryptographic 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 involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/3236Cryptographic 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 cryptographic hash functions
    • 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

Abstract

본 발명은 디지털 자산의 커스터디 서비스 방법에 관한 것으로 특히, 암호화폐나 부동산 토큰 등의 디지털자산의 2 Party MPC 협력 연산에 사용할 수 있는 곱셈 복원가능 비밀정보 조각을 저장하고 있는 사용자 단말과 커스터디 서버가, 다자간 보안 컴퓨팅을 이용하여 서명을 하는 과정에서 발생한 공유 정보를 이용하여 사용자 단말과 커스터디 서버에 보유하고 있는 곱셈 복원 가능 비밀정보조각을 매 협력 서명 때마다 갱신하여, 곱셈 복원 가능 비밀 정보 조각 갱신에 요구되는 연산량을 낮추어 대용량 디지털 자산의 커스터디 서비스에 관한 것이다.

Description

디지털 자산의 커스터디 서비스 방법 {Custody service method Of digital assets}
본 발명은 디지털 자산의 커스터디 서비스 방법에 관한 것으로 특히, 암호화폐나 부동산 토큰 등의 디지털자산의 2 Party MPC 협력 연산에 사용할 수 있는 곱셈 복원가능 비밀정보 조각을 저장하고 있는 사용자 단말과 커스터디 서버가, 다자간 보안 컴퓨팅을 이용하여 서명을 하는 과정에서 발생한 공유 정보를 이용하여 사용자 단말과 커스터디 서버에 보유하고 있는 곱셈 복원 가능 비밀정보조각을 매 협력 서명 때마다 갱신하여, 곱셈 복원 가능 비밀 정보 조각 갱신에 요구되는 연산량을 낮추어 대용량 디지털 자산의 커스터디 서비스에 관한 것이다.
일반적으로 통신기술과 컴퓨터 분야의 급격한 발전과 더불어 컴퓨터 통신 및 인터넷 통신이 현대인에게는 정보 습득과 교류의 장으로서 하나의 필수적인 수단이 되었으며, 그 기능 및 역할이 폭발적으로 증대되고 있는 추세이다.
또한, 상기 인터넷은 특정 서비스 군에 속하는 사람들간의 통신에 한정되는 것이 아니라 국가나 지역의 구분이 없어 현재 가장 각광받고 있는 정보 취득 및 통신망으로 자리잡고 있다.
이러한 인터넷을 통해 다양한 금융 서비스가 제공되고 있으며, 최근에는 스마트폰의 등장으로 모바일 인터넷을 통한 금융 서비스도 활발하게 진행중이다. 이러한 금융 서비스에서 보안은 매우 중요하다.
또한, 최근 블록체인(blockchain) 기술을 이용함으로써, 중개자 없이 참여자간의 신뢰가 가능하고 위변조가 불가능한 분산 원장(distributed ledger)의 구현이 가능하게 되면서, 이를 활용한 새로운 거래수단인 암호화폐가 등장하였다.
대표적인 암호화폐인 비트코인 이후로 많은 암호화폐들이 등장하였으며, 이들 간의 교환을 위해 암호화폐 거래소도 등장하였다.
일반적으로 암호화폐 거래를 위해 개인키를 이용한 연산은 한 대의 단말에서 개인키를 이용하여 기밀이나 부인 방지가 요구되는 정보에 대해, 개인키와 정보를 정해진 함수의 입력값으로 하는 연산을 수행하여 결과값을 도출하는 것이다.
이를 위해서 사용되는 알고리즘에는 DES나 AES와 같은 대칭키 암호 알고리즘이나 RSA나 ECC와 같은 비대칭키 암호 알고리즘이 있다.
그러나 이러한 비밀정보를 가진 복수의 단말이 각자의 정보를 이용하여 협력 연산을 하기 위해서는 협력 연산에 참여하는 단말에게 각자의 정보를 공개해야 하는 문제점을 안고 있다.
이러한 문제는 수학적 연산 등을 통해 정보로부터 가치있는 발견을 하려는 과학 연구나 경제 활동에서 흔하게 발생하며, 특히 비밀정보가 법률로 보호되는 개인의 정보인 경우에는 서로의 정보 공유나 전달을 통해 법률을 위반하게 되는 문제로 귀결된다.
이러한 문제를 해결하기 위해, 비밀정보를 가진 복수의 주체나 단말이 각자의 비밀정보를 서로에게 노출시키지 않은 채로 협력 연산을 할 수 있는 다자간 암호기술적 연구가 이루어져 왔고, 그러한 연구의 산물 중 하나가 샤미르 시크릿 비밀정보조각과 같은 기술이다.
이 기술은 N명의 참여자가 하나의 비밀정보를 '공유'하지만, 그 중 t 명이 참여하여 각자가 가진 비밀정보의 조각들을 이용하면 그 비밀정보를 알 수 있도록 한 다자간 암호기술이다.
그러나 샤미르 비밀정보조각은 여전히 최종적으로 비밀정보의 조각들을 이용하여 비밀정보를 도출하는 연산 과정을 하나의 단말에서 수행해야 하며, 이는 각자가 가진 정보를 다른 참여자에게 제공해야 하는 문제를 안고 있기 때문에, 일단 한번 t 명이 참여하여 비밀정보가 노출되고 나면 그 정보의 비밀성이 급격히 떨어지는 문제를 안고 있다.
이러한 문제를 해결하기위해 만들어진 다자간 암호기술이 Secure Multi-party Computation(이하 SMPC)이다.
SMPC는 복수의 참여자가 각자의 비밀정보 조각을 가지고 협력 연산에 참여하지만 서로에게 자신이 보유한 비밀정보 조각을 노출시키지 않은채로 연산의 결과를 만들 수 있기 때문에, N명 중에 t 명의 비밀정보 조각이 있으면 복구할 수 있는 비밀정보를 입력값으로 하는 연산을 각자의 비밀정보 조각을 노출하여 합쳐서 비밀정보를 만들지 않고도 계산할 수 있게 해준다.
특히, 이러한 연산 중에 연산 결과를 가지고 입력값을 추론하기 어려운 연산에 적용할 경우, 연산 결과가 공개되더라도 비밀정보가 노출되지 않기 때문에, 비밀정보의 노출없이 반복적으로 여러번 협력 연산을 수행할 수 있는 장점이 있다.
하지만 N명이 가진 비밀정보 조각 중 t명이 참여하여 비밀을 유지한 채 연산을 하는 샤미르 비밀정보조각을 이용한 SMPC는 연산 요구량이 많아 상용화되기 어려운 점이 있으며, 협력 연산에 참여하는 모든 단말이 동일한 양의 연산을 수행하기 때문에 상대적으로 연산 능력이 적은 모바일 단말과 같은 단말이 협력 연산에 참여할 경우, 전체 연산 속도가 저하되는 문제를 안고 있다.
그와는 달리 2명이 비밀정보 조각을 나누어 갖고 2대의 단말을 이용하여 협력 연산을 하는 2 Party MPC는 상대적으로 적은 연산량으로도 동일한 협력 연산을 수행할 수 있고, 그 협력 연산의 종류에 따라서는 연산 부하를 다르게 배분하는 것도 가능하다.
본 발명이 이루고자 하는 기술적 과제는 종래의 불편한 점을 개선하고자 하는 것으로, 2 Party MPC 협력 연산에 사용할 수 있는 곱셈 복원가능 비밀정보 조각을 저장하고 있는 사용자 단말과 커스터디 서버가, 다자간 보안 컴퓨팅을 이용하여 서명을 하는 과정에서 발생한 공유 정보를 이용하여 사용자 단말과 커스터디 서버에 보유하고 있는 곱셈 복원 가능 비밀정보조각을 매 협력 서명 때마다 갱신하여, 곱셈 복원 가능 비밀 정보 조각 갱신에 요구되는 연산량을 낮추어 대용량 디지털 자산의 커스터디 서비스 방법을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적 과제는 종래의 불편한 점을 개선하고자 하는 것으로, 협력 연산에 의한 전자서명의 과정에서 사용자 단말과 커스터디 서버가 공유하게 된 정보로부터 곱셈 복원가능 비밀정보조각을 갱신하는데 사용할 암호화랜덤값을 추출하고 이를 동형암호 알고리즘을 이용하여 사용자 단말과 커스터디 서버가 동일한 암호화랜덤값을 추출하였음을 검증하여, 양 쪽이 각자의 연산에 암호화랜덤값을 사용하여 곱셈 복원가능 비밀정보조각을 갱신함으로써, 정보의 유실과 사용자 단말과 커스터디 서버 간 비밀의 노출이 없는 비밀정보 조각 갱신을 적은 연산량으로 수행하는 디지털 자산의 커스터디 서비스 방법을 제공하는 것이다.
이러한 과제를 해결하기 위한 본 발명의 특징에 따른 디지털 자산의 커스터디 서비스 방법은,
다자간 보안 컴퓨팅에 참여하는 사용자 단말과 커스터디 서버 간의 암호화된 통신채널을 연결하는 단계;
상기 사용자 단말과 커스터디 서버가 각자 난수값인 사용자 단말 난수(mx1), 커스터디 서버 난수(mx2)를 생성하는 단계;
이전의 전자서명 과정에서 공유한 해시값 H과 ECDSA 암호알고리즘에서 사용되는 베이스포인트 G와 상기 사용자 단말과 커스터디 서버가 각각 보유한 랜덤값을 각자 곱한 결과값(H*mx1*G, H*mx2*G)을 상대에게 전송하는 단계;
상기 결과값(H*mx1*G, H*mx2*G)을 수신한 측이 자신이 보유하고 있는 랜덤값을 곱하여, 이를 곱셈 복원가능 비밀정보조각의 갱신을 위한 갱신 랜덤값(R=H*mx1*mx2*G)으로 생성하는 단계;
상기 사용자 단말은 자신이 가진 사용자 단말 난수(mx1)에 갱신 랜덤값(R)을 곱한값(mx1*R)을 갱신된 사용자 단말 난수(mx1')로 생성하는 단계;
상기 커스터디 서버는 자신이 가진 커스터디 서버 난수(mx2)를 갱신 랜덤값(R)을 나눈값(mx2/R)을 갱신된 커스터디 서버 난수(mx2')로 생성하는 단계를 포함한다.
단말과 커스터디 서버 각각이 단말 난수(mx1), 커스터디 서버 난수(mx2) 및 갱신 랜덤값(R)을 삭제하는 단계를 더 포함한다.
상기 갱신된 사용자 단말 난수(mx1')와 갱신된 커스터디 서버 난수'(mx2')의 곱은 사용자의 개인키(S)가 되는 것을 특징으로 한다.
상기 개인키(S)는 두 난수의 곱으로 정의되고, 사용자 단말과 커스터디 서버 중 어디에도 노출되지 않는다.
상기 결과값(H*mx1*G, H*mx2*G)을 수신한 측이 자신이 보유하고 있는 랜덤값을 곱하여, 이를 곱셈 복원가능 비밀정보조각의 갱신을 위한 갱신 랜덤값(R=H*mx1*mx2*G)으로 생성하는 단계에서,
상기 결과값(H*mx1*G이나 H*mx2*G)만으로는 상기 사용자 단말 난수(mx1) 및 커스터디 서버 난수(mx2)를 알 수 없는 것을 특징으로 한다.
본 발명의 실시예에서는, 곱셈 복원가능 비밀정보 조각을 이용한 2 Party Secure MPC 연산에 의한 전자서명은 사용자 단말과 커스터디 서버의 협력 연산에 의해 전자서명이 이루어지므로, 사용자 단말이나 커스터디 서버에 저장된 비밀정보가 탈취되더라도 이를 이용하여 제3자가 전자서명을 할 수 있는 방법이 없으므로, 개인이 비대칭키를 이용한 전자서명 거래에서 자신의 프라이빗키를 보호할 수 있다.
그러나 악의적인 제 3자가 두 대의 단말을 순차적으로 해킹하여 두 개의 곱셈 복원가능 비밀정보 조각을 획득하게 되면 이를 이용하여 전자서명을 할 수 있는 보안 위험이 있다. 이를 막기 위하여 (주)아톰릭스랩의 특허(대한민국 특허 출원번호1020190143204)의 실시예는 사용자 단말과 커스터디 서버에 저장된 2 Party Secure MPC를 위한 곱셈 복원가능 비밀정보조각을 동형암호를 이용하여 수시로 갱신하는 방법을 제시하고 있다. 그러나 이 발명은 실시 과정에서 연산량이 큰 동형암호 연산을 수행해야 하므로 대용량 처리를 필요로 하는 커스터디 서비스에서 이를 사용할 경우 처리 속도가 지연되거나 비용이 높아지는 문제가 있어 자주 비밀정보조각을 갱신할 수 없게 되어 순차적 탈취에 노출될 가능성이 올라가는 문제가 있다.
본 발명을 실시하면, 매 서명시마다 서명의 과정에서 사용자 단말과 커스터디 서버가 공유하게 되는 임의의 값을 사용자 단말과 커스터디 서버에 저장된 곱셈 복원가능 비밀정보조각을 갱신하는데 입력값으로 사용하여 양측의 곱셈 복원가능 비밀정보 조각을 갱신하게 되므로 (주)아톰릭스랩의 특허(대한민국 특허 출원번호1020190143204)의 실시예에서 사용자 단말과 커스터디 서버의 곱셈 복원가능 비밀정보 조각을 갱신하기 위해 연산량이 많은 동형암호(Paillier)를 사용하여 비밀정보조각 갱신 속도가 느린 점을 보완하게 되어 순차적으로 사용자 단말과 커스터디 서버의 비밀정보 조각을 탈취한 악의적 제 3자가 이를 이용하여 전자서명을 할 수 없게 하는 비밀정보조각 갱신의 주기를 짧게 하여 보안성을 높게 유지하면서도 대용량의 커스터디 시스템에서 컴퓨팅 비용을 낮추는 효과가 있다.
도 1은 본 발명의 실시예에 따른 디지털 자산의 커스터디 서비스 시스템의 구성도이다.
도 2는 도 1의 사용자 단말의 구성도이다.
도 3은 본 발명의 실시예에 따른 디지털 자산의 커스터디 서비스 방법의 동작흐름도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 실시예에 따른 디지털 자산의 커스터디 서비스 시스템은,
네트워크망을 통해 서로 연결되는 사용자 단말(300)과 커스터디 서버(110) 그리고 리커버리서버(300)를 포함한다.
커스터디 서버(110)는 데이터베이스(120)를 구비하며, 데이터베이스(120)는 해쉬함수, 커스터디 서버 난수(mx2), 베이스포인트 G, 결과값(H*mx2*G), 갱신 랜덤값(R=H*mx1*mx2*G), 커스터디 서버 난수(mx2)에 갱신 랜덤값(R)을 곱한값(mx2*R), 갱신된 커스터디 서버 난수(mx2') 를 저장할 수도 있다.
협력 연산에 의한 전자서명의 과정에서 사용자 단말(300)과 커스터디 서버(110)가 공유하게 된 정보로부터 곱셈 복원가능 비밀정보조각을 갱신하는데 사용할 암호화랜덤값을 추출하고 이를 동형암호 알고리즘을 이용하여 사용자 단말(300)과 커스터디 서버(110)가 동일한 암호화랜덤값을 추출하였음을 검증하여, 양 쪽이 각자의 연산에 암호화랜덤값을 사용하여 곱셈 복원가능 비밀정보조각을 갱신함으로써, 정보의 유실과 사용자 단말(300)과 커스터디 서버(110) 간 비밀의 노출이 없는 비밀정보 조각 갱신을 적은 연산량으로 수행하게 된다.
도 2는 도 1의 사용자 단말의 내부 블록 구성도이다.
도 2를 참조하면, 사용자 단말(300)은, 입력부(320), GPS부(340), 저장부(360), 카메라부(370), 통신부(350), 제어부(330), 표시부(310)를 포함한다.
표시부(310)는 입력부(320) 선택에 따라 다양한 화면 정보를 표시한다.
입력부(320)는 터치패널, 키패드 등의 입력장치가 포함될 수 있으며, 사용자가 메뉴선택을 하기 위하여 사용한다.
GPS부(340)는 적어도 두개의 GPS 위성으로부터 GPS 신호를 수신하여 자신의 위치정보를 생성하여 출력한다. 필요에 따라 GPS부(340)를 생략하고, 이동 통신사에서 제공하는 위치정보를 이용할 수도 있다.
저장부(360)는 사용자 인증을 위한 해쉬함수, 사용자 단말 난수(mx1), 베이스포인트 G, 결과값(H*mx1*G), 갱신 랜덤값(R=H*mx1*mx2*G), 사용자 단말 난수(mx1)에 갱신 랜덤값(R)을 곱한값(mx1*R), 갱신된 사용자 단말 난수(mx1') 또는 카메라부에서 촬영되는 촬영정보를 저장할 수도 있다.
카메라부(370)는 입력부(320)의 선택에 따라 촬영한다.
제어부(330)는 마이컴(220)으로부터 수신되는 내용을 상기 표시부(310)에 표시할 수 있다.
통신부(350)는 제어부(330)의 제어에 따라 정보를 송수신하며, 블루투스 방식 또는 와이파이 방식, 3G, 4G 등 다양한 무선 인터넷이나 다른 무선 통신망을 이용할 수도 있다.
이러한 구성을 가진 디지털 자산의 커스터디 서비스 시스템의 동작에 대해 설명하면 다음과 같다.
특히, 본 발명의 실시예에 따른 ECDSA 비대칭키 암호알고리즘을 사용하는 프라이빗키의 Secure Multi Party Computation(이하 'SMPC'라 한다) 기술을 이용한 2 Party 협력 연산에 사용되는 곱셈 복원가능 비밀정보조각 생성 방법을 설명하고, 이를 기초로 본 발명이 그 곱셈 복원가능 비밀정보조각을 저장하고 있는 사용자 단말(300)과 커스터디 서버(110)가 협력 연산을 통한 전자서명 과정에서 공유하게 되는 값을 이용하여 2 party 곱셈 복원가능 비밀정보조각을 갱신하는 방법을 설명하기로 한다.
도 3을 참조하면, 본 발명의 실시예에 따른 ECDSA 비대칭키 암호알고리즘을 사용하는 프라이빗키의 Secure Multi Party Computation(이하 'SMPC'라 한다) 2 Party Secure MPC를 위한 곱셈 복원가능 비밀정보조각 갱신 방법이 도시된다.
먼저, 디지털 자산의 커스터디 서비스를 위한 전자서명시에 샤미르 시크릿 알고리즘을 이용하여 사용자 단말(300)과 커스터디 서버(110)는 2 of 3의 3조각을 생성하고, 이 과정에서 공개키(PK: Public Key)가 생성되고 해쉬함수가 사용된다.
3조각중 사용자 단말용 난수는 사용자 단말(300)이 저장하고, 커스터디 서버용 난수는 커스터디 서버(110)가 저장하고, 나머지 리커버리 난수는 리커버리 서버(300)가 저장한다.
본 발명에서는 3조각중 사용자 단말용 난수와 커스터디 서버용 난수를 이용하게 된다.
이러한 상태에서, 다자간 보안 컴퓨팅에 참여하는 사용자 단말(300)과 커스터디 서버(110) 간의 암호화된 통신채널이 연결되면, 사용자 단말(300)과 커스터디 서버(110) 두 기기는 각자 난수값인 사용자 단말 난수(mx1), 커스터디 서버 난수(mx2)를 생성한다. 이때, 사용자의 개인키(S)는 두 난수의 곱으로 정의되지만 사용자 단말(300)과 커스터디 서버(110) 중 어디에도 노출되지 않는다. 이를 이용하면 사용자 단말(300)과 커스터디 서버(110) 두 기기는 Yehuda Lindell이 고안한 방법(Fast Secure Multiparty ECDSA with Practical Distributed Key Generation and Applications to Cryptocurrency Custody, 2018)을 통해서 각자의 비밀정보인 사용자 단말 난수와 커스터디 서버 난수를 유출하지 않으면서 개인키(S)를 입력값으로 하는 전자서명을 협력 연산으로 수행할 수 있다. 이때 사용자 단말(300)과 커스터디 서버(110)에 저장되어 있는 사용자 단말 난수와 커스터디 서버 난수는 이 둘을 곱하면 개인키(S)가 복원되는 성질을 갖고 있으므로 이를 곱셈 복원가능 비밀정보 조각이라 한다. 여기서 ECDSA 암호화 알고리즘은 타원곡선을 특징짓는 기본포인트값으로 G값을 사용한다.
상기 Lindell의 방법을 이용한 전자서명 과정에서 사용자 단말(300)과 커스터디 서버(110)는 서명 대상이 되는 문서의 해시값 H를 공유하게 되는데, 이 값을 ECDSA 암호알고리즘에서 사용되는 베이스포인트 G와 각자가 보유한 랜덤값에 각자 곱하여(H*mx1*G, H*mx2*G) 상대에게 전송한다
그리고 이를 수신한 측이 자신이 보유하고 있는 랜덤값을 곱하여, 이를 곱셈 복원가능 비밀정보조각의 갱신을 위한 갱신 랜덤값(R=H*mx1*mx2*G)으로 정한다.
이때, ECDLP (Elliptic Curve Discrete Log Problem)에 의해, H*mx1*G이나 H*mx2*G 만으로는 mx1이나 mx2를 알 수 없으므로 서로의 비밀이 노출되지 않는다.
이 상태에서 사용자 단말(300)은 자신이 가진 사용자 단말 난수(mx1)에 R을 곱하여, mx1*R을 '갱신된 사용자 단말 난수'(mx1')로 한다.
그리고 커스터디 서버(110)는 자신이 가진 커스터디 서버 난수(mx2)에 R을 나누어 mx2/R을 '갱신된 커스터디 서버 난수'(mx2')으로 정한다.
그리고 사용자 단말(300)과 커스터디 서버(110) 각각은 mx1과 mx2, R을 삭제한다. 이렇게 되면 mx1'*mx2'은 (mx1*R)*(mx2/R)이 되므로, '갱신된 사용자 단말 난수'(mx1')와 '갱신된 커스터디 서버 난수'(mx2')의 곱은 여전히 개인키(S)가 되는 성질이 유지되며, mx1'과 mx2'을 이용한Yehuda Lindell의 방법을 이용한 2 Party Secure MPC 전자서명이 가능하다.
이상의 본 발명의 실시예에서 2 Party MPC 협력 연산에 사용할 수 있는 곱셈 복원가능 비밀정보 조각을 저장하고 있는 사용자 단말(300)과 커스터디 서버(110)가, 다자간 보안 컴퓨팅을 이용하여 서명을 하는 과정에서 발생한 공유 정보를 이용하여 사용자 단말(300)과 커스터디 서버(110)에 보유하고 있는 곱셈 복원 가능 비밀정보조각을 매 협력 서명 때마다 갱신하여, 곱셈 복원 가능 비밀 정보 조각 갱신에 요구되는 연산량을 낮출 수 있다.
또한, 본 발명의 실시예에서, 협력 연산에 의한 전자서명의 과정에서 사용자 단말(300)과 커스터디 서버(110)가 공유하게 된 정보로부터 곱셈 복원가능 비밀정보조각을 갱신하는데 사용할 암호화랜덤값을 추출하고 이를 동형암호 알고리즘을 이용하여 사용자 단말(300)과 커스터디 서버(110)가 동일한 암호화랜덤값을 추출하였음을 검증하여, 양 쪽이 각자의 연산에 암호화랜덤값을 사용하여 곱셈 복원가능 비밀정보조각을 갱신함으로써, 정보의 유실과 사용자 단말(300)과 커스터디 서버(110) 간 비밀의 노출이 없는 비밀정보 조각 갱신을 적은 연산량으로 수행할 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (5)

  1. 다자간 보안 컴퓨팅에 참여하는 사용자 단말과 커스터디 서버 간의 암호화된 통신채널을 연결하는 단계;
    상기 사용자 단말과 커스터디 서버가 각자 난수값인 사용자 단말 난수(mx1), 커스터디 서버 난수(mx2)를 생성하는 단계;
    이전의 전자서명 과정에서 공유한 해시값 H과 ECDSA 암호알고리즘에서 사용되는 베이스포인트 G와 상기 사용자 단말과 커스터디 서버가 각각 보유한 랜덤값을 각자 곱한 결과값(H*mx1*G, H*mx2*G)을 상대에게 전송하는 단계;
    상기 결과값(H*mx1*G, H*mx2*G)을 수신한 측이 자신이 보유하고 있는 랜덤값을 곱하여, 이를 곱셈 복원가능 비밀정보조각의 갱신을 위한 갱신 랜덤값(R=H*mx1*mx2*G)으로 생성하는 단계;
    상기 사용자 단말은 자신이 가진 사용자 단말 난수(mx1)에 갱신 랜덤값(R)을 곱한값(mx1*R)을 갱신된 사용자 단말 난수(mx1')로 생성하는 단계;
    상기 커스터디 서버는 자신이 가진 커스터디 서버 난수(mx2)를 갱신 랜덤값(R)을 나눈값(mx2/R)을 갱신된 커스터디 서버 난수(mx2')로 생성하는 단계를 포함하는 디지털 자산의 커스터디 서비스 방법.
  2. 제1항에 있어서,
    단말과 커스터디 서버 각각이 단말 난수(mx1), 커스터디 서버 난수(mx2) 및 갱신 랜덤값(R)을 삭제하는 단계를 더 포함하는 디지털 자산의 커스터디 서비스 방법.
  3. 제2항에 있어서,
    상기 갱신된 사용자 단말 난수(mx1')와 갱신된 커스터디 서버 난수'(mx2')의 곱은 사용자의 개인키(S)가 되는 것을 특징으로 하는 디지털 자산의 커스터디 서비스 방법.
  4. 제3항에 있어서,
    상기 개인키(S)는 두 난수의 곱으로 정의되고, 사용자 단말과 커스터디 서버 중 어디에도 노출되지 않는 디지털 자산의 커스터디 서비스 방법.
  5. 제4항에 있어서,
    상기 결과값(H*mx1*G, H*mx2*G)을 수신한 측이 자신이 보유하고 있는 랜덤값을 곱하여, 이를 곱셈 복원가능 비밀정보조각의 갱신을 위한 갱신 랜덤값(R=H*mx1*mx2*G)으로 생성하는 단계에서,
    상기 결과값(H*mx1*G이나 H*mx2*G)만으로는 상기 사용자 단말 난수(mx1) 및 커스터디 서버 난수(mx2)를 알 수 없는 것을 특징으로 하는 디지털 자산의 커스터디 서비스 방법.
KR1020200036325A 2020-03-25 2020-03-25 디지털 자산의 커스터디 서비스 방법 KR102443085B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200036325A KR102443085B1 (ko) 2020-03-25 2020-03-25 디지털 자산의 커스터디 서비스 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200036325A KR102443085B1 (ko) 2020-03-25 2020-03-25 디지털 자산의 커스터디 서비스 방법

Publications (2)

Publication Number Publication Date
KR20210119762A KR20210119762A (ko) 2021-10-06
KR102443085B1 true KR102443085B1 (ko) 2022-09-14

Family

ID=78077463

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200036325A KR102443085B1 (ko) 2020-03-25 2020-03-25 디지털 자산의 커스터디 서비스 방법

Country Status (1)

Country Link
KR (1) KR102443085B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4928364B2 (ja) 2007-06-25 2012-05-09 日本電信電話株式会社 認証方法、登録値生成方法、サーバ装置、クライアント装置及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085734A (ko) * 2001-05-10 2002-11-16 (주) 비씨큐어 복구 가능한 패스워드 기반의 상호인증과 키 교환 방법
KR101017765B1 (ko) * 2008-07-15 2011-02-28 주식회사 씨디에스 도메인 메니저에 의한 패밀리 도메인 관리방법 및관리시스템
KR20120116189A (ko) * 2011-04-12 2012-10-22 삼성테크윈 주식회사 Rfid 시스템에서 리더와 태그의 상호 인증방법
KR102124413B1 (ko) * 2013-12-30 2020-06-19 삼성에스디에스 주식회사 아이디 기반 키 관리 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4928364B2 (ja) 2007-06-25 2012-05-09 日本電信電話株式会社 認証方法、登録値生成方法、サーバ装置、クライアント装置及びプログラム

Also Published As

Publication number Publication date
KR20210119762A (ko) 2021-10-06

Similar Documents

Publication Publication Date Title
Wu et al. Secure key agreement and key protection for mobile device user authentication
CN112751665B (zh) 一种安全多方计算方法、设备、系统及存储介质
Kumari et al. An improved smart card based authentication scheme for session initiation protocol
CN107634836B (zh) 一种sm2数字签名生成方法及系统
CN109309569B (zh) 基于sm2算法的协同签名的方法、装置及存储介质
Li et al. A novel user authentication and privacy preserving scheme with smart cards for wireless communications
Lee et al. A three-party password-based authenticated key exchange protocol with user anonymity using extended chaotic maps
Lee et al. An extended chaotic maps-based key agreement protocol with user anonymity
Tseng et al. A chaotic maps-based key agreement protocol that preserves user anonymity
Chang et al. An anonymous and self-verified mobile authentication with authenticated key agreement for large-scale wireless networks
US20080144837A1 (en) Identity Based Encrypition
Cheon et al. Ghostshell: Secure biometric authentication using integrity-based homomorphic evaluations
Irshad et al. An efficient and anonymous chaotic map based authenticated key agreement for multi-server architecture
CN109831306B (zh) 基于多个密钥池的抗量子计算环签名方法和系统
CN113626852A (zh) 一种安全高效的非许可区块链条件匿名方法、系统及应用
Li et al. A Secure Dynamic Identity Based Authentication Protocol with Smart Cards for Multi-Server Architecture.
Mahmood et al. PUF enable lightweight key-exchange and mutual authentication protocol for multi-server based D2D communication
Liu et al. Identity-based provable data possession revisited: Security analysis and generic construction
Zhu et al. An efficient chaotic maps-based deniable authentication group key agreement protocol
KR20210054422A (ko) 다자간 보안컴퓨팅을 이용하여 샤미르 비밀정보 조각이 유실된 단말에 비밀정보 조각을 복구하는 방법
CN108055134B (zh) 椭圆曲线点数乘及配对运算的协同计算方法及系统
KR102443085B1 (ko) 디지털 자산의 커스터디 서비스 방법
Wang et al. Secure content sharing protocol for D2D users based on profile matching in social networks
Ansah et al. Relevance of elliptic curve cryptography in modern-day technology
CN114866312A (zh) 一种保护数据隐私的共有数据确定方法及装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant