WO2023113572A1 - Electronic apparatus and encryption method - Google Patents

Electronic apparatus and encryption method Download PDF

Info

Publication number
WO2023113572A1
WO2023113572A1 PCT/KR2022/020683 KR2022020683W WO2023113572A1 WO 2023113572 A1 WO2023113572 A1 WO 2023113572A1 KR 2022020683 W KR2022020683 W KR 2022020683W WO 2023113572 A1 WO2023113572 A1 WO 2023113572A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
random
ciphertext
certificate information
encrypted
Prior art date
Application number
PCT/KR2022/020683
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
Priority claimed from KR1020220172019A external-priority patent/KR20230092763A/en
Application filed by 주식회사 크립토랩 filed Critical 주식회사 크립토랩
Publication of WO2023113572A1 publication Critical patent/WO2023113572A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Definitions

  • the present disclosure relates to an electronic device and an encryption method, and more particularly, to an electronic device capable of performing quantum resistant encryption using a legacy certificate and an encryption method.
  • PKI Pubic Key Infrastructure
  • PKI Pubic Key Infrastructure
  • the present disclosure is designed to solve the above problems, and relates to an electronic device capable of performing quantum resistant encryption using a legacy certificate and an encryption method.
  • an electronic device provides a memory for storing certificate information including a public key, a communication device for communicating with an external device, and a plurality of random and a processor generating a secret key using the key and encrypting a message using the generated secret key to generate cipher text, wherein the processor includes the plurality of random keys and an ID-based public key corresponding to the certificate information. and generating a hybrid ciphertext using a public key included in the certificate information, and controlling the communication device to transmit the encrypted message and the generated hybrid ciphertext to the external device.
  • the processor may generate a first random key and a second random key, and perform an XOR operation on the first random key and the second random key to generate the secret key.
  • the processor encrypts the first random key using the ID-based public key, encrypts the second random key using a public key included in the certificate information, and encrypts the encrypted first random key and Hybrid ciphertext may be generated using the encrypted second random key.
  • the processor may encrypt the first random key using a first encryption method and encrypt the second random key using a second encryption method different from the first encryption method.
  • the ID-based public key is calculated using an ID generated based on information included in the certificate information, and the ID includes a serial number in the certificate information, a subject unique ID, and an issuer unique ID (Issuer Unique ID).
  • the processor may control the communication device to communicate with the external device using Transport Layer Security (TLS).
  • TLS Transport Layer Security
  • the certificate information may be information corresponding to a PKI certificate.
  • an encryption method of an electronic device includes storing certificate information including a public key, receiving an ID-based public key based on the certificate information from an external device, and generating a plurality of random keys. generating a private key using the generated private key, and generating a cipher text by encrypting a message using the generated private key, the plurality of random keys, an ID-based public key corresponding to the certificate information, and the disclosure included in the certificate information. Generating a hybrid cipher text using a key, and transmitting the encrypted message and the generated hybrid cipher text to the external device.
  • the secret key may be generated by generating a first random key and a second random key, and performing an XOR operation on the first random key and the second random key.
  • the first random key is encrypted using the ID-based public key
  • the second random key is encrypted using a public key included in the certificate information
  • the encryption The hybrid ciphertext may be generated using the encrypted first random key and the encrypted second random key.
  • the first random key may be encrypted using a first encryption method
  • the second random key may be encrypted using a second encryption method different from the first encryption method
  • the certificate information may be information corresponding to a PKI certificate.
  • a decryption method of an electronic device includes storing certificate information including a public key, obtaining an ID-based private key corresponding to the certificate information, and receiving ciphertext and hybrid ciphertext. generating a secret key for the ciphertext using the public key, the ID-based private key, and the hybrid ciphertext; and decrypting the ciphertext using the private key.
  • the step of generating the secret key may include each of the encrypted first random key and the encrypted second random key included in the hybrid ciphertext based on the secret key corresponding to the public key included in the certificate information or the ID. Decryption is performed using the secret key, and a secret key may be generated by performing an XOR operation on the first random key and the second random key.
  • the ID-based private key is calculated using an ID generated based on information included in the certificate information, and the ID includes a serial number in the certificate information, a subject unique ID, and an issuer unique ID (Issuer Unique ID).
  • quantum resistant encryption can be performed even using an existing legacy certificate.
  • FIG. 1 is a diagram for explaining the structure of a network system according to an embodiment of the present disclosure
  • FIG. 2 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure
  • FIG. 3 is a diagram showing an example of information included in a certificate according to an embodiment of the present disclosure.
  • FIG. 4 is a diagram for explaining an operation of obtaining an ID private key according to an embodiment of the present disclosure
  • FIG. 5 is a diagram for explaining an encryption operation according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining an encryption method according to an embodiment of the present disclosure.
  • FIG. 7 is a diagram for explaining a decoding method according to an embodiment of the present disclosure.
  • 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.
  • a component e.g., a first component
  • another component e.g., a second component
  • connection 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).
  • 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 (eg, embedded processor) to perform the operation, or by executing one or more software programs stored in a memory device.
  • a general-purpose processor eg, CPU or application processor
  • a 'module' or 'unit' performs at least one function or operation, and may be implemented with hardware or software, or a combination of hardware and software.
  • a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
  • operations performed by modules, programs, or other components may be executed sequentially, in parallel, repetitively, or heuristically, or at least some operations may be executed in a different order, may be omitted, or other operations may be added.
  • an electronic device may include, for example, at least one of a TV, a monitor, a projector, a set-top box, a smart phone, a tablet PC, a desktop PC, a laptop PC, or a wearable device.
  • Wearable devices can be accessories (e.g. watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs)), textiles or clothing integrals (e.g. electronic garments); It may include at least one of a body-attached circuit (eg, a skin pad or tattoo) or a body-implanted circuit.
  • the electronic device may be, for example, a refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set top box, home automation control panel, security control panel, media box (e.g. Samsung HomeSync TM , Apple TV TM , or Google TV TM ), a game console (eg, Xbox TM , PlayStation TM ), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame.
  • media box e.g. Samsung HomeSync TM , Apple TV TM , or Google TV TM
  • a game console eg, Xbox TM , PlayStation TM
  • an electronic dictionary e.g., an electronic key, a camcorder, or an electronic picture frame.
  • value is defined as a concept including a vector as well as a scalar value.
  • 'calculate', 'calculate.' Expressions such as, etc. may be replaced by an expression that produces a result of the corresponding calculation or calculation.
  • an operation for ciphertext to be described later means an isomorphic operation.
  • addition of homomorphic ciphertexts means homomorphic addition of two homomorphic ciphertexts.
  • Mathematical operations and calculations of each step of the present disclosure described below may be implemented as computer operations by a known coding method and/or coding designed appropriately for the present disclosure to perform the calculations or calculations.
  • FIG. 1 is a diagram for explaining the structure of a network system according to an embodiment of the present disclosure.
  • a network system may include a plurality of electronic devices 100-1 to 100-2, and each component may be connected to each other through a network 10.
  • the network 10 may be implemented in various types of wired and wireless communication networks, broadcast communication networks, optical communication networks, cloud networks, etc., and each device may be connected in a manner such as Wi-Fi, Bluetooth, NFC (Near Field Communication), etc. without a separate medium. may be
  • the input information may be stored in the electronic devices 100-1 to 100-n themselves, but may also be transmitted to and stored in an external device for storage capacity and security reasons.
  • each electronic device 100-1 to 100-n When each electronic device 100-1 to 100-n encrypts input information, it can transmit the encrypted information to another electronic device.
  • an object of the present disclosure is to provide an encryption method having quantum tolerance even using an existing PKI certificate (or legacy certificate).
  • a secret key for ID-based encryption is generated using an existing PKI certificate, and a quantum resistant secret key is generated using an existing public key and a newly generated private key to perform encryption.
  • the first electronic device 100-1 is a device that performs encryption and the second electronic device 100-2 is a device that performs decryption, as shown in the illustrated example.
  • the first electronic device 100-1 and the second electronic device 100-2 may each store certificate information (ie, a PKI certificate).
  • the certificate information may be generated by the second electronic device 100 - 2 or may be generated by a separate key server.
  • the second electronic device 100-2 may request an ID-based public key from the first electronic device 100-1 using the certificate information.
  • the first electronic device 100-1 may provide the ID-based public key to the second electronic device 100-2.
  • various unique information included in the aforementioned certificate information may be used as the ID used to generate the ID-based public key.
  • An example of information included in certificate information and a method for generating an ID using the same will be described later with reference to FIG. 3 .
  • a method of generating and using an ID-based public key and a corresponding private key based on a public key based on information included in certificate information is described, but a symmetric key method may be used in implementation.
  • the aforementioned ID-based public key may be referred to as an ID-based private key.
  • an ID can be generated on the side of the first electronic device 100-1, and on the side of the second electronic device 100-2 can also create If the first electronic device 100-1 generates an ID, the first electronic device 100-1 transmits the generated ID to the second electronic device 100-2, and The device 100-2 may generate an ID-based public key using the received ID. At this time, the ID-based public key may generate an ID-based private key using various algorithms such as lattice-based encryption.
  • the first electronic device 100-1 performs public key authentication, generates an ID when public key authentication is completed, and discloses the ID based on the ID. key can be generated.
  • the first electronic device 100-1 may generate a secret key using a plurality of random keys. For example, the first electronic device 100-1 may generate a first random key and a second random key, and perform an XOR operation on the two random keys to generate a secret key.
  • the first electronic device 100 - 1 may generate hybrid encryption text using the received ID-based public key and the public key.
  • the first random key used to generate the secret key is encrypted using the ID-based public key
  • the public key is used as the second random key
  • the encrypted first random key and the second random key are merged to create a hybrid A passphrase can be generated.
  • the first electronic device 100-1 encrypts the plain text using the corresponding secret key, and transmits the encrypted plain text (ie, cipher text) and the hybrid cipher text to the second electronic device 100-2.
  • the second electronic device 100-2 that has received the cipher text and the hybrid cipher text uses the public key (or private key) included in the received hybrid cipher text and certificate information and the ID-based public key to use the private key used in the cipher text. can be restored, and the ciphertext can be decrypted using the restored private key.
  • the network system according to the present disclosure can generate ciphertext with quantum resistance even using an existing legacy certificate.
  • each of the electronic devices 100-1 and 100-2 is illustrated as being connected only through the network 10, but may be connected through various devices such as a router in implementation.
  • FIG. 2 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.
  • the electronic device 100 may include a communication device 110, a memory 120, a display 130, a manipulation input device 140, and a processor 150.
  • the communication device 110 is formed to connect the electronic device 100 with an external device (not shown), and is connected to the external device through a local area network (LAN) and an Internet network, as well as a USB ( A form connected through a Universal Serial Bus) port or a wireless communication (eg, WiFi 802.11a/b/g/n, NFC, Bluetooth) port is also possible.
  • LAN local area network
  • USB A form connected through a Universal Serial Bus
  • a wireless communication eg, WiFi 802.11a/b/g/n, NFC, Bluetooth
  • Such a communication device 110 may also be referred to as a transceiver.
  • the communication device 110 may receive or transmit certificate information and may receive or transmit an ID-based public key generated by another device.
  • the communication device 110 may receive a message from an external device and transmit the generated encrypted text to the external device.
  • the memory 120 is a component for storing O/S for driving the electronic device 100, various software, data, and the like.
  • the memory 120 may be implemented in various forms such as RAM, ROM, flash memory, HDD, external memory, memory card, etc., but is not limited to any one.
  • the memory 120 stores the message to be encrypted (or plain text).
  • the message may be various types of credit information and personal information cited by the user, and may also be information related to use history, such as location information used in the electronic device 100 and Internet usage time information.
  • the memory 120 may store certificate information and may store intermediate operation results (eg, a quantum resistant secret key, an ID-based public key, etc.) required in a process described later by the electronic device 100 .
  • intermediate operation results eg, a quantum resistant secret key, an ID-based public key, etc.
  • the memory 120 may store the cipher text generated in the process described below. Also, the memory 120 may store encrypted text transmitted from an external device.
  • the display 130 displays a user interface window for selecting a function supported by the electronic device 100 .
  • the display 130 may display a user interface window for selecting various functions provided by the electronic device 100 .
  • the display 130 may be a monitor such as a liquid crystal display (LCD), organic light emitting diodes (OLED), or the like, and may be implemented as a touch screen capable of simultaneously performing the functions of the manipulation input device 140 to be described later. .
  • the display 130 may display a message in which an encryption target selects a message.
  • the encryption target may be directly selected by the user or may be automatically selected. That is, personal information requiring encryption may be automatically set even if the user does not directly select a message.
  • the manipulation input device 140 may receive a function selection of the electronic device 100 and a control command for the function from the user. Specifically, the manipulation input device 140 may receive parameters necessary for an encryption operation (or generation of a quantum resistant secret key) from a user. Also, the manipulation input device 140 may receive a message to be encrypted from the user.
  • the processor 150 controls each component within the electronic device 100 .
  • the processor 150 may be composed of a single device such as a central processing unit (CPU) and an application-specific integrated circuit (ASIC), or may be composed of a plurality of devices such as a CPU and a graphics processing unit (GPU).
  • CPU central processing unit
  • ASIC application-specific integrated circuit
  • GPU graphics processing unit
  • the processor 150 receives an ID-based public key from an external device using certificate information. Specifically, the processor 150 may generate an ID using at least one of a public key, a subject unique ID, an issuer unique ID, and a serial number among certificate information. For example, the processor 150 may generate an ID by hashing two or more unique values included in certificate information.
  • the processor 150 may control the communication device to transmit the generated ID to an external device.
  • the device for encrypting the ciphertext generates the ID, but in implementation, the decryption operation for generating the ID may be performed or the device for generating the key may generate the ID.
  • the processor 150 generates a secret key.
  • the processor 150 may generate a first random key and a second random key, and perform an XOR operation on the generated first random key and second random key to generate a secret key.
  • a secret key may be generated using various logical operations as well as an XOR operation method, and a secret key may be generated using three or more random keys.
  • the processor 150 may generate hybrid ciphertext using a plurality of random keys, public keys, and ID-based public keys. Specifically, the processor 150 may encrypt the first random key using the public key, encrypt the second random key using the ID-based public key, and merge the two encrypted random keys to generate hybrid ciphertext. there is. Meanwhile, since different public key encryption schemes are applied in the random key encryption process described above, decryption must be performed with different decryption algorithms in the decryption process.
  • the processor 150 may control the communication device 110 to transmit the cipher text and the hybrid cipher text to an external device.
  • the processor 150 may control the communication device 110 to communicate with an external device using Transport Layer Security (TLS).
  • TLS Transport Layer Security
  • the processor 150 obtains an ID corresponding to certificate information in response to a request from an external device. Since the ID generation method has been described above, redundant description will be omitted. Meanwhile, in the case of implementation, the ID generation operation may be performed by a device that generates a decryption operation or an ID-based public key.
  • the processor 150 generates an ID-based public key based on the obtained ID and transmits it to an external device.
  • the processor 150 may generate an ID-based public key using various ID-based algorithms such as a lattice-based algorithm.
  • the processor 150 may generate a private key using the hybrid cipher text, certificate information, and ID-based public key. For example, the processor 150 decrypts the first information in the hybrid cryptogram with the first random key using a private key corresponding to the public key included in the certificate information, and uses the ID-based public key to decrypt the second information in the hybrid cryptogram. Information can be decrypted with the second random key.
  • a secret key may be generated by performing an XOR operation on the decrypted first random key and the second random key.
  • the processor 150 may decrypt the ciphertext using the secret key.
  • the electronic device 100 can generate a secret key having quantum resistance even using an existing legacy certificate and perform encryption using the secret key, thereby ensuring stability. .
  • a separate hybrid ciphertext is generated and transmitted to another device together with the ciphertext corresponding to the message, but in the implementation, the ciphertext and the hybrid ciphertext are separately can be sent and received. That is, the hybrid cipher text may be generated in advance and provided to the second electronic device 100 - 2 .
  • FIG. 3 is a diagram illustrating an example of information included in a certificate according to an embodiment of the present disclosure.
  • a PKI certificate is a certificate issued electronically by a third party so that the other party to a transaction can verify whether or not the information claimed by the person who signed the electronic signature is true.
  • PKI certificates include a variety of information, and information is added as the version increases, as shown.
  • the information included in the PKI certificate is as follows.
  • Serial Number A unique serial number assigned to the certificate by the issuing certification authority. This is a number to distinguish the certificate. Since this has a unique value, it can be used for ID generation described later.
  • Signature Algorithm Identifier As an item for identifying the algorithm used for signing, for example, it indicates whether an algorithm such as RSA or SHA-1 is used.
  • Issuer Name Information indicating the name of the certification authority that issued the certificate.
  • Validity Period Indicates the validity period of the certificate.
  • Subject Indicates the subject to whom the certificate is issued. For example, it can be a period or an authentication period.
  • Public Key Indicates the public key of the certificate owner.
  • Issuer Unique ID This is an area that indicates the unique ID of the authentication period that issued the certificate.
  • Subject Unique ID This is an area that indicates the unique ID of the subject to whom the certificate was issued.
  • Version 3 includes an extension area and is used to prevent fraudulent use and to describe additional information.
  • the ID may be generated using a combination with other information (eg, issuer unique ID or subject unique ID) instead of using only the serial number described above.
  • an ID may be generated by combining an issuer unique ID and a subject unique ID (eg, ID: SUID ⁇ IUID).
  • FIG. 3 it is illustrated and described as using a standardized certificate, but in implementation, even a non-standardized certificate can be used if the device performing encryption and the device performing decryption can share the form.
  • FIG. 4 is a diagram for explaining an operation of obtaining an ID private key according to an embodiment of the present disclosure.
  • known information can be used as a public key. If the ID is known, the sender of the message can use this value to encrypt it.
  • an organization that generates an ID-based public key is required, and when the ID-based public key is generated by an external organization, there is a problem in that the external organization can decrypt the ciphertext.
  • data is transmitted and received using TLS as shown in FIG. 4 .
  • the second electronic device 100-2 is illustrated as generating an ID private key, but the second electronic device 100-2 is not a device for decrypting cipher text, but a device for generating a key (ie, a certification authority). device) may be.
  • TLS login may be performed (S410). Specifically, messages transmitted and received in this process support forward secrecy and can use key exchange with quantum tolerance.
  • each data can be transmitted and received after being encrypted by TLS.
  • the second electronic device 100 - 2 may generate an ID and generate an ID-based public key using the generated ID.
  • the ID generation method can be fixed (or disclosed) so that anyone can calculate it.
  • the ID may be generated by including information of the server as well as information included in the above-described certificate (eg, ID: ID ?keyServer).
  • the generated ID-based public key may be transmitted to the first electronic device 100-1 (S430). Such data can also be transmitted and received after being encrypted with TLS.
  • FIG. 5 is a diagram for explaining an encryption operation according to an embodiment of the present disclosure.
  • legacy certificates are shared (S510). Specifically, since a method of sharing an existing PKI certificate is common, a detailed description thereof will be omitted.
  • a hybrid cryptogram (or quantum resistant secret key or hybrid public key) is generated using both the existing public key and the obtained ID-based public key.
  • two random keys may be generated, a secret key may be generated by performing an XOR operation on the two random keys, and cipher text may be generated using the corresponding secret key.
  • the two random keys may be encrypted with each public key and ID-based public key and provided to the second electronic device 100 - 2 together with the ciphertext (S520).
  • the second electronic device 100-2 receives the cipher text and the hybrid cipher text, extracts two pieces of information (ie, an encrypted first random key and an encrypted second random key) from the received hybrid cipher text, and extracts the two pieces of information. and the ID-based public key and the private key corresponding to the public key included in the legacy certificate to decrypt the first random key and the second random key, perform an XOR operation on the first random key and the second random key, and perform a secret key ( That is, the secret key used to decrypt the message) can be secured.
  • two pieces of information ie, an encrypted first random key and an encrypted second random key
  • the message can be restored using the corresponding secret key (S540).
  • the above-described operation has been described as being used in an encryption process or a decryption process, it may also be used in a signing process when implemented. That is, the above-described ID-based public key may be used as an ID-based signing key, and the above-described hybrid ciphertext may be used as an ID-based authentication key to be used as a signature.
  • FIG. 6 is a diagram for explaining an encryption method according to an embodiment of the present disclosure.
  • certificate information including a public key is stored (S610). Meanwhile, such certificate information may be received and stored in advance, and when an encryption method is performed, it may be received and stored from an external device (a key generation server or an electronic device performing a decryption operation) that stores certificate information.
  • an external device a key generation server or an electronic device performing a decryption operation
  • an ID-based public key is received from an external device using the certificate information (S720). Specifically, an ID is generated using at least one of a public key, a subject unique ID, an issuer unique ID, and a serial number among certificate information, and the generated ID is transmitted to an external device to An ID-based public key may be received from an external device.
  • an ID can be generated by hashing two or more unique values included in certificate information.
  • the above-described receiving operation may receive an ID-based public key from an external device using TLS (Transport Layer Security).
  • an ID may be generated on the side of the above-described external device, and an ID-based public key corresponding to the generated ID may be generated.
  • the secret key may be generated by generating the first random key and the second random key and performing an XOR operation on the generated first random key and the second random key.
  • the first random key may be encrypted with the ID-based public key
  • the second random key may be encrypted with the public key
  • hybrid ciphertext may be generated using the encrypted two random keys.
  • the message is encrypted using the private key (S730).
  • an encrypted message ie, cipher text
  • TLS Transport Layer Security
  • hybrid ciphertext is generated during a series of encryption processes, and the generated hybrid ciphertext is shown and described as being transmitted to an external device. It may be performed in advance separately before transmission.
  • FIG. 7 is a diagram for explaining a decoding method according to an embodiment of the present disclosure.
  • certificate information including a public key is stored (S710).
  • an ID corresponding to the certificate information is acquired (S720).
  • the ID may be generated using at least one of a public key, a subject unique ID, an issuer unique ID, and a serial number among certificate information.
  • an ID may be generated by hashing two or more unique values included in the certificate information.
  • the corresponding electronic device may not generate the ID, but the device that encrypts the ciphertext may generate the ID and receive the ID generated by the external device to acquire the ID.
  • an ID-based secret key may be generated based on the obtained ID (S730).
  • an ID-based public key and an ID private key may be generated based on the obtained ID, and the generated ID-based public key may be transmitted to an external device.
  • the generated ID-based secret key can be transmitted to an external device.
  • an encrypted channel may be used or an ID-based private key may be separately encrypted and transmitted to an external device.
  • Cipher text and hybrid cipher text are received from an external device (S740). Meanwhile, in implementation, reception of the cipher text and the hybrid cipher text may be performed separately. That is, the hybrid ciphertext may be received and stored in advance.
  • the private key applied to the ciphertext can be restored using the hybrid ciphertext, the public key included in the certificate information (or the private key corresponding to the corresponding public key), and the ID-based public key.
  • the hybrid ciphertext is composed of two encrypted random keys. A first random value is decrypted using a secret key corresponding to certificate information, and a second random value is decrypted using an ID-based secret key. can Then, a secret key (or a second secret key) for the cipher text that encrypts the message may be generated by performing an XOR operation on the decrypted first random value and the second random value.
  • the ciphertext is decrypted using the second secret key (S760). Accordingly, the message can be restored.
  • FIG. 7 shows and describes an ID-based public key generation operation
  • the above-described operation may be performed in a separate external device (ie, a key server), and the above-described hybrid ciphertext and the corresponding private key
  • the generating operation may have been previously performed prior to receipt of the cipher text.
  • methods according to at least some of the various embodiments of the present disclosure described above may be performed through an embedded server included in the electronic device or an external server of at least one of the electronic devices.
  • a device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments.
  • the processor When executed by this processor, the processor may directly or use other components under the control of the processor to perform a function corresponding to the instruction, and the instruction may include code generated or executed by a compiler or an interpreter.
  • a device-readable storage medium may be provided in the form of a non-transitory storage medium, where a 'non-transitory storage medium' is a tangible device and a signal (e.g.
  • the method according to various embodiments disclosed in this document may be provided by being included in a computer program product, which is a product that is a seller and a buyer.
  • the computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play StoreTM) or Distributed (eg, downloaded or uploaded) online, directly between two user devices (eg, smartphones)
  • a computer program product eg, a downloadable app
  • At least a part of may be at least temporarily stored in a device-readable storage medium, such as a manufacturer's server, an application store server, or a relay server memory, or may be temporarily generated.
  • Various embodiments of the present disclosure may be implemented as software including commands stored in a storage medium readable by a machine (eg, a computer).
  • the device calls the stored commands from the storage medium.
  • a device capable of operating according to the called command it may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments.
  • the processor may perform a function corresponding to the above-described command by using other components directly or under the control of the above-described processor.
  • An instruction may include code generated or executed by a compiler or interpreter.

Abstract

Disclosed is an electronic apparatus. The electronic apparatus comprises: memory in which authentication information including a public key is stored; a communication apparatus for communicating with an external apparatus; and a processor that generates a secret key by using a plurality of random keys, and uses the generated secret key to encrypt a message, thereby generating a ciphertext. The processor generates a hybrid ciphertext by using the plurality of random keys, an ID-based public key corresponding to certificate information, and a public key included in the certificate information, and controls the communication apparatus so as to transmit the encrypted message and the generated hybrid ciphertext to the external apparatus.

Description

전자 장치 및 암호화 방법Electronic Devices and Encryption Methods
본 개시는 전자 장치 및 암호화 방법에 관한 것으로, 구체적으로, 레거시 인증서를 사용하여 양자 내성 암호화를 수행할 수 있는 전자 장치 및 암호화 방법에 대한 것이다. The present disclosure relates to an electronic device and an encryption method, and more particularly, to an electronic device capable of performing quantum resistant encryption using a legacy certificate and an encryption method.
현재 발급되는 PKI 인증서는 레거시 암호 기술을 사용한다. 여기서 PKI(Pubic Key Infrastructure)는 디지털 인증의 생성, 관리, 배포, 사용, 저장, 파기와 공개키 암호화의 관리에 쓰이는 일련의 역할, 정책, 하드웨어, 소프트웨어, 절차의 총칭이다. Currently issued PKI certificates use legacy cryptographic techniques. Here, PKI (Pubic Key Infrastructure) is a collective term for a set of roles, policies, hardware, software, and procedures used to create, manage, distribute, use, store, and destroy digital certificates and manage public key cryptography.
이와 같이 PKI 인증서는 레거시 암호 기술을 이용한다는 점에서, 양자 컴퓨터가 나왔을 경우 안정성을 보장 받지 못하는 문제점이 있다. In this way, since the PKI certificate uses legacy encryption technology, there is a problem in that stability is not guaranteed when a quantum computer comes out.
양자 내성을 갖기 위해서는 PQC 암호 공개키에 대한 인증서가 있어야 하나, 아직 PQC 표준화가 완료되지 않은 상태여서, 양자 내성을 갖는 인증서는 발급되지 않고 있는 실정이다. In order to have quantum tolerance, there must be a certificate for the PQC cryptographic public key, but since PQC standardization has not yet been completed, a certificate with quantum tolerance has not been issued.
따라서, 양자 내성을 갖는 인증서가 발행되기 전까지 기존의 인증서 방식으로도 양자 내성을 갖는 암호화 방법이 요구되었다. Therefore, an encryption method having quantum tolerance has been required even in the existing certificate method until a certificate having quantum tolerance is issued.
따라서, 본 개시는 상술한 바와 같은 문제점을 해결하기 위한 고안된 것으로, 레거시 인증서를 사용하여 양자 내성 암호화를 수행할 수 있는 전자 장치 및 암호화 방법에 대한 것이다. Accordingly, the present disclosure is designed to solve the above problems, and relates to an electronic device capable of performing quantum resistant encryption using a legacy certificate and an encryption method.
본 개시는 이상과 같은 목적을 달성하기 위한 것으로, 본 개시의 일 실시 예에 따른 전자 장치는 공개키를 포함하는 인증서 정보를 저장하는 메모리, 외부 장치와 통신을 수행하는 통신 장치, 및 복수의 랜덤키를 이용하여 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 메시지를 암호화하여 암호문을 생성하는 프로세서를 포함하고, 상기 프로세서는 상기 복수의 랜덤키, 상기 인증서 정보에 대응되는 ID 기반 공개키 및 상기 인증서 정보에 포함된 공개키를 이용하여 하이브리드 암호문을 생성하고, 상기 암호화된 메시지와 상기 생성된 하이브리드 암호문이 상기 외부 장치에 전송하도록 상기 통신 장치를 제어한다. The present disclosure is to achieve the above object, and an electronic device according to an embodiment of the present disclosure provides a memory for storing certificate information including a public key, a communication device for communicating with an external device, and a plurality of random and a processor generating a secret key using the key and encrypting a message using the generated secret key to generate cipher text, wherein the processor includes the plurality of random keys and an ID-based public key corresponding to the certificate information. and generating a hybrid ciphertext using a public key included in the certificate information, and controlling the communication device to transmit the encrypted message and the generated hybrid ciphertext to the external device.
이 경우, 상기 프로세서는 제1 랜덤키와 제2 랜덤키를 생성하고, 상기 제1 랜덤키와 상기 제2 랜덤키를 XOR 연산하여 상기 비밀키를 생성할 수 있다. In this case, the processor may generate a first random key and a second random key, and perform an XOR operation on the first random key and the second random key to generate the secret key.
한편, 상기 프로세서는 상기 제1 랜덤키를 상기 ID 기반 공개키를 이용하여 암호화하고, 상기 제2 랜덤키를 상기 인증서 정보에 포함된 공개키를 이용하여 암호화하고, 상기 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키를 이용하여 하이브리드 암호문을 생성할 수 있다. Meanwhile, the processor encrypts the first random key using the ID-based public key, encrypts the second random key using a public key included in the certificate information, and encrypts the encrypted first random key and Hybrid ciphertext may be generated using the encrypted second random key.
이 경우, 상기 프로세서는, 제1 암호화 방식으로 상기 제1 랜덤키를 암호화하고, 상기 제1 암호화 방식과 다른 제2 암호화 방식으로 상기 제2 랜덤키를 암호화할 수 있다. In this case, the processor may encrypt the first random key using a first encryption method and encrypt the second random key using a second encryption method different from the first encryption method.
한편, 상기 ID 기반 공개키는 상기 인증서 정보에 포함된 정보에 기초하여 생성된 ID를 이용하여 산출되며, 상기 ID는, 상기 인증서 정보 내의 일련번호, 주체 유니크 ID(subject unique id), 발급자 유니크 ID(Issuer Unique ID), 중 적어도 하나를 이용하여 생성될 수 있다. Meanwhile, the ID-based public key is calculated using an ID generated based on information included in the certificate information, and the ID includes a serial number in the certificate information, a subject unique ID, and an issuer unique ID (Issuer Unique ID).
한편, 상기 프로세서는, TLS(Transport Layer Security)를 이용하여 상기 외부 장치와 통신하도록 상기 통신 장치를 제어할 수 있다. Meanwhile, the processor may control the communication device to communicate with the external device using Transport Layer Security (TLS).
한편, 상기 인증서 정보는 PKI 인증서에 대응되는 정보일 수 있다. Meanwhile, the certificate information may be information corresponding to a PKI certificate.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 암호화 방법은 공개키를 포함하는 인증서 정보를 저장하는 단계, 외부 장치로부터 상기 인증서 정보에 기초한 ID 기반 공개키를 수신하는 단계, 복수의 랜덤키를 이용하여 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 메시지를 암호화하여 암호문을 생성하는 단계, 상기 복수의 랜덤키, 상기 인증서 정보에 대응되는 ID 기반 공개키 및 상기 인증서 정보에 포함된 공개키를 이용하여 하이브리드 암호문을 생성하는 단계, 및 상기 암호화된 메시지와 상기 생성된 하이브리드 암호문을 상기 외부 장치로 전송하는 단계를 포함한다. Meanwhile, an encryption method of an electronic device according to an embodiment of the present disclosure includes storing certificate information including a public key, receiving an ID-based public key based on the certificate information from an external device, and generating a plurality of random keys. generating a private key using the generated private key, and generating a cipher text by encrypting a message using the generated private key, the plurality of random keys, an ID-based public key corresponding to the certificate information, and the disclosure included in the certificate information. Generating a hybrid cipher text using a key, and transmitting the encrypted message and the generated hybrid cipher text to the external device.
이 경우, 상기 암호문을 생성하는 단계는, 제1 랜덤키와 제2 랜덤키를 생성하고, 상기 제1 랜덤키와 상기 제2 랜덤키를 XOR 연산하여 상기 비밀키를 생성할 수 있다. In this case, in the generating of the ciphertext, the secret key may be generated by generating a first random key and a second random key, and performing an XOR operation on the first random key and the second random key.
한편, 상기 하이브리드 암호문을 생성하는 단계는, 상기 제1 랜덤키를 상기 ID 기반 공개키를 이용하여 암호화하고, 상기 제2 랜덤키를 상기 인증서 정보에 포함된 공개키를 이용하여 암호화하고, 상기 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키를 이용하여 하이브리드 암호문을 생성할 수 있다. Meanwhile, in the generating of the hybrid ciphertext, the first random key is encrypted using the ID-based public key, the second random key is encrypted using a public key included in the certificate information, and the encryption The hybrid ciphertext may be generated using the encrypted first random key and the encrypted second random key.
이때, 상기 하이브리드 암호문을 생성하는 단계는, 제1 암호화 방식으로 상기 제1 랜덤키를 암호화하고, 상기 제1 암호화 방식과 다른 제2 암호화 방식으로 상기 제2 랜덤키를 암호화할 수 있다. In this case, in the generating of the hybrid ciphertext, the first random key may be encrypted using a first encryption method, and the second random key may be encrypted using a second encryption method different from the first encryption method.
한편, 상기 인증서 정보는 PKI 인증서에 대응되는 정보일 수 있다. Meanwhile, the certificate information may be information corresponding to a PKI certificate.
한편, 본 개시의 일 실시 예에 따른 전자 장치의 복호화 방법은 공개키를 포함하는 인증서 정보를 저장하는 단계, 상기 인증서 정보에 대응되는 ID 기반 비밀키를 획득하는 단계, 암호문 및 하이브리드 암호문을 수신하는 단계, 상기 공개키, ID 기반 비밀키 및 상기 하이브리드 암호문을 이용하여 상기 암호문에 대한 비밀키를 생성하는 단계, 및 상기 비밀키를 이용하여 상기 암호문을 복호화하는 단계를 포함한다. Meanwhile, a decryption method of an electronic device according to an embodiment of the present disclosure includes storing certificate information including a public key, obtaining an ID-based private key corresponding to the certificate information, and receiving ciphertext and hybrid ciphertext. generating a secret key for the ciphertext using the public key, the ID-based private key, and the hybrid ciphertext; and decrypting the ciphertext using the private key.
이 경우, 상기 비밀키를 생성하는 단계는, 상기 하이브리드 암호문에 포함된 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키 각각을 상기 인증서 정보에 포함된 공개키에 대응되는 비밀키 또는 상기 ID 기반 비밀키를 이용하여 복호화하고, 제1 랜덤키 및 제2 랜덤키를 XOR 연산하여 비밀키를 생성할 수 있다. In this case, the step of generating the secret key may include each of the encrypted first random key and the encrypted second random key included in the hybrid ciphertext based on the secret key corresponding to the public key included in the certificate information or the ID. Decryption is performed using the secret key, and a secret key may be generated by performing an XOR operation on the first random key and the second random key.
한편, 상기 ID 기반 비밀키는 상기 인증서 정보에 포함된 정보에 기초하여 생성된 ID를 이용하여 산출되며, 상기 ID는, 상기 인증서 정보 내의 일련번호, 주체 유니크 ID(subject unique id), 발급자 유니크 ID(Issuer Unique ID), 중 적어도 하나를 이용하여 생성될 수 있다. Meanwhile, the ID-based private key is calculated using an ID generated based on information included in the certificate information, and the ID includes a serial number in the certificate information, a subject unique ID, and an issuer unique ID (Issuer Unique ID).
이상과 같은 본 개시의 다양한 실시 예에 따르면, 기존의 레거시 인증서를 이용하여도 양자 내성 암호화를 수행할 수 있다. According to various embodiments of the present disclosure as described above, quantum resistant encryption can be performed even using an existing legacy certificate.
본 개시의 실시 예들의 상술하거나 다른 측면, 특징, 이익들은 첨부도면을 참조한 아래의 설명으로부터 더욱 명백해질 것이다. 첨부도면에서:The above and other aspects, features, and advantages of the embodiments of the present disclosure will become more apparent from the following description with reference to the accompanying drawings. In the attached drawing:
도 1은 본 개시의 일 실시 예에 따른 네트워크 시스템의 구조를 설명하기 위한 도면,1 is a diagram for explaining the structure of a network system according to an embodiment of the present disclosure;
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도, 2 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure;
도 3은 본 개시의 일 실시 예에 따른 인증서에 포함된 정보의 예를 나타내는 도면, 3 is a diagram showing an example of information included in a certificate according to an embodiment of the present disclosure;
도 4는 본 개시의 일 실시 예에 따른 ID 비밀키를 획득하는 동작을 설명하기 위한 도면, 4 is a diagram for explaining an operation of obtaining an ID private key according to an embodiment of the present disclosure;
도 5는 본 개시의 일 실시 예에 따른 암호화 동작을 설명하기 위한 도면, 5 is a diagram for explaining an encryption operation according to an embodiment of the present disclosure;
도 6은 본 개시의 일 실시 예에 따른 암호화 방법을 설명하기 위한 도면, 그리고, 6 is a diagram for explaining an encryption method according to an embodiment of the present disclosure, and
도 7은 본 개시의 일 실시 예에 다른 복호화 방법을 설명하기 위한 도면이다. 7 is a diagram for explaining a decoding method according to an embodiment of the present disclosure.
--
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.Since the present embodiments can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the scope to the specific embodiments, and should be understood to include various modifications, equivalents, and/or alternatives of the embodiments of the present disclosure. In connection with the description of the drawings, like reference numerals may be used for like elements.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다. In describing the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present disclosure, a detailed description thereof will be omitted.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.In addition, the following embodiments may be modified in many different forms, and the scope of the technical idea of the present disclosure is not limited to the following embodiments. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the spirit of the disclosure to those skilled in the art.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms used in this disclosure are only used to describe specific embodiments, and are not intended to limit the scope of rights. Singular expressions include plural expressions unless the context clearly dictates otherwise.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다." 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. In this disclosure, “has,” “may have,” “comprises,” or “may include.” Expressions such as, etc. indicate the presence of a corresponding feature (eg, a component such as a number, function, operation, or part) and do not exclude the presence of additional features.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상 "등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In this disclosure, 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," "첫째," 또는 "둘째, "등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. Expressions such as "first," "second," "first," or "second," used in the present disclosure may modify various elements regardless of order and/or importance, and may refer to one element as It is used only to distinguish it from other components and does not limit the corresponding components.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제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).
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않은 것으로 이해될 수 있다.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, a third component) 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)" 것만을 반드시 의미하지 않을 수 있다. The expression “configured to (or configured to)” as used in this disclosure means, depending on the situation, for example, “suitable for,” “having the capacity to.” ," "designed to," "adapted to," "made to," or "capable of." The term "configured (or set) to" may not necessarily mean only "specifically designed to" hardware.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.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 (eg, embedded processor) to perform the operation, 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.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.In an embodiment, a 'module' or 'unit' performs at least one function or operation, and may be implemented with hardware or software, or a combination of hardware and software. In addition, a plurality of 'modules' or a plurality of 'units' may be integrated into at least one module and implemented by at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.According to various embodiments, operations performed by modules, programs, or other components may be executed sequentially, in parallel, repetitively, or heuristically, or at least some operations may be executed in a different order, may be omitted, or other operations may be added. can
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다. Meanwhile, various elements and regions in the drawings are schematically drawn. Therefore, the technical spirit of the present invention is not limited by the relative size or spacing drawn in the accompanying drawings.
한편, 본 개시의 다양한 실시 예에 따른 전자 장치는 예를 들면, TV, 모니터, 프로젝터, 셋톱 박스, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 웨어러블 장치는 액세서리형(예: 시계, 반지, 팔찌, 발찌, 목걸이, 안경, 콘택트렌즈, 또는 머리 착용형 장치(head-mounted-device(HMD)), 직물 또는 의류 일체형(예: 전자 의복), 신체 부착형(예: 스킨 패드 또는 문신), 또는 생체 이식형 회로 중 적어도 하나를 포함할 수 있다. Meanwhile, an electronic device according to various embodiments of the present disclosure may include, for example, at least one of a TV, a monitor, a projector, a set-top box, a smart phone, a tablet PC, a desktop PC, a laptop PC, or a wearable device. Wearable devices can be accessories (e.g. watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted-devices (HMDs)), textiles or clothing integrals (e.g. electronic garments); It may include at least one of a body-attached circuit (eg, a skin pad or tattoo) or a body-implanted circuit.
어떤 실시 예들에서, 전자 장치는 예를 들면, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스, 홈 오토매이션 컨트롤 패널, 보안 컨트롤 패널, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(예: XboxTM, PlayStationTM), 전자 사전, 전자 키, 캠코더, 또는 전자 액자 중 적어도 하나를 포함할 수 있다. 한편, 구현시에는 상술한 예들뿐만 아니라, 디스플레이를 포함하는 장치인 경우라면, 본 개시에 따른 전자 장치일 수 있다. In some embodiments, the electronic device may be, for example, a refrigerator, air conditioner, vacuum cleaner, oven, microwave oven, washing machine, air purifier, set top box, home automation control panel, security control panel, media box (e.g. Samsung HomeSync , Apple TV TM , or Google TV TM ), a game console (eg, Xbox TM , PlayStation TM ), an electronic dictionary, an electronic key, a camcorder, or an electronic picture frame. Meanwhile, in the case of implementation, in addition to the above-described examples, if the device includes a display, it may be an electronic device according to the present disclosure.
그리고 본 개시에서 "값"이라 함은 스칼라값뿐만 아니라 벡터도 포함하는 개념으로 정의된다. 그리고 본 개시에서 '산출한다', '계산한다.' 등의 표현은 해당 산출 또는 계산의 결과물을 생성한다는 표현으로 대체될 수 있다. 또한, 별도의 언급이 없다면, 후술하는 암호문에 대한 연산은 동형 연산을 의미한다. 예를 들어, 동형 암호문에 대한 덧셈은 두 동형 암호문에 대한 동형 덧셈을 의미한다. And, in the present disclosure, “value” is defined as a concept including a vector as well as a scalar value. And in the present disclosure, 'calculate', 'calculate.' Expressions such as, etc. may be replaced by an expression that produces a result of the corresponding calculation or calculation. In addition, unless otherwise stated, an operation for ciphertext to be described later means an isomorphic operation. For example, addition of homomorphic ciphertexts means homomorphic addition of two homomorphic ciphertexts.
후술하는 본 개시의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 개시에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.Mathematical operations and calculations of each step of the present disclosure described below may be implemented as computer operations by a known coding method and/or coding designed appropriately for the present disclosure to perform the calculations or calculations.
이하에서 설명하는 구체적인 수학식은 가능한 여러 대안 중에서 예시적으로 설명되는 것이며, 본 개시의 권리 범위가 본 개시에 언급된 수학식에 제한되는 것으로 해석되어서는 아니된다.The specific equations described below are illustratively described among possible alternatives, and the scope of the present disclosure should not be construed as being limited to the equations mentioned in the present disclosure.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.Hereinafter, with reference to the accompanying drawings, an embodiment according to the present disclosure will be described in detail so that those skilled in the art can easily implement it.
도 1은 본 개시의 일 실시 예에 따른 네트워크 시스템의 구조를 설명하기 위한 도면이다. 1 is a diagram for explaining the structure of a network system according to an embodiment of the present disclosure.
도 1을 참조하면, 네트워크 시스템은 복수의 전자 장치(100-1 ~ 100-2)를 포함할 수 있으며, 각 구성들은 네트워크(10)를 통해 서로 연결될 수 있다. Referring to FIG. 1 , a network system may include a plurality of electronic devices 100-1 to 100-2, and each component may be connected to each other through a network 10.
네트워크(10)는 다양한 형태의 유무선 통신 네트워크, 방송 통신 네트워크, 광통신 네트워크, 클라우드 네트워크 등으로 구현될 수 있으며, 각 장치들은 별도의 매개체 없이 와이파이, 블루투스, NFC(Near Field Communication) 등과 같은 방식으로 연결될 수도 있다. The network 10 may be implemented in various types of wired and wireless communication networks, broadcast communication networks, optical communication networks, cloud networks, etc., and each device may be connected in a manner such as Wi-Fi, Bluetooth, NFC (Near Field Communication), etc. without a separate medium. may be
사용자는 자신이 사용하는 전자 장치(100-1 ~ 100-n)를 통해서 다양한 정보를 입력할 수 있다. 입력된 정보는 전자 장치(100-1 ~ 100-n) 자체에 저장될 수도 있지만, 저장 용량 및 보안 등을 이유로 외부 장치로 전송되어 저장될 수도 있다.Users can input various information through the electronic devices 100-1 to 100-n they use. The input information may be stored in the electronic devices 100-1 to 100-n themselves, but may also be transmitted to and stored in an external device for storage capacity and security reasons.
각 전자 장치(100-1 ~ 100-n)는 입력된 정보를 암호화하면, 암호화된 정보를 다른 전자 장치에 전송할 수 있다. When each electronic device 100-1 to 100-n encrypts input information, it can transmit the encrypted information to another electronic device.
기존에는 이와 같은 암호화를 위하여 PKI 인증서를 이용하는 것이 일반적이었다. 즉, 공개키 기반의 암호화 방법을 이용하여 데이터를 암호화하였으나, 이러한 암호 기법은 양자 컴퓨터가 나왔을 경우 안정성을 보정 받지 못하는 문제점이 있다. 현재 양자 컴퓨터에 대한 기술이 증가함에 따라, 최근에는 양자 컴퓨터에 의해서도 다항 시간 내에 뚫리지 않을 것으로 기재되는 양자 내성 암호 기법을 요구되고 있다. Conventionally, it has been common to use a PKI certificate for such encryption. That is, data is encrypted using a public key-based encryption method, but this encryption method has a problem in that stability cannot be corrected when a quantum computer comes out. As technology for quantum computers increases, quantum resistant cryptography, which is described as not being pierced in polynomial time even by quantum computers, has recently been required.
그러나 아직 양자 내성 암호 기법에 사용할 PQC 표준화가 완료되지 않은 상태라는 점에서, 기존의 PKI 인증서를 사용할 수 밖에 없는 상황이다. However, since the standardization of PQC to be used for quantum resistant cryptography has not yet been completed, the existing PKI certificate has no choice but to be used.
이러한 점을 고려하여, 본 개시에서는 기존의 PKI 인증서(또는 레거시 인증서)를 이용하여서도 양자 내성을 갖는 암호화 방법을 제공하는 것을 목적으로 한다. Considering this point, an object of the present disclosure is to provide an encryption method having quantum tolerance even using an existing PKI certificate (or legacy certificate).
구체적으로, 본 개시에서는 기존의 PKI 인증서를 이용하여 ID 기반 암호용 비밀키를 생성하고, 기존의 공개키와 새롭게 생성된 비밀키를 이용하여 양자 내성 비밀키를 생성하여 암호화를 수행한다. Specifically, in the present disclosure, a secret key for ID-based encryption is generated using an existing PKI certificate, and a quantum resistant secret key is generated using an existing public key and a newly generated private key to perform encryption.
구체적으로, 도시된 예와 같이 제1 전자 장치(100-1)가 암호화를 수행하는 장치이고, 제2 전자 장치(100-2)가 복호화를 수행하는 장치라고 가정한다.Specifically, it is assumed that the first electronic device 100-1 is a device that performs encryption and the second electronic device 100-2 is a device that performs decryption, as shown in the illustrated example.
이때, 제1 전자 장치(100-1)와 제2 전자 장치(100-2)는 인증서 정보(즉, PKI 인증서)를 각각 저장하고 있을 수 있다. 여기서 인증서 정보는 제2 전자 장치(100-2)가 생성한 것일 수 있으며, 별도의 키 서버가 생성한 것일 수도 있다. In this case, the first electronic device 100-1 and the second electronic device 100-2 may each store certificate information (ie, a PKI certificate). Here, the certificate information may be generated by the second electronic device 100 - 2 or may be generated by a separate key server.
이와 같은 상황에서, 제2 전자 장치(100-2)는 인증서 정보를 이용하여 ID 기반 공개키를 제1 전자 장치(100-1)에 요청할 수 있다. In this situation, the second electronic device 100-2 may request an ID-based public key from the first electronic device 100-1 using the certificate information.
그리고 제1 전자 장치(100-1)는 이러한 요청에 대응하여 ID 기반 공개키를 제2 전자 장치(100-2)에 제공할 수 있다. 이때, ID 기반 공개키를 생성하는데 이용하는 ID는 앞서 상술한 인증서 정보에 포함된 각종 유니크한 정보가 이용될 수 있다. 인증서 정보에 포함되는 정보의 예 및 이를 이용한 ID 생성 방법에 대해서는 도 3에서 후술한다. 한편, 이상에서는 인증서 정보에 포함된 정보를 공개키 기반에 기초한 ID 기반 공개키 및 그에 대응되는 비밀키를 생성하여 이용하는 방식을 설명하나, 구현시에는 대칭키 방식이 이용될 수도 있다. 이러한 경우, 상술한 ID 기반 공개키는 ID 기반 비밀키로 지칭될 수도 있다. In response to this request, the first electronic device 100-1 may provide the ID-based public key to the second electronic device 100-2. At this time, various unique information included in the aforementioned certificate information may be used as the ID used to generate the ID-based public key. An example of information included in certificate information and a method for generating an ID using the same will be described later with reference to FIG. 3 . Meanwhile, in the above, a method of generating and using an ID-based public key and a corresponding private key based on a public key based on information included in certificate information is described, but a symmetric key method may be used in implementation. In this case, the aforementioned ID-based public key may be referred to as an ID-based private key.
그리고 각 전자 장치(100-1, 100-2)는 인증서 정보를 갖고 있기 때문에, 제1 전자 장치(100-1) 측에서 ID를 생성할 수 있으며, 제2 전자 장치(100-2) 측에서 생성할 수도 있다. 만약, 제1 전자 장치(100-1) 측에서, ID를 생성하는 경우, 제1 전자 장치(100-1)는 생성하는 ID를 제2 전자 장치(100-2)에 전송하고, 제2 전자 장치(100-2)는 수신한 ID를 이용하여 ID 기반 공개키를 생성할 수 있다. 이때, ID 기반 공개키는 격자기반 암호 등 다양한 알고리즘을 이용하여 ID 기반 비밀키를 생성할 수 있다. And since each electronic device 100-1 or 100-2 has certificate information, an ID can be generated on the side of the first electronic device 100-1, and on the side of the second electronic device 100-2 can also create If the first electronic device 100-1 generates an ID, the first electronic device 100-1 transmits the generated ID to the second electronic device 100-2, and The device 100-2 may generate an ID-based public key using the received ID. At this time, the ID-based public key may generate an ID-based private key using various algorithms such as lattice-based encryption.
만약, 제2 전자 장치(100-2) 측에서 ID를 생성하는 경우, 제1 전자 장치(100-1)는 공개키 인증을 수행하고, 공개키 인증이 완료되면 ID 생성하고, 해당 ID 기반 공개키를 생성할 수 있다. If an ID is generated on the side of the second electronic device 100-2, the first electronic device 100-1 performs public key authentication, generates an ID when public key authentication is completed, and discloses the ID based on the ID. key can be generated.
그리고 제1 전자 장치(100-1)는 복수의 랜덤키를 이용하여 비밀키를 생성할 수 있다. 예를 들어, 제1 전자 장치(100-1)는 제1 랜덤키와 제2 랜덤키를 생성하고, 두 랜덤키를 XOR 연산하여 비밀키를 생성할 수 있다. Also, the first electronic device 100-1 may generate a secret key using a plurality of random keys. For example, the first electronic device 100-1 may generate a first random key and a second random key, and perform an XOR operation on the two random keys to generate a secret key.
그리고 제1 전자 장치(100-1)는 수신한 ID 기반 공개키와 공개키를 이용하여 하이브리드 암호문을 생성할 수 있다. 예를 들어, 비밀키 생성에 이용한 제1 랜덤키를 ID 기반 공개키를 이용하여 암호화하고, 제2 랜덤키에 공개키를 이용하고, 암호화된 제1 랜덤키 및 제2 랜덤키를 병합하여 하이브리드 암호문을 생성할 수 있다. In addition, the first electronic device 100 - 1 may generate hybrid encryption text using the received ID-based public key and the public key. For example, the first random key used to generate the secret key is encrypted using the ID-based public key, the public key is used as the second random key, and the encrypted first random key and the second random key are merged to create a hybrid A passphrase can be generated.
비밀키가 생성되면, 제1 전자 장치(100-1)는 평문을 해당 비밀키를 이용하여 암호화하고, 암호화된 평문(즉, 암호문)과 하이브리드 암호문을 제2 전자 장치(100-2)에 전송할 수 있다. When the secret key is generated, the first electronic device 100-1 encrypts the plain text using the corresponding secret key, and transmits the encrypted plain text (ie, cipher text) and the hybrid cipher text to the second electronic device 100-2. can
한편, 암호문 및 하이브리드 암호문을 수신한 제2 전자 장치(100-2)는 수신한 하이브리드 암호문, 인증서 정보에 포함된 공개키(또는 비밀키) 및 ID 기반 공개키를 이용하여 암호문에 이용된 비밀키를 복원하고, 복원된 비밀키를 이용하여 암호문을 복호화할 수 있다. Meanwhile, the second electronic device 100-2 that has received the cipher text and the hybrid cipher text uses the public key (or private key) included in the received hybrid cipher text and certificate information and the ID-based public key to use the private key used in the cipher text. can be restored, and the ciphertext can be decrypted using the restored private key.
이와 같은 본 개시에 따른 네트워크 시스템은 기존의 레거시 인증서를 이용하여서도 양자 내성을 갖는 암호문 생성이 가능하다. The network system according to the present disclosure can generate ciphertext with quantum resistance even using an existing legacy certificate.
한편, 도 1을 도시하고 설명함에 있어서, 네트워크 시스템에 두 개의 전자 장치만 포함되는 것으로 도시하고 설명하였으나, 구현시에는 세 개 이상의 전자 장치가 포함될 수도 있다. 또한, 각 전자 장치(100-1, 100-2)는 네트워크(10)만을 통하여 연결되는 것으로 도시하였지만, 구현시에는 라우터 등 다양한 기기를 통하여 연결될 수도 있다. Meanwhile, in the illustration and description of FIG. 1 , although only two electronic devices have been illustrated and described as being included in the network system, three or more electronic devices may be included in implementation. In addition, each of the electronic devices 100-1 and 100-2 is illustrated as being connected only through the network 10, but may be connected through various devices such as a router in implementation.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다. 2 is a block diagram showing the configuration of an electronic device according to an embodiment of the present disclosure.
도 2를 참조하면, 전자 장치(100)는 통신 장치(110), 메모리(120), 디스플레이(130), 조작 입력 장치(140) 및 프로세서(150)를 포함할 수 있다. Referring to FIG. 2 , the electronic device 100 may include a communication device 110, a memory 120, a display 130, a manipulation input device 140, and a processor 150.
통신 장치(110)는 전자 장치(100)를 외부 장치(미도시)와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 외부 장치에 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트 또는 무선 통신(예를 들어, WiFi 802.11a/b/g/n, NFC, Bluetooth) 포트를 통하여 접속되는 형태도 가능하다. 이러한 통신 장치(110)는 송수신부(transceiver)로 지칭될 수도 있다. The communication device 110 is formed to connect the electronic device 100 with an external device (not shown), and is connected to the external device through a local area network (LAN) and an Internet network, as well as a USB ( A form connected through a Universal Serial Bus) port or a wireless communication (eg, WiFi 802.11a/b/g/n, NFC, Bluetooth) port is also possible. Such a communication device 110 may also be referred to as a transceiver.
통신 장치(110)는 인증서 정보를 수신 또는 송신할 수 있으며, 다른 장치에서 생성된 ID 기반 공개키를 수신 또는 송신할 수 있다. The communication device 110 may receive or transmit certificate information and may receive or transmit an ID-based public key generated by another device.
그리고 통신 장치(110)는 외부 장치로부터 메시지를 수신할 수 있으며, 생성한 암호문을 외부 장치로 송신할 수 있다. Also, the communication device 110 may receive a message from an external device and transmit the generated encrypted text to the external device.
메모리(120)는 전자 장치(100)를 구동하기 위한 O/S나 각종 소프트웨어, 데이터 등을 저장하기 위한 구성요소이다. 메모리(120)는 RAM이나 ROM, 플래시 메모리, HDD, 외장 메모리, 메모리 카드 등과 같은 다양한 형태로 구현될 수 있으며, 어느 하나로 한정되는 것은 아니다. The memory 120 is a component for storing O/S for driving the electronic device 100, various software, data, and the like. The memory 120 may be implemented in various forms such as RAM, ROM, flash memory, HDD, external memory, memory card, etc., but is not limited to any one.
메모리(120)는 암호화할 메시지(또는 평문)를 저장한다. 여기서 메시지는 사용자가 각종 인용한 각종 신용 정보, 개인 정보 등일 수 있으며, 전자 장치(100)에서 사용되는 위치 정보, 인터넷 사용 시간 정보 등 사용 이력 등과 관련된 정보일 수도 있다. The memory 120 stores the message to be encrypted (or plain text). Here, the message may be various types of credit information and personal information cited by the user, and may also be information related to use history, such as location information used in the electronic device 100 and Internet usage time information.
그리고 메모리(120)는 인증서 정보를 저장할 수 있으며, 전자 장치(100)가 후술하는 과정에서 필요한 중간 연산 결과(예를 들어, 양자 내성 비밀키, ID 기반 공개키 등)을 저장할 수 있다. Also, the memory 120 may store certificate information and may store intermediate operation results (eg, a quantum resistant secret key, an ID-based public key, etc.) required in a process described later by the electronic device 100 .
그리고 메모리(120)는 후술한 과정에서 생성된 암호문을 저장할 수 있다. 그리고 메모리(120)는 외부 장치에서 전송한 암호문을 저장할 수도 있다. And the memory 120 may store the cipher text generated in the process described below. Also, the memory 120 may store encrypted text transmitted from an external device.
디스플레이(130)는 전자 장치(100)가 지원하는 기능을 선택받기 위한 사용자 인터페이스 창을 표시한다. 구체적으로, 디스플레이(130)는 전자 장치(100)가 제공하는 각종 기능을 선택받기 위한 사용자 인터페이스 창을 표시할 수 있다. 이러한 디스플레이(130)는 LCD(liquid crystal display), OLED(Organic Light Emitting Diodes) 등과 같은 모니터일 수 있으며, 후술할 조작 입력 장치(140)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다. The display 130 displays a user interface window for selecting a function supported by the electronic device 100 . Specifically, the display 130 may display a user interface window for selecting various functions provided by the electronic device 100 . The display 130 may be a monitor such as a liquid crystal display (LCD), organic light emitting diodes (OLED), or the like, and may be implemented as a touch screen capable of simultaneously performing the functions of the manipulation input device 140 to be described later. .
디스플레이(130)는 암호화 대상이 메시지를 선택하는 메시지를 표시할 수 있다. 한편, 구현시에 암호화 대상은 사용자가 직접 선택할 수도 있고, 자동으로 선택될 수 있다. 즉, 암호화가 필요한 개인 정보 등은 사용자가 직접 메시지를 선택하지 않더라도 자동으로 설정될 수 있다. The display 130 may display a message in which an encryption target selects a message. Meanwhile, in implementation, the encryption target may be directly selected by the user or may be automatically selected. That is, personal information requiring encryption may be automatically set even if the user does not directly select a message.
조작 입력 장치(140)는 사용자로부터 전자 장치(100)의 기능 선택 및 해당 기능에 대한 제어 명령을 입력받을 수 있다. 구체적으로, 조작 입력 장치(140)는 사용자로부터 암호화 동작(또는 양자 내성 비밀키 생성)에 필요한 파라미터를 입력받을 수 있다. 또한, 조작 입력 장치(140)는 사용자로부터 암호화될 메시지를 설정받을 수 있다. The manipulation input device 140 may receive a function selection of the electronic device 100 and a control command for the function from the user. Specifically, the manipulation input device 140 may receive parameters necessary for an encryption operation (or generation of a quantum resistant secret key) from a user. Also, the manipulation input device 140 may receive a message to be encrypted from the user.
프로세서(150)는 전자 장치(100) 내의 각 구성을 제어한다. 이러한 프로세서(150)는 CPU(central processing unit), ASIC(application-specific integrated circuit)과 같은 단일 장치로 구성될 수 있으며, CPU, GPU(Graphics Processing Unit) 등의 복수의 장치로 구성될 수도 있다. The processor 150 controls each component within the electronic device 100 . The processor 150 may be composed of a single device such as a central processing unit (CPU) and an application-specific integrated circuit (ASIC), or may be composed of a plurality of devices such as a CPU and a graphics processing unit (GPU).
프로세서(150)는 인증서 정보를 이용하여 외부 장치로부터 ID 기반 공개키가 수신한다. 구체적으로, 프로세서(150)는 인증서 정보 중 공개키, 서브젝트 유니크 아이디(subject unique id), 이슈어 유니크 아이디(Issuer Unique ID), 시리얼 넘버 중 적어도 하나를 이용하여 ID를 생성할 수 있다. 예를 들어, 프로세서(150)는 인증서 정보에 포함된 두 개 이상의 유니크한 값을 해시 처리하여 ID를 생성할 수 있다. The processor 150 receives an ID-based public key from an external device using certificate information. Specifically, the processor 150 may generate an ID using at least one of a public key, a subject unique ID, an issuer unique ID, and a serial number among certificate information. For example, the processor 150 may generate an ID by hashing two or more unique values included in certificate information.
그리고 프로세서(150)는 생성된 ID를 외부 장치에 전송하도록 통신 장치를 제어할 수 있다. 한편, 이상에서는 암호문을 암호화하는 장치 측에서 ID를 생성하는 것으로 도시하고 설명하였지만, 구현시에 ID 생성하는 복호 동작을 수행하는 장치 또는 키를 생성하는 키 생성 장치 측에서 수행할 수도 있다. Also, the processor 150 may control the communication device to transmit the generated ID to an external device. Meanwhile, in the above description, the device for encrypting the ciphertext generates the ID, but in implementation, the decryption operation for generating the ID may be performed or the device for generating the key may generate the ID.
그리고 프로세서(150)는 비밀키를 생성한다. 구체적으로, 프로세서(150)는 제1 랜덤키 및 제2 랜덤키를 생성하고, 생성된 제1 랜덤키와 제2 랜덤키를 XOR 연산하여 비밀키를 생성할 수 있다. 한편, 구현시에는 XOR 연산 방식뿐만 아니라 다양한 논리 연산을 이용하여 비밀키를 생성할 수 있으며, 세 개 이상의 랜덤키를 이용하여 비밀키를 생성하는 것도 가능하다. And the processor 150 generates a secret key. Specifically, the processor 150 may generate a first random key and a second random key, and perform an XOR operation on the generated first random key and second random key to generate a secret key. Meanwhile, in implementation, a secret key may be generated using various logical operations as well as an XOR operation method, and a secret key may be generated using three or more random keys.
그리고 프로세서(150)는 복수의 랜덤키, 공개키, ID 기반 공개키를 이용하여 하이브리드 암호문을 생성할 수 있다. 구체적으로, 프로세서(150)는 제1 랜덤키를 공개키를 이용하여 암호화하고, 제2 랜덤키를 ID 기반 공개키를 이용하여 암호화하고, 암호화된 두 랜덤키를 병합하여 하이브리드 암호문을 생성할 수 있다. 한편, 상술한 랜덤키 암호화 과정에서, 서로 다른 공개키 암호화 방식이 적용되었는바, 복호 과정에서 서로 다른 방식의 복호화 알고리즘으로 복호화를 수행하여야 한다. Further, the processor 150 may generate hybrid ciphertext using a plurality of random keys, public keys, and ID-based public keys. Specifically, the processor 150 may encrypt the first random key using the public key, encrypt the second random key using the ID-based public key, and merge the two encrypted random keys to generate hybrid ciphertext. there is. Meanwhile, since different public key encryption schemes are applied in the random key encryption process described above, decryption must be performed with different decryption algorithms in the decryption process.
그리고 프로세서(150)는 암호문과 하이브리드 암호문이 외부 장치에 전송하도록 통신 장치(110)를 제어할 수 있다. 이때, 프로세서(150)는 TLS(Transport Layer Security)를 이용하여 외부 장치와 통신하도록 통신 장치(110)를 제어할 수 있다. Also, the processor 150 may control the communication device 110 to transmit the cipher text and the hybrid cipher text to an external device. In this case, the processor 150 may control the communication device 110 to communicate with an external device using Transport Layer Security (TLS).
한편, 이하에서는 전자 장치가 복호화 동작을 수행하는 경우의 동작을 설명한다. Meanwhile, hereinafter, an operation when an electronic device performs a decryption operation will be described.
프로세서(150)는 외부 장치의 요청에 대응하여 인증서 정보에 대응되는 ID를 획득한다. ID 생성 방법에 대해서는 앞서 설명하였는바, 중복 설명은 생략한다. 한편, 구현시에 ID 생성 동작은 복호화 동작 또는 ID 기반 공개키를 생성하는 장치 측에서 수행할 수도 있다. The processor 150 obtains an ID corresponding to certificate information in response to a request from an external device. Since the ID generation method has been described above, redundant description will be omitted. Meanwhile, in the case of implementation, the ID generation operation may be performed by a device that generates a decryption operation or an ID-based public key.
그리고 프로세서(150)는 획득된 ID에 기초하여 ID 기반 공개키를 생성하여 외부 장치에 전송한다. 구체적으로, 프로세서(150)는 격자기반 등과 같은 다양한 ID 기반 알고리즘을 이용하여 ID 기반 공개키를 생성할 수 있다. Then, the processor 150 generates an ID-based public key based on the obtained ID and transmits it to an external device. Specifically, the processor 150 may generate an ID-based public key using various ID-based algorithms such as a lattice-based algorithm.
그리고 프로세서(150)는 외부 장치로부터 하이브리드 암호문을 수신하면, 해당 하이브리드 암호문, 인증서 정보, ID 기반 공개키를 이용하여 비밀키를 생성할 수 있다. 예를 들어, 프로세서(150)는 인증서 정보에 포함된 공개키에 대응되는 비밀키를 이용하여 하이브리드 암호문 내의 제1 정보를 제1 랜덤키로 복호화하고, ID 기반 공개키를 이용하여 하이브리드 암호문 내의 제2 정보를 제2 랜덤키로 복호화할 수 있다. 그리고 복호화된 제1 랜덤키와 제2 랜덤키를 XOR 연산하여 비밀키를 생성할 수 있다. When receiving the hybrid cipher text from an external device, the processor 150 may generate a private key using the hybrid cipher text, certificate information, and ID-based public key. For example, the processor 150 decrypts the first information in the hybrid cryptogram with the first random key using a private key corresponding to the public key included in the certificate information, and uses the ID-based public key to decrypt the second information in the hybrid cryptogram. Information can be decrypted with the second random key. A secret key may be generated by performing an XOR operation on the decrypted first random key and the second random key.
그리고 프로세서(150)는 비밀키를 이용하여 암호문을 복호화할 수 있다. Also, the processor 150 may decrypt the ciphertext using the secret key.
이상과 같이 본 개시에 따른 전자 장치(100)는 기존의 레거시 인증서를 이용하여도 양자 내성을 갖는 비밀키를 생성하고, 해당 비밀키를 이용하여 암호화를 수행할 수 있는바 안정성을 확보할 수 있다. As described above, the electronic device 100 according to the present disclosure can generate a secret key having quantum resistance even using an existing legacy certificate and perform encryption using the secret key, thereby ensuring stability. .
한편, 도 1 및 도 2를 도시하고 설명함에 있어서, 별도의 하이브리드 암호문을 생성하고, 이를 메시지에 대응되는 암호문 함께 다른 장치에 전송하는 것으로 도시하고 설명하였지만, 구현시에는 암호문과 하이브리드 암호문은 개별적으로 송수신 될 수 있다. 즉, 하이브리드 암호문은 미리 생성되어, 제2 전자 장치(100-2)에 제공되어 있을 수 있다. Meanwhile, in the drawings and descriptions of FIGS. 1 and 2, a separate hybrid ciphertext is generated and transmitted to another device together with the ciphertext corresponding to the message, but in the implementation, the ciphertext and the hybrid ciphertext are separately can be sent and received. That is, the hybrid cipher text may be generated in advance and provided to the second electronic device 100 - 2 .
도 3은 본 개시의 일 실시 예에 따른 인증서에 포함된 정보의 예를 나타내는 도면이다. 3 is a diagram illustrating an example of information included in a certificate according to an embodiment of the present disclosure.
구체적으로, PKI 인증서란 전자 서명을 한 본인이 주장하는 자신의 정보에 대한 사실 여부를 거래 상대방이 확인할 수 있도록 제3 자가 전자적으로 발급하는 증명서이다. Specifically, a PKI certificate is a certificate issued electronically by a third party so that the other party to a transaction can verify whether or not the information claimed by the person who signed the electronic signature is true.
이러한 PKI 인증서는 다양한 정보를 포함하고 있으며, 도시된 바와 같이 버전이 증가함에 따라 정보가 추가되었다. PKI 인증서에 포함되는 정보는 다음과 같다. These PKI certificates include a variety of information, and information is added as the version increases, as shown. The information included in the PKI certificate is as follows.
버전(Version)의 인증서의 버전을 나타내는 정보이다. 예를 들어, 1, 2, 3 중 하나일 수 있다. This is information indicating the version of the certificate of Version. For example, it may be one of 1, 2, and 3.
일련번호(Serial Number): 발급하는 인증기관이 인증서에 지정한 고유 일련번호다. 이는 증서를 구별하기 위한 번호이다. 이는 유니크한 값을 갖기 때문에, 후술하는 ID 생성에 이용될 수 있다. Serial Number: A unique serial number assigned to the certificate by the issuing certification authority. This is a number to distinguish the certificate. Since this has a unique value, it can be used for ID generation described later.
서명 알고리즘 식별자(signature Algorithm Identifier) : 서명을 하기 위해 사용되는 알고리즘을 식별하기 위한 항목으로, 예를 들어, RSA, SHA-1 등의 알고리즘의 사용여부를 나타낸다. Signature Algorithm Identifier: As an item for identifying the algorithm used for signing, for example, it indicates whether an algorithm such as RSA or SHA-1 is used.
발급자 명(Issuer Name) : 인증서를 발행한 인증기간의 이름을 나타내는 정보이다. Issuer Name: Information indicating the name of the certification authority that issued the certificate.
유효 기간(Validity Period) : 인증서의 효율 기간을 나타낸다. Validity Period: Indicates the validity period of the certificate.
주체(Subject): 인증서가 발급된 대상을 나타낸다. 예를 들어, 기간 또는 인증 기간이 될 수 있다. Subject: Indicates the subject to whom the certificate is issued. For example, it can be a period or an authentication period.
공개키(Public Key) : 인증서 소유자의 공개키를 나타낸다. Public Key: Indicates the public key of the certificate owner.
여기까지는 버전 1에서 포함되는 정보이면, 버전 2에서는 다음의 두 가지 정보가 추가된다. If this is the information included in version 1, the following two pieces of information are added in version 2.
발급자 유니크 ID(Issuer Unique ID): 인증서를 발행한 인증 기간의 유니크 ID를 나타내는 영역이다. Issuer Unique ID: This is an area that indicates the unique ID of the authentication period that issued the certificate.
주체 유니크 ID(Subject Unique ID) : 인증서가 발급된 대상의 유니크 ID를 나타내는 영역이다. Subject Unique ID: This is an area that indicates the unique ID of the subject to whom the certificate was issued.
버전 3에서는 확장(Extension) 영역을 포함하며, 부정 이용 방지와 추가 정보의 기술에 이용된다. Version 3 includes an extension area and is used to prevent fraudulent use and to describe additional information.
이와 같이 인증서는 일련번호와 같이 유니크한 값이 기재되어 있는바, 해당 일련번호를 ID로 활용할 수 있다. 한편, 구현시에는 상술한 일련번호만 이용하는 것이 아니라, 다른 정보(예를 들어, 발급자 유니크 ID 또는 주체 유니크 ID)와의 조합을 이용하여 ID를 생성할 수도 있다. 도한, 발급자 유니크 ID와 주체 유니크 ID를 조합하여 ID를 생성할 수도 있다(예를 들어, ID : SUID ∥IUID).In this way, since a unique value such as a serial number is described in a certificate, the corresponding serial number can be used as an ID. Meanwhile, in implementation, the ID may be generated using a combination with other information (eg, issuer unique ID or subject unique ID) instead of using only the serial number described above. Also, an ID may be generated by combining an issuer unique ID and a subject unique ID (eg, ID: SUID │IUID).
한편, 도 3에서는 표준화된 인증서를 이용하는 것으로 도시하고 설명하였지만, 구현시에는 표준화되지 않은 인증서라도 암호화를 수행하는 장치와 복호화를 수행하는 장치가 상호 그 형태를 공유할 수 있는 경우라면 이용할 수 있다. On the other hand, in FIG. 3, it is illustrated and described as using a standardized certificate, but in implementation, even a non-standardized certificate can be used if the device performing encryption and the device performing decryption can share the form.
도 4는 본 개시의 일 실시 예에 따른 ID 비밀키를 획득하는 동작을 설명하기 위한 도면이다. 4 is a diagram for explaining an operation of obtaining an ID private key according to an embodiment of the present disclosure.
일반적으로는 알려진 정보를 공개키로 이용할 수 있다. ID를 알 수 있는 경우, 메시지 전송자는 이 값을 사용하여 암호화 하는 것이 가능하다. In general, known information can be used as a public key. If the ID is known, the sender of the message can use this value to encrypt it.
그러나 양자 내성을 갖도록 하기 위해서는 ID를 그대로 이용하는 것이 아니라 ID 기반의 암호화를 할 수 있도록 키 생성이 필요한다. However, in order to have quantum resistance, it is necessary to generate a key to enable ID-based encryption rather than using the ID as it is.
이를 위해서는 ID 기반 공개키를 생성하여 주는 기관이 필요하며, 해당 ID 기반 공개키를 외부 기관에서 생성하는 경우, 해당 외부 기관은 암호문을 복호화할 수 있는 문제가 있다. To this end, an organization that generates an ID-based public key is required, and when the ID-based public key is generated by an external organization, there is a problem in that the external organization can decrypt the ciphertext.
또한, ID 기반의 비밀키를 전송하기 위해서는 별도의 채널이 필요하다. In addition, a separate channel is required to transmit the ID-based secret key.
이를 위하여, 본 개시에서는 도 4와 같이 TLS를 이용하여 데이터를 송수신한다. 여기서 제2 전자 장치(100-2)가 ID 비밀키를 생성하는 것으로 도시하였는데, 여기서 제2 전자 장치(100-2)는 암호문을 복호화하는 장치가 아닌 키 생성을 수행하는 장치(즉, 인증 기관의 장치) 일 수 있다. To this end, in the present disclosure, data is transmitted and received using TLS as shown in FIG. 4 . Here, the second electronic device 100-2 is illustrated as generating an ID private key, but the second electronic device 100-2 is not a device for decrypting cipher text, but a device for generating a key (ie, a certification authority). device) may be.
먼저, TLS 로그인을 수행할 수 있다(S410). 구체적으로, 이 과정에서 송수신되는 메시지는 forward secrecy를 지원하고, 양자 내성을 갖는 키 교환을 사용할 수 있다. First, TLS login may be performed (S410). Specifically, messages transmitted and received in this process support forward secrecy and can use key exchange with quantum tolerance.
그리고 공개키 인증을 수행할 수 있다(S4200. 이와 같은 과정에서 각 데이터는 TLS로 암호화되어 송수신 될 수 있다. And public key authentication can be performed (S4200. In this process, each data can be transmitted and received after being encrypted by TLS.
이와 같이 공개키 인증이 수행되면, 제2 전자 장치(100-2)는 ID를 생성하고, 생성된 ID를 이용하여 ID 기반 공개키를 생성할 수 있다. 여기서 ID를 생성하는 방식은 고정(또는 공개)해서 누구나 계산할 수 있도록 할 수 있다. 또한, ID 생성시에 상술한 인증서에 포함된 정보뿐만 아니라, 서버의 정보도 포함하여 ID를 생성할 수도 있다(예를 들어, ID : ID∥keyServer).When public key authentication is performed as described above, the second electronic device 100 - 2 may generate an ID and generate an ID-based public key using the generated ID. Here, the ID generation method can be fixed (or disclosed) so that anyone can calculate it. In addition, when generating an ID, the ID may be generated by including information of the server as well as information included in the above-described certificate (eg, ID: ID ?keyServer).
그리고 생성한 ID 기반 공개키를 제1 전자 장치(100-1)에 전송할 수 있다(S430). 이와 같은 데이터도 TLS로 암호화되어 송수신될 수 있다. The generated ID-based public key may be transmitted to the first electronic device 100-1 (S430). Such data can also be transmitted and received after being encrypted with TLS.
도 5는 본 개시의 일 실시 예에 따른 암호화 동작을 설명하기 위한 도면이다. 5 is a diagram for explaining an encryption operation according to an embodiment of the present disclosure.
도 5를 참조하면, 레거시 인증서를 공유한다(S510). 구체적으로, 기존의 PKI 인증서를 공유하는 방식은 일반적인바, 이에 대한 자세한 설명을 생략한다. Referring to FIG. 5, legacy certificates are shared (S510). Specifically, since a method of sharing an existing PKI certificate is common, a detailed description thereof will be omitted.
레거시 인증서에 얻은 기존 정보만을 이용하는 것은 안정성이 떨어질 수 있다. 이러한 점에서, 본 개시에서는 기존의 공개키와 획득된 ID 기반 공개키를 모두 이용하여 하이브리드 암호문(또는 양자 내성 비밀키 또는 하이브리드 공개키)를 생성한다. Using only the existing information obtained from legacy certificates may reduce reliability. In this regard, in the present disclosure, a hybrid cryptogram (or quantum resistant secret key or hybrid public key) is generated using both the existing public key and the obtained ID-based public key.
구체적으로, 두 개의 랜덤키를 생성하고, 두 개의 랜덤키를 XOR 연산하여 비밀키를 생성하고, 해당 비밀키를 이용하여 암호문을 생성할 수 있다. 그리고 두 랜덤키는 각 공개키와 ID 기반 공개키로 암호화하여 암호문과 함께 제2 전자 장치(100-2)에 제공될 수 있다(S520). Specifically, two random keys may be generated, a secret key may be generated by performing an XOR operation on the two random keys, and cipher text may be generated using the corresponding secret key. In addition, the two random keys may be encrypted with each public key and ID-based public key and provided to the second electronic device 100 - 2 together with the ciphertext (S520).
제2 전자 장치(100-2)는 암호문 및 하이브리드 암호문을 수신하고, 수신된 하이브리드 암호문 내에 두 정보(즉, 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키)를 추출하고, 추출된 두 정보와 ID 기반 공개키 및 레거시 인증서에 포함된 공개키에 대응되는 비밀키를 이용하여 제1 랜덤키 및 제2 랜덤키를 복호화하고, 제1 랜덤키와 제2 랜덤키를 XOR 연산하여 비밀키(즉, 메시지의 복호에 사용되는 비밀키)를 확보할 수 있다. The second electronic device 100-2 receives the cipher text and the hybrid cipher text, extracts two pieces of information (ie, an encrypted first random key and an encrypted second random key) from the received hybrid cipher text, and extracts the two pieces of information. and the ID-based public key and the private key corresponding to the public key included in the legacy certificate to decrypt the first random key and the second random key, perform an XOR operation on the first random key and the second random key, and perform a secret key ( That is, the secret key used to decrypt the message) can be secured.
비밀키를 확보하면, 해당 비밀키를 이용하여 메시지를 복원할 수 있다(S540). If the secret key is secured, the message can be restored using the corresponding secret key (S540).
한편, 이상에서는 상술한 동작이 암호화 과정 또는 복호화 과정에서 이용되는 것으로 설명하였지만, 구현시에는 서명 과정에서도 이용될 수 있다. 즉, 상술한 ID 기반 공개키를 ID 기반 서명키로 이용하여, 상술한 하이브리드 암호문을 ID 기반 인증 키로 이용하여 서명으로서 이용할 수 있다. Meanwhile, although the above-described operation has been described as being used in an encryption process or a decryption process, it may also be used in a signing process when implemented. That is, the above-described ID-based public key may be used as an ID-based signing key, and the above-described hybrid ciphertext may be used as an ID-based authentication key to be used as a signature.
도 6은 본 개시의 일 실시 예에 따른 암호화 방법을 설명하기 위한 도면이다. 6 is a diagram for explaining an encryption method according to an embodiment of the present disclosure.
먼저, 공개키를 포함하는 인증서 정보를 저장한다(S610). 한편, 이와 같은 인증서 정보는 미리 수신하여 저장하고 있을 수도 있으며, 암호화 방법이 수행되면, 인증서 정보를 저장하는 외부 장치(키 생성 서버, 또는 복호화 동작을 수행하는 전자 장치)로부터 수신하여 저장할 수 있다. First, certificate information including a public key is stored (S610). Meanwhile, such certificate information may be received and stored in advance, and when an encryption method is performed, it may be received and stored from an external device (a key generation server or an electronic device performing a decryption operation) that stores certificate information.
그리고 인증서 정보를 이용하여 외부 장치로부터 ID 기반 공개키를 수신한다(S720). 구체적으로, 인증서 정보 중 공개키, 서브젝트 유니크 아이디(subject unique id), 이슈어 유니크 아이디(Issuer Unique ID), 시리얼 넘버 중 적어도 하나를 이용하여 ID를 생성하고, 생성된 ID를 외부 장치에 전송하여 외부 장치로부터 ID 기반 공개키를 수신할 수 있다. 구현시에는 인증서 정보에 포함된 두 개 이상의 유니크한 값을 해시 처리하여 ID를 생성할 수 있다. 그리고 상술한 수신하는 동작은 TLS(Transport Layer Security)를 이용하여 외부 장치로부터 ID 기반 공개키를 수신할 수 있다. Then, an ID-based public key is received from an external device using the certificate information (S720). Specifically, an ID is generated using at least one of a public key, a subject unique ID, an issuer unique ID, and a serial number among certificate information, and the generated ID is transmitted to an external device to An ID-based public key may be received from an external device. When implemented, an ID can be generated by hashing two or more unique values included in certificate information. In addition, the above-described receiving operation may receive an ID-based public key from an external device using TLS (Transport Layer Security).
한편, 구현시에는 상술한 외부 장치 측에서 ID를 생성하고, 생성된 ID에 대응되는 ID 기반 공개키를 생성할 수도 있다. Meanwhile, in implementation, an ID may be generated on the side of the above-described external device, and an ID-based public key corresponding to the generated ID may be generated.
이와 같이 ID 기반 공개키를 수신하면, 하이브리드 암호문을 생성할 수 있다. 구체적으로, 제1 랜덤키 및 제2 랜덤키를 생성하고, 생성한 제1 랜덤키 및 제2 랜덤키를 XOR 연산하여 비밀키를 생성할 수 있다. 그리고 제1 랜덤키를 ID 기반 공개키로 암호화하고, 제2 랜덤키를 공개키로 암호화하고, 암호화된 두 랜덤키를 이용하여 하이브리드 암호문을 생성할 수 있다.When the ID-based public key is received in this way, hybrid cipher text can be generated. Specifically, the secret key may be generated by generating the first random key and the second random key and performing an XOR operation on the generated first random key and the second random key. In addition, the first random key may be encrypted with the ID-based public key, the second random key may be encrypted with the public key, and hybrid ciphertext may be generated using the encrypted two random keys.
그리고 비밀키를 이용하여 메시지를 암호화한다(S730).Then, the message is encrypted using the private key (S730).
그리고 암호화된 메시지 및 하이브리드 암호문을 외부 장치에 전송한다(S740). 구체적으로, TLS(Transport Layer Security)를 이용하여 암호화된 메시지(즉, 암호문)를 외부 장치에 전송할 수 있다. Then, the encrypted message and hybrid ciphertext are transmitted to an external device (S740). Specifically, an encrypted message (ie, cipher text) may be transmitted to an external device using Transport Layer Security (TLS).
한편, 도시된 예에서는 일련의 암호화 과정 중에 하이브리드 암호문을 생성하고, 생성한 하이브리드 암호문을 외부 장치로 전송하는 것으로 도시하고 설명하였으나, 구현시에 하이브리드 암호문의 생성 및 외부 장치로의 전송은 암호문 생성 또는 전송 전에 별도로 미리 수행되어 있을 수도 있다. Meanwhile, in the illustrated example, hybrid ciphertext is generated during a series of encryption processes, and the generated hybrid ciphertext is shown and described as being transmitted to an external device. It may be performed in advance separately before transmission.
도 7은 본 개시의 일 실시 예에 다른 복호화 방법을 설명하기 위한 도면이다.7 is a diagram for explaining a decoding method according to an embodiment of the present disclosure.
먼저, 공개키를 포함하는 인증서 정보를 저장한다(S710). First, certificate information including a public key is stored (S710).
그리고 인증서 정보에 대응되는 ID를 획득한다(S720). 구체적으로, ID를 획득하는 단계는, 인증서 정보 중 공개키, 서브젝트 유니크 아이디(subject unique id), 이슈어 유니크 아이디(Issuer Unique ID), 시리얼 넘버 중 적어도 하나를 이용하여 ID를 생성할 수 있다. 이때, 인증서 정보에 포함된 두 개 이상의 유니크한 값을 해시 처리하여 ID를 생성할 수도 있다. 또한, 구현시에는 해당 전자 장치가 ID를 생성하지 않고, 암호문을 암호화하는 장치 측에서 ID를 생성하고, 외부 장치에서 생성한 ID를 수신하여 ID를 획득할 수도 있다. Then, an ID corresponding to the certificate information is acquired (S720). Specifically, in the acquiring of the ID, the ID may be generated using at least one of a public key, a subject unique ID, an issuer unique ID, and a serial number among certificate information. At this time, an ID may be generated by hashing two or more unique values included in the certificate information. Further, in implementation, the corresponding electronic device may not generate the ID, but the device that encrypts the ciphertext may generate the ID and receive the ID generated by the external device to acquire the ID.
그리고 획득된 ID에 기초하여 ID 기반 비밀키를 생성할 수 있다(S730). 예를 들어, 공개키 방식을 이용하는 경우, 획득된 ID에 기초하여 ID 기반 공개키 및 ID 비밀 키를 생성하고, 생성한 ID 기반 공개키를 외부 장치에 전송할 수 있다. 대칭키 방식인 경우, 생성한 ID 기반 비밀키를 외부 장치에 전송할 수 있다. 이때, 암호화된 채널을 이용하거나, ID 기반 비밀키를 별도의 암호화 처리를 수행하여 외부 장치에 전송할 수도 있다. Then, an ID-based secret key may be generated based on the obtained ID (S730). For example, in case of using the public key method, an ID-based public key and an ID private key may be generated based on the obtained ID, and the generated ID-based public key may be transmitted to an external device. In the case of a symmetric key method, the generated ID-based secret key can be transmitted to an external device. In this case, an encrypted channel may be used or an ID-based private key may be separately encrypted and transmitted to an external device.
외부 장치로부터 암호문 및 하이브리드 암호문을 수신한다(S740). 한편, 구현시에는 암호문과 하이브리드 암호문의 수신은 개별적으로 수행될 수 있다. 즉, 하이브리드 암호문은 미리 수신하여 저장하고 있을 수도 있다. Cipher text and hybrid cipher text are received from an external device (S740). Meanwhile, in implementation, reception of the cipher text and the hybrid cipher text may be performed separately. That is, the hybrid ciphertext may be received and stored in advance.
그리고 하이브리드 암호문, 인증서 정보에 포함된 공개키(또는 해당 공개키에 대응되는 비밀키), ID 기반 공개키를 이용하여 암호문에 적용된 비밀키를 복원할 수 있다. 구체적으로, 상술한 바와 같이 하이브리드 암호문은 암호화된 두 랜덤키로 구성되는데, 인증서 정보에 대응되는 비밀키를 이용하여 제1 랜덤 값을 복호화하고, ID 기반 비밀키를 이용하여 제2 랜덤 값을 복호화할 수 있다. 그리고 복호화된 제1 랜덤 값과 제2 랜덤 값을 XOR 연산하여 메시지를 암호화한 암호문에 대한 비밀키(또는 제2 비밀키)를 생성할 수 있다. In addition, the private key applied to the ciphertext can be restored using the hybrid ciphertext, the public key included in the certificate information (or the private key corresponding to the corresponding public key), and the ID-based public key. Specifically, as described above, the hybrid ciphertext is composed of two encrypted random keys. A first random value is decrypted using a secret key corresponding to certificate information, and a second random value is decrypted using an ID-based secret key. can Then, a secret key (or a second secret key) for the cipher text that encrypts the message may be generated by performing an XOR operation on the decrypted first random value and the second random value.
그리고 제2 비밀키를 이용하여 암호문을 복호화한다(S760). 이에 따라, 메시지가 복원될 수 있다. Then, the ciphertext is decrypted using the second secret key (S760). Accordingly, the message can be restored.
한편, 도 7에서는 ID 기반 공개키 생성 동작을 수행하는 것으로 도시하고 설명하였지만, 상술한 동작은 별도의 외부 장치(즉, 키 서버)에서 수행될 수 있으며, 상술한 하이브리드 암호문 및 그에 대응되는 비밀키 생성 동작은 암호문의 수신 전에 미리 수행되어 있을 수도 있다. Meanwhile, although FIG. 7 shows and describes an ID-based public key generation operation, the above-described operation may be performed in a separate external device (ie, a key server), and the above-described hybrid ciphertext and the corresponding private key The generating operation may have been previously performed prior to receipt of the cipher text.
한편, 상술한 본 개시의 다양한 실시 예 중 적어도 일부에 따른 방법들은, 기존 전자 장치에 설치 가능한 애플리케이션 형태로 구현될 수 있다. Meanwhile, methods according to at least some of the various embodiments of the present disclosure described above may be implemented in the form of an application that can be installed in an existing electronic device.
또한, 상술한 본 개시의 다양한 실시 예 중 적어도 일부에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드만으로도 구현될 수 있다. In addition, the methods according to at least some of the various embodiments of the present disclosure described above may be implemented with only a software upgrade or hardware upgrade of an existing electronic device.
또한, 상술한 본 개시의 다양한 실시 예 중 적어도 일부에 따른 방법들은, 전자 장치에 구비된 임베디드 서버, 또는 전자 장치 중 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.Also, methods according to at least some of the various embodiments of the present disclosure described above may be performed through an embedded server included in the electronic device or an external server of at least one of the electronic devices.
한편, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작할 수 있는 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적 저장매체'는 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다. 일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 애플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.Meanwhile, according to an embodiment of the present disclosure, various embodiments described above may be implemented as software including instructions stored in a machine-readable storage medium (eg, a computer). A device is a device capable of calling a stored command from a storage medium and operating according to the called command, and may include an electronic device (eg, the electronic device A) according to the disclosed embodiments. When executed by this processor, the processor may directly or use other components under the control of the processor to perform a function corresponding to the instruction, and the instruction may include code generated or executed by a compiler or an interpreter. A device-readable storage medium may be provided in the form of a non-transitory storage medium, where a 'non-transitory storage medium' is a tangible device and a signal (e.g. : electromagnetic waves), and this term does not distinguish between cases in which data is stored semi-permanently and temporarily stored in storage media. For example, 'non-temporary storage media' means that data is temporarily stored. According to an embodiment, the method according to various embodiments disclosed in this document may be provided by being included in a computer program product, which is a product that is a seller and a buyer. The computer program product is distributed in the form of a device-readable storage medium (eg compact disc read only memory (CD-ROM)), or through an application store (eg Play Store™) or Distributed (eg, downloaded or uploaded) online, directly between two user devices (eg, smartphones) In the case of online distribution, a computer program product (eg, a downloadable app) At least a part of may be at least temporarily stored in a device-readable storage medium, such as a manufacturer's server, an application store server, or a relay server memory, or may be temporarily generated.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. Various embodiments of the present disclosure may be implemented as software including commands stored in a storage medium readable by a machine (eg, a computer). The device calls the stored commands from the storage medium. And, as a device capable of operating according to the called command, it may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments.
상술한 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상술한 프로세서의 제어하에 다른 구성요소들을 이용하여 상술한 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. When the above-described command is executed by a processor, the processor may perform a function corresponding to the above-described command by using other components directly or under the control of the above-described processor. An instruction may include code generated or executed by a compiler or interpreter.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.Although the preferred embodiments of the present disclosure have been shown and described above, the present disclosure is not limited to the specific embodiments described above, and is common in the art to which the disclosure belongs without departing from the gist of the present disclosure claimed in the claims. Of course, various modifications are possible by those with knowledge of, and these modifications should not be individually understood from the technical spirit or perspective of the present disclosure.

Claims (15)

  1. 전자 장치에 있어서, In electronic devices,
    공개키를 포함하는 인증서 정보를 저장하는 메모리;a memory for storing certificate information including a public key;
    외부 장치와 통신을 수행하는 통신 장치; 및a communication device that communicates with an external device; and
    복수의 랜덤키를 이용하여 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 메시지를 암호화하여 암호문을 생성하는 프로세서;를 포함하고, A processor for generating a secret key using a plurality of random keys and encrypting a message using the generated secret key to generate cipher text;
    상기 프로세서는, the processor,
    상기 복수의 랜덤키, 상기 인증서 정보에 대응되는 ID 기반 비밀키 및 상기 인증서 정보에 포함된 공개키를 이용하여 하이브리드 암호문을 생성하고, 상기 암호화된 메시지와 상기 생성된 하이브리드 암호문이 상기 외부 장치에 전송하도록 상기 통신 장치를 제어하는 전자 장치. A hybrid ciphertext is generated using the plurality of random keys, an ID-based private key corresponding to the certificate information, and a public key included in the certificate information, and the encrypted message and the generated hybrid ciphertext are transmitted to the external device. An electronic device that controls the communication device to do so.
  2. 제1항에 있어서, According to claim 1,
    상기 프로세서는, the processor,
    제1 랜덤키와 제2 랜덤키를 생성하고, 상기 제1 랜덤키와 상기 제2 랜덤키를 XOR 연산하여 상기 비밀키를 생성하는 전자 장치. An electronic device generating the secret key by generating a first random key and a second random key, and performing an XOR operation on the first random key and the second random key.
  3. 제1항에 있어서, According to claim 1,
    상기 프로세서는, the processor,
    상기 제1 랜덤키를 상기 ID 기반 공개키를 이용하여 암호화하고, 상기 제2 랜덤키를 상기 인증서 정보에 포함된 공개키를 이용하여 암호화하고, 상기 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키를 이용하여 하이브리드 암호문을 생성하는 전자 장치. The first random key is encrypted using the ID-based public key, the second random key is encrypted using the public key included in the certificate information, and the encrypted first random key and the encrypted second random key are encrypted. An electronic device that uses a key to generate hybrid ciphertext.
  4. 제3항에 있어서, According to claim 3,
    상기 프로세서는, the processor,
    제1 암호화 방식으로 상기 제1 랜덤키를 암호화하고, 상기 제1 암호화 방식과 다른 제2 암호화 방식으로 상기 제2 랜덤키를 암호화하는 전자 장치. An electronic device that encrypts the first random key using a first encryption method and encrypts the second random key using a second encryption method different from the first encryption method.
  5. 제1항에 있어서, According to claim 1,
    상기 ID 기반 공개키는 상기 인증서 정보에 포함된 정보에 기초하여 생성된 ID를 이용하여 산출되며, The ID-based public key is calculated using an ID generated based on information included in the certificate information,
    상기 ID는, 상기 인증서 정보 내의 일련번호, 주체 유니크 ID(subject unique id), 발급자 유니크 ID(Issuer Unique ID), 중 적어도 하나를 이용하여 생성되는 전자 장치. The electronic device of claim 1 , wherein the ID is generated using at least one of a serial number, a subject unique ID, and an issuer unique ID in the certificate information.
  6. 제1항에 있어서, According to claim 1,
    상기 프로세서는, the processor,
    TLS(Transport Layer Security)를 이용하여 상기 외부 장치와 통신하도록 상기 통신 장치를 제어하는 전자 장치. An electronic device that controls the communication device to communicate with the external device using Transport Layer Security (TLS).
  7. 제1항에 있어서, According to claim 1,
    상기 인증서 정보는 PKI 인증서에 대응되는 정보인 전자 장치. The certificate information is information corresponding to a PKI certificate.
  8. 전자 장치의 암호화 방법에 있어서, In the encryption method of an electronic device,
    공개키를 포함하는 인증서 정보를 저장하는 단계;storing certificate information including a public key;
    외부 장치로부터 상기 인증서 정보에 기초한 ID 기반 공개키를 수신하는 단계;Receiving an ID-based public key based on the certificate information from an external device;
    복수의 랜덤키를 이용하여 비밀키를 생성하고, 상기 생성된 비밀키를 이용하여 메시지를 암호화하여 암호문을 생성하는 단계;generating a secret key using a plurality of random keys and encrypting a message using the generated secret key to generate cipher text;
    상기 복수의 랜덤키, 상기 인증서 정보에 대응되는 ID 기반 공개키 및 상기 인증서 정보에 포함된 공개키를 이용하여 하이브리드 암호문을 생성하는 단계; 및generating hybrid ciphertext using the plurality of random keys, an ID-based public key corresponding to the certificate information, and a public key included in the certificate information; and
    상기 암호화된 메시지와 상기 생성된 하이브리드 암호문을 상기 외부 장치로 전송하는 단계;를 포함하는 암호화 방법. and transmitting the encrypted message and the generated hybrid ciphertext to the external device.
  9. 제8항에 있어서, According to claim 8,
    상기 암호문을 생성하는 단계는, The step of generating the ciphertext is,
    제1 랜덤키와 제2 랜덤키를 생성하고, 상기 제1 랜덤키와 상기 제2 랜덤키를 XOR 연산하여 상기 비밀키를 생성하는 암호화 방법. An encryption method comprising generating a first random key and a second random key, and performing an XOR operation on the first random key and the second random key to generate the secret key.
  10. 제8항에 있어서, According to claim 8,
    상기 하이브리드 암호문을 생성하는 단계는, Generating the hybrid ciphertext,
    상기 제1 랜덤키를 상기 ID 기반 공개키를 이용하여 암호화하고, 상기 제2 랜덤키를 상기 인증서 정보에 포함된 공개키를 이용하여 암호화하고, 상기 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키를 이용하여 하이브리드 암호문을 생성하는 암호화 방법. The first random key is encrypted using the ID-based public key, the second random key is encrypted using the public key included in the certificate information, and the encrypted first random key and the encrypted second random key are encrypted. An encryption method that uses a key to generate a hybrid ciphertext.
  11. 제10항에 있어서, According to claim 10,
    상기 하이브리드 암호문을 생성하는 단계는, Generating the hybrid ciphertext,
    제1 암호화 방식으로 상기 제1 랜덤키를 암호화하고, 상기 제1 암호화 방식과 다른 제2 암호화 방식으로 상기 제2 랜덤키를 암호화하는 암호화 방법. An encryption method of encrypting the first random key using a first encryption method and encrypting the second random key using a second encryption method different from the first encryption method.
  12. 제8항에 있어서, According to claim 8,
    상기 인증서 정보는 PKI 인증서에 대응되는 정보인 암호화 방법. The certificate information is information corresponding to a PKI certificate.
  13. 전자 장치의 복호화 방법에 있어서, In the decoding method of the electronic device,
    공개키를 포함하는 인증서 정보를 저장하는 단계;storing certificate information including a public key;
    상기 인증서 정보에 대응되는 ID 기반 비밀키를 획득하는 단계;obtaining an ID-based private key corresponding to the certificate information;
    암호문 및 하이브리드 암호문을 수신하는 단계;receiving a ciphertext and a hybrid ciphertext;
    상기 공개키, ID 기반 비밀키 및 상기 하이브리드 암호문을 이용하여 상기 암호문에 대한 비밀키를 생성하는 단계; 및generating a secret key for the ciphertext using the public key, the ID-based private key, and the hybrid ciphertext; and
    상기 비밀키를 이용하여 상기 암호문을 복호화하는 단계;를 포함하는 복호화 방법. Decrypting the ciphertext using the secret key; decryption method comprising a.
  14. 제13항에 있어서, According to claim 13,
    상기 비밀키를 생성하는 단계는, Generating the secret key,
    상기 하이브리드 암호문에 포함된 암호화된 제1 랜덤키 및 암호화된 제2 랜덤키 각각을 상기 인증서 정보에 포함된 공개키에 대응되는 비밀키 또는 상기 ID 기반 비밀키를 이용하여 복호화하고, 제1 랜덤키 및 제2 랜덤키를 XOR 연산하여 비밀키를 생성하는 복호화 방법. Each of the encrypted first random key and the encrypted second random key included in the hybrid ciphertext is decrypted using a private key corresponding to a public key included in the certificate information or the ID-based private key, and the first random key and performing an XOR operation on the second random key to generate a secret key.
  15. 제13항에 있어서, According to claim 13,
    상기 ID 기반 비밀키는 상기 인증서 정보에 포함된 정보에 기초하여 생성된 ID를 이용하여 산출되며, The ID-based private key is calculated using an ID generated based on information included in the certificate information,
    상기 ID는, 상기 인증서 정보 내의 일련번호, 주체 유니크 ID(subject unique id), 발급자 유니크 ID(Issuer Unique ID), 중 적어도 하나를 이용하여 생성되는 복호화 방법. The ID is generated using at least one of a serial number, a subject unique ID, and an issuer unique ID in the certificate information.
PCT/KR2022/020683 2021-12-17 2022-12-19 Electronic apparatus and encryption method WO2023113572A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR20210182201 2021-12-17
KR10-2021-0182201 2021-12-17
KR1020220172019A KR20230092763A (en) 2021-12-17 2022-12-09 Electronic apparatus and method for encryption thereof
KR10-2022-0172019 2022-12-09

Publications (1)

Publication Number Publication Date
WO2023113572A1 true WO2023113572A1 (en) 2023-06-22

Family

ID=86773158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/020683 WO2023113572A1 (en) 2021-12-17 2022-12-19 Electronic apparatus and encryption method

Country Status (1)

Country Link
WO (1) WO2023113572A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
WO2020087152A1 (en) * 2018-10-31 2020-05-07 ISARA Corporation Extensions for using a digital certificate with multiple cryptosystems
US20200259647A1 (en) * 2019-02-12 2020-08-13 Nxm Labs Canada Inc. Quantum-augmentable hybrid encryption system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172529B2 (en) * 2011-09-16 2015-10-27 Certicom Corp. Hybrid encryption schemes
WO2020087152A1 (en) * 2018-10-31 2020-05-07 ISARA Corporation Extensions for using a digital certificate with multiple cryptosystems
US20200259647A1 (en) * 2019-02-12 2020-08-13 Nxm Labs Canada Inc. Quantum-augmentable hybrid encryption system and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CAMBOU BERTRAND, GOWANLOCK MICHAEL, YILDIZ BAHATTIN, GHANAIMIANDOAB DINA, LEE KAITLYN, NELSON STEFAN, PHILABAUM CHRISTOPHER, STENB: "Post Quantum Cryptographic Keys Generated with Physical Unclonable Functions", APPLIED SCIENCES, vol. 11, no. 6, pages 2801, XP093073617, DOI: 10.3390/app11062801 *
CHIA JASON, HENG SWEE-HUAY, CHIN JI-JIAN, TAN SYH-YUAN, YAU WEI-CHUEN: "An Implementation Suite for a Hybrid Public Key Infrastructure", SYMMETRY, vol. 13, no. 8, pages 1535, XP093073618, DOI: 10.3390/sym13081535 *

Similar Documents

Publication Publication Date Title
WO2016137304A1 (en) Trust-zone-based end-to-end security
WO2020147383A1 (en) Process examination and approval method, device and system employing blockchain system, and non-volatile storage medium
WO2016137307A1 (en) Attestation by proxy
WO2015126124A1 (en) Method and device for transmitting and receiving authentication information in wireless communication system
WO2014069783A1 (en) Password-based authentication method, and apparatus for performing same
WO2018151390A1 (en) Internet of things device
WO2019132272A1 (en) Id as blockchain based service
WO2019164339A1 (en) Electronic device and method for sharing screen data
WO2014063455A1 (en) Instant messaging method and system
WO2017119548A1 (en) Security-reinforced user authentication method
WO2021075867A1 (en) Method for storing and recovering key for blockchain-based system, and device therefor
WO2021112603A1 (en) Method and electronic device for managing digital keys
US20210351920A1 (en) Secure communication method and smart lock system based thereof
WO2015037887A1 (en) Server and method for authenticating smart chip
WO2019182377A1 (en) Method, electronic device, and computer-readable recording medium for generating address information used for transaction of blockchain-based cryptocurrency
WO2019124667A1 (en) Wearable device communication support apparatus and method
WO2019098790A1 (en) Electronic device and method for transmitting and receiving data on the basis of security operating system in electronic device
WO2020032351A1 (en) Method for establishing anonymous digital identity
WO2017016272A1 (en) Method, apparatus and system for processing virtual resource data
WO2017111483A1 (en) Biometric data-based authentication device, control server and application server linked to same, and method for operating same
WO2019139421A1 (en) User terminal device, electronic device, system comprising the same and control method thereof
WO2014071703A1 (en) Communication information transmission method and system
WO2020235933A1 (en) System and method for payment authentication
WO2023113572A1 (en) Electronic apparatus and encryption method
WO2019147105A1 (en) Electronic device, external electronic device and system comprising same

Legal Events

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

Ref document number: 22908036

Country of ref document: EP

Kind code of ref document: A1