KR102447154B1 - 전자 문서 검증 방법 및 그 시스템 - Google Patents
전자 문서 검증 방법 및 그 시스템 Download PDFInfo
- Publication number
- KR102447154B1 KR102447154B1 KR1020200167125A KR20200167125A KR102447154B1 KR 102447154 B1 KR102447154 B1 KR 102447154B1 KR 1020200167125 A KR1020200167125 A KR 1020200167125A KR 20200167125 A KR20200167125 A KR 20200167125A KR 102447154 B1 KR102447154 B1 KR 102447154B1
- Authority
- KR
- South Korea
- Prior art keywords
- electronic document
- hash information
- information
- hash
- verification
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000012795 verification Methods 0.000 claims abstract description 89
- 238000004891 communication Methods 0.000 claims description 42
- 239000000284 extract Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 13
- 238000013500 data storage Methods 0.000 description 10
- 238000010295 mobile communication Methods 0.000 description 7
- 230000005236 sound signal Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013496 data integrity verification Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Educational Administration (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Development Economics (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
- Investigating And Analyzing Materials By Characteristic Methods (AREA)
- Storage Device Security (AREA)
Abstract
일 실시예들은 전자 문서 검증 방법 및 그 시스템에 관한 것이다.
Description
아래 실시예들은 전자 문서 검증 방법 및 그 시스템에 관한 것이다.
최근 들어 유무선 통신 서비스가 일반화되고 업무의 전산화가 실현되면서 온라인 정보 제공 서비스가 확대되고 있다. 특히, 공공 기관, 교육 기관, 금융 기관 등과 같이 소정의 증빙서류를 발급하는 증빙서류 발급 기관에서는 온라인 문서 발급 서비스를 제공하고 있다.
온라인 문서 발급 서비스란 각종 증빙서류를 온라인을 통하여 전자 문서의 형태로 발급함으로써 사용자가 발급 기관을 직접 방문하지 않더라도 온라인상에서 소정의 인증 과정만 수행하면 원하는 증빙서류를 제공받을 수 있도록 하는 서비스이다. 이러한 온라인 문서 발급 서비스는 사용자의 편의성 및 민원 서비스의 질을 높이는 동시에 발급 기관의 측면에서는 업무의 효율성을 향상시킬 수 있는 등 다양한 이점을 가지므로, 향후 오프라인 서비스의 영역을 대체하여 더욱 확대될 것으로 기대되고 있다.
한편, 전자 문서와 같은 디지털 정보는 아날로그 정보와는 달리 불법적인 복제나 사용 및 위변조 등의 불법 행위에 매우 쉽게 노출될 수 있다. 특히 앞서도 언급한 온라인 문서 발급 서비스의 경우, 온라인을 통하여 발급된 전자 문서의 내용을 특정인이 불손한 의도를 가지고 훼손하거나 변경할 가능성이 항시 존재하므로 위변조에 취약한 문제점을 내포하고 있다.
따라서, 온라인 문서 발급 서비스가 실질적으로 유효한 서비스가 되기 위해서는 발급되는 문서를 위변조로부터 안전하게 보호함으로써 그 신뢰성을 엄격히 보장할 수 있는 보안 기술이 필수적으로 요구된다. 특히 해마다 온라인을 통해 발급되는 전자 문서의 개수가 기하급수적으로 증가하면서 상기 보안 기술의 중요성은 더욱 높아지고 있다.
종래의 경우, 발급된 전자 문서의 인쇄 시에 해당 문서의 진위 여부를 가릴 수 있는 바코드를 삽입하여 전자 문서의 위변조를 판별하는 위변조 판별 기술이 주로 사용되고 있다. 예를 들면 사용자가 온라인을 통해 전자 문서를 발급받은 뒤 그 전자 문서를 인쇄하면 출력 문서에 1차원 또는 2차원의 바코드를 삽입한다. 그리고 그 출력 문서를 제출 기관에 제출하면, 제출 기관에서는 해당 출력 문서에 삽입되어 있는 바코드를 이용하여 문서의 위변조 여부를 판별하게 된다.
그런데, 이러한 위변조 판별 기술의 경우 온라인을 통하여 전자 문서를 발급하는 서비스는 가능하나, 발급된 전자 문서를 온라인을 통하여 제출 기관으로 안전하게 제출하는 온라인 문서 제출 또는 전자 문서를 취합 관리하는 관리 서비스 등은 지원하기 어려운 문제점이 있다.
이에 따라 최근에는 전자 문서의 무결성을 체크하여 전자 문서에 손상이 있는지를 판별하고 이를 통하여 전자 문서의 위변조 여부를 검증하는 기술이 제안되어, 전자 문서의 온라인 제출을 지원하는 보안 기술로 사용기도 한다. 그러나 이 경우에도 전자 문서의 검증 시 단순히 전자 문서의 손상 여부만을 검사하여 전자 문서의 위변조 여부 여부를 판별하므로 신뢰성이 낮고, 문서의 어느 부분이 어떻게 위변조 되었는지를 파악하기도 어려운 문제점이 존재한다.
이 배경기술 부분에 기재된 사항은 발명의 배경에 대한 이해를 증진하기 위하여 작성된 것으로써, 이 기술이 속하는 분야에서 통상의 지식을 가진 자에게 이미 알려진 종래기술이 아닌 사항을 포함할 수 있다.
아래 실시예들은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 일 실시예는 다양한 전자 문서를 효율적으로 검증할 수 있는 플랫폼 기술을 제공하는 것을 목적으로 한다.
일 실시예가 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위해 전자 문서 검증 서버에서 수행되는 전자 문서 검증 방법으로, 사용자로부터 전자 문서를 입력받거나, 사용자 단말로부터 상기 전자 문서를 수신하는 동작; 상기 전자 문서를 인식하여, 전자 문서 인식 데이터를 추출하는 동작; 상기 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성하는 동작; 상기 전자 문서에 포함된 인증 코드를 인식하여, 상기 전자 문서의 식별 정보 및 제 2 해시 정보를 추출하는 동작; 상기 전자 문서의 식별 정보를 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 3 해시 정보를 수신하는 동작; 및 상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보 중 적어도 하나를 이용하여, 상기 전자 문서의 위변조를 검증하는 동작을 포함하는 전자 문서 검증 방법을 제공한다.
상기 검증 동작은 상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보가 모두 동일한지 여부를 판단하여, 상기 전자 문서의 위변조를 검증한다.
상기 검증 동작은 상기 제 1 해시 정보와 상기 제 2 해시 정보의 동일 여부, 상기 제 2 해시 정보와 상기 제 3 해시 정보의 동일 여부 및 상기 제 1 해시 정보와 상기 제 3 해시 정보의 동일 여부 중 적어도 둘을 판단하여, 상기 전자 문서의 위변조를 검증한다.
상기 전자 문서 인식 데이터 및 상기 인증 코드의 해시 값인 제 1 코드 해시 정보를 생성하는 동작; 및 상기 전자 문서의 식별 정보를 상기 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 2 코드 해시 정보를 수신하는 동작을 포함하고, 상기 검증 동작은 상기 제 1 코드 해시 정보와 상기 제 2 코드 해시 정보의 일치 여부를 판단하여, 상기 전자 문서의 위변조를 검증한다.
상기 전자 문서의 제 3 해시 정보는 블록체인 네트워크에 저장된다.
일 실시예는 사용자 단말 또는 전자 문서 발급 서버와 데이터 송수신하도록 구성된 통신부; 사용자로부터 전자 문서를 입력받거나 상기 통신부를 제어하여 상기 사용자 단말로부터 상기 전자 문서를 수신하고, 상기 전자 문서를 인식하여 전자 문서 인식 데이터를 추출하고, 상기 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성하도록 구성된 전자 문서 인식부; 상기 전자 문서에 포함된 인증 코드를 인식하여, 상기 전자 문서의 식별 정보 및 제 2 해시 정보를 추출하도록 구성된 인증 코드 인식부; 및 상기 통신부를 제어하여, 상기 전자 문서의 식별 정보를 상기 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 3 해시 정보를 수신하고, 상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보 중 적어도 하나를 이용하여, 상기 전자 문서의 위변조를 검증하도록 구성된 검증부를 포함하는 전자 문서 제공 서버를 제공한다.
이상에서 설명한 바와 같은 일 실시예들에 따르면, 다양한 전자 문서를 효율적으로 검증할 수 있는 플랫폼 기술을 제공하되, 전자 문서의 검증 시간을 단축시킬 수 있으며, 인터넷 연결이 불가능한 환경에서도 전자 문서를 검증할 수 있다. 또한, 전자 문서의 다양한 위변조에 대응 가능한 강력한 검증 수단을 제공할 수 있다.
일 실시예의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 일 실시예에 따른 전자 문서 검증 시스템을 도시한 도면이다.
도 2는 일 실시예에 따른 전자 문서 발급 서버의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 전자 문서를 도시한 도면이다.
도 4는 일 실시예에 따른 전자 문서 정보의 데이터 구조를 도시한 도면이다.
도 5는 일 실시예에 따른 블록체인 네트워크를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 전자 문서 검증 서버의 구성을 도시한 도면이다.
도 7은 일 실시예에 따른 전자 문서 검증 방법을 설명하기 위한 도면이다.
도 8은 일 실시예의 사용자 단말의 구성을 도시한 도면이다.
도 9는 일 실시예에 따른 전자 문서 발급 방법의 흐름도이다.
도 10은 일 실시예에 따른 전자 문서 검증 방법의 흐름도이다.
도 11은 다른 실시예에 따른 전자 문서 검증 방법의 흐름도이다.
도 2는 일 실시예에 따른 전자 문서 발급 서버의 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 전자 문서를 도시한 도면이다.
도 4는 일 실시예에 따른 전자 문서 정보의 데이터 구조를 도시한 도면이다.
도 5는 일 실시예에 따른 블록체인 네트워크를 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 전자 문서 검증 서버의 구성을 도시한 도면이다.
도 7은 일 실시예에 따른 전자 문서 검증 방법을 설명하기 위한 도면이다.
도 8은 일 실시예의 사용자 단말의 구성을 도시한 도면이다.
도 9는 일 실시예에 따른 전자 문서 발급 방법의 흐름도이다.
도 10은 일 실시예에 따른 전자 문서 검증 방법의 흐름도이다.
도 11은 다른 실시예에 따른 전자 문서 검증 방법의 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 실시예를 상세하게 설명한다.
도 1은 일 실시예에 따른 전자 문서 검증 시스템(10)을 도시한 도면이다.
도 1을 참조하면, 일 실시예에 따른 전자 문서 검증 시스템(10)은 전자 문서 발급 서버(100), 데이터 저장 네트워크(101), 전자 문서 검증 서버(200) 및 사용자 단말(300)을 포함한다.
전자 문서 검증 시스템(10) 내에 포함된 다양한 개체들(entities) 간의 통신은 유/무선 네트워크(미도시)를 통해 수행될 수 있다. 유/무선 네트워크는 표준 통신 기술 및/또는 프로토콜들이 사용될 수 있다.
전자 문서 검증 시스템(10) 내 전자 문서 발급 서버(100), 전자 문서 검증 서버(200) 및 사용자 단말(300)은 예를 들어, 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 무선 전화기(wireless phone), 모바일 폰(mobile phone), 스마트폰(smart phone), PMP(portable multimedia player) 같은 전자 장치 중 하나로서, 일 실시예와 관련된 어플리케이션의 설치 및 실행이 가능한 모든 전자 장치를 포함할 수 있다. 전자 장치는 어플리케이션의 제어 하에 예를 들어, 서비스 화면의 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등과 같은 서비스 전반의 동작을 수행할 수 있다.
전자 문서 발급 서버(100)는 사용자가 원하는 전자 문서를 생성하여, 생성된 전자 문서를 사용자에게 발급한다.
일 실시예의 전자 문서는 전자 파일로 된 문서(Electronic Document)로, (i) 계약서, (ii) 각종 관공서 문서, (iii) 제품 보증서, (iv) 센서 취득 데이터, 자동차 사고 데이터와 같은 메타 데이터(Meta Data), (v) 동영상, 사진, 음악 데이터와 같은 다양한 기타 메타 데이터를 포함할 수 있다. 다만, 일 실시예의 전자 문서는 전술한 문서 종류에 한정되지 아니하고, 전자 파일 형식으로 저장된 다양한 문서를 의미할 수 있다.
일례로, 전자 문서는 DOC, HWP, PPT, EXL, PDF, Excel, Drawing, 이미지, 동영상의 파일 형식으로, 메타 데이터를 포함하고 있는 데이터 형태의 파일은 무엇이든 적용이 가능하다.
전자 문서 발급 서버(100)는 사용자 단말(200)로부터 전자 문서 발급 요청 신호를 수신한다.
전자 문서 발급 서버(100)는 전자 문서 발급 요청 신호에 따라, 해당 전자 문서의 출력 데이터를 생성한다.
전자 문서 발급 서버(100)는 생성된 출력 데이터의 해시 값인 해시 정보와 전자 문서의 식별 값인 식별 정보를 생성한다.
전자 문서 발급 서버(100)는 전자 문서의 출력 데이터, 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함하는 전자 문서 정보를 데이터 저장 네트워크(101)에 저장한다. 일 실시예의 전자 문서 정보는 출력 데이터와 인증 코드의 해시 값인 코드 해시 정보를 더 포함할 수 있다.
전자 문서 발급 서버(100)는 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함하는 인증 코드를 생성한다. 일 실시예의 인증 코드는 QR 코드, 바코드와 같은 다양한 형태의 코드로 구성될 수 있다.
전자 문서 발급 서버(100)는 출력 데이터와 인증 코드를 이용하여, 전자 문서를 생성한다. 일 실시예의 전자 문서에는 출력 데이터와 인증 코드가 출력된다.
전자 문서 발급 서버(100)는 생성된 전자 문서를 사용자 단말(300)에 전송하여, 사용자에게 전자 문서를 발급한다.
전자 문서 발급 서버(100)의 구성과 기능에 대해서는 이하 도 2에서 자세히 설명하도록 한다.
데이터 저장 네트워크(101)는 데이터베이스(102) 및/또는 블록체인 네트워크(103)를 포함하며, 데이터 저장 네트워크(10)는 전자 문서 발급 서버(100)의 제어에 따라, 데이터베이스(102) 및/또는 블록체인 네트워크(103)에 전자 문서 정보를 저장한다.
데이터 저장 네트워크(101)는 전자 문서 발급 서버(100) 내에 포함되어 구성될 수 있으며, 전자 문서 발급 서버(100) 외부에 위치하여 구성될 수 있다.
전자 문서 검증 서버(200)는 사용자로부터 입력받거나 사용자 단말(300)로부터 수신된 전자 문서의 위변조 여부를 검증한다.
전자 문서 검증 서버(200)는 검증 대상인 전자 문서를 사용자 단말(300)로부터 수신한다.
전자 문서 검증 서버(200)는 수신된 전자 문서를 인식하여, 전자 문서의 데이터를 추출한다. 본 명세서에서 추출된 데이터를 전자 문서 인식 데이터라 한다.
전자 문서 검증 서버(200)는 추출된 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성한다.
전자 문서 검증 서버(200)는 전자 문서 내 포함된 인증 코드를 인식한다.
전자 문서 검증 서버(200)는 인증 코드를 분석하여, 인증 코드 내 포함된 전자 문서의 해시 값인 제 2 해시 정보를 추출한다.
전자 문서 검증 서버(200)는 인증 코드를 분석하여, 인증 코드 내 포함된전자 문서의 식별 값인 식별 정보를 추출한다.
전자 문서 검증 서버(200)는 추출된 식별 정보를 전자 문서 발급 서버(100)에 전송하여, 데이터베이스 네트워크(101)에 저장된 전자 문서의 해시 값인 제 3 해시 정보를 요청한다.
전자 문서 검증 서버(200)는 전자 문서 발급 서버(100)로부터 제 3 해시 정보를 수신한다.
전자 문서 검증 서버(200)는 제 1 해시 정보, 제 2 해시 정보 및 제 3 해시 정보의 일치 여부를 판단하여, 전자 문서의 위변조 여부를 검증한다.
전자 문서 검증 서버(200)의 구성과 기능에 대해서는 이하 도 6에서 자세히 설명하도록 한다.
사용자 단말(300)은 전자 문서 발급 서버(100)에 전자 문서 발급 요청 신호를 전송하고, 발급 요청한 전자 문서를 수신한다.
사용자 단말(300)은 검증 대상인 전자 문서를 전자 문서 검증 서버(200)에 전송하여, 전자 문서의 위변조 검증을 요청한다.
사용자 단말(300)의 구성과 기능에 대해서는 이하 도 8에서 자세히 설명하도록 한다.
도 2는 일 실시예에 따른 전자 문서 발급 서버(100)의 구성을 도시한 도면이다.
도 2를 참조하면, 일 실시예에 전자 문서 발급 서버(100)는 제어부(110), 출력 데이터 생성부(120), 해시 정보 생성부(130), 식별 정보 생성부(140), 인증 코드 생성부(150), 전자 문서 생성부(160), 인터페이스 제공부(170), 데이터베이스부(180) 및 통신부(190)를 포함한다.
전자 문서 발급 서버(100)의 하드웨어 구성은 다양하게 구현될 수 있다. 해시 정보 생성부(130)와 식별 정보 생성부(140)를 통합하거나, 출력 데이터 생성부(120)와 전자 문서 생성부(160)를 통합하여 하드웨어를 구성할 수 있다. 이와 같이, 전자 문서 발급 서버(100)의 하드웨어 구성은 본 명세서의 기재에 한정되지 아니하며, 다양한 방법과 조합으로 구현될 수 있다.
제어부(110)는 전자 문서 발급 서버(100)의 다양한 기능을 수행하도록 출력 데이터 생성부(120), 해시 정보 생성부(130), 식별 정보 생성부(140), 인증 코드 생성부(150), 전자 문서 생성부(160), 인터페이스 제공부(170), 데이터베이스부(180) 및 통신부(190)를 제어한다.
그리고, 제어부(110)는 프로세서(Processor), 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있으며, 제어부는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어 또는 이들의 결합에 의해 구현될 수 있다.
출력 데이터 생성부(120)는 사용자 단말(300)부터 수신된 전자 문서 발급 요청 신호에 따라, 해당 전자 문서의 출력 데이터를 생성한다.
해시 정보 생성부(130)는 출력 데이터의 해시 값인 해시 정보를 생성한다.
해시 정보 생성부(130)는 출력 데이터를 해시 함수에 입력하여 해시 정보를 생성할 수 있다. 해시 함수는 임의의 길이의 입력 데이터를 고정된 길이의 출력 값으로 압축시키는 함수로, 데이터의 무결성 검증, 메세지 인증에 사용된다. 일 실시예의 해시 함수로 SHA-256를 사용할 수 있으나, 본 발명은 이에 한정되지 아니하고 다양한 해시 함수를 사용할 수 있다.
식별 정보 생성부(140)는 전자 문서의 식별 값인 식별 정보를 생성한다.
인증 코드 생성부(150)는 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함하는 인증 코드를 생성한다. 일 실시예의 인증 코드는 QR 코드, 바코드와 같은 다양한 형태의 코드로 구성될 수 있다.
전자 문서 생성부(160)는 출력 데이터와 인증 코드를 이용하여, 전자 문서를 생성한다. 전자 문서 생성부(160)는 출력 데이터와 인증 코드가 출력된 전자 문서를 생성하는 것이다.
도 3은 일 실시예에 따른 전자 문서(20)를 도시한 도면이다. 도 3을 참조하면, 일 실시예에 따른 전자 문서(20)는 출력 데이터(21)와 인증 코드(22)를 포함한다.
도면의 전자 문서(20)는 제품 보정서 관련 문서로, 출력 데이터(21)에는 제품 보정서의 데이터가 포함되며, 인증 코드(22)는 전자 문서(20)의 식별 정보와 출력 데이터(21)의 해시 정보가 포함된 QR 코드로 구성되어 있다.
전술한 바와 같이, 일 실시예의 인증 코드는 바코드, QR 코드와 같은 다양한 코드로 구성될 수 있다.
인터페이스 제공부(170)는 사용자 단말(300)에 일 실시예의 전자 문서 발급 방법의 사용자 인터페이스를 제공한다. 일례로, 인터페이스 제공부(170)는 사용자 단말(300)에 사용자가 전자 문서 발급 요청 신호를 입력할 수 있는 사용자 인터페이스를 제공할 수 있다.
데이터베이스부(180)는 전자 문서 발급 서버(100)가 일 실시예를 구현하기 위해 필요한 다양한 데이터를 저장한다. 일례로, 데이터베이스부(180)는 전자 문서의 출력 데이터, 전자 문서의 식별 정보, 출력 데이터의 해시 정보 등을 저장할 수 있다.
데이터베이스부(180)는 전자 문서의 출력 데이터, 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함하는 전자 문서 정보를 데이터 저장 네트워크(101)에 저장한다. 일 실시예의 전자 문서 정보는 출력 데이터와 인증 코드의 해시 값인 코드 해시 정보를 더 포함할 수 있다.
도 4는 일 실시예에 따른 전자 문서 정보(30)의 데이터 구조를 도시한 도면이다. 도 4를 참조하면, 전자 문서 정보(30)는 전자 문서의 출력 데이터, 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함한다. 전자 문서 정보(30)는 데이터 저장 네트워크(101)에 저장되며, 데이터베이스부(180)에 저장될 수 있다.
도 5는 일 실시예에 따른 블록체인 네트워크(103)를 설명하기 위한 도면이다.
먼저, 블록체인에 대해 설명하기로 한다. 블록체인이란 거래 정보를 블록으로 연결하여, 피투피(P2P) 네트워크 분산 환경에서 중앙 관리 서버가 아닌 참여자(피어, peer)들의 개인 디지털 장비에 데이터를 분산시켜 저장함으로써, 데이터를 공동으로 관리하는 방식이다.
구체적으로, 블록체인의 기본 구조는 블록(Block)을 잇따라 연결한(Chain) 모음의 형태이며, 피투피(P2P) 방식을 기반으로 한다. 또한, 일정 시간 동안 반수 이상의 참여자들이 거래 내역을 서로 교환해 확인하고 승인하는 과정을 거쳐, 디지털 서명으로 동의한 거래 내역만 하나의 블록으로 만든다. 그리고, 새로 만들어진 블록을 이전 블록체인에 연결하고, 그 사본을 만들어 각 참여자들의 단말에 분산시켜 저장한다.
따라서, 블록체인을 활용하는 경우, 기존 거래 장부용 데이터베이스를 별도로 관리할 필요가 없어 관리 비용이 절감되며, 분산 처리로 해킹이 어려워 금융 거래의 안전성도 향상된다. 블록체인 방식은 주식, 부동산 등의 거래에도 적용 가능하며, 토지 권리 양도나 가정 현관 키 등 보안에 관련된 다양한 분야에 활용될 수 있다.
일 실시예에서는, 복수의 노드(104)를 참여자로 하여 블록체인을 구현하고 있으며, 복수의 노드(104) 각각에 분산되어 저장되는 정보는 해시 데이터의 해시값 등일 수 있다.
복수의 노드(104)는 복수의 노드(104) 각각에 분산 저장된 정보를 항상 최신 버전으로 유지하여, 해당 정보를 공유하고 있을 수 있다.
복수의 노드(104) 각각은 휴대폰, 스마트폰, PDA(Personal Digital Assistant), PMP(Portable Multimedia Player), 태블릿 PC 등과 같이 무선 통신망을 통하여 외부 서버와 연결될 수 있는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있으며, 이 외에도 데스크탑 PC, 태블릿 PC, 랩탑 PC, 셋탑 박스를 포함하는 IPTV와 같이, 네트워크를 통하여 외부 서버와 연결될 수 있는 통신 장치도 포함할 수 있다.
복수의 노드(104) 각각은 상술한 바와 같이, 단말 형태로 구현될 수 있지만, 이에 제한되지 않으며, 특정 업체에서 운영하는 서버 형태로 구현될 수 있다.
복수의 노드(104) 중 단말 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 메모리의 보안 영역에 저장할 수 있으며, 복수의 노드(104) 중 서버 형태로 구현된 노드는 블록체인 상에서 공유되는 정보를 데이터베이스의 보안 영역에 저장할 수 있다.
즉, 일 실시예에서는 참여자가 단말로만 구성된 블록체인, 참여자가 서버로만 구성된 블록체인, 참여자가 단말 및 서버 혼합으로 구성된 블록체인 등 다양한 형태의 블록체인을 기반으로 하여 복수의 노드(104)를 구성할 수 있다.
일 실시예의 전자 문서 발급 서버(100)는 블록체인 네트워크(103) 상 하나의 노드로 참여하여, 전자 문서 정보를 블록체인 네트워크(103)에 제공하게 된다. 다른 복수의 노드(104)는 전자 문서 정보의 해시 데이터의 위변조를 탐지할 수 있다.
통신부(190)는 외부 장치들과 데이터 통신한다. 일례로, 통신부(190)는 사용자 단말(300)로부터 전자 문서 발급 요청 신호를 수신하고, 사용자 단말(300)에 사용자 인터페이스, 발급된 전자 문서를 전송할 수 있다. 그리고, 통신부(190)는 데이터 저장 네트워크(101)에 전자 문서 정보를 전송할 수 있다.
도 6은 일 실시예에 따른 전자 문서 검증 서버(200)의 구성을 도시한 도면이다.
도 6을 참조하면, 일 실시예에 전자 문서 검증 서버(200)는 제어부(110), 전자 문서 인식부(220), 인증 코드 인식부(230), 검증부(240), 인터페이스 제공부(250), 데이터베이스부(260) 및 통신부(270)를 포함한다.
제어부(210)는 전자 문서 검증 서버(200)의 다양한 기능을 수행하도록 전자 문서 인식부(220), 인증 코드 인식부(230), 검증부(240), 인터페이스 제공부(250), 데이터베이스부(260) 및 통신부(270)를 제어한다.
그리고, 제어부(210)는 프로세서(Processor), 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있으며, 제어부는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어 또는 이들의 결합에 의해 구현될 수 있다.
전자 문서 인식부(220)는 사용자로부터 입력받거나 사용자 단말(300)로부터 수신된 전자 문서를 인식하여, 전자 문서의 데이터를 추출한다. 일 실시예로, 전자 문서 인식부(220)는 OCR(Optical Character Reader)과 같은 기술을 이용하여, 전자 문서에 포함된 텍스트, 그림 등의 데이터를 출력한다. 전술한 바와 같이, 본 명세서는 전자 문서에서 추출된 데이터를 전자 문서 인식 데이터라 칭한다.
전자 문서 인식부(220)는 추출된 전자 문서 인식 데이터를 해시 함수에 입력하여, 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성한다.
인증 코드 인식부(230)는 전자 문서에 포함된 인증 코드를 인식한다.
인증 코드 인식부(230)는 인증 코드를 인식하여, 인식 코드에 포함된 전자 문서의 식별 정보 및 전자 문서의 해시 정보를 추출한다. 인증 코드에서 추출된 전자 문서의 해시 정보는 제 2 해시 정보이다.
검증부(240)는 통신부(270)를 제어하여, 인증 코드 인식부(230)에서 추출된 식별 정보를 전자 문서 발급 서버(100)에 전송하여, 데이터베이스 네트워크(101)에 저장된 전자 문서의 해시 값인 제 3 해시 정보를 요청하고, 전자 문서 발급 서버(100)로부터 제 3 해시 정보를 수신한다.
검증부(240)는 제 1 해시 정보, 제 2 해시 정보 및 제 3 해시 정보의 일치 여부를 판단하여, 전자 문서의 위변조 여부를 검증한다.
도 7은 일 실시예에 따른 전자 문서 검증 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 일 실시예에 따른 전자 문서 검증 방법으로, 검증부(240)는 제 1 해시 정보(31)와 제 2 해시 정보(32)의 일치 여부를 판단하고, (제 1 판단) 제 2 해시 정보(32)와 제 3 해시 정보(33)의 일치 여부를 판단하고,(제 2 판단) 제 3 해시 정보(33)와 제 1 해시 정보(31)의 일치 여부를 판단한다. (제 3 판단)
일 실시예의 검증부(240)는 제 1 판단, 제 2 판단 및 제 3 판단, 모두 일치하다고 판단된 경우 전자 문서의 위변조가 없는 것으로 판단할 수 있다.
다른 실시예로, 검증부(240)는 제 1 판단, 제 2 판단 및 제 3 판단 중 적어도 2가지 판단이 일치하다고 판단된 경우 전자 문서의 위변조가 없는 것으로 판단할 수 있다.
또 다른 실시예로, 검증부(240)는 제 1 판단, 제 2 판단 및 제 3 판단 중 1가지 판단만 일치하다고 판단된 경우에도 전자 문서의 위변조가 없는 것으로 판단할 수 있다.
검증부(240) 전자 문서의 해시 정보가 아닌 코드 해시 정보를 이용하여, 전자 문서의 위변조를 검증할 수 있다. 이에 대해서는 이하 도 11에서 자세히 설명하도록 한다.
검증부(240)는 전술한 판단 결과에 따라 전자 문서 검증 정보를 생성한다.
인터페이스 제공부(250)는 사용자 단말(300)에 일 실시예의 전자 문서 검증 방법의 사용자 인터페이스를 제공한다. 일례로, 인터페이스 제공부(250)는 사용자 단말(300)에 사용자가 전자 문서 및 검증 요청 신호를 입력할 수 있는 사용자 인터페이스를 제공할 수 있다.
데이터베이스부(260)는 전자 문서 검증 서버(200)가 일 실시예를 구현하기 위해 필요한 다양한 데이터를 저장한다. 일례로, 데이터베이스부(260)는 전자 문서의 제 1 해시 정보, 제 2 해시 정보, 제 3 해시 정보, 전자 문서 검증 정보 등을 저장할 수 있다.
통신부(270)는 외부 장치들과 데이터 통신한다. 일례로, 통신부(270)는 사용자 단말(300)로부터 전자 문서를 수신하고, 사용자 단말(300)에 사용자 인터페이스, 전자 문서 검증 정보를 전송할 수 있다.
도 8은 일 실시예의 사용자 단말(300)의 구성을 도시한 도면이다. 이하, 도 8에 도시된 사용자 단말(300)를 구성하는 구성요소들에 대해 차례로 살펴본다.
무선 통신부(310)는 사용자 단말(300)와 무선 통신 시스템 사이의 무선 통신 또는 사용자 단말(300)와 사용자 단말(300)가 위치한 네트워크 사이의 무선 통신을 수행하는 하나 이상의 구성요소를 포함할 수 있다. 예를 들어, 무선 통신부(310)는 방송 수신 모듈(311), 이동통신 모듈(312), 무선 인터넷 모듈(313), 근거리 통신 모듈(314) 및 위치정보 모듈(315) 등을 포함할 수 있다.
방송 수신 모듈(311)은 방송 채널을 통하여 외부의 방송 관리 서버로부터 방송 신호 및/또는 방송 관련된 정보를 수신한다. 여기에서, 방송 채널은 위성 채널, 지상파 채널을 포함할 수 있다. 한편, 방송 관련 정보는 이동통신망을 통하여도 제공될 수 있으며, 이러한 경우에는 이동통신 모듈(312)에 의해 수신될 수 있다.
또한, 이동통신 모듈(312)은 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신한다. 여기에서, 무선 신호는 음성 호 신호, 화상 통화 호 신호 또는 문자/멀티미디어 메시지 송수신에 따른 다양한 형태의 데이터를 포함할 수 있다.
무선 인터넷 모듈(313)은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 사용자 단말(300)에 내장되거나 외장 될 수 있다.
근거리 통신 모듈(314)은 근거리 통신을 위한 모듈을 말한다. 근거리 통신 기술로, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.
또한, 위치정보 모듈(115)은 사용자 단말(300)의 위치를 확인하거나 얻기 위한 모듈이다. 일례로 GPS(Global Position System) 모듈을 들 수 있다. GPS 모듈은 복수 개의 인공위성으로부터 위치 정보를 수신한다. 여기에서, 위치 정보는 위도 및 경도로 표시되는 좌표 정보를 포함할 수 있다.
한편, A/V(Audio/Video) 입력부(320)는 오디오 신호 또는 비디오 신호 입력을 위한 것으로, 이에는 카메라(321)와 마이크(322) 등이 포함될 수 있다. 카메라(321)는 화상 통화 모드 또는 촬영 모드에서 이미지 센서에 의해 얻어지는 정지영상 또는 동영상 등의 화상 프레임을 처리한다. 그리고, 처리된 화상 프레임은 디스플레이부(351)에 표시될 수 있다.
카메라(321)에서 처리된 화상 프레임은 메모리(360)에 저장되거나 무선 통신부(310)를 통하여 외부로 전송될 수 있다. 카메라(321)는 사용자 단말(300)의 구성 태양에 따라 2개 이상이 구비될 수도 있다.
마이크(322)는 통화모드 또는 녹음모드, 음성인식 모드 등에서 마이크로폰(Microphone)에 의해 외부의 음향 신호를 입력받아 전기적인 음성 데이터로 처리한다. 그리고, 처리된 음성 데이터는 통화 모드인 경우 이동통신 모듈(312)을 통하여 이동통신 기지국으로 송신 가능한 형태로 변환되어 출력될 수 있다. 마이크(322)는 외부의 음향 신호를 입력받는 과정에서 발생하는 잡음(noise)을 제거하기 위한 다양한 잡음 제거 알고리즘을 구현할 수 있다.
사용자 입력부(330)는 사용자로부터 입력 동작을 받아들여, 사용자 단말(300)의 동작 제어를 위한 입력 데이터를 발생시킨다.
센싱부(340)는 사용자 단말(300)의 위치, 사용자 접촉 유무, 사용자 단말(300)의 방위, 사용자 단말(300)의 가속/감속 등과 같이, 사용자 단말(300)의 현 상태를 감지하여 사용자 단말(300)의 동작을 제어하기 위한 센싱 신호를 발생시킨다.
인터페이스부(370)는 사용자 단말(300)에 연결되는 모든 외부기기와의 인터페이스 역할을 한다. 예를 들어, 유/무선 헤드셋 포트, 외부 충전기 포트, 유/무선 데이터 포트, 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트, 오디오 I/O(Input/Output) 포트, 비디오 I/O(Input/Output) 포트, 이어폰 포트 등이 포함될 수 있다.
출력부(350)는 오디오 신호 또는 비디오 신호 또는 알람(alarm) 신호의 출력을 위한 것으로, 이에는 디스플레이부(351)와 음향 출력 모듈(352), 알람부(353) 등이 포함될 수 있다.
디스플레이부(351)는 사용자 단말(300)에서 처리되는 정보를 표시 출력한다. 예를 들어, 단말기가 통화 모드인 경우, 통화와 관련된 UI(User Interface) 또는 GUI(Graphic User Interface)를 표시한다. 그리고, 사용자 단말(300)가 화상 통화 모드 또는 촬영 모드인 경우, 촬영 또는/및 수신된 영상 또는 UI, GUI를 표시한다.
한편, 전술한 바와 같이, 디스플레이부(351)와 터치 패드가 상호 레이어 구조를 이루어 터치 스크린으로 구성되는 경우, 디스플레이부(351)는 출력 장치 이외에 입력 장치로도 사용될 수 있다. 디스플레이부(351)는 액정 디스플레이(liquid crystal display), 박막 트랜지스터 액정 디스플레이(thin film transistor-liquid crystal display), 유기 발광 다이오드(organic light-emitting diode), 플렉시블 디스플레이(flexible display), 3차원 디스플레이(3D display) 중에서 적어도 하나를 포함할 수 있다. 그리고, 사용자 단말(300)의 구현 형태에 따라, 디스플레이부(351)는 2개 이상 존재할 수도 있다. 예를 들어, 사용자 단말(300)에 외부 디스플레이부(미도시)와 내부 디스플레이부(미도시)가 동시에 구비될 수 있다.
음향 출력 모듈(352)은 호 신호 수신, 통화모드 또는 녹음 모드, 음성인식 모드, 방송수신 모드 등에서, 무선 통신부(310)로부터 수신되거나 메모리(360)에 저장된 오디오 데이터를 출력한다. 또한, 음향 출력 모듈(352)은 사용자 단말(300)에서 수행되는 기능(예를 들어, 호신호 수신음, 메시지 수신음 등)과 관련된 음향 신호를 출력한다. 이러한 음향 출력 모듈(352)에는 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다.
알람부(353)는 사용자 단말(300)의 이벤트 발생을 알리기 위한 신호를 출력한다. 단말기에서 발생되는 이벤트의 예로는 호 신호 수신, 메시지 수신, 키 신호 입력 등이 있다.
메모리(360)는 제어부(380)의 처리 및 제어를 위한 프로그램이 저장될 수도 있고, 입/출력되는 데이터들(예를 들어, 폰북, 메시지, 정지영상, 동영상 등)의 임시 저장을 위한 기능을 수행할 수도 있다.
메모리(360)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(RAM, Random Access Memory) SRAM(Static Random Access Memory), 롬(ROM, Read-Only Memory), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory) 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.
제어부(380)는 통상적으로 단말기의 전반적인 동작을 제어한다. 예를 들어, 음성 통화, 데이터 통신, 화상 통화 등을 위한 관련된 제어 및 처리를 수행한다. 또한, 제어부(380)는 멀티 미디어 재생을 위한 멀티미디어 모듈(181)을 구비할 수도 있다. 멀티미디어 모듈(381)은 제어부(380) 내에 구현될 수도 있고, 제어부(380)와 별도로 구현될 수도 있다.
제어부(380)는 전자 문서 발급 서버(100)에 전자 문서 발급 요청 신호를 전송하여 전자 문서의 발급을 요청하고, 전자 문서 검증 서버(200)에 전자 문서를 전송하여 전자 문서의 위변조 검증 요청할 수 있다.
전원 공급부(390)는 제어부(380)의 제어에 의해 외부의 전원, 내부의 전원을 인가받아 각 구성요소들의 동작에 필요한 전원을 공급한다.
도 9는 일 실시예에 따른 전자 문서 발급 방법의 흐름도이다.
도 9를 참조하면, 일 실시예에 따른 전자 문서 발급 방법은 전자 문서 발급 요청 신호 수신 동작(S100), 출력 데이터 생성 동작(S110), 해시 정보 생성 동작(S120), 식별 정보 생성 동작(S130), 전자 문서 정보 저장 동작(S140), 인증 코드 생성 동작(S150), 전자 문서 생성 동작(S160) 및 전자 문서 발급 동작(S170)을 포함한다.
우선, 전자 문서 발급 요청 신호 수신 동작(S100)으로, 통신부(190)는 사용자 단말(300)로부터 전자 문서 발급 요청 신호를 수신한다.
그리고, 출력 데이터 생성 동작(S110)으로, 출력 데이터 생성부(120)는 사용자 단말(300)부터 수신된 전자 문서 발급 요청 신호에 따라, 해당 전자 문서의 출력 데이터를 생성한다.
그리고, 해시 정보 생성 동작(S120)으로, 해시 정보 생성부(130)는 출력 데이터의 해시 값인 해시 정보를 생성한다. 해시 정보 생성부(130)는 출력 데이터를 해시 함수에 입력하여 해시 정보를 생성할 수 있다. 해시 함수는 임의의 길이의 입력 데이터를 고정된 길이의 출력 값으로 압축시키는 함수로, 데이터의 무결성 검증, 메세지 인증에 사용된다. 일 실시예의 해시 함수로 SHA-256를 사용할 수 있으나, 본 발명은 이에 한정되지 아니하고 다양한 해시 함수를 사용할 수 있다.
그리고, 식별 정보 생성 동작(S130)으로, 식별 정보 생성부(140)는 전자 문서의 식별 값인 식별 정보를 생성한다.
그리고, 전자 문서 정보 저장 동작(S140)으로, 데이터베이스부(180)는 전자 문서의 출력 데이터, 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함하는 전자 문서 정보를 데이터 저장 네트워크(101)에 저장한다. 일 실시예의 전자 문서 정보는 출력 데이터와 인증 코드의 해시 값인 코드 해시 정보를 더 포함할 수 있다.
그리고, 인증 코드 생성 동작(S150)으로, 인증 코드 생성부(150)는 전자 문서의 식별 정보 및 출력 데이터의 해시 정보를 포함하는 인증 코드를 생성한다. 일 실시예의 인증 코드는 QR 코드, 바코드와 같은 다양한 형태의 코드로 구성될 수 있다.
그리고, 전자 문서 생성 동작(S160)으로, 전자 문서 생성부(160)는 출력 데이터와 인증 코드를 이용하여, 전자 문서를 생성한다. 전자 문서 생성부(160)는 출력 데이터와 인증 코드가 출력된 전자 문서를 생성하는 것이다.
그리고, 전자 문서 발급 동작(S170)으로, 통신부(190)는 생성된 전자 문서를 사용자 단말(300)에 전송하여, 사용자에게 전자 문서를 발급한다.
도 10은 일 실시예에 따른 전자 문서 검증 방법의 흐름도이다.
도 10을 참조하면, 일 실시예에 따른 전자 문서 검증 방법은 전자 문서 인식 동작(S200), 제 1 해시 정보 생성 동작(S210), 인증 코드 인식 동작(S220), 제 2 해시 정보 추출 동작(S230), 제 3 해시 정보 요청 동작(S240), 제 3 해시 정보 수신 동작(S250) 및 전자 문서 검증 동작(S260)을 포함한다.
우선, 전자 문서 인식 동작(S200)으로, 전자 문서 인식부(220)는 사용자로부터 입력받거나 사용자 단말(300)로부터 수신된 전자 문서를 인식하여, 전자 문서의 데이터를 추출한다. 일 실시예로, 전자 문서 인식부(220)는 OCR(Optical Character Reader)과 같은 기술을 이용하여, 전자 문서에 포함된 텍스트, 그림 등의 데이터를 출력한다. 전술한 바와 같이, 본 명세서는 전자 문서에서 추출된 데이터를 전자 문서 인식 데이터라 칭한다.
그리고, 제 1 해시 정보 생성 동작(S210)으로, 전자 문서 인식부(220)는 추출된 전자 문서 인식 데이터를 해시 함수에 입력하여, 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성한다.
그리고, 인증 코드 인식 동작(S220)으로, 인증 코드 인식부(230)는 전자 문서에 포함된 인증 코드를 인식한다.
그리고, 제 2 해시 정보 추출 동작(S230)으로, 인증 코드 인식부(230)는 인증 코드를 인식하여, 인식 코드에 포함된 전자 문서의 식별 정보 및 전자 문서의 해시 정보를 추출한다. 인증 코드에서 추출된 전자 문서의 해시 정보는 제 2 해시 정보이다.
그리고, 제 3 해시 정보 요청 동작(S240)으로, 검증부(240)는 통신부(270)를 제어하여, 인증 코드 인식부(230)에서 추출된 식별 정보를 전자 문서 발급 서버(100)에 전송하여, 데이터베이스 네트워크(101)에 저장된 전자 문서의 해시 값인 제 3 해시 정보를 요청한다.
그리고, 제 3 해시 정보 수신 동작(S250)으로, 검증부(240)는 통신부(270)를 제어하여, 전자 문서 발급 서버(100)로부터 제 3 해시 정보를 수신한다.
그리고, 전자 문서 검증 동작(S260)으로, 검증부(240)는 제 1 해시 정보, 제 2 해시 정보 및 제 3 해시 정보의 일치 여부를 판단하여, 전자 문서의 위변조 여부를 검증한다.
전술한 바와 같이, 검증부(240)는 제 1 해시 정보와 제 2 해시 정보의 일치 여부 판단(제 1 판단) 제 2 해시 정보와 제 3 해시 정보(33)의 일치 여부를 판단(제 2 판단) 제 3 해시 정보(33)와 제 1 해시 정보(31)의 일치 여부 판단(제 3 판단)을 근거로, 전자 문서의 위변조 여부를 판단할 수 있다.
일 실시예의 검증부(240)는 제 1 판단, 제 2 판단 및 제 3 판단, 모두 일치하다고 판단된 경우 전자 문서의 위변조가 없는 것으로 판단할 수 있고, 다른 실시예로, 검증부(240)는 제 1 판단, 제 2 판단 및 제 3 판단 중 적어도 2가지 판단이 일치하다고 판단된 경우 전자 문서의 위변조가 없는 것으로 판단할 수 있고, 또 다른 실시예로, 검증부(240)는 제 1 판단, 제 2 판단 및 제 3 판단 중 1가지 판단만 일치하다고 판단된 경우에도 전자 문서의 위변조가 없는 것으로 판단할 수 있다.
도 11은 다른 실시예에 따른 전자 문서 검증 방법의 흐름도이다.
도 11을 참조하면, 다른 실시예에 따른 전자 문서 검증 방법은 전자 문서 인식 동작(S300), 제 1 코드 해시 정보 생성 동작(S310), 인증 코드 인식 동작(S320), 제 2 코드 해시 정보 요청 동작(S330), 제 2 코드 해시 정보 수신 동작(S340) 및 전자 문서 검증 동작(S350)을 포함한다.
우선, 전자 문서 인식 동작(S300)으로, 전자 문서 인식부(220)는 사용자 단말(300)로부터 수신된 전자 문서를 인식하여, 전자 문서 인식 데이터와 인증 코드를 추출한다.
그리고, 제 1 코드 해시 정보 생성 동작(S310)으로, 전자 문서 인식부(220)는 추출된 전자 문서 인식 데이터와 인증 코드를 해시 함수에 입력하여, 제 1 코드 해시 정보를 생성한다.
그리고, 인증 코드 인식 동작(S320)으로, 인증 코드 인식부(230)는 전자 문서에 포함된 인증 코드를 인식하여, 인식 코드에 포함된 전자 문서의 식별 정보를 추출한다.
그리고, 제 2 코드 해시 정보 요청 동작(S330)으로, 검증부(240)는 통신부(270)를 제어하여, 인증 코드 인식부(230)에서 추출된 식별 정보를 전자 문서 발급 서버(100)에 전송하여, 데이터베이스 네트워크(101)에 저장된 전자 문서의 코드 해시 정보인 제 2 코드 해시 정보를 요청한다.
그리고, 제 2 코드 해시 정보 수신 동작(S340)으로, 검증부(240)는 통신부(270)를 제어하여, 전자 문서 발급 서버(100)로부터 제 2 코드 해시 정보를 수신한다.
그리고, 전자 문서 검증 동작(S350)으로, 검증부(240)는 제 1 코드 해시 정보와 제 2 코드 해시 정보의 일치 여부를 판단하여, 전자 문서의 위변조 여부를 검증한다. 즉, 검증부(240)는 제 1 코드 해시 정보와 제 2 코드 해시 정보가 일치하는 경우, 전자 문서의 위변조가 없는 것으로 판단한다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
Claims (10)
- 전자 문서 검증 서버에서 수행되는 전자 문서 검증 방법으로,
사용자로부터 전자 문서를 입력받거나, 사용자 단말로부터 상기 전자 문서를 수신하는 동작; 및 상기 전자 문서의 해시 정보를 이용하여 상기 전자 문서의 위변조를 검증하는 동작을 포함하며,
상기 해시 정보를 이용하여 상기 전자 문서의 위변조를 검증하는 동작은,
상기 전자 문서를 인식하여, 전자 문서 인식 데이터를 추출하고, 상기 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성하고, 상기 전자 문서에 포함된 인증 코드를 인식하여, 상기 전자 문서의 식별 정보 및 제 2 해시 정보를 추출하고, 상기 전자 문서의 식별 정보를 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 3 해시 정보를 수신하고, 상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보 중 적어도 하나를 이용하여, 상기 전자 문서의 위변조를 검증하고,
상기 전자 문서의 위변조를 검증하는 동작은, 상기 전자 문서의 코드 해시 정보를 더 이용하여 상기 전자 문서의 위변조를 검증하는 단계를 더 포함하고,
상기 코드 해시 정보를 더 이용하여 상기 전자 문서의 위변조를 검증하는 단계는,
상기 전자 문서 인식 데이터 및 상기 인증 코드의 해시 값인 제 1 코드 해시 정보를 생성하고, 상기 전자 문서의 식별 정보를 상기 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 2 코드 해시 정보를 수신하고, 상기 제 1 코드 해시 정보와 상기 제 2 코드 해시 정보의 일치 여부를 판단하여, 상기 전자 문서의 위변조를 검증하는, 전자 문서 검증 방법. - 제 1 항에 있어서,
상기 검증하는 동작은,
상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보가 모두 동일한지 여부를 판단하여, 상기 전자 문서의 위변조를 검증하는, 전자 문서 검증 방법. - 제 1 항에 있어서,
상기 검증하는 동작은,
상기 제 1 해시 정보와 상기 제 2 해시 정보의 동일 여부, 상기 제 2 해시 정보와 상기 제 3 해시 정보의 동일 여부 및 상기 제 1 해시 정보와 상기 제 3 해시 정보의 동일 여부 중 적어도 둘을 판단하여, 상기 전자 문서의 위변조를 검증하는, 전자 문서 검증 방법. - 삭제
- 제 1 항에 있어서,
상기 전자 문서의 제 3 해시 정보는,
블록체인 네트워크에 저장된, 전자 문서 검증 방법. - 사용자 단말 또는 전자 문서 발급 서버와 데이터 송수신하도록 구성된 통신부;
사용자로부터 전자 문서를 입력받거나 상기 통신부를 제어하여 상기 사용자 단말로부터 상기 전자 문서를 수신하고, 상기 전자 문서를 인식하여 전자 문서 인식 데이터를 추출하고, 상기 전자 문서 인식 데이터의 해시 값인 제 1 해시 정보를 생성하도록 구성된 전자 문서 인식부;
상기 전자 문서에 포함된 인증 코드를 인식하여, 상기 전자 문서의 식별 정보 및 제 2 해시 정보를 추출하도록 구성된 인증 코드 인식부; 및
상기 통신부를 제어하여, 상기 전자 문서의 식별 정보를 상기 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 3 해시 정보를 수신하고, 상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보 중 적어도 하나를 이용하여, 상기 전자 문서의 위변조를 검증하도록 구성된 검증부를 포함하며,
상기 전자 문서 인식부는,
상기 전자 문서 인식 데이터 및 상기 인증 코드의 해시 값인 제 1 코드 해시 정보를 생성하도록 구성되고,
상기 검증부는,
상기 통신부를 제어하여, 상기 전자 문서의 식별 정보를 상기 전자 문서 발급 서버에 전송하고, 상기 전자 문서 발급 서버로부터 상기 전자 문서의 제 2 코드 해시 정보를 수신하고,
상기 제 1 코드 해시 정보와 상기 제 2 코드 해시 정보의 일치 여부를 판단하여, 상기 전자 문서의 위변조를 검증하도록 구성된, 전자 문서 검증 서버. - 제 6 항에 있어서,
상기 검증부는,
상기 제 1 해시 정보, 상기 제 2 해시 정보 및 상기 제 3 해시 정보가 모두 동일한지 여부를 판단하여, 상기 전자 문서의 위변조를 검증하도록 구성된, 전자 문서 검증 서버. - 제 6 항에 있어서,
상기 검증부는,
상기 제 1 해시 정보와 상기 제 2 해시 정보의 동일 여부, 상기 제 2 해시 정보와 상기 제 3 해시 정보의 동일 여부 및 상기 제 1 해시 정보와 상기 제 3 해시 정보의 동일 여부 중 적어도 둘을 판단하여, 상기 전자 문서의 위변조를 검증하도록 구성된, 전자 문서 검증 서버. - 삭제
- 하드웨어와 결합되어 제 1 항 내지 제3항, 제 5 항 중 어느 하나의 항의 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200167125A KR102447154B1 (ko) | 2020-12-03 | 2020-12-03 | 전자 문서 검증 방법 및 그 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200167125A KR102447154B1 (ko) | 2020-12-03 | 2020-12-03 | 전자 문서 검증 방법 및 그 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220078040A KR20220078040A (ko) | 2022-06-10 |
KR102447154B1 true KR102447154B1 (ko) | 2022-09-26 |
Family
ID=81986803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200167125A KR102447154B1 (ko) | 2020-12-03 | 2020-12-03 | 전자 문서 검증 방법 및 그 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102447154B1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101710032B1 (ko) * | 2016-10-13 | 2017-02-24 | 주식회사 마크애니 | 전자문서 내용기반의 위변조 방지 장치와 시스템 및 그 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102138077B1 (ko) * | 2018-11-28 | 2020-07-27 | 남윤형 | 문서 위변조 방지 시스템 및 방법 |
-
2020
- 2020-12-03 KR KR1020200167125A patent/KR102447154B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101710032B1 (ko) * | 2016-10-13 | 2017-02-24 | 주식회사 마크애니 | 전자문서 내용기반의 위변조 방지 장치와 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20220078040A (ko) | 2022-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10652018B2 (en) | Methods and apparatus for providing attestation of information using a centralized or distributed ledger | |
US11740817B2 (en) | Modular data processing and storage system | |
KR20160123325A (ko) | 트랜잭션 정보를 전송하고 수신하기 위한 시스템 및 방법 | |
US20210112068A1 (en) | Data security method utilizing mesh network dynamic scoring | |
KR102256922B1 (ko) | 조회 이력 통지에 의하여 인증 기능이 강화된 문서 인증 방법 및 문서 인증 시스템 | |
KR102437375B1 (ko) | 블럭체인기술을 활용한 연구노트 활용 시스템 및 이의 실행 방법 | |
US20240235849A1 (en) | Signature Token System | |
KR102447154B1 (ko) | 전자 문서 검증 방법 및 그 시스템 | |
US10671718B2 (en) | System and method for authentication | |
US9142074B2 (en) | System for and method of paper note authentication and tracking through NFC | |
US20200184430A1 (en) | Electronic ticket management system, electronic ticket management method and electronic ticket management program | |
KR101727582B1 (ko) | 스마트폰을 사용한 디지털 파일 위변조 입증 시스템 및 방법 | |
KR101210612B1 (ko) | 외국인 신분 확인 방법 | |
Mohamed et al. | Protecting wireless data transmission in mobile application systems using digital watermarking technique | |
CN111275506A (zh) | 一种开具票据的方法以及区块链节点设备 | |
KR102510353B1 (ko) | 블록체인 기반 골프 서비스 제공 방법 및 시스템 | |
US20230130024A1 (en) | System and method for storing encryption keys for processing a secured transaction on a blockchain | |
Miskel | Electronic Evidence FAQs: A Family Law Judge Weighs In | |
US12014348B2 (en) | Validating transactions between entities using LoRaWAN protocol | |
US20240242294A1 (en) | Opt-in distributed ledger consortium | |
CN112118112B (zh) | 证照复印件使用方法和节点设备 | |
US20240080649A1 (en) | System and method for determining device status using lorawan | |
CN113986997B (zh) | 基于区块链的业务协查方法和系统 | |
CN114302403B (zh) | 一种短信验真方法、装置、电子设备及存储介质 | |
US20240080668A1 (en) | Communication, Authentication, and Validation Using LoRaWAN Protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |