KR101816650B1 - 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버 - Google Patents

계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버 Download PDF

Info

Publication number
KR101816650B1
KR101816650B1 KR1020170023149A KR20170023149A KR101816650B1 KR 101816650 B1 KR101816650 B1 KR 101816650B1 KR 1020170023149 A KR1020170023149 A KR 1020170023149A KR 20170023149 A KR20170023149 A KR 20170023149A KR 101816650 B1 KR101816650 B1 KR 101816650B1
Authority
KR
South Korea
Prior art keywords
information
authentication
user
public key
application
Prior art date
Application number
KR1020170023149A
Other languages
English (en)
Inventor
어준선
홍재우
현상훈
이주민
Original Assignee
주식회사 코인플러그
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코인플러그 filed Critical 주식회사 코인플러그
Priority to KR1020170023149A priority Critical patent/KR101816650B1/ko
Application granted granted Critical
Publication of KR101816650B1 publication Critical patent/KR101816650B1/ko
Priority to PCT/KR2018/000915 priority patent/WO2018155822A1/ko
Priority to CN201880006836.9A priority patent/CN110291757B/zh
Priority to CA3053316A priority patent/CA3053316C/en
Priority to US16/546,143 priority patent/US10783260B2/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • 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
    • 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
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • H04L67/26
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3239Cryptographic 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 cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration
    • H04L2209/38
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Power Engineering (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명에 따르면 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 PKI(public key infrastructure) 기반의 인증을 통해 로그인을 대행하는 방법이 제공된다. 본 발명의 방법에 따르면, 사용자 단말에 의하여 실행되는 인증 애플리케이션을 통한 로그인의 대행을 요청하는 정보인 인증 요청 정보가 상기 사용자 단말에 의하여 실행되는 서비스 제공 애플리케이션으로부터 획득되면, 상기 서비스 제공 서버가, 상기 로그인의 대행이 가능한지 여부를 판정한 결과인 인증 요청 응답 정보를 상기 서비스 제공 애플리케이션에 전달하고, 상기 서비스 제공 애플리케이션의 인증 리다이렉션 요청(authentication redirection request)이 상기 인증 애플리케이션에 전달된 후, 상기 인증 애플리케이션으로부터 인증 서버에 의하여 생성된 가변 인증값을 포함하는 서버 챌린지 요청 정보가 획득되면, 상기 서비스 제공 서버가, 상기 서버 챌린지 요청 정보에 대응되는 서버 챌린지 요청 응답 정보를 상기 인증 애플리케이션에 전달함으로써 상기 인증 서버로 하여금 상기 서비스 제공 서버의 인증서인 서버 인증서 및 상기 인증 애플리케이션의 인증서인 애플리케이션 인증서가 유효한지 여부를 판정하도록 지원하며, 상기 인증 서버로부터 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효한지 여부를 포함하는 인증 결과 메시지가 획득되고, 상기 인증 결과 메시지가 상기 서버 인증서 및 상기 애플리케이션 인증서가 유효함을 나타내는 인증 성공 메시지라면, 상기 서비스 제공 서버가, 상기 서비스 제공 애플리케이션에 소정의 접근 토큰(access token)을 전달하여 상기 서비스 제공 애플리케이션으로 하여금 상기 접근 토큰을 통하여 상기 서비스를 이용할 수 있도록 지원함으로써 상기 로그인을 처리한다. 또한, 본 발명에 따르면 이 방법을 수행하기 위한 서비스 제공 서버 및 인증 서버도 제공된다.

Description

계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버{METHOD FOR PROVIDING SIMPLIFIED ACCOUNT REGISTRATION SERVICE AND AUTHENTICATION SERVICE, AND AUTHENTICATION SERVER USING THE SAME}
본 발명은 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 수행하는 인증 서버에 관한 것으로서, 더 구체적으로는, 사용자의 최초 계정의 등록이 수행되어, 최초 계정에 대응되는 제1 애플리케이션에 대하여 사용자를 식별하기 위한 제1 사용자 식별 정보로서 (i) 사용자의 인증용 개인정보, (ii) 제1 애플리케이션에 대한 사용자의 ID, (iii) 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키 및 (iv) 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 인증 서버에 연동되는 타 장치에 저장되어 있는 상태에서, 제1 애플리케이션과 상이하며 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 인증용 개인정보가 사용자 단말로부터 획득되면, 계정 등록 요청 정보 및 인증용 개인정보의 유효성을 검증하거나 타 장치로 하여금 검증하도록 지원하고, 계정 등록 요청 정보 및 인증용 개인정보가 유효하면, 계정 등록 요청 정보에 기초하여 간편 계정 등록을 수행하거나 타 장치로 하여금 수행하도록 지원하는 (1) 계정 등록의 간소화 서비스 제공 방법; 및 간편 계정 등록이 수행된 상태에서, 제2 애플리케이션을 통하여 PKI 기반의 계정 로그인을 요청하는 정보인 계정 로그인 요청 정보 및 특정 공개키가 획득되면, 계정 로그인 요청 정보 및 특정 공개키의 유효성을 판정하거나 타 장치로 하여금 판정하도록 지원하고, 계정 로그인 요청 정보 및 특정 공개키가 유효하면, 제2 사용자 식별 정보에 기초하여 계정 로그인을 수행하거나 타 장치로 하여금 수행하도록 지원하는 (2) 사용자 인증 방법; 과 이 방법들을 수행하는 인증 서버에 관한 것이다.
보통, 특정 기관(entity; 엔티티) 또는 다수의 기관이 복수개의 서비스를 출시하는 경우, 예컨대, 복수개의 애플리케이션(application; app; 앱)을 출시하는 경우에 사용자는 애플리케이션 별로 서로 다른 로그인(login)이나 사인업(signup)을 해야 하는 번거로움이 있다.
이를 해결하기 위한 하나의 수단으로서, 종래에 사용자 개인 계정의 로그인을 대행하는 서비스로서 OAuth 2.0와 같은 웹, 모바일, 및 데스크톱 애플리케이션 등에서 표준화된 인증 방식을 이용하는 경우가 있다.
하지만 서비스 제공자의 입장에서 이와 같은 로그인 대행이 늘 적용될 수 있다고는 보기 어렵다. 로그인 대행은 타 기관에 등록된 사용자 정보에 관한 신뢰가 기초되어야 하기 때문이다. 뿐만 아니라 개별 서비스의 운영 상 개별 사용자에 대하여 자체 계정이 마련되어 있어야 하는 경우를 얼마든지 상정할 수 있을 것이다. 예컨대, 쇼핑몰과 같은 경우에는 늘 개별 사용자의 배송 주소지의 진위, 결제 금액의 확정, 결제의 완료 여부가 늘 트래킹(tracking)되어야 할 필요가 있을 것이며, 쇼핑몰을 운영하는 주체는 로그인 대행을 통하여 이와 같은 정보들의 진위를 외부 기관에 맡길 수는 없는 노릇이다.
따라서 전술한 로그인의 대행이 아닌 다른 수단으로서, 단순하고 안전한 계정 등록의 간소화 방안이 요청된다.
그와 같은 간소화 방안으로서 본 발명자는 하나의 애플리케이션의 인증을 통하여 계정을 등록받았으면, 그 애플리케이션을 통하여 이루어진 인증 정보를 이용하여 제3의 애플리케이션에 대하여도, 입력하기에 복잡하며 누출되면 여러 문제가 발생할 소지가 있는 개인 정보의 입력 없이도 사용자 개인의 PIN 번호 및 푸시 메시지(push message)를 통하여 전송된 가변 인증 정보만을 이용하여 간단하고, 안전하게 제3의 애플리케이션에 대한 등록 절차를 완료할 수 있게 하는 방법을 제안하고자 한다.
본 발명은 상술한 간단하고 안전한 간편 계정 등록 서비스를 제공하기 위한 방법 및 서버를 제공하고자 하는 것으로서, 본 발명의 목적은 보안성이 강하면서도 간편하게 기존의 반복적인 계정 등록 방식을 대체할 수 있는 기술 방안을 제공하는 데 있다.
근래에 시장에서 판매되고 있는 통상적인 모바일 단말 기기의 운영체제(operating system)는 보안을 이유로 애플리케이션이 타 애플리케이션을 포함한 다양한 정보에 접근하지 못하게 하는 방식(예컨대 애플(Apple)社의 iOS가 채택하고 있는 샌드박스(sandbox)의 방식)으로 애플리케이션 간의 정보 공유가 어려워지면서 보안성은 높아지나 사용성이 낮아지는 경향을 보이고 있다.
따라서, 본 발명은 여러 애플리케이션의 계정 등록 시에 사용성의 저하를 방지하면서도 보안성을 높이 유지하고 하나의 애플리케이션에 대응되는 이미 인증된 계정의 신뢰성을 다른 애플리케이션의 계정 등록 시에도 활용할 수 있도록 하는 것을 목적으로 한다.
상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특징적인 효과를 실현하기 위한, 본 발명의 특징적인 구성은 하기와 같다.
본 발명의 일 태양에 따르면, 계정 등록의 간소화 서비스를 제공하는 방법이 제공되는바, 그 방법은, (a) 사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제1 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키 및 (iv) 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장되어 있는 상태에서, 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 상기 인증용 개인정보가 상기 사용자 단말로부터 획득되면, 상기 인증 서버가, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계; 및 (b) 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하면, 상기 인증 서버가, 상기 계정 등록 요청 정보에 기초하여 상기 간편 계정 등록을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 단계를 포함하고, 상기 (b) 단계는, (b1) 상기 인증 서버가, 가변 인증용 정보를 상기 제1 공개키로 인코딩한 값인 가변 인증용 암호화 정보를 상기 사용자 단말로부터 획득된 상기 인증용 개인정보와 대응되는 상기 제1 푸시 알림 ID를 이용하여 상기 제1 애플리케이션에 전달함으로써 상기 제1 애플리케이션으로 하여금 상기 제1 공개키에 대응되는 제1 개인키로써 상기 가변 인증용 암호화 정보를 디코딩한 값인 상기 가변 인증용 정보를 상기 사용자에게 디스플레이하도록 지원하는 단계; (b2) 상기 가변 인증용 정보가 상기 제2 애플리케이션에 의하여 획득되어 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소(Secure Element; SE)에서 상기 PKI 기반의 키 쌍(key pair)인 제2 공개키 및 제2 개인키가 생성된 후, 상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID가 획득되면, 상기 인증 서버가, 상기 가변 인증용 정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계; 및 (b3) 상기 가변 인증용 정보가 유효하면, 상기 인증 서버가, 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 단계를 포함한다.
본 발명의 다른 태양에 따르면, 등록된 계정을 이용하여 사용자를 인증하는 방법이 제공되는바, 그 방법은, (1) 사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제1 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키 및 (iv) 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장된 후, (2) 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 상기 인증용 개인정보가 획득되고, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하여, (3) 제1 가변 인증용 정보를 상기 제1 공개키로 인코딩한 값인 제1 가변 인증용 암호화 정보가 상기 인증 서버에 의하여 상기 제1 애플리케이션에 전달됨으로써 상기 제1 공개키에 대응되는 제1 개인키로써 상기 제1 가변 인증용 암호화 정보를 디코딩한 값인 상기 제1 가변 인증용 정보가 상기 제1 애플리케이션에 의하여 상기 사용자에게 디스플레이되고, (4) 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소에서 상기 PKI 기반의 키 쌍(key pair)인 제2 공개키 및 제2 개인키가 생성되고 나서, 상기 인증 서버에 의하여 상기 제2 애플리케이션으로부터 상기 제1 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID가 획득되고, 상기 제1 가변 인증용 정보가 유효한 것으로 검증되어, (5) 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보로서, (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제2 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 제2 공개키 및 (iv) 상기 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID를 포함하는 정보가 상기 인증 서버 또는 상기 타 장치에 저장됨으로써 상기 간편 계정 등록이 수행되어 있는 상태에서, (a) 상기 제2 애플리케이션을 통하여 상기 PKI 기반의 계정 로그인을 요청하는 정보인 계정 로그인 요청 정보 및 특정 공개키가 획득되면, 상기 인증 서버가, 상기 계정 로그인 요청 정보 및 상기 특정 공개키의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계; (b) 상기 계정 로그인 요청 정보 및 상기 특정 공개키가 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 단계를 포함한다.
또한, 본 발명의 또 다른 태양들에 따르면, 상기의 방법들을 수행하기 위한 서비스 제공 서버 및 인증 서버가 제공된다.
본 발명의 방법에 의하면, 보안성이 강하면서도 간편하게 계정 등록을 등록할 수 있는 효과가 있다.
또한, 본 발명의 방법에 의하면, 고수준의 암호화, 서명, 검증을 통한 높은 보안 수준이 제공되는 효과가 있다.
본 발명의 실시예의 설명에 이용되기 위하여 첨부된 아래 도면들은 본 발명의 실시예들 중 단지 일부일 뿐이며, 본 발명이 속한 기술분야에서 통상의 지식을 가진 사람(이하 “통상의 기술자”라 지칭함)에게 있어서는 발명적 작업이 이루어짐 없이 이 도면들에 기초하여 다른 도면들이 얻어질 수 있다.
도 1은 본 발명의 제1 내지 제3 실시예에 따라 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법을 수행하는 인증 서버 및 사용자 단말의 예시적 구성을 개략적으로 도시한 개념도이다.
도 2는 본 발명의 제1 실시예에 따라 계정 등록의 간소화 서비스를 제공하는 방법을 예시적으로 나타낸 시퀀스 다이어그램(sequence diagram)이다.
도 3은 본 발명의 제2 및 제3 실시예에 따라 계정 등록의 간소화 서비스를 제공하는 방법을 예시적으로 나타낸 시퀀스 다이어그램이다.
도 4 및 도 5는 본 발명의 제3 실시예에 따라 인증 정보 트랜잭션의 정보가 블록체인 데이터베이스에 기록되는 과정을 개략적으로 도시한 개념도이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명의 목적들, 기술적 해법들 및 장점들을 분명하게 하기 위하여 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 통상의 기술자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다.
본 명세서에서 “데이터베이스”라고 함은, 체계화된 데이터, 즉 통합 관리되는 정보의 집합 및 이를 관리하는 시스템을 의미하는바, 일반 관계형 데이터베이스, 몽고 데이터베이스(MongoDB), 및 블록체인 데이터베이스 중 적어도 일부를 포함하나 이에 한정되지 않는다. 본 명세서에서는 설명의 편의상, 가상 화폐의 블록체인 데이터베이스를 설명하고 있으나 다른 종류의 데이터베이스에도 변형 실시될 수 있음을 통상의 기술자는 이해할 수 있을 것이다.
본 명세서에서 “퍼블릭 블록체인 데이터베이스”라고 함은, 가상 화폐의 블록체인으로서 공공에 널리 이용되고 있는 블록체인인 퍼블릭 블록체인을 관장하는 가상 화폐 시스템 상의 모든 컴퓨팅 장치들을 데이터베이스로서 활용하는 것을 지칭한다.
또한, 본 명세서에서 “프라이빗 블록체인 데이터베이스”라고 함은, 가상 화폐의 블록체인을 이용하되, 상기 공공에 이용되는 퍼블릭 블록체인이 아닌 본 발명에 따른 인증 서버가 직접 관리하는 이른바, 독자 구성된 프라이빗 블록체인을 이용하는 데이터베이스를 지칭한다.
상기 가상 화폐는 블록체인 기술이 적용된 전자 지갑을 기반으로 하는 트랜잭션(transaction)에 의하여 유통되는 디지털 화폐를 지칭하는바, 가상 화폐에는 비트코인, 라이트코인, 다크코인, 네임코인, 도기코인 및 리플 등이 있다.
또한, 본 발명의 상세한 설명 및 청구항들에 걸쳐, ‘포함하다’라는 단어 및 그것의 변형은 다른 기술적 특징들, 부가물들, 구성요소들 또는 단계들을 제외하는 것으로 의도된 것이 아니다. 통상의 기술자에게 본 발명의 다른 목적들, 장점들 및 특성들이 일부는 본 설명서로부터, 그리고 일부는 본 발명의 실시로부터 드러날 것이다. 아래의 예시 및 도면은 실례로서 제공되며, 본 발명을 한정하는 것으로 의도된 것이 아니다.
더욱이 본 발명은 본 명세서에 표시된 실시예들의 모든 가능한 조합들을 망라한다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
본 발명의 제1 실시예는, 인증 서버 외에 전술한 블록체인 데이터베이스의 추가 구성 없이 본 발명에 따른 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 실시예이다.
본 발명의 제2 실시예는, 가상 화폐의 UTXO(unspent transaction output)를 이용하여 블록체인 데이터베이스 상에 계정에 관한 정보를 기록하고, 이를 통하여 상기 계정 등록 및 사용자 인증을 수행하는 방식으로 구성되는 실시예이다.
본 발명의 제3 실시예는, 가상 화폐의 UTXO를 이용하여, 상기 계정에 관한 정보로서 트랜잭션을 제1 블록체인 데이터베이스에 기록한 후, 그 제1 블록체인 데이터베이스에 기록된 트랜잭션들로부터 생성되는 대표 해시값을 제2 블록체인 데이터베이스에 기록함으로써 이중으로 기록의 무결성을 도모하는 앵커링(anchoring) 방식으로 구성되는 실시예이다.
참고로, 본 발명에서 상기 제1 블록체인 데이터베이스가 데이터가 직접 기록되는 블록체인 데이터베이스라고 한다면, 상기 제2 블록체인 데이터베이스는 데이터의 무결성을 위하여 상기 제1 블록체인 데이터베이스를 거쳐 간접적으로 기록되는 블록체인 데이터베이스라고 할 수 있다.
본 명세서에서 달리 표시되거나 분명히 문맥에 모순되지 않는 한, 단수로 지칭된 항목은, 그 문맥에서 달리 요구되지 않는 한, 복수의 것을 아우른다. 이하, 통상의 기술자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명에 따라 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법을 수행하는 인증 서버 및 사용자 단말의 예시적 구성을 개략적으로 도시한 개념도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 인증 서버 및 사용자 단말은 전형적으로 컴퓨팅 장치(100)(예컨대, 컴퓨터 프로세서, 메모리, 스토리지, 입력 장치 및 출력 장치, 기타 기존의 컴퓨팅 장치의 구성요소들을 포함할 수 있는 장치; 라우터, 스위치 등과 같은 전자 통신 장치; 네트워크 부착 스토리지(NAS) 및 스토리지 영역 네트워크(SAN)와 같은 전자 정보 스토리지 시스템)로서, 컴퓨터 소프트웨어(즉, 컴퓨팅 장치로 하여금 특정의 방식으로 기능하게 하는 인스트럭션들)의 조합을 이용하여 본 발명에 따른 방법을 수행하는 것일 수 있는바, 그러한 컴퓨팅 장치(100)는 통신부(110), 프로세서(120)를 포함하며, 서로 간접 또는 직접적으로 통신할 수 있다.
이와 같은 컴퓨팅 장치의 통신부(110)는 연동되는 타 컴퓨팅 장치와 요청과 응답을 송수신할 수 있는바, 일 예시로서 그러한 요청과 응답은 동일한 TCP 세션에 의하여 이루어질 수 있지만, 이에 한정되지는 않는바, 예컨대 UDP 데이터그램으로서 송수신될 수도 있을 것이다.
또한 컴퓨팅 장치의 프로세서(120)는 MPU(Micro Processing Unit) 또는 CPU(Central Processing Unit), 캐쉬 메모리(Cache Memory), 데이터 버스(Data Bus) 등의 하드웨어 구성을 포함할 수 있다. 또한, 운영체제, 특정 목적을 수행하는 애플리케이션의 소프트웨어 구성을 더 포함할 수도 있다.
본 발명의 방법을 실시하기 위한 사용자 단말은, 보통, 스마트 폰(smartphone)을 의미하나 이에 한정되지 않으며 상기 사용자 단말에는 인증 서버에 의한 간편 계정 등록 서비스 및 사용자 인증 서비스를 제공할 수 있는 기능을 가진 단말이라면 어느 단말이라도 포함될 수 있을 것이다.
제1 실시예
이제 본 발명에 따라 로그인을 대행하는 방법을 제1 실시예부터 설명하기로 한다.
도 2는 본 발명에 따라 계정 등록의 간소화 서비스를 제공하는 방법(이하 “간편 계정 등록 방법”이라 함)을 예시적으로 나타낸 시퀀스 다이어그램(sequence diagram)이다.
도 2를 참조하면, 본 발명의 제1 실시예에 따른 간편 계정 등록 방법은, 사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제1 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키 및 (iv) 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장되어 있는 상태에서 수행된다. 여기에서 상기 인증용 개인정보는, 상기 사용자를 다른 사용자와 구별해내기 위한 정보로서, 일 예시로 상기 사용자 단말에 대응되는 전화번호일 수 있으나, 이에 한정되지는 않는다.
제1 실시예의 간편 계정 등록 방법을 설명하기에 앞서 상기 최초 계정의 등록이 수행된 과정을 하기에서 간략하게 설명한다.
우선, 최초 계정의 등록 시에 상기 사용자 단말에 의하여 실행되는 제1 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 최초 계정 등록을 요청하는 정보인 최초 계정 등록 요청 정보를 획득한 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 의하여 상기 최초 계정 등록 요청 정보가 유효한 것으로 검증되어 그 최초 계정 등록 요청 정보에 기초하여 상기 최초 계정 등록이 수행될 수 있다. 통상적으로 최초 계정 등록 요청 정보 및 최초 계정 등록을 위하여 사용자가 제시하는 개인 정보의 진위는, 이른바 휴대폰 본인 인증, 또는 전화 확인 등의 비대면 인증 등을 거쳐 판단될 수도 있으며, 이때 정상적인 사용자의 정상적인 최초 계정 등록의 요청으로 판단한 애플리케이션 서비스의 운영자 또는 인증 서버의 운영자에 의하여 상기 최초 계정 등록 요청이 유효한 것으로 검증될 수도 있을 것이다.
특히, 그 최초 계정 등록의 수행 시에 최초 계정 등록 수행 과정에 부수하는 절차로서, 상기 인증 서버는 상기 사용자 단말로 하여금 상기 사용자 단말에 포함된 보안 요소에 상기 PKI 기반의 키 쌍(key pair)인 공개키 및 개인키를 생성하도록 지원함으로써, 상기 인증 서버는 생성된 상기 공개키를 상기 사용자 단말로부터 획득하고, 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 획득할 수 있다. 이때 상기 제1 애플리케이션에 대하여 지정된 PIN 번호가 함께 획득될 수도 있다. 이 획득된 정보들이 상기 인증 서버 또는 상기 타 장치에 저장됨으로써 전술한 (i) 상기 인증용 개인정보, (ii) 상기 제1 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 제1 공개키 및 (iv) 상기 제1 푸시 알림 ID를 포함하는 정보가 저장되어 있는 상태가 되어 최초 계정의 등록 절차가 완료된다.
여기에서 본 발명에서 이용되는 PKI 기반의 암호화 방식을 간략하게 설명하자면, 본 발명의 방법을 수행하는 주체들 간에 송수신되는 정보는 송신하는 측이 송신하고자 하는 정보는 수신하는 측의 공개키(public key)를 이용하여 인코딩(encoding)될 수 있다. 수신하는 측에서는 그 인코딩된 정보를 수신하는 측의 개인키(private key)를 이용하여 디코딩(decoding)함으로써 송신하고자 하는 정보가 획득될 수 있는바, 통상의 기술자는 이와 같은 암호화 방식이 본 발명의 방법을 수행함에 있어서 어떠한 단계에 적용될 수 있는지를 잘 이해할 수 있을 것이다. 다만, 송신하고자 하는 정보가 반드시 수신하는 측의 공개키(public key)를 이용하여 인코딩(encoding)되는 것은 아닐 것이다. 가령 잘 알려진 대칭키 암호화 방식(symmetric-key algorithm)이 이용될 수도 있을 것이다.
이제 다시 도 2를 참조하면, 본 발명의 제1 실시예에 따른 간편 계정 등록 방법은, 위와 같이 최초 계정의 등록 절차가 완료되어 있는 상태에서 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션(S205)을 통하여 PKI 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보(S210) 및 상기 인증용 개인정보(S215)가 상기 사용자 단말로부터 획득(S220)되면, 상기 인증 서버가, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계(S225 내지 S235; 도 2에 미도시, 도 3 참조)를 포함한다.
여기에서 상기 계정 등록 요청 정보 및 상기 인증용 개인정보의 유효성의 검증은, 예컨대 상기 계정 등록 요청 정보가 미리 정해진 포맷에 부합하는지 여부, 상기 인증용 개인정보, 예컨대 사용자 단말의 전화번호에 대응되는 정보가 상기 인증 서버에 저장되어 있는지 여부, 상기 사용자 단말의 전화번호가 상기 인증 서버에 저장된 해당 전화번호와 동일한지 여부 등을 판정함으로써 수행될 수 있다. 일 예시로, 상기 계정 등록 요청 정보는 상기 인증용 개인정보에 대응되는 사용자가 상기 제2 애플리케이션에 대한 계정 등록을 요청한다는 것만을 나타내는 정보일 수도 있을 것인바, 그것과 미리 정해진 포맷이 서로 일치하는지를 체크하는 단계가 상기 검증에 포함될 수도 있을 것이다.
다음으로, 도 2를 참조하면, 제1 실시예에 따른 간편 계정 등록 방법은, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하면(S240 내지 S275), 상기 인증 서버가, 상기 계정 등록 요청 정보에 기초하여 상기 간편 계정 등록을 수행하거나 상기 타 장치로 하여금 수행하도록 지원(S280, S285; 도 2에 미도시, 도 3을 참조)하는 단계(S240 내지 S285)를 더 포함한다.
구체적으로, 상기 단계(S240 내지 S285)는, 상기 인증 서버가, 가변 인증용 정보{예컨대 소정의 랜덤 넌스(random nonce)}를 상기 제1 공개키로 인코딩한 값인 가변 인증용 암호화 정보를 상기 사용자 단말로부터 획득된 상기 인증용 개인정보와 대응되는 상기 제1 푸시 알림 ID를 이용하여 상기 제1 애플리케이션에 전달함(S240)으로써 상기 제1 애플리케이션으로 하여금 상기 제1 공개키에 대응되는 제1 개인키로써 상기 가변 인증용 암호화 정보를 디코딩한 값인 상기 가변 인증용 정보를 상기 사용자에게 디스플레이(S245)하도록 지원하는 단계(S240, S245); 상기 가변 인증용 정보가 상기 제2 애플리케이션에 의하여 획득(S250)되어 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소에서 상기 PKI 기반의 키 쌍인 제2 공개키 및 제2 개인키가 생성(S260)된 후, 상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID(S265)가 획득(S270)되면, 상기 인증 서버가, 상기 가변 인증용 정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원(S275)하는 단계(S250 내지 S275); 및 상기 가변 인증용 정보가 유효하면, 상기 인증 서버가, 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 단계(S280, S285; 도 2에 미도시, 도 3을 참조)를 포함할 수 있다.
여기에서 가변 인증용 정보는 제2 애플리케이션을 이용하는 사용자가 제1 애플리케이션도 이용할 수 있는 정당한 권한을 가지고 있는지, 예컨대 실제 제1 애플리케이션을 이용하고 있는지를 검증하기 위한 것으로서, 일회성 번호일 수 있는바, 예를 들어 임의의 시드(seed)값으로부터 생성되는 소정의 랜덤 넌스(random nonce), 즉, 랜덤값(random value)일 수도 있다. 상기 가변 인증용 정보는 소정의 랜덤 넌스(random nonce)일 수 있지만 이에 한정되지 않으며, 예컨대, 그림 파일에 관한 정보일 수도 있다.
상기 가변 인증용 정보가 그림 파일에 관한 정보인 경우에 가변 인증용 정보를 이용하여 인증이 수행되는 과정을 간략하게 설명하자면 다음과 같다. 예를 들어 참새, 코끼리, 여우, 호랑이, 닭, 돼지 각각이 그려진 그림들을 제2 애플리케이션이 가변 인증용 정보에 의한 인증을 위하여 디스플레이할 수 있는데, 제1 애플리케이션이 가변 인증용 정보에 대응하여 디스플레이하고 있는 것이 돼지의 그림이라면, 상기 사용자가 이를 보고 상기 제2 애플리케이션이 디스플레이하고 있는 그림들 중에서 돼지 그림을 선택함으로써 상기 가변 인증용 정보에 의한 인증이 이루어질 수 있을 것이다. 이때, 돼지 그림이 아닌 다른 그림을 선택한다면, 가변 인증용 정보에 의한 인증이 실패하는 것이다.
이와 같이 가변 인증용 정보를 생성하는 방법은 본 발명을 이해하는 데 있어서 불필요한 세부이므로 더 자세하게 설명되지 않을 것인바, 이는 통상의 기술자에게 알려져 있거나 용이하게 이해될 수 있을 것이다.
또한, 상기 제2 사용자 식별 정보는, 상기 제1 사용자 식별 정보와 동일하게, (i) 상기 사용자의 인증용 개인정보, (ii) 상기 계정 등록 요청 정보에 포함된 상기 제2 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 제2 공개키 및 (iv) 상기 제2 푸시 알림 ID를 포함할 수 있다.
한편, 상기 단계(S240 내지 S285)의 구체적인 실시에 따라서는, PIN 번호가 더 고려될 수도 있는데, 상기 PIN 번호는 사용자가 사용자 본인임을 증명하기 위하여 사용자 단말에 입력하는 소정의 정보로서, 일 예시로 영숫자 및 특수문자를 포함할 수 있는 패스워드일 수 있으나, 이에 한정되지는 않으며, 통상의 기술자는 상기 PIN 번호가 FIDO와 같은 생체인식 기술에서 이용되는 정보로 대체될 수도 있다는 점을 이해할 수 있을 것이다.
이와 같이 PIN 번호가 더 고려되는 실시의 경우에, 단계(S250 내지 S275)는, 상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 상기 제2 푸시 알림 ID에 추가적으로 특정 PIN 번호가 더 획득되면, 상기 인증 서버가, 상기 가변 인증용 정보 및 상기 특정 PIN 번호의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 할 수 있으며, 단계(S280, S285)는 상기 가변 인증용 정보 및 상기 특정 PIN 번호가 모두 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 것을 특징으로 할 수 있다. 특정 PIN 번호의 유효성을 판정함에 있어서는, 상기 특정 PIN 번호와 상기 사용자에 의하여 상기 제1 애플리케이션에 대하여 미리 지정된 PIN 번호가 동일하면, 상기 특정 PIN 번호가 유효한 것으로 판정될 수 있을 것이다.
계속해서, 도 2를 참조하면, 제1 실시예에 따른 간편 계정 등록 방법은, 상기 가변 인증용 정보가 유효하면, 상기 인증 서버가, 상기 간편 계정 등록이 완료되었음을 나타내는 계정 등록 완료 메시지를 계정 등록 결과 메시지로서 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 단계(S290)를 더 포함할 수도 있으나 필수적인 것은 아니다. 만약, 상기 계정 등록 요청 정보, 상기 인증용 개인정보, 또는 가변 인증용 정보가 유효하지 않다면, 상기 인증 서버는, 상기 간편 계정 등록이 완료되지 않았음을 나타내는 계정 등록 실패 메시지를 상기 계정 등록 결과 메시지로서 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원할 수도 있을 것이다.
다음으로, 전술한 간편 계정 등록 방법을 통하여 등록된 계정을 이용하여 사용자를 인증하는 방법(이하 “사용자 인증 방법”)을 설명하기로 한다. 하기에서는 전술한 제1 실시예에 따른 간편 계정 등록 방법과 동일한 세부 특징은 반복하여 설명되지 않을 것인바, 차이점만을 구체적으로 설명하기로 한다.
제1 실시예에 다른 사용자 인증 방법은, 전술한 간편 계정 등록 방법에 의하여 사용자의 최초 계정 등록 및 간편 계정 등록이 수행된 상태에서 수행되는바, 상기 제2 애플리케이션을 통하여 상기 PKI 기반의 계정 로그인을 요청하는 정보인 계정 로그인 요청 정보 및 특정 공개키가 획득되면, 상기 인증 서버가, 상기 계정 로그인 요청 정보 및 상기 특정 공개키의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계(S310; 미도시)를 포함한다.
예를 들어 상기 단계(S310)에서는 상기 제2 공개키와 상기 특정 공개키가 동일하면, 상기 특정 공개키가 유효한 것으로 판정될 수 있을 것이다.
제1 실시예에 따른 사용자 인증 방법은, 마지막으로, 상기 계정 로그인 요청 정보 및 상기 특정 공개키가 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 단계(S320; 미도시)를 더 포함한다.
상기 단계(S320)는, 예컨대, 상기 인증 서버가, 제2 가변 인증용 정보를 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원함으로써 상기 사용자 단말로 하여금 상기 보안 요소를 이용하여 상기 제2 가변 인증용 정보를 서명한 값인 제2 가변 인증용 정보 서명값을 생성하고 생성된 상기 제2 가변 인증용 정보 서명값을 상기 인증 서버에 전달하도록 지원하는 단계(S322; 미도시); 상기 인증 서버가, 전달된 상기 제2 가변 인증용 정보 서명값의 유효성을 저장되어 있는 상기 제2 공개키를 이용하여 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계(S324; 미도시), 및 상기 제2 가변 인증용 정보 서명값이 유효하면, 상기 인증 서버가, 상기 계정 로그인을 허용하거나 상기 타 장치로 하여금 허용하도록 지원하는 단계(S326; 미도시)를 포함할 수 있다.
여기에서 제2 가변 인증용 정보 서명값의 유효성을 검증하는 방식을 간략하여 설명하면 다음과 같다. 우선, 상기 제2 가변 인증용 정보 서명값에 상기 제2 공개키를 이용하여 소정의 해시값(A)을 얻을 수 있으며, 이 해시값(A)과 상기 제2 가변 인증용 정보에 소정의 해시 함수를 적용하여 얻은 결과값(B)을 상호 비교함으로써 서명의 유효성을 검증할 수 있다. 이와 같은 비교에서 상기 해시값(A)과 상기 소정의 해시 함수를 적용하여 얻은 결과값(B)이 상이하면 서명이 무효이고 동일하면 서명이 유효한 것은 이미 통상의 기술자에게 잘 알려진 바와 같은바, 통상의 기술자는 서명(여기에서는 전자 서명)의 유효성을 검증하는 방법을 잘 알 수 있을 것이다.
여기에서, 상기 해시 연산에 이용되는 해시 함수는, MD4 함수, MD5 함수, SHA-0 함수, SHA-1 함수, SHA-224 함수, SHA-256 함수, SHA-384 함수, SHA-512 함수 및 HAS-160 함수를 포함할 수 있으나, 이에 한정되지는 않는다. 예를 들어 Triple SHA256도 가능할 것이다.
한편, PIN 번호가 더 고려되는 실시의 경우에, 단계(S310)는, 상기 계정 로그인 요청 정보 및 상기 특정 공개키에 추가적으로 상기 사용자 단말에 입력된 특정 PIN 번호가 더 획득되면, 상기 인증 서버가, 상기 계정 로그인 요청 정보, 상기 특정 공개키 및 상기 특정 PIN 번호의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 것을 특징으로 할 수 있으며, 단계(S320)는, 상기 계정 로그인 요청 정보, 상기 특정 공개키 및 상기 특정 PIN 번호가 모두 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 것을 특징으로 할 수 있다. 특정 PIN 번호의 유효성을 검증하는 방식은 전술한 것과 동일하므로 반복하여 설명되지 않을 것이다.
제2 실시예
다음으로 본 발명의 방법에 관한 제2 실시예를 설명하기로 한다. 하기에서는 전술한 제1 실시예와 동일한 기술적 특징은 반복하여 설명되지 않을 것인바, 차이점만이 구체적으로 설명될 것이다.
도 3은 본 발명의 제2 실시예에 따른 간편 계정 등록 방법을 예시적으로 나타낸 시퀀스 다이어그램이다. 하기에서는 전술한 제1 실시예에 따른 간편 계정 등록 방법과 동일한 세부 특징은 반복하여 설명하지 않을 것인바, 차이점만을 구체적으로 설명하기로 한다.
제2 실시예에 따른 간편 계정 등록 방법은, 제1 실시예에 관하여 전술한 제1 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제1 사용자 식별 해시값 및 상기 제1 공개키, 또는 이를 가공한 값인 제1 인증 정보 트랜잭션이 소정의 블록체인 데이터베이스에 기록되어 있는 상태에서 수행된다. 여기에서 상기 블록체인 데이터베이스는 프라이빗 블록체인 데이터베이스 또는 퍼블릭 블록체인 데이터베이스일 수 있다.
그렇다면, 제1 실시예에 관하여 전술한 단계(S225 내지 S235)는, 제2 실시예에서는, 상기 인증 서버가, 획득된 상기 계정 등록 요청 정보 및 상기 인증용 개인정보를 참조로 하여 상기 제1 애플리케이션에 대한 상기 사용자의 ID를 인출하거나 상기 타 장치로 하여금 인출하도록 지원하는 단계(S225; 도 3 참조); 상기 제1 애플리케이션에 대한 사용자의 ID가 인출되면, 상기 인증 서버가, 인출된 상기 사용자의 ID를 이용하여 소정의 블록체인 데이터베이스로부터 상기 인출된 사용자의 ID에 대응되는 상기 제1 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제1 사용자 식별 해시값의 기록 여부를 나타내는 정보를 참조로 하여, 상기 제1 사용자 식별 해시값이 기록되어 있다면, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계(S230); 및 상기 인증 서버가, 상기 소정의 블록체인 데이터베이스로부터 상기 제1 공개키를 획득하거나 상기 타 장치로 하여금 획득하도록 지원하는 단계(S235)를 포함한다.
여기에서, 사용자 식별 해시값은 상기 사용자 식별 정보 중 적어도 하나를 해시 연산한 결과값인데, 이 사용자 식별 정보에는 전술한 것에 추가적으로 사용자의 이름, 생년월일, 연락처 정보, 전자우편 중 적어도 하나를 더 포함할 수도 있다. 다만, 이에 한정되지 않음은 통상의 기술자가 알 수 있을 것이다.
다음으로, 제1 실시예에 관하여 전술한 단계(S280, S285)는, 제2 실시예에서는, 상기 인증 서버가, 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값 및 상기 제2 공개키, 또는 이를 가공한 값인 제2 인증 정보 트랜잭션을 소정의 블록체인 데이터베이스에 추가로 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 것을 특징으로 한다. 이 제2 사용자 식별 해시값 및 제2 공개키에 관한 제2 인증 정보 트랜잭션은 상기 제1 인증 정보 트랜잭션과 마찬가지이므로 중복되는 설명은 생략하기로 한다.
이 인증 정보 트랜잭션들을 블록체인 데이터베이스에 기록해둠으로써 인증 서버를 이용하는 관리자 또는 상기 블록체인 데이터베이스에 접근할 수 있는 권한을 가진 제3자가 상기 계정 등록의 진위를 검증할 수 있을 뿐만 아니라 다수의 계정 등록에 관한 통계적 수치 등을 관리할 수 있게 된다.
다음으로, 전술한 제2 실시예의 간편 계정 등록 방법을 통하여 등록된 계정을 이용하는, 제2 실시예에 따른 사용자 인증 방법을 설명하기로 한다. 하기에서는 전술한 제1 실시예에 따른 사용자 인증 방법과 동일한 세부 특징은 반복하여 설명되지 않을 것인바, 차이점만을 구체적으로 설명하기로 한다.
제2 실시예의 간편 계정 등록 방법과 유사하게 제2 실시예에 따른 사용자 인증 방법은, 제2 실시예에 따른 간편 계정 등록 방법의 수행에 의하여 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값 및 상기 제2 공개키, 또는 이를 가공한 값인 제2 인증 정보 트랜잭션이 소정의 블록체인 데이터베이스에 기록되어 있는 상태에서 수행된다.
그렇다면, 제1 실시예에 관하여 전술한 단계(S310)는, 제2 실시예에서는, 상기 인증 서버가, 획득된 상기 계정 로그인 요청 정보를 포함하는 정보를 참조로 하여 상기 제2 애플리케이션에 대한 상기 사용자의 ID를 인출하거나 상기 타 장치로 하여금 인출하도록 지원하는 단계(S312; 미도시); 상기 제2 애플리케이션에 대한 사용자의 ID가 인출되면, 상기 인증 서버가, 인출된 상기 사용자의 ID를 이용하여 소정의 블록체인 데이터베이스로부터 상기 인출된 사용자의 ID에 대응되는 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값의 기록 여부를 나타내는 정보를 참조로 하여, 상기 제2 사용자 식별 해시값이 기록되어 있다면, 상기 계정 로그인 요청 정보가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계(S314; 미도시); 상기 인증 서버가, 상기 소정의 블록체인 데이터베이스로부터 상기 제2 공개키를 획득하거나 상기 타 장치로 하여금 획득하도록 지원하는 단계(S316; 미도시); 및 획득된 상기 제2 공개키가 상기 특정 공개키가 동일하면, 상기 인증 서버가, 상기 특정 공개키가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계(S318; 미도시)를 포함한다.
요컨대, 제2 실시예의 사용자 인증 방법은 소정의 블록체인 데이터베이스에 기록되어 있는 제2 인증 정보 트랜잭션을 참조로 하여 제2 애플리케이션에 대한 계정 로그인 요청에 따른 인증이 이루어지는 것이다.
제3 실시예
다음으로 본 발명의 방법에 관한 제3 실시예를 설명하기로 한다. 하기에서는 전술한 제1, 제2 실시예와 동일한 기술적 특징은 반복하여 설명되지 않을 것인바, 차이점만이 구체적으로 설명될 것이다.
다시 도 3을 참조하면, 제1, 제2 실시예에 관하여 전술한 간편 계정 등록 방법은, 제3 실시예에서는, 전술한 인증 정보 트랜잭션의 해시값인 제1 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, 적어도 특정 인증 정보 트랜잭션의 해시값을 포함하는 해시값들 중의 하나임 - 을 함께 해시 연산함으로써 생성되는 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값이 소정의 블록체인 데이터베이스에 기록되어 있는 상태에서 수행된다.
이후, 전술한 단계(S225 내지 S235)는 제3 실시예에서는 상기 인증 서버가 상기 계정 등록 요청 정보의 유효성을 검증함에 있어서 상기 소정의 블록체인 데이터베이스를 참조한다. 그 구체적인 의미는, 상기 소정의 블록체인 데이터베이스를 참조로 하여 획득된 인증 정보 트랜잭션을 이용하여 상기 사용자 식별 해시값 및 공개키가 유효한지 여부를 판정한다는 것이다.
이 본 발명의 제3 실시예는, 가상 화폐의 UTXO를 이용하여, 그 UTXO에 관한 개별 트랜잭션을 제1 블록체인 데이터베이스에 기록한 후, 그 제1 블록체인 데이터베이스에 기록된 트랜잭션들로부터 생성되는 대표 해시값을 제2 블록체인 데이터베이스에 기록함으로써 이중으로 기록의 무결성을 도모하는 앵커링(anchoring) 방식으로 구성될 수 있는바, 이 경우에 상기 소정의 블록체인 데이터베이스는 제2 블록체인 데이터베이스이며, 제3 실시예의 간편 계정 등록 방법은 상기 인증 정보 트랜잭션이 추가로 제1 블록체인 데이터베이스에 기록되어 있는 상태에서 수행된다.
이 앵커링 방식을 더 구체적으로 설명하면, 본 발명의 제3 실시예에 따른 간편 계정 등록 방법에서는, 인증 정보 트랜잭션을 블록체인 데이터베이스에 기록하는 단계(S280)에서, (A) 상기 인증 서버가, 상기 인증 정보 트랜잭션을 상기 제1 블록체인 데이터베이스에 기록하거나 상기 인증 서버에 연동되는 타 장치로 하여금 기록하도록 지원하는 프로세스, 및 (B) 소정의 조건이 만족되면, 상기 인증 정보 트랜잭션의 해시값인 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, 적어도 특정 인증 정보 트랜잭션의 해시값을 포함하는 해시값들 중의 하나임 - 을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값을 상기 제2 블록체인 데이터베이스에 기록하거나 상기 인증 서버에 연동되는 타 장치로 하여금 기록하도록 지원하고, 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값이 상기 제2 블록체인 데이터베이스에 기록된 위치 정보인 트랜잭션 ID를 획득하는 프로세스를 수행하는 단계(미도시)를 더 포함할 수 있다.
특정 해시값과 적어도 하나의 이웃 해시값의 연산은 다양한 함수에 의하여 수행될 수 있다. 특정 해시값을 input이라고 나타내고, 적어도 하나의 이웃 해시값을 x1, x2, …, xn이라고 나타낼 때, 대표 해시값 t은 다음 수학식과 같이 나타낼 수 있다.
Figure 112017018088490-pat00001
이때, 인증 서버는 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 데이터 구조로 저장하여 관리할 수 있다. 여기에서 데이터 구조는 다양할 수 있는데, 일 예로 머클 트리(merkle tree) 구조가 될 수도 있다. 이 경우, 상기 특정 해시값과 적어도 하나의 이웃 해시값의 연산은 머클 트리를 통하여 이루어질 수 있다.
즉, 상기 인증 서버는, 상기 특정 해시값이 리프 노드에 할당된 머클 트리(merkle tree)를 생성하거나 생성하도록 지원할 수 있고, 상기 소정의 조건이 만족되면, 상기 특정 해시값과 매칭되는 적어도 하나의 다른 리프 노드에 할당된 해시값을 함께 해시 연산하여 생성되는 상기 대표 해시값 또는 상기 대표 해시값을 가공한 값을 획득하고, 상기 획득된 값을 상기 제2 블록체인 데이터베이스에 기록하거나 타 장치로 하여금 기록하도록 지원할 수 있다.
상기 인증 서버는, 최종적으로 머클 트리의 루트 노드에 할당된 해시값을 대표 해시값으로서 상기 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다. 이때, 대표 해시값을 가공한 값이 기록될 수도 있다. 예를 들어, 대표 해시값에 hex 연산이 수행된 결과값이 등록될 수 있다.
한편, 상기 인증 서버가 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다.
특히, 상술한 예에서와 같이 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫 번째 리프 노드에 할당될 수 있다.
또한, 제2 데이터 구조가 생성될 때는 제1 데이터 구조에 대한 검증이 이루어짐으로써 데이터의 무결성이 좀 더 확실히 보장될 수 있다.
또한, 상기 머클 트리가 체인 형태로 연결된 적어도 하나의 머클 트리 중 첫 번째 머클 트리인 경우, 상기 머클 트리의 첫 번째 리프 노드에는 텍스트, 숫자, 또는 기호로 이루어진 소정의 메시지 데이터의 해시값 또는 이를 가공한 값이 할당될 수 있다. 예를 들어, 머클 트리 생성시 인증 서버에 의하여 최초로 부여된 입력 메시지의 해시값이 할당될 수 있다.
도 4 및 5는 본 발명에 따라 생성된 머클 트리의 예를 도시한 도면이다.
도 4에서는 리프 노드의 개수가 4(22)개인 머클 트리가 도시된다. 도시된 머클 트리는 첫 번째 머클 트리이기 때문에(tree_id = 0), 첫 번째 리프 노드인 h1 노드에는 소정의 메시지 데이터 PrivBC_unique_message의 해시값 SHA256(PrivBC_unique_message)이 할당되었음을 알 수 있다. 트랜잭션들의 등록이 있는 경우, 상기 인증 서버는, 현재 구성 중인 머클 트리의 가장 마지막 리프 노드의 다음 리프 노드를 생성하여 특정 해시값 또는 특정 해시값을 가공한 값을 할당하거나 할당하도록 지원한다. 예를 들어, 도 4의 머클 트리에서 이전 단계에서 두 번째 리프 노드인 h1 노드까지 값 할당이 완료된 경우, 다음 리프 노드인 h2 노드를 생성하여 특정 해시값 또는 특정 해시값을 가공한 값(SHA256(input2))을 할당할 수 있다. 또한, 상기 인증 서버는, (i) 특정 해시값과, (ii) 상기 특정 해시값이 할당된 세 번째 리프 노드인 h2 노드의 형제 노드인 h3 노드에 할당된 해시값을 연산하거나 연산하도록 지원할 수 있다. 상기 연산의 결과인 연산값에 대한 해시값은 h2 노드와 h3 노드의 부모 노드(h23 노드)에 할당된다. 부모 노드(h23 노드)가 머클 트리의 루트 노드가 아니므로, 상기 인증 서버는, 상기 h23 노드에 할당된 해시값을 상기 특정 해시값으로 하여 상기 과정을 반복하여 수행할 수 있다. 즉, h23 노드에 할당된 해시값을 특정 해시값으로 하고, h23 노드에 할당된 해시값과 h01 노드에 할당된 해시값을 연산하여 h23 노드와 h01 노드의 부모 노드(h0123) 노드에 할당할 수 있다. 이때, h0123 노드가 머클 트리의 루트 노드이므로, 상기 인증 서버는, h0123 노드에 할당된 해시값 또는 이를 가공한 값(hex(h{node_index}))을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다.
이를 재귀적(recursive)으로 설명하자면, 상기 소정의 조건이 만족될 때, (x1) 상기 인증 서버가, (i) 상기 특정 해시값과 (ii) 상기 특정 해시값이 할당된 노드의 형제 노드에 할당된 해시값을 함께 해시 연산하거나 해시 연산하도록 지원하고, 상기 연산의 결과인 연산값에 대한 해시값을 상기 노드의 부모 노드에 할당하거나 할당하도록 지원하며, (x2) 상기 부모 노드가 상기 머클 트리의 루트 노드이면, 상기 부모 노드에 할당된 해시값을 상기 대표 해시값으로서 상기 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원하고, (x3) 상기 부모 노드가 상기 머클 트리의 루트 노드가 아니면, 상기 부모 노드에 할당된 해시값을 상기 특정 해시값으로 하여 상기 (x1) 내지 (x3)을 반복하여 수행하는 것이다.
한편, 전술한 소정의 조건이란, (i) 소정의 개수만큼의 상기 특정 해시값과 이웃 해시값이 획득되거나 생성되는 조건, (ii) 소정 시간이 경과하는 조건, (iii) 상기 제1 블록체인 데이터베이스에서 블록이 생성되는 조건, (iv) 서비스 특성에 대한 조건 중 적어도 하나를 포함할 수 있다.
제3 실시예에서, 해시값들 - 적어도 특정 인증 정보 트랜잭션의 해시값을 포함하는 해시값들 중 하나 - 이 리프 노드 수만큼 획득되면, 각각의 해시값이 전술한 머클 트리의 입력값(리프 노드에 할당된 값)이 될 수 있다.
또한, 인증 서버는, 소정 시간 단위로 전술한 머클 트리의 루트값을 생성할 수 있다(상기 (ii) 조건). 이 경우, 상기 인증 서버는, 소정의 시간이 경과되면 그때까지의 입력값을 이용하여 머클 트리를 생성하고 머클 트리의 루트값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다.
그런데, 이 경우에는 소정 시간이 경과하였음에도 머클 트리의 특정 해시값이 할당된 노드의 형제 노드에 값이 할당되지 않을 수 있다. 이처럼 소정의 조건이 만족되었음에도 상기 특정 해시값이 할당된 노드의 형제 노드에 해시값이 할당되어 있지 않은 경우, 상기 인증 서버는, 상기 형제 노드에 소정의 해시값을 할당하거나 할당하도록 지원하여 전술한 방식으로 머클 트리의 루트값이 산출되도록 할 수 있다. 예를 들어, 상기 인증 서버는, 상기 특정 해시값을 복제하여 상기 형제 노드에 할당하거나 할당하도록 지원할 수 있다.
또한, 상기 서비스 특성이란, 본 발명에 따른 방법을 이용하는 엔티티(entity)들이 지급한 비용 정보, 상기 트랜잭션의 기록이 이루어지는 시간대 정보, 상기 기록이 이루어지는 지역 정보, 상기 기록에 관여한 서버의 관리 주체인 회사 타입 정보 중 적어도 일부가 될 수 있다. 다만, 여기에서 기재한 것에 한정될 것은 아니고, 통상적으로 인정되는 차등적 서비스가 제공될 수 있는 다양한 조건 정보를 포함할 수 있을 것이다.
한편, 새로운 머클 트리의 생성이 시작되고, 트랜잭션의 수신이 없는 상태에서 상기 소정의 조건이 만족되면, 상기 인증 서버는, 소정의 메시지 데이터가 첫 번째 리프 노드와 두 번째 리프 노드에 할당된 머클 트리를 생성하거나 생성하도록 지원하고, 상기 머클 트리의 루트값 또는 이를 가공한 값을 제2 블록체인 데이터베이스에 기록하거나 기록하도록 지원할 수 있다. 예컨대, 이 경우에는 리프 노드 2개짜리의 머클 트리가 생성될 수도 있을 것이다.
한편, 전술한 것처럼 인증 서버가 상기 특정 해시값과 상기 적어도 하나의 이웃 해시값을 소정의 제1 데이터 구조로 저장하고, 이후 상기 제1 데이터 구조와 동일한 형태의 제2 데이터 구조를 저장하여 관리하는 경우, 상기 제1 데이터 구조와 상기 제2 데이터 구조는 체인 형태로 연결될 수 있다. 특히, 상기 제1 데이터 구조 및 상기 제2 데이터 구조가 머클 트리인 경우, 상기 제1 데이터 구조의 루트값 또는 상기 루트값의 해시값이 상기 제2 데이터 구조의 첫 번째 리프 노드에 할당될 수 있다.
도 5는 본 발명에 따라 상기 제2 데이터 구조로서 생성된 머클 트리를 도시한 도면이다.
도 5를 참조하면, 도 4의 머클 트리(tree_id = 0)의 루트값(hex(h0123))이 새로운 머클 트리의 첫 번째 리프 노드(h4 노드)에 할당되었음을 알 수 있다. 본 발명은 이와 같이 트랜잭션 발생시에 생성되는 복수의 데이터 구조를 연결함으로써 중간에 데이터의 변조가 발생되는 경우라도 쉽게 트래킹이 가능하여 데이터의 무결성을 향상시키는 장점을 가진다.
또한, 본 발명의 제3 실시예에 따른 인증서의 등록 방법은, 추가적으로, 주기적으로(periodically) 또는 무결성 검증 요청에 응하여, 상기 인증 서버가, 상기 제1 블록체인 데이터베이스에 기록된 적어도 하나의 트랜잭션 - 상기 트랜잭션은, 적어도 특정 인증 정보 트랜잭션을 포함하는 트랜잭션들 중의 하나임 - 의 해시값과 매칭되는 적어도 하나의 상기 이웃 해시값을 함께 해시 연산함으로써 생성되는 제1 대표 해시값 또는 상기 제1 대표 해시값을 가공한 값을 이에 대응되는 상기 제2 블록체인 데이터베이스에 기록된 제2 대표 해시값 또는 상기 제2 대표 해시값을 가공한 값과 일치하는지를 검증함으로써 상기 트랜잭션의 무결성(integrity)을 검증하거나 상기 인증 서버에 연동되는 타 장치로 하여금 검증하도록 지원하는 단계(미도시)를 더 포함할 수 있다.
일 예시로서, 이때, 상기 제1 블록체인 데이터베이스가 프라이빗(private) 블록체인 데이터베이스이고, 상기 제2 블록체인 데이터베이스가 퍼블릭(public) 블록체인 데이터베이스일 수 있다.
다만, 이에 한정되지 않으며, 통상의 기술자는 상기 제1 블록체인 데이터베이스가 프라이빗 블록체인 데이터베이스 또는 퍼블릭 블록체인 데이터베이스일 수 있으며, 마찬가지로 상기 제2 블록체인 데이터베이스가 프라이빗 블록체인 데이터베이스와 퍼블릭 블록체인 데이터베이스 중의 어느 하나일 수 있다는 점을 잘 이해할 수 있을 것이다.
다음으로, 제3 실시예에 따른 사용자 인증 방법이 설명될 것인바, 전술한 제1, 제2 실시예에서와 동일한 기술적 특징은 반복하여 설명하지 않고, 차이점만을 구체적으로 설명하기로 한다.
제1, 제2 실시예에 관하여 전술한 단계(S310 내지 S320)는, 본 발명의 제3 실시예에 따른 사용자 인증 방법에서는, 인증 정보 트랜잭션의 해시값인 특정 해시값과 매칭되는 적어도 하나의 이웃 해시값 - 상기 이웃 해시값은, 적어도 특정 인증 정보 트랜잭션의 해시값을 포함하는 해시값들 중 적어도 하나임 - 을 함께 해시 연산함으로써 생성되는 대표 해시값 또는 상기 대표 해시값을 가공한 값이 소정의 블록체인 데이터베이스에 기록되어 있는 상태에서 수행된다. 한편, 상기 계정 로그인 요청 정보 및 상기 특정 공개키가 유효한지 여부는 상기 인증 서버에 의하여 상기 소정의 블록체인 데이터베이스를 참조로 하여 판정된다.
요컨대, 제3 실시예는 제2 실시예의 제2 블록체인 데이터베이스(상기 소정의 블록체인 데이터베이스)에 추가적으로 제1 블록체인 데이터베이스를 더 도입함으로써 앵커링을 통하여 인증 관련 정보의 더 높은 무결성을 도모하는 실시예라고 할 수 있다.
지금까지 설명한 본 발명의 모든 실시예들에 걸쳐, 보안성이 강하면서도 간편하게 기존의 반복적인 계정 등록 방식을 대체할 수 있는 계정 등록 서비스가 제공되는 효과가 있다.
상기 실시예들로서 여기에서 설명된 기술의 이점은, 인증 관련 정보의 위변작이 매우 어렵게 되어 사용자 계정 등록 및 인증의 신뢰성 및 보안성이 보장되면서도 사용성을 높일 수 있다는 점이다.
위 실시예의 설명에 기초하여 통상의 기술자는, 본 발명이 소프트웨어 및 하드웨어의 결합을 통하여 달성되거나 하드웨어만으로 달성될 수 있다는 점을 명확하게 이해할 수 있다. 본 발명의 기술적 해법의 대상물 또는 선행 기술들에 기여하는 부분들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 자료 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 상기 하드웨어 장치는, 프로그램 명령어를 저장하기 위한 ROM/RAM 등과 같은 메모리와 결합되고 상기 메모리에 저장된 명령어들을 실행하도록 구성되는 CPU나 GPU와 같은 프로세서를 포함할 수 있으며, 외부 장치와 신호를 주고 받을 수 있는 통신부를 포함할 수 있다. 덧붙여, 상기 하드웨어 장치는 개발자들에 의하여 작성된 명령어들을 전달받기 위한 키보드, 마우스, 기타 외부 입력장치를 포함할 수 있다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (26)

  1. 계정 등록의 간소화 서비스를 제공하는 방법으로서,
    (a) 사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제1 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키 및 (iv) 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장되어 있는 상태에서, 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 상기 인증용 개인정보가 상기 사용자 단말로부터 획득되면, 상기 인증 서버가, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계; 및
    (b) 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하면, 상기 인증 서버가, 상기 계정 등록 요청 정보에 기초하여 상기 간편 계정 등록을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 단계를 포함하되,
    상기 (b) 단계는,
    (b1) 상기 인증 서버가, 가변 인증용 정보를 상기 제1 공개키로 인코딩한 값인 가변 인증용 암호화 정보를 상기 사용자 단말로부터 획득된 상기 인증용 개인정보와 대응되는 상기 제1 푸시 알림 ID를 이용하여 상기 제1 애플리케이션에 전달함으로써 상기 제1 애플리케이션으로 하여금 상기 제1 공개키에 대응되는 제1 개인키로써 상기 가변 인증용 암호화 정보를 디코딩한 값인 상기 가변 인증용 정보를 상기 사용자에게 디스플레이하도록 지원하는 단계;
    (b2) 상기 가변 인증용 정보가 상기 제2 애플리케이션에 의하여 획득되어 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소(Secure Element; SE)에서 상기 PKI 기반의 키 쌍(key pair)인 제2 공개키 및 제2 개인키가 생성된 후, 상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID가 획득되면, 상기 인증 서버가, 상기 가변 인증용 정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계; 및
    (b3) 상기 가변 인증용 정보가 유효하면, 상기 인증 서버가, 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 (b2) 단계는,
    상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 상기 제2 푸시 알림 ID에 추가적으로 특정 PIN 번호가 더 획득되면, 상기 인증 서버가, 상기 가변 인증용 정보 및 상기 특정 PIN 번호의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 하고,
    상기 (b3) 단계는,
    상기 가변 인증용 정보 및 상기 특정 PIN 번호가 모두 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 것을 특징으로 하는 방법.
  3. 제2항에 있어서,
    상기 (b2) 단계에서,
    상기 특정 PIN 번호와 상기 사용자에 의하여 상기 제1 애플리케이션에 대하여 미리 지정된 PIN 번호가 동일하면, 상기 특정 PIN 번호가 유효한 것으로 판정되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 제2 사용자 식별 정보는,
    (i) 상기 사용자의 인증용 개인정보, (ii) 상기 계정 등록 요청 정보에 포함된 상기 제2 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 제2 공개키 및 (iv) 상기 제2 푸시 알림 ID를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 사용자의 인증용 개인정보는 상기 사용자 단말에 대응되는 전화번호인 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 가변 인증용 정보는 소정의 랜덤 넌스(random nonce) 또는 그림 파일에 관한 정보인 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 (a) 단계는,
    (a1) 상기 인증 서버가, 획득된 상기 계정 등록 요청 정보 및 상기 인증용 개인정보를 참조로 하여 상기 제1 애플리케이션에 대한 상기 사용자의 ID를 인출하거나 상기 타 장치로 하여금 인출하도록 지원하는 단계;
    (a2) 상기 제1 애플리케이션에 대한 사용자의 ID가 인출되면, 상기 인증 서버가, 인출된 상기 사용자의 ID를 이용하여 소정의 블록체인 데이터베이스로부터 상기 인출된 사용자의 ID에 대응되는 상기 제1 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제1 사용자 식별 해시값의 기록 여부를 나타내는 정보를 참조로 하여, 상기 제1 사용자 식별 해시값이 기록되어 있다면, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계; 및
    (a3) 상기 인증 서버가, 상기 소정의 블록체인 데이터베이스로부터 상기 제1 공개키를 획득하거나 상기 타 장치로 하여금 획득하도록 지원하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서,
    상기 (b2) 단계는,
    상기 인증 서버가, 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값 및 상기 제2 공개키, 또는 이를 가공한 값인 인증 정보 트랜잭션을 소정의 블록체인 데이터베이스에 추가로 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 것을 특징으로 하는 방법.
  9. 제7항 또는 제8항에 있어서,
    상기 소정의 블록체인 데이터베이스는 퍼블릭 블록체인 데이터베이스 또는 프라이빗 블록체인 데이터베이스인 것을 특징으로 하는 방법.
  10. 제1항에 있어서,
    상기 (b3) 단계는,
    상기 가변 인증용 정보가 유효하면, 상기 인증 서버가, 상기 간편 계정 등록이 완료되었음을 나타내는 계정 등록 완료 메시지를 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 것을 특징으로 하는 방법.
  11. 등록된 계정을 이용하여 사용자를 인증하는 방법으로서,
    (1) 사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제1 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키 및 (iv) 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장된 후, (2) 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 상기 인증용 개인정보가 획득되고, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하여, (3) 제1 가변 인증용 정보를 상기 제1 공개키로 인코딩한 값인 제1 가변 인증용 암호화 정보가 상기 인증 서버에 의하여 상기 제1 애플리케이션에 전달됨으로써 상기 제1 공개키에 대응되는 제1 개인키로써 상기 제1 가변 인증용 암호화 정보를 디코딩한 값인 상기 제1 가변 인증용 정보가 상기 제1 애플리케이션에 의하여 상기 사용자에게 디스플레이되고, (4) 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소에서 상기 PKI 기반의 키 쌍(key pair)인 제2 공개키 및 제2 개인키가 생성되고 나서, 상기 인증 서버에 의하여 상기 제2 애플리케이션으로부터 상기 제1 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID가 획득되고, 상기 제1 가변 인증용 정보가 유효한 것으로 검증되어, (5) 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보로서, (i) 상기 사용자의 인증용 개인정보, (ii) 상기 제2 애플리케이션에 대한 상기 사용자의 ID, (iii) 상기 제2 공개키 및 (iv) 상기 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID를 포함하는 정보가 상기 인증 서버 또는 상기 타 장치에 저장됨으로써 상기 간편 계정 등록이 수행되어 있는 상태에서,
    (a) 상기 제2 애플리케이션을 통하여 상기 PKI 기반의 계정 로그인을 요청하는 정보인 계정 로그인 요청 정보 및 특정 공개키가 획득되면, 상기 인증 서버가, 상기 계정 로그인 요청 정보 및 상기 특정 공개키의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계;
    (b) 상기 계정 로그인 요청 정보 및 상기 특정 공개키가 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서,
    상기 (b) 단계는,
    (b1) 상기 인증 서버가, 제2 가변 인증용 정보를 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원함으로써 상기 사용자 단말로 하여금 상기 보안 요소를 이용하여 상기 제2 가변 인증용 정보를 서명한 값인 제2 가변 인증용 정보 서명값을 생성하고 생성된 상기 제2 가변 인증용 정보 서명값을 상기 인증 서버에 전달하도록 지원하는 단계;
    (b2) 상기 인증 서버가, 전달된 상기 제2 가변 인증용 정보 서명값의 유효성을 저장되어 있는 상기 제2 공개키를 이용하여 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 단계; 및
    (b3) 상기 제2 가변 인증용 정보 서명값이 유효하면, 상기 인증 서버가, 상기 계정 로그인을 허용하거나 상기 타 장치로 하여금 허용하도록 지원하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  13. 제11항에 있어서,
    상기 (a) 단계는,
    상기 계정 로그인 요청 정보 및 상기 특정 공개키에 추가적으로 상기 사용자 단말에 입력된 특정 PIN 번호가 더 획득되면, 상기 인증 서버가, 상기 계정 로그인 요청 정보, 상기 특정 공개키 및 상기 특정 PIN 번호의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 것을 특징으로 하고,
    상기 (b) 단계는,
    상기 계정 로그인 요청 정보, 상기 특정 공개키 및 상기 특정 PIN 번호가 모두 유효하면, 상기 인증 서버가, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 것을 특징으로 하는 방법.
  14. 제11항에 있어서,
    상기 (a) 단계에서,
    상기 제2 공개키와 상기 특정 공개키가 동일하면, 상기 특정 공개키가 유효한 것으로 판정되는 것을 특징으로 하는 방법.
  15. 제11항에 있어서,
    상기 (a) 단계는,
    (a1) 상기 인증 서버가, 획득된 상기 계정 로그인 요청 정보를 포함하는 정보를 참조로 하여 상기 제2 애플리케이션에 대한 상기 사용자의 ID를 인출하거나 상기 타 장치로 하여금 인출하도록 지원하는 단계;
    (a2) 상기 제2 애플리케이션에 대한 사용자의 ID가 인출되면, 상기 인증 서버가, 인출된 상기 사용자의 ID를 이용하여 소정의 블록체인 데이터베이스로부터 상기 인출된 사용자의 ID에 대응되는 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값의 기록 여부를 나타내는 정보를 참조로 하여, 상기 제2 사용자 식별 해시값이 기록되어 있다면, 상기 계정 로그인 요청 정보가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계;
    (a3) 상기 인증 서버가, 상기 소정의 블록체인 데이터베이스로부터 상기 제2 공개키를 획득하거나 상기 타 장치로 하여금 획득하도록 지원하는 단계; 및
    (a4) 획득된 상기 제2 공개키가 상기 특정 공개키가 동일하면, 상기 인증 서버가, 상기 특정 공개키가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  16. 계정 등록의 간소화 서비스를 제공하는 인증 서버로서,
    사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 상기 사용자의 인증용 개인정보, 상기 제1 애플리케이션에 대한 상기 사용자의 ID, 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키, 및 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 상기 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장되어 있는 상태에서, 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 상기 인증용 개인정보를 상기 사용자 단말로부터 획득하는 통신부; 및
    (i) 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 획득되면, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 프로세스, 및 (ii) 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하면, 상기 계정 등록 요청 정보에 기초하여 상기 간편 계정 등록을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 프로세스를 수행하는 프로세서를 포함하되,
    상기 (ii) 프로세스는,
    (ii-1) 가변 인증용 정보를 상기 제1 공개키로 인코딩한 값인 가변 인증용 암호화 정보를 상기 사용자 단말로부터 획득된 상기 인증용 개인정보와 대응되는 상기 제1 푸시 알림 ID를 이용하여 상기 제1 애플리케이션에 전달함으로써 상기 제1 애플리케이션으로 하여금 상기 제1 공개키에 대응되는 제1 개인키로써 상기 가변 인증용 암호화 정보를 디코딩한 값인 상기 가변 인증용 정보를 상기 사용자에게 디스플레이하도록 지원하는 프로세스;
    (ii-2) 상기 가변 인증용 정보가 상기 제2 애플리케이션에 의하여 획득되어 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소(Secure Element; SE)에서 상기 PKI 기반의 키 쌍(key pair)인 제2 공개키 및 제2 개인키가 생성된 후, 상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID가 획득되면, 상기 가변 인증용 정보의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 프로세스; 및
    (ii-3) 상기 가변 인증용 정보가 유효하면, 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 프로세스
    를 포함하는 인증 서버.
  17. 제16항에 있어서,
    상기 (ii-2) 프로세스는,
    상기 제2 애플리케이션으로부터 상기 가변 인증용 정보, 상기 제2 공개키, 상기 제2 푸시 알림 ID에 추가적으로 특정 PIN 번호가 더 획득되면, 상기 프로세서가, 상기 가변 인증용 정보 및 상기 특정 PIN 번호의 유효성을 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 것을 특징으로 하고,
    상기 (ii-3) 프로세스는,
    상기 가변 인증용 정보 및 상기 특정 PIN 번호가 모두 유효하면, 상기 프로세서가, 상기 제2 사용자 식별 정보를 저장하거나 상기 타 장치로 하여금 저장하도록 지원하는 것을 특징으로 하는 인증 서버.
  18. 제17항에 있어서,
    상기 (ii-2) 프로세스에서,
    상기 특정 PIN 번호와 상기 사용자에 의하여 상기 제1 애플리케이션에 대하여 미리 지정된 PIN 번호가 동일하면, 상기 특정 PIN 번호가 유효한 것으로 판정되는 것을 특징으로 하는 인증 서버.
  19. 제16항에 있어서,
    상기 (i) 프로세스는,
    (i-1) 획득된 상기 계정 등록 요청 정보 및 상기 인증용 개인정보를 참조로 하여 상기 제1 애플리케이션에 대한 상기 사용자의 ID를 인출하거나 상기 타 장치로 하여금 인출하도록 지원하는 프로세스;
    (i-2) 상기 제1 애플리케이션에 대한 사용자의 ID가 인출되면, 인출된 상기 사용자의 ID를 이용하여 소정의 블록체인 데이터베이스로부터 상기 인출된 사용자의 ID에 대응되는 상기 제1 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제1 사용자 식별 해시값의 기록 여부를 나타내는 정보를 참조로 하여, 상기 제1 사용자 식별 해시값이 기록되어 있다면, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 프로세스; 및
    (i-3) 상기 소정의 블록체인 데이터베이스로부터 상기 제1 공개키를 획득하거나 상기 타 장치로 하여금 획득하도록 지원하는 프로세스
    를 포함하는 것을 특징으로 하는 인증 서버.
  20. 제16항에 있어서,
    상기 (ii-2) 프로세스는,
    상기 프로세서가, 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값 및 상기 제2 공개키, 또는 이를 가공한 값인 인증 정보 트랜잭션을 소정의 블록체인 데이터베이스에 추가로 기록하거나 상기 타 장치로 하여금 기록하도록 지원하는 것을 특징으로 하는 인증 서버.
  21. 제16항에 있어서,
    상기 (ii-3) 프로세스는,
    상기 가변 인증용 정보가 유효하면, 상기 프로세서가, 상기 간편 계정 등록이 완료되었음을 나타내는 계정 등록 완료 메시지를 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원하는 것을 특징으로 하는 인증 서버.
  22. 등록된 계정을 이용하여 사용자를 인증하는 인증 서버로서,
    (1) 사용자의 최초 계정의 등록이 수행되어, 상기 최초 계정에 대응되는 제1 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제1 사용자 식별 정보로서 상기 사용자의 인증용 개인정보, 상기 제1 애플리케이션에 대한 상기 사용자의 ID, 상기 사용자가 이용하는 단말인 사용자 단말에 포함된 보안 요소(Secure Element; SE)에 의하여 생성된 제1 공개키, 및 상기 제1 애플리케이션에 대응되도록 생성된 제1 푸시 알림 ID를 포함하는 정보가 인증 서버 또는 상기 인증 서버에 연동되는 타 장치에 저장된 후, (2) 상기 제1 애플리케이션과 상이하며 상기 사용자 단말에 의하여 실행되는 제2 애플리케이션을 통하여 PKI(public key infrastructure) 기반의 간편 계정 등록을 요청하는 정보인 계정 등록 요청 정보 및 상기 인증용 개인정보가 획득되고, 상기 계정 등록 요청 정보 및 상기 인증용 개인정보가 유효하여, (3) 제1 가변 인증용 정보를 상기 제1 공개키로 인코딩한 값인 제1 가변 인증용 암호화 정보가 상기 인증 서버에 의하여 상기 제1 애플리케이션에 전달됨으로써 상기 제1 공개키에 대응되는 제1 개인키로써 상기 제1 가변 인증용 암호화 정보를 디코딩한 값인 상기 제1 가변 인증용 정보가 상기 제1 애플리케이션에 의하여 상기 사용자에게 디스플레이되고, (4) 상기 제2 애플리케이션에 의하여 상기 사용자 단말에 포함된 보안 요소에서 상기 PKI 기반의 키 쌍(key pair)인 제2 공개키 및 제2 개인키가 생성되고 나서, 상기 인증 서버에 의하여 상기 제2 애플리케이션으로부터 상기 제1 가변 인증용 정보, 상기 제2 공개키, 및 상기 제2 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID가 획득되고, 상기 제1 가변 인증용 정보가 유효한 것으로 검증되어, (5) 상기 제2 애플리케이션에 대하여 상기 사용자를 식별하기 위한 제2 사용자 식별 정보로서, 상기 사용자의 인증용 개인정보, 상기 제2 애플리케이션에 대한 상기 사용자의 ID, 상기 제2 공개키, 및 상기 애플리케이션에 대응되도록 생성된 제2 푸시 알림 ID를 포함하는 정보가 상기 인증 서버 또는 상기 타 장치에 저장됨으로써 상기 간편 계정 등록이 수행되어 있는 상태에서,
    상기 제2 애플리케이션을 통하여 상기 PKI 기반의 계정 로그인을 요청하는 정보인 계정 로그인 요청 정보 및 특정 공개키를 획득하는 통신부; 및
    (i) 상기 계정 로그인 요청 정보 및 상기 특정 공개키가 획득되면, 상기 계정 로그인 요청 정보 및 상기 특정 공개키의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 프로세스, 및 (ii) 상기 계정 로그인 요청 정보 및 상기 특정 공개키가 유효하면, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 프로세스를 수행하는 프로세서
    를 포함하는 인증 서버.
  23. 제22항에 있어서,
    상기 (ii) 프로세스는,
    (ii-1) 제2 가변 인증용 정보를 상기 제2 애플리케이션에 전달하거나 상기 타 장치로 하여금 전달하도록 지원함으로써 상기 사용자 단말로 하여금 상기 보안 요소를 이용하여 상기 제2 가변 인증용 정보를 서명한 값인 제2 가변 인증용 정보 서명값을 생성하고 생성된 상기 제2 가변 인증용 정보 서명값을 상기 인증 서버에 전달하도록 지원하는 프로세스;
    (ii-2) 전달된 상기 제2 가변 인증용 정보 서명값의 유효성을 저장되어 있는 상기 제2 공개키를 이용하여 검증하거나 상기 타 장치로 하여금 검증하도록 지원하는 프로세스; 및
    (ii-3) 상기 제2 가변 인증용 정보 서명값이 유효하면, 상기 계정 로그인을 허용하거나 상기 타 장치로 하여금 허용하도록 지원하는 프로세스
    를 포함하는 것을 특징으로 하는 인증 서버.
  24. 제22항에 있어서,
    상기 (i) 프로세스는,
    상기 계정 로그인 요청 정보 및 상기 특정 공개키에 추가적으로 상기 사용자 단말에 입력된 특정 PIN 번호가 더 획득되면, 상기 계정 로그인 요청 정보, 상기 특정 공개키 및 상기 특정 PIN 번호의 유효성을 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 것을 특징으로 하고,
    상기 (ii) 프로세스는,
    상기 계정 로그인 요청 정보, 상기 특정 공개키 및 상기 특정 PIN 번호가 모두 유효하면, 상기 제2 사용자 식별 정보에 기초하여 상기 계정 로그인을 수행하거나 상기 타 장치로 하여금 수행하도록 지원하는 것을 특징으로 하는 인증 서버.
  25. 제22항에 있어서,
    상기 (i) 프로세스에서,
    상기 제2 공개키와 상기 특정 공개키가 동일하면, 상기 특정 공개키가 유효한 것으로 판정되는 것을 특징으로 하는 인증 서버.
  26. 제22항에 있어서,
    상기 (i) 프로세스는,
    (i-1) 획득된 상기 계정 로그인 요청 정보를 포함하는 정보를 참조로 하여 상기 제2 애플리케이션에 대한 상기 사용자의 ID를 인출하거나 상기 타 장치로 하여금 인출하도록 지원하는 프로세스;
    (i-2) 상기 제2 애플리케이션에 대한 사용자의 ID가 인출되면, 인출된 상기 사용자의 ID를 이용하여 소정의 블록체인 데이터베이스로부터 상기 인출된 사용자의 ID에 대응되는 상기 제2 사용자 식별 정보 중 적어도 하나의 정보를 해시 연산한 결과값인 제2 사용자 식별 해시값의 기록 여부를 나타내는 정보를 참조로 하여, 상기 제2 사용자 식별 해시값이 기록되어 있다면, 상기 계정 로그인 요청 정보가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 프로세스;
    (i-3) 상기 소정의 블록체인 데이터베이스로부터 상기 제2 공개키를 획득하거나 상기 타 장치로 하여금 획득하도록 지원하는 프로세스; 및
    (i-4) 획득된 상기 제2 공개키가 상기 특정 공개키가 동일하면, 상기 특정 공개키가 유효한 것으로 판정하거나 상기 타 장치로 하여금 판정하도록 지원하는 프로세스
    를 포함하는 것을 특징으로 하는 인증 서버.
KR1020170023149A 2017-02-21 2017-02-21 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버 KR101816650B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020170023149A KR101816650B1 (ko) 2017-02-21 2017-02-21 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버
PCT/KR2018/000915 WO2018155822A1 (ko) 2017-02-21 2018-01-19 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버
CN201880006836.9A CN110291757B (zh) 2017-02-21 2018-01-19 用于提供简化帐户注册服务、用户认证服务的方法及利用其的认证服务器
CA3053316A CA3053316C (en) 2017-02-21 2018-01-19 Method for providing simplified account registration service and user authentication service, and authentication server using same
US16/546,143 US10783260B2 (en) 2017-02-21 2019-08-20 Method for providing simplified account registration service and user authentication service, and authentication server using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170023149A KR101816650B1 (ko) 2017-02-21 2017-02-21 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버

Publications (1)

Publication Number Publication Date
KR101816650B1 true KR101816650B1 (ko) 2018-01-09

Family

ID=61000559

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170023149A KR101816650B1 (ko) 2017-02-21 2017-02-21 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버

Country Status (5)

Country Link
US (1) US10783260B2 (ko)
KR (1) KR101816650B1 (ko)
CN (1) CN110291757B (ko)
CA (1) CA3053316C (ko)
WO (1) WO2018155822A1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180104586A (ko) * 2018-07-03 2018-09-21 네이버 주식회사 블록체인 기반의 개인 데이터 처리 방법 및 시스템
KR101924469B1 (ko) * 2018-03-20 2018-12-03 가온미디어 주식회사 수신제한 시스템 연동 기반의 블록체인 운용 방법
KR20190114421A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114423A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114424A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114425A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20200064623A (ko) * 2018-11-29 2020-06-08 동서대학교 산학협력단 공개 데이터셋의 데이터 무결성 보장을 위한 블록체인 솔루션 제공 시스템, 이의 처리 방법
KR20200129939A (ko) * 2019-05-10 2020-11-18 주식회사 메디블록 블록체인 네트워크에서 계정을 관리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
US10904252B1 (en) 2020-01-17 2021-01-26 FNS Value Co., Ltd. Multi-node authentication method and apparatus based on block chain
KR20210103615A (ko) * 2020-02-13 2021-08-24 경기대학교 산학협력단 블록체인 기반 사용자 인증 방법
KR20210132526A (ko) 2020-04-27 2021-11-04 주식회사 시큐어링크 계층 블록체인을 이용한 인증 및 정책 관리 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11042609B2 (en) 2017-08-03 2021-06-22 Cable Television Laboratories, Inc. Systems and methods for secure element registration and provisioning
WO2020050424A1 (ko) * 2018-09-03 2020-03-12 주식회사 아이씨엔캐스트 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
CN109257342B (zh) * 2018-09-04 2020-05-26 阿里巴巴集团控股有限公司 区块链跨链的认证方法、***、服务器及可读存储介质
CN109286556B (zh) * 2018-09-25 2021-10-08 武汉配行天下科技有限公司 一种免注册的高效信息传递与文件签收方法
CN109547404B (zh) * 2018-10-11 2022-08-19 平安科技(深圳)有限公司 数据的获取方法及服务器
CN109558710B (zh) * 2018-12-07 2022-02-15 泰康保险集团股份有限公司 用户登录方法、装置、***及存储介质
EP3944109A4 (en) * 2019-03-22 2022-05-25 NEC Corporation INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD AND PROGRAM
WO2021064043A1 (en) * 2019-09-30 2021-04-08 Coinfirm Limited A method for secure transferring of information through a network between an origin virtual asset service provider and a destination virtual asset service provider
US11698957B2 (en) * 2019-12-18 2023-07-11 Yubico Ab Pre-registration of authentication devices
US11368456B2 (en) 2020-09-11 2022-06-21 Bank Of America Corporation User security profile for multi-media identity verification
US11356266B2 (en) 2020-09-11 2022-06-07 Bank Of America Corporation User authentication using diverse media inputs and hash-based ledgers
CN112559993B (zh) * 2020-12-24 2024-02-02 RealMe重庆移动通信有限公司 身份认证方法、装置、***及电子设备
CN112883360B (zh) * 2021-01-29 2023-10-17 平安科技(深圳)有限公司 应用程序的智能注册方法、装置、计算机设备及存储介质
CN113612818B (zh) * 2021-07-09 2023-09-01 中国汽车技术研究中心有限公司 一种低代码平台的工业app发布***
CN114268472B (zh) * 2021-12-10 2023-12-15 杭州溪塔科技有限公司 基于区块链的应用***的用户认证方法及***
CN116436905B (zh) * 2023-04-19 2023-11-28 广州市迪士普音响科技有限公司 网络化广播通信方法及装置、存储介质及计算机设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031064A (ja) 2004-07-12 2006-02-02 Hitachi Ltd セッション管理システム及び管理方法
KR101628004B1 (ko) 2016-03-02 2016-06-08 (주)케이스마텍 신뢰된 실행 환경 기반의 사용자 단말을 이용한 사용자 간편 인증 서비스 방법 및 시스템
KR101691412B1 (ko) 2015-08-31 2016-12-30 주식회사 다날 전화번호에 기초한 2채널 사용자 인증 보조 장치 및 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323508C (zh) * 2003-12-17 2007-06-27 上海市高级人民法院 一种基于数字证书的单点登录方法
KR100764882B1 (ko) * 2006-09-29 2007-10-09 한국과학기술원 저성능 보안 단말기의 공개키 기반 싱글 사인온 인증 장치및 방법
US8607317B2 (en) * 2009-10-28 2013-12-10 Blackberry Limited Automatic user authentication and identification for mobile instant messaging application
CN102469075A (zh) * 2010-11-09 2012-05-23 中科正阳信息安全技术有限公司 一种基于web单点登录的集成认证方法
CN102111410B (zh) * 2011-01-13 2013-07-03 中国科学院软件研究所 一种基于代理的单点登录方法及***
KR101854389B1 (ko) * 2012-08-20 2018-06-20 에스케이플래닛 주식회사 애플리케이션 인증 시스템 및 방법
KR102139162B1 (ko) * 2013-03-08 2020-08-11 에스케이플래닛 주식회사 어플리케이션 간의 신뢰관계 획득 방법, 이를 위한 시스템 및 장치
US20160219039A1 (en) * 2013-09-06 2016-07-28 Mario Houthooft Mobile Authentication Method and System for Providing Authenticated Access to Internet-Sukpported Services and Applications
US9369443B1 (en) * 2013-09-18 2016-06-14 NetSuite Inc. Field level data protection for cloud services using asymmetric cryptography
JP6296938B2 (ja) * 2014-08-07 2018-03-20 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation モバイルデバイス上で二次元コードを利用した認証
CN106209749B (zh) * 2015-05-08 2020-09-25 阿里巴巴集团控股有限公司 单点登录方法及装置、相关设备和应用的处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031064A (ja) 2004-07-12 2006-02-02 Hitachi Ltd セッション管理システム及び管理方法
KR101691412B1 (ko) 2015-08-31 2016-12-30 주식회사 다날 전화번호에 기초한 2채널 사용자 인증 보조 장치 및 방법
KR101628004B1 (ko) 2016-03-02 2016-06-08 (주)케이스마텍 신뢰된 실행 환경 기반의 사용자 단말을 이용한 사용자 간편 인증 서비스 방법 및 시스템

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101924469B1 (ko) * 2018-03-20 2018-12-03 가온미디어 주식회사 수신제한 시스템 연동 기반의 블록체인 운용 방법
KR102181601B1 (ko) 2018-03-30 2020-11-23 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114421A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114423A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114424A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR20190114425A (ko) * 2018-03-30 2019-10-10 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR102216305B1 (ko) 2018-03-30 2021-02-18 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR102216285B1 (ko) 2018-03-30 2021-02-18 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
KR102181600B1 (ko) 2018-03-30 2020-11-23 주식회사 코인플러그 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
WO2020009317A1 (ko) * 2018-07-03 2020-01-09 네이버 주식회사 블록체인 기반의 개인 데이터 처리 방법 및 시스템
KR102121930B1 (ko) * 2018-07-03 2020-06-11 네이버 주식회사 블록체인 기반의 개인 데이터 처리 방법 및 시스템
JP7416870B2 (ja) 2018-07-03 2024-01-17 ネイバー コーポレーション ブロックチェーンに基づく個人データ処理方法、コンピュータプログラム、記録媒体およびコンピュータ装置
KR20180104586A (ko) * 2018-07-03 2018-09-21 네이버 주식회사 블록체인 기반의 개인 데이터 처리 방법 및 시스템
JP7108057B2 (ja) 2018-07-03 2022-07-27 ネイバー コーポレーション ブロックチェーンに基づく個人データ処理方法およびシステム
JP2021528787A (ja) * 2018-07-03 2021-10-21 ネイバー コーポレーションNAVER Corporation ブロックチェーンに基づく個人データ処理方法およびシステム
KR102179076B1 (ko) * 2018-11-29 2020-11-16 동서대학교 산학협력단 공개 데이터셋의 데이터 무결성 보장을 위한 블록체인 솔루션 제공 시스템, 이의 처리 방법
KR20200064623A (ko) * 2018-11-29 2020-06-08 동서대학교 산학협력단 공개 데이터셋의 데이터 무결성 보장을 위한 블록체인 솔루션 제공 시스템, 이의 처리 방법
KR102332004B1 (ko) * 2019-05-10 2021-11-29 주식회사 메디블록 블록체인 네트워크에서 계정을 관리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR20200129939A (ko) * 2019-05-10 2020-11-18 주식회사 메디블록 블록체인 네트워크에서 계정을 관리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
US11075909B1 (en) 2020-01-17 2021-07-27 FNS Value Co., Ltd. Multi-node authentication method and apparatus based on block chain
US10904252B1 (en) 2020-01-17 2021-01-26 FNS Value Co., Ltd. Multi-node authentication method and apparatus based on block chain
KR102329221B1 (ko) 2020-02-13 2021-11-23 경기대학교 산학협력단 블록체인 기반 사용자 인증 방법
KR20210103615A (ko) * 2020-02-13 2021-08-24 경기대학교 산학협력단 블록체인 기반 사용자 인증 방법
KR20210132526A (ko) 2020-04-27 2021-11-04 주식회사 시큐어링크 계층 블록체인을 이용한 인증 및 정책 관리 방법

Also Published As

Publication number Publication date
CN110291757A (zh) 2019-09-27
CA3053316C (en) 2022-01-18
CN110291757B (zh) 2022-08-09
CA3053316A1 (en) 2018-08-30
US10783260B2 (en) 2020-09-22
WO2018155822A1 (ko) 2018-08-30
US20190370479A1 (en) 2019-12-05

Similar Documents

Publication Publication Date Title
KR101816650B1 (ko) 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버
CA3049761C (en) Method for providing payment gateway service using utxo-based protocol and server using same
KR101816653B1 (ko) 스마트 컨트랙트 및 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
KR101816651B1 (ko) Utxo 기반 프로토콜의 블록체인 데이터베이스를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
US20220321359A1 (en) Methods and systems for ownership verification using blockchain
US10839395B2 (en) Techniques for expediting processing of blockchain transactions
US20210184867A1 (en) User authentication with self-signed certificate and identity verification
US20200059367A1 (en) Method and server for providing notary service with respect to file and verifying file recorded by the notary service
US20210182806A1 (en) Digital currency minting in a system of network nodes implementing a distributed ledger
AU2017313687A1 (en) Dynamic cryptocurrency aliasing
KR102116235B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR101816652B1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 서비스 제공 서버에 의하여 제공되는 서비스를 이용하기 위한 사용자의 로그인 요청에 대하여 pki 기반의 인증을 통해 로그인을 대행하는 방법 및 이를 이용한 서버
KR101976027B1 (ko) 암호 화폐의 전자 지갑 생성 및 백업 방법 및 이를 이용한 단말 장치와 서버
KR102118962B1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
KR101767534B1 (ko) 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버
KR101818601B1 (ko) 근거리 무선 통신 기반의 카드를 이용하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버
KR101862860B1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버
KR101767535B1 (ko) 근거리 무선 통신 기반의 카드를 통하여 본인 인증 서비스를 제공하는 방법 및 이를 이용한 카드, 인증용 단말, 인증 지원 서버 및 본인 인증 서버
KR101862862B1 (ko) Utxo 기반 프로토콜에서 머클 트리 구조를 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버
KR101862859B1 (ko) Utxo 기반 프로토콜을 사용하여 페이먼트 게이트웨이 서비스를 제공하는 방법 및 이를 이용한 서버
TWI763392B (zh) 機構識別編號的註冊方法及系統
CN115811412A (zh) 一种通信方法、装置、sim卡、电子设备和终端设备
US20230119035A1 (en) Platform services verification
KR20190114421A (ko) 블록체인 기반의 통합 로그인 방법, 단말 및 이를 이용한 서버
Len et al. ELEKTRA: Efficient Lightweight multi-dEvice Key TRAnsparency

Legal Events

Date Code Title Description
GRNT Written decision to grant