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 PDFInfo
- 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
Links
- 238000011017 operating method Methods 0.000 title abstract 2
- 230000014509 gene expression Effects 0.000 claims description 58
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000012545 processing Methods 0.000 claims description 28
- 238000000034 method Methods 0.000 claims description 19
- 230000004044 response Effects 0.000 claims description 18
- 238000012790 confirmation Methods 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 16
- 230000008929 regeneration Effects 0.000 claims description 14
- 238000011069 regeneration method Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012423 maintenance Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 230000000644 propagated effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000005226 mechanical processes and functions Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6227—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation 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
본 발명은 클라우드 기반의 문서 공유 서비스를 운영하기 위한 문서 공유 서비스 서버 및 그 동작 방법에 대한 것이다.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
정규 표현식 저장부(111)에는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있다.The regular
예컨대, 정규 표현식 저장부(111)에는 하기의 표 1과 같은 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있을 수 있다. For example, the regular
회원 정보 저장부(112)에는 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있다.In the member
여기서, 회원 식별 정보는 각 회원을 구분하기 위한 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
문자열 확인부(113)는 상기 복수의 회원들 중 어느 한 명인 제1 회원(141)이 보유하고 있는 제1 전자 단말(151)로부터, 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 저장 요청 명령이 수신되면, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한다.When the first document file is received from the first
문서 파일 저장 처리부(114)는 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 회원 정보 저장부(112)를 참조하여, 제1 회원(141)의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(132)에 저장한다.The document file
이때, 본 발명의 일실시예에 따르면, 문서 파일 저장 처리부(114)는 테이블 유지부(116), 암호화 이벤트 발생부(117), 비밀번호 설정 요청부(118), 일련번호 추출부(119), 연산 코드 생성부(120), 암호화키 생성부(121) 및 암호화 저장 처리부(122)를 포함할 수 있다.At this time, according to one embodiment of the present invention, the document file
테이블 유지부(116)는 상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지한다. 여기서, 문서 포맷이란 '.hwp', '.docx', '.pdf' 등과 같은 확장자를 갖는 각 문서에 대한 파일 포맷을 의미한다.The
예컨대, t를 '4'라고 하는 경우, 테이블 유지부(116)는 하기의 표 3과 같은, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 '4'자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지할 수 있다. For example, when t is '4', the
이때, 상기 표 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
비밀번호 설정 요청부(118)는 암호화 이벤트 발생부(117)에 의해 상기 암호화 이벤트가 발생되면, 제1 전자 단말(151)로, 상기 제1 문서 파일의 암호화를 위한 t자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송한다.When the encryption event is generated by the
일련번호 추출부(119)는 상기 비밀번호 설정 요청 메시지에 대응하여, 제1 회원(141)에 의해 제1 비밀번호가 설정됨에 따라, 제1 전자 단말(151)로부터 상기 제1 비밀번호가 수신되면, 상기 제1 문서 파일의 제1 문서 포맷을 확인한 후, 상기 일련번호 테이블로부터 상기 제1 문서 포맷에 대응되는 제1 일련번호를 추출한다.When the
연산 코드 생성부(120)는 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성한다.The
여기서, 모듈로-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
여기서, 상기 암호화키 생성 함수는 사전 설정된 소정의 해시 함수일 수 있다.Here, the encryption key generation function may be a preset hash function.
암호화 저장 처리부(122)는 상기 제1 문서 파일을 상기 제1 암호화키로 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(132)에 저장한다.The encryption
이하에서는, 암호화 이벤트 발생부(117), 비밀번호 설정 요청부(118), 일련번호 추출부(119), 연산 코드 생성부(120), 암호화키 생성부(121) 및 암호화 저장 처리부(122)의 동작을 예를 들어, 상세히 설명하기로 한다.Below, the encryption
먼저, 문서 공유 서비스 서버(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
이때, 암호화 이벤트 발생부(117)는 상기 표 2와 같은 회원 정보 저장부(112)를 참조하여, '회원 1(141)'의 식별 정보인 '회원 식별 정보 1'을 상기 제1 회원 식별 정보로 확인할 수 있고, '문서 파일 1'을 암호화하기 위한 암호화 이벤트를 발생시킬 수 있다.At this time, the
그러면, 비밀번호 설정 요청부(118)는 '전자 단말 1(151)'로, '문서 파일 1'의 암호화를 위한 '4'자릿수의 비밀번호를 설정할 것을 요청하는 내용이 포함된 비밀번호 설정 요청 메시지를 전송할 수 있다.Then, the password
이때, 상기 비밀번호 설정 요청 메시지를 확인한 '회원 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
그러면, 일련번호 추출부(119)는 '문서 파일 1'의 제1 문서 포맷을 확인할 수 있다.Then, the serial
그 결과, '문서 파일 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
그러고 나서, 연산 코드 생성부(120)는 상기 제1 비밀번호인 '1230'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 제1 연산 코드를 '1010'과 같이 생성할 수 있고, 상기 제1 일련번호인 '6401'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 제2 연산 코드를 '0001'과 같이 생성할 수 있다.Then, the
그러면, 암호화키 생성부(121)는 상기 제1 연산 코드인 '1010'과 상기 제2 연산 코드인 '0001' 간의 배타적 논리합 연산을 수행함으로써, '4'비트의 시드 코드를 '1011'과 같이 생성할 수 있다.Then, the
그러고 나서, 암호화키 생성부(121)는 상기 시드 코드인 '1011'을 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 '암호화키 1'을 생성할 수 있다.Then, the
그러면, 암호화 저장 처리부(122)는 '문서 파일 1'을 '암호화키 1'로 암호화한 후, 암호화된 '문서 파일 1'과 '회원 식별 정보 1'을 서로 대응시켜 문서 파일 저장소(132)에 저장할 수 있다.Then, the encryption
이렇게, 문서 파일 저장 처리부(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
이때, 본 발명의 일실시예에 따르면, 문서 파일 전송부(115)는 식별 정보 확인부(123), 질의 메시지 전송부(124), 복호화 이벤트 발생부(125), 회신 요청부(126), 연산 코드 재생성부(127), 암호화키 재생성부(128) 및 복호화 전송 처리부(129)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the document
식별 정보 확인부(123)는 문서 파일 저장 처리부(114)에 의해, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 문서 파일 저장소(132)에 저장된 이후, 제2 전자 단말(152)로부터, 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 문서 파일 저장소(132) 상에, 암호화된 상기 제1 문서 파일에 대응되어 저장되어 있는 상기 제1 회원 식별 정보를 확인한다.The identification
질의 메시지 전송부(124)는 식별 정보 확인부(123)에 의해 상기 제1 회원 식별 정보가 확인되면, 상기 제1 회원 식별 정보를 기초로, 회원 정보 저장부(112) 상에, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 제1 전자 단말(151)로 상기 질의 메시지를 전송한다.When the first member identification information is confirmed by the identification
복호화 이벤트 발생부(125)는 상기 질의 메시지에 대응하여, 제1 전자 단말(151)로부터 상기 승인 명령이 수신되면, 문서 파일 저장소(132)로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하기 위한 복호화 이벤트를 발생시킨다.When the approval command is received from the first
회신 요청부(126)는 복호화 이벤트 발생부(125)에 의해 상기 복호화 이벤트가 발생되면, 제1 전자 단말(151)로, 상기 제1 문서 파일의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, 제1 전자 단말(151) 상에 저장되어 있는 상기 일련번호 테이블로부터 상기 제1 문서 파일의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송한다.When the decryption event is generated by the
연산 코드 재생성부(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
암호화키 재생성부(128)는 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합 연산을 수행함으로써, t비트의 상기 시드 코드를 생성한 후, 상기 시드 코드를 상기 암호화키 생성 함수에 입력으로 인가하여 상기 제1 암호화키를 생성한다.The encryption
복호화 전송 처리부(129)는 암호화된 상기 제1 문서 파일을 상기 제1 암호화키로 복호화함으로써, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 제2 전자 단말(152)로 전송한다.The decryption and
이하에서는, 식별 정보 확인부(123), 질의 메시지 전송부(124), 복호화 이벤트 발생부(125), 회신 요청부(126), 연산 코드 재생성부(127), 암호화키 재생성부(128) 및 복호화 전송 처리부(129)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the identification
먼저, 전술한 예에 따라, 문서 파일 저장 처리부(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
그러면, 식별 정보 확인부(123)는 문서 파일 저장소(132) 상에, 암호화된 '문서 파일 1'에 대응되어 저장되어 있는 '회원 식별 정보 1'을 확인할 수 있다.Then, the identification
그 이후, 질의 메시지 전송부(124)는 '회원 식별 정보 1'을 기초로, 상기 표 2와 같은 회원 정보 저장부(112) 상에, '회원 식별 정보 1'에 대응되어 저장되어 있는 '단말 식별 정보 1'을 확인할 수 있다.After that, the inquiry
그러고 나서, 질의 메시지 전송부(124)는 '단말 식별 정보 1'을 기초로, '전자 단말 1(151)'로, '회원 2(142)'에게 '문서 파일 1'을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 질의 메시지를 전송할 수 있다.Then, the inquiry
이때, 상기 질의 메시지를 확인한 '회원 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
그러면, 복호화 이벤트 발생부(125)는 문서 파일 저장소(132)로부터, 암호화된 '문서 파일 1'을 추출한 후, 암호화된 '문서 파일 1'을 복호화하기 위한 복호화 이벤트를 발생시킬 수 있다.Then, the
그러고 나서, 회신 요청부(126)는 '전자 단말 1(151)'로, '문서 파일 1'의 암호화를 위해 설정되었던 비밀번호를 입력할 것을 요청하는 내용이 포함된 비밀번호 입력 요청 메시지를 전송함과 동시에, '전자 단말 1(151)' 상에 저장되어 있는 상기 표 3과 같은 일련번호 테이블로부터 '문서 파일 1'의 문서 포맷에 대응되는 일련번호를 추출하여 회신할 것을 요청하는 일련번호 회신 명령을 전송할 수 있다.Then, the
이때, 상기 비밀번호 입력 요청 메시지를 확인한 '회원 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
이와 동시에, 상기 일련번호 회신 명령에 대응하여, '전자 단말 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
그러면, 연산 코드 재생성부(127)는 상기 제1 비밀번호인 '1230'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 상기 제1 연산 코드를 '1010'과 같이 생성할 수 있고, 상기 제1 일련번호인 '6401'을 구성하는 '4'개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 '4'비트의 상기 제2 연산 코드를 '0001'과 같이 생성할 수 있다.Then, the operation
그러고 나서, 암호화키 재생성부(128)는 상기 제1 연산 코드인 '1010'과 상기 제2 연산 코드인 '0001' 간의 배타적 논리합 연산을 수행함으로써, '4'비트의 상기 시드 코드를 '1011'과 같이 생성한 후, 상기 시드 코드인 '1011'을 상기 암호화키 생성 함수에 입력으로 인가하여 '암호화키 1'을 생성할 수 있다.Then, the encryption
이때, 전술한 예에 따르면, 암호화된 '문서 파일 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
본 발명의 일실시예에 따르면, 문서 공유 서비스 서버(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
이와 관련해서, 본 발명의 일실시예에 따르면, 문서 파일 저장 처리부(114)는 문자열 확인부(113)가 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한 결과, 상기 제1 문서 파일에 따른 전자 문서에 포함된 텍스트 중, 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하지 않는 것으로 확인된 경우, 상기 제1 문서 파일을 암호화하지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(132)에 저장할 수 있다.In this regard, according to one embodiment of the present invention, the document file
이때, 문서 파일 전송부(115)는 상기 제1 문서 파일이 암호화되지 않고, 상기 제1 문서 파일과 상기 제1 회원 식별 정보가 서로 대응되어 문서 파일 저장소(132)에 저장된 이후, 제2 전자 단말(152)로부터 상기 제1 문서 파일에 대한 공유 요청이 수신되면, 제1 전자 단말(141)로 상기 질의 메시지를 전송하지 않고, 문서 파일 저장소(132)로부터 상기 제1 문서 파일을 추출하여 제2 전자 단말(152)로 전송할 수 있다.At this time, the document
이하에서는, 문서 파일 저장 처리부(114) 및 문서 파일 전송부(115)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the operations of the document file
먼저, 전술한 예와 같이, 문서 공유 서비스 서버(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
그러면, 문서 파일 저장 처리부(114)는 '문서 파일 1'을 암호화하지 않고, '문서 파일 1'과 '회원 식별 정보 1'을 서로 대응시켜 문서 파일 저장소(132)에 저장할 수 있다.Then, the document file
그 이후, 문서 공유 서비스 서버(110)에 '전자 단말 2(152)'로부터, '문서 파일 1'에 대한 공유 요청이 수신되었다고 하는 경우, 문서 파일 전송부(115)는 '전자 단말 1(151)'로 상기 질의 메시지를 전송하지 않고, 문서 파일 저장소(132)로부터 '문서 파일 1'을 추출하여 '전자 단말 2(152)'로 전송할 수 있다.Afterwards, when the document
또한, 본 발명의 일실시예에 따르면, 문서 공유 서비스 서버(110)는 공유 이력 정보 생성부(130) 및 등록 요청부(131)를 더 포함할 수 있다.Additionally, according to one embodiment of the present invention, the document
공유 이력 정보 생성부(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
등록 요청부(131)는 공유 이력 정보 생성부(130)에 의해 상기 공유 이력 정보가 생성되면, 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.When the sharing history information is generated by the sharing history
이하에서는, 공유 이력 정보 생성부(130) 및 등록 요청부(131)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, the operations of the sharing history
먼저, 전술한 예에 따라, 문서 파일 전송부(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
그러면, 공유 이력 정보 생성부(130)는 상기 표 2와 같은 회원 정보 저장부(112)를 참조하여, '회원 2(142)'의 회원 식별 정보인 '회원 식별 정보 2'를, 제2 회원 식별 정보로 확인할 수 있고, '문서 파일 1'이 '전자 단말 2(152)'로 전송된 시점에 대한 시간 정보인 '시간 정보 1'을 생성할 수 있다.Then, the sharing
그러고 나서, 공유 이력 정보 생성부(130)는 '회원 식별 정보 2', '문서 파일 1' 및 '시간 정보 1'로 구성된 공유 이력 정보를 생성할 수 있다.Then, the sharing
그러면, 등록 요청부(131)는 상기 공유 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택할 수 있다.Then, the
이때, 상기 제1 노드 장치를 노드 장치(101)라고 하는 경우, 등록 요청부(131)는 노드 장치(101)로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송할 수 있다.At this time, when the first node device is called the
이때, 상기 제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
예컨대, 전술한 예와 같이, 등록 요청부(131)가 노드 장치(101)로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송함에 따라, 노드 장치(101)에, 상기 트랜잭션과 상기 등록 요청이 수신되었다고 가정하자.For example, as in the example described above, as the
그러면, 노드 장치(101)는 노드 장치(101)의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 블록체인 네트워크(100)를 통해 상기 제1 블록을, 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.Then, the
구체적으로, 노드 장치(101)는 문서 공유 서비스 서버(110)로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 블록체인 데이터에 체인으로 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 트랜잭션이 포함된 새로운 블록인 상기 제1 블록을 생성할 수 있다. 그러고 나서, 노드 장치(101)는 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 블록체인 네트워크(100)를 통해 상기 제1 블록을 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.Specifically, when the
이렇게, 본 발명에 따른 문서 공유 서비스 서버(110)는 상기 제1 문서 파일이 제2 전자 단말(152)로 전송 완료되면, 상기 공유 이력 정보를 생성하여 블록체인 네트워크(100)에 등록해 둠으로써, 제1 회원(141)이 상기 공유 이력 정보를 확인하여, 상기 제1 문서 파일이 누구에게, 언제 공유되었는지를 확인할 수 있도록 지원할 수 있다.In this way, when the first document file is completely transmitted to the second
도 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
본 발명의 일실시예에 따른 문서 공유 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.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.
상기 문서 파일 저장 처리부는
상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 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.
상기 문서 파일 전송부는
암호화된 상기 제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 회원 식별 정보가 서로 대응되어 상기 문서 파일 저장소에 저장된 이후, 상기 제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 문서 파일이 상기 제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.
상기 암호화된 상기 제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.
상기 암호화된 상기 제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.
상기 암호화된 상기 제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.
상기 제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.
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)
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)
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 |
-
2022
- 2022-02-18 KR KR1020220021221A patent/KR102602189B1/en active IP Right Grant
Patent Citations (3)
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 |