KR20210147807A - 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법 - Google Patents

마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법 Download PDF

Info

Publication number
KR20210147807A
KR20210147807A KR1020200065583A KR20200065583A KR20210147807A KR 20210147807 A KR20210147807 A KR 20210147807A KR 1020200065583 A KR1020200065583 A KR 1020200065583A KR 20200065583 A KR20200065583 A KR 20200065583A KR 20210147807 A KR20210147807 A KR 20210147807A
Authority
KR
South Korea
Prior art keywords
real
name
real name
transaction data
face
Prior art date
Application number
KR1020200065583A
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 KR1020200065583A priority Critical patent/KR20210147807A/ko
Publication of KR20210147807A publication Critical patent/KR20210147807A/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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
    • 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/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
    • 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/3271Cryptographic 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 challenge-response
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

본 발명은 비대면으로 실명정보를 확인하는 기술에 관한 것으로, 실명확인수요서버에서 챌린지값을 사용자단말로 전송하는 단계; 사용자가 사용자단말에 마스터패스워드 입력하면, 상기 마스터패스워드를 이용해 상기 챌리지값을 암호화하는 단계; 실명연계계좌번호와 '상기 마스터패스워드를 이용해 산출한 OTP'와 실명확인수요기관식별정보와 '상기 실명연계계좌번호에 해당하는 성명 및 주민번호와 상기 실명연계계좌번호에 입금된 거래의 적요들 중 비대면실명확인용도식별코드 포함된 적요를 상기 실명확인수요기관에게 제공할 것을 신청한다는 요지'를 포함하는 마이데이터이동신청트랜잭션데이터와 전자서명을 작성하는 단계; 사용자단말에서 상기 성명 및 주민번호와 실명연계계좌번호와 암호화된 챌린지값을 실명확인수요서버로 전송하는 단계; 실명확인수요서버에서 랜덤한 암호 생성하고, 상기 실명연계계좌번호를 입금계좌로 하여 소액 송금하되 적요로서 비대면실명확인용도식별코드와 상기 암호 결합한 텍스트가 기록되도록 하는데 필요한 동작을 하는 단계; 사용자단말에서 실명확인서비스서버로 상기 '마이데이터이동신청트랜잭션데이터 및 전자서명'을 전송하는 단계; 실명확인서비스서버에서 '상기 마이데이터이동신청트랜잭션데이터에 포함된 실명연계계좌번호’에 매칭되어 저장된 정보를 이용해 상기 전자서명과OTP를 검증하는 단계; 검증되면, 트랜잭션데이터DB에 상기 마이데이터이동신청트랜잭션데이터 및 전자서명을 저장하고, 마이데이터이동신청트랜잭션데이터 및 전자서명 각각의 해시값들의 루트해시값을 해시DB에 저장하는 단계; 실명확인서비스서버에서 계좌별 거래원장에서 '상기 실명연계계좌번호에 해당하는 입금거래의 적요'들 중 비대면실명확인용도식별코드를 포함하는 적요를 추출하고, 실명확인서비스기관의 실명연계공개키와 '상기 실명연계계좌번호와 매칭되어 저장된, 성명과 주민번호와 실명연계공개키'와 상기 적요를 포함하는 마이데이터이동트랜잭션데이터와 전자서명을 작성해 실명확인수요서버로 전송하는 단계; 실명확인수요서버에서 상기 전자서명을 검증하고, '상기 마이데이터이동트랜잭션데이터에 포함된 적요'와 ‘상기 기록되도록 필요한 동작을 한 적요’를 대조하는 단계; 모두 검증되는 경우, 트랜잭션데이터DB에 상기 마이데이터이동트랜잭션데이터와 전자서명을 저장하고, 상기 마이데이터이동트랜잭션데이터 및 전자서명의 루트해시값을 산출해 해시DB에 저장하는 단계; 실명확인수요서버에서 '상기 실명연계공개키'로 '상기 수신한 암호화된 챌린지값'을 복호화해 '상기 사용자단말로 전송한 챌린지값'과 대조하고, '상기 사용자단말로부터 수신한, 성명 및 주민번호’와 '상기 마이데이터이동트랜잭션데이터에 포함된, 성명 및 주민번호'를 각각 대조하는 단계; 대조 결과 모두 일치하는 경우, 비대면실명확인이 완료된 것으로 판단하는 단계; 를 포함한다.

Description

마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법{The method of non-face-to-face real name verification utilizing Master-password and Block-chain}
본 발명은 비대면으로 서버에 접속하는 단말 사용자의 성명과 주민번호 등 실명정보를 확인하는 기술에 관한 것이다.
최근 비대면거래가 확산되면서 비대면거래에서 거래상대방의 신원을 편리하게 확인할 필요가 확산되고 있다.
이러한 배경에서 2015년 5월 18일 금융위원회에서 비대면실명확인 가이드라인을 발표했는데, 그 요지는 해외에서 검증된 아래 4가지 비대면확인 방식과 기타 이에 준하는 방식 중 2가지 방식 이상을 중복해 확인하면 실명확인 한 것으로 인정해 준다는 것이다.
해외에서 검증된 4가지 방식 중 첫번째는 "신분증 사본 제시"인데, 고객이 신분증(주민등록증, 운전면허증, 여권 중 하나)을 촬영 또는 스캔하여 온라인(모바일 포함)으로 제출하고 실명확인 해야 하는 금융회사가 상기 신분증 발급기관에 진위여부를 확인하는 방법이다.
둘째는 "영상통화"인데, 실명확인 해야 하는 금융회사 직원이 고객과 영상통화하면서 육안 및 안면인식기술을 통해 신분증상 사진과 고객 얼굴을 대조하는 방법이다.
세째는 "현금카드 등 전달시 확인"인데, 현금카드, 보안카드 등을 고객에게 우편 등으로 전달시 전달업체 직원이 증표를 통해 실명확인하는 방법이다.
넷째는 "기존계좌 활용"인데, 실명확인 해야 하는 금융회사가 타 금융회사에 이미 개설된 고객의 계좌로 소액이체하며 적요란에 암호를 기록하고, 고객이 상기 암호를 확인해 제시하는 방법 등을 통해 고객의 동 기존계좌 거래권한을 확인하는 방법이다.
상기 4가지 해외에서 검증된 방식에 더하여 금융회사가 "이에 준하는 새로운 방식"을 개발·사용하는 것도 가능토록 하여 기술중립성 확보 및 금융회사핀테크업체의 기술개발 유도하겠다고 발표한 바 있다.
그런데, "영상통화"방법의 경우, 현실적으로 금융회사에서 담당직원이 상주할 수 있는 영업시간에만 가능하고 영상장비를 보유한 고객만 활용 가능하다는 단점 때문에 금융회사들이 기피하고 있다. "현금카드 등 전달시 확인"방법의 경우, 현금카드 등의 배송에 시간이 소요되고 전달업체 직원의 책임성을 담보하는데 한계가 있다는 단점 때문에 금융회사들이 기피하고 있다.
그러다 보니, 상기 비대면실명확인 가이드라인 발표이후 대부분의 국내 금융회사들은 비대면방식으로 신규 고객의 계좌를 개설할 때 "신분증 사본 제시"와 "기존계좌 활용"을 중복해 사용해 오고 있다.
그러다 보니, 비대면으로 실명확인해야 하는 고객입장에서는 다음과 같이 매우 복잡한 수작업 동작을 해야 한다. 우선 실명확인이 필요한 금융회사가 제공하는 화면에 성명과 주민번호를 입력하고, 기존계좌 개설된 은행을 선택하고, 상기 은행에 개설된 계좌번호를 입력하고, 신분증을 촬영하고, 촬영된 신분증이미지를 상기 화면의 규격에 맞춰 업로드하고, 상기 기존계좌 개설된 은행의 모바일뱅킹앱을 선택하고, 상기 모바일뱅킹에 로그인하기 위한 본인인증수단으로서 공인인증서를 선택하고, 공인인증서용패스워드를 입력하고, 본인인증에 성공한 후 출력된 메인화면에서 거래내역조회 메뉴를 선택하고, 거래계좌번호들이 출력되면 그 중 조회대상계좌번호로서 상기 입력한 계좌번호를 선택하고, 거래내역이 출력되면 그 중 상기 '실명확인이 필요한 금융회사'의 입금거래내역을 찾아 그 입금거래내역의 적요를 확인하고, 다시 '실명확인이 필요한 금융회사의 창'을 선택하고, 상기 창의 입력란에 상기 적요를 입력해야 한다.
그나마, 신분증 촬영을 한번에 정확히 마쳤을 때만 그러하고, 빛의 반사 등의 사유로 한 번 촬영한 신분증이미지를 업로드했을 때 에러메시지가 나오는 사례가 적지 않다. 그 경우 신분증 촬영과 신분증이미지 업로드를 반복해야 하며, 그러한 반복이 몇 차례 계속되면 고객 중 상당수는 비대면실명확인 절차를 포기하게 되고, 결국 실명확인이 필요한 금융회사 입장에서는 소중한 신규고객을 잃게 된다.
상기와 같이 복잡한 사용자체험을 해결하기 위해 이동통신단말기를 이용한 비대면 실명확인 방법 (한국출원번호1020150154643), 블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 방법(한국출원번호 1020170010413), 블록체인 기반 디지털 신분증 및 이의 발급과 신원확인 방법(한국출원번호 1020190128309) 등이 제시된 바 있다.
이동통신단말기를 이용한 비대면 실명확인 방법(한국출원번호1020150154643)은, 사용자가 서비스제공사(실명확인이 필요한 금융기관 등) 서버에 이용신청을 하며 실명확인을 위해 사용자단말에 사용자 신분에 대한 정보를 입력하면, 상기 서비스제공사 서버가 자체적으로 보유한 신분에 관한 정보와 비교하되, 접속한 사용자단말에 관한 정보를 간편인증서버로 전송하며 사용자단말 인증 요청을 하고, 간편인증서버는 상기 수신한 사용자단말에 관한 정보를 ‘이동통신사서버로부터 제공받아 보유중인 단말기정보’와 비교해 인증한 결과를 서비스 제공사 서버로 전송하고, 서비스 제공사는 사용자 신분에 대한 정보 일치하고, 사용자단말에 관한 인증정보 수신하면 본인확인 완료한 것으로 판단하는 방법이다.
그런데 상기 방법은 몇 가지 문제를 수반하고 있다. 첫째, 사용자단말을 점령한 해커가 ‘상기 사용자단말에 저장된 사용자단말에 관한 정보’ 및 ‘상기 사용자단말에 저장되어 있거나, 상기 사용자와의 거래 등을 통해 수집한 상기 사용자단말 사용자에 관한 정보’를 서비스 제공사서버로 전송하는 방법으로 해킹할 위험(이하 "사용자단말점령해커의 사용자단말저장정보 이용하는 해킹위험"이라 한다)이다.
둘째, 사용자 신분에 관한 정보로서 주민증 등 실명확인증표를 촬영하여 제시하는 방법도 제시하고 있으나, 그 경우 실명확인시마다 실명확인증표 촬영해야 하는 불편(이하 "신분증촬영불편"이라 한다)이다.
셋째, 사용자 신분에 관한 정보와 사용자단말에 관한 정보를 암호화해 사용자단말에 저장하는 방법도 제시하고 있으나, 사용자단말을 점령한 해커가 사용자단말에 저장된 복호화키를 찾아내거나, 암호화된 정보들을 복호화한 값들이 모두 readable data형태로 나올 때까지 trial and error 계속하는 방법으로 복호화키를 찾아낼 위험(이하 "사용자단말점령해커의 복호화키 해킹위험"이라 한다)이다.
넷째, 사용자단말을 점령한 해커(또는 악의의 사용자)가 ‘상기 사용자단말에 저장된, 사용자단말에 관한 정보 및 상기 사용자에 관한 정보’를 이용하면 수작업 필요 없는 완전 자동화된 실명확인을 통해 불법적인 목적의 계좌 개설을 대량으로 할 수 있게 된다는 부작용(이하 "불법계좌 대량개설 용이해지는 부작용"이라 한다)이다. 불법계좌 대량개설이 용이해지는 부작용은 비대면실명확인업무에 대한 규제부처인 금융위원회에서 민감하게 생각하는 부작용이다.
다섯째, 현행 비대면실명확인 가이드라인을 충족하지 못해, 상기 규제를 변경하기 전까지는 비대면실명확인 방법으로 인정되지 않는다는 한계(이하 "현행규제미충족한계"라 한다)다.
블록체인 네트워크를 이용해서 사용자를 인증하고 블록을 동기화하는 방법(한국출원번호 1020170010413)은, 사용자단말에서 공개키와 개인키 및 임의의 제1난수(사용자의 패스워드 해당) 생성하고, 제1피어(인증서 발행 서비스 제공사)에게 상기 공개키와 제1난수 전송하며 인증서발급 신청하면, 제1피어가 인증서식별정보와 제1난수 이용해 제1인증정보 생성하고, 제1피어가 제1인증정보와 자체 생성한 제2난수 이용해 제2인증정보 생성하고, 제1피어가 사용자의 공개키와 인증서식별정보 이용해 인증서 생성해 블록체인에 저장하고, 피어들은 블록체인에서 사용자의 공개키와 인증서식별정보 확인 가능하고, 제1피어가 '제2인증정보와 인증서식별정보와 암호화된 제2난수'를 블록체인에 저장하는 한편 인증서를 사용자단말로 전송한다.
상기 방법은 인증서 발행 후 사용자가 제2피어로부터 인증 필요시에는, 사용자단말에서 ‘인증서식별정보 포함하는 전자서명’과 제1난수(사용자의 패스워드 해당)를 제2피어로 전송하고, 제2피어는 상기 인증서식별정보 및 제1난수 이용해 제1인증정보 추정하고, 제2피어가 인증서식별정보와 ‘추정된 제1인증정보’를 블록체인에 저장하고, 제1피어가 상기 저장 감지하면 블록체인에서 상기 인증서식별정보에 매칭해 저장된 ‘암호화된 제2난수’ 확인해 복호화하고, 상기 ‘추정된 제1인증정보’와 상기 제2난수 이용해 제2인증정보 추정하고, 제1피어가 '블록체인에 상기 인증서식별정보와 함께 저장된 제2인증정보'와 상기 추정된 제2인증정보간 일치여부를 블록체인에 저장하면, 제2피어가 상기 저장된 인증결과 감지하는 방법이다.
그런데 상기 방법도 몇 가지 문제를 수반하고 있다. 첫째, 사용자는 접근하고자 하는 모든 피어에게 제1난수를 제시해야 하는데, 상기 피어들 중 악의의 피어가 상기 사용자를 가장하여 다른 피어에게 접근하고자 상기 제1난수 몰래 저장했다 사용할 위험(이하 "사용처 종사자의 고객이 제시한 범용인증매체 악용위험"이라 한다)이다.
둘째, 사용자는 비밀키를 사용자단말에 저장하게 되는데, 통상 사용자가 암기해야 할 대칭키로 암호화해 저장한 후 필요시 상기 대칭키로 복호화하거나, 사용자가 암기해야 하는 패스워드를 제시하거나 생체정보를 제시해야 접근되는 장소에 저장할 것이다. 그런데, 대칭키나 패스워드를 암기해야 한다면 사용자가 불편(이하 "암기력한계불편"이라 한다)해지고, 생체정보를 제시해야 하는 경우 해커가 생체정보를 복사해 제시할 위험(이하 "Constant인증매체 해킹해 이용할 위험"이라 한다)이다.
셋째, 사용자단말을 점령한 해커(또는 악의의 사용자)가 ‘상기 사용자단말에 저장된, 비밀키와 제1난수’를 이용해 수작업 필요 없는 완전 자동화된 실명확인을 통해 불법적인 목적의 계좌 개설을 대량으로 할 수 있게 된다는 "불법계좌 대량개설 용이해지는 부작용"이다.
네째, 현행 비대면실명확인 가이드라인을 충족하지 못해, 상기 규제를 변경하기 전까지는 비대면실명확인 방법으로 인정되지 않는다는 "현행규제미충족한계"다.
블록체인 기반 디지털 신분증 및 이의 발급과 신원확인 방법(한국출원번호 1020190128309)은, 사용자단말이 사용자로부터 사용자정보(실명정보 등) 입력받고 신분증명용 공개키 및 개인키 생성하고, 사용자단말에 신분증명용 개인키 저장하되 생체인증 등을 통해 신분증명용 개인키 접근 통제하고, 신분증명용 공개키를 신분증명용 개인키로 서명해 POP(Proof of Possessing) 정보 생성하고, 사용자정보와 신분증명용 공개키와 POP정보를 기관서버로 제공하고, 기관서버는 POP서명 검증하고, 해시된 사용자정보 및 신분증명용 공개키를 블록체인에 전송하며 디지털신분증의 발급 또는 서명 요청하고, 블록체인은 해시된 사용자정보 및 신분증명용 공개키를 저장하는 제1트랜잭션 생성하고, 제1트랜잭션의 해시값을 기반으로 발급증명용 공개키 및 개인키 생성하고, 해시된 사용자정보를 발급증명용 개인키로 서명해 발급증명정보 생성 후 발급증명용 개인키 삭제하고, 발급증명정보 및 발급증명용 공개키를 저장하는 제2트랜잭션 생성하고, 발급증명정보 및 발급증명용 공개키를 기관서버로 전송하고, 기관서버는 ‘발급증명정보 및 발급증명용 공개키’와 ‘사용자단말로부터 수신했던 사용자정보 및 신분증명용 공개키’ 포함하는 디지털신분증 생성해 사용자단말에 제공하고, 사용자정보 삭제한다.
상기 방법은 신원확인 필요시, 사용자단말이 디지털신분증 내의 사용자정보 중 기관서버가 요청하는 일부정보 추출하고, 용도와 제출처와 유효기간 등 추가하여 용도 제한되는 제출정보 구성하고, 제출정보를 해시한 제1해시값 생성하고, 디지털신분증 내의 발급증명정보 해시한 제2해시값 생성하고, 제1해시값 및 제1해시값에 대해 신분증명용 개인키로 서명한 신원확인서명값 생성하고, 제출정보와 제1해시값과 신원확인서명값과 신분증명용 공개키와 발급증명용 공개키 포함하는 신원확인증명서 생성해 기관서버에 제출하고, 상기 신원확인 증명서 수신한 기관서버는 이의 검증을 블록체인에 요청하고, 블록체인은, 신원확인증명서에서 추출한 신분증명용 공개키를 블록체인에 저장되어 있던 신분증명용 공개키와 비교하여 무결성 검증하고, 신원확인 증명서에서 추출한 제출정보를 해시하여 제3해시값 생성하고, 신원확인증명서에서 추출한 발급증명용 공개키로 블록체인에 저장된 발급증명정보 추출하고, 발급증명정보를 해시해 제4해시값 생성하고, 신분증명용 공개키 이용해 신원확인서명값에서 제1해시값 및 제2해시값 추출하고, 상기 제1해시값 및 제2해시값을 상기 제3해시값 및 제4해시값과 비교해 모두 일치하면 신원이 증명되었다고 판단한다.
그런데 상기 방법도 몇 가지 문제를 수반하고 있다. 첫째, 사용자가 입력한 사용자정보가 허위이면 블록체인에 저장되는 사용자정보의 해시값도 허위인바, 신원확인증명서가 증명하는 제출정보도 허위가 될 위험(이하 "허위로 입력한 사용자정보에 의한 허위 신원확인위험"이라 한다)이다.
둘째, 디지털신분증에 포함되지 않은 허위정보로 제출정보 생성하더라도 블록체인에서는 ‘신원확인증명서에 포함된 허위 제출정보’를 해시한 제3해시값과 ‘신원확인 증명서에 포함된, 상기 허위의 제출정보의 해시값인 제1해시값’을 비교하기에 허위제출정보임이 드러나지 않는다는 문제(이하 "디지털신분증에 미포함된 허위정보로 신원증명 가능한 문제"라 한다)다.
셋째, 사용자는 별도의 신분증명용 비밀키를 암기하거나 사용자단말에 저장해야 하기에, 상기 "암기력한계불편"과 "Constant인증매체 해킹해 이용할 위험" 중 하나는 수반된다는 점이다.
넷째, 사용자단말을 습득한 해커가 ‘상기 사용자단말에 저장된 인증서’를 이용해 수작업 필요 없는 완전 자동화된 실명확인을 통해 불법적인 목적의 계좌 개설을 대량으로 할 수 있게 된다는 "불법계좌 대량개설 용이해지는 부작용"이다.
다섯째, 현행 비대면실명확인 가이드라인을 충족하지 못해, 상기 규제를 변경하기 전까지는 비대면실명확인 방법으로 인정되지 않는다는 "현행규제미충족한계"다.
본 발명의 목적은 비대면실명확인에서 사용자의 불편을 최소화하면서도, 상기 목적에서 제시된 상기 선행기술들에 수반되는, "사용자단말점령해커의 사용자단말저장정보 이용하는 해킹위험"과 "신분증촬영불편"과 "사용자단말점령해커의 복호화키 해킹위험"과 "불법계좌 대량개설 용이해지는 부작용"과 "현행규제미충족한계"와 "사용처 종사자의 고객이 제시한 범용인증매체 악용위험"과 "암기력한계불편"과 "Constant인증매체 해킹해 이용할 위험"과 "허위로 입력한 사용자정보에 의한 허위 신원확인위험"과 "디지털신분증에 미포함된 허위정보로 신원증명 가능한 문제"를 해소하거나 완화하는 방법을 제시하는 데 있다.
이러한 기술적 과제를 해결하기 위한 본 발명의 특징에 따른 방법의 일 실시예는, 사용자단말에 본 발명의 인증앱을 설치하는 방법으로, 사용자가 사용자단말에 자신의 성명과 주민번호와 실명확인된 계좌번호 및 계좌비번을 입력하고 '상기 계좌가 개설된 실명확인서비스기관식별정보'를 선택하는 단계; 마스터패스워드를 입력하는 단계; 사용자단말에서 랜덤한 난수를 생성하고 현재 단말기위치의 GPS값을 측정하고 현재시간의 타임스탬프를 산출하는 단계; 상기 난수와 GPS값과 타임스탬프를 이용해 실명연계비밀키 및 실명연계공개키 세트와 최초의 실명확인서비스기관용일회용단말검증코드를 각각 랜덤하게 binary code 형태로 산출하는 단계; 비밀정보DB의 실명레코드의 'ID필드와 공개키필드'에 각각 상기 '성명과 주민번호'를 저장하는 단계; 실명확인서비스기관상호의 해시값과 상기 마스터패스워드의 해시값을 이용해 binary code 형태의 실명확인서비스기관전용마스터키를 산출하는 단계; 상기 실명확인서비스기관전용마스터키를 이용해 상기 계좌비번과 실명연계비밀키를 암호화하는 단계; 상기 실명연계공개키를 이용해 상기 최초의 실명확인서비스기관용일회용단말검증코드를 암호화하는 단계; 비밀정보DB의 실명확인서비스기관레코드의 '사이트필드와 ID필드와 패스워드필드와 단말검증코드필드와 공개키필드와 비밀키필드’에 각각 상기 '실명확인서비스기관상호와 실명확인된 계좌의 계좌번호와 암호화된 계좌비번과 암호화된 최초의 실명확인서비스기관용일회용단말검증코드와 실명연계공개키와 암호화된 실명연계비밀키'를 저장하는 단계; 사이트DB에서 상기 실명확인서비스기관식별정보에 매칭된 공개키필드값을 실명확인서비스기관의 공개키로서 검색하고, 상기 실명확인서비스기관의 공개키로 상기 '계좌번호 및 계좌비번과 실명연계공개키 및 최초의 실명확인서비스기관용일회용단말검증코드'를 각각 암호화하는 단계; 상기 암호화된 '계좌번호와 계좌비번과 실명연계공개키와 최초의 실명확인서비스기관용일회용단말검증코드'를 포함하는 소정의 실명연계공개키등록신청전문을 작성하고, 상기 실명연계비밀키를 이용해 상기 실명연계공개키등록신청전문에 대한 전자서명을 작성하는 단계; 사용자단말에서 상기 실명연계공개키등록신청전문과 전자서명을 실명확인서비스기관의 접속주소로 전송하는 단계; 실명확인서비스서버가 자신의 비대면실명확인업무용 비밀키로 상기 실명연계공개키등록신청전문에 암호화되어 포함된 '계좌번호와 계좌비번과 실명연계공개키와 최초의 실명확인서비스기관용일회용단말검증코드'를 각각 복호화하고, 상기 복호화된 실명연계공개키로 상기 전자서명을 검증하는 단계; 상기 검증에 성공하면, '상기 복호화된 계좌비번'을 검증하는 단계; 대조결과 일치하면, 고객DB에 '상기 복호화된 계좌번호'에 매칭해 '상기 복호화된, 실명연계공개키와 최초의 실명확인서비스기관용일회용단말검증코드'를 저장하는 단계; 를 포함한다.
또한 상기와 같이 설치된 인증앱을 이용하여 비대면실명확인 하는 방법은, 실명확인수요서버에서 실명확인수요기관의 공개키와 챌린지값과 앱기동코드를 사용자단말로 전송하는 단계; 사용자가 사용자단말에 마스터패스워드 입력하면, 비밀정보DB의 실명확인서비스기관레코드의 '사이트필드값과 ID필드값과 패스워드필드값과 비밀키필드값과 단말검증코드필드값'을 각각 '실명확인서비스기관상호와 실명연계계좌번호와 암호화된 실명연계계좌비번과 암호화된 실명연계비밀키와 암호화된 일회용단말검증코드'로서 검색하고, 상기 마스터패스워드와 상기 실명확인서비스기관상호 각각의 해시값을 이용해 binary code 형태의 실명확인서비스기관전용마스터키를 산출하는 단계; 상기 실명확인서비스기관전용마스터키로 '상기 검색된, 암호화된 실명연계계좌비번과 암호화된 실명연계비밀키'를 각각 복호화하고, 상기 실명연계비밀키로 상기 '암호화된 일회용단말검증코드'를 복호화하는 한편 상기 챌리지값을 암호화하는 단계; 상기 일회용단말검증코드로 상기 실명연계계좌비번을 암호화해 OTP를 산출하는 단계; 비밀정보DB의 실명레코드의 'ID필드값과 공개키필드값'을 각각 '성명 및 주민번호'로서 검색하는 단계; '발신자식별정보로서의 상기 실명연계계좌번호’와 ‘발신자 본인인증매체로서의 상기 OTP’와 ‘마이데이터수신자식별정보로서의, 상기 실명확인수요기관의 공개키'와 상기 실명연계계좌번호에 해당하는 성명 및 주민번호와 '최근 5분 이내에 상기 실명연계계좌번호에 입금된 거래의 적요들 중 첫문자가 비대면실명확인용도식별코드인 적요를 상기 마이데이터수신자에게 제공할 것을 신청한다는 요지'를 포함하는 마이데이터이동신청트랜잭션데이터를 작성하고, 상기 실명연계비밀키로 상기 마이데이터이동신청트랜잭션데이터에 대한 전자서명을 작성하는 단계; 사용자단말에서 '상기 검색된, 성명 및 주민번호와 실명확인서비스기관상호 및 실명연계계좌번호'와 '상기 암호화된 챌린지값'을 실명확인수요서버로 전송하는 단계; 실명확인수요서버에서 공지의 방법으로 소정 규격의 랜덤한 암호 생성하고, '상기 실명확인서비스기관상호에 해당하는 기관에 개설된 상기 실명연계계좌번호'를 입금계좌로 하여 소액 송금하되 적요로서 비대면실명확인용도식별코드와 상기 암호 결합한 텍스트가 기록되도록 하는데 필요한 동작을 하는 단계; 사용자단말에서 실명확인서비스서버로 상기 '마이데이터이동신청트랜잭션데이터 및 전자서명'을 전송하는 단계; 실명확인서비스서버에서 고객DB에서 '상기 마이데이터이동신청트랜잭션데이터에 포함된 실명연계계좌번호’에 매칭된 '공개키필드값과 패스워드필드값과 단말검증코드필드값'을 각각 '실명연계공개키와 계좌비번의 해시값과 일회용단말검증코드'로서 검색하고, 상기 실명연계공개키로 상기 전자서명을 검증하는 단계; 검증에 성공하면, 실명확인서비스서버에서 '상기 마이데이터이동신청트랜잭션데이터에 포함된 OTP'를 '상기 검색한 일회용단말검증코드'로 복호화해 실명연계계좌의 계좌비번을 산출해 그 해시값을 산출하고 '상기 검색된 계좌비번의 해시값'과 대조하는 단계; 대조 결과 일치하면, 실명확인서비스서버에서 트랜잭션데이터DB에 소정의 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 상기 마이데이터이동신청트랜잭션데이터 및 전자서명을 저장하고, 상기 타임스탬프와 트랜잭션데이터일련번호와 마이데이터이동신청트랜잭션데이터 및 전자서명 각각의 해시값들의 루트해시값을 산출하고, 해시DB에 상기 트랜잭션데이터일련번호에 매칭하여 상기 타임스탬프와 상기 루트해시값을 저장하는 단계; 실명확인서비스서버에서 소정 규격의 일회용단말검증코드를 랜덤하게 산출하고, 상기 산출된 일회용단말검증코드로 '고객DB에서 검색한 상기 단말검증코드필드'를 업데이트하고, '상기 검색한 실명연계공개키'로 상기 '랜덤하게 산출한 일회용단말검증코드'를 암호화하고, 상기 암호화된 일회용단말검증코드를 사용자단말로 회신하는 단계; 실명확인서비스서버에서 계좌별 거래원장에서 '상기 마이데이터이동신청트랜잭션데이터에 포함된 실명연계계좌번호'에 해당하여 최근 일정기간 이내에 기록된 입금거래의 적요들을 추출하고, 상기 적요들 중 비대면실명확인용도식별코드를 포함하는 적요를 추출하고, 고객DB에서 상기 실명연계계좌번호에 매칭된 '성명과 주민번호와 실명연계공개키'를 검색하고, 상기 '성명과 주민번호와 실명연계공개키와 적요'를 ‘상기 마이데이터이동신청트랜잭션데이터에 포함된, 실명확인수요기관의 공개키’로 암호화하는 단계; 실명확인서비스서버에서 '작성자식별정보로서의, 실명확인서비스기관의 실명연계공개키'와 '수신자식별정보로서의, 상기 실명확인수요기관의 공개키'와 상기 암호화된 '성명과 주민번호와 실명연계공개키와 적요’를 포함하는 마이데이터이동트랜잭션데이터를 작성하는 단계; 실명확인서비스기관의 실명연계비밀키를 이용해 상기 마이데이터이동트랜잭션데이터에 대한 전자서명을 작성하고, 상기 마이데이터이동트랜잭션데이터와 전자서명을 '상기 실명확인수요기관의 공개키’에 해당하는 실명확인수요서버로 전송하는 단계; 실명확인수요서버에서 '상기 마이데이터이동트랜잭션데이터에 작성자식별정보로서 포함된, 실명확인서비스기관의 실명연계공개키'로 상기 전자서명을 검증하는 단계; 상기 검증에 성공한 경우, 실명확인수요서버에서 '상기 마이데이터이동트랜잭션데이터에 포함된 암호화된, 성명과 주민번호와 실명연계공개키와 적요’를 각각 실명확인수요기관의 실명연계비밀키로 복호화하고, 상기 복호화된 적요와 ‘상기 기록되도록 필요한 동작을 한 적요’를 대조하는 단계; 대조 결과 일치하는 경우, 실명확인수요서버에서 트랜잭션데이터DB에 소정의 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 '상기 수신한, 마이데이터이동트랜잭션데이터와 전자서명’을 저장하고, 상기 '타임스탬프와 트랜잭션데이터일련번호와 마이데이터이동트랜잭션데이터 및 전자서명' 각각의 해시값들의 루트해시값을 산출하고, 해시DB에 상기 트랜잭션데이터일련번호에 매칭하여 상기 타임스탬프와 상기 루트해시값을 저장하는 단계; 실명확인수요서버에서 '상기 복호화된 실명연계공개키'로 '상기 수신한 암호화된 챌린지값'을 복호화하고, 상기 복호화된 챌린지값과 '상기 사용자단말로 전송한 챌린지값'을 대조하는 단계; 상기 대조 결과 일치하면, 실명확인수요서버에서 '상기 사용자단말로부터 수신한, 성명 및 주민번호’와 '상기 복호화된, 성명 및 주민번호'를 각각 대조하는 단계; 대조 결과 모두 일치하는 경우, 실명확인수요서버에서 비대면실명확인이 완료된 것으로 판단하고 고객DB에 상기 '성명 및 주민번호'에 매칭하여 '상기 복호화한 실명연계공개키'를 저장하는 단계; 사용자단말에서 '상기 전송된, 암호화된 일회용단말검증코드'를 수신하면, 비밀정보DB의 실명확인서비스기관레코드의 단말검증코드필드값을 상기 수신한 '암호화된 일회용단말검증코드'로 업데이트하는 단계; 소정의 블록생성주기별로 실명확인서비스서버와 실명확인수요서버에서 각각 각자의 해시DB에서 당해 블록생성주기에 해당하는 타임스탬프들을 추출하고, 상기 타임스탬프에 매칭된 루트해시값들을 추출하고, 상기 추출된 '타임스탬프들과 루트해시값들'의 루트해시값을 상기 블록생성주기에 해당하는 무결성증빙으로서 산출하고, '작성자식별정보로서의 자신을 운영하는 기관의 실명연계공개키'와 해당블록생성주기식별정보와 상기 무결성증빙을 포함하는 주기별증빙트랜잭션데이터를 작성하고, 상기 기관의 실명연계비밀키로 상기 주기별증빙트랜잭션데이터에 대한 전자서명을 작성하고, 상기 주기별증빙트랜잭션데이터와 전자서명을 블록체인네트웍에 브로드캐스트하는 단계; 블록체인네트웍에 참여하는 노드들 중 하나이상에서 '상기 브로드캐스트된, 주기별증빙트랜잭션데이터 및 전자서명'들의 루트해시값을 산출하고, 상기 루트해시값과 해당블록생성주기식별정보와 직전블록의 블록헤더의 해시값을 포함하는 소정 규격의 블록헤더를 작성하고, 상기 블록헤더와 상기 루트해시값 산출에 이용된 '주기별증빙트랜잭션데이터 및 전자서명'들로 해당블록생성주기의 블록을 작성하는 단계; 를 포함한다.
상기 실시예에 따르면, 최초로 인증앱을 설치할 때에는 종래 비대면실명확인시 대비 별 차이가 없지만, 그 후 비대면실명확인을 할 때에는 필요한 사용자의 수작업 액션이 '마스터패스워드 입력'만으로 대폭 간소화된다. 따라서 비대면실명확인에서 사용자의 불편이 최소화된다.
상기 실시예에 따르면, 비대면실명확인을 위해서는 사용자단말에 암호화되어 저장된 '계좌비번과 실명연계비밀키와 일회용단말검증코드'를 복호화할 수 있어야 한다. 그런데 상기 정보들의 복호화키는 실명확인서비스기관전용마스터키인데, 상기 실명확인서비스기관마스터키는 사용자단말은 물론 세상 어디에도 저장되지 않으며 필요할 때마다 binary code 형태로 랜덤하게 산출되는 값이어서, 사용자단말을 점령한 해커가 trial and error 방식으로도 추정할 수도 없다. 따라서, "사용자단말점령해커의 사용자단말저장정보 이용하는 해킹위험"과 "사용자단말점령해커의 복호화키 해킹위험"이 감축된다.
상기 실시예에 따르면, 사용자가 신분증을 촬영해 업로드하는 동작이 필요 없다. 따라서, "신분증촬영불편"이 해소된다.
상기 실시예에 따르고 사용자가 이용하는 모든 패스워드를 상기 마스터패스워드를 이용해 산출하는 사이트마스터키로 암호화해 상기 비밀정보DB에 저장하게 되면, 사용자는 마스터패스워드 외의 패스워드를 암기할 필요가 없다. 사용자가 단 하나의 마스터패스워드만 암기하면 다른 패스워드를 암기할 필요 없다면, 사용자는 마스터패스워드를 사용자단말에 저장할 필요가 없게 된다. 또한 사용자가 비대면실명확인을 한꺼번에 반복해야 할 상황은 실질적으로 존재하기 어렵다. 따라서 마스터패스워드를 자동으로 제출하게 할 필요도 없다. 반면, 비대면실명확인에 필수적인 마스터패스워드를 실명확인 건별로 수작업 입력해야 하기에, 비대면실명확인을 할 때마다 반드시 사용자는 마스터패스워드를 수작업으로 입력해야 한다. 따라서, 어떠한 목적에서건 대량의 자동화된 비대면실명확인을 통해 대량의 계좌를 개설하기도 어렵다. 따라서, 비대면실명확인 주관부처에서 민감하게 생각하는 '자동화된 프로세스에 의해 대량의 차명계좌가 개설될 위험'은 없다. 따라서 상기 실시예에 따르더라도 "불법계좌 대량개설 용이해지는 부작용"은 발생하지 않는다.
상기 실시예에 따르면, 금융위원회에서 발표한 비대면실명확인 가이드라인에서 열거한 해외에서 검증된 4가지 방식 중 "기존계좌 활용"을 적용하게 된다. 현재 대다수 금융기관에서 비대면실명확인을 위해 적용하는 프로세스와 차이점이 있다면, 사용자가 수작업으로 기존계좌 개설된 은행에 접속하여 적요를 열람하여 '실명확인이 필요한 금융회사'(이하 "실명확인수요기관"이라 한다)에 제시하는 프로세스가 사용자의 수작업 없이 자동화된 점이다. 상기와 같이 자동화되더라도, 계좌비번을 알 수 있고 일회용 단말검증코드를 보유한 단말을 소지한 사용자만 상기 자동화프로세스를 통해 상기 적요를 실명확인수요기관에 제시할 수 있기에, 상기 실시예와 같이 자동화하더라도 사용자의 동 기존계좌 거래권한은 확인된다. 또한 상기 실시예에 따르면, 실명확인수요기관에서 사용자단말로 전송한 챌린지값을 실명연계비밀키로 암호화해서 실명확인수요기관에게 제시하고, 실명확인수요기관은 '실명확인서비스기관에서 전송한 사용자의 실명연계공개키'를 이용해 상기 암호화된 챌린지값을 복호화하기에, 상기 실시예에서 비대면실명확인을 하려면 실명연계비밀키에 대한 사용권한을 입증해야 한다. 그리고 이러한 방식은 상기 비대면실명확인 가이드라인에서 열거한 금융회사가 사용할 수 있는 "이에 준하는 새로운 방식"에 해당된다. 특정 신기술을 "이에 준하는 새로운 방식"으로 볼 것인지에 대한 판단주체는 비대면으로 실명확인할 금융회사이기에, 실명확인수요기관이 상기 실시예를 "이에 준하는 새로운 방식"으로 봐서 실시하게 되면 비대면실명확인 가이드라인을 준수하게 된다는 점을 본 발명의 발명인이 금융위원회의 비대면실명확인업무 담당자로부터 확인받은 바 있다. 따라서, 상기 실시예에 따르면, "현행규제미충족한계"도 극복할 수 있게 된다.
상기 실시예에 따르면, 사용자가 실명확인서비스기관에 제시하는 인증매체는 OTP로 '상기 실명확인서비스기관에서만 보관중인 사용자의 실명연계계좌비번의 해시값'과 '상기 실명확인서비스기관에서만 보관중인 상기 사용자단말에 고유한 일회용단말검증코드'를 동시에 이용해서만 검증할 수 있다. 한편 사용자가 실명확인수요기관에 제시하는 인증매체는 '실명확인수요기관으로부터 수신한 챌린지값을 실명연계비밀키로 암호화한 값'으로, '상기 실명확인수요기관에서만 보관중인 상기 챌린지값'을 이용해서만 검증할 수 있다. 실명확인서비스기관 종사자들 중 (사후에 처벌받는 한이 있더라도) '상기 실명연계계좌비번의 해시값'과 '상기 사용자단말에 고유한 일회용단말검증코드'에 접근할 수 있는 자는 상기 챌린지값에 접근할 방법이 없다. 실명확인수요기관의 종사자들 중 (사후에 처벌받는 한이 있더라도) 상기 챌린지값에 접근할 수 있는 자는 '상기 실명연계계좌비번의 해시값'과 '상기 사용자단말에 고유한 일회용단말검증코드'에 접근할 방법이 없다. 즉, 사용자가 접근하는 사이트별로 서로 상이한 인증매체를 사용하기에 "사용처 종사자의 고객이 제시한 범용인증매체 악용위험"은 해소된다.
상기 실시예에 따르면, 사용자가 마스터패스워드만 암기해서 사용자단말에 입력하면, 마스터패스워드를 이용하여 '실명확인서비스기관에 제시해야 하는 인증매체인 OTP산출에 필요한, 실명연계계좌비번과 일회용단말검증코드'를 모두 복호화할 수 있고, '실명확인수요기관에 제시해야 하는 인증매체인 암호화된 챌린지값 산출에 필요한, 실명연계비밀키'를 복호화할 수 있다. 암복호화솔루션 개발자라면, 상기 실시예에서 마스터패스워드를 이용하여 '실명연계계좌비번과 일회용단말검증코드와 실명연계비밀키'를 각각 안전하게 암호화하여 비밀정보DB에 저장했다가 상기 저장한 정보가 필요할 때마다 입력받은 마스터패스워드를 이용하여 복호화하는 방법을 '사용자가 다른 사이트에 접근하기 위해 제시해야 하는 다른 패스워드 등'을 안전하게 비밀정보DB에 저장했다가 상기 정보가 필요할 때마다 입력받는 마스터패스워드를 이용하여 복호화해 사용할 수 있다는 점을 이해할 수 있을 것이다. 상기 실시예에 따르고 사용자가 이용하는 모든 패스워드를 상기 마스터패스워드를 이용해 산출하는 사이트마스터키로 암호화해 상기 비밀정보DB에 저장하게 되면, 사용자는 마스터패스워드 외의 패스워드를 암기할 필요가 없다. 따라서 본 발명을 실시하면 "암기력한계불편"도 해소된다.
상기 실시예에 따르면, 사용자가 실명확인할 때마다 실명확인서비스기관에 제시해야 하는 인증매체는 OTP로 실명확인할 때마다 변경되는 값이다. 한편 사용자가 실명확인할 때마다 실명확인수요기관에 제시하는 인증매체는 '실명확인수요기관으로부터 수신한 챌린지값을 실명연계비밀키로 암호화한 값'이고 상기 챌린지값이 실명확인할 때마다 변경되기에 '상기 챌린지값을 실명연계비밀키로 암호화한 값'도 실명확인할 때마다 변경된다. 따라서 상기 실시예에 따르면 "Constant인증매체 해킹해 이용할 위험"도 해소된다.
상기 실시예에 따르면, 사용자가 실명확인할 때마다 실명확인수요기관에 제시하는 성명 및 주민번호 등은 항상 '실명확인서비스기관로부터 수신한 성명 및 주민번호'와 대조되고, 상기 '실명확인서비스기관로부터 수신한 성명 및 주민번호'는 실명확인서비스기관에서 사전에 실명확인을 하며 등록한 정보이기에, "허위로 입력한 사용자정보에 의한 허위 신원확인위험"이 감축되고, "디지털신분증에 미포함된 허위정보로 신원증명 가능한 문제"도 해소된다.
도 1은 본 발명의 일 실시예에 따른, 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법을 구현하기 위한 장치의 블록도다.
도 2 내지 도 4는 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법의 바람직한 일 실시예에서, 본 발명의 사용자가 자신의 사용자단말에 본 발명의 인증앱을 설치하는 동작 일 실시예를 설명한 도면이다.
도 5 내지 도 7은 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법의 바람직한 일 실시예에서, 사용자단말에 설치된 인증앱을 이용하여 비대면실명확인 하는 동작 일 실시예를 설명한 도면이다.
도 8은 본 발명의 사용자단말에 출력되는 실명확인서비스기관선택화면의 일 실시예다.
도 9는 본 발명의 사용자단말에 출력되는 실명및연결계좌등록화면의 일 실시예다.
도 10은 본 발명의 사용자단말에 출력되는 마스터패스워드등록화면의 일 실시예다.
도 11은 본 발명의 사용자단말에 설치되는 인증앱에 구성되는 비밀정보DB의 일 실시예다.
도 12는 본 발명의 사용자단말에 설치되는 인증앱에 구성되는 사이트DB의 일 실시예다.
이하 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 상세히 기술하기로 한다.
본 발명의 실시예는 본 발명의 사상 및 범위를 벗어나지 않는 한도 내에서 다양하게 변경될 수 있다. 후술하는 상세한 설명은 본 발명을 한정하기 위한 것이 아니며, 상세한 설명에서 사용된 용어들은 가독성 또는 설명의 편리함을 위해 선택된 것이다.
또한 본 명세서에서 인용되는 "노드"란, 하나이상의 트랜잭션데이터를 이용하여 소정의 블록을 작성하여 하나이상의 피어노드로 전송하거나, 피어노드로부터 수신한 블록을 검증하고 저장할 수 있는 전산장치를 의미한다.
또한 본 명세서에서 인용되는 "루트해시값"이란 소정의 블록에 포함되는 각 트랜잭션데이터의 해시값들이 머클트리구조 또는 기타 소정의 구조로 압축된 해시값을 의미한다.
또한 본 명세서에서 인용되는 "마스터패스워드"란 사용자가 선정하여 암기하는 패스워드로서, 서버와 같은 외부 장치에는 물론 사용자단말이나 세상 누구에게도 노출하거나 저장할 필요 없는 패스워드를 의미한다.
또한 본 명세서에서 인용되는 "문자"란 ASCII문자테이블을 구성하는 256개 각각을 총칭한다. 따라서 상기 256개에 속하는 기호와 숫자와 대문자 알파벳과 소문자 알파벳은 각각 상기 "문자"의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "본인인증매체"란 사용자가 본인인증을 위해 본인인증대상 기관에 제시해야 하는 정보를 총칭한다. 따라서, 계좌비번, 모바일뱅킹 로그인용 패스워드, 공인인증서를 이용해 작성한 전자서명, 사설인증서를 이용해 작성한 전자서명, 실명연계비밀키를 이용해 작성한 전자서명, 통신매체와 분리된 OTP전용단말에서 산출된 OTP, 본인인증대상기관에서 사용자단말로 전송한 SMS, 사용자의 생체정보, 본 명세서에서 예시한 일회용단말검증코드를 이용해 산출하는 OTP 등은 상기 본인인증매체의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "본인인증용정보"란 본인인증매체 검증을 위해 사용되는 정보를 총칭한다. 따라서, 계좌비번, 계좌비번의 해시값, 모바일뱅킹 로그인용 패스워드, 공인인증서의 공개키, 사설인증서의 공개키, 실명연계공개키, 통신매체와 분리된 OTP전용단말에 공유된 OTP용 시드, 사용자모바일폰으로 전송한 SMS, 생체정보, 본 명세서에서 예시한 일회용단말검증코드 등은 상기 본인인증용정보의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "사용자단말을 점령한"이란, 사용자단말을 물리적으로 소지한 상태와 해킹 등을 통하여 사용자단말을 통제하고 있는 상태를 통칭한다.
또한 명세서에서 인용되는 "실명연계OOO"란 "OOO"의 주체의 실명을 관련 법규에서 인정하는 대면 또는 비대면의 방법을 이용하여 확인하면서 상기 확인된 실명과 매칭하여 등록한 "OOO"를 의미한다.
일 실시예로 임의의 주체의 "실명연계공개키"란 상기 주체의 실명을 실명확인방법 관련 법규에서 인정하는 대면 또는 비대면의 방법을 이용하여 실명확인서비스기관에 확인하며 등록한 상기 주체의 공개키를 의미한다. 이러한 실시예에서 상기 주체의 "실명연계비밀키"란 상기 주체의 "실명연계공개키"와 쌍을 이루는 비밀키를 의미한다.
또한 본 명세서에서 인용되는 "입력"이란 소정의 시스템에 소정의 정보가 입력되는 동작을 총칭한다. 따라서, 상기 시스템의 입력부를 이용하여 소정의 정보가 입력되는 동작과 상기 시스템의 송수신부를 이용하여 소정의 전송정보가 수신되는 동작은 상기 "입력"의 일 실시예들이 될 수 있다.
또한 본 명세서에서 인용되는 "타임스탬프"란 소정의 동작이 발생하는 시점을 식별하기 위해 상기 동작이 발생한 시점의 일자와 시간 등을 소정 양식으로 표시한 정보를 의미한다. 따라서 특정 단계가 동작되는 시점에 타이머가 출력하는 일자와 시분초를 연속해서 나열한 정보는 상기 타임스탬프의 일 실시예가 될 수 있다.
또한 본 명세서에서 인용되는 "피어노드"란 특정 노드 입장에서, 자신이 속한 소정의 블록체인네트웍에서 '자신이 작성한 블록'을 전파하기 위해, 상기 블록체인네트웍을 구성하는 노드들 중 특별히 접속주소를 저장하고 있는 상대방 노드를 의미한다.
또한 본 명세서에서 인용되는 "OO박스"란 본 발명의 거래자단말의 출력부에 출력된 화면영역 중"OO"을 의미하는 정보가 표기된 영역으로서, '상기 영역을 터치하거나 클릭하는 등의 동작'으로 "OO박스"를 선택하는 정보를 입력할 수 있도록 구성된 영역을 의미한다. 따라서 OO앱을 선택하는 정보를 입력할 수 있도록 구성된 아이콘 영역, "OO"을 선택하는 정보를 입력할 수 있도록 구성된 메뉴영역, 박스영역, 버튼영역 등은 상기 "OO박스"의 일실시예들이 될 수 있다.
또한 명세서에서 인용되는 임의의 주체의 "OOO업무용 공개키"란 상기 주체가 OOO업무를 하기 위해 사용하는 공개키를 의미하며, "OOO업무용 비밀키"란 상기 "OOO업무용 공개키"와 쌍을 이루는 비밀키를 의미한다.
본 발명의 일 실시예에 의하면 각 주체별로 "OOO업무용 공개키"를 상기 주체의 실명연계공개키와 동일하게 이용할 수도 있고, 상기 주체의 실명연계공개키와 별도로 운영할 수도 있다.
또한 본 명세서에서 "OO와 매칭되는 정보"란 "OO"를 추출할 수 있게 하는 정보를 의미한다. 따라서 "OO" 자체도 "OO와 매칭되는 정보"의 일 실시예가 될 수 있다.
또한 본 명세서에서 "OO을 선택한다" 함은 거래자단말의 출력부에 출력된 영역 중 "OO"이 출력된 영역을 터치하거나 클릭하는 등의 동작으로 사용자가 상기 "OO"을 선택하는 정보를 입력하는 것을 의미한다.
또한 본 명세서에서 인용되는 "binary code 형태"란 설명을 명료하게 하기 위해 "unreadable 형태"의 일 실시예를 예시한 것이며, 본 발명의 청구범위를 규정할 때는, 명식적으로나 논리적으로 특별히 배제되지 않는 한, "unreadable 형태"를 총칭한다.
또한 명세서에서 인용되는 "unreadable 형태"란 '지명도 있는 사이트들 중 무시할 수 없는 비중을 차지하는 사이트들'에서 사이트패스워드 구성에 사용할 수 없는 문자가 포함될 수 있는 형태와, 지나치게 제한된 종류의 문자로만 구성된 형태를 총칭한다. 여기서 "지나치게 제한된 종류"란 사회통념상 다른 객관적 기준이 없을 경우 4개 이하를 의미한다. 따라서, "0"과 "1"로만 구성된 binary code 형태는 "unreadable 형태"에 해당한다.
이하 마스터패스워드 기반의 안전하고 편리한 인증매체 관리 방법을 설명한다.
도 1은 본 발명의 일 실시예에 따른, 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법을 구현하기 위한 장치의 블록도다.
본 발명의 일 실시예에 따른, 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법을 구현하기 위한 장치는 사용자단말(100)과 앱관리서버(200)와 실명확인서비스서버(300)와 실명확인수요서버(400)와 공개키등록소서버(500)를 구성한다.
상기 사용자단말(100)은 소정의 통신네트웍을 이용하여 앱관리서버(200)와 실명확인서비스서버(300)와 실명확인수요서버(400) 중 하나이상과 통신하며, 본 발명의 인증앱(110)이 설치된다.
상기 인증앱(110)은 비밀정보DB(111)와 사이트DB(113)와 랜덤값생성모줄(116)과 GPS측정모줄(117)과 타임스탬프모줄(118)을 구성요소로서 포함한다.
상기 비밀정보DB(111)는, 도 11에 예시된 바와 같이, 사이트필드와 ID필드와 패스워드필드와 단말검증코드필드와 공개키필드와 비밀키필드와 접속주소필드와 유효기간필드를 구성한다.
인증앱(110)이 사용자단말(100)에 다운로드 될 때 비밀정보DB(111)는 첫번째 레코드가 앱발행자레코드로 지정되어 상기 레코드의 '사이트필드와 접속주소필드'에 각각 '인증앱발행자식별정보와 앱관리서버(200)의 접속주소'가 저장되어 있고, 두번째 레코드가 실명확인서비스기관레코드로 지정되어 상기 레코드의 사이트필드에는 '사이트DB(113)에서 실명확인서비스기관캐릭터필드에 "1"이 저장된 레코드의 상호필드값'만 저장될 수 있고, 세번째 레코드가 실명레코드로 지정되어 상기 레코드의 사이트필드에 실명레코드식별정보가 저장되어 있다. 일 실시예에 의하면 상기 인증앱발행자식별정보는 인증앱의 상품명이고, 상기 실명레코드식별정보는 "실명"이다.
실명레코드의 'ID필드와 공개키필드'에는 각각 사용자의 성명과 주민번호가 저장된다. 한편 본 발명의 다른 일 양상에 의하면, 상기 성명과 주민번호는 비밀정보DB(111)와 별도로 구성되는 성명저장부(미도시)와 주민번호저장부(미도시)에 저장될 수도 있다.
상기 사이트DB(113)는, 도 12에 예시된 바와 같이, 사이트필드와 상호필드와 공개키필드와 접속주소필드와 실명확인서비스기관캐릭터필드를 구성하며, 사용자단말(100)이 앱관리서버(200)에 접속하여 인증앱(110)의 버전을 업데이트할 때마다 앱관리서버(200)에 구성된 사이트DB(240)와 동기화되는 방법으로 업데이트된다.
상호필드값이 본 발명의 실명확인서비스기관의 상호인 레코드의 실명확인서비스기관캐릭터필드에는 "1"이 저장된다.
상기 랜덤값생성모줄(116)은 인증앱(110)의 제어에 따라 랜덤하게 난수를 생성한다.
상기 GPS측정모줄(117)은 인증앱(110)의 제어에 따라 현재 단말기위치의 GPS값을 측정한다.
상기 타임스탬프모줄(118)은 인증앱(110)의 제어에 따라 현재시간의 타임스탬프를 산출한다
상기 앱관리서버(200)는 소정의 통신네트웍을 이용하여 사용자단말(100)과 통신하며, 고객DB(210)와 해시DB(230)와 사이트DB(240)를 구성요소로서 포함한다.
상기 고객DB(210)는 ID필드와 공개키필드와 패스워드필드와 단말검증코드필드를 구성한다. ID필드에는 인증앱을 설치한 사용자의 식별정보가 저장되고, 공개키필드에는 앱관리서버용공개키가 저장되고, 패스워드필드에는 '앱관리서버전용패스워드의 해시값'이 저장되고, 단말검증코드필드에는 앱관리서버용일회용단말검증코드가 저장된다. 본 발명의 부가적 일 양상에 의하면, 상기 ID필드에는 일련번호가 미리 저장되어 있다.
상기 해시DB(230)에는 앱관리서버(200)가 블록체인네트웍에 참여하는 노드로서의 역할을 할때, 블록체인네트웍에 브로드캐시트되는 타임스탬프와 루트해시값이 저장된다.
상기 사이트DB(240)는 사이트필드와 상호필드와 공개키필드와 접속주소필드와 실명확인서비스기관캐릭터필드를 구성한다. 각 필드에 저장되는 정보는 인증앱(110)에 구성된 사이트DB(113)에서와 같다.
상기 실명확인서비스서버(300)는 소정의 통신네트웍을 이용하여 사용자단말(100)과 실명확인수요서버(400)와 공개키등록소서버(500) 중 하나이상과 통신하며, 고객DB(310)와 트랜잭션데이터DB(320)와 해시DB(330)를 구성요소로서 포함한다.
상기 고객DB(310)는 계좌번호필드와 성명필드와 실명번호필드와 패스워드필드와 단말검증코드필드와 공개키필드가 구성된다. 계좌번호필드에는 실명연계계좌번호가 저장되고, 성명필드에는 성명이 저장되고, 실명번호필드에는 주민번호가 저장되고, 패스워드필드에는 '계좌비번의 해시값'이 저장되고, 단말검증코드필드에는 실명확인서비스기관용일회용단말검증코드가 저장되고 공개키필드에는 실명연계공개키가 저장된다.
상기 트랜잭션데이터DB(320)에는 소정의 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 마이데이터이동신청트랜잭션데이터 및 전자서명이 저장된다.
상기 해시DB(330)에는 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 루트해시값이 저장된다.
상기 실명확인수요서버(400)는 소정의 통신네트웍을 이용하여 사용자단말(100)과 실명확인서비스서버(300) 중 하나이상과 통신하며, 고객DB(410)와 트랜잭션데이터DB(420)와 해시DB(430)를 구성요소로서 포함한다.
상기 고객DB(410)에는 실명확인이 완료된 고객의 성명과 주민번호와 실명연계공개키가 저장된다.
상기 트랜잭션데이터DB(420)에는 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 마이데이터이동트랜잭션데이터와 전자서명이 저장된다.
상기 해시DB(430)에는 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 루트해시값이 저장된다.
상기 공개키등록소서버(500)는 소정의 통신네트웍을 이용하여 실명확인서비스서버(300)와 통신하며, 실명연계공개키DB(510)와 트랜잭션데이터DB(520)와 해시DB(530)를 구성요소로서 포함한다. 본 발명의 부가적 일 양상에 의하면 상기 공개키등록소서버(500)는 앱관리서버(200)를 겸할 수도 있다.
상기 실명연계공개키DB(510)에는 실명확인서비스기관의 식별정보에 매칭하여 서로 매칭된 하나이상의 '실명연계공개키와 유효기간 쌍'들이 저장된다.
상기 실명확인서비스기관의 식별정보의 일 실시예로는 실명확인서비스기관의 공개키, 실명확인서비스기관의 SWIFT코드 등을 예시할 수 있다. 본 명세서에서는 '실명확인서비스기관의 실명연계공개키'인 실시예를 중심으로 설명하지만, 본 발명의 청구범위와 관련해서 상기 '실명확인서비스기관의 식별정보'는 실명확인서비스기관을 식별할 수 있는 모든 정보를 통칭한다.
상기 트랜잭션데이터DB(520)에는 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 실명연계공개키등록트랜잭션데이터와 전자서명이 저장된다.
상기 해시DB(430)에는 트랜잭션데이터일련번호에 매칭하여 타임스탬프와 루트해시값이 저장된다.
도 2 내지 도 4는 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법의 바람직한 일 실시예에서, 본 발명의 사용자가 자신의 사용자단말에 본 발명의 인증앱을 설치하는 동작 일 실시예를 설명한 도면이다.
단계 101에서 사용자단말(100)이 앱관리서버(200)로부터 인증앱(110)을 수신한다.
본 발명의 다른 일 양상에 의하면, 단계 101에서 사용자단말(100)이 앱관리서버(200)를 대체하여 소정의 앱스토어(미도시)와 전자메일서버(미도시)와 메신저서버(미도시) 중 하나로부터 상기 인증앱(100)을 수신할 수도 있다.
단계 102에서 사용자단말(100)에 상기 인증앱(110)이 설치되며 비행기탑승모드가 선택되고, 도 8에 예시된 바와 같이, 실명확인서비스기관식별정보들이 표기된 박스(이하 "실명확인서비스기관식별박스"라 함)들이 출력되는 실명확인서비스기관선택화면이 출력된다.
본 발명의 부가적 일 양상에 의하면 단계 102는, 사용자단말(100)에 상기 인증앱(110)이 저장되며 상기 인증앱(110) 설치에 대해 동의하는 박스(이하 "인증앱설치확인박스"라 한다)가 출력되는 단계; 사용자가 상기 인증앱설치확인박스를 선택하면, 사용자단말(100)에 ‘인증앱을 이용하기 위한 약관’을 읽어볼 수 있는 ‘스크롤바 구비된 약관창’에 매칭하여 동의표시를 의미하는 박스(이하 "동의박스"라 한다)가 출력되는 단계; 사용자가 상기 동의박스를 선택하는 단계; 상기 인증앱(110)의 제어에 따라 비행기탑승모드가 선택되고, 도 8에 예시된 바와 같이, 실명확인서비스기관식별정보박스들이 출력되는 실명확인서비스기관선택화면이 사용자단말(100)에 출력되는 단계; 를 포함한다.
단계 103에서 사용자가 상기 출력된 실명확인서비스기관식별정보박스들 중 하나를 선택하면, 도 9에 예시된 바와 같이, 성명입력란과 주민번호입력란과 실명계좌번호입력란과 계좌비번입력란과 확인박스를 포함하는 실명및연결계좌등록화면이 출력된다.
본 발명의 다른 일 양상에 의하면 상기 주민번호입력란을 대체하여 운전면허증번호입력란과 여권번호입력란 등 다른 실명번호입력란들 중 하나이상을 출력하고 해당 실명번호를 입력할 수 있다. 이하 명세서를 간략하게 하기 위해 주민번호입력란이 출력되고 주민번호가 입력되는 실시예를 중심으로 설명하지만, 청구범위와 관련해서는 주민번호는 모든 실명번호를 통칭하는 의미로 사용한다.
단계 104에서 사용자가 상기 출력된 입력란들에 각각 자신의 성명과 자신의 주민번호와 '단계 102에서 선택한 실명확인서비스기관식별박스에 해당하는 실명확인서비스기관에 개설된 실명계좌의 계좌번호'와 '상기 실명계좌의 계좌비번'을 입력하고 확인박스를 선택하면, 도 10에 예시된 바와 같이, 두 개의 마스터패스워드입력란과 확인박스를 포함하는 마스터패스워드등록화면이 사용자단말(100)에 출력된다.
단계 105에서 사용자가 상기 출력된 두 개의 마스터패스워드입력란에 동일한 마스터패스워드를 입력하고 확인박스를 선택하면, 상기 입력된 두 마스터패스워드의 일치여부를 확인하고, 일치하는 경우, 사용자단말(100)에서 인증앱(110)의 제어에 따라, 랜덤값생성모줄(116)이 랜덤한 5개의 난수를 각각 제1난수와 제2난수와 제3난수와 제4난수 및 제5난수로서 생성하고, GPS측정모줄(117)이 현재 단말기위치의 GPS값을 측정하고, 타임스탬프모줄(118)이 현재시간의 타임스탬프를 산출한다.
단계 106에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 상기 GPS값의 해시값을 산출하고 상기 해시값 텍스트를 이용하여 5개의 해시값을 각각 제1GPS해시와 제2GPS해시와 제3GPS해시와 제4GPS해시와 제5GPS해시로서 산출하고, 상기 타임스탬프의 해시값을 산출하고 상기 해시값 텍스트를 이용하여 5개의 해시값을 각각 제1타임스탬프해시와 제2타임스탬프해시와 제3타임스탬프해시와 제4타임스탬프해시와 제5타임스탬프해시로서 산출한다.
GPS값의 해시값 텍스트를 이용하여 제1GPS해시와 제2GPS해시와 제3GPS해시와 제4GPS해시와 제5GPS해시로서 산출하는 방법 일시예는, 상기 GPS값의 해시값 텍스트를 3등분하여 순서대로 제1GPS해시와 제2GPS해시 및 제3GPS해시를 산출하고, 제1GPS해시의 첫 문자를 제외한 텍스트와 제2GPS해시의 첫문자를 결합한 텍스트를 제4GPS해시로서 산출하고, 제2GPS해시의 첫 문자를 제외한 텍스트와 제3GPS해시의 첫문자를 결합한 텍스트를 제5GPS해시로서 산출하는 방법이다.
타임스탬프의 해시값 텍스트를 이용하여 제1타임스탬프해시와 제2타임스탬프해시와 제3타임스탬프해시와 제4타임스탬프해시와 제5타임스탬프해시를 산출하는 방법 일시예는, 상기 타임스탬프의 해시값 텍스트를 3등분하여 순서대로 제1타임스탬프해시와 제2타임스탬프해시 및 제3타임스탬프해시를 산출하고, 제1타임스탬프해시의 첫 문자를 제외한 텍스트와 제2타임스탬프해시의 첫문자를 결합한 텍스트를 제4타임스탬프해시로서 산출하고, 제2타임스탬프해시의 첫 문자를 제외한 텍스트와 제3타임스탬프해시의 첫문자를 결합한 텍스트를 제5타임스탬프해시로서 산출하는 방법이다.
단계 107에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 상기 5개의 난수와 5개의 GPS해시와 5개의 타임스탬프해시를 이용하여 실명연계비밀키와 최초의 실명확인서비스기관용일회용단말검증코드와 앱관리서버용비밀키와 앱관리서버전용패스워드와 최초의 앱관리서버용일회용단말검증코드를 각각 랜덤하게 binary code 형태로 산출하고, 상기 산출된 실명연계비밀키를 이용하여 실명연계공개키를 binary code 형태로 산출하고, 상기 산출된 앱관리서버용비밀키를 이용하여 앱관리서버용공개키를 binary code 형태로 산출한다.
단계 107에서 산출되는 각 변수들을 산식으로 예시하면 아래와 같다.
* 앱관리서버용비밀키 = f(제1난수, 제1GPS해시, 제1타임스탬프해시)
* 앱관리서버용공개키 = f(앱관리서버용비밀키)
* 앱관리서버전용패스워드 = f(제2난수, 제2GPS해시, 제2타임스탬프해시)
* 최초의 앱관리서버용일회용단말검증코드 = f(제3난수, 제3GPS해시, 제3타임스탬프해시)
* 실명연계비밀키 = f(제4난수, 제4GPS해시, 제4타임스탬프해시)
* 실명연계공개키 = f(실명연계비밀키)
* 최초의 실명확인서비스기관용일회용단말검증코드 = f(제5난수, 제5GPS해시, 제5타임스탬프해시)
단계 111에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 105에서 입력된 마스터패스워드'의 해시값을 산출하고, 인증앱발행자식별정보의 해시값을 산출하고, 상기 두 해시값을 이용해 binary code 형태의 앱관리서버전용마스터키를 산출한다.
단계 111에서 산출되는 앱관리서버전용마스터키를 산식으로 예시하면 아래와 같다.
* 앱관리서버전용마스터키 = h[h(마스터패스워드), h(인증앱발행자식별정보)]
본 발명의 다른 일 실시예에 의하면, 상기 앱관리서버전용마스터키는 앱관리서버식별정보의 해시값을 대체하여 앱관리서버와 1:1로 매칭되는 다른 정보의 해시값을 이용해 산출한다. 이하 명세서를 간략히 하기 위해 '앱관리서버와 1:1로 매칭되는 앱관리서버식별정보'의 해시값을 이용하는 실시예를 중심으로 설명한다.
단계 112에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 111에서 산출된 앱관리서버전용마스터키'로 '단계 107에서 산출된 앱관리서버용비밀키'와 '단계 107에서 산출된 앱관리서버전용패스워드'를 각각 암호화하고, '단계 107에서 산출된 앱관리서버용공개키'로 '단계 107에서 산출된 최초의 앱관리서버용일회용단말검증코드’를 암호화한다.
단계 113에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 비밀정보DB(111)의 '사이트필드에 인증앱발행자식별정보가 저장된 앱발행자레코드'의 '패스워드필드와 단말검증코드필드와 공개키필드와 비밀키필드’에 각각 ‘단계 112에서 암호화된 앱관리서버전용패스워드'와 ‘단계 112에서 암호화된 최초의 앱관리서버용일회용단말검증코드’와 '단계 107에서 산출된 앱관리서버용공개키'와 ‘단계 112에서 암호화된 앱관리서버용비밀키'를 저장하고, '사이트필드에 실명레코드식별정보가 저장된 실명레코드'의 'ID필드와 공개키필드'에 각각 '단계 104에서 입력된 성명'과 '단계 104에서 입력된 주민번호'를 저장한다.
단계 114에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 사이트DB(113)에서 인증앱발행자식별정보에 매칭된 공개키필드값을 '앱관리서버의 앱관리업무용 공개키'로서 검색하고, 상기 앱관리서버의 공개키로 '단계 107에서 산출된, 앱관리서버용공개키와 앱관리서버전용패스워드와 최초의 앱관리서버용일회용단말검증코드'를 각각 암호화한다.
단계 121에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 사이트DB(113)에서 '단계 103에서 선택된 실명확인서비스기관식별정보박스'에 해당하는 상호필드값을 실명확인서비스기관상호로서 검색하고, 상기 실명확인서비스기관상호와 '단계 105에서 입력된 마스터패스워드'를 이용해 binary code 형태의 실명확인서비스기관전용마스터키를 산출한다.
상기 실명확인서비스기관상호와 '단계 105에서 입력된 마스터패스워드'를 이용해 binary code 형태의 실명확인서비스기관전용마스터키를 산출하는 방법 일 실시예는, 상기 실명확인서비스기관상호의 해시값을 산출하는 단계; 및 '단계 111에서 산출된, 마스터패스워드의 해시값'과 '상기 실명확인서비스기관상호의 해시값'을 결합한 정보의 해시값을 실명확인서비스기관전용마스터키로 산출하는 단계; 를 포함한다.
상기 실명확인서비스기관상호와 '단계 105에서 입력된 마스터패스워드'를 이용해 binary code 형태의 실명확인서비스기관전용마스터키를 산출하는 방법 다른 일 실시예는, 상기 실명확인서비스기관상호와 '단계 105에서 입력된 마스터패스워드'를 결합하는 단계; 및 상기 결합된 정보의 해시값을 실명확인서비스기관전용마스터키로 산출하는 단계; 를 포함한다.
한편 본 발명의 다른 일 실시예에 의하면, 상기 실명확인서비스기관전용마스터키는 실명확인서비스기관상호의 해시값을 대체하여 '실명확인서비스기관과 1:1로 매칭되는 다른 정보'의 해시값을 이용해 산출한다. 이하 명세서를 간략히 하기 위해 '실명확인서비스기관과 1:1로 매칭되는 실명확인서비스기관상호'의 해시값을 이용하는 실시예를 중심으로 설명한다.
단계 122에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 121에서 산출된 실명확인서비스기관전용마스터키'로 '단계 107에서 산출된 실명연계비밀키'와 '단계 104에서 입력된 계좌비번'을 각각 암호화하고, '단계 107에서 산출된 실명연계공개키'로 '단계 107에서 산출된 최초의 실명확인서비스기관용일회용단말검증코드’를 암호화한다.
단계 123에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 비밀정보DB(111)의 실명확인서비스기관레코드의 '사이트필드와 ID필드와 패스워드필드와 단말검증코드필드와 공개키필드와 비밀키필드’에 각각 '단계 121에서 검색된 실명확인서비스기관상호'와 '단계 104에서 입력된, 실명계좌의 계좌번호'와 ‘단계 122에서 암호화된 계좌비번'과 ‘단계 122에서 암호화된 최초의 실명확인서비스기관용일회용단말검증코드’와 '단계 107에서 산출된 실명연계공개키'와 ‘단계 122에서 암호화된 실명연계비밀키'를 저장한다.
단계 124에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 사이트DB(113)에서 '단계 121에서 검색된 실명확인서비스기관상호'에 매칭된 공개키필드값을 실명확인서비스기관의 비대면실명확인업무용 공개키로서 검색하고, 상기 실명확인서비스기관의 비대면실명확인업무용 공개키로 '단계 104에서 입력된, 계좌번호 및 계좌비번'과 '단계 107에서 산출된, 실명연계공개키 및 최초의 실명확인서비스기관용일회용단말검증코드'를 각각 암호화한다.
단계 125에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 소정의 실명연계공개키등록신청코드와 '단계 124에서 암호화된, 계좌번호와 계좌비번과 실명연계공개키와 최초의 실명확인서비스기관용일회용단말검증코드'를 포함하는 소정의 실명연계공개키등록신청전문을 작성하고, '단계 107에서 산출된 실명연계비밀키'를 이용하여 상기 실명연계공개키등록신청전문에 대한 전자서명을 작성한다.
단계 130에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 104에서 입력된, 성명과 주민번호와 계좌번호와 계좌비번'과 '단계 105에서 입력된 마스터패스워드'와 '단계 105에서 산출된, 제1난수와 제2난수와 제3난수와 제4난수 및 제5난수와 GPS값 및 타임스탬프'와 '단계 106에서 산출된, GPS값의 해시값과 제1GPS해시와 제2GPS해시와 제3GPS해시와 제4GPS해시와 제5GPS해시와 타임스탬프의 해시값과 1타임스탬프해시와 제2타임스탬프해시와 제3타임스탬프해시와 제4타임스탬프해시와 제5타임스탬프해시'와 '단계 107에서 산출된, 앱관리서버용비밀키와 앱관리서버전용패스워드와 최초의 앱관리서버용일회용단말검증코드와 실명연계비밀키와 최초의 실명확인서비스기관용일회용단말검증코드와 앱관리서버용공개키와 실명연계공개키'와 '단계 111에서 산출된, 마스터패스워드의 해시값과 인증앱발행자식별정보의 해시값과 앱관리서버전용마스터키'와 '단계 121에서 산출된, 실명확인서비스기관식별정보의 해시값과 실명확인서비스기관전용마스터키'를 모두 삭제하고 비행기탑승모드를 해제한다.
단계 131에서 사용자단말(100)에서 소정의 앱설치완료코드와 매칭하여 '단계 114에서 암호화된, 앱관리서버용공개키와 앱관리서버전용패스워드와 최초의 앱관리서버용일회용단말검증코드'를 앱관리서버(200)로 전송한다.
단계 132에서 앱관리서버(200)가 '단계 131에서 전송되고 앱설치완료코드와 매칭된, 암호화된 앱관리서버용공개키와 암호화된 앱관리서버전용패스워드와 암호화된 최초의 앱관리서버용일회용단말검증코드'를 수신하면, 자신의 앱관리업무용 비밀키를 이용하여 상기 암호화된 '앱관리서버용공개키와 앱관리서버전용패스워드와 최초의 앱관리서버용일회용단말검증코드'를 각각 복호화하고, 상기 복호화된 앱관리서버전용패스워드의 해시값을 산출하고, 고객DB(210)에서 특정 사용자에게 할당되지 않은 레코드들 중 하나의 레코드의 '공개키필드와 패스워드필드와 단말검증코드필드'에 각각 '상기 복호화된 앱관리서버용공개키'와 '상기 앱관리서버전용패스워드의 해시값'과 '상기 복호화된 최초의 앱관리서버용일회용단말검증코드'를 저장한다.
본 발명의 부가적 일 양상에 의하면, 상기 고객DB(210)의 ID필드에는 일련번호가 미리 저장되어 있으며, 상기 '특정 사용자에게 할당되지 않은 레코드들 중 하나의 레코드'는 레코드의 '공개키필드와 패스워드필드와 단말검증코드필드'가 모두 default값인 레코드들 중 첫번째 레코드다.
단계 133에서 앱관리서버(200)에서 상기 고객DB(210)에서 '단계 132에서 공개키필드와 패스워드필드와 단말검증코드필드에 각각 앱관리서버용공개키와 앱관리서버전용패스워드의 해시값과 최초의 앱관리서버용일회용단말검증코드'가 저장된 레코드의 ID필드값이 검색되고, '단계 132에서의 수신'에 대한 회신으로서 상기 ID필드값을 사용자단말(100)로 전송한다.
단계 134에서 사용자단말(100)이 '단계 133에서 전송된 ID필드값'을 수신하면, 비밀정보DB(111)에서 '사이트필드에 인증앱발행자식별정보가 저장된 앱발행자레코드'의 ID필드에 '상기 수신한 ID필드값'을 저장한다.
단계 141에서 사용자단말(100)에서 인증앱(100)의 제어에 따라, 사이트DB(113)에서 '단계 121에서 검색된 실명확인서비스기관상호'에 매칭된 접속주소필드값을 실명확인서비스기관의 접속주소로서 검색하고, '단계 125에서 작성된, 실명연계공개키등록신청전문과 전자서명'을 상기 접속주소로 전송한다.
단계 142에서 상기 접속주소에 해당하는 실명확인서비스서버(300)가 '단계 141에서 전송된, 실명연계공개키등록신청전문과 전자서명'을 수신하면, 자신의 비대면실명확인업무용 비밀키로 상기 전문에 암호화되어 포함된 '계좌번호와 계좌비번과 실명연계공개키와 최초의 실명확인서비스기관용일회용단말검증코드'를 각각 복호화하고, 상기 복호화된 실명연계공개키로 상기 전자서명을 검증한다.
단계 142에서의 검증에 성공하면 단계 143이하가 동작된다.
단계 143에서 '단계 142에서 복호화된 계좌비번'의 해시값을 산출하고, 고객DB(310)에서 '단계 142에서 복호화된 계좌번호'에 매칭된 '계좌비번의 해시값'을 검색하고, 상기 산출한 해시값과 상기 검색한 해시값을 대조한다.
단계 143의 대조결과 일치하면, 단계 144이하가 동작한다.
본 발명의 부가적 일 양상에 의하면, 단계 143의 대조결과 일치하면, 종래 기술에 의한 매체분리 OTP검증과 공인인증서 검증과 이동통신사 이용하는 사용자단말기 소지확인 검증 중 하나이상을 더 동작하고, 상기 동작된 검증들에서 모두 성공한 경우에 한해 단계 144이하가 동작한다.
한편 본 발명의 다른 일 양상에 의하면, 사용자단말 사용자의 본인인증매체로서 이상에서 설명한 '전자서명과 계좌비번 중 하나이상'을 대체하여 '종래 기술에 의한 매체분리 OTP와 공인인증서 이용한 전자서명과 이동통신사 이용해 사용자단말기 소지확인하기 위한 SMS암호 중 하나이상'을 채택할 수도 있다. 이하, 본 명세서를 간략하게 하기 위해 사용자의 본인인증매체로서 '전자서명과 계좌비번을 중복해서 검증하는 방법'을 채택하는 실시예를 중심으로 설명한다.
단계 144에서 고객DB(310)에 '단계 142에서 복호화된 계좌번호'에 매칭해 '단계 142에서 복호화된, 실명연계공개키와 최초의 실명확인서비스기관용일회용단말검증코드'와 소정의 유효기간정보를 저장하고, 상기 유효기간정보를 '단계 142에서의 수신'에 대한 회신으로서 사용자단말(100)로 전송한다.
상기 유효기간정보의 일 실시예는 단계 144가 동작되는 시점에 일정 기간(예, 3년)을 더한 시점의 일자이다.
단계 145에서 사용자단말(100)이 '단계 144에서 전송된 유효기간정보' 수신하면, 인증앱(110)의 제어에 따라 상기 유효기간정보를 이용해 비밀정보DB(111)의 실명확인서비스기관레코드의 유효기관필드를 업데이트한다.
본 발명의 부가적 일 양상에 의하면 상기 유효기간필드를 업데이트하는 방법은 상기 유효기간정보가 의미하는 유효기간종료일자로 상기 유효기관필드값을 업데이트하는 방법이다.
단계 150에서 실명확인서비스서버(300)에서 주기적으로 고객DB(310)에서 해당주기에 단계 144가 동작된 레코드들의 공개키필드값과 유효기간필드값을 추출하여 레코드별로 상기 추출된 공개키필드값과 유효기간필드값을 매칭시켜 소정의 실명연계공개키등록리스트를 작성하고, 작성자식별정보로서의 상기 실명확인서비스서버(300)를 운영하는 실명확인서비스기관의 실명연계공개키와 상기 실명연계공개키등록리스트를 포함하는 실명연계공개키등록트랜잭션데이터를 작성하고, 상기 실명확인서비스기관의 실명연계비밀키를 이용하여 상기 실명연계공개키등록트랜잭션데이터에 대한 전자서명을 작성한다.
단계 151에서 실명확인서비스서버(300)에서 '단계 150에서 작성된, 실명연계공개키등록트랜잭션데이터와 전자서명'을 공개키등록소서버(500)로 전송한다.
본 발명의 부가적 일 양상에 의하면 앱관리서버(200)가 상기 공개키등록소서버(500)를 겸할 수 있다.
단계 152에서 공개키등록소서버(500)가 '단계 151에서 전송된, 실명연계공개키등록트랜잭션데이터와 전자서명'을 수신하면, '상기 실명연계공개키등록트랜잭션데이터에 포함된 작성자식별정보인, 실명확인서비스기관의 실명연계공개키'로 상기 전자서명을 검증한다.
단계 152에서의 검증에 성공하면 단계 153이 동작한다.
단계 153에서 공개키등록소서버(500)에서 실명연계공개키DB(510)에서 '실명확인서비스기관의 실명연계공개키인, 단계 152에서 수신한 실명연계공개키등록트랜잭션데이터에 포함된 작성자식별정보'에 매칭하여 '상기 실명연계공개키등록트랜잭션데이터에 포함된 실명연계공개키등록리스트'에서 '서로 매칭된 실명연계공개키와 유효기간'들을 추출해 저장하고, 트랜잭션데이터DB(520)에 트랜잭션데이터일련번호에 매칭하여 '단계 152이 동작된 시점에 해당하는 타임스탬프'와 '단계 152에서 수신한, 실명연계공개키등록트랜잭션데이터와 전자서명'을 저장하고, 상기 '타임스탬프와 트랜잭션데이터일련번호와 실명연계공개키등록트랜잭션데이터 및 전자서명' 각각의 해시값을 산출하고, 상기 산출된 각각의 해시값들의 루트해시값을 산출하고, 해시DB(530)에 상기 트랜잭션데이터일련번호에 매칭하여 상기 타임스탬프와 상기 루트해시값을 저장한다.
한편 본 발명의 다른 일 양상의 실시예(이하 "B양상실시예"라 한다)에 의하면 단계 153은 공개키등록소서버(500)에서 '작성자식별정보로서의, 자신을 운영하는 공개키등록소의 실명연계공개키'와 '상기 해시DB(530)에 저장된. 타임스탬프와 루트해시값'을 포함하는 소정의 해시DB업데이트트랜잭션데이터를 작성하는 단계; 공개키등록소서버(500)에서 자신을 운영하는 공개키등록소의 실명연계비밀키를 이용해 상기 해시DB업데이트트랜잭션데이터에 대한 전자서명을 작성하는 단계; 및 공개키등록소서버(500)에서 상기 해시DB업데이트트랜잭션데이터에 상기 전자서명을 매칭하여 블록체인네트웍에 브로드캐스트하는 단계; 를 더 포함한다.
단계 160에서 공개키등록소서버(500)에서 소정의 블록생성주기별로 해시DB(530)에서 당해 블록생성주기에 해당하는 타임스탬프들을 추출하고, 상기 타임스탬프에 매칭된 루트해시값들을 추출하고, 상기 추출된 '타임스탬프들과 루트해시값들'의 루트해시값을 상기 블록생성주기에 해당하는 무결성증빙으로서 산출한다.
상기 소정의 블록생성주기 일 실시예는 매 대한민국내 은행들의 영업일의 공식개점시간부터 다음 대한민국내 은행들의 영업일의 공식개점시간까지이다.
단계 161에서 공개키등록소서버(500)에서 '작성자식별정보로서의, 자신을 운영하는 공개키등록소의 실명연계공개키'와 해당블록생성주기식별정보(예컨대, 20200420)와 '단계 160에서 산출한 무결성증빙'을 포함하는 주기별증빙트랜잭션데이터를 작성하고, 상기 공개키등록소의 실명연계비밀키로 상기 주기별증빙트랜잭션데이터에 대한 전자서명을 작성하고, 상기 주기별증빙트랜잭션데이터와 전자서명을 블록체인네트웍에 브로드캐스트한다.
본 발명의 다른 일 양상에 의하면 단계 151 내지 단계 161를 대체하여 아래 단계 153-1 내지 단계 161-1이 동작될 수 있다
단계 153-1에서 실명확인서비스서버(300)에서 트랜잭션데이터DB(320)에 트랜잭션데이터일련번호에 매칭하여 '단계 153-1이 동작된 시점에 해당하는 타임스탬프'와 '단계 150에서 작성한, 실명연계공개키등록트랜잭션데이터와 전자서명'을 저장하고, 상기 '타임스탬프와 트랜잭션데이터일련번호와 실명연계공개키등록트랜잭션데이터 및 전자서명' 각각의 해시값을 산출하고, 상기 산출된 각각의 해시값들의 루트해시값을 산출하고, 해시DB(330)에 상기 트랜잭션데이터일련번호에 매칭하여 상기 타임스탬프와 상기 루트해시값을 저장한다.
한편 본 발명의 다른 일 양상의 실시예(이하 "B양상실시예"라 한다)에 의하면 단계 153-1은 실명확인서비스서버(300)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인서비스기관의 실명연계공개키'와 '상기 해시DB(330)에 저장된. 타임스탬프와 루트해시값'을 포함하는 소정의 해시DB업데이트트랜잭션데이터를 작성하는 단계; 실명확인서비스서버(300)에서 자신을 운영하는 실명확인서비스기관의 실명연계비밀키를 이용해 상기 해시DB업데이트트랜잭션데이터에 대한 전자서명을 작성하는 단계; 및 실명확인서비스서버(300)에서 상기 해시DB업데이트트랜잭션데이터에 상기 전자서명을 매칭하여 블록체인네트웍에 브로드캐스트하는 단계; 를 더 포함한다.
단계 160-1에서 실명확인서비스서버(300)에서 소정의 블록생성주기별로 해시DB(330)에서 당해 블록생성주기에 해당하는 타임스탬프들을 추출하고, 상기 타임스탬프에 매칭된 루트해시값들을 추출하고, 상기 추출된 '타임스탬프들과 루트해시값들'의 루트해시값을 상기 블록생성주기에 해당하는 무결성증빙으로서 산출한다.
상기 소정의 블록생성주기 일 실시예는 매 대한민국내 은행들의 영업일의 공식개점시간부터 다음 대한민국내 은행들의 영업일의 공식개점시간까지이다.
단계 161-1에서 실명확인서비스서버(300)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인서비스기관의 실명연계공개키'와 해당블록생성주기식별정보(예컨대, 20200420)와 '단계 160-1에서 산출한 무결성증빙'을 포함하는 주기별증빙트랜잭션데이터를 작성하고, 상기 실명확인서비스기관의 실명연계비밀키로 상기 주기별증빙트랜잭션데이터에 대한 전자서명을 작성하고, 상기 주기별증빙트랜잭션데이터와 전자서명을 블록체인네트웍에 브로드캐스트한다.
도 5 내지 도 7은 본 발명의 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법의 바람직한 일 실시예에서, 사용자단말에 설치된 인증앱을 이용하여 비대면실명확인 하는 동작 일 실시예를 설명한 도면이다.
단계 201에서 실명확인수요서버(400)에서 소정 규격의 임의의 챌린지값을 랜덤하게 생성하고, 자신을 운영하는 실명확인수요기관의 비대면실명확인업무용 공개키와 상기 챌린지값과 ‘인증앱(110)을 기동하기 위한 앱기동코드’를 ‘자신이 제공하는 실명확인페이지에 접속한 사용자단말(100)’로 전송한다.
본 발명의 부가적 일 양상에 의하면, 단계 201에 선행하여, 사용자단말(100)이 상기 실명확인수요서버(400)에서 제공하는 상기 실명확인페이지에 접속하는 단계; 및 사용자가 상기 페이지에 출력된 '비대면실명확인방법식별정보가 표기된 박스'들 중 '본 발명의 방법을 식별하는 정보가 표기된 박스'를 선택하는 단계; 가 동작된다.
단계 202에서 상기 사용자단말(100)이 '단계 201에서 전송된, 실명확인수요기관의 비대면실명확인업무용 공개키와 챌린지값과 앱기동코드’를 수신하면, 상기 앱기동코드에 의해 인증앱(100)이 기동하며, 인증앱(100)의 제어에 따라 비행기탑승모드가 선택되고, 사이트DB(113)에서 상기 실명확인수요기관의 공개키에 매칭된 상호필드값을 상기 실명확인수요기관의 상호로서 검색하고, 비밀정보DB(111)의 실명확인서비스기관레코드의 '사이트필드값과 ID필드값'을 각각 '실명확인서비스기관의 상호와 실명연계계좌번호'로서 검색한다.
단계 203에서 상기 사용자단말(100)에서 단계 202에서 검색된 '실명확인수요기관의 상호와 실명확인서비스기관의 상호와 실명연계계좌번호'와 '상기 실명확인수요기관에 비대면방법으로 실명확인하기 위해, 상기 실명확인서비스기관에 등록된 성명 및 주민번호와, 상기 실명연계계좌번호에 해당하는 계좌에 최근 5분내에 기록된 입금거래의 적요들중 비대면실명확인용도식별코드를 포함하는 적요를 상기 실명확인수요기관에게 제공할 것을 신청한다는 요지'와 마스터패스워드입력란과 확인박스가 출력된다.
상기 '비대면실명확인용도식별코드를 포함하는 적요'의 일 실시예는 '비대면실명확인용도식별코드로 시작하는 적요'이고, 상기 비대면실명확인용도식별코드의 일실시예는 "S"다.
단계 204에서 사용자가 상기 마스터패스워드입력란에 마스터패스워드 입력하면, 비밀정보DB(111)의 실명확인서비스기관레코드의 '사이트필드값과 ID필드값과 패스워드필드값과 비밀키필드값과 단말검증코드필드값'을 각각 '실명확인서비스기관상호와 실명연계계좌번호와 암호화된 실명연계계좌비번과 암호화된 실명연계비밀키와 암호화된 일회용단말검증코드'로서 검색하고, 상기 마스터패스워드와 상기 실명확인서비스기관상호 각각의 해시값을 산출하고, 상기 산출된 두 해시값들을 seed들로 이용해 binary code 형태의 실명확인서비스기관전용마스터키(단계 122에서 실명연계비밀키를 암호화할 때 사용했던 암호화키와 동일한 값)를 산출한다.
본 발명의 다른 일 실시예에 의하면, 상기 실명확인서비스기관전용마스터키는 실명확인서비스기관상호의 해시값을 대체하여 실명확인서비스기관과 1:1로 매칭되는 정보의 해시값을 이용해 산출한다. 이하 명세서를 간략히 하기 위해 '실명확인서비스기관과 1:1로 매칭되는 실명확인서비스기관상호'의 해시값을 이용하는 실시예를 중심으로 설명한다.
단계 205에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 204에서 산출된 실명확인서비스기관전용마스터키'로 '단계 204에서 검색된, 암호화된 실명연계계좌비번과 암호화된 실명연계비밀키'를 각각 복호화하고, 상기 복호화된 실명연계비밀키로 '단계 204에서 검색된, 암호화된 일회용단말검증코드'를 복호화하는 한편 '단계 202에서 수신한 챌리지값'을 암호화한다.
단계 206에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 205에서 복호화된 일회용단말검증코드'로 ‘단계 205에서 복호화된 실명연계계좌비번’을 암호화해 OTP를 산출한다.
단계 207에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 비밀정보DB(111)의 실명레코드의 'ID필드값과 공개키필드값'을 각각 '성명 및 주민번호'로서 검색한다.
한편 본 발명의 다른 일 양상에 의하면, 비밀정보DB(111)의 실명레코드의 'ID필드값과 공개키필드값'을 대체하여, 비밀정보DB(111)와 별도로 구성되는 성명저장부(미도시)와 주민번호저장부(미도시)에서 각각 상기 '성명과 주민번호'를 검색할 수도 있다.
단계 208에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, ‘발신자식별정보로서의, 단계 204에서 검색된 실명연계계좌번호’와 ‘발신자 본인인증매체로서의, 단계 206에서 산출된 OTP’와 ‘마이데이터수신자식별정보로서의, 단계 202에서 수신한 실명확인수요기관의 비대면실명확인업무용 공개키'와 '상기 실명연계계좌번호에 해당하는 성명 및 주민번호와, 최근 5분 이내에 상기 실명연계계좌번호에 입금된 거래의 적요들 중 비대면실명확인용도식별코드를 포함하는 적요를 상기 마이데이터수신자에게 제공할 것을 신청한다는 요지'를 포함하는 마이데이터이동신청트랜잭션데이터를 작성하고, '단계 205에서 복호화된 실명연계비밀키'로 상기 마이데이터이동신청트랜잭션데이터에 대한 전자서명을 작성한다.
상기 '비대면실명확인용도식별코드를 포함하는 적요'의 일 실시예는 '비대면실명확인용도식별코드로 시작하는 적요'이고, 상기 비대면실명확인용도식별코드의 일실시예는 "S"다.
한편 본 발명의 다른 일 양상에 의하면, 발신자식별정보로서, 상기 실명연계좌번호를 대체하여 전자금융로그인ID와 실명번호 중 하나를 저장하고, 상기 저장된 발신자식별정보를 검색해 마이데이터이동신청트랜잭션데이터에 포함시킬 수도 있다. 이하 본 명세서를 간략하게 하기 위해 발신자식별정보로서 실명연계좌번호를 채택하는 실시예 위주로 설명한다.
한편 본 발명의 다른 일 양상에 의하면, 본인인증매체로서, 상기 OTP를 대체하여 실명연계계좌의 계좌비번과 전자금융로그인패스워드와 '전자금융로그인패스워드를 일회용단말검증코드로 암호화해 산출한 OTP' 와 사설인증서기반의 전자서명과 생체정보 중 하나이상을 채택할 수도 있다. 이하 본 명세서를 간략하게 하기 위해 본인인증매체로서 상기 OTP를 채택하는 실시예 위주로 설명한다.
단계 209에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 204에서 입력된 마스터패스워드'와 '단계 204에서 산출된, 마스터패스워드의 해시값과 실명확인서비스기관상호의 해시값 및 실명확인서비스기관전용마스터키'와 '단계 205에서 복호화된, 실명연계계좌비번과 실명연계비밀키과 일회용단말검증코드'를 모두 삭제하고, 비행기탑승모드를 해제한다.
단계 210에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, '단계 202에서의 수신'에 대한 회신으로서 '단계 207에서 검색된, 성명 및 주민번호'와 '단계 204에서 검색된 실명확인서비스기관상호 및 실명연계계좌번호'와 '단계 205에서 암호화된 챌린지값'을 실명확인수요서버(400)로 전송한다.
단계 211에서 실명확인수요서버(400)에서 '단계 210에서 전송된, 성명과 주민번호와 실명확인서비스기관상호와 실명연계계좌번호와 암호화된 챌린지값'을 수신하면, 공지의 방법으로 소정 규격의 랜덤한 암호 생성하고, '상기 실명확인서비스기관상호에 해당하는 기관에 개설된 상기 실명연계계좌번호'를 입금계좌로 하여 소액 송금하되 적요로서 비대면실명확인용도식별코드와 상기 암호 결합한 텍스트가 기록되도록 하는데 필요한 동작을 한다.
상기 비대면실명확인용도식별코드의 일실시예는 "S"이며, 상기 결합한 텍스트의 일실시예는 첫문자가 "S"로 구성되고 두번째 문자부터가 상기 암호로 구성되는 텍스트다.
단계 212에서 사용자단말(100)에서 인증앱(110)의 제어에 따라, 사이트DB(113)에서 '단계 204에서 검색된 실명확인서비스기관상호'에 매칭된 접속주소를 검색하고, 상기 접속주소에 해당하는 실명확인서비스서버(200)로 '단계 208에서 작성된, 마이데이터이동신청트랜잭션데이터 및 전자서명'을 전송한다.
단계 220에서 실명확인서비스서버(300)에서 '단계 212에서 전송된, 마이데이터이동신청트랜잭션데이터 및 전자서명'을 수신하면, 고객DB(310)에서 '상기 마이데이터이동신청트랜잭션데이터에 포함된 실명연계계좌번호’에 매칭된 '공개키필드값과 패스워드필드값과 단말검증코드필드값'을 각각 '실명연계공개키와 계좌비번의 해시값과 일회용단말검증코드'로서 검색하고, 상기 실명연계공개키로 상기 전자서명을 검증한다.
단계 220에서의 검증결과 상기 전자서명을 상기 실명연계공개키로 복호화한 값이 상기 마이데이터이동신청트랜잭션데이터의 해시값과 일치하면, 단계 221 이하가 동작된다.
단계 221에서 실명확인서비스서버(300)에서 '단계 220에서 수신한 마이데이터이동신청트랜잭션데이터에 포함된 OTP'를 '단계 220에서 검색한 일회용단말검증코드'로 복호화해 실명연계계좌의 계좌비번을 산출하고, 상기 계좌비번의 해시값을 산출하고, '상기 산출한 계좌비번의 해시값'을 '단계 220에서 검색된 계좌비번의 해시값'과 대조한다.
단계 221에서의 대조 결과 일치하면 단계 222 이하가 동작된다.
단계 222에서 실명확인서비스서버(300)에서 트랜잭션데이터DB(320)에 소정의 트랜잭션데이터일련번호에 매칭하여 '단계 220이 동작되는 시점에 해당하는 타임스탬프'와 '단계 220에서 수신한, 마이데이터이동신청트랜잭션데이터 및 전자서명'을 저장하고, 상기 '타임스탬프와 트랜잭션데이터일련번호와 마이데이터이동신청트랜잭션데이터 및 전자서명' 각각의 해시값을 산출하고, 상기 산출된 각각의 해시값들의 루트해시값을 산출하고, 해시DB(330)에 상기 트랜잭션데이터일련번호에 매칭하여 상기 타임스탬프와 상기 루트해시값을 저장한다.
한편 본 발명의 다른 일 양상의 실시예(이하 "B양상실시예"라 한다)에 의하면 단계 222는 실명확인서비스서버(300)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인서비스기관의 실명연계공개키'와 '상기 해시DB(330)에 저장된. 타임스탬프와 루트해시값'을 포함하는 소정의 해시DB업데이트트랜잭션데이터를 작성하는 단계; 실명확인서비스서버(300)에서 자신을 운영하는 실명확인서비스기관의 실명연계비밀키를 이용해 상기 해시DB업데이트트랜잭션데이터에 대한 전자서명을 작성하는 단계; 및 실명확인서비스서버(300)에서 상기 해시DB업데이트트랜잭션데이터에 상기 전자서명을 매칭하여 블록체인네트웍에 브로드캐스트하는 단계; 를 더 포함한다.
단계 223에서 실명확인서비스서버(300)에서 소정 규격의 일회용단말검증코드를 랜덤하게 산출하고, 상기 산출된 일회용단말검증코드로 '단계 220에서 고객DB(310)에서 검색한 단말검증코드필드'를 업데이트하고, '단계 220에서 고객DB(310)에서 검색한 실명연계공개키'로 상기 '랜덤하게 산출한 일회용단말검증코드'를 암호화하고, 소정의 본인확인완료코드와 상기 암호화된 일회용단말검증코드를 '단계 220에서 수신한 마이데이터이동신청트랜잭션데이터'에 대한 회신으로서 사용자단말(100)로 회신한다.
단계 224에서 사용자단말(100)에서 '단계 223에서 회신된, 본인확인완료코드와 암호화된 일회용단말검증코드'를 수신하면, 인증앱(110)의 제어에 따라 비밀정보DB(111)의 실명확인서비스기관레코드의 단말검증코드필드값을 상기 수신한 '암호화된 일회용단말검증코드'로 업데이트한다.
단계 230에서 실명확인서비스서버(300)에서 계좌별 거래원장(미도시)에서 '단계 220에서 수신한 마이데이터이동신청트랜잭션데이터에 포함된 실명연계계좌번호'에 해당하여 최근 일정기간(예컨대 5분) 이내에 기록된 입금거래의 적요들을 추출하고, 상기 적요들 중 비대면실명확인용도식별코드를 포함하는 적요를 추출하고, 고객DB(310)에서 상기 실명연계계좌번호에 매칭된 '성명과 주민번호와 실명연계공개키'를 검색하고, 상기 '성명과 주민번호와 실명연계공개키와 적요'를 ‘단계 220에서 수신한 마이데이터이동신청트랜잭션데이터에 마이데이터수신자식별정보로서 포함된, 실명확인수요기관의 비대면실명확인업무용 공개키’로 암호화한다.
상기 '비대면실명확인용도식별코드를 포함하는 적요'의 일 실시예는 '비대면실명확인용도식별코드로 시작하는 적요'이고, 상기 비대면실명확인용도식별코드의 일실시예는 "S"다.
단계 231에서 실명확인서비스서버(300)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인서비스기관의 실명연계공개키'와 '수신자식별정보로서의, 단계 220에서 수신한 마이데이터이동신청트랜잭션데이터에 마이데이터수신자식별정보로서 포함된, 실명확인수요기관의 비대면실명확인업무용 공개키'와 '단계 230에서 암호화된, 성명과 주민번호와 실명연계공개키와 적요’를 포함하는 마이데이터이동트랜잭션데이터를 작성한다.
한편 본 발명의 다른 일 양상에 의하면 상기 마이데이터이동트랜잭션데이터에 포함되는 작성자식별정보로서, '자신을 운영하는 실명확인서비스기관의 실명연계공개키'를 대체하여, 상기 실명확인서비스기관의 SWIFT코드, 은행코드, 법인번호, 실명확인서비스기관고유번호 등 다른 식별정보를 이용할 수도 있다. 이하 본 명세서를 간략하게 하기 위해 상기 작성자식별정보로서 '자신을 운영하는 실명확인서비스기관의 실명연계공개키'를 포함시키는 실시예를 중심으로 설명한다.
단계 232에서 실명확인서비스서버(300)에서 '자신을 운영하는 실명확인서비스기관의 실명연계비밀키'를 이용해 '단계 231에서 작성된 마이데이터이동트랜잭션데이터'에 대한 전자서명을 작성하고, 상기 마이데이터이동트랜잭션데이터와 전자서명을 '단계 220에서 수신한 마이데이터이동신청트랜잭션데이터에 마이데이터수신자식별정보로서 포함된 실명확인수요기관의 공개키’에 해당하는 실명확인수요서버(400)로 전송한다.
본 발명의 부가적 일 양상에 의하면 단계 232는, 실명확인서비스서버(300)에서 상기 마이데이터이동트랜잭션데이터와 전자서명을 중계서버(미도시)로 전송하는 단계; 상기 중계서버(미도시)에서 상기 마이데이터이동트랜잭션데이터에서 '수신자식별정보로서의, 실명확인수요기관의 공개키'를 추출하고 사이트DB에서 상기 실명확인수요기관의 공개키에 매칭된 접속주소를 검색하는 단계; 상기 중계서버(미도시)에서 상기 접속주소에 해당하는 실명확인수요서버(400)로 상기 마이데이터이동트랜잭션데이터와 전자서명을 전송하는 단계; 를 포함한다.
본 발명의 부가적 일 양상에 의하면 앱관리서버(200)와 공개키등록소서버(500) 중 하나가 상기 중계서버를 겸한다.
단계 240에서 상기 실명확인수요서버(400)에서 '단계 232에서 전송된, 마이데이터이동트랜잭션데이터와 전자서명'을 수신하면, '상기 마이데이터이동트랜잭션데이터에 작성자식별정보로서 포함된, 실명확인서비스기관의 실명연계공개키'로 상기 전자서명을 검증한다.
한편, 상기 마이데이터이동트랜잭션데이터에 포함되는 작성자식별정보로서, '자신을 운영하는 실명확인서비스기관의 실명연계공개키'를 대체하여 다른 실명확인서비스기관식별정보를 이용하는 본 발명의 다른 일 양상에 의하면, 단계 240은 상기 '다른 실명확인서비스기관식별정보'에 매칭되는 실명연계공개키를 검색하는 단계; 및 상기 검색된 실명연계공개키로 상기 전자서명을 검증하는 단계를 포함한다.
단계 240에서의 검증결과 상기 전자서명을 상기 실명연계키로 복호화한 값이 상기 마이데이터이동트랜잭션데이터의 해시값과 일치하는 것으로 검증된 경우 단계 241 이하가 동작된다.
단계 241에서 실명확인수요서버(400)에서 '단계 240에서 수신한 마이데이터이동트랜잭션데이터'에 포함된 암호화된 ‘성명과 주민번호와 실명연계공개키와 적요’를 각각 '자신을 운영하는 실명확인수요기관의 비대면실명확인업무용 비밀키'로 복호화하고, 상기 복호화된 적요와 ‘단계 211에서 기록되도록 필요한 동작을 한 적요’를 대조한다.
단계 241에서의 대조 결과 일치하는 경우, 단계 242이하가 동작된다.
단계 242에서 실명확인수요서버(400)에서 트랜잭션데이터DB(420)에 소정의 트랜잭션데이터일련번호에 매칭하여 '단계 240이 동작되는 시점에 해당하는 타임스탬프'와 '단계 240에서 수신한, 마이데이터이동트랜잭션데이터와 전자서명’을 저장하고, 상기 '타임스탬프와 트랜잭션데이터일련번호와 마이데이터이동트랜잭션데이터 및 전자서명' 각각의 해시값을 산출하고, 상기 산출된 각각의 해시값들의 루트해시값을 산출하고, 해시DB(430)에 상기 트랜잭션데이터일련번호에 매칭하여 상기 타임스탬프와 상기 루트해시값을 저장한다.
한편 단계 222에서 예시한 다른 일 양상의 실시예(즉, "B양상실시예"라 한다)에 의하면 단계 242는 실명확인수요서버(400)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인수요기관의 실명연계공개키'와 '상기 해시DB(430)에 저장된. 타임스탬프와 루트해시값'을 포함하는 소정의 해시DB업데이트트랜잭션데이터를 작성하는 단계; 실명확인수요서버(400)에서 자신을 운영하는 실명확인수요기관의 실명연계비밀키를 이용해 상기 해시DB업데이트트랜잭션데이터에 대한 전자서명을 작성하는 단계; 및 실명확인수요서버(400)에서 상기 해시DB업데이트트랜잭션데이터에 상기 전자서명을 매칭하여 블록체인네트웍에 브로드캐스트하는 단계; 를 더 포함한다.
단계 243에서 실명확인수요서버(400)에서 '단계 241에서 복호화된 실명연계공개키'로 '단계 211에서 수신한 암호화된 챌린지값'을 복호화하고, 상기 복호화된 챌린지값과 '단계 201에서 전송한 챌린지값'을 대조한다.
단계 243에서의 대조 결과 일치하면, 단계 244 이하가 동작된다.
단계 244에서 실명확인수요서버(400)에서 '단계 211에서 수신한, 성명 및 주민번호’와 '단계 241에서 복호화된, 성명 및 주민번호'를 각각 대조한다.
단계 244에서의 대조 결과 모두 일치하는 경우, 단계 245 이하가 동작된다.
단계 245에서 실명확인수요서버(400)에서 '단계 211에서 수신한, 성명과 주민번호와 실명확인서비스기관식별정보와 실명연계계좌번호와 암호화된 챌린지값'을 전송한 자에 대한 비대면실명확인이 완료된 것으로 판단하고 고객DB(410)에 '단계 244에서의 대조 결과 일치한, 성명 및 주민번호'에 매칭하여 '단계 241에서 복호화한 실명연계공개키'를 저장한다.
단계 250에서 실명확인서비스서버(300)에서 소정의 블록생성주기별로 해시DB(330)에서 당해 블록생성주기에 해당하는 타임스탬프들을 추출하고, 상기 타임스탬프에 매칭된 루트해시값들을 추출하고, 상기 추출된 '타임스탬프들과 루트해시값들'의 루트해시값을 상기 블록생성주기에 해당하는 무결성증빙으로서 산출한다.
상기 소정의 블록생성주기 일 실시예는 매 대한민국내 은행들의 영업일의 공식개점시간부터 다음 대한민국내 은행들의 영업일의 공식개점시간까지이다.
단계 251에서 실명확인서비스서버(300)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인서비스기관의 실명연계공개키'와 해당블록생성주기식별정보(예컨대, 20200427)와 '단계 250에서 산출한 무결성증빙'을 포함하는 주기별증빙트랜잭션데이터를 작성하고, 상기 실명확인서비스기관의 실명연계비밀키로 상기 주기별증빙트랜잭션데이터에 대한 전자서명을 작성하고, 상기 주기별증빙트랜잭션데이터와 전자서명을 블록체인네트웍에 브로드캐스트한다.
본 발명의 부가적 일 양상에 의하면 단계 251은, 실명확인서비스서버(300)에서 상기 주기별증빙트랜잭션데이터와 전자서명을 중계서버(미도시)로 전송하는 단계; 상기 중계서버(미도시)가 자신의 피어노드들에게 상기 수신한 '주기별증빙트랜잭션데이터와 전자서명'을 전송하는 단계; 를 포함한다.
본 발명의 부가적 일 양상에 의하면 앱관리서버(200)와 공개키등록소서버(500) 중 하나가 상기 중계서버를 겸한다.
단계 260에서 실명확인수요서버(400)에서 소정의 블록생성주기별로 해시DB(430)에서 당해 블록생성주기에 해당하는 타임스탬프들을 추출하고, 상기 타임스탬프에 매칭된 루트해시값들을 추출하고, 상기 추출된 '타임스탬프들과 루트해시값들'의 루트해시값을 상기 블록생성주기에 해당하는 무결성증빙으로서 산출한다.
단계 261에서 실명확인수요서버(400)에서 '작성자식별정보로서의, 자신을 운영하는 실명확인수요기관의 실명연계공개키'와 해당블록생성주기식별정보(예컨대, 20200427)와 '단계 260에서 산출한 무결성증빙'을 포함하는 주기별증빙트랜잭션데이터를 작성하고, 상기 실명확인수요기관의 실명연계비밀키로 상기 주기별증빙트랜잭션데이터에 대한 전자서명을 작성하고, 상기 주기별증빙트랜잭션데이터와 전자서명을 블록체인네트웍에 브로드캐스트한다.
본 발명의 부가적 일 양상에 의하면 단계 261은, 실명확인수요서버(400)에서 상기 주기별증빙트랜잭션데이터와 전자서명을 중계서버(미도시)로 전송하는 단계; 상기 중계서버(미도시)가 자신의 피어노드들에게 상기 수신한 '주기별증빙트랜잭션데이터와 전자서명'을 전송하는 단계; 를 포함한다.
단계 270에서 블록체인네트웍에 참여하는 노드(미도시)들 중 하나이상에서 '단계 251에서 브로드캐스트된, 주기별증빙트랜잭션데이터 및 전자서명'과 '단계 261에서 브로드캐스트된, 주기별증빙트랜잭션데이터 및 전자서명'을 포함해 해당블록생성주기에 브로드캐스트된 '주기별증빙트랜잭션데이터 및 전자서명'들의 루트해시값을 산출하고, 상기 루트해시값과 해당블록생성주기식별정보(예컨대, 20200427)와 직전블록의 블록헤더의 해시값을 포함하는 소정 규격의 블록헤더를 작성하고, 상기 블록헤더와 상기 루트해시값 산출에 이용된 '주기별증빙트랜잭션데이터 및 전자서명'들로 해당블록생성주기의 블록을 작성한다.
한편 단계 222 및 단계 242에서 예시한 다른 일 양상의 실시예(즉, "B양상실시예"라 한다)에 의하면 상기 단계 250 내지 단계 270은 아래 단계 270-1로 대체된다.
단계 270-1에서 소정의 블록생성주기별로 블록체인네트웍에 참여하는 노드(미도시)들 중 하나이상에서 '단계 222에서 브로드캐스트된, 해시DB업데이트트랜잭션데이터 및 전자서명'과 '단계 242에서 브로드캐스트된, 해시DB업데이트트랜잭션데이터 및 전자서명'을 포함해 해당블록생성주기에 브로드캐스트된 '해시DB업데이트트랜잭션데이터 및 전자서명'들의 루트해시값을 산출하고, 상기 루트해시값과 해당블록생성주기식별정보(예컨대, 20200427)와 직전블록의 블록헤더의 해시값을 포함하는 소정 규격의 블록헤더를 작성하고, 상기 블록헤더와 상기 루트해시값 산출에 이용된 '해시DB업데이트트랜잭션데이터 및 전자서명'들로 해당블록생성주기의 블록을 작성한다.
100: 사용자단말
110: 인증앱
111: 비밀정보DB
113: 사이트DB
116: 랜덤값생성모줄
117: GPS측정모줄
118: 타임스탬프모줄
200: 앱관리서버
210: 고객DB
230: 해시DB
240: 사이트DB
300: 실명확인서비스서버
310: 고객DB
320: 트랜잭션데이터DB
330: 해시DB
400: 실명확인수요서버
410: 고객DB
420: 트랜잭션데이터DB
430: 해시DB
500: 공개키등록소서버
510: 실명연계공개키DB
520: 트랜잭션데이터DB
530: 해시DB

Claims (6)

  1. 사용자단말에 마스터패스워드가 입력되는 단계;
    상기 사용자단말에서 상기 마스터패스워드를 이용해 '암호화되어 저장된 실명연계비밀키'를 복호화하는 단계;
    상기 사용자단말에서 상기 마스터패스워드와 '저장된 하나이상의 정보'를 이용해 소정의 본인인증매체를 산출하는 단계;
    상기 사용자단말에서 소정의 발신자식별정보와 상기 본인인증매체와 '상기 발신자식별정보에 해당하는 실명번호와 상기 발신자식별정보에 해당하는 계좌에 기록된 적요를 특정 실명확인수요기관에게 제공할 것을 신청한다는 요지'를 포함하는 것을 특징으로 하는 트랜잭션데이터를 작성하는 단계;
    상기 사용자단말에서 상기 실명연계비밀키로 상기 트랜잭션데이터에 대한 전자서명을 작성하는 단계; 및
    상기 사용자단말에서 상기 계좌가 개설된 실명확인서비스기관의 서버로 상기 트랜잭션데이터 및 전자서명을 전송하는 단계; 를 포함하는 것을 특징으로 하는 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법
  2. 사용자단말이 실명확인수요서버에 접속하는 단계;
    상기 사용자단말이 상기 실명확인수요서버로부터 챌린지값을 수신하는 단계;
    상기 사용자단말에 마스터패스워드가 입력되는 단계;
    상기 사용자단말에서 상기 마스터패스워드를 이용해 '암호화되어 저장된 실명연계비밀키'를 복호화하는 단계;
    상기 사용자단말에서 상기 실명연계비밀키로 상기 챌린지값을 암호화하는 단계; 및
    상기 사용자단말에서 소정의 실명계좌번호와 상기 암호화된 챌린지값을 상기 실명확인수요서버로 전송하는 단계; 를 포함하는 것을 특징으로 하는 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법
  3. 실명확인서비스서버에서 임의의 사용자단말로부터 '임의의 발신자식별정보와 매칭된 소정의 본인인증매체와 실명연계공개키를 포함하는 정보'를 수신하는 단계 (A);
    상기 실명확인서비스서버에서 '(A)단계에서 수신한 발신자식별정보와 매칭하여 저장된 본인인증용정보'를 이용하여 '(A)단계에서 수신한 본인인증매체'를 검증하는 단계 (B);
    상기 실명확인서비스서버에서 (B)단계에서의 검증에 성공하면 '(A)단계에서 수신한 발신자식별정보'에 매칭하여 '(A)단계에서 수신한 실명연계공개키'를 저장하는 단계 (C);
    상기 실명확인서비스서버에서 임의의 사용자단말로부터 임의의 발신자식별정보와 소정의 본인인증매체와 '상기 발신자식별정보에 해당하는 실명번호와 상기 발신자식별정보에 해당하는 계좌에 기록된 적요를 특정 실명확인수요기관에게 제공할 것을 신청한다는 요지'를 포함하는 것을 특징으로 하는 트랜잭션데이터와 전자서명을 수신하는 단계 (D);
    상기 실명확인서비스서버에서 '상기 트랜잭션데이터에 포함된 발신자식별정보와 매칭하여 저장된 본인인증용정보'를 이용하여 '상기 트랜잭션데이터에 포함된 본인인증매체'를 검증하는 단계 (E);
    상기 실명확인서비스서버에서 (E)단계에서의 검증에 성공하면, 작성자식별정보로서의 '상기 실명확인서비스서버를 운영하는 기관을 식별할 수 있는 정보'와 '상기 트랜잭션데이터에 포함된 발신자식별정보에 해당하는 실명번호'와 '상기 발신자식별정보에 해당하는 계좌에 기록된 적요'를 포함하는 것을 특징으로 하는 트랜잭션데이터를 작성하는 단계 (F);
    상기 실명확인서비스서버에서 '자신을 운영하는 실명확인서비스기관'의 비밀키를 이용해 상기 트랜잭션데이터에 대한 전자서명을 작성하는 단계 (G); 및
    상기 실명확인서비스서버에서 '(D)단계에서 수신한 트랜잭션데이터'가 지정하는 실명확인수요기관에게 '(F)단계에서 작성한 트랜잭션데이터'와 '(G)단계에서 작성한 전자서명'을 전송하는 단계 (H); 를 포함하는 것을 특징으로 하는 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법
  4. 실명확인수요서버에 임의의 사용자단말이 접속하고, 상기 실명확인수요서버가 상기 사용자단말로 챌린지값을 전송하는 단계 (A);
    상기 실명확인수요서버에서 상기 사용자단말로부터 서로 매칭된 임의의 실명계좌번호와 임의의 암호화된 챌린지값을 수신하는 단계 (B);
    상기 실명확인수요서버에서 랜덤한 암호를 생성하는 단계 (C);
    상기 실명확인수요서버에서 상기 실명연계계좌번호를 입금계좌로 하여 소액 송금하되 적요로서 상기 암호 포함된 텍스트가 기록되도록 하는데 필요한 동작을 하는 단계 (D);
    상기 실명확인수요서버에서 상기 입금계좌가 개설된 실명확인서비스기관으로부터, '작성자식별정보로서의 상기 실명확인서비스기관식별정보'와 임의의 실명번호와 임의의 실명연계공개키와 임의의 적요를 포함하는 것을 특징으로 하는 트랜잭션데이터와 전자서명을 수신하는 단계 (E);
    상기 실명확인수요서버에서 '상기 작성자식별정보에 해당하는 실명연계공개키'로 상기 전자서명을 검증하는 단계 (F);
    상기 실명확인수요서버에서 '상기 트랜잭션데이터에 포함된 적요’를 '(D)단계에서 적요로서 기록되도록 한 텍스트'와 대조하는 단계 (G);
    상기 실명확인수요서버에서 '상기 트랜잭션데이터에 포함된 실명연계공개키’로 '(B)단계에서 수신한, 암호화된 챌린지값'을 복호화하는 단계 (H);
    상기 실명확인수요서버에서 '(H)단계에서 복호화된 챌린지값과 '(A)단계에서 전송한 챌린지값'을 대조하는 단계 (I); 및
    상기 실명확인수요서버에서 (F)단계에서의 검증에 성공하고, (G)단계에서의 대조결과 일치하고, (I)단계에서의 대조결과 일치하는 경우, '(A)단계에서의, 접속한 사용자단말' 사용자가 '(E)단계에서 수신한 트랜잭션데이터에 포함된 실명번호'에 해당하는 자임이 확인된 것으로 판단하는 단계 (J); 를 포함하는 것을 특징으로 하는 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법
  5. 상기 제 3항 또는 제 4항에서,
    상기 서버에서 트랜잭션데이터DB에 상기 수신한 트랜잭션데이터 및 전자서명을 저장하는 단계; 및
    상기 서버에서 상기 트랜잭션데이터의 해시값을 포함하는 하나이상의 해시값들의 루트해시값을 산출해 해시DB에 저장하는 단계; 를 더 포함하는 것을 특징으로 하는 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법
  6. 임의의 서버에서 소정의 블록생성주기별로 내부에 구성된 해시DB에서 당해 블록생성주기에 해당하는 루트해시값들을 추출하는 단계;
    상기 서버에서 상기 추출된 루트해시값들을 포함하는 정보들의 루트해시값을 상기 블록생성주기에 해당하는 무결성증빙으로서 산출하는 단계;
    상기 서버에서 '작성자식별정보로서의 자신을 운영하는 기관의 식별정보'와 상기 무결성증빙을 포함하는 것을특징으로 하는 트랜잭션데이터를 작성하는 단계;
    상기 서버에서 상기 기관의 실명연계비밀키로 상기 트랜잭션데이터에 대한 전자서명을 작성하는 단계; 및
    상기 서버에서 상기 트랜잭션데이터와 전자서명을 블록체인네트웍에 브로드캐스트하는 단계; 를 포함하는 것을 특징으로 하는 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법

KR1020200065583A 2020-05-31 2020-05-31 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법 KR20210147807A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200065583A KR20210147807A (ko) 2020-05-31 2020-05-31 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200065583A KR20210147807A (ko) 2020-05-31 2020-05-31 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법

Publications (1)

Publication Number Publication Date
KR20210147807A true KR20210147807A (ko) 2021-12-07

Family

ID=78868549

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200065583A KR20210147807A (ko) 2020-05-31 2020-05-31 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법

Country Status (1)

Country Link
KR (1) KR20210147807A (ko)

Similar Documents

Publication Publication Date Title
US11777726B2 (en) Methods and systems for recovering data using dynamic passwords
US9698992B2 (en) Method for signing electronic documents with an analog-digital signature with additional verification
EP2645338B1 (en) System and method for secure voting
US11824838B2 (en) Providing assertions regarding entities
NO330006B1 (no) System og fremgangsmate for elektronisk transmisjon, lagring og gjenvinning av autentifiserte dokumenter
CN101897165A (zh) 数据处理系统中验证用户的方法
CN101999132A (zh) 在服务器凭证验证时生成一次性口令和签名的强认证令牌
CN106796708B (zh) 电子投票系统及方法
CN101461209A (zh) 安全的数据传输的装置与方法
WO2007137368A1 (en) Method and system for verification of personal information
SG186863A1 (en) Method and devices for creating and using an identification document that can be displayed on a mobile device
NL1032340C2 (nl) Systeem en werkwijze voor het digitaal ondertekenen van gegevensbestanden.
KR101968079B1 (ko) 전자증명서 관리 시스템 및 그 방법
KR20200124121A (ko) 간편하고 안전한 마이데이터이동 인증방법
US20090013180A1 (en) Method and Apparatus for Ensuring the Security of an Electronic Certificate Tool
JP4053948B2 (ja) サーバへの接続権限の管理方法及び管理システム
KR20190142682A (ko) 마스터패스워드와 공개키와 비밀키 활용한 간편송금 방법
KR20200091138A (ko) 개인 도메인 네임을 이용한 인증 방법 및 시스템
KR20210147807A (ko) 마스터패스워드와 블록체인 이용하는 간편한 비대면실명확인 방법
TWI677842B (zh) 用於幫助持卡人首次設定金融卡密碼之系統及其方法
KR101619282B1 (ko) 클라우드 기반 비밀번호 통합관리 시스템 및 이의 제어 방법
More et al. Blockchain based Tamper Proof Certificates
KR20210017308A (ko) 디바이스 등록 및 데이터 분산저장을 이용하는 2차인증 서비스 제공방법
TWM578411U (zh) 用於幫助持卡人首次設定金融卡密碼之系統
KR20220012694A (ko) 필요시 실명화 가능한 가명거래 방법