KR20230058797A - 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법 - Google Patents

프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법 Download PDF

Info

Publication number
KR20230058797A
KR20230058797A KR1020210142446A KR20210142446A KR20230058797A KR 20230058797 A KR20230058797 A KR 20230058797A KR 1020210142446 A KR1020210142446 A KR 1020210142446A KR 20210142446 A KR20210142446 A KR 20210142446A KR 20230058797 A KR20230058797 A KR 20230058797A
Authority
KR
South Korea
Prior art keywords
user
certificate
user terminal
verification
anonymous
Prior art date
Application number
KR1020210142446A
Other languages
English (en)
Other versions
KR102667307B1 (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 KR1020210142446A priority Critical patent/KR102667307B1/ko
Priority claimed from KR1020210142446A external-priority patent/KR102667307B1/ko
Publication of KR20230058797A publication Critical patent/KR20230058797A/ko
Application granted granted Critical
Publication of KR102667307B1 publication Critical patent/KR102667307B1/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
    • H04L9/3265Cryptographic 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 using certificate chains, trees or paths; Hierarchical trust model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템은, 마스터 키 및 공개 파라미터를 생성하는 키 등록 센터; 상기 키 등록 센터에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 루트 인증기관(CA: Certificate Agency); 상기 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 등록 서버; 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 발급 서버; 및 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 검증수단; 을 포함하는 점에 그 특징이 있다.

Description

프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법{A system and the method of anonymous credentials for improved privacy}
본 발명은 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법에 관한 것으로, 특히 허가형 블록체인을 기반으로 사용자 자격 증명에 대하여 사용자의 신원확인과 트랜잭션 발행을 위한 인증서를 분리하여 비추적성의 익명성을 제공할 수 있는 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법에 관한 것이다.
사물 인터넷(Internet of Things, IoT)은 방대한 양의 콘텐츠 지향 트래픽, 수많은 사람들 간의 밀집된 상호 작용, 호스트와 스마트 제품 간의 이기종 통신이 추세이다. 모든 사람과 모든 것을 연결하려면 엄격한 실시간 요구 사항과 유연성을 갖춘 수백만 개의 서비스가 필요하다. 그러나, IoT 제품 및 서비스의 소비는 여전히 기대 이상이다. 사용자는 데이터 제공자 또는 소비자이기 때문에 IoT 시스템의 필수 개체이다.
따라서 인간 중심의 사물 인터넷(Human Internet of Things, HIoT)는 이기종 물리적 및 가상 제품 및 서비스, 인터넷 간 상호 작용하여 삶의 질을 향상시키기 위해 사용자 중심의 시스템을 채택하고 있다. 그러나, 협업 제품 및 서비스 간에 컨텍스트 데이터를 교환하는 과정에서 개인 정보 보호 및 신뢰성 문제가 발생한다.
이를 해결하기 위한 새로운 블록체인 기술을 통해 디지털 ID 관리 시스템(Identity Management, IDM)을 배포할 수 있으며, 이는 중앙집중형 제3자에 의해 발생하는 문제를 크게 완화하게 되었다.
그러나, 고유한 투명성과 개인 정보 보호 문제는 여전히 남아있어 제3자에 의해 발생할 수 있는 보안 위협을 방지하기 위한 해결 방안이 필요하다.
한국특허출원 제10- 2013-0082745호
본 발명은 상기와 같은 문제점을 해결하기 위해 허가형 블록체인을 기반으로 사용자 자격 증명에 대하여 사용자의 신원확인과 트랜잭션 발행을 위한 인증서를 분리하여 비추적성의 익명성을 제공할 수 있는 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법을 제공하는 것을 목적으로 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시 예에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템은, 마스터 키 및 공개 파라미터를 생성하는 키 등록 센터; 상기 키 등록 센터에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 루트 인증기관(CA: Certificate Agency); 상기 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 등록 서버; 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 발급 서버; 및 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 검증수단; 을 포함하는 점에 그 특징이 있다.
여기서, 특히 상기 루트 인증기관은 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 점에 그 특징이 있다.
여기서, 특히 상기 등록 서버는 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 점에 그 특징이 있다.
여기서, 특히 상기 발급 서버는 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 점에 그 특징이 있다.
여기서, 특히 상기 검증수단에서는 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면 서비스 접근 권한을 부정하는 점에 그 특징이 있다.
또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시 예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법은, 키 등록 센터에서 마스터 키 및 공개 파라미터를 생성하는 단계; 루트 인증기관(CA: Certificate Agency)에서 상기 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계; 등록 서버에서 상기 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 단계; 발급서버에서 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 단계; 및 검증수단에서 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 단계;를 포함하는 점에 그 특징이 있다.
여기서, 특히 상기 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계는, 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 상기 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 점에 그 특징이 있다.
여기서, 특히 상기 등록 서버에서 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하는 단계는, 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 점에 그 특징이 있다.
여기서, 특히 상기 발급 서버에서 사용자 익명 인증서를 생성하는 단계는, 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 점에 그 특징이 있다.
여기서, 특히 상기 검증하는 단계는, 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면(참) 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면(거짓) 서비스 접근 권한을 부정하는 점에 그 특징이 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 허가형 블록체인을 기반으로 사용자 자격 증명에 대하여 사용자의 신원확인과 트랜잭션 발행을 위한 인증서를 분리하여 비추적성의 익명성을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템의 구성을 개략적으로 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법에 대한 순서도를 개략적으로 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 키 등록 센터를 이용하여 사용자 단말, 루트 인증센터, 등록 서버, 발급 서버 및 검증수단에게 공개키 쌍, 인증서 생성 및 등록하는 과정을 도시한 도면.
도4는 본 발명의 일 실시예에 따른 등록 서버에서 블록체인용 공개키 쌍, 인증서 생성, 익명 인증서에 필요한 토큰을 생성하는 과정을 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 발급 서버에서 사용자 토큰 및 증명 값을 이용하여 사용자 익명 인증서를 생성하는 과정을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 검증수단에서 사용자 익명 인증서를 검증하기 위한 과정을 도시한 도면.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한, 도면을 참고하여 설명하면서, 같은 명칭으로 나타낸 구성일지라도 도면에 따라 도면 번호가 달라질 수 있고, 도면 번호는 설명의 편의를 위해 기재된 것에 불과하고 해당 도면 번호에 의해 각 구성의 개념, 특징, 기능 또는 효과가 제한 해석되는 것은 아니다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)' 또는 '모듈'이란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 양방을 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다.
도 1은 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템의 구성을 개략적으로 도시한 도면이다.
도 1에 도시된 바와 같이, 본 발명에 프라이버시 향상을 위한 익명 자격 증명 시스템(100)은, 키 등록 센터(110), 사용자 단말(120), 루트 인증센터(130), 등록 서버(140), 발급 서버(150) 및 검증수단(160)를 포함하여 구성된다.
상기 키 등록 센터(110)는 오프라인 등록 과정을 거쳐 마스터 키 및 공개 파라미터를 생성하게 된다.
여기서, 외부로부터 보안상수를 입력받아 상기 보안상수를 입력값으로 하는 타원 곡선군에 속하는 생성원 중 임의의 제1 생성원 및 제2 생성원을 선택하고, 상기 타원 곡선군에 속하는 원소 중 임의의 원소를 선택하며, 임의의 난수를 선택하여 마스터키로 설정하고, 상기 제1 생성원, 제2 생성원 및 상기 마스터키를 겹선형 함수에 적용하여 함수값을 연산하고, 상기 제1 생성원, 제2 생성원, 상기 임의의 원소 및 상기 겹선형 함수의 함수값 중 적어도 하나를 포함하는 공개 파라미터를 설정할 수 있다.
상기 루트 인증기관(CA: Certificate Agency)(130)는 상기 키 등록 센터(110)에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말(120)로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하게 된다.
보다 구체적으로, 상기 루트 인증기관(130)은 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 루트 인증기관(130)의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하게 된다.
상기 등록 서버(140)은 상기 사용자 단말(120)로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하게 된다.
여기서, 상기 등록 서버(140)는 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하여 검증하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하게 된다.
상기 발급 서버(150)는 상기 사용자 단말(120)로부터 토근 검증을 요청받고, 사용자 단말(120)에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말(120)에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하게 된다.
여기서, 상기 발급 서버(150)는 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하게 된다.
상기 검증수단(160)은 상기 발급 서버(150)로부터 상기 검증키를 전송받고, 상기 사용자 단말(120)로부터 사용자 익명 인증서를 수신하여 사용자 단말(120)을 검증하게 된다.
여기서, 상기 검증수단(160)에서는 상기 사용자 단말(120)로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말(120)의 정당성 여부를 검증하고, 사용자 단말(120)이 검증이 인정되면 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면 서비스 접근 권한을 부정하게 된다.
또한, 도 2는 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법에 대한 순서도를 개략적으로 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 키 등록 센터를 이용하여 사용자 단말, 루트 인증센터, 등록 서버, 발급 서버 및 검증수단에게 공개키 쌍, 인증서 생성 및 등록하는 과정을 도시한 도면이고, 도4는 본 발명의 일 실시예에 따른 등록 서버에서 블록체인용 공개키 쌍, 인증서 생성, 익명 인증서에 필요한 토큰을 생성하는 과정을 도시한 도면이고, 도 5는 본 발명의 일 실시예에 따른 발급 서버에서 사용자 토큰 및 증명 값을 이용하여 사용자 익명 인증서를 생성하는 과정을 도시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 검증수단에서 사용자 익명 인증서를 검증하기 위한 과정을 도시한 도면이다.
도 2및 도 3에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법은, 키 등록 센터에서 마스터 키 및 공개 파라미터를 생성하는 단계가 수행된다(S210). 여기서, 오프라인 등록 단계에서는 키 등록 센터(110)은 마스터 키 및 공개 파라미터를 생성하여 공개한다.
이어서, 상기 루트 인증기관(CA: Certificate Agency) (130)에서 상기 마스터 키 및 공개 파라미터 및 사용자 단말(120)로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계를 수행하게 된다(S220).
보다 구체적으로, 상기 루트 인증기관(130)은 개체 기관 및 사용자에게 아이디(ID), 패스워드(PW)를 수신받아 공개키 쌍 및 인증서를 생성하여 각각의 인증서를 각 개체 기관 및 사용자 단말(120)에 전송하는 과정을 수행하게 된다.
다시 말해, 사용자 단말(120)은 루트 인증기관(130)에게 아이디(ID), 패스워드(PW)를 전송하고, 루트 인증기관(130)은 수신한 아이디(ID)가 등록되어 있는지 여부를 판단하여 등록되어 있지 않은 사용자라면 공개키 쌍 및 사용자 인증서를 생성하게 된다.
하기 수학식 1을 이용하여 공개키 쌍 및 인증서를 생성하게 된다.
<수학식 1>
Figure pat00001
Figure pat00002
여기서,
Figure pat00003
: 사용자의 ID,
Figure pat00004
: 사용자의 PW,
Figure pat00005
: 사용자의 공개키
Figure pat00006
: 사용자의 개인키,
Figure pat00007
: 난수,
Figure pat00008
: 사용자의 인증서이다.
그리고, 루트 인증기관(130)은 사용자의 공개키 쌍 및 인증서를 사용자 단말(120)에 전송하게 된다.
그 다음, 도 4에 도시된 바와 같이, 상기 등록 서버(140)에서 상기 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말(120)에 전송하고, 사용자 토큰을 생성하여 사용자 단말(120) 및 발급 서버(150)에 전송하는 단계가 수행된다(S230).
여기서, 상기 등록 서버(140)에서 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성은 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 검증하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하게 된다.
그리고, 등록 서버는 발급 서버로부터 익명 인증서를 발급받기 위해 필요한 토큰을 생성하여 사용자 단말 및 발급 서버에게 전송하게 된다.
보다 구체적으로, 사용자 단말은 등록 서버에게 사용자 아이디(ID) 및 패스워드(PW)를 전송한다. 그리고, 등록 서버는 수신한 아이디(ID)를 이용하여 블록체인 네트워크에 등록되어 있는 사용자인지 검증하고, 등록되어 있지 않은 사용자일 경우 하기 수학식 2를 이용하여 사용자의 블록체인용 공개키 쌍 및 인증서를 생성하게 된다.
<수학식 2>
Figure pat00009
Figure pat00010
여기서,
Figure pat00011
: 사용자의 ID,
Figure pat00012
: 사용자의 PW,
Figure pat00013
: 사용자의 공개키
Figure pat00014
: 사용자의 개인키,
Figure pat00015
: 난수,
Figure pat00016
: 사용자의 인증서이다.
그리고, 등록 서버(140)는 사용자의 블록체인용 공개키 쌍 및 인증서를 사용자에게 전송하고, 발급 서버(150)로부터 익명 인증서를 발급받기 위해 필요한 토큰을 하기 수학식 3을 이용하여 생성한다.
<수학식 3>
Figure pat00017
Figure pat00018
Figure pat00019
여기서,
Figure pat00020
는 사용자의 토큰이다.
그리고, 상기 생성한 토큰을 사용자 및 발급 서버에게 전송한다.
다음으로, 도 5에 도시된 바와 같이, 상기 발급서버(150)에서 상기 사용자 단말(120)로부터 토근 검증을 요청받고, 사용자 단말(120)에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말(120)에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 단계가 수행된다(S240).
보다 구체적으로, 사용자 익명 인증서 생성 단계에서는 사용자 단말(120)이 등록 서버(140)로부터 발급받은 토큰을 발급 서버(150)에게 전송하여 토큰을 검증받는다. 정당한 토큰일 경우 사용자 단말에게 증명 값을 요청하며, 사용자 단말(120)은 공개 매개변수 및 증명 값을 발급 서버(150)에게 전송한다. 이를 수신한 발급 서버(150)는 검증키 및 사용자 익명 인증서를 생성하여 사용자 단말(120)에게 사용자 익명 인증서를 전송하게 된다.
다시 말해, 사용자 단말(120)은 발급 서버(150)에게 사용자의 토큰을 전송하고, 발급 서버(150)는 수신한 사용자의 토큰을 이용하여 등록 서버(140)로부터 인증받은 사용자인지 검증한다.
그리고, 등록 서버(140)로부터 인증받은 사용자일 경우 익명 인증서를 생성하기 위해 필요한 사용자 증명 값을 요청하고, 사용자는 증명 값을 요청한 발급 서버(150)에게 영지식 증명 ZK-SNARKs의 연산에 필요한 공개 매개변수 및 증명 값을 전송한다.
그리고, 공개 매개변수 및 증명 값을 수신한 발급 서버(150)는 영지식 증명 ZK-SNARKs를 이용하여 익명 인증서를 생성하며, 이를 검증하기 위해 필요한 검증키를 하기 수학식 4를 이용하여 생성한다.
<수학식 4>
Figure pat00021
Figure pat00022
Figure pat00023
: 사용자 자격 증명에 대한 영지식 증명 값,
Figure pat00024
: 사용자의 익명 인증서를 검증할 수 있는 검증키,
Figure pat00025
: 사용자의 익명 인증서
그런 다음, 발급 서버는 생성한 사용자 익명 인증서를 사용자 단말에게 전송한다.
마지막으로, 도 6에 도시된 바와 같이, 상기 검증수단(160)에서 상기 발급 서버(150)로부터 상기 검증키를 전송받고, 상기 사용자 단말(120)로부터 사용자 익명 인증서를 수신하여 사용자 단말(120)을 검증하는 단계가 수행된다(S250).
여기서, 검증하는 단계는 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면(참) 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면(거짓) 서비스 접근 권한을 부정하게 된다.
다시 말해, 익명 인증서 검증 단계는 사용자 단말이 발급 서버로부터 발급받은 익명 인증서를 검증수단(160)에 전송하여 익명 인증서를 검증받는다. 이때, 참일 경우 사용자에게 서비스 접근 권한을 부여하며, 거짓일 경우 서비스 접근 권한을 부여하지 않는다.
따라서, 본 발명에 따르면, 첫째, 식별과 인증서 발급 시스템의 역할을 분리하여 사용자 식별의 연결성을 최소화하고, 둘째, ZK-SNARKs기반의 토큰증명 시스템을 통해 속성의 노출 없이 자격증명을 수행하여 프라이버시를 개선하게 되고, 셋째, 발급 및 검증 단계까지 일괄적인 검증을 위해 Blind Ordered Multi Signature(BOMS) 프로토콜을 포함하는 시스템을 구현할 수 있다.
즉, 발급자 및 사용자 간, 사용자 및 검증자 간 데이터 송수신의 2 번의 검증을 BOBS를 통해 한 번의 검증 가능한 서명으로 토큰바인딩하여 효율적으로 검증할 수 있게 된다.
또한, 블록체인의 보편적인 ZKP 기반 알고리즘(Camenisch 및 Lysyanskaya 서명(CL-Signature) 및 ZK-SANRKS(zero-knowledge succinct non-interactive argument of knowledge)을 적용 구현하고 및 다양한 환경 성능 평가 및 보안 분석을 통해 종래 모델 보다 효율적인 개인 정보 보호 및 더 넓은 적용 범위를 달성할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 프라이버시 향상을 위한 익명 자격 증명 시스템
110: 키 등록 센터
120: 사용자 단말
130: 루트 인증기관
140: 등록 서버
150: 발급 서버
160: 검증 수단

Claims (10)

  1. 마스터 키 및 공개 파라미터를 생성하는 키 등록 센터;
    상기 키 등록 센터에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 루트 인증기관(CA: Certificate Agency);
    상기 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 등록 서버;
    상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 발급 서버; 및
    상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 검증수단; 을 포함하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
  2. 제1항에 있어서,
    상기 루트 인증기관은 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
  3. 제1항에 있어서,
    상기 등록 서버는 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
  4. 제1항에 있어서,
    상기 발급 서버는 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
  5. 제1항에 있어서,
    상기 검증수단에서는 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면 서비스 접근 권한을 부정하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
  6. 키 등록 센터에서 마스터 키 및 공개 파라미터를 생성하는 단계;
    루트 인증기관(CA: Certificate Agency)에서 상기 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계;
    등록 서버에서 상기 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 단계;
    발급서버에서 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 단계; 및
    검증수단에서 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 단계;를 포함하는 프라이버시 향상을 위한 익명 자격 증명 방법.
  7. 제6에 있어서,
    상기 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계는, 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 상기 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
  8. 제6에 있어서,
    상기 등록 서버에서 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하는 단계는, 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
  9. 제6에 있어서,
    상기 발급 서버에서 사용자 익명 인증서를 생성하는 단계는, 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
  10. 제6에 있어서,
    상기 검증하는 단계는, 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면(참) 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면(거짓) 서비스 접근 권한을 부정하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
KR1020210142446A 2021-10-25 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법 KR102667307B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210142446A KR102667307B1 (ko) 2021-10-25 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210142446A KR102667307B1 (ko) 2021-10-25 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20230058797A true KR20230058797A (ko) 2023-05-03
KR102667307B1 KR102667307B1 (ko) 2024-05-17

Family

ID=

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130082745A (ko) 2011-12-15 2013-07-22 한국전자통신연구원 Qr코드를 이용한 실시간 좌석예매 시스템의 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130082745A (ko) 2011-12-15 2013-07-22 한국전자통신연구원 Qr코드를 이용한 실시간 좌석예매 시스템의 제어방법

Similar Documents

Publication Publication Date Title
CN110337797B (zh) 用于执行双因素认证的方法
US8978118B2 (en) Pseudonymized authentication
US8812851B2 (en) Method for reading an attribute from an ID token
CN110874464A (zh) 用户身份认证数据的管理方法和设备
CA2357792C (en) Method and device for performing secure transactions
US20110213959A1 (en) Methods, apparatuses, system and related computer program product for privacy-enhanced identity management
AU2020284514B2 (en) Systems, methods, and storage media for permissioned delegation in a computing environment
Xue et al. A distributed authentication scheme based on smart contract for roaming service in mobile vehicular networks
CN110278082B (zh) 一种群组数字签名的群组成员发布方法和设备
Wang et al. Achieving secure and flexible m-services through tickets
KR20210064076A (ko) 익명 크리덴셜 인증 시스템 및 그 방법
US20140013116A1 (en) Apparatus and method for performing over-the-air identity provisioning
CN114726583B (zh) 基于区块链分布式标识的可信硬件跨链交易隐私保护系统及方法
Ra et al. VAIM: verifiable anonymous identity management for human-centric security and privacy in the internet of things
LU93150B1 (en) Method for providing secure digital signatures
Abe et al. Double-trapdoor anonymous tags for traceable signatures
CN106936760A (zh) 一种登录Openstack云系统虚拟机的装置和方法
KR101371054B1 (ko) 일회용 비밀번호와 서명 패스워드를 이용한 비대칭키 전자 서명 및 인증 방법
KR102667307B1 (ko) 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법
KR20230058797A (ko) 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법
EP3178073B1 (en) Security management system for revoking a token from at least one service provider terminal of a service provider system
EP1959607B1 (en) A method and system for authenticating the identity
CN113169953B (zh) 用于验证设备或用户的方法和装置
Konidala et al. A capability-based privacy-preserving scheme for pervasive computing environments
Camenisch et al. Credential-based access control extensions to XACML

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