KR20180129027A - 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템 - Google Patents

프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템 Download PDF

Info

Publication number
KR20180129027A
KR20180129027A KR1020170064393A KR20170064393A KR20180129027A KR 20180129027 A KR20180129027 A KR 20180129027A KR 1020170064393 A KR1020170064393 A KR 1020170064393A KR 20170064393 A KR20170064393 A KR 20170064393A KR 20180129027 A KR20180129027 A KR 20180129027A
Authority
KR
South Korea
Prior art keywords
user
block chain
authentication
information
service provider
Prior art date
Application number
KR1020170064393A
Other languages
English (en)
Other versions
KR102016730B1 (ko
Inventor
이정아
박현우
김미경
박재진
안준우
박수정
이남열
이승욱
정보름
Original Assignee
라온시큐어(주)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라온시큐어(주) filed Critical 라온시큐어(주)
Priority to KR1020170064393A priority Critical patent/KR102016730B1/ko
Publication of KR20180129027A publication Critical patent/KR20180129027A/ko
Application granted granted Critical
Publication of KR102016730B1 publication Critical patent/KR102016730B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 사용자 인증 방법 및 시스템을 제공이 가능하다. 또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능하다. 또한, 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없다. 또한, 프로그래밍이 가능한 블록체인, 예를 들어 이더리움을 사용함으로써 사용자정보는 물론 사용자 인증 프로그램의 무결성을 보장하는 동시에 인증서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없다. 또한, 한 개의 아이디로 다수의 기관서버에 로그인, 사용자정보 제공, 사용자정보 인증이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 또는 개인 문서 등의 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어진다.

Description

프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템{AUTHENTIFICATION METHODS AND SYSTEM BASED ON PROGRAMMABLE BLOCKCHAIN AND ONE-ID}
본 발명은 프로그래밍이 가능한 블록체인과 통합 ID(아이디) 기반의 사용자 인증 방법 및 시스템에 관한 것으로, 보다 상세하게는, 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 사용자정보를 보다 안전하게 보관하는 동시에 사용자인증 프로그램의 무결성도 보장하는 사용자 인증 방법 및 시스템에 관한 것이다.
종래의 사용자 인증, 본인 확인 또는 개인 인증 시스템은 여러 서비스제공자(또는 기관) 서버에 사용자정보가 보관되기 때문에 기관서버 해킹 시에 사용자정보가 유출되는 문제가 있다. 또한, 사용자정보 또는 개인정보가 여러 기관 사이트(서버)에 분산되어 있어서 사용자정보 제공에 대한 이력관리가 어렵고, 주소, 단말 정보, 서버 정보, 전화번호 등의 변경 시에 여러 사이트에서 일일이 변경해야 하고, 사용자(개인 또는 기관) ID 도용에 대한 문제도 발생할 수 있다. 또한, 각 기관의 서비스마다. ID와 비밀번호를 별도로 모두 기억해야 하는 불편이 있고, 각 서비스제공자의 서비스에 가입 시마다 사용자정보를 반복해서 또 입력해야 하는 번거로움이 있다.
이러한 문제점을 해결하기 위해 최근 높은 보안성과 안전성이 입증된 블록체인을 사용할 수 있다. 대한민국 등록특허 제10-1590076호에서는 블록체인에 사용자정보를 암호화하여 등록하는 기술이 공지되어 있다. 사용자와 기관(서비스 제공자) 서버가 일대일로 매핑되어 사용자정보를 전달하는 구조이며 블록체인을 중간 매개체로 사용하는 기술로서, 사용자의 공개키로 사용자정보를 암호화하여 블록체인에 저장해 놓음으로써 보안성을 높이고 있다. 그런데, 저장된 사용자정보의 접근시마다 매번 본인확인 또는 신원확인이 필요하며, 모든 기관이 블록체인에 접속시마다 직접 트랜잭션을 발생시켜야 하기 때문에 비용과 대기 시간이 증가하는 문제가 있다.
블록체인 기술은 점점 진화하여, 이제는 단순한 저장 매개체로만 사용하지 않고, 다양한 프로그램을 올릴 수 있도록 프로그래밍이 가능한 블록체인이 소개되고 있는데, 그 대표적인 예가 이더리움(Ethereum)이다. 블록체인을 사용하는 비트코인이 화폐로서 사용되고, 네임코인이 화폐와 토큰의 역할을 하였으며, 프라임코인이 컴퓨팅 파워를 이중적으로 활용하였고, 컬러드코인이 화폐가 특정 자산을 대표할 수 있도록 하였다면, 이더리움은 블록체인을 하나의 데이터베이스로 보고, 모든 자산을 올릴 수 있고 각 자산이 구동하거나 거래되는 방식까지 직접 프로그래밍할 수 있는 하나의 오픈플랫폼(Open Platform)이다. 이더리움 상에서는 비트코인, 네임코인, 프라임코인, 컬러드코인을 모두 설계할 수 있을 뿐 아니라 이들이 서로 작동하는 방식이나, 이체조건, 이체방법 등까지 세심하게 조종할 수 있다. 따라서, 이러한 프로그래밍이 가능한 블록체인 플랫폼을 사용하면, 안전한 사용자 인증은 물론 인증 프로그램의 무결성까지 보장할 수 있으므로 사용자 인증에 수반되는 많은 보안 이슈들을 해결할 수 있다.
KR 10-1590076 B.
본 발명은 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 동시에 사용자 인증 프로그램의 무결성을 보장하는 사용자 인증 방법 및 시스템을 제공하는 것을 목적으로 한다.
또한, 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없도록 하는 것을 또 다른 목적으로 한다.
또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 직접 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능하도록 하는 것을 또 다른 목적으로 한다.
또한, 한 개의 아이디로 다수의 기관서버에 로그인이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보의 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호 기억 및 사용자정보 재입력의 불편이 없어지도록 하는 것을 또 다른 목적으로 한다.
상기 기술적 과제를 달성하기 위한, 본 발명의 일 실시예에 따르면, 프로그래밍이 가능한 블록체인이, 사용자 ID 및 사용자 공개키를 등록하는 사용자등록 단계; 서명문과 원문을 수신하는 단계; 및 상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교하는 사용자인증 단계를 포함하되, 상기 서명문은 사용자 개인키로 서명된 것이고, 상기 원문은 상기 사용자를 인증하기 위한 원문인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법이 제공된다.
상기 블록체인은 이더리움(Ethereum)일 수 있다.
상기 블록체인은 인증서버와 네트워크로 연결되고, 상기 인증서버는 상기 서비스제공자 서버 및 사용자 단말과 네트워크로 연결되어 상기 블록체인과의 중간에서 중계 역할을 할 수 있다.
상기 원문은 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 서명문은 사용자 단말이 상기 사용자인증요청 원문을 상기 사용자 개인키로 서명한 것일 수 있다.
상기 사용자등록 단계는, 상기 사용자의 암호문을 수신하여 상기 사용자의 ID에 매핑 저장하는 단계를 더 포함하되, 상기 암호문은 상기 사용자의 단말이 사용자정보를 상기 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함할 수 있다.
상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것일 수 있다.
상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법은, 상기 사용자의 암호문을 요청 받는 경우, 상기 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 송신하는 암호문송신 단계를 더 포함하되, 사용자 단말은 상기 암호문을 수신하여 상기 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득할 수 있다.
상기 암호문송신 단계는, 상기 사용자인증 단계의 수행 결과 인증이 성공하면 수행할 수 있다.
서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 상기 특정정보를 포함한 원문이고, 상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.
상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 일 실시예에 따르면, 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 인증서버가, 상기 사용자 단말로부터 사용자 ID 및 사용자 공개키를 수신하여 상기 블록체인에 등록하는 사용자등록 단계; 상기 서비스제공자 서버로부터 원문을 수신하는 단계; 상기 사용자 단말로부터 서명문을 수신하는 단계; 상기 수신한 서명문과 원문을 상기 블록체인으로 송신하는 단계; 및 상기 블록체인이 상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교한 인증결과를 수신하는 단계를 포함하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법이 제공된다.
상기 블록체인은 이더리움일 수 있다.
상기 원문은 상기 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 서명문은 상기 인증서버가 상기 수신한 사용자인증요청 원문을 상기 사용자 단말로 송신하고, 상기 사용자 단말이 상기 수신한 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다.
상기 사용자등록 단계는, 상기 사용자 단말로부터 수신한 상기 사용자의 암호문을 상기 사용자의 ID에 매핑 저장하는 단계를 더 포함하되, 상기 암호문은 상기 사용자 단말이 사용자정보를 상기 사용자 공개키로 암호화한 것이고, 상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함하는 것일 수 있다.
상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것일 수 있다.
상기 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법은, 상기 사용자 단말로부터 상기 암호문을 요청 받는 경우, 상기 블록체인으로부터 상기 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 수신하여 상기 사용자 단말로 송신하는 암호문송신 단계를 더 포함하되, 상기 사용자 단말은 상기 암호문을 수신하여 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득할 수 있다.
상기 암호문송신 단계는, 상기 인증결과가 성공인 경우에 상기 암호문을 수신할 수 있다.
상기 서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우, 상기 원문은 상기 서비스제공자 서버가 송신한 특정정보를 포함한 원문이고, 상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.
또한, 다른 바람직한 일 실시예에 따르면, 전술한 각 방법에 따른 방법을 실행시키기 위한 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 프로그램이 제공된다.
또한, 또 다른 바람직한 일 실시예에 따르면, 전술한 각 방법을 실행시키기 위한 프로그램이 기록된, 컴퓨터에서 판독 가능한 기록매체가 제공된다.
상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 바람직한 일 실시예에 따르면, 프로그래밍이 가능한 블록체인으로서, 전술한 각 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 블록체인이 제공된다.
상기 기술적 과제를 달성하기 위한, 본 발명의 또 다른 바람직한 일 실시예에 따르면, 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 인증서버로서, 전술한 각 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 인증서버가 제공된다.
이상과 같이, 본 발명에 따르면, 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 사용자 인증 방법 및 시스템을 제공하는 효과가 있다.
또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다.
또한, 공인인증기관을 통해 신원이 확인된 사용자정보(개인정보 및 문서)를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없는 효과가 있다.
또한, 프로그래밍이 가능한 블록체인, 예를 들어 이더리움을 사용함으로써 사용자정보는 물론 사용자 인증 프로그램의 무결성을 보장하는 동시에 인증서버 조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 하는 효과가 있다.
또한, 한 개의 아이디로 다수의 기관서버에 로그인, 사용자정보 제공, 사용자정보 인증이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 등의 개인정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.
도 2는 본 발명의 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.
도 3은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도이다.
도 4는 본 발명의 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도이다.
도 5는 본 발명의 또 다른 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도이다.
도 6은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자등록에 대한 구체적인 일례를 나타내는 순서도이다.
도 7은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 로그인에 대한 구체적인 일례를 나타내는 순서도이다.
도 8은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 9는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도이다.
도 10은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 인증에 대한 구체적인 일례를 나타내는 순서도이다.
도 11은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 인증에 대한 구체적인 일례를 나타내는 순서도이다.
이하, 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 하기의 설명에서는 본 발명의 실시예에 따른 동작을 이해하는데 필요한 부분만이 도시되고 설명되며 그 이외 부분의 도시와 설명은 본 발명의 요지를 흐리지 않도록 생략하였다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
또한, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우만을 한정하는 것이 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우 또는 유/무선 네트워크를 통해 유/무선으로 통신하는 경우도 포함한다. 또한, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
설명의 간략함을 위해, 본 명세서에서는 예시를 들어 순서도 또는 플로우 차트의 형태로 하나 이상의 방법이 일련의 단계로서 도시되고 기술되어 있지만, 본 발명이 단계들의 순서에 의해 제한되지 않는데 그 이유는 본 발명에 따라 본 명세서에 도시되고 기술되어 있는 것과 다른 순서로 또는 다른 단계들과 동시에 행해질 수 있기 때문이라는 것을 잘 알 것이다. 또한, 예시된 모든 단계들이 본 발명에 따라 방법을 구현해야만 하는 것은 아닐 수 있다.
명세서 전체에서 '사용자'라는 용어는 개인, 단체, 기관 또는 기업 등일 수 있으며, 사용자의 ID 및 공개키가 블록체인에 등록되고, 사용자정보를 블록체인에 저장할 수 있으며, 서비스제공자로부터 사용자 인증 또는 사용자정보 인증 요구를 받을 수 있다.
또한, 명세서 전체에서 '사용자정보'라는 용어는 사용자의 다양한 개인정보는 물론이고 다양한 형식의 문서도 포함한다. '개인정보'라는 용어는 사용자의 주민번호, 사회보장번호, 주소, 단말 정보, 서버 정보, 전화번호 등의 정보를 의미한다.
또한, 명세서 전체에서 '서비스제공자'라는 용어는 개인, 단체, 기관 또는 기업 등일 수 있으며, ID 및 공개키가 블록체인에 반드시 등록될 필요는 없고, 블록체인에 등록되어 있는 사용자의 인증 또는 사용자정보의 인증을 요청할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.
도 1을 참조하면, 본 발명에 따른 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템은 사용자 단말(10), 서비스제공자 서버(20) 및 프로그래밍이 가능한 블록체인(40)을 포함하여 구성될 수 있다.
사용자 단말(10)은 휴대폰, 스마트폰, 컴퓨터, 태블릿, PC 등의 다양한 개인 기기 또는 장치일 수 있으며, 또한, 기업, 공공기관, 은행 등의 다양한 기관에서 사용되는 다양한 서버, 컴퓨터, 기기 또는 장치일 수 있다. 본 도면에서는 스마트폰, 노트북, 서버가 도시되어 있지만, 이에 반드시 한정되지는 않는다.
사용자 단말(10)은, 바람직하게는, FIDO(Fast Identity online) 인증장치가 구비될 수 있다. 이러한 경우 FIDO 인증장치를 통해 키쌍을 생성하고, 개인키를 저장하고, 생체인증 등을 통해 개인키를 획득할 수 있다.
서비스제공자 서버(20)는 특정 서비스를 제공하는 기업, 공공기관, 은행 등의 다양한 기관에서 사용되는 다양한 서버, 컴퓨터, 기기 또는 장치일 수 있으며, 또한, 휴대폰, 스마트폰, 컴퓨터, 태블릿, PC 등의 다양한 개인 기기 또는 장치일 수 있다. 본 도면에서는 노트북과 서버가 도시되어 있지만, 이에 반드시 한정되지는 않는다.
블록체인(40)에는 사용자정보 및 사용자 인증 프로그램이 저장되고 실행된다. 블록체인(40)은 단순한 저장 매개체로만 사용되지 않고, 다양한 프로그램을 올릴 수 있도록 프로그래밍이 가능한 다양한 형태의 블록체인이며, 그 대표적인 예가 이더리움이다. 프로그래밍이 가능한 블록체인(40)은 블록체인을 하나의 데이터베이스로 보고, 모든 자산을 올릴 수 있고 각 자산이 구동하거나 거래되는 방식까지 직접 프로그래밍할 수 있는 하나의 오픈플랫폼이다. 이더리움 상에서는 다양한 프로그램을 설계할 수 있으며 이들이 서로 작동하는 방식이나 조건 등까지 세심하게 조종할 수 있고, 또한, 프로그램을 함부로 조작할 수 없기 때문에 무결성이 보장된다.
따라서, 이러한 프로그래밍이 가능한 블록체인(40)을 사용하면, 안전한 사용자 인증은 물론 사용자정보와 인증 프로그램의 무결성까지도 보장할 수 있으므로 사용자 인증에 수반되는 많은 보안 이슈들을 해결할 수 있다.
사용자 단말(10), 서비스제공자 서버(20) 및 블록체인(40)은 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있으며, 통신을 위해 다양한 유무선의 통신수단을 구비할 수 있다. 통신 네트워크는 이더넷 등의 유선 네트워크일 수도 있고, 와이파이 또는 이동통신망 등의 무선 네트워크 일 수도 있으나, 이에 반드시 한정되지는 않는다.
도 2는 본 발명의 다른 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템의 구성을 나타내는 블록도이다.
도 2를 참조하면, 본 발명에 따른 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 시스템은 사용자 단말(10), 서비스제공자 서버(20), 인증서버(30) 및 프로그래밍이 가능한 블록체인(40)을 포함하여 구성될 수 있다. 도 1의 구성과 비교하면, 인증서버(30)가 더 포함되어 있는 시스템이다.
인증서버(또는 관리서버)(30)는 기관, 기업, 서비스제공자, 개인 등이 운영할 수 있는 통상의 서버일 수 있으며, 컴퓨터, 태블릿, PC 등의 다양한 기기 또는 장치일 수도 있다.
인증서버(30)는 사용자 단말(10) 및 서비스제공자서버(20)와 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있으며, 통신을 위해 다양한 유무선의 통신수단을 구비할 수 있다. 또한, 인증서버(30)는 블록체인(40)과 다양한 유선 또는 무선의 네트워크를 통해 서로 통신할 수 있다. 통신 네트워크는 이더넷 등의 유선 네트워크일 수도 있고, 와이파이 또는 이동통신망 등의 무선 네트워크 일 수도 있으나, 이에 반드시 한정되지는 않는다.
인증서버(30)는 사용자 단말(10) 및 서비스제공자서버(20)와 블록체인(40) 사이에서 중계역할을 할 수 있다.
사용자 단말(10) 및 서비스제공자서버(20)가 인증서버(30)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 직접 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다. 즉, 여러 서비스제공자 서버들이 블록체인에 접근하는 로직을 직접 구비할 필요가 없다.
블록체인(40)은 대규모의 노드들과 각 노드에 분산 저장된 독립적이고 개방된 공통 장부로 구성되어 있고, 또한 인증을 위해 50%를 초과하는 작업증명(proof-of-work) 또는 소유증명(proof-of-take)이 필요하다. 따라서, 안전성이 높다는 장점에 비해 P2P서비스라서 상대적으로 거래속도가 느리고, 업그레이드도 느리고, 제어가 복잡하다는 단점이 있다.
따라서, 인증서버(30)를 통해 블록체인에 접근하도록 하면 느린 거래속도를 개선할 수 있고, 복잡한 제어를 서비스제공자 서버(20)가 모두 감당할 필요가 없어지게 된다.
또한, 사용자 인증 프로그램을 블록체인(40)에 올리면, 인증서버(30) 조차도 블록체인(40)에 올려져 있는 사용자 인증 프로그램을 함부로 조작할 수 없다. 따라서, 인증서버(30)가 해킹되더라도 블록체인(40)에 저장되어 있는 사용자정보와 프로그램은 안전하다.
또한, 인증서버(30)를 사용함으로써 한 개의 ID로 다수의 서비스제공자 서버에 로그인하거나, 사용자정보를 제공하거나, 사용자정보 인증이 가능해진다. 따라서, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.
도 3은 본 발명의 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도(S50)이다.
도 3을 참조하면, 블록체인(40)이 사용자등록과 사용자인증을 수행하는 순서도가 도시되어 있다.
블록체인(40)이 송수신하는 다양한 형태의 정보는, 도 1을 참조하면, 사용자 단말(10) 및 서비스제공자 서버(20)와 직접 송수신할 수 있고, 또한, 도 2를 참조하면, 인증서버(30)를 거쳐 송수신할 수도 있다.
S52 단계에서, 블록체인(40)은 사용자 ID 및 사용자 공개키를 등록할 수 있다. 이 등록 절차는 최초 한 번만 수행할 수 있다. 이 사용자 ID는 통합 ID로 사용될 수 있다. 사용자 인증을 요청하는 모든 서비스제공자 서버(20)는 이 통합 ID로 사용자의 인증을 요청할 수 있다.
S54 단계에서는, 서명문과 원문을 수신할 수 있다. 이때 등록된 사용자의 ID를 함께 수신할 수 있다. 수신한 서명문은 사용자 개인키로 서명된 것이고, 수신한 원문은 상기 사용자를 인증하기 위한 원문일 수 있다.
예를 들어, 상기 원문은 서비스제공자 서버가 송신한 사용자인증요청 원문이고, 상기 서명문은 사용자 단말(10)이 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다. 따라서, 서비스제공자 서버(20)가 송신한 원문과 사용자 단말(10)이 제공한 서명문이 서명 검증되면, 서비스제공자 서버(20)가 송신한 사용자인증요청 원문을 사용자 단말(10)이 사용자 개인키로 서명하였다는 것이 증명된 것이다.
또 다른 예로서, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자의 특정정보(개인정보의 일부)를 수신하고, 수신한 특정정보가 실제 사용자의 특정정보인지의 인증을 요청하는 경우, 상기 원문은 서비스제공자 서버(20)가 송신한 특정정보이고, 상기 서명문은 사용자 단말(10)이 블록체인(40)에 저장되어 있던 사용자정보를 획득한 후, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다. 따라서, 서비스제공자 서버(20)가 송신한 특정정보와 사용자 단말(10)이 제공한 정보가 동일하다면, 이 특정정보는 실제 사용자의 정보라는 무결성이 증명되는 것이다.
S56 단계에서는, 수신한 서명문을 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다. 서명이 검증되면, 사용자 단말(10)이 보낸 서명문이라는 것이 증명된다.
S58 단계에서는, 추출한 원문과 수신한 원문이 동일한지 비교할 수 있다. 비교 결과 동일하다면 무결성이 증명된다. 공개키로 서명 검증이 되어 추출된 원문은 해시되어 있는 것이므로 수신한 해시된 원문과 비교한다. 만약, 수신한 원문이 해시되어 있지 않다면 해시한 후 비교할 수 있다.
명세서 전체에서, 서명검증을 할 때 추출한 원문과 수신한 원문을 비교할 때는, 위와 같이 수신한 원문이 해시되어 있지 않다면 해시한 후 추출한 원문과 비교하는 것이며, 이에 대하여는 이하 생략하기로 한다.
프로그램의 일 실시예로서, S56 및 S58 단계는 다음과 같이 이더리움에서 사용하는 solidity 코드로 구현할 수 있다.
# 사용자인증을 처리하는 블록체인 코드
# 서비스제공자 서버(20)에서 전송한 원문(Text)에 대한 사용자 서명(Signature) 검증
function Check (byte32[] ID, byte32[] Text, byte32[] Signature)   returns (bool)
{
if(RSA_Verify(User[ID].pubkey, Signature, Text)==Success)
return true;
else
return false;
}
이상과 같이, 블록체인(40)에 사용자등록을 하고 사용자인증 절차를 프로그램으로 올림으로써, 사용자 ID의 안전한 보관과 인증은 물론 인증 프로그램의 무결성까지도 보장할 수 있다.
도 4는 본 발명의 다른 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도(S60)이다.
도 4를 참조하면, 블록체인(40)이 사용자의 암호문을 등록 저장하고, 암호문의 요청을 받으면 암호문을 송신하는 순서도가 도시되어 있다.
블록체인(40)이 송수신하는 다양한 형태의 정보는, 도 1을 참조하면, 사용자 단말(10)과 직접 송수신할 수 있고, 또한, 도 2를 참조하면, 인증서버(30)를 거쳐 송수신할 수도 있다.
S62 단계에서, 블록체인(40)은 사용자의 암호문을 수신할 수 있다. 이때 사용자의 ID를 함께 수신할 수 있다.
사용자의 암호문은 사용자 단말(10)이 사용자정보를 사용자 공개키로 암호화한 것이다.
사용자정보는 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관하는 것이 바람직한데, 그 이유는 사용자 인증시마다 매번 사용자의 신원 확인을 할 필요가 없어지기 때문이다.
S64 단계에서, 블록체인(40)은 수신한 암호문을 사용자 ID에 매핑하여 저장할 수 있다.
S66 단계에서, 블록체인(40)은 저장되어 있는 암호문의 송신을 요청받을 수 있다.
블록체인(40)은 암호문을 요청받으면, 함께 수신한 사용자 ID에 매핑되어 있는 사용자의 암호문을 송신할 수 있다(S68).
블록체인(40)에 저장되어 있던 암호문을 수신한 사용자 단말(10)은 암호문을 사용자 개인키로 복호화함으로써 사용자정보를 획득할 수 있다. 획득한 사용자정보를 서비스제공자 서버(20) 등으로 송신할 수 있다.
사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증 등의 FIDO 인증으로 사용자 개인키를 획득하여 복호화에 사용할 수 있다.
이상과 같이, 새로운 서비스제공자에게 사용자정보를 제공할 때, 사용자정보를 다시 입력할 필요없이 지문인식 등의 사용자인증만으로 블록체인(40)에 안전하게 저장되어 있던 사용자정보를 다시 획득한 후 복호화하여 사용할 수 있는 것이다.
도 5는 본 발명의 또 다른 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 구체적인 일례를 나타내는 순서도(S70)이다.
도 5를 참조하면, 블록체인(40)에서 도 4의 S60에 따라 암호문 전송을 실행(S68)하기 전에 도 3의 S50에 따른 사용자인증을 수행하는 실시예이다. 암호문은 사용자 공개키로 암호화되어 있어서 사용자 개인키를 가지고 있지 않으면 복호화할 수가 없으므로 제3자에게 유출이 되어도 복호화가 어렵다. 하지만, 이 암호문이 제3자에게 전송되는 것조차도 방지하기 위해, 사용자 개인키를 가지고 있는 사용자 단말(10)이 실제로 요청했는지를 검증한 후 전송하는 실시예이다.
S72 단계에서, 블록체인(40)은 사용자 암호문을 요청 받을 수 있다. 이때, 원문, 서명문 및 사용자 ID를 함께 수신할 수 있다.
예를 들어, 수신한 원문은 서비스제공자 서버(20)가 송신한 사용자인증요청 원문이고, 수신한 서명문은 사용자 단말(10)이 사용자인증요청 원문을 사용자 개인키로 서명한 것일 수 있다.
또 다른 예로서, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자의 특정정보를 수신하고, 수신한 특정정보가 실제 사용자의 특정정보인지의 인증을 요청하는 경우, 상기 원문은 서비스제공자 서버(20)가 송신한 특정정보이고, 상기 서명문은 사용자 단말(10)이 블록체인(40)에 저장되어 있던 사용자정보를 획득한 후, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것일 수 있다.
S74 단계에서는, 수신한 서명문을 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다. 서명 검증이 성공하면, 사용자 단말(10)이 보낸 서명문이라는 것이 증명된다.
S76 단계에서는, 추출한 원문과 수신한 원문이 동일한지 비교할 수 있다.
S76 단계의 비교 결과 동일하면 사용자 인증에 성공한 것이다.
서명 검증에 성공하면, 사용자 ID에 매핑되어 저장되어 있던 사용자의 암호문을 송신할 수 있다(S78).
이상과 같이, 블록체인(40)에서 사용자인증 절차를 거쳐 암호문을 송신함으로써 암호문을 제3자가 아닌 사용자 단말(10)에 송신할 수 있다.
도 6은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자등록에 대한 구체적인 일례를 나타내는 순서도(S100)이다.
도 6을 참조하면, 도 1 및 도 2의 인증 시스템에서 구현되는 사용자등록 절차의 구체적인 실시예가 도시되어 있다.
사용자 단말(10)은 사용자 키쌍(개인키 및 공개키)을 생성할 수 있다(S102).
생성된 키쌍 중에서 사용자 개인키는 안전 영역(trust zone 등)에 저장될 수 있다(S104). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증 등의 인증을 통해 키쌍 생성 및 개인키 저장을 할 수 있다.
사용자 단말(10)은 사용자의 개인정보를 공인인증기관을 통해 본인 확인 또는 신원 확인을 받을 수 있다(S106).
사용자 단말(10)은 사용자정보를 포함하는 원문을 사용자 공개키로 암호화하여 사용자 암호문을 생성할 수 있다(S108).
사용자 암호문의 등록은 사용자등록시에 하지 않고, 사용자등록 후 별도로 수행할 수도 있다. 본 실시예에서는 동시에 수행하는 것으로 설명하지만, 이에 반드시 한정되지는 않는다.
사용자 단말(10)은 인증서버(30)에 사용자 등록 요청을 할 수 있다(S110). 이때 사용자 ID, 사용자 공개키, 사용자 암호문을 함께 전송할 수 있다.
본 실시예에서는 사용자 등록을 인증서버(30)를 거쳐 수행하는 것으로 도시되어 있지만, 인증서버(30)를 거치지 않고 블록체인(40)에 직접 사용자 등록 요청을 할 수도 있다.
사용자 등록 요청을 수신한 인증서버(30)는 사용자 암호문을 인증서버 개인키로 서명하여 인증서버 서명문을 생성할 수 있다(S112).
인증서버 서명문을 생성한 인증서버(30)는 블록체인(40)에 사용자 등록 요청을 할 수 있다(S114). 이때 사용자 ID, 사용자 공개키, 사용자 암호문, 인증서버 서명문을 함께 전송할 수 있다.
사용자 등록 요청을 수신한 블록체인(40)은 인증서버 서명문을 미리 저장되어 있던 인증서버 공개키로 서명 검증을 할 수 있다(S116). 서명 검증에 성공하면, 사용자등록 요청이 인증서버(30)로부터 수신된 것이라는 것이 증명된 것이다.
서명 검증에 성공하면, 블록체인(40)은 수신한 사용자 ID, 사용자 공개키, 사용자 암호문을 매핑하여 저장할 수 있다(S118).
S120 단계에서, 블록체인(40)은 사용자 등록이 성공적으로 수행되었다는 결과를 인증서버(30)에 송신할 수 있다.
사용자 등록 결과를 수신한 인증서버(30)는 그 결과를 사용자 단말(10)에 송신할 수 있다(S122).
이상과 같이, 사용자 ID, 사용자 공개키, 사용자 공개키로 암호화된 사용자 정보가 블록체인(40)에 안전하게 저장될 수 있다.
이상과 같은 실시예에 의해 블록체인(40)은 인증서버(30)를 통해 복수의 사용자를 등록할 수 있다.
도 7은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 로그인에 대한 구체적인 일례를 나타내는 순서도(S200)이다.
도 7을 참조하면, 사용자 단말(10)이 하나의 통합 ID로 복수의 다양한 서비스제공자 서버(20)에 로그인하는 방법에 대한 실시예이다. 또한, 도 2에서 설명한 인증서버(30)를 사용한 실시예이므로, 사용자인증을 요청하는 모든 서비스제공자 서버(20)는 블록체인(40)에 사용자 등록을 하지 않아도 되고, 블록체인(40)에 트랜잭션을 직접 발생시킬 필요가 없다.
사용자 단말(10)이 서비스제공자 서버(20)에 로그인 요청을 할 수 있다(S202). 이 때 사용자 ID를 함께 전송할 수 있다.
로그인 요청을 받은 서비스제공자 서버(20)는 사용자인증을 위해 사용자인증요청 원문(또는 로그인 원문)을 생성할 수 있다(S204).
서비스제공자 서버(20)는 생성한 사용자인증요청 원문을 사용자 ID와 함께 인증서버(30)에 전송할 수 있다(S206).
인증서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S208).
사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S210). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S212).
인증서버(30)는 수신한 서명문을 S206 단계에서 수신한 사용자인증요청 원문과 함께 블록체인(40)으로 송신하면서 사용자인증 요청을 할 수 있다(S214). 이때 사용자 ID도 함께 송신할 수 있다.
사용자인증 요청을 수신한 블록체인(40)은 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S216). 이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것임이 증명된 것이다.
블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S218). 이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.
블록체인(40)은 사용자 인증 결과를 인증서버(30)로 전송하고(S220), 인증서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S222), 서비스제공자 서버(20)는 로그인이 성공하였음을 사용자 단말(10)에 송신함으로써(S224), 안전한 통합 ID 로그인이 완료된 것이다.
사용자 단말(10)이 타 서비스제공자 서버에 로그인 할 경우도 S200의 절차를 거치면 되고, 이 때에도 사용자 단말(10)은 생체인증 등의 인증절차를 한번만 수행하면 된다.
이상과 같이 한 개의 통합 ID로 다수의 기관서버에 로그인이 가능하므로, 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억해야 하는 불편이 없어지는 효과가 있다.
도 8은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도(S300)이다.
도 8을 참조하면, 본 발명에 따른 도 2에 도시된 인증 시스템이 개인정보를 제공하는 방법이 도시되어 있다.
사용자 단말(10)이 서비스제공자 서버(20)로부터 개인정보 요청을 수신하면(S302), 블록체인(40)에 저장된 개인정보를 인증서버(30)에 요청할 수 있다(S304). 이 때 사용자 ID를 함께 송신할 수 있다.
개인정보 요청을 받은 인증서버(30)는 블록체인(40)에 저장된 사용자 암호문을 요청할 수 있다(S306). 이 때 사용자 ID를 함께 송신할 수 있다.
암호문을 요청 받은 블록체인(40)은 함께 수신한 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S308).
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S310).
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S312). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 획득한 사용자정보를 서비스제공자 서버(20)에 송신할 수 있다(S314). 만약, 서비스제공자 서버(20)가 요구한 개인정보가 사용자정보에 포함되어 있는 일부 정보라면, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 서비스제공자 서버(20)로 송신할 수도 있다.
이상과 같이, 한 개의 아이디로 다수의 기관서버에 사용자정보를 제공할 수 있고, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.
도 9는 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 개인정보 제공에 대한 구체적인 일례를 나타내는 순서도(S400)이다.
도 9를 참조하면, 도 8과 비교하여, 개인정보 제공을 위해 블록체인(40)에 저장되어 있던 사용자정보를 수신할 때, 실제로 사용자가 요청한 것인지를 증명하는 사용자인증 절차가 추가된 실시예이다. 즉, 도 8의 사용자정보 제공 방법(S300) 보다 더 보안성을 강화한 실시예이다.
사용자 단말(10)이 서비스제공자 서버(20)로부터 개인정보 요청을 수신하면(S402), 블록체인(40)에 저장된 개인정보를 인증서버(30)에 요청할 수 있다(S408). 이 때 사용자 ID를 함께 송신할 수 있다.
또한, 서비스제공자 서버(20)는 사용자인증요청 원문(또는 로그인 원문)을 생성하여(S404), 인증서버(30)에 사용자인증 요청을 할 수 있다(S406). 이때 사용자인증요청 원문과 사용자 ID를 함께 송신할 수 있다.
사용자인증 요청 및 사용자정보 요청을 받은 인증서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S410).
사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S412). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S414).
서명문을 수신한 인증서버(30)는 S406 단계에서 수신한 사용자인증요청 원문을 함께 블록체인(40)으로 송신하면서 사용자인증 요청과 사용자 암호문 요청을 동시에 송신할 수 있다(S416). 이때 사용자 ID도 함께 송신할 수 있다.
사용자인증 요청과 사용자 암호문 요청을 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S418).
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.
블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S420).
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.
사용자인증이 성공하였으므로, 블록체인(40)은 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S422).
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S424).
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S426). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 획득한 사용자정보를 서비스제공자 서버(20)에 송신할 수 있다(S428). 만약, 서비스제공자 서버(20)가 요구한 개인정보가 사용자정보에 포함되어 있는 일부 정보라면, 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 서비스제공자 서버(20)로 송신할 수도 있다.
이상과 같이, 사용자인증 과정을 거쳐 사용자 암호문을 송수신함으로써 보다 더 보안이 강화된 사용자정보 관리를 할 수 있다.
도 10은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 인증에 대한 구체적인 일례를 나타내는 순서도(S500)이다.
도 10을 참조하면, 서비스제공자 서버(20)가 사용자 단말(10)로부터 사용자인증 요청을 받으면서 함께 수신한 사용자의 특정정보(개인정보의 일부)가 과연 사용자의 정보가 맞는지 본인확인을 할 필요가 있을 때의 실시예이다.
사용자 단말(10)이 서비스제공자 서버(20)의 요구에 의해 사용자의 특정정보 입력을 요청받았을 경우, 사용자로부터 사용자의 특정정보를 수신한다(S502). 이때 사용자의 특정정보는 사용자가 블록체인(40)에 저장해 놓은 사용자정보에 포함되어 있는 정보일 수 있다.
사용자 단말(10)이 서비스제공자 서버(20)에 특정정보를 송신하면(S504), 서비스제공자 서버(20)는 인증서버(30)에 특정정보의 인증 또는 확인을 요청할 수 있다(S506). 이때 수신한 특정정보와 사용자 ID를 함께 송신할 수 있다.
S508 단계에서, 인증서버(30)는 블록체인(40)에 저장된 사용자 암호문을 요청할 수 있다(S508). 이 때 사용자 ID를 함께 송신할 수 있다.
암호문을 요청 받은 블록체인(40)은 함께 수신한 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S510).
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S512).
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S514). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보, 즉, 특정정보만을 선택하여 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S516).
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S518).
서명문을 수신한 인증서버(30)는 S506 단계에서 수신한 특정정보를 해시하여 서명문과 함께 블록체인(40)으로 송신하면서 특정정보의 인증을 요청을 할 수 있다(S520). 이때 사용자 ID도 함께 송신할 수 있다.
즉, 서비스제공자 서버(20)로부터 받은 특정정보와, 사용자 단말(10)이 블록체인(40)에 등록 저장되어 있던 사용자 암호문을 복호화하여 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것이 과연 동일한지를 판단하는 인증을 블록체인(40)에 요청하는 것이다.
특정정보의 인증 요청을 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S522).
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것음이 증명된 것이다.
블록체인(40)은 추출한 원문을 수신한 원문(해시된 특정정보)과 동일한지 비교 검증할 수 있다(S524).
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 특정정보가 실제로 사용자의 정보인 것이 증명된 것이다.
블록체인(40)은 사용자 인증 결과를 인증서버(30)로 전송하고(S526), 인증서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S528), 서비스제공자 서버(20)는 사용자인증이 성공하였음을 사용자 단말(10)에 송신함으로써(S530) 안전한 사용자 인증 및 특정정보 확인이 완료된 것이다.
도 11은 본 발명의 또 다른 바람직한 일 실시예에 따른, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 사용자정보 인증에 대한 구체적인 일례를 나타내는 순서도(S600)이다.
도 11을 참조하면, 도 10의 S500과 비교하여, 블록체인(40)에 저장되어 있던 사용자정보를 송수신할 때, 실제로 사용자가 요청한 것인지를 증명하는 절차를 더 추가한 실시예이다. 즉, 도 10의 사용자정보 인증 방법(S500) 보다 더 보안성을 강화한 실시예이다.
사용자 단말(10)이 서비스제공자 서버(20)의 요구에 의해 사용자의 특정정보(개인정보의 일부) 입력을 요청받았을 경우, 사용자로부터 사용자의 특정정보를 수신한다(S602). 이때 사용자의 특정정보는 사용자가 블록체인(40)에 저장해 놓은 사용자정보에 포함되는 정보일 수 있다.
사용자로부터 특정정보를 재수신한 사용자 단말(10)은 서비스제공자 서버(20)에 특정정보를 송신할 수 있다(S604).
서비스제공자 서버(20)는 사용자인증요청 원문을 생성하여(S606), 인증서버(30)에 사용자인증 요청과 특정정보의 인증을 동시에 요청할 수 있다(S608). 이때 사용자인증요청 원문, 특정정보 및 사용자 ID를 함께 송신할 수 있다.
사용자인증 요청 및 사용자정보 요청을 받은 인증서버(30)는 수신한 사용자인증요청 원문을 사용자 단말(10)로 송신할 수 있다(S610).
사용자 단말(10)은 수신한 사용자인증요청 원문을 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S612). 이때 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, 생체인증으로 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S614).
서명문을 수신한 인증서버(30)는 S608 단계에서 수신한 사용자인증요청 원문을 함께 블록체인(40)으로 송신하면서 사용자인증 요청과 사용자 암호문 요청을 동시에 송신할 수 있다(S616). 이때 사용자 ID도 함께 송신할 수 있다.
사용자인증 요청과 사용자 암호문 요청을 동시에 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S618).
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.
블록체인(40)은 추출한 원문을 수신한 원문과 동일한지 비교 검증할 수 있다(S620).
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 사용자인증요청이 성공한 것이다.
사용자인증이 성공하였으므로, 블록체인(40)은 사용자 ID에 매핑되어 저장되어 있던 사용자 암호문을 인증서버(30)로 송신할 수 있다(S622).
인증서버(30)는 수신한 사용자 암호문을 사용자 단말(10)로 송신할 수 있다(S624).
사용자 단말(10)은 수신한 암호문을 사용자 개인키로 복호화하여 사용자정보를 획득할 수 있다(S626). 사용자 단말(10)이 FIDO 인증장치를 구비하고 있다면, FIDO 인증을 거쳐 사용자 개인키를 획득하여 사용할 수 있다.
사용자 단말(10)은 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보, 즉 특정정보만을 선택하여 사용자 개인키로 서명하여 서명문을 생성할 수 있다(S628).
사용자 단말(10)은 생성한 서명문을 인증서버(S30)로 송신할 수 있다(S630).
서명문을 수신한 인증서버(30)는 S608 단계에서 수신한 특정정보를 해시하여 서명문과 함께 블록체인(40)으로 송신하면서 특정정보의 인증을 요청할 수 있다(S632). 이때 사용자 ID도 함께 송신할 수 있다.
즉, S608 단계에서 서비스제공자 서버(20)로부터 수신한 특정정보와, 사용자 단말(10)이 기 저장되어 있던 사용자 암호문을 복호화하여 획득한 사용자정보 중에서 서비스제공자 서버(20)가 요구하는 정보만을 선택하여 사용자 개인키로 서명한 것이 과연 동일한지를 판단하는 인증을 블록체인(40)에 요청하는 것이다.
특정정보 인증 요청을 수신한 블록체인(40)은 수신한 서명문을 등록되어 있던 사용자 공개키로 서명 검증하여 원문을 추출할 수 있다(S634).
이때, 서명 검증에 성공하면, 수신한 서명문이 실제로 사용자가 서명한 것이라는 것이 증명된 것이다.
블록체인(40)은 추출한 원문을 수신한 원문(해시된 특정정보)과 동일한지 비교 검증할 수 있다(S636).
이때 검증 결과가 동일하다면, 서비스제공자 서버(20)가 요청한 특정정보가 실제로 사용자의 정보인 것이 증명된 것이다.
블록체인(40)은 사용자 인증 결과를 인증서버(30)로 전송하고(S638), 인증서버(30)는 그 결과를 서비스제공자 서버(20)에 송신하고(S640), 서비스제공자 서버(20)는 사용자인증이 성공하였음을 사용자 단말(10)에 송신함으로써(S642) 안전한 사용자 인증 및 특정정보 확인이 완료된다.
이상과 같이, 본 실시예들에 의하면, 프로그래밍이 가능한 블록체인에 사용자 ID와 사용자 공개키를 등록하고 사용자 인증 프로그램을 수행하게 함으로써 보다 안전하게 사용자 인증을 수행하는 사용자 인증 방법 및 시스템의 제공이 가능하다. 또한, 공인인증기관을 통해 신원이 확인된 사용자정보를 암호화하여 블록체인에 보관함으로써 사용자 인증시마다 사용자의 신원 확인을 할 필요가 없고, 서비스제공자 서버가 해킹이 되더라도 사용자정보의 유출 위험이 없는 효과가 있다.
또한, 인증서버(또는 관리서버)를 통해 블록체인에 접근하도록 함으로써 여러 서비스제공자 서버들이 개별적으로 블록체인의 트랜잭션을 발생시키지 않고도 사용자정보 확인이 가능한 효과가 있다. 또한, 프로그래밍이 가능한 블록체인, 예를 들어 이더리움을 사용함으로써 사용자정보는 물론 사용자 인증 프로그램의 무결성을 보장하는 동시에 인증서버조차도 블록체인의 사용자 인증 프로그램을 함부로 조작할 수 없도록 하는 효과가 있다.
또한, 한 개의 아이디로 다수의 기관서버에 로그인, 사용자정보 제공, 사용자정보 인증이 가능하도록 하여, 사용자정보가 여러 기관서버에 분산되어 있지 않으므로 사용자정보 제공에 대한 이력관리가 수월하고, 주소, 단말 정보, 서버 정보, 전화번호 또는 개인 문서 등의 사용자정보 변경시나 서비스제공자의 서비스 가입시마다 아이디와 비밀번호를 모두 기억하고, 일일이 사용자정보를 재입력해야 하는 불편이 없어지는 효과가 있다.
또한, 이상에서 설명된 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법의 실시예는 다양한 컴퓨터 구성요소들을 통하여 수행될 수 있는 컴퓨터 프로그램 명령어의 형태로 구현될 수 있다. 또한, 상기 구현된 컴퓨터 프로그램은 컴퓨터 판독 가능한 기록 매체에 기록될 수도 있다. 언급된 기록 매체는 ROM, 자기 디스크 혹은 콤팩트 디스크, 광 디스크 등 일 수 있으나, 이에 반드시 한정되지는 않는다.
이상에서와 같이, 본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 다른 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의하여 정해져야 할 것이다.
10: 사용자 단말
20: 서비스제공자 서버
30: 인증서버
40: 프로그래밍이 가능한 블록체인

Claims (21)

  1. 프로그래밍이 가능한 블록체인이,
    사용자 ID 및 사용자 공개키를 등록하는 사용자등록 단계;
    서명문과 원문을 수신하는 단계; 및
    상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교하는 사용자인증 단계;
    를 포함하되,
    상기 서명문은 사용자 개인키로 서명된 것이고,
    상기 원문은 상기 사용자를 인증하기 위한 원문인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  2. 제 1항에 있어서,
    상기 블록체인은 이더리움(Ethereum)인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  3. 제 1항에 있어서,
    상기 블록체인은 인증서버와 네트워크로 연결되고,
    상기 인증서버는 상기 서비스제공자 서버 및 사용자 단말과 네트워크로 연결되어 상기 블록체인과의 중간에서 중계 역할을 하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  4. 제 1항에 있어서,
    상기 원문은 서비스제공자 서버가 송신한 사용자인증요청 원문이고,
    상기 서명문은 사용자 단말이 상기 사용자인증요청 원문을 상기 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  5. 제 1항에 있어서,
    상기 사용자등록 단계는,
    상기 사용자의 암호문을 수신하여 상기 사용자의 ID에 매핑 저장하는 단계를 더 포함하되,
    상기 암호문은 상기 사용자의 단말이 사용자정보를 상기 사용자 공개키로 암호화한 것이고,
    상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  6. 제 5항에 있어서,
    상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  7. 제 5항에 있어서,
    상기 사용자의 암호문을 요청 받는 경우, 상기 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 송신하는 암호문송신 단계;
    를 더 포함하되,
    사용자 단말은 상기 암호문을 수신하여 상기 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  8. 제 7항에 있어서,
    상기 암호문송신 단계는, 상기 사용자인증 단계의 수행 결과 인증이 성공하면 수행하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  9. 제 7항에 있어서,
    서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우,
    상기 원문은 상기 서비스제공자 서버가 송신한 상기 특정정보를 포함한 원문이고,
    상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  10. 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 인증서버가,
    상기 사용자 단말로부터 사용자 ID 및 사용자 공개키를 수신하여 상기 블록체인에 등록하는 사용자등록 단계;
    상기 서비스제공자 서버로부터 원문을 수신하는 단계;
    상기 사용자 단말로부터 서명문을 수신하는 단계;
    상기 수신한 서명문과 원문을 상기 블록체인으로 송신하는 단계; 및
    상기 블록체인이 상기 서명문을 상기 사용자 공개키로 서명 검증한 후 상기 원문과 비교한 인증결과를 수신하는 단계;
    를 포함하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  11. 제 10항에 있어서,
    상기 블록체인은 이더리움인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  12. 제 10항에 있어서,
    상기 원문은 상기 서비스제공자 서버가 송신한 사용자인증요청 원문이고,
    상기 서명문은 상기 인증서버가 상기 수신한 사용자인증요청 원문을 상기 사용자 단말로 송신하고, 상기 사용자 단말이 상기 수신한 사용자인증요청 원문을 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  13. 제 10항에 있어서,
    상기 사용자등록 단계는,
    상기 사용자 단말로부터 수신한 상기 사용자의 암호문을 상기 사용자의 ID에 매핑 저장하는 단계를 더 포함하되,
    상기 암호문은 상기 사용자 단말이 사용자정보를 상기 사용자 공개키로 암호화한 것이고,
    상기 사용자정보는 상기 사용자의 개인정보 또는 문서를 포함하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  14. 제 13항에 있어서,
    상기 사용자등록 단계는 상기 사용자 단말이 공인인증기관을 통해 본인인증을 수행한 후 등록하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  15. 제 13항에 있어서,
    상기 사용자 단말로부터 상기 암호문을 요청 받는 경우, 상기 블록체인으로부터 상기 사용자의 ID에 매핑 저장되어 있는 상기 암호문을 수신하여 상기 사용자 단말로 송신하는 암호문송신 단계;
    를 더 포함하되,
    상기 사용자 단말은 상기 암호문을 수신하여 사용자 개인키로 복호화함으로써 상기 사용자정보를 획득하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  16. 제 15항에 있어서,
    상기 암호문송신 단계는, 상기 인증결과가 성공인 경우에 상기 암호문을 수신하는 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  17. 제 15항에 있어서,
    상기 서비스제공자 서버가 상기 사용자 단말로부터 상기 사용자의 특정정보를 수신하여 상기 특정정보의 인증 요청을 하는 경우,
    상기 원문은 상기 서비스제공자 서버가 송신한 특정정보를 포함한 원문이고,
    상기 서명문은 상기 사용자 단말이 획득한 사용자정보 중에서 상기 서비스제공자 서버가 요구하는 정보만을 선택하여 상기 사용자 개인키로 서명한 것인 것을 특징으로 하는, 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법.
  18. 청구항 제 1항 내지 청구항 제 17항 중의 어느 한 항에 따른 방법을 실행시키기 위한 컴퓨터로 판독가능한 기록매체에 저장된 컴퓨터 프로그램.
  19. 청구항 제 1항 내지 청구항 제 17항 중의 어느 한 항에 따른 방법을 실행시키기 위한 프로그램이 기록된, 컴퓨터에서 판독 가능한 기록매체.
  20. 프로그래밍이 가능한 블록체인으로서,
    청구항 제 1항 내지 청구항 제 9항 중의 어느 한 항에 따른 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 블록체인.
  21. 서비스제공자 서버, 사용자 단말 및 블록체인과 네트워크로 연결된 인증서버로서,
    청구항 제 10항 내지 청구항 제 17항 중의 어느 한 항에 따른 방법을 실행시키기 위한 프로그램에 의해 동작하는 것을 특징으로 하는, 인증서버.
KR1020170064393A 2017-05-24 2017-05-24 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템 KR102016730B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170064393A KR102016730B1 (ko) 2017-05-24 2017-05-24 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170064393A KR102016730B1 (ko) 2017-05-24 2017-05-24 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20180129027A true KR20180129027A (ko) 2018-12-05
KR102016730B1 KR102016730B1 (ko) 2019-09-03

Family

ID=64743721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170064393A KR102016730B1 (ko) 2017-05-24 2017-05-24 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102016730B1 (ko)

Cited By (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711849A (zh) * 2018-12-29 2019-05-03 北京金山安全软件有限公司 以太坊地址画像生成方法、装置、电子设备及存储介质
CN110062041A (zh) * 2019-04-12 2019-07-26 深圳前海微众银行股份有限公司 一种基于区块链的iot设备变更的方法及装置
KR102003272B1 (ko) * 2019-04-10 2019-10-01 (주)지란지교시큐리티 블록체인 기반 스캠 메일 방지 메일게이트웨이용 프로그램, 단말용 프로그램, 블록체인 서비스용 서버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 및 그 시스템
CN110443076A (zh) * 2019-08-07 2019-11-12 瑞资(北京)科技有限公司 基于实名区块链的存证方法和系统
KR102053253B1 (ko) * 2019-04-23 2019-12-06 한화시스템(주) 전술환경에서 블록체인에 기반한 정보 관리 방법
KR102116235B1 (ko) * 2019-03-15 2020-05-28 주식회사 코인플러그 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
CN111241584A (zh) * 2020-01-15 2020-06-05 成都理工大学 一种基于区块链的学生成绩管理方法
CN111541713A (zh) * 2020-05-08 2020-08-14 国网电子商务有限公司 基于区块链和用户签名的身份认证方法及装置
KR102149706B1 (ko) * 2019-03-22 2020-08-31 현대페이(주) 블록체인을 이용한 전자 서명 기반의 사용자 인증 처리 장치 및 그 동작 방법
KR20200102262A (ko) * 2019-02-21 2020-08-31 데이터얼라이언스 주식회사 블록체인 플랫폼 기반 서비스 시스템 및 방법
KR102162044B1 (ko) * 2019-03-26 2020-10-06 주식회사 서우에스앤씨 블록체인 기반의 사용자 인증 방법 및 그 시스템
WO2020211629A1 (zh) * 2019-04-16 2020-10-22 深圳前海微众银行股份有限公司 一种基于区块链的短链接消息监听方法及装置
US20200387627A1 (en) * 2019-06-04 2020-12-10 Digital Asset Holdings, LLC Multi-user database system and method
KR20210001034A (ko) 2019-06-26 2021-01-06 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210001036A (ko) 2019-06-26 2021-01-06 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210001037A (ko) 2019-06-26 2021-01-06 넷마블 주식회사 글로벌 인증 계정 시스템
CN112261659A (zh) * 2020-10-20 2021-01-22 北京字节跳动网络技术有限公司 终端和服务器的控制方法、装置、终端和存储介质
KR20210015995A (ko) 2021-01-28 2021-02-10 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210016591A (ko) 2021-01-27 2021-02-16 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210039920A (ko) * 2019-10-02 2021-04-12 주식회사 디젠트아이디 본인 인증을 수행하는 이동 통신 단말기, 본인 인증 시스템, 및 이동 통신 단말기를 이용한 본인 인증 방법
WO2021071157A1 (en) * 2019-10-07 2021-04-15 Samsung Electronics Co., Ltd. Electronic device and method for managing blockchain address using the same
KR20210049421A (ko) * 2019-10-25 2021-05-06 주식회사 락키 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법, 그 방법이 적용된 시스템
CN112785318A (zh) * 2021-01-16 2021-05-11 苏州浪潮智能科技有限公司 基于区块链的透明供应链认证方法、装置、设备及介质
KR20210055272A (ko) 2019-11-07 2021-05-17 순천향대학교 산학협력단 허가형 블록체인에서 익명 프로토콜 기반의 사용자 인증 시스템 및 방법, 이를 수행하기 위한 기록 매체
KR20210056866A (ko) * 2019-11-11 2021-05-20 서강대학교산학협력단 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법
CN113221165A (zh) * 2021-05-11 2021-08-06 支付宝(杭州)信息技术有限公司 一种基于区块链的用户要素认证方法及装置
KR20210132526A (ko) 2020-04-27 2021-11-04 주식회사 시큐어링크 계층 블록체인을 이용한 인증 및 정책 관리 방법
CN114866595A (zh) * 2022-04-02 2022-08-05 深圳力维智联技术有限公司 连接方法、端站数据采集器、管理平台
WO2022196850A1 (ko) * 2021-03-15 2022-09-22 블록체인랩스 주식회사 백신 접종 디지털 인증서를 발급하고 증명하는 방법 및 그 시스템
KR20220141058A (ko) * 2021-04-12 2022-10-19 세종대학교산학협력단 데이터 관리 방법과 이를 수행하기 위한 컴퓨팅 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102357595B1 (ko) 2020-04-21 2022-01-28 백석대학교산학협력단 가로채기 해킹 공격 방지를 위한 블록체인 기반 인증 시스템 및 방법
KR102393403B1 (ko) * 2021-10-28 2022-04-29 차경운 소프트웨어 멀티 소유권 계정 관리 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188029A (ja) * 2010-03-04 2011-09-22 Fujitsu Ltd 電子署名装置、電子署名方法及びコンピュータプログラム
KR101590076B1 (ko) 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR101637863B1 (ko) * 2016-01-05 2016-07-08 주식회사 코인플러그 본인인증용 정보 보안 전송시스템 및 방법
KR20160085143A (ko) * 2015-01-07 2016-07-15 주식회사 케이티 익명 서비스 제공 방법 및 사용자 정보 관리 방법 및 이를 위한 시스템
KR101661933B1 (ko) * 2015-12-16 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
US20160335533A1 (en) * 2015-05-15 2016-11-17 Joshua P. Davis System and Method for an Autonomous Entity

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011188029A (ja) * 2010-03-04 2011-09-22 Fujitsu Ltd 電子署名装置、電子署名方法及びコンピュータプログラム
KR20160085143A (ko) * 2015-01-07 2016-07-15 주식회사 케이티 익명 서비스 제공 방법 및 사용자 정보 관리 방법 및 이를 위한 시스템
US20160335533A1 (en) * 2015-05-15 2016-11-17 Joshua P. Davis System and Method for an Autonomous Entity
KR101590076B1 (ko) 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR101661933B1 (ko) * 2015-12-16 2016-10-05 주식회사 코인플러그 블록체인을 기반으로 하는 공인인증서 인증시스템 및 이를 이용한 인증방법
KR101637863B1 (ko) * 2016-01-05 2016-07-08 주식회사 코인플러그 본인인증용 정보 보안 전송시스템 및 방법

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711849A (zh) * 2018-12-29 2019-05-03 北京金山安全软件有限公司 以太坊地址画像生成方法、装置、电子设备及存储介质
CN109711849B (zh) * 2018-12-29 2021-10-26 北京金山安全软件有限公司 以太坊地址画像生成方法、装置、电子设备及存储介质
KR20200102262A (ko) * 2019-02-21 2020-08-31 데이터얼라이언스 주식회사 블록체인 플랫폼 기반 서비스 시스템 및 방법
KR102116235B1 (ko) * 2019-03-15 2020-05-28 주식회사 코인플러그 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2020189926A1 (ko) * 2019-03-15 2020-09-24 주식회사 코인플러그 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR102149706B1 (ko) * 2019-03-22 2020-08-31 현대페이(주) 블록체인을 이용한 전자 서명 기반의 사용자 인증 처리 장치 및 그 동작 방법
KR102162044B1 (ko) * 2019-03-26 2020-10-06 주식회사 서우에스앤씨 블록체인 기반의 사용자 인증 방법 및 그 시스템
KR102003272B1 (ko) * 2019-04-10 2019-10-01 (주)지란지교시큐리티 블록체인 기반 스캠 메일 방지 메일게이트웨이용 프로그램, 단말용 프로그램, 블록체인 서비스용 서버 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체 및 그 시스템
CN110062041A (zh) * 2019-04-12 2019-07-26 深圳前海微众银行股份有限公司 一种基于区块链的iot设备变更的方法及装置
WO2020211629A1 (zh) * 2019-04-16 2020-10-22 深圳前海微众银行股份有限公司 一种基于区块链的短链接消息监听方法及装置
KR102053253B1 (ko) * 2019-04-23 2019-12-06 한화시스템(주) 전술환경에서 블록체인에 기반한 정보 관리 방법
US20200387627A1 (en) * 2019-06-04 2020-12-10 Digital Asset Holdings, LLC Multi-user database system and method
KR20210001034A (ko) 2019-06-26 2021-01-06 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210001036A (ko) 2019-06-26 2021-01-06 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210001037A (ko) 2019-06-26 2021-01-06 넷마블 주식회사 글로벌 인증 계정 시스템
CN110443076B (zh) * 2019-08-07 2021-06-01 瑞资(北京)科技有限公司 基于实名区块链的存证方法和系统
CN110443076A (zh) * 2019-08-07 2019-11-12 瑞资(北京)科技有限公司 基于实名区块链的存证方法和系统
KR20210039920A (ko) * 2019-10-02 2021-04-12 주식회사 디젠트아이디 본인 인증을 수행하는 이동 통신 단말기, 본인 인증 시스템, 및 이동 통신 단말기를 이용한 본인 인증 방법
WO2021071157A1 (en) * 2019-10-07 2021-04-15 Samsung Electronics Co., Ltd. Electronic device and method for managing blockchain address using the same
US11621855B2 (en) 2019-10-07 2023-04-04 Samsung Electronics Co., Ltd. Electronic device and method for managing blockchain address using the same
KR20210049421A (ko) * 2019-10-25 2021-05-06 주식회사 락키 블록체인 키를 이용한 사용자 인증 기반의 요청 처리 방법, 그 방법이 적용된 시스템
KR20210055272A (ko) 2019-11-07 2021-05-17 순천향대학교 산학협력단 허가형 블록체인에서 익명 프로토콜 기반의 사용자 인증 시스템 및 방법, 이를 수행하기 위한 기록 매체
KR20210056866A (ko) * 2019-11-11 2021-05-20 서강대학교산학협력단 블록체인을 기반으로 한 클라우드 데이터 저장 시스템 및 데이터 저장 방법
CN111241584A (zh) * 2020-01-15 2020-06-05 成都理工大学 一种基于区块链的学生成绩管理方法
KR20210132526A (ko) 2020-04-27 2021-11-04 주식회사 시큐어링크 계층 블록체인을 이용한 인증 및 정책 관리 방법
CN111541713A (zh) * 2020-05-08 2020-08-14 国网电子商务有限公司 基于区块链和用户签名的身份认证方法及装置
CN112261659A (zh) * 2020-10-20 2021-01-22 北京字节跳动网络技术有限公司 终端和服务器的控制方法、装置、终端和存储介质
CN112261659B (zh) * 2020-10-20 2024-01-09 北京字节跳动网络技术有限公司 终端和服务器的控制方法、装置、终端和存储介质
CN112785318B (zh) * 2021-01-16 2022-05-17 苏州浪潮智能科技有限公司 基于区块链的透明供应链认证方法、装置、设备及介质
CN112785318A (zh) * 2021-01-16 2021-05-11 苏州浪潮智能科技有限公司 基于区块链的透明供应链认证方法、装置、设备及介质
KR20210016591A (ko) 2021-01-27 2021-02-16 넷마블 주식회사 글로벌 인증 계정 시스템
KR20210015995A (ko) 2021-01-28 2021-02-10 넷마블 주식회사 글로벌 인증 계정 시스템
WO2022196850A1 (ko) * 2021-03-15 2022-09-22 블록체인랩스 주식회사 백신 접종 디지털 인증서를 발급하고 증명하는 방법 및 그 시스템
KR20220141058A (ko) * 2021-04-12 2022-10-19 세종대학교산학협력단 데이터 관리 방법과 이를 수행하기 위한 컴퓨팅 장치
CN113221165B (zh) * 2021-05-11 2022-04-22 支付宝(杭州)信息技术有限公司 一种基于区块链的用户要素认证方法及装置
CN113221165A (zh) * 2021-05-11 2021-08-06 支付宝(杭州)信息技术有限公司 一种基于区块链的用户要素认证方法及装置
CN114866595A (zh) * 2022-04-02 2022-08-05 深圳力维智联技术有限公司 连接方法、端站数据采集器、管理平台
CN114866595B (zh) * 2022-04-02 2024-02-27 深圳力维智联技术有限公司 连接方法、端站数据采集器、管理平台

Also Published As

Publication number Publication date
KR102016730B1 (ko) 2019-09-03

Similar Documents

Publication Publication Date Title
KR102016730B1 (ko) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자 인증 방법 및 시스템
KR101974452B1 (ko) 프로그래밍이 가능한 블록체인과 통합 아이디 기반의 사용자정보 관리 방법 및 시스템
JP7181539B2 (ja) 利用者識別認証データを管理する方法および装置
US11900368B2 (en) Method and system for zero-knowledge and identity based key management for decentralized applications
CN109951489B (zh) 一种数字身份认证方法、设备、装置、系统及存储介质
US10673632B2 (en) Method for managing a trusted identity
US10885501B2 (en) Accredited certificate issuance system based on block chain and accredited certificate issuance method based on block chain using same, and accredited certificate authentication system based on block chain and accredited certificate authentication method based on block chain using same
CN100533456C (zh) 安全代码生成方法和使用方法及用于其的可编程设备
JP6586446B2 (ja) 通信端末および関連システムのユーザーの識別情報を確認するための方法
KR102177848B1 (ko) 액세스 요청을 검증하기 위한 방법 및 시스템
EP3509006A1 (en) Information sharing system
US10999276B2 (en) Industrial internet encryption system
CN107181714B (zh) 基于业务码的验证方法和装置、业务码的生成方法和装置
CN112437938A (zh) 用于区块链地址和所有者验证的系统和方法
CN102782694A (zh) 用于数据安全设备的事务审计
JPWO2007094165A1 (ja) 本人確認システムおよびプログラム、並びに、本人確認方法
KR102131206B1 (ko) 법인 관련 서비스 제공 방법, 이를 지원하는 방법, 이를 수행하는 서비스 서버 및 인증 서버
JP2023535013A (ja) 量子安全支払いシステム
US20230336366A1 (en) Authentication system and method
US20140013116A1 (en) Apparatus and method for performing over-the-air identity provisioning
CN101124767A (zh) 密钥生成以及证明真实性的方法和设备
KR20160121231A (ko) 이중 암호화를 이용한 사용자 인증 방법과 시스템 및 기록매체
CN101944216A (zh) 双因子在线交易安全认证方法及系统
JP2014134881A (ja) 権限委譲管理システム及びその方法
CN111541708B (zh) 一种基于电力配电的身份认证方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant