KR102417811B1 - Document translation service server which provides document translation services with personal information protection function and the operating method thereof - Google Patents

Document translation service server which provides document translation services with personal information protection function and the operating method thereof Download PDF

Info

Publication number
KR102417811B1
KR102417811B1 KR1020200153489A KR20200153489A KR102417811B1 KR 102417811 B1 KR102417811 B1 KR 102417811B1 KR 1020200153489 A KR1020200153489 A KR 1020200153489A KR 20200153489 A KR20200153489 A KR 20200153489A KR 102417811 B1 KR102417811 B1 KR 102417811B1
Authority
KR
South Korea
Prior art keywords
document
client terminal
translation
value
identification information
Prior art date
Application number
KR1020200153489A
Other languages
Korean (ko)
Other versions
KR20220067129A (en
Inventor
안치연
김준현
안정우
Original Assignee
주식회사 한글과컴퓨터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한글과컴퓨터 filed Critical 주식회사 한글과컴퓨터
Priority to KR1020200153489A priority Critical patent/KR102417811B1/en
Publication of KR20220067129A publication Critical patent/KR20220067129A/en
Application granted granted Critical
Publication of KR102417811B1 publication Critical patent/KR102417811B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)
  • Machine Translation (AREA)

Abstract

개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버 및 그 동작 방법이 개시된다. 본 발명은 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 제1 문서에 대한 번역 명령 및 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 사전 설정된 서로 다른 복수의 정규 표현식들을 기초로, 제1 문서에 포함되어 있는 개인 정보인 적어도 하나의 제1 문자열을 확인하고, 적어도 하나의 제1 문자열에 대해 사전 설정된 기호로 마스킹 처리한 후, 제1 문서에 대한 번역을 수행하여 이를 제1 회원의 클라이언트 단말로 전송하는 문서 번역 서비스 서버 및 그 동작 방법에 대한 것이다. Disclosed are a document translation service server that provides a document translation service having a personal information protection function, and a method of operating the same. According to the present invention, when a document file for a first document is received from a client terminal of a first member, a translation command for the first document and a personal information protection processing command for personal information included in the first document are received, in advance Based on a plurality of set different regular expressions, at least one first string that is personal information included in the first document is checked, and after masking with a preset symbol for the at least one first string, the first A document translation service server that translates a document and transmits it to a client terminal of a first member, and an operating method thereof.

Description

개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버 및 그 동작 방법{DOCUMENT TRANSLATION SERVICE SERVER WHICH PROVIDES DOCUMENT TRANSLATION SERVICES WITH PERSONAL INFORMATION PROTECTION FUNCTION AND THE OPERATING METHOD THEREOF}A document translation service server providing a document translation service having a privacy function and an operating method thereof

본 발명은 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버 및 그 동작 방법에 대한 것이다. The present invention relates to a document translation service server that provides a document translation service having a personal information protection function, and a method of operating the same.

개인 정보란 주민등록번호나 전화번호 등과 같이, 특정 개인을 식별할 수 있는 정보를 의미한다. 이러한 개인 정보가 불법적으로 다른 사람에게 유출되면, 범죄에 악용될 수 있기 때문에, 개인 정보가 유출되지 않도록 주의가 필요하다. Personal information means information that can identify a specific individual, such as a resident registration number or phone number. If such personal information is illegally leaked to others, it can be used for criminal purposes, so care must be taken not to leak personal information.

관련해서, 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서와 같은 문서 관련 프로그램에서는 문서에 포함되어 있는 개인 정보를 마스킹 처리하여 개인 정보를 보호하는 기능을 지원하기도 한다. In this regard, a document-related program such as a word processor that supports basic document creation and editing may support a function of protecting personal information by masking personal information included in the document.

따라서, 사용자는 이러한 개인 정보 보호 기능을 활용하여, 문서에 포함되어 있는 개인 정보를 마스킹 처리함으로써, 개인 정보가 유출되는 것을 방지할 수 있다. Accordingly, the user can prevent personal information from being leaked by masking the personal information included in the document by utilizing such a personal information protection function.

하지만, 이러한 개인 정보가 포함되어 있는 문서에 대해 번역이 필요한 경우, 기존의 번역 서비스에서는 개인 정보 보호 기능을 지원하지 않기 때문에, 사용자가 번역을 수행하여 번역 문서를 생성한 후, 번역 문서에 대해 개인 정보 보호 기능을 추가로 실행하여 개인 정보를 마스킹 처리해야 하는 번거로움이 있었다.However, when a translation is required for a document containing such personal information, the existing translation service does not support the privacy protection function. There was a hassle of additionally executing the information protection function to mask personal information.

만약, 개인 정보가 포함되어 있는 문서에 대한 번역을 수행함에 있어서, 개인 정보에 마스킹 처리를 한 후 번역을 수행하여 사용자에게 제공할 수 있다면, 사용자가 문서에 대한 번역이 필요한 경우에도, 손쉽게 문서에 포함되어 있는 개인 정보에 대한 보호 처리를 할 수 있다는 점에서, 사용자의 편의성을 증대시킬 수 있을 것이다. If, when translating a document containing personal information, it can be provided to the user by performing the translation after masking the personal information, even if the user needs to translate the document, it can be easily added to the document. In that it is possible to protect the included personal information, it will be possible to increase the user's convenience.

따라서, 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 기술에 대한 연구가 필요하다. Therefore, there is a need for research on document translation technology that provides a document translation service having a privacy protection function.

본 발명은 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 제1 문서에 대한 번역 명령 및 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 사전 설정된 서로 다른 복수의 정규 표현식들을 기초로, 제1 문서에 포함되어 있는 개인 정보인 적어도 하나의 제1 문자열을 확인하고, 적어도 하나의 제1 문자열에 대해 사전 설정된 기호로 마스킹 처리한 후, 제1 문서에 대한 번역을 수행하여 이를 제1 회원의 클라이언트 단말로 전송하는 문서 번역 서비스 서버 및 그 동작 방법을 제시함으로써, 사용자의 편의성이 증대될 수 있도록 지원하고자 한다. According to the present invention, when a document file for a first document is received from a client terminal of a first member, a translation command for the first document and a personal information protection processing command for personal information included in the first document are received, in advance Based on a plurality of set different regular expressions, at least one first string that is personal information included in the first document is checked, and after masking with a preset symbol for the at least one first string, the first By presenting a document translation service server that translates a document and transmits it to the client terminal of the first member, and a method of operating the same, it is intended to support the increase of user convenience.

본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부, 상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들 중 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 상기 제1 문서에 대한 번역 및 개인 정보 보호 처리를 수행하기 위한 이벤트를 발생시키는 이벤트 발생부, 상기 이벤트가 발생되면, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인하는 문자열 확인부, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로 적어도 하나의 제1 문자열이 존재하는 것으로 확인된 경우, 상기 적어도 하나의 제1 문자열을 사전 설정된 기호로 마스킹(masking) 처리한 후 사전 지정된 번역 엔진을 기초로 상기 제1 문서에 대한 번역 문서를 생성하는 번역 문서 생성부 및 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 제1 회원의 클라이언트 단말로 전송하는 문서 파일 전송부를 포함한다. A document translation service server providing a document translation service having a personal information protection function according to an embodiment of the present invention stores a plurality of different regular expressions preset to correspond to the notation format of personal information. A regular expression storage unit, while receiving a document file for a first document from a client terminal of a first member among a plurality of members pre-designated as members subscribed to the document translation service, a translation command for the first document and the When a personal information protection processing command for personal information included in the first document is received, an event generating unit that generates an event for performing translation and personal information protection processing for the first document, when the event occurs, A string checking unit for checking whether a character string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the texts included in the first document; When it is confirmed that at least one first character string exists as a character string having a notation format corresponding to the plurality of regular expressions among texts, after masking the at least one first character string with a preset symbol A translation document generator for generating a translation document for the first document based on a predefined translation engine, and a document file for transmitting the document file for the translated document to the client terminal of the first member when the translation document is generated includes a transmission unit.

또한, 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작 방법은 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있는 정규 표현식 저장부를 유지하는 단계, 상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들 중 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 상기 제1 문서에 대한 번역 및 개인 정보 보호 처리를 수행하기 위한 이벤트를 발생시키는 단계, 상기 이벤트가 발생되면, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인하는 단계, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로 적어도 하나의 제1 문자열이 존재하는 것으로 확인된 경우, 상기 적어도 하나의 제1 문자열을 사전 설정된 기호로 마스킹 처리한 후 사전 지정된 번역 엔진을 기초로 상기 제1 문서에 대한 번역 문서를 생성하는 단계 및 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 제1 회원의 클라이언트 단말로 전송하는 단계를 포함한다.In addition, in the method of operating a document translation service server that provides a document translation service having a personal information protection function according to an embodiment of the present invention, a plurality of different regular expressions preset to correspond to the notation format of personal information are stored. Maintaining a regular expression storage unit in the document translation service, while receiving the document file for the first document from the client terminal of the first member among a plurality of members pre-designated as members subscribed to the document translation service, When a translation command and a personal information protection processing command for personal information included in the first document are received, generating an event for performing translation and personal information protection processing for the first document, the event occurs , checking whether a character string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the texts included in the first document; When it is confirmed that at least one first character string exists as a character string having a notation format corresponding to the plurality of regular expressions among texts, the at least one first character string is masked with a preset symbol and then a preset translation generating a translated document for the first document based on an engine; and, when the translated document is generated, transmitting a document file for the translated document to a client terminal of the first member.

본 발명은 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 제1 문서에 대한 번역 명령 및 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 사전 설정된 서로 다른 복수의 정규 표현식들을 기초로, 제1 문서에 포함되어 있는 개인 정보인 적어도 하나의 제1 문자열을 확인하고, 적어도 하나의 제1 문자열에 대해 사전 설정된 기호로 마스킹 처리한 후, 제1 문서에 대한 번역을 수행하여 이를 제1 회원의 클라이언트 단말로 전송하는 문서 번역 서비스 서버 및 그 동작 방법을 제시함으로써, 사용자의 편의성을 증대시킬 수 있다. According to the present invention, when a document file for a first document is received from a client terminal of a first member, a translation command for the first document and a personal information protection processing command for personal information included in the first document are received, in advance Based on a plurality of set different regular expressions, at least one first string that is personal information included in the first document is checked, and after masking with a preset symbol for the at least one first string, the first By presenting a document translation service server that translates a document and transmits it to the client terminal of the first member, and a method of operating the same, it is possible to increase user convenience.

도 1은 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작 방법을 도시한 순서도이다.
1 is a diagram showing the structure of a document translation service server that provides a document translation service having a personal information protection function according to an embodiment of the present invention.
FIG. 2 is a diagram for explaining an operation of a document translation service server that provides a document translation service having a personal information protection function according to an embodiment of the present invention.
3 is a flowchart illustrating an operation method of a document translation service server that provides a document translation service having a personal information protection function 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. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.

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

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

도 1은 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 구조를 도시한 도면이다. 1 is a diagram showing the structure of a document translation service server that provides a document translation service having a personal information protection function according to an embodiment of the present invention.

도 1을 참조하면, 문서 번역 서비스 서버(110)는 정규 표현식 저장부(111), 이벤트 발생부(112), 문자열 확인부(113), 번역 문서 생성부(114) 및 문서 파일 전송부(115)를 포함한다. Referring to FIG. 1 , the document translation service server 110 includes a regular expression storage unit 111 , an event generation unit 112 , a character string verification unit 113 , a translation document generation unit 114 , and a document file transmission unit 115 . ) is included.

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

여기서, 정규 표현식이란 '111-2222-3333'이나 '123456-4567890'과 같이 특정한 규칙을 가진 문자열의 집합을 표현하는데 사용하는 형식 언어를 의미한다.Here, the regular expression means a formal language used to express a set of strings having a specific rule, such as '111-2222-3333' or '123456-4567890'.

예컨대, 정규 표현식 저장부(111)에는 하기의 표 1과 같이, 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있을 수 있다. For example, as shown in Table 1 below, a plurality of preset regular expressions may be stored in the regular expression storage unit 111 .

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

이벤트 발생부(112)는 상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들 중 제1 회원의 클라이언트 단말(141)로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 상기 제1 문서에 대한 번역 및 개인 정보 보호 처리를 수행하기 위한 이벤트를 발생시킨다. The event generating unit 112 receives the document file for the first document from the client terminal 141 of the first member among a plurality of members who are pre-designated as members subscribed to the document translation service, and adds the document to the first document. When a translation command and a personal information protection processing command for personal information included in the first document are received, an event for performing translation and personal information protection processing for the first document is generated.

문자열 확인부(113)는 이벤트 발생부(112)에 의해 상기 이벤트가 발생되면, 상기 제1 문서에 포함되어 있는 텍스트 중 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인한다. When the event is generated by the event generating unit 112 , the character string check unit 113 corresponds to the plurality of regular expressions stored in the regular expression storage unit 111 among texts included in the first document. Checks whether a string with the specified notation format exists.

번역 문서 생성부(114)는 문자열 확인부(113)에 의해 상기 제1 문서에 포함되어 있는 텍스트 중 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로 적어도 하나의 제1 문자열이 존재하는 것으로 확인된 경우, 상기 적어도 하나의 제1 문자열을 사전 설정된 기호로 마스킹(masking) 처리한 후 사전 지정된 번역 엔진을 기초로 상기 제1 문서에 대한 번역 문서를 생성한다. The translation document generating unit 114 is a character string having a notation format corresponding to the plurality of regular expressions among texts included in the first document by the character string checking unit 113. At least one first character string exists. When it is confirmed that the at least one first character string is masked with a preset symbol, a translation document for the first document is generated based on a preset translation engine.

문서 파일 전송부(115)는 번역 문서 생성부(114)에 의해 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 제1 회원의 클라이언트 단말(141)로 전송한다. When the translated document is generated by the translation document generating unit 114 , the document file transmitting unit 115 transmits a document file for the translated document to the client terminal 141 of the first member.

이하에서는, 문자열 확인부(113), 번역 문서 생성부(114) 및 문서 파일 전송부(115)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the character string check unit 113 , the translation document generation unit 114 , and the document file transmission unit 115 will be described in detail, for example.

먼저, 상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들 중 제1 회원인 '회원 1'의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되었다고 하고, 이에 따라, 이벤트 발생부(112)에 의해 상기 제1 문서에 대한 번역 명령 및 개인 정보 보호 처리를 수행하기 위한 이벤트가 발생되었다고 가정하자. First, while a document file for a first document is received from a client terminal of 'Member 1' who is a first member among a plurality of members who are pre-designated as members subscribed to the document translation service, a translation command for the first document is received and it is said that a personal information protection processing command for personal information included in the first document has been received, and accordingly, the event generating unit 112 performs a translation command and personal information protection processing for the first document Assume that an event for

그러면, 문자열 확인부(113)는 상기 제1 문서에 포함되어 있는 텍스트 중 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인할 수 있다. Then, the character string check unit 113 may check whether a character string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit 111 among the text included in the first document exists. .

이때, 상기 제1 문서를 도 2의 도면부호 210에 도시된 그림과 같다고 하는 경우, 상기 표 1과 같은 정규 표현식 저장부(111)를 참조하여, 상기 제1 문서에 포함되어 있는 텍스트와 상기 복수의 정규 표현식들을 서로 비교해 보면, 상기 제1 문서에서 도면부호 201로 표시되어 있는 문자열은 '전화번호 표기 형식'에 대응되는 표기 형식을 갖고 있고, 도면부호 202로 표시되어 있는 문자열은 '주민등록번호 표기 형식'에 대응되는 표기 형식을 갖고 있는 것으로 확인할 수 있다.At this time, if the first document is the same as the figure shown in reference numeral 210 of FIG. 2 , referring to the regular expression storage unit 111 as shown in Table 1, the text included in the first document and the plurality of Comparing the regular expressions of , in the first document, the character string denoted by reference numeral 201 has a notation format corresponding to the 'phone number representation format', and the character string denoted by reference numeral 202 is the 'resident registration number representation format'. It can be confirmed that it has a notation form corresponding to '.

따라서, 문자열 확인부(113)는 상기 제1 문서에서, 도면부호 201로 표시되어 있는 문자열과 도면부호 202로 표시되어 있는 문자열을 적어도 하나의 제1 문자열로 확인할 수 있다. Accordingly, the character string check unit 113 may identify the character string indicated by reference numeral 201 and the character string indicated by reference numeral 202 as at least one first character string in the first document.

그러면, 번역 문서 생성부(114)는 적어도 하나의 제1 문자열(201, 202)을 사전 설정된 기호로 마스킹 처리한 후 사전 지정된 번역 엔진을 기초로, 상기 제1 문서에 대한 번역 문서를 생성할 수 있다. Then, the translation document generating unit 114 may generate a translation document for the first document based on a predefined translation engine after masking the at least one first character string 201 and 202 with a preset symbol. have.

관련해서, 사전 설정된 기호를 '*'라고 하는 경우, 번역 문서 생성부(114)는 적어도 하나의 제1 문자열(201, 202)을 각각 '*'로 마스킹 처리한 후, 사전 지정된 번역 엔진을 기초로, 상기 제1 문서에 대한 번역 문서를 도면부호 220에 도시된 그림과 같이 생성할 수 있다.In relation to this, when the preset symbol is '*', the translation document generating unit 114 masks each of the at least one first character string 201 and 202 with '*', and then based on the preset translation engine Thus, a translation document for the first document may be generated as shown in the figure 220 .

이렇게, 번역 문서 생성부(114)에 의해 상기 번역 문서가 생성되면, 문서 파일 전송부(115)는 상기 번역 문서에 대한 문서 파일을 '회원 1'의 클라이언트 단말로 전송할 수 있다. In this way, when the translated document is generated by the translated document generating unit 114 , the document file transmitting unit 115 may transmit a document file for the translated document to the client terminal of 'Member 1'.

즉, 문서 번역 서비스 서버(110)는 제1 회원의 클라이언트 단말(141)로부터 상기 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 사전 설정된 상기 서로 다른 복수의 정규 표현식들을 기초로, 상기 제1 문서에 포함되어 있는 개인 정보인 상기 적어도 하나의 제1 문자열을 확인하고, 상기 적어도 하나의 제1 문자열에 대해 사전 설정된 기호로 마스킹 처리한 후, 상기 제1 문서에 대한 번역을 수행하여 생성된 상기 번역 문서에 대한 문서 파일을 제1 회원의 클라이언트 단말(141)로 전송할 수 있다. That is, the document translation service server 110 receives the document file for the first document from the client terminal 141 of the first member, and provides a translation command for the first document and an individual included in the first document. When a personal information protection processing command for information is received, based on the preset plurality of different regular expressions, the at least one first string that is personal information included in the first document is identified, and the at least one After masking with a preset symbol for the first character string of , a document file for the translated document generated by performing translation of the first document may be transmitted to the client terminal 141 of the first member.

본 발명의 일실시예에 따르면, 문서 번역 서비스 서버(110)는 회원 데이터베이스(116), 식별 정보 요청부(117), 권한 테이블 생성부(118), 해시 값 생성부(119) 및 권한 테이블 저장 처리부(120)를 더 포함할 수 있다.According to an embodiment of the present invention, the document translation service server 110 includes a member database 116 , an identification information request unit 117 , a permission table generator 118 , a hash value generator 119 , and a permission table storage A processing unit 120 may be further included.

먼저, 회원 데이터베이스(116)에는 상기 복수의 회원들의 식별 정보가 저장되어 있다. First, identification information of the plurality of members is stored in the member database 116 .

여기서, 상기 복수의 회원들의 식별 정보는, 상기 복수의 회원들 각각의 휴대폰 번호나 E-mail 주소 등과 같이, 상기 복수의 회원들 각각을 식별하기 위한 고유 정보를 의미한다. Here, the identification information of the plurality of members means unique information for identifying each of the plurality of members, such as a mobile phone number or an E-mail address of each of the plurality of members.

예컨대, 회원 데이터베이스(116)에는 하기의 표 2와 같은 상기 복수의 회원들의 식별 정보가 저장되어 있을 수 있다. For example, identification information of the plurality of members as shown in Table 2 below may be stored in the member database 116 .

복수의 회원들multiple members 식별 정보identification information 회원 1member 1 식별 정보 1Identification 1 회원 2member 2 식별 정보 2Identification 2 회원 3member 3 식별 정보 3Identification 3 회원 4member 4 식별 정보 4Identification 4 ...... ......

식별 정보 요청부(117)는 문서 파일 전송부(115)에 의해 상기 번역 문서에 대한 문서 파일이 제1 회원의 클라이언트 단말(141)로 전송 완료되면, 제1 회원의 클라이언트 단말(141)로, 상기 복수의 회원들 중 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원에 대한 식별 정보의 전송을 요청한다. When the document file for the translated document is transmitted to the first member's client terminal 141 by the document file transmitting unit 115, the identification information requesting unit 117 sends it to the first member's client terminal 141, It requests transmission of identification information about a member to be granted access to the at least one first string among the plurality of members.

권한 테이블 생성부(118)는 제1 회원의 클라이언트 단말(141)로부터, 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원의 식별 정보로, 적어도 하나의 제2 회원의 식별 정보가 수신되면, 회원 데이터베이스(116)에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는지 확인하여, 회원 데이터베이스(116)에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는 것으로 확인되면, 상기 적어도 하나의 제2 회원의 식별 정보를 기록한 권한 테이블을 생성한다. The permission table generating unit 118 is the identification information of the member to be granted access to the at least one first character string from the client terminal 141 of the first member, and identifies the at least one second member. When the information is received, it is checked whether the identification information of the at least one second member is stored in the member database 116 , and it is confirmed that the identification information of the at least one second member is stored in the member database 116 . If done, an authority table is created in which identification information of the at least one second member is recorded.

해시 값 생성부(119)는 권한 테이블 생성부(118)에 의해 상기 권한 테이블이 생성되면, 상기 번역 문서에 대한 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여, 해시 값을 생성한다. When the permission table is generated by the permission table generator 118 , the hash value generator 119 applies a document file for the translated document as an input to a preset hash function to generate a hash value.

