KR102602189B1 - Document sharing service server for managing document sharing service based on cloud, and the operating method thereof - Google Patents

Document sharing service server for managing document sharing service based on cloud, and the operating method thereof Download PDF

Info

Publication number
KR102602189B1
KR102602189B1 KR1020220021221A KR20220021221A KR102602189B1 KR 102602189 B1 KR102602189 B1 KR 102602189B1 KR 1020220021221 A KR1020220021221 A KR 1020220021221A KR 20220021221 A KR20220021221 A KR 20220021221A KR 102602189 B1 KR102602189 B1 KR 102602189B1
Authority
KR
South Korea
Prior art keywords
document file
document
identification information
electronic terminal
encrypted
Prior art date
Application number
KR1020220021221A
Other languages
Korean (ko)
Other versions
KR20230124207A (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 KR1020220021221A priority Critical patent/KR102602189B1/en
Publication of KR20230124207A publication Critical patent/KR20230124207A/en
Application granted granted Critical
Publication of KR102602189B1 publication Critical patent/KR102602189B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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

Abstract

클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 클라우드 기반의 문서 공유 서비스에 있어서, 개인 정보가 포함된 전자 문서에 대한 문서 파일을 암호화하여 문서 파일 저장소에 저장하고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 하는 기술을 제시함으로써, 개인 정보가 포함되어 있는 문서 파일이 타인에게 유출되는 것을 방지할 수 있다.A document sharing service server for operating a cloud-based document sharing service and its operating method are disclosed. The present invention proposes a technology for encrypting document files for electronic documents containing personal information, storing them in a document file storage, and allowing only approved members to view the document files in a cloud-based document sharing service. By doing so, you can prevent document files containing personal information from being leaked to others.

Description

클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법{DOCUMENT SHARING SERVICE SERVER FOR MANAGING DOCUMENT SHARING SERVICE BASED ON CLOUD, AND THE OPERATING METHOD THEREOF}Document sharing service server for operating a cloud-based document sharing service and its operating method {DOCUMENT SHARING SERVICE SERVER FOR MANAGING DOCUMENT SHARING SERVICE BASED ON CLOUD, AND THE OPERATING METHOD THEREOF}

본 발명은 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a document sharing service server for operating a cloud-based document sharing service and a method of operating the same.

최근, 초고속 인터넷 환경이 널리 보급되고, 재택 근무에 대한 수요가 증가함에 따라, 기업이나 학교 등과 같은 다양한 분야에서, 클라우드 기반의 문서 공유 서비스의 도입이 증가하고 있다.Recently, as high-speed Internet environments become widespread and the demand for working from home increases, the introduction of cloud-based document sharing services is increasing in various fields such as companies and schools.

클라우드 기반의 문서 공유 서비스는, 문서 파일들을, 문서 공유 서비스에 가입한 회원들의 전자 단말이 아닌 별도의 문서 파일 저장소에 저장해 둠으로써, 회원들이 문서 파일 저장소에 저장되어 있는 문서 파일들을 공유할 수 있도록 지원하는 서비스를 의미한다.The cloud-based document sharing service stores document files in a separate document file storage rather than the electronic terminal of members who subscribe to the document sharing service, allowing members to share document files stored in the document file storage. This refers to the supported service.

이러한 문서 공유 서비스를 통해, 회원들은 물리적인 제약 없이 문서 파일 저장소에 액세스하여, 새로운 문서 파일을 문서 파일 저장소에 저장하거나 문서 파일 저장소에 저장되어 있는 문서 파일을 열람할 수 있다.Through this document sharing service, members can access the document file storage without physical restrictions, save new document files in the document file storage, or view document files stored in the document file storage.

한편, 회원들이 작성한 전자 문서에는, 주민등록번호나 전화번호 등과 같은 개인 정보가 포함되어 있을 수 있는데, 개인 정보가 무분별하게 타인에게 유출된다면 범죄에 악용될 수 있기 때문에, 개인 정보가 포함되어 있는 문서 파일이 타인에게 유출되지 않도록 주의해야 한다.Meanwhile, electronic documents written by members may contain personal information such as resident registration numbers or phone numbers. If personal information is indiscriminately leaked to others, it can be misused for crimes. Therefore, document files containing personal information Be careful not to leak it to others.

특히, 문서 파일 저장소에 저장되는 문서 파일은, 문서 공유 서비스를 통해 다른 회원들에게 공유될 수도 있다는 점에서, 이러한 문서 공유 서비스에 있어서, 개인 정보가 포함되어 있는 문서 파일이 타인에게 유출되는 것을 방지하기 위한 기술의 도입이 필요하다.In particular, document files stored in the document file storage may be shared with other members through document sharing services, preventing document files containing personal information from being leaked to others in these document sharing services. It is necessary to introduce technology to do this.

이와 관련해서, 문서 파일 저장소에 문서 파일을 저장하기 전에, 해당 문서 파일에 따른 전자 문서에 개인 정보가 포함되어 있는지 여부를 확인하여, 개인 정보가 포함되어 있는 것으로 확인되는 경우, 해당 문서 파일을 암호화하여 문서 파일 저장소에 저장해 두고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 한다면, 개인 정보가 포함된 문서 파일이 타인에게 유출되는 것을 최소화할 수 있을 것이다.In this regard, before storing a document file in a document file storage, it is checked whether the electronic document according to the document file contains personal information, and if it is confirmed that it contains personal information, the document file is encrypted. If you store it in a document file storage and allow only approved members to view the document file, you can minimize the leakage of document files containing personal information to others.

따라서, 클라우드 기반의 문서 공유 서비스에 있어서, 개인 정보가 포함된 문서 파일을 암호화하여 문서 파일 저장소에 저장하는 기술에 대한 연구가 필요하다.Therefore, in cloud-based document sharing services, research is needed on technology to encrypt document files containing personal information and store them in document file storage.

본 발명은 클라우드 기반의 문서 공유 서비스에 있어서, 개인 정보가 포함된 전자 문서에 대한 문서 파일을 암호화하여 문서 파일 저장소에 저장하고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 하는 기술을 제시함으로써, 개인 정보가 포함되어 있는 문서 파일이 타인에게 유출되는 것을 방지할 수 있도록 한다.The present invention proposes a technology for encrypting document files for electronic documents containing personal information, storing them in a document file storage, and allowing only approved members to view the document files in a cloud-based document sharing service. By doing so, it is possible to prevent document files containing personal information from being leaked to others.

본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부, 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부, 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 문자열 확인부, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 문서 파일 저장 처리부 및 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 복수의 회원들 중 다른 한 명인 제2 회원이 보유하고 있는 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하고, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송하여, 상기 제1 전자 단말로부터, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송하는 문서 파일 전송부를 포함한다.The document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention stores a plurality of different regular expressions that are preset to correspond to the notation format of personal information. a storage unit, a member information storage unit storing member identification information of each of a plurality of members subscribed to the document sharing service and terminal identification information of an electronic terminal held by each of the plurality of members in correspondence with each other; When a first document file is received from a first electronic terminal owned by a first member, which is one of a plurality of members, and a storage request command for the first document file is received, the first document file according to the first document file is received. A string confirmation unit that checks whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document, and an electronic document according to the first document file. If it is confirmed that at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the document, the member information storage unit is referred to, and the first member's first string is referred to. 1. A document file storage processing unit that verifies member identification information, encrypts the first document file, stores the encrypted first document file and the first member identification information in a document file storage by matching the encrypted first document file with the first member identification information, and the encrypted first document file. After the first document file and the first member identification information are stored in the document file storage in correspondence with each other, the first document file is received from a second electronic terminal held by a second member, another one of the plurality of members. When a sharing request is received, the first member identification information stored in correspondence with the encrypted first document file is checked on the document file storage, and based on the first member identification information, the member After checking the first terminal identification information stored in correspondence with the first member identification information on the information storage unit, based on the first terminal identification information, the first electronic terminal sends the information to the second member. By transmitting an inquiry message containing a question asking for approval for sharing the first document file, an approval order for sharing the first document file with the second member is received from the first electronic terminal. Once done, it includes a document file transmission unit that extracts the encrypted first document file from the document file storage, decrypts the encrypted first document file, and transmits it to the second electronic terminal.

또한, 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 동작 방법은 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있는 정규 표현식 저장부를 유지하는 단계, 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부를 유지하는 단계, 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 단계, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 단계 및 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 복수의 회원들 중 다른 한 명인 제2 회원이 보유하고 있는 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하고, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송하여, 상기 제1 전자 단말로부터, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송하는 단계를 포함한다.In addition, the method of operating a document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention is a regular expression in which a plurality of different regular expressions preset to correspond to the notation format of personal information are stored. Maintaining an expression storage unit, member information storing member identification information of each of a plurality of members subscribed to the document sharing service and terminal identification information of an electronic terminal held by each of the plurality of members in correspondence with each other. Maintaining a storage unit, when a first document file is received from a first electronic terminal owned by a first member, which is one of the plurality of members, and a storage request command for the first document file is received, Checking whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document according to the first document file, the first When it is confirmed that at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the document file, referring to the member information storage unit, Confirming the first member identification information of the first member, encrypting the first document file, and then storing the encrypted first document file and the first member identification information in a document file storage in correspondence with each other, and encrypting the first member identification information. After the first document file and the first member identification information correspond to each other and are stored in the document file storage, from a second electronic terminal held by a second member, which is another one of the plurality of members, the first member identification information is stored in the document file storage. When a sharing request for a document file is received, check the first member identification information stored in correspondence with the encrypted first document file on the document file storage, and based on the first member identification information, After checking the first terminal identification information stored in the member information storage unit corresponding to the first member identification information, based on the first terminal identification information, the second member is transferred to the first electronic terminal. An inquiry message containing a question asking for approval for sharing the first document file is sent to the first electronic terminal, and an order for approval for sharing the first document file is sent from the first electronic terminal to the second member. When received, the method includes extracting the encrypted first document file from the document file storage, decrypting the encrypted first document file, and transmitting the encrypted first document file to the second electronic terminal.

본 발명은 클라우드 기반의 문서 공유 서비스에 있어서, 개인 정보가 포함된 전자 문서에 대한 문서 파일을 암호화하여 문서 파일 저장소에 저장하고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 하는 기술을 제시함으로써, 개인 정보가 포함되어 있는 문서 파일이 타인에게 유출되는 것을 방지할 수 있다.The present invention proposes a technology for encrypting document files for electronic documents containing personal information, storing them in a document file storage, and allowing only approved members to view the document files in a cloud-based document sharing service. By doing so, you can prevent document files containing personal information from being leaked to others.

도 1은 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 동작 방법을 도시한 순서도이다.
Figure 1 is a diagram showing the structure of a document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention.
Figure 2 is a flowchart showing a method of operating a document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the attached drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing each drawing, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are within the scope of common knowledge in the technical field to which the present invention pertains. It has the same meaning as generally understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, this means that it may further include other components rather than excluding other components, unless specifically stated to the contrary. Additionally, in various embodiments of the present invention, each component, functional block, or means may be composed of one or more subcomponents, and the electrical, electronic, and mechanical functions performed by each component may be electronic. It may be implemented with various known elements or mechanical elements such as circuits, integrated circuits, and ASICs (Application Specific Integrated Circuits), and may be implemented separately or by integrating two or more into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.Meanwhile, the blocks in the attached block diagram or the steps in the flow chart are computer program instructions that are mounted on the processor or memory of equipment capable of data processing, such as general-purpose computers, special-purpose computers, portable laptop computers, and network computers, and perform designated functions. It can be interpreted to mean. Because these computer program instructions can be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of a block diagram or the steps of a flow diagram can be produced as a manufactured product containing instruction means to perform them. It could be. In addition, each block or each step may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). Additionally, it should be noted that in some alternative embodiments, it is possible for functions mentioned in blocks or steps to be executed in a different order. For example, two blocks or steps shown in succession may be performed substantially simultaneously or in reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 구조를 도시한 도면이다.Figure 1 is a diagram showing the structure of a document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 문서 공유 서비스 서버(110)는 정규 표현식 저장부(111), 회원 정보 저장부(112), 문자열 확인부(113), 문서 파일 저장 처리부(114) 및 문서 파일 전송부(115)를 포함한다.Referring to Figure 1, the document sharing service server 110 according to an embodiment of the present invention includes a regular expression storage unit 111, a member information storage unit 112, a string verification unit 113, and a document file storage processing unit ( 114) and a document file transmission unit 115.

