KR102564222B1 - Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof - Google Patents

Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof Download PDF

Info

Publication number
KR102564222B1
KR102564222B1 KR1020220104967A KR20220104967A KR102564222B1 KR 102564222 B1 KR102564222 B1 KR 102564222B1 KR 1020220104967 A KR1020220104967 A KR 1020220104967A KR 20220104967 A KR20220104967 A KR 20220104967A KR 102564222 B1 KR102564222 B1 KR 102564222B1
Authority
KR
South Korea
Prior art keywords
electronic terminal
document file
list
encrypted
members
Prior art date
Application number
KR1020220104967A
Other languages
Korean (ko)
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 KR1020220104967A priority Critical patent/KR102564222B1/en
Application granted granted Critical
Publication of KR102564222B1 publication Critical patent/KR102564222B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/08Annexed information, e.g. attachments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

본 발명은 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버 및 그 동작 방법을 제시함으로써, 메신저 서비스를 통해서 공유되는 문서 파일이 외부로 노출되는 문제를 해결할 수 있다.The present invention can solve the problem of exposing document files shared through a messenger service to the outside by presenting a messenger service server and an operation method thereof enabling secure sharing of document files through a messenger service.

Description

메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버 및 그 동작 방법{MESSENGER SERVICE SERVER THAT ENABLES SECURE SHARING OF DOCUMENT FILES THROUGH MESSENGER SERVICE AND THE OPERATING METHOD THEREOF}Messenger service server enabling secure sharing of document files through messenger service and its operating method

본 발명은 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버 및 그 동작 방법에 대한 것이다.The present invention relates to a messenger service server enabling secure sharing of document files through a messenger service and an operation method thereof.

최근, 스마트폰, 태블릿 PC 등과 같은 휴대용 전자 단말이 널리 보급되면서, 이러한 전자 단말에서 사용할 수 있는 다양한 애플리케이션들이 등장하고 있다.Recently, as portable electronic terminals such as smart phones and tablet PCs are widely spread, various applications that can be used in these electronic terminals are appearing.

이러한 애플리케이션들 중 실시간으로 채팅을 할 수 있는 메신저 서비스에 대한 애플리케이션의 활용이 급속도로 증가하고 있다.Among these applications, the use of applications for messenger services capable of chatting in real time is rapidly increasing.

메신저 서비스는 채팅 당사자들이 소정의 대화방을 개설하여, 이 대화방에서 다양한 의견을 교환할 수 있도록 지원하는 서비스로서, 최근에 등장하는 메신저 서비스에서는 채팅 당사자들이 서로 대화방 상에 소정의 파일을 공유할 수 있도록 하는 파일 공유 기능을 제공하고 있다.A messenger service is a service that supports chatting parties to open a predetermined chat room and exchange various opinions in the chat room. In a recently emerging messenger service, chatting parties can share predetermined files in the chat room with each other. It provides a file sharing function.

이 파일 공유 기능에 대해서 간단히 설명하면 다음과 같다.A brief explanation of this file sharing function is as follows.

먼저, 채팅 당사자들이 자신의 전자 단말을 통해서 채팅을 가능하게 하는 세션에 접속함으로써, 소정의 대화방을 개설한 후, 이 대화방에서 서로 간의 채팅 메시지를 주고받을 수 있다. 이때, 채팅 당사자들 중 어느 한 사람이 소정의 파일을 자신의 전자 단말을 통해서, 대화방 상에 업로드하게 되면, 대화방에 참여하고 있는 사람들이 자신의 전자 단말을 통해, 이 대화방 상에 업로드되어 있는 파일을 다운로드하는 방식으로, 파일 공유를 수행할 수 있다.First, chatting parties may establish a predetermined chat room by accessing a session enabling chatting through their own electronic terminals, and then exchange chatting messages with each other in the chat room. At this time, when one of the chatting parties uploads a predetermined file onto the chat room through his or her electronic terminal, the people participating in the chat room use their electronic terminal to upload the file to the chat room. By downloading the file, file sharing can be performed.

이러한 메신저 서비스에서의 파일 공유 기능은 손쉽게 여러 사람들이 파일을 공유할 수 있도록 지원한다는 점에서, 매우 유용한 기능 중 하나이다. 다만, 메신저 서비스를 업무용으로 사용하는 기업이나 기관에서는 메신저 서비스를 통해 소정의 중요 문서나 보안 문서에 대한 파일 공유가 수행되는 경우, 이 문서 파일이 외부로 손쉽게 유출될 수 있다는 점에서, 문서 파일이 외부로 유출되지 않도록 하기 위한 소정의 보안 조치가 수반될 필요가 있다.The file sharing function in such a messenger service is one of the very useful functions in that it supports multiple people to easily share files. However, in the case of file sharing for certain important or secure documents through the messenger service in a company or institution that uses the messenger service for business purposes, the document file can be easily leaked to the outside. It is necessary to accompany certain security measures to prevent leaking to the outside.

따라서, 메신저 서비스를 통해 소정의 문서 파일 공유를 수행할 때, 문서 파일이 외부로 유출되지 않도록 하기 위한 암호화 기술과 관련된 연구가 필요하다.Therefore, when a document file is shared through a messenger service, research related to an encryption technology is required to prevent the document file from being leaked to the outside.

본 발명은 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버 및 그 동작 방법을 제시함으로써, 메신저 서비스를 통해서 공유되는 문서 파일이 외부로 노출되는 문제를 해결할 수 있도록 한다.The present invention solves the problem of exposing document files shared through a messenger service to the outside by presenting a messenger service server and an operating method thereof enabling secure sharing of document files through a messenger service.

본 발명의 일실시예에 따른 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버는 상기 메신저 서비스에 가입된 복수의 회원들 각각에 대한 사전 설정된 회원 식별 정보가 저장되어 있는 회원 데이터베이스, 상기 메신저 서비스를 통해서 개설된 대화방에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일을 상기 대화방 상에 게시함으로써, 상기 대화방을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정하는 파일 암호화부, 상기 회원 데이터베이스를 기초로 상기 n명의 회원들 각각의 회원 식별 정보를 확인하여, 상기 n명의 회원들 각각의 회원 식별 정보로 구성된 제1 회원 목록을 생성한 후, 상기 제1 회원 목록을 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원 목록으로 지정하여 목록 데이터베이스에 저장하는 목록 지정부, 상기 n명의 회원들 중 어느 한 명인 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 전자 단말로 암호화된 상기 제1 문서 파일을 전송하는 파일 전송부, 상기 제2 회원의 전자 단말에, 암호화된 상기 제1 문서 파일이 전송된 이후, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일을 복호화하는 복호화부 및 상기 제1 문서 파일의 복호화가 완료되면, 복호화된 상기 제1 문서 파일을 오픈하여, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성한 후, 상기 열람 이미지를 상기 제2 회원의 전자 단말로 전송하는 전송부를 포함한다.A messenger service server enabling secure sharing of document files through a messenger service according to an embodiment of the present invention includes a member database in which preset member identification information for each of a plurality of members subscribed to the messenger service is stored; When a first document file is received from the electronic terminal of a first member who is any one of n (n is a natural number equal to or greater than 2) members participating in the chat room opened through the messenger service, a secure sharing request for the first document file is received. is received, encrypts the first document file with a preset encryption key, and then posts the encrypted first document file in the chat room so that the encrypted first document file can be downloaded through the chat room. A file encrypting unit that checks member identification information of each of the n members based on the member database, generates a first member list composed of member identification information of each of the n members, and then the first member A list designation unit for designating a list as a list of members having access to the first document file and storing the list in a list database; and the first document file encrypted from the electronic terminal of a second member who is any one of the n members. When a download request of is received, a file transmitter for transmitting the encrypted first document file to the electronic terminal of the second member, after the encrypted first document file is transmitted to the electronic terminal of the second member, When a request for decryption of the encrypted first document file is received from the electronic terminal of the second member, the encrypted first document file is received from the electronic terminal of the second member, and the first document file is displayed on the first member list. After confirming whether the member identification information of the second member exists, if it is confirmed that the member identification information of the second member exists in the first member list, the encrypted first document file is decrypted based on the encryption key. When the decryption unit and the decryption of the first document file are completed, the decrypted first document file is opened, a viewing image of the document according to the opening of the first document file is generated, and the viewing image is displayed as the first document file. 2 Includes a transmission unit that transmits to the member's electronic terminal.

또한, 본 발명의 일실시예에 따른 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버의 동작 방법은 상기 메신저 서비스에 가입된 복수의 회원들 각각에 대한 사전 설정된 회원 식별 정보가 저장되어 있는 회원 데이터베이스를 유지하는 단계, 상기 메신저 서비스를 통해서 개설된 대화방에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일을 상기 대화방 상에 게시함으로써, 상기 대화방을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정하는 단계, 상기 회원 데이터베이스를 기초로 상기 n명의 회원들 각각의 회원 식별 정보를 확인하여, 상기 n명의 회원들 각각의 회원 식별 정보로 구성된 제1 회원 목록을 생성한 후, 상기 제1 회원 목록을 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원 목록으로 지정하여 목록 데이터베이스에 저장하는 단계, 상기 n명의 회원들 중 어느 한 명인 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 전자 단말로 암호화된 상기 제1 문서 파일을 전송하는 단계, 상기 제2 회원의 전자 단말에, 암호화된 상기 제1 문서 파일이 전송된 이후, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일을 복호화하는 단계 및 상기 제1 문서 파일의 복호화가 완료되면, 복호화된 상기 제1 문서 파일을 오픈하여, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성한 후, 상기 열람 이미지를 상기 제2 회원의 전자 단말로 전송하는 단계를 포함한다.In addition, in an operating method of a messenger service server enabling secure sharing of document files through a messenger service according to an embodiment of the present invention, preset member identification information for each of a plurality of members subscribed to the messenger service is stored. maintaining a member database, wherein a first document file is received from an electronic terminal of a first member among n (n is a natural number equal to or greater than 2) members participating in a chat room opened through the messenger service; When a secure sharing request for a first document file is received, the encrypted first document file is encrypted with a preset encryption key, and then the encrypted first document file is posted on the chat room, whereby the encrypted first document file is posted through the chat room. 1 Setting the download of a document file to be possible, checking member identification information of each of the n members based on the member database, and generating a first member list composed of member identification information of each of the n members and then designating the first member list as a member list having access to the first document file and storing the encrypted data in a list database from an electronic terminal of a second member who is one of the n members. When a download request for the first document file is received, transmitting the encrypted first document file to the electronic terminal of the second member, transmitting the encrypted first document file to the electronic terminal of the second member After that, when a request for decryption of the encrypted first document file is received from the electronic terminal of the second member, the encrypted first document file is received from the electronic terminal of the second member, and After checking whether the member identification information of the second member exists in the first member list, if it is confirmed that the member identification information of the second member exists in the first member list, the first document encrypted based on the encryption key. When the decryption of the file and the decryption of the first document file are completed, the decrypted first document file is opened, a viewing image of the document according to the opening of the first document file is created, and the viewing image is displayed. and transmitting to the electronic terminal of the second member.

본 발명은 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버 및 그 동작 방법을 제시함으로써, 메신저 서비스를 통해서 공유되는 문서 파일이 외부로 노출되는 문제를 해결할 수 있다.The present invention can solve the problem of exposing document files shared through a messenger service to the outside by presenting a messenger service server and an operation method thereof enabling secure sharing of document files through a messenger service.

도 1은 본 발명의 일실시예에 따른 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버의 동작 방법을 도시한 순서도이다.
1 is a diagram showing the structure of a messenger service server enabling secure sharing of document files through a messenger service according to an embodiment of the present invention.
2 is a diagram for explaining the operation of a messenger service server enabling secure sharing of document files through a messenger service according to an embodiment of the present invention.
3 is a flowchart illustrating an operating method of a messenger service server enabling secure sharing of document files through a messenger 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 messenger service server enabling secure sharing of document files through a messenger service according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 메신저 서비스 서버(110)는 회원 데이터베이스(111), 파일 암호화부(112), 목록 지정부(113), 파일 전송부(114), 복호화부(115) 및 전송부(116)를 포함한다.Referring to FIG. 1, a messenger service server 110 according to the present invention includes a member database 111, a file encryption unit 112, a list designation unit 113, a file transmission unit 114, a decryption unit 115, and A transmission unit 116 is included.

회원 데이터베이스(111)에는 메신저 서비스에 가입된 복수의 회원들 각각에 대한 사전 설정된 회원 식별 정보가 저장되어 있다.Preset member identification information for each of a plurality of members subscribed to the messenger service is stored in the member database 111 .

여기서, 회원 식별 정보는 회원 ID, 주민등록번호, 휴대폰 번호 등과 같이 상기 메신저 서비스에 가입된 각 회원을 식별하기 위한 고유 정보를 의미한다.Here, the member identification information refers to unique information for identifying each member subscribed to the messenger service, such as a member ID, resident registration number, and mobile phone number.

파일 암호화부(112)는 상기 메신저 서비스를 통해서 개설된 대화방에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말(10)로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일을 상기 대화방 상에 게시함으로써, 상기 대화방을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정한다.The file encryption unit 112 receives a first document file from the electronic terminal 10 of a first member among n (n is a natural number equal to or greater than 2) members participating in a chat room opened through the messenger service, When a secure sharing request for the first document file is received, the first document file is encrypted with a preset encryption key, and then the encrypted first document file is posted on the chat room, so that the encrypted first document file is shared through the chat room. It is set to enable download of the first document file.

관련해서, 파일 암호화부(112)는 도 2에 도시된 그림과 같이, 소정의 대화방(211)에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말(10)로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 도 2의 도면부호 212와 같이, 암호화된 상기 제1 문서 파일을 상기 대화방(211) 상에 게시함으로써, 상기 대화방(211)을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정할 수 있다.In this regard, as shown in FIG. 2 , the file encryption unit 112 is an electronic terminal 10 of a first member who is any one of n (n is a natural number equal to or greater than 2) members participating in a predetermined chat room 211 . When a first document file is received from ) and a secure sharing request for the first document file is received, after encrypting the first document file with a preset encryption key, as shown in reference numeral 212 of FIG. 2, the encrypted By posting the first document file on the chat room 211, it is possible to set the download of the encrypted first document file through the chat room 211 to be possible.

목록 지정부(113)는 회원 데이터베이스(111)를 기초로 상기 n명의 회원들 각각의 회원 식별 정보를 확인하여, 상기 n명의 회원들 각각의 회원 식별 정보로 구성된 제1 회원 목록을 생성한 후, 상기 제1 회원 목록을 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원 목록으로 지정하여 목록 데이터베이스에 저장한다.The list specifying unit 113 checks member identification information of each of the n members based on the member database 111 and generates a first member list composed of member identification information of each of the n members, The first member list is designated as a member list having access to the first document file and stored in a list database.

관련해서, 목록 지정부(113)는 하기의 표 1과 같은 형태로 상기 제1 회원 목록을 생성하여 상기 목록 데이터베이스에 저장할 수 있다.In relation to this, the list designator 113 may generate the first member list in the form of Table 1 below and store it in the list database.

제1 문서 파일에 대한 접근 권한을 갖는 회원의 회원 식별 정보Member identification information of the member having access to the first document file 회원 식별 정보 1Member identification information 1 회원 식별 정보 2Member identification information 2 회원 식별 정보 3Member identification information 3 회원 식별 정보 4Member identification information 4 ......

이때, 본 발명의 일실시예에 따르면, 목록 지정부(113)는 상기 제1 회원 목록이 생성되면, 암호화된 상기 제1 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 목록 데이터베이스 상에 상기 제1 해시 값과 상기 제1 회원 목록을 서로 대응시켜 저장할 수 있다.At this time, according to one embodiment of the present invention, when the first member list is created, the list designator 113 generates a first hash value by applying the encrypted first document file as an input to a preset hash function. After doing so, the first hash value and the first member list may be stored in correspondence with each other on the list database.

이렇게, 암호화된 상기 제1 문서 파일이 대화방 상에 다운로드 가능한 상태로 게시되고, 목록 지정부(113)에 의해 상기 제1 회원 목록이 상기 목록 데이터베이스 상에 저장된 이후, 상기 n명의 회원들 중 어느 한 명인 제2 회원이 자신의 전자 단말(20)에, 상기 대화방 상에 게시되어 있는 암호화된 상기 제1 문서 파일의 다운로드 명령을 인가함으로 인해, 상기 제2 회원의 전자 단말(20)로부터 메신저 서비스 서버(110)에 암호화된 상기 제1 문서 파일의 다운로드 요청이 수신되면, 파일 전송부(114)는 상기 제2 회원의 전자 단말(20)로 암호화된 상기 제1 문서 파일을 전송한다.In this way, after the encrypted first document file is posted in a downloadable state in the chat room and the first member list is stored on the list database by the list designator 113, one of the n members When the second member applies a command to download the encrypted first document file posted in the chat room to his or her electronic terminal 20, the electronic terminal 20 of the second member transmits a message service server When a download request of the encrypted first document file is received in 110, the file transmission unit 114 transmits the encrypted first document file to the electronic terminal 20 of the second member.

그러면, 상기 제2 회원의 전자 단말(20)에는 암호화된 상기 제1 문서 파일이 다운로드될 수 있다. 이렇게, 상기 제2 회원의 전자 단말(20)에 암호화된 상기 제1 문서 파일이 다운로드되면, 상기 제2 회원은 암호화된 상기 제1 문서 파일을 오픈하기 위해서, 전자 단말(20) 상에 암호화된 상기 제1 문서 파일에 대한 복호화 명령을 인가할 수 있다. 그러면, 전자 단말(20)은 메신저 서비스 서버(110)로 암호화된 상기 제1 문서 파일의 복호화를 위한 복호화 요청을 전송할 수 있다.Then, the encrypted first document file may be downloaded to the electronic terminal 20 of the second member. In this way, when the encrypted first document file is downloaded to the electronic terminal 20 of the second member, the second member opens the encrypted first document file on the electronic terminal 20. A decryption command for the first document file may be applied. Then, the electronic terminal 20 may transmit a decryption request for decryption of the encrypted first document file to the messenger service server 110 .

이렇게, 상기 제2 회원의 전자 단말(20)에, 암호화된 상기 제1 문서 파일이 전송된 이후, 상기 제2 회원의 전자 단말(20)로부터 암호화된 상기 제1 문서 파일의 복호화 요청이 메신저 서비스 서버(110)에 수신되면, 복호화부(115)는 상기 제2 회원의 전자 단말(20)로부터 암호화된 상기 제1 문서 파일을 수신하고, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일을 복호화한다.In this way, after the encrypted first document file is transmitted to the electronic terminal 20 of the second member, a request for decryption of the encrypted first document file from the electronic terminal 20 of the second member is sent to the messenger service. When received by the server 110, the decryption unit 115 receives the encrypted first document file from the electronic terminal 20 of the second member, and identifies the member of the second member on the first member list. After checking whether information exists, if it is confirmed that member identification information of the second member exists in the first member list, the encrypted first document file is decrypted based on the encryption key.

이때, 본 발명의 일실시예에 따르면, 복호화부(115)는 목록 추출부(117), 정보 확인부(118) 및 복호화 처리부(119)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the decoding unit 115 may include a list extraction unit 117, an information confirmation unit 118 and a decoding processing unit 119.

목록 추출부(117)는 상기 제2 회원의 전자 단말(20)로부터 상기 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말(20)로부터 암호화된 상기 제1 문서 파일을 수신하고, 암호화된 상기 제1 문서 파일을 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 해시 값을 기초로, 상기 목록 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 제1 회원 목록을 추출한다.When the decryption request is received from the electronic terminal 20 of the second member, the list extraction unit 117 receives the encrypted first document file from the electronic terminal 20 of the second member, and receives the encrypted first document file. After generating the first hash value by applying a first document file as an input to the hash function, the first hash value stored in correspondence with the first hash value from the list database based on the first hash value Extract the member list.

정보 확인부(118)는 상기 제1 회원 목록이 추출되면, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한다.When the first member list is extracted, the information checking unit 118 checks whether member identification information of the second member exists on the first member list.

이때, 본 발명의 일실시예에 따르면, 정보 확인부(118)는 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 과정에서, 보다 강화된 보안성을 제공하기 위해, 각 회원의 휴대폰 번호를 기반으로 하는 점유 인증을 수행하는 구성을 더 포함할 수 있다.At this time, according to one embodiment of the present invention, the information confirmation unit 118 checks whether member identification information of the second member exists on the first member list, in order to provide more enhanced security. , It may further include a configuration for performing occupancy authentication based on the mobile phone number of each member.

이와 관련해서, 본 발명의 일실시예에 따르면, 회원 데이터베이스(111)에는, 상기 복수의 회원들 각각에 대한 회원 식별 정보에, 각 회원의 사전 설정된 휴대폰 번호에 대한 정보가 추가로 대응되어 저장되어 있을 수 있다.In this regard, according to one embodiment of the present invention, in the member database 111, information on a preset mobile phone number of each member is additionally stored in correspondence with member identification information for each of the plurality of members. There may be.

이때, 정보 확인부(118)는 인증 번호 발송부(120) 및 확인 처리부(121)를 포함할 수 있다.At this time, the information verification unit 118 may include an authentication number sending unit 120 and a confirmation processing unit 121 .

인증 번호 발송부(120)는 상기 목록 데이터베이스로부터 상기 제1 회원 목록이 추출되면, 상기 제2 회원의 전자 단말(20)로 상기 제2 회원의 휴대폰 번호를 회신할 것을 요청하는 회신 메시지를 전송하고, 상기 제2 회원의 전자 단말(20)로부터, 상기 회신 메시지에 대한 응답으로, 제1 휴대폰 번호가 회신되면, 일회용 인증 번호를 생성하고, 상기 일회용 인증 번호를 상기 제2 회원의 전자 단말(20) 상에 입력할 것을 지시하는 단문 메시지를 생성한 후, 상기 제1 휴대폰 번호를 수신측하여 상기 단문 메시지를 발송한다.When the first member list is extracted from the list database, the authentication number sending unit 120 transmits a reply message requesting a reply to the mobile phone number of the second member to the electronic terminal 20 of the second member, and , When the first mobile phone number is returned as a response to the reply message from the electronic terminal 20 of the second member, a one-time authentication number is generated, and the one-time authentication number is converted to the electronic terminal 20 of the second member. ), and then sends the short message to the receiving side of the first mobile phone number.

예컨대, 상기 제2 회원의 전자 단말(20)로부터, '010-0000-1111'이라고 하는 상기 제1 휴대폰 번호가 회신되었다고 하는 경우, 인증 번호 발송부(120)는 '23144'과 같은 소정의 일회용 인증 번호를 생성하고, 상기 일회용 인증 번호를 상기 제2 회원의 전자 단말(20) 상에 입력할 것을 지시하는 단문 메시지를 생성한 후, 상기 제1 휴대폰 번호인 '010-0000-1111'을 수신측하여 상기 단문 메시지를 발송할 수 있다.For example, when it is said that the first mobile phone number of '010-0000-1111' is returned from the electronic terminal 20 of the second member, the authentication number sending unit 120 sends a predetermined disposable number such as '23144'. After generating an authentication number and generating a short message instructing to input the one-time authentication number on the electronic terminal 20 of the second member, the first mobile phone number '010-0000-1111' is received. and send the short message.

그러면, 상기 제2 회원은 자신의 휴대폰에 수신되는 상기 단문 메시지를 보고, 상기 일회용 인증 번호를 상기 제2 회원의 전자 단말(20) 상에 입력할 수 있다.Then, the second member can view the short message received in the mobile phone of the second member and input the one-time authentication number on the electronic terminal 20 of the second member.

이렇게, 상기 제2 회원이 상기 단문 메시지를 확인하여, 상기 제2 회원의 전자 단말(20) 상에 상기 일회용 인증 번호를 입력함에 따라, 상기 제2 회원의 전자 단말(20)로부터 메신저 서비스 서버(110)에 상기 일회용 인증 번호가 수신되면, 확인 처리부(121)는 회원 데이터베이스(111)로부터 상기 제1 휴대폰 번호에 대응되어 저장되어 있는 회원 식별 정보를 상기 제2 회원의 회원 식별 정보로 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한다.In this way, as the second member checks the short message and inputs the one-time authentication number on the electronic terminal 20 of the second member, the messenger service server ( When the one-time authentication number is received in 110), the confirmation processing unit 121 confirms the member identification information stored in correspondence with the first mobile phone number from the member database 111 as member identification information of the second member, It is checked whether member identification information of the second member exists in the first member list.

복호화 처리부(119)는 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 제2 회원이 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원인 것으로 확인하여, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행한다.When it is confirmed that the member identification information of the second member exists in the first member list, the decryption processing unit 119 confirms that the second member is a member having access to the first document file, Based on the encryption key, decryption of the encrypted first document file is performed.

이때, 본 발명의 일실시예에 따르면, 복호화 처리부(119)는 암호화된 상기 제1 문서 파일에 대한 복호화를 수행하는 과정에서, 상기 제2 회원의 전자 단말(20)이 상기 제2 회원의 진정으로 보유하고 있는 전자 단말이 맞는지 확인하기 위해, 전자 서명 검증을 수행하는 구성을 더 포함할 수 있다.At this time, according to one embodiment of the present invention, in the process of performing decryption on the encrypted first document file, the decryption processing unit 119 sends the second member's electronic terminal 20 to the second member's original document file. In order to check whether the electronic terminal possessed by , it may further include a configuration for performing electronic signature verification.

이와 관련해서, 본 발명의 일실시예에 따르면, 회원 데이터베이스(111)에는, 상기 복수의 회원들 각각에 대한 사전 발급된 공개키(상기 복수의 회원들 각각에 대한 공개키에 대응하는 개인키는 각 회원의 전자 단말에 사전 저장되어 있음)가 추가로 저장되어 있을 수 있다.In this regard, according to one embodiment of the present invention, in the member database 111, the pre-issued public key for each of the plurality of members (the private key corresponding to the public key for each of the plurality of members) pre-stored in each member's electronic terminal) may be additionally stored.

이때, 복호화 처리부(119)는 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 랜덤한 더미(dummy) 데이터를 생성하여, 상기 제2 회원의 전자 단말(20)로 상기 더미 데이터와, 상기 더미 데이터를 기초로 한 전자 서명 요청을 전송한 후, 상기 제2 회원의 전자 단말(20)로부터, 상기 제2 회원의 전자 단말(20)이 상기 더미 데이터를 상기 제2 회원의 전자 단말(20)에 저장되어 있는 제1 개인키로 암호화하여 생성한 전자 서명 값이 수신되면, 회원 데이터베이스(111)에 저장되어 있는 상기 제2 회원에 대한 제1 공개키로 상기 전자 서명 값을 복호화한 값이, 상기 더미 데이터와 일치하는지 확인하여, 일치하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행할 수 있다.At this time, if it is confirmed that the member identification information of the second member exists in the first member list, the decryption processing unit 119 generates random dummy data, and the second member's electronic terminal 20 ), and after transmitting the dummy data and the electronic signature request based on the dummy data, from the electronic terminal 20 of the second member, the electronic terminal 20 of the second member transmits the dummy data to the electronic terminal 20 of the second member. When the electronic signature value generated by encrypting with the first private key stored in the electronic terminal 20 of the second member is received, the electronic signature is stored in the member database 111 with the first public key for the second member. It is checked whether the decrypted value matches the dummy data, and if it is confirmed that the value matches the dummy data, the encrypted first document file may be decrypted based on the encryption key.

구체적으로, 복호화 처리부(119)는, 정보 확인부(118)를 통해 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 랜덤한 더미 데이터를 생성하여, 상기 제2 회원의 전자 단말(20)로 상기 더미 데이터를 전송함과 동시에, 상기 더미 데이터를 기초로 한 전자 서명 요청을 전송할 수 있다.Specifically, when it is confirmed that the member identification information of the second member exists on the first member list through the information checking unit 118, the decryption processing unit 119 generates random dummy data, At the same time as the dummy data is transmitted to the electronic terminals 20 of the two members, an electronic signature request based on the dummy data may be transmitted.

그러면, 상기 제2 회원의 전자 단말(20)은 상기 제2 회원의 전자 단말(20)에 저장되어 있는, 상기 제2 회원에 대해서 사전 발급된 제1 개인키로 상기 더미 데이터를 암호화하여 전자 서명 값을 생성할 수 있다.Then, the electronic terminal 20 of the second member encrypts the dummy data with the first private key stored in the electronic terminal 20 of the second member and pre-issued to the second member to obtain an electronic signature value. can create

그러고 나서, 상기 제2 회원의 전자 단말(20)은 상기 전자 서명 값을 메신저 서비스 서버(110)로 전송할 수 있다.Then, the electronic terminal 20 of the second member may transmit the electronic signature value to the messenger service server 110 .

이렇게, 상기 제2 회원의 전자 단말(20)로부터 메신저 서비스 서버(110)에 상기 전자 서명 값이 수신되면, 복호화 처리부(119)는 회원 데이터베이스(111)에 저장되어 있는 상기 제2 회원에 대한 제1 공개키로 상기 전자 서명 값을 복호화한 후, 상기 전자 서명 값을 복호화한 값이, 상기 더미 데이터와 일치하는지 확인하여, 일치하는 것으로 확인되면, 상기 전자 서명 값이, 상기 제1 공개키에 대응하는 제1 개인키로 제대로 서명된 값임을 확인할 수 있다. 그러면, 복호화 처리부(119)는 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행할 수 있다.In this way, when the electronic signature value is received from the electronic terminal 20 of the second member to the messenger service server 110, the decryption processing unit 119 performs a task for the second member stored in the member database 111. 1 After decrypting the electronic signature value with the public key, it is checked whether the value obtained by decrypting the electronic signature value matches the dummy data, and if it is confirmed, the electronic signature value corresponds to the first public key. It can be confirmed that the value is properly signed with the first private key. Then, the decryption processing unit 119 may decrypt the encrypted first document file based on the encryption key.

지금까지 설명한 방식에 따라, 복호화부(115)에서 상기 제1 문서 파일의 복호화가 완료되면, 전송부(116)는 복호화된 상기 제1 문서 파일을 오픈하여, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성한 후, 상기 열람 이미지를 상기 제2 회원의 전자 단말(20)로 전송한다.According to the method described so far, when the decryption of the first document file is completed in the decryption unit 115, the transmission unit 116 opens the decrypted first document file, and according to the opening of the first document file After creating a viewing image of the document, the viewing image is transmitted to the electronic terminal 20 of the second member.

즉, 전송부(116)는 상기 제1 문서 파일의 복호화가 완료되면, 복호화된 제1 문서 파일 자체를 상기 제2 회원의 전자 단말(20)에 전송하는 것이 아니라, 복호화된 상기 제1 문서 파일을 오픈한 후, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성하여, 이 열람 이미지를 상기 제2 회원의 전자 단말(20)에 전송할 수 있다.That is, when the decryption of the first document file is completed, the transmission unit 116 does not transmit the decrypted first document file itself to the electronic terminal 20 of the second member, but the decrypted first document file. After opening, a viewing image of the document according to the opening of the first document file may be generated, and the viewing image may be transmitted to the electronic terminal 20 of the second member.

이로 인해, 상기 제2 회원의 전자 단말(20)에는 상기 제1 문서 파일이 오픈된 열람 이미지만 수신되는 것이고, 상기 제2 회원은 전자 단말(20)을 통해서, 상기 제1 문서 파일의 오픈 이미지만 볼 수 있게 된다. 즉, 본 발명에 따른 메신저 서비스 서버(110)는 상기 제2 회원의 전자 단말(20)에 상기 제1 문서 파일을 제공하는 것이 아니라, 문서 파일이 오픈된 열람 이미지만을 제공함으로써, 상기 제1 문서 파일이 외부로 유출되는 문제를 사전 차단할 수 있다.As a result, only the browsing image in which the first document file is opened is received in the electronic terminal 20 of the second member, and the second member receives the open image of the first document file through the electronic terminal 20. can only see That is, the messenger service server 110 according to the present invention does not provide the first document file to the electronic terminal 20 of the second member, but provides only a viewing image in which the document file is opened, thereby providing the first document file. The problem of leaking files to the outside can be prevented in advance.

이때, 본 발명의 일실시예에 따르면, 메신저 서비스 서버(110)는 원칙적으로 상기 제1 문서 파일 자체를 상기 제2 회원의 전자 단말(20)에 제공하지 않지만, 상기 대화방에 참여하였던, 즉, 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원들 전부의 동의가 있는 경우에는 상기 제2 회원의 전자 단말(20)에 상기 제1 문서 파일을 제공할 수 있도록 하는 구성을 더 포함할 수 있다.At this time, according to one embodiment of the present invention, the messenger service server 110 does not provide the first document file itself to the electronic terminal 20 of the second member in principle, but participates in the chat room, that is, When all members having access rights to the first document file agree, a configuration for providing the first document file to the electronic terminal 20 of the second member may be further included.

이와 관련해서, 본 발명의 일실시예에 따른 메신저 서비스 서버(110)는 데이터 벡터 생성부(122), 벡터 전송부(123), 벡터 복원부(124) 및 문서 파일 전송부(125)를 더 포함할 수 있다.In this regard, the messenger service server 110 according to an embodiment of the present invention further includes a data vector generator 122, a vector transmitter 123, a vector restorer 124, and a document file transmitter 125. can include

데이터 벡터 생성부(122)는 전송부(116)를 통해, 상기 열람 이미지가 상기 제2 회원의 전자 단말(20)로 전송된 이후, 상기 제2 회원의 전자 단말(20)로부터 복호화된 상기 제1 문서 파일의 제공 요청이 수신되면, 복호화된 상기 제1 문서 파일을 구성하는 데이터를 n개로 분할하여, n개의 분할 데이터들을 생성한 후, 상기 n개의 분할 데이터들을 성분으로 갖는 n차원의 데이터 벡터를 생성한다.After the viewing image is transmitted to the electronic terminal 20 of the second member through the transmission unit 116, the data vector generator 122 decodes the second member's electronic terminal 20. When a request for providing 1 document file is received, the decoded data constituting the first document file is divided into n pieces of data to generate n pieces of divided data, and then an n-dimensional data vector having the n pieces of divided data as components. generate

예컨대, 앞서 대화방에 참여하였던 회원들의 수가 '5명'인 관계로, n을 '5'라고 가정하는 경우, 데이터 벡터 생성부(122)는 복호화된 상기 제1 문서 파일을 구성하는 데이터를 5개로 분할하여, 5개의 분할 데이터들을 'D1, D2, D3, D4, D5'와 같이 생성한 후, 5개의 분할 데이터들을 성분으로 갖는 5차원의 데이터 벡터를 '[D1 D2 D3 D4 D5]'와 같이 생성할 수 있다.For example, if it is assumed that n is '5' because the number of members who have previously participated in the chat room is '5', the data vector generator 122 divides the decoded data constituting the first document file into 5 pieces. After splitting and generating 5 split data like 'D1, D2, D3, D4, D5', a 5-dimensional data vector having 5 split data as components is like '[D1 D2 D3 D4 D5]' can create

벡터 전송부(123)는 n개의 서로 다른 n차원의 원-핫 벡터들을 생성한 후, 상기 제1 회원 목록에 포함된 상기 n명의 회원들 각각의 전자 단말에 대해, 상기 n개의 원-핫 벡터들 중 어느 하나의 원-핫 벡터를 하나씩 지정하여 전송함과 동시에, 상기 데이터 벡터를 전송한 후, 상기 n명의 회원들 각각의 전자 단말에 대해, 각 전자 단말에 전송된 원-핫 벡터와 상기 데이터 벡터를 기초로 한 피드백 벡터의 회신 요청을 전송한다.After generating n different n-dimensional one-hot vectors, the vector transmission unit 123 generates the n one-hot vectors for each electronic terminal of the n members included in the first member list. After designating and transmitting any one of the one-hot vectors one by one, and at the same time transmitting the data vector, for each electronic terminal of the n members, the one-hot vector transmitted to each electronic terminal and the above Sends a request for reply of a feedback vector based on the data vector.

관련해서, 전술한 예와 같이, n을 '5'라고 하는 경우, 벡터 전송부(123)는 하기의 표 2와 같이 5개의 서로 다른 5차원의 원-핫 벡터들을 생성할 수 있다.In this regard, as in the above example, when n is '5', the vector transmission unit 123 may generate five different 5-dimensional one-hot vectors as shown in Table 2 below.

5개의 원-핫 벡터들5 one-hot vectors [1 0 0 0 0][1 0 0 0 0] [0 1 0 0 0][0 1 0 0 0] [0 0 1 0 0][0 0 1 0 0] [0 0 0 1 0][0 0 0 1 0] [0 0 0 0 1][0 0 0 0 1]

그러고 나서, 벡터 전송부(123)는 상기 제1 회원 목록에 포함된 5명의 회원들 각각의 전자 단말에 대해, 상기 5개의 원-핫 벡터들 중 어느 하나의 원-핫 벡터를 하나씩 지정하여 전송함과 동시에, 상기 데이터 벡터를 전송할 수 있다. 관련해서, 벡터 전송부(123)는, 5명의 회원들 중 '회원 1'의 전자 단말에 대해서는 '[1 0 0 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'를 전송할 수 있고, '회원 2'의 전자 단말에 대해서는 '[0 1 0 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'를 전송할 수 있으며, '회원 3'의 전자 단말에 대해서는 '[0 0 1 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'를 전송할 수 있고, '회원 4'의 전자 단말에 대해서는 '[0 0 0 1 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'를 전송할 수 있고, '회원 5'의 전자 단말에 대해서는 '[0 0 0 0 1]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'를 전송할 수 있다.Then, the vector transmission unit 123 designates and transmits one of the five one-hot vectors to the electronic terminal of each of the five members included in the first member list, one by one. At the same time, the data vector may be transmitted. In this regard, the vector transmitter 123 transmits '[1 0 0 0 0]' and the data vector '[D1 D2 D3 D4 D5]' to the electronic terminal of 'Member 1' among the five members. '[0 1 0 0 0]' and the data vector '[D1 D2 D3 D4 D5]' can be transmitted to the electronic terminal of 'Member 2', and 'Member 3' electronic terminal can transmit '[D1 D2 D3 D4 D5]'. [0 0 1 0 0]' and the data vector '[D1 D2 D3 D4 D5]' can be transmitted, and for the electronic terminal of 'member 4', '[0 0 0 1 0]' and the data vector '[D1 D2 D3 D4 D5]' can be transmitted, and '[0 0 0 0 1]' and the data vector '[D1 D2 D3 D4 D5]' can be transmitted to the electronic terminal of 'member 5'. .

그 이후, 벡터 전송부(123)는 상기 5명의 회원들 각각의 전자 단말에 대해, 각 전자 단말에 전송된 원-핫 벡터와 상기 데이터 벡터를 기초로 한 피드백 벡터의 회신 요청을 전송할 수 있다.After that, the vector transmission unit 123 may transmit a request for replying a feedback vector based on the one-hot vector transmitted to each electronic terminal and the data vector to each electronic terminal of the five members.

벡터 복원부(124)는 상기 n명의 회원들 각각의 전자 단말로부터, 상기 회신 요청에 대한 응답으로, 각 전자 단말이 생성한 피드백 벡터(상기 n명의 회원들 각각의 전자 단말이 생성한 피드백 벡터는, 각 전자 단말에 수신된 원-핫 벡터와 상기 데이터 벡터 간의 아다마르 곱(Hadamard product)이 수행되어 생성된 n차원의 벡터임)가 수신되면, 상기 n명의 회원들 각각의 전자 단말로부터 수신된 피드백 벡터를 모두 합산하여, 상기 데이터 벡터를 복원한다.The vector restoration unit 124 is a feedback vector generated by each electronic terminal in response to the reply request from the electronic terminal of each of the n members (the feedback vector generated by the electronic terminal of each of the n members is , which is an n-dimensional vector generated by performing Hadamard product between the one-hot vector received at each electronic terminal and the data vector) is received, the received from each electronic terminal of the n members The data vector is restored by summing all the feedback vectors.

여기서, 아다마르 곱이란, 같은 크기의 행렬이나 벡터에서 각 성분을 곱하는 연산을 의미한다. 예컨대, '[a b c]'와 '[x y z]'라는 벡터가 있을 때, 두 벡터 간의 아다마르 곱을 연산하면, '[ax by cz]'라는 벡터가 산출될 수 있다.Here, the Hadamard product means an operation of multiplying each component in a matrix or vector of the same size. For example, when there are vectors '[a b c]' and '[x y z]', if the Hadamard product between the two vectors is calculated, the vector '[ax by cz]' can be calculated.

관련해서, 전술한 예와 같이, n을 '5'라고 하고, 벡터 전송부(123)에 의해, '회원 1'의 전자 단말에 '[1 0 0 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'가 전송되었다고 하고, '회원 2'의 전자 단말에 '[0 1 0 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'가 전송되었다고 하며, '회원 3'의 전자 단말에 '[0 0 1 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'가 전송되었다고 하고, '회원 4'의 전자 단말에 '[0 0 0 1 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'가 전송되었다고 하고, '회원 5'의 전자 단말에 '[0 0 0 0 1]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'가 전송되었다고 가정하자.In this regard, as in the above example, when n is set to '5' and the vector transmission unit 123 transmits '[1 0 0 0 0]' to the electronic terminal of 'Member 1' and the data vector '[ D1 D2 D3 D4 D5]' is transmitted, and '[0 1 0 0 0]' and the data vector '[D1 D2 D3 D4 D5]' are transmitted to the electronic terminal of 'Member 2'. Suppose that '[0 0 1 0 0]' and the data vector '[D1 D2 D3 D4 D5]' are transmitted to the electronic terminal of 'member 4', and '[0 0 0 1 0]' is transmitted to the electronic terminal of 'member 4'. ' and the data vector '[D1 D2 D3 D4 D5]' are transmitted, and '[0 0 0 0 1]' and the data vector '[D1 D2 D3 D4 D5]' are transmitted to the electronic terminal of 'Member 5'. Suppose ' is sent.

그러면, '회원 1'의 전자 단말은 원-핫 벡터인 '[1 0 0 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]' 간의 아다마르 곱을 연산함으로써, '[D1 0 0 0 0]'이라고 하는 피드백 벡터를 생성하여, 메신저 서비스 서버(110)로 회신할 수 있고, '회원 2'의 전자 단말은 원-핫 벡터인 '[0 1 0 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]' 간의 아다마르 곱을 연산함으로써, '[0 D2 0 0 0]'이라고 하는 피드백 벡터를 생성하여, 메신저 서비스 서버(110)로 회신할 수 있으며, '회원 3'의 전자 단말은 원-핫 벡터인 '[0 0 1 0 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]' 간의 아다마르 곱을 연산함으로써, '[0 0 D3 0 0]'이라고 하는 피드백 벡터를 생성하여, 메신저 서비스 서버(110)로 회신할 수 있고, '회원 4'의 전자 단말은 원-핫 벡터인 '[0 0 0 1 0]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]' 간의 아다마르 곱을 연산함으로써, '[0 0 0 D4 0]'이라고 하는 피드백 벡터를 생성하여, 메신저 서비스 서버(110)로 회신할 수 있고, '회원 5'의 전자 단말은 원-핫 벡터인 '[0 0 0 0 1]'과 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]' 간의 아다마르 곱을 연산함으로써, '[0 0 0 0 D5]'라고 하는 피드백 벡터를 생성하여, 메신저 서비스 서버(110)로 회신할 수 있다.Then, the electronic terminal of 'Member 1' calculates the Hadamard product between the one-hot vector '[1 0 0 0 0]' and the data vector '[D1 D2 D3 D4 D5]', thereby calculating '[D1 0 0 0]'. 0 0]' to generate a feedback vector and send a reply to the messenger service server 110, and the electronic terminal of 'Member 2' uses the one-hot vector '[0 1 0 0 0]' and the data vector. By calculating the Hadamard product between '[D1 D2 D3 D4 D5]', a feedback vector called '[0 D2 0 0 0]' can be generated and returned to the messenger service server 110, and 'Member 3' The electronic terminal of '[0 0 1 0 0]', which is a one-hot vector, and '[D1 D2 D3 D4 D5]', which is the data vector, calculates the Hadamard product, which is '[0 0 D3 0 0]'. A feedback vector can be generated and returned to the messenger service server 110, and the electronic terminal of 'Member 4' has the one-hot vector '[0 0 0 1 0]' and the data vector '[D1 D2 D3]. By calculating the Hadamard product between D4 D5]', a feedback vector of '[0 0 0 D4 0]' can be generated and returned to the messenger service server 110, and the electronic terminal of 'Member 5' can generate a circle- By calculating the Hadamard product between the hot vector '[0 0 0 0 1]' and the data vector '[D1 D2 D3 D4 D5]', a feedback vector called '[0 0 0 0 D5]' is generated, A reply can be made to the messenger service server 110 .

이렇게, 메신저 서비스 서버(110)에 '회원 1'의 전자 단말로부터 '[D1 0 0 0 0]'이라는 피드백 벡터가 수신되고, '회원 2'의 전자 단말로부터 '[0 D2 0 0 0]'이라는 피드백 벡터가 수신되며, '회원 3'의 전자 단말로부터 '[0 0 D3 0 0]'이라는 피드백 벡터가 수신되고, '회원 4'의 전자 단말로부터 '[0 0 0 D4 0]'이라는 피드백 벡터가 수신되고, '회원 5'의 전자 단말로부터 '[0 0 0 0 D5]'라는 피드백 벡터가 수신되는 경우, 벡터 복원부(124)는 상기 5명의 회원들 각각의 전자 단말로부터 수신된 피드백 벡터를 모두 합산하여, 상기 데이터 벡터인 '[D1 D2 D3 D4 D5]'를 복원할 수 있다.In this way, the messenger service server 110 receives a feedback vector of '[D1 0 0 0 0]' from the electronic terminal of 'Member 1' and receives '[0 D2 0 0 0]' from the electronic terminal of 'Member 2'. A feedback vector of 'Member 3' is received, a feedback vector of '[0 0 D3 0 0]' is received from the electronic terminal of 'Member 3', and a feedback of '[0 0 0 D4 0]' is received from the electronic terminal of 'Member 4'. When the vector is received and a feedback vector of '[0 0 0 0 D5]' is received from the electronic terminal of 'member 5', the vector restoration unit 124 receives the feedback received from the electronic terminal of each of the five members. By summing all the vectors, the data vector '[D1 D2 D3 D4 D5]' can be restored.

문서 파일 전송부(125)는, 벡터 복원부(124)에 의해 상기 데이터 벡터가 복원되면, 복원된 상기 데이터 벡터에 성분으로 포함된 상기 n개의 분할 데이터들을 합산하여, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 회원의 전자 단말(20)로 전송한다.When the data vector is restored by the vector restoration unit 124, the document file transmission unit 125 adds up the n pieces of divided data included as components in the restored data vector to restore the first document file. Then, the restored first document file is transmitted to the electronic terminal 20 of the second member.

관련해서, 전술한 예와 같이, 벡터 복원부(124)에 의해 '[D1 D2 D3 D4 D5]'라는 상기 데이터 벡터가 복원되면, 문서 파일 전송부(125)는 상기 데이터 벡터에 성분으로 포함된 'D1, D2, D3, D4, D5'라는 5개의 분할 데이터들을 합산하여, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 회원의 전자 단말(20)로 전송할 수 있다. 즉, 상기 제1 문서 파일은 상기 5명의 회원들로부터 모두 정상적으로 피드백 벡터가 회신되는 경우에만 복원될 수 있다는 점에서, 본 발명의 메신저 서비스 서버(110)는 대화방에 참여하였던 회원들 모두의 동의를 얻은 경우에 한해서, 원본 문서 파일이 특정 회원에게 제공되도록 하는 형태로 서비스 운영이 가능하다.In relation to this, as in the above example, when the data vector of '[D1 D2 D3 D4 D5]' is restored by the vector restoration unit 124, the document file transmission unit 125 includes the data vector as a component. After restoring the first document file by summing the five pieces of data 'D1, D2, D3, D4, D5', the restored first document file will be transmitted to the electronic terminal 20 of the second member. can That is, in that the first document file can be restored only when feedback vectors are normally returned from all of the five members, the messenger service server 110 of the present invention obtains the consent of all members who have participated in the chat room. Only when obtained, service operation is possible in the form of providing the original document file to a specific member.

도 3은 본 발명의 일실시예에 따른 메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버의 동작 방법을 도시한 순서도이다.3 is a flowchart illustrating an operating method of a messenger service server enabling secure sharing of document files through a messenger service according to an embodiment of the present invention.

단계(S310)에서는 상기 메신저 서비스에 가입된 복수의 회원들 각각에 대한 사전 설정된 회원 식별 정보가 저장되어 있는 회원 데이터베이스를 유지한다.In step S310, a member database in which preset member identification information for each of a plurality of members subscribed to the messenger service is stored is maintained.

단계(S320)에서는 상기 메신저 서비스를 통해서 개설된 대화방에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일을 상기 대화방 상에 게시함으로써, 상기 대화방을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정한다.In step S320, a first document file is received from the electronic terminal of a first member among n (n is a natural number equal to or greater than 2) members participating in the chat room opened through the messenger service. When a secure sharing request for is received, the first document file is encrypted with a preset encryption key, and then the encrypted first document file is posted on the chat room, so that the first document file encrypted through the chat room is displayed. Make it available for download.

단계(S330)에서는 상기 회원 데이터베이스를 기초로 상기 n명의 회원들 각각의 회원 식별 정보를 확인하여, 상기 n명의 회원들 각각의 회원 식별 정보로 구성된 제1 회원 목록을 생성한 후, 상기 제1 회원 목록을 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원 목록으로 지정하여 목록 데이터베이스에 저장한다.In step S330, member identification information of each of the n members is checked based on the member database, and a first member list composed of member identification information of each of the n members is generated, and then the first member list is generated. A list is designated as a list of members having access to the first document file and stored in the list database.

단계(S340)에서는 상기 n명의 회원들 중 어느 한 명인 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 전자 단말로 암호화된 상기 제1 문서 파일을 전송한다.In step S340, when a request to download the encrypted first document file is received from the electronic terminal of a second member, which is one of the n members, the first document file encrypted by the electronic terminal of the second member. send

단계(S350)에서는 상기 제2 회원의 전자 단말에, 암호화된 상기 제1 문서 파일이 전송된 이후, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일을 복호화한다.In step S350, if a request for decryption of the encrypted first document file is received from the electronic terminal of the second member after the encrypted first document file is transmitted to the electronic terminal of the second member, the first document file is encrypted. 2 After receiving the encrypted first document file from the member's electronic terminal and confirming whether the member identification information of the second member exists on the first member list, the second member's name on the first member list If it is confirmed that member identification information exists, the encrypted first document file is decrypted based on the encryption key.

단계(S360)에서는 상기 제1 문서 파일의 복호화가 완료되면, 복호화된 상기 제1 문서 파일을 오픈하여, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성한 후, 상기 열람 이미지를 상기 제2 회원의 전자 단말로 전송한다.In step S360, when the decryption of the first document file is completed, the decrypted first document file is opened, a viewing image of the document according to the opening of the first document file is generated, and the viewing image is displayed as the above. It is transmitted to the electronic terminal of the second member.

이때, 본 발명의 일실시예에 따르면, 단계(S330)에서는 상기 제1 회원 목록이 생성되면, 암호화된 상기 제1 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 목록 데이터베이스 상에 상기 제1 해시 값과 상기 제1 회원 목록을 서로 대응시켜 저장할 수 있다.At this time, according to one embodiment of the present invention, in step S330, when the first member list is generated, a first hash value is generated by applying the encrypted first document file as an input to a preset hash function, and then , The first hash value and the first member list may be stored in correspondence with each other on the list database.

이때, 단계(S350)에서는 상기 제2 회원의 전자 단말로부터 상기 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 암호화된 상기 제1 문서 파일을 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 해시 값을 기초로, 상기 목록 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 제1 회원 목록을 추출하는 단계, 상기 제1 회원 목록이 추출되면, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 단계 및 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행하는 단계를 포함할 수 있다.At this time, in step S350, when the decryption request is received from the electronic terminal of the second member, the encrypted first document file is received from the electronic terminal of the second member, and the encrypted first document file is sent to the electronic terminal. Applying a hash function as an input to generate the first hash value, and then extracting the first member list stored in correspondence with the first hash value from the list database based on the first hash value. , When the first member list is extracted, checking whether member identification information of the second member exists on the first member list, and member identification information of the second member exists on the first member list. If it is confirmed that the document file is encrypted, performing decryption on the encrypted first document file based on the encryption key.

또한, 본 발명의 일실시예에 따르면, 상기 회원 데이터베이스에는, 상기 복수의 회원들 각각에 대한 회원 식별 정보에, 각 회원의 사전 설정된 휴대폰 번호에 대한 정보가 추가로 대응되어 저장되어 있을 수 있다.Further, according to an embodiment of the present invention, the member database may store information on a preset mobile phone number of each member additionally corresponding to member identification information for each of the plurality of members.

이때, 상기 확인하는 단계는 상기 제1 회원 목록이 추출되면, 상기 제2 회원의 전자 단말로 상기 제2 회원의 휴대폰 번호를 회신할 것을 요청하는 회신 메시지를 전송하고, 상기 제2 회원의 전자 단말로부터, 상기 회신 메시지에 대한 응답으로, 제1 휴대폰 번호가 회신되면, 일회용 인증 번호를 생성하고, 상기 일회용 인증 번호를 상기 제2 회원의 전자 단말 상에 입력할 것을 지시하는 단문 메시지를 생성한 후, 상기 제1 휴대폰 번호를 수신측하여 상기 단문 메시지를 발송하는 단계 및 상기 제2 회원이 상기 단문 메시지를 확인하여, 상기 제2 회원의 전자 단말 상에 상기 일회용 인증 번호를 입력함에 따라, 상기 제2 회원의 전자 단말로부터 상기 일회용 인증 번호가 수신되면, 상기 회원 데이터베이스로부터 상기 제1 휴대폰 번호에 대응되어 저장되어 있는 회원 식별 정보를 상기 제2 회원의 회원 식별 정보로 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 단계를 포함할 수 있다.In this case, in the checking step, when the first member list is extracted, a reply message requesting a reply of the mobile phone number of the second member is transmitted to the electronic terminal of the second member, and the electronic terminal of the second member is sent. In response to the reply message, if the first mobile phone number is returned, a one-time authentication number is generated, and a short message instructing input of the one-time authentication number on the electronic terminal of the second member is generated from , Sending the short message to the receiver of the first mobile phone number, and as the second member checks the short message and inputs the one-time authentication number on the electronic terminal of the second member, the second member confirms the short message. 2 When the one-time authentication number is received from the member's electronic terminal, member identification information stored in correspondence with the first mobile phone number is checked from the member database as member identification information of the second member, and then the first member list and checking whether member identification information of the second member is present on the second member.

또한, 본 발명의 일실시예에 따르면, 상기 회원 데이터베이스에는, 상기 복수의 회원들 각각에 대한 사전 발급된 공개키(상기 복수의 회원들 각각에 대한 공개키에 대응하는 개인키는 각 회원의 전자 단말에 사전 저장되어 있음)가 추가로 저장되어 있을 수 있다.In addition, according to one embodiment of the present invention, in the member database, a pre-issued public key for each of the plurality of members (the private key corresponding to the public key for each of the plurality of members is the digital key of each member). pre-stored in the terminal) may be additionally stored.

이때, 상기 복호화를 수행하는 단계는 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 랜덤한 더미 데이터를 생성하여, 상기 제2 회원의 전자 단말로 상기 더미 데이터와, 상기 더미 데이터를 기초로 한 전자 서명 요청을 전송한 후, 상기 제2 회원의 전자 단말로부터, 상기 제2 회원의 전자 단말이 상기 더미 데이터를 상기 제2 회원의 전자 단말에 저장되어 있는 제1 개인키로 암호화하여 생성한 전자 서명 값이 수신되면, 상기 회원 데이터베이스에 저장되어 있는 상기 제2 회원에 대한 제1 공개키로 상기 전자 서명 값을 복호화한 값이, 상기 더미 데이터와 일치하는지 확인하여, 일치하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행할 수 있다.In this case, in the decryption step, if it is confirmed that the member identification information of the second member exists in the first member list, random dummy data is generated, and the dummy data is transferred to the electronic terminal of the second member. and, after transmitting the electronic signature request based on the dummy data, from the electronic terminal of the second member, the electronic terminal of the second member stores the dummy data in the electronic terminal of the second member. When an electronic signature value generated by encrypting with 1 private key is received, it is checked whether a value obtained by decrypting the electronic signature value with a first public key for the second member stored in the member database matches the dummy data; If it is confirmed that they match, the encrypted first document file may be decrypted based on the encryption key.

또한, 본 발명의 일실시예에 따르면, 상기 메신저 서비스 서버의 동작 방법은 상기 열람 이미지가 상기 제2 회원의 전자 단말로 전송된 이후, 상기 제2 회원의 전자 단말로부터 복호화된 상기 제1 문서 파일의 제공 요청이 수신되면, 복호화된 상기 제1 문서 파일을 구성하는 데이터를 n개로 분할하여, n개의 분할 데이터들을 생성한 후, 상기 n개의 분할 데이터들을 성분으로 갖는 n차원의 데이터 벡터를 생성하는 단계, n개의 서로 다른 n차원의 원-핫 벡터들을 생성한 후, 상기 제1 회원 목록에 포함된 상기 n명의 회원들 각각의 전자 단말에 대해, 상기 n개의 원-핫 벡터들 중 어느 하나의 원-핫 벡터를 하나씩 지정하여 전송함과 동시에, 상기 데이터 벡터를 전송한 후, 상기 n명의 회원들 각각의 전자 단말에 대해, 각 전자 단말에 전송된 원-핫 벡터와 상기 데이터 벡터를 기초로 한 피드백 벡터의 회신 요청을 전송하는 단계, 상기 n명의 회원들 각각의 전자 단말로부터, 상기 회신 요청에 대한 응답으로, 각 전자 단말이 생성한 피드백 벡터(상기 n명의 회원들 각각의 전자 단말이 생성한 피드백 벡터는, 각 전자 단말에 수신된 원-핫 벡터와 상기 데이터 벡터 간의 아다마르 곱이 수행되어 생성된 n차원의 벡터임)가 수신되면, 상기 n명의 회원들 각각의 전자 단말로부터 수신된 피드백 벡터를 모두 합산하여, 상기 데이터 벡터를 복원하는 단계 및 상기 데이터 벡터가 복원되면, 복원된 상기 데이터 벡터에 성분으로 포함된 상기 n개의 분할 데이터들을 합산하여, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 회원의 전자 단말로 전송하는 단계를 더 포함할 수 있다.Further, according to an embodiment of the present invention, the operating method of the messenger service server may include the first document file decrypted from the electronic terminal of the second member after the viewing image is transmitted to the electronic terminal of the second member. When a request for provision of is received, dividing the data constituting the decoded first document file into n pieces of data, generating n pieces of split data, and then generating an n-dimensional data vector having the n pieces of split data as components. Step, after generating n different n-dimensional one-hot vectors, for each electronic terminal of the n members included in the first member list, any one of the n one-hot vectors is selected. At the same time as designating and transmitting one-hot vectors one by one, after transmitting the data vectors, for each electronic terminal of the n members, based on the one-hot vector transmitted to each electronic terminal and the data vector Transmitting a reply request of one feedback vector, from an electronic terminal of each of the n members, in response to the reply request, a feedback vector generated by each electronic terminal (generated by each electronic terminal of the n members) One feedback vector is an n-dimensional vector generated by performing Hadamard multiplication between a one-hot vector received at each electronic terminal and the data vector) is received, the feedback received from each electronic terminal of the n members restoring the data vector by summing all vectors; and when the data vector is restored, summing the n pieces of divided data included as components in the restored data vector to restore the first document file; The method may further include transmitting the restored first document file to an electronic terminal of the second member.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 메신저 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 메신저 서비스 서버의 동작 방법은 도 1과 도 2를 이용하여 설명한 메신저 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.In the above, the operating method of the messenger service server according to an embodiment of the present invention has been described with reference to FIG. 3 . Here, since the operation method of the messenger service server according to an embodiment of the present invention may correspond to the configuration of the operation of the messenger service server 110 described with reference to FIGS. 1 and 2, a detailed description thereof is omitted. I'm going to do it.

본 발명의 일실시예에 따른 메신저 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a messenger 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 messenger 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: 문서 파일 전송부
10: 제1 회원의 전자 단말
20: 제2 회원의 전자 단말
110: messenger service server
111: member database 112: file encryption unit
113: list designation unit 114: file transmission unit
115: decoding unit 116: transmission unit
117: list extraction unit 118: information confirmation unit
119: decryption processing unit 120: authentication number sending unit
121: confirmation processing unit 122: data vector generation unit
123: vector transmission unit 124: vector restoration unit
125: document file transmission unit
10: Electronic terminal of the first member
20: Electronic terminal of the second member

Claims (12)

메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버에 있어서,
상기 메신저 서비스에 가입된 복수의 회원들 각각에 대한 사전 설정된 회원 식별 정보가 저장되어 있는 회원 데이터베이스;
상기 메신저 서비스를 통해서 개설된 대화방에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일을 상기 대화방 상에 게시함으로써, 상기 대화방을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정하는 파일 암호화부;
상기 회원 데이터베이스를 기초로 상기 n명의 회원들 각각의 회원 식별 정보를 확인하여, 상기 n명의 회원들 각각의 회원 식별 정보로 구성된 제1 회원 목록을 생성한 후, 상기 제1 회원 목록을 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원 목록으로 지정하여 목록 데이터베이스에 저장하는 목록 지정부;
상기 n명의 회원들 중 어느 한 명인 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 전자 단말로 암호화된 상기 제1 문서 파일을 전송하는 파일 전송부;
상기 제2 회원의 전자 단말에, 암호화된 상기 제1 문서 파일이 전송된 이후, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일을 복호화하는 복호화부; 및
상기 제1 문서 파일의 복호화가 완료되면, 복호화된 상기 제1 문서 파일을 오픈하여, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성한 후, 상기 열람 이미지를 상기 제2 회원의 전자 단말로 전송하는 전송부
를 포함하고,
상기 목록 지정부는
상기 제1 회원 목록이 생성되면, 암호화된 상기 제1 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 목록 데이터베이스 상에 상기 제1 해시 값과 상기 제1 회원 목록을 서로 대응시켜 저장하고,
상기 복호화부는
상기 제2 회원의 전자 단말로부터 상기 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 암호화된 상기 제1 문서 파일을 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 해시 값을 기초로, 상기 목록 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 제1 회원 목록을 추출하는 목록 추출부;
상기 제1 회원 목록이 추출되면, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 정보 확인부; 및
상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행하는 복호화 처리부
를 포함하는 메신저 서비스 서버.
A messenger service server enabling secure sharing of document files through a messenger service,
a member database storing preset member identification information for each of a plurality of members subscribed to the messenger service;
When a first document file is received from the electronic terminal of a first member who is any one of n (n is a natural number equal to or greater than 2) members participating in the chat room opened through the messenger service, a secure sharing request for the first document file is received. is received, encrypts the first document file with a preset encryption key, and then posts the encrypted first document file in the chat room so that the encrypted first document file can be downloaded through the chat room. a file encryption unit that does;
After verifying member identification information of each of the n members based on the member database and generating a first member list composed of member identification information of each of the n members, the first member list is converted into the first member list. a list designation unit for designating a list of members having access to document files and storing them in a list database;
File transmission for transmitting the encrypted first document file to the electronic terminal of the second member when a download request of the encrypted first document file is received from the electronic terminal of a second member who is one of the n members. wealth;
After the encrypted first document file is transmitted to the electronic terminal of the second member, when a request for decryption of the encrypted first document file is received from the electronic terminal of the second member, the electronic terminal of the second member After receiving the encrypted first document file from and confirming whether member identification information of the second member exists on the first member list, member identification information of the second member exists on the first member list. a decryption unit for decrypting the encrypted first document file based on the encryption key, if it is confirmed that it does so; and
When the decryption of the first document file is completed, the decrypted first document file is opened, a viewing image of the document according to the opening of the first document file is created, and then the viewing image is transferred to the electronic device of the second member. Transmitting unit that transmits to the terminal
including,
The list designator
When the first member list is generated, a first hash value is generated by applying the encrypted first document file as an input to a preset hash function, and then the first hash value and the first member are stored on the list database. Store the list in correspondence with each other,
The decoding unit
When the decryption request is received from the electronic terminal of the second member, the encrypted first document file is received from the electronic terminal of the second member, and the encrypted first document file is applied as an input to the hash function a list extractor configured to extract the first member list corresponding to the first hash value from the list database based on the first hash value after generating the first hash value;
an information checking unit that checks whether member identification information of the second member exists on the first member list when the first member list is extracted; and
If it is confirmed that the member identification information of the second member exists in the first member list, a decryption processing unit that decrypts the encrypted first document file based on the encryption key.
A messenger service server including a.
삭제delete 제1항에 있어서,
상기 회원 데이터베이스에는, 상기 복수의 회원들 각각에 대한 회원 식별 정보에, 각 회원의 사전 설정된 휴대폰 번호에 대한 정보가 추가로 대응되어 저장되어 있고,
상기 정보 확인부는
상기 제1 회원 목록이 추출되면, 상기 제2 회원의 전자 단말로 상기 제2 회원의 휴대폰 번호를 회신할 것을 요청하는 회신 메시지를 전송하고, 상기 제2 회원의 전자 단말로부터, 상기 회신 메시지에 대한 응답으로, 제1 휴대폰 번호가 회신되면, 일회용 인증 번호를 생성하고, 상기 일회용 인증 번호를 상기 제2 회원의 전자 단말 상에 입력할 것을 지시하는 단문 메시지를 생성한 후, 상기 제1 휴대폰 번호를 수신측하여 상기 단문 메시지를 발송하는 인증 번호 발송부; 및
상기 제2 회원이 상기 단문 메시지를 확인하여, 상기 제2 회원의 전자 단말 상에 상기 일회용 인증 번호를 입력함에 따라, 상기 제2 회원의 전자 단말로부터 상기 일회용 인증 번호가 수신되면, 상기 회원 데이터베이스로부터 상기 제1 휴대폰 번호에 대응되어 저장되어 있는 회원 식별 정보를 상기 제2 회원의 회원 식별 정보로 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 확인 처리부
를 포함하는 메신저 서비스 서버.
According to claim 1,
In the member database, information about a preset mobile phone number of each member is additionally stored in correspondence with member identification information for each of the plurality of members,
The information verification unit
When the first member list is extracted, a reply message requesting a reply of the mobile phone number of the second member is transmitted to the electronic terminal of the second member, and from the electronic terminal of the second member, information about the reply message is sent. As a response, when the first mobile phone number is returned, a one-time authentication number is generated, and a short message instructing input of the one-time authentication number on the electronic terminal of the second member is generated, and then the first mobile phone number is entered. an authentication number sending unit for sending the short message to the receiving side; and
As the second member checks the short message and inputs the one-time authentication number on the electronic terminal of the second member, when the one-time authentication number is received from the electronic terminal of the second member, the member database A confirmation processing unit that checks the stored member identification information corresponding to the first mobile phone number as the member identification information of the second member and then confirms whether the member identification information of the second member exists in the first member list.
A messenger service server including a.
제1항에 있어서,
상기 회원 데이터베이스에는, 상기 복수의 회원들 각각에 대한 사전 발급된 공개키 - 상기 복수의 회원들 각각에 대한 공개키에 대응하는 개인키는 각 회원의 전자 단말에 사전 저장되어 있음 - 가 추가로 저장되어 있고,
상기 복호화 처리부는
상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 랜덤한 더미(dummy) 데이터를 생성하여, 상기 제2 회원의 전자 단말로 상기 더미 데이터와, 상기 더미 데이터를 기초로 한 전자 서명 요청을 전송한 후, 상기 제2 회원의 전자 단말로부터, 상기 제2 회원의 전자 단말이 상기 더미 데이터를 상기 제2 회원의 전자 단말에 저장되어 있는 제1 개인키로 암호화하여 생성한 전자 서명 값이 수신되면, 상기 회원 데이터베이스에 저장되어 있는 상기 제2 회원에 대한 제1 공개키로 상기 전자 서명 값을 복호화한 값이, 상기 더미 데이터와 일치하는지 확인하여, 일치하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행하는 것을 특징으로 하는 메신저 서비스 서버.
According to claim 1,
In the member database, a pre-issued public key for each of the plurality of members, in which a private key corresponding to the public key for each of the plurality of members is pre-stored in the electronic terminal of each member, is additionally stored. is done,
The decryption processing unit
If it is confirmed that the member identification information of the second member exists on the first member list, random dummy data is generated and the dummy data and the dummy data are transmitted to the electronic terminal of the second member. After transmitting the based digital signature request, the electronic terminal of the second member encrypts and generates the dummy data with the first private key stored in the electronic terminal of the second member from the electronic terminal of the second member. When an electronic signature value is received, it is checked whether the value obtained by decrypting the electronic signature value with the first public key for the second member stored in the member database matches the dummy data, and if it is confirmed to match, The messenger service server, characterized in that performing decryption on the encrypted first document file based on the encryption key.
제1항에 있어서,
상기 열람 이미지가 상기 제2 회원의 전자 단말로 전송된 이후, 상기 제2 회원의 전자 단말로부터 복호화된 상기 제1 문서 파일의 제공 요청이 수신되면, 복호화된 상기 제1 문서 파일을 구성하는 데이터를 n개로 분할하여, n개의 분할 데이터들을 생성한 후, 상기 n개의 분할 데이터들을 성분으로 갖는 n차원의 데이터 벡터를 생성하는 데이터 벡터 생성부;
n개의 서로 다른 n차원의 원-핫 벡터들을 생성한 후, 상기 제1 회원 목록에 포함된 상기 n명의 회원들 각각의 전자 단말에 대해, 상기 n개의 원-핫 벡터들 중 어느 하나의 원-핫 벡터를 하나씩 지정하여 전송함과 동시에, 상기 데이터 벡터를 전송한 후, 상기 n명의 회원들 각각의 전자 단말에 대해, 각 전자 단말에 전송된 원-핫 벡터와 상기 데이터 벡터를 기초로 한 피드백 벡터의 회신 요청을 전송하는 벡터 전송부;
상기 n명의 회원들 각각의 전자 단말로부터, 상기 회신 요청에 대한 응답으로, 각 전자 단말이 생성한 피드백 벡터 - 상기 n명의 회원들 각각의 전자 단말이 생성한 피드백 벡터는, 각 전자 단말에 수신된 원-핫 벡터와 상기 데이터 벡터 간의 아다마르 곱(Hadamard product)이 수행되어 생성된 n차원의 벡터임 - 가 수신되면, 상기 n명의 회원들 각각의 전자 단말로부터 수신된 피드백 벡터를 모두 합산하여, 상기 데이터 벡터를 복원하는 벡터 복원부; 및
상기 데이터 벡터가 복원되면, 복원된 상기 데이터 벡터에 성분으로 포함된 상기 n개의 분할 데이터들을 합산하여, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 회원의 전자 단말로 전송하는 문서 파일 전송부
를 더 포함하는 메신저 서비스 서버.
According to claim 1,
After the viewing image is transmitted to the electronic terminal of the second member, when a request for providing the decrypted first document file is received from the electronic terminal of the second member, data constituting the decrypted first document file a data vector generating unit that divides into n pieces of data, generates n pieces of divided data, and then generates an n-dimensional data vector having the n pieces of divided data as components;
After generating n different n-dimensional one-hot vectors, for each electronic terminal of the n members included in the first member list, any one one-hot vector of the n one-hot vectors is generated. At the same time as designating and transmitting hot vectors one by one, after transmitting the data vectors, for each electronic terminal of the n members, feedback based on the one-hot vector transmitted to each electronic terminal and the data vector a vector transmitter for transmitting a vector reply request;
A feedback vector generated by each electronic terminal in response to the reply request from the electronic terminal of each of the n members - the feedback vector generated by each electronic terminal of the n members is received by each electronic terminal When -, which is an n-dimensional vector generated by performing Hadamard product between a one-hot vector and the data vector, is received, all of the feedback vectors received from the electronic terminals of each of the n members are summed up, a vector restoration unit to restore the data vector; and
When the data vector is restored, the first document file is restored by summing the n pieces of divided data included as components in the restored data vector, and then the restored first document file is converted into the electronic device of the second member. Document file transmission unit to transmit to the terminal
A messenger service server further comprising a.
메신저 서비스를 통한 문서 파일의 보안 공유를 가능하게 하는 메신저 서비스 서버의 동작 방법에 있어서,
상기 메신저 서비스에 가입된 복수의 회원들 각각에 대한 사전 설정된 회원 식별 정보가 저장되어 있는 회원 데이터베이스를 유지하는 단계;
상기 메신저 서비스를 통해서 개설된 대화방에 참여한 n(n은 2이상의 자연수)명 회원들 중 어느 한 명인 제1 회원의 전자 단말로부터 제1 문서 파일이 수신되면서, 상기 제1 문서 파일에 대한 보안 공유 요청이 수신되면, 사전 설정된 암호화키로 상기 제1 문서 파일을 암호화한 후, 암호화된 상기 제1 문서 파일을 상기 대화방 상에 게시함으로써, 상기 대화방을 통해 암호화된 상기 제1 문서 파일의 다운로드가 가능하도록 설정하는 단계;
상기 회원 데이터베이스를 기초로 상기 n명의 회원들 각각의 회원 식별 정보를 확인하여, 상기 n명의 회원들 각각의 회원 식별 정보로 구성된 제1 회원 목록을 생성한 후, 상기 제1 회원 목록을 상기 제1 문서 파일에 대한 접근 권한을 갖는 회원 목록으로 지정하여 목록 데이터베이스에 저장하는 단계;
상기 n명의 회원들 중 어느 한 명인 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 다운로드 요청이 수신되면, 상기 제2 회원의 전자 단말로 암호화된 상기 제1 문서 파일을 전송하는 단계;
상기 제2 회원의 전자 단말에, 암호화된 상기 제1 문서 파일이 전송된 이후, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일의 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일을 복호화하는 단계; 및
상기 제1 문서 파일의 복호화가 완료되면, 복호화된 상기 제1 문서 파일을 오픈하여, 상기 제1 문서 파일의 오픈에 따른 문서의 열람 이미지를 생성한 후, 상기 열람 이미지를 상기 제2 회원의 전자 단말로 전송하는 단계
를 포함하고,
상기 목록 데이터베이스에 저장하는 단계는
상기 제1 회원 목록이 생성되면, 암호화된 상기 제1 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한 후, 상기 목록 데이터베이스 상에 상기 제1 해시 값과 상기 제1 회원 목록을 서로 대응시켜 저장하고,
상기 복호화하는 단계는
상기 제2 회원의 전자 단말로부터 상기 복호화 요청이 수신되면, 상기 제2 회원의 전자 단말로부터 암호화된 상기 제1 문서 파일을 수신하고, 암호화된 상기 제1 문서 파일을 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한 후, 상기 제1 해시 값을 기초로, 상기 목록 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 제1 회원 목록을 추출하는 단계;
상기 제1 회원 목록이 추출되면, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 단계; 및
상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행하는 단계
를 포함하는 메신저 서비스 서버의 동작 방법.
A method of operating a messenger service server enabling secure sharing of document files through a messenger service,
maintaining a member database in which preset member identification information for each of a plurality of members subscribed to the messenger service is stored;
When a first document file is received from the electronic terminal of a first member who is any one of n (n is a natural number equal to or greater than 2) members participating in the chat room opened through the messenger service, a secure sharing request for the first document file is received. is received, encrypts the first document file with a preset encryption key, and then posts the encrypted first document file in the chat room so that the encrypted first document file can be downloaded through the chat room. doing;
After verifying member identification information of each of the n members based on the member database and generating a first member list composed of member identification information of each of the n members, the first member list is converted into the first member list. specifying a list of members having access to document files and storing them in a list database;
transmitting the encrypted first document file to the electronic terminal of the second member when a request to download the encrypted first document file is received from the electronic terminal of a second member who is one of the n members;
After the encrypted first document file is transmitted to the electronic terminal of the second member, when a request for decryption of the encrypted first document file is received from the electronic terminal of the second member, the electronic terminal of the second member After receiving the encrypted first document file from and confirming whether member identification information of the second member exists on the first member list, member identification information of the second member exists on the first member list. if it is confirmed that it does, decrypting the encrypted first document file based on the encryption key; and
When the decryption of the first document file is completed, the decrypted first document file is opened, a viewing image of the document according to the opening of the first document file is created, and then the viewing image is transferred to the electronic device of the second member. Step to transmit to terminal
including,
The step of storing in the list database is
When the first member list is generated, a first hash value is generated by applying the encrypted first document file as an input to a preset hash function, and then the first hash value and the first member are stored on the list database. Store the list in correspondence with each other,
The decryption step is
When the decryption request is received from the electronic terminal of the second member, the encrypted first document file is received from the electronic terminal of the second member, and the encrypted first document file is applied as an input to the hash function extracting the first member list stored corresponding to the first hash value from the list database based on the first hash value after generating the first hash value;
checking whether member identification information of the second member exists on the first member list when the first member list is extracted; and
If it is confirmed that the member identification information of the second member exists in the first member list, decrypting the encrypted first document file based on the encryption key.
A method of operating a messenger service server comprising a.
삭제delete 제6항에 있어서,
상기 회원 데이터베이스에는, 상기 복수의 회원들 각각에 대한 회원 식별 정보에, 각 회원의 사전 설정된 휴대폰 번호에 대한 정보가 추가로 대응되어 저장되어 있고,
상기 확인하는 단계는
상기 제1 회원 목록이 추출되면, 상기 제2 회원의 전자 단말로 상기 제2 회원의 휴대폰 번호를 회신할 것을 요청하는 회신 메시지를 전송하고, 상기 제2 회원의 전자 단말로부터, 상기 회신 메시지에 대한 응답으로, 제1 휴대폰 번호가 회신되면, 일회용 인증 번호를 생성하고, 상기 일회용 인증 번호를 상기 제2 회원의 전자 단말 상에 입력할 것을 지시하는 단문 메시지를 생성한 후, 상기 제1 휴대폰 번호를 수신측하여 상기 단문 메시지를 발송하는 단계; 및
상기 제2 회원이 상기 단문 메시지를 확인하여, 상기 제2 회원의 전자 단말 상에 상기 일회용 인증 번호를 입력함에 따라, 상기 제2 회원의 전자 단말로부터 상기 일회용 인증 번호가 수신되면, 상기 회원 데이터베이스로부터 상기 제1 휴대폰 번호에 대응되어 저장되어 있는 회원 식별 정보를 상기 제2 회원의 회원 식별 정보로 확인한 후, 상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는지 확인하는 단계
를 포함하는 메신저 서비스 서버의 동작 방법.
According to claim 6,
In the member database, information about a preset mobile phone number of each member is additionally stored in correspondence with member identification information for each of the plurality of members,
The steps to check are
When the first member list is extracted, a reply message requesting a reply of the mobile phone number of the second member is transmitted to the electronic terminal of the second member, and from the electronic terminal of the second member, information about the reply message is sent. As a response, when the first mobile phone number is returned, a one-time authentication number is generated, and a short message instructing input of the one-time authentication number on the electronic terminal of the second member is generated, and then the first mobile phone number is entered. sending the short message to a receiving party; and
As the second member checks the short message and inputs the one-time authentication number on the electronic terminal of the second member, when the one-time authentication number is received from the electronic terminal of the second member, the member database Confirming member identification information stored in correspondence with the first mobile phone number as member identification information of the second member, and then confirming whether member identification information of the second member exists in the first member list.
A method of operating a messenger service server comprising a.
제6항에 있어서,
상기 회원 데이터베이스에는, 상기 복수의 회원들 각각에 대한 사전 발급된 공개키 - 상기 복수의 회원들 각각에 대한 공개키에 대응하는 개인키는 각 회원의 전자 단말에 사전 저장되어 있음 - 가 추가로 저장되어 있고,
상기 복호화를 수행하는 단계는
상기 제1 회원 목록 상에 상기 제2 회원의 회원 식별 정보가 존재하는 것으로 확인되면, 랜덤한 더미(dummy) 데이터를 생성하여, 상기 제2 회원의 전자 단말로 상기 더미 데이터와, 상기 더미 데이터를 기초로 한 전자 서명 요청을 전송한 후, 상기 제2 회원의 전자 단말로부터, 상기 제2 회원의 전자 단말이 상기 더미 데이터를 상기 제2 회원의 전자 단말에 저장되어 있는 제1 개인키로 암호화하여 생성한 전자 서명 값이 수신되면, 상기 회원 데이터베이스에 저장되어 있는 상기 제2 회원에 대한 제1 공개키로 상기 전자 서명 값을 복호화한 값이, 상기 더미 데이터와 일치하는지 확인하여, 일치하는 것으로 확인되면, 상기 암호화키를 기초로, 암호화된 상기 제1 문서 파일에 대한 복호화를 수행하는 것을 특징으로 하는 메신저 서비스 서버의 동작 방법.
According to claim 6,
In the member database, a pre-issued public key for each of the plurality of members, in which a private key corresponding to the public key for each of the plurality of members is pre-stored in the electronic terminal of each member, is additionally stored. is done,
The step of performing the decryption is
If it is confirmed that the member identification information of the second member exists on the first member list, random dummy data is generated and the dummy data and the dummy data are transmitted to the electronic terminal of the second member. After transmitting the based digital signature request, the electronic terminal of the second member encrypts and generates the dummy data with the first private key stored in the electronic terminal of the second member from the electronic terminal of the second member. When an electronic signature value is received, it is checked whether the value obtained by decrypting the electronic signature value with the first public key for the second member stored in the member database matches the dummy data, and if it is confirmed to match, A method of operating a messenger service server, characterized in that performing decryption on the encrypted first document file based on the encryption key.
제6항에 있어서,
상기 열람 이미지가 상기 제2 회원의 전자 단말로 전송된 이후, 상기 제2 회원의 전자 단말로부터 복호화된 상기 제1 문서 파일의 제공 요청이 수신되면, 복호화된 상기 제1 문서 파일을 구성하는 데이터를 n개로 분할하여, n개의 분할 데이터들을 생성한 후, 상기 n개의 분할 데이터들을 성분으로 갖는 n차원의 데이터 벡터를 생성하는 단계;
n개의 서로 다른 n차원의 원-핫 벡터들을 생성한 후, 상기 제1 회원 목록에 포함된 상기 n명의 회원들 각각의 전자 단말에 대해, 상기 n개의 원-핫 벡터들 중 어느 하나의 원-핫 벡터를 하나씩 지정하여 전송함과 동시에, 상기 데이터 벡터를 전송한 후, 상기 n명의 회원들 각각의 전자 단말에 대해, 각 전자 단말에 전송된 원-핫 벡터와 상기 데이터 벡터를 기초로 한 피드백 벡터의 회신 요청을 전송하는 단계;
상기 n명의 회원들 각각의 전자 단말로부터, 상기 회신 요청에 대한 응답으로, 각 전자 단말이 생성한 피드백 벡터 - 상기 n명의 회원들 각각의 전자 단말이 생성한 피드백 벡터는, 각 전자 단말에 수신된 원-핫 벡터와 상기 데이터 벡터 간의 아다마르 곱(Hadamard product)이 수행되어 생성된 n차원의 벡터임 - 가 수신되면, 상기 n명의 회원들 각각의 전자 단말로부터 수신된 피드백 벡터를 모두 합산하여, 상기 데이터 벡터를 복원하는 단계; 및
상기 데이터 벡터가 복원되면, 복원된 상기 데이터 벡터에 성분으로 포함된 상기 n개의 분할 데이터들을 합산하여, 상기 제1 문서 파일을 복원한 후, 복원된 상기 제1 문서 파일을 상기 제2 회원의 전자 단말로 전송하는 단계
를 더 포함하는 메신저 서비스 서버의 동작 방법.
According to claim 6,
After the viewing image is transmitted to the electronic terminal of the second member, when a request for providing the decrypted first document file is received from the electronic terminal of the second member, data constituting the decrypted first document file dividing into n pieces of data, generating n pieces of split data, and then generating an n-dimensional data vector having the n pieces of split data as components;
After generating n different n-dimensional one-hot vectors, for each electronic terminal of the n members included in the first member list, any one one-hot vector of the n one-hot vectors is generated. At the same time as designating and transmitting hot vectors one by one, after transmitting the data vectors, for each electronic terminal of the n members, feedback based on the one-hot vector transmitted to each electronic terminal and the data vector Sending a vector reply request;
A feedback vector generated by each electronic terminal in response to the reply request from the electronic terminal of each of the n members - the feedback vector generated by each electronic terminal of the n members is received by each electronic terminal When -, which is an n-dimensional vector generated by performing Hadamard product between a one-hot vector and the data vector, is received, all of the feedback vectors received from the electronic terminals of each of the n members are summed up, restoring the data vector; and
When the data vector is restored, the first document file is restored by summing the n pieces of divided data included as components in the restored data vector, and then the restored first document file is converted into the electronic device of the second member. Step to transmit to terminal
Method of operating the messenger service server further comprising a.
제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.Claim 6, claim 8, claim 9 or claim 10 of any one of the method through a combination with a computer to execute a computer program recorded on a computer-readable recording medium. 제6항, 제8항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6, 8, 9 or 10 through a combination with a computer.
KR1020220104967A 2022-08-22 2022-08-22 Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof KR102564222B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220104967A KR102564222B1 (en) 2022-08-22 2022-08-22 Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220104967A KR102564222B1 (en) 2022-08-22 2022-08-22 Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof

Publications (1)

Publication Number Publication Date
KR102564222B1 true KR102564222B1 (en) 2023-08-07

Family

ID=87561260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220104967A KR102564222B1 (en) 2022-08-22 2022-08-22 Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof

Country Status (1)

Country Link
KR (1) KR102564222B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100055146A (en) * 2008-11-17 2010-05-26 (주)소만사 Method for preventing leakage of internal information using messenger and network contents security system thereof
JP2010529532A (en) * 2007-06-01 2010-08-26 ヨォン スン フォ Document security method
KR20110046989A (en) * 2009-10-29 2011-05-06 유니위스 주식회사 Method for Authentication using Mobile Phone
KR20200089797A (en) * 2019-01-17 2020-07-28 (주)쿠쿠닥스 A method and apparatus for sharing documents on mobile messenger

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010529532A (en) * 2007-06-01 2010-08-26 ヨォン スン フォ Document security method
KR20100055146A (en) * 2008-11-17 2010-05-26 (주)소만사 Method for preventing leakage of internal information using messenger and network contents security system thereof
KR20110046989A (en) * 2009-10-29 2011-05-06 유니위스 주식회사 Method for Authentication using Mobile Phone
KR20200089797A (en) * 2019-01-17 2020-07-28 (주)쿠쿠닥스 A method and apparatus for sharing documents on mobile messenger

Similar Documents

Publication Publication Date Title
US11449641B2 (en) Integrity of communications between blockchain networks and external data sources
US10917230B2 (en) Managing sensitive data elements in a blockchain network
CN109241016B (en) Multi-party security calculation method and device and electronic equipment
CN109471844B (en) File sharing method and device, computer equipment and storage medium
CN106664202B (en) Method, system and computer readable medium for providing encryption on multiple devices
US10103888B2 (en) Method of performing keyed-hash message authentication code (HMAC) using multi-party computation without Boolean gates
AU2019204712A1 (en) Managing sensitive data elements in a blockchain network
US8495383B2 (en) Method for the secure storing of program state data in an electronic device
CN111130770B (en) Information certification method and system based on blockchain, user terminal, electronic equipment and storage medium
CN111431713A (en) Private key storage method and device and related equipment
CN108833431B (en) Password resetting method, device, equipment and storage medium
KR102303431B1 (en) Blockchain-based electronic contract management system apparatus that supports electronic contracts between parties and operating method thereof
CN113779534B (en) Personal information providing method and service platform based on digital identity
CN111401888B (en) Method and device for generating multi-signature wallet
CN110795745B (en) Information storage and transmission system based on server and method thereof
KR102564222B1 (en) Messenger service server that enables secure sharing of document files through messenger service and the operating method thereof
CN111464295A (en) Bank card making method and device
JP2018073064A (en) File division and combination system and method thereof
CN111245594A (en) Homomorphic operation-based collaborative signature method and system
CN115378623B (en) Identity authentication method, device, equipment and storage medium
KR102333287B1 (en) Chatting service server which provides secure chatting service interworking plural node units constituting blockchain network and operating method thereof
CN115862895A (en) Online chronic disease inquiry management method and device based on Internet cloud platform
CN113342802A (en) Method and device for storing block chain data
US20230254316A1 (en) Privacy-preserving identity verification
Zkik et al. New homomorphic platform for authentication and downloading data in MCC

Legal Events

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