WO2023128342A1 - Method and system for identifying individual using homomorphically encrypted voice - Google Patents

Method and system for identifying individual using homomorphically encrypted voice Download PDF

Info

Publication number
WO2023128342A1
WO2023128342A1 PCT/KR2022/019467 KR2022019467W WO2023128342A1 WO 2023128342 A1 WO2023128342 A1 WO 2023128342A1 KR 2022019467 W KR2022019467 W KR 2022019467W WO 2023128342 A1 WO2023128342 A1 WO 2023128342A1
Authority
WO
WIPO (PCT)
Prior art keywords
voice
voice data
user
encrypted
homomorphically
Prior art date
Application number
PCT/KR2022/019467
Other languages
French (fr)
Korean (ko)
Inventor
안용대
박준홍
Original Assignee
주식회사 디사일로
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디사일로 filed Critical 주식회사 디사일로
Publication of WO2023128342A1 publication Critical patent/WO2023128342A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • 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/06Decision making techniques; Pattern matching strategies
    • G10L17/14Use of phonemic categorisation or speech recognition prior to speaker recognition or verification
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/15Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being formant information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Definitions

  • the present invention relates to a method and system for personal identification using homomorphic encrypted voice.
  • a user inputs a password using alphabets and numbers or a personal identification number consisting only of numbers for authentication, thereby identifying whether or not the user is a correct user.
  • the second is a method of recognizing the user's unique biometric information such as the user's fingerprint, iris, face, and voice to identify whether the user is a valid user.
  • a user carries an additional device only for authentication, such as an OTP (One-Time Password) generation device of Internet banking and an employee ID card, and uses the device when authentication is requested to identify the correct user.
  • OTP One-Time Password
  • the first method is the most used among them, but because users designate different passwords for each system and it is difficult to remember them, many people use short and common passwords for convenience, which is weak in terms of security.
  • the third method has a disadvantage in that the user must always carry the device for authentication, and the process of reissuing the device is cumbersome if the device is lost while in possession.
  • the second identification method using the user's unique biometric information which has no risk of loss and does not change, is a safe method. There is a problem in that considerable time and money are consumed to build data.
  • the inventors of the present invention tried to develop a method and a system that can easily and quickly identify a user using only a device capable of acquiring the user's voice, and a system for performing the same.
  • the inventors of the present invention configured a method so that biometric information unique to the user is not exposed by homomorphically encrypting voice data obtained from the user and then obtaining an operation result obtained by homomorphically encrypting the user identification result.
  • a personal identification method using homomorphically encrypted voice includes obtaining first voice data of a user, isomorphically encrypting the first voice data, transmitting the homomorphically encrypted first voice data to a voice operation server, and isomorphically encrypting the first voice data from the voice operation server. and receiving a homomorphically encrypted identification result calculated on the basis of the first voice data and pre-stored second voice data of another user, and decrypting the homomorphically encrypted identification result.
  • the transmitting of the homomorphically encrypted first voice data includes transmitting parameters for a homomorphic encryption operation used to homomorphically encrypt the first voice data to the voice operation server.
  • a homomorphic encryption operation used to homomorphically encrypt the first voice data to the voice operation server. can include more.
  • the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first voice data and the homomorphically encrypted second voice data based on the parameter.
  • the second voice data is voice data of a plurality of other users pre-stored in the voice calculation server, and the decoding step includes other voice data matching the user among the plurality of other users.
  • the method may further include obtaining an identification result for the user.
  • the first voice data and the second voice data include a voice frequency obtained in response to a user identification question provided to a user, a feature region extracted from a waveform of the voice frequency, or the voice It may include text determined based on frequency.
  • the homomorphic encryption step uses any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. It may be a step of performing homomorphic encryption.
  • the method may include receiving an operation request including homomorphically encrypted first voice data of a user from an identifier device, obtaining pre-stored second voice data of another user according to the operation request, and the homomorphically encrypted second voice data of another user. Calculating a homomorphically encrypted identification result based on the first voice data and the second speech data, and sending the homomorphically encrypted identification result to the identifier device.
  • receiving the operation request may further include receiving parameters for a homomorphic encryption operation, used to homomorphically encrypt the first voice data, from the identifier device.
  • the acquiring may further include performing homomorphic encryption of the second voice data based on the parameter.
  • the calculating of the homomorphically encrypted identification result may include determining a first location corresponding to the homomorphically encrypted first voice data and a second location corresponding to the second voice data.
  • the method may further include calculating a distance value between the first location and the second location corresponding to the step and the identification result.
  • the calculating of the homomorphically encrypted identification result may include the second voice data of the plurality of other users and the homomorphically encrypted first voice data according to the type of the received operation request. It may be a step of calculating an encrypted identification result based on.
  • a user can be identified without sharing user-specific bio information (voice) with an external server for user identification in a public space.
  • the present invention can identify a user or determine whether a user is the same as another user.
  • the user's voice data is calculated in a homomorphic encrypted state, and the user's voice used to prove the user's identity is safely protected by decoding and verifying only the calculation result in the device that acquired the user's voice.
  • the present invention does not need to possess a separate device or memorize a unique identification number for user identification and user authentication, so user convenience can be improved.
  • Effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present invention.
  • FIG. 1 is a schematic diagram of a personal identification system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of an identifier device according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a personal identification method of an identifier device according to an embodiment of the present invention.
  • FIGS. 4 and 5 are schematic diagrams for explaining a personal identification interface screen output to an identifier device according to an embodiment of the present invention.
  • FIG. 6 is a block diagram showing the configuration of a voice calculation server that performs homomorphic encryption calculation according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a personal identification method of a voice calculation server according to an embodiment of the present invention.
  • FIGS. 8 and 9 are schematic flowcharts of a data identification method according to an embodiment of the present invention.
  • expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
  • first,” “second,” “first,” or “second,” used in this document may modify various elements, regardless of order and/or importance, and refer to one element as It is used only to distinguish it from other components and does not limit the corresponding components.
  • a first user device and a second user device may represent different user devices regardless of order or importance.
  • a first element may be named a second element, and similarly, the second element may also be renamed to the first element.
  • a component e.g., a first component
  • another component e.g., a second component
  • the certain component may be directly connected to the other component or connected through another component (eg, a third component).
  • an element e.g, a first element
  • another element e.g., a second element
  • the element and the above It may be understood that other components (eg, third components) do not exist between the other components.
  • the expression “configured to” means “suitable for,” “having the capacity to,” depending on the circumstances. ,” “designed to,” “adapted to,” “made to,” or “capable of.”
  • the term “configured (or set) to” may not necessarily mean only “specifically designed to” hardware.
  • the phrase “device configured to” may mean that the device is “capable of” in conjunction with other devices or components.
  • a processor configured (or configured) to perform A, B, and C” may include a dedicated processor (e.g., embedded processor) to perform those operations, or by executing one or more software programs stored in a memory device.
  • a general-purpose processor eg, CPU or application processor
  • FIG. 1 is a schematic diagram of a personal identification system according to an embodiment of the present invention.
  • the personal identification system 1000 may include an identifier device 100 displaying a user's personal identification result and a voice operation server 200 calculating the user's personal identification result.
  • the personal identification system 1000 may be a system capable of identifying a user using the user's voice.
  • identifying a user can be understood as recognizing what kind of user a user is or determining whether a user is the same as another user by comparing unique bio information (user's voice) between two users. .
  • user identification may be performed between a user and a plurality of user groups. That is, other users who are comparison targets for user identification may be users of groups (user groups 1 and 2) to which the user belongs. For example, users registered in a DB server (not shown) (or voice operation server 200) of a company, school, or region to which the user belongs or users registered in a conference in which the user participates are other users to be compared. can be The identifier device 100 may pre-designate a DB server to be used to use the personal identification service in order to increase accuracy of personal identification results and improve identification speed.
  • the identifier device 100 and the voice operation server 200 can send and receive all data in an encrypted state, and the identifier device 100 and the voice operation server 200 in an encrypted state Data can be encrypted through a homomorphic encryption technique to enable data operation.
  • data exchanged between the identifier device 100 and the voice operation server 200 in the personal identification system 1000 is homomorphic encrypted data, not the original data, and the original data can be stored in each device.
  • the identifier device 100 and the voice operation server 200 may homomorphically encrypt data through a web page or application/program capable of processing homomorphically encrypted data, and may perform calculations between homomorphically encrypted data.
  • the identifier device 100 and the voice operation server 200 may perform operations between homomorphic ciphertext or between homomorphic ciphertext and plaintext, and may homomorphically encrypt voice data using various homomorphic encryption algorithms.
  • the identifier device 100 and the speech operation server 200 use any one encryption method of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. It can be used to encrypt voice data.
  • the identifier device 100 is a device capable of obtaining a user's voice and outputting a voice identification result, and may be implemented as a PC, tablet PC, smart phone, wearable device, or the like.
  • the bio information unique to the user may mean the user's voice.
  • the identifier device 100 may transmit parameters for homomorphic encryption operation to the voice operation server 200 so as to obtain an identification result for a corresponding user based on the homomorphic encrypted first voice data (user's voice).
  • the parameters include the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and attribute information (file format, time) of voice data. , sampling rate, Mel-Frequency Cepstral Coefficient (MFCC)).
  • the identifier device 100 may receive an identification result subjected to a homomorphic encryption operation using a parameter, and may obtain an identification result for a user by decrypting it. For example, when the identifier device 100 is installed in a specific space, the identifier device 100 may acquire the user's voice, homomorphically encrypt it, and transmit the same to the voice operation server 200, and the voice operation server The isomorphically encrypted operation result received from step 200 is decrypted, and whether or not the corresponding user is registered as an accessible user, that is, whether or not the corresponding user is allowed to enter can be output to each user according to the user identification result.
  • the identifier device 100 may directly perform the calculation without receiving the isomorphically encrypted calculation result from the voice calculation server 200 .
  • the identifier device 100 may receive second voice data of a plurality of other users that is homomorphically encrypted from the voice calculation server 200, and perform operation of the homomorphically encrypted voice data of the user and the other user a plurality of times, , The operation method between homomorphic encrypted data will be described later.
  • the identifier device 100 may homomorphically encrypt the random voice itself uttered by the user, but according to the administrator's setting, provides the user with a preset user identification question, and provides a corresponding answer By obtaining, homomorphic encryption can be performed.
  • the identifier device 100 may utilize a voice frequency obtained in response to a user identification question and a feature region extracted from a voice frequency waveform or text determined based on the voice frequency as voice data.
  • the feature region extracted from the audio frequency waveform means a region in which different feature points are detected according to gender or age, and may be replaced with a feature vector.
  • the voice calculation server 200 is a server capable of performing calculations between homomorphically encrypted data using pre-stored voice data according to the calculation request of the identifier device 100, and includes a PC, tablet PC, smart phone, general-purpose computer, It can be implemented with a laptop and a cloud server.
  • the voice calculation server 200 may store a plurality of second voice data (voices of other users), perform a homomorphic encryption operation with one user's voice data, or perform a plurality of user voice data according to the type of operation request. It is possible to perform a plurality of homomorphic encryption operations using
  • the voice operation server 200 may store voice data (voice data for the first text and second text) of users for preset identification questions, and extract the voice frequency waveform of each voice data. By additionally storing the converted feature area and text as voice data, it can be used in homomorphic encryption operation.
  • the voice calculation server 200 may calculate a homomorphic encrypted calculation result, and decryption of the calculation result may be performed by the identifier device 100 . That is, since the voice calculation server 200 receives the homomorphically encrypted first voice data from the identifier device 100, performs calculation, and transmits the result without decryption, the voice calculation server 200 It is not possible to confirm an identification result of whether the user matches user A previously stored or whether the user is one of a plurality of users.
  • the voice calculation server 200 performs an operation based on the homomorphically encrypted first voice data and the plaintext second voice data, or uses an encryption key in which parameters received from the identifier device 100 are reflected. Thus, an operation may be performed based on the homomorphically encrypted second voice data.
  • the voice operation server 200 may provide a web page or application for isomorphic data encryption and identification result decryption to the identifier device 100 .
  • the identifier device 100 and the voice operation server 200 may pre-process voice data stored in their respective devices to reduce the burden of homomorphic encryption calculation before performing homomorphic encryption.
  • the identifier device 100 and the voice calculation server 200 may convert voice data into locations in order to calculate a similarity to the voice data. That is, each voice data can be converted to a designated location of a discretized grid system.
  • the personal identification system 1000 according to an embodiment of the present invention has been described. According to the present invention, all data transmitted and received between the identifier device 100 and the voice operation server 200 are in a homomorphic encrypted state, so the user's voice can be safely protected while the personal identification service is provided.
  • FIG. 2 is a block diagram showing the configuration of an identifier device according to an embodiment of the present invention.
  • the identifier device 100 may include a memory interface 110 , one or more processors 120 and a peripheral interface 130 .
  • the various components within identifier device 100 may be connected by one or more communication buses or signal lines.
  • the memory interface 110 may be connected to the memory 150 and transfer various data to the processor 120 .
  • the memory 150 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM, network storage storage, cloud , It may include at least one type of storage medium among blockchain databases.
  • the memory 150 may include a plurality of user identification questions to be provided to a user, data constituting a personal identification interface screen for acquiring a user's voice and outputting a personal identification result, preprocessed first voice data, and a first voice data.
  • a function for converting 1 voice data into a form capable of homomorphic encryption, an algorithm for homomorphic encryption, homomorphically encrypted first voice data, and parameters for homomorphic encryption operation may be stored.
  • memory 150 includes operating system 151 , communication module 152 , graphical user interface module (GUI) 153 , sensor processing module 154 , telephony module 155 , and application module 156 .
  • the operating system 151 may include instructions for processing basic system services and instructions for performing hardware tasks.
  • the communication module 152 may communicate with at least one of one or more other devices, computers, and servers.
  • a graphical user interface module (GUI) 153 may process a graphical user interface.
  • Sensor processing module 154 may process sensor-related functions (eg, process voice input received through one or more microphones 192 ).
  • the phone module 155 may process phone-related functions.
  • the application module 156 may perform various functions of a user application, such as electronic messaging, web browsing, media processing, navigation, imaging, and other processing functions.
  • the identifier device 100 may store one or more software applications 156 - 1 and 156 - 2 (eg, a personal identification service application) associated with any one type of service in the memory 150 .
  • the memory 150 may store a digital assistant client module 157 (hereinafter referred to as a DA client module), thereby storing instructions and various user data 158 for performing client-side functions of the digital assistant.
  • a digital assistant client module 157 hereinafter referred to as a DA client module
  • various user data 158 for performing client-side functions of the digital assistant.
  • user-customized vocabulary data, preference data, other data such as the user's electronic address book, etc.
  • the DA client module 157 receives a user's voice input, text input, touch input, and/or gesture input through various user interfaces (eg, the I/O subsystem 140) provided in the identifier device 100.
  • various user interfaces eg, the I/O subsystem 140
  • the DA client module 157 may output audio-visual and tactile data.
  • the DA client module 157 may output data consisting of a combination of at least two of voice, sound, notification, text message, menu, graphic, video, animation, and vibration.
  • the DA client module 157 may communicate with a digital assistant server (not shown) using the communication subsystem 180 .
  • DA client module 157 may collect additional information about the surrounding environment of identifier device 100 from various sensors, subsystems, and peripheral devices to construct a context associated with user input. .
  • the DA client module 157 may infer the user's intention by providing context information together with the user's input to the digital assistant server.
  • the situational information that may accompany the user input may include sensor information, eg, lighting, ambient noise, ambient temperature, image of the surrounding environment, video, and the like.
  • the contextual information may include the physical state of the identifier device 100 (eg, device orientation, device location, device temperature, power level, speed, acceleration, motion pattern, cellular signal strength, etc.).
  • the context information is information related to the state of the software of the identifier device 100 (eg, processes running on the identifier device 100, installed programs, past and present network activity, background services, error logs, resource usage). etc.) may be included.
  • the memory 150 may include added or deleted commands, and the identifier device 100 may also include additional components other than those shown in FIG. 2 or may exclude some components.
  • the processor 120 may control the overall operation of the identifier device 100, and may execute various commands for implementing an interface for personal identification service by driving an application or program stored in the memory 150.
  • the processor 120 may correspond to an arithmetic device such as a central processing unit (CPU) or an application processor (AP).
  • the processor 120 may be implemented in the form of an integrated chip (IC) such as a System on Chip (SoC) in which various computing devices performing machine learning, such as a Neural Processing Unit (NPU), are integrated. .
  • IC integrated chip
  • SoC System on Chip
  • NPU Neural Processing Unit
  • the processor 120 may homomorphically encrypt voice and obtain an identification result of a homomorphically encrypted user based on the homomorphic encryption, which will be described below with reference to FIGS. 3 to 5 .
  • FIGS. 4 and 5 are schematic diagrams for explaining a personal identification interface screen output to an identifier device according to an embodiment of the present invention. am.
  • the processor 120 may acquire first voice data of the user (S110).
  • the processor 120 may provide a user with a specific command through the touch screen 153 and obtain a captured user's voice through the microphone 192 .
  • the processor 120 of the identifier device 100 may provide an interface screen for acquiring the user's first voice data as shown in (a).
  • the user guide phrase 11 for acquiring the user's first voice data may be included in the interface screen along with the arbitrary sentence 13 provided by the processor 120 .
  • an image indicating that the voice is being obtained may be displayed on the interface screen, and in addition, location information where the identifier device 100 is placed and the user's individual may be displayed on the interface screen. Identifying time information may be displayed together.
  • the processor 120 may provide an interface screen for acquiring the user's first voice data corresponding to the question stored in the memory 150, as shown in (b).
  • the user guidance phrase 12 for acquiring the user's first voice data may be included in the interface screen together with the user identification questions 14 stored in advance.
  • the processor 120 may homomorphically encrypt the entire voice, but according to the manager's setting, the voice frequency obtained in response to the user identification question provided to the user and the feature region extracted from the waveform of the voice frequency or Homomorphic encryption may be performed on text determined based on voice frequencies.
  • the processor 120 may use a text extraction model.
  • the text extraction model may be a model learned to output text by inputting voice frequencies.
  • the processor 120 converts any one of the voice frequency obtained through the microphone 192 and the text determined based on the feature region extracted from the waveform of the voice frequency and the voice frequency into the first voice of the user requiring personal identification. can be used as data.
  • the processor 120 may pre-process the user's first voice data in order to reduce the burden of homomorphic encryption calculation. For example, the processor 120 uses a pre-stored function for converting the voice data to a designated location of a discretized grid system in order to calculate a similarity between the first voice data and the second voice data to be compared. You can use it to convert to position.
  • the processor 120 may homomorphically encrypt the first voice data (S120).
  • the processor 120 may homomorphically encrypt the first voice data using an encryption key in which a parameter for a homomorphic encryption operation is reflected.
  • the processor 120 converts the first voice data using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. Homomorphic encryption is possible.
  • the processor 120 may transmit the homomorphically encrypted first voice data to the voice operation server 200 through the communication module 152 (S130).
  • the processor 120 may transmit to the voice calculation server 200 an operation request including the homomorphically encrypted first voice data and parameters used in the process of isomorphically encrypting the first voice data.
  • the parameters include the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and attribute information (file format, time, sampling rate, Mel-Frequency Cepstral Coefficient (MFCC)).
  • the processor 120 may receive a homomorphically encrypted identification result calculated based on the homomorphically encrypted first voice data and pre-stored second voice data of another user from the voice operation server 200 (S140). ).
  • the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first voice data and the homomorphically encrypted second voice data based on the parameters provided in step S130.
  • the first and second voice data can be operated in a homomorphic encrypted state using an encryption key in which the same parameter is reflected, and accordingly, the identification result calculated by the voice calculation server 200 can be correctly decoded.
  • the processor 120 may receive a pre-stored identification result with voice data of one other user or receive a result of identification with voice data of a plurality of other users according to an operation request.
  • the processor 120 may decrypt the homomorphically encrypted identification result (S150). Specifically, the processor 120 may output decoded results of different types to the touch screen 143 according to an operation request. For example, the processor 120 may check an identification result of whether the user matches another designated user or an identification result of whether the user is one of a plurality of users.
  • the processor 120 of the identifier device 100 determines whether or not the user is allowed access according to whether the user matches or does not match any one of the plurality of access users, as shown in (a). It is possible to provide a notification 15 indicating.
  • the processor 120 may provide a notification 16 indicating a result of recognizing the type of user as shown in (b).
  • the peripheral interface 130 may be connected to various sensors, subsystems, and peripheral devices to provide data so that the identifier device 100 can perform various functions.
  • that the identifier device 100 performs a certain function may be understood as being performed by the processor 120 .
  • Perimeter interface 130 may receive data from motion sensor 160, light sensor (light sensor) 161, and proximity sensor 162, through which identifier device 100 may receive orientation, light, and proximity. sensing function, etc.
  • the peripheral interface 130 may receive data from other sensors 163 (positioning system-GPS receiver, temperature sensor, biometric sensor) through which the identifier device 100 may receive data from the other sensors. It can perform functions related to (163).
  • the identifier device 100 may include a camera subsystem 170 coupled to the peripheral interface 130 and an optical sensor 171 coupled thereto, through which the identifier device 100 may take pictures and video Various shooting functions such as clip recording can be performed.
  • identifier device 100 may include a communication subsystem 180 coupled with peripheral interface 130 .
  • the communication subsystem 180 is composed of one or more wired/wireless networks, and may include various communication ports, radio frequency transceivers, and optical transceivers.
  • identifier device 100 includes an audio subsystem 190 coupled to peripheral interface 130, which audio subsystem 190 includes one or more speakers 191 and one or more microphones 192.
  • the identifier device 100 can perform voice-activated functions, such as voice recognition, voice replication, digital recording, and telephony functions.
  • identifier device 100 may include I/O subsystem 140 coupled with peripheral interface 130 .
  • the I/O subsystem 140 may control the touch screen 143 included in the identifier device 100 through the touch screen controller 141 .
  • the touch screen controller 141 uses any one of a plurality of touch sensing technologies such as capacitive, resistive, infrared, surface acoustic wave technology, proximity sensor array, and the like to provide a user's touch and motion or touch. and cessation of movement.
  • I/O subsystem 140 may control other input/control devices 144 included in identifier device 100 via other input controller(s) 142 .
  • other input controller(s) 142 may control one or more buttons, rocker switches, thumb-wheels, infrared ports, USB ports, and pointer devices such as styluses and the like.
  • the identifier device 100 may request an operation using homomorphically encrypted voice data to the voice calculation server 200 in order to compare its voice data with voice data of another user, and accordingly Accordingly, the identity of the user can be quickly confirmed while protecting the user's personal information.
  • FIG. 6 is a block diagram showing the configuration of a voice calculation server that performs homomorphic encryption calculation according to an embodiment of the present invention.
  • the voice operation server 200 may include a communication interface 210, a memory 220, an I/O interface 230, and a processor 240, each of which includes one or more communication buses or They can communicate with each other through signal lines.
  • the communication interface 210 may be connected to a plurality of identifier devices 100 through a wired/wireless communication network to exchange data.
  • the communication interface 210 may receive an operation request including homomorphically encrypted first voice data and parameters for a homomorphic encryption operation from the identifier device 100, and may receive the homomorphically encrypted first voice data from the identifier device 100. Identification results can be transmitted.
  • the communication interface 210 enabling the transmission and reception of such data includes a communication pod 211 and a wireless circuit 212, where the wired communication port 211 is one or more wired interfaces, for example, Ethernet, This may include Universal Serial Bus (USB), FireWire, and the like.
  • the wireless circuit 212 may transmit/receive data with an external device through an RF signal or an optical signal.
  • wireless communication may use at least one of a plurality of communication standards, protocols and technologies, such as GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi-MAX, or any other suitable communication protocol.
  • the memory 220 may store various data used in the voice calculation server 200 .
  • the memory 220 stores second voice data (voice frequencies for first and second texts (a plurality of questions) of a plurality of users, feature regions extracted from voice frequency waveforms, and second voice data in isomorphism). Functions for converting into an encryptable form, algorithms for homomorphic encryption, etc. can be stored.
  • the memory 220 may include volatile or non-volatile recording media capable of storing various data, commands, and information.
  • the memory 220 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM, network storage storage , Cloud, and a blockchain database may include at least one type of storage medium.
  • the memory 220 may store configurations of at least one of the operating system 221 , the communication module 222 , the user interface module 223 , and one or more applications 224 .
  • Operating system 221 e.g. embedded operating systems such as LINUX, UNIX, MAC OS, WINDOWS, VxWorks, etc.
  • general system tasks e.g. memory management, storage device control, power management, etc.
  • general system tasks e.g. memory management, storage device control, power management, etc.
  • the communication module 223 may support communication with other devices through the communication interface 210 .
  • the communication module 220 may include various software components for processing data received by the wired communication port 211 or the wireless circuit 212 of the communication interface 210 .
  • the user interface module 223 may receive a user's request or input from a keyboard, touch screen, microphone, etc. through the I/O interface 230 and provide a user interface on a display.
  • Applications 224 may include programs or modules configured to be executed by one or more processors 230 .
  • an application for computing voice data may be implemented on a server farm.
  • the I/O interface 230 may connect at least one of an input/output device (not shown) of the voice operation server 200, for example, a display, a keyboard, a touch screen, and a microphone, to the user interface module 223.
  • the I/O interface 230 may receive user input (eg, voice input, keyboard input, touch input, etc.) together with the user interface module 223 and process a command according to the received input.
  • the processor 240 is connected to the communication interface 210, the memory 220, and the I/O interface 230 to control the overall operation of the voice operation server 200, and an application or program stored in the memory 220. It is possible to perform various commands for processing homomorphically encrypted data through
  • the processor 240 may correspond to an arithmetic device such as a central processing unit (CPU) or an application processor (AP).
  • the processor 240 may be implemented in the form of an integrated chip (IC) such as a System on Chip (SoC) in which various computing devices are integrated.
  • the processor 240 may include a module for calculating an artificial neural network model, such as a Neural Processing Unit (NPU).
  • NPU Neural Processing Unit
  • the processor 240 may provide a service for identifying a user in a state in which the user's personal information is not exposed, which will be described below with reference to FIG. 7 .
  • FIG. 7 is a flowchart of a personal identification method of a voice calculation server according to an embodiment of the present invention.
  • the processor 240 may receive an operation request including homomorphically encrypted first voice data of the user from the identifier device 100 through the communication interface 210 (S210).
  • the operation request may include a parameter for the homomorphic encryption operation used to homomorphically encrypt the first voice data and feature data extracted from the user's voice.
  • the processor 240 may obtain pre-stored second voice data of another user according to an operation request (S220). The processor 240 determines whether the operation request is for the second voice data of one other user or the second voice data of a plurality of other users, and the plurality of other users stored in the memory 220 Second voice data of a group or any one other user may be loaded.
  • the processor 240 determines whether the first voice data is either a feature region extracted from a voice frequency waveform obtained by the identifier device 100 together with a voice frequency or a text determined based on the voice frequency, Second voice data suitable for it may be acquired.
  • the processor 240 may homomorphically encrypt another user's second voice data stored in the memory 220 using an encryption key in which the same parameters of the homomorphically encrypted first voice data are reflected.
  • the processor 240 may homomorphically encrypt the second voice data of one other user stored in the memory 220 or homomorphically encrypt the second voice data of a plurality of other users stored in the memory 220 according to the operation request.
  • the processor 240 may perform homomorphic encryption using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. .
  • the processor 240 may acquire pre-stored second voice data of another user and may not perform homomorphic encryption.
  • the processor 240 may calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second voice data (S230). Specifically, the processor 240 calculates the distance similarity between the two voice data (eg, Euclidean distance, Minkowski distance, Cosine similarity, The similarity between voice data (speech identification result) may be calculated by calculating using a mean squared difference similarity or a Pearson similarity.
  • the processor 240 may determine a first position corresponding to the homomorphically encrypted first voice data and a second position corresponding to the second voice data.
  • the processor 240 may use a Hexagonal Hierarchical Spatial Index (H3) system to determine a location corresponding to each piece of voice data as a real number value or a location vector.
  • H3 Hexagonal Hierarchical Spatial Index
  • the processor 240 may obtain a value corresponding to the identification result by calculating a distance value between the first and second positions corresponding to the first and second voice data using the aforementioned distance similarity calculation method. there is. For example, when the calculated distance value is included in a predetermined distance range, the processor 240 may calculate a homomorphic encrypted identification result including a result that the two voice data are similar, and the calculated distance value is When it is not included in a predetermined distance range, a homomorphic encrypted identification result including a result indicating that the two voice data are not similar may be calculated.
  • the processor 240 may calculate an encrypted identification result based on the first voice data that is homomorphically encrypted with the second voice data of one or more other users according to the type of operation request.
  • the processor 240 may transmit the homomorphically encrypted identification result to the identifier device 100 (S240).
  • the homomorphic encrypted identification result may be decoded by the identifier device 100, not the voice calculation server 200, and accordingly, the processor 240 calculates a comparison and identification result with a plurality of other users' voices, It can be provided as an identifier device (100).
  • the voice calculation server 200 according to an embodiment of the present invention has been described.
  • the user's unique voice is homomorphically encrypted and decoded while stored in each safe device, and the voice calculation server 200 delivers only the homomorphically encrypted calculation result, thereby minimizing the risk of processing sensitive information.
  • FIGS. 8 and 9 are schematic flowcharts of a data identification method according to an embodiment of the present invention.
  • the identifier device 100 may obtain a user's voice (S10), or in addition extract feature data from the voice (S11), and homomorphically encrypt the voice or feature data (first voice data). It can (S12).
  • the identifier device 100 may transmit parameters for homomorphic encryption calculation to the voice calculation server 200 together with the homomorphic encrypted first voice data.
  • the parameter for the homomorphic encryption operation may be a parameter applied to an encryption key of the homomorphically encrypted first voice data.
  • the voice operation server 200 may homomorphically encrypt previously stored second voice data using parameters (S14), and calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second voice data (S15). ) (that is, it can operate on homomorphic encrypted data). Specifically, the voice calculation server 200 may determine locations corresponding to the homomorphically encrypted voice data, calculate a distance between the locations, perform calculations between the homomorphically encrypted data, and generate a value corresponding to the identification result. can be obtained
  • the voice calculation server 200 may perform a comparison operation between the plaintext second voice data and the homomorphically encrypted first voice data without encrypting the previously stored second voice data.
  • the voice calculation server 200 may transmit the encrypted calculation result to the identifier device 100 (S16), and the identifier device 100 may decrypt the calculation result (S17) and output the decryption result on the display screen. (S18).
  • calculation between homomorphically encrypted voice data may be performed in the identifier device 100 in the same manner as in the voice calculation server 200 .
  • steps S20 to S21 are the same as before, but the identifier device 100 may selectively perform homomorphic encryption on voice or feature data (S22).
  • the identifier device 100 may transmit a data identification request including parameters for homomorphic encryption operation to the voice operation server 200 (S23).
  • the voice operation server 200 may homomorphically encrypt a plurality of pre-stored second voice data using the same parameters as previously received parameters and transmit the same to the identifier device 100 according to the data identification request.
  • the identifier device 100 may calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second voice data ( S25) (that is, homomorphic encrypted data can be calculated).
  • the identifier device 100 may transmit the encrypted calculation result to the voice calculation server 200 (S26), and the voice calculation server 200 may decrypt and transmit the calculation result again (S27).
  • the identifier device 100 may output a decoded result (S28), and the result may be, for example, whether the voice of the user and another user matches or not, and the user's identification information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The present invention relates to a method for identifying an individual using a homomorphically encrypted voice, the method comprising the steps of: acquiring first voice data of a user; homomorphically encrypting the first voice data; transmitting the homomorphically encrypted first voice data to a voice operation server; receiving, from the voice operation server, a homomorphically encrypted identification result calculated on the basis of the homomorphically encrypted first voice data and previously stored second voice data of other users; and decrypting the homomorphically encrypted identification result.

Description

동형 암호화된 음성을 이용한 개인 식별 방법 및 시스템Personal identification method and system using homomorphic encrypted voice
본 발명은 동형 암호화된 음성을 이용한 개인 식별 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for personal identification using homomorphic encrypted voice.
컴퓨터, 노트북, 키오스크(KIOSK) 단말기, 출입 통제 설비, 은행 단말기(ATM), 웹사이트, 인터넷 뱅킹 등을 사용하는 데 있어 사용자의 신원을 증명하기 위해 대표적으로 3가지의 개인 식별 방법이 사용되고 있다.Three types of personal identification methods are typically used to prove the user's identity in using computers, laptops, KIOSK terminals, access control facilities, bank terminals (ATM), websites, and Internet banking.
첫 번째는, 사용자가 인증을 위해 알파벳 및 숫자를 이용한 패스워드나 숫자만으로 구성된 개인 식별 번호를 입력하여, 올바른 사용자인지 식별하는 방법이다. 두 번째는, 사용자의 지문, 홍채, 얼굴, 목소리 등 사용자 고유의 바이오 정보를 인식해 올바른 사용자인지 식별하는 방법이다. 세 번째는, 인터넷 뱅킹의 OTP(One-Time Password) 생성 장치, 사원증과 같이 사용자가 인증만을 위한 추가적인 디바이스를 가지고 다니면서 인증이 요구될 시 디바이스를 사용해 올바른 사용자인지 식별하는 방법이다.First, a user inputs a password using alphabets and numbers or a personal identification number consisting only of numbers for authentication, thereby identifying whether or not the user is a correct user. The second is a method of recognizing the user's unique biometric information such as the user's fingerprint, iris, face, and voice to identify whether the user is a valid user. Third, a user carries an additional device only for authentication, such as an OTP (One-Time Password) generation device of Internet banking and an employee ID card, and uses the device when authentication is requested to identify the correct user.
이 중 첫 번째 방법이 가장 많이 사용되고 있지만, 사용자가 시스템마다 다른 패스워드를 지정하고, 기억하기 힘들기 때문에, 편의성을 위해 많은 사람들이 짧고 공통적인 패스워드를 사용하고 있어, 보안 상 취약하다. The first method is the most used among them, but because users designate different passwords for each system and it is difficult to remember them, many people use short and common passwords for convenience, which is weak in terms of security.
또한, 세 번째 방법은 사용자가 인증을 위해 디바이스를 항상 소지하고 있어야 하며, 소지하는 동안 디바이스를 분실할 경우 이를 재발급하는 과정이 번거롭다는 단점이 있다. In addition, the third method has a disadvantage in that the user must always carry the device for authentication, and the process of reissuing the device is cumbersome if the device is lost while in possession.
발명의 배경이 되는 기술은 본 발명에 대한 이해를 보다 용이하게 하기 위해 작성되었다. 발명의 배경이 되는 기술에 기재된 사항들이 선행 기술로 존재한다고 인정하는 것으로 이해되어서는 안 된다.The background description of the invention has been prepared to facilitate understanding of the present invention. It should not be construed as an admission that matters described in the art that form the background of the invention exist as prior art.
그에 따라, 분실의 우려가 없고, 변경되지 않는 사용자 고유의 바이오 정보를 이용한 두 번째 식별 방법이 안전한 방법이지만, 노트북과 같은 개인 디바이스 외에 공용 출입 설비와 같은 외부 장치에서 사용자를 식별하기 위해서는 식별 장치와 데이터를 구축하기 위한 상당한 시간과 비용이 소모되는 문제가 있다. Accordingly, the second identification method using the user's unique biometric information, which has no risk of loss and does not change, is a safe method. There is a problem in that considerable time and money are consumed to build data.
이에, 공용 공간에서 사용자의 음성을 이용하여 빠르고, 정확하게 사용자를 식별할 수 있는 새로운 방법이 요구된다. Accordingly, a new method capable of quickly and accurately identifying a user using the user's voice in a public space is required.
그 결과, 본 발명의 발명자들은 사용자의 음성을 획득할 수 있는 장치만으로도, 간편하고 빠르게 사용자를 식별할 수 있는 방법 및 이를 수행하는 시스템을 개발하고자 하였다. As a result, the inventors of the present invention tried to develop a method and a system that can easily and quickly identify a user using only a device capable of acquiring the user's voice, and a system for performing the same.
특히, 본 발명의 발명자들은 사용자로부터 획득된 음성 데이터를 동형 암호화한 뒤, 사용자 식별 결과에 대한 동형 암호화한 연산 결과를 얻음으로써, 사용자 고유의 바이오 정보가 노출되지 않도록 방법을 구성하였다. In particular, the inventors of the present invention configured a method so that biometric information unique to the user is not exposed by homomorphically encrypting voice data obtained from the user and then obtaining an operation result obtained by homomorphically encrypting the user identification result.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The tasks of the present invention are not limited to the tasks mentioned above, and other tasks not mentioned will be clearly understood by those skilled in the art from the following description.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 동형 암호화된 음성을 이용한 개인 식별 방법이 제공된다. 상기 방법은, 사용자의 제1 음성 데이터를 획득하는 단계, 상기 제1 음성 데이터를 동형 암호화하는 단계, 음성 연산 서버로 동형 암호화된 제1 음성 데이터를 송신하는 단계, 상기 음성 연산 서버로부터 상기 동형 암호화된 제1 음성 데이터와 미리 저장된 다른 사용자의 제2 음성 데이터를 기초로 계산된 동형 암호화된 식별 결과를 수신하는 단계 및 상기 동형 암호화된 식별 결과를 복호화하는 단계를 포함하도록 구성된다. In order to solve the above problems, a personal identification method using homomorphically encrypted voice according to an embodiment of the present invention is provided. The method includes obtaining first voice data of a user, isomorphically encrypting the first voice data, transmitting the homomorphically encrypted first voice data to a voice operation server, and isomorphically encrypting the first voice data from the voice operation server. and receiving a homomorphically encrypted identification result calculated on the basis of the first voice data and pre-stored second voice data of another user, and decrypting the homomorphically encrypted identification result.
본 발명의 특징에 따르면, 상기 동형 암호화된 제1 음성 데이터를 송신하는 단계는, 상기 제1 음성 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터를 상기 음성 연산 서버로 송신하는 단계를 더 포함할 수 있다. According to a feature of the present invention, the transmitting of the homomorphically encrypted first voice data includes transmitting parameters for a homomorphic encryption operation used to homomorphically encrypt the first voice data to the voice operation server. can include more.
본 발명의 다른 특징에 따르면, 상기 동형 암호화된 식별 결과는, 상기 동형 암호화된 제1 음성 데이터와 상기 파라미터를 기초로 동형 암호화된 제2 음성 데이터를 기초로 계산된 식별 결과일 수 있다. According to another feature of the present invention, the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first voice data and the homomorphically encrypted second voice data based on the parameter.
본 발명의 또 다른 특징에 따르면, 상기 제2 음성 데이터는, 상기 음성 연산 서버에 미리 저장된 복수의 다른 사용자의 음성 데이터이고, 상기 복호화하는 단계는, 상기 복수의 다른 사용자 중에서 상기 사용자와 매칭되는 다른 사용자에 대한 식별 결과를 획득하는 단계를 더 포함할 수 있다. According to another feature of the present invention, the second voice data is voice data of a plurality of other users pre-stored in the voice calculation server, and the decoding step includes other voice data matching the user among the plurality of other users. The method may further include obtaining an identification result for the user.
본 발명의 또 다른 특징에 따르면, 상기 제1 음성 데이터 및 상기 제2 음성 데이터는, 사용자에게 제공된 사용자 식별 문항에 대응하여 획득되는 음성 주파수 및, 상기 음성 주파수의 파형에서 추출된 특징 영역 또는 상기 음성 주파수를 기초로 판단되는 텍스트를 포함할 수 있다. According to another feature of the present invention, the first voice data and the second voice data include a voice frequency obtained in response to a user identification question provided to a user, a feature region extracted from a waveform of the voice frequency, or the voice It may include text determined based on frequency.
본 발명의 또 다른 특징에 따르면, 상기 동형 암호화하는 단계는, 부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 동형 암호화하는 단계일 수 있다. According to another feature of the present invention, the homomorphic encryption step uses any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. It may be a step of performing homomorphic encryption.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 동형 암호화된 음성을 이용한 개인 식별 방법이 제공된다. 상기 방법은, 식별자 디바이스로부터 동형 암호화된 사용자의 제1 음성 데이터를 포함하는 연산 요청을 수신하는 단계, 상기 연산 요청에 따라 미리 저장된 다른 사용자의 제2 음성 데이터를 획득하는 단계, 상기 동형 암호화된 제1 음성 데이터와 상기 제2 음성 데이터를 기초로 동형 암호화된 식별 결과를 산출하는 단계 및 상기 동형 암호화된 식별 결과를 상기 식별자 디바이스로 송신하는 단계를 포함하도록 구성된다. In order to solve the above problems, a personal identification method using homomorphic encrypted voice according to another embodiment of the present invention is provided. The method may include receiving an operation request including homomorphically encrypted first voice data of a user from an identifier device, obtaining pre-stored second voice data of another user according to the operation request, and the homomorphically encrypted second voice data of another user. Calculating a homomorphically encrypted identification result based on the first voice data and the second speech data, and sending the homomorphically encrypted identification result to the identifier device.
본 발명의 특징에 따르면, 상기 연산 요청을 수신하는 단계는, 상기 식별자 디바이스로부터 상기 제1 음성 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터를 수신하는 단계를 더 포함할 수 있다. According to a feature of the present invention, receiving the operation request may further include receiving parameters for a homomorphic encryption operation, used to homomorphically encrypt the first voice data, from the identifier device.
본 발명의 다른 특징에 따르면, 상기 획득하는 단계는, 상기 파라미터를 기초로 상기 제2 음성 데이터를 동형 암호화하는 단계를 더 포함할 수 있다. According to another feature of the present invention, the acquiring may further include performing homomorphic encryption of the second voice data based on the parameter.
본 발명의 또 다른 특징에 따르면, 상기 동형 암호화된 식별 결과를 산출하는 단계는, 상기 동형 암호화된 제1 음성 데이터에 대응되는 제1 위치와 상기 제2 음성 데이터에 대응되는 제2 위치를 결정하는 단계와 상기 식별 결과에 대응되는 상기 제1 위치와 제2 위치 사이의 거리 값을 계산하는 단계를 더 포함할 수 있다. According to another feature of the present invention, the calculating of the homomorphically encrypted identification result may include determining a first location corresponding to the homomorphically encrypted first voice data and a second location corresponding to the second voice data. The method may further include calculating a distance value between the first location and the second location corresponding to the step and the identification result.
본 발명의 또 다른 특징에 따르면, 상기 동형 암호화된 식별 결과를 산출하는 단계는, 상기 수신된 연산 요청의 종류에 따라, 상기 복수의 다른 사용자의 제2 음성 데이터와 상기 동형 암호화된 제1 음성 데이터를 기초로 암호화된 식별 결과를 산출하는 단계일 수 있다. According to another feature of the present invention, the calculating of the homomorphically encrypted identification result may include the second voice data of the plurality of other users and the homomorphically encrypted first voice data according to the type of the received operation request. It may be a step of calculating an encrypted identification result based on.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other embodiment specifics are included in the detailed description and drawings.
본 발명은 공용 공간에서의 사용자 식별을 위해 사용자 고유의 바이오 정보(목소리)를 외부 서버에 공유하지 않고도, 사용자를 식별할 수 있다. 특히, 본 발명은 사용자가 어떠한 사용자인지 식별하거나, 사용자가 다른 사용자와 동일한지 여부를 판단할 수 있다. According to the present invention, a user can be identified without sharing user-specific bio information (voice) with an external server for user identification in a public space. In particular, the present invention can identify a user or determine whether a user is the same as another user.
또한, 본 발명은 사용자의 음성 데이터가 동형 암호화된 상태로 연산되고, 사용자의 음성을 획득한 디바이스에서는 연산 결과만을 복호화하여 확인함으로써, 사용자의 신원을 증명하기 위해 사용되는 사용자의 목소리가 안전하게 보호될 수 있다. In addition, in the present invention, the user's voice data is calculated in a homomorphic encrypted state, and the user's voice used to prove the user's identity is safely protected by decoding and verifying only the calculation result in the device that acquired the user's voice. can
또한, 본 발명은 사용자 식별, 사용자 본인 인증을 위해 별도의 디바이스를 소지하거나, 고유의 식별 번호를 기억할 필요가 없어, 사용자 편의성이 향상될 수 있다. In addition, the present invention does not need to possess a separate device or memorize a unique identification number for user identification and user authentication, so user convenience can be improved.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.Effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present invention.
도 1은 본 발명의 일 실시예에 따른 개인 식별 시스템의 개략도이다.1 is a schematic diagram of a personal identification system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 식별자 디바이스의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of an identifier device according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 식별자 디바이스의 개인 식별 방법에 대한 순서도이다. 3 is a flowchart of a personal identification method of an identifier device according to an embodiment of the present invention.
도 4 및 도 5는 본 발명의 일 실시예에 따른 식별자 디바이스에 출력되는 개인 식별 인터페이스 화면을 설명하기 위한 개략도이다.4 and 5 are schematic diagrams for explaining a personal identification interface screen output to an identifier device according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 동형 암호화 연산을 수행하는 음성 연산 서버의 구성을 나타낸 블록도이다. 6 is a block diagram showing the configuration of a voice calculation server that performs homomorphic encryption calculation according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 음성 연산 서버의 개인 식별 방법에 대한 순서도이다. 7 is a flowchart of a personal identification method of a voice calculation server according to an embodiment of the present invention.
도 8 및 도 9는 본 발명의 일 실시예에 따른 데이터 식별 방법에 대한 개략적인 순서도이다.8 and 9 are schematic flowcharts of a data identification method according to an embodiment of the present invention.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조부호가 사용될 수 있다.Advantages and features of the present invention, and methods of achieving them, will become clear with reference to the detailed description of the following embodiments taken in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and will be implemented in various forms different from each other, only these embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention pertains. It is provided to completely inform the person who has the scope of the invention, and the present invention is only defined by the scope of the claims. In connection with the description of the drawings, like reference numerals may be used for like elements.
본 문서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.In this document, expressions such as "has," "may have," "includes," or "may include" indicate the existence of a corresponding feature (eg, numerical value, function, operation, or component such as a part). , which does not preclude the existence of additional features.
본 문서에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는(3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this document, expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, “A or B,” “at least one of A and B,” or “at least one of A or B” (1) includes at least one A, (2) includes at least one B, Or (3) may refer to all cases including at least one A and at least one B.
본 문서에서 사용된 "제1," "제2," "첫째," 또는 "둘째," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.Expressions such as “first,” “second,” “first,” or “second,” used in this document may modify various elements, regardless of order and/or importance, and refer to one element as It is used only to distinguish it from other components and does not limit the corresponding components. For example, a first user device and a second user device may represent different user devices regardless of order or importance. For example, without departing from the scope of rights described in this document, a first element may be named a second element, and similarly, the second element may also be renamed to the first element.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (e.g., a first component) is "(operatively or communicatively) coupled with/to" another component (e.g., a second component); When referred to as "connected to", it should be understood that the certain component may be directly connected to the other component or connected through another component (eg, a third component). On the other hand, when an element (eg, a first element) is referred to as being “directly connected” or “directly connected” to another element (eg, a second element), the element and the above It may be understood that other components (eg, third components) do not exist between the other components.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~ 를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된)프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.As used in this document, the expression "configured to" means "suitable for," "having the capacity to," depending on the circumstances. ," "designed to," "adapted to," "made to," or "capable of." The term "configured (or set) to" may not necessarily mean only "specifically designed to" hardware. Instead, in some contexts, the phrase "device configured to" may mean that the device is "capable of" in conjunction with other devices or components. For example, the phrase "a processor configured (or configured) to perform A, B, and C" may include a dedicated processor (e.g., embedded processor) to perform those operations, or by executing one or more software programs stored in a memory device. , may mean a general-purpose processor (eg, CPU or application processor) capable of performing corresponding operations.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.Terms used in this document are only used to describe a specific embodiment, and may not be intended to limit the scope of other embodiments. Singular expressions may include plural expressions unless the context clearly dictates otherwise. Terms used herein, including technical or scientific terms, may have the same meaning as commonly understood by a person of ordinary skill in the art described in this document. Among the terms used in this document, terms defined in a general dictionary may be interpreted as having the same or similar meaning as the meaning in the context of the related art, and unless explicitly defined in this document, an ideal or excessively formal meaning. not be interpreted as In some cases, even terms defined in this document cannot be interpreted to exclude the embodiments of this document.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each feature of the various embodiments of the present invention can be partially or entirely combined or combined with each other, and as those skilled in the art can fully understand, various interlocking and driving operations are possible, and each embodiment can be implemented independently of each other. It may be possible to implement together in an association relationship.
본 명세서의 해석의 명확함을 위해, 이하에서는 본 명세서에서 사용되는 용어들을 정의하기로 한다.For clarity of interpretation of this specification, terms used in this specification will be defined below.
도 1은 본 발명의 일 실시예에 따른 개인 식별 시스템의 개략도이다.1 is a schematic diagram of a personal identification system according to an embodiment of the present invention.
도 1을 참조하면, 개인 식별 시스템(1000)은 사용자의 개인 식별 결과를 표시하는 식별자 디바이스(100) 및 사용자의 개인 식별 결과를 산출하는 음성 연산 서버(200)를 포함할 수 있다. Referring to FIG. 1 , the personal identification system 1000 may include an identifier device 100 displaying a user's personal identification result and a voice operation server 200 calculating the user's personal identification result.
개인 식별 시스템(1000)은 사용자의 음성을 이용하여 사용자를 식별할 수 있는 시스템일 수 있다. 본 발명에서, 사용자를 식별한다는 것은 두 명의 사용자 간의 고유의 바이오 정보(사용자의 음성)를 비교하여, 사용자가 어떠한 사용자인지 인식하거나, 사용자가 다른 사용자와 동일한지 여부를 판단하는 것으로 이해될 수 있다. The personal identification system 1000 may be a system capable of identifying a user using the user's voice. In the present invention, identifying a user can be understood as recognizing what kind of user a user is or determining whether a user is the same as another user by comparing unique bio information (user's voice) between two users. .
본 발명에서 사용자의 식별은 사용자와 복수의 사용자 그룹 간에서 수행될 수 있다. 즉, 사용자를 식별하기 위한 비교 대상이 되는 다른 사용자들은 사용자가 속한 그룹(사용자 그룹 1, 2)의 사용자일 수 있다. 예를 들어, 사용자가 속한 회사, 학교, 지역의 DB 서버(미도시)(또는 음성 연산 서버(200))에 등록된 사용자들 또는 사용자가 참여하는 컨퍼런스에 등록된 사용자들이 비교 대상이 되는 다른 사용자가 될 수 있다. 식별자 디바이스(100)는 개인 식별 결과의 정확도를 높이고, 식별 속도를 향상시키기 위해, 개인 식별 서비스를 이용하는 데 사용될 DB 서버를 미리 지정할 수 있다. In the present invention, user identification may be performed between a user and a plurality of user groups. That is, other users who are comparison targets for user identification may be users of groups (user groups 1 and 2) to which the user belongs. For example, users registered in a DB server (not shown) (or voice operation server 200) of a company, school, or region to which the user belongs or users registered in a conference in which the user participates are other users to be compared. can be The identifier device 100 may pre-designate a DB server to be used to use the personal identification service in order to increase accuracy of personal identification results and improve identification speed.
개인 식별 시스템(1000)에서 식별자 디바이스(100)와 음성 연산 서버(200)는 모든 데이터들을 암호화된 상태로 주고 받을 수 있으며, 식별자 디바이스(100)와 음성 연산 서버(200)는 암호화된 상태에서의 데이터 연산이 가능하도록, 데이터들을 동형 암호화 기법을 통해 암호화할 수 있다. In the personal identification system 1000, the identifier device 100 and the voice operation server 200 can send and receive all data in an encrypted state, and the identifier device 100 and the voice operation server 200 in an encrypted state Data can be encrypted through a homomorphic encryption technique to enable data operation.
즉, 개인 식별 시스템(1000)에서 식별자 디바이스(100)와 음성 연산 서버(200) 간에 주고 받는 데이터는 데이터 원본이 아닌, 동형 암호화된 데이터이며, 데이터의 원본은 각자의 디바이스에 저장될 수 있다. That is, data exchanged between the identifier device 100 and the voice operation server 200 in the personal identification system 1000 is homomorphic encrypted data, not the original data, and the original data can be stored in each device.
식별자 디바이스(100) 및 음성 연산 서버(200)는 동형 암호화 데이터를 처리할 수 있는 웹 페이지 또는 어플리케이션/프로그램을 통해 데이터를 동형 암호화할 수 있으며, 동형 암호화된 데이터 간의 연산을 수행할 수 있다. 식별자 디바이스(100) 및 음성 연산 서버(200)는 동형 암호문 간에, 또는 동형 암호문과 평문 간의 연산을 수행할 수 있으며, 다양한 동형 암호 알고리즘을 이용하여 음성 데이터를 동형 암호화할 수 있다. 예를 들어, 식별자 디바이스(100) 및 음성 연산 서버(200)는 부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 음성 데이터를 동형 암호화할 수 있다. The identifier device 100 and the voice operation server 200 may homomorphically encrypt data through a web page or application/program capable of processing homomorphically encrypted data, and may perform calculations between homomorphically encrypted data. The identifier device 100 and the voice operation server 200 may perform operations between homomorphic ciphertext or between homomorphic ciphertext and plaintext, and may homomorphically encrypt voice data using various homomorphic encryption algorithms. For example, the identifier device 100 and the speech operation server 200 use any one encryption method of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. It can be used to encrypt voice data.
식별자 디바이스(100)는 사용자의 음성을 획득하여, 음성 식별 결과를 출력할 수 있는 디바이스로, PC, 태블릿 PC, 스마트 폰, 웨어러블 디바이스 등으로 구현될 수 있다. 여기서, 사용자 고유의 바이오 정보는 사용자의 목소리를 의미할 수 있다. The identifier device 100 is a device capable of obtaining a user's voice and outputting a voice identification result, and may be implemented as a PC, tablet PC, smart phone, wearable device, or the like. Here, the bio information unique to the user may mean the user's voice.
식별자 디바이스(100)는 동형 암호화된 제1 음성 데이터(사용자의 음성)를 토대로 해당 사용자에 대한 식별 결과를 얻을 수 있도록, 음성 연산 서버(200)로 동형 암호화 연산을 위한 파라미터를 송신할 수 있다. 구체적으로, 파라미터는 동형 암호화 연산을 위해 사용되는 함수의 차수(polynomial degree), 동형 암호화 연산을 위해 지정되는 스케일 비트(scale bit), 계수(coefficient)), 음성 데이터의 속성 정보(file format, time, sampling rate, Mel-Frequency Cepstral Coefficient(MFCC))일 수 있다. The identifier device 100 may transmit parameters for homomorphic encryption operation to the voice operation server 200 so as to obtain an identification result for a corresponding user based on the homomorphic encrypted first voice data (user's voice). Specifically, the parameters include the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and attribute information (file format, time) of voice data. , sampling rate, Mel-Frequency Cepstral Coefficient (MFCC)).
식별자 디바이스(100)는 파라미터를 이용하여 동형 암호화 연산된 식별 결과를 수신할 수 있으며, 이를 복호화하여 사용자에 대한 식별 결과를 얻을 수 있다. 예를 들어, 식별자 디바이스(100)가 어떠한 특정 공간에 설치된 경우, 식별자 디바이스(100)는 사용자의 음성을 획득한 뒤, 이를 동형 암호화하여 음성 연산 서버(200)로 송신할 수 있으며, 음성 연산 서버(200)로부터 수신된 동형 암호화된 연산 결과를 복호화하여, 사용자 각각에게 사용자 식별 결과에 따라 해당 사용자가 출입 가능한 사용자로 등록되었는지 여부, 즉 출입 가능 여부를 출력할 수 있다. The identifier device 100 may receive an identification result subjected to a homomorphic encryption operation using a parameter, and may obtain an identification result for a user by decrypting it. For example, when the identifier device 100 is installed in a specific space, the identifier device 100 may acquire the user's voice, homomorphically encrypt it, and transmit the same to the voice operation server 200, and the voice operation server The isomorphically encrypted operation result received from step 200 is decrypted, and whether or not the corresponding user is registered as an accessible user, that is, whether or not the corresponding user is allowed to enter can be output to each user according to the user identification result.
다양한 실시예에서, 식별자 디바이스(100)는 음성 연산 서버(200)로부터 동형 암호화된 연산 결과를 수신하지 않고, 직접 연산을 수행할 수 있다. 이 경우, 식별자 디바이스(100)는 음성 연산 서버(200)로부터 동형 암호화된 복수의 다른 사용자의 제2 음성 데이터를 제공받고, 사용자와 다른 사용자의 동형 암호화된 음성 데이터 연산을 복수 회 수행할 수 있으며, 동형 암호화된 데이터 간의 연산 방법은 후술하도록 한다. In various embodiments, the identifier device 100 may directly perform the calculation without receiving the isomorphically encrypted calculation result from the voice calculation server 200 . In this case, the identifier device 100 may receive second voice data of a plurality of other users that is homomorphically encrypted from the voice calculation server 200, and perform operation of the homomorphically encrypted voice data of the user and the other user a plurality of times, , The operation method between homomorphic encrypted data will be described later.
다양한 실시예에서, 식별자 디바이스(100)는 사용자가 발화하는 무작위의 음성 자체를 동형 암호화할 수도 있지만, 관리자의 설정에 따라, 미리 설정된 사용자 식별 문항을 사용자에게 제공하고, 이에 대응되는 음성(Answer)을 획득하여, 동형 암호화할 수 있다. 이러한 경우, 식별자 디바이스(100)는 사용자 식별 문항에 대응하여 획득되는 음성 주파수 및 음성 주파수의 파형에서 추출된 특징 영역 또는 상기 음성 주파수를 기초로 판단되는 텍스트를 음성 데이터로 활용할 수 있다. 여기서, 음성 주파수의 파형에서 추출된 특징 영역은 성별이나 나이에 따라 서로 다른 특징점이 검출되는 영역을 의미하며, 특징 벡터로 치환될 수 있다. In various embodiments, the identifier device 100 may homomorphically encrypt the random voice itself uttered by the user, but according to the administrator's setting, provides the user with a preset user identification question, and provides a corresponding answer By obtaining, homomorphic encryption can be performed. In this case, the identifier device 100 may utilize a voice frequency obtained in response to a user identification question and a feature region extracted from a voice frequency waveform or text determined based on the voice frequency as voice data. Here, the feature region extracted from the audio frequency waveform means a region in which different feature points are detected according to gender or age, and may be replaced with a feature vector.
음성 연산 서버(200)는 식별자 디바이스(100)의 연산 요청에 따라, 미리 저장된 음성 데이터를 이용하여 동형 암호화된 데이터 간의 연산을 수행할 수 있는 서버로, PC, 태블릿 PC, 스마트 폰, 범용 컴퓨터, 랩탑 및 클라우드 서버 등으로 구현될 수 있다.The voice calculation server 200 is a server capable of performing calculations between homomorphically encrypted data using pre-stored voice data according to the calculation request of the identifier device 100, and includes a PC, tablet PC, smart phone, general-purpose computer, It can be implemented with a laptop and a cloud server.
음성 연산 서버(200)는 복수의 제2 음성 데이터(다른 사용자의 음성)를 저장할 수 있으며, 연산 요청의 유형에 따라 어느 한 명의 사용자 음성 데이터와의 동형 암호화 연산을 수행하거나, 복수의 사용자 음성 데이터를 이용하여 복수 회의 동형 암호화 연산을 수행할 수 있다. The voice calculation server 200 may store a plurality of second voice data (voices of other users), perform a homomorphic encryption operation with one user's voice data, or perform a plurality of user voice data according to the type of operation request. It is possible to perform a plurality of homomorphic encryption operations using
다양한 실시예에서, 음성 연산 서버(200)는 미리 설정된 식별 문항에 대한 사용자들의 음성 데이터(제1 텍스트, 제2 텍스트에 대한 음성 데이터)를 저장할 수 있으며, 각각의 음성 데이터의 음성 주파수 파형에서 추출된 특징 영역 및 텍스트를 음성 데이터로 추가 저장함으로써, 동형 암호화 연산 시 활용할 수 있다. In various embodiments, the voice operation server 200 may store voice data (voice data for the first text and second text) of users for preset identification questions, and extract the voice frequency waveform of each voice data. By additionally storing the converted feature area and text as voice data, it can be used in homomorphic encryption operation.
음성 연산 서버(200)는 동형 암호화된 연산 결과를 산출할 수 있으며, 연산 결과에 대한 복호화는 식별자 디바이스(100)에서 수행될 수 있다. 즉, 음성 연산 서버(200)는 식별자 디바이스(100)로부터 동형 암호화된 제1 음성 데이터를 수신하여 연산을 수행하고, 그 결과 또한 복호화하지 않은 상태로 전달하기 때문에, 음성 연산 서버(200)는 해당 사용자가 미리 저장된 A 사용자와 일치하는지 혹은 복수의 사용자 중 어느 한 명의 사용자인지에 대한 식별 결과를 확인할 수 없다. The voice calculation server 200 may calculate a homomorphic encrypted calculation result, and decryption of the calculation result may be performed by the identifier device 100 . That is, since the voice calculation server 200 receives the homomorphically encrypted first voice data from the identifier device 100, performs calculation, and transmits the result without decryption, the voice calculation server 200 It is not possible to confirm an identification result of whether the user matches user A previously stored or whether the user is one of a plurality of users.
다양한 실시예에서, 음성 연산 서버(200)는 동형 암호화된 제1 음성 데이터와 평문 상태의 제2 음성 데이터를 기초로 연산을 수행하거나, 식별자 디바이스(100)로부터 수신한 파라미터가 반영된 암호화 키를 이용하여 동형 암호화된 제2 음성 데이터를 기초로 연산을 수행할 수 있다. In various embodiments, the voice calculation server 200 performs an operation based on the homomorphically encrypted first voice data and the plaintext second voice data, or uses an encryption key in which parameters received from the identifier device 100 are reflected. Thus, an operation may be performed based on the homomorphically encrypted second voice data.
다양한 실시예에서, 음성 연산 서버(200)는 식별자 디바이스(100)로 데이터 동형 암호화 및 식별 결과 복호화를 위한 웹 페이지 또는 어플리케이션을 제공할 수 있다. In various embodiments, the voice operation server 200 may provide a web page or application for isomorphic data encryption and identification result decryption to the identifier device 100 .
다양한 실시예에서, 식별자 디바이스(100) 및 음성 연산 서버(200)는 동형 암호화를 수행하기 전, 동형 암호화 연산의 부담을 줄이기 위해, 각자의 디바이스에 저장된 음성 데이터를 전처리할 수 있다. 예를 들어, 식별자 디바이스(100) 및 음성 연산 서버(200)는 음성 데이터에 대한 유사도를 계산하기 위해, 음성 데이터를 위치로 변환할 수 있다. 즉, 각각의 음성 데이터를 이산화된 격자(grid) 시스템의 지정된 위치로 변환할 수 있다. In various embodiments, the identifier device 100 and the voice operation server 200 may pre-process voice data stored in their respective devices to reduce the burden of homomorphic encryption calculation before performing homomorphic encryption. For example, the identifier device 100 and the voice calculation server 200 may convert voice data into locations in order to calculate a similarity to the voice data. That is, each voice data can be converted to a designated location of a discretized grid system.
지금까지 본 발명의 일 실시예에 따른 개인 식별 시스템(1000)에 대하여 설명하였다. 본 발명에 따르면, 식별자 디바이스(100)와 음성 연산 서버(200) 간에 주고 받는 데이터는 모두 동형 암호화된 상태인 바, 개인 식별 서비스가 제공되는 동안 사용자의 목소리가 안전하게 보호될 수 있다. So far, the personal identification system 1000 according to an embodiment of the present invention has been described. According to the present invention, all data transmitted and received between the identifier device 100 and the voice operation server 200 are in a homomorphic encrypted state, so the user's voice can be safely protected while the personal identification service is provided.
이하에서는, 개인 식별 서비스를 제공 받는 식별자 디바이스(100)에 대하여 설명하도록 한다. Hereinafter, the identifier device 100 receiving the personal identification service will be described.
도 2는 본 발명의 일 실시예에 따른 식별자 디바이스의 구성을 나타낸 블록도이다.2 is a block diagram showing the configuration of an identifier device according to an embodiment of the present invention.
도 2를 참조하면, 식별자 디바이스(100)는 메모리 인터페이스(110), 하나 이상의 프로세서(120) 및 주변 인터페이스(130)를 포함할 수 있다. 식별자 디바이스(100) 내의 다양한 컴포넌트들은 하나 이상의 통신 버스 또는 신호 라인에 의해 연결될 수 있다.Referring to FIG. 2 , the identifier device 100 may include a memory interface 110 , one or more processors 120 and a peripheral interface 130 . The various components within identifier device 100 may be connected by one or more communication buses or signal lines.
메모리 인터페이스(110)는 메모리(150)에 연결되어 프로세서(120)로 다양한 데이터를 전할 수 있다. 여기서, 메모리(150)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The memory interface 110 may be connected to the memory 150 and transfer various data to the processor 120 . Here, the memory 150 is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM, network storage storage, cloud , It may include at least one type of storage medium among blockchain databases.
다양한 실시예에서, 메모리(150)는 사용자에게 제공될 복수의 사용자 식별 문항, 사용자의 음성을 획득하고 개인 식별 결과를 출력하기 위한 개인 식별 인터페이스 화면을 구성하는 데이터, 전처리된 제1 음성 데이터, 제1 음성 데이터를 동형 암호화 가능한 형태로 변환하기 위한 함수, 동형 암호화를 위한 알고리즘, 동형 암호화된 제1 음성 데이터, 동형 암호화 연산을 위한 파라미터 등을 저장할 수 있다. In various embodiments, the memory 150 may include a plurality of user identification questions to be provided to a user, data constituting a personal identification interface screen for acquiring a user's voice and outputting a personal identification result, preprocessed first voice data, and a first voice data. A function for converting 1 voice data into a form capable of homomorphic encryption, an algorithm for homomorphic encryption, homomorphically encrypted first voice data, and parameters for homomorphic encryption operation may be stored.
다양한 실시예에서, 메모리(150)는 운영 체제(151), 통신 모듈(152), 그래픽 사용자 인터페이스 모듈(GUI)(153), 센서 처리 모듈(154), 전화 모듈(155) 및 애플리케이션 모듈(156) 중 적어도 하나 이상을 저장할 수 있다. 구체적으로, 운영 체제(151)는 기본 시스템 서비스를 처리하기 위한 명령어 및 하드웨어 작업들을 수행하기 위한 명령어를 포함할 수 있다. 통신 모듈(152)은 다른 하나 이상의 디바이스, 컴퓨터 및 서버 중 적어도 하나와 통신할 수 있다. 그래픽 사용자 인터페이스 모듈(GUI)(153)은 그래픽 사용자 인터페이스를 처리할 수 있다. 센서 처리 모듈(154)은 센서 관련 기능(예를 들어, 하나 이상의 마이크(192)를 통해 수신된 음성 입력을 처리함)을 처리할 수 있다. 전화 모듈(155)은 전화 관련 기능을 처리할 수 있다. 애플리케이션 모듈(156)은 사용자 애플리케이션의 다양한 기능들, 예컨대 전자 메시징, 웹 브라우징, 미디어 처리, 탐색, 이미징, 기타 프로세스 기능을 수행할 수 있다. 아울러, 식별자 디바이스(100)는 메모리(150)에 어느 한 종류의 서비스와 연관된 하나 이상의 소프트웨어 애플리케이션(156-1, 156-2)(예. 개인 식별 서비스 어플리케이션)을 저장할 수 있다.In various embodiments, memory 150 includes operating system 151 , communication module 152 , graphical user interface module (GUI) 153 , sensor processing module 154 , telephony module 155 , and application module 156 . ) At least one or more of them may be stored. Specifically, the operating system 151 may include instructions for processing basic system services and instructions for performing hardware tasks. The communication module 152 may communicate with at least one of one or more other devices, computers, and servers. A graphical user interface module (GUI) 153 may process a graphical user interface. Sensor processing module 154 may process sensor-related functions (eg, process voice input received through one or more microphones 192 ). The phone module 155 may process phone-related functions. The application module 156 may perform various functions of a user application, such as electronic messaging, web browsing, media processing, navigation, imaging, and other processing functions. In addition, the identifier device 100 may store one or more software applications 156 - 1 and 156 - 2 (eg, a personal identification service application) associated with any one type of service in the memory 150 .
다양한 실시예에서, 메모리(150)는 디지털 어시스턴트 클라이언트 모듈(157)(이하, DA 클라이언트 모듈)을 저장할 수 있으며, 그에 따라 디지털 어시스턴트의 클라이언트 측의 기능을 수행하기 위한 명령어 및 다양한 사용자 데이터(158)(예. 사용자 맞춤형 어휘 데이터, 선호도 데이터, 사용자의 전자 주소록 등과 같은 기타 데이터)를 저장할 수 있다. In various embodiments, the memory 150 may store a digital assistant client module 157 (hereinafter referred to as a DA client module), thereby storing instructions and various user data 158 for performing client-side functions of the digital assistant. (eg user-customized vocabulary data, preference data, other data such as the user's electronic address book, etc.).
한편, DA 클라이언트 모듈(157)은 식별자 디바이스(100)에 구비된 다양한 사용자 인터페이스(예. I/O 서브시스템(140))를 통해 사용자의 음성 입력, 텍스트 입력, 터치 입력 및/또는 제스처 입력을 획득할 수 있다. Meanwhile, the DA client module 157 receives a user's voice input, text input, touch input, and/or gesture input through various user interfaces (eg, the I/O subsystem 140) provided in the identifier device 100. can be obtained
또한, DA 클라이언트 모듈(157)은 시청각적, 촉각적 형태의 데이터를 출력할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 음성, 소리, 알림, 텍스트 메시지, 메뉴, 그래픽, 비디오, 애니메이션 및 진동 중 적어도 둘 하나 이상의 조합으로 이루어진 데이터를 출력할 수 있다. 아울러, DA 클라이언트 모듈(157)은 통신 서브시스템(180)을 이용하여 디지털 어시스턴트 서버(미도시)와 통신할 수 있다.In addition, the DA client module 157 may output audio-visual and tactile data. For example, the DA client module 157 may output data consisting of a combination of at least two of voice, sound, notification, text message, menu, graphic, video, animation, and vibration. In addition, the DA client module 157 may communicate with a digital assistant server (not shown) using the communication subsystem 180 .
다양한 실시예에서, DA 클라이언트 모듈(157)은 사용자 입력과 연관된 상황(context)을 구성하기 위하여 다양한 센서, 서브시스템 및 주변 디바이스로부터 식별자 디바이스(100)의 주변 환경에 대한 추가 정보를 수집할 수 있다. 예를 들어, DA 클라이언트 모듈(157)은 사용자 입력과 함께 상황 정보를 디지털 어시스턴트 서버에 제공하여 사용자의 의도를 추론할 수 있다. 여기서, 사용자 입력에 동반될 수 있는 상황 정보는 센서 정보, 예를 들어, 광(lighting), 주변 소음, 주변 온도, 주변 환경의 이미지, 비디오 등을 포함할 수 있다. 다른 예를 들어, 상황 정보는 식별자 디바이스(100)의 물리적 상태(예. 디바이스 배향, 디바이스 위치, 디바이스 온도, 전력 레벨, 속도, 가속도, 모션 패턴, 셀룰러 신호 강도 등)을 포함할 수 있다. 또 다른 예를 들어, 상황 정보는 식별자 디바이스(100)의 소프트웨어 상태에 관련된 정보(예. 식별자 디바이스(100)에서 실행 중인 프로세스, 설치된 프로그램, 과거 및 현재 네트워크 활동성, 백그라운드 서비스, 오류 로그, 리소스 사용 등)를 포함할 수 있다. In various embodiments, DA client module 157 may collect additional information about the surrounding environment of identifier device 100 from various sensors, subsystems, and peripheral devices to construct a context associated with user input. . For example, the DA client module 157 may infer the user's intention by providing context information together with the user's input to the digital assistant server. Here, the situational information that may accompany the user input may include sensor information, eg, lighting, ambient noise, ambient temperature, image of the surrounding environment, video, and the like. For another example, the contextual information may include the physical state of the identifier device 100 (eg, device orientation, device location, device temperature, power level, speed, acceleration, motion pattern, cellular signal strength, etc.). For another example, the context information is information related to the state of the software of the identifier device 100 (eg, processes running on the identifier device 100, installed programs, past and present network activity, background services, error logs, resource usage). etc.) may be included.
다양한 실시예에서, 메모리(150)는 추가 또는 삭제된 명령어를 포함할 수 있으며, 나아가 식별자 디바이스(100)도 도 2에 도시된 구성 외에 추가 구성을 포함하거나, 일부 구성을 제외할 수도 있다. In various embodiments, the memory 150 may include added or deleted commands, and the identifier device 100 may also include additional components other than those shown in FIG. 2 or may exclude some components.
프로세서(120)는 식별자 디바이스(100)의 전반적인 동작을 제어할 수 있으며, 메모리(150)에 저장된 어플리케이션 또는 프로그램을 구동하여 개인 식별 서비스용 인터페이스를 구현하기 위한 다양한 명령들을 수행할 수 있다. The processor 120 may control the overall operation of the identifier device 100, and may execute various commands for implementing an interface for personal identification service by driving an application or program stored in the memory 150.
프로세서(120)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(120)는 NPU(Neural Processing Unit)과 같이 기계 학습을 수행하는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다. The processor 120 may correspond to an arithmetic device such as a central processing unit (CPU) or an application processor (AP). In addition, the processor 120 may be implemented in the form of an integrated chip (IC) such as a System on Chip (SoC) in which various computing devices performing machine learning, such as a Neural Processing Unit (NPU), are integrated. .
다양한 실시예에서, 프로세서(120)는 음성을 동형 암호화하고, 이를 기초로 동형 암호화된 사용자의 식별 결과를 획득할 수 있으며, 이하 도 3 내지 5를 참조하여 설명하도록 한다. In various embodiments, the processor 120 may homomorphically encrypt voice and obtain an identification result of a homomorphically encrypted user based on the homomorphic encryption, which will be described below with reference to FIGS. 3 to 5 .
도 3은 본 발명의 일 실시예에 따른 식별자 디바이스의 개인 식별 방법에 대한 순서도이고, 도 4 및 도 5는 본 발명의 일 실시예에 따른 식별자 디바이스에 출력되는 개인 식별 인터페이스 화면을 설명하기 위한 개략도이다. 3 is a flowchart of a personal identification method of an identifier device according to an embodiment of the present invention, and FIGS. 4 and 5 are schematic diagrams for explaining a personal identification interface screen output to an identifier device according to an embodiment of the present invention. am.
도 3을 참조하면, 프로세서(120)는 사용자의 제1 음성 데이터를 획득할 수 있다(S110). 구체적으로, 프로세서(120)는 터치 스크린(153)을 통해 사용자에게 특정 명령을 제공하고, 마이크(192)를 통해 촬영된 사용자의 음성을 획득할 수 있다. Referring to FIG. 3 , the processor 120 may acquire first voice data of the user (S110). In detail, the processor 120 may provide a user with a specific command through the touch screen 153 and obtain a captured user's voice through the microphone 192 .
관련하여, 도 4를 참조하면, 식별자 디바이스(100)의 프로세서(120)는 (a)와 같이, 사용자의 제1 음성 데이터를 획득하기 위한 인터페이스 화면을 제공할 수 있다. 구체적으로, 인터페이스 화면에는 프로세서(120)가 제공한 임의의 문장(13)과 함께 사용자의 제1 음성 데이터 획득을 위한 사용자 안내 문구(11)가 포함될 수 있다. 아울러, 인터페이스 화면에는 사용자의 제1 음성 데이터를 획득하는 경우, 음성을 획득하고 있음을 알리는 이미지가 표시될 수 있으며, 이 외에도, 인터페이스 화면에는 식별자 디바이스(100)가 배치된 위치 정보와 사용자 개인을 식별하는 시간 정보가 함께 표시될 수 있다. In this regard, referring to FIG. 4 , the processor 120 of the identifier device 100 may provide an interface screen for acquiring the user's first voice data as shown in (a). Specifically, the user guide phrase 11 for acquiring the user's first voice data may be included in the interface screen along with the arbitrary sentence 13 provided by the processor 120 . In addition, when the user's first voice data is acquired, an image indicating that the voice is being obtained may be displayed on the interface screen, and in addition, location information where the identifier device 100 is placed and the user's individual may be displayed on the interface screen. Identifying time information may be displayed together.
또한, 프로세서(120)는 (b)와 같이, 메모리(150)에 저장된 문항에 대응되는 사용자의 제1 음성 데이터를 획득하기 위한 인터페이스 화면을 제공할 수 있다. 구체적으로, 인터페이스 화면에는 미리 저장된 사용자 식별 문항(14)과 함께 사용자의 제1 음성 데이터 획득을 위한 사용자 안내 문구(12)가 포함될 수 있다.Also, the processor 120 may provide an interface screen for acquiring the user's first voice data corresponding to the question stored in the memory 150, as shown in (b). Specifically, the user guidance phrase 12 for acquiring the user's first voice data may be included in the interface screen together with the user identification questions 14 stored in advance.
다양한 실시예에서, 프로세서(120)는 음성 전체를 동형 암호화할 수도 있지만, 관리자의 설정에 따라, 사용자에게 제공된 사용자 식별 문항에 대응하여 획득되는 음성 주파수 및, 음성 주파수의 파형에서 추출된 특징 영역 또는 음성 주파수를 기초로 판단되는 텍스트를 동형 암호화할 수 있다. 이를 위해, 프로세서(120)는 텍스트 추출 모델을 이용할 수 있다. 여기서, 텍스트 추출 모델은 음성 주파수를 입력하여 텍스트를 출력하도록 학습된 모델일 수 있다. In various embodiments, the processor 120 may homomorphically encrypt the entire voice, but according to the manager's setting, the voice frequency obtained in response to the user identification question provided to the user and the feature region extracted from the waveform of the voice frequency or Homomorphic encryption may be performed on text determined based on voice frequencies. To this end, the processor 120 may use a text extraction model. Here, the text extraction model may be a model learned to output text by inputting voice frequencies.
즉, 프로세서(120)는 마이크(192)를 통해 획득된 음성 주파수와 함께 음성 주파수의 파형에서 추출된 특징 영역 및 음성 주파수를 기초로 판단되는 텍스트 중 어느 하나를 개인 식별이 필요한 사용자의 제1 음성 데이터로 사용할 수 있다. That is, the processor 120 converts any one of the voice frequency obtained through the microphone 192 and the text determined based on the feature region extracted from the waveform of the voice frequency and the voice frequency into the first voice of the user requiring personal identification. can be used as data.
다양한 실시예에서, 프로세서(120)는 동형 암호화 연산의 부담을 줄이기 위해, 사용자의 제1 음성 데이터를 전처리할 수 있다. 예를 들어, 프로세서(120)는 제1 음성 데이터와 비교 대상인 제2 음성 데이터와의 유사도를 계산하기 위해, 음성 데이터를 이산화된 격자(grid) 시스템의 지정된 위치로 변환하기 위한, 미리 저장된 함수를 이용하여 위치로 변환할 수 있다. In various embodiments, the processor 120 may pre-process the user's first voice data in order to reduce the burden of homomorphic encryption calculation. For example, the processor 120 uses a pre-stored function for converting the voice data to a designated location of a discretized grid system in order to calculate a similarity between the first voice data and the second voice data to be compared. You can use it to convert to position.
다시 도 3을 참조하면, S110 단계 이후, 프로세서(120)는 제1 음성 데이터를 동형 암호화 할 수 있다(S120). 구체적으로, 프로세서(120)는 동형 암호화 연산을 위한 파라미터가 반영된 암호화 키를 이용하여 제1 음성 데이터를 동형 암호화할 수 있다. Referring back to FIG. 3 , after step S110, the processor 120 may homomorphically encrypt the first voice data (S120). In detail, the processor 120 may homomorphically encrypt the first voice data using an encryption key in which a parameter for a homomorphic encryption operation is reflected.
다양한 실시예에서, 프로세서(120)는 부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 제1 음성 데이터를 동형 암호화할 수 있다. In various embodiments, the processor 120 converts the first voice data using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. Homomorphic encryption is possible.
S120 단계 이후, 프로세서(120)는 통신 모듈(152)을 통해 동형 암호화된 제1 음성 데이터를 음성 연산 서버(200)로 송신할 수 있다(S130). 프로세서(120)는 동형 암호화된 제1 음성 데이터와 제1 음성 데이터를 동형 암호화하는 과정에서 사용된 파라미터를 포함하는 연산 요청을 음성 연산 서버(200)로 송신할 수 있다. 예를 들어, 파라미터는 동형 암호화 연산을 위해 사용되는 함수의 차수(polynomial degree), 동형 암호화 연산을 위해 지정되는 스케일 비트(scale bit), 계수(coefficient)), 음성 데이터의 속성 정보(file format, time, sampling rate, Mel-Frequency Cepstral Coefficient(MFCC))일 수 있다. After step S120, the processor 120 may transmit the homomorphically encrypted first voice data to the voice operation server 200 through the communication module 152 (S130). The processor 120 may transmit to the voice calculation server 200 an operation request including the homomorphically encrypted first voice data and parameters used in the process of isomorphically encrypting the first voice data. For example, the parameters include the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and attribute information (file format, time, sampling rate, Mel-Frequency Cepstral Coefficient (MFCC)).
S130 단계 이후, 프로세서(120)는 음성 연산 서버(200)로부터 동형 암호화된 제1 음성 데이터와 미리 저장된 다른 사용자의 제2 음성 데이터를 기초로 계산된 동형 암호화된 식별 결과를 수신할 수 있다(S140). 여기서, 동형 암호화된 식별 결과는, 동형 암호화된 제1 음성 데이터와 S130 단계에서 제공된 파라미터를 기초로 동형 암호화된 제2 음성 데이터를 기초로 계산된 식별 결과일 수 있다. After step S130, the processor 120 may receive a homomorphically encrypted identification result calculated based on the homomorphically encrypted first voice data and pre-stored second voice data of another user from the voice operation server 200 (S140). ). Here, the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first voice data and the homomorphically encrypted second voice data based on the parameters provided in step S130.
즉, 동일한 파라미터가 반영된 암호화 키를 이용하여 제1 및 제2 음성 데이터가 동형 암호화된 상태로 연산될 수 있으며, 그에 따라, 이 후 음성 연산 서버(200)에 의해 연산된 식별 결과가 올바르게 복호화될 수 있다. That is, the first and second voice data can be operated in a homomorphic encrypted state using an encryption key in which the same parameter is reflected, and accordingly, the identification result calculated by the voice calculation server 200 can be correctly decoded. can
한편, 프로세서(120)는 연산 요청에 따라 미리 저장된 한 명의 다른 사용자의 음성 데이터와의 식별 결과를 수신하거나, 복수의 다른 사용자 각각의 음성 데이터와의 식별 결과를 수신할 수 있다. Meanwhile, the processor 120 may receive a pre-stored identification result with voice data of one other user or receive a result of identification with voice data of a plurality of other users according to an operation request.
S140 단계 이후, 프로세서(120)는 동형 암호화된 식별 결과를 복호화할 수 있다(S150). 구체적으로, 프로세서(120)는 연산 요청에 따라 서로 다른 유형의 복호화된 결과를 터치 스크린(143)에 출력할 수 있다. 예를 들어, 프로세서(120)는 사용자가 지정된 다른 사용자와 일치하는지에 대한 식별 결과, 혹은 복수의 사용자 중 어느 한 명의 사용자인지에 대한 식별 결과를 확인할 수 있다. After step S140, the processor 120 may decrypt the homomorphically encrypted identification result (S150). Specifically, the processor 120 may output decoded results of different types to the touch screen 143 according to an operation request. For example, the processor 120 may check an identification result of whether the user matches another designated user or an identification result of whether the user is one of a plurality of users.
관련하여, 도 5를 참조하면, 식별자 디바이스(100)의 프로세서(120)는 (a)와 같이 사용자가 복수의 출입 가능한 사용자 중 어느 하나의 사용자와 일치하는지, 일치하지 않는지에 따라 출입 가능 여부를 나타내는 알림(15)을 제공할 수 있다. In this regard, referring to FIG. 5 , the processor 120 of the identifier device 100 determines whether or not the user is allowed access according to whether the user matches or does not match any one of the plurality of access users, as shown in (a). It is possible to provide a notification 15 indicating.
또한, 프로세서(120)는 (b)와 같이, 사용자가 어떠한 사용자인지 인식된 결과를 나타내는 알림(16)을 제공할 수도 있다. In addition, the processor 120 may provide a notification 16 indicating a result of recognizing the type of user as shown in (b).
다시 도 2를 참조하면, 주변 인터페이스(130)는 다양한 센서, 서브 시스템 및 주변 디바이스와 연결되어, 식별자 디바이스(100)가 다양한 기능을 수행할 수 있도록 데이터를 제공해 줄 수 있다. 여기서, 식별자 디바이스(100)가 어떠한 기능을 수행한다는 것은 프로세서(120)에 의해 수행되는 것으로 이해될 수 있다. Referring back to FIG. 2 , the peripheral interface 130 may be connected to various sensors, subsystems, and peripheral devices to provide data so that the identifier device 100 can perform various functions. Here, that the identifier device 100 performs a certain function may be understood as being performed by the processor 120 .
주변 인터페이스(130)는 모션 센서(160), 조명 센서(광 센서)(161) 및 근접 센서(162)로부터 데이터를 제공받을 수 있으며, 이를 통해, 식별자 디바이스(100)는 배향, 광, 및 근접 감지 기능 등을 수행할 수 있다. 다른 예를 들어, 주변 인터페이스(130)는 기타 센서들(163)(포지셔닝 시스템-GPS 수신기, 온도 센서, 생체인식 센서)로부터 데이터를 제공받을 수 있으며, 이를 통해 식별자 디바이스(100)가 기타 센서들(163)과 관련된 기능들을 수행할 수 있다. Perimeter interface 130 may receive data from motion sensor 160, light sensor (light sensor) 161, and proximity sensor 162, through which identifier device 100 may receive orientation, light, and proximity. sensing function, etc. As another example, the peripheral interface 130 may receive data from other sensors 163 (positioning system-GPS receiver, temperature sensor, biometric sensor) through which the identifier device 100 may receive data from the other sensors. It can perform functions related to (163).
다양한 실시예에서, 식별자 디바이스(100)는 주변 인터페이스(130)와 연결된 카메라 서브시스템(170) 및 이와 연결된 광학 센서(171)를 포함할 수 있으며, 이를 통해 식별자 디바이스(100)는 사진 촬영 및 비디오 클립 녹화 등의 다양한 촬영 기능을 수행할 수 있다. In various embodiments, the identifier device 100 may include a camera subsystem 170 coupled to the peripheral interface 130 and an optical sensor 171 coupled thereto, through which the identifier device 100 may take pictures and video Various shooting functions such as clip recording can be performed.
다양한 실시예에서, 식별자 디바이스(100)는 주변 인터페이스(130)와 연결된 통신 서브 시스템(180)을 포함할 수 있다. 통신 서브 시스템(180)은 하나 이상의 유/무선 네트워크로 구성되며, 다양한 통신 포트, 무선 주파수 송수신기, 광학 송수신기를 포함할 수 있다.In various embodiments, identifier device 100 may include a communication subsystem 180 coupled with peripheral interface 130 . The communication subsystem 180 is composed of one or more wired/wireless networks, and may include various communication ports, radio frequency transceivers, and optical transceivers.
다양한 실시예에서, 식별자 디바이스(100)는 주변 인터페이스(130)와 연결된 오디오 서브 시스템(190)을 포함하며, 이러한 오디오 서브 시스템(190)은 하나 이상의 스피커(191) 및 하나 이상의 마이크(192)를 포함함으로써, 식별자 디바이스(100)는 음성 작동형 기능, 예컨대 음성 인식, 음성 복제, 디지털 녹음, 및 전화 기능 등을 수행할 수 있다.In various embodiments, identifier device 100 includes an audio subsystem 190 coupled to peripheral interface 130, which audio subsystem 190 includes one or more speakers 191 and one or more microphones 192. By including, the identifier device 100 can perform voice-activated functions, such as voice recognition, voice replication, digital recording, and telephony functions.
다양한 실시예에서, 식별자 디바이스(100)는 주변 인터페이스(130)와 연결된 I/O 서브시스템(140)을 포함할 수 있다. 예를 들어, I/O 서브시스템(140)은 터치 스크린 제어기(141)를 통해 식별자 디바이스(100)에 포함된 터치 스크린(143)을 제어할 수 있다. 예를 들어, 터치 스크린 제어기(141)는 정전용량형, 저항형, 적외형, 표면 탄성파 기술, 근접 센서 어레이 등과 같은 복수의 터치 감지 기술 중 어느 하나의 기술을 사용하여 사용자의 접촉 및 움직임 또는 접촉 및 움직임의 중단을 검출할 수 있다. 다른 예를 들어, I/O 서브시스템(140)은 기타 입력 제어기(들)(142)를 통해 식별자 디바이스(100)에 포함된 기타 입력/제어 디바이스(144)를 제어할 수 있다. 일 예로서, 기타 입력 제어기(들)(142)은 하나 이상의 버튼, 로커 스위치(rocker switches), 썸 휠(thumb-wheel), 적외선 포트, USB 포트 및 스타일러스 등과 같은 포인터 디바이스를 제어할 수 있다.In various embodiments, identifier device 100 may include I/O subsystem 140 coupled with peripheral interface 130 . For example, the I/O subsystem 140 may control the touch screen 143 included in the identifier device 100 through the touch screen controller 141 . For example, the touch screen controller 141 uses any one of a plurality of touch sensing technologies such as capacitive, resistive, infrared, surface acoustic wave technology, proximity sensor array, and the like to provide a user's touch and motion or touch. and cessation of movement. For another example, I/O subsystem 140 may control other input/control devices 144 included in identifier device 100 via other input controller(s) 142 . As an example, other input controller(s) 142 may control one or more buttons, rocker switches, thumb-wheels, infrared ports, USB ports, and pointer devices such as styluses and the like.
지금까지 본 발명의 일 실시예에 따른 식별자 디바이스(100)에 대하여 설명하였다. 본 발명에 따르면, 식별자 디바이스(100)는 자신이 가지고 있는 음성 데이터와 다른 사용자의 음성 데이터를 비교하기 위해, 음성 연산 서버(200)로 동형 암호화된 음성 데이터를 이용한 연산 요청을 할 수 있으며, 그에 따라, 사용자의 개인 정보는 보호하면서도 사용자에 대한 신원은 빠르게 확인할 수 있다. So far, the identifier device 100 according to an embodiment of the present invention has been described. According to the present invention, the identifier device 100 may request an operation using homomorphically encrypted voice data to the voice calculation server 200 in order to compare its voice data with voice data of another user, and accordingly Accordingly, the identity of the user can be quickly confirmed while protecting the user's personal information.
이하에서는 개인 식별 서비스를 제공하는 음성 연산 서버(200)에 대하여 설명하도록 한다. Hereinafter, the voice calculation server 200 providing a personal identification service will be described.
도 6은 본 발명의 일 실시예에 따른 동형 암호화 연산을 수행하는 음성 연산 서버의 구성을 나타낸 블록도이다. 6 is a block diagram showing the configuration of a voice calculation server that performs homomorphic encryption calculation according to an embodiment of the present invention.
도 6을 참조하면, 음성 연산 서버(200)는 통신 인터페이스(210), 메모리(220), I/O 인터페이스(230) 및 프로세서(240)를 포함할 수 있으며, 각 구성은 하나 이상의 통신 버스 또는 신호 라인을 통해 서로 통신할 수 있다. Referring to FIG. 6, the voice operation server 200 may include a communication interface 210, a memory 220, an I/O interface 230, and a processor 240, each of which includes one or more communication buses or They can communicate with each other through signal lines.
통신 인터페이스(210)는 유/무선 통신 네트워크를 통해 복수의 식별자 디바이스(100)와 연결되어 데이터를 주고받을 수 있다. 예를 들어, 통신 인터페이스(210)는 식별자 디바이스(100)로부터 동형 암호화된 제1 음성 데이터, 동형 암호화 연산을 위한 파라미터를 포함하는 연산 요청을 수신할 수 있으며, 식별자 디바이스(100)로 동형 암호화된 식별 결과를 송신할 수 있다. The communication interface 210 may be connected to a plurality of identifier devices 100 through a wired/wireless communication network to exchange data. For example, the communication interface 210 may receive an operation request including homomorphically encrypted first voice data and parameters for a homomorphic encryption operation from the identifier device 100, and may receive the homomorphically encrypted first voice data from the identifier device 100. Identification results can be transmitted.
한편, 이러한 데이터의 송수신을 가능하게 하는 통신 인터페이스(210)는 통신 포드(211) 및 무선 회로(212)를 포함하며, 여기 유선 통신 포트(211)는 하나 이상의 유선 인터페이스, 예를 들어, 이더넷, 범용 직렬 버스(USB), 파이어와이어 등을 포함할 수 있다. 또한, 무선 회로(212)는 RF 신호 또는 광학 신호를 통해 외부 디바이스와 데이터를 송수신할 수 있다. 아울러, 무선 통신은 복수의 통신 표준, 프로토콜 및 기술, 예컨대 GSM, EDGE, CDMA, TDMA, 블루투스, Wi-Fi, VoIP, Wi-MAX, 또는 임의의 기타 적합한 통신 프로토콜 중 적어도 하나를 사용할 수 있다. On the other hand, the communication interface 210 enabling the transmission and reception of such data includes a communication pod 211 and a wireless circuit 212, where the wired communication port 211 is one or more wired interfaces, for example, Ethernet, This may include Universal Serial Bus (USB), FireWire, and the like. Also, the wireless circuit 212 may transmit/receive data with an external device through an RF signal or an optical signal. In addition, wireless communication may use at least one of a plurality of communication standards, protocols and technologies, such as GSM, EDGE, CDMA, TDMA, Bluetooth, Wi-Fi, VoIP, Wi-MAX, or any other suitable communication protocol.
메모리(220)는 음성 연산 서버(200)에서 사용되는 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(220)는 복수의 사용자에 대한 제2 음성 데이터(제1, 제2 텍스트(복수의 질문)에 대한 음성 주파수, 음성 주파수 파형에서 추출된 특징 영역, 제2 음성 데이터를 동형 암호화 가능한 형태로 변환하기 위한 함수, 동형 암호화를 위한 알고리즘 등을 저장할 수 있다. The memory 220 may store various data used in the voice calculation server 200 . For example, the memory 220 stores second voice data (voice frequencies for first and second texts (a plurality of questions) of a plurality of users, feature regions extracted from voice frequency waveforms, and second voice data in isomorphism). Functions for converting into an encryptable form, algorithms for homomorphic encryption, etc. can be stored.
다양한 실시예에서, 메모리(220)는 각종 데이터, 명령 및 정보를 저장할 수 있는 휘발성 또는 비휘발성 기록 매체를 포함할 수 있다. 예를 들어, 메모리(220)는 플래시 메모리 타입, 하드디스크 타입, 멀티미디어 카드 마이크로 타입, 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램, SRAM, 롬, EEPROM, PROM, 네트워크 저장 스토리지, 클라우드, 블록체인 데이터베이스 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.In various embodiments, the memory 220 may include volatile or non-volatile recording media capable of storing various data, commands, and information. For example, the memory 220 may be a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM, SRAM, ROM, EEPROM, PROM, network storage storage , Cloud, and a blockchain database may include at least one type of storage medium.
다양한 실시예에서, 메모리(220)는 운영 체제(221), 통신 모듈(222), 사용자 인터페이스 모듈(223) 및 하나 이상의 애플리케이션(224) 중 적어도 하나의 구성을 저장할 수 있다. In various embodiments, the memory 220 may store configurations of at least one of the operating system 221 , the communication module 222 , the user interface module 223 , and one or more applications 224 .
운영 체제(221)(예. LINUX, UNIX, MAC OS, WINDOWS, VxWorks 등의 내장형 운영 체제)는 일반적인 시스템 작업(예. 메모리 관리, 저장 디바이스 제어, 전력 관리 등)를 제어하고 관리하기 위한 다양한 소프트웨어 컴포넌트 및 드라이버를 포함할 수 있으며, 다양한 하드웨어, 펌웨어, 및 소프트웨어 컴포넌트 간의 통신을 지원할 수 있다.Operating system 221 (e.g. embedded operating systems such as LINUX, UNIX, MAC OS, WINDOWS, VxWorks, etc.) is a variety of software for controlling and managing general system tasks (e.g. memory management, storage device control, power management, etc.) components and drivers, and may support communication between various hardware, firmware, and software components.
통신 모듈(223)은 통신 인터페이스(210)를 통해 다른 디바이스와 통신을 지원할 수 있다. 통신 모듈(220)은 통신 인터페이스(210)의 유선 통신 포트(211) 또는 무선 회로(212)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 구성 요소들을 포함할 수 있다.The communication module 223 may support communication with other devices through the communication interface 210 . The communication module 220 may include various software components for processing data received by the wired communication port 211 or the wireless circuit 212 of the communication interface 210 .
사용자 인터페이스 모듈(223)은 I/O 인터페이스(230)를 통해 키보드, 터치 스크린, 마이크 등으로부터 사용자의 요청 또는 입력을 수신하고, 디스플레이 상에 사용자 인터페이스를 제공할 수 있다.The user interface module 223 may receive a user's request or input from a keyboard, touch screen, microphone, etc. through the I/O interface 230 and provide a user interface on a display.
애플리케이션(224)은 하나 이상의 프로세서(230)에 의해 실행되도록 구성되는 프로그램 또는 모듈을 포함할 수 있다. 여기서, 음성 데이터를 연산하기 위한 어플리케이션은 서버 팜(server farm) 상에서 구현될 수 있다. Applications 224 may include programs or modules configured to be executed by one or more processors 230 . Here, an application for computing voice data may be implemented on a server farm.
I/O 인터페이스(230)는 음성 연산 서버(200)의 입출력 디바이스(미도시), 예컨대 디스플레이, 키보드, 터치 스크린 및 마이크 중 적어도 하나를 사용자 인터페이스 모듈(223)과 연결할 수 있다. I/O 인터페이스(230)는 사용자 인터페이스 모듈(223)과 함께 사용자 입력(예. 음성 입력, 키보드 입력, 터치 입력 등)을 수신하고, 수신된 입력에 따른 명령을 처리할 수 있다. The I/O interface 230 may connect at least one of an input/output device (not shown) of the voice operation server 200, for example, a display, a keyboard, a touch screen, and a microphone, to the user interface module 223. The I/O interface 230 may receive user input (eg, voice input, keyboard input, touch input, etc.) together with the user interface module 223 and process a command according to the received input.
프로세서(240)는 통신 인터페이스(210), 메모리(220) 및 I/O 인터페이스(230)와 연결되어 음성 연산 서버(200)의 전반적인 동작을 제어할 수 있으며, 메모리(220)에 저장된 애플리케이션 또는 프로그램을 통해 동형 암호화된 데이터가 처리되기 위한 다양한 명령들을 수행할 수 있다. The processor 240 is connected to the communication interface 210, the memory 220, and the I/O interface 230 to control the overall operation of the voice operation server 200, and an application or program stored in the memory 220. It is possible to perform various commands for processing homomorphically encrypted data through
프로세서(240)는 CPU(Central Processing Unit)나 AP(Application Processor)와 같은 연산 장치에 해당할 수 있다. 또한, 프로세서(240)는 다양한 연산 장치가 통합된 SoC(System on Chip)와 같은 통합 칩(Integrated Chip (IC))의 형태로 구현될 수 있다. 또는 프로세서(240)는 NPU(Neural Processing Unit)과 같이 인공 신경망 모델을 계산하기 위한 모듈을 포함할 수 있다.The processor 240 may correspond to an arithmetic device such as a central processing unit (CPU) or an application processor (AP). In addition, the processor 240 may be implemented in the form of an integrated chip (IC) such as a System on Chip (SoC) in which various computing devices are integrated. Alternatively, the processor 240 may include a module for calculating an artificial neural network model, such as a Neural Processing Unit (NPU).
다양한 실시예에서, 프로세서(240)는 사용자의 개인 정보가 노출되지 않은 상태로 사용자를 식별하는 서비스를 제공할 수 있으며, 이하 도 7을 참조하여 설명하도록 한다. In various embodiments, the processor 240 may provide a service for identifying a user in a state in which the user's personal information is not exposed, which will be described below with reference to FIG. 7 .
도 7은 본 발명의 일 실시예에 따른 음성 연산 서버의 개인 식별 방법에 대한 순서도이다. 7 is a flowchart of a personal identification method of a voice calculation server according to an embodiment of the present invention.
도 7을 참조하면, 프로세서(240)는 통신 인터페이스(210)를 통해 식별자 디바이스(100)로부터 동형 암호화된 사용자의 제1 음성 데이터를 포함하는 연산 요청을 수신할 수 있다(S210). 연산 요청에는 제1 음성 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터, 사용자의 음성에서 추출된 특징 데이터가 포함될 수 있다. Referring to FIG. 7 , the processor 240 may receive an operation request including homomorphically encrypted first voice data of the user from the identifier device 100 through the communication interface 210 (S210). The operation request may include a parameter for the homomorphic encryption operation used to homomorphically encrypt the first voice data and feature data extracted from the user's voice.
S210 단계 이후, 프로세서(240)는 연산 요청에 따라 미리 저장된 다른 사용자의 제2 음성 데이터를 획득할 수 있다(S220). 프로세서(240)는 연산 요청이 한 명의 다른 사용자의 제2 음성 데이터에 대한 연산 요청인지, 복수의 다른 사용자의 제2 음성 데이터에 대한 연산 요청인지에 따라, 메모리(220)에 저장된 복수의 다른 사용자 그룹 또는 어느 한 명의 다른 사용자의 제2 음성 데이터를 로드(load)할 수 있다. After step S210, the processor 240 may obtain pre-stored second voice data of another user according to an operation request (S220). The processor 240 determines whether the operation request is for the second voice data of one other user or the second voice data of a plurality of other users, and the plurality of other users stored in the memory 220 Second voice data of a group or any one other user may be loaded.
아울러, 프로세서(240)는 제1 음성 데이터가, 식별자 디바이스(100)를 획득된 음성 주파수와 함께 음성 주파수의 파형에서 추출된 특징 영역 또는 음성 주파수를 기초로 판단되는 텍스트 중 어느 하나인지 확인하고, 그에 맞는 제2 음성 데이터를 획득할 수 있다. In addition, the processor 240 determines whether the first voice data is either a feature region extracted from a voice frequency waveform obtained by the identifier device 100 together with a voice frequency or a text determined based on the voice frequency, Second voice data suitable for it may be acquired.
프로세서(240)는 동형 암호화된 제1 음성 데이터 동일한 파라미터가 반영된 암호화 키를 이용하여 메모리(220)에 저장된 다른 사용자의 제2 음성 데이터를 동형 암호화할 수 있다. 또한, 프로세서(240)는 연산 요청에 따라 메모리(220)에 저장된 한 명의 다른 사용자의 제2 음성 데이터를 동형 암호화하거나, 메모리(220)에 저장된 복수의 다른 사용자의 제2 음성 데이터를 동형 암호화할 수 있다. The processor 240 may homomorphically encrypt another user's second voice data stored in the memory 220 using an encryption key in which the same parameters of the homomorphically encrypted first voice data are reflected. In addition, the processor 240 may homomorphically encrypt the second voice data of one other user stored in the memory 220 or homomorphically encrypt the second voice data of a plurality of other users stored in the memory 220 according to the operation request. can
다양한 실시예에서, 프로세서(240)는 부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 동형 암호화할 수 있다. In various embodiments, the processor 240 may perform homomorphic encryption using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. .
한편, 프로세서(240)는 미리 저장된 다른 사용자의 제2 음성 데이터를 획득하고, 동형 암호화하지 않을 수도 있다. Meanwhile, the processor 240 may acquire pre-stored second voice data of another user and may not perform homomorphic encryption.
S220 단계 이후, 프로세서(240)는 동형 암호화된 제1 음성 데이터와 제2 음성 데이터를 기초로 동형 암호화된 식별 결과를 산출할 수 있다(S230). 구체적으로, 프로세서(240)는 두 개의 음성 데이터를 거리 유사도 계산 방법(예. 유클리디안 거리 측정 방법(Euclidean Distance), 민코프스키 거리 측정 방법(Minkowski Distance), 코사인 유사도 계산 방법(Cosine Similarity), 평균 제곱 차이 유사도 계산 방법(Mean Squared Difference Similarity), 피어슨 유사도 계산 방법(Pearson Similarity))을 이용하여 연산하여 음성 데이터 간의 유사도(음성 식별 결과)를 산출할 수 있다. After step S220, the processor 240 may calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second voice data (S230). Specifically, the processor 240 calculates the distance similarity between the two voice data (eg, Euclidean distance, Minkowski distance, Cosine similarity, The similarity between voice data (speech identification result) may be calculated by calculating using a mean squared difference similarity or a Pearson similarity.
이를 위해, 프로세서(240)는 동형 암호화된 제1 음성 데이터에 대응되는 제1 위치와 제2 음성 데이터에 대응되는 제2 위치를 결정할 수 있다. 예를 들어, 프로세서(240)는 H3(Hexagonal Hierarchical Spatial Index) 시스템을 이용하여 음성 데이터 각각에 대응되는 위치를 실수(real number) 값 또는 위치 벡터로 결정할 수 있다. To this end, the processor 240 may determine a first position corresponding to the homomorphically encrypted first voice data and a second position corresponding to the second voice data. For example, the processor 240 may use a Hexagonal Hierarchical Spatial Index (H3) system to determine a location corresponding to each piece of voice data as a real number value or a location vector.
프로세서(240)는 제1, 제2 음성 데이터와 대응되는 제1 위치와 제2 위치 사이의 거리 값을 앞서 언급한 거리 유사도 계산 방법을 이용하여 계산하여, 식별 결과에 대응되는 값을 획득할 수 있다. 예를 들어, 프로세서(240)는 계산된 거리 값이 미리 지정된 거리 범위에 포함되는 경우, 두 개의 음성 데이터가 유사하다는 결과를 포함하는 동형 암호화된 식별 결과를 산출할 수 있으며, 계산된 거리 값이 미리 지정된 거리 범위에 포함되지 않는 경우, 두 개의 음성 데이터가 유사하지 않다는 결과를 포함하는 동형 암호화된 식별 결과를 산출할 수 있다. The processor 240 may obtain a value corresponding to the identification result by calculating a distance value between the first and second positions corresponding to the first and second voice data using the aforementioned distance similarity calculation method. there is. For example, when the calculated distance value is included in a predetermined distance range, the processor 240 may calculate a homomorphic encrypted identification result including a result that the two voice data are similar, and the calculated distance value is When it is not included in a predetermined distance range, a homomorphic encrypted identification result including a result indicating that the two voice data are not similar may be calculated.
다양한 실시예에서, 프로세서(240)는 연산 요청의 종류에 따라, 한 명 또는 복수의 다른 사용자의 제2 음성 데이터와 동형 암호화된 제1 음성 데이터를 기초로 암호화된 식별 결과를 산출할 수 있다. In various embodiments, the processor 240 may calculate an encrypted identification result based on the first voice data that is homomorphically encrypted with the second voice data of one or more other users according to the type of operation request.
S230 단계 이후, 프로세서(240)는 동형 암호화된 식별 결과를 식별자 디바이스(100)로 송신할 수 있다(S240). 동형 암호화된 식별 결과는 음성 연산 서버(200)가 아닌, 식별자 디바이스(100)에 의해서 복호화될 수 있으며, 그에 따라, 프로세서(240)는 복수의 다른 사용자의 음성과의 비교 및 식별 결과를 산출하여 식별자 디바이스(100)로 제공할 수 있다. After step S230, the processor 240 may transmit the homomorphically encrypted identification result to the identifier device 100 (S240). The homomorphic encrypted identification result may be decoded by the identifier device 100, not the voice calculation server 200, and accordingly, the processor 240 calculates a comparison and identification result with a plurality of other users' voices, It can be provided as an identifier device (100).
지금까지 본 발명의 일 실시예에 따른 음성 연산 서버(200)에 대하여 설명하였다. 본 발명에 따르면, 사용자 고유의 목소리가 각자의 안전한 디바이스 내에 저장된 상태로 동형 암호화 및 복호화되고, 음성 연산 서버(200)는 동형 암호화된 연산 결과만을 전달해 줌으로써, 민감 정보 처리에 따른 위험 부담을 최소화할 수 있다. So far, the voice calculation server 200 according to an embodiment of the present invention has been described. According to the present invention, the user's unique voice is homomorphically encrypted and decoded while stored in each safe device, and the voice calculation server 200 delivers only the homomorphically encrypted calculation result, thereby minimizing the risk of processing sensitive information. can
이하에서는 식별자 디바이스(100) 및 음성 연산 서버(200)를 포함하는 양자 간의 개인 식별 방법을 개략적으로 설명하도록 한다.Hereinafter, a personal identification method between the identifier device 100 and the voice operation server 200 will be briefly described.
도 8 및 도 9는 본 발명의 일 실시예에 따른 데이터 식별 방법에 대한 개략적인 순서도이다.8 and 9 are schematic flowcharts of a data identification method according to an embodiment of the present invention.
도 8을 참조하면, 식별자 디바이스(100)는 사용자의 음성을 획득하거나(S10), 이에 더하여 음성에서 특징 데이터를 추출할 수 있으며(S11), 음성 또는 특징 데이터(제1 음성 데이터)를 동형 암호화할 수 있다(S12). Referring to FIG. 8 , the identifier device 100 may obtain a user's voice (S10), or in addition extract feature data from the voice (S11), and homomorphically encrypt the voice or feature data (first voice data). It can (S12).
식별자 디바이스(100)는 동형 암호화된 제1 음성 데이터와 함께 동형 암호 연산을 위한 파라미터를 음성 연산 서버(200)로 송신할 수 있다. 여기서, 동형 암호 연산을 위한 파라미터는 동형 암호화된 제1 음성 데이터의 암호화 키에 적용된 파라미터일 수 있다. The identifier device 100 may transmit parameters for homomorphic encryption calculation to the voice calculation server 200 together with the homomorphic encrypted first voice data. Here, the parameter for the homomorphic encryption operation may be a parameter applied to an encryption key of the homomorphically encrypted first voice data.
음성 연산 서버(200)는 파라미터를 이용하여 미리 저장된 제2 음성 데이터를 동형 암호화하고(S14), 동형 암호화된 제1, 제2 음성 데이터를 기초로 동형 암호화된 식별 결과를 산출할 수 있다(S15)(즉, 동형 암호화된 데이터를 연산할 수 있다). 구체적으로, 음성 연산 서버(200)는 동형 암호화된 음성 데이터에 대응되는 위치를 결정하고, 위치 사이의 거리를 계산하여, 동형 암호화된 데이터 간의 연산을 수행할 수 있으며, 식별 결과에 대응되는 값을 획득할 수 있다. The voice operation server 200 may homomorphically encrypt previously stored second voice data using parameters (S14), and calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second voice data (S15). ) (that is, it can operate on homomorphic encrypted data). Specifically, the voice calculation server 200 may determine locations corresponding to the homomorphically encrypted voice data, calculate a distance between the locations, perform calculations between the homomorphically encrypted data, and generate a value corresponding to the identification result. can be obtained
한편, 음성 연산 서버(200)는 미리 저장된 제2 음성 데이터를 암호화하지 않고, 평문 상태의 제2 음성 데이터와 동형 암호화된 제1 음성 데이터 간의 비교 연산을 수행할 수도 있다. Meanwhile, the voice calculation server 200 may perform a comparison operation between the plaintext second voice data and the homomorphically encrypted first voice data without encrypting the previously stored second voice data.
음성 연산 서버(200)는 암호화된 연산 결과를 식별자 디바이스(100)로 송신하고(S16), 식별자 디바이스(100)는 연산 결과를 복호화하여(S17), 디스플레이 화면 상에 복호화 결과를 출력할 수 있다(S18). The voice calculation server 200 may transmit the encrypted calculation result to the identifier device 100 (S16), and the identifier device 100 may decrypt the calculation result (S17) and output the decryption result on the display screen. (S18).
한편, 동형 암호화된 음성 데이터 간의 연산은 식별자 디바이스(100)에서도 음성 연산 서버(200)와 동일한 방식으로 수행될 수 있다. Meanwhile, calculation between homomorphically encrypted voice data may be performed in the identifier device 100 in the same manner as in the voice calculation server 200 .
관련하여, 도 9를 참조하면, S20 내지 S21 단계는 이전과 동일하나, 식별자 디바이스(100)는 음성 또는 특징 데이터를 동형 암호화를 선택적으로 수행할 수 있다(S22). In this regard, referring to FIG. 9 , steps S20 to S21 are the same as before, but the identifier device 100 may selectively perform homomorphic encryption on voice or feature data (S22).
이 후, 식별자 디바이스(100)는 음성 연산 서버(200)로 동형 암호 연산을 위한 파라미터를 포함하는 데이터 식별 요청을 송신할 수 있다(S23). Thereafter, the identifier device 100 may transmit a data identification request including parameters for homomorphic encryption operation to the voice operation server 200 (S23).
음성 연산 서버(200)는 데이터 식별 요청에 따라, 앞서 수신된 파라미터와 동일한 파라미터를 이용하여 미리 저장된 복수의 제2 음성 데이터를 동형 암호화하여 식별자 디바이스(100)로 송신할 수 있다. The voice operation server 200 may homomorphically encrypt a plurality of pre-stored second voice data using the same parameters as previously received parameters and transmit the same to the identifier device 100 according to the data identification request.
즉, 음성 연산 서버(200)가 동형 암호화된 제2 음성 데이터를 제공함으로써, 식별자 디바이스(100)가 동형 암호화된 제1, 제2 음성 데이터를 기초로 동형 암호화된 식별 결과를 산출할 수 있다(S25)(즉, 동형 암호화된 데이터를 연산할 수 있다). That is, since the voice operation server 200 provides the homomorphically encrypted second voice data, the identifier device 100 may calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second voice data ( S25) (that is, homomorphic encrypted data can be calculated).
식별자 디바이스(100)는 암호화된 연산 결과를 음성 연산 서버(200)로 송신할 수 있으며(S26), 음성 연산 서버(200)는 다시 연산 결과를 복호화하여 전달할 수 있다(S27). The identifier device 100 may transmit the encrypted calculation result to the voice calculation server 200 (S26), and the voice calculation server 200 may decrypt and transmit the calculation result again (S27).
최종적으로 식별자 디바이스(100)는 복호화된 결과를 출력할 수 있으며(S28), 그 결과는 예를 들어, 사용자와 다른 사용자와의 목소리 일치 여부, 사용자의 식별 정보일 수 있다. Finally, the identifier device 100 may output a decoded result (S28), and the result may be, for example, whether the voice of the user and another user matches or not, and the user's identification information.
이상 첨부된 도면을 참조하여 본 발명의 일 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although one embodiment of the present invention has been described in more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and may be variously modified and implemented without departing from the technical spirit of the present invention. there is. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. Therefore, the embodiments described above should be understood as illustrative in all respects and not limiting. The protection scope of the present invention should be construed according to the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

Claims (12)

  1. 사용자의 제1 음성 데이터를 획득하는 단계; acquiring first voice data of a user;
    상기 제1 음성 데이터를 동형 암호화하는 단계; Homomorphically encrypting the first voice data;
    음성 연산 서버로 동형 암호화된 제1 음성 데이터를 송신하는 단계; transmitting homomorphically encrypted first voice data to a voice operation server;
    상기 음성 연산 서버로부터 상기 동형 암호화된 제1 음성 데이터와 미리 저장된 다른 사용자의 제2 음성 데이터를 기초로 계산된 동형 암호화된 식별 결과를 수신하는 단계; 및receiving a homomorphically encrypted identification result calculated based on the homomorphically encrypted first voice data and pre-stored second voice data of another user from the voice operation server; and
    상기 동형 암호화된 식별 결과를 복호화하는 단계; 를 포함하는 동형 암호화된 음성을 이용한 개인 식별 방법.decrypting the homomorphically encrypted identification result; Personal identification method using homomorphic encrypted voice comprising a.
  2. 제1항에 있어서, According to claim 1,
    상기 동형 암호화된 제1 음성 데이터를 송신하는 단계는, In the step of transmitting the homomorphically encrypted first voice data,
    상기 제1 음성 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터를 상기 음성 연산 서버로 송신하는 단계, 를 더 포함하는 동형 암호화된 음성을 이용한 개인 식별 방법.The personal identification method using homomorphically encrypted voice, further comprising: transmitting a parameter for homomorphic encryption operation, used to homomorphically encrypt the first voice data, to the voice operation server.
  3. 제2항에 있어서, According to claim 2,
    상기 동형 암호화된 식별 결과는, The homomorphic encrypted identification result,
    상기 동형 암호화된 제1 음성 데이터와 상기 파라미터를 기초로 동형 암호화된 제2 음성 데이터를 기초로 계산된 식별 결과인, 동형 암호화된 음성을 이용한 개인 식별 방법.wherein the identification result is calculated based on the homomorphically encrypted first voice data and second voice data homomorphically encrypted based on the parameters.
  4. 제1항에 있어서, According to claim 1,
    상기 제2 음성 데이터는,The second voice data,
    상기 음성 연산 서버에 미리 저장된 복수의 다른 사용자의 음성 데이터이고, Voice data of a plurality of other users pre-stored in the voice calculation server;
    상기 복호화하는 단계는,The decryption step is
    상기 복수의 다른 사용자 중에서 상기 사용자와 매칭되는 다른 사용자에 대한 식별 결과를 획득하는 단계, 를 더 포함하는 동형 암호화된 음성을 이용한 개인 식별 방법.Acquiring an identification result for another user matched with the user among the plurality of other users;
  5. 제1항에 있어서, According to claim 1,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터는, The first voice data and the second voice data,
    사용자에게 제공된 사용자 식별 문항에 대응하여 획득되는 음성 주파수 및, 상기 음성 주파수의 파형에서 추출된 특징 영역 또는 상기 음성 주파수를 기초로 판단되는 텍스트를 포함하는, 동형 암호화된 음성을 이용한 개인 식별 방법.A personal identification method using homomorphic encrypted voice, comprising a voice frequency obtained in response to a user identification question provided to a user and a feature region extracted from a waveform of the voice frequency or text determined based on the voice frequency.
  6. 제1항에 있어서, According to claim 1,
    상기 동형 암호화하는 단계는,In the homomorphic encryption step,
    부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 동형 암호화하는 단계인, 동형 암호화된 음성을 이용한 개인 식별 방법.Personal identification method using homomorphic encrypted voice, which is a step of homomorphic encryption using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. .
  7. 식별자 디바이스로부터 동형 암호화된 사용자의 제1 음성 데이터를 포함하는 연산 요청을 수신하는 단계; Receiving an operation request including homomorphically encrypted first voice data of a user from an identifier device;
    상기 연산 요청에 따라 미리 저장된 다른 사용자의 제2 음성 데이터를 획득하는 단계; obtaining pre-stored second voice data of another user according to the operation request;
    상기 동형 암호화된 제1 음성 데이터와 상기 제2 음성 데이터를 기초로 동형 암호화된 식별 결과를 산출하는 단계; 및calculating a homomorphically encrypted identification result based on the homomorphically encrypted first voice data and the second voice data; and
    상기 동형 암호화된 식별 결과를 상기 식별자 디바이스로 송신하는 단계; 를 포함하는 동형 암호화된 음성을 이용한 개인 식별 방법.sending the homomorphically encrypted identification result to the identifier device; Personal identification method using homomorphic encrypted voice comprising a.
  8. 제7항에 있어서,According to claim 7,
    상기 연산 요청을 수신하는 단계는, Receiving the operation request,
    상기 식별자 디바이스로부터 상기 제1 음성 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터를 수신하는 단계, 를 더 포함하며,Receiving parameters for a homomorphic encryption operation used to homomorphically encrypt the first voice data from the identifier device;
    상기 획득하는 단계는, The obtaining step is
    상기 파라미터를 기초로 상기 제2 음성 데이터를 동형 암호화하는 단계, 를 더 포함하는, 동형 암호화된 음성을 이용한 개인 식별 방법.Homomorphically encrypting the second voice data based on the parameter; The personal identification method using homomorphically encrypted voice, further comprising:
  9. 제7항에 있어서, According to claim 7,
    상기 동형 암호화된 식별 결과를 산출하는 단계는, Calculating the homomorphic encrypted identification result,
    상기 동형 암호화된 제1 음성 데이터에 대응되는 제1 위치와 상기 제2 음성 데이터에 대응되는 제2 위치를 결정하는 단계, 와determining a first position corresponding to the homomorphically encrypted first voice data and a second position corresponding to the second voice data; and
    상기 식별 결과에 대응되는 상기 제1 위치와 제2 위치 사이의 거리 값을 계산하는 단계, 를 더 포함하는, 동형 암호화된 음성을 이용한 개인 식별 방법.Calculating a distance value between the first location and the second location corresponding to the identification result;
  10. 제7항에 있어서, According to claim 7,
    상기 제2 음성 데이터는,The second voice data,
    미리 저장된 복수의 다른 사용자의 제2 음성 데이터이고, pre-stored second voice data of a plurality of other users;
    상기 동형 암호화된 식별 결과를 산출하는 단계는, Calculating the homomorphic encrypted identification result,
    상기 수신된 연산 요청의 종류에 따라, 상기 복수의 다른 사용자의 제2 음성 데이터와 상기 동형 암호화된 제1 음성 데이터를 기초로 암호화된 식별 결과를 산출하는 단계인, 동형 암호화된 음성을 이용한 개인 식별 방법.calculating an encrypted identification result based on the second voice data of the plurality of other users and the homomorphically encrypted first voice data according to the type of the received operation request; method.
  11. 제7항에 있어서,According to claim 7,
    상기 제1 음성 데이터 및 상기 제2 음성 데이터는,The first voice data and the second voice data,
    사용자에게 제공된 사용자 식별 문항에 대응하여 획득되는 음성 주파수 및, 상기 음성 주파수의 파형에서 추출된 특징 영역 또는 상기 음성 주파수를 기초로 판단되는 텍스트를 포함하는, 동형 암호화된 음성을 이용한 개인 식별 방법.A personal identification method using homomorphic encrypted voice, comprising a voice frequency obtained in response to a user identification question provided to a user and a feature region extracted from a waveform of the voice frequency or text determined based on the voice frequency.
  12. 제8항에 있어서, According to claim 8,
    상기 동형 암호화하는 단계는,In the homomorphic encryption step,
    부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 동형 암호화하는 단계인, 동형 암호화된 음성을 이용한 개인 식별 방법.Personal identification method using homomorphic encrypted voice, which is a step of homomorphic encryption using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. .
PCT/KR2022/019467 2021-12-30 2022-12-02 Method and system for identifying individual using homomorphically encrypted voice WO2023128342A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0192468 2021-12-30
KR1020210192468A KR102403471B1 (en) 2021-12-30 2021-12-30 Method and system for personal identification using homomorphic encryption

Publications (1)

Publication Number Publication Date
WO2023128342A1 true WO2023128342A1 (en) 2023-07-06

Family

ID=81800135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019467 WO2023128342A1 (en) 2021-12-30 2022-12-02 Method and system for identifying individual using homomorphically encrypted voice

Country Status (2)

Country Link
KR (1) KR102403471B1 (en)
WO (1) WO2023128342A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403471B1 (en) * 2021-12-30 2022-05-30 주식회사 디사일로 Method and system for personal identification using homomorphic encryption
KR102619059B1 (en) 2022-11-23 2024-01-02 이병진 A homomorphic encryption-based encrypted data de-identification system and a machine learning-based facial de-identification method applying full homomorphism

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011954A (en) * 2018-11-27 2019-07-12 阿里巴巴集团控股有限公司 Biometric discrimination method, device, terminal and service server based on homomorphic cryptography
KR20190085674A (en) * 2018-01-11 2019-07-19 삼성전자주식회사 Electronic device, server and control method thereof
KR20200066030A (en) * 2018-11-30 2020-06-09 (주)아틀라스랩스 Method for voice registration and certification using voice id system
US20200358611A1 (en) * 2019-05-06 2020-11-12 Inferati Inc. Accurate, real-time and secure privacy-preserving verification of biometrics or other sensitive information
US20210117553A1 (en) * 2019-10-17 2021-04-22 The Toronto-Dominion Bank Homomorphic encryption of communications involving voice-enabled devices in a distributed computing environment
KR102403471B1 (en) * 2021-12-30 2022-05-30 주식회사 디사일로 Method and system for personal identification using homomorphic encryption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190085674A (en) * 2018-01-11 2019-07-19 삼성전자주식회사 Electronic device, server and control method thereof
CN110011954A (en) * 2018-11-27 2019-07-12 阿里巴巴集团控股有限公司 Biometric discrimination method, device, terminal and service server based on homomorphic cryptography
KR20200066030A (en) * 2018-11-30 2020-06-09 (주)아틀라스랩스 Method for voice registration and certification using voice id system
US20200358611A1 (en) * 2019-05-06 2020-11-12 Inferati Inc. Accurate, real-time and secure privacy-preserving verification of biometrics or other sensitive information
US20210117553A1 (en) * 2019-10-17 2021-04-22 The Toronto-Dominion Bank Homomorphic encryption of communications involving voice-enabled devices in a distributed computing environment
KR102403471B1 (en) * 2021-12-30 2022-05-30 주식회사 디사일로 Method and system for personal identification using homomorphic encryption

Also Published As

Publication number Publication date
KR102403471B1 (en) 2022-05-30

Similar Documents

Publication Publication Date Title
WO2023128342A1 (en) Method and system for identifying individual using homomorphically encrypted voice
WO2023128345A1 (en) Personal identification method and system using homomorphically encrypted image
WO2018030707A1 (en) Authentication system and method, and user equipment, authentication server, and service server for performing same method
WO2018155920A1 (en) Method and apparatus for authenticating users in internet of things environment
WO2018117376A1 (en) Method for operating content and electronic device for implementing same
WO2019143022A1 (en) Method and electronic device for authenticating user by using voice command
WO2019093573A1 (en) Electronic signature authentication system on the basis of biometric information and electronic signature authentication method thereof
WO2019144738A1 (en) Financial service verification method, apparatus and device, and computer storage medium
WO2017111383A1 (en) Biometric data-based authentication device, control server linked to same, and biometric data-based login method for same
WO2013125910A1 (en) Method and system for authenticating user of a mobile device via hybrid biometics information
WO2015126135A1 (en) Method and apparatus for processing biometric information in electronic device
WO2015199501A1 (en) User authentication method and system using variable keypad and biometric identification
WO2017094998A1 (en) Biometric information personal identity authenticating system and method using financial card information stored in mobile communication terminal
WO2020122653A1 (en) Electronic apparatus and controlling method thereof
WO2015069018A1 (en) System for secure login, and method and apparatus for same
WO2017043717A1 (en) Biometric user authentication method
WO2019139420A1 (en) Electronic device, server, and control method therefor
WO2023128341A1 (en) Method and system for fraudulent transaction detection using homomorphically encrypted data
WO2020235918A1 (en) Electronic terminal device for performing log-in authentication process based on biometric information, and operation method of same
WO2012053875A2 (en) Apparatus and system for transceiving data through fingerprint information
WO2022098189A1 (en) Identity authentication system using user biometric information
WO2020032351A1 (en) Method for establishing anonymous digital identity
WO2020206899A1 (en) Timestamp-based identity verification method, apparatus and device, and storage medium
WO2017200239A2 (en) Method and apparatus for user authentication on basis of touch input including fingerprint information
WO2022146026A1 (en) Method for processing protected data and electronic device supporting same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22916488

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE