WO2022186606A1 - 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법 - Google Patents

인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법 Download PDF

Info

Publication number
WO2022186606A1
WO2022186606A1 PCT/KR2022/002955 KR2022002955W WO2022186606A1 WO 2022186606 A1 WO2022186606 A1 WO 2022186606A1 KR 2022002955 W KR2022002955 W KR 2022002955W WO 2022186606 A1 WO2022186606 A1 WO 2022186606A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
encryption key
virtual code
code
control target
Prior art date
Application number
PCT/KR2022/002955
Other languages
English (en)
French (fr)
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 KR1020220026130A external-priority patent/KR20220125173A/ko
Application filed by 주식회사 센스톤 filed Critical 주식회사 센스톤
Publication of WO2022186606A1 publication Critical patent/WO2022186606A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • 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 invention relates to a virtual code-based encryption key update providing apparatus and method for authentication.
  • An encryption module is applied based on CMVP, an encryption verification system (Korea’s encryption verification system is KCMVP), to perform communication between drones, controllers, and servers.
  • KCMVP encryption verification system
  • AES symmetric key method
  • the symmetric key is changed periodically.
  • the encryption key needs to be changed even though it is not a set period due to device loss or encryption key exposure. So there is discomfort.
  • An object to be solved by the present invention is to provide an apparatus and method for providing an encryption key update based on a virtual code for authentication.
  • an update request signal of an encryption key including a virtual code for authentication from a control target device is provided.
  • the server and the control target device are provided with the same encryption module, respectively, and the additional encryption key is encrypted based on the first encryption key currently in use among a plurality of encryption keys provided in the encryption module of the server, and the control Among the encryption keys provided in the encryption module of the target device, it is decrypted based on the same second encryption key as the first encryption key.
  • the additional encryption key may have a next order of the encryption key, which is the last order among the plurality of encryption keys.
  • the standby method may further include transmitting a signal requesting a change of the encryption key to the control target device, and the update request signal may be received in response to the change request signal.
  • the virtual code for authentication is generated based on time data and a first eigenvalue of an encryption module of the control target device, and the verification step is performed based on the time data and the first eigenvalue. It can be determined whether the encryption module is normal.
  • the virtual code for authentication is generated based on the time data, the first eigenvalue, and a second eigenvalue of at least one peripheral device included in the control target device, and the verification step includes: It may be determined whether the control target device is normal based on the second eigenvalue.
  • the method further comprises transmitting an initialization request signal of a virtual code generation algorithm for authentication included in an encryption module of the controlling device to the controlling device, wherein the virtual code for authentication includes the It may be generated to correspond to a unit count that has elapsed from an initialization time of the virtual code generation algorithm for authentication to a time point at which the virtual code for authentication is generated.
  • the step of transmitting the initialization request signal generates an authentication virtual code for initialization of the encryption module of the control target device, and the control target device uses the authentication virtual code for the initialization based on the authentication virtual code.
  • the authentication virtual code for the initialization may be transmitted to the control target device.
  • a UID user identification
  • a secret are assigned to an encryption module of the controlling device, and a plurality of initial encryption keys, the UID and the secret are assigned to the controlling device.
  • the control target device may initialize the virtual code generation algorithm for authentication.
  • An apparatus for providing an update of an encryption key for solving the above-described problems, a communication unit for performing communication with at least one control target device and a virtual code for authentication from the control target device through the communication unit
  • an update request signal of an encryption key including a control unit for transmitting to a target device
  • the providing device and the control target device are provided with the same encryption module, respectively, and the additional encryption key is currently used among a plurality of encryption keys provided in the encryption module of the providing device It is encrypted based on the first encryption key in progress, and is decrypted based on the same second encryption key as the first encryption key among the encryption keys provided in the encryption module of the control target device.
  • FIG. 1 is a view for explaining a system for providing an encryption key update based on a virtual code for authentication according to the present invention.
  • FIG. 2 is a schematic flowchart of a method for providing an encryption key update based on a virtual code for authentication according to the present invention.
  • FIG. 3 is a flowchart specifically illustrating a method of providing an encryption key update based on a virtual code for authentication according to the present invention.
  • FIG. 4 is an exemplary diagram for explaining an encryption key update according to the present invention.
  • FIG. 5 is a schematic block diagram of an apparatus for providing an encryption key update based on a virtual code for authentication according to the present invention.
  • 'character' is a component constituting a code, and includes all or part of uppercase letters, lowercase letters, numbers, and special characters.
  • 'code' means a character string in which characters are listed.
  • the 'virtual code for authentication' is a code generated by the virtual code generating means for authentication, and means a code used to perform device (control target device or encryption module itself) authentication by the virtual code verification means for authentication. That is, the 'virtual code for authentication' refers to a virtual code temporarily assigned to each unit count to verify whether it is a normal device.
  • 'detail code' means some code included in the virtual code for authentication.
  • a 'unit count' is a unit that is set at a specific time interval and is changed as the time interval elapses. For example, 1 count may be set to a specific time interval (eg, 1.5 seconds) and used.
  • the 'virtual code generation function for authentication' refers to a function used to generate a virtual code for authentication.
  • a 'storage location' means a point (count) on a track corresponding to a time point at which registration of a device is requested by a user.
  • a 'user' may be a user using a device, but is not limited thereto.
  • FIG. 1 is a view for explaining a system for providing an encryption key update based on a virtual code for authentication according to the present invention.
  • a virtual code-based encryption key update providing system for authentication (hereinafter, the system) includes a server 10 , a control target device 20 , and a controller 30 .
  • the system may include fewer or more components than the components shown in FIG. 1 .
  • the server 10 may be a server of a control center that controls at least one control target device 20 .
  • the control target device 20 is a remotely controlled device and may refer to a drone or a CCTV. However, the present invention is not limited thereto, and any device remotely controlled by a control center or a controller may be included. Hereinafter, it is assumed that the control target device 20 is a drone.
  • the controller 30 may be a device used by a user to control one control target device 20 through a command.
  • the server 10 , the control target device 20 , and the controller 30 may transmit/receive various data, signals, or information to each other through a communication network.
  • RF Radio Frequency
  • LTE Long Term Evolution
  • WLAN Wireless LAN
  • Wi-Fi Wibro
  • Wimax Wimax
  • wireless communication methods such as High Speed Downlink Packet Access (HSDPA) or Ethernet
  • xDSL ADSL, VDSL
  • HFC Hybrid Fiber Coax
  • FTTC Fiber to The Curb
  • FTTH Fiber To The Home
  • a wired communication method such as the like may be used.
  • the communication network is not limited to the communication method presented above, and may include all types of communication methods which are well known or to be developed in the future in addition to the above communication methods.
  • the control target device 20 may transmit/receive commands, signals, or information to and from the server 10 based on KCMVP. That is, the control target device 20 may transmit/receive commands, signals, or information to each other through encryption/decryption using the same encryption key as the server 10 .
  • the control target device 20 and the server 10 include the same encryption module, and a plurality of encryption keys are basically stored in the encryption module, so that the encryption key is changed periodically (or when an event occurs), encryption and decryption will be performed. However, since the number of encryption keys stored by default is limited, an update of the encryption key is required.
  • the server 10 verifies the virtual code for authentication generated by the controlling device 20 , thereby providing an additional authentication key only to the normal controlling device 20 .
  • control target device 20 may generate a virtual code for authentication whenever an authentication key update is required as a means for generating a virtual code for authentication and transmit it to the server 10 .
  • the server 10 as a virtual code verification means for authentication, verifies the virtual code for authentication received from the control target device 20 .
  • the present invention is not limited thereto, and the controller 30 instead of the server 10 may verify the virtual code for authentication according to an embodiment.
  • FIG. 2 is a schematic flowchart of a method for providing an encryption key update based on a virtual code for authentication according to the present invention.
  • FIG. 3 is a flowchart specifically illustrating a method of providing an encryption key update based on a virtual code for authentication according to the present invention.
  • FIG. 4 is an exemplary diagram for explaining an encryption key update according to the present invention.
  • the server 10 may receive an update request signal of an encryption key including a virtual code for authentication from the control target device 20 ( S110 ).
  • step S110 that is, before the server 10 receives an update request signal from the controlling device 20 , the server 10 sends the change of the encryption key to the controlling device 20 .
  • the method may further include transmitting a request signal.
  • the update request signal may be received in response to the change request signal.
  • the server 10 transmits a signal requesting a change of the encryption key to the control target device 20 periodically or when an event occurs (eg, hacking attempt).
  • an event eg, hacking attempt
  • control target device 20 When the control target device 20 receives the change request signal, it changes the currently used encryption key to a new encryption key. A description of the encryption key change will be described later.
  • the control target device 20 After changing the encryption key, the control target device 20 transmits an encryption key update request signal to the server (10).
  • the control target device 20 may generate an authentication virtual code for device authentication and transmit it to the server 10 together with the update request signal. A description related to the generation of the virtual code for authentication will be described later.
  • the encryption key update is performed whenever the encryption key is changed, but it is not limited thereto, and according to the embodiment, the encryption key change is periodically (or when an event occurs) continues, and the default stored password When the key remains less than or equal to the reference number, the encryption key update may be performed.
  • the update determination may be made by the controlling device 20 or by the server 10 (since both have the same encryption module).
  • the server 10 may verify the virtual code for authentication in response to the update request signal (S120).
  • the server 10 may determine whether the control target device 20 that has transmitted the corresponding update request signal is a normal device through verification of the virtual code for authentication. A description related to the verification of the virtual code for authentication will be described later.
  • the server 10 may generate at least one additional encryption key and transmit it to the control target device 20 (S130).
  • the additional encryption key is encrypted based on the first encryption key currently in use among a plurality of encryption keys provided in the encryption module of the server 10 , and the encryption provided in the encryption module of the control target device 20 .
  • the keys it may be decrypted based on the same second encryption key as the first encryption key.
  • the server 10 and the control target device 20 are provided with the same encryption module, the encryption key currently being used is the same as each other, and the encryption key in the server 10 or the control target device 20 is When changed, the control target device 10 or the server 20 may also change the encryption key in the same way.
  • the server 10 since the first encryption key of the server 10 and the second encryption key of the control target device 20 are the same encryption key, the server 10 is currently using the newly generated additional encryption key in the form of a random number. It is encrypted with an encryption key and sent to the control target device 20, and the control target device 20 may store the encrypted additional encryption key by decrypting it with the same encryption key. Accordingly, it is possible to increase the security of the additional encryption key.
  • the server 10 determines to change the encryption key of the encryption module ( S51 ). That is, when a change cycle arrives or a hacking threat occurs, the server 10 may determine to change the encryption key stored in the encryption module.
  • the server 10 transmits a signal requesting the change of the encryption key to the control target device 20 (S52).
  • the control target device 20 changes the encryption key of the encryption key stored in the encryption module to the encryption key next to the encryption key currently being used (S53).
  • the currently used encryption key is A among the five encryption keys (A, B, C, D, E) stored in the encryption module
  • the encryption key is changed from A to B according to the encryption key change request can be That is, the currently used encryption key is changed to B.
  • This change result is applied not only to the encryption module included in the control target device 20 but also to the encryption module included in the server 10 (that is, both are identically changed to the encryption key B).
  • the control target device 20 When the encryption key is changed, the control target device 20 generates an authentication virtual code (S54), and transmits an encryption key update request signal together with the generated authentication virtual code to the server 10 (S55).
  • the server 10 verifies the virtual code for authentication (S56).
  • the server 10 When the verification of the virtual code for authentication is completed, the server 10 generates an additional encryption key in the form of a random number (S57). At this time, one additional encryption key may be generated according to the embodiment, or a plurality may be generated.
  • the server 10 may encrypt the additional encryption key with the encryption key currently in use.
  • the encryption key currently in use may mean the encryption key changed in step S53 (encryption key B in FIG. 4).
  • encryption may be performed with the encryption key before the change.
  • the server 10 transmits the encrypted additional encryption key to the control target device 20 (S58).
  • control target device 20 decrypts the encrypted additional encryption key with the same encryption key as the encryption key used for encryption by the server 10, and stores the decrypted additional encryption key in order ( S59).
  • the additional encryption key has the next order of the encryption key, which is the last order among the plurality of encryption keys stored in the encryption module.
  • the newly generated additional encryption key F may be decrypted and stored in the rear order of the encryption key E, which was the last order. This additional result is applied not only to the encryption module included in the controlled device 20 but also to the encryption module included in the server 10 (that is, the encryption key F is stored in the same order in both cases).
  • the server 10 and the control target device 20 include the same encryption module, but according to an embodiment, the server 10, the control target device 20, and the controller 30 all have the same encryption module It can contain modules.
  • the control target device 20 may generate a virtual code for authentication to correspond to a unit count that has elapsed from the initialization time of the virtual code generation algorithm for authentication to the time when the virtual code for authentication is generated.
  • a plurality of detailed codes are generated based on the elapsed time from the time when the virtual code generation algorithm for authentication is initialized to the time when the virtual code for authentication is generated, and the virtual code for authentication is generated by combining the plurality of detailed codes. can create A description of the initialization of the virtual code generation algorithm for authentication will be described later.
  • the virtual code for authentication may be generated based on time data and a first unique value of the encryption module of the control target device 20 .
  • the first unique value may include a user identification (UID) and a secret of an encryption module included in the control target device 20 .
  • the time data is a value corresponding to the generation time of the virtual code for authentication, and may be obtained based on GPS or may be obtained by driving a clock within the control target device 20 .
  • the control target device 20 may generate a one time password (OTP) using a secret among the time data and the first unique value as seed data by using the virtual code generation algorithm for authentication.
  • OTP one time password
  • the UID among the first eigenvalues may be used as the seed data according to an embodiment, or a value other than the time data and the first eigenvalue may be further used.
  • the control target device 10 may generate a first code among the plurality of detailed codes by adding the generated OTP to the time data using the virtual code generation algorithm for authentication.
  • the control target device 20 may generate a second code among the plurality of detailed codes by excluding the UID from the first unique value from the first code using the virtual code generation algorithm for authentication.
  • the value excluded from the first code may be a secret among the first eigenvalues.
  • the control target device 20 may generate a virtual code for authentication by combining the generated detailed codes (the first code and the second code).
  • the control target device 20 may generate the virtual code for authentication by combining a plurality of detailed codes according to a specific rule using a virtual code generation algorithm for authentication.
  • the virtual code generation algorithm for authentication may include a rule for combining a plurality of detailed codes (ie, a detailed code combining function).
  • Various methods may be applied as a method of generating one virtual code for authentication by combining a plurality of detailed codes.
  • the control target device 20 may generate a virtual code for authentication by alternately disposing an M-digit first code and an N-digit second code.
  • the detailed code combining function may be a function of combining the second code after the first code. As the number of detailed codes included in the virtual code for authentication increases, various detailed code combining functions may be generated.
  • the virtual code for authentication may be generated based on the time data, the first eigenvalue, and a second eigenvalue of at least one peripheral device included in the control target device 20 .
  • the peripheral device may mean a device connected to or included in the control target device 20 .
  • the peripheral device may mean a camera, a flight controller (FC), or the like.
  • the first unique value may include a user identification (UID) and a secret of an encryption module included in the control target device 20 .
  • the second unique value may be identification information (eg, serial number) of the peripheral device.
  • the time data is a value corresponding to the generation time of the virtual code for authentication, and may be obtained based on GPS or may be obtained by driving a clock within the control target device 20 .
  • control target device 20 may generate a one time password (OTP) using the time data and the secret of the first unique value as seed data using the virtual code generation algorithm for authentication.
  • OTP one time password
  • the UID among the first eigenvalues may be used as the seed data according to an embodiment, or a value other than the time data and the first eigenvalue may be further used.
  • the control target device 10 may generate a first code among the plurality of detailed codes by adding the generated OTP to the time data using the virtual code generation algorithm for authentication.
  • the control target device 20 may generate a second code among the plurality of detailed codes by excluding the UID from the first unique value from the first code using the virtual code generation algorithm for authentication.
  • the value excluded from the first code may be a secret among the first eigenvalues.
  • the control target device 20 may generate a third code among the plurality of detailed codes by excluding a second eigenvalue from the first code using the virtual code generation algorithm for authentication.
  • 3rd code 1st code - 2nd eigenvalue
  • the control target device 20 may generate a virtual code for authentication by combining the generated detailed codes (first code, second code, and third code).
  • the control target device 20 may generate the virtual code for authentication by combining a plurality of detailed codes according to a specific rule using a virtual code generation algorithm for authentication.
  • the virtual code generation algorithm for authentication may include a rule for combining a plurality of detailed codes (ie, a detailed code combining function).
  • the control target device 20 may generate a virtual code for authentication by alternately disposing an M-digit first code, an N-digit second code, and a K-digit third code.
  • the detailed code combining function may be a function of combining the second code after the first code and combining the third code after the second code. As the number of detailed codes included in the virtual code for authentication increases, various detailed code combining functions may be generated.
  • the control target device 20 generates an OTP (One time password) by using the time data and the first eigenvalue secret and the second eigenvalue as seed data using the virtual code generation algorithm for authentication. can do.
  • OTP One time password
  • the UID among the first eigenvalues may be used as the seed data according to an embodiment, or values other than time data, the first eigenvalue, and the second eigenvalue may be further used.
  • the control target device 10 may generate a first code among the plurality of detailed codes by adding the generated OTP to the time data using the virtual code generation algorithm for authentication.
  • the control target device 20 may generate a second code among the plurality of detailed codes by excluding the second eigenvalue from the first code using the virtual code generation algorithm for authentication.
  • the control target device 20 may generate a virtual code for authentication by combining the generated detailed codes (the first code and the second code).
  • the control target device 20 may generate the virtual code for authentication by combining a plurality of detailed codes according to a specific rule using a virtual code generation algorithm for authentication.
  • the virtual code generation algorithm for authentication may include a rule for combining a plurality of detailed codes (ie, a detailed code combining function).
  • Various methods may be applied as a method of generating one virtual code for authentication by combining a plurality of detailed codes.
  • the control target device 20 may generate a virtual code for authentication by alternately disposing an M-digit first code and an N-digit second code.
  • the detailed code combining function may be a function of combining the second code after the first code. As the number of detailed codes included in the virtual code for authentication increases, various detailed code combining functions may be generated.
  • controlling device 20 generates a virtual code for authentication, but according to an embodiment, an encryption module included in the controlling device 20 may generate a virtual code for authentication.
  • the virtual code for authentication is a code that can be generated from a specific encryption module only at the current time, it is possible to reliably authenticate the device for the encryption module that needs to download and store an additional encryption key.
  • a virtual code for authentication can be generated by using the intrinsic value of the peripheral device, it is possible to authenticate whether the device is normal even when the encryption module is stolen and connected to another device.
  • the encryption module is hijacked, since the intrinsic value of the peripheral device is different even if the intrinsic value of the encryption module remains the same, the encryption module may appear normal, but the peripheral device appears abnormal.
  • the server 10 may verify the virtual code for authentication based on a verification algorithm corresponding to the virtual code generation algorithm for authentication.
  • the server 10 may determine whether the encryption module is normal based on the time data and the first eigenvalue using a verification algorithm.
  • the server 10 may extract the first eigenvalue by searching an area in which the first eigenvalue is stored based on the virtual code for authentication using a verification algorithm.
  • the UID may be extracted by searching an area in which the UID is stored among the first unique values.
  • the present invention is not limited thereto, and the secret may be extracted by searching an area in which the secret is stored among the first eigenvalues according to an embodiment.
  • the virtual code for authentication includes a plurality of detailed codes.
  • the plurality of detailed codes includes a first code for setting a starting point of searching for a storage area of a first unique value (more specifically, UID);
  • the second code may be configured to set a search path from the starting point to a storage area of the first eigenvalue (more specifically, UID) according to a specific search method.
  • the first code and the second code have a correlation for verifying the virtual code for authentication in the server 10 having the virtual code verification means for authentication, but the control target device 20 having the virtual code generating means for authentication
  • the first function for generating the first code and the second function for generating the second code are included as detailed code generation functions, and data on the correlation between the first code and the second code is included.
  • the first code and the second code are the actual values in the verification algorithm (the first eigenvalue, more
  • each role for searching the storage area of the UID may be performed.
  • the first code sets the starting point of the storage location search
  • the second code sets the storage area of the actual value (first eigenvalue, more specifically UID) from the starting point according to a specific search method. set the search path of Therefore, thereafter, when the virtual code for authentication normally generated for each unit count is provided in the control target device 20, the server 10 moves from the start point corresponding to the first code along the search path corresponding to the second code.
  • the point is determined as an area in which an actual value (a first eigenvalue, more specifically, a UID) is stored.
  • the server 10 may extract a plurality of detailed codes included in the virtual code for authentication by using a verification algorithm.
  • the virtual code for authentication is generated by combining a plurality of detailed codes according to a specific rule.
  • the server 10 may extract a plurality of detailed codes from the virtual code for authentication by applying the same function as the detailed code combination function used when generating the virtual code for authentication. For example, when a virtual code for authentication in which two detailed codes (that is, a first code and a second code) are combined is generated, the server 10 applies a detailed code combining function in the character array of the virtual code for authentication Thus, the first code and the second code can be separated. In this case, a correlation may be included between the detailed codes.
  • the server 10 determines a start point of the search corresponding to the first code, and the search A value corresponding to a point moved along the search path corresponding to the second code from the starting point may be regarded as the first eigenvalue (more specifically, UID).
  • the server 10 sets a starting point based on the first code and the second code that are changed for each count. and a search path may be set to search for a first eigenvalue (more specifically, a UID).
  • the server 10 may include a verification algorithm to find a first eigenvalue (more specifically, a UID) using a plurality of subcodes having a correlation.
  • the verification algorithm is an algorithm that makes it possible to search for a first unique value (more specifically, a UID) when each detailed code included in the virtual code for authentication is applied.
  • the verification algorithm is an algorithm that adjusts so that the first eigenvalue (more specifically, UID) is placed at the corresponding position when the direction corresponding to the second code is indicated at the point corresponding to the first code.
  • the server 10 may find the first unique value (more specifically, UID) even if the first code and the second code included in the virtual code for authentication are changed.
  • the virtual code for authentication is combined with a first code obtained by adding a first OTP to the time data, and a second code excluding a first unique value (more specifically, UID) from the first code
  • the server 10 may extract a first eigenvalue (more specifically, a UID) by subtracting the second code value from the first code value.
  • the server 10 extracts a first eigenvalue (more specifically UID) extracted by searching the storage area and a first unique value extracted by subtracting the second code value from the first code value. By comparing values (more specifically, UIDs), if the two values are the same, it can be determined that the virtual code for authentication is a normal code. However, even without such a comparison process, the server 10 can determine whether the virtual code for authentication is a normal code only with each value (eg, the extracted value matches information stored in the DB of the server 10 ) Judging by whether or not).
  • a first eigenvalue more specifically UID
  • the server 10 determines whether the encryption module is normal based on the time data and the first eigenvalue using a verification algorithm, and determines whether the encryption module is normal based on the second eigenvalue. You can determine whether it is normal or not.
  • the server 10 searches the area in which the first eigenvalue (more specifically, UID) is stored based on the virtual code for authentication using a verification algorithm to extract the first eigenvalue (more specifically, UID), and
  • the second eigenvalue may be extracted by searching the region in which the 2 eigenvalues are stored.
  • the server 10 may extract a plurality of detailed codes included in the virtual code for authentication by using a verification algorithm.
  • the virtual code for authentication is generated by combining a plurality of detailed codes according to a specific rule.
  • the server 10 may extract a plurality of detailed codes from the virtual code for authentication by applying the same function as the detailed code combination function used when generating the virtual code for authentication. For example, when a virtual code for authentication in which three detailed codes (that is, a first code, a second code, and a third code) are combined is generated, the server 10 sets the detailed code in the character array of the virtual code for authentication The first code, the second code, and the third code can be separated by applying the combining function. In this case, a correlation may be included between the detailed codes.
  • the server 10 determines the starting point of the search corresponding to the first code. and a value corresponding to a point moved along a search path corresponding to the second code from the search start point may be regarded as a first eigenvalue (more specifically, UID). Then, a start point of the search corresponding to the first code may be determined, and a value corresponding to a point moved along the search path corresponding to the third code from the start point may be regarded as the second eigenvalue.
  • a first eigenvalue more specifically, UID
  • the server 10 receives the first code, the second code, and the third code that are changed for each count. Based on the start point and search path, the first eigenvalue (more specifically, UID) and the second eigenvalue may be searched.
  • the server 10 may include a verification algorithm to find the first eigenvalue (more specifically UID) and the second eigenvalue using a plurality of subcodes having a correlation.
  • the verification algorithm is an algorithm that makes it possible to search for a first eigenvalue (more specifically, a UID) and search for a second eigenvalue when each detailed code included in the virtual code for authentication is applied.
  • a first code for determining a starting point of a search for a first eigenvalue (more specifically, a UID) and a second eigenvalue from the virtual code for authentication and a first eigenvalue (more specifically, a first eigenvalue from the starting point) UID)
  • the verification algorithm performs the second code at the point corresponding to the first code.
  • the first eigenvalue (more specifically, UID) is adjusted to be disposed at the corresponding position, and when indicating the direction corresponding to the third code at the point corresponding to the first code, the corresponding position It is an algorithm that adjusts so that the second eigenvalue is placed in .
  • the server 10 returns the first eigenvalue (more specifically UID) and the second eigenvalue even if the first code, the second code, and the third code included in the virtual code for authentication are changed. can be found
  • the virtual code for authentication includes a first code obtained by adding a first OTP to the time data, a second code excluding a first eigenvalue (more specifically UID) from the first code, and the When the third code excluding the second eigenvalue is combined and generated from the first code, the server 10 subtracts the second code value from the first code value to obtain an actual value (that is, the first eigenvalue (in more detail) UID)) and subtracting the third code value from the first code value to extract an actual value (ie, a second eigenvalue).
  • the server 10 extracts the first eigenvalue (more specifically, UID) based on the first code and the second code to perform verification on the encryption module, and the first code and By extracting the second eigenvalue based on the third code, verification of the control target device 20 (more specifically, a peripheral device of the control target device) may be performed.
  • the first eigenvalue more specifically, UID
  • the server 10 extracts a first eigenvalue (more specifically UID) extracted by searching the storage area and a first unique value extracted by subtracting the second code value from the first code value.
  • a first eigenvalue more specifically UID
  • the encryption module determines that it is normal, and the third code value from the second eigenvalue and the first code value extracted by searching the storage area
  • the server 10 can determine whether the corresponding authentication virtual code is a normal code only with each value (eg, the extracted values are combined with information stored in the DB of the server 10 ). Judging by whether or not they match).
  • the server 10 verifies the virtual code for authentication, but according to an embodiment, the encryption module included in the server 10 may verify the virtual code for authentication. Also, according to an embodiment, the controller 30 or the encryption module included in the controller 30 instead of the server 10 may verify the virtual code for authentication.
  • the server 10 transmits an initialization request signal of an authentication virtual code generation algorithm included in the encryption module of the control target device 20 to the control target device 20 . It may further include the step of
  • the server 10 generates a virtual code for authentication for initialization of the encryption module of the control target device 20, and based on the authentication virtual code for initialization of the control target device 20, the To initialize the virtual code generation algorithm for authentication, the authentication virtual code for the initialization may be transmitted to the control target device 20 .
  • the server 10 controls the controlling device Upon receiving the registration request from ( 20 ), a virtual code for authentication for initialization of the encryption module included in the corresponding control target device ( 20 ) is generated.
  • the server 10 transmits an initial request and a request together with a virtual code for authentication for initialization to the control target device 20 .
  • the server 10 and the control target device 20 may be wirelessly connected to each other based on the already stored encryption key.
  • the control target device 20 may initially set an authentication virtual code generation algorithm by using the received authentication virtual code for initialization.
  • control target device 20 may transmit the initial request and the request together with the authentication virtual code for initialization to the controller 30 .
  • controller 30 may also store the conversion period of the virtual code for authentication and perform time synchronization to initially set the virtual code generation algorithm for authentication.
  • the server 10 assigns a user identification (UID) and a secret to the encryption module of the controlling device 20 , and provides a plurality of initial encryption keys to the controlling device 20 , the By transmitting the initialization request signal including the UID and the secret, the control target device 20 may initialize the virtual code generation algorithm for authentication.
  • UID user identification
  • the control target device 20 may initialize the virtual code generation algorithm for authentication.
  • the server 10 when the server 10 receives a registration request from the control target device 20 , it allocates a UID and a secret to the corresponding encryption module. In addition, the server 10 may input the UID and the secret together with the initial encryption key stored by default in the control target device 20 . In this case, the server 10 and the control target device 20 may be connected by wire. Based on the input UID and secret, the control target device 20 may initially set a virtual code generation algorithm for authentication in the encryption module.
  • the server 10 has a first unique value of the encryption module included in the control target device 10 and a second unique value of the peripheral device included in the control target device 10 . At least one of the values may be stored. That is, the server 10 may store at least one of the first eigenvalue and the second eigenvalue in a region allocated to a device within a verification algorithm upon registration. According to an embodiment, the server 10 may store the first eigenvalue in one region and match and store the second eigenvalue to the first eigenvalue. According to an embodiment, the server 10 may store the second eigenvalue in one region and match the first eigenvalue to the second eigenvalue and store the same. According to an embodiment, the server 10 may store the first eigenvalue and the second eigenvalue in each of the two regions.
  • initialization of the encryption module may be re-performed.
  • the virtual code-based update providing apparatus 200 for encryption key authentication (hereinafter, providing apparatus) of the present invention may be a device for performing the above-described virtual code-based update providing method for authentication.
  • FIG. 5 is a schematic block diagram of an apparatus for providing an encryption key update based on a virtual code for authentication according to the present invention.
  • the providing apparatus 200 may include a communication unit 210 , a memory 220 , and a control unit 230 .
  • the providing apparatus 200 may include fewer or more components than the components shown in FIG. 5 .
  • the communication unit 210 may allow the providing device 200 to communicate with at least one control target device 20 through the communication network.
  • the memory 220 stores at least one process for providing a virtual code-based encryption key update for authentication.
  • the control unit 230 executes a process stored in the memory 220 . As the controller 230 executes the process stored in the memory 220 , the method described with reference to FIGS. 1 to 4 may be performed.
  • the control unit 230 verifies the virtual code for authentication, and the verification is completed. If it is, it is possible to generate at least one additional encryption key, and transmit the additional encryption key to the control target device 20 through the communication unit (210). A description thereof will be omitted because it overlaps with the above description.
  • the providing apparatus 200 described with reference to FIG. 5 may be the server 10 that is the subject of the method described with reference to FIGS. 1 to 4 .
  • steps S110 to S130 are sequentially executed, but this is merely illustrative of the technical idea of this embodiment, and those of ordinary skill in the art to which this embodiment belongs. Since it will be possible to change the order of the steps described in FIG. 2 and apply them by changing the order or executing one or more steps in parallel within a range that does not deviate from the essential characteristics, the steps described in FIG. 2 are performed in a time series order. It is not limited.
  • the virtual code-based encryption key update providing method according to the present invention described above may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a computer-readable recording medium.
  • the above-described program is C, C++, JAVA, machine language, etc. that a processor (CPU) of the computer can read through a device interface of the computer in order for the computer to read the program and execute the methods implemented as a program
  • It may include code (Code) coded in the computer language of Such code may include functional code related to a function defining functions necessary for executing the methods, etc. can do.
  • the code may further include additional information necessary for the processor of the computer to execute the functions or code related to memory reference for which location (address address) in the internal or external memory of the computer should be referenced. have.
  • the code uses the communication module of the computer to determine how to communicate with any other computer or server remotely. It may further include a communication-related code for whether to communicate and what information or media to transmit and receive during communication.
  • a software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.
  • RAM random access memory
  • ROM read only memory
  • EPROM erasable programmable ROM
  • EEPROM electrically erasable programmable ROM
  • flash memory hard disk, removable disk, CD-ROM, or It may reside in any type of computer-readable recording medium well known in the art to which the present invention pertains.

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Signal Processing (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)

Abstract

인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법이 제공된다. 상기 방법은, 제어 대상 장치로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호를 수신하는 단계, 상기 업데이트 요청 신호에 대한 응답으로 상기 인증용 가상코드를 검증하는 단계 및 상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하여 상기 제어 대상 장치로 전송하는 단계를 포함한다.

Description

인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법
본 발명은 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법에 관한 것이다.
드론, 컨트롤러 및 서버 간의 통신을 수행하기 위해 암호화 검증 제도인 CMVP을 기반으로(국내의 암호화 검증 제도는 KCMVP) 암호화 모듈을 적용하고 있다. 암호화 모듈 적용 시 활용되는 암호화 방식 중에 AES와 같은 대칭키 방식이 있다.
AES 방식을 사용하는 경우 대칭키를 주기적으로 변경해주는데, 최근에 동일한 암호화 모듈이 동일한 암호키를 사용하는 과정에서 장치 분실이나 암호키 노출로 인해 정해진 주기가 아닌데도 암호키를 변경해주어야 하는 상황이 다수 발생하여 불편함이 있다.
본 발명이 해결하고자 하는 과제는 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법을 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 서버에 의해 수행되는 인증용 가상코드 기반의 암호 키 업데이트 제공 방법은, 제어 대상 장치로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호를 수신하는 단계, 상기 업데이트 요청 신호에 대한 응답으로 상기 인증용 가상코드를 검증하는 단계 및 상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하여 상기 제어 대상 장치로 전송하는 단계를 포함하고, 상기 서버 및 상기 제어 대상 장치에는, 동일한 암호화 모듈이 각각 구비되고, 상기 추가 암호 키는, 상기 서버의 암호화 모듈에 구비된 복수의 암호 키 중 현재 사용 중인 제1 암호 키를 기반으로 암호화되고, 상기 제어 대상 장치의 암호화 모듈에 구비된 암호 키 중 상기 제1 암호 키와 동일한 제2 암호 키를 기반으로 복호화된다.
본 발명에서, 상기 추가 암호 키는, 상기 복수의 암호 키 중 가장 마지막 순서인 암호 키의 다음 순서를 가질 수 있다.
본 발명에서, 상비 방법은, 상기 제어 대상 장치로 상기 암호 키의 변경을 요청하는 신호를 전송하는 단계를 더 포함하고, 상기 업데이트 요청 신호는, 상기 변경 요청 신호에 대한 응답으로 수신될 수 있다.
본 발명에서, 상기 인증용 가상코드는, 시간 데이터 및 상기 제어 대상 장치의 암호화 모듈의 제1 고유값을 기반으로 생성되고, 상기 검증 단계는, 상기 시간 데이터 및 상기 제1 고유값을 기반으로 상기 암호화 모듈의 정상 여부를 판단할 수 있다.
본 발명에서, 상기 인증용 가상코드는, 상기 시간 데이터, 상기 제1 고유값 및 상기 제어 대상 장치에 포함된 적어도 하나의 주변 장치의 제2 고유값을 기반으로 생성되고, 상기 검증 단계는, 상기 제2 고유값을 기반으로 상기 제어 대상 장치의 정상 여부를 판단할 수 있다.
본 발명에서, 상기 방법은, 상기 제어 대상 장치의 암호화 모듈에 포함된 인증용 가상코드 생성 알고리즘의 초기화 요청 신호를 상기 제어 대상 장치로 전송하는 단계를 더 포함하고, 상기 인증용 가상코드는, 상기 인증용 가상코드 생성 알고리즘의 초기화 시점으로부터 상기 인증용 가상코드가 생성된 시점까지 경과된 단위 카운트에 대응하도록 생성될 수 있다.
본 발명에서, 상기 초기화 요청 신호 전송 단계는, 상기 제어 대상 장치의 암호화 모듈의 초기화를 위한 인증용 가상코드를 생성하고, 상기 제어 대상 장치가 상기 초기화를 위한 인증용 가상코드에 기반하여 상기 인증용 가상코드 생성 알고리즘을 초기화 하도록, 상기 초기화를 위한 인증용 가상코드를 상기 제어 대상 장치로 전송할 수 있다.
본 발명에서, 상기 초기화 요청 신호 전송 단계는, 상기 제어 대상 장치의 암호화 모듈에 UID(user identification) 및 시크릿(secret)을 할당하고, 상기 제어 대상 장치로 복수의 초기 암호 키, 상기 UID 및 상기 시크릿이 포함된 상기 초기화 요청 신호를 전송하여, 상기 제어 대상 장치가 상기 인증용가상코드 생성 알고리즘을 초기화하도록 할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 암호 키의 업데이트를 제공하는 장치는, 적어도 하나의 제어 대상 장치와 통신을 수행하는 통신부 및 상기 통신부를 통해 상기 제어 대상 장치로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호가 수신된 경우, 상기 인증용 가상코드를 검증하고, 상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하며, 상기 통신부를 통해 상기 추가 암호 키를 상기 제어 대상 장치로 전송하는 제어부를 포함하고, 상기 제공 장치 및 상기 제어 대상 장치에는, 동일한 암호화 모듈이 각각 구비되고, 상기 추가 암호 키는, 상기 제공 장치의 암호화 모듈에 구비된 복수의 암호 키 중 현재 사용 중인 제1 암호 키를 기반으로 암호화되고, 상기 제어 대상 장치의 암호화 모듈에 구비된 암호 키 중 상기 제1 암호 키와 동일한 제2 암호 키를 기반으로 복호화된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 발명에 따르면, 인증용가상코드를 기반으로 하는 암호화키의 업데이트를 통해 장치의 해킹 또는 탈취에 대한 예방이 가능하다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 시스템을 설명하기 위한 도면이다.
도 2는 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 방법의 개략적인 순서도이다.
도 3은 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 방법을 구체적으로 설명하기 위한 흐름도이다.
도 4는 본 발명에 따른 암호 키 업데이트를 설명하기 위한 예시도이다.
도 5는 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 장치의 개략적인 블록도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 명세서에서 '문자'는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 '코드'는 문자가 나열된 문자열을 의미한다.
본 명세서에서 '인증용 가상코드'는 인증용 가상코드 생성 수단에서 생성되는 코드로서, 인증용 가상코드 검증 수단에서 디바이스(제어 대상 장치 또는 암호화 모듈 자체) 인증을 수행하는데 이용되는 코드를 의미한다. 즉, '인증용 가상코드'는 정상적인 디바이스인지를 검증할 수 있도록 단위카운트마다 임시적으로 부여된 가상의 코드를 의미한다.
본 명세서에서 '세부코드'는 인증용 가상코드에 포함되는 일부 코드를 의미한다.
본 명세서에서 '단위카운트'는 특정한 시간간격으로 설정되어, 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 '인증용 가상코드 생성 함수'는 인증용 가상코드를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 '저장위치'는 사용자에 의해 디바이스의 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다.
본 명세서에서, '사용자'는 디바이스를 사용하는 사용자일 수 있지만, 이에 제한되는 것은 아니다.
이하에서는, 도 1을 참조하여, 정상적인 제어 대상 장치에 대해서만 암호 키를 업데이트하기 위한 인증용 가상코드 기반의 암호 키 업데이트 시스템에 대해 상세히 설명하도록 한다.
도 1은 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 시스템을 설명하기 위한 도면이다.
도 1에 도시된 바와 같이, 인증용 가상코드 기반의 암호 키 업데이트 제공 시스템(이하, 시스템)은 서버(10), 제어 대상 장치(20) 및 컨트롤러(30)를 포함한다. 여기서, 시스템은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
서버(10)는 적어도 하나의 제어 대상 장치(20)를 관제하는 통제 센터의 서버일 수 있다.
제어 대상 장치(20)는 원격으로 제어되는 장치로서, 드론 또는 CCTV를 의미할 수 있다. 그러나 이에 제한되지 않고, 통제 센터 또는 컨트롤러에 의해 원격으로 제어되는 디바이스는 모두 포함될 수 있다. 이하에서는 제어 대상 장치(20)가 드론인 경우로 가정하여 설명하도록 한다.
컨트롤러(30)는 명령어를 통해 하나의 제어 대상 장치(20)를 제어하기 위해 사용자가 사용하는 장치일 수 있다.
도 1에 도시된 바와 같이, 서버(10), 제어 대상 장치(20) 및 컨트롤러(30)는 통신망을 통해 서로 각종 데이터, 신호 또는 정보를 송수신할 수 있다.
여기서, 통신망은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, RF(Radio Frequency), LTE(Long Term Evolution), WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다.
한편, 통신망은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
상기 제어 대상 장치(20)는 상기 서버(10)와 KCMVP를 기반으로 명령어, 신호 또는 정보를 송수신할 수 있다. 즉, 상기 제어 대상 장치(20)는 상기 서버(10)와 동일한 암호 키를 이용한 암복호화를 통해 서로 명령어, 신호 또는 정보를 송수신할 수 있다. 이를 위해, 상기 제어 대상 장치(20) 및 상기 서버(10)는 동일한 암호화 모듈을 포함하고 있으며, 암호화 모듈에는 복수의 암호 키가 기본 저장되어 있어 주기적으로(또는 이벤트 발생 시) 암호 키를 변경하며 암복호화를 수행하게 된다. 그러나, 기본 저장되어 있는 암호 키의 개수는 제한되어 있기 때문에 암호 키에 대한 업데이트가 필요하다. 그러나, 인증되지 않은 제어 대상 장치(10)에 암호 키를 업데이트하게 되면 장치에 대한 해킹 또는 탈취의 위협이 있을 수 있으므로, 제어 대상 장치(10)를 인증하는 것이 필요하다. 본 발명은 제어 대상 장치(20)에서 생성한 인증용 가상코드를 서버(10)에서 검증함으로써, 정상적인 제어 대상 장치(20)에 대해서만 추가 인증 키를 제공하도록 한다.
여기서, 제어 대상 장치(20)는 인증용 가상코드 생성 수단으로서, 인증 키 업데이트가 필요할 때마다 인증용 가상코드를 생성하여 서버(10)로 전송할 수 있다.
서버(10)는 인증용 가상코드 검증 수단으로서, 제어 대상 장치(20)로부터 수신된 인증용 가상코드에 대한 검증을 수행한다. 그러나, 이에 제한되지 않고, 실시예에 따라 서버(10) 대신 컨트롤러(30)가 인증용 가상코드를 검증할 수도 있다.
이하에서는, 도 2 내지 도 4를 참조하여, 인증용 가상코드의 생성 및 검증을 통해 암호 키 업데이트가 수행되는 방법에 대해서 구체적으로 설명하도록 한다.
도 2는 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 방법의 개략적인 순서도이다.
도 3은 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 방법을 구체적으로 설명하기 위한 흐름도이다.
도 4는 본 발명에 따른 암호 키 업데이트를 설명하기 위한 예시도이다.
도 2를 참조하면, 서버(10)는 제어 대상 장치(20)로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호를 수신할 수 있다(S110).
실시예에 따라, 단계 S110 이전에, 즉 서버(10)가 제어 대상 장치(20)로부터 업데이트 요청 신호를 수신하기 전에, 서버(10)는 상기 제어 대상 장치(20)로 상기 암호 키의 변경을 요청하는 신호를 전송하는 단계를 더 포함할 수 있다.
여기서, 업데이트 요청 신호는, 상기 변경 요청 신호에 대한 응답으로 수신될 수 있다.
즉, 서버(10)는 주기적으로 또는 이벤트 발생(예를 들어, 해킹 시도) 시 제어 대상 장치(20)로 암호 키 변경을 요청하는 신호를 전송한다.
제어 대상 장치(20)는 상기 변경 요청 신호를 수신하면, 현재 사용 중인 암호 키를 새로운 암호 키로 변경한다. 암호 키 변경과 관련한 설명은 후술하도록 한다.
암호 키를 변경한 후에, 제어 대상 장치(20)는 서버(10)로 암호 키 업데이트 요청 신호를 전송한다. 이때, 제어 대상 장치(20)는 기기 인증을 위한 인증용 가상코드를 생성하여 상기 업데이트 요청 신호와 함께 서버(10)로 전송할 수 있다. 인증용 가상코드 생성과 관련한 설명은 후술하도록 한다.
상기에서는 암호 키가 변경될 때마다 암호 키 업데이트가 수행되는 것으로 설명하였지만, 이에 제한되지 않고, 실시예에 따라, 암호 키 변경이 주기적으로(또는 이벤트 발생 시) 계속 이루어지다가, 기본 저장되어 있던 암호 키가 기준 개수 이하로 남은 경우에 암호 키 업데이트가 수행될 수도 있다. 이러한 경우에 업데이트 여부 판단은 제어 대상 장치(20)가 할 수도 있고, 서버(10)가 할 수도 있다(둘 다 동일한 암호화 모듈을 구비하고 있으므로).
서버(10)는 상기 업데이트 요청 신호에 대한 응답으로 상기 인증용 가상코드를 검증할 수 있다(S120).
서버(10)는 인증용 가상코드 검증을 통해 해당 업데이트 요청 신호를 전송한 제어 대상 장치(20)가 정상적인 기기인지를 판단할 수 있다. 인증용 가상코드 검증과 관련한 설명은 후술하도록 한다.
서버(10)는 상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하여 상기 제어 대상 장치(20)로 전송할 수 있다(S130).
여기서, 추가 암호 키는, 상기 서버(10)의 암호화 모듈에 구비된 복수의 암호 키 중 현재 사용 중인 제1 암호 키를 기반으로 암호화되고, 상기 제어 대상 장치(20)의 암호화 모듈에 구비된 암호 키 중 상기 제1 암호 키와 동일한 제2 암호 키를 기반으로 복호화될 수 있다.
상술한 바와 같이, 서버(10)와 제어 대상 장치(20)는 동일한 암호화 모듈을 구비하고 있으며, 현재 사용 중인 암호 키가 서로 동일하고, 서버(10) 또는 제어 대상 장치(20)에서 암호 키가 변경되면 제어 대상 장치(10) 또는 서버(20) 역시 동일하게 암호 키가 변경될 수 있다.
즉, 서버(10)의 상기 제1 암호 키와 제어 대상 장치(20)의 상기 제2 암호 키는 동일한 암호 키이기 때문에, 서버(10)는 새롭게 생성한 난수 형태의 추가 암호 키를 현재 사용 중인 암호 키로 암호화하여 제어 대상 장치(20)로 보내고, 제어 대상 장치(20)는 암호화된 추가 암호 키를 동일한 암호 키로 복호화하여 저장할 수 있다. 이로써, 추가 암호 키에 대한 보안성을 높일 수 있다.
이하에서 도 3을 참조하여, 암호 키를 업데이트하는 전체적인 프로세스에 대해 구체적으로 설명하도록 한다.
도 3을 참조하면, 서버(10)는 암호화 모듈의 암호 키 변경을 결정한다(S51). 즉, 변경 주기가 도래한 경우 또는 해킹 위협이 발생한 경우에 서버(10)는 암호화 모듈에 저장된 암호 키의 변경을 결정할 수 있다.
암호 키 변경이 결정되면, 서버(10)는 제어 대상 장치(20)로 암호 키의 변경을 요청하는 신호를 전송한다(S52).
변경 요청 신호가 수신되면, 제어 대상 장치(20)는 암호화 모듈에 저장된 암호 키 중에서 현재 사용 중인 암호 키의 다음 순서의 암호 키로 변경한다(S53). 도 4를 참조하면, 암호화 모듈에 저장된 5개의 암호 키(A, B, C, D, E) 중 현재 사용 중인 암호 키가 A인 경우, 암호 키 변경 요청에 따라 암호 키가 A에서 B로 변경될 수 있다. 즉, 현재 사용 중인 암호 키가 B로 변경되는 것이다. 이러한 변경 결과는 제어 대상 장치(20)에 포함된 암호화 모듈뿐만 아니라 서버(10)에 포함된 암호화 모듈에도 적용된다(즉, 둘 다 동일하게 암호 키 B로 변경됨).
암호 키가 변경되면, 제어 대상 장치(20)는 인증용 가상코드를 생성하고(S54), 서버(10)로 생성된 인증용 가상코드와 함께 암호 키 업데이트 요청 신호를 전송한다(S55).
업데이트 요청 신호가 수신되면, 서버(10)는 인증용 가상코드를 검증한다(S56).
인증용 가상코드의 검증이 완료되면, 서버(10)는 난수 형태의 추가 암호 키를 생성한다(S57). 이때, 추가 암호 키는 실시예에 따라 하나가 생성될 수 있고 또는 복수가 생성될 수 있다.
이때, 서버(10)는 추가 암호 키를 현재 사용 중인 암호 키로 암호화할 수 있다. 여기서, 현재 사용 중인 암호 키란 상기 단계 S53에서 변경된 암호 키(도 4에서 암호 키 B)를 의미할 수 있다. 그러나, 이에 제한되지 않고, 실시예에 따라 변경 전의 암호 키로 암호화할 수도 있다.
서버(10)는 이렇게 암호화된 추가 암호 키를 제어 대상 장치(20)로 전송한다(S58).
암호화된 추가 암호 키가 수신되면, 제어 대상 장치(20)는 암호화된 추가 암호 키를 서버(10)가 암호화 시 사용한 암호 키와 동일한 암호 키로 복호화하고, 복호화된 추가 암호 키를 순서대로 저장한다(S59).
즉, 추가 암호 키는, 암호화 모듈에 저장된 복수의 암호 키 중 가장 마지막 순서인 암호 키의 다음 순서를 갖게 된다. 도 4를 참조하면, 새롭게 생성된 추가 암호 키 F는 복호화되어 가장 마지막 순서였던 암호 키 E의 뒷 순서로 저장될 수 있다. 이러한 추가 결과는 제어 대상 장치(20)에 포함된 암호화 모듈뿐만 아니라 서버(10)에 포함된 암호화 모듈에도 적용된다(즉, 둘 다 동일하게 암호 키 F가 마지막순서로 저장됨).
상기에서는, 서버(10)와 제어 대상 장치(20)가 동일한 암호화 모듈을 포함하는 것으로 설명하였지만, 실시예에 따라, 서버(10), 제어 대상 장치(20) 및 컨트롤러(30)가 모두 동일한 암호화 모듈을 포함할 수 있다.
이하에서는, 인증용 가상코드 생성 방법에 대해 상세히 설명하도록 한다.
제어 대상 장치(20)는 인증용 가상코드 생성 알고리즘의 초기화 시점으로부터 상기 인증용 가상코드가 생성된 시점까지 경과된 단위 카운트에 대응하도록 인증용 가상코드를 생성할 수 있다. 보다 상세하게, 인증용 가상코드 생성 알고리즘이 초기화된 시점으로부터 인증용 가상코드가 생성된 시점까지 경과된 시간을 기반으로 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하여 인증용 가상코드를 생성할 수 있다. 인증용 가상코드 생성 알고리즘 초기화와 관련한 설명은 후술하도록 한다.
실시예에 따라, 상기 인증용 가상코드는, 시간 데이터 및 상기 제어 대상 장치(20)의 암호화 모듈의 제1 고유값을 기반으로 생성될 수 있다. 여기서, 제1 고유값은 제어 대상 장치(20)에 포함된 암호화 모듈의 UID(user identification) 및 시크릿(secret)을 포함할 수 있다. 또한, 시간 데이터는 인증용 가상코드 생성 시점에 대응하는 값으로서, GPS 기반으로 획득되거나, 제어 대상 장치(20) 내 자체 클락(clock) 구동에 의해 획득될 수 있다.
제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 시간 데이터와 상기 제1 고유값 중 시크릿을 시드 데이터로 하여 OTP (One time password)를 생성할 수 있다. 이때, 시드 데이터는 실시예에 따라 제1 고유값 중 UID가 이용될 수도 있고, 또는 시간 데이터 및 제1 고유값 이외의 값을 더 이용할 수도 있다. 그런 다음, 제어 대상 장치(10)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 시간 데이터에 생성된 OTP를 더하여 상기 복수의 세부코드 중 제1 코드를 생성할 수 있다.
제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 제1 코드에서 상기 제1 고유값 중 UID를 제외하여 상기 복수의 세부코드 중 제2 코드를 생성할 수 있다. 이때, 실시예에 따라 제1 코드에서 제외하는 값은 제1 고유값 중 시크릿이 될 수도 있다.
제1 코드 = 시간 데이터 + OTP
제2 코드 = 제1 코드 - UID
제어 대상 장치(20)는 생성된 세부코드(제1 코드 및 제2 코드)를 조합하여 인증용 가상코드를 생성할 수 있다. 일 실시예로, 제어 대상 장치(20)는 인증용 가상코드 생성 알고리즘을 이용하여 복수의 세부코드를 특정한 규칙에 따라 결합함으로써 상기 인증용 가상코드를 생성할 수 있다. 상기 인증용 가상코드 생성 알고리즘은 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함할 수 있다.
복수의 세부코드를 결합하여 하나의 인증용 가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 제어 대상 장치(20)는 M자리의 제1 코드와 N자리의 제2 코드를 번갈아 배치하는 방식으로 인증용 가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1 코드 뒤에 제2 코드를 결합하는 함수일 수 있다. 인증용 가상코드에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
실시예에 따라, 상기 인증용 가상코드는, 상기 시간 데이터, 상기 제1 고유값 및 상기 제어 대상 장치(20)에 포함된 적어도 하나의 주변 장치의 제2 고유값을 기반으로 생성될 수 있다.
여기서, 주변 장치는 제어 대상 장치(20)에 연결되거나 포함되는 장치를 의미할 수 있다. 예를 들어, 주변 장치는 카메라, FC(Flight controller) 등을 의미할 수 있다. 제1 고유값은 제어 대상 장치(20)에 포함된 암호화 모듈의 UID(user identification) 및 시크릿(secret)을 포함할 수 있다. 제2 고유값은 주변 장치의 식별 정보(예를 들어, 시리얼 넘버)일 수 있다. 시간 데이터는 인증용 가상코드 생성 시점에 대응하는 값으로서, GPS 기반으로 획득되거나, 제어 대상 장치(20) 내 자체 클락(clock) 구동에 의해 획득될 수 있다.
일 예로, 제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 시간 데이터와 상기 제1 고유값 중 시크릿을 시드 데이터로 하여 OTP (One time password)를 생성할 수 있다. 이때, 시드 데이터는 실시예에 따라 제1 고유값 중 UID가 이용될 수도 있고, 또는 시간 데이터 및 제1 고유값 이외의 값을 더 이용할 수도 있다. 그런 다음, 제어 대상 장치(10)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 시간 데이터에 생성된 OTP를 더하여 상기 복수의 세부코드 중 제1 코드를 생성할 수 있다.
제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 제1 코드에서 상기 제1 고유값 중 UID를 제외하여 상기 복수의 세부코드 중 제2 코드를 생성할 수 있다. 이때, 실시예에 따라 제1 코드에서 제외하는 값은 제1 고유값 중 시크릿이 될 수도 있다.
제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 제1 코드에서 제2 고유값을 제외하여 상기 복수의 세부코드 중 제3 코드를 생성할 수 있다.
제1 코드 = 시간 데이터 + OTP
제2 코드 = 제1 코드 - UID
제3 코드 = 제1 코드 - 제2 고유값
제어 대상 장치(20)는 생성된 세부코드(제1 코드, 제2 코드, 제3 코드)를 조합하여 인증용 가상코드를 생성할 수 있다. 일 실시예로, 제어 대상 장치(20)는 인증용 가상코드 생성 알고리즘을 이용하여 복수의 세부코드를 특정한 규칙에 따라 결합함으로써 상기 인증용 가상코드를 생성할 수 있다. 상기 인증용 가상코드 생성 알고리즘은 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함할 수 있다.
복수의 세부코드를 결합하여 하나의 인증용 가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 제어 대상 장치(20)는 M자리의 제1 코드와 N자리의 제2 코드, K자리의 제3 코드를 번갈아 배치하는 방식으로 인증용 가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1 코드 뒤에 제2 코드를 결합하고 제2 코드 뒤에 제3 코드를 결합하는 함수일 수 있다. 인증용 가상코드에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
다른 예로, 제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 시간 데이터와 상기 제1 고유값 중 시크릿과 상기 제2 고유값을 시드 데이터로 하여 OTP (One time password)를 생성할 수 있다. 이때, 시드 데이터는 실시예에 따라 제1 고유값 중 UID가 이용될 수도 있고, 또는 시간 데이터, 제1 고유값, 제2 고유값 이외의 값을 더 이용할 수도 있다. 그런 다음, 제어 대상 장치(10)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 시간 데이터에 생성된 OTP를 더하여 상기 복수의 세부코드 중 제1 코드를 생성할 수 있다.
제어 대상 장치(20)는 상기 인증용 가상코드 생성 알고리즘을 이용하여 상기 제1 코드에서 상기 제2 고유값을 제외하여 상기 복수의 세부코드 중 제2 코드를 생성할 수 있다.
제1 코드 = 시간 데이터 + OTP
제2 코드 = 제1 코드 - 제2 고유값
제어 대상 장치(20)는 생성된 세부코드(제1 코드 및 제2 코드)를 조합하여 인증용 가상코드를 생성할 수 있다. 일 실시예로, 제어 대상 장치(20)는 인증용 가상코드 생성 알고리즘을 이용하여 복수의 세부코드를 특정한 규칙에 따라 결합함으로써 상기 인증용 가상코드를 생성할 수 있다. 상기 인증용 가상코드 생성 알고리즘은 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함할 수 있다.
복수의 세부코드를 결합하여 하나의 인증용 가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 제어 대상 장치(20)는 M자리의 제1 코드와 N자리의 제2 코드를 번갈아 배치하는 방식으로 인증용 가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1 코드 뒤에 제2 코드를 결합하는 함수일 수 있다. 인증용 가상코드에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
상기에서는, 제어 대상 장치(20)가 인증용 가상코드를 생성하는 것으로 설명하였지만, 실시예에 따라, 제어 대상 장치(20)에 포함된 암호화 모듈이 인증용 가상코드를 생성할 수도 있다.
인증용 가상코드는 현재 시점에서만 특정 암호화 모듈에서 생성될 수 있는 코드이므로, 추가 암호 키를 내려받아서 저장하여야 하는 암호화 모듈에 대한 확실한 기기 인증이 가능하다.
또한, 상술한 바와 같이 주변 장치의 고유값도 활용하여 인증용 가상코드를 생성할 수 있다면, 암호화 모듈을 탈취하여 다른 장치에 연결하였을 때에도 기기의 정상 여부에 대한 인증이 가능하다. 암호화 모듈이 탈취된 경우, 암호화 모듈의 고유값은 그대로여도 주변 장치의 고유값이 달라지기 때문에, 암호화 모듈은 정상적인 것으로 나타날 수 있어도 주변 장치는 비정상적인 것으로 나타나기 때문에, 암호화 모듈 탈취 여부를 파악할 수 있다.
이하에서는, 인증용 가상코드 검증 방법에 대해 상세히 설명하도록 한다.
서버(10)는 인증용 가상코드 생성 알고리즘에 대응하는 검증 알고리즘을 기반으로 인증용 가상코드에 대한 검증을 수행할 수 있다.
실시예에 따라, 서버(10)는 검증 알고리즘을 이용하여 상기 시간 데이터 및 상기 제1 고유값을 기반으로 상기 암호화 모듈의 정상 여부를 판단할 수 있다.
서버(10)는 검증 알고리즘을 이용하여 상기 인증용 가상코드를 기반으로 제1 고유값이 저장된 영역을 탐색하여 제1 고유값을 추출할 수 있다. 보다 상세하게, 인증용 가상코드를 기반으로 제1 고유값 중 UID가 저장된 영역을 탐색하여 UID를 추출할 수 있다. 그러나, 이에 제한되지 않고, 실시예에 따라 제1 고유값 중 시크릿이 저장된 영역을 탐색하여 시크릿을 추출할 수도 있다.
이때 상술한 바와 같이 상기 인증용 가상코드는 복수의 세부코드를 포함하는데, 복수의 세부코드는, 제1 고유값(보다 상세하게, UID)의 저장 영역 탐색의 시작지점을 설정하는 제1 코드와 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 제1 고유값(보다 상세하게, UID)의 저장 영역으로의 탐색경로를 설정하는 제2 코드로 구성될 수 있다.
제1 코드와 제2 코드는 인증용 가상코드 검증 수단을 구비하는 서버(10) 내에서 인증용 가상코드를 검증하기 위한 상관관계를 가지나 인증용 가상코드 생성 수단을 구비하는 제어 대상 장치(20)는 보안성을 높이기 위해 제1 코드를 생성하는 제1 함수와 제2 코드를 생성하는 제2 함수를 세부코드생성함수로 포함할 뿐, 제1 코드와 제2 코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.
또한, 일 실시예로, 인증용 가상코드가 제1 코드 및 제2 코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1 코드와 제2 코드는 검증 알고리즘 내의 실제값(제1 고유값, 보다 상세하게는 UID)의 저장 영역을 탐색하기 위한 각각의 역할을 수행할 수 있다. 예를 들어, 제1 코드는 저장위치탐색의 시작지점을 설정하고, 제2 코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 실제값(제1 고유값, 보다 상세하게는 UID)의 저장 영역으로의 탐색경로를 설정한다. 따라서 이후, 제어 대상 장치(20)에서 단위카운트마다 정상적으로 생성된 인증용 가상코드가 제공되면, 서버(10)는 제1 코드에 대응하는 시작지점으로부터 제2 코드에 상응하는 탐색경로에 따라 이동한 지점을 실제값(제1 고유값, 보다 상세하게는 UID)이 저장된 영역으로 판단한다.
구체적으로, 서버(10)는 검증 알고리즘을 이용하여 인증용 가상코드에 포함된 복수의 세부코드를 추출할 수 있다. 상기 인증용 가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 서버(10)는 인증용 가상코드 생성 시 사용된 세부코드결합함수와 동일한 함수를 적용하여 인증용 가상코드에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 두 개의 세부코드(즉, 제1 코드 및 제2 코드)가 결합된 인증용 가상코드가 생성된 경우, 서버(10)는 인증용 가상코드의 문자배열에서 세부코드결합함수를 적용하여 제1 코드 및 제2 코드를 분리해낼 수 있다. 이때, 세부코드 간에는 상관관계를 포함할 수 있다.
인증용가상코드가 제1 코드 및 제2 코드를 포함하는 경우, 세부코드 간에 상관관계를 가지는 일 실시예로, 서버(10)는 제1 코드에 대응하는 탐색의 시작지점을 결정하고, 상기 탐색시작지점으로부터 제2 코드에 상응하는 탐색경로에 따라 이동한 지점에 대응하는 값을 제1 고유값(보다 상세하게는 UID)로 간주할 수 있다.
또한, 다른 일 실시예로, 제어 대상 장치(20)가 단위카운트마다 새로운 인증용 가상코드를 제공함에 따라, 서버(10)는 각 카운트마다 변경되는 제1 코드 및 제2 코드를 기반으로 시작지점과 탐색경로를 설정하여 제1 고유값(보다 상세하게는 UID)을 탐색할 수 있다.
또한, 일 실시예로, 서버(10)는 상관관계를 가지는 복수의 세부코드를 이용하여 제1 고유값(보다 상세하게는 UID)을 찾기 위해, 검증 알고리즘을 포함할 수 있다. 검증 알고리즘은 인증용 가상코드에 포함되는 각각의 세부코드 적용 시에 제1 고유값(보다 상세하게는 UID) 탐색이 가능하도록 하는 알고리즘이다. 예를 들어, 인증용 가상코드로부터 제1 고유값(보다 상세하게는 UID)의 탐색의 시작지점을 결정하는 제1 코드와 시작지점으로부터의 저장 영역의 방향을 제시하는 제2 코드를 포함하는 경우, 검증 알고리즘은 제1 코드에 대응되는 지점에서 제2 코드에 대응되는 방향을 지시할 때, 해당 위치에 제1 고유값(보다 상세하게는 UID)이 배치되도록 조절하는 알고리즘이다. 검증 알고리즘을 이용함에 따라, 서버(10)는 인증용 가상코드에 포함된 제1 코드와 제2 코드가 변경되어도 제1 고유값(보다 상세하게는 UID)을 찾을 수 있다.
또한, 일 실시예로, 상기 인증용 가상코드가 상기 시간 데이터에 제1 OTP를 더한 제1 코드와, 상기 제1 코드에서 제1 고유값(보다 상세하게는 UID)을 제외한 제2 코드가 결합되어 생성된 경우, 서버(10)는 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 제1 고유값(보다 상세하게는 UID)을 추출할 수 있다.
또한, 일 실시예로, 서버(10)는 상기 저장 영역을 탐색하여 추출된 제1 고유값(보다 상세하게는 UID)과 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 추출된 제1 고유값(보다 상세하게는 UID)을 비교하여, 두 값이 동일하면 상기 인증용 가상코드가 정상적인 코드인 것으로 판단할 수 있다. 그러나, 이러한 비교 과정 없이도, 서버(10)는 각각의 값만으로도 해당 인증용 가상코드가 정상적인 코드인지를 판단할 수 있다(예를 들어, 추출된 값이 서버(10)의 DB 내 저장된 정보와 일치하는 지의 여부를 통해 판단).
실시예에 따라, 서버(10)는 검증 알고리즘을 이용하여 상기 시간 데이터 및 상기 제1 고유값을 기반으로 상기 암호화 모듈의 정상 여부를 판단하고, 상기 제2 고유값을 기반으로 상기 제어 대상 장치의 정상 여부를 판단할 수 있다.
서버(10)는 검증 알고리즘을 이용하여 인증용가상코드를 기반으로 제1 고유값(보다 상세하게는 UID)이 저장된 영역을 탐색하여 제1 고유값(보다 상세하게는 UID)을 추출하고, 제2 고유값이 저장된 영역을 탐색하여 제2 고유값을 추출할 수 있다.
서버(10)는 검증 알고리즘을 이용하여 인증용 가상코드에 포함된 복수의 세부코드를 추출할 수 있다. 상기 인증용 가상코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 서버(10)는 인증용 가상코드 생성 시 사용된 세부코드결합함수와 동일한 함수를 적용하여 인증용 가상코드에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 세 개의 세부코드(즉, 제1 코드, 제2 코드 및 제3 코드)가 결합된 인증용 가상코드가 생성된 경우, 서버(10)는 인증용 가상코드의 문자배열에서 세부코드결합함수를 적용하여 제1 코드, 제2 코드 및 제3 코드를 분리해낼 수 있다. 이때, 세부코드 간에는 상관관계를 포함할 수 있다.
인증용 가상코드가 제1 코드, 제2 코드 및 제3 코드를 포함하는 경우, 세부코드 간에 상관관계를 가지는 일 실시예로, 서버(10)는 제1 코드에 대응하는 탐색의 시작지점을 결정하고, 상기 탐색시작지점으로부터 제2 코드에 상응하는 탐색경로에 따라 이동한 지점에 대응하는 값을 제1 고유값(보다 상세하게는 UID)으로 간주할 수 있다. 그리고, 제1 코드에 대응하는 탐색의 시작지점을 결정하고, 상기 시작지점으로부터 제3 코드에 상응하는 탐색경로에 따라 이동한 지점에 대응하는 값을 제2 고유값으로 간주할 수 있다.
또한, 다른 일 실시예로, 제어 대상 장치(20)가 단위카운트마다 새로운 인증용 가상코드를 제공함에 따라, 서버(10)는 각 카운트마다 변경되는 제1 코드, 제2 코드 및 제3 코드를 기반으로 시작지점과 탐색경로를 설정하여 제1 고유값(보다 상세하게는 UID) 및 제2 고유값을 탐색할 수 있다.
또한, 일 실시예로, 서버(10)는 상관관계를 가지는 복수의 세부코드를 이용하여 제1 고유값(보다 상세하게는 UID) 및 제2 고유값을 찾기 위해, 검증 알고리즘을 포함할 수 있다. 검증 알고리즘은 인증용 가상코드에 포함되는 각각의 세부코드 적용 시에 제1 고유값(보다 상세하게는 UID) 탐색 및 제2 고유값 탐색이 가능하도록 하는 알고리즘이다. 예를 들어, 인증용 가상코드로부터 제1 고유값(보다 상세하게는 UID) 및 제2 고유값의 탐색의 시작지점을 결정하는 제1 코드와 시작지점으로부터의 제1 고유값(보다 상세하게는 UID) 저장 영역의 방향을 제시하는 제2 코드와 시작지점으로부터의 제2 고유값 저장 영역의 방향을 제시하는 제3 코드를 포함하는 경우, 검증 알고리즘은 제1 코드에 대응되는 지점에서 제2 코드에 대응되는 방향을 지시할 때 해당 위치에 제1 고유값(보다 상세하게는 UID)이 배치되도록 조절하고, 제1 코드에 대응되는 지점에서 제3 코드에 대응되는 방향을 지시할 때, 해당 위치에 제2 고유값이 배치되도록 조절하는 알고리즘이다. 검증 알고리즘을 이용함에 따라, 서버(10)는 인증용 가상코드에 포함된 제1 코드, 제2 코드 및 제3 코드가 변경되어도 제1 고유값(보다 상세하게는 UID) 및 제2 고유값을 찾을 수 있다.
또한, 일 실시예로, 상기 인증용 가상코드가 상기 시간 데이터에 제1 OTP를 더한 제1 코드와, 상기 제1 코드에서 제1 고유값(보다 상세하게는 UID)을 제외한 제2 코드와 상기 제1 코드에서 제2 고유값을 제외한 제3 코드가 결합되어 생성된 경우, 서버(10)는 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 실제값(즉, 제1 고유값(보다 상세하게는 UID))을 추출하고, 상기 제1 코드 값에서 상기 제3 코드 값을 빼서 실제값(즉, 제2 고유값)을 추출할 수 있다.
즉, 상기 서버(10)는 상기 제1 코드 및 상기 제2 코드를 기반으로 상기 제1 고유값(보다 상세하게는 UID)을 추출하여 상기 암호화 모듈에 대한 검증을 수행하고, 상기 제1 코드 및 상기 제3 코드를 기반으로 상기 제2 고유값을 추출하여 상기 제어 대상 장치(20)(보다 상세하게는 제어 대상 장치의 주변 장치)에 대한 검증을 수행할 수 있다.
또한, 일 실시예로, 서버(10)는 상기 저장 영역을 탐색하여 추출된 제1 고유값(보다 상세하게는 UID)과 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 추출된 제1 고유값(보다 상세하게는 UID)을 비교하여, 두 값이 동일하면 상기 암호화 모듈이 정상적인 것으로 판단하고, 상기 저장 영역을 탐색하여 추출된 제2 고유값과 상기 제1 코드 값에서 상기 제3 코드 값을 빼서 추출된 제2 고유값을 비교하여, 두 값이 동일하면 상기 제어 대상 장치가 정상적인 것으로 판단할 수 있다. 그러나, 이러한 비교 과정 없이도, 서버(10)는 각각의 값만으로도 해당 인증용 가상코드가 정상적인 코드인지를 판단할 수 있다(예를 들어, 추출된 값들이 서버(10)의 DB 내 저장된 정보들과 일치하는 지의 여부를 통해 판단).
상기에서는, 서버(10)가 인증용 가상코드를 검증하는 것으로 설명하였지만, 실시예에 따라, 서버(10)에 포함된 암호화 모듈이 인증용 가상코드를 검증할 수도 있다. 또한, 실시예에 따라, 서버(10)가 아닌 컨트롤러(30) 또는 컨트롤러(30)에 포함된 암호화 모듈이 인증용 가상코드를 검증할 수도 있다.
한편, 도 2에 도시하지는 않았지만, 본 발명은 서버(10)가 상기 제어 대상 장치(20)의 암호화 모듈에 포함된 인증용 가상코드 생성 알고리즘의 초기화 요청 신호를 상기 제어 대상 장치(20)로 전송하는 단계를 더 포함할 수 있다.
실시예에 따라, 서버(10)는 상기 제어 대상 장치(20)의 암호화 모듈의 초기화를 위한 인증용 가상코드를 생성하고, 상기 제어 대상 장치(20) 초기화를 위한 인증용 가상코드에 기반하여 상기 인증용 가상코드 생성 알고리즘을 초기화 하도록, 상기 초기화를 위한 인증용 가상코드를 상기 제어 대상 장치(20)로 전송할 수 있다.
구체적으로, 제어 대상 장치(20)에 포함된 암호화 모듈에 인증용 가상코드 생성 알고리즘과 함께 기기 인증을 위한 고유값(UID 또는 시크릿)이 이미 초기 내장되어 있는 경우, 서버(10)는 제어 대상 장치(20)로부터 등록 요청을 수신하면, 해당 제어 대상 장치(20)에 포함된 암호화 모듈의 초기화를 위한 인증용 가상코드를 생성한다. 서버(10)는 제어 대상 장치(20)로 초기화를 위한 인증용 가상코드와 함께 초기와 요청을 전송한다. 이때, 서버(10)와 제어 대상 장치(20)는 이미 저장되어 있는 암호 키를 기반으로 서로 무선 연결되어 있을 수 있다. 제어 대상 장치(20)는 수신된 초기화를 위한 인증용 가상코드를 이용하여 인증용 가상코드 생성 알고리즘을 초기 설정할 수 있다. 구체적으로, 인증용 가상코드의 변환 주기를 저장하고, 시간 동기화를 수행할 수 있다. 그리고, 제어 대상 장치(20)는 컨트롤러(30)에도 초기화를 위한 인증용 가상코드와 함께 초기와 요청을 전송할 수 있다. 마찬가지로, 컨트롤러(30)도 인증용 가상코드의 변환 주기를 저장하고, 시간 동기화를 수행함으로써 인증용 가상코드 생성 알고리즘을 초기 설정할 수 있다.
실시예에 따라, 서버(10)는 상기 제어 대상 장치(20)의 암호화 모듈에 UID(user identification) 및 시크릿(secret)을 할당하고, 상기 제어 대상 장치(20)로 복수의 초기 암호 키, 상기 UID 및 상기 시크릿이 포함된 상기 초기화 요청 신호를 전송하여, 상기 제어 대상 장치(20)가 상기 인증용 가상코드 생성 알고리즘을 초기화하도록 할 수 있다.
구체적으로, 서버(10)는 제어 대상 장치(20)로부터 등록 요청을 수신하면, 해당 암호화 모듈에 UID 및 시크릿을 할당한다. 그리고, 서버(10)는 제어 대상 장치(20)로 기본으로 저장되는 초기 암호 키와 함께 상기 UID 및 시크릿을 입력할 수 있다. 이때, 서버(10)와 제어 대상 장치(20)는 유선 연결될 수 있다. 입력된 UID 및 시크릿에 기초하여 제어 대상 장치(20)는 암호화 모듈 내의 인증용 가상코드 생성 알고리즘을 초기 설정할 수 있다.
이렇게 초기 설정을 통한 암호화 모듈의 등록이 완료되면, 서버(10)에는 제어 대상 장치(10)에 포함된 암호화 모듈의 제1 고유값과 제어 대상 장치(10)에 포함된 주변 장치의 제2 고유값 중 적어도 하나가 저장될 수 있다. 즉, 서버(10)는 등록 시에 검증 알고리즘 내에서 기기에게 할당되는 영역에 상기 제1 고유값 및 상기 제2 고유값 중 적어도 하나를 저장할 수 있다. 실시예에 따라, 서버(10)는 하나의 영역에 상기 제1 고유값을 저장하고 제2 고유값 상기 제1 고유값에 매칭하여 저장할 수 있다. 실시예에 따라, 서버(10)는 하나의 영역에 상기 제2 고유값을 저장하고 제1 고유값을 상기 제2 고유값에 매칭하여 저장할 수 있다. 실시예에 따라, 서버(10)는 두 개의 영역 각각에 상기 제1 고유값 및 상기 제2 고유값을 저장할 수 있다.
실시예에 따라, 제어 대상 장치(20)의 주변 장치의 교체 시에 암호화 모듈에 대한 초기화가 재수행될 수 있다.
이하에서는, 도 5를 참조하여 본 발명에 따른 인증용 가상코드 기반으로 암호 키의 업데이트를 제공하는 장치(200)를 설명하도록 한다. 본 발명의 암호 키 인증용 가상코드 기반 업데이트 제공 장치(200)(이하, 제공 장치)는 상술한 인증용 가상코드 기반 업데이트 제공 방법을 수행하는 장치일 수 있다.
도 5는 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 장치의 개략적인 블록도이다.
도 5를 참조하면, 제공 장치(200)는 통신부(210), 메모리(220) 및 제어부(230)를 포함할 수 있다. 여기서, 제공 장치(200)는 도 5에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
통신부(210)은 상기 제공 장치(200)가 상기 통신망을 통해 적어도 하나의 제어 대상 장치(20)와 통신을 수행하도록 할 수 있다.
메모리(220)에는 인증용 가상코드 기반의 암호 키 업데이트 제공을 위한 적어도 하나의 프로세스가 저장된다.
제어부(230)는 메모리(220)에 저장된 프로세스를 실행시킨다. 제어부 (230)는 메모리(220)에 저장된 프로세스를 실행시킴에 따라, 상기 도 1 내지 도 4를 참조하여 설명한 방법을 수행할 수 있다.
구체적으로 제어부(230)는 상기 통신부를 통해 상기 제어 대상 장치(20)로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호가 수신된 경우, 상기 인증용 가상코드를 검증하고, 상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하며, 상기 통신부(210)를 통해 상기 추가 암호 키를 상기 제어 대상 장치(20)로 전송할 수 있다. 이에 대한 설명은 상술한 바와 중복되므로 생략한다.
도 5를 참조하여 설명한 제공 장치(200)는 상기 도 1 내지 도 4를 참조하여 설명한 방법의 수행 주체인 서버(10)일 수 있다.
도 2는 단계 S110 내지 단계 S130을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2에 기재된 단계들의 순서를 변경하여 실행하거나, 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 2에 기재된 단계들은 시계열적인 순서로 한정되는 것은 아니다.
이상에서 전술한 본 발명에 따른 인증용 가상코드 기반의 암호 키 업데이트 제공 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 컴퓨터 판독가능 기록 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.

Claims (10)

  1. 서버에 의해 수행되는 방법으로서,
    제어 대상 장치로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호를 수신하는 단계;
    상기 업데이트 요청 신호에 대한 응답으로 상기 인증용 가상코드를 검증하는 단계; 및
    상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하여 상기 제어 대상 장치로 전송하는 단계;를 포함하고,
    상기 서버 및 상기 제어 대상 장치에는, 동일한 암호화 모듈이 각각 구비되고,
    상기 추가 암호 키는, 상기 서버의 암호화 모듈에 구비된 복수의 암호 키 중 현재 사용 중인 제1 암호 키를 기반으로 암호화되고, 상기 제어 대상 장치의 암호화 모듈에 구비된 암호 키 중 상기 제1 암호 키와 동일한 제2 암호 키를 기반으로 복호화되는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  2. 제1 항에 있어서,
    상기 추가 암호 키는, 상기 복수의 암호 키 중 가장 마지막 순서인 암호 키의 다음 순서를 가지는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  3. 제1 항에 있어서,
    상기 제어 대상 장치로 상기 암호 키의 변경을 요청하는 신호를 전송하는 단계;를 더 포함하고,
    상기 업데이트 요청 신호는, 상기 변경 요청 신호에 대한 응답으로 수신되는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  4. 제1 항에 있어서,
    상기 인증용 가상코드는, 시간 데이터 및 상기 제어 대상 장치의 암호화 모듈의 제1 고유값을 기반으로 생성되고,
    상기 검증 단계는,
    상기 시간 데이터 및 상기 제1 고유값을 기반으로 상기 암호화 모듈의 정상 여부를 판단하는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  5. 제4 항에 있어서,
    상기 인증용 가상코드는, 상기 시간 데이터, 상기 제1 고유값 및 상기 제어 대상 장치에 포함된 적어도 하나의 주변 장치의 제2 고유값을 기반으로 생성되고,
    상기 검증 단계는,
    상기 제2 고유값을 기반으로 상기 제어 대상 장치의 정상 여부를 판단하는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  6. 제1 항에 있어서,
    상기 제어 대상 장치의 암호화 모듈에 포함된 인증용 가상코드 생성 알고리즘의 초기화 요청 신호를 상기 제어 대상 장치로 전송하는 단계;를 더 포함하고,
    상기 인증용 가상코드는, 상기 인증용 가상코드 생성 알고리즘의 초기화 시점으로부터 상기 인증용 가상코드가 생성된 시점까지 경과된 단위 카운트에 대응하도록 생성되는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  7. 제6 항에 있어서,
    상기 초기화 요청 신호 전송 단계는,
    상기 제어 대상 장치의 암호화 모듈의 초기화를 위한 인증용 가상코드를 생성하고,
    상기 제어 대상 장치가 상기 초기화를 위한 인증용 가상코드에 기반하여 상기 인증용 가상코드 생성 알고리즘을 초기화 하도록, 상기 초기화를 위한 인증용 가상코드를 상기 제어 대상 장치로 전송하는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  8. 제6 항에 있어서,
    상기 초기화 요청 신호 전송 단계는,
    상기 제어 대상 장치의 암호화 모듈에 UID(user identification) 및 시크릿(secret)을 할당하고,
    상기 제어 대상 장치로 복수의 초기 암호 키, 상기 UID 및 상기 시크릿이 포함된 상기 초기화 요청 신호를 전송하여, 상기 제어 대상 장치가 상기 인증용 가상코드 생성 알고리즘을 초기화하도록 하는, 인증용 가상코드 기반의 암호 키 업데이트 제공 방법.
  9. 암호 키의 업데이트를 제공하는 장치에 있어서,
    적어도 하나의 제어 대상 장치와 통신을 수행하는 통신부; 및
    상기 통신부를 통해 상기 제어 대상 장치로부터 인증용 가상코드가 포함된 암호 키의 업데이트 요청 신호가 수신된 경우, 상기 인증용 가상코드를 검증하고,
    상기 검증이 완료되면, 적어도 하나의 추가 암호 키를 생성하며,
    상기 통신부를 통해 상기 추가 암호 키를 상기 제어 대상 장치로 전송하는 제어부;를 포함하고,
    상기 제공 장치 및 상기 제어 대상 장치에는, 동일한 암호화 모듈이 각각 구비되고,
    상기 추가 암호 키는, 상기 제공 장치의 암호화 모듈에 구비된 복수의 암호 키 중 현재 사용 중인 제1 암호 키를 기반으로 암호화되고, 상기 제어 대상 장치의 암호화 모듈에 구비된 암호 키 중 상기 제1 암호 키와 동일한 제2 암호 키를 기반으로 복호화되는, 인증용 가상코드 기반의 암호 키 업데이트 제공 장치.
  10. 컴퓨터와 결합되어, 제1 내지 제8 항 중 어느 하나의 인증용 가상코드 기반의 암호 키 업데이트 제공 방법을 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 프로그램.
PCT/KR2022/002955 2021-03-04 2022-03-02 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법 WO2022186606A1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR10-2021-0029035 2021-03-04
KR20210029035 2021-03-04
KR20210139152 2021-10-19
KR10-2021-0139152 2021-10-19
KR1020220026130A KR20220125173A (ko) 2021-03-04 2022-02-28 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법
KR10-2022-0026130 2022-02-28

Publications (1)

Publication Number Publication Date
WO2022186606A1 true WO2022186606A1 (ko) 2022-09-09

Family

ID=83155473

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/002955 WO2022186606A1 (ko) 2021-03-04 2022-03-02 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2022186606A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080088007A (ko) * 2007-03-28 2008-10-02 삼성전자주식회사 Dmu 암호 키 갱신 시스템 및 방법
KR20180037220A (ko) * 2015-08-31 2018-04-11 삼성전자주식회사 통신 시스템에서 프로파일 다운로드 방법 및 장치
US20180167397A1 (en) * 2015-08-10 2018-06-14 Huawei Technologies Co., Ltd. Authorization Processing Method and Device
KR20200018228A (ko) * 2018-08-09 2020-02-19 주식회사 센스톤 인증용가상코드를 이용한 사용자 인증 방법 및 시스템
KR102114409B1 (ko) * 2013-09-27 2020-06-05 구글 엘엘씨 취소가능한 플랫폼 식별자들

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080088007A (ko) * 2007-03-28 2008-10-02 삼성전자주식회사 Dmu 암호 키 갱신 시스템 및 방법
KR102114409B1 (ko) * 2013-09-27 2020-06-05 구글 엘엘씨 취소가능한 플랫폼 식별자들
US20180167397A1 (en) * 2015-08-10 2018-06-14 Huawei Technologies Co., Ltd. Authorization Processing Method and Device
KR20180037220A (ko) * 2015-08-31 2018-04-11 삼성전자주식회사 통신 시스템에서 프로파일 다운로드 방법 및 장치
KR20200018228A (ko) * 2018-08-09 2020-02-19 주식회사 센스톤 인증용가상코드를 이용한 사용자 인증 방법 및 시스템

Similar Documents

Publication Publication Date Title
WO2018101727A1 (ko) 인증프로세스의 단계분할과 생체인증을 접목한 개인정보침해 방어 방법 및 시스템
WO2021167417A1 (en) Methods and systems for authenticating devices using 3gpp network access credentials for providing mec services
EP3659092A1 (en) Method and apparatus for secure offline payment
WO2018151390A1 (ko) 사물 인터넷 장치
WO2012093900A2 (en) Method and device for authenticating personal network entity
WO2018151480A1 (ko) 인증 관리 방법 및 시스템
WO2019059453A1 (ko) 블록체인을 이용한 메시지 히스토리 기반의 보안 키를 이용하는 통신 장치 및 방법
WO2015030512A1 (ko) 단말 장치와 그 단말 보호 방법 및 단말 관리 서버 장치
WO2014003362A1 (ko) Otp 기반 인증 시스템 및 방법
WO2020022700A1 (ko) 디지털 키를 처리 및 인증하는 보안 요소 및 그 동작 방법
WO2023210861A1 (ko) 유해 사이트에 대한 접속 알림 서비스를 제공할 수 있는 알림 서비스 서버 및 그 동작 방법
WO2019139420A1 (ko) 전자 장치, 서버 및 그 제어 방법
WO2022211436A1 (en) Methods, access point device and station device for closed wi-fi hotspot network
WO2016126023A1 (en) Broadcast apparatus and method of authenticating broadcast data
WO2021080316A1 (ko) 권한 정보에 기초한 인증서를 사용하여 액세스 컨트롤하는 방법 및 장치
WO2019160304A1 (ko) 저전력 환경에서 적용 가능한 높은 수준의 보안성을 갖는 비콘 기반의 원격 제어 시스템 및 방법
WO2022245109A1 (en) Method and device for performing uwb secure ranging
WO2019147105A1 (ko) 전자 장치와 외부 전자 장치 및 이를 포함하는 시스템
WO2020122368A1 (ko) 보안단말기를 이용한 저장장치의 데이터 보안 관리 시스템 및 방법
WO2022186606A1 (ko) 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법
WO2012165716A1 (en) Authentication agent apparatus, and method and system for authenticating online service
EP3847603A1 (en) System and method for payment authentication
WO2019139421A1 (en) User terminal device, electronic device, system comprising the same and control method thereof
KR20220125173A (ko) 인증용 가상코드 기반의 암호 키 업데이트 제공 장치 및 방법
WO2022139101A1 (ko) 사물 인터넷 장치, 사물 인터넷 장치 관리 시스템 및 사물 인터넷 장치를 관리하는 방법

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22763587

Country of ref document: EP

Kind code of ref document: A1