KR102400798B1 - Electronic Document Managing System - Google Patents

Electronic Document Managing System Download PDF

Info

Publication number
KR102400798B1
KR102400798B1 KR1020150104949A KR20150104949A KR102400798B1 KR 102400798 B1 KR102400798 B1 KR 102400798B1 KR 1020150104949 A KR1020150104949 A KR 1020150104949A KR 20150104949 A KR20150104949 A KR 20150104949A KR 102400798 B1 KR102400798 B1 KR 102400798B1
Authority
KR
South Korea
Prior art keywords
electronic document
asfs
key
document management
file
Prior art date
Application number
KR1020150104949A
Other languages
Korean (ko)
Other versions
KR20170011754A (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 KR1020150104949A priority Critical patent/KR102400798B1/en
Publication of KR20170011754A publication Critical patent/KR20170011754A/en
Priority to KR1020220060618A priority patent/KR102580421B1/en
Application granted granted Critical
Publication of KR102400798B1 publication Critical patent/KR102400798B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 종이 문서를 전자화하고 저장하는 과정에서 사용자의 의도적인 행위 또는 악성 프로그램에 의하여 어떠한 변조도 가할 수 없도록 보호하고 보안성을 강화하며 법적 증거력을 향상시키기 위한 발명이다.The present invention is an invention for protecting against any tampering by a user's intentional actions or malicious programs in the process of digitizing and storing paper documents, strengthening security, and improving legal evidence.

Description

전자 문서 관리 시스템{Electronic Document Managing System}Electronic Document Managing System

본 발명은 전자 문서 관리 시스템에 관한 것이다. 보다 상세하게는 종이 문서를 스캐닝하여 전자 문서를 생성하고, 생성된 전자 문서를 보관 및 전송하는 것에 관한 발명이다.The present invention relates to an electronic document management system. More particularly, the invention relates to generating an electronic document by scanning a paper document, and storing and transmitting the generated electronic document.

병원, 학교, 사기업 또는 공기업 등 다양한 곳에서는 종이로 된 각종 서류가 발행된다.Various types of paper documents are issued in various places such as hospitals, schools, private or public enterprises.

이러한 종이 문서에는 개인 정보, 환자 정보, 기업 비밀 등 다양한 보안 내용이 포함될 수 있다. 따라서, 종이 문서의 유출을 방지하는 것이 중요하다. 또한, 대량의 종이 문서를 보관하기 위한 장소도 필요하다.These paper documents can contain a variety of security content, including personal information, patient information, and trade secrets. Therefore, it is important to prevent leakage of paper documents. In addition, a place for storing a large amount of paper documents is also required.

이러한, 종이 문서를 활용한 업무는 비효율적이며, 종이 문서의 유출 방지 및 보관을 위해 필요한 비용도 크다.Such work using paper documents is inefficient, and the cost required to prevent leakage and storage of paper documents is high.

따라서, 최근에는 이러한 종이 문서를 전자 문서화 하여 저장 및 보관하려고 노력 중에 있다.Therefore, in recent years, efforts are being made to electronically store and store these paper documents.

다만, 종이 문서를 전자화 하고 관리하는 과정에서 보안 상의 문제가 존재한다. 또한, 종이 문서를 전자화 하는 과정에서 원본과 동일한 수준의 법적 증거 능력이 인정될만한 수준의 관리가 이루어 지지 않고 있다.However, there is a security problem in the process of digitalizing and managing paper documents. In addition, in the process of digitizing paper documents, the level of management that allows for the same level of legal evidence as the original is not being performed.

본 발명이 해결하고자 하는 기술적 과제는 종이 문서를 전자화하고 저장하는 과정에서 사용자의 의도적인 행위 또는 악성 프로그램에 의하여 어떠한 변조도 가할 수 없도록 보호할 수 있는 발명을 제공하는 것을 목적으로 한다.An object of the present invention is to provide an invention that can protect against any tampering by a user's intentional actions or malicious programs in the process of digitizing and storing paper documents.

또한, 본 발명이 해결하고자 하는 다른 기술적 과제는 전자화된 문서의 전송 과정에서 보안성을 강화하고, 유출이 되더라도 보안을 유지할 수 있는 발명을 제공하는 것을 목적으로 한다.In addition, another technical problem to be solved by the present invention is to provide an invention capable of enhancing security in the process of transmitting an electronic document and maintaining security even if it is leaked.

또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 전자 문서에 포함된 내용이 법적 분쟁 해소에 필요한 경우, 관리 중인 전자 문서가 원본과 동일함을 증명할 수 있는 수준의 관리가 가능한 발명을 제공하는 것을 목적으로 한다.In addition, another technical problem to be solved by the present invention is to provide an invention that can be managed at a level that can prove that the electronic document under management is the same as the original when the content contained in the electronic document is necessary to resolve a legal dispute. The purpose.

또한, 본 발명이 해결하고자 하는 또 다른 기술적 과제는 네트워크 송수신 트래픽을 감소시키면서 2차 백업을 위하여 파일을 동기화할 수 있는 발명을 제공하는 것을 목적으로 한다.In addition, another technical problem to be solved by the present invention is to provide an invention capable of synchronizing files for secondary backup while reducing network transmission and reception traffic.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 제1 태양(Aspect)에 따른 ASFS 키 생성 방법은, 실시간 암호화 파일 시스템인 ASFS(Ascan Secure File System)에 사용할 키를 생성하는 방법에 있어서, 사용자 측에서 식별자(ID)와 패스워드(Password)를 이용하여 인증 서버에 인증을 요청하는 단계; 상기 인증에 성공하면 상기 인증 서버가 상기 사용자 측에서 실시간 암복호화에 사용할 키의 시드 값(Cache Seed Key)을 전송하는 단계; 및 상기 Cache Seed Key, 식별자 및 패스워드를 이용하여 ASFS에서 사용할 키를 생성하는 단계를 포함할 수 있다.The ASFS key generation method according to the first aspect of the present invention for achieving the above technical problem is a method for generating a key to be used in an Ascan Secure File System (ASFS), which is a real-time encryption file system, an identifier from the user side. requesting authentication from an authentication server using (ID) and a password (Password); transmitting, by the authentication server, a seed value of a key to be used for real-time encryption/decryption on the user side (Cache Seed Key) when the authentication is successful; and generating a key to be used in ASFS by using the Cache Seed Key, an identifier, and a password.

일 실시예에 따르면, 상기 인증을 요청하는 단계, 상기 시드 값을 전송하는 단계 및 상기 키를 생성하는 단계는 모두 메모리 상에서 동작하여 로컬 저장소 영역에는 기록되지 않는다.According to an embodiment, the requesting for authentication, transmitting the seed value, and generating the key all operate in a memory and are not recorded in a local storage area.

일 실시예에 따르면, 상기 ASFS는 운영 체제의 커널 영역 내에서 로우 디스크 드라이버 영역 상단에 파일 필터 드라이버로서 존재할 수 있다.According to an embodiment, the ASFS may exist as a file filter driver on top of the raw disk driver area in the kernel area of the operating system.

상기 기술적 과제를 달성하기 위한 본 발명의 제2 태양에 따른 2차 백업을 위한 동기화 방법은, 전자 문서에 관한 파일을 백업하는 과정에서 네트워크 송수신 트래픽을 감소시키며 백업하는 방법에 있어서, 파일에서 중복되지 않는 S 바이트 길이의 고정 크기 블록으로 파일 B를 쪼개는 단계; 상기 파일 B의 각각의 블록에 대하여 체크섬(Checksum)을 계산하는 단계; 계산된 체크섬을 다른 장치로 전송하는 단계; 상기 다른 장치는 상기 수신한 파일 B에 대한 체크섬을 사용하여 파일 A에서 상기 파일 B의 블록 중 하나와 동일한 체크섬을 갖는 모든 S 바이트 길이의 블록을 검색하는 단계; 및 상기 파일 A의 사본을 만들기 위한 명령열을 전송하는 단계를 포함할 수 있다.The synchronization method for secondary backup according to the second aspect of the present invention for achieving the above technical problem is a method for backing up while reducing network transmission and reception traffic in the process of backing up a file related to an electronic document, splitting file B into fixed-size blocks of non-S bytes length; calculating a checksum for each block of the file B; transmitting the calculated checksum to another device; retrieving, by the other device, all blocks of length S bytes having the same checksum as one of the blocks of file B in file A using the received checksum for file B; and transmitting a command sequence for making a copy of the file A.

일 실시예에 따르면, 상기 파일 B의 각각의 블록에 대하여 체크섬을 계산하는 단계는, 약한 32비트 롤링 체크섬과 강한 128비트 MD4 체크섬을 계산하는 단계를 포함하고, 상기 블록을 검색하는 단계는, 상기 파일 A에서 파일 B의 블록 중 하나와 동일한 체크섬 쌍을 갖는 모든 S 바이트 길이의 블록을 검색하는 단계 포함하되, 상기 체크섬 쌍은 상기 약한 32비트 롤링 체크섬과 상기 강한 128비트 MD4 체크섬의 계산 결과로 이루어진 것을 의미한다.According to one embodiment, calculating a checksum for each block of file B comprises calculating a weak 32-bit rolling checksum and a strong 128-bit MD4 checksum, and retrieving the block comprises: retrieving from file A all blocks of length S bytes having the same checksum pair as one of the blocks in file B, wherein the checksum pair consists of the computation result of the weak 32-bit rolling checksum and the strong 128-bit MD4 checksum. means that

상기 기술적 과제를 달성하기 위한 본 발명의 제3 태양에 따른 전자 문서 데이터의 법적 증거력 향상 방법은 종이 문서를 스캔하여 생성된 전자 문서 데이터의 법적 증거력을 향상시키기 위한 방안에 있어서, 문서가 전자화된 시점에 관한 정보를 포함하는 시점 확인 스탬프를 생성하는 단계; 상기 위변조 발생 여부에 관한 정보를 포함하는 전자 서명을 생성하는 단계; 및 상기 시점 확인 스탬프 및 상기 전자 서명을 상기 전자 문서 데이터와 결합하여 저장하는 단계를 포함할 수 있다.The method for improving the legal evidence of electronic document data according to a third aspect of the present invention for achieving the above technical problem is a method for improving the legal evidence of electronic document data generated by scanning a paper document, when the document is digitized generating a time check stamp including information about; generating an electronic signature including information on whether the forgery has occurred; and combining and storing the time confirmation stamp and the electronic signature with the electronic document data.

상기 기술적 과제를 달성하기 위한 본 발명의 제4 태양에 따른 전자 문서 관리 시스템은, 스캐너로부터 종이 문서를 스캔한 데이터를 수신하고, 상기 수신한 데이터를 임시적으로 저장하는 실시간 암호화 파일 시스템인 ASFS(Ascan Secure File System); 상기 ASFS에 임시적으로 저장된 데이터를 보안 프로토콜을 통하여 수신하여 저장하는 사설 클라우드 저장소; 및 상기 사설 클라우드 저장소에 저장된 데이터를 백업하는 외부 클라우드 저장소를 포함할 수 있다.According to a fourth aspect of the present invention, there is provided an electronic document management system (ASFS), which is a real-time encrypted file system for receiving scanned data of a paper document from a scanner and temporarily storing the received data. Secure File System); a private cloud storage for receiving and storing data temporarily stored in the ASFS through a security protocol; and an external cloud storage for backing up data stored in the private cloud storage.

상기 기술적 과제를 달성하기 위한 본 발명의 제5 태양에 따른 컴퓨터프로그램은, 본 발명의 제1 태양에 따른 방법 내지 본 발명의 제 3 태양에 따른 방법을 수행하기 위하여 매체에 저장된 것일 수 있다.The computer program according to the fifth aspect of the present invention for achieving the above technical problem may be stored in a medium for performing the method according to the first aspect of the present invention to the method according to the third aspect of the present invention.

상기와 같은 본 발명에 따르면 종이 문서를 전자화하고 저장하는 과정에서 사용자의 의도적인 행위 또는 악성 프로그램에 의하여 어떠한 변조도 가할 수 없도록 보호할 수 있다.According to the present invention as described above, it is possible to protect a paper document from being tampered with by an intentional action of a user or a malicious program in the process of digitizing and storing the paper document.

또한, 본 발명은 전자화된 문서의 전송 과정에서 보안성을 강화하고, 유출이 되더라도 보안을 유지할 수 있다.In addition, the present invention can enhance security in the process of transmitting an electronic document, and maintain security even if it is leaked.

또한, 본 발명은 전자 문서에 포함된 내용이 법적 분쟁 해소에 필요한 경우, 관리 중인 전자 문서가 원본과 동일함을 증명할 수 있는 수준의 관리가 가능하다.In addition, the present invention enables management at a level that can prove that the electronic document under management is the same as the original, when the content included in the electronic document is necessary for resolving a legal dispute.

또한, 본 발명은 네트워크 송수신 트래픽을 감소시키면서 2차 백업을 위하여 파일을 동기화할 수 있다.In addition, the present invention can synchronize files for secondary backup while reducing network transmission/reception traffic.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해 될 수 있을 것이다.Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 전자 문서 관리 시스템이 적용된 환경을 나타내는 도면이다.
도 2는 ASFS에서 사용하는 키를 관리하는 일 예를 설명하기 위한 흐름도이다.
도 3은 ASFS가 허가된 프로그램에 의한 접근인지 여부를 판단하는 과정에 관한 일 예를 나타내는 흐름도이다.
도 4는 네트워크 송수신 트래픽을 감소시키면서 2차 백업을 위하여 파일을 동기화하는 일 예를 설명하는 흐름도이다.
도 5는 S340 단계에 관한 구체적인 예를 나타내는 흐름도이다.
1 is a diagram illustrating an environment to which an electronic document management system according to an embodiment of the present invention is applied.
2 is a flowchart illustrating an example of managing a key used in ASFS.
3 is a flowchart illustrating an example of a process for determining whether the ASFS is access by an authorized program.
4 is a flowchart illustrating an example of synchronizing files for secondary backup while reducing network transmission/reception traffic.
5 is a flowchart illustrating a specific example of step S340.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments allow the publication of the present invention to be complete, and common knowledge in the technical field to which the present invention pertains It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.

본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함될 수 있다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.In this specification, the singular may also include the plural unless otherwise specified in the phrase. As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.

도 1은 본 발명의 일 실시예에 따른 전자 문서 관리 시스템이 적용된 환경을 나타내는 도면이다.1 is a diagram illustrating an environment to which an electronic document management system according to an embodiment of the present invention is applied.

다만, 도 1에서는 전자 문서 관리 시스템(1000)과 ASFS(2000), 사설 클라우드 저장소(3000) 및/또는 외부 클라우드 저장소(4000)가 독립적으로 존재하는 것으로 나타내고 있으나, 전자 문서 관리 시스템(100)에는 ASFS(2000), 사설 클라우드 저장소(3000) 및/또는 외부 클라우드 저장소(4000)가 포함될 수도 있다. 또한, 전자 문서 관리 시스템(1000)에는 본 발명의 명세서 전반에서 언급한 보안 강화, 위변조 방지 및 법적 증거력 향상을 위한 기능을 구현하기 위한 별도의 구성이 추가될 수도 있다.However, in FIG. 1 , it is shown that the electronic document management system 1000 , the ASFS 2000 , the private cloud storage 3000 and/or the external cloud storage 4000 exist independently, but the electronic document management system 100 has ASFS 2000 , private cloud storage 3000 and/or external cloud storage 4000 may be included. In addition, a separate configuration for implementing the functions for enhancing security, preventing forgery, and improving legal evidence mentioned throughout the specification of the present invention may be added to the electronic document management system 1000 .

도 1을 참조하면, 스캐너(20)가 종이 문서(10)를 스캔한 데이터를 전자 문서 관리 시스템(1000)으로 전송한다.Referring to FIG. 1 , the scanner 20 transmits the scanned data of the paper document 10 to the electronic document management system 1000 .

전자 문서 관리 시스템(1000)은 종이 문서(10)를 스캔한 데이터(즉, 전자 문서)를 저장하고 사용자 측(100)의 요청에 따라서 다른 장치로 전송할 수 있다.The electronic document management system 1000 may store the scanned data (ie, an electronic document) of the paper document 10 and transmit it to another device according to a request from the user side 100 .

전자 문서 관리 시스템(1000)은 전자 문서를 원본과 동일함을 입증할 수 있도록 저장 및 전송할 수 있다.The electronic document management system 1000 may store and transmit the electronic document to prove that it is the same as the original.

구체적으로, 전자 문서 관리 시스템(1000)은 전자 문서가 생성된 시간에 관한 정보를 관리할 수 있다. 또한, 전자 문서 관리 시스템(1000)은 서명 정보를 이용하여 전자 문서의 위조 및 변조 유무를 확인할 수 있다.Specifically, the electronic document management system 1000 may manage information about the time when the electronic document is generated. Also, the electronic document management system 1000 may check whether the electronic document is forged or altered by using the signature information.

또한, 전자 문서 관리 시스템(1000)은 전자 문서 유출을 방지하고 전자 문서에 포함된 내용의 유출을 방지하기 위하여 다양한 방법으로 보안성을 강화할 수 있다.In addition, the electronic document management system 1000 may enhance security in various ways to prevent leakage of electronic documents and to prevent leakage of contents included in electronic documents.

전자 문서 관리 시스템(1000)이 전자 문서의 보안성을 강화하기 위하여 ASFS(2000)를 이용할 수 있다. ASFS(2000)는 전자 문서 관리 시스템(1000)에 포함될 수 있다. 다만, 시스템 환경에 따라서 ASFS(2000)는 전자 문서 관리 시스템(1000)과 별도로 존재할 수도 있다. ASFS(2000)는 스캐너 등을 통해 수신한 전자 문서에 관한 데이터를 임시로 저장할 수 있다. ASFS(2000)는 추후에 보다 자세하게 설명한다.The electronic document management system 1000 may use the ASFS 2000 to enhance the security of the electronic document. The ASFS 2000 may be included in the electronic document management system 1000 . However, depending on the system environment, the ASFS 2000 may exist separately from the electronic document management system 1000 . The ASFS 2000 may temporarily store data related to an electronic document received through a scanner or the like. ASFS (2000) will be described in more detail later.

전자 문서 관리 시스템(1000)은 전자 문서의 관리 효율상 필요한 경우 사설 클라우드 저장소(3000)에 전자 문서를 보관할 수 있다. 사설 클라우드 저장소(3000)에 전자 문서를 보관하는 경우에도 원본과 동일함을 증명할 수고 유출을 방지할 수 있도록 전자 문서 관리 시스템(1000)은 조치를 치할 수 있다.The electronic document management system 1000 may store the electronic document in the private cloud storage 3000 if necessary for management efficiency of the electronic document. Even when the electronic document is stored in the private cloud storage 3000 , the electronic document management system 1000 may take measures to prove that it is the same as the original and prevent leakage.

또한, 전자 문서 관리 시스템(1000) 또는 사설 클라우드 저장소(3000)는 2차 백업을 위하여 외부 클라우드 저장소(4000)에도 전자 문서를 안전하게 보관하도록 조치를 치할 수 있다.In addition, the electronic document management system 1000 or the private cloud storage 3000 may take measures to safely store the electronic document in the external cloud storage 4000 for secondary backup.

본 발명의 명세서에서 사용되는 "중요 전자 문서"란 보안 및 비밀 유지가 필요한 전자 문서를 의미한다. 중요 전자 문서는 전자 문서 관리 시스템(1000)에 의하여 외부로부터의 악의적인 접근이 차단되어야 한다. 중요 전자 문서는 전자 문서 관리 시스템(1000)에 의하여 관리되는 전자 문서 중 일부 일수 있으며 전부가 될 수도 있다."Important electronic document" as used in the specification of the present invention means an electronic document requiring security and confidentiality. An important electronic document must be blocked from malicious access from the outside by the electronic document management system 1000 . The important electronic document may be some or all of the electronic documents managed by the electronic document management system 1000 .

전자 문서 관리 시스템(1000)은 운영 체제(OS, Operating System)안에서 중요 전자 문서를 검색하고 제공하기 위하여 임시로 보관하는 중요 전자 문서에 관한 파일 및/또는 영구적으로 보관하는 중요 전자 문서에 관한 파일 모두 다른 루트를 통한 접근을 차단할 수 있다.The electronic document management system 1000 is both a file about an important electronic document temporarily stored in order to retrieve and provide an important electronic document in an operating system (OS) and/or a file about an important electronic document that is permanently stored You can block access through other routes.

예를 들어, 운영 체제 중 하나인 Windows에서 가장 상위 루트의 권한인 Administrator로 로그인 한 후 탐색기를 통해 중요 전자 문서 관리 시스템(1000)에 의하여 관리되는 폴더 및 중요 전자 문서 관리 시스템(1000)의 동작으로 접근되는 폴더를 탐색하더라도 중요 전자 문서 관리 시스템(1000)에 의하여 중요 전자 문서에 관한 파일을 확인할 수 없다.For example, after logging in as Administrator, which is the highest root authority in Windows, one of the operating systems, the folder managed by the important electronic document management system 1000 and the operation of the important electronic document management system 1000 through Explorer Even if the accessed folder is searched, the file related to the important electronic document cannot be checked by the important electronic document management system 1000 .

또한, 예를 들어 Microsoft에서 제공하는 악성 프로그램 등을 분석하는 프로그램인 procomon.exe를 통해서 전자 문서 관리 시스템(1000)의 동작으로 접근되는 파일을 모니터링 하더라도 전자 문서 관리 시스템(1000)에 의하여 모니터링된 위치의 파일의 내용의 열람이 불가능하다.Also, for example, even if a file accessed by the operation of the electronic document management system 1000 is monitored through procomon.exe, a program that analyzes a malicious program provided by Microsoft, the location monitored by the electronic document management system 1000 is monitored. It is not possible to read the contents of the file.

또한, 악성 코드를 이용하여 중요 전자 문서에 관한 파일에 접근하는 경우 전자 문서 관리 시스템(1000)은 상기 악성 코드의 전자 서명 상태를 확인하여 기 설정된 전자 서명이 아닌 경우에는 통신을 차단하여 중요 전자 문서를 보호할 수 있다. 또한, 상기 통신을 차단하는 기능이 예상치 못한 취약점으로 무력화되더라도 중요 전자 문서에 관한 모든 데이터가 AES-256 등의 알고리즘으로 암호화되어 정보를 확인할 수 없다.In addition, when a file related to an important electronic document is accessed using a malicious code, the electronic document management system 1000 checks the electronic signature status of the malicious code and blocks communication when it is not a preset electronic signature to block the important electronic document can protect In addition, even if the function of blocking the communication is disabled due to an unexpected vulnerability, all data related to an important electronic document is encrypted with an algorithm such as AES-256, so that the information cannot be checked.

전자 문서 관리 시스템(1000)은 상기의 예를 든 방법들을 이용하여 중요 전자 문서에 대한 악의적인 접근을 차단하고 정보를 보호할 수 있다.The electronic document management system 1000 may block malicious access to an important electronic document and protect information by using the methods exemplified above.

[실시간 암호화 파일 시스템인 [Real-time encrypted file system ASFSASFS (( AscanAscan Secure File System)] Secure File System)]

전자 문서 관리 시스템(1000)은 스캐너(20)를 통해 중요 전자 문서를 수신한다. 전자 문서 관리 시스템(1000)은 수신한 중요 전자 문서를 NTFS나 FAT 등과 같은 범용 파일 시스템이 아닌 실시간 암호화 파일 시스템인 ASFS(Ascan Secure File System)(2000)에 임시로 저장하며, 보안 프로토콜을 통해 사설 클라우드 영역에 설치된 NAS 스토리지에 보관하여 다수의 사용자들과 중요 기록물을 공유한다. ASFS(2000)는 중요 전자 문서의 보안성 향상을 위하여 자체 개발한 실시간 암호화 파일 시스템의 명칭이다. 참고적으로 'Ascan'은 본 출원의 출원인인 ㈜악어스캔을 표현한 것이다.The electronic document management system 1000 receives an important electronic document through the scanner 20 . The electronic document management system 1000 temporarily stores the received important electronic document in an Ascan Secure File System (ASFS) 2000, which is a real-time encrypted file system, rather than a general-purpose file system such as NTFS or FAT, and is private through a security protocol. It is stored in NAS storage installed in the cloud area to share important records with multiple users. ASFS (2000) is the name of a real-time encrypted file system developed by itself to improve the security of important electronic documents. For reference, 'Ascan' represents the applicant of the present application, Alligator Scan.

중요 전자 문서의 보안성 향상을 위하여 ASFS(2000)의 필요성에 관하여 설명하면, 스캔된 중요 전자 문서를 로컬에 일반 이미지 파일로 기록할 경우 컴퓨터가 물리적으로 외부에 노출되거나 하드디스크가 노후로 인한 교체 등으로 노출되었을 때 중요 전자 문서가 암호화되어 있지 않아 정보가 외부로 유출될 수 있다.When explaining the necessity of ASFS (2000) to improve the security of important electronic documents, if the scanned important electronic documents are recorded locally as general image files, the computer is physically exposed to the outside or the hard disk is replaced due to aging. When exposed to the public, important electronic documents are not encrypted, so information may be leaked to the outside.

또한, 악성 프로그램이 중요 전자 문서에 접근이 용이하기 때문에 정보가 유출될 가능성이 높다.In addition, since malicious programs have easy access to important electronic documents, the possibility of information leakage is high.

ASFS(2000)는 로딩 속도를 높이기 위하여 썸네일 이미지와 캐시 파일이 저장의 주 대상으로, 중요 전자 문서의 위변조 여부 등을 가리고 증거 자료로써의 법적 지위를 높이기 위해서 중요 전자 문서가 스캐너(20)로부터 클라우드 저장소에 저장되기 까지 어떠한 훼손도 가하기 어렵도록 이미지에 최적화된 실시간 암복호화 가상 파일 시스템이다. ASFS(2000)를 전자 문서 관리 시스템(1000)과 결합하여 중요 전자 문서에 대한 보안성을 향상시켰다.In the ASFS (2000), thumbnail images and cache files are the main objects of storage in order to increase loading speed, and important electronic documents are transferred from the scanner 20 to the cloud to prevent forgery or falsification of important electronic documents and increase their legal status as evidence. It is a real-time encryption/decryption virtual file system optimized for images so that it is difficult to inflict any damage until they are stored in the storage. By combining the ASFS (2000) with the electronic document management system (1000), the security of important electronic documents is improved.

도 2는 ASFS에서 사용하는 키를 관리하는 일 예를 설명하기 위한 흐름도이다.2 is a flowchart illustrating an example of managing a key used in ASFS.

도 2를 참조하면, 사용자 측(100)은 인증 서버(1100)에 식별자(ID)와 패스워드(Password)로 인증을 요청한다(S110).Referring to FIG. 2 , the user side 100 requests authentication from the authentication server 1100 using an identifier (ID) and a password (Password) (S110).

인증 서버(1100)는 전자 문서 관리 시스템(1000)에 포함된 서버일 수 있으며, 전자 문서 관리 시스템(1000)과 별도로 존재하는 서버일 수도 있다.The authentication server 1100 may be a server included in the electronic document management system 1000 , or may be a server existing separately from the electronic document management system 1000 .

인증에 성공하면 인증 서버(1100)는 사용자 측에서 실시간 암복호화에 사용할 키의 시드 값을 전달한다(S120). 상기 실시간 암복호화에 사용할 키의 시드 값은 "Cache Seed Key"라고 명명될 수 있다.If authentication is successful, the authentication server 1100 transmits the seed value of the key to be used for real-time encryption/decryption on the user's side (S120). The seed value of the key to be used for the real-time encryption/decryption may be named "Cache Seed Key".

사용자 측(100)은 "Cache Seed Key"를 수신하면 인증에 사용한 "Hash(ID+Password)" 값과 결합하여 ASFS(2000)에서 사용할 키를 생성할 수 있다(S130).Upon receiving the "Cache Seed Key", the user side 100 can generate a key to be used in the ASFS 2000 by combining it with the "Hash(ID+Password)" value used for authentication (S130).

도 2를 참조하여 설명한 과정들(S110, S120, S130)은 모두 메모리 상에서 동작하며 로컬 저장소 영역에는 어떠한 정보도 기록되지 않는다. 도 2를 참조하여 설명한 방법으로 ASFS(2000)에서 사용할 키를 생성할 경우, 사용자 측(100)에서 운영하지 않는 인증 서버(1100)를 경유하지 않고서는 암복호화에 사용될 키를 생성하기 위한 초기 값인 "Cache Seed Key"를 얻을 수 없다. 또한, "Cache Seed Key"가 노출되더라도 사용자 측(100)이 알고 있는 비밀번호와 결합되어 있으므로 암복호화에 사용할 키는 유출되지 않는다.The processes S110 , S120 , and S130 described with reference to FIG. 2 all operate on the memory, and no information is recorded in the local storage area. When a key to be used in the ASFS 2000 is generated by the method described with reference to FIG. 2, the initial value for generating a key to be used for encryption/decryption without going through the authentication server 1100 not operated by the user side 100 is Could not get "Cache Seed Key". In addition, even if the "Cache Seed Key" is exposed, the key to be used for encryption/decryption is not leaked because it is combined with the password that the user side 100 knows.

또한, ASFS(2000)에 사용할 키를 생성한 이후에도 ASFS(2000)는 지정된 상황에서만 개방될 수 있는 메커니즘을 가지고 있다. 이러한 메커니즘에 대하여 도 3을 참조하여 설명한다.In addition, even after the key to be used for the ASFS 2000 is generated, the ASFS 2000 has a mechanism that can be opened only in a specified situation. This mechanism will be described with reference to FIG. 3 .

도 3은 ASFS가 허가된 프로그램에 의한 접근인지 여부를 판단하는 과정에 관한 일 예를 나타내는 흐름도이다. 3 is a flowchart illustrating an example of a process for determining whether the ASFS is access by an authorized program.

ASFS(2000)는 운영 체제의 커널 영역 내에서 로우 디스크(Raw DISK) 드라이버 영역 상단에 파일 필터 드라이버(File Filter Driver)로서 개발되고 설치될 수 있다.The ASFS 2000 may be developed and installed as a file filter driver on top of a raw disk driver area within the kernel area of the operating system.

ASFS(2000)는 로그 디스크 영역에 별도의 자체 파일 시스템 구조를 만들고 모든 데이터는 AES 알고리즘 등을 이용하여 실시간으로 암호화를 수행한다.The ASFS (2000) creates a separate file system structure in the log disk area and encrypts all data in real time using the AES algorithm or the like.

ASFS(2000)는 파일을 프로세스에 개방해 파일 핸들을 넘겨주는 과정에서 암호화 키로 인한 보호 외에 지정된 프로세스에만 개방하는 보안 기능도 포함할 수 있다.The ASFS 2000 may include a security function that opens only to a designated process in addition to protection by an encryption key in the process of passing a file handle by opening a file to a process.

전자 문서 관리 시스템(1000)은 글로벌 공인 인증 기관 등으로부터 코드 사인에 사용할 PKI 인증서를 받아 전자 문서 관리용 S/W(1300) 실행 파일을 배포하기 전에 서명한다(S210). 이 서명값은 전자 문서 관리용 S/W(1300)와 함께 배포되며 설치된다.The electronic document management system 1000 receives a PKI certificate to be used for code signing from a global authorized certification authority, etc., and signs the S/W 1300 executable file for electronic document management before distribution ( S210 ). This signature value is distributed and installed together with S/W 1300 for electronic document management.

전자 문서 관리용 S/W(1300)가 중요 전자 문서에 접근하기 위해 ASFS(2000) 필터 드라이버에 파일 핸들을 요청하면(S220) ASFS(2000)는 요청한 프로그램이 허가된 프로그램인지 서명값을 기초로 확인한다(S230). ASFS(2000)는 서명값을 기초로 확인한 결과 허가된 프로그램이 아닌 경우 접근을 차단한다(S240).When S/W (1300) for electronic document management requests a file handle to ASFS (2000) filter driver to access important electronic documents (S220), ASFS (2000) determines whether the requested program is an authorized program based on the signature value Confirm (S230). As a result of checking based on the signature value, the ASFS 2000 blocks access if it is not an authorized program (S240).

전자 문서 관리용 S/W(1300)는 전자 문서 관리 시스템(1000)의 전부 또는 일부 기능을 구현하는 컴퓨터용 프로그램이 될 수 있다.The S/W for electronic document management 1300 may be a computer program that implements all or some functions of the electronic document management system 1000 .

ASFS(2000)는 서명값을 기초로 확인한 결과 허가된 프로그램에 의한 접근인 경우 인증 서버(1100)로부터 받은 "Cache Seed Key"를 전송한다(S250).ASFS 2000 transmits the "Cache Seed Key" received from the authentication server 1100 in case of access by an authorized program as a result of checking based on the signature value (S250).

허가된 프로그램에 의한 접근 후에도 모든 중요 전자 문서는 암호화되어 있기 때문에 도 1을 참조하여 설명한 바와 같이 사용자 측(100)만이 알고 있는 비밀번호를 통해서만 데이터의 복호화가 가능하다.Since all important electronic documents are encrypted even after access by an authorized program, data can be decrypted only through a password known only to the user side 100 as described with reference to FIG. 1 .

사내 클라우드 저장소는 전자 문서 관리 시스템(1000)을 통해 수집된 중요 전자 문서를 최종적으로 보관하는 아카이브 서버가 될 수 있다.The in-house cloud storage may be an archive server that finally stores important electronic documents collected through the electronic document management system 1000 .

사내 클라우드 저장소와 전자 문서 관리 시스템(1000)은 전자 문서에 관한 파일을 송수신하기 위한 동기화 기능을 제공할 수 있다.The in-house cloud storage and the electronic document management system 1000 may provide a synchronization function for transmitting and receiving files related to electronic documents.

일반적인 외부 클라우드 서버 만으로는 암호화된 파일을 송수신하기 위한 네트워크 속도에 문제가 있어 이를 보완하고 효율성을 증대하기 위하여 사내 환경에 사내 클라우드 저장소를 둘 수 있다. 사내 클라우드 저장소는 기본적으로 RAID 구성을 통해 물리적인 하드 디스크의 문제에 대응할 수 있도록 구성할 수 있다. 다만, 사내 클라우드 저장소가 물리적인 하드 디스크의 문제에 대응할 수 있도록 구성된 경우에도 예측하지 못한 상황에 의하여 손상될 확률이 존재하는 바 2차 백업이 필요할 수 있다.With only a general external cloud server, there is a problem with the network speed for sending and receiving encrypted files. In-house cloud storage can be configured to respond to problems with physical hard disks through RAID configuration by default. However, even if the in-house cloud storage is configured to respond to problems with the physical hard disk, there is a possibility of damage due to unforeseen circumstances, so a secondary backup may be required.

2차 백업을 위하여 파일을 동기화하는데 있어서 네트워크 송수신 트래픽을 감소시키기 위하여 파일을 일정한 크기로 잘라 변화된 영역만 송수신할 수 있다.In order to reduce network transmission/reception traffic in synchronizing files for secondary backup, a file can be cut to a certain size and only the changed area can be transmitted/received.

구체적으로 네트워크 송수신 트래픽을 감소시키면서 2차 백업을 위하여 파일을 동기화하는 과정을 크게 5 과정으로 나누어 설명한다. 2차 백업을 위하여 파일을 동기화하는 과정은 제1 컴퓨팅 장치(200) 및 제2 컴퓨팅 장치(300)에 의하여 수행될 수 있다. 상기 제1 컴퓨팅 장치(200) 및/또는 제2 컴퓨팅 장치(300)는 전자 문서 관리 시스템(1000), 사내 클라우드 저장소를 운영하는 장치, 사내 클라우드 저장소와 연결된 장치, 2차 백업을 위한 저장소를 운영하는 장치 및/또는 2차 백업을 위한 저장소와 연결된 장치가 될 수도 있다.Specifically, the process of synchronizing files for secondary backup while reducing network transmission/reception traffic is mainly divided into five processes. The process of synchronizing files for secondary backup may be performed by the first computing device 200 and the second computing device 300 . The first computing device 200 and/or the second computing device 300 operates the electronic document management system 1000, a device for operating an in-house cloud storage, a device connected to the in-house cloud storage, and a storage for secondary backup It can also be a device connected to a storage device and/or storage for secondary backup.

도 4는 네트워크 송수신 트래픽을 감소시키면서 2차 백업을 위하여 파일을 동기화하는 일 예를 설명하는 흐름도이다.4 is a flowchart illustrating an example of synchronizing files for secondary backup while reducing network transmission/reception traffic.

도 4를 참조하면, 첫 번째 과정으로 제1 컴퓨팅 장치(200)는 파일에서 중복되지 않는 S 바이트 길이의 고정 크기 블록으로 파일 B를 쪼갤 수 있다(S310). 따라서, 마지막 블록의 크기는 S보다 작거나 같게 된다.Referring to FIG. 4 , as a first process, the first computing device 200 may split the file B into non-overlapping S-byte fixed size blocks ( S310 ). Accordingly, the size of the last block is less than or equal to S.

두 번째 과정으로 각각의 블록에 대하여 제1 컴퓨팅 장치(200)는 체크섬(Checksum)을 계산할 수 있다(S320). 제1 컴퓨팅 장치(200)는 약한 32비트 롤링 체크섬과 강한 128비트 MD4 체크섬을 계산할 수 있다.As a second process, the first computing device 200 may calculate a checksum for each block ( S320 ). The first computing device 200 may calculate a weak 32-bit rolling checksum and a strong 128-bit MD4 checksum.

세 번째 과정으로 제1 컴퓨팅 장치(200)는 이 체크섬을 제2 컴퓨팅 장치(300)에게 송신한다(S330).As a third process, the first computing device 200 transmits the checksum to the second computing device 300 ( S330 ).

네 번째 과정으로 제2 컴퓨팅 장치(300)는 제1 컴퓨팅 장치(200)로부터 수신한 파일 B에 대한 체크섬의 쌍(예를 들면, 롤링 체크성과 MD4 체크섬)들을 사용하여 파일 A에서 파일 B의 블록 중 하나와 동일한 체크섬 쌍을 갖는 모든 S 바이트 길이의 블록을 찾을 수 있다(S340). 파일 A에서 파일 B의 블록 중 하나와 같은 체크섬 쌍을 갖는 모든 S 바이트의 블록을 찾는 과정은 롤링 체크섬의 특별한 속성을 이용하여 단일 패스로 빠른 속도로 처리할 수 있다.As a fourth process, the second computing device 300 uses the checksum pair (eg, rolling checksum and MD4 checksum) for file B received from the first computing device 200 to block the file A from file B. It is possible to find all S-byte-length blocks having the same checksum pair as one of them (S340). The process of finding a block of all S bytes in file A with the same checksum pair as one of the blocks in file B can be quickly processed in a single pass by using the special property of rolling checksum.

다섯 번째 과정으로 제2 컴퓨팅 장치(300)는 파일 A의 사본을 만들기 위한 명령열을 제1 컴퓨팅 장치(200)에게 전송한다(S350). 명령열의 각 명령은 파일 B의 블록에 대한 참조이거나, 파일 B의 어떤 블록과도 일치하지 않는 파일 A의 구간들에 대한 문자열 데이터일 수 있다.As a fifth process, the second computing device 300 transmits a command sequence for making a copy of the file A to the first computing device 200 ( S350 ). Each command in the command string may be a reference to a block in file B, or may be string data for sections of file A that do not match any block in file B.

이러한 일련의 과정들의 결과는 제1 컴퓨팅 장치(200)가 파일 A의 사본을 갖는 것이지만, 실제 링크를 통해서 전송되는 것들은 파일 B에서 찾지 못한 파일 A의 특정 부분들만이 전송된다. 따라서, 이러한 일련의 과정들은 한번의 왕복만이 요구되고, 이 단일 왕복은 링크 지연에 미치는 영향을 최소화할 수 있다.The result of this series of processes is that the first computing device 200 has a copy of file A, but only certain portions of file A that are not found in file B are transmitted through the actual link. Accordingly, only one round trip is required for this series of processes, and this single round trip can minimize the effect on link delay.

제2 컴퓨팅 장치(300)는 파일 B의 블록들의 체크섬 목록을 수신하고 나면, 파일 A의 모든 오프셋, 모든 블록에 대해서 수신한 블록 내의 체크섬과 일치하는 블록이 있는지를 찾을 수 있다(S340).After receiving the checksum list of the blocks of the file B, the second computing device 300 may find whether there is a block matching the checksum in the received block for all offsets and all blocks of the file A ( S340 ).

예를 들어, 제2 컴퓨팅 장치(300)는 파일 A의 각 바이트에 대해 길이 S의 블록으로 32비트 롤링 체크섬을 순차적으로 계산하고, 목록에서 일치하는 체크섬을 검색할 수 있다. 이러한 검색은 구체적으로 총 3단계의 과정으로 수행될 수 있다. 총 3단계의 과정은 제2 컴퓨팅 장치(300)에 의하여 수행될 수 있으며 다른 과정으로 체크섬을 검색할 수도 있다.For example, the second computing device 300 may sequentially calculate a 32-bit rolling checksum in blocks of length S for each byte of the file A, and retrieve a matching checksum from the list. Specifically, such a search may be performed in a total of three steps. A total of three steps may be performed by the second computing device 300 and the checksum may be retrieved as another process.

구체적으로 도 5를 참조하여 S340 단계에 관하여 설명한다.Specifically, step S340 will be described with reference to FIG. 5 .

도 5는 S340 단계에 관한 구체적인 예를 나타내는 흐름도이다.5 is a flowchart illustrating a specific example of step S340.

도 5f를 참조하면, 체크섬 검색 제1 단계는 32비트 롤링 체크섬의 16비트 해시(Hash)와 216개 엔트리의 해시 테이블을 사용한다. 체크섬 값의 목록(파일 B 블록들로부터 계산한 체크섬)은 32비트 롤링 체크섬의 16비트 해시를 따라 정렬될 수 있다.Referring to FIG. 5F , the first step of the checksum search uses a 16-bit hash of a 32-bit rolling checksum and a hash table of 216 entries. The list of checksum values (the checksum computed from the file B blocks) can be ordered according to a 16-bit hash of a 32-bit rolling checksum.

해시 테이블의 각 항목은 그 해시값에 대한 목록의 첫 요소를 가리키거나, 그 해시값을 갖는 목록의 요소가 없는 경우에는 NULL 값을 포함한다.Each item in the hash table points to the first element in the list for that hash value, or contains a NULL value if there is no element in the list with that hash value.

파일의 각 오프셋에서 32비트 롤링 체크섬과 그 16비트 해시가 계산되고, 그 해시값에 대한 해시 테이블 엔트리가 NULL이 아니라면 체크섬 검색 제2 단계로 진행된다(S341).At each offset of the file, a 32-bit rolling checksum and its 16-bit hash are calculated, and if the hash table entry for the hash value is not NULL, the second step of retrieving the checksum is performed (S341).

체크섬 검색 제 2단계는 해시 테이블 엔트리가 가리키는 정렬된 체크섬 목록에서 32비트 롤링 체크섬이 현재 값과 일치하는 것을 찾는다(S343).The second step of checksum search is to find a 32-bit rolling checksum that matches the current value in the sorted checksum list pointed to by the hash table entry (S343).

체크섬 검색은 16비트 해시가 다른 엔트리에 도달하면 종료하며, 일치하는 엔트리가 발견되면 체크섬 제 3단계 검사가 실행된다.The checksum search ends when a 16-bit hash reaches another entry, and a third-stage checksum check is executed when a matching entry is found.

체크섬 검색 제 3단계는 현재 파일의 오프셋에서 강한 체크섬(128비트 MD4 체크섬)을 계산한다(S345). 그 결과를 현재 리스트 엔트리에 있는 강한 체크섬과 비교한다(S347). 일치하면, 파일 B의 블록과 매치되는 파일 A의 블록을 찾은 것으로 간주한다(S349).Checksum retrieval The third step is to calculate a strong checksum (128-bit MD4 checksum) from the offset of the current file (S345). The result is compared with the strong checksum in the current list entry (S347). If they match, it is considered that the block of file A matching the block of file B is found (S349).

상기 체크섬 검색 제 3단계를 거쳐서 매치되는 블록을 찾으면, 제2 컴퓨팅 장치(300)는 파일 A의 현재 오프셋과 최근에 마지막으로 매치된 곳 사이의 데이터를 제1 컴퓨팅 장치(200)에게 전송한다. 전송 후, 매치되는 블록에 해당하는 파일 B의 블록 인덱스를 전송한다. 전송 시점은 일치 대상을 발견하는 순간이 된다. 일치 대상을 찾지 못했다면, 다음 오프셋의 롤링 체크섬으로 검색이 계속된다. 이전에 매치된 블록이 있었다면 그 블록의 끝에서부터 검색이 진행될 수 있다.If a matching block is found through the third checksum search step, the second computing device 300 transmits data between the current offset of the file A and the last matched location to the first computing device 200 . After transmission, the block index of file B corresponding to the matching block is transmitted. The transmission time is the moment when a matching target is found. If no match is found, the search continues with the rolling checksum of the next offset. If there is a previously matched block, the search can proceed from the end of that block.

[전자 문서의 법적 증거력 향상 방법][Method of improving legal evidence of electronic documents]

여러 문서들은 법적 다툼에서 증거로 인정될 수 있다. 다만, 전자 문서가 법적 증거력이 인정되기 위해서는 원본과 동일함을 증명할 수 있어야 한다.Several documents may be admissible as evidence in a legal battle. However, in order for an electronic document to be legally admissible, it must be able to prove that it is the same as the original.

따라서, 본 발명의 일 실시예에 따른 전자 문서 관리 시스템(1000)은 중요한 내용이 담긴 종이 문서(10)를 스캔하여 중요 전자 문서를 생성하고 보관하는 과정에서 중요 전자 문서가 종이 문서(10)와 동일함을 증명할 수 있도록 한다.Accordingly, the electronic document management system 1000 according to an embodiment of the present invention scans the paper document 10 containing important content, and in the process of generating and storing the important electronic document, the important electronic document is separated from the paper document 10 and the paper document 10 . to prove that they are the same.

구체적으로, 전자 문서 관리 시스템(1000)은 어떠한 시점에서 전자 문서화가 되었음을 알리는 시점 확인 기능을 제공할 수 있다.Specifically, the electronic document management system 1000 may provide a time confirmation function informing that the electronic document has been made at a certain point in time.

또한, 전자 문서 관리 시스템(1000)은 전자 문서 생성, 전송 및 보관 과정에서 어떠한 위조 및 변조도 발생하지 않았음을 증명할 수 있는 전자 서명 기능을 제공할 수 있다.In addition, the electronic document management system 1000 may provide an electronic signature function that can prove that any forgery or falsification has not occurred in the process of generating, transmitting, and storing the electronic document.

구체적으로 중요 전자 문서의 법적 증거력의 향상을 위하여 전자 문서 관리 시스템(1000)은 다수의 범용 스캐너(20)와 통신을 위해 TWAIN 프로토콜 등에 맞춰 구현하되, 전자화된 데이터는 앞서 설명한 ASFS(2000)에 의하여 스캐너(20)에서 입력된 데이터가 사용자 측(100)에 의하여 변조되지 못하도록 한다.Specifically, in order to improve the legal evidence of important electronic documents, the electronic document management system 1000 is implemented according to the TWAIN protocol for communication with a plurality of general-purpose scanners 20, etc., but the electronic data is transmitted by the ASFS (2000) described above. It prevents the data input from the scanner 20 from being tampered with by the user side 100 .

또한, 전자 문서 관리 시스템(1000)은 전자화된 데이터에서 다이제스트(Digest) 또는 해시(Hash)값을 추출하여 시점 관리를 위한 서버에 전달할 수 있다.Also, the electronic document management system 1000 may extract a digest or hash value from the digitalized data and transmit it to a server for time management.

시점 관리를 위한 서버는 전자화된 데이터에서 추출된 다이제스트 또는 해시 값을 이용하여 어떠한 시점에서 전자 문서화가 되었는지에 관한 정보를 관리하고 어떠한 시점에 전송 등이 발생하였는지에 관한 정보를 관리할 수 있다.The server for time point management may use the digest or hash value extracted from the electronic data to manage information about at what point in time when electronic documentation was made, and may manage information regarding when transmission, etc. occurred.

시점 관리를 위한 서버는 전자 문서 관리 시스템(1000)에 포함된 서버일 수 있으며 전자 문서 관리 시스템(1000)과 별도로 존재하는 서버일 수도 있다.The server for time point management may be a server included in the electronic document management system 1000 or may be a server existing separately from the electronic document management system 1000 .

구체적으로, 시점 관리를 위한 서버는 현재의 시간과 연결하여 해시 값을 만들고 이를 공인 받은 인증서로 서명해 무결성을 보증 받은 스템프를 만들 수 있다. 이렇게 만들어진 스탬프 정보를 이용하여 전자 문서 관리 시스템(1000)은 서명 정보, 시간 정보가 포함된 전자화된 데이터를 저장할 수 있다. 따라서, 전자 문서 관리 시스템(1000)에 의하여 저장된 전자화된 데이터는 서명 정보 및 시간 정보를 이용하여 위조 및 변조 발생이 발생하지 않았으며 원본과 동일함을 증명할 수 있다.Specifically, the server for time management can create a hash value by connecting it with the current time and sign it with an authorized certificate to create a stamp whose integrity is guaranteed. Using the stamp information created in this way, the electronic document management system 1000 may store electronic data including signature information and time information. Accordingly, it is possible to prove that the electronic data stored by the electronic document management system 1000 has no occurrence of forgery and falsification using signature information and time information and is identical to the original.

도 2 내지 도 5의 도면에서 도시된 동작들은 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지될 수 있음을 이해하여야 한다.Although the operations illustrated in the figures of FIGS. 2-5 are shown in a particular order, it is understood that the operations must be executed in the specific order or sequential order shown, or that all illustrated operations must be performed to achieve the desired result. shouldn't be In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. should understand

도 1에서 ASFS(2000)는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.In FIG. 1 , the ASFS 2000 may refer to software or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not meant to be limited to software or hardware, and may be configured to be in an addressable storage medium or configured to execute one or more processors. The functions provided in the components may be implemented by more subdivided components, or may be implemented as one component that performs a specific function by combining a plurality of components.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. you will be able to understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (9)

스캐너로부터 종이 문서를 스캔한 데이터를 수신하고, 상기 수신한 데이터를 임시적으로 저장하는 실시간 암호화 파일 시스템인 ASFS(Ascan Secure File System)를 포함하는 전자 문서 관리 시스템에 있어서,
상기 ASFS는 운영 체제의 커널 영역 내에서 로우 디스크(RAW DISK) 드라이버 영역 상단에 파일 필터 드라이버(File Filter Driver)로서 존재하고, 또한 상기 ASFS는 로우 디스크 영역 내 별도의 자체 파일 시스템 구조를 갖춘 것으로서 모든 데이터를 실시간 암호화 하는 것을 특징으로 하고,
상기 ASFS에서는, 파일 핸들을 넘겨줄 때의 보안을 위한 ASFS 키가 사용되되, 상기 ASFS 키는 사용자 측 장치에서 식별자(ID)와 패스워드(Password)를 이용하여 인증 서버에 인증을 요청하는 단계; 상기 인증에 성공하면 상기 인증 서버가 상기 사용자 측 장치에서 실시간 암복호화에 사용할 키의 시드 값(Cache Seed Key)을 전송하는 단계; 및 상기 Cache Seed Key, 식별자 및 패스워드를 이용하여 ASFS에서 사용할 키를 생성하는 단계를 포함하는 ASFS 키 생성 방법에 의해 생성되는 것을 특징으로 하고,
상기 인증을 요청하는 단계, 상기 시드 값을 전송하는 단계 및 상기 키를 생성하는 단계는 모두 메모리 상에서 동작하여 로컬 저장소 영역에는 기록되지 않는 것을 특징으로 하는,
전자 문서 관리 시스템.
An electronic document management system comprising: an Ascan Secure File System (ASFS), which is a real-time encrypted file system that receives data from a scanned paper document from a scanner and temporarily stores the received data,
The ASFS exists as a file filter driver at the top of the RAW DISK driver area in the kernel area of the operating system, and the ASFS has its own separate file system structure in the raw disk area. It is characterized in that data is encrypted in real time,
In the ASFS, an ASFS key for security when handing over a file handle is used, the ASFS key requesting authentication from an authentication server using an identifier (ID) and a password (Password) in a user-side device; transmitting, by the authentication server, a cache seed key of a key to be used for real-time encryption/decryption in the user-side device if the authentication is successful; and generating a key to be used in ASFS by using the Cache Seed Key, an identifier, and a password, characterized in that it is generated by the ASFS key generation method,
The step of requesting the authentication, the step of transmitting the seed value, and the step of generating the key are all operated in memory and are not recorded in a local storage area,
Electronic document management system.
삭제delete 삭제delete 제1 항에 있어서,
상기 ASFS는, 임의의 전자 문서 관리용 S/W가 전자 문서에 접근할 때에,
상기 전자 문서 관리용 S/W로부터 전자 문서에 접근하기 위하여 파일 핸들을 요청 받는 단계;
상기 파일 핸들을 요청한 프로그램이 허가된 프로그램인지 서명값을 기초로 확인하는 단계;
상기 서명값을 기초로 확인한 결과 허가된 프로그램이 아닌 경우 접근을 차단하는 단계; 및
상기 서명값을 기초로 확인한 결과 허가된 프로그램인 경우 상기 인증 서버로부터 받은 실시간 암복호화에 사용할 키의 시드 값(Cache Seed Key)를 상기 전자 문서 관리용 S/W로 전송하는 단계를 실행하는 것을 특징으로 하는,
전자 문서 관리 시스템.
According to claim 1,
The ASFS, when any electronic document management S / W accesses the electronic document,
receiving a request for a file handle to access the electronic document from the electronic document management S/W;
checking whether the program requesting the file handle is an authorized program based on a signature value;
blocking access if it is not an authorized program as a result of checking based on the signature value; and
If it is an approved program as a result of checking based on the signature value, the step of transmitting a cache seed key of a key to be used for real-time encryption/decryption received from the authentication server to the S/W for electronic document management is executed to do,
Electronic document management system.
삭제delete 삭제delete 삭제delete 제4항에 있어서,
상기 ASFS에 임시적으로 저장된 데이터를 보안 프로토콜을 통하여 수신하여 저장하는 사설 클라우드 저장소; 및
상기 사설 클라우드 저장소에 저장된 데이터를 백업하는 외부 클라우드 저장소를 더 포함하는,
전자 문서 관리 시스템.
5. The method of claim 4,
a private cloud storage for receiving and storing data temporarily stored in the ASFS through a security protocol; and
Further comprising an external cloud storage for backing up the data stored in the private cloud storage,
Electronic document management system.
삭제delete
KR1020150104949A 2015-07-24 2015-07-24 Electronic Document Managing System KR102400798B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150104949A KR102400798B1 (en) 2015-07-24 2015-07-24 Electronic Document Managing System
KR1020220060618A KR102580421B1 (en) 2015-07-24 2022-05-18 Electronic Document Managing System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150104949A KR102400798B1 (en) 2015-07-24 2015-07-24 Electronic Document Managing System

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220060618A Division KR102580421B1 (en) 2015-07-24 2022-05-18 Electronic Document Managing System

Publications (2)

Publication Number Publication Date
KR20170011754A KR20170011754A (en) 2017-02-02
KR102400798B1 true KR102400798B1 (en) 2022-05-24

Family

ID=58151510

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150104949A KR102400798B1 (en) 2015-07-24 2015-07-24 Electronic Document Managing System
KR1020220060618A KR102580421B1 (en) 2015-07-24 2022-05-18 Electronic Document Managing System

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220060618A KR102580421B1 (en) 2015-07-24 2022-05-18 Electronic Document Managing System

Country Status (1)

Country Link
KR (2) KR102400798B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102043693B1 (en) 2018-09-28 2019-11-12 김지성 Machine learning based document management system
KR102400488B1 (en) * 2020-09-18 2022-05-20 주식회사 악어디지털 Document digitization method and system for securing legal reliability

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101467227B1 (en) * 2013-12-24 2014-12-01 성균관대학교산학협력단 Method for managing encrypted files based on password with secure file deleting function suitable for ssd and system for managing encrypted files using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101364859B1 (en) * 2012-05-07 2014-02-19 허윤 System and method for processing scanned images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101467227B1 (en) * 2013-12-24 2014-12-01 성균관대학교산학협력단 Method for managing encrypted files based on password with secure file deleting function suitable for ssd and system for managing encrypted files using the same

Also Published As

Publication number Publication date
KR102580421B1 (en) 2023-09-20
KR20170011754A (en) 2017-02-02
KR20220071161A (en) 2022-05-31

Similar Documents

Publication Publication Date Title
US20210099287A1 (en) Cryptographic key generation for logically sharded data stores
US7313694B2 (en) Secure file access control via directory encryption
US10586057B2 (en) Processing data queries in a logically sharded data store
US8661259B2 (en) Deduplicated and encrypted backups
US9990502B2 (en) Systems and methods for security hardening of data in transit and at rest via segmentation, shuffling and multi-key encryption
US8667273B1 (en) Intelligent file encryption and secure backup system
US9003531B2 (en) Comprehensive password management arrangment facilitating security
KR102580421B1 (en) Electronic Document Managing System
Trenwith et al. Digital forensic readiness in the cloud
US9202074B1 (en) Protection of shared data
US20070101124A1 (en) Secure provisioning of digital content
Hasan et al. Cloud data provenance using IPFS and blockchain technology
Shah et al. Protecting digital evidence integrity and preserving chain of custody
CN104239820A (en) Secure storage device
EP3711256B1 (en) Cryptographic key generation for logically sharded data stores
Sarkar et al. Enhancing data storage security in cloud computing through steganography
Virvilis et al. A cloud provider-agnostic secure storage protocol
Dave et al. Secure random encryption for deduplicated storage
KR20220092811A (en) Method and device for storing encrypted data
KR20100106110A (en) Secure boot data total management system, methods for generating and verifying a verity of matadata for managing secure boot data, computer-readable recording medium storing program for executing any of such methods
Paul et al. Data storage security issues in cloud computing
US20160315950A1 (en) Apparatus and Method for Enabling Safe Handling of Malware
Messmer CryFS: Design and implementation of a provably secure encrypted cloud filesyste
Venkatesh et al. Secure authorised deduplication by using hybrid cloud approach
KR102008757B1 (en) Data Security System And Data Security Method Based On Block Chain

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant