WO2020050424A1 - 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법 - Google Patents

블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법 Download PDF

Info

Publication number
WO2020050424A1
WO2020050424A1 PCT/KR2018/010193 KR2018010193W WO2020050424A1 WO 2020050424 A1 WO2020050424 A1 WO 2020050424A1 KR 2018010193 W KR2018010193 W KR 2018010193W WO 2020050424 A1 WO2020050424 A1 WO 2020050424A1
Authority
WO
WIPO (PCT)
Prior art keywords
hash
information
iot device
user terminal
blockchain
Prior art date
Application number
PCT/KR2018/010193
Other languages
English (en)
French (fr)
Inventor
유용환
최봉결
Original Assignee
주식회사 아이씨엔캐스트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이씨엔캐스트 filed Critical 주식회사 아이씨엔캐스트
Priority to KR1020197030767A priority Critical patent/KR102265788B1/ko
Priority to CN201880097152.4A priority patent/CN112673600B/zh
Priority to US16/972,539 priority patent/US11750395B2/en
Priority to PCT/KR2018/010193 priority patent/WO2020050424A1/ko
Publication of WO2020050424A1 publication Critical patent/WO2020050424A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y30/00IoT infrastructure
    • G16Y30/10Security thereof
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • G16Y40/35Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/50Safety; Security of things, users, data or systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/082Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying multi-factor authentication

Definitions

  • the present invention relates to an IoT security system and a security method, and more specifically, when attempting remote control of an IoT device through a user terminal, it is possible to authenticate the legitimacy of the user terminal based on a blockchain and hack related to IoT remote control It relates to a multiple security authentication system and method between a mobile terminal and an IoT device based on a blockchain that can prevent.
  • authentication technologies for controlling IoT devices using existing mobile terminals primarily use authentication information such as ID and password, and secondly use security cards or bio information (fingerprints, irises, etc.), When such authentication-related information is hacked, the authentication information is leaked to the outside and used unauthorizedly, or there is a problem that the security check program logic through counterfeiting / modulation of the program may be neutralized.
  • the authentication server for approval of IoT remote control, or when the mobile terminal is hacked the security authentication key, the physical code of the mobile terminal, etc. are seized, and unauthorized use becomes possible, and security procedures are provided through counterfeiting / modulation of the program. Can be neutralized.
  • communication packets may be exposed to sniffing, spoofing, packet manipulation, and the like.
  • the authentication process is different between IoT device manufacturers, and there is a problem in that security restrictions occur in controlling IoT devices in a mobile terminal.
  • the object of the present invention is to prevent unauthorized use of the authentication-related information even if it is hacked, and does not require a separate authentication device such as an authentication card or USB, and the integrity and security of the security authentication process between the user terminal and the IoT device. It is to provide a multiple security authentication system and method between a mobile terminal and an IoT device based on a blockchain that can be strengthened.
  • Another object of the present invention is to provide a multi-security authentication system and method between a blockchain-based mobile terminal and an IoT device capable of fundamentally preventing hacking of personal information for unauthorized unauthorized control of IoT.
  • a multiple security authentication system and method between a blockchain-based mobile terminal and an IoT device according to the present invention for achieving the above object is an IoT device; A user terminal that remotely controls the operation of the IoT device; And an authentication server that approves control of the IoT device of the user terminal.
  • the authentication server of the present invention includes a first function for recording information related to a registered hash value on a blockchain; A second function for receiving an authentication hash value generated by the user terminal when requesting control approval of the IoT device and determining the validity of the authentication hash value using the registered hash value related information recorded in the blockchain; And a third function for approving control of the IoT device of the user terminal when the authentication hash value is valid as a result of the determination.
  • the registered hash value-related information of the present invention is information related to a first hash, information related to a second hash, or information related to a hash (hereinafter, a mixed hash) in which a first hash and a second hash are mixed.
  • the first hash is composed of at least two pieces of identification information among a plurality of pieces of identification information (hereinafter, first identification information) unique to the IoT device.
  • the second hash consists of at least two pieces of identification information among a plurality of pieces of identification information (hereinafter, second identification information) unique to the user terminal.
  • the authentication server of the present invention includes first identification information; And a fourth function for receiving the second identification information and storing it in the management DB.
  • the registered hash value-related information is information about a combination method of first identification information of the first hash (hereinafter, first combination information), or a combination method of second identification information of the second hash (hereinafter, a second combination) Information), or information about a combination method of the first and second identification information of the mixed hash (hereinafter, mixed combination information).
  • the second function of the authentication server includes a 2-1 function for viewing first combination information, second combination information, or mixed combination information recorded on the blockchain when requesting approval for control of the IoT device; A 2-2 function for generating a registered hash value by combining the first identification information and the second identification information stored in the management DB according to a combination method corresponding to the read combination information of the 2-1 function; And a second-3 function for determining legitimacy by comparing the registered hash value generated according to the second-2 function with the authentication hash value.
  • the third function of the authentication server includes a function of approving control of the IoT device of the user terminal when the authentication hash value matches the registration hash value as a result of the comparison.
  • the first information for validity authentication of the user terminal is recorded and stored in the blockchain, and the second information is stored and managed in the authentication server .
  • the IoT device of the user terminal it is configured to verify whether the user terminal is valid by using the first information and the second information together. Accordingly, in order for an unauthorized user to unauthorizedly control the IoT device, both such first information (i.e., blockchain) and second information (i.e., authentication server) must be hacked. Became impossible.
  • FIG. 1 is a block diagram of a multiple security authentication system between a blockchain-based mobile terminal and an IoT device according to the present invention.
  • Figure 2 is a process flow diagram showing the registration process of the registration step according to the present invention.
  • FIG. 3 is a business flow diagram illustrating an IoT device control request and approval process according to a first embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating an IoT device control request and approval process according to a second embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating an IoT device control request and approval process according to a third embodiment of the present invention.
  • Figure 6 is a process flow diagram showing a personal information hacking prevention process of the authentication server according to the present invention.
  • FIG. 7 is a code showing an algorithm for dividing a Byte unit record into two in the process of preventing personal information hacking according to the present invention.
  • one component when one component is referred to as “connected” or “connected” with another component, the one component may be directly connected to the other component, or may be directly connected, but in particular, It should be understood that, as long as there is no objection to the contrary, it may or may be connected via another component in the middle.
  • first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from other components.
  • FIG. 1 is a block diagram of a multiple security authentication system between a blockchain-based mobile terminal and an IoT device according to the present invention.
  • a multiple security authentication system between a blockchain-based mobile terminal and an IoT device largely includes an IoT device 20, a user terminal 10, an authentication server 30, and a blockchain 40.
  • the IoT device 20 of the present invention is an Internet of Things (IoT) electrical and electronic device whose operation is controlled by IoT communication with the user terminal 10 through a wired or wireless Internet network such as a voice communication network, a data communication network, and a Wi-Fi network.
  • IoT Internet of Things
  • the 'IoT communication' refers to a form evolved from Ubiquitous Sensor Network (USN) and Machine to Machine (M2M).
  • USN Ubiquitous Sensor Network
  • M2M Machine to Machine
  • IoT broadens the scope of things, such as security devices, smart home appliances, air-conditioning devices, CCTV, lighting equipment, smart factories, smart farms, temperature control devices It means a technology that enables things such as objects to communicate with people.
  • the IoT device 20 may include devices such as refrigerators, smart TVs, heating devices, etc. in various home devices equipped with a communication function, and controls various home devices connected to home automation.
  • a home automation control device or the like may also correspond to this.
  • the IoT device 20 is capable of communicating with the user terminal 10 through a wired or wireless Internet network, and receives a remote control command transmitted from the user terminal 10 authenticated by the authentication server 30 to respond to the corresponding command. Corresponding operations can be performed.
  • the user terminal 10 of the present invention refers to a terminal that remotely controls the IoT device 20 by communicating with the IoT device 20 through a wired or wireless Internet network.
  • the user terminal 10 may be a mobile terminal such as a smart phone, a tablet PC, a wearable device, a PDA, and further, a deck top, a laptop computer, and the like.
  • the user terminal 10 may remotely control the IoT device 20 by receiving authorization to control the IoT device 20 through an authentication procedure by the authentication server 30.
  • an application program (hereinafter referred to as an “IoT app”) that is driven in connection with the authentication server 30 or the IoT device 20 may be installed in the user terminal 10.
  • the user terminal 10 drives the IoT app mounted thereon and enters the user ID / password to log in. It is interlocked with the authentication server 30 or the IoT device 20, whereby it is possible to proceed with the process for registration / change / addition of the user terminal 10 and control approval of the IoT device 20.
  • the user ID (ID) and password can be created when installing the IoT app or when registering.
  • user authentication is usually used to verify the identity of each other between the trading partners (identity validation), and the identity of the other party between the trading parties (person, process, client, server, equipment, etc.) during one session. It establishes validity for (identity claim), and identifies and authenticates each user (personal identity).
  • the user authenticates through the user terminal 10 through the authentication server 30 or a third-party authentication API in the authentication server 30 to access and perform the initial connection.
  • the user authentication method includes a user's mobile phone number, social security number, various identification numbers, and biometric information.
  • the authentication server 30 of the present invention registers an IoT device 20 that is a remote control target of a used mobile terminal, and when there is a remote control request for the IoT device 20 from the user terminal 10, this user terminal It authenticates the legitimacy of (10), and authorizes the remote control of the IoT device by the corresponding user terminal 10 when validating the legitimacy.
  • the term 'registration' referred to in the present invention includes generation, recording, and storage of authentication means (that is, a registered hash value) required for remote control approval of the IoT device 20 of the user terminal 10. Furthermore, the 'registration' of the present invention is to input and store information related to the user terminal 10 and information related to the IoT device 20 to be controlled by the user terminal 10 in the authentication server 30. It may further include.
  • the functions of the authentication server 30 include functions for approving the control request of the IoT device 20 of the user terminal 10 and preventing hacking of personal information.
  • the authentication server 30 includes a function of recording information related to the registered hash value in the blockchain 40.
  • the 'registration hash value related information' is information about a first hash, information about a second hash, or information about a hash (hereinafter, a first mixed hash) in which the first hash and the second hash are mixed. to be.
  • the 'registration hash value related information' is information regarding a first hash, a second hash, or a third hash, or a hash in which at least two of the first hash, the second hash, and the third hash are mixed. (Hereinafter, the second mixed hash).
  • the 'registration hash value related information' is information on a combination method of first identification information to be described later (hereinafter, first combination information) of the first hash, or a combination of second identification information to be described later of the second hash.
  • Information about the method hereinafter, the second combination information
  • information about the combination method of the third identification information hereinafter referred to as the third combination information
  • 2,3 Contains information on the combination method of identification information (hereinafter, mixed combination information).
  • the first hash consists of at least two pieces of identification information among a plurality of pieces of identification information (hereinafter, first identification information) unique to the IoT device 20.
  • the first identification information may include physical code related information of the IoT device 20, operating system (OS) related information, and app related information, and may further include communication packet information and manufacturer information.
  • OS operating system
  • the first hash may consist of a combination of at least two pieces of information related to physical code of the corresponding IoT device 20, operating system (OS) related information, app related information, communication packet information, and manufacturer information.
  • OS operating system
  • the physical code related information of the first identification information includes the serial number, CPU information, and model number of the corresponding IoT device 20.
  • the operating system (OS) related information of the first identification information includes version information and an OS type of an operating system (OS) mounted on the IoT device 20.
  • App-related information of the first identification information includes version information and checksum information of an application mounted on the IoT device 20.
  • the app mounted on the IoT device 20 may be the aforementioned IoT app.
  • Communication packet information of the first identification information includes access path information of the IoT device 20, and manufacturer information may include information related to the manufacturer of the IoT device 20.
  • the information related to the registration hash value of the first embodiment is provided to the user terminal 10 where the user terminal 10 accesses the authentication server 30 to register, or the authentication server 30 generates and attempts to register. You may.
  • the second hash consists of at least two pieces of identification information among a plurality of pieces of identification information (hereinafter, second identification information) unique to the user terminal 10.
  • the second identification information may include physical code related information of the user terminal 10, operating system (OS) related information, and app related information, and may further include communication packet information and manufacturer information.
  • OS operating system
  • the second hash may consist of a combination of at least two pieces of information related to physical code of the corresponding user terminal 10, operating system (OS) related information, app related information, communication packet information, and manufacturer information.
  • OS operating system
  • the physical code related information of the second identification information includes a mobile communication number, a serial number, a model number, USIM information, MAC address information, a smartphone unique number (IMEI), and the like of the corresponding user terminal 10.
  • the OS-related information of the second identification information includes version information and OS type of the OS installed in the corresponding user terminal 10.
  • App-related information of the second identification information includes version information and checksum information of an application mounted on the corresponding user terminal 10.
  • the app mounted on the corresponding user terminal 10 may be the aforementioned IoT app.
  • Communication packet information of the second identification information includes access path information of the user terminal 10, and manufacturer information may include information related to the manufacturer of the user terminal 10.
  • the third hash may consist of at least two third pieces of identification information among a plurality of pieces of identification information (hereinafter referred to as 'third identification information') unique to the user of the user terminal 10.
  • the third identification information may include a phone number, name, date of birth, access time, access IP and GPS information.
  • the third identification information may further include identification information composed of a wired / wireless network device or other server formed between the user terminal 10 and the IoT device 20.
  • the registered hash value related information may be information regarding a hash in which a random number value is further mixed in a first hash, a second hash, a third hash, or a mixed hash.
  • the random number value may be generated by the authentication server 30 or the IoT device 20 and provided to the user terminal 10.
  • the authentication server 30 may be configured to record the hash value itself as the registered hash value related information in the blockchain 40 when the user terminal 10 attempts to register.
  • the first embodiment is not the hash value itself, but the block chain 40 uses the 'combination method' of the first identification information and / or the second identification information to generate a specific hash value (that is, the registered hash value).
  • the second embodiment differs in that the second embodiment records the actual value corresponding to the registered hash value in the blockchain 40.
  • the 'combination method' of the first embodiment will be described as follows. For example, suppose the registered hash value is a value composed of OS information 'A' of the first identification information, app version information 'B', and physical code 'C' and OS information 'D' of the second identification information.
  • the 'registered hash value' which is the object recorded in the block chain 40 of the second embodiment, is the actual value corresponding to each item of identification information constituting this registered hash value, that is, 'A, B, C, D' Corresponds to the value created by the combination.
  • the 'registration hash value related information' which is the object recorded in the block chain 40 of the first embodiment, refers to item information of identification information required when generating the registered hash value. That is, the 'registration hash value related information' refers to an item of identification information which is a higher concept of this value, not an actual value of each identification information constituting the registration hash value. Accordingly, in the case of the above example, the first item of the identification information, the OS information item, the second item, the app version information item, the second item, the first item of the physical code item, and the second item of the OS information item Corresponds to the 'registration hash value related information'.
  • the registered hash value is a value generated using the first hash or the second hash, or a value generated by combining the first hash and the second hash.
  • the registered hash value is a value generated using the first hash, the second hash, or the third hash, or a value generated by combining at least two of the first hash, the second hash, and the third hash. You can.
  • the type of hash for generating the registered hash value and the number of combinations thereof may increase in proportion to the security strength.
  • the registered hash value may be a value generated by further combining random values.
  • the random number value is provided to the user terminal 10 by the authentication server 30 when the user terminal 10 wants to generate a registration hash value for an attempt to register or request for approval of the IoT device 20 control. It can be configured to.
  • the IoT device 20 may generate it and provide it to the user terminal 10.
  • the registered hash value when the user terminal 10 generates and registers the registered hash value, the registered hash value is transmitted to the authentication server 30, and the authentication server 30 receives it and transmits it to the blockchain 40. Keep records.
  • the registered hash value may be configured such that the user terminal 10 that generated it directly transmits it to the authentication server 30.
  • the registered hash value may be provided to the authentication server 30 via the IoT device 20. That is, when the user terminal 10 transmits the registered hash value to the IoT device, the IoT device 20 may be configured to receive it and deliver it to the authentication server 30.
  • the blockchain 40 of the present invention is a decentralized electronic ledger or database platform, and digital records or transactions on a thread are called blocks, through which a set of public or controlled users can participate in the electronic ledger, , Create an immutable record for each timestamp applied and transaction associated with the previous one.
  • the authentication server 30 corresponds to a participant in one of a set of users, that is, a community connected by the blockchain 40.
  • Blockchain 40 has a structure that processes transactions through a distributed network-based timestamp server.
  • Blockchain 40 is composed of a distributed data structure, and numerous blocks with timestamp records are connected. Each block can be identified through a hash value, and has a structure that refers to the previous block.
  • the block chain 40 is largely composed of a block header including a digital signature of the previous block header, a hash value, a time stamp of the current block, and a hash value, and a transaction. Therefore, the first hash value recorded in the first block is stored as a 'previous block hash value' in the second block connected to the first block in a chain.
  • the registered hash value-related information or registered hash value of the present invention is recorded in the block header of the block chain 40, and for the index value, the user code (for example, a serial number) is added to the hash value to block the block chain 40.
  • the user code for example, a serial number
  • the user code may be placed before the corresponding hash value.
  • the date and time at which the first generated and registered hash value (that is, the first registered hash value) is recorded in the blockchain 40 corresponds to a timestamp of the first block of the corresponding blockchain 40.
  • the authentication server 30 receives the authentication hash value generated by the user terminal 10 when receiving approval for control of the IoT device 20, and registers the recorded in the blockchain 40 And a function for determining the validity of the authentication hash value using the hash value related information (hereinafter referred to as a 'justice discrimination function').
  • the authentication server further includes a function of authorizing the remote control of the IoT device 20 of the corresponding user terminal 10 when the authentication hash value is valid as a result of the determination.
  • the authentication server 30 further includes a function of receiving at least two pieces of identification information among the above-described first identification information, second identification information, and third identification information and storing them in a management DB.
  • the legitimacy determination function of the authentication server 30 will be described in detail as follows.
  • the authentication server 30 When the authentication server 30 receives a request for control approval of the IoT device 20, it retrieves information regarding the combination method recorded in the blockchain 40.
  • the combination method information recorded in the block chain 40 is information on the 'identification information combination method' determined in the registration process by the user terminal 10, the first combination information, the second combination information, the third It may be either combination information or mixed combination information.
  • the authentication server 30 identifies the first stored in the management DB in relation to the user terminal 10 and the IoT device 20 according to the combination method corresponding to the combination method information viewed in the block chain 40.
  • the registered hash value is generated by combining the information, the second identification information, and / or the third identification information.
  • the authentication server 30 compares the registered hash value with the authentication hash value transmitted by the user terminal 10 and determines the validity of the authentication hash value (that is, the validity of the user terminal 10). do.
  • the authentication server 30 approves the remote control of the IoT device 20 of the corresponding user terminal 10.
  • the authentication hash value of the present invention is an authentication means for determining the legitimacy of the user terminal 10 requesting authorization to control the IoT device 20. If the user terminal 10 is a legitimate user terminal, the user terminal 10 generates a hash value (that is, an authentication hash value) identical to the registered hash value registered in the authentication server 30 to the authentication server 30. Will be sent.
  • a hash value that is, an authentication hash value
  • the user terminal 10 is an invalid user terminal, it is impossible to generate a hash value (that is, an authentication hash value) equal to the registered hash value, and eventually, the control approval of the IoT device 20 cannot be obtained. .
  • the authentication hash value consists of a value generated using the same identification information as the registered hash value. That is, the authentication hash value may be a value generated by using the first hash, the second hash, or the second hash, or a value generated by combining at least two of the first hash, the second hash, and the third hash.
  • the first hash of the authentication hash value is composed of a combination of at least two first identification information among a plurality of first identification information unique to the IoT device 20, and the second hash is the user terminal 10 ) Is composed of a combination of at least two second identification information among a plurality of second identification information, and the third hash is at least two thirds of the plurality of third identification information unique to the user of the user terminal 10. It consists of a combination of identification information.
  • the detailed configuration of the first, second, and third identification information is the same as described in the registration hash value.
  • the authentication hash value may be configured such that the user terminal 10 that generated it directly transmits it to the authentication server 30.
  • the authentication hash value may be provided to the authentication server 30 via the IoT device 20. That is, when the user terminal 10 transmits the authentication hash value to the IoT device, the IoT device 20 may be configured to receive it and deliver it to the authentication server 30.
  • the authentication server 30 receives the authentication hash value generated by the user terminal 10 when requesting control approval of the IoT device 20, and the registration hash recorded in the blockchain 40 Compared with the value, and when the comparison result, the authentication hash value matches the registered hash value recorded in the blockchain 40, it may be configured to approve control of the IoT device 20 of the corresponding user terminal 10.
  • the authentication server 30 transmits a control permission message to the corresponding user terminal 10 And transmits a control request to the corresponding IoT device 20.
  • an encrypted communication channel is established between the IoT device 20 and the user terminal 10 to enable mutual communication.
  • the authentication server 30 If, as a result of comparing the authentication hash value with the registered hash value, if the authentication hash value does not match the registration hash value, the authentication server 30 transmits a control disapproval message to the corresponding user terminal 10 and terminates communication.
  • the authentication server 30 of the present invention may be configured to further perform the following functions for security when transmitting and receiving information to and from the user terminal 10 and IoT app security (ie, preventing hacking and forgery).
  • the authentication server 30 issues a new session key when the user terminal 10 logs in to the IoT app, or periodically issues a new session key to the IoT device 20, which is a remote control target of the user terminal 10. Thereafter, when attempting to control the IoT device 20 of the user terminal 10, it may be configured to perform communication for transmitting and receiving information between the user terminal 10 and the authentication server 30 using the most recently issued session key.
  • the information transmitted and received between the user terminal 10 and the authentication server 30 may be, for example, first, second, and third identification information, registered hash value, authentication hash value information, and the like.
  • the authentication server 30 receives the integrity verification key of the IoT app from the user terminal 10 and uses the integrity verification key. It can be configured to check whether the program of the IoT app has been tampered with.
  • the authentication server 30 provides a random number value to the corresponding user terminal 10 when the IoT app is not tampered with as a result of the inspection.
  • the integrity verification key may be a key value generated using version information of the IoT app or checksum information of the source code.
  • the above-described multi-security authentication system between the blockchain-based mobile terminal and the IoT device of the present invention has been described with an example of one user terminal 10, but multiple user terminals are registered and the multiple user terminals are the same IoT device.
  • the controller 20 may be configured to request control approval and perform control.
  • the second user terminal if the first user terminal registers and stores related information in the blockchain 40 for control of the first IoT device, the second user terminal, the third user terminal, .., the Nth user terminal are also the same method as described above. According to this, after registering the relevant user terminal-related information in the blockchain 40, control request and control approval of the first IoT device may be performed through the authentication process of the authentication server 30.
  • the authentication server 30 may be configured to separately register the user terminal 10 into a master and a family according to control authority for the IoT device 20 of the user terminal 10. have.
  • the authentication server 30 is configured to request approval of the user terminal classified as the master when attempting to register the user terminal classified as the family, or to authorize the registration of the user terminal classified as the family on the condition of this approval. You can.
  • the authentication server 30 may be registered as a master and a family according to the control authority for the first IoT device, and in this case, a user terminal classified as a family (for example, , 2,3, .. N user terminals) must be approved by a user terminal (eg, a first user terminal) classified as a master, so that registration and control request / approval for the first IoT device are possible Can be.
  • a user terminal classified as a family for example, 2,3, .. N user terminals
  • the registered user terminal 10 may request the authentication server 30 to change the user terminal.
  • the authenticated authentication server 30 compares the registered hash value recorded in the blockchain 40. As a result of the comparison, when the authentication hash value matches the registration hash value, it may be configured to approve the task of changing the registered user terminal 10 to another user terminal.
  • the change of the registered user terminal may include changing the user terminal corresponding to the aforementioned master.
  • the authentication server 30 of the present invention receives the user terminal 10 and the IoT device-related information to be controlled by the user terminal 10, and stores them in a DB for self-management.
  • Such information is the registration hash value described above.
  • IoT remote control hacking that is, incorrect approval for an unjust user terminal
  • a method to prevent this must be established.
  • the authentication server 30 stores a plurality of identification information (that is, first identification information) unique to the IoT device 20 and a plurality of identification information (that is, second identification information) unique to the user terminal 10. Includes the ability to manage. Meanwhile, a plurality of identification information (ie, third identification information) unique to the user may be stored and managed.
  • the authentication server 30 is configured to receive the first identification information and the second identification information from the user terminal 10 or the IoT device to construct a personal information record (S20).
  • the authentication server 30 may receive third identification information and compose a personal information record.
  • the term 'personal information record' referred to in the present invention means a record of the above-described identification information (that is, first, second, and third identification information) or may be a record including the same.
  • the personal information record refers to a collection of data stored in relation to the data field (Data Field).
  • the 'data field' is an item for storing each data, and a collection of data composed of these fields is called a data table, and a plurality of data tables are gathered to form one database (DB).
  • DB database
  • the authentication server 30 encrypts the personal information record.
  • the authentication server 30 may be configured to encrypt a personal information record according to an AES algorithm (Advanced Encryption Standard Algorithm) (S21).
  • the AES algorithm is a cryptographic algorithm designed to protect vulnerabilities of the DES (Data Encryption Standard), which was used as a national standard, and is a symmetric cryptographic algorithm used as a US standard. Unlike the DES encryption algorithm, the AES algorithm does not have a Feistel cipher, and the cipher block size is 128 bits. In addition, it is possible to expand to block sizes of 192bit and 256bit as well as 128bit without changing the algorithm.
  • DES Data Encryption Standard
  • the authentication server 30 is configured to divide the personal information record into a plurality of groups (S22). For example, the authentication server 30 can classify the personal information record into two or three division methods, and at this time, it can be divided according to a byte or bit unit shift algorithm.
  • the authentication server 30 divides the personal information record corresponding to the odd term among the personal information records into the first group, and the personal information record corresponding to the even term among the personal information records into the second group. It can be configured to.
  • FIG. 7 is an algorithm for dividing a Byte unit record into two, and shows a code for separating personal information records corresponding to odd items and records corresponding to even items among personal information records.
  • the authentication server 30 stores the personal information record belonging to the first group on the first server, and the personal information record belonging to the second group is the second server separated from the first server.
  • the personal information records belonging to the N-th group are stored in the N-th server separated from the first, second, and third servers (S23). Accordingly, personal information records belonging to different groups are distributedly stored in different servers. Therefore, even if some servers are hacked, decryption is impossible and personal information cannot be grasped, so that the security of the IoT device 20 can be greatly improved.
  • the authentication server 30 may be configured to record and backup the above-described personal information records to a Write Once Read Many (WORM) disk in preparation for inoperation and restoration of the authentication server due to hacking or the like (S24).
  • WORM Write Once Read Many
  • the personal information record belonging to the first group is recorded on a first WORM disc
  • the personal information record belonging to the second group is recorded on a second WORM disc distinct from the first WORM disc.
  • the personal information record belonging to the N group may be configured to be recorded on the Nth WORM disc which is different from the first and second WORM discs.
  • the WORM disk is a large-capacity standard network storage based on a hard disk, and once stored data cannot be deleted and forged even with administrator authority.
  • a WORM (Write Once Read Many) disc can write data only once, but the data recorded thereon can be read countless times.
  • the multiple security authentication method between the blockchain-based mobile terminal and the IoT device of the present invention largely includes a registration hash value generation and registration step, and an IoT device control request / approval step.
  • the registration step is a procedure for recording and storing information related to legitimacy authentication of the user terminal 10 in the blockchain 40.
  • FIG. 2 is a block flow chart showing the registration process of the registration step according to the present invention.
  • the user terminal 10 drives the IoT app or accesses the authentication server 30 to generate a registered hash value (S10).
  • the authentication server 30 may generate a registration hash value.
  • the registration process of the registration hash value is completed by the authentication server 30 recording the registration hash value related information in the blockchain 40.
  • the 'registration hash value related information' is information about a first hash, a second hash, or a third hash, or information about a hash in which at least two of the first hash, the second hash, and the third hash are mixed.
  • the 'registration hash value related information' is information on a combination method of first identification information to be described later (hereinafter, first combination information) of the first hash, or a combination of second identification information to be described later of the second hash.
  • Information about the method hereinafter, the second combination information
  • information about the combination method of the third identification information hereinafter referred to as the third combination information
  • 2,3 Contains information on the combination method of identification information (hereinafter, mixed combination information).
  • the step of recording the registered hash value related information in the block chain (40) is a step of adding a user code functioning as an index value to the registered hash value (S11), and the registered hash value related information to which the user code is added is blocked. It may further include the step (S12) of writing to the header of the chain (40).
  • steps S10 to S12 When steps S10 to S12 are completed, information related to the registered hash value of the corresponding user terminal 10 is stored in the blockchain 40 and used in the process of validating the validity of the user terminal 10.
  • the user terminal 10 may generate a registered hash value using the aforementioned first hash, second hash, or third hash, or a combination thereof to generate a registered hash value, and further Furthermore, it is also possible to generate a registered hash value by further combining random values. If the random number value is further combined when generating the registered hash value, the random number value may be provided from the authentication server 30 or the IoT device 20.
  • the user terminal 10 may generate a registered hash value by driving the mounted IoT app, and transmit the generated registered hash value to the authentication server 30 or the IoT device 20.
  • the registered hash value may be transmitted directly to the authentication server 30 by the user terminal 10 or may be provided to the authentication server 30 via the IoT device 20. That is, when the user terminal 10 transmits the registered hash value to the IoT device, the IoT device 20 may be configured to receive it and deliver it to the authentication server 30.
  • the authentication server 30 records the registration hash value received from the user terminal 10 or the IoT device 20 in the blockchain 40, thereby completing the registration hash value registration process.
  • the step of recording the registered hash value in the blockchain includes adding a user code functioning as an index value to the registered hash value, and recording the registered hash value to which the user code is added to the header of the blockchain 40. It may further include.
  • the registered hash value of the corresponding user terminal 10 is stored in the blockchain 40, and is used in the legitimate authentication process of the user terminal 10.
  • the user terminal 10 requests the authentication server 30 to approve the control of the specific IoT device 20, and the authentication server 30 responds to the request to the corresponding user terminal 10 It is a step of approving the remote control for the IoT device 20 after verifying the legitimacy of the.
  • the IoT device control request and approval step may be implemented in various embodiments.
  • FIG. 3 is a flowchart illustrating an IoT device control request and approval process according to a first embodiment of the present invention.
  • the user terminal 10 drives the IoT app to log in to the IoT device 20. At this time, if the login is not normally performed on the IoT device 20, the number of failures is counted, and the authentication process is started again from the beginning.
  • the IoT device 20 approves the login of the user terminal 10. Then, when the login is approved, the user terminal 10 information from the user terminal 10 to the IoT device 20 and the integrity verification key of the IoT app installed on the user terminal 10 (eg, version information, checksum, etc.) ) Is transmitted (S100).
  • the IoT device 20 transmits the user terminal information, the integrity verification key, and the IoT device information received from the user terminal 10 to the authentication server 30 (S101).
  • the authentication server 30 checks the integrity verification key received from the IoT device 20, and checks whether there is an abnormality in the IoT app of the corresponding user terminal 10 (S102).
  • checking whether there is an abnormality in the IoT app may mean, for example, checking whether the corresponding IoT app is forged / modified by hacking or the like.
  • the integrity verification key inspection may be performed in a manner that compares with the IoT app integrity verification key of the user terminal 10 previously registered in the management terminal DB of the authentication server 30.
  • the authentication server 30 transmits an authentication failure message to the IoT device. Then, the IoT device 20 transmits the received authentication failure message to the user terminal 10.
  • the authentication server 30 notifies that there is no abnormality in the IoT app of the corresponding user terminal 10 (S103). Then, the IoT device 20 generates a random number value through the random number generator and transmits it to the user terminal 10 (S104).
  • the user terminal 10 When a random number value is received from the IoT device 20, the user terminal 10 generates an authentication hash value using the random number value, and then transmits it to the IoT device 20 (S105).
  • the authentication hash value is an authentication means for verifying the legitimacy of the user terminal 10, or is a value generated using a first hash, a second hash or a third hash as described above, or the first hash, It is a value generated by combining at least two of the second hash and the third hash.
  • the authentication hash value may be a value generated by further combining random values.
  • the IoT device 20 transmits the authentication hash value, the user terminal information, and the IoT device information received from the user terminal 10 to the authentication server 30 (S106).
  • the authentication server 30 When the authentication hash value is received from the IoT device 20, the authentication server 30 stores identification information registered in the management DB, a random number value generated in the IoT device 20, and a registered hash recorded in the blockchain 40. A registration hash value is generated using the value-related information (S108).
  • the authentication server 30 is related to the registered hash value recorded in the block chain 40 when the control approval of the IoT device 20 is requested (that is, when an authentication hash value is received from the IoT device 20).
  • Information, that is, information related to the combination method is retrieved (S107).
  • the combination method information recorded in the block chain 40 is the same as described in FIG. 1.
  • the authentication server 30 identifies the first stored in the management DB in relation to the user terminal 10 and the IoT device 20 according to the combination method corresponding to the combination method information viewed in the block chain 40.
  • the registered hash value is generated by combining the information, the second identification information, and / or the third identification information. If a random number value is further used, the registered hash value is generated by further combining random values.
  • the authentication server 30 compares the authentication hash value generated by the user terminal 10 with the registered hash value, and determines the legitimacy of the authentication hash value (that is, the legitimacy of the user terminal) (S109).
  • the authentication server 30 transmits an authentication failure message to the IoT device 20, and the authentication failure message is sent back to the user by the IoT device 20. It is sent to the terminal 10 and it is notified that authentication has failed.
  • the authentication server 30 authenticates the user terminal 10 logged in to the IoT device 20 as a legitimate user terminal 10, and sends an authentication success message. It transmits to the IoT, and registers the authentication result and the terminal information and the IoT device information of the authenticated user terminal 10 (S110).
  • the authentication server 30 transmits an authentication success message to the IoT device 20
  • the IoT device 20 notifies that the authentication was successful by transmitting it to the user terminal 10 (S111).
  • an encrypted communication channel is established between the IoT device 20 and the user terminal 10, so that the user terminal 10 can remotely control the IoT device 20 (S112).
  • FIG. 4 is a flowchart illustrating an IoT device control request and approval process according to a second embodiment of the present invention.
  • the IoT device is driven in the user terminal 10 to log in to the authentication server 30.
  • the login to the authentication server 30 is not normally performed, counting the number of failures, go to the initial authentication application step, and proceed with the authentication process from the beginning.
  • the authentication server 30 approves the login of the user terminal 10. And, when the login is approved, the user terminal 10 information from the user terminal 10 to the authentication server 30 and the integrity verification key of the IoT app installed on the user terminal 10 (eg, version information, checksum, etc.) ) Is transmitted (S200).
  • the authentication server 30 checks the integrity verification key received from the user terminal 10 and checks whether there is an abnormality in the IoT app of the user terminal 10 (S201).
  • checking whether there is an abnormality in the IoT app may mean, for example, checking whether the corresponding IoT app is forged / modified by hacking or the like.
  • the integrity verification key inspection may be performed in a manner that compares with the IoT app integrity verification key of the user terminal 10 previously registered in the management terminal DB of the authentication server 30.
  • the authentication server 30 transmits an authentication failure message to the user terminal 10.
  • the authentication server 30 if there is no abnormality in the corresponding IoT app, the authentication server 30 notifies the corresponding user terminal 10 that there is no abnormality (S202). Then, the authentication server 30 generates a random number value through the random number generator and transmits it to the user terminal 10 (S203).
  • the user terminal 10 When a random number value is received from the authentication server 30, the user terminal 10 generates an authentication hash value using the random number value, and then transmits the authentication hash value and the terminal information of the corresponding user terminal 10 to the IoT device 20 ) (S204).
  • the IoT device 20 transmits the authentication hash value, the user terminal information, and the IoT device information received from the user terminal 10 to the authentication server 30 (S205).
  • the authentication server 30 When the authentication hash value is received from the IoT device 20, the authentication server 30 stores identification information registered in the management DB, a random number value generated in the IoT device 20, and a registered hash recorded in the blockchain 40. A registration hash value is generated using the value-related information (S207).
  • the authentication server 30 is related to the registered hash value recorded in the block chain 40 when the control approval of the IoT device 20 is requested (that is, when an authentication hash value is received from the IoT device 20).
  • Information, that is, information related to the combination method is retrieved (S206).
  • the combination method information recorded in the block chain 40 is the same as described in FIG. 1.
  • the authentication server 30 identifies the first stored in the management DB in relation to the user terminal 10 and the IoT device 20 according to the combination method corresponding to the combination method information viewed in the block chain 40.
  • the registered hash value is generated by combining the information, the second identification information, and / or the third identification information. If a random number value is further used, the registered hash value is generated by further combining random values.
  • the authentication server 30 compares the authentication hash value generated by the user terminal 10 with the registered hash value, and determines the legitimacy of the authentication hash value (that is, the legitimacy of the user terminal) (S208).
  • the authentication server 30 notifies that the authentication has failed by sending an authentication failure message to the user terminal 10.
  • the authentication server 30 authenticates the corresponding user terminal 10 to a legitimate user terminal, and transmits an authentication success message to the user terminal 10 for authentication.
  • the authentication result and the terminal information and the IoT device information of the authenticated user terminal 10 are registered (S209).
  • an encrypted communication channel is established between the IoT device 20 and the user terminal 10, so that the user terminal 10 can remotely control the IoT device 20 (S210).
  • FIG. 5 is a flowchart illustrating an IoT device control request and approval process according to a third embodiment of the present invention.
  • the IoT device is driven by the user terminal 10 to log in to the application verification server 50.
  • the login to the application verification server 50 is not normally performed, the number of failures is counted, and the authentication process is performed again from the beginning.
  • the application verification server 50 When the application verification server 50 normally logs in, the application verification server 50 approves the login of the user terminal 10. Then, when the login is approved, the user terminal 10 transmits the user terminal information and the integrity verification key (eg, version information, checksum, etc.) of the IoT app installed on the user terminal to the application verification server 50 ( S300).
  • the integrity verification key eg, version information, checksum, etc.
  • the application verification server 50 checks the integrity verification key received from the user terminal 10, and checks whether there is an abnormality in the IoT app of the user terminal 10 (S301).
  • the application verification server 50 transmits an authentication failure message to the user terminal 10.
  • the application verification server 50 if there is no abnormality in the corresponding IoT app, the application verification server 50 notifies the user terminal 10 that there is no abnormality (S302). Then, the application verification server 50 generates a random number value, and then generates an authentication hash value using the random number value (S304).
  • the user terminal 10 transmits the terminal information of the user terminal 10 to the IoT device 20 (S303). Then, the IoT device 20 transmits the user terminal information and the IoT device information received from the user terminal 10 to the authentication server 30 (S305).
  • the application verification server 50 transmits the terminal information of the user terminal 10 and the authentication hash value to the authentication server 30 (S306). Then, the authentication server 30 uses the identification information stored in the management DB, the random number value generated in the application verification server 50, and the registered hash value recorded in the block chain 40 to register the registered hash value. It is created (S308).
  • the authentication server 30 receives a request for control approval of the IoT device 20 (that is, when receiving an authentication hash value from the application verification server 50), the registration hash value recorded in the blockchain 40
  • the related information that is, information about the combination method is retrieved (S307).
  • the combination method information recorded in the block chain 40 is the same as described in FIG. 1.
  • the authentication server 30 receives the first identification information, the second identification information and / or the third identification information stored in the management DB according to the combination method corresponding to the combination method information viewed in the blockchain 40. Combined to generate the registered hash value. If a random number value is further used, the registered hash value is generated by further combining random values.
  • the authentication server 30 identifies the first stored in the management DB in relation to the user terminal 10 and the IoT device 20 according to the combination method corresponding to the combination method information viewed in the block chain 40.
  • the registered hash value is generated by combining the information, the second identification information, and / or the third identification information. If a random number value is further used, the registered hash value is generated by further combining random values.
  • the authentication server 30 compares the authentication hash value with the registered hash value, and determines the legitimacy (ie, legitimacy of the corresponding user terminal) of the authentication hash value (S309).
  • the authentication server 30 notifies that the authentication has failed by sending an authentication failure message to the user terminal 10.
  • the authentication server 30 authenticates the corresponding user terminal 10 to a legitimate user terminal, and transmits an authentication success message to the user terminal 10 for authentication.
  • the authentication result and terminal information of the authenticated user terminal 10 and IoT device information are registered (S310).

Abstract

본 발명은 사용자 단말을 통한 IoT 기기의 원격 제어 시도시, 블록체인을 기반으로 사용자 단말의 정당성을 인증할 수 있고, IoT 원격 제어와 관련된 해킹을 방지할 수 있는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법에 관한 것이다. 본 발명에 따른 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법은 IoT기기; IoT기기의 동작을 원격 제어하는 사용자 단말; 및 사용자 단말의 IoT기기 제어를 승인하는 인증서버를 기반으로 한다. 본 발명의 인증서버는 등록 해시값 관련 정보를 블록체인에 기록하는 제1 기능; IoT기기의 제어 승인을 요청받을 시, 사용자 단말이 생성한 인증 해시값을 수신하고, 블록체인에 기록된 상기 등록 해시값 관련 정보를 이용하여 인증 해시값의 정당성을 판별하는 제2 기능; 및 상기 판별 결과, 인증 해시값이 정당성이 있을 경우, 사용자 단말의 상기 IoT기기 제어를 승인하는 제3 기능;을 포함한다. 본 발명의 등록 해시값 관련 정보는 제1 해시에 관한 정보이거나, 제2 해시에 관한 정보이거나, 또는 제1 해시와 제2 해시가 혼합된 해시(이하, 혼합 해시)에 관한 정보이다.

Description

[규칙 제26조에 의한 보정 19.09.2018] 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
본 발명은 IoT 보안 시스템 및 보안 방법에 관한 것으로서, 보다 상세하게는 사용자 단말을 통한 IoT 기기의 원격 제어 시도시, 블록체인을 기반으로 사용자 단말의 정당성을 인증할 수 있고, IoT 원격 제어와 관련된 해킹을 방지할 수 있는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법에 관한 것이다.
일반적으로, 기존의 모바일 단말을 이용한 IoT기기 제어를 위한 인증기술들은 1차적으로 인증 정보인 아이디, 패스워드 등을 이용하고, 2차적으로 보안카드 또는 바이오정보(지문, 홍채 등)를 이용하고 있으나, 이러한 인증 관련 정보가 해킹되는 경우에는 해당 인증정보가 외부로 유출되어 무단 사용되거나, 프로그램의 위조/변조를 통한 보안점검 프로그램 로직이 무력화될 수 있다는 문제점이 있었다.
이와 같이 인증 관련 정보가 해킹을 당할 경우에는 제3 자의 IoT의 무단 제어로 인해 개인 사생활 또는 기업 기밀 등이 유출되어 재산과 인명의 피해가 발생할 수 있다.
예를 들어, IoT 원격제어의 승인을 위한 인증서버, 또는 모바일 단말이 해킹될 경우 보안 인증키, 모바일 단말의 물리코드 등이 탈취되어 무단 사용이 가능하게 되고, 프로그램의 위조/변조를 통하여 보안절차가 무력화될 수 있다. 또한, 모바일 단말과 IoT기기 간의 인증 및 제어과정에서 통신패킷이 스니핑, 스푸핑, 패킷조작 등에 노출될 수 있다.
한편, 위와 같은 인증정보의 해킹을 방지하기 위해 종래에는 모바일 단말 인증시 인증카드 또는 USB등 별도의 인증기기를 사용하는 경우가 있으나, 인증카드 또는 USB등 별도의 인증기기를 사용하는 경우에는 분실 및 망실의 가능성과 구매 비용이 소요되고, 별도로 소지해야 하는 불편함이 있었다.
또한, IoT기기 제작사 간에 인증 프로세스가 서로 상이하여 모바일 단말에서 IoT기기들을 제어하는데 보안상의 제약이 발생하는 문제점이 있었다.
[선행기술문헌]
한국공개특허 제10-2015-0035971호(2015.04.07. 공개)
한국공개특허 제10-2014-0045829호(2014.04.17. 공개)
본 발명의 목적은 인증 관련 정보가 해킹되는 경우에도 이의 무단 사용을 차단할 수 있고, 인증카드 또는 USB와 같은 별도의 인증기기가 필요치 않으며, 사용자 단말과 IoT 기기 간의 보안 인증과정의 무결성 및 보안성을 강화할 수 있는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법을 제공하는 것이다.
본 발명의 또 다른 목적은 IoT 무단 제어 등을 위한 개인정보해킹을 원천적으로 방지할 수 있는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법을 제공하는 것이다.
상기 목적을 달성하기 위한 본 발명에 따른 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법은 IoT기기; IoT기기의 동작을 원격 제어하는 사용자 단말; 및 사용자 단말의 IoT기기 제어를 승인하는 인증서버를 기반으로 한다.
본 발명의 인증서버는 등록 해시값 관련 정보를 블록체인에 기록하는 제1 기능; IoT기기의 제어 승인을 요청받을 시, 사용자 단말이 생성한 인증 해시값을 수신하고, 블록체인에 기록된 상기 등록 해시값 관련 정보를 이용하여 인증 해시값의 정당성을 판별하는 제2 기능; 및 상기 판별 결과, 인증 해시값이 정당성이 있을 경우, 사용자 단말의 상기 IoT기기 제어를 승인하는 제3 기능;을 포함한다.
본 발명의 등록 해시값 관련 정보는 제1 해시에 관한 정보이거나, 제2 해시에 관한 정보이거나, 또는 제1 해시와 제2 해시가 혼합된 해시(이하, 혼합 해시)에 관한 정보이다.
상기 제1 해시는 IoT기기에 고유한 다수의 식별정보(이하, 제1 식별정보) 중 적어도 2개의 식별정보로 이루어진다.
상기 제2 해시는 사용자 단말에 고유한 다수의 식별정보(이하, 제2 식별 정보) 중 적어도 2개의 식별정보로 이루어진다.
본 발명의 인증서버는 제1 식별정보; 및 제2 식별정보를 입력받아 관리용 DB에 저장하는 제4 기능을 더 포함할 수 있다.
상기 경우, 등록 해시값 관련 정보는 제1 해시의 제1 식별정보의 조합 방식에 관한 정보(이하, 제1 조합정보)이거나, 제2 해시의 제2 식별정보의 조합 방식(이하, 제2 조합정보)에 관한 정보이거나, 또는 혼합 해시의 제1,2 식별정보의 조합 방식(이하, 혼합 조합정보)에 관한 정보로 이루어진다.
인증서버의 제2 기능은 IoT기기의 제어 승인을 요청받을 시, 블록체인에 기록된 제1 조합정보, 제2 조합정보 또는 혼합 조합정보를 열람하는 제2-1 기능; 상기 제2-1 기능의 열람한 조합정보에 해당하는 조합방식에 따라, 관리용 DB에 저장된 상기 제1 식별정보와 상기 제2 식별정보를 조합하여 등록 해시값을 생성하는 제2-2 기능; 및 상기 제2-2 기능에 따라 생성된 등록 해시값을 인증 해시값과 비교하여 정당성을 판별하는 제2-3 기능을 포함한다.
그리고, 인증서버의 제3 기능은 상기 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 사용자 단말의 상기 IoT기기 제어를 승인하는 기능을 포함한다.
본 발명에 따른 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법에 의하면, 사용자 단말의 정당성 인증을 위한 제1 정보는 블록체인에 기록 보관되고, 제2 정보는 인증서버 저장 관리된다. 그리고, 사용자 단말의 IoT기기 제어 요청시, 이러한 제1 정보와 제2 정보를 함께 이용하여 사용자 단말의 정당성 여부를 검증하도록 구성된다. 이에 따라, 비정당한 사용자가 IoT기기를 무단으로 제어하기 위해서는, 이와 같은 제1 정보(즉, 블록체인)와 제2 정보 (즉, 인증서버)모두를 해킹해야만 하는 바, 사실상 IoT 기기의 무단 제어는 불가능하게 되었다.
또한, 본 발명에 따른 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법에 의하면, 인증카드 또는 USB와 같은 별도의 인증기기가 필요치 않은 바, 인증기기의 분실위험 및 사용상 불편함이 제거할 수 있게 되었다.
따라서, IoT 원격 제어와 관련된 해킹을 원천적으로 방지할 수 있어, IoT기기의 보안성을 대폭 향상시킬 수 있으면서, 사용자 편의성을 증대시킬 수 있는 효과가 있다.
도 1은 본 발명에 따른 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템의 구성도.
도 2는 본 발명에 따른 등록 단계의 등록 과정을 나타낸 처리 순서도.
도 3은 본 발명의 제1 실시예에 따른 IoT 기기 제어요청 및 승인 과정을 나타낸 업무 흐름도.
도 4는 본 발명의 제2 실시예에 따른 IoT 기기 제어요청 및 승인 과정을 나타낸 업무 흐름도.
도 5는 본 발명의 제3 실시예에 따른 IoT 기기 제어요청 및 승인 과정을 나타낸 업무 흐름도.
도 6은 본 발명에 따른 인증서버의 개인정보 해킹방지 프로세스를 나타낸 처리 순서도.
도 7은 본 발명에 따른 개인정보 해킹방지 프로세스에 있어서, Byte 단위 레코드 2분할을 위한 알고리즘을 나타낸 코드.
[부호의 설명]
10: 사용자 단말
20: IoT기기
30: 인증서버
40: 블록체인
본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서, "제1, 제2" 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예, 장점 및 특징에 대하여 상세히 설명하도록 한다.
도 1은 본 발명에 따른 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템의 구성도이다.
도 1을 참조하면, 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템은 크게 IoT기기(20), 사용자 단말(10), 인증서버(30) 및 블록체인(40)을 포함한다.
본 발명의 IoT기기(20)는 음성통신망, 데이터통신망 및 와이파이망 등의 유무선 인터넷망을 통해 사용자 단말(10)과 IoT 통신함으로써 동작이 제어되는 사물인터넷 (Internet of Things; IoT) 전기전자기기를 지칭한다.
여기서, 상기 'IoT 통신'이란 USN(Ubiquitous Sensor Network), M2M(Machine to Machine)에서 진화된 형태를 지칭한다. 즉, M2M이 통신장비(End-Device)와 사람과의 통신이 주목적이었다면, IoT는 사물의 범위를 넓혀 보안장치, 스마트가전, 냉난방장치, CCTV, 조명기기, 스마트 팩토리, 스마트 팜, 온도조절장치 등의 사물이 사람과 통신이 가능하도록 하는 기술을 의미한다.
IoT기기(20)는 통신기능이 탑재된 댁내 각종 전자기기 예를 들어 냉장고, 스마트 TV, 난방장치 등과 같은 기기가 이에 해당할 수 있으며, 홈 오토메이션(home automation)으로 연결되는 각종 댁내 기기를 제어하는 홈 오토메이션 제어장치 등이 이에 해당할 수도 있다.
또한, IoT기기(20)는 유무선 인터넷망을 통해 사용자 단말(10)과 통신이 가능하며, 인증서버(30)에 의해 인증된 사용자 단말(10)로부터 전송되는 원격 제어 명령을 수신하여 해당 명령에 대응되는 동작을 수행할 수 있다.
본 발명의 사용자 단말(10)은 유무선 인터넷망을 통해 IoT기기(20)와 통신함으로써 해당 IoT기기(20)를 원격 제어하는 단말기를 지칭한다. 예컨대, 사용자 단말(10)은 스마트폰, 태블릿PC, 웨어러블 디바이스, PDA와 같은 모바일 단말기일 수 있고, 더 나아가 데크탑, 노트북 컴퓨터 등도 이에 해당할 수 있다.
사용자 단말(10)은 인증서버(30)에 의한 인증절차를 통해 IoT기기(20)에 대한 제어 권한을 승인받아 IoT기기(20)를 원격 제어할 수 있다.
한편, 사용자 단말(10)에는 인증서버(30) 또는 IoT기기(20)와 연계되어 구동하는 어플리케이션 프로그램(이하, 'IoT 앱'이라 칭함)이 설치될 수 있다. 상기 경우, 사용자 단말(10)의 등록/변경/추가시 또는 IoT기기(20) 제어승인 요청시, 사용자 단말(10)은 이에 탑재된 IoT 앱을 구동한 후 사용자 아이디/패스워드를 입력하여 로그인함으로써 인증서버(30) 또는 IoT기기(20)와 연동되고, 이로써 사용자 단말(10)의 등록/변경/추가 및 IoT기기(20) 제어승인을 위한 과정을 진행할 수 있게 된다. 여기서, 사용자 아이디(ID)와 패스워드(password)는 IoT 앱 설치시 또는 회원가입시 생성할 수 있다.
또한 화원가입시 통상 사용자 인증(User Authentication)은 거래 당사자 간에 상대의 신분을 검증하는 것(Identity Validation)으로, 하나의 세션 동안에 거래 당사자(사람, 프로세스, 클라이언트, 서버, 장비 등) 간에 상대의 신원주장(identity claim)에 대해 유효성을 성립시키는 것이며, 사용자(개인신분)별로 식별하며 인증한다.
본 발명에서는 사용자가 사용자 단말(10)을 통해서 인증서버(30) 혹은 인증서버(30) 내의 제3자 인증 API를 통해서 인증하여 최초 접속하여 실시하게 된다. 사용자 인증을 위한 방식으로 사용자의 휴대전화 번호, 주민등록번호, 각종 신분증 번호, 생체정보 등이 있다.
본 발명의 인증서버(30)는 사용 모바일 단말의 원격 제어 대상이 되는 IoT기기(20)를 등록하고, 사용자 단말(10)로부터 IoT기기(20)에 대한 원격 제어 요청이 있는 경우, 이 사용자 단말(10)의 정당성을 인증하며, 정당성 인증 시 해당 사용자 단말(10)에 의한 IoT 기기 원격 제어를 승인한다.
참고로, 본 발명에서 지칭하는 '등록'이란 사용자 단말(10)의 IoT기기(20) 원격제어 승인시 필요한 인증수단(즉, 등록 해시값)의 생성, 기록 및 저장을 포함한다. 더 나아가, 본 발명의 '등록'은 사용자 단말(10) 관련 정보와, 이 사용자 단말(10)의 제어 대상이 되는 IoT기기(20) 관련 정보 등을 인증서버(30)에 입력 및 저장하는 것을 더 포함할 수 있다.
이하에서는, 인증서버(30)의 구체적인 기능들에 대하여 설명하도록 한다. 여기서, 인증서버(30)의 기능들이란 사용자 단말(10)의 IoT기기(20) 제어요청을 승인하고, 개인정보 해킹을 방지하기 위한 기능들을 포함한다.
제1 실시예에 따르면, 인증서버(30)는 등록 해시값 관련 정보를 블록체인(40)에 기록하는 기능을 포함한다.
상기 '등록 해시값 관련 정보'는 제1 해시에 관한 정보이거나, 제2 해시에 관한 정보이거나, 또는 상기 제1 해시와 상기 제2 해시가 혼합된 해시(이하, 제1 혼합 해시)에 관한 정보이다.
확장 실시예로서, 상기 '등록 해시값 관련 정보'는 제1 해시, 제2 해시 또는 제3 해시에 관한 정보이거나, 또는 제1 해시, 제2 해시, 및 제3 해시 중 적어도 2개가 혼합된 해시(이하, 제2 혼합해시)에 관한 정보일 수 있다.
구체적으로, 상기 '등록 해시값 관련 정보'는 제1 해시의 후술할 제1 식별정보의 조합 방식에 관한 정보(이하, 제1 조합정보)이거나, 제2 해시의 후술할 제2 식별정보의 조합 방식(이하, 제2 조합정보)에 관한 정보이거나, 제3 해시의 후술할 제3 식별정보의 조합 방식(이하, 제3 조합정보)에 관한 정보이거나, 또는 제1,2 혼합 해시의 제1,2,3 식별정보의 조합 방식(이하, 혼합 조합정보)에 관한 정보를 포함한다.
제1 해시는 IoT기기(20)에 고유한 다수의 식별정보(이하, 제1 식별정보) 중 적어도 2개의 식별정보로 이루어진다.
제1 식별정보는 IoT기기(20)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 및 앱(App) 관련 정보를 포함하고, 통신패킷 정보 및 제조사 정보를 더 포함할 수 있다.
따라서, 제1 해시는 해당 IoT기기(20)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 앱(App) 관련 정보, 통신패킷 정보 및 제조사 정보 중 적어도 2개의 정보의 조합으로 이루어질 수 있다.
구체적으로, 제1 식별정보의 물리코드 관련 정보는 해당 IoT기기(20)의 시리얼 넘버(Serial Number), CPU 정보 및 모델번호 등을 포함한다.
제1 식별정보의 운영체제(OS) 관련 정보는 해당 IoT기기(20)에 탑재된 운영체제(OS)의 버전(Version) 정보 및 OS 종류 등을 포함한다.
제1 식별정보의 앱(App) 관련 정보는 해당 IoT기기(20)에 탑재된 어플리케이션의 버전(version) 정보 및 체크썸(checksum) 정보 등을 포함한다. 여기서, 해당 IoT기기(20)에 탑재된 앱이란 전술한 IoT 앱일 수 있다.
제1 식별정보의 통신패킷 정보는 IoT기기(20)의 접속 경로 정보를 포함하고, 제조사 정보는 해당 IoT기기(20)의 제조사와 관련된 정보를 포함할 수 있다.
참고로, 제1 실시예의 등록 해시값 관련 정보는 사용자 단말(10)이 인증서버(30)에 접속하여 등록하거나, 또는 인증서버(30)가 생성하여 등록을 시도하는 사용자 단말(10)에게 제공할 수도 있다.
제2 해시는 사용자 단말(10)에 고유한 다수의 식별정보(이하, 제2 식별정보) 중 적어도 2개의 식별정보로 이루어진다.
제2 식별정보는 사용자 단말(10)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 및 앱(App) 관련 정보를 포함하고, 통신패킷 정보 및 제조사 정보를 더 포함할 수 있다.
따라서, 제2 해시는 해당 사용자 단말(10)의 물리코드 관련 정보, 운영체제(OS) 관련 정보, 앱(App) 관련 정보, 통신패킷 정보 및 제조사 정보 중 적어도 2개 정보의 조합으로 이루어질 수 있다.
구체적으로, 제2 식별정보의 물리코드 관련 정보는 해당 사용자 단말(10)의 이동통신번호, 시리얼 넘버, 모델번호, USIM 정보, MAC 주소 정보, 스마트폰 고유번호(IMEI) 등을 포함한다.
제2 식별정보의 운영체제(OS) 관련 정보는 해당 사용자 단말(10)에 탑재된 운영체제(OS)의 버전(Version) 정보 및 OS 종류 등을 포함한다.
제2 식별정보의 앱(App) 관련 정보는 해당 사용자 단말(10)에 탑재된 어플리케이션의 버전(version) 정보 및 체크썸(checksum) 정보 등을 포함한다. 여기서, 해당 사용자 단말(10)에 탑재된 앱이란 전술한 IoT 앱일 수 있다.
제2 식별정보의 통신패킷 정보는 사용자 단말(10)의 접속 경로 정보를 포함하고, 제조사 정보는 해당 사용자 단말(10)의 제조사와 관련된 정보를 포함할 수 있다.
제3 해시는 사용자 단말(10)의 사용자에 고유한 다수의 식별정보(이하, '제3 식별정보'라 칭함) 중 적어도 2개의 제3 식별정보으로 이루어질 수 있다.
제3 식별정보는 전화번호, 이름, 생년월일, 접속시간, 접속IP 및 GPS 정보를 포함할 수 있다.
더 나아가, 제3 식별정보는 사용자 단말(10)과 IoT기기(20) 간에 형성된 유무선 네트워크 장비나 기타 서버 등으로 이루어진 식별정보를 더 포함할 수 있다.
확장 실시예에 따르면, 등록 해시값 관련 정보는 제1 해시, 제2 해시, 제3 해시 또는 혼합 해시에 난수값이 더 혼합된 해시에 관한 정보일 수 있다. 상기 경우, 난수값은 인증서버(30) 또는 IoT기기(20)가 생성하여 상기 사용자 단말(10)에게 제공할 수 있다.
제2 실시예에 따르면, 인증서버(30)는 사용자 단말(10)이 등록을 시도할 시, 등록 해시값 관련 정보로서 해시값 자체를 블록체인(40)에 기록하도록 구성될 수 있다.
즉, 제1 실시예는 해시값 자체가 아니라, 특정 해시값(즉, 등록 해시값)을 생성하기 위한 제1 식별정보 및(또는) 제2 식별정보의 '조합방식'을 블록체인(40)에 기록하도록 구성되는 반면, 제2 실시예는 등록 해시값에 해당하는 실질적인 값을 블록체인(40)에 기록하는 점이 차이점이다.
제1 실시예의 상기 '조합방식'에 대하여 설명하면 다음과 같다. 예컨대, 등록 해시값이 제1 식별정보의 OS 정보 'A'와 앱 버전 정보 'B', 그리고 제2 식별정보의 물리코드 'C'와 OS 정보'D'로 이루어진 값이라고 가정하자.
상기 경우, 제2 실시예의 블록체인(40)에 기록되는 대상인 '등록 해시값'은 이 등록 해시값을 구성하는 각 식별정보 항목에 대응하는 실질적인 값 즉, 'A,B,C,D'의 조합으로 생성된 값에 해당한다.
반면, 제1 실시예의 블록체인(40)에 기록되는 대상인 '등록 해시값 관련 정보'는 이 등록 해시값을 생성시 필요한 식별정보들의 항목 정보를 의미한다. 즉, '등록 해시값 관련 정보'는 등록 해시값을 구성하는 각 식별정보의 실질적인 값이 아니라, 이 값의 상위개념인 식별정보 항목을 지칭한다. 따라서, 상기 예시의 경우, 제1 식별정보의 제1 항목인 OS 정보 항목, 제2 항목인 앱 버전 정보 항목, 제2 식별정보의 제1 항목인 물리코드 항목 및 제2 항목인 OS 정보 항목이 '등록 해시값 관련 정보'에 해당하게 된다.
따라서, 제2 실시예에 따르면, 등록 해시값은 제1 해시 또는 제2 해시를 이용하여 생성한 값이거나, 또는 상기 제1 해시와 상기 제2 해시를 조합하여 생성한 값으로 이루어진다.
확장 실시예로서, 등록 해시값은 제1 해시, 제2 해시 또는 제3 해시를 이용하여 생성한 값이거나, 또는 제1 해시, 제2 해시 및 제3 해시 중 적어도 2개를 조합하여 생성한 값일 수 있다.
즉, 등록 해시값을 생성하기 위한 해시의 종류 및 그 조합수는 보안 강도에 비례하여 증가할 수 있다.
또 다른 확장 실시예로서, 등록 해시값은 난수값을 더 조합하여 생성한 값일 수 있다. 상기 경우, 난수값은 사용자 단말(10)이 등록 시도 또는 IoT기기(20) 제어승인 요청을 위해 등록 해시값을 생성하고자 할 경우, 인증서버(30)가 이를 생성하여 사용자 단말(10)에게 제공하도록 구성될 수 있다. 또 다른 실시예로서, 난수값은 사용자 단말(10)이 등록 해시값을 생성하고자 할 경우, IoT기기(20)가 이를 생성하여 사용자 단말(10)에게 제공하도록 구성될 수 있다.
제2 실시예에서, 사용자 단말(10)이 등록 해시값을 생성 등록할 경우, 이 등록 해시값은 인증서버(30)에 전송되고, 인증서버(30)는 이를 수신하여 블록체인(40)에 기록 보관한다. 한편, 등록 해시값은 이를 생성한 사용자 단말(10)이 인증서버(30)에게 직접 전송하도록 구성될 수 있다. 또는, 등록 해시값은 IoT기기(20)를 경유하여 인증서버(30)에 제공될 수 있다. 즉, 사용자 단말(10)이 IoT 기기에게 등록 해시값을 전송하면, IoT기기(20)는 이를 수신하여 인증서버(30)에게 전달하도록 구성될 수 있다.
본 발명의 블록체인(40)은 분산형(Decentralized) 전자 원장 내지 데이터베이스 플랫폼으로서, 스레드(thread) 상의 디지털 기록 또는 트랜잭션을 블록이라고 부르고, 이를 통해 공개되거나 통제된 사용자 세트가 전자 원장에 참여할 수 있으며, 각각 타임스탬프가 적용되고 이전의 것과 연계된 트랜잭션에 대한 변경 불가능한 기록을 생성한다.
인증서버(30)는 이와 같이 블록체인(40)으로 연결되어 있는 공동체 즉, 사용자 세트 중 하나의 참여자에 해당하게 된다.
블록체인(40)은 분산 네트워크 기반의 타임스탬프 서버를 통해서 거래를 처리하는 구조를 가지고 있다. 블록체인(40)은 분산 데이터 구조로 구성되어 있는데, 타임스탬프 기록이 있는 수많은 블록들이 연결되어 있다. 각 블록은 해시값을 통해서 신원 확인을 할 수 있으며, 앞의 블록을 참조하는 구조를 가지고 있다.
구체적으로, 블록체인(40)은 크게는 이전 블록헤더의 전자서명, 해시값, 현재 블록의 타임스탬프, 해시값 등으로 이루어진 블록헤더(Block Header)와 트랜잭션 등으로 이루어진다. 따라서, 제1 블록에 기록된 제1 해시값은 제1 블록과 체인으로 연결되는 제2 블록에 '이전 블록 해시값'으로 담기게 된다.
본 발명의 등록 해시값 관련 정보 또는 등록 해시값은 블록체인(40)의 블록헤더에 기록되고, 인덱스값을 위해 해당 해시값에 사용자 코드(예컨대, 일련넘버)를 추가하여 블록체인(40)을 구성할 수 있다. 일 실시예에 따르면, 사용자 코드는 해당 해시값 앞에 배치될 수 있다.
따라서, 최초 생성 및 등록된 해시값(즉, 최초 등록 해시값)을 블록체인(40)에 기록한 일시가 해당 블록체인(40)의 최초 블록의 타임스탬프에 해당하게 된다.
제1 실시예에 따르면, 인증서버(30)는 IoT기기(20)의 제어 승인을 요청받을 시, 사용자 단말(10)이 생성한 인증 해시값을 수신하고, 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 상기 인증 해시값의 정당성을 판별하는 기능(이하, '정당성 판별기능'이라 칭함)을 포함한다. 그리고, 인증버서는 상기 판별 결과 해당 인증 해시값이 정당성이 있을 경우, 해당 사용자 단말(10)의 IoT기기(20) 원격 제어를 승인하는 기능을 더 포함한다.
제1 실시예에 따르면, 인증서버(30)는 전술한 제1 식별정보, 제2 식별정보 및 제3 식별정보 중 적어도 2개의 식별정보를 입력받아 관리용 DB에 저장하는 기능을 더 포함한다.
인증서버(30)의 정당성 판별기능에 대하여 구체적으로 설명하면 다음과 같다.
인증서버(30)는 IoT기기(20)의 제어 승인을 요청받을 시, 블록체인(40)에 기록된 조합방식에 관한 정보를 열람한다. 여기서, 블록체인(40)에 기록된 조합방식 정보는 사용자 단말(10)에 의한 등록과정에서 결정된 '식별정보 조합방식'에 관한 정보로서, 전술한 제1 조합정보, 제2 조합정보, 제3 조합정보 또는 혼합 조합정보 중 어느 하나일 수 있다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자 단말(10) 및 IoT기기(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다.
그리고, 인증서버(30)는 이와 같은 등록 해시값을, 사용자 단말(10)이 전송한 인증 해시값과 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자 단말(10)의 정당성)을 판별한다.
등록 해시값과 인증 해시값의 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 해당 사용자 단말(10)의 IoT기기(20) 원격 제어를 승인한다.
결국, 본 발명의 인증 해시값은 IoT기기(20) 제어 승인을 요청하는 사용자 단말(10)의 정당성을 판별하기 위한 인증수단이다. 만약, 사용자 단말(10)이 정당한 사용자 단말이라면, 이 사용자 단말(10)은 인증서버(30)에 등록한 등록 해시값과 동일한 해시값(즉, 인증 해시값)을 생성하여 인증서버(30)에게 전송하게 된다.
만약, 사용자 단말(10)이 정당하지 않은 사용자 단말이라면, 등록 해시값과 동일한 해시값(즉, 인증 해시값)을 생성할 수 없게 되고, 결국 IoT기기(20)의 제어 승인을 받을 수 없게 된다.
따라서, 인증 해시값은 등록 해시값과 동일한 식별정보를 이용하여 생성한 값으로 이루어진다. 즉, 인증 해시값은 제1 해시, 제2 해시 또는 제2 해시를 이용하여 생성한 값이거나, 또는 제1 해시, 제2 해시 및 제3 해시 중 적어도 2개를 조합하여 생성한 값일 수 있다.
등록 해시값과 마찬가지로, 인증 해시값의 제1 해시는 IoT기기(20)에 고유한 다수의 제1 식별정보 중 적어도 2개의 제1 식별정보의 조합으로 이루어지고, 제2 해시는 사용자 단말(10)에 고유한 다수의 제2 식별정보 중 적어도 2개의 제2 식별정보의 조합으로 이루어지며, 제3 해시는 사용자 단말(10)의 사용자에 고유한 다수의 제3 식별정보 중 적어도 2개의 제3 식별정보의 조합으로 이루어진다. 인증 해시값에 있어서, 제1,2,3 식별정보의 상세 구성은 등록 해시값에서 설명한 바와 동일하다.
한편, 인증 해시값은 이를 생성한 사용자 단말(10)이 인증서버(30)에게 직접 전송하도록 구성될 수 있다. 또는, 인증 해시값은 IoT기기(20)를 경유하여 인증서버(30)에 제공될 수 있다. 즉, 사용자 단말(10)이 IoT 기기에게 인증 해시값을 전송하면, IoT기기(20)는 이를 수신하여 인증서버(30)에게 전달하도록 구성될 수 있다.
제2 실시예에 따르면, 인증서버(30)는 IoT기기(20)의 제어 승인을 요청받을 시, 사용자 단말(10)이 생성한 인증 해시값을 수신하여 블록체인(40)에 기록된 등록 해시값과 비교하고, 상기 비교 결과 인증 해시값이 블록체인(40)에 기록된 등록 해시값과 일치할 경우, 해당 사용자 단말(10)의 IoT기기(20) 제어를 승인하도록 구성될 수 있다.
전술한 제1 실시예 또는 제2 실시예를 통해, 사용자 단말(10)의 IoT기기(20) 제어 요청에 대한 승인이 이루어지면, 인증서버(30)는 해당 사용자 단말(10)에게 제어 허가 메시지를 전달하고, 해당 IoT기기(20)에게 제어 요청을 전달한다.
그리고, IoT기기(20)와 사용자 단말(10) 간에 암호화 통신 채널이 개설되어 상호 통신이 가능하게 된다.
만약, 인증 해시값과 등록 해시값의 비교 결과, 인증 해시값이 등록 해시값과 불일치할 경우, 인증서버(30)는 해당 사용자 단말(10)에게 제어 불승인 메시지를 전달하고 통신을 종료한다.
본 발명의 인증서버(30)는 사용자 단말(10)과 정보 송수신 시의 보안, 그리고 IoT 앱 보안(즉, 해킹 및 위변조 방지)을 위해 다음의 기능을 더 수행하도록 구성될 수 있다.
인증서버(30)는 사용자 단말(10)이 IoT 앱에 로그인 시 새로운 세션키를 발급하거나, 또는 사용자 단말(10)의 원격제어대상인 IoT기기(20)에게 주기적으로 새로운 세션키를 발급한다. 이후, 사용자 단말(10)의 IoT기기(20) 제어 시도시 가장 최근에 발급받은 세션키를 이용하여, 사용자 단말(10)과 인증서버(30) 간에 정보 송수신을 위한 통신을 수행하도록 구성될 수 있다. 여기서, 사용자 단말(10)과 인증서버(30) 간에 송수신하는 정보는 예컨대, 제1,2,3 식별정보, 등록 해시값, 인증 해시값 정보 등일 수 있다.
한편, 난수값을 더 조합하여 등록 해시값과 인증 해시값을 생성하도록 구성될 경우, 인증서버(30)는 사용자 단말(10)로부터 IoT 앱의 무결성 검증키를 수신하고, 이 무결성 검증키를 이용하여 상기 IoT 앱의 프로그램이 변조되었는지 여부를 검사하도록 구성될 수 있다. 인증서버(30)는 상기 검사 결과 상기 IoT 앱이 변조되지 않은 경우, 해당 사용자 단말(10)에게 난수값을 제공한다. 이와 같은 무결성 검증키는 IoT 앱의 버전 정보 또는 소스코드의 체크썸(checksum) 정보를 이용하여 생성한 키값일 수 있다.
전술한 본 발명의 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템은 하나의 사용자 단말(10)을 예시로 들어 설명하였으나, 다수의 사용자 단말을 등록하고 이 다수의 사용자 단말이 동일한 IoT기기(20)에 대하여 제어 승인을 요청하고, 제어를 수행할 수 있도록 구성할 수도 있음은 물론이다.
예컨대, 제1 사용자 단말이 제1 IoT기기의 제어를 위해 관련 정보를 블록체인(40)에 등록 저장하였다면, 제2 사용자 단말, 제3 사용자 단말,.., 제N 사용자 단말 역시 전술한 동일한 방법에 따라 해당 사용자 단말 관련 정보를 블록체인(40)에 등록한 후, 인증서버(30)의 인증 과정을 통해 제1 IoT기기의 제어 요청 및 제어 승인을 진행할 수 있다.
상기 경우, 인증서버(30)는 사용자 단말(10)의 IoT기기(20)에 대한 제어 권한에 따라, 사용자 단말(10)을 마스터(Master)와 패밀리(Family)로 구분하여 등록하도록 구성될 수 있다.
그리고, 인증서버(30)는 상기 패밀리로 구분된 사용자 단말의 등록 시도시 상기 마스터로 구분된 사용자 단말의 승인을 요구하거나, 이 승인을 조건으로 패밀리로 구분된 사용자 단말의 등록을 인가하도록 구성될 수 있다.
일 실시예에 따르면, 인증서버(30)는 제1 IoT기기에 대한 제어 권한에 따라 마스터(Master)와 패밀리(Family)로 구분하여 등록할 수 있으며, 상기 경우, 패밀리로 구분된 사용자 단말(예컨대, 제2,3,..N 사용자 단말)의 등록 시 마스터로 구분된 사용자 단말(예컨대, 제1 사용자 단말)의 승인을 얻어야 그 등록 및 제1 IoT기기에 대한 제어 요청/승인이 가능하도록 구성될 수 있다.
한편, 등록된 사용자 단말(10)을 변경하고자 할 경우, 등록 사용자 단말(10)은 인증서버(30)에 사용자 단말 변경을 요청할 수 있다. 상기 경우, 등록 사용자 단말(10)은 인증 해시값을 생성하여 인증서버(30)에 전송하면, 이를 수시한 인증서버(30)는 블록체인(40)에 기록된 등록 해시값과 비교한다. 상기 비교 결과, 인증 해시값이 등록 해시값과 일치할 경우, 상기 등록 사용자 단말(10)을 다른 사용자 단말로 변경하는 업무를 승인하도록 구성될 수 있다. 여기서, 등록 사용자 단말의 변경은 전술한 마스터에 해당하는 사용자 단말을 변경하는 것을 포함할 수 있다.
본 발명의 인증서버(30)는 사용자 단말(10) 및 사용자 단말(10)의 제어 대상이 되는 IoT 기기 관련 정보 등을 입력받아 자체 관리용 DB에 저장하는데, 이와 같은 정보는 전술한 등록 해시값의 속성에 해당한다. 따라서, 이와 같은 개인정보가 해킹되면, IoT 원격제어 해킹(즉, 정당하지 않은 사용자 단말에 대한 오승인)이 발생될 수 있는 바, 이를 방지할 수 있는 방안이 구축되어야 한다.
이하에서는, 도 6을 참조하여, 인증서버(30)의 기능들 중 개인정보 해킹을 방지하기 위한 기능에 대하여 설명하도록 한다.
인증서버(30)는 IoT기기(20)에 고유한 다수의 식별정보(즉, 제1 식별정보)와, 사용자 단말(10)에 고유한 다수의 식별정보(즉, 제2 식별정보)를 저장 관리하는 기능을 포함한다. 한편, 사용자에 고유한 다수의 식별정보(즉, 제3 식별정보)를 저장 관리할 수도 있다.
구체적으로, 인증서버(30)는 사용자 단말(10) 또는 IoT 기기로부터 제1 식별정보와 제2 식별정보를 입력받아 개인정보 레코드를 구성하도록 구성된다(S20). 한편, 인증서버(30)는 제3 식별정보를 입력받아 개인정보 레코드를 구성할 수도 있음은 물론이다. 따라서, 본 발명에서 지칭하는 '개인정보 레코드'란 전술한 식별정보(즉, 제1,2,3 식별정보)의 레코드를 의미하거나, 이를 포함하는 레코드일 수 있다.
여기서, 개인정보 레코드(Record)는 데이터 필드(Data Field)에 연관성 있게 저장되어 있는 데이터들의 집합체를 의미한다. 그리고, 상기 '데이터 필드'는 각 데이터들을 저장하는 항목으로서, 이러한 필드들로 구성된 데이터의 집합체를 데이터 테이블(Data Table)이라 하며, 여러 개의 데이터 테이블이 모여 하나의 데이터베이스 (DB)를 구성한다. 각 데이터 테이블의 필드 개수는 테이블 별로 상이할 수 있다.
개인정보 레코드 구성이 완료되면, 인증서버(30)는 이 개인정보 레코드를 암호화 처리한다. 바람직한 실시예에 따르면, 인증서버(30)는 AES 알고리즘 (Advanced Encryption Standard Algorithm)에 따라 개인정보 레코드를 암호화하도록 구성될 수 있다(S21).
참고로, AES 알고리즘은 국가 표준으로 사용되었던 DES(Data Encryption Standard)의 취약점을 보안하기 위해 고안된 암호 알고리즘으로서, 미국 표준으로 사용되고 있는 대칭 암호 알고리즘이다. AES 알고리즘은 DES 암호 알고리즘과 다르게 파이스텔 암호(Feistel Cipher)를 가지고 있지 않으며, 암호 블록 크기는 128bit이다. 또한 알고리즘의 변경 없이도 128bit뿐만 아니라 192bit, 256bit 블록 크기로 확장이 가능하다.
인증서버(30)는 개인정보 레코드를 복수 개의 군으로 분할하도록 구성된다 (S22). 예컨대, 인증서버(30)는 개인정보 레코드를 2분할 또는 3분할 방식으로 분류할 수 있으며, 이때 Byte 단위 또는 Bit 단위 shift 알고리즘에 따라 분할할 수 있다.
바람직한 실시예에 따르면, 인증서버(30)는 개인정보 레코드 중 홀수항에 해당하는 개인정보 레코드는 제1 군으로 분할하고, 개인정보 레코드 중 짝수항에 해당하는 개인정보 레코드는 제2 군으로 분할하도록 구성될 수 있다. 참고로, 도 7은 Byte 단위 레코드 2분할을 위한 알고리즘으로서, 개인정보 레코드 중 홀수 항목에 해당하는 개인정보 레코드와 짝수 항목에 해당하는 레코드를 상호 분리하는 코드를 나타내고 있다.
개인정보 레코드의 분할이 완료되면, 인증서버(30)는 제1 군에 속하는 개인정보 레코드는 제1 서버에 저장하고, 제2 군에 속하는 개인정보 레코드는 상기 제1 서버와 구분되는 제2 서버에 저장하며, 제N 군에 속하는 개인정보 레코드는 상기 제1,2,3 서버와 구분되는 제N 서버에 저장한다(S23). 따라서, 서로 다른 군에 속하는 개인정보 레코드는 서로 다른 서버에 분산 저장된다. 따라서, 일부 서버가 해킹되더라도 복호화가 불가능하고, 개인정보의 파악이 불가능한 바, IoT기기(20)의 보안성을 크게 향상시킬 수 있다.
인증서버(30)는 해킹 등으로 인한 인증서버 작동불능 및 원상복구를 대비하여, 전술한 개인정보 레코드들을 WORM(Write Once Read Many) 디스크에 기록하여 백업하도록 구성될 수 있다(S24). 상기 경우, 바람직하게는, 제1 군에 속하는 개인정보 레코드는 제1 WORM 디스크에 기록하고, 제2 군에 속하는 개인정보 레코드는 상기 제1 WORM 디스크와 구분되는 제2 WORM 디스크에 기록하며, 제N 군에 속하는 개인정보 레코드는 상기 제1,2 WORM 디스크와 구분되는 제N WORM 디스크에 기록하도록 구성될 수 있다.
WORM 디스크는 하드디스크를 기반으로 하는 대용량 표준 네트워크 스토리지로서, 한번 저장된 데이터는 관리자 권한으로도 삭제와 위변조를 할 수 없다. WORM (Write Once Read Many) 디스크는 데이터를 한 번밖에 기록할 수 없으나, 이에 기록된 데이터는 수없이 읽을 수 있다.
이하에서는, 본 발명의 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 방법에 대하여 설명하도록 한다. 참고로, 후술할 다중 보안 인증 방법의 각 단계를 수행하는 각 주체(예컨대, 사용자 단말, IoT기기, 인증서버 등)의 세부적인 내용 및 구성은 앞서 설명한 바와 동일하므로 그에 대한 상세한 설명은 생략하기로 한다.
본 발명의 본 발명의 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 방법은 크게, 등록 해시값 생성 및 등록 단계와, IoT 기기 제어요청/승인 단계를 포함한다.
(1) 등록 단계
등록 단계는 사용자 단말(10)의 정당성 인증과 관련된 정보를 블록체인(40)에 기록 저장하는 절차이다.
도 2는 본 발명에 따른 등록 단계의 등록 과정을 나타낸 블록 순서도이다.
제1 실시예에 따르면, 먼저, 사용자 단말(10)이 IoT앱을 구동하거나 또는 인증서버(30)에 접속하여 등록 해시값을 생성한다(S10). 또는, 사용자 단말(10)의 등록 요청시, 인증서버(30)가 등록 해시값을 생성할 수도 있다.
등록 해시값 생성이 완료되면, 인증서버(30)가 등록 해시값 관련 정보를 블록체인(40)에 기록함으로써 등록 해시값의 등록 과정이 완료된다.
여기서, 상기 '등록 해시값 관련 정보'는 제1 해시, 제2 해시 또는 제3 해시에 관한 정보이거나, 또는 제1 해시, 제2 해시, 및 제3 해시 중 적어도 2개가 혼합된 해시에 관한 정보일 수 있다.
구체적으로, 상기 '등록 해시값 관련 정보'는 제1 해시의 후술할 제1 식별정보의 조합 방식에 관한 정보(이하, 제1 조합정보)이거나, 제2 해시의 후술할 제2 식별정보의 조합 방식(이하, 제2 조합정보)에 관한 정보이거나, 제3 해시의 후술할 제3 식별정보의 조합 방식(이하, 제3 조합정보)에 관한 정보이거나, 또는 제1,2 혼합 해시의 제1,2,3 식별정보의 조합 방식(이하, 혼합 조합정보)에 관한 정보를 포함한다.
한편, 등록 해시값 관련 정보를 블록체인(40)에 기록하는 단계는 인덱스값로 기능하는 사용자 코드를 등록 해시값에 추가하는 단계(S11)와, 사용자 코드가 추가된 등록 해시값 관련 정보를 블록체인(40)의 헤더에 기록하는 단계(S12)를 더 포함할 수 있다.
단계 S10 ~ S12가 완료되면, 해당 사용자 단말(10)의 등록 해시값 관련 정보는 블록체인(40)에 저장되어, 사용자 단말(10)의 정당성 인증 과정에서 사용된다.
제2 실시예에 따르면, 사용자 단말(10)은 전술한 제1 해시, 제2 해시 또는 제3 해시를 이용하여 등록 해시값을 생성하거나, 또는 이들을 조합하여 등록 해시값을 생성할 수 있고, 더 나아가 난수값을 더 조합하여 등록 해시값을 생성할 수도 있다. 만약, 등록 해시값 생성시 난수값을 더 조합할 경우, 이 난수값은 인증서버(30) 또는 IoT기기(20)로부터 제공받은 것일 수 있다.
이때, 사용자 단말(10)은 탑재된 IoT 앱을 구동하여 등록 해시값을 생성할 수 있고, 생성된 등록 해시값을 인증서버(30) 또는 IoT기기(20)에 전송할 수 있다.
등록 해시값은 사용자 단말(10)이 인증서버(30)에게 직접 전송하거나, 또는 IoT기기(20)를 경유하여 인증서버(30)에 제공될 수 있다. 즉, 사용자 단말(10)이 IoT 기기에게 등록 해시값을 전송하면, IoT기기(20)는 이를 수신하여 인증서버(30)에게 전달하도록 구성될 수 있다.
인증서버(30)는 사용자 단말(10) 또는 IoT기기(20)로부터 수신한 등록 해시값을 블록체인(40)에 기록함으로써, 등록 해시값의 등록 과정이 완료된다.
한편, 등록 해시값을 블록체인에 기록하는 단계는 인덱스값로 기능하는 사용자 코드를 등록 해시값에 추가하는 단계와, 사용자 코드가 추가된 등록 해시값을 블록체인(40)의 헤더에 기록하는 단계를 더 포함할 수 있다.
전술한 과정이 완료되면, 해당 사용자 단말(10)의 등록 해시값은 블록체인(40)에 저장되어, 사용자 단말(10)의 정당성 인증 과정에서 사용된다.
(2) IoT 기기 제어요청 및 승인 단계
IoT 기기 제어요청 및 승인 단계는 사용자 단말(10)이 인증서버(30)에게 특정 IoT기기(20)의 제어 승인을 요청하고, 인증서버(30)가 이 요청에 응답하여 해당 사용자 단말(10)의 정당성을 검증한 후 해당 IoT기기(20)에 대한 원격 제어를 승인하는 단계이다. 이와 같은 IoT 기기 제어요청 및 승인 단계는 다양한 실시 형태로 구현될 수 있다.
(2-1) 제1 실시예
도 3은 본 발명의 제1 실시예에 따른 IoT 기기 제어요청 및 승인 과정을 나타낸 업무 흐름도이다.
도 3을 참조하면, 사용자 단말(10)에서 IoT 앱을 구동하여 IoT기기(20)로 로그인을 수행한다. 이때, IoT기기(20)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청 단계로 가서 처음부터 인증 과정을 다시 진행한다.
IoT기기(20)에 정상적으로 로그인 수행되면 IoT기기(20)에서 사용자 단말 (10)의 로그인을 승인한다. 그리고, 로그인이 승인되면 사용자 단말(10)에서 IoT기기(20)로 사용자 단말(10) 정보와 사용자 단말(10)에 설치된 IoT 앱의 무결성 검증키(예컨대, 버전 정보, 체크썸 (checksum) 등)를 전송한다(S100).
IoT기기(20)는 사용자 단말(10)로부터 수신된 사용자 단말정보, 무결성 검증키 및 IoT기기 정보를 인증서버(30)로 전송한다(S101).
인증서버(30)는 IoT기기(20)로부터 수신한 무결성 검증키를 검사하여, 해당 사용자 단말(10)의 IoT 앱에 이상이 없는지 확인한다(S102). 여기서, IoT 앱에 이상이 없는지 확인하는 것은 예컨대 해당 IoT 앱이 해킹 등에 의해 위조/변조되었는지를 검사하는 것을 의미할 수 있다. 그리고, 무결성 검증키 검사는 인증서버(30)의 관리용 단말 DB에 기등록된 사용자 단말(10)의 IoT 앱 무결성 검증키와 비교하는 방식으로 수행될 수 있다.
무결성 검증키 검사 결과, 해당 IoT 앱에 이상이 있을 경우, 인증서버(30)는 IoT 기기에게 인증실패 메시지를 전송하게 된다. 그리고, IoT기기(20)는 수신된 인증실패 메시지를 사용자 단말(10)에게 전달한다.
무결성 검증키 검사 결과, 해당 IoT 앱에 이상이 없을 경우, 인증서버(30)는 해당 사용자 단말(10)의 IoT앱에 이상이 없음을 통보한다(S103). 그러면, IoT기기(20)는 난수 생성기를 통해 난수값을 생성하여 사용자 단말(10)로 전송한다(S104).
IoT기기(20)로부터 난수값이 수신되면, 사용자 단말(10)은 난수값을 이용하여 인증 해시값을 생성한 후, 이를 IoT기기(20)로 전송한다(S105). 여기서, 인증 해시값은 사용자 단말(10)의 정당성을 확인하기 위한 인증수단으로서, 전술한 바와 같이 제1 해시, 제2 해시 또는 제3 해시를 이용하여 생성한 값이거나, 또는 상기 제1 해시, 상기 제2 해시 및 제3 해시 중 적어도 2개를 조합하여 생성한 값이다. 더 나아가, 인증 해시값은 난수값을 더 조합하여 생성한 값일 수 있다.
IoT기기(20)는 사용자 단말(10)로부터 수신한 인증 해시값, 사용자 단말 정보, 및 IoT기기 정보를 인증서버(30)로 전송한다(S106).
IoT기기(20)로부터 인증 해시값이 수신되면, 인증서버(30)는 관리용 DB에 등록 저장된 식별정보, IoT기기(20)에서 생성된 난수값, 및 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 등록 해시값을 생성한다(S108).
구체적으로, 인증서버(30)는 IoT기기(20)의 제어 승인을 요청받을 시(즉, IoT기기(20)로부터 인증 해시값을 수신시), 블록체인(40)에 기록된 등록 해시값 관련 정보 즉, 조합방식에 관한 정보를 열람한다(S107). 여기서, 블록체인(40)에 기록된 조합방식 정보는 도 1에서 설명한 바와 동일하다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자 단말(10) 및 IoT기기(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 사용자 단말(10)이 생성한 인증 해시값을 등록 해시값과 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자 단말의 정당성)을 판별한다(S109).
상기 비교결과, 인증 해시값이 등록 해시값과 일치하지 않을 경우, 인증서버(30)는 IoT기기(20)로 인증실패 메시지를 전송하게 되고, 이러한 인증실패 메시지는 IoT기기(20)에서 다시 사용자 단말(10)로 전송되어 인증이 실패했음이 통보된다.
상기 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 IoT기기(20)에 로그인한 사용자 단말(10)을 정당한 사용자 단말(10)로 인증하고, 인증성공 메시지를 IoT에게 전송하고, 인증 결과 및 인증된 사용자 단말(10)의 단말정보와 IoT기기 정보를 등록한다(S110).
그리고, 인증서버(30)가 IoT기기(20)로 인증성공 메시지를 전송하면, IoT기기(20)는 이를 사용자 단말(10)로 전달함으로써 인증이 성공했음을 통보한다 (S111).
그리고, IoT기기(20)와 사용자 단말(10) 간에 암호화 통신 채널이 개설되어, 사용자 단말(10)이 IoT기기(20)를 원격으로 제어하는 것이 가능하게 된다(S112).
(2-2) 제2 실시예
도 4는 본 발명의 제2 실시예에 따른 IoT 기기 제어요청 및 승인 과정을 나타낸 업무 흐름도이다.
도 4를 참조하면, 사용자 단말(10)에서 IoT 앱을 구동하여 인증서버(30)로 로그인을 수행한다. 이때, 인증서버(30)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청 단계로 가서 처음부터 인증 과정을 다시 진행한다.
인증서버(30)에 정상적으로 로그인 수행되면 인증서버(30)에서 사용자 단말(10)의 로그인을 승인한다. 그리고, 로그인이 승인되면 사용자 단말(10)에서 인증서버(30)로 사용자 단말(10) 정보와 사용자 단말(10)에 설치된 IoT 앱의 무결성 검증키(예컨대, 버전 정보, 체크썸 (checksum) 등)를 전송한다(S200).
인증서버(30)는 사용자 단말(10)로부터 수신한 무결성 검증키를 검사하여, 해당 사용자 단말(10)의 IoT 앱에 이상이 없는지 확인한다(S201). 여기서, IoT 앱에 이상이 없는지 확인하는 것은 예컨대 해당 IoT 앱이 해킹 등에 의해 위조/변조되었는지를 검사하는 것을 의미할 수 있다. 그리고, 무결성 검증키 검사는 인증서버(30)의 관리용 단말 DB에 기등록된 사용자 단말(10)의 IoT 앱 무결성 검증키와 비교하는 방식으로 수행될 수 있다.
무결성 검증키 검사 결과, 해당 IoT 앱에 이상이 있을 경우, 인증서버(30)는 사용자 단말(10)에게 인증실패 메시지를 전송하게 된다.
무결성 검증키 검사 결과, 해당 IoT 앱에 이상이 없을 경우, 인증서버(30)는 해당 사용자 단말(10)에게 이상이 없음을 통보한다(S202). 그러면, 인증서버(30)는 난수 생성기를 통해 난수값을 생성하여 사용자 단말(10)로 전송한다(S203).
인증서버(30)로부터 난수값이 수신되면, 사용자 단말(10)은 난수값을 이용하여 인증 해시값을 생성한 후, 이 인증 해시값과 해당 사용자 단말(10)의 단말정보를 IoT기기(20)로 전송한다(S204).
IoT기기(20)는 사용자 단말(10)로부터 수신한 인증 해시값, 사용자 단말 정보, 및 IoT기기 정보를 인증서버(30)로 전송한다(S205).
IoT기기(20)로부터 인증 해시값이 수신되면, 인증서버(30)는 관리용 DB에 등록 저장된 식별정보, IoT기기(20)에서 생성된 난수값, 및 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 등록 해시값을 생성한다(S207).
구체적으로, 인증서버(30)는 IoT기기(20)의 제어 승인을 요청받을 시(즉, IoT기기(20)로부터 인증 해시값을 수신시), 블록체인(40)에 기록된 등록 해시값 관련 정보 즉, 조합방식에 관한 정보를 열람한다(S206). 여기서, 블록체인(40)에 기록된 조합방식 정보는 도 1에서 설명한 바와 동일하다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자 단말(10) 및 IoT기기(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 사용자 단말(10)이 생성한 인증 해시값을 등록 해시값과 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자 단말의 정당성)을 판별한다(S208).
상기 비교결과, 인증 해시값이 등록 해시값과 일치하지 않을 경우, 인증서버(30)는 사용자 단말(10)로 인증실패 메시지를 전송하여 인증이 실패했음이 통보한다.
상기 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 해당 사용자 단말(10)을 정당한 사용자 단말로 인증하고, 인증성공 메시지를 사용자 단말(10)에게 전송하여 인증이 성공했음이 통보하고, 인증 결과 및 인증된 사용자 단말(10)의 단말정보와 IoT기기 정보를 등록한다(S209).
그리고, IoT기기(20)와 사용자 단말(10) 간에 암호화 통신 채널이 개설되어, 사용자 단말(10)이 IoT기기(20)를 원격으로 제어하는 것이 가능하게 된다(S210).
(2-3) 제3 실시예
도 5는 본 발명의 제3 실시예에 따른 IoT 기기 제어요청 및 승인 과정을 나타낸 업무 흐름도이다.
도 5를 참조하면, 사용자 단말(10)에서 IoT 앱을 구동하여 어플리케이션 검증서버(50)로 로그인을 수행한다. 이때, 어플리케이션 검증서버(50)에 정상적으로 로그인이 수행되지 않은 경우 실패횟수를 카운딩하며 최초 인증신청 단계로 가서 처음부터 인증 과정을 다시 진행한다.
어플리케이션 검증서버(50)에 정상적으로 로그인 수행되면 어플리케이션 검증서버(50)에서 사용자 단말(10)의 로그인을 승인한다. 그리고, 로그인이 승인되면 사용자 단말(10)에서 어플리케이션 검증서버(50)로 사용자 단말 정보와 사용자 단말에 설치된 IoT 앱의 무결성 검증키(예컨대, 버전 정보, 체크썸 (checksum) 등)를 전송한다(S300).
어플리케이션 검증서버(50)는 사용자 단말(10)로부터 수신한 무결성 검증키를 검사하여, 해당 사용자 단말(10)의 IoT 앱에 이상이 없는지 확인한다(S301).
무결성 검증키 검사 결과, 해당 IoT 앱에 이상이 있을 경우, 어플리케이션 검증서버(50)는 사용자 단말(10)에게 인증실패 메시지를 전송하게 된다.
무결성 검증키 검사 결과, 해당 IoT 앱에 이상이 없을 경우, 어플리케이션 검증서버(50)는 해당 사용자 단말(10)에게 이상이 없음을 통보한다(S302). 그리고, 어플리케이션 검증서버(50)는 난수값을 생성한 후, 이 난수값을 이용하여 인증 해시값을 생성한다(S304).
한편, 어플리케이션 검증서버(50)에서 해당 IoT 앱에 이상이 없음이 통보되는 경우, 사용자 단말(10)은 IoT기기(20)로 사용자 단말(10)의 단말정보를 전송한다(S303). 그러면, IoT기기(20)는 사용자 단말(10)로부터 수신된 사용자 단말 정보와 IoT기기 정보를 인증서버(30)로 전송한다(S305).
어플리케이션 검증서버(50)는 사용자 단말(10)의 단말정보와 인증 해시값을 인증서버(30)로 전송한다(S306). 그러면, 인증서버(30)는 관리용 DB에 등록 저장된 식별정보, 어플리케이션 검증서버(50)에서 생성된 난수값, 및 블록체인(40)에 기록된 등록 해시값 관련 정보를 이용하여 등록 해시값을 생성한다(S308).
구체적으로, 인증서버(30)는 IoT기기(20)의 제어 승인을 요청받을 시(즉, 어플리케이션 검증서버(50)로부터 인증 해시값을 수신시), 블록체인(40)에 기록된 등록 해시값 관련 정보 즉, 조합방식에 관한 정보를 열람한다(S307). 여기서, 블록체인(40)에 기록된 조합방식 정보는 도 1에서 설명한 바와 동일하다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 블록체인(40)에서 열람한 조합방식 정보에 해당하는 조합방식에 따라, 해당 사용자 단말(10) 및 IoT기기(20)와 관련하여 관리용 DB에 저장된 제1 식별정보, 제2 식별정보 및(또는) 제3 식별정보를 조합하여 등록 해시값을 생성한다. 만약 난수값을 더 이용할 경우, 등록 해시값은 난수값을 더 조합하여 생성한다.
그리고, 인증서버(30)는 인증 해시값과 등록 해시값을 비교하여, 해당 인증 해시값의 정당성(즉, 해당 사용자 단말의 정당성)을 판별한다(S309).
상기 비교결과, 인증 해시값이 등록 해시값과 일치하지 않을 경우, 인증서버(30)는 사용자 단말(10)기로 인증실패 메시지를 전송하여 인증이 실패했음이 통보한다.
상기 비교결과, 인증 해시값이 등록 해시값과 일치할 경우, 인증서버(30)는 해당 사용자 단말(10)을 정당한 사용자 단말로 인증하고, 인증성공 메시지를 사용자 단말(10)에게 전송하여 인증이 성공했음이 통보하고, 인증 결과 및 인증된 사용자 단말(10)의 단말정보와 IoT기기 정보를 등록한다(S310).
그리고, IoT기기(20)와 사용자 단말(10) 간에 암호화 통신 채널이 개설되어, 사용자 단말(10)이 IoT기기(20)를 원격으로 제어하는 것이 가능하게 된다(S311).
상기에서 본 발명의 바람직한 실시예가 특정 용어들을 사용하여 설명 및 도시되었지만 그러한 용어는 오로지 본 발명을 명확히 설명하기 위한 것일 뿐이며, 본 발명의 실시예 및 기술된 용어는 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러가지 변경 및 변화가 가해질 수 있는 것은 자명한 일이다. 이와 같이 변형된 실시예들은 본 발명의 사상 및 범위로부터 개별적으로 이해되어져서는 안되며, 본 발명의 청구범위 안에 속한다고 해야 할 것이다.

Claims (20)

  1. IoT기기; 상기 IoT기기의 동작을 원격 제어하는 사용자 단말; 및 상기 사용자 단말의 상기 IoT기기 제어를 승인하는 인증서버를 기반으로 하는 시스템으로서,
    상기 인증서버는,
    등록 해시값 관련 정보를 블록체인에 기록하는 제1 기능;
    상기 IoT기기의 제어 승인을 요청받을 시, 상기 사용자 단말이 생성한 인증 해시값을 수신하고, 상기 블록체인에 기록된 상기 등록 해시값 관련 정보를 이용하여 상기 인증 해시값의 정당성을 판별하는 제2 기능; 및
    상기 판별 결과, 상기 인증 해시값이 정당성이 있을 경우, 상기 사용자 단말의 상기 IoT기기 제어를 승인하는 제3 기능;을 포함하고,
    상기 등록 해시값 관련 정보는,
    제1 해시에 관한 정보이거나, 제2 해시에 관한 정보이거나, 또는 상기 제1 해시와 상기 제2 해시가 혼합된 해시(이하, 혼합 해시)에 관한 정보이며,
    상기 제1 해시는,
    상기 IoT기기에 고유한 다수의 식별정보(이하, 제1 식별정보) 중 적어도 2개의 식별정보로 이루어지고,
    상기 제2 해시는,
    상기 사용자 단말에 고유한 다수의 식별정보(이하, 제2 식별정보) 중 적어도 2개의 식별정보로 이루어지는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  2. 제1 항에 있어서,
    상기 인증서버는,
    상기 제1 식별정보; 및 상기 제2 식별정보를 입력받아 관리용 DB에 저장하는 제4 기능을 더 포함하고,
    상기 등록 해시값 관련 정보는,
    상기 제1 해시의 상기 제1 식별정보의 조합 방식에 관한 정보(이하, 제1 조합정보)이거나, 상기 제2 해시의 상기 제2 식별정보의 조합 방식(이하, 제2 조합정보)에 관한 정보이거나, 또는 상기 혼합 해시의 상기 제1,2 식별정보의 조합 방식(이하, 혼합 조합정보)에 관한 정보이며,
    상기 제2 기능은,
    상기 IoT기기의 제어 승인을 요청받을 시, 상기 블록체인에 기록된 상기 제1 조합정보, 상기 제2 조합정보 또는 상기 혼합 조합정보를 열람하는 제2-1 기능;
    상기 제2-1 기능의 열람한 조합정보에 해당하는 조합방식에 따라, 상기 관리용 DB에 저장된 상기 제1 식별정보와 상기 제2 식별정보를 조합하여 등록 해시값을 생성하는 제2-2 기능; 및
    상기 제2-2 기능에 따라 생성된 상기 등록 해시값을 상기 인증 해시값과 비교하여 상기 정당성을 판별하는 제2-3 기능;을 포함하고,
    상기 제3 기능은,
    상기 비교결과, 상기 인증 해시값이 상기 등록 해시값과 일치할 경우, 상기 사용자 단말의 상기 IoT기기 제어를 승인하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  3. 제1 항에 있어서,
    상기 등록 해시값 관련 정보는,
    상기 제1 해시, 상기 제2 해시 또는 제3 해시에 관한 정보이거나, 또는 상기 제1 해시, 상기 제2 해시, 및 상기 제3 해시 중 적어도 2개가 혼합된 해시에 관한 정보이고,
    상기 제3 해시는,
    상기 사용자 단말의 사용자에 고유한 다수의 식별정보 중 적어도 2개의 식별정보로 이루어지는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  4. 제1 항에 있어서,
    상기 등록 해시값 관련 정보는 상기 제1 해시, 상기 제2 해시 또는 상기 혼합 해시에 난수값이 더 혼합된 해시에 관한 정보이고,
    상기 난수값은,
    상기 인증서버 또는 상기 IoT기기가 생성하여 상기 사용자 단말에게 제공한 값인 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  5. 제1 항에 있어서,
    상기 등록 해시값 관련 정보는,
    상기 제1 해시를 이용하여 생성한 값이거나, 상기 제2 해시를 이용하여 생성한 값이거나, 또는 상기 제1 해시와 상기 제2 해시가 혼합하여 생성한 값이고,
    상기 제2 기능은,
    상기 IoT기기의 제어 승인을 요청받을 시, 상기 블록체인에 기록된 상기 값을 열람하는 제2-1 기능;
    상기 제2-1 기능에 따라 열람한 값을 상기 인증 해시값과 비교하여 상기 정당성을 판별하는 제2-2 기능;을 포함하고,
    상기 제3 기능은,
    상기 비교결과, 상기 인증 해시값이 상기 값과 일치할 경우, 상기 사용자 단말의 상기 IoT기기 제어를 승인하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  6. 제1 항에 있어서,
    상기 IoT기기에 고유한 다수의 식별정보는,
    상기 IoT기기의 물리코드 관련 정보, 상기 IoT기기에 탑재된 운영체제 (OS) 관련 정보, 및 상기 IoT기기에 탑재된 앱(App) 관련 정보를 포함하고,
    상기 제1 해시는,
    상기 물리코드 관련 정보, 상기 운영체제(OS) 관련 정보 및 상기 앱 (App) 관련 정보 중 적어도 2개의 조합으로 이루어지는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  7. 제1 항에 있어서,
    상기 사용자 단말에 고유한 다수의 식별정보는,
    상기 사용자 단말의 물리코드 관련 정보, 상기 사용자 단말에 탑재된 운영체제(OS) 관련 정보, 및 상기 사용자 단말에 탑재된 앱(App) 관련 정보를 포함하고,
    상기 제2 해시는,
    상기 물리코드 관련 정보, 상기 운영체제(OS) 관련 정보 및 상기 앱(App) 관련 정보 중 적어도 2개의 조합으로 이루어지는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  8. 제3 항에 있어서,
    상기 사용자에 고유한 다수의 식별정보는,
    전화번호, 이동통신번호, 이름, 생년월일, 접속시간, 접속IP 및 GPS 정보를 포함하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  9. 제2 항에 있어서,
    상기 제4 기능은,
    상기 제1 식별정보와 상기 제2 식별정보를 입력받아 개인정보 레코드를 구성하는 제1 처리;
    상기 개인정보 레코드를 암호화하는 제2 처리;
    상기 개인정보 레코드를 복수 개의 군으로 분할하는 제3 처리; 및
    제1 군에 속하는 개인정보 레코드는 제1 서버에 저장하고, 제2 군에 속하는 개인정보 레코드는 상기 제1 서버와 구분되는 제2 서버에 분리 저장하는 제4 처리;를 포함하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  10. 제9 항에 있어서,
    상기 제2 처리는,
    AES 알고리즘에 따라 상기 개인정보 레코드를 암호화하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  11. 제9 항에 있어서,
    상기 제3 처리는,
    상기 개인정보 레코드 중 홀수항에 해당하는 개인정보 레코드는 상기 제1 군으로 분할하고,
    상기 개인정보 레코드 중 짝수항에 해당하는 개인정보 레코드는 상기 제2 군으로 분할하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  12. 제9 항에 있어서,
    상기 제4 처리는,
    제N 군에 속하는 개인정보 레코드는 상기 제1,2 서버와 구분되는 제N 서버에 분리 저장하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  13. 제9 항에 있어서,
    상기 제1 군에 속하는 개인정보 레코드는 제1 WORM 디스크에 기록하고, 상기 제2 군에 속하는 개인정보 레코드는 상기 제1 WORM 디스크와 구분되는 제2 WORM 디스크에 기록하는 제5 처리를 더 포함하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  14. 제9 항에 있어서,
    상기 개인정보 레코드는 상기 제1,2 식별정보의 레코드인 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  15. 제9 항에 있어서,
    상기 제3 처리는,
    상기 개인정보 레코드를 Byte 단위 또는 Bit 단위로 분할하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  16. 제9 항에 있어서,
    상기 등록 해시값 관련 정보는,
    상기 제1 해시, 상기 제2 해시 또는 제3 해시에 관한 정보이거나, 또는 상기 제1 해시, 상기 제2 해시, 및 상기 제3 해시 중 적어도 2개가 혼합된 해시에 관한 정보이고,
    상기 제3 해시는,
    상기 사용자 단말의 사용자에 고유한 다수의 식별정보 중 적어도 2개의 식별정보로 이루어지며,
    상기 제4 기능의 상기 제1 처리는,
    상기 제1 식별정보, 상기 제2 식별정보 및 상기 제3 식별정보를 입력받아 개인정보 레코드를 구성하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  17. 제1 항에 있어서,
    상기 등록 해시값 관련 정보는 인덱스값으로 기능하는 사용자 코드가 추가되어 상기 블록체인의 헤더에 기록되는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  18. 제1 항에 있어서,
    최초 등록한 사용자 단말의 상기 등록 해시값 관련 정보의 상기 블록체인 기록일시가 상기 블록체인의 최초 블록의 타임스탬프로 저장되는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  19. 제1 항, 제2 항, 제5 항 또는 제9 항에 있어서,
    상기 제1 해시 또는 상기 제2 해시 중 어느 하나는 제3 해시로 대체되어,
    상기 등록 해시값 관련 정보는,
    제1 해시에 관한 정보이거나, 제3 해시에 관한 정보이거나, 또는 상기 제1 해시와 상기 제3 해시가 혼합된 해시에 관한 정보이고,
    또는, 제2 해시에 관한 정보이거나, 제3 해시에 관한 정보이거나, 또는 상기 제2 해시와 상기 제3 해시가 혼합된 해시에 관한 정보이며,
    상기 제3 해시는,
    상기 사용자 단말의 사용자에 고유한 다수의 식별정보 중 적어도 2개의 식별정보로 이루어지는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
  20. 제1 항에 있어서,
    상기 인증서버는,
    상기 사용자 단말의 상기 IoT기기에 대한 제어 권한에 따라, 상기 사용자 단말을 마스터(Master)와 패밀리(Family)로 구분하여 등록하고,
    상기 패밀리로 구분된 사용자 단말의 등록 시도시 상기 마스터로 구분된 사용자 단말의 승인을 요구하는 것을 특징으로 하는 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템.
PCT/KR2018/010193 2018-09-03 2018-09-03 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법 WO2020050424A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020197030767A KR102265788B1 (ko) 2018-09-03 2018-09-03 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
CN201880097152.4A CN112673600B (zh) 2018-09-03 2018-09-03 基于区块链的手机终端以及IoT设备之间的多重安全认证系统以及方法
US16/972,539 US11750395B2 (en) 2018-09-03 2018-09-03 System and method for blockchain-based multi-factor security authentication between mobile terminal and IoT device
PCT/KR2018/010193 WO2020050424A1 (ko) 2018-09-03 2018-09-03 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2018/010193 WO2020050424A1 (ko) 2018-09-03 2018-09-03 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법

Publications (1)

Publication Number Publication Date
WO2020050424A1 true WO2020050424A1 (ko) 2020-03-12

Family

ID=69721611

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2018/010193 WO2020050424A1 (ko) 2018-09-03 2018-09-03 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법

Country Status (4)

Country Link
US (1) US11750395B2 (ko)
KR (1) KR102265788B1 (ko)
CN (1) CN112673600B (ko)
WO (1) WO2020050424A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285944A (zh) * 2021-05-19 2021-08-20 广西电网有限责任公司 一种网络信息安全防护的方法及相关设备

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750395B2 (en) * 2018-09-03 2023-09-05 Icncast Co., Ltd System and method for blockchain-based multi-factor security authentication between mobile terminal and IoT device
US11582044B2 (en) * 2019-06-17 2023-02-14 Mahboud Zabetian Systems and methods to timestamp and authenticate digital documents using a secure ledger
KR102368805B1 (ko) * 2020-05-15 2022-03-02 최봉결 블록체인기반 모바일 해킹방지 프로세스를 이용한 알림공지서버 및 알림공지방법
WO2022139918A1 (en) * 2020-12-23 2022-06-30 Arris Enterprises Llc Multi-modal approach to a secure and closed solution for controlling access to an optical instrument associated with a client user
KR102607806B1 (ko) * 2021-07-14 2023-12-01 정연우 실시간 위치 증명 기반 블록체인 인증을 이용한 사용자 인증 시스템 및 이체 시스템
KR102472427B1 (ko) * 2022-02-25 2022-11-30 피노키오랩 주식회사 인공지능 기반 위조품 선별 검사 및 디지털 증명서 발급 방법, 장치 및 프로그램
WO2023167568A1 (ko) * 2022-03-04 2023-09-07 주식회사 센스톤 인증 코드 기반의 심 스와핑 방지를 위한 서비스 제공 서버 및 방법
CN115037483B (zh) * 2022-06-20 2024-04-09 中国联合网络通信集团有限公司 区块链中基于生物特征的认证方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060031681A (ko) * 2003-07-07 2006-04-12 크라이프토그라피 리서치, 인코포레이티드 해적행위를 제어하고 쌍방향 컨텐츠를 가능하게 하기 위한재프로그램가능한 보안
KR101829040B1 (ko) * 2017-05-10 2018-02-13 주식회사 레오에이아이씨 모듈형 시설장치에 부착된 모듈형 기기들을 원격으로 진단 제어하는 지능형 시스템
KR20180054497A (ko) * 2016-11-14 2018-05-24 삼성전자주식회사 대용량 데이터와 다수의 병합 및 분할 데이터 인증을 위한 전자 장치 및 이의 제어 방법

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101990882B1 (ko) 2012-10-09 2019-09-30 에스케이 텔레콤주식회사 사물 인터넷을 위한 인증 방법과 그를 위한 디바이스 및 인증 장치
US11575968B1 (en) * 2013-03-15 2023-02-07 Cox Communications, Inc. Providing third party content information and third party content access via a primary service provider programming guide
KR102297475B1 (ko) * 2014-10-17 2021-09-02 삼성전자주식회사 사물 인터넷을 위한 단말 및 그 동작 방법
KR101684076B1 (ko) 2015-03-18 2016-12-20 문종섭 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 시스템
KR101810150B1 (ko) 2015-04-09 2018-01-26 (주)아이씨엔캐스트 모바일 단말과 IoT기기간 제3자 보안인증 시스템 및 방법
US11494761B2 (en) * 2015-11-06 2022-11-08 Cable Television Laboratories, Inc. Systems and methods for digital asset security ecosystems
EP3398049A4 (en) * 2015-12-30 2019-08-07 Verimatrix, Inc. SYSTEMS AND METHODS FOR PRIVACY PRIVACY IN THE DIVISION OF DIGITAL CONTENTS WITH PRIVATE TOKENS
WO2018200685A2 (en) * 2017-04-27 2018-11-01 Ecosense Lighting Inc. Methods and systems for an automated design, fulfillment, deployment and operation platform for lighting installations
US10397021B2 (en) * 2016-01-29 2019-08-27 Analog Devices, Inc. Synchronous slave-to-slave communications
GB201607476D0 (en) * 2016-04-29 2016-06-15 Eitc Holdings Ltd Operating system for blockchain IOT devices
US20200225655A1 (en) * 2016-05-09 2020-07-16 Strong Force Iot Portfolio 2016, Llc Methods, systems, kits and apparatuses for monitoring and managing industrial settings in an industrial internet of things data collection environment
WO2017205683A1 (en) * 2016-05-25 2017-11-30 Atomite, Inc. System and method of efficient and secure data filtering of non-permitted data
US10305694B2 (en) * 2016-05-27 2019-05-28 Mastercard International Incorporated Method and system for efficient distribution of configuration data utilizing permissioned blockchain technology
WO2017219007A1 (en) * 2016-06-17 2017-12-21 Weimer Jonathan Blockchain systems and methods for user authentication
KR101800737B1 (ko) 2016-06-27 2017-11-23 경북대학교 산학협력단 사용자 인증을 위한 스마트기기의 제어방법, 이를 수행하기 위한 기록매체
AU2016421889A1 (en) * 2016-08-30 2018-12-06 Visa International Service Association Biometric identification and verification among iot devices and applications
KR102044519B1 (ko) 2016-09-29 2019-11-14 주식회사 피플카 데이터 분산 암호화 방법 및 분산 암호화된 데이터 복구 방법
EP3454238B1 (en) * 2016-12-23 2022-02-09 CloudMinds (Shanghai) Robotics Co., Ltd. Registration and authorization method, device and system
US10498541B2 (en) * 2017-02-06 2019-12-03 ShocCard, Inc. Electronic identification verification methods and systems
KR101816650B1 (ko) * 2017-02-21 2018-01-09 주식회사 코인플러그 계정 등록의 간소화 서비스 및 사용자 인증 서비스를 제공하는 방법 및 이를 이용한 인증 서버
US11392947B1 (en) * 2017-02-27 2022-07-19 United Services Automobile Association (Usaa) Distributed ledger for device management
KR101919586B1 (ko) * 2017-05-10 2018-11-16 주식회사 코인플러그 블록체인 기반의 사물 인터넷 기기에 대한 비용을 결제하는 방법, 이를 이용한 서버, 서비스 제공 단말, 및 사용자 전자 지갑
US10826703B1 (en) * 2017-06-05 2020-11-03 United Services Automobile Association (Usaa) Distributed ledger system for identity data storage and access control
WO2018229531A1 (en) * 2017-06-14 2018-12-20 Harman International Industries, Inc. Systems and methods for security of network connected devices
US10944546B2 (en) * 2017-07-07 2021-03-09 Microsoft Technology Licensing, Llc Blockchain object interface
US10924466B2 (en) * 2017-07-28 2021-02-16 SmartAxiom, Inc. System and method for IOT security
WO2019032834A1 (en) * 2017-08-11 2019-02-14 Secure Open Systems, Inc. HACHING-BASED DATA VERIFICATION SYSTEM
EP3669314A1 (en) * 2017-08-15 2020-06-24 Nchain Holdings Limited Random number generation in a blockchain
US10795977B2 (en) * 2017-08-24 2020-10-06 Oracle International Corporation Digital asset traceability and assurance using a distributed ledger
US10819684B2 (en) * 2017-11-24 2020-10-27 International Business Machines Corporation Cognitive blockchain for internet of things
US10797878B2 (en) * 2017-11-29 2020-10-06 International Business Machines Corporation Multi-node transaction management using one-time tokens
CN108123936B (zh) * 2017-12-13 2021-04-13 北京科技大学 一种基于区块链技术的访问控制方法及系统
US10867055B2 (en) * 2017-12-28 2020-12-15 Corlina, Inc. System and method for monitoring the trustworthiness of a networked system
CN107948213A (zh) * 2018-01-17 2018-04-20 深圳中电国际信息科技有限公司 一种加密认证方法、系统、装置及计算机可读存储介质
US10181948B1 (en) * 2018-01-25 2019-01-15 Fortress Cyber Security, LLC Secure storage of hashes within a distributed ledger
US10778723B2 (en) * 2018-03-26 2020-09-15 Forescout Technologies, Inc. Device visibility and scanning including network segments
US20220366494A1 (en) * 2018-05-06 2022-11-17 Strong Force TX Portfolio 2018, LLC Market orchestration system for facilitating electronic marketplace transactions
CN112703457A (zh) * 2018-05-07 2021-04-23 强力物联网投资组合2016有限公司 用于使用工业物联网进行数据收集、学习和机器信号流传输实现分析和维护的方法和系统
US20200133254A1 (en) * 2018-05-07 2020-04-30 Strong Force Iot Portfolio 2016, Llc Methods and systems for data collection, learning, and streaming of machine signals for part identification and operating characteristics determination using the industrial internet of things
US10848477B2 (en) * 2018-05-09 2020-11-24 Schlage Lock Company Llc Utilizing caveats for wireless credential access
US11063760B2 (en) * 2018-08-22 2021-07-13 Sasken Technologies Ltd Method for ensuring security of an internet of things network
US11112132B2 (en) * 2018-08-22 2021-09-07 Bao Tran Systems and methods for monitoring water in a building
US11750395B2 (en) * 2018-09-03 2023-09-05 Icncast Co., Ltd System and method for blockchain-based multi-factor security authentication between mobile terminal and IoT device
US10588175B1 (en) * 2018-10-24 2020-03-10 Capital One Services, Llc Network of trust with blockchain

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060031681A (ko) * 2003-07-07 2006-04-12 크라이프토그라피 리서치, 인코포레이티드 해적행위를 제어하고 쌍방향 컨텐츠를 가능하게 하기 위한재프로그램가능한 보안
KR20180054497A (ko) * 2016-11-14 2018-05-24 삼성전자주식회사 대용량 데이터와 다수의 병합 및 분할 데이터 인증을 위한 전자 장치 및 이의 제어 방법
KR101829040B1 (ko) * 2017-05-10 2018-02-13 주식회사 레오에이아이씨 모듈형 시설장치에 부착된 모듈형 기기들을 원격으로 진단 제어하는 지능형 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAMMI, MOHAMED TAHAR ET AL.: "Bubbles of Trust: A decentralized blockchain-based authentication system for IoT", COMPUTERS & SECURITY, vol. 78, pages 126 - 142, XP055689790, Retrieved from the Internet <URL:https://www.sciencedirect.com/science/article/pii/S0167404818300890> *
OUADDAH, AAFAF ET AL.: "FairAccess: a new Blockchain-based access control framework for the Internet of Things: FairAccess: a new access control framework for IoT", SECURITY AND COMMUNICATION NETWORKS, February 2017 (2017-02-01), XP055415302, Retrieved from the Internet <URL:https:/www.researchgate.net/publication/313847688> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113285944A (zh) * 2021-05-19 2021-08-20 广西电网有限责任公司 一种网络信息安全防护的方法及相关设备

Also Published As

Publication number Publication date
KR102265788B1 (ko) 2021-06-16
CN112673600A (zh) 2021-04-16
US20210250177A1 (en) 2021-08-12
CN112673600B (zh) 2023-10-03
KR20200028880A (ko) 2020-03-17
US11750395B2 (en) 2023-09-05

Similar Documents

Publication Publication Date Title
WO2020050424A1 (ko) 블록체인 기반의 모바일 단말 및 IoT 기기 간의 다중 보안 인증 시스템 및 방법
WO2021071157A1 (en) Electronic device and method for managing blockchain address using the same
WO2020091278A1 (ko) 사용증명방식 블록체인 기반의 일회용 개인키를 이용한 개인정보 제공 시스템 및 방법
WO2018012747A1 (ko) 앱 위변조 탐지 가능한 2채널 인증 대행 시스템 및 그 방법
WO2023163509A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2020147383A1 (zh) 基于区块链系统的流程审批方法、装置、系统及非易失性存储介质
WO2014175538A1 (ko) Puf 기반 하드웨어 otp 제공 장치 및 이를 이용한 2-factor 인증 방법
WO2015093734A1 (ko) 빠른 응답 코드를 이용한 인증 시스템 및 방법
WO2020189926A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2017188610A1 (ko) 인증 방법 및 시스템
WO2013025060A2 (ko) 사물지능통신에서 puf에 기반한 장치간 보안 인증 장치 및 방법
WO2017119548A1 (ko) 보안성이 강화된 사용자 인증방법
WO2020189927A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2019027139A1 (ko) 시간 종속적인 블록체인 기반 자가검증 사용자인증 방법
US11245526B2 (en) Full-duplex password-less authentication
WO2023146308A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2012093900A2 (en) Method and device for authenticating personal network entity
WO2019039865A1 (ko) 인증 단말, 인증 장치 및 이들을 이용한 인증 방법 및 시스템
WO2020022700A1 (ko) 디지털 키를 처리 및 인증하는 보안 요소 및 그 동작 방법
WO2020141782A1 (ko) 블록체인 네트워크를 이용하여 사용자의 아이덴티티를 관리하는 방법 및 서버, 그리고, 블록체인 네트워크 기반의 사용자 아이덴티티를 이용하여 사용자를 인증하는 방법 및 단말
WO2023163514A1 (ko) 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2023211104A1 (ko) 컨트롤러 기반 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
WO2020122368A1 (ko) 보안단말기를 이용한 저장장치의 데이터 보안 관리 시스템 및 방법
WO2020032351A1 (ko) 익명 디지털 아이덴티티 수립 방법
WO2019125081A1 (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: 18932895

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 08/07/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18932895

Country of ref document: EP

Kind code of ref document: A1