KR20240059302A - 분산 id 기반 서비스의 암복호화 통신 방법 및 장치 - Google Patents

분산 id 기반 서비스의 암복호화 통신 방법 및 장치 Download PDF

Info

Publication number
KR20240059302A
KR20240059302A KR1020220140396A KR20220140396A KR20240059302A KR 20240059302 A KR20240059302 A KR 20240059302A KR 1020220140396 A KR1020220140396 A KR 1020220140396A KR 20220140396 A KR20220140396 A KR 20220140396A KR 20240059302 A KR20240059302 A KR 20240059302A
Authority
KR
South Korea
Prior art keywords
distributed
service
user
organization
key
Prior art date
Application number
KR1020220140396A
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 KR1020220140396A priority Critical patent/KR20240059302A/ko
Priority to PCT/KR2022/016714 priority patent/WO2024090628A1/ko
Publication of KR20240059302A publication Critical patent/KR20240059302A/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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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
    • 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/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
    • 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
    • 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/3249Cryptographic 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 RSA or related signature schemes, e.g. Rabin scheme

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하는 단계, 상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하는 단계, 서비스 기관 분산 ID 공개키를 이용하여 통신 암호키를 암호화하는 단계, 상기 암호화된 통신 암호키를 상기 서비스 기관에 송신하는 단계 및 상기 통신 암호키, 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청하는 단계를 포함한다.

Description

