WO2022186654A1 - Iot 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치 - Google Patents
Iot 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치 Download PDFInfo
- Publication number
- WO2022186654A1 WO2022186654A1 PCT/KR2022/003089 KR2022003089W WO2022186654A1 WO 2022186654 A1 WO2022186654 A1 WO 2022186654A1 KR 2022003089 W KR2022003089 W KR 2022003089W WO 2022186654 A1 WO2022186654 A1 WO 2022186654A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- authentication
- verification
- iot device
- virtual code
- Prior art date
Links
- 238000012795 verification Methods 0.000 claims abstract description 151
- 238000000034 method Methods 0.000 claims description 55
- 230000008859 change Effects 0.000 claims description 10
- 230000006870 function Effects 0.000 description 69
- 238000010586 diagram Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000010845 search algorithm Methods 0.000 description 5
- 230000001174 ascending effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 101150012579 ADSL gene Proteins 0.000 description 1
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/34—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/30—Security of mobile devices; Security of mobile applications
- H04W12/35—Protecting application or service provisioning, e.g. securing SIM application provisioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/40—Security arrangements using identity modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/60—Context-dependent security
- H04W12/69—Identity-dependent
- H04W12/72—Subscriber identity
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
- G16Y30/10—Security thereof
Definitions
- the present invention relates to a SIM card device for verifying a virtual code for authentication generated for security of an IoT device.
- the Internet of Things environment is an IoT device installed in a control object to control the control object and detect the state, and an administrator manages and receives and processes information measured from the IoT device or transmits a command to control the control object to the IoT device It consists of a server that does this, and a router that passes information between the IoT device and the server.
- an existing IoT device When an existing IoT device receives a command from a server through a router, it only performs a function that is controlled according to the command, and it is difficult to perform security-related functions because the hardware specification is low, and thus it is exposed to hacking risk. There was a problem that it could be.
- An object of the present invention is to provide a SIM card device for verifying a virtual code for authentication generated for security of an IoT device.
- a SIM card device for solving the above-described problems is a communication module and an applet for receiving a virtual code for authentication generated based on command information of at least one IoT device by a control server It is formed in a form and includes a verification module that verifies the virtual code for authentication based on a verification algorithm, and the SIM card device is included in a relay device connecting the control server and the IoT device.
- the verification module verifies the authentication virtual code based on the verification algorithm, and the communication
- the verified result may be transmitted to the relay device through a module, and the relay device may determine whether to transmit the command information to the IoT device based on the verified result.
- the verification request information may be received from the relay device only when the command information is included in a specific area of a preset protocol.
- the verification module may extract a plurality of detailed codes included in the authentication virtual code and verify the authentication virtual code based on a correlation between the plurality of detailed codes.
- a firmware change of the relay device may be required for the verification operation of the verification module.
- a SIM card device for solving the above problems is a communication module and an applet for receiving a virtual code for authentication generated based on command information of at least one IoT device by a control server It is formed in a form and includes a verification module that verifies the virtual code for authentication based on a verification algorithm, wherein the SIM card device is included in a connection device for controlling the IoT device.
- the verification module verifies the virtual code for authentication based on the verification algorithm, and the communication A module may transmit the verified result to the connection device, and the connection device may determine whether to transmit the command information to the IoT device based on the verified result.
- the verification request information may be received from the connection device only when the command information is included in a specific area of a preset protocol.
- the verification module may extract a plurality of detailed codes included in the authentication virtual code and verify the authentication virtual code based on a correlation between the plurality of detailed codes.
- a SIM card device for solving the above-described problems, a communication module and an applet for receiving a virtual code for authentication generated based on command information of at least one IoT device by a control server ) in the form of a verification module that verifies the virtual code for authentication based on a verification algorithm, and the SIM card device is included in the IoT device.
- the verification module verifies the virtual code for authentication based on the verification algorithm, and the communication
- the verified result may be transmitted to the IoT device through a module, and the IoT device may operate based on the verified result and the command information.
- the verification request information may be received from the IoT device only when the command information is included in a specific area of a preset protocol.
- the verification module may extract a plurality of detailed codes included in the authentication virtual code and verify the authentication virtual code based on a correlation between the plurality of detailed codes.
- a firmware change of the IoT device may be required for the verification operation of the verification module.
- the IoT device by mounting a SIM card in which information related to the IoT device is stored in the relay device or the IoT device, and verifying whether the command sent by the relay device or the IoT device from the control center through the SIM card is a normal command, the IoT device It can be controlled only by normal commands.
- FIG. 1 is a diagram for explaining a subscriber identification module-based IoT device authentication system according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a relay device according to an embodiment of the present invention.
- 3 is a subscriber identification module-based IoT device authentication method according to an embodiment of the present invention.
- FIG. 4 is a diagram for explaining a first embodiment of a subscriber identification module-based IoT device authentication method of the present invention.
- FIG. 5 is a diagram for explaining a second embodiment of a subscriber identification module-based IoT device authentication method of the present invention.
- FIG. 6 is a diagram for explaining a third embodiment of a subscriber identification module-based IoT device authentication method of the present invention.
- FIG. 7 is a diagram for explaining a subscriber identification module-based IoT device authentication system according to another embodiment of the present invention.
- FIG. 8 is a view for explaining an embodiment of the present invention when the SIM card device is included in the relay device.
- FIG. 9 is a view for explaining an embodiment when the SIM card apparatus of the present invention is included in an IoT device.
- FIG. 10 is a view for explaining another embodiment when the SIM card apparatus of the present invention is included in an IoT device.
- a 'SIM card' implements a Subscriber Identification Module, and may be understood to include a SIM chip, a SIM card, a SIM, a SIM, and an eSIM.
- '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 IoT device authentication in the virtual code verification means for authentication. That is, the 'virtual code for authentication' means a virtual code temporarily assigned to each unit count to verify access to the IoT device.
- the authentication virtual code generating means may be a control server according to an embodiment, but is not limited thereto.
- '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 an IoT device is requested by a user.
- a 'user' may be a user using an IoT device, but is not limited thereto.
- a subscriber identification module-based IoT device authentication system for verifying access to an IoT device when a subscriber identification module is included in a relay device will be described in detail with reference to FIGS. 1 and 2 .
- FIG. 1 is a diagram for explaining a subscriber identification module-based IoT device authentication system according to an embodiment of the present invention.
- FIG. 2 is a block diagram illustrating a relay device according to an embodiment of the present invention.
- the subscriber identification module-based IoT device authentication system (hereinafter, the system) includes a control server 100 , a relay device 200 , an IoT device 300 , and an identification module 400 .
- the system may include fewer or more components than the components shown in FIG. 1 .
- the control server 100 transmits control command information to the at least one IoT device 300 to control the operation of the at least one IoT device 300 , and receives and monitors various information from the at least one IoT device 300 . can do.
- the control server 100 may be a server of a company that provides IoT device related services.
- the control server 100 may be a server of a telecommunication company, but is not limited thereto.
- the relay device 200 is a device that performs a relay role between different networks, and may transmit command information for control of the control server 100 to the IoT device 300 .
- the relay device 200 may verify the access of the control server 100 , and transmit command information for control to the IoT device 300 only for a normal access. Accordingly, it is possible to prevent a situation in which the IoT device 300 is exposed to a hacking risk.
- the IoT device 300 is a device based on the Internet of Things, and may operate according to command information for control by the control center 100, but is not limited thereto, and a user's terminal (not shown) using the IoT device 300 is not limited thereto. ) can also be controlled by In this case, the relay device 200 may verify the control command information transmitted from the user's terminal (not shown).
- the IoT device 300 may include a sensor, a display, a camera such as CCTV, but is not limited thereto.
- the identification module 400 may be an applet in a SIM card provided by a communication company.
- a SIM card including an identification module may be inserted into the relay device 200 .
- the identification module 400 may be a software program installed or embedded in the relay device 200 .
- the identification module 400 may store related information of the specific IoT device 300 .
- the identification module 400 may include at least one of unique identification information, ID, password, command format, and verification algorithm of the specific IoT device 300 .
- the unique identification information may be a serial number of a specific IoT device 300, but is not limited thereto.
- the verification algorithm is an algorithm for performing verification of the virtual code for authentication provided together with command information from the control server 100 , and may be different for each IoT device 300 .
- the IoT device 300 When the identification module 400 is inserted (or installed) in the relay device 200, the IoT device 300 is connected to the relay device 200 by wire or wirelessly, and accordingly, the control server 100 is connected to the relay device ( 200), the IoT device 300 can be controlled.
- the relay device 200 transmits the related information of the IoT device 300 to the control server 100 to the IoT device ( 300) can be requested.
- the control server 100 may complete registration by matching the relay device 200 and the IoT device 300 that have requested registration. Accordingly, the relay apparatus 200 verifies access to one IoT device 300 so that one IoT device 300 is normally controlled.
- each identification module 400 when a plurality of identification modules 400 are included in the relay device 200 , when each identification module 400 is inserted (or installed) in the relay device 200 , the relay device 200 is Registration of each IoT device 300 may be requested by transmitting related information of different IoT devices 300 to the control server 100 .
- the control server 100 may complete registration by matching the relay device 200 and the different IoT devices 300 that have requested registration, respectively. Accordingly, the relay apparatus 200 may verify access to different IoT devices 300 , so that each IoT device 300 is normally controlled.
- the relay device 200 may include a processor 210 , a communication unit 220 , an interface 230 , and a memory 240 .
- the relay device 200 may include a smaller number of components or more components than the components shown in FIG. 2 .
- the communication unit 220 is between the relay device 200 and the control server 100 , between the relay device 200 and the IoT device 300 , between the relay device 200 and the identification module 400 , and the relay device 200 and It may include one or more modules that enable wireless or wired communication between external terminals (not shown) or between the relay device 200 and a communication network (not shown).
- the external terminal may be a terminal of a user using the IoT device 300 , but is not limited thereto.
- various types of communication networks may be used, for example, wireless LAN (WLAN), Wi-Fi, Wibro, Wimax, High Speed Downlink Packet Access (HSDPA). ) or wired communication methods such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to The Curb), and FTTH (Fiber To The Home) can be used.
- WLAN wireless LAN
- Wi-Fi Wibro
- Wimax Wimax
- HSDPA High Speed Downlink Packet Access
- the communication network (not shown) is not limited to the communication method presented above, and may include all types of communication methods widely known or to be developed in the future in addition to the above-described communication methods.
- the interface 230 may be a port formed so that the identification module 400 is inserted into the relay device 200 .
- the memory 240 may store data supporting various functions of the relay device 200 .
- the memory 240 may store a plurality of application programs (or applications) driven by the relay device 200 , and at least one process, data, and instructions for the operation of the relay device 200 . At least some of these application programs may exist for a basic function of the relay device 200 .
- the processor 210 may generally control the overall operation of the relay device 200 .
- the processor 210 processes signals, data, information, etc. input or output through the above-described components, or by driving an application program stored in the memory 240, information appropriate to the control server 100 or the IoT device 300 or may provide or process functions.
- the processor 210 may control at least some of the components discussed with reference to FIG. 1 in order to drive an application program stored in the memory 240 . Furthermore, the processor 210 may operate by combining at least two or more of the components included in the relay device 200 to drive the application program.
- the identification module 400 may include a communication unit 410 and a processor 420 .
- the identification module 400 may include fewer or more components than the components shown in FIG. 2 .
- the communication unit 410 may include one or more modules that enable wireless or wired communication between the identification module 400 and the relay device 200 .
- the processor 420 performs verification using the related information of the IoT device 300 stored in the identification module 400 and the verification request information transmitted from the relay device 200 through the communication unit 410 .
- 3 is a subscriber identification module-based IoT device authentication method according to the present invention.
- FIG. 4 is a view of the identification module 400 for explaining the first embodiment of the subscriber identification module-based IoT device authentication method of the present invention.
- FIG. 5 is a diagram for explaining a second embodiment of a subscriber identification module-based IoT device authentication method of the present invention.
- FIG. 6 is a diagram for explaining a third embodiment of a subscriber identification module-based IoT device authentication method of the present invention.
- the control server 100 may generate a virtual code for authentication (S400). That is, the control server 100 may serve as a virtual code generating means for authentication.
- control server 100 transmits command information for the IoT device 300 to be controlled to the relay device 200, but generates an authentication virtual code for authenticating that its own access is a normal access, and generates the command. It can be transmitted to the relay device 200 together with the information.
- the command information may include at least one of an ID, a password, and a command of the IoT device 300 .
- the control server 100 since related information of the IoT device 300 is stored in the control server 100 when registering the IoT device 300 , the control server 100 controls the registered IoT device 300 . It is possible to transmit command information for
- the identification module 400 included in the relay device 200 may verify the authentication virtual code (S500). That is, the identification module 400 may serve as a virtual code generating means for authentication.
- the relay device 200 may transmit verification request information to the identification module 400 to request verification.
- the identification module 400 may perform verification according to a request, and may transmit the verified result to the relay device 200 .
- the relay device 200 may determine whether to transmit the command information to the IoT device 300 based on the verified result.
- the verification request information may include a virtual code for authentication and a time value.
- the time value may be a time value at the time when the virtual code for authentication is received by the relay device 200 or may be a time value at the current time point.
- the control server 100 may generate a virtual code for authentication (S400).
- the control server 100 generates first information by combining the virtual code for authentication and command information for a specific IoT device 300 in a preset manner, and transmits the generated first information to the relay device 200 .
- the virtual code for authentication may be generated based on unique identification information of the specific IoT device 300 .
- control server 100 may generate a virtual code for authentication by combining one or more detailed codes.
- the control server 100 may generate the virtual code for authentication by combining a plurality of detailed codes according to a specific rule using a virtual code generation function for authentication.
- the virtual code generation function for authentication may include a rule for combining a plurality of detailed codes (ie, a detailed code combination function).
- the virtual code generation function for authentication may be matched with the verification algorithm of the specific IoT device 300 .
- Various methods may be applied as a method of generating one virtual code for authentication by combining a plurality of detailed codes.
- the control server 100 may generate a virtual code for authentication by alternately disposing an N-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 authentication virtual code increases, various detailed code combining functions may be generated.
- the control server 100 may generate one or more detailed codes.
- the virtual code generation function for authentication includes each detailed code generation function.
- the virtual code generation function for authentication may generate a plurality of detailed codes using a plurality of detailed code generation functions, and generate a virtual card number using a detailed code combining function that combines the plurality of detailed codes. .
- control server 100 may generate the first code and the second code, including the first function and the second function as the detailed code generation function.
- the first code and the second code have a correlation for verifying the virtual code for authentication in the relay device 200 having the virtual code verification means for authentication, but the control server 100 uses the first code to increase security
- the first function for generating , and the second function for generating the second code may be included as the detailed code generating function, and data on the correlation between the first code and the second code may not be included.
- the first code and the second code are used to search the storage location of the actual value in the search algorithm.
- Each can play a role.
- the first code sets the starting point of the search for the storage location
- the second code sets the search path from the starting point to the storage location of the user identification information (ie, the area where the actual value is stored) according to a specific search method. to set
- the identification module 400 moves from the starting point corresponding to the first code along the search path corresponding to the second code. is determined as an area in which user identification information is stored.
- a detailed method of searching for a storage location of an actual value based on the first code and the second code constituting the virtual code for authentication will be described later.
- the control server 100 As an embodiment of the method in which the control server 100 generates a detailed code, the control server 100 generates a new detailed code for each unit count, and accordingly, the control server 100 generates a new virtual code for authentication for each unit count.
- the virtual code for authentication newly generated for each unit count is not duplicated. Specifically, in the control server 100, the virtual code for authentication newly generated for each unit count is not duplicated for a predetermined period according to the registration of a specific IoT device 300, but also is not duplicated between the IoT devices 300. can be set not to.
- the detailed code generating function included in the virtual code generating function for authentication is MN Codes can be generated as a first code or a second code, and each code is matched for each count from an initial time point at which the detailed code generating function is driven. For example, when the unit count is set to 1 second, different MN codes are matched every second from the time when the detailed code generating function is first driven.
- the first code or the second code is the use period The same code is not generated over and over again. That is, when the count increases as time passes, when the control server 100 requests a control for a specific IoT device 300 at a specific point in time, the control server 100 matches the count corresponding to the specific point in time.
- the converted code value may be generated as the first code or the second code.
- control server ( 100) may provide 366 codes as the first code and the second code.
- the control server 100 may provide the first code and the second code changed for each count by matching each code for each count.
- a function that generates a first code or a second code ie, a first function or the second function
- a virtual code for authentication different from the previous use cycle is generated.
- the control server 100 may apply to the new use cycle a virtual code generation function for authentication that generates a virtual code for authentication different from the previous cycle as the order in which the first code or the second code appears is different from the previous use cycle.
- control server 100 prevents the same code as the virtual code for authentication used in the previous use period from appearing as the virtual code for authentication of each count in the new use period (that is, the first code generated according to the first function)
- the first function and the second function may be selected so that the matching relationship of the second code generated according to the and second function is not included in the matching relationship included in the previous use period in all counts of the new use period). That is, after the use cycle in which MN codes can be applied once has elapsed, the virtual code for authentication of the new use cycle is not generated by adjusting or updating the virtual code generation function for authentication, which overlaps with the previous use cycle.
- the creation function can be applied.
- the virtual code generation function for authentication (or detailed code generation function), any one of a plurality of listing rules for arranging M characters in ascending order is applied. That is, the control server 100 can variously apply the rules for listing M characters in ascending order to the detailed code generation function included in the virtual code generation function for authentication.
- a listing rule that lists uppercase letters of the alphabet in ascending order is A, B, C,... , can be in the order of Z, A, C, B,... , may be in the Z order.
- the listing rules are changed in the virtual code generating function for authentication, the order in which codes are matched for each count is changed from the initial time when the virtual code generating function for authentication is driven.
- control server 100 generates the virtual code for authentication, but in more detail, the virtual code for authentication is generated using a dedicated program for generating the virtual code for authentication included in the control server 100.
- the virtual code for authentication may include a first code and a second code as a plurality of detailed codes generated based on a time elapsed from the time when the virtual code generating function for authentication is driven.
- a code value (first code value) corresponding to the first code is a value obtained by adding a real value to an OTP code value
- a code value corresponding to the second code may be an OTP code value
- the actual value may include at least one of unique identification information of the IoT device 300 stored in the control server 100 , command information, and a time value corresponding to a time when the virtual code for authentication is generated.
- an embodiment of the first code and the second code generated by the control server 100 are as follows.
- the identification module 400 may search for an actual value by passing the count on the track matching the first code value as a stopover point, and moving along the track in a direction set by the count corresponding to the second code value.
- the first code and the second code are the time when the IoT device 300 is registered with the control server 100 or when the control is requested (eg, the control server 100 is virtual for authentication) It may be a code for a reference count added as much as an OTP code randomly generated from the time when the code is generated).
- control server 100 may generate the virtual security code by reflecting the first code and the second code without outputting the virtual security code to the outside.
- the control server 100 generates a virtual security code value (eg, OTP code) based on the actual value, and generates a first code of a count by adding the virtual security code value at the time of registration of the IoT device 300, A second code of a count corresponding to the virtual security code value may be generated (ie, the virtual security code itself is generated as the second code). That is, the first code and the second code may be generated based on the count shifted by the virtual security code value from the point A when the IoT device 300 is registered in the control server 100 .
- a virtual security code value eg, OTP code
- the count shifted from the point A may be a count before or after the count corresponding to the current time according to the generated virtual security code value. Thereafter, the identification module 400 may search for an actual value by applying the first code and the second code to the verification algorithm. Through this, a third person cannot check the order in which the first code and the second code constituting the virtual code for authentication are provided, so that security can be improved.
- the code value (first code value) corresponding to the first code is obtained by adding the OTP code value from the count corresponding to the current time based on the driving time of the virtual code generating function for authentication.
- the first code value serves as a waypoint in the real value search process.
- the code value (second code value) corresponding to the second code may be a value obtained by subtracting an actual value from the first code value.
- the second code value may be a count from a waypoint (first code value) to an actual value.
- first code and the second code generated by the control server 100 are as follows.
- OTP (One time password) code is a code generated by the OTP code generation function included in the detailed code generation function, and is a code that is generated differently every time. Therefore, since the detailed code is generated differently depending on the generation time of the virtual code for authentication, it is possible to prevent duplicated generation, and there is an effect of enhancing security.
- the virtual code for authentication may be generated using the unique identification information of the IoT device 300 as the actual value.
- control server 100 may generate the virtual code for authentication by combining a first code obtained by adding an OTP code value to the unique identification information value and a second code corresponding to the OPT code value. .
- the control server 100 may combine the generated virtual code for authentication with command information in a preset manner to generate first information, and transmit it to the relay device 200 .
- the command information may include at least one of an ID, a password, and a command of the IoT device 300 as described above.
- control server 100 may be combined by arranging the virtual code for authentication and the command information back and forth, or may be combined by alternately placing one bit at a time.
- the combination method is applicable to any method related to character or code combination.
- the relay device 200 may transmit verification request information to the identification module 400 to request verification ( S412 ).
- the verification request information may include a virtual code for authentication and a time value in the first information, and the time value is a time value or a current time when the first information is received by the relay device 200 . can be a value.
- the identification module 400 may verify the virtual code for authentication according to the request (S500).
- the identification module 400 may extract a plurality of detailed codes included in the virtual code for authentication by using a verification algorithm.
- the virtual card code for authentication is generated by combining a plurality of detailed codes according to a specific rule.
- the identification module 400 may extract a plurality of detailed codes from the virtual code for authentication by applying the same function to the detailed code combination function used when generating the virtual code for authentication. For example, when generating a virtual code for authentication in which two detailed codes (ie, a first code and a second code) are combined in the control server 100 , the identification module 400 is a character array of the virtual code for authentication It is possible to separate the first code and the second code by applying the detailed code combining function in .
- the identification module 400 determines a search start point 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 an actual value. That is, the detailed code may include a first code for setting a search starting point and a second code for setting a search path from the starting point to an actual value according to a specific search method.
- the identification module 400 starts searching based on the first code and the second code that are changed for each count. You can search the actual value by setting the point and the search path.
- the identification module 400 may include a search algorithm to find an actual value using a plurality of detailed codes having correlations.
- the search algorithm is an algorithm that makes it possible to search for an actual value when each detailed code included in the authentication virtual code is applied. For example, when the first code for determining the search start point of the actual value from the virtual code for authentication and the second code for suggesting the direction of the storage location from the search start point are included, the search algorithm corresponds to the first code. It is an algorithm that adjusts the actual value to be placed at the corresponding position when the point indicates the direction corresponding to the second code. As the search algorithm is used, the identification module 400 may find the actual value even if the first code and the second code included in the virtual code for authentication are changed.
- the identification module 400 can be searched for an actual value (ie, unique identification information) by subtracting the second code value from the first code value.
- the identification module 400 determines the time when the relay device 200 receives the virtual code for authentication (reception time) and the time when the virtual code for authentication is generated using the virtual code generation function for authentication in the control server 100 (generation) time) to verify the virtual code for authentication.
- the identification module 400 compares the generation time with the time value corresponding to the reception time of the virtual code for authentication, and receives when the generation time is within a preset error range from the time value. It can be determined that the virtual code for authentication is a normal code.
- the identification module 400 extracts a plurality of detailed codes from the virtual code for authentication.
- the identification module 400 acquires the time data in which the virtual code for authentication is generated based on the detailed code, extracts the unique identification information of the IoT device 300 stored therein, and a virtual security code generation function (eg, For example, it is applied to OTP (One-Time Password) function) to calculate the virtual security code.
- a virtual security code generation function eg, For example, it is applied to OTP (One-Time Password) function
- the identification module 400 matches the virtual security code (ie, received virtual security code) received from the control server 100 and the virtual security code (ie, generated virtual security code) calculated by the virtual security code generation function stored therein decide whether Since there may be a difference between the time when the virtual code for authentication is generated by the control server 100 and the time when the virtual code for authentication is received by the relay device 200, the identification module 400 takes into account the time delay for a specific time By calculating the virtual security code (ie, OTP number) within the range (for example, from the point of time when the virtual code for authentication is received until a specific count), it matches the received virtual security code received from the control server 100 Check if the value exists. The identification module 400 may determine the virtual code for normal authentication when the received virtual security code and the generated virtual security code match.
- the identification module 400 may transmit a response to the verification completion to the relay device 200 (S511).
- the relay apparatus 200 may transmit command information in the first information to the IoT device 300 . Accordingly, the IoT device 300 may be controlled only by the verified command.
- the control server 100 may generate a virtual code for authentication (S400).
- the control server 100 may encrypt the command information (S421).
- the control server 100 may generate second information by combining the encryption value based on the virtual code for authentication and command information in a preset manner, and transmit the generated second information to the relay device 200 (S422). ).
- the virtual code for authentication may be generated based on unique identification information of the specific IoT device 300 . Since the content related to the generation of the virtual code for authentication is the same as described above in the first embodiment, a detailed description thereof will be omitted.
- the virtual code for authentication may be generated using the unique identification information of the IoT device 300 as the actual value.
- control server 100 may generate the virtual code for authentication by combining a first code obtained by adding an OTP code value to the unique identification information value and a second code corresponding to the OPT code value. .
- the control server 100 may encrypt the command information using an encryption key.
- the encryption key may include at least one of the unique identification information and the virtual code for authentication.
- control server 100 may encrypt the command information by using the unique identification information as an encryption key.
- control server 100 may encrypt the command information using a value obtained by combining the unique identification information and the virtual code for authentication as an encryption key.
- the command information may include at least one of an ID, a password, and a command of the IoT device 300 as described above.
- the control server 100 may generate second information by combining the virtual code for authentication and the encryption value in a preset manner, and transmit it to the relay device 200 .
- control server 100 may be combined by arranging the virtual code for authentication and the command information back and forth, or may be combined by alternately placing one bit at a time.
- the combination method is applicable to any method related to character or code combination.
- the relay device 200 may transmit verification request information to the identification module 400 to request verification (S423).
- the verification request information may include a virtual code for authentication and a time value in the second information, and the time value is a time value or a current time when the second information is received by the relay device 200 . can be a value.
- the identification module 400 may verify the virtual code for authentication according to the request (S500).
- the identification module 400 may perform verification by extracting a plurality of detailed codes included in the virtual code for authentication using a verification algorithm stored therein. Since the contents related to the verification of the virtual code for authentication are the same as those described above in the first embodiment, a detailed description thereof will be omitted.
- the identification module 400 can be searched for an actual value (ie, unique identification information) by subtracting the second code value from the first code value.
- the identification module 400 determines that the virtual code for authentication is normal as described above and completes the verification, the identification module 400 returns the unique identification information searched with a response to the verification completion with the relay device 200 . It can be transmitted (S521).
- the relay device 200 may decrypt the encryption value in the second information by using the encryption key based on the transmitted unique identification information (S522).
- the relay device 200 may perform decryption using the unique identification information.
- the relay device 200 uses the unique identification information and the virtual code for authentication so that the decryption can be performed.
- the method of encrypting and decrypting command information in the present invention uses a symmetric key encryption method, which is well-known and detailed description thereof will be omitted.
- the relay device 200 may transmit decoded command information to the IoT device 300 . Accordingly, the IoT device 300 may be controlled only by the verified command.
- the control server 100 may generate a virtual code for authentication (S400).
- the control server 100 may generate the command information itself as a virtual code for authentication. Since the content related to the generation of the virtual code for authentication is the same as described above in the first embodiment, a detailed description thereof will be omitted.
- the control server 100 may transmit the third information that is the virtual code for authentication to the relay device 200 (S431).
- the virtual code for authentication may be generated using command information for controlling the IoT device 300 with the actual value.
- control server 100 may generate the virtual code for authentication by combining a first code obtained by adding an OTP code value to the command information value and a second code corresponding to the OPT code value.
- the command information may include at least one of an ID, a password, and a command of the IoT device 300 as described above.
- the control server 100 may generate each of the command information as a virtual code for authentication, or may generate the command information as a single virtual code for authentication.
- the control server 100 when the command information includes all of an ID, a password, and a command, the control server 100 according to an embodiment provides a virtual code for authentication for ID, a virtual code for authentication for password, and virtual code for authentication for commands. Codes may be generated individually, or a single authentication virtual code may be generated for the entire ID, password, and command.
- the relay device 200 may transmit verification request information to the identification module 400 to request verification ( S432 ).
- the verification request information may include a virtual code for authentication and a time value in the third information, and the time value is a time value or a current time when the third information is received by the relay device 200 . can be a value.
- the identification module 400 may verify the virtual code for authentication according to the request (S500).
- the identification module 400 may perform verification by extracting a plurality of detailed codes included in the virtual code for authentication using a verification algorithm stored therein. Since the contents related to the verification of the virtual code for authentication are the same as those described above in the first embodiment, a detailed description thereof will be omitted.
- the identification module 400 may search for an actual value (ie, command information) by subtracting the second code value from the first code value.
- the identification module 400 determines that the authentication virtual code is normal as described above and completes the verification, the identification module 400 transmits the searched command information along with a response to the verification completion to the relay device 200 . It can be done (S531).
- the relay device 200 may transmit the transmitted command information to the IoT device 300 . Accordingly, the IoT device 300 may be controlled only by the verified command.
- the virtual code for authentication may be generated regardless of the format of the command information that is different for each IoT device 300 .
- the IoT device 300 may have different formats for expressing device IDs, passwords, and commands for each manufacturer or service company.
- the relay device 200 when generating a virtual code for authentication in the control center 100, only the values corresponding to the ID, password, and command are virtualized for authentication while maintaining the format for the ID, password, and command of the IoT device 300 It can be created by code. Accordingly, the relay device 200 can distinguish and recognize the form and the value, provide the virtual coded value for authentication to the identification module 400, and provide the actual value for the corresponding value from the identification module 400 By receiving, by matching the format with the actual value and transmitting it to the IoT device 300 , it is possible to increase the control accuracy of the device.
- FIGS. 3 to 6 are described as being sequentially executed, this is merely illustrative of the technical idea of this embodiment, and those of ordinary skill in the art to which this embodiment belongs 3 to 6 may be applied by changing the order of the steps described in FIGS. 3 to 6 or executing one or more steps in parallel without departing from the essential characteristics of the example. The steps described are not limited to chronological order.
- a subscriber identification module-based IoT device authentication system for verifying access to an IoT device when the subscriber identification module is included in the IoT device will be described in detail with reference to FIG. 7 .
- the subscriber identification module-based IoT device authentication system (hereinafter, the system) includes a control server 100 , a relay device 200 , an IoT device 300 , and an identification module 400 .
- the system may include fewer or more components than the components shown in FIG. 1 .
- the identification module 400 is included in the relay apparatus 200 , and in the embodiment to be described with reference to FIG. 7 , the identification module 400 is the IoT device 300 . ) is included.
- the IoT device 300 may perform the same function as the relay apparatus 200 described with reference to FIGS. 1 to 6 . That is, the first information, the second information, or the third information including the virtual code for authentication generated by the control server 100 is transmitted through the relay device 200 (or directly without going through the relay device) to the IoT device 300 . ), when the IoT device 300 requests verification while transmitting the authentication virtual code and time value included in the corresponding information to the identification module 400, the identification module 400 verifies the authentication virtual code can be performed.
- the identification module 400 may transmit a response to the verification completion to the IoT device 300 .
- the IoT device 300 When a response to completion of verification is received from the identification module 400 , the IoT device 300 performs an operation according to the command information. Accordingly, the IoT device 300 may be controlled only by the verified command.
- identification module 400 when the above-described identification module 400 is inserted into a hardware device (a relay device or an IoT device), a method in which the identification module 400 is activated will be described.
- the hardware device when the information for the verification operation of the identification module 400 is received from the control server 100 in the hardware device, the hardware device directly gives a command to the identification module 400 through the OS firmware in the device to the identification module
- the 400 may be configured to perform a verification operation based on the received information.
- the hardware device may request the communication company server to send an SMS including the information for the verification operation. And, when the communication company server sends the SMS to the identification module 400 according to a request, the identification module 400 may be driven based on the SMS to perform a verification operation.
- the operation of the identification module 400 described in FIGS. 1 to 7 may be performed in the same manner in the SIM card device itself, and the SIM card device may include a communication module and a verification module.
- the communication module may receive a virtual code for authentication generated based on command information of at least one IoT device by the control server.
- the communication module may perform the same operation as the above-described communication unit 410 , and detailed descriptions thereof will be omitted because they are redundant.
- the verification module may be formed in the form of an applet, and may verify the virtual code for authentication based on a verification algorithm. Since the operation of the verification module performing verification using the virtual code for authentication is the same as the operation of the identification module described with reference to FIGS. 1 to 7 , a detailed description thereof will be omitted.
- the verification module may operate as a processor of the SIM card, and may perform the same operation as the above-described processor 420 .
- the processor may generally control the overall operation of the SIM card in addition to the operation related to the application program stored in the memory of the SIM card.
- the processor processes signals, data, information, etc. input or output through the above-described components, or by driving an application program stored in the memory, information appropriate to the control server 100 , the relay device 200 or the IoT device 300 . or may provide or process functions.
- the first embodiment in which the SIM card device is included in the relay device 200 and the second and third embodiments in which the SIM card device is included in the IoT device 300 will be described below. to explain about it.
- FIG. 8 is a view for explaining an embodiment of the present invention when the SIM card device is included in the relay device.
- FIG. 9 is a view for explaining an embodiment when the SIM card apparatus of the present invention is included in an IoT device.
- FIG. 10 is a view for explaining another embodiment when the SIM card apparatus of the present invention is included in an IoT device.
- the SIM card device of the present invention may include a communication module and a verification module.
- the communication module may receive a virtual code for authentication generated by the control server 100 based on command information of at least one IoT device.
- the verification module may be formed in the form of an applet, and may verify the virtual code for authentication based on a verification algorithm.
- the first embodiment shown in Figure 8 relates to a Router Model.
- the SIM card device may be included in a relay device 200 (ie, a router) that connects the control server 100 and at least one IoT device 300 .
- the applet-type verification module of the SIM card device receives verification request information including the virtual code for authentication from the relay device 200 through the communication module, based on the verification algorithm.
- the authentication virtual code may be verified, and the verified result may be transmitted to the relay device 200 through the communication module.
- the relay apparatus 200 may determine whether to transmit the command information to the IoT device 300 based on the verified result.
- the router MCU (processor 210 in FIG. 2 ) )) can receive the virtual code for authentication through the LTE module.
- the router MCU may transmit verification request information including the virtual code for authentication to the applet type verification module.
- the verification module may verify the received virtual code for authentication.
- the verification module may transmit command information (eg, open) confirmed through verification to the router MCU.
- the router MCU may transmit command information to the corresponding IoT device through the LTE module so that the corresponding IoT device operates according to the command information.
- the router MCU may send the verification request information to the verification module only when the command information received from the control server 100 or the virtual code for authentication is included in a specific area of the preset protocol.
- the protocol may include, but is not limited to, MQTT, CoAP, and HTTPS.
- the command information may include at least one of an ID of the IoT device 300 , a password, and a command for the IoT device 300 .
- the verification module may extract a plurality of detailed codes included in the authentication virtual code and verify the authentication virtual code based on a correlation between the plurality of detailed codes. Since the verification method of the virtual code for authentication is the same as described above, a detailed description thereof will be omitted.
- the firmware of the router (more specifically, the router MCU). That is, in order for the verification module included in the router to properly perform the verification operation, the software settings in the router must be changed accordingly, so firmware change may be required.
- the second embodiment shown in FIG. 9 relates to an IoT (Host-Control) Model.
- a SIM card device may be included in a connection device 500 (ie, a modem) for controlling the IoT device 300 .
- the second embodiment may be configured in the form of a board in which the LTE modem and the IoT board are separated.
- the verification module in the form of an applet of the SIM card device is based on the verification algorithm. to verify the virtual code for authentication, and transmit the verified result to the connection device 500 through the communication module.
- the connection device 500 may determine whether to transmit the command information to the IoT device 300 based on the verified result.
- the modem MCU for authentication through the LTE modem You can receive a virtual code.
- the modem MCU may transmit verification request information including the virtual code for authentication to the applet type verification module.
- the verification module may verify the received virtual code for authentication.
- the verification module may transmit command information (eg, open) confirmed through verification to the modem MCU.
- the modem MCU may transmit command information to the IoT device through the LTE modem so that the IoT device operates according to the command information.
- the modem MCU may send the verification request information to the verification module only when the command information received from the control server 100 or the virtual code for authentication is included in a specific area of the preset protocol.
- the protocol may include, but is not limited to, MQTT, CoAP, and HTTPS.
- the command information may include at least one of an ID of the IoT device 300 , a password, and a command for the IoT device 300 .
- the verification module may extract a plurality of detailed codes included in the authentication virtual code and verify the authentication virtual code based on a correlation between the plurality of detailed codes. Since the verification method of the virtual code for authentication is the same as described above, a detailed description thereof will be omitted.
- the LTE modem it may be necessary to change the LTE modem. That is, in order for the verification module included in the router to properly perform the verification operation, a change in the LTE modem itself may be required.
- the third embodiment shown in FIG. 10 relates to an IoT (Stand-alone) Model.
- a SIM card device may be included in the IoT device 300 . That is, in the third embodiment, the LTE module and the IoT board may be configured in the form of one board.
- the verification module in the form of an applet of the SIM card device is based on the verification algorithm. to verify the authentication virtual code, and transmit the verified result to the IoT device 300 through the communication module.
- the IoT device 300 may operate based on the verified result and the command information.
- the IoT board transmits the authentication virtual code through the LTE module.
- the IoT board may transmit verification request information including the virtual code for authentication to the applet type verification module.
- the verification module may verify the received virtual code for authentication.
- the verification module may transmit command information (eg, open) confirmed through verification to the IoT board. Since the IoT board has been verified, it can operate based on the command information.
- the IoT board may send the verification request information to the verification module only when the command information received from the control server 100 or the virtual code for authentication is included in a specific area of the preset protocol.
- the protocol may include, but is not limited to, MQTT, CoAP, and HTTPS.
- the command information may include at least one of an ID of the IoT device 300 , a password, and a command for the IoT device 300 .
- the verification module may extract a plurality of detailed codes included in the authentication virtual code and verify the authentication virtual code based on a correlation between the plurality of detailed codes. Since the verification method of the virtual code for authentication is the same as described above, a detailed description thereof will be omitted.
- the firmware of the IoT device (more specifically, the IoT board). That is, in order for the verification module included in the IoT device 300 to properly perform a verification operation, software settings in the IoT device must be changed accordingly, so a firmware change may be required.
- the method according to an embodiment of the present invention described above may be implemented as a program 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)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Telephonic Communication Services (AREA)
Abstract
IoT 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치가 제공된다. 상기 장치는, 관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈 및 애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈을 포함한다.
Description
본 발명은 IoT 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치에 관한 것이다.
일반적으로 사물인터넷 환경은 제어 대상물에 설치되어 제어 대상물을 제어하고 상태를 검출하는 IoT 디바이스, 관리자가 관리하고 IoT 디바이스에서 계측된 정보들을 수신하여 처리하거나 제어 대상물을 제어하기 위한 명령을 IoT 디바이스로 전송하는 서버, IoT 디바이스와 서버 사이에서 정보를 전달하는 라우터로 이루어진다.
기존의 IoT 디바이스는 서버에서 보내는 명령을 라우터를 통해 수신하면, 명령에 따라 제어되는 기능만을 수행할 뿐, 하드웨어 스펙이 떨어지기 때문에 보안과 관련한 기능을 수행하기에는 어려움이 있었고, 이에 따라 해킹 위험에 노출될 수 있다는 문제점이 있었다.
이에, IoT 디바이스가 정상적인 접근에 대해서만 제어될 수 있도록 하는 보안관제 방안이 필요하다.
본 발명이 해결하고자 하는 과제는 IoT 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
상술한 과제를 해결하기 위한 본 발명의 일 면에 따른 심카드 장치는, 관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈 및 애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈을 포함하고, 상기 심카드 장치는, 상기 관제 서버와 상기 IoT 디바이스를 연결하는 중계 장치에 포함된다.
본 발명에서, 상기 검증 모듈은, 상기 통신 모듈을 통해 상기 중계 장치로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 중계 장치로 전달하고, 상기 중계 장치는, 상기 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스에 전달할 지의 여부를 판단할 수 있다.
본 발명에서, 상기 검증 요청 정보는, 상기 명령 정보가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만 상기 중계 장치로부터 수신되는 것일 수 있다.
본 발명에서, 상기 검증 모듈은, 상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행할 수 있다.
본 발명에서, 상기 검증 모듈의 검증 동작을 위해 상기 중계 장치의 펌웨어 변경이 요구될 수 있다.
상술한 과제를 해결하기 위한 본 발명의 다른 면에 따른 심카드 장치는, 관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈 및 애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈을 포함하고, 상기 심카드 장치는, 상기 IoT 디바이스의 제어를 위한 연결 장치에 포함된다.
본 발명에서, 상기 검증 모듈은, 상기 통신 모듈을 통해 상기 연결 장치로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 연결 장치로 전달하고, 상기 연결 장치는, 상기 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스에 전달할 지의 여부를 판단할 수 있다.
본 발명에서, 상기 검증 요청 정보는, 상기 명령 정보가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만 상기 연결 장치로부터 수신되는 것일 수 있다.
본 발명에서, 상기 검증 모듈은, 상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행할 수 있다.
상술한 과제를 해결하기 위한 본 발명의 또 다른 면에 따른 심카드 장치는, 관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈 및 애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈을 포함하고, 상기 심카드 장치는, 상기 IoT 디바이스에 포함된다.
본 발명에서, 상기 검증 모듈은, 상기 통신 모듈을 통해 상기 IoT 디바이스로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 IoT 디바이스로 전달하고, 상기 IoT 디바이스는, 상기 검증된 결과 및 상기 명령 정보에 기초하여 동작할 수 있다.
본 발명에서, 상기 검증 요청 정보는, 상기 명령 정보가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만 상기 IoT 디바이스로부터 수신되는 것일 수 있다.
본 발명에서, 상기 검증 모듈은, 상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행할 수 있다.
본 발명에서, 상기 검증 모듈의 검증 동작을 위해 상기 IoT 디바이스의 펌웨어 변경이 요구될 수 있다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
본 발명에 따르면, IoT 디바이스와 관련된 정보가 저장된 심카드를 중계 장치 또는 IoT 디바이스에 장착하여, 중계 장치 또는 IoT 디바이스가 심카드를 통해 관제 센터에서 보내는 명령이 정상적인 명령인지를 검증함으로써, IoT 디바이스가 정상적인 명령에 의해서만 제어되도록 할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 중계 장치를 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 가입자 식별 모듈 기반 IoT 디바이스 인증 방법이다.
도 4는 본 발명의 가입자 식별 모듈 기반 IoT 디바이스 인증 방법의 제1 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 가입자 식별 모듈 기반 IoT 디바이스 인증 방법의 제2 실시예를 설명하기 위한 도면이다.
도 6은 본 발명의 가입자 식별 모듈 기반 IoT 디바이스 인증 방법의 제3 실시예를 설명하기 위한 도면이다.
도 7은 본 발명의 다른 실시예에 따른 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템을 설명하기 위한 도면이다.
도 8은 본 발명의 심카드 장치가 중계 장치에 포함된 경우의 실시예를 설명하기 위한 도면이다.
도 9는 본 발명의 심카드 장치가 IoT 디바이스에 포함된 경우의 실시예를 설명하기 위한 도면이다.
도 10은 본 발명의 심카드 장치가 IoT 디바이스에 포함된 경우의 다른 실시예를 설명하기 위한 도면이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다.
설명에 앞서 본 명세서에서 사용하는 용어의 의미를 간략히 설명한다. 그렇지만 용어의 설명은 본 명세서의 이해를 돕기 위한 것이므로, 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
본 명세서에서 '심카드'는 가입자 식별 모듈(Subscriber Identification Module)을 구현한 것으로, 유심칩, 유심카드, 유심, 심, 이심(eSIM) 등을 모두 포함하는 것으로 이해될 수 있다.
본 명세서에서 '문자'는 코드를 구성하는 구성요소로서, 대문자알파벳, 소문자알파벳, 숫자 및 특수문자 등의 전부 또는 일부를 포함한다.
본 명세서에서 '코드'는 문자가 나열된 문자열을 의미한다.
본 명세서에서 '인증용가상코드'는 인증용가상코드생성수단에서 생성되는 코드로서, 인증용가상코드검증수단에서 IoT 디바이스 인증을 수행하는데 이용되는 코드를 의미한다. 즉, '인증용가상코드'는 IoT 디바이스로의 접근을 검증할 수 있도록 단위카운트마다 임시적으로 부여된 가상의 코드를 의미한다. 여기서, 인증용가상코드생성수단은 실시예에 따라 관제 서버가 될 수도 있지만, 이에 제한되지는 않는다.
본 명세서에서 '세부코드'는 인증용가상코드에 포함되는 일부코드를 의미한다.
본 명세서에서 '단위카운트'는 특정한 시간간격으로 설정되어, 시간간격이 경과됨에 따라 변경되는 것으로 정의된 단위이다. 예를 들어, 1카운트는 특정한 시간간격(예를 들어, 1.5초)으로 설정되어 사용될 수 있다.
본 명세서에서 '인증용가상코드생성함수'는 인증용가상코드를 생성하는데 이용되는 함수를 의미한다.
본 명세서에서 '저장위치'는 사용자에 의해 IoT 디바이스의 등록이 요청된 시점에 해당하는 트랙 상 지점(카운트)을 의미한다.
본 명세서에서, '사용자'는 IoT 디바이스를 사용하는 사용자일 수 있지만, 이에 제한되는 것은 아니다.
이하에서는, 도 1 및 도 2를 참조하여, 가입자 식별 모듈이 중계 장치에 포함된 경우의 IoT 디바이스로의 접근을 검증하기 위한 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템에 대해 상세히 설명하도록 한다.
도 1은 본 발명의 일 실시예에 따른 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 중계 장치를 설명하기 위한 블록도이다.
도 1에 도시된 바와 같이, 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템(이하, 시스템)은 관제 서버(100), 중계 장치(200), IoT 디바이스(300) 및 식별 모듈(400)을 포함한다. 여기서, 시스템은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
관제 서버(100)는 적어도 하나의 IoT 디바이스(300)로 제어용 명령 정보를 송신하여 적어도 하나의 IoT 디바이스(300)의 동작을 제어하고, 적어도 하나의 IoT 디바이스(300)로부터 각종 정보를 수신하여 모니터링할 수 있다. 관제 서버(100)는 IoT 디바이스 관련 서비스를 제공하는 업체의 서버일 수 있다. 예를 들어, 관제 서버(100)는 통신사의 서버일 수 있지만, 이에 제한되지는 않는다.
중계 장치(200)는 서로 다른 네트워크 간에 중계 역할을 수행하는 장치로서, 관제 서버(100)의 제어용 명령 정보를 IoT 디바이스(300)로 전달할 수 있다.
이때, 중계 장치(200)는 관제 서버(100)의 접근에 대한 검증을 수행하여, 정상적인 접근에 대해서만 IoT 디바이스(300)로 제어용 명령 정보를 전달해줄 수 있다. 이로써, IoT 디바이스(300)가 해킹 위험에 노출되는 상황을 방지할 수 있다.
IoT 디바이스(300)는 사물 인터넷을 기반으로 하는 디바이스로서, 관제 센터(100)에 의한 제어용 명령 정보에 따라 동작할 수 있지만, 이에 제한되지 않고 IoT 디바이스(300)를 사용하는 사용자의 단말(미도시)에 의해 제어될 수도 있다. 이러한 경우 중계 장치(200)는 사용자의 단말(미도시)로부터 송신되는 제어용 명령 정보에 대한 검증을 수행할 수 있다.
여기서, IoT 디바이스(300)는 센서, 디스플레이, CCTV와 같은 카메라를 포함할 수 있지만, 이에 제한되는 것은 아니다.
실시예에 따라, 식별 모듈(400)은 통신사에서 제공하는 심카드(SIM card) 내의 애플릿(applet)일 수 있다. 이 경우, 식별 모듈이 포함된 심카드가 중계 장치(200)에 삽입될 수 있다.
실시예에 따라, 식별 모듈(400)은 중계 장치(200)에 설치되거나 내장되는 소프트웨어 프로그램일 수 있다.
여기서, 식별 모듈(400)은 특정 IoT 디바이스(300)의 관련 정보가 저장되어 있을 수 있다. 예를 들어, 식별 모듈(400)은 특정 IoT 디바이스(300)의 고유식별정보, ID, 패스워드, 명령어 형식 및 검증 알고리즘 중 적어도 하나를 포함할 수 있다. 여기서, 고유식별정보는 특정 IoT 디바이스(300)의 시리얼 넘버일 수 있으나, 이에 제한되는 것은 아니다. 검증 알고리즘은 이후 관제 서버(100)로부터 명령 정보와 함께 제공되는 인증용가상코드에 대한 검증을 수행하기 위한 알고리즘으로서, IoT 디바이스(300) 별로 상이할 수 있다.
식별 모듈(400)이 중계 장치(200)에 삽입(또는 설치)되면, 상기 IoT 디바이스(300)는 중계 장치(200)와 유선 또는 무선으로 연결되고, 이에 따라 관제 서버(100)는 중계 장치(200)를 통해 상기 IoT 디바이스(300)를 제어할 수 있게 된다.
일 실시예로, 중계 장치(200)에 하나의 식별 모듈(400)이 포함되는 경우, 중계 장치(200)는 관제 서버(100)로 상기 IoT 디바이스(300)의 관련 정보를 송신하여 IoT 디바이스(300)의 등록을 요청할 수 있다. 관제 서버(100)는 등록을 요청한 상기 중계 장치(200)와 상기 IoT 디바이스(300)를 매칭하여 등록을 완료할 수 있다. 이로써, 상기 중계 장치(200)는 하나의 IoT 디바이스(300)에 대한 접근을 검증하여 하나의 IoT 디바이스(300)가 정상적으로 제어되도록 할 수 있다.
다른 실시예로, 중계 장치(200)에 복수의 식별 모듈(400)이 포함되는 경우, 각각의 식별 모듈(400)이 중계 장치(200)에 삽입(또는 설치)되면, 중계 장치(200)는 관제 서버(100)로 서로 다른 IoT 디바이스(300)의 관련 정보를 송신하여 각각의 IoT 디바이스(300)의 등록을 각각 요청할 수 있다. 관제 서버(100)는 등록을 요청한 상기 중계 장치(200)와 상기 서로 다른 IoT 디바이스(300)를 각각 매칭하여 등록을 각각 완료할 수 있다. 이로써, 상기 중계 장치(200)는 서로 다른 IoT 디바이스(300)에 대한 접근을 각각 검증하여 각각의 IoT 디바이스(300)가 정상적으로 제어되도록 할 수 있다.
도 2를 참조하면, 중계 장치(200)는 프로세서(210), 통신부(220), 인터페이스(230) 및 메모리(240)를 포함할 수 있다. 여기서, 중계 장치(200)는 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
통신부(220)는 중계 장치(200)와 관제 서버(100) 사이, 중계 장치(200)와 IoT 디바이스(300) 사이, 중계 장치(200)와 식별 모듈(400) 사이, 중계 장치(200)와 외부 단말(미도시) 사이 또는 중계 장치(200)와 통신망(미도시) 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다.
여기서, 외부 단말(미도시)은 IoT 디바이스(300)를 사용하는 사용자의 단말일 수 있지만, 이에 제한되는 것은 아니다.
여기서, 통신망(미도시)은 다양한 형태의 통신망이 이용될 수 있으며, 예컨대, 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) 등의 유선 통신방식이 이용될 수 있다.
한편, 통신망(미도시)은 상기에 제시된 통신방식에 한정되는 것은 아니며, 상술한 통신방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
인터페이스(230)는 상기 식별 모듈(400)이 중계 장치(200)에 삽입되도록 형성된 포트(port)일 수 있다.
메모리(240)는 중계 장치(200)의 다양한 기능을 지원하는 데이터를 저장할 수 있다. 메모리(240)는 중계 장치(200)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 중계 장치(200)의 동작을 위한 적어도 하나의 프로세스, 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 중계 장치(200)의 기본적인 기능을 위하여 존재할 수 있다.
프로세서(210)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 중계 장치(200)의 전반적인 동작을 제어할 수 있다. 프로세서(210)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(240)에 저장된 응용 프로그램을 구동함으로써, 관제 서버(100) 또는 IoT 디바이스(300)에 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 프로세서(210)는 메모리(240)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 프로세서(210)는 상기 응용 프로그램의 구동을 위하여, 중계 장치(200)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작 시킬 수 있다.
도 2를 참조하면, 식별 모듈(400)은 통신부(410) 및 프로세서(420)을 포함할 수 있다. 여기서, 식별 모듈(400)은 도 2에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
통신부(410)는 식별 모듈(400)과 중계 장치(200) 사이의 무선 또는 유선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다.
프로세서(420)는 상기 식별 모듈(400)에 저장된 상기 IoT 디바이스(300)의 관련 정보와, 상기 통신부(410)를 통해 상기 중계 장치(200)로부터 전달된 검증 요청 정보를 이용하여 검증을 수행할 수 있다.
이하에서는, 도 3 내지 도 6을 참조하여, 가입자 식별 모듈을 기반으로 하여 IoT 디바이스로의 접근을 검증하기 위한 가입자 식별 모듈 기반 IoT 디바이스 인증 방법에 대해 상세히 설명하도록 한다.
도 3은 본 발명에 따른 가입자 식별 모듈 기반 IoT 디바이스 인증 방법이다.
도 4는 본 발명의 가입자 식별 모듈 기반 IoT 디바이스 인증 방법의 제1 실시예를 설명하기 위식별 모듈(400)한 도면이다.
도 5는 본 발명의 가입자 식별 모듈 기반 IoT 디바이스 인증 방법의 제2 실시예를 설명하기 위한 도면이다.
도 6은 본 발명의 가입자 식별 모듈 기반 IoT 디바이스 인증 방법의 제3 실시예를 설명하기 위한 도면이다.
도 3을 참조하면, 관제 서버(100)가 인증용가상코드를 생성할 수 있다(S400). 즉, 관제 서버(100)는 인증용가상코드생성수단의 역할을 수행할 수 있다.
보다 상세하게, 관제 서버(100)는 제어하려는 IoT 디바이스(300)에 대한 명령 정보를 중계 장치(200)로 송신하되, 자신의 접근이 정상적인 접근임을 인증하기 위한 인증용가상코드를 생성하여 상기 명령 정보와 함께 중계 장치(200)로 송신할 수 있다.
여기서, 명령 정보는 IoT 디바이스(300)의 ID, 패스워드 및 명령어 중 적어도 하나를 포함할 수 있다. 보다 상세하게, 관제 서버(100)에는 IoT 디바이스(300)에 대한 등록 수행 시 IoT 디바이스(300)의 관련 정보가 저장되기 때문에, 관제 서버(100)는 등록된 IoT 디바이스(300)에 대해서 제어를 위한 명령 정보를 송신할 수 있게 된다.
상기 명령 정보와 상기 인증용가상코드가 수신되면, 중계 장치(200)에 포함된 식별 모듈(400)은 상기 인증용가상코드를 검증할 수 있다(S500). 즉, 식별 모듈(400)은 인증용가상코드생성수단의 역할을 수행할 수 있다.
보다 상세하게, 중계 장치(200)는 관제 서버(100)로부터 상기 명령 정보와 상기 인증용가상코드를 수신하면, 검증 요청 정보를 식별 모듈(400)로 송신하여 검증을 요청할 수 있다. 식별 모듈(400)은 요청에 따라 검증을 수행하고, 검증된 결과를 중계 장치(200)로 전달할 수 있다. 중계 장치(200)는 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스(300)로 전달할지의 여부를 판단할 수 있다.
여기서, 검증 요청 정보는 인증용가상코드 및 시간값을 포함할 수 있다. 실시예에 따라, 시간값은 상기 인증용가상코드가 중계 장치(200)에 수신된 시점의 시간값일 수 있고, 또는 현재 시점의 시간값일 수 있다.
이하에서는 도 4를 참조하여 인증용가상코드를 생성하고 검증하는 제1 실시예를 구체적으로 설명하도록 한다.
관제 서버(100)는 인증용가상코드를 생성할 수 있다(S400).
관제 서버(100)는 상기 인증용가상코드 및 특정 IoT 디바이스(300)에 대한 명령 정보를 기 설정된 방식으로 결합하여 제1 정보를 생성하고, 생성된 제1 정보를 중계 장치(200)로 송신할 수 있다(S411).
여기서, 인증용가상코드는 상기 특정 IoT 디바이스(300)의 고유식별정보를 기반으로 생성될 수 있다.
보다 상세하게, 관제 서버(100)는 하나 이상의 세부코드를 조합하여 인증용가상코드를 생성할 수 있다. 일실시예로, 관제 서버(100)는 인증용가상코드생성함수를 이용하여 복수의 세부코드를 특정한 규칙에 따라 결합함으로써 상기 인증용가상코드를 생성할 수 있다. 상기 인증용가상코드생성함수는 복수의 세부코드를 조합하는 규칙(즉, 세부코드결합함수)을 포함할 수 있다. 여기서, 인증용가상코드생성함수는 특정 IoT 디바이스(300)의 검증 알고리즘과 매칭될 수 있다.
복수의 세부코드를 결합하여 하나의 인증용가상코드를 생성하는 방식으로는 다양한 방식이 적용될 수 있다. 상기 세부코드결합함수의 일 예로, 관제 서버(100)는 N자리의 제1 코드와 N자리의 제2 코드를 번갈아 배치하는 방식으로 인증용가상코드를 생성할 수 있다. 또한, 다른 일 예로, 세부코드결합함수는 제1 코드 뒤에 제2 코드를 결합하는 함수일 수 있다. 인증용가상코드에 포함되는 세부코드가 늘어남에 따라 세부코드결합함수도 다양하게 생성될 수 있다.
관제 서버(100)는 하나 이상의 세부코드를 생성할 수 있다. 인증용가상코드생성함수는 각각의 세부코드생성함수를 포함한다. 예를 들어, 인증용가상코드생성함수는 복수의 세부코드생성함수를 이용하여 복수의 세부코드를 생성하고, 복수의 세부코드를 결합하는 세부코드결합함수를 이용하여 가상카드번호를 생성할 수 있다.
일 실시예로, 관제 서버(100)는 세부코드생성함수로 제1 함수와 제2 함수를 포함하여, 제1 코드 및 제2 코드를 생성할 수 있다. 제1 코드와 제2 코드는 인증용가상코드검증수단을 구비하는 중계 장치(200) 내에서 인증용가상코드를 검증하기 위한 상관관계를 가지나 관제 서버(100)는 보안성을 높이기 위해 제1 코드를 생성하는 제1 함수와 제2 코드를 생성하는 제2 함수를 세부코드생성함수로 포함할 뿐, 제1 코드와 제2 코드의 상관관계에 대한 데이터를 포함하지 않을 수 있다.
또한, 일 실시예로, 인증용가상코드가 제1 코드 및 제2 코드의 특정한 규칙에 따른 조합으로 생성되는 경우, 제1 코드와 제2 코드는 탐색알고리즘 내의 실제값의 저장위치를 탐색하기 위한 각각의 역할을 수행할 수 있다. 예를 들어, 제1 코드는 저장위치탐색의 시작지점을 설정하고, 제2 코드는 특정한 탐색방식에 따라 상기 시작지점으로부터 상기 사용자 식별 정보의 저장위치(즉, 실제값이 저장된 영역)로의 탐색경로를 설정한다. 이후, 관제 서버(100)에서 단위카운트마다 정상적으로 생성된 인증용가상코드가 제공되면, 식별 모듈(400)은 제1 코드에 대응하는 시작지점으로부터 제2 코드에 상응하는 탐색경로에 따라 이동한 지점을 사용자 식별 정보가 저장된 영역으로 판단한다. 인증용가상코드를 구성하는 제1 코드와 제2 코드를 기반으로 실제값의 저장위치를 탐색하는 구체적인 방식은 후술한다.
관제 서버(100)가 세부코드를 생성하는 방식의 일 실시예로, 관제 서버(100)는 단위카운트마다 새로운 세부코드를 생성하고, 이에 따라 관제 서버(100)는 단위카운트마다 새로운 인증용가상코드를 생성할 수 있다. 단위카운트마다 신규로 생성되는 인증용가상코드는 중복되어 생성되지 않는다. 구체적으로, 관제 서버(100)는 단위카운드마다 신규 생성되는 인증용가상코드가 특정한 IoT 디바이스(300)의 등록에 따라 정해진 기간 동안 중복생성되지 않을 뿐만 아니라, IoT 디바이스(300) 간에도 중복생성되지 않도록 설정될 수 있다.
인증용가상코드의 중복생성을 방지하는 구체적인 일 실시예로, M개 문자로 N자리의 제1 코드 또는 제2 코드를 생성하는 경우, 인증용가상코드생성함수에 포함되는 세부코드생성함수는 MN개의 코드를 제1 코드 또는 제2 코드로 생성할 수 있고, 각각의 코드를 세부코드생성함수가 구동되는 초기시점으로부터 각 카운트마다 매칭한다. 예를 들어, 단위카운트를 1초로 설정하는 경우, 세부코드생성함수가 최초 구동된 시점에서부터 매 초에 상이한 MN개의 코드를 매칭한다. 그리고, 특정한 세부코드생성함수를 이용하는 주기를 MN 카운트에 해당하는 시간길이(예를 들어, 1카운트가 1초인 경우, MN 초)보다 짧은 시간길이로 설정하면 제1 코드 또는 제2 코드는 사용주기 동안에 동일한 코드가 중복 생성되지 않는다. 즉, 시간이 흐름에 따라 카운트가 증가할 때, 특정시점에 관제 서버(100)가 특정한 IoT 디바이스(300)에 대한 제어 요청을 하는 경우, 관제 서버(100)는 특정시점에 대응되는 카운트에 매칭된 코드값을 제1 코드 또는 제2 코드로 생성할 수 있다.
구체적으로, 알파벳 대문자와 0부터 9까지의 숫자를 코드에 포함 가능한 문자로 사용(즉, 36개의 문자를 사용)하고, 제1 코드와 제2 코드에 각각 6자리를 할당하는 경우, 관제 서버(100)는 제1 코드 및 제2 코드로 366개의 코드를 제공할 수 있다. 이때, 관제 서버(100)는 각각의 코드를 각 카운트마다 매칭시켜서, 각 카운트마다 변경된 제1 코드 및 제2 코드를 제공할 수 있다.
인증용가상코드의 중복생성을 방지하는 구체적인 다른 일 실시예로, 특정 IoT 디바이스(300)에 대한 함수의 사용주기가 경과되면, 제1 코드 또는 제2 코드를 생성하는 함수(즉, 제1 함수 또는 제2 함수)를 변경하거나 제1 코드와 제2 코드의 매칭관계를 변경하여 이전 사용주기와 상이한 인증용가상코드가 생성되도록 한다. 인증용가상코드가 제1 함수에 의해 생성되는 제1 코드와 제2 함수에 의해 생성되는 제2 코드가 결합되는 경우, 제1 코드생성함수 또는 제2 코드생성함수가 변경되면, 관제 서버(100)는 제1 코드 또는 제2 코드가 등장하는 순서가 이전 사용주기와 달라짐에 따라 이전 주기와 상이한 인증용가상코드를 생성하는 인증용가상코드생성함수를 신규 사용주기에 적용할 수 있다. 또한, 관제 서버(100)는 이전 사용주기에서 사용된 인증용가상코드와 동일한 코드가 신규 사용주기 내 각 카운트의 인증용가상코드로 등장하지 않도록(즉, 제1 함수에 따라 생성되는 제1 코드와 제2 함수에 따라 생성되는 제2 코드의 매칭관계가 신규 사용주기의 모든 카운트에서 이전 사용주기 내에 포함된 매칭관계 중에 포함되지 않도록) 제1 함수와 제2 함수를 선택할 수 있다. 즉, MN 개의 코드를 1회씩 적용할 수 있는 사용주기를 경과한 후 인증용가상코드생성함수 조절 또는 갱신을 통해 이전 사용주기와 겹치는 인증용가상코드가 생성되지 않는 신규 사용주기의 인증용가상코드생성함수를 적용할 수 있다.
또한, 다른 일 실시예로, 상기 인증용가상코드생성함수(또는 세부코드생성함수)는, M개의 문자를 오름차순으로 나열하는 다수의 나열규칙 중 어느 하나가 적용된다. 즉, 관제 서버(100)는 인증용가상코드생성함수 내에 포함되는 세부코드생성함수에 M개 문자를 오름차순으로 나열하는 규칙을 다양하게 적용하여 할 수 있다. 예를 들어, 알파벳 대문자를 오름차순으로 나열하는 나열규칙은, 일반적인 순서인 A, B, C,…, Z 순서가 될 수 있고, A, C, B,…, Z 순서가 될 수도 있다. 인증용가상코드생성함수에서 나열규칙이 달라짐에 따라 인증용가상코드생성함수가 구동되는 초기시점부터 각 카운트에 차례대로 코드가 매칭되는 순서가 달라지게 된다.
상기에서는 관제 서버(100)가 인증용가상코드를 생성하는 것으로 설명하였지만, 보다 상세하게는 관제 서버(100) 내에 포함된 인증용가상코드 생성을 위한 전용프로그램을 이용하여 인증용가상코드가 생성될 수 있다.
이하, 제1 코드 및 제2 코드의 구체적인 예시에 대하여 설명한다.
인증용가상코드는 인증용가상코드생성함수가 구동된 시점으로부터 경과된 시간을 기반으로 생성된 복수의 세부코드로서 제1 코드 및 제2 코드를 포함할 수 있다.
제1코드 및 제2코드의 구체적인 예로, 제1 코드에 대응되는 코드값(제1 코드값)은 OTP코드값에 실제값(real value)를 더한 값이고, 제2 코드에 대응되는 코드값(제2코드값)은 OTP코드값일 수 있다. 여기서, 실제값은 관제 서버(100)에 저장된 IoT 디바이스(300)의 고유식별정보, 명령 정보, 인증용가상코드가 생성된 시점에 대응되는 시간 값 중 적어도 하나를 포함할 수 있다.
즉, 관제 서버(100)가 생성하는 제1 코드 및 제2 코드의 일 실시예는 다음과 같다.
제1코드 = OTP코드 + 실제값
제2코드 = OTP코드
식별 모듈(400)은 제1 코드값에 매칭되는 트랙상의 카운트를 경유지점으로 경유하여, 제2 코드값에 해당하는 카운트만큼 설정된 방향으로 트랙을 따라 이동하여 실제값을 탐색할 수 있다.
또한, 다른 일 실시예로, 제1 코드 및 제2 코드는 IoT 디바이스(300)를 관제 서버(100)에 등록한 시점 또는 제어가 요청된 시점(예를 들어, 관제 서버(100)가 인증용가상코드를 생성한 시점)으로부터 랜덤으로 생성되는 OTP코드만큼 부가된 기준 카운트에 대한 코드일 수 있다.
구체적인 실시예로, 관제 서버(100)가 가상보안코드를 외부로 출력하지 않고 제1 코드 및 제2 코드에 반영하여 생성할 수 있다. 관제 서버(100)는 실제값을 기반으로 가상보안코드값(예를 들어, OTP코드)을 생성하고, IoT 디바이스(300) 등록시점에 가상보안코드값을 더한 카운트의 제1 코드를 생성하고, 가상보안코드값에 대응되는 카운트의 제2 코드를 생성(즉, 가상보안코드 자체를 제2 코드로 생성)할 수 있다. 즉, 제1 코드 및 제2 코드는 IoT 디바이스(300)가 관제 서버(100)에 등록된 A시점으로부터 가상보안코드값만큼 이동(shifting)된 카운트를 기반으로 생성될 수 있다. A시점으로부터 이동(Shifting)된 카운트는 생성되는 가상보안코드값에 따라 현재시점에 대응하는 카운트보다 이전 카운트가 될 수도 있고, 이후 카운트가 될 수도 있다. 이후, 식별 모듈(400)은 제1 코드와 제2 코드를 검증 알고리즘에 적용하여 실제값을 탐색할 수 있다. 이를 통해, 타인이 인증용가상코드를 구성하는 제1 코드 및 제2 코드가 제공되는 순서를 확인할 수 없게 되어, 보안성이 향상될 수 있다.
제1 코드 및 제2 코드의 구체적인 다른 예로, 제1 코드에 대응되는 코드값(제1 코드값)은 인증용가상코드생성함수 구동시점을 기준으로 현재시점에 대응되는 카운트에서 OTP코드값을 더한 값일 수 있다. 제1 코드값은 실제값(real value) 탐색 과정에서 경유지점의 역할을 한다. 제2 코드에 대응되는 코드값(제2 코드값)은 상기 제1 코드값에서 실제값을 뺀 값일 수 있다. 제2 코드값은 경유지점(제1 코드값)으로부터 실제값까지의 카운트일 수 있다.
즉, 관제 서버(100)가 생성하는 제1 코드 및 제2 코드의 다른 실시예는 다음과 같다.
제1코드 = 현재시점 카운트 + OTP코드
제2코드 = 제1코드 - 실제값
OTP(One time password) 코드는 세부코드생성함수에 포함된 OTP코드생성함수에 의해 생성되는 코드로서, 매시점 다르게 생성되는 코드이다. 따라서, 세부코드는 인증용가상코드의 셍성시점에 따라 다르게 생성되므로 중복되어 생성되는 것을 방지할 수 있고, 보안성을 강화시키는 효과가 있다.
본 발명의 인증용가상코드를 생성하고 검증하는 제1 실시예에서, 상기 인증용가상코드는 상기 실제값으로 IoT 디바이스(300)의 고유식별정보를 이용하여 생성될 수 있다.
상술한 바와 같이, 관제 서버(100)는 상기 고유식별정보 값에 OTP코드값을 더한 제1 코드와, 상기 OPT코드값에 대응되는 제2 코드를 결합하여 상기 인증용가상코드를 생성할 수 있다.
관제 서버(100)는 이렇게 생성된 인증용가상코드를 명령 정보와 기 설정된 방식으로 결합하여 제1 정보를 생성하고, 이를 중계 장치(200)로 송신할 수 있다.
여기서, 명령 정보는 상술한 바와 같이 IoT 디바이스(300)의 ID, 패스워드 및 명령어 중 적어도 하나를 포함할 수 있다.
실시예에 따라, 관제 서버(100)는 인증용가상코드 및 명령 정보를 앞뒤로 배치하여 결합할 수도 있고, 1비트(bit)씩 번갈아가면 배치하여 결합할 수도 있다. 결합 방식은 문자 또는 코드 조합에 관한 방식이라면 모두 적용가능하다.
중계 장치(200)는 상기 제1 정보가 상기 관제 서버(100)로부터 수신되면, 검증 요청 정보를 식별 모듈(400)로 송신하여 검증을 요청할 수 있다(S412). 여기서, 검증 요청 정보는 상기 제1 정보 내의 인증용가상코드 및 시간값을 포함할 수 있으며, 시간값은 상기 제1 정보가 상기 중계 장치(200)에 수신된 시점의 시간값 또는 현재 시점의 시간값일 수 있다.
식별 모듈(400)은 상기 요청에 따라, 상기 인증용가상코드를 검증할 수 있다(S500).
보다 상세하게, 식별 모듈(400)은 검증 알고리즘을 이용하여 인증용가상코드에 포함된 복수의 세부코드를 추출할 수 있다. 상기 인증용가상카드코드는 복수의 세부코드를 특정한 규칙에 따라 결합하여 생성되는 것이다. 식별 모듈(400)은 인증용가상코드 생성 시 사용된 세부코드결합함수를 동일한 함수를 적용하여 인증용가상코드 에서 복수의 세부코드를 추출할 수 있다. 예를 들어, 관제 서버(100)에서 두 개의 세부코드(즉, 제1 코드 및 제2 코드)가 결합된 인증용가상코드를 생성하는 경우, 식별 모듈(400)은 인증용가상코드의 문자배열에서 세부코드결합함수를 적용하여 제1 코드 및 제2 코드를 분리해낼 수 있다.
이때, 세부코드 간에는 상관관계를 포함할 수 있다.
인증용가상코드가 제1 코드 및 제2 코드를 포함하는 경우, 세부코드 간에 상관관계를 가지는 일 실시예로, 식별 모듈(400)은 제1 코드에 대응하는 탐색시작지점을 결정하고, 상기 탐색시작지점으로부터 제2 코드에 상응하는 탐색경로에 따라 이동한 지점에 대응하는 값을 실제값으로 간주할 수 있다. 즉, 상기 세부코드는, 탐색의 시작지점을 설정하는 제1 코드 및 특정한 탐색방식에 따라, 상기 시작지점으로부터 실제값으로의 탐색경로를 설정하는 제2 코드를 포함할 수 있다.
또한, 다른 일 실시예로, 관제 서버(100)가 단위카운트마다 새로운 인증용가상코드를 제공함에 따라, 식별 모듈(400)는 각 카운트마다 변경되는 제1 코드 및 제2 코드를 기반으로 탐색시작지점과 탐색경로를 설정하여 실제값을 탐색할 수 있다.
또한, 다른 일 실시예로, 식별 모듈(400)은 상관관계를 가지는 복수의 세부코드를 이용하여 실제값을 찾기 위해, 탐색알고리즘을 포함할 수 있다. 탐색알고리즘은 인증용가상코드에 포함되는 각각의 세부코드 적용 시에 실제값 탐색이 가능하도록 하는 알고리즘이다. 예를 들어, 인증용가상코드로부터 실제값의 탐색시작지점을 결정하는 제1 코드와 탐색시작지점으로부터의 저장위치 방향을 제시하는 제2 코드를 포함하는 경우, 탐색알고리즘은 제1 코드에 대응되는 지점에서 제2 코드에 대응되는 방향을 지시할 때, 해당 위치에 실제값이 배치되도록 조절하는 알고리즘이다. 탐색알고리즘을 이용함에 따라, 식별 모듈(400)은 인증용가상코드에 포함된 제1 코드와 제2 코드가 변경되어도 실제값을 찾을 수 있다.
상술한 바와 같이, 본 발명의 인증용가상코드가 상기 고유식별정보 값에 OTP코드값을 더한 제1 코드와, 상기 OPT코드값에 대응되는 제2 코드가 결합되어 생성된 경우, 식별 모듈(400)은 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 실제값(즉, 고유식별정보)을 탐색할 수 있다.
식별 모듈(400)은 중계 장치(200)가 인증용가상코드를 수신한 시점(수신 시점)과 인증용가상코드가 관제 서버(100)에서 인증용가상코드생성함수를 이용하여 생성된 시점(생성 시점)을 비교하여, 인증용가상코드를 검증하는 역할을 수행한다.
일 실시예로, 식별 모듈(400)은 인증용가상코드의 상기 수신 시점에 해당하는 상기 시간값과 상기 생성 시점을 비교하여, 상기 생성 시점이 상기 시간값으로부터 기 설정된 오차 범위 내에 포함된 경우 수신된 상기 인증용가상코드가 정상 코드인 것으로 판단할 수 있다.
또한, 다른 일 실시예로, 식별 모듈(400)이 인증용가상코드로부터 복수의 세부코드를 추출한다. 식별 모듈(400)은 세부코드를 기반으로 인증용가상코드가 생성된 시간데이터를 획득하고, 내부에 저장된 IoT 디바이스(300)의 고유식별정보를 추출하여 시간데이터와 함께 가상보안코드생성함수(예를 들어, OTP(One-Time Password) 함수)에 적용하여 가상보안코드를 산출한다. 식별 모듈(400)은 관제 서버(100)로부터 수신한 가상보안코드(즉, 수신가상보안코드)와 내부에 저장된 가상보안코드생성함수로 산출한 가상보안코드(즉, 생성가상보안코드)가 일치하는지 판단한다. 관제 서버(100)에서 인증용가상코드를 생성하는 시점과 중계 장치(200)에서 인증용가상코드를 수신한 시점 사이에 차이가 존재할 수 있으므로, 식별 모듈(400)은 시간딜레이를 고려하여 특정시간 범위 내(예를 들어, 인증용가상코드를 수신한 시점으로부터 특정 카운트 이전까지)의 가상보안코드(즉, OTP번호)를 계산하여, 관제 서버(100)로부터 수신된 수신가상보안코드와 일치하는 값이 존재하는지 확인한다. 식별 모듈(400)은 수신가상보안코드와 생성가상보안코드가 일치하면 정상적인 인증용가상코드로 판단할 수 있다.
이와 같이, 식별 모듈(400)이 상기 인증용가상코드가 정상적인 것으로 판단하여 검증을 완료하면, 식별 모듈(400)은 중계 장치(200)로 검증 완료에 대한 응답을 송신할 수 있다(S511).
중계 장치(200)는 식별 모듈(400)로부터 검증 완료에 대한 응답이 수신되면, 상기 제1 정보 내의 명령 정보를 상기 IoT 디바이스(300)로 전달할 수 있다. 이에 따라, IoT 디바이스(300)는 검증된 명령에 의해서만 제어될 수 있다.
이하에서는 도 5를 참조하여 인증용가상코드를 생성하고 검증하는 제2 실시예를 구체적으로 설명하도록 한다.
관제 서버(100)는 인증용가상코드를 생성할 수 있다(S400).
관제 서버(100)는 명령 정보를 암호화할 수 있다(S421).
관제 서버(100)는 상기 인증용가상코드 및 명령 정보 기반의 상기 암호화값를 기 설정된 방식으로 결합하여 제2 정보를 생성하고, 생성된 제2 정보를 중계 장치(200)로 송신할 수 있다(S422).
여기서, 인증용가상코드는 상기 특정 IoT 디바이스(300)의 고유식별정보를 기반으로 생성될 수 있다. 인증용가상코드 생성과 관련한 내용은 상기 제1 실시예에서 상술한 바와 동일하므로 자세한 설명은 생략한다.
본 발명의 인증용가상코드를 생성하고 검증하는 제2 실시예에서, 상기 인증용가상코드는 상기 실제값으로 IoT 디바이스(300)의 고유식별정보를 이용하여 생성될 수 있다.
상술한 바와 같이, 관제 서버(100)는 상기 고유식별정보 값에 OTP코드값을 더한 제1 코드와, 상기 OPT코드값에 대응되는 제2 코드를 결합하여 상기 인증용가상코드를 생성할 수 있다.
관제 서버(100)는 암호화키를 이용하여 명령 정보를 암호화할 수 있다. 여기서, 암호화키는 상기 고유식별정보 및 상기 인증용가상코드 중 적어도 하나를 포함할 수 있다.
일 예로, 관제 서버(100)는 상기 고유식별정보를 암호화키로 사용하여 명령 정보를 암호화할 수 있다. 다른 예로, 관제 서버(100)는 상기 고유식별정보 및 상기 인증용가상코드를 결합한 값을 암호화키로 사용하여 명령 정보를 암호화할 수 있다.
여기서, 명령 정보는 상술한 바와 같이 IoT 디바이스(300)의 ID, 패스워드 및 명령어 중 적어도 하나를 포함할 수 있다.
관제 서버(100)는 상기 인증용가상코드와 상기 암호화값을 기 설정된 방식으로 결합하여 제2 정보를 생성하고, 이를 중계 장치(200)로 송신할 수 있다.
실시예에 따라, 관제 서버(100)는 인증용가상코드 및 명령 정보를 앞뒤로 배치하여 결합할 수도 있고, 1비트(bit)씩 번갈아가면 배치하여 결합할 수도 있다. 결합 방식은 문자 또는 코드 조합에 관한 방식이라면 모두 적용가능하다.
중계 장치(200)는 상기 제2 정보가 상기 관제 서버(100)로부터 수신되면, 검증 요청 정보를 식별 모듈(400)로 송신하여 검증을 요청할 수 있다(S423). 여기서, 검증 요청 정보는 상기 제2 정보 내의 인증용가상코드 및 시간값을 포함할 수 있으며, 시간값은 상기 제2 정보가 상기 중계 장치(200)에 수신된 시점의 시간값 또는 현재 시점의 시간값일 수 있다.
식별 모듈(400)은 상기 요청에 따라, 상기 인증용가상코드를 검증할 수 있다(S500).
식별 모듈(400)은 내부에 저장된 검증 알고리즘을 이용하여 인증용가상코드에 포함된 복수의 세부코드를 추출하여 검증을 수행할 수 있다. 인증용가상코드 검증과 관련한 내용은 상기 제1 실시예에서 상술한 바와 동일하므로 자세한 설명은 생략한다.
상술한 바와 같이, 본 발명의 인증용가상코드가 상기 고유식별정보 값에 OTP코드값을 더한 제1 코드와, 상기 OPT코드값에 대응되는 제2 코드가 결합되어 생성된 경우, 식별 모듈(400)은 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 실제값(즉, 고유식별정보)을 탐색할 수 있다.
식별 모듈(400)이 상술한 바와 같이 상기 인증용가상코드가 정상적인 것으로 판단하여 검증을 완료하면, 식별 모듈(400)은 중계 장치(200)로 검증 완료에 대한 응답과 함께 탐색된 고유식별정보를 송신할 수 있다(S521).
중계 장치(200)는 송신된 고유식별정보를 기반으로 한 암호화키를 이용하여 상기 제2 정보 내의 암호화값을 복호화할 수 있다(S522).
일 예로, 관제 서버(100)가 고유식별정보만을 암호화키로 이용하여 명령 정보를 암호화 한 경우, 중계 장치(200)는 고유식별정보를 이용하여 복호화를 수행할 수 있다.
다른 예로, 관제 서버(100)가 고유식별정보 및 인증용가상코드가 결합된 값을 암호화키로 이용하여 명령 정보를 암호환 한 경우, 중계 장치(200)는 고유식별정보 및 인증용가상코드를 이용하여 복호화를 수행할 수 있다. 본 발명에서 명령 정보를 암호화하고 복호화하는 방식은 대칭키 암호 방식을 사용하며, 이는 공지된 내용이므로 상세한 설명은 생략하도록 한다.
중계 장치(200)는 복호화된 명령 정보를 상기 IoT 디바이스(300)로 전달할 수 있다. 이에 따라, IoT 디바이스(300)는 검증된 명령에 의해서만 제어될 수 있다.
이하에서는 도 6을 참조하여 인증용가상코드를 생성하고 검증하는 제3 실시예를 구체적으로 설명하도록 한다.
관제 서버(100)는 인증용가상코드를 생성할 수 있다(S400). 보다 상세하게, 관제 서버(100)는 명령 정보 자체를 인증용가상코드로 생성할 수 있다. 인증용가상코드 생성과 관련한 내용은 상기 제1 실시예에서 상술한 바와 동일하므로 자세한 설명은 생략한다.
관제 서버(100)는 상기 인증용가상코드인 제3 정보를 중계 장치(200)로 송신할 수 있다(S431).
본 발명의 인증용가상코드를 생성하고 검증하는 제3 실시예에서, 상기 인증용가상코드는 상기 실제값으로 IoT 디바이스(300)를 제어하기 위한 명령 정보를 이용하여 생성될 수 있다.
상술한 바와 같이, 관제 서버(100)는 상기 명령 정보 값에 OTP코드값을 더한 제1 코드와, 상기 OPT코드값에 대응되는 제2 코드를 결합하여 상기 인증용가상코드를 생성할 수 있다.
여기서, 명령 정보는 상술한 바와 같이 IoT 디바이스(300)의 ID, 패스워드 및 명령어 중 적어도 하나를 포함할 수 있다.
실시예에 따라, 관제 서버(100)는 명령 정보 각각을 인증용가상코드로 생성할 수 있고, 또는 명령 정보를 하나의 인증용가상코드로 생성할 수 있다. 예를 들어, 명령 정보가 ID, 패스워드 및 명령어를 모두 포함하는 경우, 실시예에 따라 관제 서버(100)는 ID에 대한 인증용가상코드, 패스워드에 대한 인증용가상코드, 명령어에 대한 인증용가상코드를 각각 생성할 수 있고, 또는 ID, 패스워드 및 명령어 전체에 대한 하나의 인증용가상코드를 생성할 수도 있다.
중계 장치(200)는 상기 제3 정보가 상기 관제 서버(100)로부터 수신되면, 검증 요청 정보를 식별 모듈(400)로 송신하여 검증을 요청할 수 있다(S432). 여기서, 검증 요청 정보는 상기 제3 정보 내의 인증용가상코드 및 시간값을 포함할 수 있으며, 시간값은 상기 제3 정보가 상기 중계 장치(200)에 수신된 시점의 시간값 또는 현재 시점의 시간값일 수 있다.
식별 모듈(400)은 상기 요청에 따라, 상기 인증용가상코드를 검증할 수 있다(S500).
식별 모듈(400)은 내부에 저장된 검증 알고리즘을 이용하여 인증용가상코드에 포함된 복수의 세부코드를 추출하여 검증을 수행할 수 있다. 인증용가상코드 검증과 관련한 내용은 상기 제1 실시예에서 상술한 바와 동일하므로 자세한 설명은 생략한다.
상술한 바와 같이, 본 발명의 인증용가상코드가 상기 명령 정보 값에 OTP코드값을 더한 제1 코드와, 상기 OPT코드값에 대응되는 제2 코드가 결합되어 생성된 경우, 식별 모듈(400)은 상기 제1 코드 값에서 상기 제2 코드 값을 빼서 실제값(즉, 명령 정보)을 탐색할 수 있다.
식별 모듈(400)이 상술한 바와 같이 상기 인증용가상코드가 정상적인 것으로 판단하여 검증을 완료하면, 식별 모듈(400)은 중계 장치(200)로 검증 완료에 대한 응답과 함께 탐색된 명령 정보를 송신할 수 있다(S531).
중계 장치(200)는 송신된 명령 정보를 상기 IoT 디바이스(300)로 전달할 수 있다. 이에 따라, IoT 디바이스(300)는 검증된 명령에 의해서만 제어될 수 있다.
본 발명의 상기 제3 실시예에서 상기 인증용가상코드는, IoT 디바이스(300) 별로 상이한 상기 명령 정보의 형식과 관계 없이 생성될 수 있다.
IoT 디바이스(300)는 제조사 또는 서비스사 별로 디바이스의 ID, 패스워드, 명령어를 표현하는 형식이 다를 수 있다. 본 발명은 관제 센터(100)에서 인증용가상코드를 생성할 때, IoT 디바이스(300)의 ID, 패스워드, 명령어에 대한 형식은 유지한 상태에서, ID, 패스워드, 명령어에 해당하는 값만 인증용가상코드로 생성할 수 있다. 이로써, 중계 장치(200)는 형식과 값을 구분하여 인식할 수 있고, 인증용가상코드화된 상기 값을 식별 모듈(400)로 제공하고, 식별 모듈(400)로부터 해당 값에 대한 실제값을 제공받음으로써, 상기 형식과 실제값을 매칭하여 IoT 디바이스(300)로 전달함으로써, 디바이스에 대한 제어 정확성을 높일 수 있다.
도 3 내지 도 6에 도시된 단계들은 순차적으로 실행되는 것으로 기재하고 있으나, 이는 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 3 내지 도 6에 기재된 단계들의 순서를 변경하여 실행하거나, 하나 이상의 단계를 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 3 내지 도 6에 기재된 단계들은 시계열적인 순서로 한정되는 것은 아니다.
이하에서는, 도 7을 참조하여, 가입자 식별 모듈이 IoT 디바이스에 포함된 경우의 IoT 디바이스로의 접근을 검증하기 위한 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템에 대해 상세히 설명하도록 한다.
도 7에 도시된 바와 같이, 가입자 식별 모듈 기반 IoT 디바이스 인증 시스템(이하, 시스템)은 관제 서버(100), 중계 장치(200), IoT 디바이스(300) 및 식별 모듈(400)을 포함한다. 여기서, 시스템은 도 1에 도시된 구성요소보다 더 적은 수의 구성요소나 더 많은 구성요소를 포함할 수 있다.
상기 도 1 내지 도 6을 참조하여 설명한 실시예는 식별 모듈(400)이 중계 장치(200)에 포함된 경우이고, 도 7을 참조하여 설명할 실시예는 식별 모듈(400)이 IoT 디바이스(300)에 포함된 경우이다.
이 경우의 IoT 디바이스(300)는 도 1 내지 도 6을 참조하여 설명한 중계 장치(200)와 동일한 기능을 수행할 수 있다. 즉, 관제 서버(100)에 의해 생성된 인증용가상코드가 포함된 제1 정보, 제2 정보 또는 제3 정보가 중계 장치(200)를 통해(또는 중계 장치를 거치지 않고 바로) IoT 디바이스(300)로 전달되면, IoT 디바이스(300)가 해당 정보에 포함된 인증용가상코드와 시간값을 식별 모듈(400)로 송신하면서 검증을 요청하면, 식별 모듈(400)은 인증용가상코드에 대한 검증을 수행할 수 있다.
그리고, 식별 모듈(400)이 인증용가상코드가 정상적인 것으로 판단하여 검증을 완료하면, 식별 모듈(400)은 IoT 디바이스(300)로 검증 완료에 대한 응답을 송신할 수 있다.
IoT 디바이스(300)는 식별 모듈(400)로부터 검증 완료에 대한 응답이 수신되면, 명령 정보에 따라 동작을 수행하게 된다. 이에 따라, IoT 디바이스(300)는 검증된 명령에 의해서만 제어될 수 있다.
상세한 설명은 상기 도 1 내지 도 6을 참조하여 설명한 바와 동일하므로 생략하도록 한다.
이하에서는, 상술한 식별 모듈(400)이 하드웨어 장치(중계 장치 또는 IoT 디바이스)에 삽입된 경우, 식별 모듈(400)이 활성화되는 방식에 대해서 설명하도록 한다.
실시예에 따라, 하드웨어 장치는 식별 모듈(400)의 검증 동작을 위한 정보가 관제 서버(100)로부터 수신되면, 하드웨어 장치는 장치 내 OS 펌웨어를 통해 식별 모듈(400)로 직접 명령을 주어 식별 모듈(400)이 수신된 정보를 기초로 검증 동작을 수행하도록 할 수 있다.
실시예에 따라, 하드웨어 장치는 식별 모듈(400)의 검증 동작을 위한 정보가 관제 서버(100)로부터 수신되면, 통신사 서버로 상기 검증 동작을 위한 정보를 포함한 SMS 발송을 요청할 수 있다. 그리고, 요청에 따라 통신사 서버가 식별 모듈(400)로 상기 SMS를 발송하면 식별 모듈(400)은 상기 SMS를 기반으로 구동되어 검증 동작을 수행할 수 있다.
한편, 도 1 내지 도 7에서 설명된 식별 모듈(400)의 동작은 심카드 장치 자체에서 동일하게 수행될 수 있고, 심카드 장치는 통신 모듈 및 검증 모듈을 포함할 수 있다.
통신 모듈은 관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신할 수 있다. 여기서, 통신 모듈은 상술한 통신부(410)와 동일한 동작을 수행할 수 있으며, 상세한 설명은 중복되므로 생략하도록 한다.
검증 모듈은 애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증할 수 있다. 검증 모듈이 인증용가상코드를 이용하여 검증을 수행하는 동작은 도 1 내지 도 7을 참조하여 설명한 식별 모듈의 동작과 동일하므로 상세한 설명은 생략하도록 한다.
상기 검증 모듈은 심카드의 프로세서로서 동작할 수 있으며, 상술한 프로세서(420)와 동일한 동작을 수행할 수 있다. 구체적으로, 프로세서는 심카드의 메모리 내에 저장된 응용 프로그램과 관련된 동작 외에도, 통상적으로 심카드의 전반적인 동작을 제어할 수 있다. 프로세서는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리에 저장된 응용 프로그램을 구동함으로써, 관제 서버(100), 중계 장치(200) 또는 IoT 디바이스(300)에 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
이하에서는 도 8 내지 도 10을 참조하여, 심카드 장치가 중계 장치(200)에 포함되는 제1 실시예, 심카드 장치가 IoT 디바이스(300)에 포함되는 제2 실시예 및 제3 실시예에 대해 설명하도록 한다.
도 8은 본 발명의 심카드 장치가 중계 장치에 포함된 경우의 실시예를 설명하기 위한 도면이다.
도 9는 본 발명의 심카드 장치가 IoT 디바이스에 포함된 경우의 실시예를 설명하기 위한 도면이다.
도 10은 본 발명의 심카드 장치가 IoT 디바이스에 포함된 경우의 다른 실시예를 설명하기 위한 도면이다.
우선, 상술한 바와 같이, 본 발명의 심카드 장치는 통신 모듈 및 검증 모듈을 포함할 수 있다. 통신 모듈은 관제 서버(100)에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신할 수 있다. 검증 모듈은 애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증할 수 있다.
도 8에 도시된 상기 제1 실시예는 Router Model에 관한 것이다. 도 8을 참조하면, 심카드 장치는 관제 서버(100)와 적어도 하나의 IoT 디바이스(300)를 연결하는 중계 장치(200)(즉, 라우터)에 포함될 수 있다.
상기 제1 실시예에서, 심카드 장치의 애플릿 형태의 검증 모듈은, 상기 통신 모듈을 통해 중계 장치(200)로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 중계 장치(200)로 전달할 수 있다. 상기 중계 장치(200)는, 상기 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스(300)에 전달할 지의 여부를 판단할 수 있다.
구체적으로, 관제 서버(100)가 명령 정보(예를 들어, open)에 기반한 인증용가상코드(예를 들어, ABCDE11)를 라우터(중계 장치)로 전송하면, 라우터 MCU(도 2의 프로세서(210))가 LTE 모듈을 통해 인증용가상코드를 수신할 수 있다. 그리고, 라우터 MCU는 인증용가상코드가 포함된 검증 요청 정보를 상기 애플릿 형태의 검증 모듈로 전송할 수 있다. 검증 모듈은 수신된 인증용가상코드에 대한 검증을 수행할 수 있다. 검증 모듈은 인증용가상코드가 정상적인 코드인 것으로 검증이 완료되면, 검증을 통해 확인된 명령 정보(예를 들어, open)를 라우터 MCU로 전송할 수 있다. 라우터 MCU는 LTE 모듈을 통해 명령 정보를 해당 IoT 디바이스로 전송하여, 해당 IoT 디바이스가 명령 정보에 따라 동작하도록 할 수 있다.
이때, 라우터 MCU는 관제 서버(100)로부터 수신된 명령 정보 또는 인증용가상코드가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만, 검증 요청 정보를 검증 모듈로 보낼 수 있다. 여기서, 프로토콜은 MQTT, CoAP, HTTPS를 포함할 수 있으며, 이에 제한되지는 않는다. 상술한 바와 같이, 명령 정보 IoT 디바이스(300)의 ID, 패스워드 및 IoT 디바이스(300)에 대한 명령어 중 적어도 하나를 포함할 수 있다.
상기 검증 모듈은, 상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행할 수 있다. 인증용가상코드의 검증 방법은 상술한 바와 같으므로, 자세한 설명은 생략하도록 한다.
또한, 상기 제1 실시예에서는 상기 라우터(보다 상세하게, 라우터 MCU)의 펌웨어 변경이 필요할 수 있다. 즉, 라우터에 포함된 검증 모듈이 제대로 검증 동작을 수행하기 위해서는 라우터 내의 소프트웨어적인 설정을 이와 맞게 변경해주어야 하기 때문에, 펌웨어 변경이 요구될 수 있다.
도 9에 도시된 상기 제2 실시예는 IoT(Host-Control) Model에 관한 것이다. 도 9를 참조하면, 심카드 장치는 상기 IoT 디바이스(300)의 제어를 위한 연결 장치(500)(즉, 모뎀(Modem))에 포함에 포함될 수 있다. 즉, 제2 실시예는, LTE 모뎀과 IoT 보드가 분리된 보드의 형태로 구성될 수 있다.
상기 제2 실시예에서, 심카드 장치의 애플릿 형태의 검증 모듈은, 상기 통신 모듈을 통해 상기 연결 장치(500)로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 연결 장치(500)로 전달할 수 있다. 상기 연결 장치(500)는, 상기 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스(300)에 전달할 지의 여부를 판단할 수 있다.
구체적으로, 관제 서버(100)가 명령 정보(예를 들어, open)에 기반한 인증용가상코드(예를 들어, ABCDE11)를 모뎀(연결 장치)로 전송하면, 모뎀 MCU가 LTE 모뎀을 통해 인증용가상코드를 수신할 수 있다. 그리고, 모뎀 MCU는 인증용가상코드가 포함된 검증 요청 정보를 상기 애플릿 형태의 검증 모듈로 전송할 수 있다. 검증 모듈은 수신된 인증용가상코드에 대한 검증을 수행할 수 있다. 검증 모듈은 인증용가상코드가 정상적인 코드인 것으로 검증이 완료되면, 검증을 통해 확인된 명령 정보(예를 들어, open)를 모뎀 MCU로 전송할 수 있다. 모뎀 MCU는 LTE 모뎀을 통해 명령 정보를 IoT 디바이스로 전송하여, IoT 디바이스가 명령 정보에 따라 동작하도록 할 수 있다.
이때, 모뎀 MCU는 관제 서버(100)로부터 수신된 명령 정보 또는 인증용가상코드가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만, 검증 요청 정보를 검증 모듈로 보낼 수 있다. 여기서, 프로토콜은 MQTT, CoAP, HTTPS를 포함할 수 있으며, 이에 제한되지는 않는다. 상술한 바와 같이, 명령 정보 IoT 디바이스(300)의 ID, 패스워드 및 IoT 디바이스(300)에 대한 명령어 중 적어도 하나를 포함할 수 있다.
상기 검증 모듈은, 상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행할 수 있다. 인증용가상코드의 검증 방법은 상술한 바와 같으므로, 자세한 설명은 생략하도록 한다.
또한, 상기 제2 실시예에서는 상기 LTE 모뎀의 변경이 필요할 수 있다. 즉, 라우터에 포함된 검증 모듈이 제대로 검증 동작을 수행하기 위해서 LTE 모뎀 자체의 변경이 요구될 수 있다.
도 10에 도시된 상기 제3 실시예는 IoT(Stand-alone) Model에 관한 것이다. 도 10을 참조하면, 심카드 장치는 상기 IoT 디바이스(300)에 포함에 포함될 수 있다. 즉, 제3 실시예는, LTE 모듈과 IoT 보드가 하나의 보드의 형태로 구성될 수 있다.
상기 제3 실시예에서, 심카드 장치의 애플릿 형태의 검증 모듈은, 상기 통신 모듈을 통해 상기 IoT 디바이스(300)로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 IoT 디바이스(300)로 전달할 수 있다. 상기 IoT 디바이스(300)는, 상기 검증된 결과 및 상기 명령 정보에 기초하여 동작할 수 있다.
구체적으로, 관제 서버(100)가 명령 정보(예를 들어, open)에 기반한 인증용가상코드(예를 들어, ABCDE11)를 IoT 디바이스로 전송하면, IoT 보드가 LTE 모듈을 통해 인증용가상코드를 수신할 수 있다. 그리고, IoT 보드는 인증용가상코드가 포함된 검증 요청 정보를 상기 애플릿 형태의 검증 모듈로 전송할 수 있다. 검증 모듈은 수신된 인증용가상코드에 대한 검증을 수행할 수 있다. 검증 모듈은 인증용가상코드가 정상적인 코드인 것으로 검증이 완료되면, 검증을 통해 확인된 명령 정보(예를 들어, open)를 IoT 보드로 전송할 수 있다. IoT 보드는 검증이 완료되었으므로 상기 명령 정보에 기초하여 동작할 수 있다.
이때, IoT 보드는 관제 서버(100)로부터 수신된 명령 정보 또는 인증용가상코드가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만, 검증 요청 정보를 검증 모듈로 보낼 수 있다. 여기서, 프로토콜은 MQTT, CoAP, HTTPS를 포함할 수 있으며, 이에 제한되지는 않는다. 상술한 바와 같이, 명령 정보 IoT 디바이스(300)의 ID, 패스워드 및 IoT 디바이스(300)에 대한 명령어 중 적어도 하나를 포함할 수 있다.
상기 검증 모듈은, 상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행할 수 있다. 인증용가상코드의 검증 방법은 상술한 바와 같으므로, 자세한 설명은 생략하도록 한다.
또한, 상기 제3 실시예에서는 상기 IoT 디바이스(보다 상세하게, IoT 보드)의 펌웨어 변경이 필요할 수 있다. 즉, IoT 디바이스(300)에 포함된 검증 모듈이 제대로 검증 동작을 수행하기 위해서 IoT 디바이스 내의 소프트웨어적인 설정을 이와 맞게 변경해주어야 하기 때문에, 펌웨어 변경이 요구될 수 있다.
이상에서 전술한 본 발명의 일 실시예에 따른 방법은, 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램으로 구현되어 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(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 (14)
- 심카드 장치에 있어서,관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈; 및애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈;을 포함하고,상기 심카드 장치는, 상기 관제 서버와 상기 IoT 디바이스를 연결하는 중계 장치에 포함되는, 심카드 장치.
- 제1 항에 있어서,상기 검증 모듈은, 상기 통신 모듈을 통해 상기 중계 장치로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 중계 장치로 전달하고,상기 중계 장치는, 상기 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스에 전달할 지의 여부를 판단하는, 심카드 장치.
- 제2 항에 있어서,상기 검증 요청 정보는,상기 명령 정보가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만 상기 중계 장치로부터 수신되는 것인, 심카드 장치.
- 제1 항에 있어서,상기 검증 모듈은,상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행하는, 심카드 장치.
- 제1 항에 있어서,상기 검증 모듈의 검증 동작을 위해 상기 중계 장치의 펌웨어 변경이 요구되는, 심카드 장치.
- 심카드 장치에 있어서,관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈; 및애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈;을 포함하고,상기 심카드 장치는, 상기 IoT 디바이스의 제어를 위한 연결 장치에 포함되는, 심카드 장치.
- 제6 항에 있어서,상기 검증 모듈은, 상기 통신 모듈을 통해 상기 연결 장치로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 연결 장치로 전달하고,상기 연결 장치는, 상기 검증된 결과에 기초하여 상기 명령 정보를 상기 IoT 디바이스에 전달할 지의 여부를 판단하는, 심카드 장치.
- 제7 항에 있어서,상기 검증 요청 정보는,상기 명령 정보가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만 상기 연결 장치로부터 수신되는 것인, 심카드 장치.
- 제6 항에 있어서,상기 검증 모듈은,상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행하는, 심카드 장치.
- 심카드 장치에 있어서,관제 서버에 의해 적어도 하나의 IoT 디바이스의 명령 정보를 기반으로 생성된 인증용가상코드를 수신하는 통신 모듈; 및애플릿(applet) 형태로 형성되어, 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하는 검증 모듈;을 포함하고,상기 심카드 장치는, 상기 IoT 디바이스에 포함되는, 심카드 장치.
- 제10 항에 있어서,상기 검증 모듈은, 상기 통신 모듈을 통해 상기 IoT 디바이스로부터 상기 인증용가상코드가 포함된 검증 요청 정보가 수신되면, 상기 검증 알고리즘을 기반으로 상기 인증용가상코드를 검증하고, 상기 통신 모듈을 통해 상기 검증된 결과를 상기 IoT 디바이스로 전달하고,상기 IoT 디바이스는, 상기 검증된 결과 및 상기 명령 정보에 기초하여 동작하는, 심카드 장치.
- 제11 항에 있어서,상기 검증 요청 정보는,상기 명령 정보가 기 설정된 프로토콜의 특정 영역에 포함된 경우에만 상기 IoT 디바이스로부터 수신되는 것인, 심카드 장치.
- 제10 항에 있어서,상기 검증 모듈은,상기 인증용가상코드에 포함된 복수의 세부코드를 추출하고, 상기 복수의 세부코드 간 상관관계에 기초하여 상기 인증용가상코드의 검증을 수행하는, 심카드 장치.
- 제10 항에 있어서,상기 검증 모듈의 검증 동작을 위해 상기 IoT 디바이스의 펌웨어 변경이 요구되는, 심카드 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22763635.4A EP4303799A4 (en) | 2021-03-04 | 2022-03-04 | SIM CARD DEVICE FOR VERIFYING A VIRTUAL AUTHENTICATION CODE GENERATED FOR THE SECURITY OF AN IOT DEVICE |
US18/459,348 US20230413048A1 (en) | 2021-03-04 | 2023-08-31 | Sim card apparatus for verifying authentication virtual code generated for security of iot device |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0029035 | 2021-03-04 | ||
KR20210029035 | 2021-03-04 | ||
KR20210134399 | 2021-10-08 | ||
KR10-2021-0134399 | 2021-10-08 | ||
KR1020220027772A KR20220125185A (ko) | 2021-03-04 | 2022-03-04 | IoT 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치 |
KR10-2022-0027772 | 2022-03-04 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/459,348 Continuation US20230413048A1 (en) | 2021-03-04 | 2023-08-31 | Sim card apparatus for verifying authentication virtual code generated for security of iot device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022186654A1 true WO2022186654A1 (ko) | 2022-09-09 |
Family
ID=83154272
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2022/003089 WO2022186654A1 (ko) | 2021-03-04 | 2022-03-04 | Iot 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230413048A1 (ko) |
WO (1) | WO2022186654A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160150021A1 (en) * | 2014-11-21 | 2016-05-26 | Kiban Labs, Inc. | Internet of things clock hub device and method |
KR20170097143A (ko) * | 2014-12-18 | 2017-08-25 | 어페로, 인크. | 사물 인터넷 플랫폼, 장치, 및 방법 |
KR20190013867A (ko) * | 2016-05-27 | 2019-02-11 | 어페로, 인크. | 사물 인터넷(IoT) 디바이스와 보안 통신 채널을 설정하기 위한 시스템 및 방법 |
KR20200018200A (ko) * | 2018-08-09 | 2020-02-19 | 주식회사 센스톤 | 구체 기반의 가상코드 검증 방법 및 시스템 |
KR102148365B1 (ko) * | 2017-09-29 | 2020-08-27 | 노키아 테크놀로지스 오와이 | 시스템 간 이동성에서의 보안 |
-
2022
- 2022-03-04 WO PCT/KR2022/003089 patent/WO2022186654A1/ko active Application Filing
-
2023
- 2023-08-31 US US18/459,348 patent/US20230413048A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160150021A1 (en) * | 2014-11-21 | 2016-05-26 | Kiban Labs, Inc. | Internet of things clock hub device and method |
KR20170097143A (ko) * | 2014-12-18 | 2017-08-25 | 어페로, 인크. | 사물 인터넷 플랫폼, 장치, 및 방법 |
KR20190013867A (ko) * | 2016-05-27 | 2019-02-11 | 어페로, 인크. | 사물 인터넷(IoT) 디바이스와 보안 통신 채널을 설정하기 위한 시스템 및 방법 |
KR102148365B1 (ko) * | 2017-09-29 | 2020-08-27 | 노키아 테크놀로지스 오와이 | 시스템 간 이동성에서의 보안 |
KR20200018200A (ko) * | 2018-08-09 | 2020-02-19 | 주식회사 센스톤 | 구체 기반의 가상코드 검증 방법 및 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US20230413048A1 (en) | 2023-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017003243A1 (ko) | 랜덤하면서 유일한 코드를 생성하는 전자 장치 및 그 제어 방법 | |
WO2017052136A1 (ko) | 이동 통신 시스템에서 프로파일 다운로드 방법 및 장치 | |
WO2015157942A1 (zh) | 接入无线网络的装置及方法 | |
WO2016153303A1 (ko) | 무선 통신 시스템에서 단말의 프로파일 설치 방법 및 장치 | |
WO2011014037A2 (en) | System for managing unregistered terminals with shared authentication information and method thereof | |
WO2015016627A1 (ko) | 동일한 네트워크 상의 복수개의 ap 장치 중 하나의 ap 장치와 단말기를 연결하는 방법 및 장치 | |
WO2013065915A1 (ko) | 보안 영역과 비보안 영역 사이의 보안 연동 방법 및 보안 어플리케이션 다운로드 관리방법, 관리서버, 단말기, 및 이를 적용한 관리시스템 | |
WO2016047983A1 (ko) | 통신 단말들간 무선 통신을 위한 방법 및 장치 | |
CN107113171A (zh) | 安全通信***、方法及装置 | |
WO2021261728A1 (ko) | 다기능을 가지는 보안 연결을 제공하는 보안 통신 장치 및 그 동작 방법 | |
WO2021071116A1 (ko) | 브라우저의 웹스토리지를 이용한 간편인증 방법 및 시스템 | |
WO2016080595A1 (ko) | 멀티 넘버 서비스 제공 방법 | |
WO2023146308A1 (ko) | 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법 | |
WO2021235893A1 (ko) | 전자 디바이스 및 전자 디바이스가 레인징 기반 서비스를 제공하는 방법 | |
WO2022245109A1 (en) | Method and device for performing uwb secure ranging | |
WO2020138686A1 (ko) | 가전기기, 단말 장치 및 이의 무선 연결 방법 | |
WO2016126023A1 (en) | Broadcast apparatus and method of authenticating broadcast data | |
WO2019139421A1 (en) | User terminal device, electronic device, system comprising the same and control method thereof | |
WO2019182342A1 (ko) | 무선랜 서비스를 사용하는 기기의 인증 방법 및 장치 | |
WO2022186654A1 (ko) | Iot 디바이스의 보안을 위해 생성된 인증용가상코드의 검증을 위한 심카드 장치 | |
WO2020149500A1 (ko) | 공유된 키를 등록하기 위한 방법 및 장치 | |
WO2015026083A1 (ko) | 휴대폰 본인인증 도용방지와 스미싱 방지를 위한 문자메시지 보안시스템 및 방법 | |
WO2017071448A1 (zh) | 一种移动网络注册方法及相关设备、*** | |
WO2019194412A1 (en) | Network apparatus and control method thereof | |
WO2022035161A1 (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: 22763635 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2022763635 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2022763635 Country of ref document: EP Effective date: 20231002 |