KR102354758B1 - 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법 - Google Patents

영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법 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
English (en)
Other versions
KR20210117873A (ko
Inventor
박경철
시나이 카블로 앤다이
Original Assignee
케이포시큐리티(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 케이포시큐리티(주) filed Critical 케이포시큐리티(주)
Publication of KR20210117873A publication Critical patent/KR20210117873A/ko
Application granted granted Critical
Publication of KR102354758B1 publication Critical patent/KR102354758B1/ko

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

본 발명은 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법에 관한 것이다. 본 발명의 일 실시 예에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법은 사용자의 개인 정보 없이 사용자 인증이 가능하여 개인 정보의 오남용을 방지할 수 있다.

Description

영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법{SYSTEM AND METHOD FOR DISTRIBUTED AUTENTICATION BASED ON ZERO KNOWLEDGE PROOF}
본 발명은 분산 디지털 인증 시스템 및 방법에 관한 것으로, 보다 상세하게는 블록체인 시스템 기반에서 개인 정보의 오남용을 방지할 수 있는 영지식 증명 기술을 이용하여 디지털 인증을 하는 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법에 관한 것이다.
사용자 인증 기술에 있어서 인증방식은 신분을 증명할 수 있는 데이터로 신분증, 주민등록번호, 휴대폰 번호, 이메일 계정 등 개인 정보를 이용하여 제시하는 사람이 당사자임을 특정하여 인증하는 방식을 주로 사용해왔다. 이런 경우 개인 정보 유출이나 도용을 문제가 끈임없이 발생하고 있다.
한편, 개인 정보 보호를 중요시하는 경우 영지식 증명 기술을 사용하기도 한다. 영지식 증명(ZKP, Zero-Knowledge Proof) 기술은 신분을 증명할 수 있는 개인 정보 데이터를 제시하는 것 대신에 자신만이 알고 있는 것(예를 들면 데이터, 행위에 필요한 지식 등)을 제시하거나 행위의 결과를 보여줌으로써 '그 사람만이 그것을 할 수 있다.' 고 하는 것을 인증하는 방식이다
본 발명의 배경기술은 대한민국 공개특허 제10-1799517호에 게시되어 있다.
본 발명은 블록체인 거래용 주소를 이용하여 사용자의 개인 정보 없이 사용자 인증이 가능한 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법을 제공한다.
본 발명은 블록체인 거래용 주소 정보를 이용하여 분산 환경에서의 사용자 인증을 하는 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법을 제공한다.
본 발명의 일 측면에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템을 제공한다.
본 발명의 일 실시예에 따른 분산 환경에서 사용자 인증을 위한 인증정보로 서명을 생성하는 서명 생성부, 인증 토큰을 암호학적으로 분할 생성하여 블록체인 참여자들에게 배포하는 토큰 관리부 및 서명 검증을 통하여 사용자 인증 여부를 판단하는 서명 검증부를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 방법 및 이를 실행하는 컴퓨터 프로그램이 기록된 컴퓨터가 판독 가능한 기록매체를 제공한다.
본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 방법 및 이를 실행하는 컴퓨터 프로그램이 저장된 기록매체는 인증을 위한 정보를 해쉬 알고리즘을 통해 해쉬 값을 생성하는 단계, 상기 해쉬 값으로 인증 토큰을 이용해 서명 생성하는 단계, 상기 인증 토큰을 분할하고 분배하는 단계, 인증을 위해 분배한 상기 인증 토큰을 수집하여 복원하는 단계 및 상기 복원한 인증 토큰을 검증하는 단계를 포함할 수 있다.
본 발명의 일 실시 예에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법은 사용자의 개인 정보 없이 사용자 인증이 가능하여 개인 정보의 오남용을 방지할 수 있다.
본 발명의 일 실시 예에 따르면, 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법은 블록체인 거래용 정보를 이용하여 분산 환경에서의 사용자 인증 방식을 안정적으로 제공한다.
도 1은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 플랫폼을 설명하기 위한 도면.
도 2은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템을 설명하기 위한 도면.
도 3 내지 도 7은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 방법을 설명하기 위한 도면들.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서 및 청구항에서 사용되는 단수 표현은, 달리 언급하지 않는 한 일반적으로 "하나 이상"을 의미하는 것으로 해석되어야 한다.
이하, 본 발명의 바람직한 실시 예를 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 플랫폼을 설명하기 위한 도면이다.
도1을 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 플랫폼은 인증 받으려는 사용자 단말기(20), 사용자 단말기가 인증하려는 서비스 시스템(30), 사용자 단말기와 서비스 시스템을 인증하는 영지식 증명 기술 기반 분산 디지털 인증 시스템 (10), 정보를 분산 저장하고 검증할 수 있는 블록체인 시스템(40)을 포함한다. 예를 들면 사용자는 사용자 단말기(20)를 통해 인증을 요청하고 서비스 시스템(30)을 이용할 수 있다. 자세히 설명하면 사용자 단말기(20)는 서비스 시스템(30)을 사용하기 위해 사용자의 요청을 전송하는 장비이다. 사용자 단말기(20)는 다양한 형태의 컴퓨터 또는 모바일 장비일 수 있다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 개인 정보를 사용하지 않고 영지식 증명 기술 기반으로 인증 토큰을 분할 분배하여 사용자 단말기(20) 또는 서비스 시스템(30)을 인증할 수 있다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 일회성 인증 토큰을 분할하고, 분할 생성된 인증 토큰을 참여자들에게 배포하고, 분할되어 배포된 분할 인증 토큰을 수집, 복원하여 분할 전 토큰과 일치하면 인증 절차가 완료된다.
자세히 설명하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인의 거래용 주소를 만들 때 생성되는 개인키를 인증 토큰으로 활용할 수 있다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 주소의 개인키를 이용해 일회성 인증 토큰을 생성한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 일회성 인증 토큰을 분할한다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰을 암호 알고리즘(Shamir 1997)을 통해 암호학적으로 N개 키로 분할 생성한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할 생성된 인증 토큰을 참여자들에게 배포한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 장치(10)는 인증 받고자 하는 사용자 및 그 사용자가 인증하려는 시스템과 함께 분할 생성된 인증 토큰을 나눠 가진다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분배된 분할 인증 토큰을 블록체인 시스템(40)에 새 블록으로 저장하고 서명을 생성한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명을 위한 인증 토큰으로 개인키를 사용할 수 있다.
블록체인 시스템(40)은 블록 생성시 서명을 생성하고 서명 검증을 거쳐 블록체인에 추가된다. 서명 검증 과정은 해당 블록이 정상적으로 생성되었다는 것을 기술적으로 확증하는 단계이며, 블록 체인에 참여하는 모든 참여자가 블록에 저장된 내용에 대한 합의를 완성되는 최종 단계이다. 예를 들면 합의의 기술적인 완성이 서명 검증 과정이다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 검증 과정을 통해 사용자 단말기(20)와 서비스 시스템(30)을 인증할 수 있다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증을 시도할 때마다 배포했던 분할 인증 토큰을 각 참여자들에게 수집한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할할 때 사용한 암호알고리즘을 통해 수집된 분할 인증 토큰을 암호학적으로 하나의 인증 토큰으로 복원한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰이 맞는지 원래의 인증 토큰과 동일한지 판별하는 것으로 사용자의 인증 요청에 대한 결과값을 통보한다.
도 2은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템을 설명하기 위한 도면이다.
도 2을 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 생성부(100), 토큰 관리부(200) 및 서명 검증부(300)를 포함한다.
서명 생성부(100)는 사용자 인증을 위한 인증정보로 서명을 생성한다. 서명 생성부(100)는 서명을 생성하고 검증하기 위한 인증 토큰을 이용한다. 서명 관리부(100)는 암호화 알고리즘의 개인키 - 공개키 쌍의 정보를 인증 토큰으로 이용할 수 있다. 예를 들면 서명 관리부(100)는 블록체인 거래용 주소를 만들 때 생성되는 개인키 또는 공개키를 인증 토큰으로 사용할 수 있다.
토큰 관리부(200)는 인증 토큰을 암호학적으로 분할 생성하여 블록체인 참여자들에게 배포한다. 토큰 관리부(200)는 배포한 분할 인증 토큰을 수집하여 하나의 인증 토큰으로 복원한다.
서명 검증부(300)는 서명 검증을 통하여 사용자 인증 여부를 판단한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인과 같은 분산 환경에서 사용자 인증을 할 수 있다.
도 3 내지 도 7은 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 방법을 설명하기 위한 도면들이다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증을 위한 정보를 해쉬 알고리즘을 통해 해쉬 값을 생성하는 단계, 해쉬 값으로 인증 토큰을 이용해 서명 생성하는 단계, 인증 토큰을 분할하고 분배하는 단계, 인증을 위해 분배한 상기 인증 토큰을 수집하여 복원하는 단계 및 복원한 인증 토큰을 검증하는 단계를 포함하여 영지식 증명 기술 기반 분산 디지털 인증을 제공한다.
도 3을 참조하여 자세히 설명하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자를 등록할 때 해쉬 값을 생성하고, 암호를 위한 인증 토큰을 생성하고, 생성한 인증 토큰을 분배하여 참여자들끼리 나눠서 보관한다. 예를 들면 참여자는 사용자 단말기(20), 서비스 시스템(30), 블록체인 시스템(40)일 수 있다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증받고자 하는 사용자 단말기(20), 그 사용자 단말기(20)가 인증 후 사용하려는 서비스 시스템(30) 및 블록체인 시스템(40)에 인증 토큰을 분할하여 각각 분배한다.
단계 S301 및 단계 S302에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서비스 시스템(30)을 통해 사용자 단말기(20)의 사용자 등록 요청을 수신한다. 자세히 설명하면 단계 S301에서 사용자 단말기(2)는 사용하려는 서비스 시스템(30)에 사용 허가를 위한 사용자 등록을 요청한다. 예를 들면 사용자 단말기(20)는 사용자의 ID 및 비밀번호를 포함한 사용자의 정보를 서비스 시스템(30)에 전송하고 사용자 등록 요청을 한다. 단계 S302에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 단말기(20)가 사용하려는 서비스 시스템(30)으로부터 사용자 정보와 인증 토큰 요청을 수신한다. 예를 들면 사용자 정보는 사용자 등록을 위해 필요한 정보이고, 사용자 단말기(20)의 사용자 ID와 비밀번호일 수 있다.
단계 S303에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 정보를 블록체인 시스템(40)에 전송하고 사용자의 블록체인 주소를 생성할 것을 요청한다.
단계 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, 블록체인 시스템에서 수신한 공개키 및 분할 토큰을 저장하고 있는 블록 정보를 포함하여 저장한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(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)은 블록 정보의 해쉬 값을 생성하고, 개인키를 인증 토큰으로 하여 서명을 생성한다.
도 4를 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 요청이 발생하면 각각 보관하고 있는 분할된 분배 토큰을 수집하고, 토큰을 복원하여 분할 전 인증 토큰과 일치하는지 확인하는 것으로 인증 절차를 진행한다.
삭제
단계 S401 및 단계 S402에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서비스 시스템(30)을 통해 사용자 단말기(10)로부터 사용자 등록 요청을 수신한다. 단계 S401에서 사용자 단말기(10)는 사용자 식별 ID를 서비스 시스템(30)으로 전송하여 서비스 시스템 이용을 위한 인증을 요청한다. 단계 S302에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서비스 시스템(30)이 사용자 단말기(20)로부터 수신한 사용자 식별 ID 및 인증 요청을 수신한다.
단계 S403에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 분할 토큰을 수집하기 위해 사용자 단말기(20)와 서비스 시스템(30)에 분할 토큰을 반환할 것을 요청한다. 예를 들면 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 단말기(20)에 분할 토큰 t(1)을 요청하고, 서비스 시스템(30)에는 분할 토큰 t(2)를 요청한다.
단계 S404에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템(40)에 블록 ID 정보를 전달하여 해당 블록에 저장된 분할 토큰을 반환할 것을 요청한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 각 참여자에게 분배된 모든 분할 토큰을 수집하여 인증 토큰을 복원한다.
단계 S405에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰을 검증한다.
단계 S406에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 검증이 완료된 인증 토큰을 서비스 시스템(30)에 전송한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 검증이 완료된 인증 토큰으로 복원키를 검증하도록 하여 사용자 단말기(10)의 인증 요청에 대한 인증을 완료한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)이 복원키를 검증하는 방식을 첫번째로 블록 ID의 해쉬 값을 인증 토큰으로 서명한다. 두번째로 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명과 블록체인 시스템에 저장된 서명과 비교한다. 두 서명이 동일하면 사용자 단말기의 인증이 완료되고, 두 서명이 다르면 사용자 단말기(10)의 사용자는 서비스 시스템(30)의 접근이 거부된다.
도 5를 참조하면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템(40)을 이용해 서명을 생성하고 검증한다. 도 5는 영지식 증명 기술 기반 분산 디지털 인증 장치(10)가 블록체인 기반 서명을 생성하는 예시이다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 사용자 인증을 위한 인증 정보를 트랜잭션으로 정의하고 서명용 트랜잭션을 생성한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록체인 시스템의 블록에 블록 인덱스, 블록 해쉬 값, 시간정보(타임 스탬프), 인증 정보, 디지털 서명을 포함한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증정보로 사용자 정보, 사용자가 이용하려는 서비스 시스템, 서비스 시스템의 시간 및 인증 토큰을 포함한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 디지털 서명을 블록에 저장된 정보를 해쉬 값으로 생성하고 개인키를 이용해 생성한다.
자세히 설명하면, 단계 S501에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 인덱스, 시간 정보 및 인증 정보를 해쉬 알고리즘을 이용해 해쉬 값을 생성한다. 블록 인덱스는 블록이 생성되면 생기는 것으로 블록의 식별자 정보로 이용할 수 있다.
단계 S502에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 알고리즘을 통해 블록 정보의 해쉬 값에서 서명을 생성한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 해쉬 값을 ECC 서명 알고리즘의 입력값으로 하고 개인키를 인증 코드로 디지털 서명을 생성한다. 개인키는 블록체인을 생성하면 그 주소값으로 개인키와 공개키가 쌍으로 생성된다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 개인키를 인증 코드로 사용할 수 있다. 블록체인에서 정보를 주고 받을 때 블록체인 주소의 공개키와 개인키를 이용해 검증을 하는 것이 일반적이다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보의 해쉬 값으로 생성된 디지털 서명을 블록에 함께 저장한다.
단계 S503에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 서명 검증을 통해 사용자와 그 사용자가 사용하려는 시스템을 인증한다.
도 6는 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명 검증 방식의 예시이다.
단계 S601에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 해쉬 값을 생성한다.
단계 S602에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 해쉬 값(단계 S601)를 서명 알고리즘을 통해 복원된 인증 코드(도 4 단계 S405)를 사용하여 복원 서명을 생성한다. 예를 들면, 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰을 분할하여 분배할 때 사용한 서명 알고리즘을 통해 분할된 인증 토큰을 복원할 수 있다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰을 이용해 복원 서명을 생성할 수 있다.
단계 S604에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원 서명과 블록에 저장된 서명이 동일한지를 판단한다. 서명이 동일하면 서명 검증은 성공적으로 완료되고 인증을 마친다. 서명이 상이하면 정보에 이상이 있는 것으로 판단하고 인증을 거부한다.
도 7은 본 발명의 다른 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명 검증 방식의 예시이다.
단계 S701에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 해쉬 값을 생성한다.
단계 S702에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 공개키로 해쉬 값을 암호화하여 암호 해쉬 값을 생성한다.
단계 S703에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 인증 토큰으로 암호화된 해쉬 값을 복호화하여 복호 해쉬 값을 생성한다.
단계 S704에서 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복호 해쉬 값이 블록 정보 해쉬 값(단계 S701)과 동일한지 판단한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 공개키로 암호화한 해쉬 값을 복원된 인증 토큰으로 복호화했을 때 정확히 복원된다면 복원된 인증 토큰과 공개키는 쌍을 이룬다고 판단할 수 있다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 인증 토큰으로 개인키를 이용하므로 복원된 인증 토큰은 암호화 키 생성 원리에 의해 복호화할 때 사용한 공개키와 쌍을 이루는 개인키로 판단할 수 있다.
서명 검증 과정은 해당 블록이 정상적으로 생성되었다는 것을 기술적으로 확증하는 단계이며, 블록 체인에 참여하는 모든 참여자가 블록에 저장된 내용에 대한 합의를 완성되는 최종 단계이다. 예를 들면 합의의 기술적인 완성이 서명 검증 과정이다.
서명 검증을 위한 본 발명의 일 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 서명을 위한 해쉬 값을 만든다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 개인키 값을 사용하여 ECC 서명 알고리즘을 통해 서명을 만든다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 이렇게 생성된 서명과 기존의 서명을 비교하여 동일한지 여부를 판단한다.
본 발명의 다른 실시 예에 따른 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)의 서명 검증 방식은 공개키로 암호화한 데이터를 복원된 개인키로 복호화했을 때 정확하게 복원되었다면 복원된 개인키는 공개키와 한쌍 임이 증명되는 ECC 암호 알고리즘의 키 생성의 원리를 적용한 것이다. 먼저 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 블록 정보를 이용해 서명을 위한 해쉬 값을 만든다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 공개키로 해쉬 값을 암호화한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 복원된 개인키로 암호화된 해쉬 값을 복호화한다. 영지식 증명 기술 기반 분산 디지털 인증 시스템(10)가 복호화된 해쉬 값이 공개키로 암호화된 해쉬 값과 동일한지 판단한다.
영지식 증명 기술 기반 분산 디지털 인증 시스템(10)은 다양한 서명 검증 방식 중 하나를 이용하여 서명 검증을 할 수 있다.
상술한 영지식 증명 기술 기반 분산 디지털 인증 방법은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.
도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시 예 들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
10: 영지식 증명 기술 기반 분산 디지털 인증 시스템
100: 서명 생성부
200: 토큰 관리부
300: 서명 검증부

Claims (8)

  1. 영지식 증명 기술 기반 분산 디지털 인증 시스템 있어서,
    분산 환경에서 사용자 인증을 위한 인증정보로 서명을 생성하는 서명 생성부;
    인증 토큰을 암호학적으로 분할 생성하여 배포하는 토큰 관리부 및
    서명 검증을 통하여 사용자 인증 여부를 판단하는 서명 검증부를 포함하되,
    상기 토큰 관리부는
    서비스 시스템으로부터 사용자 정보 및 인증 토큰 요청을 수신하고,
    상기 사용자 정보를 블록체인 시스템에 전송하고 상응하는 블록체인 주소 생성을 요청하고,
    상기 블록체인 시스템으로부터 생성한 블록체인 주소 값을 수신하고,
    상기 블록체인 주소 값인 개인키-공개키 쌍의 정보를 이용하여 인증 토큰을 생성하고,
    생성한 인증 토큰을 암호 알고리즘을 통하여 N개의 분할 토큰으로 생성하고,
    N개의 분할 토큰 중 분할 토큰 1 및 사용자 식별 ID을 사용자 단말기에 전달하고, 분할 토큰 2 및 사용자 식별 ID를 상기 사용자 단말기를 인증하려는 상기 서비스 시스템에 전달하고,
    분할 토큰 3을 블록체인 시스템에 전달하고,
    상기 서명 생성부는
    상기 분할 토큰 3을 저장한 블록 정보를 수신하고, 블록체인 시스템에 블록 정보를 이용하여 서명을 생성 및 저장하고,
    상기 서명 검증부는
    상기 서비스 시스템을 통하여 사용자 단말기로부터 인증을 요청 받고,
    상기 사용자 단말기 및 상기 서비스 시스템에 분할 토큰 1 및 분할 토큰 2의 반환을 요청하고,
    상기 블록체인 시스템에 상기 블록 정보를 이용하여 분할 토큰 3의 반환을 요청하고,
    상기 수집된 분할 토큰 1, 분할 토큰 2 및 분할 토큰 3을 이용하여 인증 토큰을 복원하고,
    상기 블록 정보에 저장된 해쉬 값을 복원된 인증 토큰을 이용하여 복원 서명을 생성하고,
    상기 복원 서명과 상기 블록 정보에 저장된 서명을 비교하여 동일한 경우, 인증 성공으로 판단하는
    영지식 증명 기술 기반 분산 디지털 인증 시스템.
  2. 삭제
  3. 삭제
  4. 영지식 증명 기술 기반 분산 디지털 인증 방법에 있어서,
    서비스 시스템으로부터 사용자 정보 및 인증 토큰 요청을 수신하는 단계;
    상기 사용자 정보를 블록체인 시스템에 전송하고 상응하는 블록체인 주소 생성을 요청하는 단계;
    상기 블록체인 시스템으로부터 생성한 블록체인 주소 값을 수신하는 단계;
    상기 블록체인 주소 값인 개인키-공개키 쌍의 정보를 이용하여 인증 토큰을 생성하는 단계;
    생성한 인증 토큰을 암호 알고리즘을 통하여 N개의 분할 토큰으로 생성하는 단계;
    N개의 분할 토큰 중 분할 토큰 1 및 사용자 식별 ID을 사용자 단말기에 전달하는 단계;
    분할 토큰 2 및 사용자 식별 ID를 상기 사용자 단말기를 인증하려는 상기 서비스 시스템에 전달하는 단계;
    분할 토큰 3을 블록체인 시스템에 전달하는 단계;
    상기 분할 토큰 3을 저장한 블록 정보를 수신하고, 상기 블록체인 시스템에 의해 상기 블록 정보를 이용하여 서명을 생성 및 저장하는 단계;
    상기 서비스 시스템을 통하여 사용자 단말기로부터 인증을 요청 받는 단계;,
    상기 사용자 단말기 및 상기 서비스 시스템에 분할 토큰 1 및 분할 토큰 2의 반환을 요청하는 단계;
    상기 블록체인 시스템에 상기 블록 정보를 이용하여 분할 토큰 3의 반환을 요청하는 단계; 및
    상기 수집된 분할 토큰 1, 분할 토큰 2 및 분할 토큰 3을 이용하여 인증 토큰을 복원하는 단계를 포함하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
  5. 제 4 항에 있어서,
    상기 인증 토큰은
    암호화 알고리즘의 개인키-공개키 쌍의 정보를 이용하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
  6. 제 4 항에 있어서
    상기 블록 정보에 생성된 해쉬 값을 복원된 인증 토큰을 이용하여 복원 서명을 생성하는 단계; 및
    상기 복원 서명과 상기 블록 정보에 저장된 서명을 비교하여 동일한 경우, 인증 성공으로 판단하는 단계를 더 포함하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
  7. 제 4 항에 있어서
    상기 블록 정보에 생성된 해쉬 값을 공개키로 암호화하여 암호 해쉬 값을 생성하는 단계;
    상기 암호 해쉬 값은 복원된 인증 토큰으로 복호화하여 복호 해쉬 값을 생성하는 단계 및
    상기 복호 해쉬 값과 상기 블록 정보에 생성된 해쉬 값을 비교하여 동일한 경우, 인증 성공으로 판단하는 단계를 더 포함하는 영지식 증명 기술 기반 분산 디지털 인증 방법.
  8. 제4항, 제6항 및 제7항 중 어느 하나의 영지식 증명 기술 기반 분산 디지털 인증 방법을 실행하는 컴퓨터가 판독 가능한 기록매체에 기록된 컴퓨터 프로그램.
KR1020200045519A 2020-03-20 2020-04-14 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법 KR102354758B1 (ko)

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 (ko) 2021-09-29
KR102354758B1 true KR102354758B1 (ko) 2022-01-25

Family

ID=77924825

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200045519A KR102354758B1 (ko) 2020-03-20 2020-04-14 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR102354758B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582016B1 (ko) 2022-04-29 2023-09-25 케이포시큐리티(주) 분산 아이디 환경을 위한 다계층 통합 해석기 시스템 및 구동 방법
KR102624760B1 (ko) * 2022-12-29 2024-01-12 주식회사 인텔렉투스 토큰을 이용한 전자 지갑 소유권 인증 방법 및 시스템
WO2024025030A1 (ko) * 2022-07-25 2024-02-01 주식회사 블록체인기술연구소 개인서명 데이터에 대한 nft 발행을 통한 개인서명의 소유권 증명 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019124610A1 (ko) * 2017-12-21 2019-06-27 문인식 블록체인을 이용한 개인정보 분리 후 분산 저장 및 조합을 통한 인증 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102582016B1 (ko) 2022-04-29 2023-09-25 케이포시큐리티(주) 분산 아이디 환경을 위한 다계층 통합 해석기 시스템 및 구동 방법
WO2024025030A1 (ko) * 2022-07-25 2024-02-01 주식회사 블록체인기술연구소 개인서명 데이터에 대한 nft 발행을 통한 개인서명의 소유권 증명 시스템
KR102624760B1 (ko) * 2022-12-29 2024-01-12 주식회사 인텔렉투스 토큰을 이용한 전자 지갑 소유권 인증 방법 및 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
CN109067801B (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN110519260B (zh) 一种信息处理方法及信息处理装置
CN106548345B (zh) 基于密钥分割实现区块链私钥保护的方法及***
CN100580657C (zh) 分布式单一注册服务
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
KR102354758B1 (ko) 영지식 증명 기술 기반 분산 디지털 인증 시스템 및 방법
US20180034810A1 (en) A system and methods for protecting keys in computerized devices operating versus a server
CN101312453B (zh) 用户终端及其登录网络服务***的方法
US8868911B2 (en) Method for key generation, member authentication, and communication security in dynamic group
US20160294553A1 (en) Information delivery system
WO2020050390A1 (ja) 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法
KR20170141976A (ko) 전자 서명 서비스 시스템 및 방법
CN109918888B (zh) 基于公钥池的抗量子证书颁发方法及颁发***
US10887110B2 (en) Method for digital signing with multiple devices operating multiparty computation with a split key
EP4046325A1 (en) Digital signature generation using a cold wallet
CN114692218A (zh) 一种面向个人用户的电子签章方法、设备和***
JP2010231404A (ja) 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム
CN100437422C (zh) 软件使用权加密保护的***和方法
JP4776378B2 (ja) 複数鍵認証端末装置及び複数鍵認証管理装置及び複数鍵認証システム及びプログラム
CN111245594B (zh) 一种基于同态运算的协同签名方法及***
CN114697038A (zh) 一种抗量子攻击的电子签章方法和***
Plessing et al. Revisiting Privacy-aware Blockchain Public Key Infrastructure.
JP7211518B2 (ja) 所有者同一性確認システムおよび所有者同一性確認方法
CN109104393B (zh) 一种身份认证的方法、装置和***
US20220286301A1 (en) Owner identity confirmation system, terminal and owner identity confirmation method

Legal Events

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