KR20230124271A - 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 - Google Patents

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 Download PDF

Info

Publication number
KR20230124271A
KR20230124271A KR1020220021362A KR20220021362A KR20230124271A KR 20230124271 A KR20230124271 A KR 20230124271A KR 1020220021362 A KR1020220021362 A KR 1020220021362A KR 20220021362 A KR20220021362 A KR 20220021362A KR 20230124271 A KR20230124271 A KR 20230124271A
Authority
KR
South Korea
Prior art keywords
document file
document
font
electronic terminal
identification information
Prior art date
Application number
KR1020220021362A
Other languages
Korean (ko)
Other versions
KR102694767B1 (en
Inventor
안치연
서종성
Original Assignee
주식회사 한글과컴퓨터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한글과컴퓨터 filed Critical 주식회사 한글과컴퓨터
Priority to KR1020220021362A priority Critical patent/KR102694767B1/en
Publication of KR20230124271A publication Critical patent/KR20230124271A/en
Application granted granted Critical
Publication of KR102694767B1 publication Critical patent/KR102694767B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

A cloud-based document sharing service, a document sharing service server for storing and sharing document files with unauthorized fonts applied thereto, and an operating method thereof are disclosed. In the cloud-based document sharing service of the present invention, document files with unauthorized fonts applied are encrypted and stored in document file storage. By presenting technology to ensure that only authorized members can view the document files, the possibility of legal disputes due to the use of unauthorized fonts can be minimized.

Description

클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버 및 그 동작 방법{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}Document sharing service server for storing and sharing document files with unauthorized fonts applied in a cloud-based document sharing service and its operating method , IN THE CLOUD-BASED DOCUMENT SHARING SERVICE, AND THE OPERATING METHOD THEREOF}

본 발명은 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a document sharing service server for storing and sharing a document file to which unauthorized fonts are applied in a cloud-based document sharing service and an operation method thereof.

최근, 초고속 인터넷 환경이 널리 보급되고, 재택근무에 대한 수요가 증가함에 따라, 기업이나 학교 등과 같은 다양한 분야에서, 클라우드 기반의 문서 공유 서비스의 도입이 증가하고 있다.BACKGROUND ART [0002] Recently, as a high-speed Internet environment has been widely spread and the demand for telecommuting has increased, the introduction of cloud-based document sharing services has increased 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 terminals of members who have subscribed to the document sharing service, so that members can share document files stored in the document file storage. services that are supported.

이러한 문서 공유 서비스에 가입된 회원들은, 물리적인 제약 없이 문서 파일 저장소에 액세스함으로써, 새로운 문서 파일을 문서 파일 저장소에 저장하거나 문서 파일 저장소에 저장되어 있는 문서 파일을 열람할 수 있다.Members subscribed to the document sharing service can store new document files in the document file storage or view document files stored in the document file storage by accessing the document file storage without physical limitations.

한편, 전자 문서에 포함되어 있는 문자들에는, 문자의 형태를 나타내는 글꼴이 적용되어 있는데, 이러한 글꼴은 사용자들이 자유롭게 사용할 수 있도록 공개된 글꼴일 수도 있지만, 소정의 라이선스를 가진 사용자만이 사용할 수 있도록 배포된 글꼴일 수도 있다.On the other hand, fonts representing the shapes of characters are applied to characters included in electronic documents. These fonts may be open fonts for users to freely use, but only users with a certain license can use them. It can also be a distributed font.

최근에는, 허가되지 않은 글꼴 파일을 사용자가 무단으로 다운로드하여, 자신이 작성하는 전자 문서에 적용시키는 경우가 증가하면서, 글꼴 파일에 대한 저작권 침해 문제가 사회적인 문제로 대두되고 있다.In recent years, as users download unauthorized font files without permission and apply them to electronic documents they create, copyright infringement on font files has emerged as a social problem.

특히, 문서 파일 저장소에 저장되는 문서 파일은, 문서 공유 서비스를 통해 다른 회원들에게 쉽게 공유될 수 있다는 점에서, 문서 파일 저장소에 저장되는 문서 파일에 허가되지 않은 글꼴이 적용되어 있다면, 추후 허가되지 않은 글꼴의 무단 사용으로 인한 법적 분쟁이 발생할 가능성이 있다.In particular, since document files stored in the document file storage can be easily shared with other members through document sharing services, if unauthorized fonts are applied to document files stored in the document file storage, they will not be permitted later. There is a possibility of legal disputes due to unauthorized use of fonts that have not been used.

이와 관련해서, 문서 파일 저장소에 문서 파일을 저장하기 전에, 해당 문서 파일에 따른 전자 문서에, 허가되지 않은 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인하여, 허가되지 않은 글꼴이 적용되어 있는 문자가 존재하는 것으로 확인되는 경우, 해당 문서 파일을 암호화하여 문서 파일 저장소에 저장해 두고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 한다면, 허가되지 않은 글꼴의 무단 사용으로 인한 법적 분쟁의 발생 가능성을 최소화할 수 있을 것이다.In this regard, before storing a document file in the document file storage, it is checked whether a character to which an unauthorized font is applied exists in an electronic document according to the document file, and a character to which an unauthorized font is applied is checked. If it is confirmed to exist, if the document file is encrypted and stored in the document file storage, and only authorized members can view the document file, there is a possibility of legal disputes due to unauthorized use of unauthorized fonts. will be able to minimize

따라서, 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일을 암호화하여 문서 파일 저장소에 저장하고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 하는 기술에 대한 연구가 필요하다.Therefore, in a cloud-based document sharing service, research on a technology for encrypting and storing a document file with unauthorized fonts applied thereto in a document file storage and allowing only authorized members to view the document file is required.

본 발명은 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일을 암호화하여 문서 파일 저장소에 저장하고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 지원하는 기술을 제시함으로써, 허가되지 않은 글꼴의 사용으로 인한 법적 분쟁의 가능성을 최소화할 수 있도록 한다.In a cloud-based document sharing service, the present invention encrypts a document file to which unauthorized fonts are applied and stores it in a document file storage, and provides a technology for supporting only authorized members to view the document file, Minimize the possibility of legal disputes due to the use of unregistered fonts.

본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버는 사용이 허가된 글꼴인 것으로 사전 지정된 n(n은 2 이상의 자연수임)개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있는 허가 글꼴 식별자 저장부, 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부, 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 전자 문서에 대한 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 업로드 요청이 수신되면, 상기 제1 문서 파일을 읽어 들여, 상기 제1 전자 문서에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 상기 허가 글꼴 식별자 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인하는 글꼴 확인부, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제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 cloud-based document sharing service according to an embodiment of the present invention, the document sharing service server for storing and sharing a document file to which an unlicensed font is applied is pre-specified n ( n is a natural number of 2 or more) a permitted font identifier storage unit in which font identifiers for each of the permitted fonts are stored, member identification information of each of a plurality of members subscribed to the document sharing service, and each of the plurality of members From the member information storage unit in which the terminal identification information of the electronic terminals possessed is stored in correspondence with each other, and the first electronic terminal possessed by the first member, which is one of the plurality of members, information about the first electronic document is stored. When a first document file is received and an upload request for the first document file is received, the first document file is read and a font for a font applied to a plurality of characters included in the first electronic document is received. After checking the identifier, font identifiers for each of the n permitted fonts stored in the permitted font identifier storage unit are referred to, and among the plurality of characters, fonts that are not included in the n permitted fonts are applied. A font checking unit that checks whether there is a character that has been designated, and confirms that at least one first character is a character to which a font that is not included in the n permitted fonts is applied among the plurality of characters. If so, to the first electronic terminal, an upload query message including content querying whether to upload the first document file despite the presence of characters with unauthorized fonts applied to the first electronic document is transmitted When an upload command indicating to upload the first document file is received from the first electronic terminal in response to the upload query message, the upload query message transmission unit refers to the member information storage unit, so that the first member A document file storage processing unit configured to identify first member identification information of the first member, encrypt the first document file, and store the encrypted first document file and the first member identification information in a document file storage by matching them with each other; and 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 owned by a second member, which is another one of the plurality of members, When a request for sharing a document file is received, the first member identification information stored in correspondence to the encrypted first document file is checked from the document file storage, and based on the first member identification information, the After checking the first terminal identification information stored in correspondence with the first member identification information from the member information storage unit, based on the first terminal identification information, the first electronic terminal sends the information to the second member. An approval command for sharing the first document file from the first electronic terminal to the second member by transmitting a sharing approval query message including content querying whether to approve sharing the first document file. and a document file transmission unit for extracting the encrypted first document file from the document file storage and then decrypting the encrypted first document file and transmitting the encrypted first document file to the second electronic terminal.

또한, 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 동작 방법은 사용이 허가된 글꼴인 것으로 사전 지정된 n(n은 2 이상의 자연수임)개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있는 허가 글꼴 식별자 저장부를 유지하는 단계, 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부를 유지하는 단계, 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 전자 문서에 대한 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 업로드 요청이 수신되면, 상기 제1 문서 파일을 읽어 들여, 상기 제1 전자 문서에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 상기 허가 글꼴 식별자 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인하는 단계, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제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, in the cloud-based document sharing service according to an embodiment of the present invention, a method of operating a document sharing service server for storing and sharing a document file to which an unauthorized font is applied is a font that is licensed. Maintaining a permitted font identifier storage unit in which font identifiers for each of n (n is a natural number equal to or greater than 2) pre-designated as , and member identification information of each of a plurality of members subscribed to the document sharing service are stored. and maintaining a member information storage unit in which terminal identification information of an electronic terminal possessed by each of the plurality of members is stored in correspondence with each other, and a first member possessed by one of the plurality of members When a first document file for a first electronic document is received from an electronic terminal and an upload request for the first document file is received, the first document file is read, and a plurality of documents included in the first electronic document are received. After confirming font identifiers for fonts applied to the characters of , font identifiers for each of the n permitted fonts stored in the permitted font identifier storage unit are referred to, and among the plurality of characters, the n Checking whether a character to which a font not included in the n permitted fonts is applied exists, among the plurality of characters, a character to which a font not included in the n permitted fonts is applied, at least one If it is confirmed that the first character of exists, the contents of querying whether to upload the first document file to the first electronic terminal despite the presence of characters to which unauthorized fonts are applied to the first electronic document. Transmitting an upload query message including the upload query message, when an upload command instructing to upload the first document file is received from the first electronic terminal in response to the upload query message, referring to the member information storage unit , Confirming first member identification information of the first member, encrypting the first document file, and then matching the encrypted first document file with the first member identification information and storing the first member identification information in a document file storage. and 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 a second electronic terminal possessed by a second member, which is another one of the plurality of members, When a request for sharing a first document file is received, the first member identification information stored in correspondence to the encrypted first document file is checked from the document file storage, and based on the first member identification information, , After checking the first terminal identification information stored in correspondence with the first member identification information from the member information storage unit, based on the first terminal identification information, to the first electronic terminal, the second member for sharing the first document file from the first electronic terminal to the second member by sending a sharing approval inquiry message including content querying whether to approve sharing of the first document file. When an approval command is received, 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.

본 발명은 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일을 암호화하여 문서 파일 저장소에 저장하고, 승인받은 회원만이 해당 문서 파일을 열람할 수 있도록 지원하는 기술을 제시함으로써, 허가되지 않은 글꼴의 사용으로 인한 법적 분쟁의 가능성을 최소화할 수 있다.In a cloud-based document sharing service, the present invention encrypts a document file to which unauthorized fonts are applied and stores it in a document file storage, and provides a technology for supporting only authorized members to view the document file, The possibility of legal disputes due to the use of unregistered fonts can be minimized.

도 1은 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 동작 방법을 도시한 순서도이다.
1 is a diagram showing the structure of a document sharing service server for storing and sharing a document file to which unauthorized fonts are applied in a cloud-based document sharing service according to an embodiment of the present invention.
2 is a flowchart illustrating an operating method of a document sharing service server for storing and sharing a document file to which unauthorized fonts are applied in 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 accompanying drawings. This description is not intended to limit the present invention to specific embodiments, but should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, similar reference numerals have been used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, are common knowledge in the art to which the present invention belongs. has the same meaning as commonly understood by the person who has it.

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

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks of the accompanying block diagram or the steps of the flowchart are computer program instructions that perform designated functions by being loaded into a processor or memory of a device capable of data processing, such as a general-purpose computer, a special purpose computer, a portable notebook computer, and a network computer. can be interpreted as meaning Since these computer program instructions may be stored in a memory included in a computer device or in a computer readable memory, the functions described in blocks of a block diagram or steps of a flowchart are produced as a product containing instruction means for performing them. It could be. Further, 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). Also, it should be noted that in some alternative embodiments, functions mentioned in blocks or steps may be executed out of a predetermined 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은 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 구조를 도시한 도면이다.1 is a diagram showing the structure of a document sharing service server for storing and sharing a document file to which unauthorized fonts are applied in a cloud-based document sharing service according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 문서 공유 서비스 서버(110)는 글꼴 식별자 저장부(111), 회원 정보 저장부(112), 글꼴 확인부(113), 업로드 질의 메시지 전송부(114), 문서 파일 저장 처리부(115) 및 문서 파일 전송부(116)를 포함한다.Referring to FIG. 1, a document sharing service server 110 according to an embodiment of the present invention includes a font identifier storage unit 111, a member information storage unit 112, a font check unit 113, and an upload query message transmission unit. 114, a document file storage processing unit 115 and a document file transmission unit 116.

글꼴 식별자 저장부(111)에는 사용이 허가된 글꼴인 것으로 사전 지정된 n(n은 2 이상의 자연수임)개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있다.The font identifier storage unit 111 stores font identifiers for each of n (n is a natural number equal to or greater than 2) permitted fonts pre-specified as permitted fonts.

예컨대, n을 '5'라고 하는 경우, 글꼴 식별자 저장부(111)에는 하기의 표 1과 같은 '5'개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있을 수 있다.For example, when n is '5', the font identifier storage unit 111 may store font identifiers for each of '5' permitted fonts as shown in Table 1 below.

'5'개의 허가 글꼴들'5' licensed fonts 글꼴 식별자font identifier 글꼴 1font 1 식별자 1identifier 1 글꼴 2font 2 식별자 2identifier 2 글꼴 3font 3 식별자 3identifier 3 글꼴 4font 4 식별자 4identifier 4 글꼴 5font 5 식별자 5identifier 5

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

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

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

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

글꼴 확인부(113)는 상기 복수의 회원들 중 어느 한 명인 제1 회원(141)이 보유하고 있는 제1 전자 단말(151)로부터, 제1 전자 문서에 대한 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 업로드 요청이 수신되면, 상기 제1 문서 파일을 읽어 들여, 상기 제1 전자 문서에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 허가 글꼴 식별자 저장부(111)에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인한다.The font checking unit 113 receives the first document file for the first electronic document from the first electronic terminal 151 possessed by the first member 141, which is one of the plurality of members, When an upload request for a first document file is received, the first document file is read, a font identifier for a font applied to a plurality of characters included in the first electronic document is checked, and then the permitted font identifier is stored. With reference to the font identifier for each of the n permitted fonts stored in the unit 111, whether there is a character to which a font not included in the n permitted fonts is applied among the plurality of characters. Check the

업로드 질의 메시지 전송부(114)는 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제1 문자가 존재하는 것으로 확인되면, 제1 전자 단말(151)로, 상기 제1 전자 문서에 허가되지 않은 글꼴이 적용된 문자가 존재함에도 불구하고 상기 제1 문서 파일을 업로드할 것인지 여부를 질의하는 내용이 포함된 업로드 질의 메시지를 전송한다.The upload query message transmission unit 114 determines that there is at least one first character among the plurality of characters, to which a font that is not included in the n allowed fonts is applied, the first electronic To the terminal 151, an upload query message including content inquiring about whether to upload the first document file is transmitted despite the presence of characters with unauthorized fonts applied to the first electronic document.

문서 파일 저장 처리부(115)는 상기 업로드 질의 메시지에 대응하여, 제1 전자 단말(151)로부터, 상기 제1 문서 파일을 업로드할 것을 지시하는 업로드 명령이 수신되면, 회원 정보 저장부(112)를 참조하여, 제1 회원(141)의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소(137)에 저장한다.When receiving an upload command instructing to upload the first document file from the first electronic terminal 151 in response to the upload query message, the document file storage processing unit 115 stores the member information storage unit 112. Referring to, after checking the first member identification information of the first member 141, encrypting the first document file, and then matching the encrypted first document file with the first member identification information, the document file storage Save to (137).

이하에서는, 글꼴 확인부(113), 업로드 질의 메시지 전송부(114) 및 문서 파일 저장 처리부(115)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the font checking unit 113, the upload query message transmission unit 114, and the document file storage processing unit 115 will be described in detail by way of example.

먼저, 문서 공유 서비스 서버(110)에, '회원 1(141)'이 보유하고 있는 '전자 단말 1(151)'로부터, '전자 문서 1'에 대한 '문서 파일 1'이 수신되면서, '문서 파일 1'에 대한 업로드 요청이 수신되었다고 가정하자.First, while the document sharing service server 110 receives 'document file 1' for 'electronic document 1' from 'electronic terminal 1 151' owned by 'member 1 141', 'document file 1' is received. Assume that an upload request for file 1' is received.

그러면, 글꼴 확인부(113)는 '문서 파일 1'을 읽어 들여, '전자 문서 1'에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 상기 표 1과 같은 허가 글꼴 식별자 저장부(111)에 저장되어 있는 '5'개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, '5'개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인할 수 있다.Then, the font checking unit 113 reads 'document file 1', checks font identifiers for fonts applied to a plurality of characters included in 'electronic document 1', and then allows fonts as shown in Table 1 above. With reference to the font identifier for each of the '5' permitted fonts stored in the identifier storage unit 111, a character to which a font not included in the '5' permitted fonts is applied among the plurality of characters. You can check whether it exists or not.

그 결과, 상기 복수의 문자들 중, '5'개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제1 문자가 존재하는 것으로 확인되었다고 가정하자.As a result, it is assumed that among the plurality of characters, it is confirmed that at least one first character is a character to which a font that is not included in the '5' allowed fonts is applied.

그러면, 업로드 질의 메시지 전송부(114)는 '전자 단말 1(151)'로, '전자 문서 1'에 허가되지 않은 글꼴이 적용된 문자가 존재함에도 불구하고 '문서 파일 1'을 업로드할 것인지 여부를 질의하는 내용이 포함된 업로드 질의 메시지를 전송할 수 있다.Then, the upload query message transmission unit 114 determines whether to upload the 'document file 1' to the 'electronic terminal 1 151' despite the presence of characters with unauthorized fonts applied to the 'electronic document 1'. An upload query message containing the content to be queried can be transmitted.

이에 대응하여, '전자 단말 1(151)'로부터, '문서 파일 1'을 업로드할 것을 지시하는 업로드 명령이 수신되면, 문서 파일 저장 처리부(115)는 회원 정보 저장부(112)를 참조하여, '회원 1(141)'의 회원 식별 정보인 '회원 식별 정보 1'을 확인하고, '문서 파일 1'을 암호화한 후, 암호화된 '문서 파일 1'과 '회원 식별 정보 1'을 서로 대응시켜 문서 파일 저장소(137)에 저장할 수 있다.Correspondingly, when an upload command instructing to upload 'document file 1' is received from 'electronic terminal 1 151', the document file storage processing unit 115 refers to the member information storage unit 112, After confirming 'member identification information 1', which is member identification information of 'member 1 (141)', encrypting 'document file 1', and then matching the encrypted 'document file 1' with 'member identification information 1' It can be stored in the document file storage 137.

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

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

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

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

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

암호화 이벤트 발생부(120)는 상기 업로드 질의 메시지에 대응하여, 제1 전자 단말(151)로부터 상기 업로드 명령이 수신되면, 회원 정보 저장부(112)를 참조하여, 제1 회원(141)의 상기 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화하기 위한 암호화 이벤트를 발생시킨다.When the upload command is received from the first electronic terminal 151 in response to the upload query message, the encryption event generating unit 120 refers to the member information storage unit 112, so that the first member 141 First member identification information is checked, and an encryption event for encrypting the first document file is generated.

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

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

연산 코드 생성부(123)는 상기 제1 비밀번호를 구성하는 t개의 숫자들 각각에 대해 모듈로(modulo)-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제1 연산 코드를 생성하고, 상기 제1 일련번호를 구성하는 t개의 숫자들 각각에 대해 모듈로-2 연산을 수행하였을 때의 결과 값을 비트열로 구성함으로써 t비트의 제2 연산 코드를 생성한다.The operation code generation unit 123 configures the resultant value when a modulo-2 operation is performed on each of the t numbers constituting the first password as a bit string to obtain a t-bit first operation code And a t-bit second operation code is generated by configuring a resultant value obtained when a modulo-2 operation is performed on each of the t numbers constituting the first serial number as a bit string.

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

암호화키 생성부(124)는 상기 제1 연산 코드와 상기 제2 연산 코드 간의 배타적 논리합(XOR) 연산을 수행함으로써, t비트의 시드(seed) 코드를 생성한 후, 상기 시드 코드를 사전 설정된 암호화키 생성 함수에 입력으로 인가하여 제1 암호화키를 생성한다. 여기서, 상기 암호화키 생성 함수는 사전 설정된 소정의 해시 함수일 수 있다.The encryption key generator 124 generates a t-bit seed code by performing an exclusive OR (XOR) operation between the first operation code and the second operation code, and then encrypts the seed code in advance It is applied as an input to a key generation function to generate a first encryption key. Here, the encryption key generating function may be a predetermined hash function.

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

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

먼저, 전술한 예와 같이, 업로드 질의 메시지 전송부(114)에 의해 '전자 단말 1(151)'로, '전자 문서 1'에 허가되지 않은 글꼴이 적용된 문자가 존재함에도 불구하고 '문서 파일 1'을 업로드할 것인지 여부를 질의하는 내용이 포함된 업로드 질의 메시지가 전송되었다고 가정하자. 이때, 상기 업로드 질의 메시지를 확인한 '회원 1(141)'이 '전자 단말 1(151)' 상에 '문서 파일 1'을 업로드할 것을 지시하는 업로드 명령을 인가하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, 상기 업로드 명령이 수신되었다고 가정하자.First, as in the above example, 'document file 1' is sent to 'electronic terminal 1 151' by the upload query message transmission unit 114 despite the presence of characters with unauthorized fonts applied to 'electronic document 1'. Suppose that an upload query message including a content querying whether to upload ' is sent. At this time, it is assumed that 'member 1 (141)' who confirmed the upload query message applied an upload command instructing to upload 'document file 1' on 'electronic terminal 1 (151)', and accordingly, the document sharing service Assume that the server 110 receives the upload command from the 'electronic terminal 1 (151)'.

그러면, 암호화 이벤트 발생부(120)는 상기 표 2와 같은 회원 정보 저장부(112)를 참조하여, '회원 1(141)'의 식별 정보인 '회원 식별 정보 1'을 상기 제1 회원 식별 정보로 확인할 수 있고, '문서 파일 1'을 암호화하기 위한 암호화 이벤트를 발생시킬 수 있다.Then, the encryption event generation unit 120 refers to the member information storage unit 112 as shown in Table 2 above, and converts 'member identification information 1', which is identification information of 'member 1 (141)', to the first member identification information. , and an encryption event for encrypting 'document file 1' can be generated.

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

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

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

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

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

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

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

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

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

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

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

공유 승인 질의 메시지 전송부(127)는 식별 정보 확인부(126)에 의해 상기 제1 회원 식별 정보가 확인되면, 상기 제1 회원 식별 정보를 기초로, 회원 정보 저장부(112)로부터, 상기 제1 회원 식별 정보에 대응되어 저장되어 있는 상기 제1 단말 식별 정보를 확인한 후, 상기 제1 단말 식별 정보를 기초로, 제1 전자 단말(151)로 상기 공유 승인 질의 메시지를 전송한다.When the first member identification information is confirmed by the identification information verification unit 126, the sharing approval query message transmission unit 127 transmits information from the member information storage unit 112 based on the first member identification information. 1 After confirming the first terminal identification information stored in correspondence with member identification information, the sharing approval query message is transmitted to the first electronic terminal 151 based on the first terminal identification information.

복호화 이벤트 발생부(128)는 상기 공유 승인 질의 메시지에 대응하여, 제1 전자 단말(151)로부터 상기 승인 명령이 수신되면, 문서 파일 저장소(137)로부터, 암호화된 상기 제1 문서 파일을 추출한 후, 암호화된 상기 제1 문서 파일을 복호화하기 위한 복호화 이벤트를 발생시킨다.The decryption event generation unit 128 extracts the encrypted first document file from the document file storage 137 when the approval command is received from the first electronic terminal 151 in response to the sharing approval query message. , generates a decryption event for decrypting the encrypted first document file.

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

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

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

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

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

먼저, 전술한 예와 같이, 문서 파일 저장 처리부(115)에 의해, 암호화된 '문서 파일 1'과 '회원 식별 정보 1'이 서로 대응되어 문서 파일 저장소(137)에 저장되었다고 하고, 그 이후, 문서 공유 서비스 서버(110)에 '회원 2(142)'가 보유하고 있는 '전자 단말 2(152)'로부터, '문서 파일 1'에 대한 공유 요청이 수신되었다고 가정하자. 그리고,, '전자 단말 1(151)'은, 문서 공유 서비스 서버(110)와 사전 공유하고 있는, 상기 표 3과 같은 일련번호 테이블을 저장하여 유지하고 있다고 가정하자.First, as in the above example, it is assumed that the encrypted 'document file 1' and 'member identification information 1' are stored in the document file storage 137 in correspondence with each other by the document file storage processing unit 115, and thereafter, Assume that the document sharing service server 110 receives a sharing request for 'document file 1' from 'electronic terminal 2 152' possessed by 'member 2 142'. And, suppose that the 'electronic terminal 1 (151)' stores and maintains a serial number table as shown in Table 3, which is previously shared with the document sharing service server 110.

그러면, 식별 정보 확인부(126)는 문서 파일 저장소(137)로부터, 암호화된 '문서 파일 1'에 대응되어 저장되어 있는 '회원 식별 정보 1'을 확인할 수 있다.Then, the identification information checking unit 126 can check the stored 'member identification information 1' corresponding to the encrypted 'document file 1' from the document file storage 137.

그 이후, 공유 승인 질의 메시지 전송부(127)는 '회원 식별 정보 1'을 기초로, 상기 표 2와 같은 회원 정보 저장부(112)로부터, '회원 식별 정보 1'에 대응되어 저장되어 있는 '단말 식별 정보 1'을 확인할 수 있다.After that, the sharing approval query message transmission unit 127, based on 'member identification information 1', from the member information storage unit 112 as shown in Table 2 above, 'member identification information 1' is stored in correspondence with 'member identification information 1'. Terminal identification information 1' can be checked.

그러고 나서, 공유 승인 질의 메시지 전송부(127)는 '단말 식별 정보 1'을 기초로, '전자 단말 1(151)'로, '회원 2(142)'에게 '문서 파일 1'을 공유하는 것에 대한 승인 여부를 질의하는 내용이 포함된 상기 공유 승인 질의 메시지를 전송할 수 있다.Then, the sharing approval query message transmission unit 127 decides to share the 'document file 1' to the 'electronic terminal 1 151' and to the 'member 2 142' based on the 'terminal identification information 1'. The sharing approval query message including the content for querying whether to approve the sharing may be transmitted.

이때, 상기 공유 승인 질의 메시지를 확인한 '회원 1(141)'이 '전자 단말 1(151)' 상에, '회원 2(142)'에게 '문서 파일 1'을 공유하는 것에 대한 승인 명령을 인가하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 1(151)'로부터, 상기 승인 명령이 수신되었다고 가정하자.At this time, 'Member 1 (141)', who has confirmed the sharing approval query message, applies an approval command for sharing 'Document File 1' to 'Member 2 (142)' on 'Electronic Terminal 1 (151)'. Assume that the document sharing service server 110 receives the approval command from the 'electronic terminal 1 (151)'.

그러면, 복호화 이벤트 발생부(128)는 문서 파일 저장소(137)로부터, 암호화된 '문서 파일 1'을 추출한 후, 암호화된 '문서 파일 1'을 복호화하기 위한 복호화 이벤트를 발생시킬 수 있다.Then, the decryption event generating unit 128 may generate a decryption event for decrypting the encrypted 'document file 1' after extracting the encrypted 'document file 1' from the document file storage 137.

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

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

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

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

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

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

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

저장 이력 정보 생성부(117)는 문서 파일 저장 처리부(115)에 의해, 암호화된 상기 제1 문서 파일이 문서 파일 저장소(137)에 저장 완료되면, 암호화된 상기 제1 문서 파일이 문서 파일 저장소(137)에 저장된 시점에 대한 시간 정보를 생성하고, 제1 전자 단말(151)로부터 제1 전자 단말(151)의 현재 위치 정보를 수신한 후, 상기 제1 회원 식별 정보, 상기 제1 문서 파일, 상기 시간 정보 및 상기 현재 위치 정보로 구성된 저장 이력 정보를 생성한다.The storage history information generation unit 117 stores the encrypted first document file in the document file storage 137 by the document file storage processing unit 115, and the encrypted first document file is stored in the document file storage ( 137), after generating time information for a time point stored in the first electronic terminal 151 and receiving current location information of the first electronic terminal 151, the first member identification information, the first document file, Storage history information composed of the time information and the current location information is created.

등록 요청부(118)는 저장 이력 정보 생성부(117)에 의해 상기 저장 이력 정보가 생성되면, 상기 저장 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.When the storage history information is generated by the storage history information generator 117, the registration request unit 118 generates a transaction including the storage history information, and then generates a transaction including the storage history information, A block chain network of the transaction ( 100) transmits a registration request.

이하에서는, 저장 이력 정보 생성부(117) 및 등록 요청부(118)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the storage history information generator 117 and the registration request unit 118 will be described in detail, for example.

먼저, 전술한 예와 같이, 문서 파일 저장 처리부(115)에 의해 암호화된 '문서 파일 1'과 '회원 식별 정보 1'이 서로 대응되어 문서 파일 저장소(137)에 저장되었다고 가정하자.First, as in the above example, it is assumed that 'document file 1' encrypted by the document file storage processing unit 115 and 'member identification information 1' are stored in the document file storage 137 in correspondence with each other.

이때, 저장 이력 정보 생성부(117)는 암호화된 '문서 파일 1'과 '회원 식별 정보 1'이 문서 파일 저장소(137)에 저장된 시점에 대한 시간 정보인 '시간 정보 1'을 생성할 수 있고, '전자 단말 1(151)'로부터 '전자 단말 1(151)'의 현재 위치 정보인 '위치 정보 1'을 수신할 수 있다.At this time, the storage history information generator 117 may generate 'time information 1', which is time information about the time when the encrypted 'document file 1' and 'member identification information 1' are stored in the document file storage 137, , 'Location information 1', which is the current location information of the 'electronic terminal 1 151', may be received from the 'electronic terminal 1 151'.

그러고 나서, 저장 이력 정보 생성부(117)는 '회원 식별 정보 1', '문서 파일 1', '시간 정보 1' 및 '위치 정보 1'로 구성된 저장 이력 정보를 생성할 수 있다.Then, the storage history information generation unit 117 may generate storage history information composed of 'member identification information 1', 'document file 1', 'time information 1', and 'location information 1'.

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

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

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

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

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

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

이렇게, 본 발명에 따른 문서 공유 서비스 서버(110)는 암호화된 상기 제1 문서 파일이 문서 파일 저장소(137)에 저장 완료되면, 상기 저장 이력 정보를 생성하여 블록체인 네트워크(100)에 등록해 둠으로써, 상기 제1 문서 파일에 적용된 허가되지 않은 글꼴로 인해 법적 분쟁이 발생하는 경우, 상기 저장 이력 정보를 확인하여, 누가, 언제, 어디에서 상기 제1 문서 파일을 업로드했는지를 확인할 수 있도록 지원할 수 있다.In this way, the document sharing service server 110 according to the present invention, when the encrypted first document file is stored in the document file storage 137, generates the storage history information and registers it in the blockchain network 100 As a result, when a legal dispute occurs due to an unauthorized font applied to the first document file, it is possible to check the storage history information to support checking who uploaded the first document file, when, and where. there is.

또한, 본 발명의 일실시예에 따른 문서 공유 서비스 서버(110)는 허가 글꼴 데이터 저장부(133), 글꼴 대체 질의 메시지 전송부(134), 연산 값 산출부(135) 및 글꼴 데이터 전송부(136)를 더 포함할 수 있다.In addition, the document sharing service server 110 according to an embodiment of the present invention includes a permitted font data storage unit 133, a font replacement query message transmission unit 134, a calculation value calculation unit 135, and a font data transmission unit ( 136) may be further included.

허가 글꼴 데이터 저장부(133)에는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터가 저장되어 있다.Font data for each of the n permitted fonts is stored in the permitted font data storage unit 133 .

여기서, 상기 글꼴 데이터는, 문서 파일이 로드될 때, 상기 문서 파일에 포함된 문자들에 대해 글꼴 서식을 적용하는 데 사용되는 데이터를 의미하는 것으로, 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터에는, 0 이상 n 미만의 정수로 구성된 서로 다른 고유 식별 번호가 사전 할당되어 있다.Here, the font data refers to data used to apply a font format to characters included in the document file when the document file is loaded, and the font data for each of the n allowed fonts includes , different unique identification numbers consisting of integers greater than or equal to 0 and less than n are pre-assigned.

예컨대, 전술한 예와 같이, n을 '5'라고 하는 경우, 허가 글꼴 데이터 저장부(133)에는 하기의 표 4와 같은 '5'개의 허가 글꼴들 각각에 대한 글꼴 데이터가 저장되어 있을 수 있다.For example, as in the above example, when n is '5', font data for each of '5' permitted fonts as shown in Table 4 below may be stored in the permitted font data storage unit 133. .

'5'개의 허가 글꼴들'5' licensed fonts 글꼴 데이터font data 고유 식별 번호unique identification number 글꼴 1font 1 글꼴 데이터 1font data 1 00 글꼴 2font 2 글꼴 데이터 2font data 2 1One 글꼴 3font 3 글꼴 데이터 3font data 3 22 글꼴 4font 4 글꼴 데이터 4font data 4 33 글꼴 5font 5 글꼴 데이터 5font data 5 44

글꼴 대체 질의 메시지 전송부(134)는 문서 파일 전송부(116)에 의해, 상기 제1 문서 파일이 제2 전자 단말(152)로 전송 완료되면, 제2 전자 단말(152)로, 상기 제1 전자 문서에 허가되지 않은 글꼴이 적용된 문자가 존재함을 안내함과 동시에, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할지 여부를 질의하는 내용이 포함된 글꼴 대체 질의 메시지를 전송한다.When the transmission of the first document file to the second electronic terminal 152 is completed by the document file transmission unit 116, the font substitution query message transmission unit 134 sends the first document file to the second electronic terminal 152. It informs that there are characters applied with unauthorized fonts in the electronic document and at the same time inquires whether or not to replace the font of characters applied with unauthorized fonts existing in the first electronic document with a substitute font. font substitution query message.

연산 값 산출부(135)는 상기 글꼴 대체 질의 메시지에 대응하여, 제2 전자 단말(152)로부터, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할 것을 지시하는 글꼴 대체 명령이 수신되면, 제2 전자 단말(152)로부터 상기 글꼴 대체 명령이 수신된 시점에 대한 날짜 값을 생성한 후, 상기 날짜 값에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 산출한다.In response to the font replacement query message, the calculation value calculation unit 135 replaces, from the second electronic terminal 152, the font of characters to which an unauthorized font existing in the first electronic document is applied is applied with a substitute font. When a font replacement command indicating a font replacement command is received, a date value for the point in time at which the font replacement command is received from the second electronic terminal 152 is generated, and then a modulo operation is performed on the date value with n as a divisor. By doing so, the calculation value is calculated.

글꼴 데이터 전송부(136)는 연산 값 산출부(135)에 의해 상기 연산 값이 산출되면, 허가 글꼴 데이터 저장부(133)에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터 중, 상기 연산 값을 고유 식별 번호로 갖는 제1 글꼴 데이터를 추출하여 제2 전자 단말(152)로 전송한다.When the calculation value is calculated by the calculation value calculation unit 135, the font data transmission unit 136 selects the font data for each of the n permitted fonts stored in the permitted font data storage unit 133. The first font data having the calculation value as a unique identification number is extracted and transmitted to the second electronic terminal 152 .

이때, 제2 전자 단말(152)은 문서 공유 서비스 서버(110)로부터 상기 제1 글꼴 데이터가 수신되면, 상기 제1 글꼴 데이터를 기초로, 상기 제1 전자 문서에 포함된 상기 적어도 하나의 제1 문자의 글꼴 서식을, 상기 제1 글꼴 데이터에 따른 글꼴 서식으로 대체하여 적용함으로써, 상기 제1 전자 문서를 수정할 수 있다.At this time, when the first font data is received from the document sharing service server 110, the second electronic terminal 152, based on the first font data, the at least one first font included in the first electronic document The first electronic document may be corrected by substituting and applying a font style of a character to a font style according to the first font data.

이하에서는, 글꼴 대체 질의 메시지 전송부(134), 연산 값 산출부(135) 및 글꼴 데이터 전송부(136)의 동작을 예를 들어, 상세히 설명하기로 한다.Hereinafter, operations of the font replacement query message transmission unit 134, calculation value calculation unit 135, and font data transmission unit 136 will be described in detail, for example.

먼저, 전술한 예와 같이, 문서 파일 전송부(116)에 의해, '문서 파일 1'이 '전자 단말 2(152)'로 전송 완료되었다고 가정하자.First, as in the above example, it is assumed that the transmission of 'document file 1' to 'electronic terminal 2 (152)' is completed by the document file transmission unit 116.

그러면, 글꼴 대체 질의 메시지 전송부(134)는 '전자 단말 2(152)'로, '전자 문서 1'에 허가되지 않은 글꼴이 적용된 문자가 존재함을 안내함과 동시에, '전자 문서 1'에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할지 여부를 질의하는 내용이 포함된 글꼴 대체 질의 메시지를 전송할 수 있다.Then, the font substitution query message transmission unit 134 informs the 'electronic terminal 2 152' that there are characters applied with an unauthorized font in the 'electronic document 1' and at the same time informs the 'electronic terminal 1' A font substitution query message including contents querying whether to replace the font of characters applied with an existing unauthorized font with a substitute font may be transmitted.

이때, 상기 글꼴 대체 질의 메시지를 확인한 '회원 2(142)'가 '전자 단말 2(152)' 상에, '전자 문서 1'에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할 것을 지시하는 글꼴 대체 명령을 인가하였다고 하고, 이에 따라, 문서 공유 서비스 서버(110)에 '전자 단말 2(152)'로부터 상기 글꼴 대체 명령이 수신되었다고 가정하자.At this time, 'Member 2 (142)', who has confirmed the font replacement query message, converts the font of the text to which the unauthorized font existing in 'Electronic Document 1' is applied on the 'Electronic Terminal 2 (152)' as a substitute font. Assume that a font replacement command indicating replacement is applied, and accordingly, the document sharing service server 110 receives the font replacement command from the 'electronic terminal 2 152'.

이와 관련해서, 문서 공유 서비스 서버(110)에 '전자 단말 2(152)'로부터 상기 글꼴 대체 명령이 수신된 시점이 '2022년 1월 26일'이라고 하는 경우, 연산 값 산출부(135)는 '전자 단말 2(152)'로부터 상기 글꼴 대체 명령이 수신된 시점에 대한 날짜 값을 '20220126'과 같이 생성할 수 있다.In this regard, when the document sharing service server 110 receives the font replacement command from the 'electronic terminal 2 152' as 'January 26, 2022', the calculation value calculation unit 135 A date value for the point in time at which the font replacement command is received from the 'electronic terminal 2 152' may be generated as '20220126'.

그러고 나서, 연산 값 산출부(135)는 '20220126'에 대해 '5'를 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 '1'과 같이 산출할 수 있다.Then, the calculation value calculation unit 135 may calculate the calculation value as '1' by performing a modulo operation with '5' as a divisor for '20220126'.

그 이후, 글꼴 데이터 전송부(136)는 상기 표 4와 같은 허가 글꼴 데이터 저장부(133)에 저장되어 있는 '5'개의 허가 글꼴들 각각에 대한 글꼴 데이터 중, '1'을 고유 식별 번호로 갖는 글꼴 데이터인 '글꼴 데이터 2'를 추출하여 '전자 단말 2(152)'로 전송할 수 있다.After that, the font data transmission unit 136 sets '1' as a unique identification number among the font data for each of the '5' permitted fonts stored in the permitted font data storage unit 133 as shown in Table 4 above. 'Font data 2', which is the font data having, may be extracted and transmitted to the 'electronic terminal 2 (152)'.

그러면, '전자 단말 2(152)'는 '글꼴 데이터 2'를 기초로, '전자 문서 1'에 포함된 상기 적어도 하나의 제1 문자의 글꼴 서식을, '글꼴 데이터 2'에 따른 글꼴 서식으로 대체하여 적용함으로써, '전자 문서 1'을 수정할 수 있다.Then, the 'electronic terminal 2 152' converts the font format of the at least one first character included in the 'electronic document 1' into a font format according to 'font data 2' based on 'font data 2'. By replacing and applying, 'Electronic Document 1' can be modified.

이를 통해, '회원 2(142)'는 상기 적어도 하나의 제1 문자의 글꼴 서식이, '글꼴 데이터 2'에 따른 글꼴 서식으로 대체되어 적용되어 있는 '전자 문서 1'을 획득할 수 있다.Through this, 'Member 2 (142)' can acquire 'Electronic Document 1' to which the font format of the at least one first character is replaced with the font format according to 'Font Data 2'.

도 2는 본 발명의 일실시예에 따른 클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 동작 방법을 도시한 순서도이다.2 is a flowchart illustrating an operating method of a document sharing service server for storing and sharing a document file to which unauthorized fonts are applied in a cloud-based document sharing service according to an embodiment of the present invention.

단계(S210)에서는 사용이 허가된 글꼴인 것으로 사전 지정된 n(n은 2 이상의 자연수임)개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있는 허가 글꼴 식별자 저장부를 유지한다,In step S210, a permitted font identifier storage unit in which font identifiers for each of n (n is a natural number equal to or greater than 2) previously designated as permitted fonts is stored is maintained.

단계(S220)에서는 상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부를 유지한다.In step S220, 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 possessed by each of the plurality of members are stored in correspondence with each other. keep

단계(S230)에서는 상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 전자 문서에 대한 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 업로드 요청이 수신되면, 상기 제1 문서 파일을 읽어 들여, 상기 제1 전자 문서에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 상기 허가 글꼴 식별자 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인한다.In step S230, a first document file for a first electronic document is received from a first electronic terminal possessed by a first member, which is one of the plurality of members, and an upload request for the first document file is received. is received, the first document file is read, font identifiers for fonts applied to a plurality of characters included in the first electronic document are checked, and then the n stored in the allowed font identifier storage unit is checked. With reference to font identifiers for each of the allowed fonts, it is checked whether there is a character to which a font not included in the n permitted fonts is applied among the plurality of characters.

단계(S240)에서는 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제1 문자가 존재하는 것으로 확인되면, 상기 제1 전자 단말로, 상기 제1 전자 문서에 허가되지 않은 글꼴이 적용된 문자가 존재함에도 불구하고 상기 제1 문서 파일을 업로드할 것인지 여부를 질의하는 내용이 포함된 업로드 질의 메시지를 전송한다.In step S240, if it is confirmed that at least one first character exists as a character to which a font that is not included in the n allowed fonts is applied among the plurality of characters, to the first electronic terminal, An upload query message including content inquiring about whether to upload the first document file is transmitted despite the existence of texts applied with an unauthorized font to the first electronic document.

단계(S250)에서는 상기 업로드 질의 메시지에 대응하여, 상기 제1 전자 단말로부터, 상기 제1 문서 파일을 업로드할 것을 지시하는 업로드 명령이 수신되면, 상기 회원 정보 저장부를 참조하여, 상기 제1 회원의 제1 회원 식별 정보를 확인하고, 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장한다.In step S250, when an upload command instructing to upload the first document file is received from the first electronic terminal in response to the upload query message, the member information storage unit is referred to the first member information storage unit. After confirming the first member identification information and encrypting the first document file, the encrypted first document file and the first member identification information are matched and stored in a document file storage.

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

이때, 본 발명의 일실시예에 따르면, 상기 문서 공유 서비스 서버의 동작 방법은 암호화된 상기 제1 문서 파일이 상기 문서 파일 저장소에 저장 완료되면, 암호화된 상기 제1 문서 파일이 상기 문서 파일 저장소에 저장된 시점에 대한 시간 정보를 생성하고, 상기 제1 전자 단말로부터 상기 제1 전자 단말의 현재 위치 정보를 수신한 후, 상기 제1 회원 식별 정보, 상기 제1 문서 파일, 상기 시간 정보 및 상기 현재 위치 정보로 구성된 저장 이력 정보를 생성하는 단계 및 상기 저장 이력 정보가 생성되면, 상기 저장 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있고, 이때, 상기 제1 노드 장치는 상기 문서 공유 서비스 서버로부터, 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.At this time, according to one embodiment of the present invention, in the operating method of the document sharing service server, when the encrypted first document file is stored in the document file storage, the encrypted first document file is stored in the document file storage. After generating time information for a stored time point and receiving current location information of the first electronic terminal from the first electronic terminal, the first member identification information, the first document file, the time information and the current location Generating storage history information composed of information, and when the storage history information is generated, after generating a transaction including the storage history information, a first one of a plurality of node devices constituting a blockchain network The method may further include randomly selecting a node device and transmitting a request for registration of the transaction to the blockchain network while transmitting the transaction to the first node device, wherein the first node device When the transaction and the registration request are received from the document sharing service server, based on the previous block chained to the blockchain data stored on the memory of the first node device, the first node including the transaction After completing the storage of the first block by generating a block and connecting the first block to the blockchain data in a chain, the first block is transmitted through the blockchain network to the plurality of node devices. Among them, it is possible to propagate to the remaining node devices except for the first node device.

또한, 본 발명의 일실시예에 따르면, 단계(S250)에서는 상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 단계, 상기 업로드 질의 메시지에 대응하여, 상기 제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 회원 식별 정보를 서로 대응시켜 상기 문서 파일 저장소에 저장하는 단계를 포함할 수 있다.In addition, according to one embodiment of the present invention, in step S250, different t (t is a natural number of 2 or more) storing and maintaining a serial number table in which serial numbers of digits are recorded, in response to the upload query message, when the upload command is received from the first electronic terminal, refer to the member information storage unit checking the first member identification information of the first member, and generating an encryption event for encrypting the first document file; when the encryption event occurs, to the first electronic terminal, Transmitting a password setting request message including content requesting setting a password of t digits for encryption of a document file, in response to the password setting request message, as a first password is set by the first member , When the first password is received from the first electronic terminal, checking the first document format of the first document file, 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 resultant value when a modulo-2 operation is performed on each of the t numbers constituting the first password as a bit string, and the first serial number Generating a second operation code of t bits by configuring a value obtained when a modulo-2 operation is performed on each of the t numbers constituted as a bit string, the first operation code and the second operation code After generating a t-bit seed code by performing an exclusive OR operation between the two, generating a first encryption key by applying the seed code as an input to a preset encryption key generation function, and converting the first document file to the first After encrypting with 1 encryption key, the encrypted first document file and the first member identification information may be mapped to each other and stored in the document file storage.

이때, 본 발명의 일실시예에 따르면, 단계(S260)에서는 암호화된 상기 제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 S260, 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, When a request for sharing a first document file is received, checking the first member identification information stored in correspondence with the encrypted first document file from the document file storage, the first member identification information being checked , based on the first member identification information, after checking the first terminal identification information stored in correspondence with the first member identification information from the member information storage unit, based on the first terminal identification information , Transmitting the sharing approval query message to the first electronic terminal, in response to the sharing approval query message, when the approval command is received from the first electronic terminal, from the document file storage, the encrypted first After extracting the document file, generating a decryption event for decrypting the encrypted first document file, when the decryption event occurs, to the first electronic terminal, the password set for encryption of the first document file At the same time as transmitting a password input request message including content requesting input, 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. Sending a serial number reply command requesting a reply, in response to the password input request message, as the first member inputs the first password on the first electronic terminal, the first The first password is received from the electronic terminal, and in response to the serial number return command, the first document format is corresponding to the serial number table stored on the first electronic terminal by the first electronic terminal. As the first serial number is extracted, when the first serial number is returned from the first electronic terminal, when a modulo-2 operation is performed on each of the t numbers constituting the first password The first operation code of t bits is generated by configuring the result value as a bit string, and the result value when the modulo-2 operation is performed on each of the t numbers constituting the first serial number is a bit string Generating the second operation code of t bits by configuring, generating the seed code of t bits by performing an exclusive OR operation between the first operation code and the second operation code, and then generating the seed code After restoring the first document file by decrypting the encrypted first document file with the first encryption key, an encryption key regeneration unit generating the first encryption key by applying the input to the encryption key generation function as an input, and then restoring the first document file. and transmitting the first document file to the second electronic terminal.

또한, 본 발명의 일실시예에 따르면, 상기 문서 공유 서비스 서버의 동작 방법은 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터(상기 글꼴 데이터는, 문서 파일이 로드될 때, 상기 문서 파일에 포함된 문자들에 대해 글꼴 서식을 적용하는 데 사용되는 데이터를 의미하는 것으로, 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터에는, 0 이상 n 미만의 정수로 구성된 서로 다른 고유 식별 번호가 사전 할당되어 있음)가 저장되어 있는 허가 글꼴 데이터 저장부를 유지하는 단계, 상기 제1 문서 파일이 상기 제2 전자 단말로 전송 완료되면, 상기 제2 전자 단말로, 상기 제1 전자 문서에 허가되지 않은 글꼴이 적용된 문자가 존재함을 안내함과 동시에, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할지 여부를 질의하는 내용이 포함된 글꼴 대체 질의 메시지를 전송하는 단계, 상기 글꼴 대체 질의 메시지에 대응하여, 상기 제2 전자 단말로부터, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할 것을 지시하는 글꼴 대체 명령이 수신되면, 상기 제2 전자 단말로부터 상기 글꼴 대체 명령이 수신된 시점에 대한 날짜 값을 생성한 후, 상기 날짜 값에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 산출하는 단계 및 상기 연산 값이 산출되면, 상기 허가 글꼴 데이터 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터 중, 상기 연산 값을 고유 식별 번호로 갖는 제1 글꼴 데이터를 추출하여 상기 제2 전자 단말로 전송하는 단계를 더 포함할 수 있고, 이때, 상기 제2 전자 단말은 상기 문서 공유 서비스 서버로부터 상기 제1 글꼴 데이터가 수신되면, 상기 제1 글꼴 데이터를 기초로, 상기 제1 전자 문서에 포함된 상기 적어도 하나의 제1 문자의 글꼴 서식을, 상기 제1 글꼴 데이터에 따른 글꼴 서식으로 대체하여 적용함으로써, 상기 제1 전자 문서를 수정할 수 있다.In addition, according to an embodiment of the present invention, the operating method of the document sharing service server includes font data for each of the n permitted fonts (the font data is included in the document file when the document file is loaded). It refers to data used to apply font formatting to characters, and different unique identification numbers composed of integers between 0 and less than n are pre-assigned to the font data for each of the n permitted fonts.) Maintaining a permitted font data storage unit in which is stored, when the transmission of the first document file to the second electronic terminal is completed, to the second electronic terminal, a character to which a font that is not permitted to the first electronic document is applied is displayed. At the same time as notifying existence, transmitting a font replacement query message including content for querying whether to replace the font of a character to which an unauthorized font is applied existing in the first electronic document with a replacement font; In response to the font substitution query message, if a font substitution command instructing to replace the font of a character to which an unauthorized font existing in the first electronic document is applied with a substitute font is received from the second electronic terminal, the After generating a date value for the time point at which the font replacement command is received from a second electronic terminal, calculating a calculation value by performing a modulo operation with n as a divisor on the date value, and the calculation value is When calculated, among the font data for each of the n permitted fonts stored in the permitted font data storage unit, first font data having the operation value as a unique identification number is extracted and transmitted to the second electronic terminal The method may further include, wherein, when the second electronic terminal receives the first font data from the document sharing service server, the at least one included in the first electronic document is configured based on the first font data. The first electronic document may be corrected by replacing the font style of one first character with a font format according to the first font data.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 문서 공유 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 문서 공유 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, with reference to FIG. 2 , a method of operating a document sharing service server for storing and sharing a document file to which an unauthorized font is applied has been described according to an embodiment of the present invention. Here, since the operating method of the document sharing service server according to an embodiment of the present invention may correspond to the configuration of the operation of the document sharing service server 110 described with reference to FIG. 1, a detailed description thereof is omitted. do it with

본 발명의 일실시예에 따른 문서 공유 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A 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 for execution through a combination with a computer.

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

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

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다. Therefore, the spirit of the present invention should not be limited to the described embodiments, and it will be said that not only the claims to be described later, but also all modifications equivalent or equivalent to these claims belong to the scope 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: 복호화 전송 처리부
133: 허가 글꼴 데이터 저장부 134: 글꼴 대체 질의 메시지 전송부
135: 연산 값 산출부 136: 글꼴 데이터 전송부
137: 문서 파일 저장소
100: 블록체인 네트워크
101, 102, 103, 104, 105, 106: 복수의 노드 장치들
141: 제1 회원 142: 제2 회원
151: 제1 전자 단말 152: 제2 전자 단말
110: Document sharing service server for storing and sharing document files with unlicensed fonts applied thereto
111: permission font identifier storage unit 112: member information storage unit
113: font check unit 114: upload query message transmission unit
115: document file storage processing unit 116: document file transmission unit
117: storage history information generation unit 118: registration request unit
119: table maintenance unit 120: encryption event generating unit
121: password setting request unit 122: serial number extraction unit
123: operation code generation unit 124: encryption key generation unit
125: encryption storage processing unit 126: identification information confirmation unit
127: Share approval query message transmission unit 128: Decryption event generation unit
129: reply request unit 130: operation code regeneration unit
131: encryption key regeneration unit 132: decryption transmission processing unit
133: permission font data storage unit 134: font replacement query message transmission unit
135: operation value calculation unit 136: font data transmission unit
137: Document file storage
100: blockchain network
101, 102, 103, 104, 105, 106: multiple node devices
141: first member 142: second member
151: first electronic terminal 152: second electronic terminal

Claims (12)

클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버에 있어서,
사용이 허가된 글꼴인 것으로 사전 지정된 n(n은 2 이상의 자연수임)개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있는 허가 글꼴 식별자 저장부;
상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부;
상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 전자 문서에 대한 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 업로드 요청이 수신되면, 상기 제1 문서 파일을 읽어 들여, 상기 제1 전자 문서에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 상기 허가 글꼴 식별자 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인하는 글꼴 확인부;
상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제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 a document sharing service server for storing and sharing processing for document files to which unauthorized fonts are applied in a cloud-based document sharing service,
a permitted font identifier storage unit in which font identifiers for each of n (n is a natural number equal to or greater than 2) previously designated as permitted fonts are stored;
a member information storage unit for storing member identification information of each of the plurality of members subscribed to the document sharing service and terminal identification information of an electronic terminal possessed by each of the plurality of members in correspondence with each other;
When a first document file for a first electronic document is received from a first electronic terminal possessed by a first member, which is one of the plurality of members, and an upload request for the first document file is received, the After reading a first document file and checking font identifiers for fonts applied to a plurality of characters included in the first electronic document, each of the n permitted fonts stored in the permitted font identifier storage unit a font checking unit for checking whether there exists a character to which a font not included in the n allowed fonts is applied, among the plurality of characters, by referring to a font identifier for ;
Among the plurality of characters, if it is determined that at least one first character exists as a character to which a font that is not included in the n permitted fonts is applied, the first electronic document is sent to the first electronic terminal. an upload query message transmission unit which transmits an upload query message including content inquiring about whether to upload the first document file despite the existence of texts with unauthorized fonts applied thereto;
When an upload command instructing to upload the first document file is received from the first electronic terminal in response to the upload query message, the first member identification information of the first member is referred to by the member information storage unit. a document file storage processing unit that checks the first document file, encrypts the first document file, and then stores the encrypted first document file and the first member identification information in a document file storage in correspondence with each other; and
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 a second electronic terminal owned by a second member, which is another one of the plurality of members, When a request for sharing 1 document file is received, the first member identification information stored in correspondence to the encrypted first document file is checked from the document file storage, and based on the first member identification information, After confirming the stored first terminal identification information corresponding to the first member identification information from the member information storage unit, based on the first terminal identification information, the first electronic terminal is sent to the second member. Approval of sharing the first document file from the first electronic terminal to the second member by sending a sharing approval query message including contents querying whether to approve sharing of the first document file If a command is received, a document file transmitter 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.
A document sharing service server including a.
제1항에 있어서,
상기 문서 파일 저장 처리부에 의해, 암호화된 상기 제1 문서 파일이 상기 문서 파일 저장소에 저장 완료되면, 암호화된 상기 제1 문서 파일이 상기 문서 파일 저장소에 저장된 시점에 대한 시간 정보를 생성하고, 상기 제1 전자 단말로부터 상기 제1 전자 단말의 현재 위치 정보를 수신한 후, 상기 제1 회원 식별 정보, 상기 제1 문서 파일, 상기 시간 정보 및 상기 현재 위치 정보로 구성된 저장 이력 정보를 생성하는 저장 이력 정보 생성부; 및
상기 저장 이력 정보가 생성되면, 상기 저장 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
를 더 포함하고,
상기 제1 노드 장치는
상기 문서 공유 서비스 서버로부터, 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 문서 공유 서비스 서버.
According to claim 1,
When the encrypted first document file is stored in the document file storage by the document file storage processing unit, time information about a time when the encrypted first document file is stored in the document file storage is generated, and the first document file is stored in the document file storage. 1 Storage history information for generating storage history information composed of the first member identification information, the first document file, the time information, and the current location information after receiving current location information of the first electronic terminal from an electronic terminal. generating unit; and
When the storage history information is generated, after generating a transaction including the storage history information, a first node device that is any one of a plurality of node devices constituting a blockchain network is randomly selected, and the first node device is selected. A registration request unit for transmitting a registration request to the blockchain network of the transaction while transmitting the transaction to a node device.
Including more,
The first node device is
When the transaction and the registration request are received from the document sharing service server, the first block including the transaction is based on the previous block chained to the blockchain data stored on the memory of the first node device. After completing the storage of the first block by generating and linking the first block to the blockchain data in a chain, the first block is selected from among the plurality of node devices through the blockchain network. Document sharing service server, characterized in that for propagating to the remaining node devices other than the first node device.
제1항에 있어서,
상기 문서 파일 저장 처리부는
상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 테이블 유지부;
상기 업로드 질의 메시지에 대응하여, 상기 제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 claim 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 pre-shared with electronic terminals possessed by each of the plurality of members are recorded a table holding unit that stores and maintains;
In response to the upload query message, when the upload command is received from the first electronic terminal, the first member identification information of the first member is checked with reference to the member information storage unit, and the first document file is stored. an encryption event generator generating an encryption event for encryption;
When the encryption event occurs, a password setting request unit for transmitting, to the first electronic terminal, a password setting request message including content requesting setting a password of t digits for encryption of the first document file;
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, after confirming the first document format of the first document file , a serial number extraction unit 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 a resultant value when a modulo-2 operation is performed on each of the t numbers constituting the first password as a bit string, and the first series an operation code generation unit configured to generate a t-bit second operation code by configuring a resultant value obtained by performing a modulo-2 operation on each of t numbers constituting the number as a bit string;
After generating a t-bit seed code by performing an exclusive OR (XOR) operation between the first operation code and the second operation code, applying the seed code as an input to a preset encryption key generation function to an encryption key generating unit that generates a first encryption key; and
After encrypting the first document file with the first encryption key, an encryption storage processor configured to store the encrypted first document file and the first member identification information in the document file storage in correspondence with each other.
A document sharing service server including a.
제3항에 있어서,
상기 문서 파일 전송부는
암호화된 상기 제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 claim 3,
The document file transfer 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 request for sharing the first document file is received from the second electronic terminal, the document file storage an identification information checking unit configured to check 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, after checking the first terminal identification information stored in correspondence with the first member identification information from the member information storage unit, the a sharing permission query message transmission unit transmitting the sharing permission query message to the first electronic terminal based on the first terminal identification information;
In response to the sharing approval query message, when the approval command is received from the first electronic terminal, extracting the encrypted first document file from the document file storage and then decrypting the encrypted first document file. a decryption event generating unit generating a decryption event;
When the decryption event occurs, a password input request message including contents requesting input of a 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 requesting unit for transmitting a serial number reply command requesting to extract and reply to a serial number corresponding to the document format of the first document file from the serial number table stored on the terminal;
In response to the password input request message, as 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 a command, as the first serial number corresponding to the first document format is extracted from the serial number table stored on the first electronic terminal by the first electronic terminal, the first electronic terminal When the first serial number is returned from the terminal, the first operation of t bits by configuring the result value when a modulo-2 operation is performed on each of the t numbers constituting the first password as a bit string An operation to generate the second operation code of t bits by generating a code and configuring a result value when a modulo-2 operation is performed on each of the t numbers constituting the first serial number as a bit string code regeneration unit;
After generating the t-bit seed code by performing an exclusive OR operation between the first operation code and the second operation code, applying the seed code as an input to the encryption key generation function to obtain the first encryption key an encryption key regeneration unit to generate; and
A decryption transmission processing unit for restoring the first document file by decrypting the encrypted first document file with the first encryption key and then transmitting the restored first document file to the second electronic terminal.
A document sharing service server including a.
제1항에 있어서,
상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터 - 상기 글꼴 데이터는, 문서 파일이 로드될 때, 상기 문서 파일에 포함된 문자들에 대해 글꼴 서식을 적용하는 데 사용되는 데이터를 의미하는 것으로, 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터에는, 0 이상 n 미만의 정수로 구성된 서로 다른 고유 식별 번호가 사전 할당되어 있음 - 가 저장되어 있는 허가 글꼴 데이터 저장부;
상기 문서 파일 전송부에 의해, 상기 제1 문서 파일이 상기 제2 전자 단말로 전송 완료되면, 상기 제2 전자 단말로, 상기 제1 전자 문서에 허가되지 않은 글꼴이 적용된 문자가 존재함을 안내함과 동시에, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할지 여부를 질의하는 내용이 포함된 글꼴 대체 질의 메시지를 전송하는 글꼴 대체 질의 메시지 전송부;
상기 글꼴 대체 질의 메시지에 대응하여, 상기 제2 전자 단말로부터, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할 것을 지시하는 글꼴 대체 명령이 수신되면, 상기 제2 전자 단말로부터 상기 글꼴 대체 명령이 수신된 시점에 대한 날짜 값을 생성한 후, 상기 날짜 값에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 산출하는 연산 값 산출부; 및
상기 연산 값이 산출되면, 상기 허가 글꼴 데이터 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터 중, 상기 연산 값을 고유 식별 번호로 갖는 제1 글꼴 데이터를 추출하여 상기 제2 전자 단말로 전송하는 글꼴 데이터 전송부
를 더 포함하고,
상기 제2 전자 단말은
상기 문서 공유 서비스 서버로부터 상기 제1 글꼴 데이터가 수신되면, 상기 제1 글꼴 데이터를 기초로, 상기 제1 전자 문서에 포함된 상기 적어도 하나의 제1 문자의 글꼴 서식을, 상기 제1 글꼴 데이터에 따른 글꼴 서식으로 대체하여 적용함으로써, 상기 제1 전자 문서를 수정하는 것을 특징으로 하는 문서 공유 서비스 서버.
According to claim 1,
Font data for each of the n permitted fonts - The font data refers to data used to apply a font style to characters included in the document file when the document file is loaded, wherein the n a permitted font data storage unit in which font data for each of the permitted fonts is pre-allocated with different unique identification numbers composed of integers greater than or equal to 0 and less than n;
When the transmission of the first document file to the second electronic terminal is completed by the document file transmission unit, the second electronic terminal is notified that there is a character to which an unauthorized font is applied to the first electronic document. and at the same time, a font replacement query message transmission unit that transmits a font replacement query message including content for querying whether to replace the font of characters to which an unauthorized font existing in the first electronic document is applied with a replacement font;
In response to the font replacement query message, when a font replacement command instructing to replace the font of a character to which an unauthorized font existing in the first electronic document is applied is received from the second electronic terminal, a calculation value calculation unit generating a date value corresponding to a point in time at which the font replacement command is received from the second electronic terminal, and then calculating a calculation value by performing a modulo operation with n as a divisor on the date value; and
When the calculation value is calculated, first font data having the calculation value as a unique identification number is extracted from font data for each of the n allowed fonts stored in the permitted font data storage unit, and the second electronic font data is extracted. Font data transmission unit that transmits to the terminal
Including more,
The second electronic terminal
When the first font data is received from the document sharing service server, the font format of the at least one first character included in the first electronic document is converted to the first font data based on the first font data. The document sharing service server, characterized in that for modifying the first electronic document by replacing and applying a font format according to the font format.
클라우드 기반의 문서 공유 서비스에서, 허가되지 않은 글꼴이 적용된 문서 파일에 대한 저장 및 공유 처리를 수행하기 위한 문서 공유 서비스 서버의 동작 방법에 있어서,
사용이 허가된 글꼴인 것으로 사전 지정된 n(n은 2 이상의 자연수임)개의 허가 글꼴들 각각에 대한 글꼴 식별자가 저장되어 있는 허가 글꼴 식별자 저장부를 유지하는 단계;
상기 문서 공유 서비스에 가입된 복수의 회원들 각각의 회원 식별 정보와, 상기 복수의 회원들 각각이 보유하고 있는 전자 단말의 단말 식별 정보가 서로 대응되어 저장되어 있는 회원 정보 저장부를 유지하는 단계;
상기 복수의 회원들 중 어느 한 명인 제1 회원이 보유하고 있는 제1 전자 단말로부터, 제1 전자 문서에 대한 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 업로드 요청이 수신되면, 상기 제1 문서 파일을 읽어 들여, 상기 제1 전자 문서에 포함된 복수의 문자들에 적용되어 있는 글꼴에 대한 글꼴 식별자를 확인한 후, 상기 허가 글꼴 식별자 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 식별자를 참조하여, 상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자가 존재하는지 여부를 확인하는 단계;
상기 복수의 문자들 중, 상기 n개의 허가 글꼴들에 포함되지 않는 글꼴이 적용되어 있는 문자로, 적어도 하나의 제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 a cloud-based document sharing service, a method of operating a document sharing service server for storing and sharing a document file to which an unauthorized font is applied,
maintaining a permitted font identifier storage unit in which a font identifier for each of n (n is a natural number equal to or greater than 2) previously designated as a permitted font is stored;
maintaining a member information storage unit in which member identification information of each of the plurality of members subscribed to the document sharing service and terminal identification information of an electronic terminal possessed by each of the plurality of members are stored in correspondence with each other;
When a first document file for a first electronic document is received from a first electronic terminal possessed by a first member, which is one of the plurality of members, and an upload request for the first document file is received, the After reading a first document file and checking font identifiers for fonts applied to a plurality of characters included in the first electronic document, each of the n permitted fonts stored in the permitted font identifier storage unit checking whether there is a character to which a font that is not included in the n allowed fonts is applied, among the plurality of characters, by referring to a font identifier for ?;
Among the plurality of characters, if it is determined that at least one first character exists as a character to which a font that is not included in the n permitted fonts is applied, the first electronic document is sent to the first electronic terminal. transmitting an upload query message including content inquiring about whether to upload the first document file despite the existence of texts with unauthorized fonts applied thereto;
When an upload command instructing to upload the first document file is received from the first electronic terminal in response to the upload query message, the first member identification information of the first member is referred to by the member information storage unit. confirming, 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
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 a second electronic terminal owned by a second member, which is another one of the plurality of members, When a request for sharing 1 document file is received, the first member identification information stored in correspondence to the encrypted first document file is checked from the document file storage, and based on the first member identification information, After confirming the stored first terminal identification information corresponding to the first member identification information from the member information storage unit, based on the first terminal identification information, the first electronic terminal is sent to the second member. Approval of sharing the first document file from the first electronic terminal to the second member by sending a sharing approval query message including contents querying whether to approve sharing of the first document file If a command is received, 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.
A method of operating a document sharing service server comprising a.
제6항에 있어서,
암호화된 상기 제1 문서 파일이 상기 문서 파일 저장소에 저장 완료되면, 암호화된 상기 제1 문서 파일이 상기 문서 파일 저장소에 저장된 시점에 대한 시간 정보를 생성하고, 상기 제1 전자 단말로부터 상기 제1 전자 단말의 현재 위치 정보를 수신한 후, 상기 제1 회원 식별 정보, 상기 제1 문서 파일, 상기 시간 정보 및 상기 현재 위치 정보로 구성된 저장 이력 정보를 생성하는 단계; 및
상기 저장 이력 정보가 생성되면, 상기 저장 이력 정보가 포함된 트랜잭션을 생성한 후, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
를 더 포함하고,
상기 제1 노드 장치는
상기 문서 공유 서비스 서버로부터, 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 문서 공유 서비스 서버의 동작 방법.
According to claim 6,
When the encrypted first document file is stored in the document file storage, time information about the point in time at which the encrypted first document file is stored in the document file storage is generated, and the first electronic terminal receives the first electronic device. After receiving the current location information of the terminal, generating storage history information composed of the first member identification information, the first document file, the time information, and the current location information; and
When the storage history information is generated, after generating a transaction including the storage history information, a first node device that is any one of a plurality of node devices constituting a blockchain network is randomly selected, and the first node device is selected. Transmitting, with a node device, a request for registration of the transaction to the blockchain network while transmitting the transaction.
Including more,
The first node device is
When the transaction and the registration request are received from the document sharing service server, the first block including the transaction is based on the previous block chained to the blockchain data stored on the memory of the first node device. After completing the storage of the first block by generating and linking the first block to the blockchain data in a chain, the first block is selected from among the plurality of node devices through the blockchain network. Method of operating a document sharing service server, characterized in that for propagating to the remaining node devices other than the first node device.
제6항에 있어서,
상기 암호화된 상기 제1 문서 파일과 상기 제1 회원 식별 정보를 서로 대응시켜 문서 파일 저장소에 저장하는 단계는
상기 복수의 회원들 각각이 보유하고 있는 전자 단말과 사전 공유하고 있는, 사전 설정된 복수의 문서 포맷들 각각에 대응되는 서로 다른 t(t는 2 이상의 자연수임)자릿수의 일련번호가 기록된 일련번호 테이블을 저장하여 유지하는 단계;
상기 업로드 질의 메시지에 대응하여, 상기 제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 claim 6,
Correspondingly storing the encrypted first document file and the first member identification information 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 pre-shared with electronic terminals possessed by each of the plurality of members are recorded Storing and maintaining;
In response to the upload query message, when the upload command is received from the first electronic terminal, the first member identification information of the first member is checked with reference to the member information storage unit, and the first document file is stored. generating an encryption event for encryption;
When the encryption event occurs, transmitting, to the first electronic terminal, a password setting request message including content requesting to set a password of t digits for encryption of the first document file;
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, after confirming the first document format of the first document file , 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 a resultant value when a modulo-2 operation is performed on each of the t numbers constituting the first password as a bit string, and the first series generating a t-bit second operation code by configuring a resultant value obtained by performing a modulo-2 operation on each of t numbers constituting the number as a bit string;
After generating a t-bit seed code by performing an exclusive OR (XOR) operation between the first operation code and the second operation code, applying the seed code as an input to a preset encryption key generation function to 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 the document file storage in correspondence with each other.
A method of operating a document sharing service server comprising a.
제8항에 있어서,
상기 암호화된 상기 제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 전자 단말로 전송하는 단계
를 포함하는 문서 공유 서비스 서버의 동작 방법.
According to claim 8,
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 request for sharing the first document file is received from the second electronic terminal, the document file storage checking the first member identification information stored in correspondence with the encrypted first document file from;
When the first member identification information is confirmed, based on the first member identification information, after checking the first terminal identification information stored in correspondence with the first member identification information from the member information storage unit, the transmitting the sharing permission query message to the first electronic terminal based on the first terminal identification information;
In response to the sharing approval query message, when the approval command is received from the first electronic terminal, extracting the encrypted first document file from the document file storage and then decrypting the encrypted first document file. generating a decryption event;
When the decryption event occurs, a password input request message including contents requesting input of a 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 transmitting a serial number reply command requesting a serial number corresponding to a document format of the first document file to be extracted and returned from the serial number table stored on a terminal;
In response to the password input request message, as 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 a command, as the first serial number corresponding to the first document format is extracted from the serial number table stored on the first electronic terminal by the first electronic terminal, the first electronic terminal When the first serial number is returned from the terminal, the first operation of t bits by configuring the result value when a modulo-2 operation is performed on each of the t numbers constituting the first password as a bit string Generating the second operation code of t bits by generating a code and configuring a result value when a modulo-2 operation is performed on each of the t numbers constituting the first serial number as a bit string ;
After generating the t-bit seed code by performing an exclusive OR operation between the first operation code and the second operation code, applying the seed code as an input to the encryption key generation function to obtain the first encryption key an encryption key regeneration unit to generate; and
restoring the first document file by decrypting the encrypted first document file with the first encryption key, and then transmitting the restored first document file to the second electronic terminal;
A method of operating a document sharing service server comprising a.
제6항에 있어서,
상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터 - 상기 글꼴 데이터는, 문서 파일이 로드될 때, 상기 문서 파일에 포함된 문자들에 대해 글꼴 서식을 적용하는 데 사용되는 데이터를 의미하는 것으로, 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터에는, 0 이상 n 미만의 정수로 구성된 서로 다른 고유 식별 번호가 사전 할당되어 있음 - 가 저장되어 있는 허가 글꼴 데이터 저장부를 유지하는 단계;
상기 제1 문서 파일이 상기 제2 전자 단말로 전송 완료되면, 상기 제2 전자 단말로, 상기 제1 전자 문서에 허가되지 않은 글꼴이 적용된 문자가 존재함을 안내함과 동시에, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할지 여부를 질의하는 내용이 포함된 글꼴 대체 질의 메시지를 전송하는 단계;
상기 글꼴 대체 질의 메시지에 대응하여, 상기 제2 전자 단말로부터, 상기 제1 전자 문서에 존재하는 허가되지 않은 글꼴이 적용된 문자의 글꼴을, 대체 글꼴로 대체할 것을 지시하는 글꼴 대체 명령이 수신되면, 상기 제2 전자 단말로부터 상기 글꼴 대체 명령이 수신된 시점에 대한 날짜 값을 생성한 후, 상기 날짜 값에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 연산 값을 산출하는 단계; 및
상기 연산 값이 산출되면, 상기 허가 글꼴 데이터 저장부에 저장되어 있는 상기 n개의 허가 글꼴들 각각에 대한 글꼴 데이터 중, 상기 연산 값을 고유 식별 번호로 갖는 제1 글꼴 데이터를 추출하여 상기 제2 전자 단말로 전송하는 단계
를 더 포함하고,
상기 제2 전자 단말은
상기 문서 공유 서비스 서버로부터 상기 제1 글꼴 데이터가 수신되면, 상기 제1 글꼴 데이터를 기초로, 상기 제1 전자 문서에 포함된 상기 적어도 하나의 제1 문자의 글꼴 서식을, 상기 제1 글꼴 데이터에 따른 글꼴 서식으로 대체하여 적용함으로써, 상기 제1 전자 문서를 수정하는 것을 특징으로 하는 문서 공유 서비스 서버의 동작 방법.
According to claim 6,
Font data for each of the n permitted fonts - The font data refers to data used to apply a font style to characters included in the document file when the document file is loaded, wherein the n maintaining a permitted font data storage unit in which font data for each of the permitted fonts is pre-allocated with different unique identification numbers composed of integers greater than or equal to 0 and less than n;
When the transmission of the first document file to the second electronic terminal is completed, the second electronic terminal is notified of the existence of texts to which unauthorized fonts are applied to the first electronic document, and at the same time, the first electronic document Transmitting a font replacement query message including content for querying whether to replace a font of characters to which an unauthorized font is applied, existing in the font, with a replacement font;
In response to the font replacement query message, when a font replacement command instructing to replace the font of a character to which an unauthorized font existing in the first electronic document is applied is received from the second electronic terminal, generating a date value for a point in time at which the font replacement command is received from the second electronic terminal, and then calculating a calculation value by performing a modulo operation with n as a divisor on the date value; and
When the calculation value is calculated, first font data having the calculation value as a unique identification number is extracted from font data for each of the n allowed fonts stored in the permitted font data storage unit, and the second electronic font data is extracted. Step to transmit to terminal
Including more,
The second electronic terminal
When the first font data is received from the document sharing service server, the font format of the at least one first character included in the first electronic document is converted to the first font data based on the first font data. A method of operating a document sharing service server, characterized in that by modifying the first electronic document by replacing and applying a font format according to the method.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through a combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through a combination with a computer.
KR1020220021362A 2022-02-18 2022-02-18 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 KR102694767B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220021362A KR102694767B1 (en) 2022-02-18 2022-02-18 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

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220021362A KR102694767B1 (en) 2022-02-18 2022-02-18 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

Publications (2)

Publication Number Publication Date
KR20230124271A true KR20230124271A (en) 2023-08-25
KR102694767B1 KR102694767B1 (en) 2024-08-13

Family

ID=87847226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220021362A KR102694767B1 (en) 2022-02-18 2022-02-18 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

Country Status (1)

Country Link
KR (1) KR102694767B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101976787B1 (en) 2018-12-21 2019-05-09 (주)소프트제국 Method for distributing an electronic document using a smart contract in a blockchain
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
KR102694767B1 (en) 2024-08-13

Similar Documents

Publication Publication Date Title
US10931658B2 (en) Encryption and decryption techniques using shuffle function
US9977918B2 (en) Method and system for verifiable searchable symmetric encryption
CN110264200B (en) Block chain data processing method and device
AU2013101034B4 (en) Registration and authentication of computing devices using a digital skeleton key
CN111130770B (en) Information certification method and system based on blockchain, user terminal, electronic equipment and storage medium
TW201931275A (en) Methods for access control of contract data in a distributed system with distributed consensus and contract generator and validation server thereof
US20130086393A1 (en) Increasing data security in enterprise applications by obfuscating encryption keys
CN111314069B (en) Block chain-based shaking system and method, electronic device and storage medium
CN106610995B (en) Method, device and system for creating ciphertext index
CN110365468B (en) Anonymization processing method, device, equipment and storage medium
JP7462903B2 (en) User terminal, authenticator terminal, registrant terminal, management system and program
US20200403789A1 (en) Cryptographic key generation using external entropy generation
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
KR20200143197A (en) Data management device that enables distributed encryption management of data based on blockchain and operating method thereof
KR102421567B1 (en) Internet access management service server capable of providing internet access management service based on terminal grouping and operating method thereof
KR102303431B1 (en) Blockchain-based electronic contract management system apparatus that supports electronic contracts between parties and operating method thereof
CN115906181A (en) Encrypted file right confirming method, device and system based on block chain attribute
CN114268447B (en) File transmission method and device, electronic equipment and computer readable medium
KR102602189B1 (en) Document sharing service server for managing document sharing service based on cloud, and the operating method thereof
CN111984989A (en) Method, device, system and medium for verifying, issuing and accessing URL (uniform resource locator)
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
JP2024500822A (en) Key installation methods, systems, devices, equipment and computer programs
CN117938984B (en) Network data transmission method and device based on high-speed encryption algorithm
KR102694766B1 (en) Document management service server for managing document files based on location information, and the operating method thereof

Legal Events

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