KR102667307B1 - A system and the method of anonymous credentials for improved privacy - Google Patents

A system and the method of anonymous credentials for improved privacy Download PDF

Info

Publication number
KR102667307B1
KR102667307B1 KR1020210142446A KR20210142446A KR102667307B1 KR 102667307 B1 KR102667307 B1 KR 102667307B1 KR 1020210142446 A KR1020210142446 A KR 1020210142446A KR 20210142446 A KR20210142446 A KR 20210142446A KR 102667307 B1 KR102667307 B1 KR 102667307B1
Authority
KR
South Korea
Prior art keywords
user
certificate
user terminal
anonymous
verification
Prior art date
Application number
KR1020210142446A
Other languages
Korean (ko)
Other versions
KR20230058797A (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 KR1020210142446A priority Critical patent/KR102667307B1/en
Publication of KR20230058797A publication Critical patent/KR20230058797A/en
Application granted granted Critical
Publication of KR102667307B1 publication Critical patent/KR102667307B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 등록 서버; 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 발급 서버; 및 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 검증수단; 을 포함하는 점에 그 특징이 있다. An anonymous credentialing system for improving privacy according to the present invention includes a key registration center that generates a master key and public parameters; A root certification agency (CA: Certificate Agency) that receives the master key and public parameters generated at the key registration center and the ID and password (PW) input from the user terminal to generate a user public key pair and user certificate; Receive the ID and password (PW) entered from the user terminal, generate a public key pair for the user blockchain and a certificate for the blockchain, send them to the user terminal, and generate a user token to the user terminal and the issuing server. a registration server that transmits; Token verification is requested from the user terminal, a user authentication value is requested from the user terminal, public parameters and proof values are received, a user anonymous certificate is generated and transmitted to the user terminal, and a verification key is used to verify the user anonymous certificate. an issuing server that creates and transmits; and verification means for verifying the user terminal by receiving the verification key from the issuing server and receiving an anonymous user certificate from the user terminal. Its characteristic is that it includes .

Description

프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법{A system and the method of anonymous credentials for improved privacy}Anonymous credentials system and method for improving privacy {A system and the method of anonymous credentials for improved privacy}

본 발명은 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법에 관한 것으로, 특히 허가형 블록체인을 기반으로 사용자 자격 증명에 대하여 사용자의 신원확인과 트랜잭션 발행을 위한 인증서를 분리하여 비추적성의 익명성을 제공할 수 있는 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법에 관한 것이다. The present invention relates to an anonymous credentialing system and method for improving privacy. In particular, the present invention relates to an anonymous credential system and method for improving privacy. In particular, based on a permissioned blockchain, the user credential is separated from the certificate for user identification and transaction issuance, thereby providing non-trackable anonymity. It relates to an anonymous credentialing system and method for improving privacy that can be provided.

사물 인터넷(Internet of Things, IoT)은 방대한 양의 콘텐츠 지향 트래픽, 수많은 사람들 간의 밀집된 상호 작용, 호스트와 스마트 제품 간의 이기종 통신이 추세이다. 모든 사람과 모든 것을 연결하려면 엄격한 실시간 요구 사항과 유연성을 갖춘 수백만 개의 서비스가 필요하다. 그러나, IoT 제품 및 서비스의 소비는 여전히 기대 이상이다. 사용자는 데이터 제공자 또는 소비자이기 때문에 IoT 시스템의 필수 개체이다. The Internet of Things (IoT) is a trend of massive amounts of content-oriented traffic, dense interaction between numerous people, and heterogeneous communication between hosts and smart products. Connecting everyone and everything requires millions of services with rigorous real-time requirements and flexibility. However, consumption of IoT products and services still exceeds expectations. Users are essential entities in IoT systems because they are data providers or consumers.

따라서 인간 중심의 사물 인터넷(Human Internet of Things, HIoT)는 이기종 물리적 및 가상 제품 및 서비스, 인터넷 간 상호 작용하여 삶의 질을 향상시키기 위해 사용자 중심의 시스템을 채택하고 있다. 그러나, 협업 제품 및 서비스 간에 컨텍스트 데이터를 교환하는 과정에서 개인 정보 보호 및 신뢰성 문제가 발생한다. Therefore, the Human Internet of Things (HIoT) adopts a user-centered system to improve the quality of life by interacting between heterogeneous physical and virtual products and services and the Internet. However, privacy and reliability issues arise in the process of exchanging context data between collaborative products and services.

이를 해결하기 위한 새로운 블록체인 기술을 통해 디지털 ID 관리 시스템(Identity Management, IDM)을 배포할 수 있으며, 이는 중앙집중형 제3자에 의해 발생하는 문제를 크게 완화하게 되었다. To solve this, new blockchain technology allows the deployment of digital identity management (IDM), which greatly alleviates the problems caused by centralized third parties.

그러나, 고유한 투명성과 개인 정보 보호 문제는 여전히 남아있어 제3자에 의해 발생할 수 있는 보안 위협을 방지하기 위한 해결 방안이 필요하다. However, inherent transparency and privacy issues still remain, requiring solutions to prevent security threats that may be posed by third parties.

한국특허출원 제10- 2013-0082745호Korean Patent Application No. 10- 2013-0082745

본 발명은 상기와 같은 문제점을 해결하기 위해 허가형 블록체인을 기반으로 사용자 자격 증명에 대하여 사용자의 신원확인과 트랜잭션 발행을 위한 인증서를 분리하여 비추적성의 익명성을 제공할 수 있는 프라이버시 향상을 위한 익명 자격 증명 시스템 및 그 방법을 제공하는 것을 목적으로 한다. In order to solve the above problems, the present invention is based on a permissioned blockchain to improve privacy by separating certificates for user identification and transaction issuance for user credentials, thereby providing non-trackable anonymity. The purpose is to provide an anonymous credentialing system and method.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical challenge that this embodiment aims to achieve is not limited to the technical challenges described above, and other technical challenges may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시 예에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템은, 마스터 키 및 공개 파라미터를 생성하는 키 등록 센터; 상기 키 등록 센터에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 루트 인증기관(CA: Certificate Agency); 상기 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 등록 서버; 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 발급 서버; 및 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 검증수단; 을 포함하는 점에 그 특징이 있다. As a technical means for achieving the above-described technical problem, an anonymous credentialing system for improving privacy according to an embodiment of the present invention includes a key registration center that generates a master key and public parameters; A root certification agency (CA: Certificate Agency) that receives the master key and public parameters generated at the key registration center and the ID and password (PW) input from the user terminal to generate a user public key pair and user certificate; Receive the ID and password (PW) entered from the user terminal, generate a public key pair for the user blockchain and a certificate for the blockchain, send them to the user terminal, and generate a user token to the user terminal and the issuing server. a registered server that transmits; Token verification is requested from the user terminal, a user authentication value is requested from the user terminal, public parameters and proof values are received, a user anonymous certificate is generated and transmitted to the user terminal, and a verification key is used to verify the user anonymous certificate. an issuing server that creates and transmits; and verification means for receiving the verification key from the issuing server and receiving an anonymous user certificate from the user terminal to verify the user terminal. Its characteristic is that it includes .

여기서, 특히 상기 루트 인증기관은 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 점에 그 특징이 있다.Here, in particular, the root certification authority receives ID and password (PW) from all entities, generates a public key pair for each entity using RSA (Ron Rivest, Adi Shamir, Leonard Adleman) encryption, and , It is characterized by generating a user certificate using the private key of the root certification authority and the public key and digest of the entity, and transmitting the public key pair and user certificate to each entity.

여기서, 특히 상기 등록 서버는 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 점에 그 특징이 있다.Here, in particular, the registration server receives the user ID (ID) and password (PW) from the decentralized application (DApp) to check whether the user is a registered user, and in the case of a registered user, uses the ECC (Elliptic Curve Cryptography) algorithm. Its characteristic is that it uses to generate a public key pair for the blockchain and a certificate for the blockchain.

여기서, 특히 상기 발급 서버는 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 점에 그 특징이 있다.Here, the issuing server is particularly characterized in that it generates an anonymous user certificate using the received user public parameters and proof values using zero-knowledge proof (ZK-SNARKs).

여기서, 특히 상기 검증수단에서는 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면 서비스 접근 권한을 부정하는 점에 그 특징이 있다.Here, in particular, the verification means verifies the legitimacy of the user terminal using the user anonymous certificate received from the user terminal using the verification key, and if the verification is approved, service access rights are granted to the user terminal, and if the verification is not recognized, the verification means verifies the legitimacy of the user terminal. Its characteristic is that service access rights are denied otherwise.

또한, 상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시 예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법은, 키 등록 센터에서 마스터 키 및 공개 파라미터를 생성하는 단계; 루트 인증기관(CA: Certificate Agency)에서 상기 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계; 등록 서버에서 상기 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 단계; 발급서버에서 상기 사용자 단말로부터 토근 검증을 요청받고, 사용자 단말에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 단계; 및 검증수단에서 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 단계;를 포함하는 점에 그 특징이 있다.In addition, as a technical means for achieving the above-described technical problem, an anonymous credential authentication method for improving privacy according to an embodiment of the present invention includes generating a master key and public parameters at a key registration center; Generating a user public key pair and a user certificate by receiving the master key and public parameters and the ID and password (PW) input from the user terminal at a root certification agency (CA: Certificate Agency); Receive the ID and password (PW) from the registration server, generate a public key pair for the user blockchain and a certificate for the blockchain, send them to the user terminal, and generate a user token and send it to the user terminal and the issuing server. step; The issuing server receives a token verification request from the user terminal, requests a user authentication value from the user terminal, receives public parameters and proof values, generates a user anonymous certificate, sends it to the user terminal, and verifies the user anonymous certificate. Generating and transmitting a verification key for; and a step of verifying the user terminal by receiving the verification key from the issuing server in the verification means and receiving an anonymous user certificate from the user terminal.

여기서, 특히 상기 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계는, 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 상기 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 점에 그 특징이 있다.Here, in particular, the step of generating the user public key pair and user certificate involves receiving ID and password (PW) from all entities, and using RSA (Ron Rivest, Adi Shamir, Leonard Adleman) encryption for each Its characteristics include generating a public key pair for an entity, generating a user certificate using the private key of the root certification authority, the public key and digest of the entity, and transmitting the public key pair and user certificate to each entity. there is.

여기서, 특히 상기 등록 서버에서 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하는 단계는, 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 점에 그 특징이 있다.Here, in particular, the step of generating a public key pair for blockchain and a certificate for blockchain in the registration server involves receiving a user ID (ID) and password (PW) from a decentralized application (DApp) to a registered user. The feature is that it verifies whether or not the user is registered and, for registered users, uses the ECC (Elliptic Curve Cryptography) algorithm to generate a public key pair for the blockchain and a certificate for the blockchain.

여기서, 특히 상기 발급 서버에서 사용자 익명 인증서를 생성하는 단계는, 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 점에 그 특징이 있다.Here, in particular, the step of generating an anonymous user certificate in the issuing server is characterized by generating an anonymous user certificate using the received user public parameters and proof values using zero-knowledge proofs (ZK-SNARKs).

여기서, 특히 상기 검증하는 단계는, 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면(참) 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면(거짓) 서비스 접근 권한을 부정하는 점에 그 특징이 있다. Here, in particular, the verification step verifies the legitimacy of the user terminal using the user anonymous certificate received from the user terminal using the verification key, and if the verification is confirmed (true), service access rights are granted to the user terminal. , Its characteristic is that if the verification is not recognized (false), service access rights are denied.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 허가형 블록체인을 기반으로 사용자 자격 증명에 대하여 사용자의 신원확인과 트랜잭션 발행을 위한 인증서를 분리하여 비추적성의 익명성을 제공할 수 있다.According to one of the means for solving the problems of the present invention described above, it is possible to provide non-trackable anonymity by separating certificates for user identification and transaction issuance from user credentials based on permissioned blockchain.

도 1은 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템의 구성을 개략적으로 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법에 대한 순서도를 개략적으로 도시한 도면.
도 3은 본 발명의 일 실시예에 따른 키 등록 센터를 이용하여 사용자 단말, 루트 인증센터, 등록 서버, 발급 서버 및 검증수단에게 공개키 쌍, 인증서 생성 및 등록하는 과정을 도시한 도면.
도4는 본 발명의 일 실시예에 따른 등록 서버에서 블록체인용 공개키 쌍, 인증서 생성, 익명 인증서에 필요한 토큰을 생성하는 과정을 도시한 도면.
도 5는 본 발명의 일 실시예에 따른 발급 서버에서 사용자 토큰 및 증명 값을 이용하여 사용자 익명 인증서를 생성하는 과정을 도시한 도면.
도 6은 본 발명의 일 실시예에 따른 검증수단에서 사용자 익명 인증서를 검증하기 위한 과정을 도시한 도면.
1 is a diagram schematically showing the configuration of an anonymous credentialing system for improving privacy according to an embodiment of the present invention.
Figure 2 is a diagram schematically showing a flowchart of an anonymous credential authentication method for improving privacy according to an embodiment of the present invention.
Figure 3 is a diagram illustrating the process of generating and registering a public key pair and certificate to a user terminal, a root authentication center, a registration server, an issuing server, and a verification means using a key registration center according to an embodiment of the present invention.
Figure 4 is a diagram illustrating the process of generating a token required for a public key pair for blockchain, certificate generation, and anonymous certificate in a registration server according to an embodiment of the present invention.
Figure 5 is a diagram illustrating the process of generating an anonymous user certificate using a user token and proof value in an issuing server according to an embodiment of the present invention.
Figure 6 is a diagram illustrating a process for verifying an anonymous user certificate in a verification means according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 본 발명을 명확하게 설명하기 위해 도면에서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. 또한, 도면을 참고하여 설명하면서, 같은 명칭으로 나타낸 구성일지라도 도면에 따라 도면 번호가 달라질 수 있고, 도면 번호는 설명의 편의를 위해 기재된 것에 불과하고 해당 도면 번호에 의해 각 구성의 개념, 특징, 기능 또는 효과가 제한 해석되는 것은 아니다.Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention, parts unrelated to the description have been omitted from the drawings, and similar parts have been assigned similar reference numerals throughout the specification. In addition, while explaining with reference to the drawings, even if the configuration is shown with the same name, the drawing number may vary depending on the drawing, and the drawing number is merely written for convenience of explanation, and the concept, feature, and function of each component are determined by the drawing number. Alternatively, the effect is not interpreted as limited.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected," but also the case where it is "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, this does not mean excluding other components unless specifically stated to the contrary, but may further include other components, and means that it may further include one or more other components. It should be understood that this does not exclude in advance the possibility of the presence or addition of features, numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에 있어서 '부(部)' 또는 '모듈'이란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 양방을 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다. In this specification, 'part' or 'module' includes a unit realized by hardware or software, and a unit realized using both, and one unit is realized using two or more hardware. This may be possible, or two or more units may be realized by one hardware.

도 1은 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 시스템의 구성을 개략적으로 도시한 도면이다.Figure 1 is a diagram schematically showing the configuration of an anonymous credentialing system for improving privacy according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명에 프라이버시 향상을 위한 익명 자격 증명 시스템(100)은, 키 등록 센터(110), 사용자 단말(120), 루트 인증센터(130), 등록 서버(140), 발급 서버(150) 및 검증수단(160)를 포함하여 구성된다. As shown in FIG. 1, the anonymous credentialing system 100 for improving privacy in the present invention includes a key registration center 110, a user terminal 120, a root authentication center 130, a registration server 140, It is configured to include an issuing server 150 and a verification means 160.

상기 키 등록 센터(110)는 오프라인 등록 과정을 거쳐 마스터 키 및 공개 파라미터를 생성하게 된다. The key registration center 110 generates a master key and public parameters through an offline registration process.

여기서, 외부로부터 보안상수를 입력받아 상기 보안상수를 입력값으로 하는 타원 곡선군에 속하는 생성원 중 임의의 제1 생성원 및 제2 생성원을 선택하고, 상기 타원 곡선군에 속하는 원소 중 임의의 원소를 선택하며, 임의의 난수를 선택하여 마스터키로 설정하고, 상기 제1 생성원, 제2 생성원 및 상기 마스터키를 겹선형 함수에 적용하여 함수값을 연산하고, 상기 제1 생성원, 제2 생성원, 상기 임의의 원소 및 상기 겹선형 함수의 함수값 중 적어도 하나를 포함하는 공개 파라미터를 설정할 수 있다.Here, a security constant is input from the outside, an arbitrary first generation source and a second generation source are selected among the generation sources belonging to the elliptic curve group with the security constant as an input value, and an arbitrary first generation source and a second generation source are selected among the elements belonging to the elliptic curve group. Select an element, select a random number and set it as a master key, calculate a function value by applying the first generation source, the second generation source, and the master key to a double linear function, and calculate the function value 2 A public parameter may be set including at least one of a generation source, the arbitrary element, and a function value of the bilinear function.

상기 루트 인증기관(CA: Certificate Agency)(130)는 상기 키 등록 센터(110)에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말(120)로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하게 된다.The root certification agency (CA: Certificate Agency) 130 receives the master key and public parameters generated at the key registration center 110 and the ID and password (PW) input from the user terminal 120. A user public key pair and user certificate are created.

보다 구체적으로, 상기 루트 인증기관(130)은 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 루트 인증기관(130)의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하게 된다. More specifically, the root certification authority 130 receives an ID and a password (PW) from all entities, and uses RSA (Ron Rivest, Adi Shamir, Leonard Adleman) encryption to provide a public key for each entity. A pair is created, a user certificate is generated using the private key of the root certification authority 130, the public key and digest of the entity, and the public key pair and user certificate are transmitted to each entity.

상기 등록 서버(140)은 상기 사용자 단말(120)로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하게 된다. The registration server 140 receives the ID and password (PW) input from the user terminal 120, generates a public key pair for the user blockchain and a certificate for the blockchain, and transmits them to the user terminal. A token is generated and transmitted to the user terminal and issuing server.

여기서, 상기 등록 서버(140)는 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하여 검증하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하게 된다.Here, the registration server 140 receives a user ID (ID) and password (PW) from a decentralized application (DApp) and verifies whether the user is a registered user. In the case of a registered user, ECC (Elliptic Curve Cryptography (Curve Cryptography) algorithm is used to generate a public key pair for the blockchain and a certificate for the blockchain.

상기 발급 서버(150)는 상기 사용자 단말(120)로부터 토근 검증을 요청받고, 사용자 단말(120)에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말(120)에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하게 된다. The issuing server 150 receives a token verification request from the user terminal 120, requests a user authentication value from the user terminal 120, receives public parameters and a proof value, generates a user anonymous certificate, and transmits the user terminal 120 to the user terminal 120. It is sent to (120), and a verification key to verify the user's anonymous certificate is generated and transmitted.

여기서, 상기 발급 서버(150)는 수신한 사용자 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하게 된다.Here, the issuing server 150 generates an anonymous user certificate using the received user public parameters and proof values using zero-knowledge proof (ZK-SNARKs).

상기 검증수단(160)은 상기 발급 서버(150)로부터 상기 검증키를 전송받고, 상기 사용자 단말(120)로부터 사용자 익명 인증서를 수신하여 사용자 단말(120)을 검증하게 된다. The verification means 160 receives the verification key from the issuing server 150 and receives an anonymous user certificate from the user terminal 120 to verify the user terminal 120.

여기서, 상기 검증수단(160)에서는 상기 사용자 단말(120)로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말(120)의 정당성 여부를 검증하고, 사용자 단말(120)이 검증이 인정되면 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면 서비스 접근 권한을 부정하게 된다. Here, the verification means 160 verifies the legitimacy of the user terminal 120 using the user anonymous certificate received from the user terminal 120 using the verification key, and if the user terminal 120 is acknowledged for verification, Service access rights are granted, and if verification is not recognized, service access rights are denied.

또한, 도 2는 본 발명의 일 실시예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법에 대한 순서도를 개략적으로 도시한 도면이고, 도 3은 본 발명의 일 실시예에 따른 키 등록 센터를 이용하여 사용자 단말, 루트 인증센터, 등록 서버, 발급 서버 및 검증수단에게 공개키 쌍, 인증서 생성 및 등록하는 과정을 도시한 도면이고, 도4는 본 발명의 일 실시예에 따른 등록 서버에서 블록체인용 공개키 쌍, 인증서 생성, 익명 인증서에 필요한 토큰을 생성하는 과정을 도시한 도면이고, 도 5는 본 발명의 일 실시예에 따른 발급 서버에서 사용자 토큰 및 증명 값을 이용하여 사용자 익명 인증서를 생성하는 과정을 도시한 도면이고, 도 6은 본 발명의 일 실시예에 따른 검증수단에서 사용자 익명 인증서를 검증하기 위한 과정을 도시한 도면이다.In addition, Figure 2 is a diagram schematically showing a flowchart of an anonymous credential authentication method for improving privacy according to an embodiment of the present invention, and Figure 3 is a diagram showing a user authentication method using a key registration center according to an embodiment of the present invention. It is a diagram showing the process of generating and registering a public key pair and certificate to a terminal, root authentication center, registration server, issuing server, and verification means, and Figure 4 shows the public key for blockchain in the registration server according to an embodiment of the present invention. It is a diagram illustrating the process of creating a token required for a pair, certificate generation, and anonymous certificate, and Figure 5 shows the process of generating an anonymous user certificate using a user token and proof value in an issuing server according to an embodiment of the present invention. 6 is a diagram showing a process for verifying an anonymous user certificate in a verification means according to an embodiment of the present invention.

도 2및 도 3에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 프라이버시 향상을 위한 익명 자격 증명 방법은, 키 등록 센터에서 마스터 키 및 공개 파라미터를 생성하는 단계가 수행된다(S210). 여기서, 오프라인 등록 단계에서는 키 등록 센터(110)은 마스터 키 및 공개 파라미터를 생성하여 공개한다. As shown in FIGS. 2 and 3, the anonymous credential authentication method for improving privacy according to an embodiment of the present invention includes generating a master key and public parameters at a key registration center (S210). Here, in the offline registration step, the key registration center 110 generates and discloses the master key and public parameters.

이어서, 상기 루트 인증기관(CA: Certificate Agency) (130)에서 상기 마스터 키 및 공개 파라미터 및 사용자 단말(120)로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계를 수행하게 된다(S220). Subsequently, the root certification agency (CA: Certificate Agency) 130 receives the master key and public parameters and the ID and password (PW) input from the user terminal 120 to create a user public key pair and a user certificate. The step of generating is performed (S220).

보다 구체적으로, 상기 루트 인증기관(130)은 개체 기관 및 사용자에게 아이디(ID), 패스워드(PW)를 수신받아 공개키 쌍 및 인증서를 생성하여 각각의 인증서를 각 개체 기관 및 사용자 단말(120)에 전송하는 과정을 수행하게 된다.More specifically, the root certification authority 130 receives an ID and a password (PW) from an entity and a user, generates a public key pair and a certificate, and sends each certificate to each entity and the user terminal 120. The transmission process is performed.

다시 말해, 사용자 단말(120)은 루트 인증기관(130)에게 아이디(ID), 패스워드(PW)를 전송하고, 루트 인증기관(130)은 수신한 아이디(ID)가 등록되어 있는지 여부를 판단하여 등록되어 있지 않은 사용자라면 공개키 쌍 및 사용자 인증서를 생성하게 된다.In other words, the user terminal 120 transmits an ID and a password (PW) to the root certification authority 130, and the root certification authority 130 determines whether the received ID is registered and If you are an unregistered user, a public key pair and user certificate will be created.

하기 수학식 1을 이용하여 공개키 쌍 및 인증서를 생성하게 된다.A public key pair and certificate are generated using Equation 1 below.

<수학식 1><Equation 1>

여기서, : 사용자의 ID, : 사용자의 PW, : 사용자의 공개키here, : User ID, : User's PW, : User's public key

: 사용자의 개인키, : 난수, : 사용자의 인증서이다.
KeyGen : 공개키 쌍을 생성할 수 있는 함수
KeyGenOpts : 공개키 쌍 생성 및 설정하기 위한 옵션 함수
Sign : ECDSA(Elliptic Curve Digital Signature Algorithm) 기반의 전자서명을 생성할 수 있는 함수
skRootCA : Root 인증기관(Root CA)의 개인키
: User’s private key, : random number, : This is the user’s certificate.
KeyGen: A function that can generate a public key pair
KeyGenOpts: Options function for generating and setting public key pairs.
Sign: A function that can create an electronic signature based on ECDSA (Elliptic Curve Digital Signature Algorithm)
sk RootCA: Private key of Root Certification Authority (Root CA)

그리고, 루트 인증기관(130)은 사용자의 공개키 쌍 및 인증서를 사용자 단말(120)에 전송하게 된다.Then, the root certification authority 130 transmits the user's public key pair and certificate to the user terminal 120.

그 다음, 도 4에 도시된 바와 같이, 상기 등록 서버(140)에서 상기 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말(120)에 전송하고, 사용자 토큰을 생성하여 사용자 단말(120) 및 발급 서버(150)에 전송하는 단계가 수행된다(S230).Next, as shown in FIG. 4, the ID and password (PW) are received from the registration server 140, a public key pair for the user blockchain and a certificate for the blockchain are generated, and the user terminal 120 ), and a step of generating a user token and transmitting it to the user terminal 120 and the issuing server 150 is performed (S230).

여기서, 상기 등록 서버(140)에서 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성은 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 검증하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하게 된다. Here, the registration server 140 generates a blockchain public key pair and a blockchain certificate by receiving a user ID and password (PW) from a decentralized application (DApp) to determine whether the user is registered. is verified, and for registered users, a public key pair for the blockchain and a certificate for the blockchain are generated using the ECC (Elliptic Curve Cryptography) algorithm.

그리고, 등록 서버는 발급 서버로부터 익명 인증서를 발급받기 위해 필요한 토큰을 생성하여 사용자 단말 및 발급 서버에게 전송하게 된다.Then, the registration server generates a token necessary to issue an anonymous certificate from the issuing server and transmits it to the user terminal and the issuing server.

보다 구체적으로, 사용자 단말은 등록 서버에게 사용자 아이디(ID) 및 패스워드(PW)를 전송한다. 그리고, 등록 서버는 수신한 아이디(ID)를 이용하여 블록체인 네트워크에 등록되어 있는 사용자인지 검증하고, 등록되어 있지 않은 사용자일 경우 하기 수학식 2를 이용하여 사용자의 블록체인용 공개키 쌍 및 인증서를 생성하게 된다.More specifically, the user terminal transmits a user ID (ID) and password (PW) to the registration server. In addition, the registration server uses the received ID to verify whether the user is registered in the blockchain network, and if the user is not registered, the user's public key pair and certificate for blockchain are generated using Equation 2 below. is created.

<수학식 2><Equation 2>

여기서, : 사용자의 ID, : 사용자의 PW, : 사용자의 공개키here, : User ID, : User's PW, : User's public key

: 사용자의 개인키, : 난수, : 사용자의 인증서이다.
skReg : 등록 서버(Registration Server)의 개인키
: User’s private key, : random number, : This is the user’s certificate.
sk Reg: Private key of Registration Server

그리고, 등록 서버(140)는 사용자의 블록체인용 공개키 쌍 및 인증서를 사용자에게 전송하고, 발급 서버(150)로부터 익명 인증서를 발급받기 위해 필요한 토큰을 하기 수학식 3을 이용하여 생성한다. Then, the registration server 140 transmits the user's blockchain public key pair and certificate to the user, and generates a token necessary to issue an anonymous certificate from the issuing server 150 using Equation 3 below.

<수학식 3><Equation 3>

여기서, 는 사용자의 토큰이다.
Rand : 난수를 생성할 수 있는 함수
RandomNum : Rand()에 입력할 임의의 수
EPK* : 사용자의 공개키로 암호화
EPKissue : 발급 서버(Issue Server)의 공개키로 암호화
: 사용자의 공개키
PKissue* : 발급 서버(Issue Server)의 공개키
Encrypted : 입력받은 메시지를 ECC(Elliptic curve cryptography) 암호화할 수 있는 함수
here, is the user's token.
Rand: A function that can generate random numbers
RandomNum: Random number to enter into Rand()
E PK*: Encrypted with the user’s public key
E PKissue: Encrypted with the public key of the issuing server (Issue Server)
: User's public key
PK issue*: Public key of the issuing server (Issue Server)
Encrypted: A function that can encrypt the input message using ECC (Elliptic curve cryptography)

그리고, 상기 생성한 토큰을 사용자 및 발급 서버에게 전송한다.Then, the generated token is transmitted to the user and the issuing server.

다음으로, 도 5에 도시된 바와 같이, 상기 발급서버(150)에서 상기 사용자 단말(120)로부터 토근 검증을 요청받고, 사용자 단말(120)에 사용자 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말(120)에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 단계가 수행된다(S240).Next, as shown in FIG. 5, the issuing server 150 receives a token verification request from the user terminal 120, requests a user authentication value from the user terminal 120, and sets public parameters and proof values. The steps of receiving, generating and transmitting an anonymous user certificate to the user terminal 120, and generating and transmitting a verification key for verifying the anonymous user certificate are performed (S240).

보다 구체적으로, 사용자 익명 인증서 생성 단계에서는 사용자 단말(120)이 등록 서버(140)로부터 발급받은 토큰을 발급 서버(150)에게 전송하여 토큰을 검증받는다. 정당한 토큰일 경우 사용자 단말에게 증명 값을 요청하며, 사용자 단말(120)은 공개 매개변수 및 증명 값을 발급 서버(150)에게 전송한다. 이를 수신한 발급 서버(150)는 검증키 및 사용자 익명 인증서를 생성하여 사용자 단말(120)에게 사용자 익명 인증서를 전송하게 된다. More specifically, in the user anonymous certificate creation step, the user terminal 120 transmits the token issued from the registration server 140 to the issuing server 150 to have the token verified. If the token is legitimate, a proof value is requested from the user terminal, and the user terminal 120 transmits the public parameters and proof value to the issuing server 150. Upon receiving this, the issuing server 150 generates a verification key and an anonymous user certificate and transmits the anonymous user certificate to the user terminal 120.

다시 말해, 사용자 단말(120)은 발급 서버(150)에게 사용자의 토큰을 전송하고, 발급 서버(150)는 수신한 사용자의 토큰을 이용하여 등록 서버(140)로부터 인증받은 사용자인지 검증한다.In other words, the user terminal 120 transmits the user's token to the issuing server 150, and the issuing server 150 verifies whether the user has been authenticated by the registration server 140 using the received user's token.

그리고, 등록 서버(140)로부터 인증받은 사용자일 경우 익명 인증서를 생성하기 위해 필요한 사용자 증명 값을 요청하고, 사용자는 증명 값을 요청한 발급 서버(150)에게 영지식 증명 ZK-SNARKs의 연산에 필요한 공개 매개변수 및 증명 값을 전송한다.In addition, if the user is authenticated by the registration server 140, the user requests the user proof value required to create an anonymous certificate, and the user requests the issuing server 150 for the proof value to disclose the information required for calculating zero-knowledge proof ZK-SNARKs. Send parameters and proof values.

그리고, 공개 매개변수 및 증명 값을 수신한 발급 서버(150)는 영지식 증명 ZK-SNARKs를 이용하여 익명 인증서를 생성하며, 이를 검증하기 위해 필요한 검증키를 하기 수학식 4를 이용하여 생성한다.Then, the issuing server 150, which has received the public parameters and proof values, generates an anonymous certificate using zero-knowledge proof ZK-SNARKs, and generates a verification key necessary to verify it using Equation 4 below.

<수학식 4><Equation 4>

: 사용자 자격 증명에 대한 영지식 증명 값, : 사용자의 익명 인증서를 검증할 수 있는 검증키, : 사용자의 익명 인증서
circuit : 유효성 검증을 위한 계산 과정을 연산 회로(주어진 수식을 사칙연산 단위로 변형한 형태)로 회로의 AND / OR 등의 논리 게이트들이 사칙연산 게이트로 변경 및 표현할 수 있는 게이트 값
GenerateTrustedSetup : 영지식 증명 값 및 이를 검증 시 사용되는 공개 파라미터를 생성할 수 있는 신뢰된 설정 함수
alpfas: 연산 회로를 구성하는 각각의 게이트에 대해 주어진 입출력 값이 유효한지 확인하고, 벡터 표현들의 연산으로 변환하는R1CS(Rank 1 Constraint System) 함수를 통해 반환된 값 a
betas : 연산 회로를 구성하는 각각의 게이트에 대해 주어진 입출력 값이 유효한지 확인하고, 벡터 표현들의 연산으로 변환하는R1CS(Rank 1 Constraint System) 함수를 통해 반환된 값 b
gammas : 연산 회로를 구성하는 각각의 게이트에 대해 주어진 입출력 값이 유효한지 확인하고, 벡터 표현들의 연산으로 변환하는R1CS(Rank 1 Constraint System) 함수를 통해 반환된 값 c
GenerateAcert : 익명 인증서(Acert)를 생성(발급)할 수 있는 함수
: Zero-knowledge proof value for user credentials, : Verification key that can verify the user’s anonymous certificate, : User's anonymous certificate
circuit: The calculation process for validation is an operation circuit (a given formula transformed into four arithmetic operation units), and logic gates such as AND / OR of the circuit can be changed and expressed as four arithmetic operation gates.
GenerateTrustedSetup: A trusted setup function that can generate a zero-knowledge proof value and public parameters used when verifying it.
alpfas: The value a returned through the R1CS (Rank 1 Constraint System) function, which checks whether the given input/output value is valid for each gate constituting the operation circuit and converts it into an operation of vector expressions.
betas: The value b returned through the R1CS (Rank 1 Constraint System) function, which checks whether the given input/output value is valid for each gate that makes up the operation circuit and converts it into an operation of vector expressions.
gammas: The value c returned through the R1CS (Rank 1 Constraint System) function, which checks whether the input and output values given to each gate that make up the operation circuit are valid and converts them into operations of vector expressions.
GenerateAcert: Function that can generate (issue) an anonymous certificate (Acert)

삭제delete

그런 다음, 발급 서버는 생성한 사용자 익명 인증서를 사용자 단말에게 전송한다.Then, the issuing server transmits the generated user anonymous certificate to the user terminal.

마지막으로, 도 6에 도시된 바와 같이, 상기 검증수단(160)에서 상기 발급 서버(150)로부터 상기 검증키를 전송받고, 상기 사용자 단말(120)로부터 사용자 익명 인증서를 수신하여 사용자 단말(120)을 검증하는 단계가 수행된다(S250).Finally, as shown in FIG. 6, the verification means 160 receives the verification key from the issuing server 150, receives the user anonymous certificate from the user terminal 120, and sends the verification key to the user terminal 120. A verification step is performed (S250).

여기서, 검증하는 단계는 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면(참) 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면(거짓) 서비스 접근 권한을 부정하게 된다. Here, the verification step verifies the legitimacy of the user terminal using the user anonymous certificate received from the user terminal using the verification key, and if the user terminal is confirmed to be verified (true), service access rights are granted, and verification is completed. If not acknowledged (false), service access rights are denied.

다시 말해, 익명 인증서 검증 단계는 사용자 단말이 발급 서버로부터 발급받은 익명 인증서를 검증수단(160)에 전송하여 익명 인증서를 검증받는다. 이때, 참일 경우 사용자에게 서비스 접근 권한을 부여하며, 거짓일 경우 서비스 접근 권한을 부여하지 않는다. In other words, in the anonymous certificate verification step, the user terminal transmits the anonymous certificate issued by the issuing server to the verification means 160 to verify the anonymous certificate. At this time, if true, service access is granted to the user, and if false, service access is not granted.

따라서, 본 발명에 따르면, 첫째, 식별과 인증서 발급 시스템의 역할을 분리하여 사용자 식별의 연결성을 최소화하고, 둘째, ZK-SNARKs기반의 토큰증명 시스템을 통해 속성의 노출 없이 자격증명을 수행하여 프라이버시를 개선하게 되고, 셋째, 발급 및 검증 단계까지 일괄적인 검증을 위해 Blind Ordered Multi Signature(BOMS) 프로토콜을 포함하는 시스템을 구현할 수 있다. Therefore, according to the present invention, first, the connectivity of user identification is minimized by separating the roles of identification and certificate issuing systems, and second, privacy is maintained by performing authentication without exposing attributes through a ZK-SNARKs-based token verification system. Third, it is possible to implement a system that includes the Blind Ordered Multi Signature (BOMS) protocol for comprehensive verification from the issuance and verification stages.

즉, 발급자 및 사용자 간, 사용자 및 검증자 간 데이터 송수신의 2 번의 검증을 BOBS를 통해 한 번의 검증 가능한 서명으로 토큰바인딩하여 효율적으로 검증할 수 있게 된다. In other words, two verifications of data transmission and reception between the issuer and user and between the user and verifier can be efficiently verified by token binding into a single verifiable signature through BOBS.

또한, 블록체인의 보편적인 ZKP 기반 알고리즘(Camenisch 및 Lysyanskaya 서명(CL-Signature) 및 ZK-SANRKS(zero-knowledge succinct non-interactive argument of knowledge)을 적용 구현하고 및 다양한 환경 성능 평가 및 보안 분석을 통해 종래 모델 보다 효율적인 개인 정보 보호 및 더 넓은 적용 범위를 달성할 수 있다. In addition, by applying and implementing the universal ZKP-based algorithm of blockchain (Camenisch and Lysyanskaya signature (CL-Signature) and ZK-SANRKS (zero-knowledge succinct non-interactive argument of knowledge)) and through various environmental performance evaluations and security analyses. It can achieve more efficient privacy protection and wider application range than conventional models.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The description of the present invention described above is for illustrative purposes, and those skilled in the art will understand that the present invention can be easily modified into other specific forms without changing the technical idea or essential features of the present invention. will be. Therefore, the embodiments described above should be understood in all respects as illustrative and not restrictive. For example, each component described as single may be implemented in a distributed manner, and similarly, components described as distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims described below rather than the detailed description above, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

100: 프라이버시 향상을 위한 익명 자격 증명 시스템
110: 키 등록 센터
120: 사용자 단말
130: 루트 인증기관
140: 등록 서버
150: 발급 서버
160: 검증 수단
100: Anonymous Credential System for Enhancing Privacy
110: Key registration center
120: user terminal
130: Root Certification Authority
140: Registration server
150: issuing server
160: Verification means

Claims (10)

마스터 키 및 공개 파라미터를 생성하는 키 등록 센터;
상기 키 등록 센터에서 생성된 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 루트 인증기관(CA: Certificate Agency);
상기 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 등록 서버;
상기 사용자 단말로부터 토큰 검증을 요청받으면, 상기 등록 서버에 상기 검증 요청된 사용자 토큰이 인증받은 사용자인지 여부를 검증 요청한 후, 인증받은 사용자 토큰인 경우에 사용자 단말에 사용자 자격 증명에 대한 영지식 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 발급 서버; 및
상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 검증수단; 을 포함하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
a key registration center that generates master keys and public parameters;
A root certification agency (CA: Certificate Agency) that receives the master key and public parameters generated at the key registration center and the ID and password (PW) input from the user terminal to generate a user public key pair and user certificate;
Receive the ID and password (PW) entered from the user terminal, generate a public key pair for the user blockchain and a certificate for the blockchain, send them to the user terminal, and generate a user token to the user terminal and the issuing server. a registered server that transmits;
When token verification is requested from the user terminal, the registration server is requested to verify whether the user token requested for verification is an authenticated user, and then, if the user token is an authenticated user token, a zero-knowledge proof value for the user credential is sent to the user terminal. an issuing server that requests and receives public parameters and proof values, generates an anonymous user certificate, transmits it to the user terminal, and generates and transmits a verification key for verifying the anonymous user certificate; and
Verification means for verifying a user terminal by receiving the verification key from the issuing server and receiving an anonymous user certificate from the user terminal; Anonymous credential system for privacy enhancement including.
제1항에 있어서,
상기 루트 인증기관은 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
According to paragraph 1,
The root certification authority receives ID and password (PW) from all entities, generates a public key pair for each entity using RSA (Ron Rivest, Adi Shamir, Leonard Adleman) encryption, and provides root authentication. An anonymous credential system for privacy enhancement, characterized by generating user certificates using the institution's private key, the entity's public key, and digest, and sending the public key pair and user certificate to each entity.
제1항에 있어서,
상기 등록 서버는 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
According to paragraph 1,
The registration server receives the user ID (ID) and password (PW) from the decentralized application (DApp) to check whether the user is a registered user, and in the case of a registered user, uses the ECC (Elliptic Curve Cryptography) algorithm. An anonymous credentialing system for privacy enhancement, characterized by generating public key pairs for blockchains and certificates for blockchains.
제1항에 있어서,
상기 발급 서버는 수신한 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
According to paragraph 1,
An anonymous credential system for improving privacy, wherein the issuing server generates an anonymous user certificate using the received public parameters and proof values using zero-knowledge proof (ZK-SNARKs).
제1항에 있어서,
상기 검증수단에서는 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면 서비스 접근 권한을 부정하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 시스템.
According to paragraph 1,
In the verification means, the legitimacy of the user terminal is verified using the user anonymous certificate received from the user terminal and the verification key. If the user terminal is verified, service access is granted, and if verification is not recognized, service access is granted. An anonymous credential system for privacy enhancement featuring permission denial.
키 등록 센터에서 마스터 키 및 공개 파라미터를 생성하는 단계;
루트 인증기관(CA: Certificate Agency)에서 상기 마스터 키 및 공개 파라미터 및 사용자 단말로부터 입력된 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계;
등록 서버에서 상기 아이디(ID) 및 패스워드(PW)를 전송받아 사용자 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하여 사용자 단말에 전송하고, 사용자 토큰을 생성하여 사용자 단말 및 발급 서버에 전송하는 단계;
발급서버에서 상기 사용자 단말로부터 토큰 검증을 요청받으면, 상기 등록 서버에 상기 검증 요청된 사용자 토큰이 인증받은 사용자인지 여부를 검증 요청한 후, 인증받은 사용자 토큰인 경우에 사용자 단말에 사용자 자격 증명에 대한 영지식 증명 값을 요청하여 공개 매개변수 및 증명 값을 수신하여 사용자 익명 인증서를 생성하여 상기 사용자 단말에 전송하고, 사용자 익명 인증서를 검증하기 위한 검증키를 생성하여 전송하는 단계; 및
검증수단에서 상기 발급 서버로부터 상기 검증키를 전송받고, 상기 사용자 단말로부터 사용자 익명 인증서를 수신하여 사용자 단말을 검증하는 단계;를 포함하는 프라이버시 향상을 위한 익명 자격 증명 방법.
generating a master key and public parameters at a key registration center;
Generating a user public key pair and a user certificate by receiving the master key and public parameters and the ID and password (PW) input from the user terminal at a root certification agency (CA: Certificate Agency);
Receive the ID and password (PW) from the registration server, generate a public key pair for the user blockchain and a certificate for the blockchain, send them to the user terminal, and generate a user token and send it to the user terminal and the issuing server. step;
When the issuing server receives a request for token verification from the user terminal, it requests the registration server to verify whether the user token for which verification has been requested is an authenticated user. If the user token is an authenticated user token, a message about user credentials is sent to the user terminal. Requesting a knowledge proof value, receiving public parameters and proof values, generating an anonymous user certificate and transmitting it to the user terminal, and generating and transmitting a verification key for verifying the anonymous user certificate; and
An anonymous credential authentication method for improving privacy comprising: receiving the verification key from the issuing server in a verification means and verifying the user terminal by receiving an anonymous user certificate from the user terminal.
제6항에 있어서,
상기 사용자 공개키 쌍 및 사용자 인증서를 생성하는 단계는, 모든 개체로부터 아이디(ID)와 패스워드(Password: PW)를 받고, RSA(Ron Rivest, Adi Shamir, Leonard Adleman) 암호화를 사용하여 각 개체에 대한 공개키 쌍을 생성하고, 상기 루트 인증기관의 개인키, 개체의 공개키 및 다이제스트를 사용하여 사용자 인증서를 생성하며, 각 개체에 공개키 쌍 및 사용자 인증서를 전송하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
According to clause 6,
The step of generating the user public key pair and user certificate involves receiving an ID and password (PW) from all entities, and using RSA (Ron Rivest, Adi Shamir, Leonard Adleman) encryption for each entity. Generating a public key pair, generating a user certificate using the private key of the root certification authority, the public key and digest of the entity, and transmitting the public key pair and user certificate to each entity. Anonymous credential method.
제6항에 있어서,
상기 등록 서버에서 블록체인용 공개키 쌍 및 블록체인용 인증서를 생성하는 단계는, 분산 응용 프로그램(Decentralized Application: DApp)에서 사용자 아이디(ID) 및 패스워드(PW)를 수신하여 등록된 사용자 여부를 확인하고, 등록된 사용자의 경우 ECC(Elliptic Curve Cryptography) 알고리즘을 사용하여 블록체인용 공개키 쌍과 블록체인용 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
According to clause 6,
The step of generating a public key pair for blockchain and a certificate for blockchain in the registration server involves receiving a user ID (ID) and password (PW) from a decentralized application (DApp) and confirming whether the user is a registered user. and, for registered users, an anonymous credentialing method for improving privacy, characterized by generating a public key pair for the blockchain and a certificate for the blockchain using the Elliptic Curve Cryptography (ECC) algorithm.
제6항에 있어서,
상기 발급 서버에서 사용자 익명 인증서를 생성하는 단계는, 수신한 공개 매개변수 및 증명 값을 영지식 증명(ZK-SNARKs)를 이용하여 사용자 익명 인증서를 생성하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
According to clause 6,
The step of generating an anonymous user certificate at the issuing server includes generating an anonymous user certificate using the received public parameters and proof values using zero-knowledge proofs (ZK-SNARKs). An anonymous credential for improving privacy. method.
제6항에 있어서,
상기 검증하는 단계는, 상기 사용자 단말로부터 수신된 사용자 익명 인증서를 상기 검증키를 사용하여 사용자 단말의 정당성 여부를 검증하고, 사용자 단말이 검증이 인정되면(참) 서비스 접근 권한을 부여하고, 검증이 인정되지 않으면(거짓) 서비스 접근 권한을 부정하는 것을 특징으로 하는 프라이버시 향상을 위한 익명 자격 증명 방법.
According to clause 6,
In the verification step, the legitimacy of the user terminal is verified using the user anonymous certificate received from the user terminal using the verification key, and if the user terminal is confirmed to be verified (true), service access rights are granted, and verification is completed. Anonymous credentialing method for privacy enhancement characterized by denying service access if not acknowledged (false).
KR1020210142446A 2021-10-25 2021-10-25 A system and the method of anonymous credentials for improved privacy KR102667307B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210142446A KR102667307B1 (en) 2021-10-25 2021-10-25 A system and the method of anonymous credentials for improved privacy

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210142446A KR102667307B1 (en) 2021-10-25 2021-10-25 A system and the method of anonymous credentials for improved privacy

Publications (2)

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

Family

ID=86381140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210142446A KR102667307B1 (en) 2021-10-25 2021-10-25 A system and the method of anonymous credentials for improved privacy

Country Status (1)

Country Link
KR (1) KR102667307B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100627104B1 (en) 2005-06-13 2006-09-25 주식회사 유비닉스 Electronic vote system and smart card using the same, electronic vote management method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130082745A (en) 2011-12-15 2013-07-22 한국전자통신연구원 Method for reserving seat realtime using qr code
KR102330012B1 (en) * 2019-11-07 2021-11-23 순천향대학교 산학협력단 Authentication System and Method based on anonymous protocol in Permissioned Blockchain, Recording Medium for Performing the Method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100627104B1 (en) 2005-06-13 2006-09-25 주식회사 유비닉스 Electronic vote system and smart card using the same, electronic vote management method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Lingling Wang 외 3인, "Towards a smart privacy-preserving incentive mechanism for vehicular crowd sensing", Security and Communication Networks 2021 (2021.06.17.)): 1-16.
Peng Li 외 2인, "Event-oriented linkable and traceable anonymous authentication and its application to voting", Journal of Information Security and Applications (2021.05.19.)

Also Published As

Publication number Publication date
KR20230058797A (en) 2023-05-03

Similar Documents

Publication Publication Date Title
Hardjono et al. Cloud-based commissioning of constrained devices using permissioned blockchains
US8978118B2 (en) Pseudonymized authentication
CN110874464A (en) Method and equipment for managing user identity authentication data
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
CN111447187A (en) Cross-domain authentication method for heterogeneous Internet of things
CN110278082B (en) Group member issuing method and device for group digital signature
KR102460299B1 (en) Anonymous credential authentication system and method thereof
US20110213959A1 (en) Methods, apparatuses, system and related computer program product for privacy-enhanced identity management
CN115021958B (en) Mist calculation and blockchain fusion intelligent home identity authentication method and system
Chalaemwongwan et al. A practical national digital ID framework on blockchain (NIDBC)
Wang et al. Achieving secure and flexible m-services through tickets
Ra et al. VAIM: verifiable anonymous identity management for human-centric security and privacy in the internet of things
US7222362B1 (en) Non-transferable anonymous credentials
Abe et al. Double-trapdoor anonymous tags for traceable signatures
Cui et al. Research on direct anonymous attestation mechanism in enterprise information management
Takaragi et al. Secure revocation features in eKYC-privacy protection in central bank digital currency
Li et al. Auditable credential anonymity revocation based on privacy-preserving smart contracts
CN110278073B (en) Group digital signature and verification method, and equipment and device thereof
CN113647080A (en) Providing digital certificates in a cryptographically secured manner
KR102667307B1 (en) A system and the method of anonymous credentials for improved privacy
JP2024513521A (en) Secure origin of trust registration and identification management of embedded devices
Liang et al. An efficient blockchain-based anonymous authentication and supervision system
EP3178073A1 (en) Security management system for revoking a token from at least one service provider terminal of a service provider system
Zhu et al. Multi-factor authentication scheme based on custom attributes

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