WO2023128345A1 - Personal identification method and system using homomorphically encrypted image - Google Patents

Personal identification method and system using homomorphically encrypted image Download PDF

Info

Publication number
WO2023128345A1
WO2023128345A1 PCT/KR2022/019485 KR2022019485W WO2023128345A1 WO 2023128345 A1 WO2023128345 A1 WO 2023128345A1 KR 2022019485 W KR2022019485 W KR 2022019485W WO 2023128345 A1 WO2023128345 A1 WO 2023128345A1
Authority
WO
WIPO (PCT)
Prior art keywords
image data
image
encrypted
homomorphically
user
Prior art date
Application number
PCT/KR2022/019485
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 WO2023128345A1 publication Critical patent/WO2023128345A1/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • 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 identifying individuals using homomorphic encrypted images.
  • 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. Significant time and cost for building data is consumed, and there is a problem in that a user's image (unique bio information) is exposed.
  • the inventors of the present invention have attempted to develop a method and a system for safely identifying a user without fear of exposure of the user's image using only a device capable of acquiring the user's image.
  • the inventors of the present invention configured a method so that biometric information unique to the user is not exposed by homomorphically encrypting image data acquired from the user and then obtaining an operation result obtained by homomorphically encrypting the user identification result.
  • a personal identification method using a homomorphic encrypted image includes obtaining first image data of a user, homomorphically encrypting the first image data, transmitting the homomorphically encrypted first image data to an image processing server, and performing the homomorphic encryption from the image processing server. and receiving a homomorphically encrypted identification result calculated on the basis of the first image data and pre-stored second image data of another user, and decrypting the homomorphically encrypted identification result.
  • the transmitting of the homomorphically encrypted first image data includes transmitting a parameter for a homomorphic encryption operation used to homomorphically encrypt the first image data to the image operation server.
  • a parameter for a homomorphic encryption operation used to homomorphically encrypt the first image data can include more.
  • the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first image data and the homomorphically encrypted second image data based on the parameters.
  • the second image data is image data of a plurality of different users pre-stored in the image calculation server, and the decoding may include other image data matching the user among the plurality of other users.
  • the method may further include obtaining an identification result for the user.
  • the first image data and the second image data may include at least one of an image captured through an identifier device, a plurality of feature coordinate values extracted from the image, and RGB values for each pixel of the image. may contain one.
  • 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 image data of a user from an identifier device, obtaining previously stored second image data of another user according to the operation request, the homomorphically encrypted first image data. Calculating a homomorphically encrypted identification result based on one image data and the second image data, and sending the homomorphically encrypted identification result to the identifier device.
  • the receiving of the operation request further comprises receiving parameters for a homomorphic encryption operation, used to homomorphically encrypt the first image data, from the identifier device, wherein the obtaining The performing may further include performing homomorphic encryption on the second image 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 image data and a second location corresponding to the second image data. and calculating a distance value between the first location and the second location corresponding to the identification result.
  • the calculating of the homomorphically encrypted identification result may include the second image data of the plurality of other users and the homomorphically encrypted first image 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 (face image) to 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 face image can be safely protected by calculating the user's image data in a state of homomorphic encryption and decrypting and confirming only the calculation result in the device that acquired the user's image.
  • 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 an image calculation server that performs a homomorphic encryption calculation according to an embodiment of the present invention.
  • FIG. 7 is a flowchart of a personal identification method of an image 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.
  • a personal identification system 1000 may include an identifier device 100 displaying a user's personal identification result and an image calculation server 200 calculating a user's personal identification result.
  • the personal identification system 1000 may be a system capable of identifying a user using a user's image.
  • 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 (image of a user) between two users. .
  • other users as comparison targets for user identification may be users of a group to which the user belongs.
  • users registered in a DB server (not shown) (or image calculation 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.
  • 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 image calculation server 200 can send and receive all data in an encrypted state, and the identifier device 100 and the image calculation 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 image processing 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 image calculation 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 image calculation server 200 may perform operations between homomorphic ciphertext or between homomorphic ciphertext and plaintext, and may homomorphically encrypt image data using various homomorphic encryption algorithms.
  • the identifier device 100 and the image calculation server 200 use any one encryption method of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. Homomorphic encryption can be used to image data.
  • the identifier device 100 is a device capable of acquiring a user's image and outputting an image identification result, and may be implemented as a PC, tablet PC, smart phone, wearable device, or the like.
  • the user's unique bio information refers to images of various regions of the user's body that can be captured, and may include images of a face, vein, iris, fingerprint, and the like.
  • the identifier device 100 may transmit parameters for homomorphic encryption operation to the image operation server 200 so as to obtain an identification result for a corresponding user based on the homomorphically encrypted first image data (image of the user).
  • the parameters may be the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and attribute information (resolution, size) of an image.
  • 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 certain space, the identifier device 100 may take a user's image, encrypt it, and transmit the same to the image calculation server 200, and the image calculation 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 image calculation server 200 .
  • the identifier device 100 may receive second image data of another user that is homomorphically encrypted from the image calculation server 200, perform an operation between the two homomorphically encrypted data, and operate between the homomorphically encrypted data. The method will be described later.
  • the identifier device 100 may homomorphically encrypt the directly captured image itself, but may extract feature points (feature data) from the image and homomorphically encrypt them according to a manager's setting. In this case, the identifier device 100 may transmit metadata about the feature data to the image calculation server 200 as the first image data that is homomorphically encrypted.
  • the image calculation server 200 is a server capable of performing calculations between homomorphically encrypted data using pre-stored image data according to the calculation request of the identifier device 100, and includes PCs, tablet PCs, smart phones, general-purpose computers, It can be implemented with a laptop and a cloud server.
  • the image calculation server 200 may store a plurality of second image data (images of other users), perform a homomorphic encryption operation with one user's image data, or perform a plurality of user image data according to the type of operation request. It is possible to perform a plurality of homomorphic encryption operations using
  • the image 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 image calculation server 200 receives the homomorphically encrypted first image data from the identifier device 100, performs calculation, and transmits the result without decryption, the image 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 image calculation server 200 performs an operation based on the homomorphically encrypted first image data and the plaintext second image 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 image data.
  • the image calculation 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 image calculation server 200 may pre-process image data stored in their respective devices to reduce the burden of homomorphic encryption calculation before performing homomorphic encryption.
  • the identifier device 100 and the image calculation server 200 may convert image data into locations in order to calculate a similarity to the image data. That is, each image data can be converted to a designated position 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 image calculation server 200 is in a state of homomorphic encryption, so there is no possibility of exposure of a user image while personal identification service is provided, and personal information is infringed. situation can be prevented.
  • 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 acquires an image of a user, and converts data constituting a personal identification interface screen for outputting a personal identification result, preprocessed first image data, and first image data in a form capable of homomorphic encryption.
  • a function for conversion, an algorithm for homomorphic encryption, homomorphically encrypted first image data, parameters for homomorphic encryption operation, and the like 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 an image 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 image data of the user (S110). For example, the processor 120 may acquire a user's image captured through the camera subsystem 170, and when using a vein distribution pattern rather than the user's image for personal identification, the communication module 152 Images of a finger and a wrist may be obtained from a wearable device (not shown) possessed by an individual user.
  • the processor 120 of the identifier device 100 may provide an interface screen for acquiring the user's first image data as shown in (a).
  • the interface screen may include a guideline 10 for obtaining a user's face image through the camera subsystem 170 and a user guide text 11 .
  • information on the location where the identifier device 100 is placed and time information for performing personal identification may be displayed together on the interface screen.
  • the processor 120 may obtain the user image through the camera subsystem 170 as shown in (b).
  • the processor 120 may homomorphically encrypt the entire image, but may also homomorphically encrypt feature points of the image according to a manager's setting. To this end, the processor 120 may extract feature data from the image. Specifically, the processor 120 calculates the rate of change of pixel values based on the horizontal/vertical position of the image (image differentiation), performs edge detection and corner detection using these values, Acquiring feature data (coordinate values of feature points), image histogram, gradient histogram descriptor, FAST (Features from Accelerated Segment Test), SIFT (Scale-Invariant Feature Transform), SURF (Speed- Feature data (coordinate values of feature points) may be acquired through a method such as Up Robust Features. Accordingly, for example, the processor 120 may extract coordinate values of the user's eyes, nose, and mouth from the image, and may also extract RGB values for each pixel of the image.
  • the processor 120 since the data size of the RGB values for each pixel of the image may be excessively large depending on the size or resolution of the image, the processor 120, for example, converts the RBG values at pixels corresponding to a plurality of feature coordinate values to the user's It can be used as the first image data.
  • the processor 120 may pre-process the user's first image data in order to reduce the burden of the homomorphic encryption operation. For example, the processor 120 may convert image data into positions using a pre-stored function in order to calculate a similarity between the first image data and the second image data to be compared.
  • the processor 120 may homomorphically encrypt the first image data (S120). Specifically, the processor 120 may homomorphically encrypt the first image data using an encryption key in which parameters for homomorphic encryption operation are reflected.
  • the processor 120 may encrypt the first image 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 image data to the image calculation server 200 through the communication module 152 (S130).
  • the processor 120 may transmit to the image calculation server 200 an operation request including the homomorphically encrypted first image data and parameters used in the process of homomorphically encrypting the first image data.
  • parameters include the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and image attribute information (resolution, size).
  • the processor 120 may receive a homomorphically encrypted identification result calculated based on the homomorphically encrypted first image data and pre-stored second image data of another user from the image calculation server 200 (S140). ).
  • the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first image data and the homomorphically encrypted second image data based on the parameters provided in step S130 .
  • the first and second image data may be computed in a homomorphic encrypted state using an encryption key to which the same parameters are reflected, and accordingly, the identification result computed by the image computation server 200 may be correctly decrypted.
  • the processor 120 may receive a pre-stored identification result with image data of one other user or identification result with image 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 13 indicating.
  • 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 image data to the image operation server 200 in order to compare its own image data with image data of another user, and accordingly Accordingly, the identity of the user can be quickly confirmed while protecting the portrait right of the user.
  • FIG. 6 is a block diagram showing the configuration of an image calculation server that performs a homomorphic encryption calculation according to an embodiment of the present invention.
  • the image processing server 200 may include a communication interface 210, a memory 220, an I/O interface 230, and a processor 240, each component comprising 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 image data and parameters for a homomorphic encryption operation from the identifier device 100, and may receive the homomorphically encrypted first image 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 image calculation server 200 .
  • the memory 220 may be configured to convert the second image data (user image, feature data (coordinate values, RGB values) extracted from the user image) for a plurality of users into a form capable of isomorphic encryption. It can store functions, algorithms for homomorphic encryption, etc.
  • 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 image 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 image calculation 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 overall operations of the image calculation server 200, and applications or programs 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 an image calculation server according to an embodiment of the present invention.
  • the processor 240 may receive an operation request including homomorphically encrypted first image data of the user from the identifier device 100 through the communication interface 210 (S210).
  • the operation request may include a parameter for a homomorphic encryption operation used to homomorphically encrypt the first image data and feature data extracted from the first image.
  • the processor 240 may acquire pre-stored second image data of another user according to the operation request (S220). The processor 240 determines whether the operation request is for one other user's second image data or a plurality of other users' second image data, and the user's second image data stored in the memory 220 Image data can be loaded.
  • the processor 240 may homomorphically encrypt another user's second image data stored in the memory 220 using an encryption key in which the same parameter of the homomorphically encrypted first image data is reflected.
  • the processor 240 may homomorphically encrypt second image data of one other user stored in the memory 220 or homomorphically encrypt second image data of a plurality of other users stored in the memory 220 according to an 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 the previously stored second image 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 image data and the second image data (S230). Specifically, the processor 240 converts the two image data to a distance similarity calculation method (eg, Euclidean distance measurement method, Minkowski distance measurement method, Cosine similarity calculation method, The similarity between image data (image identification result) may be calculated by calculating using a mean squared difference similarity calculation method, a Pearson similarity calculation method, or the like.
  • a distance similarity calculation method eg, Euclidean distance measurement method, Minkowski distance measurement method, Cosine similarity calculation method.
  • the processor 240 may determine a first position corresponding to the homomorphically encrypted first image data and a second position corresponding to the second image data. For example, the processor 240 may determine a location corresponding to each image data as a real number value or a location vector using a hexagonal hierarchical spatial index (H3) system.
  • H3 hexagonal hierarchical spatial index
  • the processor 240 may obtain a value corresponding to an identification result by calculating a distance value between the first location and the second location using the aforementioned distance similarity calculation method. 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 image data are similar, and the calculated distance value is If it is not included in the predetermined distance range, a homomorphic encrypted identification result including a result indicating that the two image data are not similar may be calculated.
  • the processor 240 may calculate an encrypted identification result based on the first image data that is homomorphically encrypted with the second image data of one or more other users, according to the type of operation request.
  • the processor 240 cannot determine a similarity result between the two image data.
  • the processor 240 may transmit the homomorphically encrypted identification result to the identifier device 100 (S240).
  • the homomorphic encrypted identification result can be decrypted by the identifier device 100, and accordingly, the processor 240 does not acquire a user's image in a format such as jpg, png, or pdf, and stores a plurality of images stored in the memory 220. Comparison with other users' images and identification results may be calculated and provided to the identifier device 100.
  • the image calculation server 200 according to an embodiment of the present invention has been described.
  • a user's own image is homomorphically encrypted and decrypted in a state stored in each safe device, and the image 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 acquire an image of a user (S10) or, in addition, extract feature data from the image (S11), and homomorphically encrypt the image or feature data (first image data). It can (S12).
  • the identifier device 100 may transmit parameters for homomorphic encryption calculation to the image calculation server 200 together with the homomorphically encrypted first image data.
  • the parameter for the homomorphic encryption operation may be a parameter applied to an encryption key of the homomorphically encrypted first image data.
  • the image operation server 200 may homomorphically encrypt previously stored second image data using parameters (S14), and calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second image data (S15). ) (that is, it can operate on homomorphic encrypted data). Specifically, the image calculation server 200 may determine locations corresponding to the homomorphically encrypted image 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 image calculation server 200 may perform a comparison operation between the plaintext second image data and the homomorphically encrypted first image data without encrypting the previously stored second image data.
  • the image calculation server 200 transmits the encrypted calculation result to the identifier device 100 (S16), the identifier device 100 decrypts the calculation result (S17), and outputs the decryption result on the display screen. (S18).
  • calculation between homomorphic encrypted data may be performed in the identifier device 100 in the same manner as in the image calculation server 200 .
  • steps S20 to S21 are the same as before, but the identifier device 100 may selectively perform homomorphic encryption on the image or feature data (S22).
  • the identifier device 100 may transmit a data identification request including parameters for isomorphic encryption operation to the image operation server 200 (S23).
  • the image calculation server 200 may homomorphically encrypt a plurality of pre-stored second image 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 image data ( S25) (that is, homomorphic encrypted data can be calculated).
  • the identifier device 100 may transmit the encrypted calculation result to the image calculation server 200 (S26), and the image 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 or not the image of the user and another user matches, and the user's identification information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Image Analysis (AREA)
  • Collating Specific Patterns (AREA)

Abstract

The present invention relates to a personal identification method using a homomorphically encrypted image, the method comprising the steps of: obtaining first image data of a user; homomorphically encrypting the first image data; transmitting the homomorphically encrypted first image data to an image calculation server; receiving a homomorphically encrypted identification result calculated on the basis of the homomorphically encrypted first image data and pre-stored second image data of another user from the image calculation server; and decrypting the homomorphically encrypted identification result.

Description

동형 암호화된 이미지를 이용한 개인 식별 방법 및 시스템Personal identification method and system using homomorphic encrypted image
본 발명은 동형 암호화된 이미지를 이용한 개인 식별 방법 및 시스템에 관한 것이다. The present invention relates to a method and system for identifying individuals using homomorphic encrypted images.
컴퓨터, 노트북, 키오스크(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 background art 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. Significant time and cost for building data is consumed, and there is a problem in that a user's image (unique bio information) is exposed.
이에, 공용 공간에서 사용자의 이미지를 이용하여 빠르고, 보안 상 안전하게 사용자를 식별할 수 있는 새로운 방법이 요구된다. Accordingly, a new method for quickly and safely identifying a user using a user's image in a public space is required.
그 결과, 본 발명의 발명자들은 사용자의 이미지를 획득할 수 있는 장치만으로도, 사용자의 이미지가 노출될 우려 없이 안전하게 사용자를 식별할 수 있는 방법 및 이를 수행하는 시스템을 개발하고자 하였다. As a result, the inventors of the present invention have attempted to develop a method and a system for safely identifying a user without fear of exposure of the user's image using only a device capable of acquiring the user's image.
특히, 본 발명의 발명자들은 사용자로부터 획득된 이미지 데이터를 동형 암호화한 뒤, 사용자 식별 결과에 대한 동형 암호화한 연산 결과를 얻음으로써, 사용자 고유의 바이오 정보가 노출되지 않도록 방법을 구성하였다. 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 image data acquired 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 a homomorphic encrypted image according to an embodiment of the present invention is provided. The method includes obtaining first image data of a user, homomorphically encrypting the first image data, transmitting the homomorphically encrypted first image data to an image processing server, and performing the homomorphic encryption from the image processing server. and receiving a homomorphically encrypted identification result calculated on the basis of the first image data and pre-stored second image 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 image data includes transmitting a parameter for a homomorphic encryption operation used to homomorphically encrypt the first image data to the image 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 image data and the homomorphically encrypted second image data based on the parameters.
본 발명의 또 다른 특징에 따르면, 상기 제2 이미지 데이터는, 상기 이미지 연산 서버에 미리 저장된 복수의 다른 사용자의 이미지 데이터이고, 상기 복호화하는 단계는, 상기 복수의 다른 사용자 중에서 상기 사용자와 매칭되는 다른 사용자에 대한 식별 결과를 획득하는 단계를 더 포함할 수 있다. According to another feature of the present invention, the second image data is image data of a plurality of different users pre-stored in the image calculation server, and the decoding may include other image data matching the user among the plurality of other users. The method may further include obtaining an identification result for the user.
본 발명의 또 다른 특징에 따르면, 상기 제1 이미지 데이터 및 상기 제2 이미지 데이터는, 식별자 디바이스를 통해 촬영된 이미지, 상기 이미지에서 추출된 복수의 특징 좌표 값 및 상기 이미지의 픽셀 별 RGB 값 중 적어도 하나를 포함할 수 있다. According to another feature of the present invention, the first image data and the second image data may include at least one of an image captured through an identifier device, a plurality of feature coordinate values extracted from the image, and RGB values for each pixel of the image. may contain one.
본 발명의 또 다른 특징에 따르면, 상기 동형 암호화하는 단계는, 부분 동형 암호(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 a homomorphic encrypted image according to another embodiment of the present invention is provided. The method may include receiving an operation request including homomorphically encrypted first image data of a user from an identifier device, obtaining previously stored second image data of another user according to the operation request, the homomorphically encrypted first image data. Calculating a homomorphically encrypted identification result based on one image data and the second image data, and sending the homomorphically encrypted identification result to the identifier device.
본 발명의 특징에 따르면, 상기 연산 요청을 수신하는 단계는, 상기 식별자 디바이스로부터 상기 제1 이미지 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터를 수신하는 단계를 더 포함하며, 상기 획득하는 단계는, 상기 파라미터를 기초로 상기 제2 이미지 데이터를 동형 암호화하는 단계를 더 포함할 수 있다. According to a feature of the present invention, the receiving of the operation request further comprises receiving parameters for a homomorphic encryption operation, used to homomorphically encrypt the first image data, from the identifier device, wherein the obtaining The performing may further include performing homomorphic encryption on the second image 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 image data and a second location corresponding to the second image data. and calculating a distance value between the first location and the second location corresponding to 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 image data of the plurality of other users and the homomorphically encrypted first image 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 (face image) to 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 face image can be safely protected by calculating the user's image data in a state of homomorphic encryption and decrypting and confirming only the calculation result in the device that acquired the user's image.
또한, 본 발명은 사용자 식별, 사용자 본인 인증을 위해 별도의 디바이스를 소지하거나, 고유의 식별 번호를 기억할 필요가 없어, 사용자 편의성이 향상될 수 있다. 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 an image calculation server that performs a homomorphic encryption calculation according to an embodiment of the present invention.
도 7은 본 발명의 일 실시예에 따른 이미지 연산 서버의 개인 식별 방법에 대한 순서도이다. 7 is a flowchart of a personal identification method of an image 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 , a personal identification system 1000 may include an identifier device 100 displaying a user's personal identification result and an image calculation server 200 calculating a user's personal identification result.
개인 식별 시스템(1000)은 사용자의 이미지를 이용하여 사용자를 식별할 수 있는 시스템일 수 있다. 본 발명에서, 사용자를 식별한다는 것은 두 명의 사용자 간의 고유의 바이오 정보(사용자의 이미지)를 비교하여, 사용자가 어떠한 사용자인지 인식하거나, 사용자가 다른 사용자와 동일한지 여부를 판단하는 것으로 이해될 수 있다. The personal identification system 1000 may be a system capable of identifying a user using a user's image. 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 (image of a user) between two users. .
본 발명에서 사용자를 식별하기 위한 비교 대상이 되는 다른 사용자들은 사용자가 속한 그룹의 사용자일 수 있다. 예를 들어, 사용자가 속한 회사, 학교, 지역의 DB 서버(미도시)(또는 이미지 연산 서버(200))에 등록된 사용자들 또는 사용자가 참여하는 컨퍼런스에 등록된 사용자들이 비교 대상이 되는 다른 사용자가 될 수 있다. 식별자 디바이스(100)는 개인 식별 결과의 정확도를 높이고, 식별 속도를 향상시키기 위해, 개인 식별 서비스를 이용하는 데 사용될 DB 서버를 미리 지정할 수 있다. In the present invention, other users as comparison targets for user identification may be users of a group to which the user belongs. For example, users registered in a DB server (not shown) (or image calculation 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 image calculation server 200 can send and receive all data in an encrypted state, and the identifier device 100 and the image calculation 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 image processing 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 image calculation 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 image calculation server 200 may perform operations between homomorphic ciphertext or between homomorphic ciphertext and plaintext, and may homomorphically encrypt image data using various homomorphic encryption algorithms. For example, the identifier device 100 and the image calculation server 200 use any one encryption method of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. Homomorphic encryption can be used to image data.
식별자 디바이스(100)는 사용자의 이미지를 획득하여, 이미지 식별 결과를 출력할 수 있는 디바이스로, PC, 태블릿 PC, 스마트 폰, 웨어러블 디바이스 등으로 구현될 수 있다. 여기서, 사용자 고유의 바이오 정보는 사용자의 신체에서 촬영 가능한 다양한 영역에 대한 이미지를 의미하며, 얼굴, 정맥, 홍채, 지문 등에 대한 이미지를 포함할 수 있다. The identifier device 100 is a device capable of acquiring a user's image and outputting an image identification result, and may be implemented as a PC, tablet PC, smart phone, wearable device, or the like. Here, the user's unique bio information refers to images of various regions of the user's body that can be captured, and may include images of a face, vein, iris, fingerprint, and the like.
본 발명에서는 설명의 편의를 위해, 사용자의 얼굴 이미지를 이용하여 사용자를 식별하는 방식에 대하여 설명하도록 한다. In the present invention, for convenience of description, a method of identifying a user using a face image of the user will be described.
식별자 디바이스(100)는 동형 암호화된 제1 이미지 데이터(사용자의 이미지)를 토대로 해당 사용자에 대한 식별 결과를 얻을 수 있도록, 이미지 연산 서버(200)로 동형 암호화 연산을 위한 파라미터를 송신할 수 있다. 구체적으로, 파라미터는 동형 암호화 연산을 위해 사용되는 함수의 차수(polynomial degree), 동형 암호화 연산을 위해 지정되는 스케일 비트(scale bit), 계수(coefficient)), 이미지의 속성 정보(해상도, 크기)일 수 있다. The identifier device 100 may transmit parameters for homomorphic encryption operation to the image operation server 200 so as to obtain an identification result for a corresponding user based on the homomorphically encrypted first image data (image of the user). Specifically, the parameters may be the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and attribute information (resolution, size) of an image. can
식별자 디바이스(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 certain space, the identifier device 100 may take a user's image, encrypt it, and transmit the same to the image calculation server 200, and the image calculation 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 image calculation server 200 . In this case, the identifier device 100 may receive second image data of another user that is homomorphically encrypted from the image calculation server 200, perform an operation between the two homomorphically encrypted data, and operate between the homomorphically encrypted data. The method will be described later.
다양한 실시예에서, 식별자 디바이스(100)는 직접 촬영한 이미지 자체를 동형 암호화할 수도 있지만, 관리자의 설정에 따라, 이미지에서 특징점(특징 데이터)들을 추출하고, 이를 동형 암호화할 수 있다. 이러한 경우, 식별자 디바이스(100)는 동형 암호화된 제1 이미지 데이터로 특징 데이터에 대한 메타 데이터를 이미지 연산 서버(200)로 송신할 수 있다. In various embodiments, the identifier device 100 may homomorphically encrypt the directly captured image itself, but may extract feature points (feature data) from the image and homomorphically encrypt them according to a manager's setting. In this case, the identifier device 100 may transmit metadata about the feature data to the image calculation server 200 as the first image data that is homomorphically encrypted.
이미지 연산 서버(200)는 식별자 디바이스(100)의 연산 요청에 따라, 미리 저장된 이미지 데이터를 이용하여 동형 암호화된 데이터 간의 연산을 수행할 수 있는 서버로, PC, 태블릿 PC, 스마트 폰, 범용 컴퓨터, 랩탑 및 클라우드 서버 등으로 구현될 수 있다.The image calculation server 200 is a server capable of performing calculations between homomorphically encrypted data using pre-stored image data according to the calculation request of the identifier device 100, and includes PCs, tablet PCs, smart phones, general-purpose computers, It can be implemented with a laptop and a cloud server.
이미지 연산 서버(200)는 복수의 제2 이미지 데이터(다른 사용자의 이미지)를 저장할 수 있으며, 연산 요청의 유형에 따라 어느 한 명의 사용자 이미지 데이터와의 동형 암호화 연산을 수행하거나, 복수의 사용자 이미지 데이터를 이용하여 복수 회의 동형 암호화 연산을 수행할 수 있다. The image calculation server 200 may store a plurality of second image data (images of other users), perform a homomorphic encryption operation with one user's image data, or perform a plurality of user image data according to the type of operation request. It is possible to perform a plurality of homomorphic encryption operations using
이미지 연산 서버(200)는 동형 암호화된 연산 결과를 산출할 수 있으며, 연산 결과에 대한 복호화는 식별자 디바이스(100)에서 수행될 수 있다. 즉, 이미지 연산 서버(200)는 식별자 디바이스(100)로부터 동형 암호화된 제1 이미지 데이터를 수신하여 연산을 수행하고, 그 결과 또한 복호화하지 않은 상태로 전달하기 때문에, 이미지 연산 서버(200)는 해당 사용자가 미리 저장된 A 사용자와 일치하는지 혹은 복수의 사용자 중 어느 한 명의 사용자인지에 대한 식별 결과를 확인할 수 없다. The image 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 image calculation server 200 receives the homomorphically encrypted first image data from the identifier device 100, performs calculation, and transmits the result without decryption, the image 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 image calculation server 200 performs an operation based on the homomorphically encrypted first image data and the plaintext second image 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 image data.
다양한 실시예에서, 이미지 연산 서버(200)는 식별자 디바이스(100)로 데이터 동형 암호화 및 식별 결과 복호화를 위한 웹 페이지 또는 어플리케이션을 제공할 수 있다. In various embodiments, the image calculation 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 image calculation server 200 may pre-process image 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 image calculation server 200 may convert image data into locations in order to calculate a similarity to the image data. That is, each image data can be converted to a designated position 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 image calculation server 200 is in a state of homomorphic encryption, so there is no possibility of exposure of a user image while personal identification service is provided, and personal information is infringed. situation can be prevented.
이하에서는, 개인 식별 서비스를 제공 받는 식별자 디바이스(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 acquires an image of a user, and converts data constituting a personal identification interface screen for outputting a personal identification result, preprocessed first image data, and first image data in a form capable of homomorphic encryption. A function for conversion, an algorithm for homomorphic encryption, homomorphically encrypted first image data, parameters for homomorphic encryption operation, and the like 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 an image 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)는 카메라 서브 시스템(170)을 통해 촬영된 사용자의 이미지를 획득할 수 있으며, 개인 식별을 위해 사용자의 이미지가 아닌 정맥의 분포 패턴을 활용할 경우, 통신 모듈(152)을 통해 사용자 개인이 소지한 웨어러블 디바이스(미도시)로부터 손가락, 손목의 이미지를 획득할 수도 있다. Referring to FIG. 3 , the processor 120 may acquire first image data of the user (S110). For example, the processor 120 may acquire a user's image captured through the camera subsystem 170, and when using a vein distribution pattern rather than the user's image for personal identification, the communication module 152 Images of a finger and a wrist may be obtained from a wearable device (not shown) possessed by an individual user.
관련하여, 도 4를 참조하면, 식별자 디바이스(100)의 프로세서(120)는 (a)와 같이, 사용자의 제1 이미지 데이터를 획득하기 위한 인터페이스 화면을 제공할 수 있다. 구체적으로, 인터페이스 화면에는 카메라 서브 시스템(170)을 통해서 사용자의 얼굴 이미지를 획득할 수 있는 가이드 라인(10)과 사용자 안내 문구(11)가 포함될 수 있다. 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 image data as shown in (a). Specifically, the interface screen may include a guideline 10 for obtaining a user's face image through the camera subsystem 170 and a user guide text 11 .
이 외에도, 인터페이스 화면에는 식별자 디바이스(100)가 배치된 위치 정보와 개인 식별을 수행하는 시간 정보가 함께 표시될 수 있다. In addition to this, information on the location where the identifier device 100 is placed and time information for performing personal identification may be displayed together on the interface screen.
프로세서(120)는 (b)와 같이, 가이드 라인(10) 내 사용자 이미지(12)를 획득하는 경우, 카메라 서브 시스템(170)을 통해 사용자 이미지를 획득할 수 있다. When acquiring the user image 12 within the guideline 10, the processor 120 may obtain the user image through the camera subsystem 170 as shown in (b).
다양한 실시예에서, 프로세서(120)는 이미지 전체를 동형 암호화할 수도 있지만, 관리자의 설정에 따라, 이미지의 특징점을 동형 암호화할 수 있다. 이를 위해, 프로세서(120)는 이미지에서 특징 데이터를 추출할 수 있다. 구체적으로, 프로세서(120)는 이미지의 가로/세로 위치를 기준으로 픽셀 값의 변화율을 계산하고(이미지 미분), 이 값들을 이용하여 엣지 추출(edge detection), 코너 추출(corner detection)을 수행하여 특징 데이터(특징점들의 좌표 값)를 획득하거나, 이미지 히스토그램(image Histogram), 그래디언트 히스토그램 설명자(gradient histogram descriptor), FAST(Features from Accelerated Segment Test), SIFT(Scale-Invariant Feature Transform), SURF(Speed-Up Robust Features) 등의 방법을 통해 특징 데이터(특징점들의 좌표 값)를 획득할 수 있다. 그에 따라, 예를 들어, 프로세서(120)는 이미지에서 사용자의 눈, 코, 입의 좌표 값을 추출할 수 있으며, 이 외에도 이미지의 픽셀 별 RGB 값을 추출할 수도 있다. In various embodiments, the processor 120 may homomorphically encrypt the entire image, but may also homomorphically encrypt feature points of the image according to a manager's setting. To this end, the processor 120 may extract feature data from the image. Specifically, the processor 120 calculates the rate of change of pixel values based on the horizontal/vertical position of the image (image differentiation), performs edge detection and corner detection using these values, Acquiring feature data (coordinate values of feature points), image histogram, gradient histogram descriptor, FAST (Features from Accelerated Segment Test), SIFT (Scale-Invariant Feature Transform), SURF (Speed- Feature data (coordinate values of feature points) may be acquired through a method such as Up Robust Features. Accordingly, for example, the processor 120 may extract coordinate values of the user's eyes, nose, and mouth from the image, and may also extract RGB values for each pixel of the image.
즉, 프로세서(120)는 카메라 서브 시스템(170)을 통해 촬영된 이미지, 이미지에서 추출된 복수의 특징 좌표 값((User1=(E1, N1, L1))), 이미지의 픽셀 별 RGB 값 중 어느 하나를 개인 식별이 필요한 사용자의 제1 이미지 데이터로 사용할 수 있다. 이 중 이미지의 픽셀 별 RGB 값은 이미지의 크기 또는 해상도에 따라 데이터의 크기가 지나치게 커질 수 있으므로, 프로세서(120)는 예를 들어, 복수의 특징 좌표 값에 대응되는 픽셀에서의 RBG 값을 사용자의 제1 이미지 데이터로 사용할 수 있다. That is, the processor 120 uses an image captured through the camera subsystem 170 and a plurality of feature coordinate values extracted from the image ((User1=(E 1 , N 1 , L 1 ))), and any one of RGB values for each pixel of the image may be used as the user's first image data requiring personal identification. Among them, since the data size of the RGB values for each pixel of the image may be excessively large depending on the size or resolution of the image, the processor 120, for example, converts the RBG values at pixels corresponding to a plurality of feature coordinate values to the user's It can be used as the first image data.
다양한 실시예에서, 프로세서(120)는 동형 암호화 연산의 부담을 줄이기 위해, 사용자의 제1 이미지 데이터를 전처리할 수 있다. 예를 들어, 프로세서(120)는 제1 이미지 데이터와 비교 대상인 제2 이미지 데이터와의 유사도를 계산하기 위해, 이미지 데이터를 미리 저장된 함수를 이용하여 위치로 변환할 수 있다. In various embodiments, the processor 120 may pre-process the user's first image data in order to reduce the burden of the homomorphic encryption operation. For example, the processor 120 may convert image data into positions using a pre-stored function in order to calculate a similarity between the first image data and the second image data to be compared.
다시 도 3을 참조하면, S110 단계 이후, 프로세서(120)는 제1 이미지 데이터를 동형 암호화 할 수 있다(S120). 구체적으로, 프로세서(120)는 동형 암호화 연산을 위한 파라미터가 반영된 암호화 키를 이용하여 제1 이미지 데이터를 동형 암호화할 수 있다. Referring back to FIG. 3 , after step S110, the processor 120 may homomorphically encrypt the first image data (S120). Specifically, the processor 120 may homomorphically encrypt the first image data using an encryption key in which parameters for homomorphic encryption operation are reflected.
다양한 실시예에서, 프로세서(120)는 부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 제1 이미지 데이터를 동형 암호화할 수 있다. In various embodiments, the processor 120 may encrypt the first image 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)), 이미지의 속성 정보(해상도, 크기)일 수 있다. After step S120, the processor 120 may transmit the homomorphically encrypted first image data to the image calculation server 200 through the communication module 152 (S130). The processor 120 may transmit to the image calculation server 200 an operation request including the homomorphically encrypted first image data and parameters used in the process of homomorphically encrypting the first image data. For example, parameters include the polynomial degree of a function used for homomorphic encryption operation, scale bits and coefficients specified for homomorphic encryption operation, and image attribute information (resolution, size). can be
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 image data and pre-stored second image data of another user from the image calculation server 200 (S140). ). Here, the homomorphically encrypted identification result may be an identification result calculated based on the homomorphically encrypted first image data and the homomorphically encrypted second image data based on the parameters provided in step S130 .
즉, 동일한 파라미터가 반영된 암호화 키를 이용하여 제1 및 제2 이미지 데이터가 동형 암호화된 상태로 연산될 수 있으며, 그에 따라, 이 후 이미지 연산 서버(200)에 의해 연산된 식별 결과가 올바르게 복호화될 수 있다. That is, the first and second image data may be computed in a homomorphic encrypted state using an encryption key to which the same parameters are reflected, and accordingly, the identification result computed by the image computation server 200 may be correctly decrypted. can
한편, 프로세서(120)는 연산 요청에 따라 미리 저장된 한 명의 다른 사용자의 이미지 데이터와의 식별 결과를 수신하거나, 복수의 다른 사용자 각각의 이미지 데이터와의 식별 결과를 수신할 수 있다. Meanwhile, the processor 120 may receive a pre-stored identification result with image data of one other user or identification result with image 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)와 같이 사용자가 복수의 출입 가능한 사용자 중 어느 하나의 사용자와 일치하는지, 일치하지 않는지에 따라 출입 가능 여부를 나타내는 알림(13)을 제공할 수 있다. 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 13 indicating.
다시 도 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 image data to the image operation server 200 in order to compare its own image data with image data of another user, and accordingly Accordingly, the identity of the user can be quickly confirmed while protecting the portrait right of the user.
이하에서는 개인 식별 서비스를 제공하는 이미지 연산 서버(200)에 대하여 설명하도록 한다. Hereinafter, the image calculation server 200 providing a personal identification service will be described.
도 6은 본 발명의 일 실시예에 따른 동형 암호화 연산을 수행하는 이미지 연산 서버의 구성을 나타낸 블록도이다. 6 is a block diagram showing the configuration of an image calculation server that performs a homomorphic encryption calculation according to an embodiment of the present invention.
도 6을 참조하면, 이미지 연산 서버(200)는 통신 인터페이스(210), 메모리(220), I/O 인터페이스(230) 및 프로세서(240)를 포함할 수 있으며, 각 구성은 하나 이상의 통신 버스 또는 신호 라인을 통해 서로 통신할 수 있다. Referring to FIG. 6 , the image processing server 200 may include a communication interface 210, a memory 220, an I/O interface 230, and a processor 240, each component comprising 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 image data and parameters for a homomorphic encryption operation from the identifier device 100, and may receive the homomorphically encrypted first image 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 이미지 데이터(사용자 이미지, 사용자 이미지에서 추출되는 특징 데이터(좌표 값, RGB 값), 제2 이미지 데이터를 동형 암호화 가능한 형태로 변환하기 위한 함수, 동형 암호화를 위한 알고리즘 등을 저장할 수 있다. The memory 220 may store various data used in the image calculation server 200 . For example, the memory 220 may be configured to convert the second image data (user image, feature data (coordinate values, RGB values) extracted from the user image) for a plurality of users into a form capable of isomorphic encryption. It can store functions, algorithms for homomorphic encryption, etc.
다양한 실시예에서, 메모리(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 image 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 image calculation 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 overall operations of the image calculation server 200, and applications or programs 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 an image calculation server according to an embodiment of the present invention.
도 7을 참조하면, 프로세서(240)는 통신 인터페이스(210)를 통해 식별자 디바이스(100)로부터 동형 암호화된 사용자의 제1 이미지 데이터를 포함하는 연산 요청을 수신할 수 있다(S210). 연산 요청에는 제1 이미지 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터, 제1 이미지에서 추출된 특징 데이터가 포함될 수 있다. Referring to FIG. 7 , the processor 240 may receive an operation request including homomorphically encrypted first image data of the user from the identifier device 100 through the communication interface 210 (S210). The operation request may include a parameter for a homomorphic encryption operation used to homomorphically encrypt the first image data and feature data extracted from the first image.
S210 단계 이후, 프로세서(240)는 연산 요청에 따라 미리 저장된 다른 사용자의 제2 이미지 데이터를 획득할 수 있다(S220). 프로세서(240)는 연산 요청이 한 명의 다른 사용자의 제2 이미지 데이터에 대한 연산 요청인지, 복수의 다른 사용자의 제2 이미지 데이터에 대한 연산 요청인지에 따라, 메모리(220)에 저장된 사용자의 제2 이미지 데이터를 로드(load)할 수 있다. After step S210, the processor 240 may acquire pre-stored second image data of another user according to the operation request (S220). The processor 240 determines whether the operation request is for one other user's second image data or a plurality of other users' second image data, and the user's second image data stored in the memory 220 Image data can be loaded.
아울러, 프로세서(240)는 제1 이미지 데이터가 식별자 디바이스(100)를 통해 촬영된 이미지, 복수의 특징 좌표 값((User1=(E1, N1, L1))) 및 이미지의 픽셀 별 RGB 값(특징 데이터) 중 어느 하나인지 확인하고, 그에 맞는 제2 이미지 데이터를 획득할 수 있다. In addition, the processor 240 converts the first image data into an image captured through the identifier device 100, a plurality of feature coordinate values ((User1=(E 1 , N 1 , L 1 ))) and RGB values (feature data) for each pixel of the image may be checked, and second image data suitable thereto may be obtained.
프로세서(240)는 동형 암호화된 제1 이미지 데이터 동일한 파라미터가 반영된 암호화 키를 이용하여 메모리(220)에 저장된 다른 사용자의 제2 이미지 데이터를 동형 암호화할 수 있다. 또한, 프로세서(240)는 연산 요청에 따라 메모리(220)에 저장된 한 명의 다른 사용자의 제2 이미지 데이터를 동형 암호화하거나, 메모리(220)에 저장된 복수의 다른 사용자의 제2 이미지 데이터를 동형 암호화할 수 있다. The processor 240 may homomorphically encrypt another user's second image data stored in the memory 220 using an encryption key in which the same parameter of the homomorphically encrypted first image data is reflected. In addition, the processor 240 may homomorphically encrypt second image data of one other user stored in the memory 220 or homomorphically encrypt second image data of a plurality of other users stored in the memory 220 according to an 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 the previously stored second image 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 image data and the second image data (S230). Specifically, the processor 240 converts the two image data to a distance similarity calculation method (eg, Euclidean distance measurement method, Minkowski distance measurement method, Cosine similarity calculation method, The similarity between image data (image identification result) may be calculated by calculating using a mean squared difference similarity calculation method, a Pearson similarity calculation method, or the like.
이를 위해, 프로세서(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 image data and a second position corresponding to the second image data. For example, the processor 240 may determine a location corresponding to each image data as a real number value or a location vector using a hexagonal hierarchical spatial index (H3) system.
프로세서(240)는 제1 위치와 제2 위치 사이의 거리 값을 앞서 언급한 거리 유사도 계산 방법을 이용하여 계산하여, 식별 결과에 대응되는 값을 획득할 수 있다. 예를 들어, 프로세서(240)는 계산된 거리 값이 미리 지정된 거리 범위에 포함되는 경우, 두 개의 이미지 데이터가 유사하다는 결과를 포함하는 동형 암호화된 식별 결과를 산출할 수 있으며, 계산된 거리 값이 미리 지정된 거리 범위에 포함되지 않는 경우, 두 개의 이미지 데이터가 유사하지 않다는 결과를 포함하는 동형 암호화된 식별 결과를 산출할 수 있다. The processor 240 may obtain a value corresponding to an identification result by calculating a distance value between the first location and the second location using the aforementioned distance similarity calculation method. 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 image data are similar, and the calculated distance value is If it is not included in the predetermined distance range, a homomorphic encrypted identification result including a result indicating that the two image 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 image data that is homomorphically encrypted with the second image data of one or more other users, according to the type of operation request.
한편, 상술한 식별 결과는 동형 암호화된 상태인 바, 프로세서(240)는 두 개의 이미지 데이터 간의 유사도 결과는 확인할 수 없다. Meanwhile, since the above identification result is homomorphically encrypted, the processor 240 cannot determine a similarity result between the two image data.
S230 단계 이후, 프로세서(240)는 동형 암호화된 식별 결과를 식별자 디바이스(100)로 송신할 수 있다(S240). 동형 암호화된 식별 결과는 식별자 디바이스(100)에 의해서 복호화될 수 있으며, 그에 따라, 프로세서(240)는 jpg, png, pdf 과 같은 포맷의 사용자의 이미지를 획득하지 않고도, 메모리(220)에 저장된 복수의 다른 사용자의 이미지와의 비교 및 식별 결과를 산출하여 식별자 디바이스(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 can be decrypted by the identifier device 100, and accordingly, the processor 240 does not acquire a user's image in a format such as jpg, png, or pdf, and stores a plurality of images stored in the memory 220. Comparison with other users' images and identification results may be calculated and provided to the identifier device 100.
지금까지 본 발명의 일 실시예에 따른 이미지 연산 서버(200)에 대하여 설명하였다. 본 발명에 따르면, 사용자 고유의 이미지가 각자의 안전한 디바이스 내에 저장된 상태로 동형 암호화 및 복호화되고, 이미지 연산 서버(200)는 동형 암호화된 연산 결과만을 전달해 줌으로써, 민감 정보 처리에 따른 위험 부담을 최소화할 수 있다. So far, the image calculation server 200 according to an embodiment of the present invention has been described. According to the present invention, a user's own image is homomorphically encrypted and decrypted in a state stored in each safe device, and the image 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 image calculation 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 acquire an image of a user (S10) or, in addition, extract feature data from the image (S11), and homomorphically encrypt the image or feature data (first image data). It can (S12).
식별자 디바이스(100)는 동형 암호화된 제1 이미지 데이터와 함께 동형 암호 연산을 위한 파라미터를 이미지 연산 서버(200)로 송신할 수 있다. 여기서, 동형 암호 연산을 위한 파라미터는 동형 암호화된 제1 이미지 데이터의 암호화 키에 적용된 파라미터일 수 있다. The identifier device 100 may transmit parameters for homomorphic encryption calculation to the image calculation server 200 together with the homomorphically encrypted first image data. Here, the parameter for the homomorphic encryption operation may be a parameter applied to an encryption key of the homomorphically encrypted first image data.
이미지 연산 서버(200)는 파라미터를 이용하여 미리 저장된 제2 이미지 데이터를 동형 암호화하고(S14), 동형 암호화된 제1, 제2 이미지 데이터를 기초로 동형 암호화된 식별 결과를 산출할 수 있다(S15)(즉, 동형 암호화된 데이터를 연산할 수 있다). 구체적으로, 이미지 연산 서버(200)는 동형 암호화된 이미지 데이터에 대응되는 위치를 결정하고, 위치 사이의 거리를 계산하여, 동형 암호화된 데이터 간의 연산을 수행할 수 있으며, 식별 결과에 대응되는 값을 획득할 수 있다. The image operation server 200 may homomorphically encrypt previously stored second image data using parameters (S14), and calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second image data (S15). ) (that is, it can operate on homomorphic encrypted data). Specifically, the image calculation server 200 may determine locations corresponding to the homomorphically encrypted image 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 이미지 데이터 간의 비교 연산을 수행할 수도 있다. In various embodiments, the image calculation server 200 may perform a comparison operation between the plaintext second image data and the homomorphically encrypted first image data without encrypting the previously stored second image data.
이미지 연산 서버(200)는 암호화된 연산 결과를 식별자 디바이스(100)로 송신하고(S16), 식별자 디바이스(100)는 연산 결과를 복호화하여(S17), 디스플레이 화면 상에 복호화 결과를 출력할 수 있다(S18). The image calculation server 200 transmits the encrypted calculation result to the identifier device 100 (S16), the identifier device 100 decrypts the calculation result (S17), and outputs the decryption result on the display screen. (S18).
한편, 동형 암호화된 데이터 간의 연산은 식별자 디바이스(100)에서도 이미지 연산 서버(200)와 동일한 방식으로 수행될 수 있다. Meanwhile, calculation between homomorphic encrypted data may be performed in the identifier device 100 in the same manner as in the image calculation server 200 .
관련하여, 도 9를 참조하면, S20 내지 S21 단계는 이전과 동일하나, 식별자 디바이스(100)는 이미지 또는 특징 데이터를 동형 암호화를 선택적으로 수행할 수 있다(S22). In relation to this, referring to FIG. 9 , steps S20 to S21 are the same as before, but the identifier device 100 may selectively perform homomorphic encryption on the image or feature data (S22).
이 후, 식별자 디바이스(100)는 이미지 연산 서버(200)로 동형 암호 연산을 위한 파라미터를 포함하는 데이터 식별 요청을 송신할 수 있다(S23). Thereafter, the identifier device 100 may transmit a data identification request including parameters for isomorphic encryption operation to the image operation server 200 (S23).
이미지 연산 서버(200)는 데이터 식별 요청에 따라, 앞서 수신된 파라미터와 동일한 파라미터를 이용하여 미리 저장된 복수의 제2 이미지 데이터를 동형 암호화하여 식별자 디바이스(100)로 송신할 수 있다. The image calculation server 200 may homomorphically encrypt a plurality of pre-stored second image 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 image calculation server 200 provides the second image data that is homomorphically encrypted, the identifier device 100 may calculate a homomorphically encrypted identification result based on the homomorphically encrypted first and second image 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 image calculation server 200 (S26), and the image 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 or not the image of the user and another user matches, 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 idea of the present invention, but to explain, and the scope of the technical idea of the present invention is not limited by these embodiments. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be construed according to the claims below, 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 이미지 데이터를 획득하는 단계; obtaining first image data of a user;
    상기 제1 이미지 데이터를 동형 암호화하는 단계; Homomorphically encrypting the first image data;
    이미지 연산 서버로 동형 암호화된 제1 이미지 데이터를 송신하는 단계; Transmitting homomorphically encrypted first image data to an image calculation server;
    상기 이미지 연산 서버로부터 상기 동형 암호화된 제1 이미지 데이터와 미리 저장된 다른 사용자의 제2 이미지 데이터를 기초로 계산된 동형 암호화된 식별 결과를 수신하는 단계; 및receiving a homomorphically encrypted identification result calculated based on the homomorphically encrypted first image data and previously stored second image data of another user from the image calculation server; and
    상기 동형 암호화된 식별 결과를 복호화하는 단계; 를 포함하는 동형 암호화된 이미지를 이용한 개인 식별 방법.decrypting the homomorphically encrypted identification result; Personal identification method using a homomorphic encrypted image comprising a.
  2. 제1항에 있어서, According to claim 1,
    상기 동형 암호화된 제1 이미지 데이터를 송신하는 단계는, In the step of transmitting the homomorphically encrypted first image data,
    상기 제1 이미지 데이터를 동형 암호화하기 위해 사용된, 동형 암호화 연산을 위한 파라미터를 상기 이미지 연산 서버로 송신하는 단계, 를 더 포함하는 동형 암호화된 이미지를 이용한 개인 식별 방법.The personal identification method using a homomorphic encrypted image, further comprising: transmitting a parameter for homomorphic encryption operation, used to homomorphically encrypt the first image data, to the image 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 image data and the second image data homomorphically encrypted based on the parameters.
  4. 제1항에 있어서, According to claim 1,
    상기 제2 이미지 데이터는,The second image data,
    상기 이미지 연산 서버에 미리 저장된 복수의 다른 사용자의 이미지 데이터이고, Image data of a plurality of other users pre-stored in the image 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 image data and the second image data,
    식별자 디바이스를 통해 촬영된 이미지, 상기 이미지에서 추출된 복수의 특징 좌표 값 및 상기 이미지의 픽셀 별 RGB 값 중 적어도 하나를 포함하는, 동형 암호화된 이미지를 이용한 개인 식별 방법.A personal identification method using a homomorphic encrypted image, comprising at least one of an image captured through an identifier device, a plurality of feature coordinate values extracted from the image, and RGB values for each pixel of the image.
  6. 제1항에 있어서, According to claim 1,
    상기 동형 암호화하는 단계는,In the homomorphic encryption step,
    부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 동형 암호화하는 단계인, 동형 암호화된 이미지를 이용한 개인 식별 방법.Personal identification method using a homomorphic encrypted image, 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 image data of a user from an identifier device;
    상기 연산 요청에 따라 미리 저장된 다른 사용자의 제2 이미지 데이터를 획득하는 단계; obtaining pre-stored second image data of another user according to the operation request;
    상기 동형 암호화된 제1 이미지 데이터와 상기 제2 이미지 데이터를 기초로 동형 암호화된 식별 결과를 산출하는 단계; 및calculating a homomorphically encrypted identification result based on the homomorphically encrypted first image data and the second image data; and
    상기 동형 암호화된 식별 결과를 상기 식별자 디바이스로 송신하는 단계; 를 포함하는 동형 암호화된 이미지를 이용한 개인 식별 방법.sending the homomorphically encrypted identification result to the identifier device; Personal identification method using a homomorphic encrypted image 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 image data from the identifier device;
    상기 획득하는 단계는, The obtaining step is
    상기 파라미터를 기초로 상기 제2 이미지 데이터를 동형 암호화하는 단계, 를 더 포함하는, 동형 암호화된 이미지를 이용한 개인 식별 방법.Homomorphically encrypting the second image data based on the parameter; The personal identification method using a homomorphically encrypted image, 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 image data and a second position corresponding to the second image 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 image data,
    미리 저장된 복수의 다른 사용자의 제2 이미지 데이터이고, Second image data of a plurality of other users stored in advance;
    상기 동형 암호화된 식별 결과를 산출하는 단계는, Calculating the homomorphic encrypted identification result,
    상기 수신된 연산 요청의 종류에 따라, 상기 복수의 다른 사용자의 제2 이미지 데이터와 상기 동형 암호화된 제1 이미지 데이터를 기초로 암호화된 식별 결과를 산출하는 단계인, 동형 암호화된 이미지를 이용한 개인 식별 방법.calculating an encrypted identification result based on the second image data of the plurality of other users and the homomorphically encrypted first image data according to the type of the received operation request; method.
  11. 제7항에 있어서,According to claim 7,
    상기 제1 이미지 데이터 및 상기 제2 이미지 데이터는,The first image data and the second image data,
    상기 식별자 디바이스를 통해 촬영된 이미지, 상기 이미지에서 추출된 복수의 특징점 및 상기 이미지의 픽셀 별 RGB 값 중 적어도 하나를 포함하는, 동형 암호화된 이미지를 이용한 개인 식별 방법.An individual identification method using a homomorphic encrypted image, comprising at least one of an image captured through the identifier device, a plurality of feature points extracted from the image, and RGB values for each pixel of the image.
  12. 제8항에 있어서, According to claim 8,
    상기 동형 암호화하는 단계는,In the homomorphic encryption step,
    부분 동형 암호(Partial Homomorphic Encryption), 준동형 암호(Somewhat Homomorphic Encryption) 및 완전 동형 암호(Fully Homomorphic Encryption) 중 어느 하나의 암호화 방법을 이용하여 동형 암호화하는 단계인, 동형 암호화된 이미지를 이용한 개인 식별 방법.Personal identification method using a homomorphic encrypted image, which is a step of homomorphic encryption using any one of partial homomorphic encryption, somewhat homomorphic encryption, and fully homomorphic encryption. .
PCT/KR2022/019485 2021-12-30 2022-12-02 Personal identification method and system using homomorphically encrypted image WO2023128345A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0192467 2021-12-30
KR1020210192467A KR102404763B1 (en) 2021-12-30 2021-12-30 Method and system for personal identification using homomorphic encryption

Publications (1)

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

Family

ID=81985536

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019485 WO2023128345A1 (en) 2021-12-30 2022-12-02 Personal identification method and system using homomorphically encrypted image

Country Status (2)

Country Link
KR (1) KR102404763B1 (en)
WO (1) WO2023128345A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117201698A (en) * 2023-11-07 2023-12-08 北京隐算科技有限公司 Safe and efficient image recognition method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102404763B1 (en) * 2021-12-30 2022-06-02 주식회사 디사일로 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
KR101755995B1 (en) * 2016-03-16 2017-07-10 인하대학교 산학협력단 Method and system for feature vector based remote biometric verification using homomorphic encryption
CN110011954A (en) * 2018-11-27 2019-07-12 阿里巴巴集团控股有限公司 Biometric discrimination method, device, terminal and service server based on homomorphic cryptography
US20190220866A1 (en) * 2018-01-12 2019-07-18 Visa International Service Association Authentication Based on Biometric Identification Parameter of an Individual for Payment Transaction
KR20190085674A (en) * 2018-01-11 2019-07-19 삼성전자주식회사 Electronic device, server and control method thereof
US20200358611A1 (en) * 2019-05-06 2020-11-12 Inferati Inc. Accurate, real-time and secure privacy-preserving verification of biometrics or other sensitive information
KR102404763B1 (en) * 2021-12-30 2022-06-02 주식회사 디사일로 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
KR101755995B1 (en) * 2016-03-16 2017-07-10 인하대학교 산학협력단 Method and system for feature vector based remote biometric verification using homomorphic encryption
KR20190085674A (en) * 2018-01-11 2019-07-19 삼성전자주식회사 Electronic device, server and control method thereof
US20190220866A1 (en) * 2018-01-12 2019-07-18 Visa International Service Association Authentication Based on Biometric Identification Parameter of an Individual for Payment Transaction
CN110011954A (en) * 2018-11-27 2019-07-12 阿里巴巴集团控股有限公司 Biometric discrimination method, device, terminal and service server based on homomorphic cryptography
US20200358611A1 (en) * 2019-05-06 2020-11-12 Inferati Inc. Accurate, real-time and secure privacy-preserving verification of biometrics or other sensitive information
KR102404763B1 (en) * 2021-12-30 2022-06-02 주식회사 디사일로 Method and system for personal identification using homomorphic encryption

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117201698A (en) * 2023-11-07 2023-12-08 北京隐算科技有限公司 Safe and efficient image recognition method
CN117201698B (en) * 2023-11-07 2024-01-12 北京隐算科技有限公司 Safe and efficient image recognition method

Also Published As

Publication number Publication date
KR102404763B1 (en) 2022-06-02

Similar Documents

Publication Publication Date Title
WO2023128345A1 (en) Personal identification method and system using homomorphically encrypted image
WO2023128342A1 (en) Method and system for identifying individual using homomorphically encrypted voice
WO2015126135A1 (en) Method and apparatus for processing biometric information in electronic device
WO2019143210A1 (en) Electronic device for authenticating user by using audio signal and method thereof
WO2019144738A1 (en) Financial service verification method, apparatus and device, and computer storage medium
WO2018155920A1 (en) Method and apparatus for authenticating users in internet of things environment
WO2016036115A1 (en) Electronic device and method for managing re-registration
WO2013125910A1 (en) Method and system for authenticating user of a mobile device via hybrid biometics information
WO2020036311A1 (en) Method and device for generating content
WO2016204466A1 (en) User authentication method and electronic device supporting the same
WO2019139420A1 (en) Electronic device, server, and control method therefor
WO2021085799A1 (en) Electronic device for performing user authentication by using user biometric information, and operation method thereof
WO2020184987A1 (en) Electronic device including secure integrated circuit
WO2018080198A1 (en) Electronic device and method for performing authentication
WO2018169150A1 (en) Locked screen-based user authentication system and method
WO2012053875A2 (en) Apparatus and system for transceiving data through fingerprint information
WO2022098189A1 (en) Identity authentication system using user biometric information
WO2020190099A1 (en) Electronic device for managing personal information and operating method thereof
WO2017200239A2 (en) Method and apparatus for user authentication on basis of touch input including fingerprint information
WO2020235733A1 (en) Device and method for authenticating user and obtaining user signature using user's biometrics
WO2023128341A1 (en) Method and system for fraudulent transaction detection using homomorphically encrypted data
WO2020032351A1 (en) Method for establishing anonymous digital identity
WO2019147105A1 (en) Electronic device, external electronic device and system comprising same
WO2020189811A1 (en) Electronic device and control method therefor
WO2023128340A1 (en) Method and system for processing homomorphic encrypted data

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: 22916491

Country of ref document: EP

Kind code of ref document: A1