분산 ID 기반 서비스의 암복호화 통신 방법 및 장치{METHOD AND APPARATUS FOR ENCRYPTION/DECRYPTION COMMUNICATION OF SERVICE BASED ON DECENTRALIZED IDENTIFIER}
본 발명은 분산 ID 기반 환경에서 사용자와 서비스 제공자 등 개체 간 암호 메시지 교환 기술에 관한 것이다.
구체적으로, 본 발명은 서비스 제공자의 공공 ID를 이용하여 서비스 제공자에게 암호화된 메시지를 전송하는 통신 보안 기술에 관한 것이다.
최근, 중앙집중화된 등록기관 없이 사용자가 스스로 자신의 신원정보를 관리하고 통제할 수 있는 분산 식별자(Decentralized Identifier)가 다양한 디지털 산업 분야에서 활용되고 있다. 특히 분산 식별자는 W3C의 검증 가능한 크리덴셜(Verifiable Credential) 표준과 함께 모바일 운전면허증, 백신 증명서와 같은 다양한 디지털 증명서 서비스에 활용되고 있다.
일반적인 분산 신원 관리 서비스의 목적은, 사용자에게 자기 주도가 가능한 신원 관리 서비스를 제공하는 것이다. 이때, 사용자는 서비스로부터 신원증명 혹은 크리덴셜이라 부르는 전자증명 정보를 제공받을 수 있다. 크리덴셜에는 사용자 정보를 포함한 다양한 정보가 들어있는데, 발급자를 검증하기 위한 정보로는 발급자 서명과 발급자 인증키 ID 정보를 포함한다. 추후 사용자가 타 신원증명 서비스를 이용하고자 할 경우 검증자에게 기존 발급 크리덴셜을 제출하여 자신의 신원정보를 증명할 수 있는데, 이때 크리덴셜의 발급자 검증용 정보들을 통해 크리덴셜 발급자 서명 검증이 가능하다. 이러한 발급자 검증 과정은 암호학적으로는 유효하지만, 해당 발급기관이 진짜 서비스 제공자인지에 대한 검증이 어렵다.
또한, 일반적인 분산 신원관리 서비스는 PKI 구조를 기반으로 하는데, PKI 구조에서는 비대칭키 쌍을 기반으로 한 서명 생성 및 검증을 통해 인증 과정을 수행한다. 따라서, 분산 신원관리 서비스는 기본적으로 인증보안을 갖췄다고 볼 수 있다. 그러나 인증정보와 함께 전달되는 데이터의 기밀성 유지 제공 방안이 없어 통신보안은 취약한 편으로, 인증정보와 함께 전달되는 데이터 기밀성을 유지할 수 있는 통신 방법에 대한 필요성이 절실히 대두된다.
국내 등록특허공보 제10-2139645호(발명의 명칭: 블록체인 기반의 신원증명 시스템 및 그 구동방법)
본 발명의 목적은 분산 ID 기반 신원관리 서비스 환경에서 공공 ID를 이용하여 서비스 제공자의 신뢰성을 향상하는 것이다.
또한, 본 발명의 목적은 공공 ID를 이용하여 서비스 제공자의 공개키를 획득하고, 이를 활용하여 사용자와 서비스 제공자의 데이터 전송 간 기밀성을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하는 단계, 상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하는 단계, 서비스 기관 분산 ID 공개키를 이용하여 통신 암호키를 암호화하는 단계, 상기 암호화된 통신 암호키를 상기 서비스 기관에 송신하는 단계 및 상기 통신 암호키, 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청하는 단계를 포함한다.
이때, 상기 공공 ID는 상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 상기 서비스 기관에 상응하도록 기발급된 것일 수 있다.
이때, 상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것일 수 있다.
이때, 상기 서비스 기관에 검증을 요청하는 단계는 상기 서비스 기관과 상기 통신 암호키의 공유 여부를 확인할 수 있다.
이때, 상기 서비스 기관에 검증을 요청하는 단계는 상기 통신 암호키를 이용하여 크리덴셜을 암호화할 수 있다.
이때, 상기 서비스 기관에 검증을 요청하는 단계는 상기 암호화된 크리덴셜을 포함하는 제출문에 대하여 상기 사용자 분산 ID 개인키로 서명할 수 있다.
이때, 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 검증 결과를 수신하는 단계를 더 포함하고, 상기 검증 결과는 상기 통신 암호키를 이용하여 상기 크리덴셜을 복호화한 결과에 기반하고, 상기 통신 암호키는 사용자 분산 ID 공개키를 이용하여 획득되고, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 획득될 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 사용자 단말은 서비스 기관, 정보 관리 서버 또는 다른 단말과 통신하는 통신부 및 통신 암호키를 생성하고 검증에 필요한 제출문을 생성하는 제어부를 포함하고,
상기 통신부는 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하고, 상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하고,
상기 제어부는 서비스 기관 분산 ID 공개키를 이용하여 상기 통신 암호키를 암호화하여 상기 서비스 기관과 공유하고, 상기 통신 암호키, 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청할 수 있다.
이때, 상기 공공 ID는 상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 상기 서비스 기관에 상응하도록 기발급된 것일 수 있다.
이때, 상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것일 수 있다.
이때, 상기 제어부는 상기 서비스 기관에 검증 요청 시 상기 서비스 기관과 상기 통신 암호키의 공유 여부를 확인할 수 있다.
이때, 상기 제어부는 상기 서비스 기관에 검증 요청 시 상기 통신 암호키를 이용하여 크리덴셜을 암호화할 수 있다.
이때, 상기 제어부는 상기 서비스 기관에 검증 요청 시 상기 암호화된 크리덴셜을 포함하는 제출문에 대하여 상기 사용자 분산 ID 개인키로 서명할 수 있다.
이때, 상기 통신부는 상기 검증 요청에 대한 검증 결과를 수신하고, 상기 검증 결과는 상기 통신 암호키를 이용하여 상기 크리덴셜을 복호화한 결과에 기반하고, 상기 통신 암호키는 사용자 분산 ID 공개키를 이용하여 획득되고, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 획득될 수 있다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 사용자 단말의 크리덴셜 제출문을 수신하는 단계, 사용자 분산 ID를 이용하여 사용자 분산 ID 공개키를 획득하는 단계, 상기 사용자 분산 ID 공개키를 이용하여 상기 크리덴셜 제출문의 서명을 검증하는 단계, 상기 사용자 분산 ID에 상응하는 통신 암호키로 크리덴셜을 복호화하는 단계 및 상기 복호화된 크리덴셜을 이용하여 사용자 검증을 수행하는 단계를 포함한다.
이때, 상기 크리덴셜 제출문은 상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 기발급된 공공 ID를 이용하여 생성된 것일 수 있다.
이때, 상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것일 수 있다.
이때, 상기 통신 암호키는 상기 사용자 단말에서 서비스 기관 분산 ID 공개키로 암호화되어 수신될 수 있다.
이때, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 상기 분산 신뢰 저장소에 저장된 사용자 분산 ID 문서를 조회하여 획득될 수 있다.
본 발명에 따르면, 분산 ID 기반 신원관리 서비스 환경에서 공공 ID를 이용하여 서비스 제공자의 신뢰성을 향상할 수 있다.
또한, 본 발명은 공공 ID를 이용하여 서비스 제공자의 공개키를 획득하고, 이를 활용하여 사용자와 서비스 제공자의 데이터 전송 간 기밀성을 제공할 수 있다.
도 1은 분산 ID 기반의 분산 신원관리 서비스 환경을 개념적으로 나타낸 도면이다.
도 2는 단일 단말에서 이종 도메인 분산 신원 관리 서비스를 사용하는 예시이다.
도 3은 대칭키 암호화 알고리즘을 개념적으로 나타낸 도면이다.
도 4는 비대칭키 암호화 알고리즘을 개념적으로 나타낸 도면이다.
도 5는 신원 관리 서비스에 대한 검증 프레임워크 예시이다.
도 6은 기존 분산 신원관리 서비스에 대한 악의적 공격 예시이다.
도 7은 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법을 나타낸 흐름도이다.
도 8은 본 발명의 다른 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법을 나타낸 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 시스템을 나타낸 구성도이다.
도 10 및 11은 본 발명의 일 실시예에 따른 검증 방법에서 기관 정보 등록 단계를 나타낸 흐름도이다.
도 12 및 13은 본 발명의 일 실시예에 따른 검증 방법에서 기관 정보 등록 단계를 나타낸 흐름도이다.
도 14 및 15는 본 발명의 일 실시예에 따른 검증 방법에서 크리덴셜 제출 및 검증 단계를 나타낸 흐름도이다.
도 16은 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 장치(사용자 단말)를 나타낸 블록도이다.
도 17은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
비록 "제1" 또는 "제2" 등이 다양한 구성요소를 서술하기 위해서 사용되나, 이러한 구성요소는 상기와 같은 용어에 의해 제한되지 않는다. 상기와 같은 용어는 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용될 수 있다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있다.
본 명세서에서 사용된 용어는 실시예를 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소 또는 단계가 하나 이상의 다른 구성요소 또는 단계의 존재 또는 추가를 배제하지 않는다는 의미를 내포한다.
본 명세서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 해석될 수 있다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면 부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 분산 ID 기반의 분산 신원관리 서비스 환경을 개념적으로 나타낸 도면이다.
도 1을 참조하면, 분산 신원관리 서비스 환경은 발급기관, 사용자, 검증기관 및 신뢰 저장소와 같은 실체(entity)들로 구성된다. 발급자는 사용자에게 크리덴셜을 발급하고, 사용자는 발급된 크리덴셜을 관리하고 서비스 이용 시에 필요한 크리덴셜을 검증자에게 제출한다. 검증자는 서비스 제공에 필요한 크리덴셜을 사용자에게 요청하고 사용자가 제출한 크리덴셜을 검증하여 서비스를 제공한다. 신뢰 저장소는 발급기관과 사용자, 검증기관의 신원을 나타내는 분산 식별자(ID)와 분산 식별자 문서를 저장 관리한다.
도 2는 단일 단말에서 이종 도메인 분산 신원 관리 서비스를 사용하는 예시이다.
최근 다양한 분야에서 분산 신원관리 서비스를 활용함에 따라, 사용자는 하나의 모바일 단말에서 두 개 이상의 분산 신원증명을 관리하게 되는 경우가 많다. 기본적으로는 각각 다른 도메인에서 크리덴셜을 발급받고 검증 시에는 각각 다른 분산 신원관리 서비스로 검증 요청을 진행하나, 유관성이 있는 서비스의 경우 크리덴셜 연계가 가능한 서비스도 나타나고 있다.
도 3은 대칭키 암호화 알고리즘을 개념적으로 나타낸 도면이다.
도 4는 비대칭키 암호화 알고리즘을 개념적으로 나타낸 도면이다.
암호화란 현대 정보사회에서 매우 중요한 보안 기술로, 민감 정보들을 타인이 읽기 어려운 형태로 변환하여 정보를 보호하는 기술이다. 이때, 민감정보는 평문이라 부르고 암호화를 적용한 것을 암호문이라고 하며 이 암호문을 평문으로 복원하는 과정은 복호화라고 한다. 암/복호화 과정을 위해서는 암호키가 필요하며, 암호키의 종류는 크게 대칭키와 비대칭키로 구분된다. 대칭키 알고리즘은 암/복호화 과정에서 같은 암호키를 사용하는 알고리즘이며, 연산 속도가 빠르지만 송수신자 간 암/복호화 시 1개의 동일한 키를 사용하므로 보안의 강도가 낮다. 비대칭키 알고리즘은 암/복호화 과정에서 송수신자가 각각 다른 암호키를 사용하는 알고리즘으로, 연산 속도가 느려서 큰 데이터의 경우 효율이 떨어지지만 암호화 키와 복호화 키가 서로 달라 보안의 강도가 대칭키에 비해 높다.
도 5는 신원 관리 서비스에 대한 검증 프레임워크 예시이다.
도 5와 같은 일반적인 신원관리 서비스들에서는, 크리덴셜 발급기관 및 검증기관은 디지털 상에만 존재할 뿐이다. 실세계에서는 그 실체를 검증할 수 없는 경우에는 신원관리 서비스는 신뢰 가능한 서비스가 될 수 없다. 따라서 신뢰 가능한 분산 신원관리 서비스 제공을 위해 크리덴셜을 발급할 수 있는 발급자 및 검증자에 대한 실체 인증을 제공할 수 있는 방안이 필요하다.
도 6은 기존 분산 신원관리 서비스에 대한 악의적 공격 예시이다.
최근 다양한 분산 ID 기반 신원관리 서비스가 생겨남에 따라, 그에 따른 보안이 중요해지고 있다. 현재 서비스 중인 분산 ID 기반 신원관리 서비스들은 인증정보와 함께 전달되는 데이터에 대한 기밀성 유지 제공 방안이 없다는 문제가 있다. 따라서 분산 신원관리 서비스에서 종단 간 메시지 전송에 대한 보안이 필요하며, 본 발명에서는 이에 대한 보안 방법을 분산 신원관리 서비스에서 기제공된 인증정보를 토대로 네트워크 통신 보안을 제공하는 방법을 제안한다.
도 7은 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법을 나타낸 흐름도이다.
도 7의 분산 ID 기반 서비스의 암복호화 통신 방법은 스마트폰, 개인용 컴퓨터 등과 같은 사용자 디바이스에서 수행될 수 있다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하는 단계(S110), 상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하는 단계(S120), 서비스 기관 분산 ID 공개키를 이용하여 통신 암호키를 암호화하는 단계(S130), 상기 암호화된 통신 암호키를 상기 서비스 기관에 송신하는 단계 및 상기 통신 암호키(S140), 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청하는 단계(S150)를 포함한다.
이때, 상기 공공 ID는 상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 상기 서비스 기관에 상응하도록 기발급된 것일 수 있다.
이때, 상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것일 수 있다.
이때, 상기 서비스 기관에 검증을 요청하는 단계(S150)는 상기 서비스 기관과 상기 통신 암호키의 공유 여부를 확인할 수 있다.
이때, 상기 서비스 기관에 검증을 요청하는 단계(S150)는 상기 통신 암호키를 이용하여 크리덴셜을 암호화할 수 있다.
이때, 상기 크리덴셜이라는 개념은 특정 사용자가 해당 자격을 가지고 있는지에 대한 증명정보를 의미하며, 통상 분산 신원관리 시스템에서 말하는 VC뿐만 아니라 기존 레거시 방식의 전자문서, 증명서 사진 등의 개념을 포함한다.
이때, 상기 서비스 기관에 검증을 요청하는 단계(S150)는 상기 암호화된 크리덴셜을 포함하는 제출문에 대하여 상기 사용자 분산 ID 개인키로 서명할 수 있다.
이때, 도 7에는 도시되지 않았지만 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 검증 결과를 수신하는 단계를 더 포함할 수 있다.
이때, 상기 검증 결과는 상기 통신 암호키를 이용하여 상기 크리덴셜을 복호화한 결과에 기반하고, 상기 통신 암호키는 사용자 분산 ID 공개키를 이용하여 획득되고, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 획득될 수 있다.
도 8은 본 발명의 다른 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법을 나타낸 흐름도이다.
도 8의 분산 ID 기반 서비스의 암복호화 통신 방법은 서버 등 분산 ID 기반 서비스 제공 기관의 디바이스에서 수행될 수 있다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 사용자 단말의 크리덴셜 제출문을 수신하는 단계(S210), 사용자 분산 ID를 이용하여 사용자 분산 ID 공개키를 획득하는 단계(S220), 상기 사용자 분산 ID 공개키를 이용하여 상기 크리덴셜 제출문의 서명을 검증하는 단계(S230), 상기 사용자 분산 ID에 상응하는 통신 암호키로 크리덴셜을 복호화하는 단계(S240) 및 상기 복호화된 크리덴셜을 이용하여 사용자 검증을 수행하는 단계(S250)를 포함한다.
이때, 상기 크리덴셜이라는 개념은 특정 사용자가 해당 자격을 가지고 있는지에 대한 증명정보를 의미하며, 통상 분산 신원관리 시스템에서 말하는 VC뿐만 아니라 기존 레거시 방식의 전자문서, 증명서 사진 등의 개념을 포함한다.
이때, 상기 크리덴셜 제출문은 상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 기발급된 공공 ID를 이용하여 생성된 것일 수 있다.
이때, 상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것일 수 있다.
이때, 상기 통신 암호키는 상기 사용자 단말에서 서비스 기관 분산 ID 공개키로 암호화되어 수신될 수 있다.
이때, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 상기 분산 신뢰 저장소에 저장된 사용자 분산 ID 문서를 조회하여 획득될 수 있다.
이하, 도 9 내지 도 15를 참조하여 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법을 상세히 설명한다.
본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 방법은 서비스 제공기관에 대한 검증을 위한 공공 ID 및 통신 암호키를 활용한 데이터 기밀성 유지를 특징으로 한다.
도 9는 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 시스템을 나타낸 구성도이다.
이하, 도 9를 참조하여 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 시스템의 구성 요소를 설명한다.
사용자 단말(신원관리 앱, 10)은 서비스 기관이 발행하는 크리덴셜을 저장 관리하고, 타 서비스 이용 시 신원증명을 위해 크리덴셜을 제출하는 주체이다.
기관정보 관리기관(20)은 특정 기관이 크리덴셜 발급자의 역할을 할 수 있도록 발급기관 자격 검증을 수행하는 개체이다. 기관정보 관리기관(20)은 기관용 분산 ID 및 기관정보(ex:공시정보)들을 하나의 세트로 두고, 서비스 제공 기관에서 정보등록 요청 시 공공 ID를 발행하여 추후 이것으로 기관정보 및 기관용 분산 ID 조회가 가능하도록 서비스를 제공한다.
기관정보 관리서버(30)는 기관정보 세트를 저장 관리하는 시스템으로, 기본적으로 서버 및 스토리지 등으로 구성될 수 있다.
크리덴셜 발급기관(40)은 서비스 기관에서 사용자가 신원증명용으로 사용할 크리덴셜을 발급해주는 개체이다. 이때, 크리덴셜 발급기관(40)이 검증 관련 서비스를 제공할 수 있다면 서비스 제공기관의 역할을 동시에 수행할 수 있다.
서비스 제공기관(50)은 사용자가 서비스 이용을 요청하는 대상 개체이며, 서비스 제공을 위한 사용자의 신원증명용 크리덴셜을 요청하고 검증한다. 이때, 서비스 제공기관(50)이 크리덴셜 발급을 수행할 수 있다면 크리덴셜 발급기관의 역할을 동시에 수행할 수 있다.
분산 ID 관리서버(60, 80)는 분산 ID 신원관리 시스템상의 개체의 분산 ID를 분산 신뢰 저장소에 등록 및 관리를 담당하는 개체로, 분산 ID의 등록/조회/갱신/폐기를 수행한다.
이때, 서비스마다 분산 ID 구조는 다를 수 있기 때문에 분산 신원관리 시스템마다 서버 구조는 다를 수 있다.
분산 ID 해석서버(70)는 분산 신원관리 서비스별로 운영되는 분산 신뢰 저장소들을 찾아 분산 ID 문서 정보를 조회하는 개체이다.
분산 ID 해석서버(70)는 분산 ID에 있는 서비스 도메인 정보를 확인하여 분산 신뢰 저장소 주소를 찾아 그 주소로 정보를 요청하며, 분산 ID 문서 정보 자체를 조회하거나 그 안에 있는 부분 정보만을 조회할 수 있다.
분산 신뢰 저장소(90)는 분산 신원관리 서비스상의 개체들의 분산 ID 및 기타 데이터(분산 ID 문서, 공개키, 메타데이터 등)들을 저장 관리하는 개체이다.
이때, 분산 신뢰 저장소(90)는 블록체인 형태로 구성되는 경우가 많으나 분산원장만으로도 구성 가능하며 본 발명의 범위가 이에 제한되는 것은 아니다.
사용자에게 신원관리 서비스를 제공해 줄 수 있는 기관(크리덴셜 발급기관 또는 서비스 제공자)들은 분산 신원관리 환경에서 사용자에게 서비스 신뢰성 제공을 위해 기관정보 및 기관 분산 ID를 기관정보 관리기관(20)에 등록해야 한다. 기관정보는 법인 여부를 판단할 수 있는 정보로 구성되어 있으며 기관정보 관리기관의 관리 데이터 구조는 서비스 정책에 맞게 구성하면 되나, 실제 회사임을 증명할 수 있는 식별정보가 반드시 포함되어야 한다. 실제 회사임을 증명할 수 있는 식별정보의 예시로는 사업자 등록번호가 있다. 기관정보 관리서버(30)에서는 기관정보 관리기관(20)으로부터 받은 기관 식별정보를 가지고 실제 법인 여부를 확인할 수 있는 수단이 마련되어야 하는데, 본 발명에서는 그 구현방법에 제한을 두지 않는다.
기관정보와 기관 분산 ID를 기관정보 관리기관(20)에 등록하면 공공 ID가 발행된다. 사용자는 추후 이 공공 ID를 가지고 적법한 서비스 기관인지에 대한 확인을 할 수 있다. 크리덴셜 발급기관(40)과 서비스 제공기관(50)은 사용자가 기관정보 관리기관(20)에 기관조회 요청을 할 수 있도록 각 사이트에 공공 ID를 게시해야 하며, 텍스트나 QR코드 등 다양한 형태로 게시할 수 있다.
사용자는 신원관리 앱(10)에서 공공 ID를 통해 기관정보 관리기관(20)에 기관정보 조회 요청을 하고, 조회된 정보를 통해 서비스 적법기관 여부를 확인한 후 크리덴셜 발급 요청을 수행하거나 서비스 제공을 위한 신원증명용 크리덴셜을 제출할 수 있다.
공공 ID 기반 기관검증이 수행된 후에 사용자는 크리덴셜 발급기관(40) 또는 서비스 제공기관(50)과 통신할 때 암복호화 통신을 수행한다. 암호 알고리즘의 사용은 안전성이 보장된 암호 알고리즘을 사용해야 하며, 통신속도 및 기밀성 확보를 위해 대칭키와 비대칭키 알고리즘을 조합한 하이브리드 암호 방식을 사용할 수 있다.
먼저, 사용자가 신원관리 앱(10)에서 대칭키 알고리즘을 사용하여 대칭키를 생성한다. 이 대칭키는 전송 대상기관의 분산 ID 문서에 담긴 공개키를 사용해 암호화하며, 첨부 데이터가 있는 경우 사전에 대칭키를 통해 암호화한다. 공개키로 암호화된 대칭키와 대칭키로 암호화된 첨부 데이터를 전송 대상기관에게 보내고, 해당 기관은 기관용 분산 ID 문서에 담긴 공개키에 대응하는 개인키를 사용하여 암호화된 대칭키를 복호화하고 대칭키를 획득한다. 전송 대상기관은 획득한 대칭키를 사용하여 암호화된 첨부 데이터를 복호화하여 첨부 데이터를 안전하게 전달받고, 추후 이 대칭키를 사용하여 양자간 암복호화 통신을 수행한다.
본 발명은 크게 기관 정보 등록 단계, 통신 암호키 교환 단계 및 크리덴셜 제출 및 검증 단계로 구성될 수 있다. 이하, 도 10 및 도 11을 참조하여 본 발명의 기관 정보 등록 단계에 관하여 상세히 설명한다.
도 10 및 11은 본 발명의 일 실시예에 따른 검증 방법에서 기관 정보 등록 단계를 나타낸 흐름도이다.
분산 신원관리 환경에서 기관은 크게 크리덴셜 발급기관(40)과 크리덴셜 검증기관(50)이 있으며, 크리덴셜 검증은 서비스 제공기관이 주로 행하므로 서비스 제공기관으로 불러도 무방하다. 두 기관은 공개키가 담긴 분산 ID 문서를 분산 신뢰 저장소(90)에 등록해 놓은 상태를 전제로 하므로, 기관별로 분산 ID 관리서버를 통해 기관 분산 ID를 분산 신뢰 저장소(90)에 등록해야 한다.
기관 분산 ID가 등록되었으면, 크리덴셜 발급기관(40) 및 서비스 제공기관(50)은 기관정보를 생성한다(S302). 이때, 기관정보는 사업자 등록번호와 같이 실제 법인 여부를 확인할 수 있는 식별정보를 1개 이상 포함하여 구성해야 한다. 기관정보와 기관 분산 ID가 준비되었으면 기관정보 관리기관(20)에 해당 정보들을 등록 요청하기 위해 기관정보 등록 요청문을 생성하고(S304), 등록 요청문을 기관별 분산 ID에 대응하는 개인키로 서명을 생성(S306) 및 첨부하여 기관정보 관리기관(20)으로 기관정보 등록 요청문을 전송한다(S308).
기관정보 관리기관(20)은 기관정보 등록 요청문을 확인하고(S310), 기관 정보 및 기관 분산 ID 등록 요청을 기관정보 관리서버(30)로 전송한다(S312). 기관정보 관리서버(30)는 기관정보를 관리하는 데이터베이스를 토대로 기관정보의 중복확인을 수행한다(S312). 중복되지 않은 기관정보라면, 기관정보 관리서버는 기관정보 등록 요청문의 서명검증을 위해 요청문에 담긴 기관 분산 ID를 분산 ID 해석서버로 조회 요청한다(S316). 분산 ID 해석서버(70)는 기관 분산 ID의 구조를 확인하여 적절한 분산 신뢰 저장소의 위치를 찾는 역할을 수행하며(S318), 분산 신뢰 저장소(90)는 조회 요청한 분산 ID에 해당하는 분산 ID 문서를 조회하여 응답값으로 반환하고(S320, S322), 분산 ID 해석서버(70)도 응답값인 분산 ID 문서를 기관정보 관리서버(30)로 반환한다(S324).
기관정보 관리서버(30)는 응답값인 분산 ID 문서에서 공개키를 획득하고 기관정보 등록 요청문에 대한 서명검증을 수행한다(S326, S328). 검증이 완료되면 등록 요청한 기관정보의 진위 여부를 확인(S330)하는데, 진위여부 확인 방법은 시스템 정책에 따라 구현 방식이 상이할 수 있으므로 본 발명에서는 진위여부 확인법의 구현 형태 제한을 두지 않는다. 예를 들면, 전자공시시스템의 OpenDART API를 사용하여 법인 여부를 확인하는 연계 시스템을 구축하는 것을 한 방법으로 들 수 있다.
등록 요청한 기관정보 진위여부 확인까지 완료되면, 기관정보 관리서버(30)는 공공 ID를 생성하고 기관정보 및 기관 분산 ID와 함께 기관정보 관리 데이터베이스에 저장한다(S332, S334). 공공 ID는 저장된 기관정보 데이터셋(기관정보 + 기관 분산 ID)을 조회할 수 있는 기본키의 역할을 하며, 기관정보 등록 요청에 대한 응답문에 공공 ID를 함께 반환한다(S336). 기관정보 관리기관은 크리덴셜 발급기관 및 서비스 제공기관에 기관정보 등록 응답문을 전송하고, 각 기관들은 응답값으로 받은 공공 ID를 저장한다(S338, S340, S342).
각 서비스 기관들은 사이트 화면에서 QR코드로 제공하거나 메일 전송 등의 방법으로 공공 ID를 사용자에게 제공할 수 있어야 한다. 공공 ID 저장이 완료되면 프로세스를 종료한다.
도 12 및 13은 본 발명의 일 실시예에 따른 검증 방법에서 통신 암호키 교환 단계를 나타낸 흐름도이다.
이하, 도 12 및 도 13을 참조하여 본 발명의 통신 암호키 교환 단계에 관하여 상세히 설명한다.
사용자는 크리덴셜 발급기관(40) 혹은 서비스 제공기관(50)과 통신을 하기 전 암호키를 교환하여 보안 연결을 맺어야 한다. 사용자가 신원관리 앱(10)에서 '통신 보안키 공유' 메뉴를 선택하면 모바일 단말에 기존에 생성한 통신 암호키가 있는지 확인하고, 기생성된 암호키가 없다면 사용자에게 통신 암호키 생성 알림창을 띄운 후 통신 암호키를 생성할 수 있다(S402). 통신 암호키를 생성할 때는 대칭키 알고리즘을 사용하며, AES 등 안전성이 보장된 알고리즘을 사용해야 한다.
사용자는 통신 암호키를 선택한 후 대상 기관의 공공 ID를 입력한다. '연결 기관 입력' 메뉴를 선택하면 공공 ID 입력란이 뜨는데, 텍스트로 직접 입력하거나 기관 사이트에 게시된 공공 ID의 QR코드를 스캔하여 공공 ID값을 넣는다(S404). 신원관리 앱에서는 해당 공공 ID가 유효한지 확인을 위해 기관정보 관리서버(30)로 조회 요청을 하고(S406), 기관정보 관리서버(30)는 공공 ID로 조회된 기관정보 데이터 세트(기관정보 및 기관 분산 ID)를 신원관리 앱에 전달한다(S408, S410). 신원관리 앱(10)은 조회된 기관정보 데이터 유무 여부를 체크하고(S412, S414), 사용자에게 조회된 기관정보를 화면으로 보여주면서 사용자가 직접 기관정보 확인 후에 단계 진행을 할 수 있도록 한다.
사용자가 기관정보 확인을 마치면, 신원관리 앱(10)은 기관 분산 ID에 해당하는 공개키 조회를 분산 ID 해석서버(70)에 요청한다(S416). 분산 ID 해석서버(70)는 조회 요청된 분산 ID가 다중 도메인 상에서 어느 분산 신뢰 저장소에 저장된 분산 ID인지 확인 후 분산 ID 문서를 반환하는 서버로, 분산 ID 해석서버(70)가 분산 신뢰 저장소(90)로 조회 요청을 보내면(S418) 분산 신뢰 저장소(90)는 분산 ID의 공개키가 저장된 분산 ID 문서를 반환한다(S420, S422). 분산 ID 해석서버(70)는 조회된 기관 분산 ID 문서를 신원관리 앱(10)으로 전송하며(S424), 신원관리 앱은 조회된 분산 ID 문서에서 기관 분산 ID의 공개키를 획득한다(S426). 기관 분산 ID 공개키는 통신 암호키를 암호화하는 용도로 사용되며, 본 발명에서 분산 ID 문서에 담긴 공개키는 RSA 등 안전성이 보장된 비대칭키 알고리즘을 사용하여 만든 공개키를 사용하도록 한다.
신원관리 앱(10)은 통신 암호키를 분산 ID 문서에 담긴 공개키로 암호화하고(S428), 암호화된 통신 암호키와 사용자 분산 ID가 담긴 전달문을 만들어 대상 기관에 전송한다(S430, S432, S434). 대상 기관(40, 50)은 전달받은 전송문에서 암호화되어 있는 통신 암호키를 획득(S436)한 후 기관이 가진 분산 ID의 개인키로 복호화하여 통신 암호키를 획득하고, 분산 ID와 함께 데이터베이스에 저장한다(S438, S440). 통신 암호키 저장이 끝나면 기관(40, 50)은 신원관리 앱(10)에 전송문 처리 완료 응답을 보내고(S442) 신원관리 앱은 응답 결과를 확인한 후 통신 암호키 교환이 완료된 기관의 공공 ID를 신원관리 앱 내 데이터베이스에 저장한다(S444, S446). 추후 데이터베이스에 저장된 공공 ID값을 확인하여 이전에 통신 암호키 교환이 이루어진 기관인지 확인할 수 있다. 저장이 끝나면 프로세스를 종료한다.
도 14 및 15는 본 발명의 일 실시예에 따른 검증 방법에서 크리덴셜 제출 및 검증 단계를 나타낸 흐름도이다.
이하, 도 14 및 도 15를 참조하여 본 발명의 크리덴셜 제출 및 검증 단계에 관하여 상세히 설명한다.
사용자는 서비스 제공기관에서 제공하는 서비스 이용을 하기 위해 본인의 신원자격을 증명해야 한다. 은행에서 대출 서비스를 받기 위해 본인의 직업증명서 등 증명서류들의 제출이 필요한 것을 그 예로 들 수 있다. 분산 신원관리 서비스 환경 또한 사용자가 일련의 서비스를 받기 위해서는 본인의 신원자격을 증명해야 하며, 다른 서비스 기관으로부터 발급받은 크리덴셜을 제출하는 것이 현실 세계에서 증명서류를 제출하는 것과 동일한 의미를 지닌다. 이 크리덴셜은 개인정보에 해당하므로, 크리덴셜 전송 시에는 기밀성 확보를 위해 크리덴셜을 암호화하여 전송한다. 사용자와 서비스 제공기관은 사전에 통신 암호키를 교환하였다고 가정하고, 신원관리 앱에서 사용자는 '보안 연결 수립' 메뉴를 선택한다. 메뉴를 선택하면 연결하려는 서비스 제공기관의 공공 ID를 입력하는 창이 뜨고, 텍스트로 직접 입력하거나 기관 사이트에 게시된 공공 ID의 QR코드를 스캔하여 공공 ID값을 넣는다(S502). 입력된 공공 ID를 가지고 신원관리 앱의 공공 ID 데이터베이스에 저장되었는지 체크하여 통신 암호키 공유 여부를 확인할 수 있다(S504).
통신 암호키 공유 여부가 확인되면 통신 암호키와 제출할 자격증명용 크리덴셜을 선택한다(S506, S508). 통신 암호키 및 크리덴셜이 선택되면 제출 크리덴셜을 통신 암호키를 사용하여 암호화하고, 암호화된 크리덴셜과 사용자 분산 ID가 담긴 크리덴셜 제출문을 생성한다(S510, S512, S514). 생성된 크리덴셜 제출문은 본인 인증을 위해 사용자 분산 ID의 개인키로 서명을 한 후 서명된 크리덴셜 제출문을 서비스 제공기관에 전송한다(S516, S518).
서비스 제공기관은 전달받은 크리덴셜 제출문에서 사용자 분산 ID 및 암호화된 크리덴셜을 획득한다(S520). 서비스 제공기관은 제출자의 서명검증용 공개키 조회를 위해 사용자 분산 ID 문서를 분산 ID 해석서버에 조회 요청한다(S522). 분산 ID 해석서버는 분산 신뢰 저장소에게 사용자 분산 ID 문서를 조회 요청하고, 분산 신뢰 저장소는 분산 ID를 키 값으로 하는 분산 ID 문서를 반환한다(S524, S526, S528). 분산 ID 해석서버는 조회된 기관 분산 ID 문서를 서비스 제공기관으로 전송하며, 서비스 제공기관은 조회된 분산 ID 문서에서 사용자 분산 ID의 공개키를 획득한다(S530, S532). 서비스 제공기관은 획득한 공개키를 가지고 크리덴셜 제출문에 대한 서명검증을 수행한다(S534). 서명검증이 완료되면 서비스 제공기관은 통신 암호키 데이터베이스에 사용자 분산 ID에 대응하는 통신 암호키가 있는지 확인한다(S536). 조회된 통신 암호키가 있다면 서비스 제공기관은 해당 통신 암호키를 사용하여 암호화된 크리덴셜을 복호화한다(S538). 복호화된 크리덴셜을 가지고 서비스 제공자는 사용자가 서비스 제공받을 자격이 되는지에 대한 검증을 수행한다(S540). 검증 내용 및 방법은 서비스 제공 형태에 따라 상이할 수 있으므로 이 발명에서는 검증 절차에 대해서는 제한을 두지 않는다.
사용자가 제출한 크리덴셜을 통해 신원자격 검증이 완료되면, 서비스 제공기관은 제출 크리덴셜에 대한 검증완료를 알리는 응답문을 신원관리 앱으로 전송한다(S542, S544). 신원관리 앱은 제출 크리덴셜에 대한 검증이 완료된 응답문을 확인하고, 프로세스를 종료한다(S546).
도 16은 본 발명의 일 실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 장치(사용자 단말)를 나타낸 블록도이다.
도 16을 참조하면, 본 발명의 일 실시예에 따른 사용자 단말은 서비스 기관, 정보 관리 서버 또는 다른 단말과 통신하는 통신부(110) 및 통신 암호키를 생성하고 검증에 필요한 제출문을 생성하는 제어부(120)를 포함하고,
상기 통신부(110)는 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하고, 상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하고, 상기 제어부(120)는 서비스 기관 분산 ID 공개키를 이용하여 상기 통신 암호키를 암호화하여 상기 서비스 기관과 공유하고, 상기 통신 암호키, 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청할 수 있다.
이때, 상기 공공 ID는 상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 상기 서비스 기관에 상응하도록 기발급된 것일 수 있다.
이때, 상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것일 수 있다.
이때, 상기 제어부(120)는 상기 서비스 기관에 검증 요청 시 상기 서비스 기관과 상기 통신 암호키의 공유 여부를 확인할 수 있다.
이때, 상기 제어부(120)는 상기 서비스 기관에 검증 요청 시 상기 통신 암호키를 이용하여 크리덴셜을 암호화할 수 있다.
이때, 상기 크리덴셜이라는 개념은 특정 사용자가 해당 자격을 가지고 있는지에 대한 증명정보를 의미하며, 통상 분산 신원관리 시스템에서 말하는 VC뿐만 아니라 기존 레거시 방식의 전자문서, 증명서 사진 등의 개념을 포함한다.
이때, 상기 제어부(120)는 상기 서비스 기관에 검증 요청 시 상기 암호화된 크리덴셜을 포함하는 제출문에 대하여 상기 사용자 분산 ID 개인키로 서명할 수 있다.
이때, 상기 통신부(110)는 상기 검증 요청에 대한 검증 결과를 수신하고, 상기 검증 결과는 상기 통신 암호키를 이용하여 상기 크리덴셜을 복호화한 결과에 기반하고, 상기 통신 암호키는 사용자 분산 ID 공개키를 이용하여 획득되고, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 획득될 수 있다.
도 17은 실시예에 따른 컴퓨터 시스템의 구성을 나타낸 도면이다.
실시예에 따른 분산 ID 기반 서비스의 암복호화 통신 장치는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1000)에서 구현될 수 있다.
컴퓨터 시스템(1000)은 버스(1020)를 통하여 서로 통신하는 하나 이상의 프로세서(1010), 메모리(1030), 사용자 인터페이스 입력 장치(1040), 사용자 인터페이스 출력 장치(1050) 및 스토리지(1060)를 포함할 수 있다. 또한, 컴퓨터 시스템(1000)은 네트워크(1080)에 연결되는 네트워크 인터페이스(1070)를 더 포함할 수 있다. 프로세서(1010)는 중앙 처리 장치 또는 메모리(1030)나 스토리지(1060)에 저장된 프로그램 또는 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1030) 및 스토리지(1060)는 휘발성 매체, 비휘발성 매체, 분리형 매체, 비분리형 매체, 통신 매체, 또는 정보 전달 매체 중에서 적어도 하나 이상을 포함하는 저장 매체일 수 있다. 예를 들어, 메모리(1030)는 ROM(1031)이나 RAM(1032)을 포함할 수 있다.
본 발명에서 설명하는 특정 실행들은 실시예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
110: 통신부
120: 제어부
1000: 컴퓨터 시스템 1010: 프로세서
1020: 버스 1030: 메모리
1031: 롬 1032: 램
1040: 사용자 인터페이스 입력 장치
1050: 사용자 인터페이스 출력 장치
1060: 스토리지 1070: 네트워크 인터페이스
1080: 네트워크

Claims (19)

  1. 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하는 단계;
    상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하는 단계;
    서비스 기관 분산 ID 공개키를 이용하여 통신 암호키를 암호화하는 단계;
    상기 암호화된 통신 암호키를 상기 서비스 기관에 송신하는 단계; 및
    상기 통신 암호키, 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청하는 단계
    를 포함하는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  2. 청구항 1에 있어서,
    상기 공공 ID는
    상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 상기 서비스 기관에 상응하도록 기발급된 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  3. 청구항 2에 있어서,
    상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  4. 청구항 1에 있어서,
    상기 서비스 기관에 검증을 요청하는 단계는
    상기 서비스 기관과 상기 통신 암호키의 공유 여부를 확인하는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  5. 청구항 4에 있어서,
    상기 서비스 기관에 검증을 요청하는 단계는
    상기 통신 암호키를 이용하여 크리덴셜을 암호화하는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  6. 청구항 5에 있어서,
    상기 서비스 기관에 검증을 요청하는 단계는
    상기 암호화된 크리덴셜을 포함하는 제출문에 대하여 상기 사용자 분산 ID 개인키로 서명하는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  7. 청구항 5에 있어서,
    검증 결과를 수신하는 단계를 더 포함하고,
    상기 검증 결과는 상기 통신 암호키를 이용하여 상기 크리덴셜을 복호화한 결과에 기반하고, 상기 통신 암호키는 사용자 분산 ID 공개키를 이용하여 획득되고, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 획득되는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  8. 서비스 기관, 정보 관리 서버 또는 다른 단말과 통신하는 통신부; 및
    통신 암호키를 생성하고 검증에 필요한 제출문을 생성하는 제어부
    를 포함하고,
    상기 통신부는 서비스 기관의 공공 ID를 이용하여 기관 정보 관리 서버에서 서비스 기관 조회 결과를 수신하고, 상기 조회 결과를 이용하여 상기 서비스 기관의 분산 ID 문서를 수신하고,
    상기 제어부는 서비스 기관 분산 ID 공개키를 이용하여 상기 통신 암호키를 암호화하여 상기 서비스 기관과 공유하고, 상기 통신 암호키, 사용자 분산 ID 및 상기 서비스 기관의 공공 ID를 이용하여 상기 서비스 기관에 검증을 요청하는 것을 특징으로 하는 사용자 단말.
  9. 청구항 8에 있어서,
    상기 공공 ID는
    상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 상기 서비스 기관에 상응하도록 기발급된 것을 특징으로 하는 사용자 단말.
  10. 청구항 9에 있어서,
    상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것을 특징으로 하는 사용자 단말.
  11. 청구항 8에 있어서,
    상기 제어부는 상기 서비스 기관에 검증 요청 시 상기 서비스 기관과 상기 통신 암호키의 공유 여부를 확인하는 것을 특징으로 하는 사용자 단말.
  12. 청구항 11에 있어서,
    상기 제어부는 상기 서비스 기관에 검증 요청 시 상기 통신 암호키를 이용하여 크리덴셜을 암호화하는 것을 특징으로 하는 사용자 단말.
  13. 청구항 12에 있어서,
    상기 제어부는 상기 서비스 기관에 검증 요청 시 상기 암호화된 크리덴셜을 포함하는 제출문에 대하여 상기 사용자 분산 ID 개인키로 서명하는 것을 특징으로 하는 사용자 단말.
  14. 청구항 12에 있어서,
    상기 통신부는 상기 검증 요청에 대한 검증 결과를 수신하고,
    상기 검증 결과는 상기 통신 암호키를 이용하여 상기 크리덴셜을 복호화한 결과에 기반하고, 상기 통신 암호키는 사용자 분산 ID 공개키를 이용하여 획득되고, 상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 획득되는 것을 특징으로 하는 사용자 단말.
  15. 사용자 단말의 크리덴셜 제출문을 수신하는 단계;
    사용자 분산 ID를 이용하여 사용자 분산 ID 공개키를 획득하는 단계;
    상기 사용자 분산 ID 공개키를 이용하여 상기 크리덴셜 제출문의 서명을 검증하는 단계;
    상기 사용자 분산 ID에 상응하는 통신 암호키로 크리덴셜을 복호화하는 단계; 및
    상기 복호화된 크리덴셜을 이용하여 사용자 검증을 수행하는 단계
    를 포함하는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  16. 청구항 15에 있어서,
    상기 크리덴셜 제출문은
    상기 서비스 기관의 분산 ID 및 기관 정보에 기반하여 기발급된 공공 ID를 이용하여 생성된 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  17. 청구항 16에 있어서,
    상기 통신 암호키는 대칭키 알고리즘에 기반하여 생성된 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  18. 청구항 17에 있어서,
    상기 통신 암호키는
    상기 사용자 단말에서 서비스 기관 분산 ID 공개키로 암호화되어 수신된 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
  19. 청구항 15에 있어서,
    상기 사용자 분산 ID 공개키는 상기 사용자 분산 ID를 이용하여 상기 분산 신뢰 저장소에 저장된 사용자 분산 ID 문서를 조회하여 획득되는 것을 특징으로 하는 분산 ID 기반 서비스의 암복호화 통신 방법.
KR1020220140396A 2022-10-27 2022-10-27 분산 id 기반 서비스의 암복호화 통신 방법 및 장치 KR20240059302A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220140396A KR20240059302A (ko) 2022-10-27 2022-10-27 분산 id 기반 서비스의 암복호화 통신 방법 및 장치
PCT/KR2022/016714 WO2024090628A1 (ko) 2022-10-27 2022-10-28 분산 id 기반 서비스의 암복호화 통신 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220140396A KR20240059302A (ko) 2022-10-27 2022-10-27 분산 id 기반 서비스의 암복호화 통신 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240059302A true KR20240059302A (ko) 2024-05-07

Family

ID=90831058

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220140396A KR20240059302A (ko) 2022-10-27 2022-10-27 분산 id 기반 서비스의 암복호화 통신 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20240059302A (ko)
WO (1) WO2024090628A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139645B1 (ko) 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 블록체인 기반의 신원증명 시스템 및 그 구동방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160055388A (ko) * 2014-11-08 2016-05-18 김경진 서비스 제공사 인증 및 보안 통신이 가능한 환경 기반의 공동앱을 구성하는 방법
KR20180013710A (ko) * 2016-07-28 2018-02-07 (주)이스톰 공개키 기반의 서비스 인증 방법 및 시스템
KR102131206B1 (ko) * 2019-08-30 2020-08-05 비씨카드(주) 법인 관련 서비스 제공 방법, 이를 지원하는 방법, 이를 수행하는 서비스 서버 및 인증 서버
KR102496829B1 (ko) * 2020-05-13 2023-02-08 한국전자통신연구원 블록체인 기반 id 관리 장치 및 방법
KR20220122224A (ko) * 2021-02-26 2022-09-02 한국전자통신연구원 사용자 단말 및 대상 서버에서의 분산 id에 기반한 사용자 통합 인증 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102139645B1 (ko) 2020-04-13 2020-07-30 주식회사 한국정보보호경영연구소 블록체인 기반의 신원증명 시스템 및 그 구동방법

Also Published As

Publication number Publication date
WO2024090628A1 (ko) 2024-05-02

Similar Documents

Publication Publication Date Title
AU2021206913B2 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
US11438173B2 (en) Methods and apparatus for providing blockchain participant identity binding
US11677569B1 (en) Systems and methods for notary agent for public key infrastructure names
CN113056741B (zh) 基于分布式账本的简档验证
WO2020098419A1 (zh) 提供和获取安全身份信息的方法及装置
CN112291245B (zh) 一种身份授权方法、装置、存储介质及设备
CN112311538B (zh) 一种身份验证的方法、装置、存储介质及设备
KR102460299B1 (ko) 익명 크리덴셜 인증 시스템 및 그 방법
KR102131206B1 (ko) 법인 관련 서비스 제공 방법, 이를 지원하는 방법, 이를 수행하는 서비스 서버 및 인증 서버
TW202131659A (zh) 用以儲存已認證資料於區塊鏈上之電腦實行方法及系統
JP2009031849A (ja) 電子申請用証明書発行システムおよび電子申請受付システム、並びにそれらの方法およびプログラム
KR20240059302A (ko) 분산 id 기반 서비스의 암복호화 통신 방법 및 장치
JP2023540739A (ja) 分散型台帳上の、匿名性取消を伴う、セキュアな、トレース可能な、および、プライバシー保護の、デジタル通貨送金のための方法
JPH10285156A (ja) 認証システムにおける利用者情報管理装置
KR102569582B1 (ko) 속성 기반 암호화를 이용한 속성 정보의 선택적 공개 및 영지식 증명 방법
KR102569132B1 (ko) 분산 아이디 기반 서비스에서의 위임 크리덴셜 발급 장치 및 방법
KR20240061725A (ko) 만 14세 미만 자녀의 명부 정보와 만 14세 미만 자녀별로 할당된 선불 카드 정보 사이의 매핑 정보를 이용하는 만 14세 미만 자녀의 금융 활동을 관리하기 위한 탈중앙화 신원증명 시스템 및 이를 위한 동작 방법
KR20240092449A (ko) VP(Verifiable Credential)에 포함되는 제3자 의견정보의 강제 태깅 방법
JP2002033729A (ja) 認証方法及び装置並びに認証プログラムを記憶した記憶媒体
CN117693925A (zh) 数据管理程序、数据管理方法、数据管理装置及数据管理系统
JP2006108917A (ja) デジタル署名装置およびデジタル署名プログラム
WO2009118830A1 (ja) 署名管理方法および署名管理装置
KR20130021111A (ko) 전자서명 장기검증 시스템 및 그 방법