정규 표현식 저장부(111)에는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있다.The regular expression storage unit 111 stores a plurality of different regular expressions that are preset to correspond to the notation format of personal information.

예컨대, 정규 표현식 저장부(111)에는 하기의 표 1과 같은 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있을 수 있다. For example, the regular expression storage unit 111 may store a plurality of different regular expressions that are preset to correspond to the notation format of personal information as shown in Table 1 below.

개인 정보의 표기 형식Format of personal information 정규 표현식regular expression 휴대폰번호 표기 형식Mobile phone number notation format ^\d{3}-\d{3,4}-\d{4}$^\d{3}-\d{3,4}-\d{4}$ 전화번호 표기 형식Phone number notation format ^\d{2,3}-\d{3,4}-\d{4}$^\d{2,3}-\d{3,4}-\d{4}$ 주민등록번호 표기 형식Resident registration number notation format ^\d{6}-\d{7}$^\d{6}-\d{7}$ ...... ......

회원 정보 저장부(112)에는 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있다.In the member information storage unit 112, member identification information of each of the plurality of members subscribed to the document sharing service and terminal identification information of the electronic terminal held by each of the plurality of members are stored in correspondence with each other.

여기서, 회원 식별 정보는 각 회원을 구분하기 위한 ID, 주민등록번호 등의 정보를 의미하고, 단말 식별 정보는, 각 전자 단말을 식별하기 위해 각 전자 단말에 대해 사전 부여되어 있는 식별 정보를 의미하는 것으로, 맥 주소(MAC address) 또는 IMEI(International Mobile Equipment Identity) 등이 활용될 수 있다.Here, member identification information refers to information such as ID and resident registration number to identify each member, and terminal identification information refers to identification information pre-assigned to each electronic terminal to identify each electronic terminal. MAC address or IMEI (International Mobile Equipment Identity) may be used.

예컨대, 회원 정보 저장부(112)에는 하기의 표 2와 같은 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있을 수 있다.For example, the member information storage unit 112 includes member identification information for each of the plurality of members subscribed to the document sharing service as shown in Table 2 below, and terminal identification information for the electronic terminal held by each of the plurality of members. may be stored in correspondence with each other.

복수의 회원들multiple members 회원 식별 정보Member Identification Information 전자 단말electronic terminal 단말 식별 정보Terminal identification information 회원 1member 1 회원 식별 정보 1Member Identification Information 1 전자 단말 1electronic terminal 1 단말 식별 정보 1Terminal identification information 1 회원 2member 2 회원 식별 정보 2Member Identification Information 2 전자 단말 2electronic terminal 2 단말 식별 정보 2Terminal identification information 2 회원 3member 3 회원 식별 정보 3Member Identification Information 3 전자 단말 3electronic terminal 3 단말 식별 정보 3Terminal identification information 3 회원 4member 4 회원 식별 정보 4Member Identification Information 4 전자 단말 4electronic terminal 4 단말 식별 정보 4Terminal identification information 4 ...... ...... ...... ....

문자열 확인부(113)는 상기 복수의 회원들 중 어느 한 명인 제1 회원(141)이 보유하고 있는 제1 전자 단말(151)로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한다.When the first document file is received from the first electronic terminal 151 owned by the first member 141, which is one of the plurality of members, the string confirmation unit 113 provides information about the first document file. When a storage request command is received, whether there is a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit 111 among the text included in the electronic document according to the first document file. Check whether

문서 파일 저장 처리부(114)는 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 회원 정보 저장부(112)를 참조하여, 제1 회원(141)의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(132)에 저장한다.The document file storage processing unit 114 determines that at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file. Then, the first member identification information of the first member 141 is checked by referring to the member information storage unit 112, the first document file is encrypted, and the encrypted first document file and the first Member identification information is matched to each other and stored in the document file storage 132.

이때, 본 발명의 일실시예에 따르면, 문서 파일 저장 처리부(114)는 테이블 유지부(116), 암호화 이벤트 발생부(117), 비밀번호 설정 요청부(118), 일련번호 추출부(119), 연산 코드 생성부(120), 암호화키 생성부(121) 및 암호화 저장 처리부(122)를 포함할 수 있다.At this time, according to one embodiment of the present invention, the document file storage processing unit 114 includes a table maintenance unit 116, an encryption event generation unit 117, a password setting request unit 118, a serial number extraction unit 119, It may include an operation code generation unit 120, an encryption key generation unit 121, and an encryption storage processing unit 122.

테이블 유지부(116)는 상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지한다. 여기서, 문서 포맷이란 '.hwp', '.docx', '.pdf' 등과 같은 확장자를 갖는 각 문서에 대한 파일 포맷을 의미한다.The table maintenance unit 116 is a series of different t (t is a natural number of 2 or more) digits corresponding to each of a plurality of preset document formats that are pre-shared with the electronic terminal held by each of the plurality of members. A serial number table containing numbers is stored and maintained. Here, the document format refers to the file format for each document with an extension such as '.hwp', '.docx', '.pdf', etc.

예컨대, t를 '4'라고 하는 경우, 테이블 유지부(116)는 하기의 표 3과 같은, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 '4'자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지할 수 있다. For example, when t is '4', the table maintenance unit 116 records different '4' digit serial numbers corresponding to each of a plurality of preset document formats, as shown in Table 3 below. You can save and maintain tables.

복수의 문서 포맷들Multiple document formats 일련번호Serial Number 포맷 1Format 1 64016401 포맷 2format 2 32863286 포맷 3format 3 54295429 포맷 4format 4 17521752 포맷 5format 5 93679367 ...... ......

이때, 상기 표 3과 같은 일련번호 테이블은 상기 복수의 회원들 각각이 보유하고 있는 전자 단말에도 사전 저장되어 있을 수 있다.At this time, the serial number table as shown in Table 3 may be pre-stored in the electronic terminal owned by each of the plurality of members.

암호화 이벤트 발생부(117)는 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 회원 정보 저장부(112)를 참조하여, 제1 회원(141)의 상기 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화하기 위한 암호화 이벤트를 발생시킨다.The encryption event generator 117 determines that the at least one first string is a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file. Once confirmed, the member information storage unit 112 is referred to, the first member identification information of the first member 141 is confirmed, and an encryption event for encrypting the first document file is generated.

비밀번호 설정 요청부(118)는 암호화 이벤트 발생부(117)에 의해 상기 암호화 이벤트가 발생되면, 제1 전자 단말(151)로, 상기 제1 문서 파일의 암호화를 위한 t자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송한다.When the encryption event is generated by the encryption event generator 117, the password setting request unit 118 requests the first electronic terminal 151 to set a t-digit password for encryption of the first document file. A password setting request message containing the following is sent.

일련번호 추출부(119)는 상기 비밀번호 설정 요청 메시지에 대응하여, 제1 회원(141)에 의해 제1 비밀번호가 설정됨에 따라, 제1 전자 단말(151)로부터 상기 제1 비밀번호가 수신되면, 상기 제1 문서 파일의 제1 문서 포맷을 확인한 후, 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 제1 일련번호를 추출한다.When the serial number extractor 119 receives the first password from the first electronic terminal 151 as the first password is set by the first member 141 in response to the password setting request message, the serial number extractor 119 After confirming the first document format of the first document file, the first serial number corresponding to the first document format is extracted from the serial number table.

연산 코드 생성부(120)는 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성한다.The operation code generator 120 generates a t-bit first operation code by configuring the result of performing a modulo-2 operation on each of the t numbers constituting the first password into a bit string. and generate a second operation code of t bits by configuring the result of performing modulo-2 operation on each of the t numbers constituting the first serial number into a bit string.

여기서, 모듈로-2 연산은 피제수를 2로 나누는 나눗셈을 수행하여, 그에 대한 나머지(remainder)를 산출하는 연산을 의미한다.Here, the modulo-2 operation refers to an operation that performs division by dividing the dividend by 2 and calculates the remainder.

암호화키 생성부(121)는 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(seed) 코드를 생성한 후, 상기 시드 코드를 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성한다.The encryption key generator 121 generates a t-bit seed code by performing an exclusive OR (XOR) operation between the first operation code and the second operation code, and then encrypts the seed code using a preset encryption method. The first encryption key is generated by applying it as an input to the key generation function.

여기서, 상기 암호화키 생성 함수는 사전 설정된 소정의 해시 함수일 수 있다.Here, the encryption key generation function may be a preset hash function.

암호화 저장 처리부(122)는 상기 제1 문서 파일을 상기 제1 암호화키로 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(132)에 저장한다.The encryption storage processing unit 122 encrypts the first document file with the first encryption key, then stores the encrypted first document file and the first member identification information in the document file storage 132 in correspondence with each other.

이하에서는, 암호화 이벤트 발생부(117), 비밀번호 설정 요청부(118), 일련번호 추출부(119), 연산 코드 생성부(120), 암호화키 생성부(121) 및 암호화 저장 처리부(122)의 동작을 예를 들어, 상세히 설명하기로 한다.Below, the encryption event generation unit 117, password setting request unit 118, serial number extraction unit 119, operation code generation unit 120, encryption key generation unit 121, and encryption storage processing unit 122. The operation will be explained in detail using an example.

먼저, 문서 공유 서비스 서버(110)에 '회원 1(141)'이 보유하고 있는 '전자 단말 1(151)'로부터, '문서 파일 1'이 수신되면서, '문서 파일 1'에 대한 저장 요청 명령이 수신되었다고 가정하자. 그 이후, 문자열 확인부(113)가 '문서 파일 1'에 따른 전자 문서에 포함된 텍스트 중, 상기 표 1과 같은 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, '문서 파일 1'에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되었다고 가정하자.First, when ‘document file 1’ is received from ‘electronic terminal 1 (151)’ owned by ‘member 1 (141)’ on the document sharing service server 110, a storage request command for ‘document file 1’ is sent. Assume this has been received. Afterwards, the string confirmation unit 113 selects, among the text included in the electronic document according to 'document file 1', a plurality of regular expressions corresponding to the plurality of regular expressions stored in the regular expression storage unit 111 as shown in Table 1 above. As a result of checking whether a string with a notation format exists, among the text included in the electronic document according to 'Document File 1', at least one first string is a string with a notation format corresponding to the plurality of regular expressions. Let us assume that it is confirmed to exist.

이때, 암호화 이벤트 발생부(117)는 상기 표 2와 같은 회원 정보 저장부(112)를 참조하여, '회원 1(141)'의 식별 정보인 '회원 식별 정보 1'을 상기 제1 회원 식별 정보로 확인할 수 있고, '문서 파일 1'을 암호화하기 위한 암호화 이벤트를 발생시킬 수 있다.At this time, the encryption event generator 117 refers to the member information storage unit 112 as shown in Table 2 above, and stores 'member identification information 1', which is the identification information of 'member 1 (141)', as the first member identification information. This can be confirmed with , and an encryption event can be generated to encrypt 'Document File 1'.

그러면, 비밀번호 설정 요청부(118)는 '전자 단말 1(151)'로, '문서 파일 1'의 암호화를 위한 '4'자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송할 수 있다.Then, the password setting request unit 118 transmits a password setting request message to 'electronic terminal 1 (151)' containing a request to set a '4' digit password for encryption of 'document file 1'. You can.

이때, 상기 비밀번호 설정 요청 메시지를 확인한 '회원 1(141)'이 '문서 파일 1'의 암호화를 위한 '4'자릿수의 비밀번호로, 제1 비밀번호인 '1230'을 설정하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, 상기 제1 비밀번호인 '1230'이 수신되었다고 가정하자.At this time, 'Member 1 (141)', who confirmed the password setting request message, is said to have set the first password, '1230', as a '4' digit password for encryption of 'Document File 1', and accordingly, the document Let us assume that the first password '1230' is received from 'electronic terminal 1 (151)' at the shared service server 110.

그러면, 일련번호 추출부(119)는 '문서 파일 1'의 제1 문서 포맷을 확인할 수 있다.Then, the serial number extraction unit 119 can check the first document format of 'document file 1'.

그 결과, '문서 파일 1'의 제1 문서 포맷이 '포맷 1'인 것으로 확인되었다고 하는 경우, 일련번호 추출부(119)는 상기 표 3과 같은 일련번호 테이블로부터, '포맷 1'에 대응되는 일련번호인 '6401'을, 제1 일련번호로 추출할 수 있다.As a result, when it is confirmed that the first document format of 'document file 1' is 'format 1', the serial number extractor 119 extracts a document corresponding to 'format 1' from the serial number table shown in Table 3 above. The serial number '6401' can be extracted as the first serial number.

그러고 나서, 연산 코드 생성부(120)는 상기 제1 비밀번호인 '1230'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 제1 연산 코드를 '1010'과 같이 생성할 수 있고, 상기 제1 일련번호인 '6401'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 제2 연산 코드를 '0001'과 같이 생성할 수 있다.Then, the operation code generator 120 configures the result value of performing modulo-2 operation on each of the '4' numbers constituting the first password '1230' into a bit string. A 4'-bit first operation code can be generated such as '1010', and when modulo-2 operation is performed on each of the '4' numbers constituting the first serial number '6401', By organizing the result value into a bit string, a second operation code of '4' bits can be generated, such as '0001'.

그러면, 암호화키 생성부(121)는 상기 제1 연산 코드인 '1010'과 상기 제2 연산 코드인 '0001' 간의 배타적 논리합 연산을 수행함으로써, '4'비트의 시드 코드를 '1011'과 같이 생성할 수 있다.Then, the encryption key generator 121 performs an exclusive OR operation between the first operation code '1010' and the second operation code '0001', thereby converting the '4' bit seed code into '1011'. can be created.

그러고 나서, 암호화키 생성부(121)는 상기 시드 코드인 '1011'을 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 '암호화키 1'을 생성할 수 있다.Then, the encryption key generator 121 can generate 'encryption key 1' by applying the seed code '1011' as an input to a preset encryption key generation function.

그러면, 암호화 저장 처리부(122)는 '문서 파일 1'을 '암호화키 1'로 암호화한 후, 암호화된 '문서 파일 1'과 '회원 식별 정보 1'을 서로 대응시켜 문서 파일 저장소(132)에 저장할 수 있다.Then, the encryption storage processing unit 122 encrypts 'document file 1' with 'encryption key 1', then matches the encrypted 'document file 1' and 'member identification information 1' to the document file storage 132. You can save it.

이렇게, 문서 파일 저장 처리부(114)에 의해, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 문서 파일 저장소(132)에 저장된 이후, 상기 복수의 회원들 중 다른 한 명인 제2 회원(142)이 보유하고 있는 제2 전자 단말(152)로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 문서 파일 전송부(115)는 문서 파일 저장소(132) 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하고, 상기 제1 회원 식별 정보를 기초로, 회원 정보 저장부(112) 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 제1 전자 단말(151)로, 제2 회원(142)에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송하여, 제1 전자 단말(151)로부터, 제2 회원(142)에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 명령이 수신되면, 문서 파일 저장소(132)로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하여 제2 전자 단말(152)로 전송한다.In this way, after the encrypted first document file and the first member identification information are stored in the document file storage 132 in correspondence with each other by the document file storage processing unit 114, the first member, who is another one of the plurality of members, 2 When a sharing request for the first document file is received from the second electronic terminal 152 owned by member 142, the document file transmission unit 115 stores the encrypted file on the document file storage 132. The first member identification information stored in correspondence with the first document file is confirmed, and based on the first member identification information, the first member identification information is stored in the member information storage unit 112, corresponding to the first member identification information. After checking the stored first terminal identification information, whether to approve sharing the first document file with the first electronic terminal 151 and the second member 142 based on the first terminal identification information. By transmitting a query message containing inquiry content, when an approval command for sharing the first document file is received from the first electronic terminal 151 to the second member 142, the document file storage 132 ), after extracting the encrypted first document file, the encrypted first document file is decrypted and transmitted to the second electronic terminal 152.

이때, 본 발명의 일실시예에 따르면, 문서 파일 전송부(115)는 식별 정보 확인부(123), 질의 메시지 전송부(124), 복호화 이벤트 발생부(125), 회신 요청부(126), 연산 코드 재생성부(127), 암호화키 재생성부(128) 및 복호화 전송 처리부(129)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the document file transmission unit 115 includes an identification information confirmation unit 123, a query message transmission unit 124, a decryption event generation unit 125, a reply request unit 126, It may include an operation code regeneration unit 127, an encryption key regeneration unit 128, and a decryption transmission processing unit 129.

식별 정보 확인부(123)는 문서 파일 저장 처리부(114)에 의해, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 문서 파일 저장소(132)에 저장된 이후, 제2 전자 단말(152)로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 문서 파일 저장소(132) 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인한다.The identification information confirmation unit 123 stores the encrypted first document file and the first member identification information in correspondence with each other in the document file storage 132 by the document file storage processing unit 114, and then connects the second electronic terminal to the second electronic terminal. When a sharing request for the first document file is received from 152, the first member identification information stored in the document file storage 132 corresponding to the encrypted first document file is checked.

질의 메시지 전송부(124)는 식별 정보 확인부(123)에 의해 상기 제1 회원 식별 정보가 확인되면, 상기 제1 회원 식별 정보를 기초로, 회원 정보 저장부(112) 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 제1 전자 단말(151)로 상기 질의 메시지를 전송한다.When the first member identification information is confirmed by the identification information confirmation unit 123, the inquiry message transmission unit 124 stores the first member identification information on the member information storage unit 112 based on the first member identification information. After checking the first terminal identification information stored in correspondence with the member identification information, the inquiry message is transmitted to the first electronic terminal 151 based on the first terminal identification information.

복호화 이벤트 발생부(125)는 상기 질의 메시지에 대응하여, 제1 전자 단말(151)로부터 상기 승인 명령이 수신되면, 문서 파일 저장소(132)로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하기 위한 복호화 이벤트를 발생시킨다.When the approval command is received from the first electronic terminal 151 in response to the query message, the decryption event generator 125 extracts the encrypted first document file from the document file storage 132 and then encrypts it. A decryption event is generated to decrypt the first document file.

회신 요청부(126)는 복호화 이벤트 발생부(125)에 의해 상기 복호화 이벤트가 발생되면, 제1 전자 단말(151)로, 상기 제1 문서 파일의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, 제1 전자 단말(151) 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 파일의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송한다.When the decryption event is generated by the decryption event generator 125, the reply request unit 126 requests the first electronic terminal 151 to enter the password set for encryption of the first document file. At the same time as transmitting the password input request message containing the content, extract the serial number corresponding to the document format of the first document file from the serial number table stored on the first electronic terminal 151 and reply. Send the requested serial number reply command.

연산 코드 재생성부(127)는 상기 비밀번호 입력 요청 메시지에 대응하여, 제1 전자 단말(151) 상에 제1 회원(141)에 의해, 상기 제1 비밀번호가 입력됨에 따라, 제1 전자 단말(151)로부터 상기 제1 비밀번호가 수신되고, 상기 일련번호 회신 명령에 대응하여, 제1 전자 단말(151)에 의해, 제1 전자 단말(151) 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 상기 제1 일련번호가 추출됨에 따라, 제1 전자 단말(151)로부터 상기 제1 일련번호가 회신되면, 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성한다.The operation code regeneration unit 127 operates on the first electronic terminal 151 as the first password is input by the first member 141 on the first electronic terminal 151 in response to the password input request message. ), and in response to the serial number reply command, the first document is retrieved from the serial number table stored on the first electronic terminal 151 by the first electronic terminal 151. As the first serial number corresponding to the format is extracted, when the first serial number is returned from the first electronic terminal 151, modulo-2 operation is performed on each of the t numbers constituting the first password. The first operation code of t bits is generated by configuring the result value when performing the operation into a bit string, and the modulo-2 operation is performed on each of the t numbers constituting the first serial number. The second operation code of t bits is generated by organizing the result value into a bit string.

암호화키 재생성부(128)는 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성한 후, 상기 시드 코드를 상기 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성한다.The encryption key regeneration unit 128 generates the seed code of t bits by performing an exclusive OR operation between the first operation code and the second operation code, and then inputs the seed code to the encryption key generation function. Authorizes and generates the first encryption key.

복호화 전송 처리부(129)는 암호화된 상기 제1 문서 파일을 상기 제1 암호화키로 복호화함으로써, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 제2 전자 단말(152)로 전송한다.The decryption and transmission processing unit 129 restores the first document file by decrypting the encrypted first document file with the first encryption key, and then transmits the restored first document file to the second electronic terminal 152. do.

이하에서는, 식별 정보 확인부(123), 질의 메시지 전송부(124), 복호화 이벤트 발생부(125), 회신 요청부(126), 연산 코드 재생성부(127), 암호화키 재생성부(128) 및 복호화 전송 처리부(129)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the identification information confirmation unit 123, the inquiry message transmission unit 124, the decryption event generation unit 125, the reply request unit 126, the operation code regeneration unit 127, the encryption key regeneration unit 128, and The operation of the decryption and transmission processing unit 129 will be described in detail using an example.

먼저, 전술한 예에 따라, 문서 파일 저장 처리부(114)에 의해, 암호화된 '문서 파일 1'과 '회원 식별 정보 1'이 서로 대응되어 문서 파일 저장소(132)에 저장되었다고 하고, 그 이후, 문서 공유 서비스 서버(110)에 '회원 2(142)'가 보유하고 있는 '전자 단말 2(152)'로부터, '문서 파일 1'에 대한 공유 요청이 수신되었다고 가정하자.First, according to the above-described example, it is assumed that the encrypted 'document file 1' and 'member identification information 1' are stored in the document file storage 132 in correspondence with each other by the document file storage processing unit 114, and thereafter, Let's assume that a sharing request for 'document file 1' is received from 'electronic terminal 2 (152)' owned by 'member 2 (142)' on the document sharing service server 110.

그러면, 식별 정보 확인부(123)는 문서 파일 저장소(132) 상에, 암호화된 '문서 파일 1'에 대응되어 저장되어 있는 '회원 식별 정보 1'을 확인할 수 있다.Then, the identification information confirmation unit 123 can check 'member identification information 1' stored in correspondence with the encrypted 'document file 1' on the document file storage 132.

그 이후, 질의 메시지 전송부(124)는 '회원 식별 정보 1'을 기초로, 상기 표 2와 같은 회원 정보 저장부(112) 상에, '회원 식별 정보 1'에 대응되어 저장되어 있는 '단말 식별 정보 1'을 확인할 수 있다.After that, the inquiry message transmission unit 124, based on ‘member identification information 1’, stores the ‘terminal information’ stored in correspondence with ‘member identification information 1’ on the member information storage unit 112 as shown in Table 2 above. You can check ‘Identification Information 1’.

그러고 나서, 질의 메시지 전송부(124)는 '단말 식별 정보 1'을 기초로, '전자 단말 1(151)'로, '회원 2(142)'에게 '문서 파일 1'을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송할 수 있다.Then, the inquiry message transmission unit 124 gives approval to share ‘document file 1’ with ‘electronic terminal 1 (151)’ and ‘member 2 (142)’ based on ‘terminal identification information 1’. You can transmit a query message containing a query about whether or not the device is available.

이때, 상기 질의 메시지를 확인한 '회원 1(141)'이 '전자 단말 1(151)' 상에, '회원 2(142)'에게 '문서 파일 1'을 공유하는 것에 대한 승인 명령을 인가하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, 상기 승인 명령이 수신되었다고 가정하자.At this time, it is said that 'member 1 (141)', who confirmed the inquiry message, granted an approval order for sharing 'document file 1' to 'member 2 (142)' on 'electronic terminal 1 (151)'. , Accordingly, let us assume that the approval command is received from 'electronic terminal 1 (151)' at the document sharing service server 110.

그러면, 복호화 이벤트 발생부(125)는 문서 파일 저장소(132)로부터, 암호화된 '문서 파일 1'을 추출한 후, 암호화된 '문서 파일 1'을 복호화하기 위한 복호화 이벤트를 발생시킬 수 있다.Then, the decryption event generator 125 may extract the encrypted 'document file 1' from the document file storage 132 and then generate a decryption event to decrypt the encrypted 'document file 1'.

그러고 나서, 회신 요청부(126)는 '전자 단말 1(151)'로, '문서 파일 1'의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, '전자 단말 1(151)' 상에 저장되어 있는 상기 표 3과 같은 일련번호 테이블로부터 '문서 파일 1'의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송할 수 있다.Then, the reply request unit 126 transmits a password input request message to 'electronic terminal 1 (151)' containing a request to enter the password set for encryption of 'document file 1', and At the same time, a serial number reply command is requested to extract a serial number corresponding to the document format of 'document file 1' from the serial number table shown in Table 3 stored on 'electronic terminal 1 (151)' and request a reply. Can be transmitted.

이때, 상기 비밀번호 입력 요청 메시지를 확인한 '회원 1(141)'이 '전자 단말 1(151)' 상에 상기 제1 비밀번호인 '1230'을 입력하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, 상기 제1 비밀번호인 '1230'이 수신되었다고 가정하자.At this time, it is said that 'Member 1 (141)', who confirmed the password input request message, entered the first password '1230' on 'Electronic Terminal 1 (151)', and accordingly, the document sharing service server 110 Let us assume that the first password '1230' is received from 'electronic terminal 1 (151)'.

이와 동시에, 상기 일련번호 회신 명령에 대응하여, '전자 단말 1(151)'이 '전자 단말 1(151)' 상에 저장되어 있는 상기 표 3과 같은 일련번호 테이블로부터, '문서 파일 1'의 문서 포맷인 '포맷 1'에 대응되는 일련번호로, 상기 제1 일련번호인 '6401'을 추출하여 문서 공유 서비스 서버(110)로 회신하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, 상기 제1 일련번호인 '6401'이 수신되었다고 가정하자.At the same time, in response to the serial number reply command, 'electronic terminal 1 (151)' retrieves 'document file 1' from the serial number table as shown in Table 3 stored on 'electronic terminal 1 (151)'. It is said that the first serial number '6401' was extracted as a serial number corresponding to the document format 'Format 1' and returned to the document sharing service server 110. Accordingly, the document sharing service server 110 received '6401'. Let us assume that the first serial number '6401' is received from 'electronic terminal 1 (151)'.

그러면, 연산 코드 재생성부(127)는 상기 제1 비밀번호인 '1230'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 상기 제1 연산 코드를 '1010'과 같이 생성할 수 있고, 상기 제1 일련번호인 '6401'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 상기 제2 연산 코드를 '0001'과 같이 생성할 수 있다.Then, the operation code regeneration unit 127 configures the result of performing modulo-2 operation on each of the '4' numbers constituting the first password '1230' into a bit string, thereby forming '4'. The first operation code of 'bit can be generated as '1010', and when modulo-2 operation is performed on each of the '4' numbers constituting the first serial number '6401' By organizing the result value into a bit string, the second operation code of '4' bits can be generated, such as '0001'.

그러고 나서, 암호화키 재생성부(128)는 상기 제1 연산 코드인 '1010'과 상기 제2 연산 코드인 '0001' 간의 배타적 논리합 연산을 수행함으로써, '4'비트의 상기 시드 코드를 '1011'과 같이 생성한 후, 상기 시드 코드인 '1011'을 상기 암호화키 생성 함수에 입력으로 인가하여 '암호화키 1'을 생성할 수 있다.Then, the encryption key regeneration unit 128 performs an exclusive OR operation between the first operation code '1010' and the second operation code '0001', thereby converting the seed code of '4' bits to '1011'. After generating as follows, 'encryption key 1' can be generated by applying the seed code '1011' as an input to the encryption key generation function.

이때, 전술한 예에 따르면, 암호화된 '문서 파일 1'은 '문서 파일 1'이 '암호화키 1'로 암호화됨으로써 생성된 파일이므로, 복호화 전송 처리부(129)는 암호화된 '문서 파일 1'을 '암호화키 1'로 복호화함으로써, '문서 파일 1'을 정상적으로 복원할 수 있다. 그러고 나서, 복호화 전송 처리부(129)는 복원된 '문서 파일 1'을 '전자 단말 2(152)'로 전송할 수 있다. 이를 통해, '회원 2(142)'는 '문서 파일 1'을 열람할 수 있다.At this time, according to the above-described example, the encrypted 'document file 1' is a file created by encrypting 'document file 1' with 'encryption key 1', so the decryption and transmission processing unit 129 encodes the encrypted 'document file 1'. By decrypting with 'Encryption Key 1', 'Document File 1' can be restored normally. Then, the decryption and transmission processing unit 129 can transmit the restored 'document file 1' to 'electronic terminal 2 (152)'. Through this, ‘Member 2 (142)’ can view ‘Document File 1’.

본 발명의 일실시예에 따르면, 문서 공유 서비스 서버(132)는 상기 제1 문서 파일에 개인 정보가 포함되어 있지 않은 것으로 확인되는 경우에는, 상기 제1 문서 파일을 암호화하지 않은 상태로 문서 파일 저장소(132)에 저장해 둠으로써, 상기 복수의 회원들이 상기 제1 문서 파일을 공유할 수 있도록 지원할 수 있다.According to an embodiment of the present invention, when it is confirmed that the first document file does not contain personal information, the document sharing service server 132 stores the document file in an unencrypted state. By storing it in (132), it is possible to support the plurality of members to share the first document file.

이와 관련해서, 본 발명의 일실시예에 따르면, 문서 파일 저장 처리부(114)는 문자열 확인부(113)가 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하지 않는 것으로 확인된 경우, 상기 제1 문서 파일을 암호화하지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(132)에 저장할 수 있다.In this regard, according to one embodiment of the present invention, the document file storage processing unit 114 may use the string confirmation unit 113 to select the regular expression storage unit 111 from among the text included in the electronic document according to the first document file. As a result of checking whether a string having a notation format corresponding to the plurality of regular expressions stored in exists, among the text included in the electronic document according to the first document file, there is a string corresponding to the plurality of regular expressions. If it is confirmed that a string with a notation format does not exist, the first document file may not be encrypted, and the first document file and the first member identification information may be matched to each other and stored in the document file storage 132. .

이때, 문서 파일 전송부(115)는 상기 제1 문서 파일이 암호화되지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 문서 파일 저장소(132)에 저장된 이후, 제2 전자 단말(152)로부터 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 제1 전자 단말(141)로 상기 질의 메시지를 전송하지 않고, 문서 파일 저장소(132)로부터 상기 제1 문서 파일을 추출하여 제2 전자 단말(152)로 전송할 수 있다.At this time, the document file transmission unit 115 stores the first document file in the document file storage 132 in correspondence with the first document file and the first member identification information, and then sends the second electronic terminal to the second electronic terminal. When a sharing request for the first document file is received from 152, the query message is not transmitted to the first electronic terminal 141, but the first document file is extracted from the document file storage 132 and a second document file is sent to the first electronic terminal 141. It can be transmitted to the electronic terminal 152.

이하에서는, 문서 파일 저장 처리부(114) 및 문서 파일 전송부(115)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the operations of the document file storage processing unit 114 and the document file transmission unit 115 will be described in detail using an example.

먼저, 전술한 예와 같이, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, '문서 파일 1'이 수신되면서, '문서 파일 1'에 대한 저장 요청 명령이 수신되었다고 가정하자. 이때, 문자열 확인부(113)가 '문서 파일 1'에 따른 전자 문서에 포함된 텍스트 중, 상기 표 1과 같은 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, '문서 파일 1'에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하지 않는 것으로 확인되었다고 가정하자.First, as in the above-mentioned example, let us assume that 'document file 1' is received from 'electronic terminal 1 (151)' at the document sharing service server 110 and a storage request command for 'document file 1' is received. . At this time, the string confirmation unit 113 selects notations corresponding to the plurality of regular expressions stored in the regular expression storage unit 111 as shown in Table 1 among the text included in the electronic document according to 'document file 1'. As a result of checking whether a string with the format exists, let's assume that among the text included in the electronic document according to 'Document File 1', there is no string with the notation format corresponding to the plurality of regular expressions. .

그러면, 문서 파일 저장 처리부(114)는 '문서 파일 1'을 암호화하지 않고, '문서 파일 1'과 '회원 식별 정보 1'을 서로 대응시켜 문서 파일 저장소(132)에 저장할 수 있다.Then, the document file storage processing unit 114 may store 'document file 1' and 'member identification information 1' in the document file storage 132 by matching them without encrypting 'document file 1'.

그 이후, 문서 공유 서비스 서버(110)에 '전자 단말 2(152)'로부터, '문서 파일 1'에 대한 공유 요청이 수신되었다고 하는 경우, 문서 파일 전송부(115)는 '전자 단말 1(151)'로 상기 질의 메시지를 전송하지 않고, 문서 파일 저장소(132)로부터 '문서 파일 1'을 추출하여 '전자 단말 2(152)'로 전송할 수 있다.Afterwards, when the document sharing service server 110 receives a sharing request for 'document file 1' from 'electronic terminal 2 (152)', the document file transmission unit 115 sends 'electronic terminal 1 (151)' )', 'document file 1' can be extracted from the document file storage 132 and transmitted to 'electronic terminal 2 (152)'.

또한, 본 발명의 일실시예에 따르면, 문서 공유 서비스 서버(110)는 공유 이력 정보 생성부(130) 및 등록 요청부(131)를 더 포함할 수 있다.Additionally, according to one embodiment of the present invention, the document sharing service server 110 may further include a sharing history information generating unit 130 and a registration requesting unit 131.

공유 이력 정보 생성부(130)는 문서 파일 전송부(115)에 의해 상기 제1 문서 파일이 제2 전자 단말(152)로 전송 완료되면, 회원 정보 저장부(112)를 참조하여, 제2 회원(142)의 제2 회원 식별 정보를 확인하고, 상기 제1 문서 파일이 제2 전자 단말(152)로 전송된 시점에 대한 시간 정보를 생성한 후, 상기 제2 회원 식별 정보, 상기 제1 문서 파일 및 상기 시간 정보로 구성된 공유 이력 정보를 생성한다.When the first document file is completely transmitted to the second electronic terminal 152 by the document file transmission unit 115, the sharing history information generator 130 refers to the member information storage unit 112 and After confirming the second member identification information of 142 and generating time information about when the first document file was transmitted to the second electronic terminal 152, the second member identification information and the first document Shared history information consisting of the file and the time information is generated.

등록 요청부(131)는 공유 이력 정보 생성부(130)에 의해 상기 공유 이력 정보가 생성되면, 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.When the sharing history information is generated by the sharing history information generation unit 130, the registration request unit 131 generates a transaction containing the sharing history information, and then generates a transaction containing the sharing history information, and then Randomly selects a first node device, which is one of the node devices 101, 102, 103, 104, 105, and 106, and transmits the transaction to the first node device, while transmitting the transaction to the blockchain network ( Send a registration request to 100).

이하에서는, 공유 이력 정보 생성부(130) 및 등록 요청부(131)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the operations of the sharing history information generating unit 130 and the registration requesting unit 131 will be described in detail using an example.

먼저, 전술한 예에 따라, 문서 파일 전송부(115)에 의해 '문서 파일 1'이 '전자 단말 2(152)'로 전송 완료되었다고 가정하자.First, according to the above-described example, let us assume that 'document file 1' has been completely transmitted to 'electronic terminal 2 (152)' by the document file transmission unit 115.

그러면, 공유 이력 정보 생성부(130)는 상기 표 2와 같은 회원 정보 저장부(112)를 참조하여, '회원 2(142)'의 회원 식별 정보인 '회원 식별 정보 2'를, 제2 회원 식별 정보로 확인할 수 있고, '문서 파일 1'이 '전자 단말 2(152)'로 전송된 시점에 대한 시간 정보인 '시간 정보 1'을 생성할 수 있다.Then, the sharing history information generator 130 refers to the member information storage unit 112 as shown in Table 2 above, and generates 'member identification information 2', which is the member identification information of 'member 2 (142)', as the member identification information of the second member. It can be confirmed with identification information, and 'time information 1', which is time information about the time when 'document file 1' was transmitted to 'electronic terminal 2 (152)', can be generated.

그러고 나서, 공유 이력 정보 생성부(130)는 '회원 식별 정보 2', '문서 파일 1' 및 '시간 정보 1'로 구성된 공유 이력 정보를 생성할 수 있다.Then, the sharing history information generator 130 may generate sharing history information consisting of 'member identification information 2', 'document file 1', and 'time information 1'.

그러면, 등록 요청부(131)는 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택할 수 있다.Then, the registration request unit 131 generates a transaction containing the shared history information and then sends it to a plurality of node devices 101, 102, 103, 104, 105, and 106 constituting the blockchain network 100. The first node device may be randomly selected.

이때, 상기 제1 노드 장치를 노드 장치(101)라고 하는 경우, 등록 요청부(131)는 노드 장치(101)로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송할 수 있다.At this time, when the first node device is called the node device 101, the registration request unit 131 transmits the transaction to the node device 101 and requests registration of the transaction to the blockchain network 100. Can be transmitted.

이때, 상기 제1 노드 장치는 문서 공유 서비스 서버(110)로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 블록체인 네트워크(100)를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.At this time, when the first node device receives the transaction and the registration request from the document sharing service server 110, the first node device based on the previous block chained to the blockchain data stored in the memory of the first node device , After completing storage of the first block by creating a first block containing the transaction and connecting the first block to the blockchain data as a chain, the first block is stored through the blockchain network 100. One block can be propagated to the remaining node devices except the first node device among the plurality of node devices.

예컨대, 전술한 예와 같이, 등록 요청부(131)가 노드 장치(101)로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송함에 따라, 노드 장치(101)에, 상기 트랜잭션과 상기 등록 요청이 수신되었다고 가정하자.For example, as in the example described above, as the registration request unit 131 transmits the transaction to the node device 101 and transmits a request for registration of the transaction to the blockchain network 100, the node device 101 Let us assume that the transaction and the registration request are received.

그러면, 노드 장치(101)는 노드 장치(101)의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 블록체인 네트워크(100)를 통해 상기 제1 블록을, 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.Then, the node device 101 generates a first block containing the transaction based on the previous block chained to the blockchain data stored in the memory of the node device 101, and creates the first block. After completing the storage of the first block by linking it to the blockchain data with a chain, the first block is stored in a plurality of node devices 101, 102, 103, 104, through the blockchain network 100. It can be propagated to the remaining node devices (102, 103, 104, 105, and 106) except for the node device (101) among 105 and 106.

구체적으로, 노드 장치(101)는 문서 공유 서비스 서버(110)로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 블록체인 데이터에 체인으로 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 트랜잭션이 포함된 새로운 블록인 상기 제1 블록을 생성할 수 있다. 그러고 나서, 노드 장치(101)는 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 블록체인 네트워크(100)를 통해 상기 제1 블록을 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.Specifically, when the node device 101 receives the transaction and the registration request from the document sharing service server 110, the node device 101 refers to the block header of the previous block linked to the blockchain data in a chain to include the transaction. The first block, which is a new block, can be created. Then, the node device 101 connects the first block to the blockchain data in a chain, so that after completing storage of the first block, the node device 101 transfers the first block to the remaining nodes through the blockchain network 100. It can propagate to devices 102, 103, 104, 105, and 106.

이렇게, 본 발명에 따른 문서 공유 서비스 서버(110)는 상기 제1 문서 파일이 제2 전자 단말(152)로 전송 완료되면, 상기 공유 이력 정보를 생성하여 블록체인 네트워크(100)에 등록해 둠으로써, 제1 회원(141)이 상기 공유 이력 정보를 확인하여, 상기 제1 문서 파일이 누구에게, 언제 공유되었는지를 확인할 수 있도록 지원할 수 있다.In this way, when the first document file is completely transmitted to the second electronic terminal 152, the document sharing service server 110 according to the present invention generates the sharing history information and registers it in the blockchain network 100. , it is possible to support the first member 141 to check the sharing history information and to whom the first document file was shared and when.

도 2는 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 동작 방법을 도시한 순서도이다.Figure 2 is a flowchart showing a method of operating a document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention.

단계(S210)에서는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있는 정규 표현식 저장부를 유지한다.In step S210, a regular expression storage unit is maintained in which a plurality of different regular expressions preset to correspond to the notation format of personal information are stored.

단계(S220)에서는 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부를 유지한다.In step S220, a member information storage unit in which the member identification information of each of the plurality of members subscribed to the document sharing service and the terminal identification information of the electronic terminal held by each of the plurality of members are stored in correspondence with each other. maintain

단계(S230)에서는 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한다.In step S230, when a first document file is received from a first electronic terminal owned by a first member, which is one of the plurality of members, and a storage request command for the first document file is received, It is checked whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document according to the first document file.

단계(S240)에서는 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장한다.In step S240, if it is confirmed that at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file, Referring to the member information storage unit, the first member identification information of the first member is confirmed, the first document file is encrypted, and the encrypted first document file and the first member identification information are matched to each other to create a document. Save it to file storage.

단계(S250)에서는 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 복수의 회원들 중 다른 한 명인 제2 회원이 보유하고 있는 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하고, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송하여, 상기 제1 전자 단말로부터, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송한다.In step S250, the encrypted first document file and the first member identification information are stored in the document file storage in correspondence with each other, and then a second electronic file held by a second member, another one of the plurality of members, is stored in the document file storage. When a sharing request for the first document file is received from the terminal, the first member identification information stored in correspondence with the encrypted first document file is checked on the document file storage, and the first member Based on the identification information, after checking the first terminal identification information stored in the member information storage unit corresponding to the first member identification information, based on the first terminal identification information, the first electronic terminal By sending an inquiry message containing a question asking whether to approve sharing the first document file to the second member, the first document file is sent from the first electronic terminal to the second member. When an approval command for sharing is received, the encrypted first document file is extracted from the document file storage, and then the encrypted first document file is decrypted and transmitted to the second electronic terminal.

이때, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 단계, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 상기 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화하기 위한 암호화 이벤트를 발생시키는 단계, 상기 암호화 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 제1 문서 파일의 암호화를 위한 t자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송하는 단계, 상기 비밀번호 설정 요청 메시지에 대응하여, 상기 제1 회원에 의해 제1 비밀번호가 설정됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 문서 파일의 제1 문서 포맷을 확인한 후, 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 제1 일련번호를 추출하는 단계, 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성하는 단계, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 시드 코드를 생성한 후, 상기 시드 코드를 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성하는 단계 및 상기 제1 문서 파일을 상기 제1 암호화키로 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장하는 단계를 포함할 수 있다.At this time, according to an embodiment of the present invention, in step S240, different t(t is a natural number of 2 or more) storing and maintaining a serial number table in which a serial number of digits is recorded, and notation formats corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file. When it is confirmed that the at least one first string exists, refer to the member information storage unit, confirm the first member identification information of the first member, and encrypt the first document file. Generating an encryption event, when the encryption event occurs, transmitting to the first electronic terminal a password setting request message containing a request to set a password of t digits for encryption of the first document file. Step, in response to the password setting request message, as the first password is set by the first member, when the first password is received from the first electronic terminal, the first document format of the first document file After confirmation, extracting a first serial number corresponding to the first document format from the serial number table, the result of performing modulo-2 operation on each of the t numbers constituting the first password. A first operation code of t bits is generated by configuring the value as a bit string, and the result value when modulo-2 operation is performed on each of the t numbers constituting the first serial number is composed of a bit string. generating a t-bit second operation code by performing an exclusive OR operation between the first operation code and the second operation code, generating a t-bit seed code, and then converting the seed code to a preset encryption key. Generating a first encryption key by applying it as an input to a generating function and encrypting the first document file with the first encryption key, then matching the encrypted first document file with the first member identification information to It may include storing the document in a file storage.

이때, 본 발명의 일실시예에 따르면, 단계(S250)에서는 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하는 단계, 상기 제1 회원 식별 정보가 확인되면, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로 상기 질의 메시지를 전송하는 단계, 상기 질의 메시지에 대응하여, 상기 제1 전자 단말로부터 상기 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하기 위한 복호화 이벤트를 발생시키는 단계, 상기 복호화 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 제1 문서 파일의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, 상기 제1 전자 단말 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 파일의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송하는 단계, 상기 비밀번호 입력 요청 메시지에 대응하여, 상기 제1 전자 단말 상에 상기 제1 회원에 의해, 상기 제1 비밀번호가 입력됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되고, 상기 일련번호 회신 명령에 대응하여, 상기 제1 전자 단말에 의해, 상기 제1 전자 단말 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 상기 제1 일련번호가 추출됨에 따라, 상기 제1 전자 단말로부터 상기 제1 일련번호가 회신되면, 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성하는 단계, 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성한 후, 상기 시드 코드를 상기 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성하는 암호화키 재생성부 및 암호화된 상기 제1 문서 파일을 상기 제1 암호화키로 복호화함으로써, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 전자 단말로 전송하는 단계를 포함할 수 있다.At this time, according to one embodiment of the present invention, in step S250, after the encrypted first document file and the first member identification information are stored in the document file storage in correspondence with each other, from the second electronic terminal, the When a sharing request for a first document file is received, checking the first member identification information stored in correspondence with the encrypted first document file on the document file storage, the first member identification information Once confirmed, based on the first member identification information, the first terminal identification information stored in correspondence with the first member identification information is confirmed on the member information storage unit, and then the first terminal identification information is stored. As a basis, transmitting the query message to the first electronic terminal, in response to the query message, when the approval command is received from the first electronic terminal, the encrypted first document file is retrieved from the document file storage. After extracting, generating a decryption event to decrypt the encrypted first document file. When the decryption event occurs, inputting the password set for encryption of the first document file to the first electronic terminal. At the same time as transmitting a password input request message containing a request to enter a password, a serial number corresponding to the document format of the first document file is extracted from the serial number table stored on the first electronic terminal and a reply is sent. transmitting a serial number reply command requesting that the first password be entered by the first member on the first electronic terminal in response to the password input request message; The first password is received from, and in response to the serial number reply command, the first electronic terminal selects the first document format from the serial number table stored on the first electronic terminal. As the first serial number is extracted, when the first serial number is returned from the first electronic terminal, the result value when modulo-2 operation is performed on each of the t numbers constituting the first password The first operation code of t bits is generated by configuring the first serial number as a bit string, and the result value when modulo-2 operation is performed on each of the t numbers constituting the first serial number is composed of a bit string. generating the second operation code of t bits by performing an exclusive OR operation between the first operation code and the second operation code, generating the seed code of t bits, and then encrypting the seed code. An encryption key regeneration unit that generates the first encryption key by applying it as an input to a key generation function and decrypting the encrypted first document file with the first encryption key, thereby restoring the first document file, and then restoring the restored first document file. It may include transmitting a first document file to the second electronic terminal.

또한, 본 발명의 일실시예에 따르면, 단계(S240)에서는 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하지 않는 것으로 확인된 경우, 상기 제1 문서 파일을 암호화하지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장할 수 있고, 단계(S250)에서는 상기 제1 문서 파일이 암호화되지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제2 전자 단말로부터 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 제1 전자 단말로 상기 질의 메시지를 전송하지 않고, 상기 문서 파일 저장소로부터 상기 제1 문서 파일을 추출하여 상기 제2 전자 단말로 전송할 수 있다.In addition, according to an embodiment of the present invention, in step S240, notations corresponding to the plurality of regular expressions stored in the regular expression storage unit are displayed among the text included in the electronic document according to the first document file. As a result of checking whether a string with a format exists, when it is confirmed that a string with a notation format corresponding to the plurality of regular expressions does not exist among the text included in the electronic document according to the first document file, Without encrypting the first document file, the first document file and the first member identification information can be matched to each other and stored in the document file storage, and in step S250, the first document file is not encrypted, After the first document file and the first member identification information correspond to each other and are stored in the document file storage, when a sharing request for the first document file is received from the second electronic terminal, the first document file is sent to the first electronic terminal. Without transmitting a query message, the first document file can be extracted from the document file storage and transmitted to the second electronic terminal.

또한, 본 발명의 일실시예에 따르면, 상기 문서 공유 서비스 서버의 동작 방법은 상기 제1 문서 파일이 상기 제2 전자 단말로 전송 완료되면, 상기 회원 정보 저장부를 참조하여, 상기 제2 회원의 제2 회원 식별 정보를 확인하고, 상기 제1 문서 파일이 상기 제2 전자 단말로 전송된 시점에 대한 시간 정보를 생성한 후, 상기 제2 회원 식별 정보, 상기 제1 문서 파일 및 상기 시간 정보로 구성된 공유 이력 정보를 생성하는 단계 및 상기 공유 이력 정보가 생성되면, 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있고, 이때, 상기 제1 노드 장치는 상기 문서 공유 서비스 서버로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.In addition, according to one embodiment of the present invention, the method of operating the document sharing service server includes, when the first document file is completely transmitted to the second electronic terminal, referring to the member information storage unit, 2 After confirming the member identification information and generating time information about the time when the first document file was transmitted to the second electronic terminal, a message consisting of the second member identification information, the first document file, and the time information A step of generating shared history information, and when the shared history information is generated, a transaction including the shared history information is created, and then a first node device, which is one of a plurality of node devices constituting the blockchain network, is connected to the shared history information. It may further include randomly selecting and transmitting, to the first node device, a request for registration of the transaction to the blockchain network while transmitting the transaction, wherein the first node device transmits the document When the transaction and the registration request are received from the shared service server, a first block containing the transaction is generated based on a previous block chained to the blockchain data stored in the memory of the first node device, and , By connecting the first block to the blockchain data in a chain, after completing storage of the first block, the first block is transferred to the first block among the plurality of node devices through the blockchain network. It can be propagated to all node devices except the node device.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 문서 공유 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 문서 공유 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.Above, with reference to FIG. 2, a method of operating a document sharing service server for operating a cloud-based document sharing service according to an embodiment of the present invention has been described. Here, the operation method of the document sharing service server according to an embodiment of the present invention may correspond to the configuration of the operation of the document sharing service server 110 described using FIG. 1, so a detailed description thereof will be omitted. Do this.

본 발명의 일실시예에 따른 문서 공유 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating a document sharing service server according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium to be executed through combination with a computer.

또한, 본 발명의 일실시예에 따른 문서 공유 서비스 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. Additionally, the method of operating a document sharing service server according to an embodiment of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the medium may be specially designed and constructed for the present invention or may be known and usable by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes optical media (magneto-optical media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include machine language code, such as that produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with specific details such as specific components and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , those skilled in the art can make various modifications and variations from this description.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. Accordingly, the spirit of the present invention should not be limited to the described embodiments, and the scope of the patent claims described below as well as all modifications that are equivalent or equivalent to the scope of this patent claim shall fall within the scope of the spirit of the present invention. .

110: 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버
111: 정규 표현식 저장부 112: 회원 정보 저장부
113: 문자열 확인부 114: 문서 파일 저장 처리부
115: 문서 파일 전송부 116: 테이블 유지부
117: 암호화 이벤트 발생부 118: 비밀번호 설정 요청부
119: 일련번호 추출부 120: 연산 코드 생성부
121: 암호화키 생성부 122: 암호화 저장 처리부
123: 식별 정보 확인부 124: 질의 메시지 전송부
125: 복호화 이벤트 발생부 126: 회신 요청부
127: 연산 코드 재생성부 128: 암호화키 재생성부
129: 복호화 전송 처리부 130: 공유 이력 정보 생성부
131: 등록 요청부 132: 문서 파일 저장소
100: 블록체인 네트워크
101, 102, 103, 104, 105, 106: 복수의 노드 장치들
141: 제1 회원 142: 제2 회원
151: 제1 전자 단말 152: 제2 전자 단말
110: Document sharing service server for operating a cloud-based document sharing service
111: regular expression storage unit 112: member information storage unit
113: String confirmation unit 114: Document file storage processing unit
115: document file transmission unit 116: table maintenance unit
117: Encryption event occurrence unit 118: Password setting request unit
119: Serial number extraction unit 120: Operation code generation unit
121: Encryption key generation unit 122: Encryption storage processing unit
123: Identification information confirmation unit 124: Inquiry message transmission unit
125: Decryption event generation unit 126: Reply request unit
127: Operation code regeneration unit 128: Encryption key regeneration unit
129: Decryption transmission processing unit 130: Shared history information generation unit
131: Registration request unit 132: Document file storage
100: Blockchain network
101, 102, 103, 104, 105, 106: multiple node devices
141: 1st member 142: 2nd member
151: first electronic terminal 152: second electronic terminal

Claims (12)

클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버에 있어서,
개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부;
상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부;
상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 문자열 확인부;
상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 문서 파일 저장 처리부; 및
암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 복수의 회원들 중 다른 한 명인 제2 회원이 보유하고 있는 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하고, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송하여, 상기 제1 전자 단말로부터, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송하는 문서 파일 전송부
를 포함하는 문서 공유 서비스 서버.
In the document sharing service server for operating a cloud-based document sharing service,
a regular expression storage unit storing a plurality of different regular expressions preset to correspond to the notation format of personal information;
a member information storage unit storing member identification information of each of a plurality of members subscribed to the document sharing service and terminal identification information of an electronic terminal held by each of the plurality of members in correspondence with each other;
When a first document file is received from a first electronic terminal owned by a first member, which is one of the plurality of members, and a storage request command for the first document file is received, the first document file is stored in the first document file. a string confirmation unit that checks whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document;
If it is confirmed that at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file, refer to the member information storage unit. Thus, confirming the first member identification information of the first member, encrypting the first document file, and then storing the encrypted first document file and the first member identification information in a document file storage in correspondence with each other. Document file storage processing unit; and
After the encrypted first document file and the first member identification information correspond to each other and are stored in the document file storage, the second electronic terminal held by a second member, another one of the plurality of members, 1 When a sharing request for a document file is received, the first member identification information stored corresponding to the encrypted first document file is checked on the document file storage, and based on the first member identification information, , After confirming the first terminal identification information stored in correspondence with the first member identification information on the member information storage unit, based on the first terminal identification information, to the first electronic terminal, the second By transmitting an inquiry message containing a question asking the member for approval for sharing the first document file, approval for sharing the first document file is sent from the first electronic terminal to the second member. When a command is received, a document file transmission unit extracts the encrypted first document file from the document file storage, decrypts the encrypted first document file, and transmits it to the second electronic terminal.
A document sharing service server containing.
제1항에 있어서,
상기 문서 파일 저장 처리부는
상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 테이블 유지부;
상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 상기 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화하기 위한 암호화 이벤트를 발생시키는 암호화 이벤트 발생부;
상기 암호화 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 제1 문서 파일의 암호화를 위한 t자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송하는 비밀번호 설정 요청부;
상기 비밀번호 설정 요청 메시지에 대응하여, 상기 제1 회원에 의해 제1 비밀번호가 설정됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 문서 파일의 제1 문서 포맷을 확인한 후, 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 제1 일련번호를 추출하는 일련번호 추출부;
상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성하는 연산 코드 생성부;
상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(seed) 코드를 생성한 후, 상기 시드 코드를 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성하는 암호화키 생성부; 및
상기 제1 문서 파일을 상기 제1 암호화키로 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장하는 암호화 저장 처리부
를 포함하는 문서 공유 서비스 서버.
According to paragraph 1,
The document file storage processing unit
A serial number table in which serial numbers of different t (t is a natural number of 2 or more) digits corresponding to each of a plurality of preset document formats that are pre-shared with the electronic terminal owned by each of the plurality of members are recorded. a table maintenance unit that stores and maintains;
If it is confirmed that the at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file, the member information storage unit For reference, an encryption event generator that verifies the first member identification information of the first member and generates an encryption event to encrypt the first document file;
When the encryption event occurs, a password setting request unit that transmits, to the first electronic terminal, a password setting request message containing a request to set a t-digit password for encryption of the first document file;
In response to the password setting request message, the first password is set by the first member, and when the first password is received from the first electronic terminal, the first document format of the first document file is confirmed, and then , a serial number extractor that extracts a first serial number corresponding to the first document format from the serial number table;
A first operation code of t bits is generated by configuring the result value of performing a modulo-2 operation on each of the t numbers constituting the first password into a bit string, and the first series of an operation code generator that generates a second operation code of t bits by configuring the result of performing a modulo-2 operation on each of the t numbers constituting the number into a bit string;
By performing an exclusive OR (XOR) operation between the first operation code and the second operation code, a t-bit seed code is generated, and then the seed code is applied as an input to a preset encryption key generation function. an encryption key generator that generates a first encryption key; and
An encryption storage processing unit that encrypts the first document file with the first encryption key, then stores the encrypted first document file and the first member identification information in correspondence with each other in the document file storage.
A document sharing service server containing.
제2항에 있어서,
상기 문서 파일 전송부는
암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하는 식별 정보 확인부;
상기 제1 회원 식별 정보가 확인되면, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로 상기 질의 메시지를 전송하는 질의 메시지 전송부;
상기 질의 메시지에 대응하여, 상기 제1 전자 단말로부터 상기 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하기 위한 복호화 이벤트를 발생시키는 복호화 이벤트 발생부;
상기 복호화 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 제1 문서 파일의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, 상기 제1 전자 단말 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 파일의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송하는 회신 요청부;
상기 비밀번호 입력 요청 메시지에 대응하여, 상기 제1 전자 단말 상에 상기 제1 회원에 의해, 상기 제1 비밀번호가 입력됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되고, 상기 일련번호 회신 명령에 대응하여, 상기 제1 전자 단말에 의해, 상기 제1 전자 단말 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 상기 제1 일련번호가 추출됨에 따라, 상기 제1 전자 단말로부터 상기 제1 일련번호가 회신되면, 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성하는 연산 코드 재생성부;
상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성한 후, 상기 시드 코드를 상기 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성하는 암호화키 재생성부; 및
암호화된 상기 제1 문서 파일을 상기 제1 암호화키로 복호화함으로써, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 전자 단말로 전송하는 복호화 전송 처리부
를 포함하는 문서 공유 서비스 서버.
According to paragraph 2,
The document file transmission unit
After the encrypted first document file and the first member identification information are stored in the document file storage in correspondence with each other, when a sharing request for the first document file is received from the second electronic terminal, the document file storage On top, an identification information confirmation unit that verifies the first member identification information stored in correspondence with the encrypted first document file;
When the first member identification information is confirmed, based on the first member identification information, the first terminal identification information stored in correspondence with the first member identification information is confirmed on the member information storage unit, a query message transmission unit that transmits the query message to the first electronic terminal based on the first terminal identification information;
In response to the inquiry message, when the approval command is received from the first electronic terminal, the encrypted first document file is extracted from the document file storage, and then a decryption event is performed to decrypt the encrypted first document file. A decryption event generator that generates;
When the decryption event occurs, a password input request message containing a request to enter the password set for encryption of the first document file is transmitted to the first electronic terminal, and at the same time, the first electronic terminal a reply request unit that extracts a serial number corresponding to the document format of the first document file from the serial number table stored on the terminal and transmits a serial number reply command requesting a reply;
In response to the password input request message, the first password is input by the first member on the first electronic terminal, the first password is received from the first electronic terminal, and the serial number is returned. In response to the command, the first serial number corresponding to the first document format is extracted by the first electronic terminal from the serial number table stored on the first electronic terminal, so that the first electronic terminal When the first serial number is returned from the terminal, the result of performing the modulo-2 operation on each of the t numbers constituting the first password is configured as a bit string to perform the first operation of t bits. An operation for generating the second operation code of t bits by generating a code and configuring the result of performing modulo-2 operation on each of the t numbers constituting the first serial number into a bit string. Code regeneration unit;
By performing an exclusive OR operation between the first operation code and the second operation code, the seed code of t bits is generated, and then the seed code is applied as an input to the encryption key generation function to generate the first encryption key. An encryption key regeneration unit that generates; and
A decryption and transmission processing unit that restores the first document file by decrypting the encrypted first document file with the first encryption key and then transmits the restored first document file to the second electronic terminal.
A document sharing service server containing.
제1항에 있어서,
상기 문서 파일 저장 처리부는
상기 문자열 확인부가 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하지 않는 것으로 확인된 경우, 상기 제1 문서 파일을 암호화하지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장하고,
상기 문서 파일 전송부는
상기 제1 문서 파일이 암호화되지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제2 전자 단말로부터 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 제1 전자 단말로 상기 질의 메시지를 전송하지 않고, 상기 문서 파일 저장소로부터 상기 제1 문서 파일을 추출하여 상기 제2 전자 단말로 전송하는 것을 특징으로 하는 문서 공유 서비스 서버.
According to paragraph 1,
The document file storage processing unit
As a result of the string confirmation unit checking whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document according to the first document file, When it is confirmed that a string having a notation format corresponding to the plurality of regular expressions does not exist among the text included in the electronic document according to the first document file, the first document file is not encrypted, and the first document file is not encrypted. 1. Correspond the document file and the first member identification information and store them in the document file storage,
The document file transmission unit
After the first document file is not encrypted and the first document file and the first member identification information correspond to each other and are stored in the document file storage, a sharing request for the first document file is received from the second electronic terminal. When received, the document sharing service server extracts the first document file from the document file storage and transmits it to the second electronic terminal, without transmitting the query message to the first electronic terminal.
제1항에 있어서,
상기 제1 문서 파일이 상기 제2 전자 단말로 전송 완료되면, 상기 회원 정보 저장부를 참조하여, 상기 제2 회원의 제2 회원 식별 정보를 확인하고, 상기 제1 문서 파일이 상기 제2 전자 단말로 전송된 시점에 대한 시간 정보를 생성한 후, 상기 제2 회원 식별 정보, 상기 제1 문서 파일 및 상기 시간 정보로 구성된 공유 이력 정보를 생성하는 공유 이력 정보 생성부; 및
상기 공유 이력 정보가 생성되면, 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
를 더 포함하고,
상기 제1 노드 장치는
상기 문서 공유 서비스 서버로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 문서 공유 서비스 서버.
According to paragraph 1,
When the first document file is completely transmitted to the second electronic terminal, the member information storage is referred to, the second member identification information of the second member is checked, and the first document file is sent to the second electronic terminal. a sharing history information generator that generates time information about the point of transmission and then generates sharing history information consisting of the second member identification information, the first document file, and the time information; and
When the sharing history information is generated, a transaction including the sharing history information is created, and then a first node device, which is one of a plurality of node devices constituting the blockchain network, is randomly selected, and the first node device is randomly selected. A registration request unit that transmits, to a node device, a request for registration of the transaction to the blockchain network while transmitting the transaction.
It further includes,
The first node device is
When the transaction and the registration request are received from the document sharing service server, a first block containing the transaction is created based on the previous block chained to the blockchain data stored in the memory of the first node device. After completing storage of the first block by creating and linking the first block to the blockchain data as a chain, the first block is transferred to the first block among the plurality of node devices through the blockchain network. A document sharing service server characterized in that it propagates to the remaining node devices except the first node device.
클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버의 동작 방법에 있어서,
개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부를 유지하는 단계;
상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부를 유지하는 단계;
상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 단계;
상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 단계; 및
암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 복수의 회원들 중 다른 한 명인 제2 회원이 보유하고 있는 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하고, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송하여, 상기 제1 전자 단말로부터, 상기 제2 회원에게 상기 제1 문서 파일을 공유하는 것에 대한 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송하는 단계
를 포함하는 문서 공유 서비스 서버의 동작 방법.
In the method of operating a document sharing service server for operating a cloud-based document sharing service,
maintaining a regular expression storage unit in which a plurality of different regular expressions preset to correspond to the notation format of personal information are stored;
maintaining a member information storage unit in which member identification information of each of a plurality of members subscribed to the document sharing service and terminal identification information of an electronic terminal held by each of the plurality of members are stored in correspondence with each other;
When a first document file is received from a first electronic terminal owned by a first member, which is one of the plurality of members, and a storage request command for the first document file is received, the first document file is stored in the first document file. Checking whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document according to the following;
If it is confirmed that at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file, refer to the member information storage unit. Thus, confirming the first member identification information of the first member, encrypting the first document file, and then storing the encrypted first document file and the first member identification information in a document file storage in correspondence with each other. step; and
After the encrypted first document file and the first member identification information correspond to each other and are stored in the document file storage, the second electronic terminal held by a second member, another one of the plurality of members, 1 When a sharing request for a document file is received, the first member identification information stored corresponding to the encrypted first document file is checked on the document file storage, and based on the first member identification information, , After confirming the first terminal identification information stored in correspondence with the first member identification information on the member information storage unit, based on the first terminal identification information, to the first electronic terminal, the second By transmitting an inquiry message containing a question asking the member for approval for sharing the first document file, approval for sharing the first document file is sent from the first electronic terminal to the second member. When a command is received, extracting the encrypted first document file from the document file storage, then decrypting the encrypted first document file and transmitting it to the second electronic terminal.
A method of operation of a document sharing service server including.
제6항에 있어서,
상기 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 단계는
상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 단계;
상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 상기 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화하기 위한 암호화 이벤트를 발생시키는 단계;
상기 암호화 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 제1 문서 파일의 암호화를 위한 t자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송하는 단계;
상기 비밀번호 설정 요청 메시지에 대응하여, 상기 제1 회원에 의해 제1 비밀번호가 설정됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 문서 파일의 제1 문서 포맷을 확인한 후, 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 제1 일련번호를 추출하는 단계;
상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성하는 단계;
상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(seed) 코드를 생성한 후, 상기 시드 코드를 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성하는 단계; 및
상기 제1 문서 파일을 상기 제1 암호화키로 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장하는 단계
를 포함하는 문서 공유 서비스 서버의 동작 방법.
According to clause 6,
The step of matching the encrypted first document file and the first member identification information to each other and storing them in a document file storage.
A serial number table in which serial numbers of different t (t is a natural number of 2 or more) digits corresponding to each of a plurality of preset document formats that are pre-shared with the electronic terminal owned by each of the plurality of members are recorded. storing and maintaining;
If it is confirmed that the at least one first string exists as a string having a notation format corresponding to the plurality of regular expressions among the text included in the electronic document according to the first document file, the member information storage unit For reference, confirming the first member identification information of the first member and generating an encryption event to encrypt the first document file;
When the encryption event occurs, transmitting, to the first electronic terminal, a password setting request message containing a request to set a t-digit password for encryption of the first document file;
In response to the password setting request message, the first password is set by the first member, and when the first password is received from the first electronic terminal, the first document format of the first document file is confirmed, and then , extracting a first serial number corresponding to the first document format from the serial number table;
A first operation code of t bits is generated by configuring the result value of performing a modulo-2 operation on each of the t numbers constituting the first password into a bit string, and the first series of generating a second operation code of t bits by configuring the result of performing a modulo-2 operation on each of the t numbers constituting the number into a bit string;
By performing an exclusive OR (XOR) operation between the first operation code and the second operation code, a t-bit seed code is generated, and then the seed code is applied as an input to a preset encryption key generation function. generating a first encryption key; and
After encrypting the first document file with the first encryption key, storing the encrypted first document file and the first member identification information in correspondence with each other in the document file storage.
A method of operation of a document sharing service server including.
제7항에 있어서,
상기 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송하는 단계는
암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제2 전자 단말로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 문서 파일 저장소 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인하는 단계;
상기 제1 회원 식별 정보가 확인되면, 상기 제1 회원 식별 정보를 기초로, 상기 회원 정보 저장부 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 상기 제1 전자 단말로 상기 질의 메시지를 전송하는 단계;
상기 질의 메시지에 대응하여, 상기 제1 전자 단말로부터 상기 승인 명령이 수신되면, 상기 문서 파일 저장소로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하기 위한 복호화 이벤트를 발생시키는 단계;
상기 복호화 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 제1 문서 파일의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, 상기 제1 전자 단말 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 파일의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송하는 단계;
상기 비밀번호 입력 요청 메시지에 대응하여, 상기 제1 전자 단말 상에 상기 제1 회원에 의해, 상기 제1 비밀번호가 입력됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되고, 상기 일련번호 회신 명령에 대응하여, 상기 제1 전자 단말에 의해, 상기 제1 전자 단말 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 상기 제1 일련번호가 추출됨에 따라, 상기 제1 전자 단말로부터 상기 제1 일련번호가 회신되면, 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 상기 제2 연산 코드를 생성하는 단계;
상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성한 후, 상기 시드 코드를 상기 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성하는 암호화키 재생성부; 및
암호화된 상기 제1 문서 파일을 상기 제1 암호화키로 복호화함으로써, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 전자 단말로 전송하는 단계
를 포함하는 문서 공유 서비스 서버의 동작 방법.
In clause 7,
The step of decrypting the encrypted first document file and transmitting it to the second electronic terminal
After the encrypted first document file and the first member identification information are stored in the document file storage in correspondence with each other, when a sharing request for the first document file is received from the second electronic terminal, the document file storage On top, checking the first member identification information stored in correspondence with the encrypted first document file;
When the first member identification information is confirmed, based on the first member identification information, the first terminal identification information stored in correspondence with the first member identification information is confirmed on the member information storage unit, transmitting the inquiry message to the first electronic terminal based on the first terminal identification information;
In response to the inquiry message, when the approval command is received from the first electronic terminal, the encrypted first document file is extracted from the document file storage, and then a decryption event is performed to decrypt the encrypted first document file. generating a;
When the decryption event occurs, a password input request message containing a request to enter the password set for encryption of the first document file is transmitted to the first electronic terminal, and at the same time, the first electronic terminal Extracting a serial number corresponding to the document format of the first document file from the serial number table stored on the terminal and transmitting a serial number reply command requesting a response;
In response to the password input request message, the first password is input by the first member on the first electronic terminal, the first password is received from the first electronic terminal, and the serial number is returned. In response to the command, the first serial number corresponding to the first document format is extracted by the first electronic terminal from the serial number table stored on the first electronic terminal, so that the first electronic terminal When the first serial number is returned from the terminal, the result of performing the modulo-2 operation on each of the t numbers constituting the first password is configured as a bit string to perform the first operation of t bits. Generating the second operation code of t bits by generating a code and configuring the result of performing modulo-2 operation on each of the t numbers constituting the first serial number into a bit string. ;
By performing an exclusive OR operation between the first operation code and the second operation code, the seed code of t bits is generated, and then the seed code is applied as an input to the encryption key generation function to generate the first encryption key. An encryption key regeneration unit that generates; and
Decrypting the encrypted first document file with the first encryption key, restoring the first document file, and then transmitting the restored first document file to the second electronic terminal.
A method of operation of a document sharing service server including.
제6항에 있어서,
상기 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 단계는
상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하지 않는 것으로 확인된 경우, 상기 제1 문서 파일을 암호화하지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장하고,
상기 암호화된 상기 제1 문서 파일을 복호화하여 상기 제2 전자 단말로 전송하는 단계는
상기 제1 문서 파일이 암호화되지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제2 전자 단말로부터 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 상기 제1 전자 단말로 상기 질의 메시지를 전송하지 않고, 상기 문서 파일 저장소로부터 상기 제1 문서 파일을 추출하여 상기 제2 전자 단말로 전송하는 것을 특징으로 하는 문서 공유 서비스 서버의 동작 방법.
According to clause 6,
The step of matching the encrypted first document file and the first member identification information to each other and storing them in a document file storage.
As a result of checking whether a string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the electronic document according to the first document file, the first document If it is confirmed that a string having a notation format corresponding to the plurality of regular expressions does not exist among the text included in the electronic document according to the file, the first document file is not encrypted, and the first document file and Corresponding the first member identification information and storing it in the document file storage,
The step of decrypting the encrypted first document file and transmitting it to the second electronic terminal
After the first document file is not encrypted and the first document file and the first member identification information correspond to each other and are stored in the document file storage, a sharing request for the first document file is received from the second electronic terminal. When received, a method of operating a document sharing service server, characterized in that the first document file is extracted from the document file storage and transmitted to the second electronic terminal, without transmitting the query message to the first electronic terminal.
제6항에 있어서,
상기 제1 문서 파일이 상기 제2 전자 단말로 전송 완료되면, 상기 회원 정보 저장부를 참조하여, 상기 제2 회원의 제2 회원 식별 정보를 확인하고, 상기 제1 문서 파일이 상기 제2 전자 단말로 전송된 시점에 대한 시간 정보를 생성한 후, 상기 제2 회원 식별 정보, 상기 제1 문서 파일 및 상기 시간 정보로 구성된 공유 이력 정보를 생성하는 단계; 및
상기 공유 이력 정보가 생성되면, 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
를 더 포함하고,
상기 제1 노드 장치는
상기 문서 공유 서비스 서버로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 문서 공유 서비스 서버의 동작 방법.
According to clause 6,
When the first document file is completely transmitted to the second electronic terminal, the member information storage is referred to, the second member identification information of the second member is checked, and the first document file is sent to the second electronic terminal. After generating time information about the point of transmission, generating sharing history information consisting of the second member identification information, the first document file, and the time information; and
When the sharing history information is generated, a transaction including the sharing history information is created, and then a first node device, which is one of a plurality of node devices constituting the blockchain network, is randomly selected, and the first node device is randomly selected. Transmitting, to a node device, a request for registration of the transaction into the blockchain network while transmitting the transaction.
It further includes,
The first node device is
When the transaction and the registration request are received from the document sharing service server, a first block containing the transaction is created based on the previous block chained to the blockchain data stored in the memory of the first node device. After completing storage of the first block by creating and linking the first block to the blockchain data as a chain, the first block is transferred to the first block among the plurality of node devices through the blockchain network. A method of operating a document sharing service server, characterized in that it propagates to the remaining node devices except the first node device.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through combination with a computer.
KR1020220021221A 2022-02-18 2022-02-18 Document sharing service server for managing document sharing service based on cloud, and the operating method thereof KR102602189B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220021221A KR102602189B1 (en) 2022-02-18 2022-02-18 Document sharing service server for managing document sharing service based on cloud, and the operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220021221A KR102602189B1 (en) 2022-02-18 2022-02-18 Document sharing service server for managing document sharing service based on cloud, and the operating method thereof

Publications (2)

Publication Number Publication Date
KR20230124207A KR20230124207A (en) 2023-08-25
KR102602189B1 true KR102602189B1 (en) 2023-11-14

Family

ID=87847225

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220021221A KR102602189B1 (en) 2022-02-18 2022-02-18 Document sharing service server for managing document sharing service based on cloud, and the operating method thereof

Country Status (1)

Country Link
KR (1) KR102602189B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101282705B1 (en) 2012-07-30 2013-08-23 주식회사 한글과컴퓨터 Apparatus and method for preventing disclosure of personal information contained in electronic document
KR101756288B1 (en) 2017-02-07 2017-07-10 윤상훈 Document security system
KR102328057B1 (en) 2020-10-13 2021-11-17 주식회사 한글과컴퓨터 Document security service server that supports encryption of document files based on terminal information and operating method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107979590B (en) * 2017-11-02 2020-01-17 财付通支付科技有限公司 Data sharing method, client, server, computing device and storage medium
KR102266059B1 (en) * 2019-06-04 2021-06-17 주식회사 한글과컴퓨터 Block chain based document information management apparatus for ensuring document reliability and operating method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101282705B1 (en) 2012-07-30 2013-08-23 주식회사 한글과컴퓨터 Apparatus and method for preventing disclosure of personal information contained in electronic document
KR101756288B1 (en) 2017-02-07 2017-07-10 윤상훈 Document security system
KR102328057B1 (en) 2020-10-13 2021-11-17 주식회사 한글과컴퓨터 Document security service server that supports encryption of document files based on terminal information and operating method thereof

Also Published As

Publication number Publication date
KR20230124207A (en) 2023-08-25

Similar Documents

Publication Publication Date Title
US11449641B2 (en) Integrity of communications between blockchain networks and external data sources
TWI722116B (en) Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US10810315B2 (en) Enabling access to data
US8694467B2 (en) Random number based data integrity verification method and system for distributed cloud storage
US8533489B2 (en) Searchable symmetric encryption with dynamic updating
JP6234605B2 (en) Server device, search system, terminal device, search method, server program, and terminal program
US20170272251A1 (en) Method of performing keyed-hash message authentication code (hmac) using multi-party computation without boolean gates
US20020083325A1 (en) Updating security schemes for remote client access
CN106971121A (en) Data processing method, device, server and storage medium
US8341417B1 (en) Data storage using encoded hash message authentication code
EP3957044A1 (en) Computer implemented method and system for encrypting data
WO2020123926A1 (en) Decentralized computing systems and methods for performing actions using stored private data
KR20200143197A (en) Data management device that enables distributed encryption management of data based on blockchain and operating method thereof
JP6840692B2 (en) Computer system, connection device, and data processing method
KR102303431B1 (en) Blockchain-based electronic contract management system apparatus that supports electronic contracts between parties and operating method thereof
KR102602189B1 (en) Document sharing service server for managing document sharing service based on cloud, and the operating method thereof
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
CN110365468B (en) Anonymization processing method, device, equipment and storage medium
KR102442674B1 (en) Access controlling server which controls the access to the private cloud server and the operating method thereof
Kumar et al. Multi-cryptosystem based privacy-preserving public auditing for regenerating code based cloud storage
WO2022199796A1 (en) Method and computer-based system for key management
WO2015107561A1 (en) Search system, search method, and search program
CN113342802A (en) Method and device for storing block chain data
KR20230124271A (en) Document sharing service server for processing saving and sharing of document files with unauthorized fonts, in the cloud-based document sharing service, and the operating method thereof
CN113360859B (en) Python interpreter-based encrypted file security control method and device

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant