KR102354758B1 - System and method for distributed autentication based on zero knowledge proof - Google Patents

System and method for distributed autentication based on zero knowledge proof Download PDF

Info

Publication number
KR102354758B1
KR102354758B1 KR1020200045519A KR20200045519A KR102354758B1 KR 102354758 B1 KR102354758 B1 KR 102354758B1 KR 1020200045519 A KR1020200045519 A KR 1020200045519A KR 20200045519 A KR20200045519 A KR 20200045519A KR 102354758 B1 KR102354758 B1 KR 102354758B1
Authority
KR
South Korea
Prior art keywords
token
authentication
split
zero
knowledge proof
Prior art date
Application number
KR1020200045519A
Other languages
Korean (ko)
Other versions
KR20210117873A (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 케이포시큐리티(주)
Publication of KR20210117873A publication Critical patent/KR20210117873A/en
Application granted granted Critical
Publication of KR102354758B1 publication Critical patent/KR102354758B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법에 관한 것이다. 본 발명의 일 실시 예에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법은 사용자의 개인 정보 없이 사용자 인증이 가능하여 개인 정보의 오남용을 방지할 수 있다.The present invention relates to a distributed digital authentication system and method based on zero-knowledge proof technology. According to an embodiment of the present invention, a distributed digital authentication system and method based on zero-knowledge proof technology can perform user authentication without the user's personal information, thereby preventing misuse of personal information.

Description

영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTED AUTENTICATION BASED ON ZERO KNOWLEDGE PROOF}SYSTEM AND METHOD FOR DISTRIBUTED AUTENTICATION BASED ON ZERO KNOWLEDGE PROOF

본 발명은 분산 디지털 인증 시스템 및 방법에 관한 것으로, 보다 상세하게는 블록체인 시스템 기반에서 개인 정보의 오남용을 방지할 수 있는 영지식 증명 기술을 이용하여 디지털 인증을 하는 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법에 관한 것이다.The present invention relates to a distributed digital authentication system and method, and more particularly, a zero-knowledge proof technology-based distributed digital authentication using zero-knowledge proof technology that can prevent misuse of personal information based on a block chain system. It relates to systems and methods.

사용자 인증 기술에 있어서 인증방식은 신분을 증명할 수 있는 데이터로 신분증, 주민등록번호, 휴대폰 번호, 이메일 계정 등 개인 정보를 이용하여 제시하는 사람이 당사자임을 특정하여 인증하는 방식을 주로 사용해왔다. 이런 경우 개인 정보 유출이나 도용을 문제가 끈임없이 발생하고 있다.In the user authentication technology, the authentication method has mainly been used to identify and authenticate the person who presents it by using personal information such as ID, resident registration number, mobile phone number, and e-mail account as data that can prove identity. In this case, the problem of personal information leakage or theft is constantly occurring.

한편, 개인 정보 보호를 중요시하는 경우 영지식 증명 기술을 사용하기도 한다. 영지식 증명(ZKP, Zero-Knowledge Proof) 기술은 신분을 증명할 수 있는 개인 정보 데이터를 제시하는 것 대신에 자신만이 알고 있는 것(예를 들면 데이터, 행위에 필요한 지식 등)을 제시하거나 행위의 결과를 보여줌으로써 '그 사람만이 그것을 할 수 있다.' 고 하는 것을 인증하는 방식이다On the other hand, if the protection of personal information is important, zero-knowledge proof technology is sometimes used. Zero-Knowledge Proof (ZKP) technology presents what only you know (for example, data, knowledge necessary for actions, etc.) 'Only that person can do it' by showing the results. A way to certify that

본 발명의 배경기술은 대한민국 공개특허 제10-1799517호에 게시되어 있다.Background art of the present invention is disclosed in Korean Patent Laid-Open No. 10-1799517.

본 발명은 블록체인 거래용 주소를 이용하여 사용자의 개인 정보 없이 사용자 인증이 가능한 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법을 제공한다.The present invention provides a distributed digital authentication system and method based on zero-knowledge proof technology that enables user authentication without the user's personal information using an address for blockchain transaction.

본 발명은 블록체인 거래용 주소 정보를 이용하여 분산 환경에서의 사용자 인증을 하는 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법을 제공한다.The present invention provides a zero-knowledge proof technology-based distributed digital authentication system and method for authenticating users in a distributed environment using address information for blockchain transactions.

본 발명의 일 측면에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템을 제공한다. According to one aspect of the present invention, there is provided a distributed digital authentication system based on zero-knowledge proof technology.

본 발명의 일 실시예에 따른 분산 환경에서 사용자 인증을 위한 인증정보로 서명을 생성하는 서명 생성부, 인증 토큰을 암호학적으로 분할 생성하여 블록체인 참여자들에게 배포하는 토큰 관리부 및 서명 검증을 통하여 사용자 인증 여부를 판단하는 서명 검증부를 포함할 수 있다.In a distributed environment according to an embodiment of the present invention, a signature generating unit that generates a signature with authentication information for user authentication, a token management unit that cryptographically divides and generates an authentication token and distributes it to block chain participants, and a user through signature verification It may include a signature verifier for determining whether to authenticate.

본 발명의 다른 일 측면에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 방법 및 이를 실행하는 컴퓨터 프로그램이 기록된 컴퓨터가 판독 가능한 기록매체를 제공한다.According to another aspect of the present invention, there is provided a distributed digital authentication method based on zero-knowledge proof technology and a computer-readable recording medium in which a computer program executing the same is recorded.

본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 방법 및 이를 실행하는 컴퓨터 프로그램이 저장된 기록매체는 인증을 위한 정보를 해쉬 알고리즘을 통해 해쉬 값을 생성하는 단계, 상기 해쉬 값으로 인증 토큰을 이용해 서명 생성하는 단계, 상기 인증 토큰을 분할하고 분배하는 단계, 인증을 위해 분배한 상기 인증 토큰을 수집하여 복원하는 단계 및 상기 복원한 인증 토큰을 검증하는 단계를 포함할 수 있다.The method for distributed digital authentication based on zero-knowledge proof technology according to an embodiment of the present invention and a recording medium storing a computer program executing the same according to an embodiment of the present invention generate a hash value through a hash algorithm for information for authentication, and an authentication token as the hash value It may include generating a signature using

본 발명의 일 실시 예에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법은 사용자의 개인 정보 없이 사용자 인증이 가능하여 개인 정보의 오남용을 방지할 수 있다.According to an embodiment of the present invention, a distributed digital authentication system and method based on zero-knowledge proof technology can perform user authentication without the user's personal information, thereby preventing misuse of personal information.

본 발명의 일 실시 예에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법은 블록체인 거래용 정보를 이용하여 분산 환경에서의 사용자 인증 방식을 안정적으로 제공한다.According to an embodiment of the present invention, a distributed digital authentication system and method based on zero-knowledge proof technology stably provides a user authentication method in a distributed environment using information for blockchain transactions.

도 1은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 플랫폼을 설명하기 위한 도면.
도 2은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템을 설명하기 위한 도면.
도 3 내지 도 7은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 방법을 설명하기 위한 도면들.
1 is a diagram for explaining a distributed digital authentication platform based on zero-knowledge proof technology according to an embodiment of the present invention.
2 is a diagram for explaining a distributed digital authentication system based on zero-knowledge proof technology according to an embodiment of the present invention.
3 to 7 are diagrams for explaining a distributed digital authentication method based on zero-knowledge proof technology according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and will be described in detail through detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing the present invention, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. Also, the expressions "a" and "a", "a" and "a", as used in this specification and claims, should generally be construed to mean "one or more" unless stated otherwise.

이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. do it with

도 1은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 플랫폼을 설명하기 위한 도면이다.1 is a diagram for explaining a distributed digital authentication platform based on zero-knowledge proof technology according to an embodiment of the present invention.

도1을 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 플랫폼은 인증 받으려는 사용자 단말기(20), 사용자 단말기가 인증하려는 서비스 시스템(30), 사용자 단말기와 서비스 시스템을 인증하는 영지식 증명 기술 기반 분산 디지털 인증 시스템 (10), 정보를 분산 저장하고 검증할 수 있는 블록체인 시스템(40)을 포함한다. 예를 들면 사용자는 사용자 단말기(20)를 통해 인증을 요청하고 서비스 시스템(30)을 이용할 수 있다. 자세히 설명하면 사용자 단말기(20)는 서비스 시스템(30)을 사용하기 위해 사용자의 요청을 전송하는 장비이다. 사용자 단말기(20)는 다양한 형태의 컴퓨터 또는 모바일 장비일 수 있다.Referring to Figure 1, the zero-knowledge proof technology-based distributed digital authentication platform is a user terminal 20 to be authenticated, a service system 30 to be authenticated by the user terminal, and a zero-knowledge proof technology-based distributed digital authentication platform to authenticate the user terminal and the service system. The authentication system 10 includes a blockchain system 40 that can distribute and verify information. For example, the user may request authentication through the user terminal 20 and use the service system 30 . In more detail, the user terminal 20 is a device that transmits a user's request to use the service system 30 . The user terminal 20 may be various types of computers or mobile devices.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 개인 정보를 사용하지 않고 영지식 증명 기술 기반으로 인증 토큰을 분할 분배하여 사용자 단말기(20) 또는 서비스 시스템(30)을 인증할 수 있다.The zero-knowledge proof technology-based distributed digital authentication system 10 can authenticate the user terminal 20 or the service system 30 by dividing and distributing authentication tokens based on the zero-knowledge proof technology without using personal information.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 일회성 인증 토큰을 분할하고, 분할 생성된 인증 토큰을 참여자들에게 배포하고, 분할되어 배포된 분할 인증 토큰을 수집, 복원하여 분할 전 토큰과 일치하면 인증 절차가 완료된다.The zero-knowledge proof technology-based distributed digital authentication system 10 splits the one-time authentication token, distributes the split-generated authentication token to participants, collects and restores the split-distributed split authentication token, and matches the token before splitting. The authentication process is completed.

자세히 설명하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인의 거래용 주소를 만들 때 생성되는 개인키를 인증 토큰으로 활용할 수 있다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 주소의 개인키를 이용해 일회성 인증 토큰을 생성한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 일회성 인증 토큰을 분할한다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰을 암호 알고리즘(Shamir 1997)을 통해 암호학적으로 N개 키로 분할 생성한다. More specifically, the distributed digital authentication system 10 based on zero-knowledge proof technology can utilize the private key generated when creating a transaction address of the block chain as an authentication token. The distributed digital authentication system 10 based on zero-knowledge proof technology generates a one-time authentication token using the private key of the block chain address. The zero-knowledge proof technology-based distributed digital authentication system 10 splits a one-time authentication token. For example, the distributed digital authentication system 10 based on zero-knowledge proof technology divides and generates an authentication token into N keys cryptographically through a cryptographic algorithm (Shamir 1997).

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할 생성된 인증 토큰을 참여자들에게 배포한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 장치(10)는 인증 받고자 하는 사용자 및 그 사용자가 인증하려는 시스템과 함께 분할 생성된 인증 토큰을 나눠 가진다.The distributed digital authentication system 10 based on zero-knowledge proof technology distributes the split-generated authentication tokens to the participants. For example, the distributed digital authentication device 10 based on zero-knowledge proof technology shares an authentication token that is split with a user who wants to be authenticated and a system the user wants to authenticate with.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분배된 분할 인증 토큰을 블록체인 시스템(40)에 새 블록으로 저장하고 서명을 생성한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명을 위한 인증 토큰으로 개인키를 사용할 수 있다. The distributed digital authentication system 10 based on zero-knowledge proof technology stores the distributed divided authentication token as a new block in the blockchain system 40 and generates a signature. For example, the distributed digital authentication system 10 based on zero-knowledge proof technology may use a private key as an authentication token for signing.

블록체인 시스템(40)은 블록 생성시 서명을 생성하고 서명 검증을 거쳐 블록체인에 추가된다. 서명 검증 과정은 해당 블록이 정상적으로 생성되었다는 것을 기술적으로 확증하는 단계이며, 블록 체인에 참여하는 모든 참여자가 블록에 저장된 내용에 대한 합의를 완성되는 최종 단계이다. 예를 들면 합의의 기술적인 완성이 서명 검증 과정이다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 검증 과정을 통해 사용자 단말기(20)와 서비스 시스템(30)을 인증할 수 있다. The block chain system 40 generates a signature when creating a block, and is added to the block chain through signature verification. The signature verification process is a step to technically confirm that the block was created normally, and it is the final step in which all participants in the block chain agree on the contents stored in the block. For example, the technical completion of consensus is the signature verification process. The zero-knowledge proof technology-based distributed digital authentication system 10 may authenticate the user terminal 20 and the service system 30 through a signature verification process.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증을 시도할 때마다 배포했던 분할 인증 토큰을 각 참여자들에게 수집한다.The distributed digital authentication system 10 based on zero-knowledge proof technology collects distributed authentication tokens to each participant whenever authentication is attempted.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할할 때 사용한 암호알고리즘을 통해 수집된 분할 인증 토큰을 암호학적으로 하나의 인증 토큰으로 복원한다.The distributed digital authentication system 10 based on zero-knowledge proof technology cryptographically restores the split authentication tokens collected through the cryptographic algorithm used for splitting into one authentication token.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰이 맞는지 원래의 인증 토큰과 동일한지 판별하는 것으로 사용자의 인증 요청에 대한 결과값을 통보한다. The zero-knowledge proof technology-based distributed digital authentication system 10 determines whether the restored authentication token is correct or the same as the original authentication token, and notifies the result value of the user's authentication request.

도 2은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템을 설명하기 위한 도면이다.2 is a diagram for explaining a distributed digital authentication system based on zero-knowledge proof technology according to an embodiment of the present invention.

도 2을 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 생성부(100), 토큰 관리부(200) 및 서명 검증부(300)를 포함한다.Referring to FIG. 2 , the distributed digital authentication system 10 based on zero-knowledge proof technology includes a signature generation unit 100 , a token management unit 200 , and a signature verification unit 300 .

서명 생성부(100)는 사용자 인증을 위한 인증정보로 서명을 생성한다. 서명 생성부(100)는 서명을 생성하고 검증하기 위한 인증 토큰을 이용한다. 서명 관리부(100)는 암호화 알고리즘의 개인키 - 공개키 쌍의 정보를 인증 토큰으로 이용할 수 있다. 예를 들면 서명 관리부(100)는 블록체인 거래용 주소를 만들 때 생성되는 개인키 또는 공개키를 인증 토큰으로 사용할 수 있다.The signature generator 100 generates a signature as authentication information for user authentication. The signature generator 100 uses an authentication token for generating and verifying a signature. The signature management unit 100 may use information of a private key-public key pair of an encryption algorithm as an authentication token. For example, the signature management unit 100 may use a private key or a public key generated when creating an address for a block chain transaction as an authentication token.

토큰 관리부(200)는 인증 토큰을 암호학적으로 분할 생성하여 블록체인 참여자들에게 배포한다. 토큰 관리부(200)는 배포한 분할 인증 토큰을 수집하여 하나의 인증 토큰으로 복원한다.The token management unit 200 cryptographically divides and generates authentication tokens and distributes them to blockchain participants. The token management unit 200 collects the distributed authentication tokens and restores them as one authentication token.

서명 검증부(300)는 서명 검증을 통하여 사용자 인증 여부를 판단한다.The signature verification unit 300 determines whether the user is authenticated through signature verification.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인과 같은 분산 환경에서 사용자 인증을 할 수 있다.The distributed digital authentication system 10 based on zero-knowledge proof technology can authenticate users in a distributed environment such as a block chain.

도 3 내지 도 7은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 방법을 설명하기 위한 도면들이다.3 to 7 are diagrams for explaining a distributed digital authentication method based on zero-knowledge proof technology according to an embodiment of the present invention.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증을 위한 정보를 해쉬 알고리즘을 통해 해쉬 값을 생성하는 단계, 해쉬 값으로 인증 토큰을 이용해 서명 생성하는 단계, 인증 토큰을 분할하고 분배하는 단계, 인증을 위해 분배한 상기 인증 토큰을 수집하여 복원하는 단계 및 복원한 인증 토큰을 검증하는 단계를 포함하여 영지식 증명 기술 기반 분산 디지털 인증을 제공한다.The zero-knowledge proof technology-based distributed digital authentication system 10 generates a hash value through a hash algorithm for information for authentication, generating a signature using an authentication token as a hash value, dividing and distributing the authentication token, It provides a distributed digital authentication based on zero-knowledge proof technology, including collecting and restoring the authentication token distributed for authentication, and verifying the restored authentication token.

도 3을 참조하여 자세히 설명하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자를 등록할 때 해쉬 값을 생성하고, 암호를 위한 인증 토큰을 생성하고, 생성한 인증 토큰을 분배하여 참여자들끼리 나눠서 보관한다. 예를 들면 참여자는 사용자 단말기(20), 서비스 시스템(30), 블록체인 시스템(40)일 수 있다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증받고자 하는 사용자 단말기(20), 그 사용자 단말기(20)가 인증 후 사용하려는 서비스 시스템(30) 및 블록체인 시스템(40)에 인증 토큰을 분할하여 각각 분배한다. 3, the distributed digital authentication system 10 based on zero-knowledge proof technology generates a hash value when registering a user, generates an authentication token for password, and distributes the generated authentication token to participate Divide and store amongst them. For example, the participant may be the user terminal 20 , the service system 30 , or the blockchain system 40 . For example, the zero-knowledge proof technology-based distributed digital authentication system 10 authenticates the user terminal 20 to be authenticated, the service system 30 and the block chain system 40 to be used after the user terminal 20 is authenticated. Divide the tokens and distribute them individually.

단계 S301 및 단계 S302에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서비스 시스템(30)을 통해 사용자 단말기(20)의 사용자 등록 요청을 수신한다. 자세히 설명하면 단계 S301에서 사용자 단말기(2)는 사용하려는 서비스 시스템(30)에 사용 허가를 위한 사용자 등록을 요청한다. 예를 들면 사용자 단말기(20)는 사용자의 ID 및 비밀번호를 포함한 사용자의 정보를 서비스 시스템(30)에 전송하고 사용자 등록 요청을 한다. 단계 S302에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 단말기(20)가 사용하려는 서비스 시스템(30)으로부터 사용자 정보와 인증 토큰 요청을 수신한다. 예를 들면 사용자 정보는 사용자 등록을 위해 필요한 정보이고, 사용자 단말기(20)의 사용자 ID와 비밀번호일 수 있다.In steps S301 and S302 , the zero-knowledge proof technology-based distributed digital authentication system 10 receives the user registration request of the user terminal 20 through the service system 30 . More specifically, in step S301, the user terminal 2 requests a user registration for permission to use the service system 30 to be used. For example, the user terminal 20 transmits user information including the user ID and password to the service system 30 and makes a user registration request. In step S302 , the zero-knowledge proof technology-based distributed digital authentication system 10 receives user information and an authentication token request from the service system 30 to be used by the user terminal 20 . For example, the user information is information necessary for user registration, and may be a user ID and password of the user terminal 20 .

단계 S303에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 정보를 블록체인 시스템(40)에 전송하고 사용자의 블록체인 주소를 생성할 것을 요청한다. In step S303, the zero-knowledge proof technology-based distributed digital authentication system 10 transmits user information to the blockchain system 40 and requests to generate a user's blockchain address.

단계 S304에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템(40)에서 사용자 정보를 이용해 생성한 블록체인 주소의 공개키 또는 개인키를 요청하여 수신한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 첫번째로 개인키를 인증 토큰으로 정의한다. 두번째로 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰을 암호 알고리즘을 통해 복수로 분할 생성한다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 암호 알고리즘(샤미르Shamir 1997)을 통해 암호학적으로 인증 토큰을 N개의 분할 토큰으로 생성한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할 토큰을 각 참여자에게 전달한다. 예를 들면 사용자 단말기(20)에는 사용자 식별 ID와 분할 토큰1(t(1))을 전달하고, 서비스 시스템(30)에는 사용자 식별 ID와 분할 토큰 2(t(2))를 전달하고, 블록체인 시스템(40)에는 분할 토큰3(t(3))을 전달하여 새로운 블록을 생성하여 저장한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템(40)이 분할 토큰3(t(3))을 새로운 블록에 저장하면서 생성한 블록 정보(블록 ID)를 수신한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 식별 ID, 블록체인 시스템에서 수신한 공개키 및 분할 토큰을 저장하고 있는 블록 정보를 포함하여 저장한다. In step S304, the zero-knowledge proof technology-based distributed digital authentication system 10 requests and receives the public key or private key of the block chain address generated using user information in the block chain system 40. The distributed digital authentication system 10 based on zero-knowledge proof technology first defines a private key as an authentication token. Second, the distributed digital authentication system 10 based on zero-knowledge proof technology divides and generates a plurality of authentication tokens through an encryption algorithm. For example, the distributed digital authentication system 10 based on zero-knowledge proof technology cryptographically generates an authentication token into N split tokens through a cryptographic algorithm (Shamir 1997). The distributed digital authentication system 10 based on zero-knowledge proof technology delivers a split token to each participant. For example, a user identification ID and partition token 1 (t(1)) are transmitted to the user terminal 20, a user identification ID and partition token 2 (t(2)) are transmitted to the service system 30, and a block The split token 3 (t(3)) is transmitted to the chain system 40 to generate and store a new block. The zero-knowledge proof technology-based distributed digital authentication system 10 receives block information (block ID) generated while the block chain system 40 stores the split token 3 (t(3)) in a new block. The zero-knowledge proof technology-based distributed digital authentication system 10 stores the user identification ID, the public key received from the block chain system, and block information that stores the split token.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 단말기(20), 서비스 시스템(30), 블록체인 시스템(40) 각각에 정보를 저장한다. 예를 들면 사용자 단말기(20)는 사용자 식별 ID, 분할 토큰1(t(1))을 포함하고, 서비스 시스템(30)은 사용자 식별 ID, 분할 토큰2(t(2))을 포함하고, 블록체인 시스템(40)은 블록 ID(BlkID), 블록 해쉬(Hash), 이전 블록 해쉬(Prev-Blk-Hash), 분할 토큰 3(t(3)) 및 서명(Signature)을 저장한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보의 해쉬 값을 생성하고, 개인키를 인증 토큰으로 하여 서명을 생성한다. The zero-knowledge proof technology-based distributed digital authentication system 10 stores information in each of the user terminal 20 , the service system 30 , and the block chain system 40 . For example, the user terminal 20 includes a user identification ID, partition token 1 (t(1)), and the service system 30 includes a user identification ID, partition token 2 (t(2)), and a block The chain system 40 stores a block ID (BlkID), a block hash (Hash), a previous block hash (Prev-Blk-Hash), a split token 3 (t(3)), and a signature. For example, the distributed digital authentication system 10 based on zero-knowledge proof technology generates a hash value of block information and generates a signature using the private key as an authentication token.

도 4를 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 요청이 발생하면 각각 보관하고 있는 분할된 분배 토큰을 수집하고, 토큰을 복원하여 분할 전 인증 토큰과 일치하는지 확인하는 것으로 인증 절차를 진행한다.Referring to FIG. 4 , the zero-knowledge proof technology-based distributed digital authentication system 10 collects the divided distribution tokens stored in each when an authentication request occurs, restores the tokens, and checks whether the authentication token matches the authentication token before division. Go through the authentication process.

삭제delete

단계 S401 및 단계 S402에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서비스 시스템(30)을 통해 사용자 단말기(10)로부터 사용자 등록 요청을 수신한다. 단계 S401에서 사용자 단말기(10)는 사용자 식별 ID를 서비스 시스템(30)으로 전송하여 서비스 시스템 이용을 위한 인증을 요청한다. 단계 S302에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서비스 시스템(30)이 사용자 단말기(20)로부터 수신한 사용자 식별 ID 및 인증 요청을 수신한다.In steps S401 and S402 , the zero-knowledge proof technology-based distributed digital authentication system 10 receives a user registration request from the user terminal 10 through the service system 30 . In step S401, the user terminal 10 transmits a user identification ID to the service system 30 to request authentication for use of the service system. In step S302 , the zero-knowledge proof technology-based distributed digital authentication system 10 receives the user identification ID and authentication request received by the service system 30 from the user terminal 20 .

단계 S403에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할 토큰을 수집하기 위해 사용자 단말기(20)와 서비스 시스템(30)에 분할 토큰을 반환할 것을 요청한다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 단말기(20)에 분할 토큰 t(1)을 요청하고, 서비스 시스템(30)에는 분할 토큰 t(2)를 요청한다.In step S403, the zero-knowledge proof technology-based distributed digital authentication system 10 requests the user terminal 20 and the service system 30 to return the split token to collect the split token. For example, the zero-knowledge proof technology-based distributed digital authentication system 10 requests the split token t(1) from the user terminal 20 and requests the split token t(2) from the service system 30 .

단계 S404에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템(40)에 블록 ID 정보를 전달하여 해당 블록에 저장된 분할 토큰을 반환할 것을 요청한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 각 참여자에게 분배된 모든 분할 토큰을 수집하여 인증 토큰을 복원한다.In step S404, the zero-knowledge proof technology-based distributed digital authentication system 10 transmits block ID information to the block chain system 40 and requests to return the split token stored in the block. The zero-knowledge proof technology-based distributed digital authentication system 10 restores authentication tokens by collecting all split tokens distributed to each participant.

단계 S405에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰을 검증한다.In step S405, the zero-knowledge proof technology-based distributed digital authentication system 10 verifies the restored authentication token.

단계 S406에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 검증이 완료된 인증 토큰을 서비스 시스템(30)에 전송한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 검증이 완료된 인증 토큰으로 복원키를 검증하도록 하여 사용자 단말기(10)의 인증 요청에 대한 인증을 완료한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)이 복원키를 검증하는 방식을 첫번째로 블록 ID의 해쉬 값을 인증 토큰으로 서명한다. 두번째로 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명과 블록체인 시스템에 저장된 서명과 비교한다. 두 서명이 동일하면 사용자 단말기의 인증이 완료되고, 두 서명이 다르면 사용자 단말기(10)의 사용자는 서비스 시스템(30)의 접근이 거부된다.In step S406 , the zero-knowledge proof technology-based distributed digital authentication system 10 transmits the verified authentication token to the service system 30 . The zero-knowledge proof technology-based distributed digital authentication system 10 completes the authentication of the authentication request of the user terminal 10 by verifying the restoration key with the verified authentication token. In a method in which the distributed digital authentication system 10 based on zero-knowledge proof technology verifies the restoration key, the hash value of the block ID is first signed with the authentication token. Second, the signature of the distributed digital authentication system 10 based on zero-knowledge proof technology is compared with the signature stored in the block chain system. If the two signatures are the same, authentication of the user terminal is completed, and if the two signatures are different, the user of the user terminal 10 is denied access to the service system 30 .

도 5를 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템(40)을 이용해 서명을 생성하고 검증한다. 도 5는 영지식 증명 기술 기반 분산 디지털 인증 장치(10)가 블록체인 기반 서명을 생성하는 예시이다.Referring to FIG. 5 , a distributed digital authentication system 10 based on zero-knowledge proof technology generates and verifies a signature using a blockchain system 40 . 5 is an example in which the distributed digital authentication device 10 based on zero-knowledge proof technology generates a blockchain-based signature.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 인증을 위한 인증 정보를 트랜잭션으로 정의하고 서명용 트랜잭션을 생성한다. The zero-knowledge proof technology-based distributed digital authentication system 10 defines authentication information for user authentication as a transaction and generates a signature transaction.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템의 블록에 블록 인덱스, 블록 해쉬 값, 시간정보(타임 스탬프), 인증 정보, 디지털 서명을 포함한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증정보로 사용자 정보, 사용자가 이용하려는 서비스 시스템, 서비스 시스템의 시간 및 인증 토큰을 포함한다.The zero-knowledge proof technology-based distributed digital authentication system 10 includes a block index, a block hash value, time information (time stamp), authentication information, and a digital signature in the block of the block chain system. The zero-knowledge proof technology-based distributed digital authentication system 10 includes user information, a service system that the user intends to use, a time of the service system, and an authentication token as authentication information.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 디지털 서명을 블록에 저장된 정보를 해쉬 값으로 생성하고 개인키를 이용해 생성한다. The zero-knowledge proof technology-based distributed digital authentication system 10 generates a digital signature as a hash value of information stored in a block and generates it using a private key.

자세히 설명하면, 단계 S501에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 인덱스, 시간 정보 및 인증 정보를 해쉬 알고리즘을 이용해 해쉬 값을 생성한다. 블록 인덱스는 블록이 생성되면 생기는 것으로 블록의 식별자 정보로 이용할 수 있다. More specifically, in step S501, the zero-knowledge proof technology-based distributed digital authentication system 10 generates a hash value using a hash algorithm for the block index, time information, and authentication information. The block index is generated when a block is created and can be used as identifier information of the block.

단계 S502에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 알고리즘을 통해 블록 정보의 해쉬 값에서 서명을 생성한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 해쉬 값을 ECC 서명 알고리즘의 입력값으로 하고 개인키를 인증 코드로 디지털 서명을 생성한다. 개인키는 블록체인을 생성하면 그 주소값으로 개인키와 공개키가 쌍으로 생성된다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 개인키를 인증 코드로 사용할 수 있다. 블록체인에서 정보를 주고 받을 때 블록체인 주소의 공개키와 개인키를 이용해 검증을 하는 것이 일반적이다.In step S502, the zero-knowledge proof technology-based distributed digital authentication system 10 generates a signature from a hash value of block information through a signature algorithm. For example, the distributed digital authentication system 10 based on zero-knowledge proof technology uses a hash value as an input value of the ECC signature algorithm and generates a digital signature using the private key as an authentication code. When a private key is created in a block chain, a private key and a public key are created as a pair with the address value. The distributed digital authentication system 10 based on zero-knowledge proof technology may use the private key as an authentication code. When sending and receiving information on a blockchain, it is common to verify using the public and private keys of the blockchain address.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보의 해쉬 값으로 생성된 디지털 서명을 블록에 함께 저장한다.The distributed digital authentication system 10 based on zero-knowledge proof technology stores a digital signature generated as a hash value of block information together in a block.

단계 S503에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 검증을 통해 사용자와 그 사용자가 사용하려는 시스템을 인증한다.In step S503, the zero-knowledge proof technology-based distributed digital authentication system 10 authenticates the user and the system the user intends to use through signature verification.

도 6는 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명 검증 방식의 예시이다.6 is an example of a signature verification method of the distributed digital authentication system 10 based on zero-knowledge proof technology according to an embodiment of the present invention.

단계 S601에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 해쉬 값을 생성한다.In step S601, the zero-knowledge proof technology-based distributed digital authentication system 10 generates a hash value using block information.

단계 S602에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 해쉬 값(단계 S601)를 서명 알고리즘을 통해 복원된 인증 코드(도 4 단계 S405)를 사용하여 복원 서명을 생성한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰을 분할하여 분배할 때 사용한 서명 알고리즘을 통해 분할된 인증 토큰을 복원할 수 있다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰을 이용해 복원 서명을 생성할 수 있다.In step S602, the zero-knowledge proof technology-based distributed digital authentication system 10 generates a restored signature by using the authentication code (FIG. 4 step S405) restored through the signature algorithm for the hash value (step S601). For example, the distributed digital authentication system 10 based on zero-knowledge proof technology may restore the divided authentication token through the signature algorithm used when dividing and distributing the authentication token. The zero-knowledge proof technology-based distributed digital authentication system 10 may generate a restored signature using the restored authentication token.

단계 S604에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원 서명과 블록에 저장된 서명이 동일한지를 판단한다. 서명이 동일하면 서명 검증은 성공적으로 완료되고 인증을 마친다. 서명이 상이하면 정보에 이상이 있는 것으로 판단하고 인증을 거부한다.In step S604, the zero-knowledge proof technology-based distributed digital authentication system 10 determines whether the restored signature and the signature stored in the block are the same. If the signatures are the same, the signature verification is completed successfully and the authentication is completed. If the signatures are different, it is judged that there is an abnormality in the information and authentication is rejected.

도 7은 본 발명의 다른 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명 검증 방식의 예시이다.7 is an example of a signature verification method of the distributed digital authentication system 10 based on zero-knowledge proof technology according to another embodiment of the present invention.

단계 S701에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 해쉬 값을 생성한다.In step S701, the zero-knowledge proof technology-based distributed digital authentication system 10 generates a hash value using block information.

단계 S702에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 공개키로 해쉬 값을 암호화하여 암호 해쉬 값을 생성한다.In step S702, the zero-knowledge proof technology-based distributed digital authentication system 10 encrypts the hash value with the public key to generate a cryptographic hash value.

단계 S703에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰으로 암호화된 해쉬 값을 복호화하여 복호 해쉬 값을 생성한다.In step S703, the zero-knowledge proof technology-based distributed digital authentication system 10 decrypts the encrypted hash value with the restored authentication token to generate a decrypted hash value.

단계 S704에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복호 해쉬 값이 블록 정보 해쉬 값(단계 S701)과 동일한지 판단한다.In step S704, the zero-knowledge proof technology-based distributed digital authentication system 10 determines whether the decrypted hash value is the same as the block information hash value (step S701).

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 공개키로 암호화한 해쉬 값을 복원된 인증 토큰으로 복호화했을 때 정확히 복원된다면 복원된 인증 토큰과 공개키는 쌍을 이룬다고 판단할 수 있다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰으로 개인키를 이용하므로 복원된 인증 토큰은 암호화 키 생성 원리에 의해 복호화할 때 사용한 공개키와 쌍을 이루는 개인키로 판단할 수 있다.The zero-knowledge proof technology-based distributed digital authentication system 10 may determine that the restored authentication token and the public key are paired if they are correctly restored when the hash value encrypted with the public key is decrypted with the restored authentication token. Since the distributed digital authentication system 10 based on zero-knowledge proof technology uses a private key as an authentication token, the restored authentication token can be determined as a private key paired with the public key used for decryption by the encryption key generation principle.

서명 검증 과정은 해당 블록이 정상적으로 생성되었다는 것을 기술적으로 확증하는 단계이며, 블록 체인에 참여하는 모든 참여자가 블록에 저장된 내용에 대한 합의를 완성되는 최종 단계이다. 예를 들면 합의의 기술적인 완성이 서명 검증 과정이다.The signature verification process is a step to technically confirm that the block was created normally, and it is the final step in which all participants in the block chain agree on the contents stored in the block. For example, the technical completion of consensus is the signature verification process.

서명 검증을 위한 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 서명을 위한 해쉬 값을 만든다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 개인키 값을 사용하여 ECC 서명 알고리즘을 통해 서명을 만든다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 이렇게 생성된 서명과 기존의 서명을 비교하여 동일한지 여부를 판단한다.The distributed digital authentication system 10 based on zero-knowledge proof technology according to an embodiment of the present invention for signature verification uses block information to create a hash value for a signature. The zero-knowledge proof technology-based distributed digital authentication system 10 uses the restored private key value to create a signature through the ECC signature algorithm. The zero-knowledge proof technology-based distributed digital authentication system 10 compares the generated signature with an existing signature to determine whether they are the same.

본 발명의 다른 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명 검증 방식은 공개키로 암호화한 데이터를 복원된 개인키로 복호화했을 때 정확하게 복원되었다면 복원된 개인키는 공개키와 한쌍 임이 증명되는 ECC 암호 알고리즘의 키 생성의 원리를 적용한 것이다. 먼저 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 서명을 위한 해쉬 값을 만든다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 공개키로 해쉬 값을 암호화한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 개인키로 암호화된 해쉬 값을 복호화한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)가 복호화된 해쉬 값이 공개키로 암호화된 해쉬 값과 동일한지 판단한다.In the signature verification method of the distributed digital authentication system 10 based on zero-knowledge proof technology according to another embodiment of the present invention, if the data encrypted with the public key is correctly restored when the data encrypted with the restored private key is decrypted, the restored private key is a pair of the public key It applies the principle of key generation of the ECC encryption algorithm, which is proven to be First, the distributed digital authentication system 10 based on zero-knowledge proof technology uses block information to create a hash value for signature. The distributed digital authentication system 10 based on zero-knowledge proof technology encrypts a hash value with a public key. The zero-knowledge proof technology-based distributed digital authentication system 10 decrypts the encrypted hash value with the restored private key. The zero-knowledge proof technology-based distributed digital authentication system 10 determines whether the decrypted hash value is the same as the public key encrypted hash value.

영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 다양한 서명 검증 방식 중 하나를 이용하여 서명 검증을 할 수 있다.The zero-knowledge proof technology-based distributed digital authentication system 10 may perform signature verification using one of various signature verification methods.

상술한 영지식 증명 기술 기반 분산 디지털 인증 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The above-described zero-knowledge proof technology-based distributed digital authentication method may be implemented as a computer-readable code on a computer-readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded on the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.

이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though it has been described that all components constituting the embodiment of the present invention are combined or operated as one, the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all the components may operate by selectively combining one or more.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a particular order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all illustrated acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the described program components and systems may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the present invention has been focused on the embodiments thereof. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

10: 영지식 증명 기술 기반 분산 디지털 인증 시스템
100: 서명 생성부
200: 토큰 관리부
300: 서명 검증부
10: Distributed digital authentication system based on zero-knowledge proof technology
100: signature generator
200: token management unit
300: signature verification unit

Claims (8)

영지식 증명 기술 기반 분산 디지털 인증 시스템 있어서,
분산 환경에서 사용자 인증을 위한 인증정보로 서명을 생성하는 서명 생성부;
인증 토큰을 암호학적으로 분할 생성하여 배포하는 토큰 관리부 및
서명 검증을 통하여 사용자 인증 여부를 판단하는 서명 검증부를 포함하되,
상기 토큰 관리부는
서비스 시스템으로부터 사용자 정보 및 인증 토큰 요청을 수신하고,
상기 사용자 정보를 블록체인 시스템에 전송하고 상응하는 블록체인 주소 생성을 요청하고,
상기 블록체인 시스템으로부터 생성한 블록체인 주소 값을 수신하고,
상기 블록체인 주소 값인 개인키-공개키 쌍의 정보를 이용하여 인증 토큰을 생성하고,
생성한 인증 토큰을 암호 알고리즘을 통하여 N개의 분할 토큰으로 생성하고,
N개의 분할 토큰 중 분할 토큰 1 및 사용자 식별 ID을 사용자 단말기에 전달하고, 분할 토큰 2 및 사용자 식별 ID를 상기 사용자 단말기를 인증하려는 상기 서비스 시스템에 전달하고,
분할 토큰 3을 블록체인 시스템에 전달하고,
상기 서명 생성부는
상기 분할 토큰 3을 저장한 블록 정보를 수신하고, 블록체인 시스템에 블록 정보를 이용하여 서명을 생성 및 저장하고,
상기 서명 검증부는
상기 서비스 시스템을 통하여 사용자 단말기로부터 인증을 요청 받고,
상기 사용자 단말기 및 상기 서비스 시스템에 분할 토큰 1 및 분할 토큰 2의 반환을 요청하고,
상기 블록체인 시스템에 상기 블록 정보를 이용하여 분할 토큰 3의 반환을 요청하고,
상기 수집된 분할 토큰 1, 분할 토큰 2 및 분할 토큰 3을 이용하여 인증 토큰을 복원하고,
상기 블록 정보에 저장된 해쉬 값을 복원된 인증 토큰을 이용하여 복원 서명을 생성하고,
상기 복원 서명과 상기 블록 정보에 저장된 서명을 비교하여 동일한 경우, 인증 성공으로 판단하는
영지식 증명 기술 기반 분산 디지털 인증 시스템.
In a distributed digital authentication system based on zero-knowledge proof technology,
a signature generator for generating a signature with authentication information for user authentication in a distributed environment;
A token management unit that cryptographically divides and distributes authentication tokens;
Including a signature verification unit that determines whether the user is authenticated through signature verification,
The token management unit
Receive user information and authentication token requests from the service system;
Send the user information to the blockchain system and request creation of a corresponding blockchain address;
Receive the block chain address value generated from the block chain system,
An authentication token is generated using the information of the private key-public key pair, which is the block chain address value,
The generated authentication token is generated into N split tokens through a cryptographic algorithm,
Passing the split token 1 and user identification ID among the N split tokens to the user terminal, and passing the split token 2 and the user identification ID to the service system for authenticating the user terminal;
pass the split token 3 to the blockchain system,
The signature generator
Receive block information storing the split token 3, generate and store a signature using block information in a block chain system,
The signature verification unit
Receive an authentication request from the user terminal through the service system,
request the return of the split token 1 and the split token 2 to the user terminal and the service system;
request the return of split token 3 by using the block information to the block chain system,
Restoring an authentication token using the collected split token 1, split token 2, and split token 3;
Generates a restoration signature by using the authentication token restored by the hash value stored in the block information,
Comparing the restoration signature with the signature stored in the block information, and determining that the authentication succeeds if the same
A distributed digital authentication system based on zero-knowledge proof technology.
삭제delete 삭제delete 영지식 증명 기술 기반 분산 디지털 인증 방법에 있어서,
서비스 시스템으로부터 사용자 정보 및 인증 토큰 요청을 수신하는 단계;
상기 사용자 정보를 블록체인 시스템에 전송하고 상응하는 블록체인 주소 생성을 요청하는 단계;
상기 블록체인 시스템으로부터 생성한 블록체인 주소 값을 수신하는 단계;
상기 블록체인 주소 값인 개인키-공개키 쌍의 정보를 이용하여 인증 토큰을 생성하는 단계;
생성한 인증 토큰을 암호 알고리즘을 통하여 N개의 분할 토큰으로 생성하는 단계;
N개의 분할 토큰 중 분할 토큰 1 및 사용자 식별 ID을 사용자 단말기에 전달하는 단계;
분할 토큰 2 및 사용자 식별 ID를 상기 사용자 단말기를 인증하려는 상기 서비스 시스템에 전달하는 단계;
분할 토큰 3을 블록체인 시스템에 전달하는 단계;
상기 분할 토큰 3을 저장한 블록 정보를 수신하고, 상기 블록체인 시스템에 의해 상기 블록 정보를 이용하여 서명을 생성 및 저장하는 단계;
상기 서비스 시스템을 통하여 사용자 단말기로부터 인증을 요청 받는 단계;,
상기 사용자 단말기 및 상기 서비스 시스템에 분할 토큰 1 및 분할 토큰 2의 반환을 요청하는 단계;
상기 블록체인 시스템에 상기 블록 정보를 이용하여 분할 토큰 3의 반환을 요청하는 단계; 및
상기 수집된 분할 토큰 1, 분할 토큰 2 및 분할 토큰 3을 이용하여 인증 토큰을 복원하는 단계를 포함하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
In a distributed digital authentication method based on zero-knowledge proof technology,
receiving a request for user information and an authentication token from a service system;
transmitting the user information to a blockchain system and requesting generation of a corresponding blockchain address;
receiving a block chain address value generated from the block chain system;
generating an authentication token using information of a private key-public key pair that is the block chain address value;
generating the generated authentication token into N split tokens through an encryption algorithm;
transmitting the split token 1 and the user identification ID among the N split tokens to the user terminal;
passing split token 2 and user identification ID to the service system to authenticate the user terminal;
passing the split token 3 to the blockchain system;
receiving block information storing the split token 3, and generating and storing a signature by using the block information by the block chain system;
receiving a request for authentication from a user terminal through the service system;
requesting the user terminal and the service system to return the split token 1 and the split token 2;
requesting the return of the split token 3 by using the block information to the block chain system; and
and restoring an authentication token using the collected split token 1, split token 2, and split token 3.
제 4 항에 있어서,
상기 인증 토큰은
암호화 알고리즘의 개인키-공개키 쌍의 정보를 이용하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
5. The method of claim 4,
The authentication token is
A distributed digital authentication method based on zero-knowledge proof technology using information of a private key-public key pair of an encryption algorithm.
제 4 항에 있어서
상기 블록 정보에 생성된 해쉬 값을 복원된 인증 토큰을 이용하여 복원 서명을 생성하는 단계; 및
상기 복원 서명과 상기 블록 정보에 저장된 서명을 비교하여 동일한 경우, 인증 성공으로 판단하는 단계를 더 포함하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
5. The method of claim 4
generating a restoration signature by using the authentication token restored from the hash value generated in the block information; and
The zero-knowledge proof technology-based distributed digital authentication method further comprising comparing the restored signature with the signature stored in the block information and determining that the authentication succeeds if the same is the case.
제 4 항에 있어서
상기 블록 정보에 생성된 해쉬 값을 공개키로 암호화하여 암호 해쉬 값을 생성하는 단계;
상기 암호 해쉬 값은 복원된 인증 토큰으로 복호화하여 복호 해쉬 값을 생성하는 단계 및
상기 복호 해쉬 값과 상기 블록 정보에 생성된 해쉬 값을 비교하여 동일한 경우, 인증 성공으로 판단하는 단계를 더 포함하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
5. The method of claim 4
generating a cryptographic hash value by encrypting the hash value generated in the block information with a public key;
generating a decrypted hash value by decrypting the cryptographic hash value with a restored authentication token;
The distributed digital authentication method based on zero-knowledge proof technology further comprising comparing the decrypted hash value with the hash value generated in the block information and determining that the authentication succeeds if they are the same.
제4항, 제6항 및 제7항 중 어느 하나의 영지식 증명 기술 기반 분산 디지털 인증 방법을 실행하는 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.A computer program recorded in a computer-readable recording medium executing the distributed digital authentication method based on the zero-knowledge proof technology of any one of claims 4, 6 and 7.
KR1020200045519A 2020-03-20 2020-04-14 System and method for distributed autentication based on zero knowledge proof KR102354758B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200034568 2020-03-20
KR1020200034568 2020-03-20

Publications (2)

Publication Number Publication Date
KR20210117873A KR20210117873A (en) 2021-09-29
KR102354758B1 true KR102354758B1 (en) 2022-01-25

Family

ID=77924825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200045519A KR102354758B1 (en) 2020-03-20 2020-04-14 System and method for distributed autentication based on zero knowledge proof

Country Status (1)

Country Link
KR (1) KR102354758B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582016B1 (en) 2022-04-29 2023-09-25 케이포시큐리티(주) Hierarchical universal resolver system for decentralized identity environment and method thereof
KR102624760B1 (en) * 2022-12-29 2024-01-12 주식회사 인텔렉투스 Method and system for certifying ownership of electronic wallet using token
WO2024025030A1 (en) * 2022-07-25 2024-02-01 주식회사 블록체인기술연구소 System for proving ownership of private signature through nft issuance for private signature data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019124610A1 (en) * 2017-12-21 2019-06-27 문인식 Authentication method using separation, then distributed storage and combination of personal information using blockchain

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582016B1 (en) 2022-04-29 2023-09-25 케이포시큐리티(주) Hierarchical universal resolver system for decentralized identity environment and method thereof
WO2024025030A1 (en) * 2022-07-25 2024-02-01 주식회사 블록체인기술연구소 System for proving ownership of private signature through nft issuance for private signature data
KR102624760B1 (en) * 2022-12-29 2024-01-12 주식회사 인텔렉투스 Method and system for certifying ownership of electronic wallet using token

Also Published As

Publication number Publication date
KR20210117873A (en) 2021-09-29

Similar Documents

Publication Publication Date Title
CN109067801B (en) Identity authentication method, identity authentication device and computer readable medium
CN110519260B (en) Information processing method and information processing device
CN106548345B (en) Method and system for realizing block chain private key protection based on key partitioning
CN100580657C (en) Distributed single sign-on service
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
KR102354758B1 (en) System and method for distributed autentication based on zero knowledge proof
US20180034810A1 (en) A system and methods for protecting keys in computerized devices operating versus a server
CN101312453B (en) User terminal, method for login network service system
US8868911B2 (en) Method for key generation, member authentication, and communication security in dynamic group
KR20170141976A (en) System and method for providing electronic signature service
CN109918888B (en) Anti-quantum certificate issuing method and issuing system based on public key pool
US10887110B2 (en) Method for digital signing with multiple devices operating multiparty computation with a split key
WO2021073953A1 (en) Digital signature generation using a cold wallet
CN114692218A (en) Electronic signature method, equipment and system for individual user
JP2010231404A (en) System, method, and program for managing secret information
CN100437422C (en) System and method for enciphering and protecting software using right
JP4776378B2 (en) MULTI-KEY AUTHENTICATION TERMINAL DEVICE, MULTI-KEY AUTHENTICATION MANAGEMENT DEVICE, MULTI-KEY AUTHENTICATION SYSTEM, AND PROGRAM
CN111245594B (en) Homomorphic operation-based collaborative signature method and system
CN114697038A (en) Quantum attack resistant electronic signature method and system
CN109858283B (en) Cloud storage security data sharing method based on Chaum-Pedersen
Plessing et al. Revisiting Privacy-aware Blockchain Public Key Infrastructure.
JP7211518B2 (en) Owner identity confirmation system and owner identity confirmation method
CN109104393B (en) Identity authentication method, device and system
US20220271948A1 (en) Owner identity confirmation system, certificate authority server and owner identity confirmation method
EP4231583A1 (en) Methods and arrangements for establishing digital identity

Legal Events

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