KR20210065012A - 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램 - Google Patents

블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20210065012A
KR20210065012A KR1020200035642A KR20200035642A KR20210065012A KR 20210065012 A KR20210065012 A KR 20210065012A KR 1020200035642 A KR1020200035642 A KR 1020200035642A KR 20200035642 A KR20200035642 A KR 20200035642A KR 20210065012 A KR20210065012 A KR 20210065012A
Authority
KR
South Korea
Prior art keywords
history
certificate
information
server
block chain
Prior art date
Application number
KR1020200035642A
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 세종텔레콤 주식회사
Publication of KR20210065012A publication Critical patent/KR20210065012A/ko
Priority to KR1020230061691A priority Critical patent/KR20230072462A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • G06Q2220/10Usage protection of distributed data files
    • H04L2209/38

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Tourism & Hospitality (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Bioethics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Primary Health Care (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램에 관한 것으로, 블록체인 기반 증명서 관리 서버는 사용자의 식별 정보에 기초하여 사용자의 이력 정보를 인증하는 하나 이상의 서버로부터 사용자의 이력 증명 정보를 수집하는 통신부, 식별 정보와 상기 이력 증명 정보를 해싱하여 생성한 블록체인 연계정보를 트랜잭션으로서 블록체인 서버로 전송하고, 블록체인 서버로부터 수신한 트랜잭션 ID를 수신하는 블록체인 관리부, 식별 정보와 연계하여 블록체인 연계정보, 트랜잭션 ID를 데이터베이스에 저장하는 데이터베이스부, 사용자 단말로부터 식별 정보에 기초하여 이력 증명서를 요청받으면 식별 정보에 연계된 트랜잭션 ID에 기준으로 데이터베이스에 저장된 블록체인 연계 정보의 일부 데이터와 블록체인 서버의 트랜잭션 데이터를 비교하여 일치하면 사용자 단말로 이력 증명 정보에 대한 이력 증명서를 제공하는 제어부를 포함한다.

Description

블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램{CERTIFICATE MANAGEMENT SERVER BASED ON BLOCKCHAIN AND METHOD THEREOF AND COMPUTER PROGRAM}
블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램에 관한 것이다.
일반적으로 개인의 이력 정보 또는 학사 정보를 증명하기 위해 증빙서류 제출하게 된다. 이러한 증빙 서류는 각 해당하는 단체에서 인증하는 마크, 번호, 코드 등을 통해, 해당 증빙 서류에 대한 검증을 표시할 수 있다.
하지만, 각 단체에서 발급하는 증빙 서류는 해당 단체에서 보유하는 기술력에 의해 보안이나 신뢰도에 있어서 차이가 발생한다.
또한, 증명서를 발급하기 위해서 시스템이 구축되지 않은 비정규 교육 기관에서는 해당 증명서를 발급하기 불가능하고, 하나의 증명서를 발급하기에 직접 기관에 방문해야 하는 등의 많은 비용과 시간이 요구된다
한편, 블록체인(Block Chain)이라는 정보를 블록화하고 블록을 잇따라 연결하며, 다수의 장치에 저장하여 관리함으로써, 정보의 위 변조를 막는 기술이 개발되어 다양한 영역에서 적용되고 있다.
따라서, 블록체인을 기반으로 보안을 강화하고, 정규 교육 기관 이외에도 비정규 교육기관과 연계하여 증명서를 발급하는 기술이 요구된다.
해결하고자 하는 과제는 블록 체인 기반으로 사용자의 이력을 통합적으로 관리하고 신뢰도가 높은 관련 증명서를 제공하는 블록체인 기반 증명서 관리 기술을 제공하는 것이다.
일 실시예에 따른 블록체인 기반 증명서 관리 서버는 사용자의 식별 정보에 기초하여 사용자의 이력 정보를 인증하는 하나 이상의 서버로부터 사용자의 이력 증명 정보를 수집하는 통신부, 식별 정보와 이력 증명 정보를 해싱하여 생성한 블록체인 연계정보를 트랜잭션으로서 블록체인 서버로 전송하고, 블록체인 서버로부터 수신한 트랜잭션 ID를 수신하는 블록체인 관리부, 식별 정보와 연계하여 블록체인 연계정보의 일부 데이터와 트랜잭션 ID를 데이터베이스에 저장하는 데이터베이스부, 그리고 사용자 단말로부터 식별 정보에 기초하여 이력 증명서를 요청받으면 식별 정보에 연계된 트랜잭션 ID를 기준으로 데이터베이스에 저장된 블록체인 연계 정보의 일부 데이터와 블록체인 서버로부터 수신한 트랜잭션 데이터를 비교하여 일치하면 사용자 단말로 이력 증명 정보에 대한 이력 증명서를 제공하는 제어부를 포함한다.
통신부는, 서버의 내부에 커넥트 모듈을 포함하면 커넥트 모듈을 통해 사용자의 식별 정보에 연계된 상기 이력 증명 정보를 수집하고, 서버의 내부에 커넥트 모듈을 포함하지 않으면, 개방형 API를 이용하여 사용자의 식별 정보에 연계된 이력 증명 정보를 수집할 수 있다.
블록체인 연계정보는 식별 정보 해시 값, 이력 증명 정보의 원본 데이터, 이력 증명 정보의 원본 데이터 해시 값 및 이력 증명 정보에 대한 버전 값을 포함할 수 있다.
제어부는, 이력 증명서에 대한 온라인 조회 가능 여부, 열람 허용 대상자 지정, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수 중에서 하나 이상을 포함하는 온라인 조회 조건을 입력받으면, 온라인 조회 조건이 설정된 이력 증명서를 제공할 수 있다.
제어부는, 사용자 단말로부터 온라인 조회 가능한 이력 증명서의 출력을 요청받으면, 이력 증명서에 대한 문서조회번호 또는 URL을 설정하고, 문서조회번호 또는 URL이 기재된 이력 증명서를 출력할 수 있다.
제어부는, 이력 증명서의 조회가 가능한 웹 페이지 또는 애플리케이션에 문서조회번호를 입력하거나 URL을 통해 접속한 단말의 열람 허용 대상자 인증을 수행하고, 열람 허용 대상자 인증을 완료한 후, 온라인 조회 조건을 만족하지 않으면, 이력 증명서의 조회 또는 출력을 제한하고, 온라인 조회 조건을 만족하면 이력 증명서를 단말에 제공할 수 있다.
제어부는, 온라인 조회 조건을 만족하면 데이터베이스에 저장된 이력 증명 정보의 원본 데이터로부터 생성한 이력 증명 정보 원본 데이터 해시 값과 블록체인 서버의 이력 증명 정보 원본 데이터 해시 값을 비교하여 이력 증명서에 대한 위변조 확인 결과를 단말에 제공할 수 있다.
일 실시예에 따른 적어도 하나의 프로세서에 의해 동작하는 증명서 관리 서버의 동작 방법으로서, 사용자 단말로부터 사용자의 식별 정보에 기초하여 이력 증명서를 요청받으면, 데이터베이스에서 식별 정보와 연계된 이력 증명 정보와 트랜잭션 ID를 검색하는 단계, 블록체인 서버에 접속하여 트랜잭션 ID에 연계된 트랜잭션 데이터를 수집하는 단계, 그리고 트랜잭션 데이터와 이력 증명 정보가 일치하면 이력 증명 정보에 대한 이력 증명서를 사용자 단말로 제공하는 단계를 포함하고, 이력 증명서는 입력받은 하나 이상의 온라인 조회 조건에 기초하여 출력된다.
사용자의 식별 정보에 기초하여 사용자의 이력 정보를 인증하는 하나 이상의 서버로부터 커넥트 모듈 또는 개방형 API를 이용하여 사용자의 이력 증명 정보를 수집하는 단계, 식별 정보와 이력 증명 정보를 해싱하여 생성한 블록체인 연계정보를 트랜잭션으로서 블록체인 서버로 전송하고, 블록체인 서버로부터 수신한 트랜잭션 ID를 수신하는 단계, 그리고 식별 정보와 연계하여 블록체인 연계정보의 일부 데이터와 트랜잭션 ID를 데이터베이스에 저장하는 단계를 더 포함한다.
일 실시예에 따른 컴퓨팅 장치에 의해 실행되고, 컴퓨터 판독 가능한 저장매체에 저장되는 프로그램으로서, 사용자 단말로부터 사용자의 식별 정보에 기초하여 이력 증명서를 요청받는 단계, 식별 정보와 연계된 이력 증명 정보와 트랜잭션 ID를 검색하는 단계, 블록체인 서버에 접속하여 식별 정보와 트랜잭션 ID에 연계된 트랜잭션 데이터를 수집하는 단계, 그리고 트랜잭션 데이터와 이력 증명 정보가 일치하면 이력 증명 정보에 대한 이력 증명서를 사용자 단말로 제공하는 단계를 실행하는 명령어들을 포함하고, 온라인 조회 가능 여부, 열람 허용 대상자 지정, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수 중에서 하나 이상의 조건이 설정되면, 조건에 기초하여 상기 이력 증명서를 출력한다.
실시예에 따르면 블록체인 기술 기반으로 이력 정보에 대한 증명서에 대한 위변조를 방지하여 증명서에 대한 신뢰성을 향상시킬 수 있다.
실시예에 따르면 별도의 증명서 발급 시스템을 갖추지 못한 기관의 서버와 간편 API로 연계되어 해당 기관에서 인증하는 이력 정보에 대한 증명서를 포함하여 통합적으로 관리하고 보다 편리하게 증명서를 제공할 수 있다.
도 1은 한 실시예에 따른 블록체인 기반 증명서 관리 서버를 포함하는 통신 네트워크를 나타낸 구성도이다.
도 2는 한 실시예에 따른 제1 서버 그리고 제2 서버와 통신을 수행하는 통신부를 나타낸 예시도이다.
도 3은 한 실시예에 따른 블록체인 기반 인증서 관리 방법의 데이터 저장 방법을 나타낸 순서도이다.
도 4는 한 실시예에 따른 블록체인 저장 정보 구조를 나타낸 예시도이다.
도 5는 한 실시예에 따른 블록체인 기반 인증서 관리 방법의 인증서 제공 방법을 나타낸 순서도이다.
도 6은 한 실시예에 따른 출력되는 증명서와 온라인 조회를 제공하는 웹 페이지를 나타낸 예시도이다.
도 7은 한 실시예에 따른 제1 서버를 통한 인증서 제공 방법을 나타낸 순서도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
명세서에서, 이력 정보는 사용자에 대해 해당 단체 또는 기관에 의해 인증이 가능한 학업, 직업, 경험 등의 내력을 포함하는 정보로, 예를 들어, 학교 성적, 학교 입학 및 졸업, 경력, 자격 취득 정보, 봉사활동 내역, 어학연수 내역, 교육 과정 이수 내역 등을 포함한다.
그리고 이력 증명서는 이력 정보에 대한 서면으로 증명하고자 작성된 서류로, 학위 증명서, 수료증, 성적 확인서, 자격증 증명서, 경력 증명서, 교육 이수 확인서 등을 포함한다.
명세서에서는 사용자는 증명서 관리 서버를 통해 통합 이력 관리를 의뢰하기 위해 일정한 형식의 회원가입을 통해 식별 정보가 생성된 회원을 의미하며, 기관 서버는 각 기관 또는 단체에서 제공하는 교육, 자격, 경험, 활동 내역 등을 제공하고, 해당 내용을 인증하는 기관 또는 단체의 서버로서, 통합 증명서 관리 서비스를 위임한 기관 서버를 의미한다. 이하에는 기관 서버는 제1 서버와 제2 서버의 종류로 구분할 수 있다.
도 1은 한 실시예에 따른 블록체인 기반 증명서 관리 서버를 포함하는 통신 네트워크를 나타낸 구성도이고, 도 2는 한 실시예에 따른 제1 서버 그리고 제2 서버와 통신을 수행하는 통신부를 나타낸 예시도이다.
도 1에 도시한 바와 같이, 증명서 관리 서버(100)는 하나 이상의 제1 서버(210) 그리고 블록체인 서버(300)간에 서로 통신망을 통하여 연결되어 있으며, 서로 데이터를 송수신한다. 통신망은 유선 통신 네트워크, 근거리 또는 원거리 무선 통신 네트워크, 이들이 혼합된 네트워크 등 데이터를 전달하는 모든 형태의 통신 네트워크를 포함할 수 있다. 또한, 통신망은 전용선을 사용하여 구축된 프라이빗 네트워크로 구현될 수 있다.
또는 증명서 관리 서버(100)는 하나 이상의 제2 서버(220)와 연결되어 서로 데이터를 송수신할 수 있다.
증명서 관리 서버(100)는 통신부(110), 블록체인 관리부(120), 제어부(130) 그리고 데이터베이스부(140)를 포함한다. 도 1에 도시된 구성요소들은 증명서 관리 서버(100)를 구현하는 데 있어서 필수적인 것은 아니어서, 본 개시에서 설명되는 증명서 관리 서버(100)는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
통신부(110)는 하나 이상의 기관 서버와 연결되어 사용자의 이력 증명 정보를 수집할 수 있다. 여기서, 기관 서버는 통신 방법에 따라 하나 이상의 제1 서버(210) 또는 하나 이상의 제2 서버(220)를 포함한다.
여기서, 이력 증명 정보는 이력 정보와 이력 증명서를 포함한다.
도 2에 도시한 바와 같이, 통신부(110)는 제1 서버(210)와 통신을 수행하는 커넥트 모듈(111)과 제2 서버(220)와 통신을 수행하는 개방형 API(Open API, 112)를 포함한다.
제1 서버(210)는 일종의 정규 교육 기관, 지자체, 국가 기관 등과 같이 단독으로 해당 기관 내 증명서 발급 시스템을 갖춘 기관의 서버 중에서 증명서 관리 서버(100)와 연동하는 기관의 서버를 의미한다.
이때, 제1 서버(210)에는 증명서 관리 서버(100)와 연계된 통합 증명서를 발급하기 위한 별도의 시스템이 구축되거나 내부에 증명서 관리 서버(100)가 포함될 수 있다.
다시 말해, 제1 서버(210)의 내부에 증명서 관리 서버(100)의 주요 기능이 플랫폼으로 구현되어 제1 서버(210)를 통해 통합적인 증명서 관리를 수행하거나, 제1 서버(210) 내부에 구현된 플랫폼과 외부의 증명서 관리 서버(100)간의 전용 커넥트 모듈을 통한 통신으로 통합적인 증명서 관리를 수행할 수 있다.
상세하게는 제1 서버(210)는 증명서 관리 서버(100)의 통신부(110), 블록체인 관리부(120), 제어부(130) 그리고 데이터베이스부(140)에 대한 유사한 기능을 수행하는 모듈을 포함할 수 있으며, 제1 서버(210)의 사용자 개인정보, 식별정보, 이력 증명 정보, 이력 증명서 등에 대한 데이터를 블록화하여 블록체인 서버에 공유할 수 있다.
이처럼, 제1 서버(210)는 증명서 관리 서버(100)와 커넥트 모듈을 통해 연동되어 제1 서버(210) 자체에서 관리하는 사용자 개인정보, 식별정보, 이력 증명 정보, 이력 증명서 등을 공유할 수 있다.
다시 말해, 제1 서버(210)를 이용하는 사용자로부터 계정 연동을 요청받으면, 제1 서버(210)의 식별 정보와 증명서 관리 서버(100)에서 사용하는 계정 정보를 매칭하여 자동 연계할 수 있다.
반면에 제2 서버(220)는 비정규 교육 기관, 사단 법인, 사설 단체 등과 같이, 증명서 발급 시스템이 없거나 증명서 발급에 있어서 제약을 많은 기관의 서버를 의미한다.
이에 통신부(110)는 개방형 API(Open API, 112)를 통해 제2 서버(220)와 통신을 수행하여 사용자의 이력 증명 정보를 수집할 수 있다.
이외에도 통신부(110)는 블록체인 서버(20)와 소정의 통신 프로토콜을 이용하여 하나 이상의 정보(또는 데이터) 송수신을 위한 통신 인터페이스를 제공할 수 있다. 그리고 통신부(110)는 일정한 인터페이스 화면을 통해 사용자 단말(400) 또는 제3자 단말(미도시함)과 통신을 통해 데이터를 송수신할 수 있다.
블록체인 관리부(120)는 사용자의 식별 정보와 이력 증명 정보로부터 블록체인 연계 정보를 생성할 수 있다.
예를 들어, 블록체인 관리부(120)는 사용자 식별정보에 임의의 난수 값을 부가하고 암호화를 수행하여 식별정보 HASH 값을 산출한다. 또한, 블록체인 관리부(120)는 증명서 원본 데이터에 대해 암호화를 수행하여 증명서 원본 데이터 해시 값을 산출한다. 이러한 암호화에는 SHA256, SHA512 등의 해시 알고리즘 또는 해시 함수가 사용될 수 있으며, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자라면, 이에 대한 구체적인 기술적 사항을 기 숙지하고 있을 것이므로, 이에 대한 상세한 설명은 편의상 생략한다.
이처럼 블록체인 관리부(120)는 하나 이상의 이력 증명 정보에 대해 각각의 블록체인 연계 정보를 생성하여 관리할 수 있다.
여기서, 블록체인 연계 정보는 사용자 식별정보에 대응하는 식별정보 해시(HASH) 값, 이력 증명 정보 원본 데이터 해시 값, 이력 증명 정보 원본 데이터, 버전 정보값 등을 포함한다.
한편, 블록체인 관리부(120)는 데이터베이스(140)에 저장되어 있는 데이터와 블록체인 서버(300)에 저장되어 있는 데이터를 비교한다.
예를 들어, 블록체인 관리부(120)는 데이터베이스(140)에 저장되어 있는 데이터들 중 최근에 업데이트된 데이터를 소정 주기로 판독할 수 있다. 그리고 블록체인 관리부(120)는 판독한 데이터의 트랜잭션 ID를 블록체인 서버(300)에 전송한다. 그리고 블록체인 서버(300)로부터 해당 트랜잭션 ID에 대응하는 블록체인 연계정보를 수신하면, 판독한 데이터와 서로 비교한다. 구체적으로, 블록체인 관리부(120)는 동일한 트랜잭션 ID에 대응하여, 데이터베이스부(140)에 저장되어 있는 이력 증명 정보 원본 데이터에 대해서 실시간으로 생성한 이력 증명 정보 원본 데이터 해시 값과 블록체인 서버(300)에 저장되어 있는 이력 증명 정보 원본 데이터 해시 값을 서로 비교할 수 있다.
제어부(130)는 블록체인 관리부(120)에서 비교한 두 데이터가 서로 상이하면, 해당 트랜잭션 ID에 대응하여 증명서 관리 서버(100)의 데이터베이스(140)에 저장되어 있는 데이터가 위조 내지 변조된 것으로 결정할 수 있다. 그리고 제어부(130)는 위조 내지 변조된 데이터를 나타내는 정보를 관리자 단말(미도시함)에 전달하여, 관리자가 위조 내지 변조된 데이터를 확인할 수 있도록 한다.
한편, 제어부(130)는 사용자 단말(400)로부터 회원 가입 인증 또는 이력 증명서 조회 또는 출력 서비스, 온라인 조회 조건 설정 등과 관련한 요청을 수신하면, 해당 요청에 대응하여 전반적인 동작을 제어할 수 있다.
제어부(130)는 서비스 이용자에 대한 개인 정보, 개인 식별 번호에 기초하여 계정을 생성하여 관리할 수 있다. 여기서, 계정에 대한 회원 가입 및 인증 처리는 탈중앙화 신원증명(Decentralized Identifier, DID)를 이용할 수 있다.
탈중앙화 신원증명은 중앙 시스템에 의해 신원확인이 통제되지 않으며 개개인이 자신의 정보에 완전한 통제권을 갖도록 하는 기술로 상세하게는 개인 블록체인 월렛에 개인 정보를 저장하고, 개인 블록체인 월렛의 개인키를 입력하여 신원을 증명하는 기술이다.
다음으로 데이터베이스부(140)는 사용자의 개인 정보, 식별 정보, 블록체인 연계정보 중 일부, 트랜잭션 ID(TXID), 이력 정보, 이력 증명 정보 등이 서로 연계되어 저장한다.
여기서 이력 증명 정보는 사용자의 이력 정보에 대해 단체 또는 기관에서 인증하는 정보를 의미하며, 자격 취득 정보에 대한 자격증서, 학사 정보에 대한 학위 증명서, 수강 과목의 성적 정보에 대한 성적 확인서 등을 의미한다.
그리고 블록체인 연계정보 중 일부는 식별 정보의 해시값(식별 정보+Salt 값), 이력 증명 정보의 원본 데이터, 트랜잭션 ID(TXID), 버전 정보값 등을 포함한다.
데이터베이스부(140)는 마스터-슬래이브(Master-Slave)형태로 개인 정보의 원본 데이터, 블록체인 연계 정보의 일부가 저장될 수 있다.
예를 들어, 데이터베이스부(140)는 마스터 DB를 통해 복수개의 슬래이브 DB를 관리할 수 있다.
이외에도 증명서 관리 서버(100)는 메모리(미도시함)를 더 포함하여, 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 증명서 관리 서버(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 증명서 관리 서버(100)의 기본적인 기능(예를 들어, BIOS)을 위하여 출고 당시부터 증명서 관리 서버(100)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리에 저장되고, 증명서 관리 서버(100) 상에 설치되어, 제어부(130)에 의하여 증명서 관리 서버의 동작(또는 기능)을 수행하도록 구동될 수 있다.
블록체인 서버(300)는 복수의 노드를 포함하며, 복수의 노드는 블록 체인 기술의 합의(Consensus) 알고리즘을 통해 트랜잭션의 검증이 완료되면 블록에 트랜잭션을 기록하는 기능을 수행할 수 있다.
이때, 블록체인 서버(300)는 트랜잭션을 기록할 때, 트랜잭션 ID를 생성하여 증명서 관리 서버(100)와 공유할 수 있다.
그리고 사용자 단말(400)은 증명서 관리 서버(100)에서 제공하는 웹 페이지 또는 이력 관리 프로그램 등을 통해 이력 정보를 조회하고, 이를 소정의 문서 형태로 출력할 수 있다. 이때, 오프라인의 문서 이외에도 온라인 파일 형태로 출력가능하며, 온라인 파일 형태인 경우, 수정이나 편집이 불가능한 형태로 제공할 수 있다.
다음으로, 도 3 내지 7를 참조하여, 증명서 관리 서버(100)에서 사용자의 이력 증명서를 통합적으로 관리하고 제공하는 방법에 대해서 설명한다.
도 3은 한 실시예에 따른 블록체인 기반 인증서 관리 방법의 데이터 저장 방법을 나타낸 순서도이고, 도 4는 한 실시예에 따른 블록체인 저장 정보 구조를 나타낸 예시도이다.
도 3에 도시한 바와 같이, 증명서 관리 서버(100)는 사용자의 식별 정보에 기초하여 기관 서버로부터 사용자의 이력 정보를 수집한다(S110).
여기에서, 사용자는 증명서 관리 서버(100)에 일정한 회원 가입 절차에 의해 가입된 회원으로 이력 정보에 대한 통합 증명서 관리 서비스를 요청한 회원을 의미하므로 별도의 회원 가입 절차 및 인증 절차에 대한 설명은 생략한다.
그리고 사용자 식별 정보란, 사용자의 주민등록번호, ID, 학번, 사번, 폰 번호 등으로 사용자를 식별가능한 정보를 나타낸다.
증명서 관리 서버(100)는 통합 증명서 관리 서비스를 위임한 기관 서버(210, 220)에 접속하여 사용자의 이력 정보 및 이력 증명 정보를 수집할 수 있다.
이때, 증명서 관리 서버(100)는 기관 서버의 내부 커넥트 모듈을 포함하는 제1 서버(210)의 경우, 해당 커넥트 모듈을 통해 사용자의 식별 정보에 연계된 이력 증명 정보를 수집할 수 있다. 그리고 증명서 관리 서버(100)는 커넥트 모듈을 포함하지 않는 제2 서버(220)의 경우에 개방형 API를 이용하여 사용자의 식별 정보에 연계된 이력 증명 정보를 수집할 수 있다.
다음으로 증명서 관리 서버(100)는 식별 정보 및 이력 정보의 해시 데이터 생성 한다(S120).
증명서 관리 서버(100)는 사용자의 식별정보에 솔트(salt) 값을 추가하고, 이에 대해 해싱을 수행하여 식별정보 HASH 값을 생성할 수 있다. 솔트 값을 추가하는 이유는 HASH 값의 복호화 가능성을 낮추는 효과가 있다. 그리고 증명서 관리 서버(100)는 이력 증명 정보 원본 데이터에 대해 해싱을 수행하여 이력 증명 정보 원본 데이터 해시 값을 생성할 수 있다.
도 4에 도시한 바와 같이, 증명서 관리 서버(100)는 식별 정보를 기준으로 이력 증명 정보에 기초한 증명서 발급에 필요한 주요 정보를 포함하여 해시 값을 생성할 수 있다.
도 4의 (a)는 해시 값 생성 구조이고, (b)는 블록체인 저장 정보 구조를 나타낸다.
증명서 관리 서버(100)는 블록체인에 연결할 블록을 생성하는데, 이력 증명 정보와 직접적으로 관련된 데이터를 선별하여 해시 값을 생성한다. 예를 들어, 대학교 성적/졸업/재학과 관련된 사용자의 이력 증명 정보인 경우, 사용자를 식별 정보로 학번과 각 성적/졸업/재학 관련 정보를 선별하여, 데이터 헤더(data Header)에는 학번(식별 정보)와 증명서 타입 정보를 저장하고 데이터 바디(data body)에는 성적/졸업/재학 증명서 세부 정보를 저장하여 해시값을 생성할 수 있다.
증명서 관리 서버(100)는 블록체인 연계정보를 생성하여 트랜잭션 데이터로 블록 체인 서버에 전송 한다(S130).
여기서, 블록체인 연계 정보는 식별 정보 해시 값, 이력 증명 정보의 원본 데이터, 이력 증명 정보의 원본 데이터 해시 값, 및 이력 증명 정보에 대한 버전 값을 포함한다.
증명서 관리 서버(100)는 블록체인 서버로부터 트랜잭션 데이터의 트랜잭션 ID를 수신한다(S140).
이때 블록체인 서버(300)는 블록체인 연계정보를 트랜잭션 데이터로서 수신하면, 해당 트랜잭션에 대한 트랜잭션 ID(TXID)를 생성하고, 트랜잭션 데이터와 트랜잭션 ID(TXID)를 기록한다.
여기서 기록되는 트랜잭션 데이터는 트랜잭션 ID, 식별 정보 해시 값, 이력 증명 정보의 원본 데이터, 이력 증명 정보의 원본 데이터 해시 값, 및 이력 증명 정보에 대한 버전 값을 포함한다.
다음으로 증명서 관리 서버(100)는 사용자의 식별 정보에 연계하여 트랜잭션 ID과 블록체인 데이터의 일부를 데이터베이스에 저장한다(S150).
증명서 관리 서버(100)의 데이터베이스(140)에 저장되는 정보는 식별정보 HASH 값, 이력 증명 정보 원본 데이터, 버전 값 그리고 트랜잭션 ID를 포함한다. 이때, 식별정보 HASH 값, 증명서 원본 데이터, 및 버전 값은 JSON 포맷으로 저장될 수 있다. 예를 들어, 과목 코드와 성적 값이 결합되어 JSON 포맷으로 저장될 수 있다.
한편, 데이터베이스에는 사용자 개인 정보에 대한 원본데이터를 더 포함하여 저장할 수 있다.
이와 같이, 증명서 관리 서버(100)는 사용자의 식별 정보와 이력 증명 정보를 기반으로 블록체인 연계정보를 생성하여 블록체인 서버(300)에 공유한다.
이때, 이력 증명 정보가 수정되거나 새로운 이력 증명 정보가 추가되는 경우, 증명서 관리 서버(100)는 동일한 방법으로 해당 식별 정보와 이력 증명 정보에 대한블록체인 연계정보를 생성하여 블록체인 서버(300)에 공유할 수 있다.
도 5는 한 실시예에 따른 블록체인 기반 인증서 관리 방법의 인증서 제공 방법을 나타낸 순서도이다.
사용자 단말(400)은 식별 정보를 입력하고, 사용자의 이력 증명서를 요청한다(S210).
사용자 단말(400)은 로그인을 통해 식별 정보를 입력하거나 별도로 학번, 자격증 번호 또는 전화번호 등과 같이 직접적으로 개별 식별 정보를 입력할 수 있다.
다음으로 사용자 단말(400)로부터 식별 정보와 함께, 이력 증명서를 요청받으면(S220), 증명서 관리 서버(100)는 식별 정보에 연계된 이력 정보 및 트랜잭션 ID(TXID)를 검색한다(S225).
증명서 관리 서버(100)는 저장된 데이터베이스를 검색하여 식별 정보에 기초하여 저장된 데이터들을 검색한다.
이때, 증명서 관리 서버(100)는 판독한 경력 정보의 증명서 원본 데이터를 해싱하여 증명서 원본 데이터 해시 값을 생성(S402)한다
증명서 관리 서버(200)는 검색된 트랜잭션 ID를 블록체인 서버(300)로 전송한다(S225). 이때 증명서 관리 서버(200)는 사용자 식별 정보를 함께 블록체인 서버(300)로 전송할 수 있다.
그러면 블록체인 서버(300)는 트랜잭션 ID에 대응한 트랜잭션 데이터 판독(S230)하여 트랜잭션 데이터를 증명서 관리 서버(200)로 전송한다(S235)
이때, 블록체인 서버(300)는 저장된 트랜잭션 데이터를 모두 전송하거나 트랜잭션 데이터 중에서 이력 증명 정보 원본데이터 해시 값만을 선별하여 전송할 수 있다.
다음으로 증명서 관리 서버(200)는 데이터 위변조 여부 확인한다(S240).
증명서 관리 서버(200)는 데이터베이스부(140)에 저장되어 있는 이력 증명 정보 원본 데이터에 대해서 이력 증명 정보 원본 데이터 해시 값을 생성한다. 그리고 증명서 관리 서버(200)는 실시간으로 생성한 이력 증명 정보 원본 데이터 해시 값과 블록체인 서버(300)에 저장되어 있는 이력 증명 정보 원본 데이터 해시 값을 서로 비교할 수 있다.
이때, 비교 결과 해시 값이 일치하지 않으면 위변조가 일어났다고 판단하여 지정된 서버나 관리자 단말(미도시함) 등으로 위변조 알림 메시지를 전송할 수 있다.
그리고 증명서 관리 서버(200)는 블록체인 서버(300)로부터 수신한 블록체인 연계정보 내의 증명서 원본 데이터를 JSON 포맷으로 변환하고, 데이터베이스부(140) 내에 저장되어 있는 블록체인 연계정보 내의 증명서 원본 데이터를 JSON 포맷으로 변환하여 비교할 수 있다.
그리고 비교 결과를 지정된 서버나 관리자 단말로 전송할 수 있다.
또한, 증명서 관리 서버(200)는 블록체인 서버(300)에 저장되어 있는 이력 증명 정보로 데이터베이스(140)의 이력 증명 정보를 복구할 수 있다.
한편, 비교 결과 해시 값이 일치하면, 증명서 관리 서버(200)는 이력 증명서를 사용자 단말(400)로 출력한다(S260).
이때, 증명서 관리 서버(200)는 사용자 단말(400)로부터 이력 증명서에 대한 온라인 조회 가능 여부, 열람 허용 대상자 지정, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수 중에서 하나 이상을 포함하는 온라인 조회 조건이 포함된 출력 요청을 수신할 수 있다. 또는 S210 단계에서 이력 증명서 요청과 함께 온라인 조회 조건을 입력받을 수 있다.
이에 증명서 관리 서버(100)는 온라인 조회 가능한 이력 증명서의 출력을 요청받으면, 이력 증명서에 대한 문서조회번호 또는 URL을 설정하고, 문서조회번호 또는 URL이 기재된 이력 증명서를 출력한다.
이때, 문서조회번호와 URL은 조건에 대응하여 임시적으로 할당되는 것으로, 증명서 관리 서버(100)는 해당 이력 증명서에 대한 조회 기간이 설정되어 있으면, 설정된 조회 기간에만 유효한 임시 문서조회번호와 임시 URL을 설정할 수 있다.
다음으로 사용자 단말(400)은 이력 증명서를 인사담당자 단말(500)로 전송한다(S265).
이때 사용자 단말(400)과 인사담당자 단말(500) 모두 증명서 관리 서버(100)의 서비스를 이용하는 경우, 사용자 단말(400)은 증명서 관리 서버(100)를 통해 해당 이력 증명서를 전달할 수 있다.
예를 들어, 사용자 단말(400)은 인사담당자 단말(500)로 문자, 이메일 또는 증명서 관리 서버(100)가 제공하는 애플리케이션, 프로그램 등을 통해 이력 증명서를 전달할 수 있다.
그러면, 인사 담당자 단말(500)이 이력 증명서의 조회가 가능한 웹 페이지 또는 애플리케이션에 문서조회번호를 입력하거나 URL을 통해 접속하면 증명서 관리 서버(100)는 열람 허용 대상자 인증을 요청한다.
인사 담당자 단말(500)은 해당 이력 증명서에 대응하여 열람 허용 대상자 인증을 수행한다(S270).
인사 담당자 단말(500)은 설정된 폰 번호, 이메일, 실명 중에서 하나 이상을 이용하여 열람 허용 대상자임을 인증할 수 있다.
예를 들어, 온라인 조회 조건에서 특정 회사의 인사 담당자 이메일로 한정하여 열람 허용 대상자를 지정하는 경우, 인사 담당자 단말(500)은 이메일을 입력하고, 해당 이메일을 통해 수신한 인증 번호를 해당 웹 페이지 또는 애플리케이션에 입력함으로써 열람 허용 대상자임을 인증할 수 있다.
증명서 관리 서버(100)는 열람 허용 대상자 인증이 완료되면, 온라인 조회 조건에 기초하여 조회 또는 출력 여부를 판단한다.
예를 들어, 이력 증명서를 발급한 날로부터 7일 동안 조회 또는 출력이 가능한 경우, 현재 시점에서의 날짜를 확인하여 발급한 날로부터 7일 이내인 경우, 조회 또는 출력 여부를 판단한다. 또는, 조회 또는 출력 가능 횟수가 10회로 한정되고, 조회 또는 출력 될 때마다 카운트된 숫자와 비교하여 10회 미만이면 조회 또는 출력이 가능하다고 판단한다.
증명서 관리 서버(100)는 조회 또는 출력이 불가하다고 판단하는 경우, 해당 이력 증명서의 조회 또는 출력을 제한하고, 알림 메시지를 인사 담당자 단말(500) 또는 사용자 단말(400)로 전송할 수 있다.
한편, 해당 이력 증명서의 조회 또는 출력 가능한 경우, 인사 담당자 단말(500)은 데이터 위변조 여부 확인을 요청한다(S275).
증명서 관리 서버(100)는 인사 담당자 단말(500)의 요청을 받지 않아도 조회 또는 출력이 가능한 경우, 자동으로 해당 이력 증명서에 대한 위변조 여부를 확인할 수 있다. 이러한 설정은 추후에 관리자에 의해 용이하게 변경 및 설정 가능하다.
다음으로 증명서 관리 서버(100)는 데이터 위변조 여부를 확인한다(S280).
증명서 관리 서버(100)는 S240 단계와 동일하게 저장된 데이터베이스의 이력 증명 정보 원본 데이터에서 이력 증명 정보 원본 데이터 해시 값을 생성한다. 그리고 증명서 관리 서버(200)는 실시간으로 생성한 이력 증명 정보 원본 데이터 해시 값과 블록체인 서버(300)에 저장되어 있는 이력 증명 정보 원본 데이터 해시 값을 서로 비교하여 일치 여부에 따라 데이터 위변조 여부를 확인한다.
다음으로 증명서 관리 서버(100)는 이력 증명서와 위변조 결과를 인사 담당자 단말(500)로 출력한다(S285). 여기서, 이력 증명서와 위변조 결과는 연동되는 프린터에 의해 오프라인 출력물로 인쇄되거나 온라인 파일로 출력이 가능하다.
그리고 증명서 관리 서버(100)는 해당 이력 증명서가 위변조된 경우, 위변조 결과와 함께, 블록체인 서버(300)에 저장된 이력 증명 정보 원본 데이터를 수집하고, 수집한 이력증명 정보 원본 데이터를 인사 담당자 단말(500)로 전송할 수 있다.
이때, 증명서 관리 서버(100)는 증명서 관리 서버(100)의 관리자 또는 해당 이력 증명서를 수집한 기관 서버(210, 220) 또는 사용자 단말(400)에 이력 증명서의 위변조 결과를 전송할 수 있다.
도 6은 한 실시예에 따른 출력되는 증명서와 온라인 조회를 제공하는 웹 페이지를 나타낸 예시도이다.
도 6의 (a)는 출력물로 나타낸 증명서와 (b)는 온라인 조회를 제공하는 웹 페이지를 나타낸다.
사용자 단말(400)로부터 이력 증명서 출력 요청과 함께 온라인 조회 가능 여부, 출력 횟수, 조회 온라인 조회 가능 기간, 온라인 조회 인증 정보(폰 번호, e-mail 등)등 중에서 하나 이상의 온라인 조회 조건을 입력받으면 증명서 관리 서버(100)는 이력 증명서에 온라인 조회 조건이 설정된 문서 고유 번호 또는 URL를 설정한다.
여기서, 문서 고유 번호와 URL은 각 증명서의 출력에 따라 임시적으로 설정되며, 온라인 조회 조건에 기초하여 온라인 문서 제공을 제어할 수 있다.
온라인 조회가 가능하도록 설정되면, 도 6의 (a)와 같이, 증명서 출력물의 상단에는 온라인 조회를 위한 해당 문서 조회 번호(A)가 기재되고 하단에는 온라인 조회가 가능한 URL(B)이 설정된다. 이러한 증명서 출력은 반드시 오프라인 인쇄 출력만을 한정하는 것은 아니며, PDF 파일 출력과 같은 온라인 파일 출력을 포함한다.
이에, 사용자 단말(400)은 증명서 출력물의 문서 조회 번호 또는 온라인 조회를 통해 간편하게 증명서를 재출력하거나 해당 이력 증명서를 인사 담당자와 같은 제3자에게 전달할 수 있다.
도 6의 (b)와 같이, 증명서 관리 서버(100)에서 제공하는 온라인 문서 조회 웹페이지에 증명서의 문서 조회 번호를 입력하여 문서 조회하거나 증명서의 URL을 직접 입력하여 해당 문서를 조회할 수 있다. 이때, 증명서의 URL을 직접 이용하는 경우, 문서 조회 번호를 입력하지 않고 바로 조회 인증 단계로 넘어갈 수 있다.
문서 조회 번호 입력 또는 해당 URL을 통해 조회하고자 하는 증명서를 특정하면, 해당 증명서의 온라인 조회 조건에 기초하여 열람 허용 대상자임을 확인한다. 예를 들어 폰 번호를 통한 실명 조회를 진행하거나 이메일을 입력하고, 대응되는 인증 번호를 입력하여 열람 허용 대상자임을 확인할 수 있다.
이처럼 열람 허용 대상자임을 인증하면, 해당 증명서에 대한 조회 및 출력이 가능하다.
이때, 앞서 사용자 단말(400)로부터 조회 가능 기간, 출력 가능 횟수 등이 설정된 온라인 조회 조건에 기초하여 조건을 벗어나는 경우, 해당 증명서의 조회 및 출력을 제한할 수 있다.
예를 들어, 조회 가능 기간을 도과하거나 출력 또는 조회 횟수가 설정된 횟수를 초과하는 경우, 해당 증명서의 조회 또는 출력을 제한한다. 상세하게는 조회 가능 기간을 설정한 날짜로부터 3일, 1주인, 10일등과 같이 기간을 설정하거나 최초 조회 가능 날짜와 마지막 조회 날짜를 직접 입력하여 설정할 수 있다.
한편, 인사담당자와 같은 제 3자가 해당 증명서를 확인하고 별도로 증명서에 대한 유효성 검사를 요청하여 해당 증명서에 대한 위변조 여부를 확인할 수 있도록 제공할 수 있다. 유효성 검사는 앞서 S000 단계에서 수행한 데이터베이스(140)에 저장된 원본 정보 해시 데이터와 블록체인 연계정보 해시데이터를 비교하여 일치 여부에 따라 데이터 위변조를 확인하는 것을 의미한다.
한편 열람 허용 대상자가 증명서 관리 서버(100)에 가입된 회원인 경우, 회원 인증을 통해 열람 허용 대상자를 확인하는 단계를 대체할 수 있다.
이하에서는 사용자 단말이 제1 서버를 통해 증명서 관리 서버로부터 통합적인 이력 증명서를 확인하는 과정에 대해서 설명한다.
도 7은 한 실시예에 따른 제1 서버를 통한 인증서 제공 방법을 나타낸 순서도이다.
제1 서버(210)는 사용자 단말(400)로부터 계정 인증정보를 입력받아 계정 연동 요청을 받는다(S310). 그리고 제1 서버(210)는 입력받은 계정 인증 정보 증명서 관리 서버 (100)로 전송한다(S315).
증명서 관리 서버 (100)는 수신한 사용자에 대해 계정 인증을 수행(S320)하고 계정 인증 결과를 전송한다(S325).
그러면 제1 서버(210)는 저장된 식별 정보와 인증된 계정을 연계하여 저장한다(S330).
다음으로 사용자 단말(400)은 제1 서버(210)로 이력 증명서를 요청한다(S335). 그러면 제1 서버(210)는 사용자 단말(400)의 증명서 관리 서버(100)의 계정을 확인한다(S340).
사용자 단말(400)이 제1 서버(210)에 접속하여 식별 정보를 확인하면, 1 서버(210)는 식별 정보에 연동된 계정의 여부를 확인할 수 있다.
제1 서버(210)는 연동된 계정이 계정이 확인되면 증명서 관리 서버 (100)로 외부 이력 정보를 요청한다.
증명 관리 서버(100)는 식별 정보에 연계된 외부 이력 정보를 조회한다(S345).
이때, 증명 관리 서버(100)는 제1 서버(210)로부터 사용자의 식별 정보를 수신하여 도 5의 S220 단계에서부터 S240 단계와 동일하게 저장된 사용자의 이력 증명 정보를 검색한다. 그리고 증명 관리 서버(100)는 실시간으로 생성한 이력 증명 정보 원본데이터에서 생성한 이력 증명 정보 해시 값과 블록체인 서버(300)로부터 수집한 이력 증명 정보 해시 값을 비교하여 이력 증명 정보의 위변조를 확인할 수 있다.
이때, 증명 관리 서버(100)는 비교한 두 해시 값이 일치하면 해당 이력 증명 정보에 대한 이력 증명서를 제1 서버(210)로 전송한다.
한편, 증명 관리 서버(100)는 이력 증명서의 위변조가 확인되면, 블록체인 서버(300)에 저장된 이력 증명 정보를 이력 증명서로 제1 서버(210)로 전송한다.
이와 같이, 제1 서버(210)는 증명 관리 서버(100)로부터 커넥트 모듈을 통해 외부 이력 증명서 전송받는다(S350).
여기서, 외부 이력 증명서는 제1 서버(210)에서 수여하고 제공되지 않는 이력 증명서를 의미한다.
그리고 제1 서버(210)는 내부의 이력 증명서를 조회한다(S355).
설명의 편의상 증명 관리 서버(100)로 이력 증명서를 요청하고 내부 이력 증명서를 조회하는 것으로 설명하고 있지만, 각 단계는 동시에 또는 상황에 따라 선별하여 우선 수행할 수 있다.
다음으로 제1 서버(210)는 내부 이력 증명서와 외부 이력 증명서를 사용자 단말(400)로 전송한다(S360).
이에 사용자 단말(400)은 통합적인 이력 증명서를 확인한다(S365).
여기서, 통합적인 이력 증명서는 인터페이스의 설정에 따라 각각 개별적으로 이력 증명서를 제공하거나 일정한 형식으로 하나의 서류에 내부 이력 증명서와 외부 이력 증명서를 한꺼번에 작성하여 제공될 수 있다.
한편, 제1 서버(210)는 사용자 단말(400)의 증명서 관리 서버(100)의 계정을 확인하지 못한 경우, 내부의 이력 증명서를 조회한다(S370). 그리고 제1 서버(210)는 조회된 내부 이력 증명서를 사용자 단말(400)로 전송한다(S375).
또한, 사용자 단말(400)로부터 내부 이력 증명서만 요청하거나 외부 이력 증명서만 요청받는 경우, 요청받은 해당 이력 증명서만 검색하고 수집하여 제공할 수 있다.
이와 같이, 본 실시예에 따르면, 사용자의 전체적인 이력 정보를 통합적으로 관리할 수 있으며, 이력 정보에 대한 증명서를 보다 편리하게 제공할 수 있다.
또한, 블록체인 기술을 기반으로 이력 정보의 위변조 여부를 쉽게 확인할 수 있으며, 블록체인 서버(300)의 저장된 사용자의 식별정보 HASH 값, 증명서 원본 데이터 등을 활용하여 위변조된 데이터의 복구가 가능하여 제공되는 이력 증명서에 대한 신뢰성을 향상시킬 수 있다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (18)

  1. 사용자의 식별 정보에 기초하여 상기 사용자의 이력 정보를 인증하는 하나 이상의 서버로부터 상기 사용자의 이력 증명 정보를 수집하는 통신부,
    상기 식별 정보와 상기 이력 증명 정보를 해싱하여 생성한 블록체인 연계정보를 트랜잭션으로서 블록체인 서버로 전송하고, 상기 블록체인 서버로부터 수신한 트랜잭션 ID를 수신하는 블록체인 관리부,
    상기 식별 정보와 연계하여 상기 블록체인 연계정보의 일부 데이터와 트랜잭션 ID를 데이터베이스에 저장하는 데이터베이스부,, 그리고
    사용자 단말로부터 식별 정보에 기초하여 이력 증명서를 요청받으면 식별 정보에 연계된 트랜잭션 ID를 기준으로 상기 데이터베이스에 저장된 블록체인 연계 정보의 일부 데이터와 상기 블록체인 서버로부터 수신한 트랜잭션 데이터를 비교하여 일치하면 상기 사용자 단말로 상기 이력 증명 정보에 대한 이력 증명서를 제공하는 제어부
    를 포함하는 블록체인 기반 증명서 관리 서버.
  2. 제1항에서,
    상기 통신부는,
    상기 서버의 내부에 커넥트 모듈을 포함하면 커넥트 모듈을 통해 상기 사용자의 식별 정보에 연계된 상기 이력 증명 정보를 수집하고,
    상기 서버의 내부에 커넥트 모듈을 포함하지 않으면, 개방형 API를 이용하여 상기 사용자의 식별 정보에 연계된 이력 증명 정보를 수집하는 블록체인 기반 증명서 관리 서버.
  3. 제1항에서,
    상기 블록체인 연계정보는
    식별 정보 해시 값, 상기 이력 증명 정보의 원본 데이터, 상기 이력 증명 정보의 원본 데이터 해시 값, 및 상기 이력 증명 정보에 대한 버전 값을 포함하는 블록체인 기반 증명서 관리 서버.
  4. 제3항에서,
    상기 제어부는,
    상기 이력 증명서에 대한 온라인 조회 가능 여부, 열람 허용 대상자 지정, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수 중에서 하나 이상을 포함하는 온라인 조회 조건을 입력받으면, 상기 온라인 조회 조건이 설정된 이력 증명서를 제공하는 블록체인 기반 증명서 관리 서버.
  5. 제4항에서,
    상기 제어부는,
    상기 사용자 단말로부터 온라인 조회 가능한 이력 증명서의 출력을 요청받으면, 상기 이력 증명서에 대한 문서조회번호 또는 URL을 설정하고, 상기 문서조회번호 또는 상기 URL이 기재된 이력 증명서를 출력하는 블록체인 기반 증명서 관리 서버.
  6. 제5항에서,
    상기 제어부는,
    상기 이력 증명서의 조회가 가능한 웹 페이지 또는 애플리케이션에 상기 문서조회번호를 입력하거나 상기 URL을 통해 접속한 단말의 열람 허용 대상자 인증을 수행하고, 상기 열람 허용 대상자 인증을 완료한 후, 상기 온라인 조회 조건을 만족하지 않으면, 상기 이력 증명서의 조회 또는 출력을 제한하고, 상기 온라인 조회 조건을 만족하면 상기 이력 증명서를 상기 단말에 제공하는 블록체인 기반 증명서 관리 서버.
  7. 제6항에서,
    상기 제어부는,
    상기 온라인 조회 조건을 만족하면 상기 데이터베이스에 저장된 이력 증명 정보의 원본 데이터로부터 생성한 이력 증명 정보 원본 데이터 해시 값과 상기 블록체인 서버의 이력 증명 정보 원본 데이터 해시 값을 비교하여 상기 이력 증명서에 대한 위변조 확인 결과를 상기 단말에 제공하는 블록체인 기반 증명서 관리 서버.
  8. 적어도 하나의 프로세서에 의해 동작하는 증명서 관리 서버의 동작 방법으로서,
    사용자 단말로부터 사용자의 식별 정보에 기초하여 이력 증명서를 요청받으면, 데이터베이스에서 상기 식별 정보와 연계된 이력 증명 정보와 트랜잭션 ID를 검색하는 단계,
    블록체인 서버에 접속하여 상기 트랜잭션 ID에 연계된 트랜잭션 데이터를 수집하는 단계, 그리고
    상기 트랜잭션 데이터와 상기 이력 증명 정보가 일치하면 상기 이력 증명 정보에 대한 이력 증명서를 상기 사용자 단말로 제공하는 단계
    를 포함하고,
    상기 이력 증명서는 입력받은 하나 이상의 온라인 조회 조건에 기초하여 출력되는 서버의 동작 방법.
  9. 제8항에서,
    상기 사용자의 식별 정보에 기초하여 상기 사용자의 이력 정보를 인증하는 하나 이상의 서버로부터 커넥트 모듈 또는 개방형 API를 이용하여 상기 사용자의 이력 증명 정보를 수집하는 단계,
    상기 식별 정보와 상기 이력 증명 정보를 해싱하여 생성한 블록체인 연계정보를 트랜잭션으로서 블록체인 서버로 전송하고, 상기 블록체인 서버로부터 수신한 트랜잭션 ID를 수신하는 단계, 그리고
    상기 식별 정보와 연계하여 상기 블록체인 연계정보의 일부 데이터와 트랜잭션 ID를 데이터베이스에 저장하는 단계,
    더 포함하는 서버의 동작 방법.
  10. 제8항에서,
    상기 온라인 조회 조건은,
    상기 이력 증명서에 대한 온라인 조회 가능 여부, 열람 허용 대상자 지정, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수 중에서 하나 이상을 포함하는 서버의 동작 방법.
  11. 제9항에서,
    상기 사용자 단말로부터 온라인 조회 가능한 이력 증명서의 출력을 요청받으면, 상기 이력 증명서에 대한 문서조회번호 또는 URL을 설정하고, 상기 문서조회번호 또는 상기 URL이 기재된 이력 증명서를 출력하는 서버의 동작 방법.
  12. 제11항에서,
    상기 이력 증명서의 조회가 가능한 웹페이지에 상기 문서조회번호를 입력하거나 상기 URL을 통해 접속한 단말의 열람 허용 대상자 인증을 수행하는 단계,
    상기 열람 허용 대상자 인증이 완료되면, 상기 온라인 조회 조건에 기초하여 조회 또는 출력 여부를 판단하는 단계, 그리고
    상기 온라인 조회 조건을 만족하지 않으면, 상기 이력 증명서의 조회 또는 출력을 제한하고, 상기 온라인 조회 조건을 만족하면 상기 이력 증명서를 상기 단말에 제공하고, 상기 출력 가능 횟수를 카운트하는 단계를 더 포함하는 서버의 동작 방법.
  13. 제12항에서,
    상기 단말의 열람 허용 대상자 인증을 수행하는 단계는,
    상기 온라인 조회 조건에 기초하여, 설정된 폰 번호, 이메일, 실명 중에서 하나 이상을 이용하여 열람 허용 대상자 인증을 수행하는 서버의 동작 방법.
  14. 제12항에서,
    상기 온라인 조회 조건을 만족하면 상기 데이터베이스에 저장된 이력 증명 정보의 원본 데이터에서 이력 증명 정보 원본 데이터 해시 값을 생성하는 단계,
    생성한 상기 이력 증명 정보 원본 데이터 해시 값과 상기 블록체인 서버의 이력 증명 정보 원본 데이터 해시 값을 비교하여 상기 이력 증명서에 대한 위변조를 확인하는 단계, 그리고
    확인 결과를 상기 단말에 제공하는 단계를 더 포함하는 서버의 동작 방법.
  15. 컴퓨팅 장치에 의해 실행되고, 컴퓨터 판독 가능한 저장매체에 저장되는 프로그램으로서,
    사용자 단말로부터 사용자의 식별 정보에 기초하여 이력 증명서를 요청받는 단계,
    상기 식별 정보와 연계된 이력 증명 정보와 트랜잭션 ID를 검색하는 단계,
    블록체인 서버에 접속하여 상기 식별 정보와 상기 트랜잭션 ID에 연계된 트랜잭션 데이터를 수집하는 단계, 그리고
    상기 트랜잭션 데이터와 상기 이력 증명 정보가 일치하면 상기 이력 증명 정보에 대한 이력 증명서를 상기 사용자 단말로 제공하는 단계를 실행하는 명령어들을 포함하고,
    온라인 조회 가능 여부, 열람 허용 대상자 지정, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수 중에서 하나 이상의 조건이 설정되면, 상기 조건에 기초하여 상기 이력 증명서를 출력하는 프로그램.
  16. 제15항에서,
    상기 이력 증명서에 대해 온라인 조회 가능하도록 설정되면, 상기 이력 증명서의 문서조회번호 또는 URL을 설정하고, 상기 문서조회번호 또는 상기 URL이 기재된 이력 증명서를 출력하는 프로그램.
  17. 제16항에서,
    상기 이력 증명서의 조회가 가능한 웹페이지에 상기 문서조회번호를 입력받거나 상기 URL에 접속한 단말을 인식하는 단계,
    상기 단말을 통해 열람 허용 대상자 인증을 수행하는 단계,
    상기 열람 허용 대상자 인증이 완료되면, 조회 또는 출력 가능 기간 그리고 출력 가능 횟수에 기초하여 조회 또는 출력 여부를 판단하는 단계,
    상기 조회 또는 출력 여부가 가능하면, 상기 이력 증명서에 대해 사용자의 식별 정보에 연계된 트랜잭션 ID에 기초하여 데이터베이스에 저장된 블록체인 연계 정보와 상기 블록체인 서버의 트랜잭션 데이터를 비교하여 상기 이력 증명서에 대한 위변조를 확인하는 단계, 그리고
    상기 이력 증명서와 상기 이력 증명서에 대한 위변조 확인 결과를 상기 단말에 제공하고, 상기 출력 가능 횟수를 카운트하는 단계를 더 포함하는 프로그램.
  18. 제17항에서,
    상기 열람 허용 대상자 인증을 수행하는 단계는,
    상기 조건으로 설정된 폰 번호, 이메일, 실명 중에서 하나 이상을 이용하여 열람 허용 대상자 인증을 수행하는 프로그램.
KR1020200035642A 2019-11-26 2020-03-24 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램 KR20210065012A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230061691A KR20230072462A (ko) 2019-11-26 2023-05-12 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190153713 2019-11-26
KR20190153713 2019-11-26

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020230061691A Division KR20230072462A (ko) 2019-11-26 2023-05-12 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20210065012A true KR20210065012A (ko) 2021-06-03

Family

ID=76396729

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200035642A KR20210065012A (ko) 2019-11-26 2020-03-24 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램
KR1020230061691A KR20230072462A (ko) 2019-11-26 2023-05-12 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020230061691A KR20230072462A (ko) 2019-11-26 2023-05-12 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램

Country Status (1)

Country Link
KR (2) KR20210065012A (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660318A (zh) * 2021-07-30 2021-11-16 太原理工大学 一种基于区块链的学历、学位认证方法
KR102431410B1 (ko) * 2021-12-28 2022-08-11 주식회사 모밋 활동 증명서 발급 방법 및 장치
CN114928447A (zh) * 2022-02-10 2022-08-19 北京轻信科技有限公司 基于分布式身份的数据管理方法和***
CN115292683A (zh) * 2022-08-08 2022-11-04 国网江苏省电力有限公司泰州供电分公司 一种配电自动化终端加密证书管理***
WO2023085489A1 (ko) * 2021-11-12 2023-05-19 주식회사 빅스터 블록체인의 nft 원본 증명시스템 및 그 방법
WO2023085490A1 (ko) * 2021-11-12 2023-05-19 주식회사 빅스터 블록체인의 nft를 이용한 바이오 데이터 중개 시스템 및 그 방법
CN117057892A (zh) * 2023-07-12 2023-11-14 南通市公共资源交易中心 建设工程投标证明材料循例变量辅助评标方法
KR102614608B1 (ko) * 2022-10-27 2023-12-14 박동기 토큰 및 배지 기반 온라인 데이터 증명 시스템

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660318A (zh) * 2021-07-30 2021-11-16 太原理工大学 一种基于区块链的学历、学位认证方法
WO2023085489A1 (ko) * 2021-11-12 2023-05-19 주식회사 빅스터 블록체인의 nft 원본 증명시스템 및 그 방법
KR20230069365A (ko) * 2021-11-12 2023-05-19 주식회사 빅스터 블록체인의 nft 원본 증명시스템 및 그 방법
WO2023085490A1 (ko) * 2021-11-12 2023-05-19 주식회사 빅스터 블록체인의 nft를 이용한 바이오 데이터 중개 시스템 및 그 방법
KR102431410B1 (ko) * 2021-12-28 2022-08-11 주식회사 모밋 활동 증명서 발급 방법 및 장치
CN114928447A (zh) * 2022-02-10 2022-08-19 北京轻信科技有限公司 基于分布式身份的数据管理方法和***
CN114928447B (zh) * 2022-02-10 2024-04-30 北京轻信科技有限公司 基于分布式身份的数据管理方法和***
CN115292683A (zh) * 2022-08-08 2022-11-04 国网江苏省电力有限公司泰州供电分公司 一种配电自动化终端加密证书管理***
CN115292683B (zh) * 2022-08-08 2024-01-23 国网江苏省电力有限公司泰州供电分公司 一种配电自动化终端加密证书管理***
KR102614608B1 (ko) * 2022-10-27 2023-12-14 박동기 토큰 및 배지 기반 온라인 데이터 증명 시스템
CN117057892A (zh) * 2023-07-12 2023-11-14 南通市公共资源交易中心 建设工程投标证明材料循例变量辅助评标方法

Also Published As

Publication number Publication date
KR20230072462A (ko) 2023-05-24

Similar Documents

Publication Publication Date Title
KR20210065012A (ko) 블록체인 기반 증명서 관리 서버 및 방법 그리고 컴퓨터 프로그램
AU2021206913B2 (en) Systems and methods for distributed data sharing with asynchronous third-party attestation
US11444782B2 (en) Dynamically managing exchanges of data using a distributed ledger and homomorphic commitments
CN107943996B (zh) 一种基于区块链的学历查询方法及装置
CN104021333B (zh) 移动安全表袋
US10984410B2 (en) Entity-sovereign data wallets using distributed ledger technology
US20190166133A1 (en) Multicomputer processing for data authentication and event execution using a blockchain approach
Leiding et al. Authcoin: validation and authentication in decentralized networks
US20200159847A1 (en) Contribution of multiparty data aggregation using distributed ledger technology
US20160065552A1 (en) Method and system for interoperable identity and interoperable credentials
EP3593487A1 (en) Compact recordation protocol
US20190141048A1 (en) Blockchain identification system
JP6504639B1 (ja) サービス提供システムおよびサービス提供方法
CN101681333A (zh) 验证对远程计算机***访问网页的许可的方法和***
Hsu et al. Design of an e-diploma system based on consortium blockchain and facial recognition
JP7462903B2 (ja) 利用者端末、認証者端末、登録者端末、管理システムおよびプログラム
Cheng et al. A permissioned blockchain-based platform for education certificate verification
JP2019040537A (ja) 本人確認情報提供方法および本人確認情報提供サーバ
KR20190114182A (ko) 경력 정보를 인증하는 방법, 경력 정보 인증을 수행하는 서버 및 컴퓨터 프로그램
JP2019140540A (ja) 所有者同一性確認システム、端末管理サーバおよび所有者同一性確認方法
US11968526B2 (en) Identity management on a mobile device
Brunner et al. SPROOF: A decentralized platform for attribute-based authentication
Fu Ballot mechanism design based on blockchain methodologies
KR102458263B1 (ko) 금융 서비스의 제공을 지원하는 방법 및 서버
US20230177528A1 (en) Systems and methods for data insights from consumer accessible data

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]