권한 테이블 저장 처리부(120)는 해시 값 생성부(119)에 의해 상기 해시 값이 생성되면, 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 권한 테이블 저장소에 저장한다. When the hash value is generated by the hash value generator 119, the permission table storage processing unit 120 stores the permission table and the hash value in correspondence with each other in the permission table storage.

이하에서는, 식별 정보 요청부(117), 권한 테이블 생성부(118), 해시 값 생성부(119) 및 권한 테이블 저장 처리부(120)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, operations of the identification information request unit 117 , the authority table generation unit 118 , the hash value generation unit 119 , and the authority table storage processing unit 120 will be described in detail, for example.

먼저, 전술한 예와 같이, 문서 파일 전송부(115)에 의해 상기 번역 문서에 대한 문서 파일이 '회원 1'의 클라이언트 단말로 전송되었다고 가정하자. First, as in the above-described example, it is assumed that the document file for the translated document is transmitted to the client terminal of 'member 1' by the document file transmission unit 115 .

그러면, 식별 정보 요청부(117)는 '회원 1'의 클라이언트 단말로, 상기 복수의 회원들 중 적어도 하나의 제1 문자열(201, 202)에 대한 액세스 권한을 부여할 대상이 되는 회원에 대한 식별 정보의 전송을 요청할 수 있다. Then, the identification information request unit 117 is a client terminal of 'member 1', and identifies a member to be granted access to at least one first string 201 and 202 among the plurality of members. You may request the transmission of information.

이때, '회원 1'의 클라이언트 단말이, 상기 식별 정보 전송 요청에 대응하여, 적어도 하나의 제1 문자열(201, 202)에 대한 액세스 권한을 부여할 대상이 되는 적어도 하나의 제2 회원의 식별 정보로, '회원 2, 회원 3' 각각의 식별 정보인 '식별 정보 2, 식별 정보 3'을 전송함에 따라, 문서 번역 서비스 서버(110)에 '식별 정보 2, 식별 정보 3'이 수신되었다고 가정하자. At this time, identification information of at least one second member to which the client terminal of 'member 1' is to grant access to the at least one first character string 201, 202 in response to the identification information transmission request Assume that 'identification information 2, identification information 3' is received in the document translation service server 110 as 'identification information 2, identification information 3', which is identification information of each of 'member 2 and member 3', is transmitted. .

그러면, 권한 테이블 생성부(118)는 회원 데이터베이스(116)에 '식별 정보 2, 식별 정보 3'이 저장되어 있는지 확인할 수 있다. 관련해서, 상기 표 2와 같은 회원 데이터베이스(116)에는, '식별 정보 2, 식별 정보 3'이 기록되어 있으므로, 권한 테이블 생성부(118)는 회원 데이터베이스(116)에 '식별 정보 2, 식별 정보 3'이 기록되어 있는 것으로 확인할 수 있고, '식별 정보 2, 식별 정보 3'을 기록한 권한 테이블을 하기의 표 3과 같이 생성할 수 있다. Then, the authority table generating unit 118 may check whether 'identification information 2, identification information 3' is stored in the member database 116 . In relation to this, since 'identification information 2 and identification information 3' are recorded in the member database 116 as shown in Table 2, the authority table generating unit 118 stores the 'identification information 2, identification information 3' in the member database 116. It can be confirmed that 3' is recorded, and an authority table in which 'identification information 2, identification information 3' is recorded can be created as shown in Table 3 below.

적어도 하나의 제2 회원at least one second member 식별 정보identification information 회원 2member 2 식별 정보 2Identification 2 회원 3member 3 식별 정보 3Identification 3

그러고 나서, 해시 값 생성부(119)는 상기 번역 문서에 대한 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여, 해시 값을 생성할 수 있다. Then, the hash value generator 119 may generate a hash value by applying the document file for the translated document as an input to a preset hash function.

이때, 상기 해시 값이 '해시 값 1'과 같이 생성되었다고 하는 경우, 권한 테이블 저장 처리부(120)는 상기 권한 테이블과, '해시 값 1'을 서로 대응시켜 권한 테이블 저장소에 저장할 수 있다. At this time, if it is assumed that the hash value is generated as 'hash value 1', the permission table storage processing unit 120 may store the permission table and 'hash value 1' by matching them with each other in the permission table storage.

이때, 본 발명의 일실시예에 따르면, 문서 번역 서비스 서버(110)는 전송 요청부(121), 권한 테이블 열람부(122) 및 해제 승인 신호 전송부(123)를 더 포함할 수 있다. In this case, according to an embodiment of the present invention, the document translation service server 110 may further include a transmission request unit 121 , a permission table reading unit 122 , and a release approval signal transmission unit 123 .

전송 요청부(121)는 권한 테이블 저장 처리부(120)에 의해 상기 권한 테이블과 상기 해시 값이 서로 대응되어 상기 권한 테이블 저장소에 저장된 이후, 상기 적어도 하나의 제2 회원 중 한 명인 제3 회원에 의해, 제3 회원의 클라이언트 단말(142)에서 상기 번역 문서에 대한 문서 파일이 실행된 후 상기 제3 회원에 의해, 제3 회원의 클라이언트 단말(142)에 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제할 것을 지시하는 마스킹 해제 명령이 인가됨에 따라, 제3 회원의 클라이언트 단말(142)로부터 마스킹 해제 요청이 수신되면, 제3 회원의 클라이언트 단말(142)로, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보를 전송할 것을 요청한다. After the permission table and the hash value are matched with each other by the permission table storage processing unit 120 and stored in the permission table storage by the permission table storage processing unit 120, the transmission request unit 121 is configured by a third member who is one of the at least one second member. , which is applied to the at least one first character string by the third member to the client terminal 142 of the third member after the document file for the translated document is executed in the client terminal 142 of the third member When the unmasking request is received from the third member's client terminal 142 as the unmasking command instructing to release the masking is applied, the third member's client terminal 142 sends a document file for the translated document and request to transmit the identification information of the third member.

권한 테이블 열람부(122)는 제3 회원의 클라이언트 단말(142)로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성한 후 상기 권한 테이블 저장소에서 상기 해시 값에 대응되어 저장되어 있는 상기 권한 테이블을 열람한다. When a document file for the translated document and identification information of the third member are received from the client terminal 142 of the third member, the permission table reading unit 122 inputs the document file for the translated document into the hash function. to generate the hash value, and then browse the permission table stored corresponding to the hash value in the permission table storage.

해제 승인 신호 전송부(123)는 권한 테이블 열람부(122)에 의해 상기 권한 테이블이 열람되면, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는지 확인하여, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는 것으로 확인되면, 제3 회원의 클라이언트 단말(142)로 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹의 해제를 승인하기 위한 마스킹 해제 승인 신호를 전송한다. When the authority table is read by the authority table reading unit 122, the release approval signal transmitting unit 123 checks whether the identification information of the third member is recorded on the authority table, and confirms that the third member identification information is recorded on the authority table. When it is confirmed that the identification information of the third member is recorded, a masking release approval signal for approving the release of the masking applied to the at least one first character string is transmitted to the client terminal 142 of the third member.

이때, 제3 회원의 클라이언트 단말(142)은 문서 번역 서비스 서버(110)로부터 상기 마스킹 해제 승인 신호가 수신되면, 상기 번역 문서에서 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제한 후, 상기 번역 문서를 화면 상에 표시할 수 있다.At this time, when the third member's client terminal 142 receives the unmasking approval signal from the document translation service server 110, after releasing the masking applied to the at least one first character string in the translated document, The translated document may be displayed on the screen.

이하에서는, 전송 요청부(121), 권한 테이블 열람부(122), 해제 승인 신호 전송부(123) 및 제3 회원의 클라이언트 단말(142)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, operations of the transmission request unit 121 , the authority table browsing unit 122 , the release approval signal transmission unit 123 , and the client terminal 142 of the third member will be described in detail, for example.

먼저, 전술한 예와 같이, 권한 테이블 저장 처리부(120)에 의해, 상기 권한 테이블과 '해시 값 1'이 서로 대응되어 상기 권한 테이블 저장소에 저장되었다고 가정하자. 그 이후, 상기 적어도 하나의 제2 회원인 '회원 2, 회원 3' 중 '회원 2'에 의해, '회원 2'의 클라이언트 단말에서 상기 번역 문서에 대한 문서 파일이 실행되고, '회원 2'에 의해, '회원 2'의 클라이언트 단말에 적어도 하나의 제1 문자열(201, 202)에 적용되어 있는 마스킹을 해제할 것을 요청하는 마스킹 해제 명령이 인가됨에 따라, 문서 번역 서비스 서버(110)에 '회원 2'의 클라이언트 단말로부터 마스킹 해제 요청이 수신되었다고 가정하자. First, as in the above example, it is assumed that the permission table and 'hash value 1' correspond to each other and are stored in the permission table storage by the permission table storage processing unit 120 . After that, the document file for the translated document is executed in the client terminal of 'Member 2' by 'Member 2' among 'Member 2 and Member 3', which is the at least one second member, and to 'Member 2' As a result, a masking release command requesting to cancel the masking applied to the at least one first character string 201 and 202 is applied to the client terminal of 'member 2', and the document translation service server 110 receives the 'member' Assume that a de-masking request is received from a client terminal of 2'.

그러면, 전송 요청부(121)는 '회원 2'의 클라이언트 단말로, 상기 번역 문서에 대한 문서 파일과 '회원 2'의 식별 정보를 전송할 것을 요청할 수 있다. Then, the transmission requesting unit 121 may request to transmit the document file for the translated document and identification information of the 'member 2' to the client terminal of 'member 2'.

이때, '회원 2'의 클라이언트 단말이 상기 전송 요청에 대응하여, 상기 번역 문서에 대한 문서 파일을 전송함과 동시에, '회원 2'의 식별 정보로 '식별 정보 2'를 전송함에 따라, 문서 번역 서비스 서버(110)에 상기 번역 문서에 대한 문서 파일과 '식별 정보 2'가 수신되었다고 하는 경우, 권한 테이블 열람부(122)는 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 '해시 값 1'과 같이 생성할 수 있다.In this case, as the client terminal of 'Member 2' transmits the document file for the translated document in response to the transmission request, and at the same time transmits 'Identification information 2' as the identification information of 'Member 2', document translation When it is said that the service server 110 has received the document file for the translated document and 'identification information 2', the permission table reading unit 122 applies the document file for the translated document as an input to the hash function, You can create a hash value like 'hash value 1'.

그러면, 권한 테이블 열람부(122)는 상기 권한 테이블 저장소에서, '해시 값 1'에 대응되어 저장되어 있는 상기 권한 테이블을 열람할 수 있다. Then, the permission table browsing unit 122 may browse the permission table stored in correspondence with 'hash value 1' in the permission table storage.

관련해서, 전술한 예에 따르면, 상기 권한 테이블은 권한 테이블 저장 처리부(120)에 의해, '해시 값 1'과 대응되어 상기 권한 테이블 저장소에 저장되었으므로, 권한 테이블 열람부(122)는 '해시 값 1'을 기초로, 상기 권한 테이블 저장소에서 상기 표 3과 같은 권한 테이블을 열람할 수 있다.In relation to this, according to the above-described example, since the permission table is stored in the permission table storage in correspondence with 'hash value 1' by the permission table storage processing unit 120, the permission table browsing unit 122 is 'hash value 1' ', it is possible to browse the authority table as shown in Table 3 in the authority table storage.

이렇게, 권한 테이블 열람부(122)에 의해 상기 권한 테이블이 열람되면, 해제 승인 신호 전송부(123)는 상기 권한 테이블 상에 '식별 정보 2'가 기록되어 있는지 확인할 수 있다.In this way, when the authority table is read by the authority table viewing unit 122 , the release approval signal transmitting unit 123 may check whether 'identification information 2' is recorded on the authority table.

관련해서, 상기 표 3과 같은 권한 테이블에는 상기 적어도 하나의 제2 회원의 식별 정보로, '식별 정보 2, 식별 정보 3'이 기록되어 있으므로, 해제 승인 신호 전송부(123)는 상기 권한 테이블 상에 '식별 정보 2'가 기록되어 있는 것으로 확인할 수 있다.In relation to this, since 'identification information 2 and identification information 3' are recorded as identification information of the at least one second member in the authority table as shown in Table 3, the release approval signal transmitter 123 is It can be confirmed that 'identification information 2' is recorded in the .

여기서, 상기 권한 테이블 상에 '회원 2'의 식별 정보인 '식별 정보 2'가 기록되어 있다는 것은, '회원 2'가 적어도 하나의 제1 문자열(201, 202)에 대한 액세스 권한이 부여된 상기 적어도 하나의 제2 회원 중 한 명이라는 것을 의미하기 때문에, 해제 승인 신호 전송부(123)는 '회원 2'의 단말로 적어도 하나의 제1 문자열(201, 202) 적용되어 있는 마스킹의 해제를 승인하기 위한 마스킹 해제 신호를 전송할 수 있다. Here, the fact that 'identification information 2', which is identification information of 'member 2', is recorded on the permission table means that 'member 2' is granted access to at least one first character string 201 and 202 Since it means one of the at least one second member, the release approval signal transmitter 123 approves the release of the masking applied to the at least one first character string 201 and 202 to the terminal of 'member 2'. may transmit a masking unmasking signal for

이에 따라, '회원 2'의 클라이언트 단말에 상기 마스킹 해제 신호가 수신되면, '회원 2'의 클라이언트 단말은 적어도 하나의 제1 문자열(201, 202)에 적용되어 있는 마스킹을 해제한 후, 상기 번역 문서를 도면부호 230에 도시된 그림과 같이 화면 상에 표시할 수 있다.Accordingly, when the unmasking signal is received at the client terminal of 'Member 2', the client terminal of 'Member 2' releases the masking applied to the at least one first character string 201 and 202, and then the translation The document may be displayed on the screen as shown in the figure 230 .

이러한 방식으로, 문서 번역 서비스 서버(110)는 제1 회원의 클라이언트 단말(141)로부터 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 상기 적어도 하나의 제2 회원의 식별 정보를 수신하여 상기 권한 테이블을 생성하고, 상기 권한 테이블과 상기 번역 문서에 대한 해시 값을 서로 대응시켜 상기 권한 테이블 저장소에 저장해 둔 후, 상기 적어도 하나의 제2 회원 중 한 명인 제3 회원의 클라이언트 단말(142)로부터 상기 번역 문서에 대한 문서 파일이 실행되고, 상기 번역 문서에 대한 상기 마스킹 해제 명령이 수신되면, 상기 해시 값과 상기 권한 테이블을 기초로, 상기 제3 회원이 상기 적어도 하나의 제2 회원에 포함되는지 확인하여, 상기 제3 회원이 상기 적어도 하나의 제2 회원에 포함되는 것으로 확인되면, 제3 회원의 클라이언트 단말(142)로 상기 마스킹 해제 승인 신호를 전송할 수 있다. In this way, the document translation service server 110 receives, from the client terminal 141 of the first member, the identification information of the at least one second member to be granted access to the at least one first character string. After receiving and generating the permission table, and storing the hash values of the permission table and the translation document in correspondence with each other in the permission table storage, a client terminal of a third member who is one of the at least one second member ( 142), when the document file for the translated document is executed and the unmasking command for the translated document is received, based on the hash value and the permission table, the third member is the at least one second member By checking whether the third member is included in the at least one second member, it is possible to transmit the unmasking approval signal to the client terminal 142 of the third member.

한편, 권한 테이블 저장 처리부(120)는 상기 권한 테이블에 대한 보안을 강화하기 위해, 상기 권한 테이블을 암호화한 후, 암호화된 상기 권한 테이블을 상기 해시 값과 대응시켜 상기 권한 테이블 저장소에 저장할 수 있다. Meanwhile, in order to strengthen the security of the permission table, the permission table storage processing unit 120 may encrypt the permission table and store the encrypted permission table in correspondence with the hash value in the permission table storage.

이와 관련해서, 본 발명의 일실시예에 따르면, 권한 테이블 저장 처리부(120)는 개인키 저장부(124), 연산 값 산출부(125), 개인키 추출부(126), 권한 테이블 암호화부(127) 및 암호화 저장 처리부(128)를 포함할 수 있다. In this regard, according to an embodiment of the present invention, the authority table storage processing unit 120 includes the private key storage unit 124, the calculation value calculation unit 125, the private key extraction unit 126, and the authority table encryption unit ( 127) and an encrypted storage processing unit 128 .

먼저, 개인키 저장부(124)에는 사전 설정된 n(n은 2 이상의 자연수임)개의 개인키들이 저장되어 있다. First, n (n is a natural number greater than or equal to 2) preset private keys are stored in the private key storage unit 124 .

여기서, 상기 n개의 개인키들에는 각각 0 이상 n-1 이하의 서로 다른 정수 값이 할당되어 있고, 상기 복수의 회원들의 클라이언트 단말에는 상기 n개의 개인키들 각각에 대응되는 n개의 공개키들이 사전 배포되어 있으며, 상기 n개의 공개키들에는 각 공개키에 대응되는 개인키에 할당되어 있는 정수 값과 동일한 정수 값이 할당되어 있다.Here, different integer values of 0 or more and n-1 or less are assigned to each of the n private keys, and n public keys corresponding to each of the n private keys are pre-distributed to the client terminals of the plurality of members. and an integer value identical to an integer value assigned to a private key corresponding to each public key is assigned to the n public keys.

예컨대, n을 '10'이라고 하는 경우, 개인키 저장부(124)에는 하기의 표 4와 같은 '10'개의 개인키들이 저장되어 있을 수 있다.For example, when n is '10', '10' private keys as shown in Table 4 below may be stored in the private key storage unit 124 .

'10'개의 개인키들'10' private keys 정수 값integer value 개인키 1private key 1 00 개인키 2private key 2 1One 개인키 3private key 3 22 개인키 4private key 4 33 개인키 5private key 5 44 개인키 6private key 6 55 개인키 7private key 7 66 개인키 8private key 8 77 개인키 9private key 9 88 개인키 10private key 10 99

또한, 상기 복수의 회원들의 클라이언트 단말에는 상기 '10'개의 개인키들 각각에 대응되는 하기의 표 5와 같은 '10'개의 공개키들이 사전 배포되어 있을 수 있다. In addition, '10' public keys as shown in Table 5 below corresponding to each of the '10' private keys may be pre-distributed to the client terminals of the plurality of members.

'10'개의 공개키들'10' public keys 정수 값integer value 공개키 1public key 1 00 공개키 2public key 2 1One 공개키 3public key 3 22 공개키 4public key 4 33 공개키 5public key 5 44 공개키 6public key 6 55 공개키 7public key 7 66 공개키 8public key 8 77 공개키 9public key 9 88 공개키 10public key 10 99

연산 값 산출부(125)는 해시 값 생성부(119)에 의해 상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득한 후, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로(modulo) 연산을 수행함으로써, 제1 연산 값을 산출한다. When the hash value is generated by the hash value generator 119, the calculation value calculating unit 125 checks attribute information of the document file for the translated document, and at the time when the document file for the translated document is generated. After obtaining the date value for , the first calculated value is calculated by performing a modulo operation with the date value as the dividend and n as the divisor.

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

개인키 추출부(126)는 연산 값 산출부(125)에 의해 상기 제1 연산 값이 산출되면, 개인키 저장부(124)를 참조하여, 상기 n개의 개인키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 제1 개인키를 추출한다. When the first operation value is calculated by the operation value calculation unit 125, the private key extraction unit 126 refers to the private key storage unit 124, and the first operation value among the n private keys is an integer. The first private key assigned as a value is extracted.

권한 테이블 암호화부(127)는 개인키 추출부(126)에 의해 상기 제1 개인키가 추출되면, 상기 제1 개인키로 상기 권한 테이블을 암호화한다. When the first private key is extracted by the private key extraction unit 126, the authority table encryption unit 127 encrypts the authority table with the first private key.

암호화 저장 처리부(128)는 권한 테이블 암호화부(127)에 의해 상기 권한 테이블이 암호화되면, 암호화된 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 상기 권한 테이블 저장소에 저장한다. When the permission table is encrypted by the permission table encryption unit 127, the encryption storage processing unit 128 stores the encrypted permission table and the hash value in correspondence with each other in the permission table storage.

이하에서는, 연산 값 산출부(125), 개인키 추출부(126), 권한 테이블 암호화부(127) 및 암호화 저장 처리부(128)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the calculation value calculating unit 125, the private key extracting unit 126, the authority table encryption unit 127, and the encrypted storage processing unit 128 will be described in detail, for example.

먼저, 전술한 예와 같이, n을 '10'이라고 하고, 해시 값 생성부(119)에 의해 상기 해시 값이 '해시 값 1'과 같이 생성되었다고 가정하자. First, as in the above-described example, it is assumed that n is '10', and that the hash value is generated as 'hash value 1' by the hash value generator 119 .

그러면, 연산 값 산출부(125)는 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득할 수 있다. Then, the calculation value calculating unit 125 may check attribute information of the document file for the translation document, and obtain a date value for the time when the document file for the translation document is generated.

이때, 획득된 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 '20201027'이라고 하는 경우, 연산 값 산출부(125)는 '20201027'을 피제수로 하고, '10'을 제수로 하는 모듈로 연산을 수행함으로써, 제1 연산 값을 '7'로 산출할 수 있다. At this time, when the date value for the time when the obtained document file for the translated document is generated is '20201027', the calculation value calculating unit 125 sets '20201027' as the dividend and '10' as the divisor By performing the modulo operation, the first operation value may be calculated as '7'.

이렇게, 연산 값 산출부(125)에 의해 상기 제1 연산 값이 '7'로 산출되면, 개인키 추출부(126)는 개인키 저장부(124)를 참조하여, 상기 '10'개의 개인키들 중 '7'이 정수 값으로 할당되어 있는 제1 개인키를 추출할 수 있다. In this way, when the first calculated value is calculated as '7' by the calculated value calculating unit 125, the private key extracting unit 126 refers to the private key storage unit 124 and selects the '10' private keys. The first private key to which '7' is assigned as an integer value may be extracted.

관련해서, 상기 표 4와 같은 개인키 저장부(124)에서는, 상기 '10'개의 개인키들 중 '7'이 정수 값으로 할당되어 있는 개인키가 '개인키 8'이므로, 개인키 추출부(126)는 상기 제1 개인키로, '개인키 8'을 추출할 수 있다. In relation to this, in the private key storage unit 124 as shown in Table 4, the private key extracting unit ( 126) may extract 'private key 8' as the first private key.

그러면, 권한 테이블 암호화부(127)는 '개인키 8'로 상기 권한 테이블을 암호화할 수 있다. Then, the authority table encryption unit 127 may encrypt the authority table with the 'private key 8'.

이렇게, 권한 테이블 암호화부(127)에 의해 상기 권한 테이블이 암호화되면, 암호화 저장 처리부(128)는 암호화된 상기 암호화 테이블과 '해시 값 1'을 서로 대응시켜 상기 권한 테이블 저장소에 저장할 수 있다. In this way, when the authority table is encrypted by the authority table encryption unit 127, the encryption storage processing unit 128 may store the encrypted table and the 'hash value 1' in correspondence with each other in the authority table storage.

이때, 본 발명의 일실시예에 따르면, 권한 테이블 열람부(122)는 암호화된 상태로 상기 해시 값과 대응되어 상기 권한 테이블 저장소에 저장되어 있는 상기 권한 테이블을 복호화하여 열람하기 위한 구성으로, 해시 값 연산부(129), 공개키 전송 요청부(130) 및 복호화 열람부(131)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the permission table viewing unit 122 is configured to decrypt and read the permission table stored in the permission table storage in an encrypted state corresponding to the hash value, and the hash value It may include an operation unit 129 , a public key transmission request unit 130 , and a decryption browsing unit 131 .

먼저, 해시 값 연산부(129)는 제3 회원의 클라이언트 단말(142)로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성한다. First, when a document file for the translated document and identification information of the third member are received from the client terminal 142 of the third member, the hash value calculating unit 129 generates the document file for the translated document, the hash The hash value is generated by applying it as an input to a function.

공개키 전송 요청부(130)는 해시 값 연산부(129)에 의해 상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득하고, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값을 산출한 후, 제3 회원의 클라이언트 단말(142)로 상기 제1 연산 값을 전송하면서, 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키의 전송을 요청한다. When the hash value is generated by the hash value calculating unit 129, the public key transmission request unit 130 checks the attribute information of the document file for the translated document, and at the time when the document file for the translated document is generated. After calculating the first operation value by obtaining a date value for , making the date value a dividend and performing a modulo operation with n as a divisor, While transmitting the operation value, transmission of the public key to which the first operation value is assigned as an integer value is requested.

복호화 열람부(131)는 제3 회원의 클라이언트 단말(142)이 상기 공개키의 전송 요청에 대응하여, 제3 회원의 클라이언트 단말(142)에 저장되어 있는 상기 n개의 공개키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키로 제1 공개키를 추출하여 전송함에 따라, 제3 회원의 클라이언트 단말(142)로부터 상기 제1 공개키가 수신되면, 암호화된 상기 권한 테이블을 상기 제1 공개키로 복호화하여 상기 권한 테이블을 열람한다. The decryption reading unit 131 responds to the request for transmission of the public key by the client terminal 142 of the third member, and the first operation value among the n public keys stored in the client terminal 142 of the third member. When the first public key is received from the client terminal 142 of the third member as the first public key is extracted and transmitted with the public key assigned as an integer value, the encrypted authority table is converted into the first public key. Decrypt and browse the authority table.

이하에서는, 해시 값 연산부(129), 공개키 전송 요청부(130) 및 복호화 열람부(131)의 동작을 예를 들어, 상세히 설명하기로 한다. Hereinafter, the operations of the hash value calculating unit 129, the public key transmission requesting unit 130, and the decryption browsing unit 131 will be described in detail, for example.

먼저, 전술한 예와 같이, n을 '10'이라고 하고, '회원 2'의 클라이언트 단말이 전송 요청부(121)의 상기 전송 요청에 대응하여, 상기 번역 문서에 대한 문서 파일과 회원 2'의 식별 정보인 '식별 정보 2'를 전송함에 따라, '회원 2'의 클라이언트 단말로부터 상기 번역 문서에 대한 문서 파일과 '식별 정보 2'가 수신되었다고 가정하자. First, as in the above example, let n be '10', and the client terminal of 'member 2' responds to the transmission request of the transmission request unit 121, and the document file for the translated document and member 2' It is assumed that as identification information 'identification information 2' is transmitted, a document file for the translated document and 'identification information 2' are received from the client terminal of 'member 2'.

그러면, 해시 값 연산부(129)는 상기 번역 문서에 대한 문서 파일을 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 '해시 값 1'과 같이 생성할 수 있다. Then, the hash value calculating unit 129 may apply the document file for the translated document as an input to the hash function to generate the hash value as 'hash value 1'.

그러고 나서, 공개키 전송 요청부(130)는 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득할 수 있다. Then, the public key transmission request unit 130 may check attribute information of the document file for the translated document, and obtain a date value for the time when the document file for the translated document is generated.

이때, 전술한 예와 같이, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 '20201027'이라고 하는 경우, 공개키 전송 요청부(130)는 '20201027'을 피제수로 하고, '10'을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값을 '7'로 산출할 수 있다. In this case, as in the above example, when the date value for the time when the document file for the translation document is generated is '20201027', the public key transmission requesting unit 130 sets '20201027' as the dividend, and '10 By performing a modulo operation of ' as a divisor, the first operation value may be calculated as '7'.

그러고 나서, 공개키 전송 요청부(130)는 '회원 2'의 클라이언트 단말로 상기 제1 연산 값인 '7'을 전송하면서, '7'이 정수 값으로 할당되어 있는 공개키의 전송을 요청할 수 있다.Then, the public key transmission request unit 130 may request transmission of the public key to which '7' is assigned as an integer value while transmitting the first calculated value '7' to the client terminal of 'member 2'. .

이때, 전술한 예에 따르면, '회원 2'의 클라이언트 단말에는 상기 표 5와 같은 '10'개의 공개키들이 저장되어 있을 수 있고, 상기 '10'개의 공개키들 중 '7'이 정수 값으로 할당되어 있는 공개키는 '공개키 8'이므로, '회원 2'의 클라이언트 단말은 '공개키 8'을 추출하여 문서 번역 서비스 서버(110)로 전송할 수 있다. In this case, according to the above-described example, '10' public keys as shown in Table 5 may be stored in the client terminal of 'Member 2', and '7' among the '10' public keys is assigned as an integer value. Since the public key is 'public key 8', the client terminal of 'member 2' may extract 'public key 8' and transmit it to the document translation service server 110 .

이에 따라, 문서 번역 서비스 서버(110)에 '공개키 8'이 수신되면, 복호화 열람부(131)는 암호화된 상기 권한 테이블을 '공개키 8'로 복호화하여 상기 권한 테이블을 열람할 수 있다. Accordingly, when the 'public key 8' is received by the document translation service server 110, the decryption viewing unit 131 may decrypt the encrypted permission table with the 'public key 8' to view the permission table.

여기서, 암호화된 상기 권한 테이블은, 권한 테이블 암호화부(127)에 의해 '개인키 8'로 암호화된 것이고, '공개키 8'은 '개인키 8'에 대응되는 것이므로, 복호화 열람부(131)는 암호화된 상기 권한 테이블을 '공개키 8'을 기초로 복호화할 수 있다. Here, the encrypted permission table is encrypted with 'private key 8' by the permission table encryption unit 127, and 'public key 8' corresponds to 'private key 8', so the decryption browsing unit 131 is The encrypted authority table can be decrypted based on the 'public key 8'.

도 3은 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작 방법을 도시한 순서도이다. 3 is a flowchart illustrating an operation method of a document translation service server that provides a document translation service having a personal information protection function according to an embodiment of the present invention.

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

단계(S320)에서는 상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들 중 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 상기 제1 문서에 대한 번역 및 개인 정보 보호 처리를 수행하기 위한 이벤트를 발생시킨다. In step S320, while a document file for a first document is received from a client terminal of a first member among a plurality of members who are pre-designated as members subscribed to the document translation service, a translation command for the first document and the When a personal information protection processing command for personal information included in the first document is received, an event for performing translation and personal information protection processing for the first document is generated.

단계(S330)에서는 상기 이벤트가 발생되면, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인한다. In step S330, when the event occurs, it is checked whether a character string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit among texts included in the first document exists.

단계(S340)에서는 상기 제1 문서에 포함되어 있는 텍스트 중 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로 적어도 하나의 제1 문자열이 존재하는 것으로 확인된 경우, 상기 적어도 하나의 제1 문자열을 사전 설정된 기호로 마스킹 처리한 후 사전 지정된 번역 엔진을 기초로 상기 제1 문서에 대한 번역 문서를 생성한다. In step S340, when it is confirmed that at least one first character string exists as a character string having a notation format corresponding to the plurality of regular expressions among texts included in the first document, the at least one first character string After masking the character string with a preset symbol, a translation document for the first document is generated based on a preset translation engine.

단계(S350)에서는 상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 제1 회원의 클라이언트 단말로 전송한다. In step S350, when the translated document is generated, a document file for the translated document is transmitted to the client terminal of the first member.

이때, 본 발명의 일실시예에 따르면, 상기 문서 번역 서비스 서버의 동작 방법은 상기 복수의 회원들의 식별 정보가 저장되어 있는 회원 데이터베이스를 유지하는 단계, 상기 번역 문서에 대한 문서 파일이 상기 제1 회원의 클라이언트 단말로 전송 완료되면, 상기 제1 회원의 클라이언트 단말로, 상기 복수의 회원들 중 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원에 대한 식별 정보의 전송을 요청하는 단계, 상기 제1 회원의 클라이언트 단말로부터, 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원의 식별 정보로, 적어도 하나의 제2 회원의 식별 정보가 수신되면, 상기 회원 데이터베이스에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는지 확인하여, 상기 회원 데이터베이스에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는 것으로 확인되면, 상기 적어도 하나의 제2 회원의 식별 정보를 기록한 권한 테이블을 생성하는 단계, 상기 번역 문서에 대한 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여, 해시 값을 생성하는 단계 및 상기 해시 값이 생성되면, 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 권한 테이블 저장소에 저장하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the method of operating the document translation service server includes maintaining a member database in which identification information of the plurality of members is stored, and a document file for the translated document is provided to the first member Upon completion of transmission to the client terminal of the first member, to the client terminal of the first member, requesting transmission of identification information about a member to be granted access to the at least one first string among the plurality of members step, when identification information of at least one second member is received from the client terminal of the first member as identification information of a member to be granted access to the at least one first character string, the member database If it is confirmed that the identification information of the at least one second member is stored in the member database, the identification information of the at least one second member generating a permission table recording It may further include the step of storing the corresponding authorization table storage.

또한, 본 발명의 일실시예에 따르면, 상기 문서 번역 서비스 서버의 동작 방법은 상기 권한 테이블과 상기 해시 값이 서로 대응되어 상기 권한 테이블 저장소에 저장된 이후, 상기 적어도 하나의 제2 회원 중 한 명인 제3 회원에 의해, 상기 제3 회원의 클라이언트 단말에서 상기 번역 문서에 대한 문서 파일이 실행된 후 상기 제3 회원에 의해, 상기 제3 회원의 클라이언트 단말에 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제할 것을 지시하는 마스킹 해제 명령이 인가됨에 따라, 상기 제3 회원의 클라이언트 단말로부터 마스킹 해제 요청이 수신되면, 상기 제3 회원의 클라이언트 단말로, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보를 전송할 것을 요청하는 단계, 상기 제3 회원의 클라이언트 단말로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성한 후 상기 권한 테이블 저장소에서 상기 해시 값에 대응되어 저장되어 있는 상기 권한 테이블을 열람하는 단계 및 상기 권한 테이블이 열람되면, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는지 확인하여, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는 것으로 확인되면, 상기 제3 회원의 클라이언트 단말로 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹의 해제를 승인하기 위한 마스킹 해제 승인 신호를 전송하는 단계를 더 포함할 수 있고, 상기 제3 회원의 클라이언트 단말은 상기 문서 번역 서비스 서버로부터 상기 마스킹 해제 승인 신호가 수신되면, 상기 번역 문서에서 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제한 후, 상기 번역 문서를 화면 상에 표시할 수 있다. In addition, according to an embodiment of the present invention, in the method of operating the document translation service server, after the permission table and the hash value correspond to each other and stored in the permission table storage, a second member of the at least one second member After the third member executes the document file for the translated document in the client terminal of the third member, the third member applies to the at least one first character string in the client terminal of the third member When a demasking request is received from the client terminal of the third member as a demasking command instructing to release the masking is applied, the third member's client terminal provides a document file for the translated document and the third requesting to transmit identification information of a member; when a document file for the translated document and identification information of the third member are received from the client terminal of the third member, the document file for the translated document is converted into the hash After generating the hash value by applying it as an input to a function, reading the permission table stored corresponding to the hash value in the permission table storage, and when the permission table is read, the third on the permission table It is checked whether the identification information of the member is recorded, and when it is confirmed that the identification information of the third member is recorded on the authority table, it is applied to the at least one first character string by the client terminal of the third member The method may further include transmitting an unmasking approval signal for approving the release of masking, wherein the third member's client terminal receives the unmasking approval signal from the document translation service server from the translation document. After removing the masking applied to the at least one first character string, the translated document may be displayed on the screen.

이때, 본 발명의 일실시예에 따르면, 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 권한 테이블 저장소에 저장하는 단계는 사전 설정된 n(n은 2 이상의 자연수임)개의 개인키들(상기 n개의 개인키들에는 각각 0 이상 n-1 이하의 서로 다른 정수 값이 할당되어 있고, 상기 복수의 회원들의 클라이언트 단말에는 상기 n개의 개인키들 각각에 대응되는 n개의 공개키들이 사전 배포되어 있으며, 상기 n개의 공개키들에는 각 공개키에 대응되는 개인키에 할당되어 있는 정수 값과 동일한 정수 값이 할당되어 있음)이 저장되어 있는 개인키 저장부를 유지하는 단계, 상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득한 후, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로 연산을 수행함으로써, 제1 연산 값을 산출하는 단계, 상기 제1 연산 값이 산출되면, 상기 개인키 저장부를 참조하여, 상기 n개의 개인키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 제1 개인키를 추출하는 단계, 상기 제1 개인키가 추출되면, 상기 제1 개인키로 상기 권한 테이블을 암호화하는 단계 및 상기 권한 테이블이 암호화되면, 암호화된 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 상기 권한 테이블 저장소에 저장하는 단계를 포함할 수 있다. At this time, according to an embodiment of the present invention, the step of storing the permission table and the hash value in correspondence with each other in the permission table storage includes preset n (n is a natural number greater than or equal to 2) private keys (the n private keys). are assigned different integer values from 0 to n-1, respectively, and n public keys corresponding to each of the n private keys are pre-distributed to the client terminals of the plurality of members, and the n public keys maintaining a private key storage in which the same integer value as the integer value assigned to the private key corresponding to each public key is stored), when the hash value is generated, a document file for the translated document The first operation is performed by checking attribute information of , obtaining a date value for the time when the document file for the translation document is generated, and performing a modulo operation with the date value as a dividend and n as a divisor. calculating a value; when the first calculated value is calculated, referring to the private key storage unit, extracting a first private key to which the first calculated value is assigned as an integer value among the n private keys; encrypting the authority table with the first private key when the first private key is extracted may include

이때, 본 발명의 일실시예에 따르면, 상기 권한 테이블을 열람하는 단계는 상기 제3 회원의 클라이언트 단말로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성하는 단계, 상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득하고, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값을 산출한 후, 상기 제3 회원의 클라이언트 단말로 상기 제1 연산 값을 전송하면서, 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키의 전송을 요청하는 단계 및 상기 제3 회원의 클라이언트 단말이 상기 공개키의 전송 요청에 대응하여, 상기 제3 회원의 클라이언트 단말에 저장되어 있는 상기 n개의 공개키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키로 제1 공개키를 추출하여 전송함에 따라, 상기 제3 회원의 클라이언트 단말로부터 상기 제1 공개키가 수신되면, 암호화된 상기 권한 테이블을 상기 제1 공개키로 복호화하여 상기 권한 테이블을 열람하는 단계를 포함할 수 있다. At this time, according to an embodiment of the present invention, the reading of the authority table comprises receiving a document file for the translated document and identification information of the third member from the client terminal of the third member, the translated document generating the hash value by applying a document file for After calculating the first calculated value by obtaining a date value for the generated time point, making the date value a dividend, and performing a modulo operation with n as a divisor, the third member's client terminal requesting transmission of a public key to which the first operation value is assigned as an integer value while transmitting the first operation value; 3 As the first public key is extracted and transmitted with the public key to which the first operation value is assigned as an integer value among the n public keys stored in the client terminal of the third member, the second public key is sent from the client terminal of the third member When one public key is received, decrypting the encrypted authority table with the first public key may include reading the authority table.

이상, 도 3을 참조하여 본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 상기 문서 번역 서비스 서버의 동작 방법은 도 1을 이용하여 설명한 문서 번역 서비스 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operation method of the document translation service server that provides the document translation service having the personal information protection function according to an embodiment of the present invention has been described with reference to FIG. 3 . Here, since the method of operating the document translation service server according to an embodiment of the present invention may correspond to the configuration of the operation of the document translation service server 110 described with reference to FIG. 1 , a more detailed description thereof will be omitted. decide to do

본 발명의 일실시예에 따른 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.The method of operating a document translation service server that provides a document translation service having a personal information protection function according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through combination with a computer.

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

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

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

110: 개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버
111: 정규 표현식 저장부 112: 이벤트 발생부
113: 문자열 확인부 114: 번역 문서 생성부
115: 문서 파일 전송부 116: 회원 데이터베이스
117: 식별 정보 요청부 118: 권한 테이블 생성부
119: 해시 값 생성부 120: 권한 테이블 저장 처리부
121: 전송 요청부 122: 권한 테이블 열람부
123: 해제 승인 신호 요청부 124: 개인키 저장부
125: 연산 값 산출부 126: 개인키 추출부
127: 권한 테이블 암호화부 128: 암호화 저장 처리부
129: 해시 값 연산부 130: 공개키 전송 요청부
131: 복호화 열람부
141: 제1 회원의 클라이언트 단말
142: 제3 회원의 클라이언트 단말
110: a document translation service server that provides a document translation service having a personal information protection function
111: regular expression storage unit 112: event generating unit
113: string confirmation unit 114: translation document generating unit
115: document file transfer unit 116: member database
117: identification information request unit 118: authority table generation unit
119: hash value generation unit 120: permission table storage processing unit
121: transmission request unit 122: permission table view unit
123: release approval signal request unit 124: private key storage unit
125: calculation value calculation unit 126: private key extraction unit
127: permission table encryption unit 128: encryption storage processing unit
129: hash value calculation unit 130: public key transmission request unit
131: decryption reading unit
141: client terminal of the first member
142: client terminal of the third member

Claims (12)

개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버에 있어서,
개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부;
상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들의 식별 정보가 저장되어 있는 회원 데이터베이스;
상기 복수의 회원들 중 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 상기 제1 문서에 대한 번역 및 개인 정보 보호 처리를 수행하기 위한 이벤트를 발생시키는 이벤트 발생부;
상기 이벤트가 발생되면, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인하는 문자열 확인부;
상기 제1 문서에 포함되어 있는 텍스트 중 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로 적어도 하나의 제1 문자열이 존재하는 것으로 확인된 경우, 상기 적어도 하나의 제1 문자열을 사전 설정된 기호로 마스킹(masking) 처리한 후 사전 지정된 번역 엔진을 기초로 상기 제1 문서에 대한 번역 문서를 생성하는 번역 문서 생성부;
상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 제1 회원의 클라이언트 단말로 전송하는 문서 파일 전송부;
상기 번역 문서에 대한 문서 파일이 상기 제1 회원의 클라이언트 단말로 전송 완료되면, 상기 제1 회원의 클라이언트 단말로, 상기 복수의 회원들 중 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원에 대한 식별 정보의 전송을 요청하는 식별 정보 요청부;
상기 제1 회원의 클라이언트 단말로부터, 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원의 식별 정보로, 적어도 하나의 제2 회원의 식별 정보가 수신되면, 상기 회원 데이터베이스에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는지 확인하여, 상기 회원 데이터베이스에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는 것으로 확인되면, 상기 적어도 하나의 제2 회원의 식별 정보를 기록한 권한 테이블을 생성하는 권한 테이블 생성부;
상기 번역 문서에 대한 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여, 해시 값을 생성하는 해시 값 생성부;
상기 해시 값이 생성되면, 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 권한 테이블 저장소에 저장하는 권한 테이블 저장 처리부;
상기 권한 테이블과 상기 해시 값이 서로 대응되어 상기 권한 테이블 저장소에 저장된 이후, 상기 적어도 하나의 제2 회원 중 한 명인 제3 회원에 의해, 상기 제3 회원의 클라이언트 단말에서 상기 번역 문서에 대한 문서 파일이 실행된 후 상기 제3 회원에 의해, 상기 제3 회원의 클라이언트 단말에 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제할 것을 지시하는 마스킹 해제 명령이 인가됨에 따라, 상기 제3 회원의 클라이언트 단말로부터 마스킹 해제 요청이 수신되면, 상기 제3 회원의 클라이언트 단말로, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보를 전송할 것을 요청하는 전송 요청부;
상기 제3 회원의 클라이언트 단말로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성한 후 상기 권한 테이블 저장소에서 상기 해시 값에 대응되어 저장되어 있는 상기 권한 테이블을 열람하는 권한 테이블 열람부; 및
상기 권한 테이블이 열람되면, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는지 확인하여, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는 것으로 확인되면, 상기 제3 회원의 클라이언트 단말로 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹의 해제를 승인하기 위한 마스킹 해제 승인 신호를 전송하는 해제 승인 신호 전송부
를 포함하고,
상기 제3 회원의 클라이언트 단말은
상기 문서 번역 서비스 서버로부터 상기 마스킹 해제 승인 신호가 수신되면, 상기 번역 문서에서 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제한 후, 상기 번역 문서를 화면 상에 표시하는 것을 특징으로 하는 문서 번역 서비스 서버.
A document translation service server that provides a document translation service having a personal information protection function, the document translation service server comprising:
a regular expression storage unit in which a plurality of different regular expressions preset to correspond to the notation format of personal information are stored;
a member database storing identification information of a plurality of members pre-designated as members subscribed to the document translation service;
When a document file for a first document is received from a client terminal of a first member of the plurality of members, a translation command for the first document and a personal information protection processing command for personal information included in the first document When this is received, an event generating unit that generates an event for performing translation and personal information protection processing on the first document;
a character string checking unit that, when the event occurs, checks whether a character string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among the text included in the first document;
When it is confirmed that at least one first character string exists as a character string having a notation format corresponding to the plurality of regular expressions among texts included in the first document, the at least one first character string is converted to a preset symbol a translation document generator generating a translation document for the first document based on a pre-specified translation engine after masking;
a document file transmission unit which, when the translated document is generated, transmits a document file for the translated document to the client terminal of the first member;
When the document file for the translated document is transmitted to the client terminal of the first member, a target to grant access to the at least one first string among the plurality of members to the client terminal of the first member an identification information request unit for requesting transmission of identification information for a member who becomes a member;
When identification information of at least one second member is received from the client terminal of the first member as identification information of a member to be granted access to the at least one first character string, it is stored in the member database It is checked whether the identification information of the at least one second member is stored, and when it is confirmed that the identification information of the at least one second member is stored in the member database, the identification information of the at least one second member is recorded an authority table generating unit for generating an authority table;
a hash value generator for generating a hash value by applying a document file for the translated document as an input to a preset hash function;
a permission table storage processing unit that, when the hash value is generated, stores the permission table and the hash value in correspondence with each other in a permission table storage;
After the permission table and the hash value correspond to each other and stored in the permission table storage, a document file for the translated document in the client terminal of the third member by a third member who is one of the at least one second member After this is executed, as a de-masking command instructing to cancel the masking applied to the at least one first character string is applied to the client terminal of the third member by the third member, the third member's a transmission request unit for requesting to transmit, to the client terminal of the third member, a document file for the translated document and identification information of the third member when a request for unmasking is received from the client terminal;
When a document file for the translated document and identification information of the third member are received from the client terminal of the third member, the document file for the translated document is applied as an input to the hash function to generate the hash value a permission table browsing unit for reading the permission table stored corresponding to the hash value in the permission table storage; and
When the permission table is read, it is checked whether the identification information of the third member is recorded on the permission table, and when it is confirmed that the identification information of the third member is recorded on the permission table, the third member A release approval signal transmitter for transmitting a masking release approval signal for approving the release of the masking applied to the at least one first character string to the client terminal of
including,
The third member's client terminal is
When the unmasking approval signal is received from the document translation service server, after removing the masking applied to the at least one first character string in the translation document, the translation document is displayed on a screen Translation service server.
삭제delete 삭제delete 제1항에 있어서,
상기 권한 테이블 저장 처리부는
사전 설정된 n(n은 2 이상의 자연수임)개의 개인키들 - 상기 n개의 개인키들에는 각각 0 이상 n-1 이하의 서로 다른 정수 값이 할당되어 있고, 상기 복수의 회원들의 클라이언트 단말에는 상기 n개의 개인키들 각각에 대응되는 n개의 공개키들이 사전 배포되어 있으며, 상기 n개의 공개키들에는 각 공개키에 대응되는 개인키에 할당되어 있는 정수 값과 동일한 정수 값이 할당되어 있음 - 이 저장되어 있는 개인키 저장부;
상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득한 후, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로(modulo) 연산을 수행함으로써, 제1 연산 값을 산출하는 연산 값 산출부;
상기 제1 연산 값이 산출되면, 상기 개인키 저장부를 참조하여, 상기 n개의 개인키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 제1 개인키를 추출하는 개인키 추출부;
상기 제1 개인키가 추출되면, 상기 제1 개인키로 상기 권한 테이블을 암호화하는 권한 테이블 암호화부; 및
상기 권한 테이블이 암호화되면, 암호화된 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 상기 권한 테이블 저장소에 저장하는 암호화 저장 처리부
를 포함하는 문서 번역 서비스 서버.
According to claim 1,
The permission table storage processing unit
n preset private keys (n is a natural number greater than or equal to 2) - The n private keys are each assigned different integer values from 0 to n-1, and the n private keys to the client terminals of the plurality of members n public keys corresponding to each of the keys are pre-distributed, and to the n public keys, an integer value identical to the integer value assigned to the private key corresponding to each public key is assigned - the stored private key storage;
When the hash value is generated, the property information of the document file for the translation document is checked, the date value for the time when the document file for the translation document is generated is obtained, and the date value is the dividend, n an arithmetic value calculator for calculating a first arithmetic value by performing a modulo arithmetic operation to be a divisor of ;
a private key extracting unit for extracting a first private key to which the first calculated value is assigned as an integer value among the n private keys with reference to the private key storage unit when the first calculated value is calculated;
an authority table encryption unit that encrypts the authority table with the first private key when the first private key is extracted; and
When the permission table is encrypted, an encryption storage processing unit for storing the encrypted permission table and the hash value in correspondence with each other in the permission table storage
A document translation service server comprising a.
제4항에 있어서,
상기 권한 테이블 열람부는
상기 제3 회원의 클라이언트 단말로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성하는 해시 값 연산부;
상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득하고, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값을 산출한 후, 상기 제3 회원의 클라이언트 단말로 상기 제1 연산 값을 전송하면서, 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키의 전송을 요청하는 공개키 전송 요청부; 및
상기 제3 회원의 클라이언트 단말이 상기 공개키의 전송 요청에 대응하여, 상기 제3 회원의 클라이언트 단말에 저장되어 있는 상기 n개의 공개키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키로 제1 공개키를 추출하여 전송함에 따라, 상기 제3 회원의 클라이언트 단말로부터 상기 제1 공개키가 수신되면, 암호화된 상기 권한 테이블을 상기 제1 공개키로 복호화하여 상기 권한 테이블을 열람하는 복호화 열람부
를 포함하는 문서 번역 서비스 서버.
5. The method of claim 4,
The permission table viewing unit
When a document file for the translated document and identification information of the third member are received from the client terminal of the third member, the document file for the translated document is applied as an input to the hash function to generate the hash value a hash value operator;
When the hash value is generated, the attribute information of the document file for the translation document is checked to obtain a date value for the time when the document file for the translation document is generated, the date value is the dividend, and n is After calculating the first operation value by performing a modulo operation of a divisor, the first operation value is assigned as an integer value while transmitting the first operation value to the client terminal of the third member a public key transmission request unit requesting transmission of the key; and
In response to a request for transmission of the public key by the client terminal of the third member, a public key to which the first calculated value is assigned as an integer value among the n public keys stored in the client terminal of the third member As the first public key is extracted and transmitted, when the first public key is received from the client terminal of the third member, the decryption viewing unit decrypts the encrypted authority table with the first public key and reads the authority table
A document translation service server comprising a.
개인 정보 보호 기능을 갖는 문서 번역 서비스를 제공하는 문서 번역 서비스 서버의 동작 방법에 있어서,
개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부를 유지하는 단계;
상기 문서 번역 서비스에 가입된 회원인 것으로 사전 지정된 복수의 회원들의 식별 정보가 저장되어 있는 회원 데이터베이스를 유지하는 단계;
상기 복수의 회원들 중 제1 회원의 클라이언트 단말로부터 제1 문서에 대한 문서 파일이 수신되면서, 상기 제1 문서에 대한 번역 명령 및 상기 제1 문서에 포함되어 있는 개인 정보에 대한 개인 정보 보호 처리 명령이 수신되면, 상기 제1 문서에 대한 번역 및 개인 정보 보호 처리를 수행하기 위한 이벤트를 발생시키는 단계;
상기 이벤트가 발생되면, 상기 제1 문서에 포함되어 있는 텍스트 중 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 확인하는 단계;
상기 제1 문서에 포함되어 있는 텍스트 중 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로 적어도 하나의 제1 문자열이 존재하는 것으로 확인된 경우, 상기 적어도 하나의 제1 문자열을 사전 설정된 기호로 마스킹(masking) 처리한 후 사전 지정된 번역 엔진을 기초로 상기 제1 문서에 대한 번역 문서를 생성하는 단계;
상기 번역 문서가 생성되면, 상기 번역 문서에 대한 문서 파일을 상기 제1 회원의 클라이언트 단말로 전송하는 단계;
상기 번역 문서에 대한 문서 파일이 상기 제1 회원의 클라이언트 단말로 전송 완료되면, 상기 제1 회원의 클라이언트 단말로, 상기 복수의 회원들 중 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원에 대한 식별 정보의 전송을 요청하는 단계;
상기 제1 회원의 클라이언트 단말로부터, 상기 적어도 하나의 제1 문자열에 대한 액세스 권한을 부여할 대상이 되는 회원의 식별 정보로, 적어도 하나의 제2 회원의 식별 정보가 수신되면, 상기 회원 데이터베이스에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는지 확인하여, 상기 회원 데이터베이스에 상기 적어도 하나의 제2 회원의 식별 정보가 저장되어 있는 것으로 확인되면, 상기 적어도 하나의 제2 회원의 식별 정보를 기록한 권한 테이블을 생성하는 단계;
상기 번역 문서에 대한 문서 파일을 사전 설정된 해시 함수에 입력으로 인가하여, 해시 값을 생성하는 단계;
상기 해시 값이 생성되면, 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 권한 테이블 저장소에 저장하는 단계;
상기 권한 테이블과 상기 해시 값이 서로 대응되어 상기 권한 테이블 저장소에 저장된 이후, 상기 적어도 하나의 제2 회원 중 한 명인 제3 회원에 의해, 상기 제3 회원의 클라이언트 단말에서 상기 번역 문서에 대한 문서 파일이 실행된 후 상기 제3 회원에 의해, 상기 제3 회원의 클라이언트 단말에 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제할 것을 지시하는 마스킹 해제 명령이 인가됨에 따라, 상기 제3 회원의 클라이언트 단말로부터 마스킹 해제 요청이 수신되면, 상기 제3 회원의 클라이언트 단말로, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보를 전송할 것을 요청하는 단계;
상기 제3 회원의 클라이언트 단말로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성한 후 상기 권한 테이블 저장소에서 상기 해시 값에 대응되어 저장되어 있는 상기 권한 테이블을 열람하는 단계; 및
상기 권한 테이블이 열람되면, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는지 확인하여, 상기 권한 테이블 상에 상기 제3 회원의 식별 정보가 기록되어 있는 것으로 확인되면, 상기 제3 회원의 클라이언트 단말로 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹의 해제를 승인하기 위한 마스킹 해제 승인 신호를 전송하는 단계
를 포함하고,
상기 제3 회원의 클라이언트 단말은
상기 문서 번역 서비스 서버로부터 상기 마스킹 해제 승인 신호가 수신되면, 상기 번역 문서에서 상기 적어도 하나의 제1 문자열에 적용되어 있는 마스킹을 해제한 후, 상기 번역 문서를 화면 상에 표시하는 것을 특징으로 하는 문서 번역 서비스 서버의 동작 방법.
A method of operating a document translation service server that provides a document translation service having a personal information protection function, the method comprising:
maintaining a regular expression storage unit in which a plurality of different regular expressions preset to correspond to the notation format of personal information are stored;
maintaining a member database in which identification information of a plurality of members pre-designated as members subscribed to the document translation service is stored;
When a document file for a first document is received from a client terminal of a first member of the plurality of members, a translation command for the first document and a personal information protection processing command for personal information included in the first document generating an event for performing translation and personal information protection processing on the first document when this is received;
checking whether a character string having a notation format corresponding to the plurality of regular expressions stored in the regular expression storage unit exists among texts included in the first document when the event occurs;
When it is confirmed that at least one first character string exists as a character string having a notation format corresponding to the plurality of regular expressions among texts included in the first document, the at least one first character string is converted to a preset symbol generating a translation document for the first document based on a predefined translation engine after masking;
when the translated document is generated, transmitting a document file for the translated document to the client terminal of the first member;
When the document file for the translated document is transmitted to the client terminal of the first member, a target to grant access to the at least one first string among the plurality of members to the client terminal of the first member requesting transmission of identification information for a member who becomes a member;
When identification information of at least one second member is received from the client terminal of the first member as identification information of a member to be granted access to the at least one first character string, it is stored in the member database It is checked whether the identification information of the at least one second member is stored, and when it is confirmed that the identification information of the at least one second member is stored in the member database, the identification information of the at least one second member is recorded creating an authorization table;
generating a hash value by applying a document file for the translated document as an input to a preset hash function;
when the hash value is generated, storing the permission table and the hash value in correspondence with each other in a permission table storage;
After the permission table and the hash value correspond to each other and stored in the permission table storage, a document file for the translated document in the client terminal of the third member by a third member who is one of the at least one second member After this is executed, as a de-masking command instructing to cancel the masking applied to the at least one first character string is applied to the client terminal of the third member by the third member, the third member's requesting to transmit a document file for the translated document and identification information of the third member to the client terminal of the third member when a request for unmasking is received from the client terminal;
When a document file for the translated document and identification information of the third member are received from the client terminal of the third member, the document file for the translated document is applied as an input to the hash function to generate the hash value reading the permission table stored corresponding to the hash value in the permission table storage; and
When the permission table is read, it is checked whether the identification information of the third member is recorded on the permission table, and when it is confirmed that the identification information of the third member is recorded on the permission table, the third member transmitting, to a client terminal of
including,
The third member's client terminal is
When the unmasking approval signal is received from the document translation service server, after removing the masking applied to the at least one first character string in the translation document, the translation document is displayed on a screen How the translation service server works.
삭제delete 삭제delete 제6항에 있어서,
상기 권한 테이블과 상기 해시 값을 서로 대응시켜 권한 테이블 저장소에 저장하는 단계는
사전 설정된 n(n은 2 이상의 자연수임)개의 개인키들 - 상기 n개의 개인키들에는 각각 0 이상 n-1 이하의 서로 다른 정수 값이 할당되어 있고, 상기 복수의 회원들의 클라이언트 단말에는 상기 n개의 개인키들 각각에 대응되는 n개의 공개키들이 사전 배포되어 있으며, 상기 n개의 공개키들에는 각 공개키에 대응되는 개인키에 할당되어 있는 정수 값과 동일한 정수 값이 할당되어 있음 - 이 저장되어 있는 개인키 저장부를 유지하는 단계;
상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득한 후, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로(modulo) 연산을 수행함으로써, 제1 연산 값을 산출하는 단계;
상기 제1 연산 값이 산출되면, 상기 개인키 저장부를 참조하여, 상기 n개의 개인키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 제1 개인키를 추출하는 단계;
상기 제1 개인키가 추출되면, 상기 제1 개인키로 상기 권한 테이블을 암호화하는 단계; 및
상기 권한 테이블이 암호화되면, 암호화된 상기 권한 테이블과 상기 해시 값을 서로 대응시켜 상기 권한 테이블 저장소에 저장하는 단계
를 포함하는 문서 번역 서비스 서버의 동작 방법.
7. The method of claim 6,
The step of storing the permission table and the hash value in correspondence with each other in the permission table storage comprises:
n preset private keys (n is a natural number greater than or equal to 2) - The n private keys are each assigned different integer values from 0 to n-1, and the n private keys to the client terminals of the plurality of members n public keys corresponding to each of the keys are pre-distributed, and to the n public keys, an integer value identical to the integer value assigned to the private key corresponding to each public key is assigned - the stored private key maintaining a storage unit;
When the hash value is generated, the property information of the document file for the translation document is checked, the date value for the time when the document file for the translation document is generated is obtained, and the date value is the dividend, n calculating a first operation value by performing a modulo operation in which is a divisor;
extracting a first private key to which the first calculated value is assigned as an integer value among the n private keys with reference to the private key storage unit when the first calculated value is calculated;
when the first private key is extracted, encrypting the authority table with the first private key; and
if the permission table is encrypted, storing the encrypted permission table and the hash value in correspondence with each other in the permission table storage;
How to operate a document translation service server comprising a.
제9항에 있어서,
상기 권한 테이블을 열람하는 단계는
상기 제3 회원의 클라이언트 단말로부터, 상기 번역 문서에 대한 문서 파일과 상기 제3 회원의 식별 정보가 수신되면, 상기 번역 문서에 대한 문서 파일을, 상기 해시 함수에 입력으로 인가하여 상기 해시 값을 생성하는 단계;
상기 해시 값이 생성되면, 상기 번역 문서에 대한 문서 파일의 속성 정보를 확인하여, 상기 번역 문서에 대한 문서 파일이 생성된 시점에 대한 날짜 값을 획득하고, 상기 날짜 값을 피제수로 하고, n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값을 산출한 후, 상기 제3 회원의 클라이언트 단말로 상기 제1 연산 값을 전송하면서, 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키의 전송을 요청하는 단계; 및
상기 제3 회원의 클라이언트 단말이 상기 공개키의 전송 요청에 대응하여, 상기 제3 회원의 클라이언트 단말에 저장되어 있는 상기 n개의 공개키들 중 상기 제1 연산 값이 정수 값으로 할당되어 있는 공개키로 제1 공개키를 추출하여 전송함에 따라, 상기 제3 회원의 클라이언트 단말로부터 상기 제1 공개키가 수신되면, 암호화된 상기 권한 테이블을 상기 제1 공개키로 복호화하여 상기 권한 테이블을 열람하는 단계
를 포함하는 문서 번역 서비스 서버의 동작 방법.
10. The method of claim 9,
The step of viewing the authority table is
When a document file for the translated document and identification information of the third member are received from the client terminal of the third member, the document file for the translated document is applied as an input to the hash function to generate the hash value to do;
When the hash value is generated, the attribute information of the document file for the translation document is checked to obtain a date value for the time when the document file for the translation document is generated, the date value is the dividend, and n is After calculating the first operation value by performing a modulo operation of a divisor, the first operation value is assigned as an integer value while transmitting the first operation value to the client terminal of the third member requesting transmission of the key; and
In response to a request for transmission of the public key by the client terminal of the third member, a public key to which the first calculated value is assigned as an integer value among the n public keys stored in the client terminal of the third member Reading the authority table by decrypting the encrypted authority table with the first public key when the first public key is received from the client terminal of the third member as the first public key is extracted and transmitted
How to operate a document translation service server comprising a.
제6항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6, 9 or 10 through combination with a computer. 제6항, 제9항 또는 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6, 9 or 10 in combination with a computer.
KR1020200153489A 2020-11-17 2020-11-17 Document translation service server which provides document translation services with personal information protection function and the operating method thereof KR102417811B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153489A KR102417811B1 (en) 2020-11-17 2020-11-17 Document translation service server which provides document translation services with personal information protection function and the operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153489A KR102417811B1 (en) 2020-11-17 2020-11-17 Document translation service server which provides document translation services with personal information protection function and the operating method thereof

Publications (2)

Publication Number Publication Date
KR20220067129A KR20220067129A (en) 2022-05-24
KR102417811B1 true KR102417811B1 (en) 2022-07-06

Family

ID=81806344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153489A KR102417811B1 (en) 2020-11-17 2020-11-17 Document translation service server which provides document translation services with personal information protection function and the operating method thereof

Country Status (1)

Country Link
KR (1) KR102417811B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101177310B1 (en) * 2011-12-30 2012-08-30 주식회사 한글과컴퓨터 Electronic document security transmission relay apparatus and method
KR101282705B1 (en) 2012-07-30 2013-08-23 주식회사 한글과컴퓨터 Apparatus and method for preventing disclosure of personal information contained in electronic document

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100994328B1 (en) * 2008-05-02 2010-11-12 닉스테크 주식회사 Method and apparatus for program interception in using hash table

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101177310B1 (en) * 2011-12-30 2012-08-30 주식회사 한글과컴퓨터 Electronic document security transmission relay apparatus and method
KR101282705B1 (en) 2012-07-30 2013-08-23 주식회사 한글과컴퓨터 Apparatus and method for preventing disclosure of personal information contained in electronic document

Also Published As

Publication number Publication date
KR20220067129A (en) 2022-05-24

Similar Documents

Publication Publication Date Title
US10275364B2 (en) Secure island computing system and method
JP2000151576A (en) Program recoding medium to realize encryption/decoding method using computer
CN105681039A (en) Method and device for secret key generation and corresponding decryption
US11227037B2 (en) Computer system, verification method of confidential information, and computer
US8972747B2 (en) Managing information in a document serialization
KR20200143197A (en) Data management device that enables distributed encryption management of data based on blockchain and operating method thereof
Park et al. Research on Note-Taking Apps with Security Features.
CN103607420A (en) Safe electronic medical system for cloud storage
CN108370312B (en) Encryption device, search device, computer-readable recording medium, encryption method, and search method
KR102417811B1 (en) Document translation service server which provides document translation services with personal information protection function and the operating method thereof
KR102602189B1 (en) Document sharing service server for managing document sharing service based on cloud, and the operating method thereof
CN111104693A (en) Android platform software data cracking method, terminal device and storage medium
JP4350961B2 (en) Data processing device
Gencoglu Embedded image coding using laplace transform for Turkish letters
WO2018043466A1 (en) Data extraction system, data extraction method, registration device, and program
KR102500764B1 (en) Electronic document sharing server that supports sharing settings for electronic documents based on member identification information and operating method thereof
CN113360859B (en) Python interpreter-based encrypted file security control method and device
KR20210015534A (en) System and method for providing electronic signature service
JP4338185B2 (en) How to encrypt / decrypt files
JP4192738B2 (en) Electronic document editing device, electronic document editing program
KR102417814B1 (en) Electronic document management server that supports security settings for some content embedded in electronic documents based on member identification information and operating method thereof
KR102545264B1 (en) Web contents crawling apparatus which collects web contents data from the body area on the web page, and the operating method thereof
TW201339884A (en) System for monitoring personal data file based on server verifying and authorizing to decrypt and method thereof
KR102613911B1 (en) Electronic terminal apparatus capable of preventing access to url addresses of harmful sites inserted as hyperlinks in document files and operating method thereof
US20130036474A1 (en) Method and Apparatus for Secure Data Representation Allowing Efficient Collection, Search and Retrieval

Legal Events

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