KR20230109865A - 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법 - Google Patents

음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법 Download PDF

Info

Publication number
KR20230109865A
KR20230109865A KR1020220005638A KR20220005638A KR20230109865A KR 20230109865 A KR20230109865 A KR 20230109865A KR 1020220005638 A KR1020220005638 A KR 1020220005638A KR 20220005638 A KR20220005638 A KR 20220005638A KR 20230109865 A KR20230109865 A KR 20230109865A
Authority
KR
South Korea
Prior art keywords
voice data
original voice
electronic terminal
timestamp
password
Prior art date
Application number
KR1020220005638A
Other languages
English (en)
Other versions
KR102636705B1 (ko
Inventor
정진아
Original Assignee
주식회사 한글과컴퓨터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한글과컴퓨터 filed Critical 주식회사 한글과컴퓨터
Priority to KR1020220005638A priority Critical patent/KR102636705B1/ko
Publication of KR20230109865A publication Critical patent/KR20230109865A/ko
Application granted granted Critical
Publication of KR102636705B1 publication Critical patent/KR102636705B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/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
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/93Discriminating between voiced and unvoiced parts of speech signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)

Abstract

마스킹 처리 서버 및 그 동작 방법이 개시된다. 본 발명은 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법을 제시함으로써, 음성 데이터에 포함된 개인 정보가 타인에게 유출되는 것을 방지할 수 있다.

Description

음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법{MASKING PROCESSING SERVER WHICH IS ABLE TO MASK PERSONAL INFORMATION INCLUDED IN VOICE DATA, AND THE OPERATING METHOD THEREOF}
본 발명은 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법에 대한 것이다.
최근, 마이크로폰이 탑재된 스마트폰이나 태블릿 pc 등과 같은 모바일 단말이 널리 확산되면서, 다양한 경로를 통해 방대한 양의 음성 데이터가 수집되고 있다.
예컨대, 모바일 단말에서 지원하는 음성 녹음 기능을 이용하여, 통화나 회의 내용을 녹음함으로써, 음성 데이터를 수집해두는 경우가 많다.
한편, 이렇게 수집된 음성 데이터에는, 주민등록번호나 전화번호 등과 같은 개인 정보가 포함되어 있을 수 있는데, 개인 정보가 무분별하게 타인에게 유출된다면 범죄에 악용될 수 있다는 점에서, 개인 정보가 유출되지 않도록 주의해야 한다.
이와 관련해서, 기존에는, 음성 데이터에 포함되어 있는 개인 정보의 유출을 방지하기 위해서, 사람이 직접 음성 데이터에 포함된 개인 정보를 식별하여, 음성 데이터에 포함된 개인 정보를 일일이 마스킹 처리하는 경우가 많았다.
하지만, 이러한 기존의 방식은 많은 시간이 소요될 뿐만 아니라, 음성 데이터에 포함되어 있는 개인 정보를 사람이 미처 식별하지 못하여 마스킹 처리되지 않은 경우, 음성 데이터에 포함되어 있는 개인 정보가 쉽게 타인에게 유출될 수 있다는 문제점이 있었다.
만약, 음성 데이터에 포함된 개인 정보를 식별하여 마스킹 처리할 수 있는 기술이 도입된다면, 보다 효율적으로, 음성 데이터에 포함된 개인 정보가 타인에게 유출되는 것을 방지할 수 있을 것이다.
따라서, 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 기술에 대한 연구가 필요하다.
본 발명은 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법을 제시함으로써, 음성 데이터에 포함된 개인 정보가 타인에게 유출되는 것을 방지하고자 한다.
본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부, 제1 사용자의 제1 전자 단말로부터, 원본 음성 데이터가 수신되면서, 상기 원본 음성 데이터에 포함된 개인 정보에 대한 마스킹(masking) 처리 요청이 수신되면, 사전 구축된 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 원본 음성 데이터에 대한 변환 텍스트를 생성하는 변환 텍스트 생성부, 상기 변환 텍스트가 생성되면, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 문자열 확인부, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 원본 음성 데이터에서 상기 적어도 하나의 제1 문자열에 대응되는 음성 구간을, 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성하는 마스킹 처리부 및 상기 대체 음성 데이터가 생성되면, 상기 대체 음성 데이터를 상기 제1 전자 단말로 전송하는 대체 음성 데이터 전송부를 포함한다.
또한, 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법은 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있는 정규 표현식 저장부를 유지하는 단계, 제1 사용자의 제1 전자 단말로부터, 원본 음성 데이터가 수신되면서, 상기 원본 음성 데이터에 포함된 개인 정보에 대한 마스킹 처리 요청이 수신되면, 사전 구축된 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 원본 음성 데이터에 대한 변환 텍스트를 생성하는 단계, 상기 변환 텍스트가 생성되면, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 단계, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 원본 음성 데이터에서 상기 적어도 하나의 제1 문자열에 대응되는 음성 구간을, 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성하는 단계 및 상기 대체 음성 데이터가 생성되면, 상기 대체 음성 데이터를 상기 제1 전자 단말로 전송하는 단계를 포함한다.
본 발명은 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법을 제시함으로써, 음성 데이터에 포함된 개인 정보가 타인에게 유출되는 것을 방지할 수 있다.
도 1은 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 마스킹 처리 서버(110)는 정규 표현식 저장부(111), 변환 텍스트 생성부(112), 문자열 확인부(113), 마스킹 처리부(114) 및 대체 음성 데이터 전송부(115)를 포함한다.
정규 표현식 저장부(111)에는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있다.
여기서, 정규 표현식이란 '111 2222 3333'이나 '123456 4567890'과 같이, 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어를 의미한다.
예컨대, 정규 표현식 저장부(111)에는 하기의 표 1과 같은 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있을 수 있다.
개인 정보의 표기 형식 정규 표현식
휴대폰번호 표기 형식 ^\d{3}\s\d{3,4}\s\d{4}$
전화번호 표기 형식 ^\d{2,3}\s\d{3,4}\s\d{4}$
주민등록번호 표기 형식 ^\d{6}\s\d{7}$
... ...
변환 텍스트 생성부(112)는 제1 사용자(141)의 제1 전자 단말(151)로부터, 원본 음성 데이터가 수신되면서, 상기 원본 음성 데이터에 포함된 개인 정보에 대한 마스킹(masking) 처리 요청이 수신되면, 사전 구축된 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 원본 음성 데이터에 대한 변환 텍스트를 생성한다.
이때, 본 발명의 일실시예에 따르면, 변환 텍스트 생성부(112)는 타임스탬프 할당부(116) 및 변환 텍스트 생성 처리부(117)를 포함할 수 있다.
타임스탬프 할당부(116)는 제1 전자 단말(151)로부터, 상기 원본 음성 데이터가 수신되면서, 상기 마스킹 처리 요청이 수신되면, 상기 원본 음성 데이터에 대해, 사전 설정된 제1 시간 간격마다 타임스탬프(timestamp)를 할당한다.
변환 텍스트 생성 처리부(117)는 상기 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 변환 텍스트를 생성하되, 상기 원본 음성 데이터가 텍스트로 변환되기 시작하면, 상기 원본 음성 데이터에서 타임스탬프가 할당된 지점에 대한 텍스트가 생성될 때마다, 상기 원본 음성 데이터에 할당된 타임스탬프와 동일한 타임스탬프를 텍스트에 할당함으로써, 타임스탬프가 할당된 상기 변환 텍스트를 생성한다.
이하에서는, 도 2를 참조하여 타임스탬프 할당부(116) 및 변환 텍스트 생성 처리부(117)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 마스킹 처리 서버(110)에 제1 사용자(141)의 제1 전자 단말(151)로부터, '음성 데이터 1'이 수신되면서, '음성 데이터 1'에 포함된 개인 정보에 대한 마스킹 처리 요청이 수신되었다고 가정하자.
이때, 사전 설정된 제1 시간을 '0.5초'라고 하고, '음성 데이터 1'이 도 2의 도면부호 210으로 표시된 그림과 같다고 하는 경우, 타임스탬프 할당부(116)는 도 2에 도시된 그림과 같이, '음성 데이터 1(210)'에 대해, '0.5초' 간격마다 타임스탬프(211)를 할당할 수 있다.
그러면, 변환 텍스트 생성 처리부(117)는 사전 구축된 음성 인식 모델을 기초로, '음성 데이터 1(210)'을 텍스트로 변환함으로써, '음성 데이터 1(210)'에 대한 변환 텍스트를 생성할 수 있다.
이때, 상기 음성 인식 모델을 기초로, '음성 데이터 1(210)'이 텍스트로 변환됨으로써 생성되는 상기 변환 텍스트가 도 2의 도면부호 220으로 표시된 그림과 같다고 하는 경우, 변환 텍스트 생성 처리부(117)는 '음성 데이터 1(210)'이 텍스트로 변환되기 시작하면, '음성 데이터 1(210)'에서 타임스탬프(211)가 할당된 지점에 대한 텍스트가 생성될 때마다, '음성 데이터 1(210)'에 할당된 타임스탬프(211)와 동일한 타임스탬프를 텍스트에 할당함으로써, 타임스탬프가 할당된 변환 텍스트(220)를 생성할 수 있다.
이렇게, 변환 텍스트 생성부(112)에 의해 상기 변환 텍스트가 생성되면, 문자열 확인부(113)는 상기 변환 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한다.
예컨대, 도 2에 도시된 예와 같이, 변환 텍스트 생성부(112)에 의해 변환 텍스트(220)가 생성되었다고 하는 경우, 문자열 확인부(113)는 변환 텍스트(220) 중, 상기 표 1과 같은 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인할 수 있다.
관련해서, 상기 표 1과 같은 정규 표현식 저장부(111)를 참조하여, 변환 텍스트(220)와 상기 복수의 정규 표현식들을 서로 비교해보면, 변환 텍스트(220) 중 도면부호 221로 표시되어 있는 문자열은 '휴대폰번호 표기 형식'에 대응되는 표기 형식을 갖고 있고, 도면부호 222로 표시되어 있는 문자열은 '전화번호 표기 형식'에 대응되는 표기 형식을 갖고 있는 것으로 확인할 수 있다.
따라서, 문자열 확인부(113)는 변환 텍스트(220) 중, 상기 표 1과 같은 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 문자열(221)과 문자열(222)이 존재하는 것으로 확인할 수 있다.
이렇게, 문자열 확인부(113)에 의해, 상기 변환 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 마스킹 처리부(114)는 상기 원본 음성 데이터에서 상기 적어도 하나의 제1 문자열에 대응되는 음성 구간을, 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성한다.
대체 음성 데이터 전송부(115)는 마스킹 처리부(114)에 의해 상기 대체 음성 데이터가 생성되면, 상기 대체 음성 데이터를 제1 전자 단말(151)로 전송한다.
이때, 본 발명의 일실시예에 따르면, 마스킹 처리부(114)는 타임스탬프 확인부(118), 음성 구간 추출부(119) 및 마스킹 처리 수행부(120)를 포함할 수 있다.
타임스탬프 확인부(118)는 문자열 확인부(113)에 의해, 상기 변환 텍스트 중, 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 적어도 하나의 제1 문자열 각각에 대해, 각 문자열에서 최초로 존재하는 제1 타임스탬프와 마지막으로 존재하는 제2 타임스탬프를 확인한다.
음성 구간 추출부(119)는 상기 적어도 하나의 제1 문자열 각각에 대해, 상기 제1 타임스탬프와 상기 제2 타임스탬프가 확인되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대한 상기 제1 타임스탬프와 상기 제2 타임스탬프 사이에 존재하는 음성 구간을, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간으로 추출한다.
마스킹 처리 수행부(120)는 음성 구간 추출부(119)에 의해 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간이 추출되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간을, 상기 마스킹 사운드로 대체함으로써, 상기 대체 음성 데이터를 생성한다.
이하에서는, 타임스탬프 확인부(118), 음성 구간 추출부(119), 마스킹 처리 수행부(120) 및 대체 음성 데이터 전송부(115)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 도 2을 이용하여 설명한 전술한 예와 같이, 문자열 확인부(113)에 의해 변환 텍스트(220) 중, 상기 표 1과 같은 정규 표현식 저장부(111)에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 문자열(221)과 문자열(222)이 존재하는 것으로 확인되었다고 가정하자.
그러면, 타임스탬프 확인부(118)는 문자열(221)과 문자열(222)에 대해, 각 문자열에서 최초로 존재하는 제1 타임스탬프와 마지막으로 존재하는 제2 타임스탬프를 확인할 수 있다.
관련해서, 도 2를 참조하면, 문자열(221)에서 최초로 존재하는 제1 타임스탬프는 타임스탬프(223)이고, 마지막으로 존재하는 제2 타임스탬프는 타임스탬프(224)이며, 문자열(222)에서 최초로 존재하는 제1 타임스탬프는 타임스탬프(225)이고, 마지막으로 존재하는 제2 타임스탬프는 타임스탬프(226)이므로, 타임스탬프 확인부(118)는 문자열(221)에 대한 상기 제1 타임스탬프와 상기 제2 타임스탬프를, 타임스탬프(223)와 타임스탬프(224)인 것으로 확인할 수 있고, 문자열(222)에 대한 상기 제1 타임스탬프와 상기 제2 스탬프를, 타임스탬프(225)와 타임스탬프(226)인 것으로 확인할 수 있다.
그러면, 음성 구간 추출부(119)는 '음성 데이터 1(210)'에서, 타임스탬프(223)와 타임스탬프(224) 사이에 존재하는 음성 구간(212)을, 문자열(221)에 대응되는 음성 구간으로 추출할 수 있고, 타임스탬프(225)와 타임스탬프(226) 사이에 존재하는 음성 구간(213)을, 문자열(222)에 대응되는 음성 구간으로 추출할 수 있다.
그러고 나서, 마스킹 처리 수행부(120)는 '음성 데이터 1(210)'에서, 음성 구간(212)과 음성 구간(213)을 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성할 수 있다. 여기서, 사전 설정된 마스킹 사운드란 '삐-' 소리와 같은 소정의 노이즈 음원을 의미한다.
그러면, 대체 음성 데이터 전송부(115)는 상기 대체 음성 데이터를 제1 전자 단말(151)로 전송할 수 있다.
본 발명의 일실시예에 따르면, 마스킹 처리 서버(110)는 인증 행렬 저장부(121), 이벤트 발생부(122), 비밀번호 설정 요청부(123), 연산 행렬 생성부(124), 해시 값 생성부(125) 및 저장 처리부(126)를 더 포함할 수 있다.
인증 행렬 저장부(121)에는 '1'과 '0'의 성분들로 구성된, 사전 설정된 n(n은 2 이상의 자연수임) x n 크기의 인증 행렬이 저장되어 있다.
예컨대, n을 '3'이라고 하는 경우, 인증 행렬 저장부(121)에는 ''과 같은 '3 x 3' 크기의 인증 행렬이 저장되어 있을 수 있다.
이벤트 발생부(122)는 상기 대체 음성 데이터가 제1 전자 단말(151)로 전송되면, 상기 원본 음성 데이터를 보관하기 위한 보관 이벤트를 발생시킨다.
비밀번호 설정 요청부(123)는 이벤트 발생부(122)에 의해 상기 보관 이벤트가 발생되면, 제1 전자 단말(151)로, 상기 원본 음성 데이터에 대한 액세스를 가능하게 하기 위한 비밀번호를 설정할 것을 요청하는 비밀번호 설정 요청 메시지를 전송한다.
연산 행렬 생성부(124)는 상기 비밀번호 설정 요청 메시지에 대응하여 제1 사용자(141)에 의해 제1 비밀번호가 설정됨에 따라, 제1 전자 단말(151)로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로(modulo) 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 인증 행렬 저장부(121)에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 제1 열벡터와, x+1번째 행에 위치하는 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 n x n 크기의 제1 연산 행렬을 생성한다.
여기서, 모듈로 연산은 피제수를 제수로 나누는 나눗셈을 수행하여 그에 대한 나머지(remainder)를 산출하는 연산을 의미한다.
해시 값 생성부(125)는 상기 대체 음성 데이터를, 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한다.
저장 처리부(126)는 상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터를 서로 대응시켜 원본 음성 보관용 데이터베이스(133)에 저장한다.
이하에서는, 이벤트 발생부(122), 비밀번호 설정 요청부(123), 연산 행렬 생성부(124), 해시 값 생성부(125) 및 저장 처리부(126)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 대체 음성 데이터 전송부(115)에 의해 상기 대체 음성 데이터가 제1 전자 단말(151)로 전송되었다고 가정하자.
이때, 이벤트 발생부(122)는 상기 원본 음성 데이터인 '음성 데이터 1'을 보관하기 위한 보관 이벤트를 발생시킬 수 있다.
그러면, 비밀번호 설정 요청부(123)는 제1 전자 단말(151)로, '음성 데이터 1'에 대한 액세스를 가능하게 하기 위한 비밀번호를 설정할 것을 요청하는 비밀번호 설정 요청 메시지를 전송할 수 있다.
이에 따라, 제1 전자 단말(151)에 마스킹 처리 서버(110)로부터, 상기 비밀번호 설정 요청 메시지가 수신되면, 제1 전자 단말(151)은 화면 상에 상기 비밀번호 설정 요청 메시지를 표시할 수 있다. 그러면, 제1 사용자(141)는 상기 비밀번호 설정 요청 메시지를 확인하여, 제1 비밀번호를 설정할 수 있다. 이때, 상기 제1 비밀번호가 '1230'이라고 하는 경우, 제1 전자 단말(151)은 마스킹 처리 서버(110)로 상기 제1 비밀번호인 '1230'을 전송할 수 있다.
이렇게, 마스킹 처리 서버(110)에 제1 전자 단말(151)로부터, 상기 제1 비밀번호인 '1230'이 수신되면, 연산 행렬 생성부(124)는 '1230'에 대해 '3'을 제수로 하는 모듈로 연산을 수행함으로써, 제1 연산 값을 '0'과 같이 산출할 수 있다.
그러고 나서, 연산 행렬 생성부(124)는 인증 행렬 저장부(121)에 저장되어 있는 상기 인증 행렬인 ''로부터, '1'번째 열에 위치하는 제1 열벡터인 ''과, '1'번째 행에 위치하는 제1 행벡터인 ''을 추출한 후, 상기 제1 열벡터인 ''과 상기 제1 행벡터인 ''을 행렬 곱하여 '3 x 3' 크기의 제1 연산 행렬을 ''과 같이 생성할 수 있다.
그 이후, 해시 값 생성부(125)는 상기 대체 음성 데이터를, 사전 설정된 해시 함수에 입력으로 인가하여 '해시 값 1'을 생성할 수 있다.
그러면, 저장 처리부(126)는 하기의 표 2와 같이, 상기 제1 연산 행렬인 '', '해시 값 1' 및 '음성 데이터 1'을 서로 대응시켜 원본 음성 보관용 데이터베이스(133)에 저장할 수 있다.
연산 행렬 해시 값 원본 음성 데이터
해시 값 1 음성 데이터 1
이때, 본 발명의 일실시예에 따르면, 마스킹 처리 서버(110)는 비밀번호 입력 요청부(127), 생성 처리부(128), 연산 행렬 확인부(129) 및 원본 음성 데이터 전송부(130)를 더 포함할 수 있다.
비밀번호 입력 요청부(127)는 저장 처리부(126)에 의해 상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터가 서로 대응되어 원본 음성 보관용 데이터베이스(133)에 저장된 이후, 제1 사용자(141)에게서 상기 대체 음성 데이터와 상기 제1 비밀번호를 제공받은 제2 사용자(142)의 제2 전자 단말(152)로부터, 상기 대체 음성 데이터에 대한 마스킹 해제 요청이 수신되면, 제2 전자 단말(152)로, 상기 대체 음성 데이터의 전송을 요청하면서, 상기 원본 음성 데이터에 대한 액세스를 위한 비밀번호를 입력할 것을 요청하는 비밀번호 입력 요청 메시지를 전송한다.
생성 처리부(128)는 상기 대체 음성 데이터의 전송 요청에 대응하여, 제2 전자 단말(152)로부터 상기 대체 음성 데이터가 수신되고, 제2 사용자(142)에 의해 제2 전자 단말(152)에 상기 제1 비밀번호가 입력됨에 따라, 제2 전자 단말(152)로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 인증 행렬 저장부(121)에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 상기 제1 열벡터와, x+1번째 행에 위치하는 상기 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 상기 제1 연산 행렬을 생성하고, 상기 대체 음성 데이터를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성한다.
연산 행렬 확인부(129)는 상기 제1 연산 행렬과 상기 제1 해시 값이 생성되면, 원본 음성 보관용 데이터베이스(133) 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는지 여부를 확인한다.
원본 음성 데이터 전송부(130)는 연산 행렬 생성부(124)에 의해 원본 음성 보관용 데이터베이스(133) 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는 것으로 확인되면, 원본 음성 보관용 데이터베이스(133)로부터, 상기 제1 해시 값에 대응되어 저장되어 있는 상기 원본 음성 데이터를 추출한 후, 상기 원본 음성 데이터를 제2 전자 단말(152)로 전송한다.
이하에서는, 비밀번호 입력 요청부(127), 생성 처리부(128), 연산 행렬 확인부(129) 및 원본 음성 데이터 전송부(130)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 저장 처리부(126)에 의해 상기 표 2와 같이, 상기 제1 연산 행렬인 '', '해시 값 1' 및 '음성 데이터 1'이 서로 대응되어 원본 음성 보관용 데이터베이스(133)에 저장되었다고 하고, 그 이후, 제2 사용자(142)가 제1 사용자(141)로부터 상기 대체 음성 데이터와 상기 제1 비밀번호인 '1230'을 제공받은 상황이라고 가정하자.
이때, 제2 사용자(142)는 제2 전자 단말(152)을 이용하여 상기 대체 음성 데이터를 재생시킴으로써, 제1 사용자(141)로부터 제공받은 상기 대체 음성 데이터를 청취할 수 있을 것이다. 하지만, 상기 대체 음성 데이터는 개인 정보가 사전 설정된 마스킹 사운드로 마스킹 처리된 음성 데이터이기 때문에, 제2 사용자(142)는 상기 대체 음성 데이터에서 마스킹이 해제된 원본 음성 데이터를 청취하고 싶을 수 있을 것이다. 이 경우, 제2 사용자(142)는 제1 사용자(141)로부터 전달받은 상기 제1 비밀번호인 '1230'을 이용하여, 상기 대체 음성 데이터에 설정되어 있는 마스킹에 대한 해제 절차를 진행할 수 있는데, 구체적으로, 제2 사용자(142)는 제2 전자 단말(152)을 통해 마스킹 처리 서버(110)로 상기 대체 음성 데이터에 대한 마스킹 해제 요청을 전송할 수 있다.
이로 인해, 제2 사용자(142)의 제2 전자 단말(152)로부터, 마스킹 처리 서버(110)에 상기 대체 음성 데이터에 대한 마스킹 해제 요청이 수신되었다고 하면, 비밀번호 입력 요청부(127)는 제2 전자 단말(152)로, 상기 대체 음성 데이터의 전송을 요청하면서, '음성 데이터 1'에 대한 액세스를 위한 비밀번호를 입력할 것을 요청하는 비밀번호 입력 요청 메시지를 전송할 수 있다.
이에 따라, 제2 전자 단말(152)에 마스킹 처리 서버(110)로부터, 상기 대체 음성 데이터의 전송 요청과 상기 비밀번호 입력 요청 메시지가 수신되면, 제2 전자 단말(152)은 마스킹 처리 서버(110)로 상기 대체 음성 데이터를 전송할 수 있고, 화면 상에 상기 비밀번호 입력 요청 메시지를 표시할 수 있다. 이때, 제2 사용자(142)는 상기 비밀번호 입력 요청 메시지를 확인하여, 제2 전자 단말(152)에 상기 제1 비밀번호인 '1230'을 입력할 수 있다. 그러면, 제2 전자 단말(152)은 마스킹 처리 서버(110)로 상기 제1 비밀번호인 '1230'을 전송할 수 있다.
이러한 방식으로, 마스킹 처리 서버(110)에 제2 전자 단말(152)로부터, 상기 대체 음성 데이터와 상기 제1 비밀번호인 '1230'이 수신되면, 생성 처리부(128)는 '1230'에 대해 '3'을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값인 '0'을 산출할 수 있고, 인증 행렬 저장부(121)에 저장되어 있는 상기 인증 행렬인 ''로부터, '1'번째 열에 위치하는 제1 열벡터인 ''과, '1'번째 행에 위치하는 제1 행벡터인 ''을 추출할 수 있다.
그러고 나서, 생성 처리부(128)는 상기 제1 열벡터인 ''과 상기 제1 행벡터인 ''을 행렬 곱하여 상기 제1 연산 행렬인 ''을 생성할 수 있고, 상기 대체 음성 데이터를 상기 해시 함수에 입력으로 인가하여 '해시 값 1'을 생성할 수 있다.
그러면, 연산 행렬 확인부(129)는 상기 표 2와 같은 원본 음성 보관용 데이터베이스(133) 상에, '해시 값 1'에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬인 ''과 일치하는지 여부를 확인할 수 있다.
관련해서, 상기 표 2와 같은 원본 음성 보관용 데이터베이스(133)에서는, '해시 값 1'에 대응되어 저장되어 있는 연산 행렬이 ''이므로, 연산 행렬 확인부(129)는 상기 표 2와 같은 원본 음성 보관용 데이터베이스(133) 상에, '해시 값 1'에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬인 ''과 일치하는 것으로 확인할 수 있다.
그러면, 원본 음성 데이터 전송부(130)는 상기 표 2와 같은 원본 음성 보관용 데이터베이스(133)로부터 '해시 값 1'에 대응되어 저장되어 있는 '음성 데이터 1'을 추출한 후, '음성 데이터 1'을 제2 전자 단말(152)로 전송할 수 있다.
이를 통해, 제2 사용자(142)는 마스킹 해제가 완료된 원본 음성 데이터인 '음성 데이터 1'을 획득할 수 있고, 제2 전자 단말(152)을 통해 원본 음성 데이터인 '음성 데이터 1'을 청취할 수 있다.
이때, 본 발명의 일실시예에 따르면, 마스킹 처리 서버(110)는 이력 정보 생성부(131) 및 등록 요청부(132)를 더 포함할 수 있다.
이력 정보 생성부(131)는 원본 음성 데이터 전송부(130)에 의해 상기 원본 음성 데이터가 제2 전자 단말(152)로 전송되면, 상기 원본 음성 데이터가 제2 전자 단말(152)로 전송된 현재 시점에 대한 시간 정보를 생성하고, 제2 전자 단말(152)로부터, 제2 전자 단말(152)의 단말 식별 정보와, 제2 전자 단말(152)의 현재 위치에 대한 위치 정보를 수신하여, 상기 시간 정보, 상기 단말 식별 정보 및 상기 위치 정보로 구성된 마스킹 해제 이력 정보를 생성한다.
등록 요청부(132)는 이력 정보 생성부(131)에 의해 상기 마스킹 해제 이력 정보가 생성되면, 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송한다.
이하에서는, 이력 정보 생성부(131) 및 등록 요청부(132)의 동작을 예를 들어, 상세히 설명하기로 한다.
먼저, 전술한 예와 같이, 원본 음성 데이터 전송부(130)에 의해 '음성 데이터 1'이 제2 전자 단말(152)로 전송되었다고 가정하자.
그러면, 이력 정보 생성부(131)는 '음성 데이터 1'이 제2 전자 단말(152)로 전송된 현재 시점에 대한 시간 정보를 '시간 정보 1'과 같이 생성할 수 있고, 제2 전자 단말(152)로부터, 제2 전자 단말(152)의 단말 식별 정보인 '단말 식별 정보 1'과, 제2 전자 단말(152)의 현재 위치에 대한 위치 정보인 '위치 정보 1'을 수신할 수 있다.
그러고 나서, 이력 정보 생성부(131)는 '시간 정보 1', '단말 식별 정보 1' 및 '위치 정보 1'로 구성된 마스킹 해제 이력 정보를 생성할 수 있다.
그러면, 등록 요청부(132)는 블록체인 네트워크(100)를 구성하고 있는 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 어느 하나인 제1 노드 장치를 랜덤하게 선택할 수 있다.
이때, 상기 제1 노드 장치를 노드 장치(101)라고 하는 경우, 등록 요청부(132)는 노드 장치(101)로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송할 수 있다.
이때, 상기 제1 노드 장치는 마스킹 처리 서버(110)로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 블록체인 네트워크(100)를 통해 상기 제1 블록을, 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파한다.
예컨대, 전술한 예와 같이, 상기 제1 노드 장치를 노드 장치(101)라고 하고, 등록 요청부(132)가 노드 장치(101)로 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 블록체인 네트워크(100)로의 등록 요청을 전송함에 따라, 노드 장치(101)에, 상기 트랜잭션과 상기 등록 요청이 수신되었다고 하는 경우, 노드 장치(101)는 노드 장치(101)의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 블록체인 네트워크(100)를 통해 상기 제1 블록을, 복수의 노드 장치들(101, 102, 103, 104, 105, 106) 중 노드 장치(101)를 제외한 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.
구체적으로, 노드 장치(101)는 마스킹 처리 서버(110)로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 블록체인 데이터에 체인으로 연결되어 있는 이전 블록의 블록 헤더를 참조하여 상기 트랜잭션이 포함된 새로운 블록인 상기 제1 블록을 생성할 수 있다. 그러고 나서, 노드 장치(101)는 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후 블록체인 네트워크(100)를 통해 상기 제1 블록을 나머지 노드 장치들(102, 103, 104, 105, 106)로 전파할 수 있다.
이렇게, 본 발명에 따른 마스킹 처리 서버(110)는 상기 원본 음성 데이터가 제2 전자 단말(152)로 전송 완료되면, 상기 마스킹 해제 이력 정보를 생성하여 블록체인 네트워크(100)에 등록해 둠으로써, 관리자가 상기 마스킹 해제 이력 정보를 확인하여, 상기 원본 음성 데이터가 제2 전자 단말(152)로 전송된 시점에 대한 시간 정보, 상기 원본 음성 데이터를 수신한 제2 전자 단말(152)의 단말 식별 정보와 위치 정보를 확인할 수 있도록 지원할 수 있다.
도 3은 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법을 도시한 순서도이다.
단계(S310)에서는 개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식들이 저장되어 있는 정규 표현식 저장부를 유지한다.
단계(S320)에서는 제1 사용자의 제1 전자 단말로부터, 원본 음성 데이터가 수신되면서, 상기 원본 음성 데이터에 포함된 개인 정보에 대한 마스킹 처리 요청이 수신되면, 사전 구축된 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 원본 음성 데이터에 대한 변환 텍스트를 생성한다.
단계(S330)에서는 상기 변환 텍스트가 생성되면, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인한다.
단계(S340)에서는 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 원본 음성 데이터에서 상기 적어도 하나의 제1 문자열에 대응되는 음성 구간을, 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성한다.
단계(S350)에서는 상기 대체 음성 데이터가 생성되면, 상기 대체 음성 데이터를 상기 제1 전자 단말로 전송한다.
이때, 본 발명의 일실시예에 따르면, 단계(S320)에서는 상기 제1 전자 단말로부터, 상기 원본 음성 데이터가 수신되면서, 상기 마스킹 처리 요청이 수신되면, 상기 원본 음성 데이터에 대해, 사전 설정된 제1 시간 간격마다 타임스탬프를 할당하는 단계 및 상기 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 변환 텍스트를 생성하되, 상기 원본 음성 데이터가 텍스트로 변환되기 시작하면, 상기 원본 음성 데이터에서 타임스탬프가 할당된 지점에 대한 텍스트가 생성될 때마다, 상기 원본 음성 데이터에 할당된 타임스탬프와 동일한 타임스탬프를 텍스트에 할당함으로써, 타임스탬프가 할당된 상기 변환 텍스트를 생성하는 단계를 포함할 수 있고, 단계(S340)에서는 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 적어도 하나의 제1 문자열 각각에 대해, 각 문자열에서 최초로 존재하는 제1 타임스탬프와 마지막으로 존재하는 제2 타임스탬프를 확인하는 단계, 상기 적어도 하나의 제1 문자열 각각에 대해, 상기 제1 타임스탬프와 상기 제2 타임스탬프가 확인되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대한 상기 제1 타임스탬프와 상기 제2 타임스탬프 사이에 존재하는 음성 구간을, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간으로 추출하는 단계 및 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간이 추출되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간을, 상기 마스킹 사운드로 대체함으로써, 상기 대체 음성 데이터를 생성하는 단계를 포함할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 마스킹 처리 서버의 동작 방법은 '1'과 '0'의 성분들로 구성된, 사전 설정된 n(n은 2 이상의 자연수임) x n 크기의 인증 행렬이 저장되어 있는 인증 행렬 저장부를 유지하는 단계, 상기 대체 음성 데이터가 상기 제1 전자 단말로 전송되면, 상기 원본 음성 데이터를 보관하기 위한 보관 이벤트를 발생시키는 단계, 상기 보관 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 원본 음성 데이터에 대한 액세스를 가능하게 하기 위한 비밀번호를 설정할 것을 요청하는 비밀번호 설정 요청 메시지를 전송하는 단계, 상기 비밀번호 설정 요청 메시지에 대응하여 상기 제1 사용자에 의해 제1 비밀번호가 설정됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 인증 행렬 저장부에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 제1 열벡터와, x+1번째 행에 위치하는 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 n x n 크기의 제1 연산 행렬을 생성하는 단계, 상기 대체 음성 데이터를, 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계 및 상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터를 서로 대응시켜 원본 음성 보관용 데이터베이스에 저장하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 마스킹 처리 서버의 동작 방법은 상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터가 서로 대응되어 상기 원본 음성 보관용 데이터베이스에 저장된 이후, 상기 제1 사용자에게서 상기 대체 음성 데이터와 상기 제1 비밀번호를 제공받은 제2 사용자의 제2 전자 단말로부터, 상기 대체 음성 데이터에 대한 마스킹 해제 요청이 수신되면, 상기 제2 전자 단말로, 상기 대체 음성 데이터의 전송을 요청하면서, 상기 원본 음성 데이터에 대한 액세스를 위한 비밀번호를 입력할 것을 요청하는 비밀번호 입력 요청 메시지를 전송하는 단계, 상기 대체 음성 데이터의 전송 요청에 대응하여, 상기 제2 전자 단말로부터 상기 대체 음성 데이터가 수신되고, 상기 제2 사용자에 의해 상기 제2 전자 단말에 상기 제1 비밀번호가 입력됨에 따라, 상기 제2 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 인증 행렬 저장부에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 상기 제1 열벡터와, x+1번째 행에 위치하는 상기 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 상기 제1 연산 행렬을 생성하고, 상기 대체 음성 데이터를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성하는 단계, 상기 제1 연산 행렬과 상기 제1 해시 값이 생성되면, 상기 원본 음성 보관용 데이터베이스 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는지 여부를 확인하는 단계 및 상기 원본 음성 보관용 데이터베이스 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는 것으로 확인되면, 상기 원본 음성 보관용 데이터베이스로부터, 상기 제1 해시 값에 대응되어 저장되어 있는 상기 원본 음성 데이터를 추출한 후, 상기 원본 음성 데이터를 상기 제2 전자 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 마스킹 처리 서버의 동작 방법은 상기 원본 음성 데이터가 상기 제2 전자 단말로 전송되면, 상기 원본 음성 데이터가 상기 제2 전자 단말로 전송된 현재 시점에 대한 시간 정보를 생성하고, 상기 제2 전자 단말로부터, 상기 제2 전자 단말의 단말 식별 정보와, 상기 제2 전자 단말의 현재 위치에 대한 위치 정보를 수신하여, 상기 시간 정보, 상기 단말 식별 정보 및 상기 위치 정보로 구성된 마스킹 해제 이력 정보를 생성하는 단계 및 상기 마스킹 해제 이력 정보가 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계를 더 포함할 수 있고, 상기 제1 노드 장치는 상기 마스킹 처리 서버로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파할 수 있다.
이상, 도 3을 참조하여 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법은 도 1 내지 도 2를 이용하여 설명한 마스킹 처리 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버
111: 정규식 표현부 112: 변환 텍스트 생성부
113: 문자열 확인부 114: 마스킹 처리부
115: 대체 음성 데이터 전송부 116: 타임스탬프 할당부
117: 변환 텍스트 생성 처리부 118: 타임스탬프 확인부
119: 음성 구간 추출부 120: 마스킹 처리 수행부
121: 인증 행렬 저장부 122: 이벤트 발생부
123: 비밀번호 설정 요청부 124: 연산 행렬 생성부
125: 해시 값 생성부 126: 저장 처리부
127: 비밀번호 입력 요청부 128: 생성 처리부
129: 연산 행렬 확인부 130: 원본 음성 데이터 전송부
131: 이력 정보 생성부 132: 등록 요청부
133: 원본 음성 보관용 데이터베이스
100: 블록체인 네트워크
101, 102, 103, 104, 105, 106: 복수의 노드 장치들
141: 제1 사용자 142: 제2 사용자
151: 제1 전자 단말 152: 제2 전자 단말

Claims (12)

  1. 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버에 있어서,
    개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부;
    제1 사용자의 제1 전자 단말로부터, 원본 음성 데이터가 수신되면서, 상기 원본 음성 데이터에 포함된 개인 정보에 대한 마스킹(masking) 처리 요청이 수신되면, 사전 구축된 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 원본 음성 데이터에 대한 변환 텍스트를 생성하는 변환 텍스트 생성부;
    상기 변환 텍스트가 생성되면, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 문자열 확인부;
    상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 원본 음성 데이터에서 상기 적어도 하나의 제1 문자열에 대응되는 음성 구간을, 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성하는 마스킹 처리부; 및
    상기 대체 음성 데이터가 생성되면, 상기 대체 음성 데이터를 상기 제1 전자 단말로 전송하는 대체 음성 데이터 전송부
    를 포함하는 마스킹 처리 서버.
  2. 제1항에 있어서,
    상기 변환 텍스트 생성부는
    상기 제1 전자 단말로부터, 상기 원본 음성 데이터가 수신되면서, 상기 마스킹 처리 요청이 수신되면, 상기 원본 음성 데이터에 대해, 사전 설정된 제1 시간 간격마다 타임스탬프(timestamp)를 할당하는 타임스탬프 할당부; 및
    상기 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 변환 텍스트를 생성하되, 상기 원본 음성 데이터가 텍스트로 변환되기 시작하면, 상기 원본 음성 데이터에서 타임스탬프가 할당된 지점에 대한 텍스트가 생성될 때마다, 상기 원본 음성 데이터에 할당된 타임스탬프와 동일한 타임스탬프를 텍스트에 할당함으로써, 타임스탬프가 할당된 상기 변환 텍스트를 생성하는 변환 텍스트 생성 처리부
    를 포함하고,
    상기 마스킹 처리부는
    상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 적어도 하나의 제1 문자열 각각에 대해, 각 문자열에서 최초로 존재하는 제1 타임스탬프와 마지막으로 존재하는 제2 타임스탬프를 확인하는 타임스탬프 확인부;
    상기 적어도 하나의 제1 문자열 각각에 대해, 상기 제1 타임스탬프와 상기 제2 타임스탬프가 확인되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대한 상기 제1 타임스탬프와 상기 제2 타임스탬프 사이에 존재하는 음성 구간을, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간으로 추출하는 음성 구간 추출부; 및
    상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간이 추출되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간을, 상기 마스킹 사운드로 대체함으로써, 상기 대체 음성 데이터를 생성하는 마스킹 처리 수행부
    를 포함하는 마스킹 처리 서버.
  3. 제1항에 있어서,
    '1'과 '0'의 성분들로 구성된, 사전 설정된 n(n은 2 이상의 자연수임) x n 크기의 인증 행렬이 저장되어 있는 인증 행렬 저장부;
    상기 대체 음성 데이터가 상기 제1 전자 단말로 전송되면, 상기 원본 음성 데이터를 보관하기 위한 보관 이벤트를 발생시키는 이벤트 발생부;
    상기 보관 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 원본 음성 데이터에 대한 액세스를 가능하게 하기 위한 비밀번호를 설정할 것을 요청하는 비밀번호 설정 요청 메시지를 전송하는 비밀번호 설정 요청부;
    상기 비밀번호 설정 요청 메시지에 대응하여 상기 제1 사용자에 의해 제1 비밀번호가 설정됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로(modulo) 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 인증 행렬 저장부에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 제1 열벡터와, x+1번째 행에 위치하는 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 n x n 크기의 제1 연산 행렬을 생성하는 연산 행렬 생성부;
    상기 대체 음성 데이터를, 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 해시 값 생성부; 및
    상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터를 서로 대응시켜 원본 음성 보관용 데이터베이스에 저장하는 저장 처리부
    를 더 포함하는 마스킹 처리 서버.
  4. 제3항에 있어서,
    상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터가 서로 대응되어 상기 원본 음성 보관용 데이터베이스에 저장된 이후, 상기 제1 사용자에게서 상기 대체 음성 데이터와 상기 제1 비밀번호를 제공받은 제2 사용자의 제2 전자 단말로부터, 상기 대체 음성 데이터에 대한 마스킹 해제 요청이 수신되면, 상기 제2 전자 단말로, 상기 대체 음성 데이터의 전송을 요청하면서, 상기 원본 음성 데이터에 대한 액세스를 위한 비밀번호를 입력할 것을 요청하는 비밀번호 입력 요청 메시지를 전송하는 비밀번호 입력 요청부;
    상기 대체 음성 데이터의 전송 요청에 대응하여, 상기 제2 전자 단말로부터 상기 대체 음성 데이터가 수신되고, 상기 제2 사용자에 의해 상기 제2 전자 단말에 상기 제1 비밀번호가 입력됨에 따라, 상기 제2 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 인증 행렬 저장부에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 상기 제1 열벡터와, x+1번째 행에 위치하는 상기 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 상기 제1 연산 행렬을 생성하고, 상기 대체 음성 데이터를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성하는 생성 처리부;
    상기 제1 연산 행렬과 상기 제1 해시 값이 생성되면, 상기 원본 음성 보관용 데이터베이스 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는지 여부를 확인하는 연산 행렬 확인부; 및
    상기 원본 음성 보관용 데이터베이스 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는 것으로 확인되면, 상기 원본 음성 보관용 데이터베이스로부터, 상기 제1 해시 값에 대응되어 저장되어 있는 상기 원본 음성 데이터를 추출한 후, 상기 원본 음성 데이터를 상기 제2 전자 단말로 전송하는 원본 음성 데이터 전송부
    를 더 포함하는 마스킹 처리 서버.
  5. 제4항에 있어서,
    상기 원본 음성 데이터가 상기 제2 전자 단말로 전송되면, 상기 원본 음성 데이터가 상기 제2 전자 단말로 전송된 현재 시점에 대한 시간 정보를 생성하고, 상기 제2 전자 단말로부터, 상기 제2 전자 단말의 단말 식별 정보와, 상기 제2 전자 단말의 현재 위치에 대한 위치 정보를 수신하여, 상기 시간 정보, 상기 단말 식별 정보 및 상기 위치 정보로 구성된 마스킹 해제 이력 정보를 생성하는 이력 정보 생성부; 및
    상기 마스킹 해제 이력 정보가 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 등록 요청부
    를 더 포함하고,
    상기 제1 노드 장치는
    상기 마스킹 처리 서버로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 마스킹 처리 서버.
  6. 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버의 동작 방법에 있어서,
    개인 정보의 표기 형식에 대응되는 것으로 사전 설정된 서로 다른 복수의 정규 표현식(regular expression)들이 저장되어 있는 정규 표현식 저장부를 유지하는 단계;
    제1 사용자의 제1 전자 단말로부터, 원본 음성 데이터가 수신되면서, 상기 원본 음성 데이터에 포함된 개인 정보에 대한 마스킹(masking) 처리 요청이 수신되면, 사전 구축된 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 원본 음성 데이터에 대한 변환 텍스트를 생성하는 단계;
    상기 변환 텍스트가 생성되면, 상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열이 존재하는지 여부를 확인하는 단계;
    상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 원본 음성 데이터에서 상기 적어도 하나의 제1 문자열에 대응되는 음성 구간을, 사전 설정된 마스킹 사운드로 대체함으로써, 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성하는 단계; 및
    상기 대체 음성 데이터가 생성되면, 상기 대체 음성 데이터를 상기 제1 전자 단말로 전송하는 단계
    를 포함하는 마스킹 처리 서버의 동작 방법.
  7. 제6항에 있어서,
    상기 원본 음성 데이터에 대한 변환 텍스트를 생성하는 단계는
    상기 제1 전자 단말로부터, 상기 원본 음성 데이터가 수신되면서, 상기 마스킹 처리 요청이 수신되면, 상기 원본 음성 데이터에 대해, 사전 설정된 제1 시간 간격마다 타임스탬프(timestamp)를 할당하는 단계; 및
    상기 음성 인식 모델을 기초로, 상기 원본 음성 데이터를 텍스트로 변환함으로써, 상기 변환 텍스트를 생성하되, 상기 원본 음성 데이터가 텍스트로 변환되기 시작하면, 상기 원본 음성 데이터에서 타임스탬프가 할당된 지점에 대한 텍스트가 생성될 때마다, 상기 원본 음성 데이터에 할당된 타임스탬프와 동일한 타임스탬프를 텍스트에 할당함으로써, 타임스탬프가 할당된 상기 변환 텍스트를 생성하는 단계
    를 포함하고,
    상기 개인 정보가 마스킹 처리된 대체 음성 데이터를 생성하는 단계는
    상기 변환 텍스트 중, 상기 정규 표현식 저장부에 저장되어 있는 상기 복수의 정규 표현식들에 대응되는 표기 형식을 갖는 문자열로, 상기 적어도 하나의 제1 문자열이 존재하는 것으로 확인되면, 상기 적어도 하나의 제1 문자열 각각에 대해, 각 문자열에서 최초로 존재하는 제1 타임스탬프와 마지막으로 존재하는 제2 타임스탬프를 확인하는 단계;
    상기 적어도 하나의 제1 문자열 각각에 대해, 상기 제1 타임스탬프와 상기 제2 타임스탬프가 확인되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대한 상기 제1 타임스탬프와 상기 제2 타임스탬프 사이에 존재하는 음성 구간을, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간으로 추출하는 단계; 및
    상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간이 추출되면, 상기 원본 음성 데이터에서, 상기 적어도 하나의 제1 문자열 각각에 대응되는 음성 구간을, 상기 마스킹 사운드로 대체함으로써, 상기 대체 음성 데이터를 생성하는 단계
    를 포함하는 마스킹 처리 서버의 동작 방법.
  8. 제6항에 있어서,
    '1'과 '0'의 성분들로 구성된, 사전 설정된 n(n은 2 이상의 자연수임) x n 크기의 인증 행렬이 저장되어 있는 인증 행렬 저장부를 유지하는 단계;
    상기 대체 음성 데이터가 상기 제1 전자 단말로 전송되면, 상기 원본 음성 데이터를 보관하기 위한 보관 이벤트를 발생시키는 단계;
    상기 보관 이벤트가 발생되면, 상기 제1 전자 단말로, 상기 원본 음성 데이터에 대한 액세스를 가능하게 하기 위한 비밀번호를 설정할 것을 요청하는 비밀번호 설정 요청 메시지를 전송하는 단계;
    상기 비밀번호 설정 요청 메시지에 대응하여 상기 제1 사용자에 의해 제1 비밀번호가 설정됨에 따라, 상기 제1 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로(modulo) 연산을 수행함으로써, 제1 연산 값 x를 산출하고, 상기 인증 행렬 저장부에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 제1 열벡터와, x+1번째 행에 위치하는 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 n x n 크기의 제1 연산 행렬을 생성하는 단계;
    상기 대체 음성 데이터를, 사전 설정된 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계; 및
    상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터를 서로 대응시켜 원본 음성 보관용 데이터베이스에 저장하는 단계
    를 더 포함하는 마스킹 처리 서버의 동작 방법.
  9. 제8항에 있어서,
    상기 제1 연산 행렬, 상기 제1 해시 값 및 상기 원본 음성 데이터가 서로 대응되어 상기 원본 음성 보관용 데이터베이스에 저장된 이후, 상기 제1 사용자에게서 상기 대체 음성 데이터와 상기 제1 비밀번호를 제공받은 제2 사용자의 제2 전자 단말로부터, 상기 대체 음성 데이터에 대한 마스킹 해제 요청이 수신되면, 상기 제2 전자 단말로, 상기 대체 음성 데이터의 전송을 요청하면서, 상기 원본 음성 데이터에 대한 액세스를 위한 비밀번호를 입력할 것을 요청하는 비밀번호 입력 요청 메시지를 전송하는 단계;
    상기 대체 음성 데이터의 전송 요청에 대응하여, 상기 제2 전자 단말로부터 상기 대체 음성 데이터가 수신되고, 상기 제2 사용자에 의해 상기 제2 전자 단말에 상기 제1 비밀번호가 입력됨에 따라, 상기 제2 전자 단말로부터 상기 제1 비밀번호가 수신되면, 상기 제1 비밀번호에 대해 n을 제수로 하는 모듈로 연산을 수행함으로써, 상기 제1 연산 값 x를 산출하고, 상기 인증 행렬 저장부에 저장되어 있는 상기 인증 행렬로부터, x+1번째 열에 위치하는 상기 제1 열벡터와, x+1번째 행에 위치하는 상기 제1 행벡터를 추출한 후, 상기 제1 열벡터와 상기 제1 행벡터를 행렬 곱하여 상기 제1 연산 행렬을 생성하고, 상기 대체 음성 데이터를 상기 해시 함수에 입력으로 인가하여 상기 제1 해시 값을 생성하는 단계;
    상기 제1 연산 행렬과 상기 제1 해시 값이 생성되면, 상기 원본 음성 보관용 데이터베이스 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는지 여부를 확인하는 단계; 및
    상기 원본 음성 보관용 데이터베이스 상에, 상기 제1 해시 값에 대응되어 저장되어 있는 연산 행렬이 상기 제1 연산 행렬과 일치하는 것으로 확인되면, 상기 원본 음성 보관용 데이터베이스로부터, 상기 제1 해시 값에 대응되어 저장되어 있는 상기 원본 음성 데이터를 추출한 후, 상기 원본 음성 데이터를 상기 제2 전자 단말로 전송하는 단계
    를 더 포함하는 마스킹 처리 서버의 동작 방법.
  10. 제9항에 있어서,
    상기 원본 음성 데이터가 상기 제2 전자 단말로 전송되면, 상기 원본 음성 데이터가 상기 제2 전자 단말로 전송된 현재 시점에 대한 시간 정보를 생성하고, 상기 제2 전자 단말로부터, 상기 제2 전자 단말의 단말 식별 정보와, 상기 제2 전자 단말의 현재 위치에 대한 위치 정보를 수신하여, 상기 시간 정보, 상기 단말 식별 정보 및 상기 위치 정보로 구성된 마스킹 해제 이력 정보를 생성하는 단계; 및
    상기 마스킹 해제 이력 정보가 생성되면, 블록체인 네트워크를 구성하고 있는 복수의 노드 장치들 중 어느 하나인 제1 노드 장치를 랜덤하게 선택하여, 상기 제1 노드 장치로, 상기 트랜잭션을 전송하면서, 상기 트랜잭션의 상기 블록체인 네트워크로의 등록 요청을 전송하는 단계
    를 더 포함하고,
    상기 제1 노드 장치는
    상기 마스킹 처리 서버로부터 상기 트랜잭션과 상기 등록 요청이 수신되면, 상기 제1 노드 장치의 메모리 상에 저장되어 있는 블록체인 데이터에 체인으로 연결된 이전 블록을 기초로, 상기 트랜잭션이 포함된 제1 블록을 생성하고, 상기 제1 블록을 상기 블록체인 데이터에 체인으로 연결함으로써, 상기 제1 블록에 대한 저장을 완료한 후, 상기 블록체인 네트워크를 통해 상기 제1 블록을, 상기 복수의 노드 장치들 중 상기 제1 노드 장치를 제외한 나머지 노드 장치들로 전파하는 것을 특징으로 하는 마스킹 처리 서버의 동작 방법.
  11. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020220005638A 2022-01-14 2022-01-14 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법 KR102636705B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220005638A KR102636705B1 (ko) 2022-01-14 2022-01-14 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220005638A KR102636705B1 (ko) 2022-01-14 2022-01-14 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20230109865A true KR20230109865A (ko) 2023-07-21
KR102636705B1 KR102636705B1 (ko) 2024-02-14

Family

ID=87429980

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220005638A KR102636705B1 (ko) 2022-01-14 2022-01-14 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102636705B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102697734B1 (ko) * 2023-12-27 2024-08-22 (주)원데이터기술 비정형 데이터 활용을 위한 개인정보 비식별화 장치 및 그 장치의 구동방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016507110A (ja) * 2013-09-12 2016-03-07 ジーシーオーディー イノベーション コーポレーション リミテッドGcod Innovation Co.,Ltd. 保安認証方法及び装置
KR20190058066A (ko) * 2017-11-21 2019-05-29 주식회사 케이티 상담데이터 관리 방법 및 장치
KR20200095719A (ko) * 2019-02-01 2020-08-11 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20210150090A (ko) * 2020-06-03 2021-12-10 주식회사 마인드웨어웤스 개인정보 보호 기반 음성 정보 처리 서비스 제공 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016507110A (ja) * 2013-09-12 2016-03-07 ジーシーオーディー イノベーション コーポレーション リミテッドGcod Innovation Co.,Ltd. 保安認証方法及び装置
KR20190058066A (ko) * 2017-11-21 2019-05-29 주식회사 케이티 상담데이터 관리 방법 및 장치
KR20200095719A (ko) * 2019-02-01 2020-08-11 삼성전자주식회사 전자 장치 및 그 제어 방법
KR20210150090A (ko) * 2020-06-03 2021-12-10 주식회사 마인드웨어웤스 개인정보 보호 기반 음성 정보 처리 서비스 제공 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102697734B1 (ko) * 2023-12-27 2024-08-22 (주)원데이터기술 비정형 데이터 활용을 위한 개인정보 비식별화 장치 및 그 장치의 구동방법

Also Published As

Publication number Publication date
KR102636705B1 (ko) 2024-02-14

Similar Documents

Publication Publication Date Title
US11196540B2 (en) End-to-end secure operations from a natural language expression
TWI536365B (zh) 聲紋辨識
CN114818000B (zh) 隐私保护的集合混淆求交方法、系统及相关设备
KR20230109865A (ko) 음성 데이터에 포함된 개인 정보를 마스킹 처리할 수 있는 마스킹 처리 서버 및 그 동작 방법
KR20140044962A (ko) 전자 기기에서의 락 해제 방법 및 장치와 그 방법에 대한 프로그램 소스를 저장한 기록 매체
CN107391100A (zh) 一种支持多语言账单的配置文件生成方法及装置
CN111291084A (zh) 样本id对齐方法、装置、设备及存储介质
CN112786041B (zh) 语音处理方法及相关设备
KR20220048642A (ko) 회의록 생성이 가능한 화상 회의 시스템 서버 및 그 동작 방법
KR20230036386A (ko) 아바타를 이용한 메타버스 환경을 제공하는 메타버스 서비스를 운영하기 위한 서비스 운영 서버 및 그 동작 방법
CN111291336B (zh) 游戏平台中游戏的注册方法、装置
CN107609871B (zh) 支付轨迹重现方法、装置、系统、电子设备、存储介质
KR102500756B1 (ko) 채팅 서비스를 통해 사용자들이 입력한 채팅 메시지들이 삽입된 전자 문서를 생성하는 전자 단말 장치 및 그 동작 방법
KR20150030884A (ko) 행위자 인증 정보 처리 방법, 이를 수행하는 행위자 인증 정보 처리 장치 및 이를 기록한 기록매체
KR102574293B1 (ko) 전자 문서에 삽입되는 2차원 코드와의 연동을 통해 상기 전자 문서에 대한 저자 정보의 저장 및 조회를 가능하게 하는 블록체인 기반의 저자 정보 관리 서버 및 그 동작 방법
KR102302948B1 (ko) 골드바에 대한 정품 인증을 수행하는 골드바 정품 인증 서버 및 그 동작 방법
KR102535682B1 (ko) 2차원 코드를 기반으로 웹 사이트가 정상 웹 사이트인지 여부에 대한 확인을 수행하는 웹 사이트 확인 서버 및 그 동작 방법
KR102361231B1 (ko) 2차원 코드를 기반으로 마스크에 대한 정품 인증을 수행하는 마스크 정품 인증 서버 및 그 동작 방법
CN112037796B (zh) 一种数据处理方法、装置、设备及介质
KR102694768B1 (ko) 데이터베이스에 저장되어 있는 개인 정보를 마스킹 처리하여 전송할 수 있는 개인 정보 관리 서버 및 그 동작 방법
KR102215600B1 (ko) 보안 등급에 기초한 차등 인증 처리를 통해 문서에 삽입되는 주석으로 활용 가능한 공공 데이터를 제공하는 공공 데이터 제공 장치 및 그 동작 방법
TW201911076A (zh) 隱私管理系統及其方法
WO2023119521A1 (ja) 可視化情報生成装置、可視化情報生成方法、及びプログラム
US20240134617A1 (en) Ui component configuration system apparatus that provides a ui component configuration service that can transform and configure ui components of an application based on device characteristics and the operating method thereof
JP2009157774A (ja) 書き起こしテキスト作成支援装置及び書き起こしテキスト作成支援プログラム

Legal Events

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