WO2020218699A1 - 의사난수를 이용한 iot 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법 - Google Patents

의사난수를 이용한 iot 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법 Download PDF

Info

Publication number
WO2020218699A1
WO2020218699A1 PCT/KR2019/016603 KR2019016603W WO2020218699A1 WO 2020218699 A1 WO2020218699 A1 WO 2020218699A1 KR 2019016603 W KR2019016603 W KR 2019016603W WO 2020218699 A1 WO2020218699 A1 WO 2020218699A1
Authority
WO
WIPO (PCT)
Prior art keywords
identifier
secret key
data
fragments
random number
Prior art date
Application number
PCT/KR2019/016603
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 US16/965,259 priority Critical patent/US20210209241A1/en
Publication of WO2020218699A1 publication Critical patent/WO2020218699A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2125Just-in-time application of countermeasures, e.g., on-the-fly decryption, just-in-time obfuscation or de-obfuscation

Definitions

  • the present invention relates to a data obfuscation technology, and more particularly, to an apparatus and a method for data obfuscation of an IoT device using a pseudorandom number.
  • the Internet of Things is a technology that connects to the Internet by embedding sensors and communication functions in various objects. That is, it refers to a technology that connects various objects through wireless communication. It is an artificial intelligence technology that enables Internet-connected objects to exchange data, provide their own analysis and learn information to users, or allow users to remotely control it.
  • the object refers to various embedded systems such as home appliances, mobile equipment, and wearable devices.
  • information technology research and advisory firm Gartner the number of things using IoT technology is expected to reach 26 billion by 2020.
  • big data When many objects are connected like this, vast amounts of data are collected through the Internet, and the collected data becomes so vast that it is difficult to analyze with existing technologies. This is called big data. Therefore, the necessity of a technology to develop an efficient algorithm for analyzing big data is emerging with the advent of the IoT.
  • Things connected to the Internet of Things must be connected to the Internet with a unique IP that can identify themselves, and sensors can be embedded to acquire data from the external environment. Since all things can be hacked, the development of the Internet of Things and the development of security are bound to go together.
  • An object of the present invention is to provide an apparatus and method capable of performing data obfuscation of an IoT device using a pseudo random number.
  • the apparatus for obfuscation of data includes a memory, a random number generation module that generates a plurality of pseudo-random numbers, and divides the identifier into a plurality of identifier pieces, And a data processing module for storing each of the plurality of identifier fragments in a non-contiguous address of the memory according to the generated pseudo-random number.
  • the random number generating module generates a pseudo-random number equal to the number of the identifier fragments, and the data processing module stores each of the identifier fragments in a location in the memory to which an offset according to a corresponding pseudo-random number is applied from a preset reference address. It features.
  • the data processing module divides the secret key to generate the same number of secret key fragments as the identifier fragment, and a corresponding identifier by using each of the generated secret key fragments. It is characterized in that each piece is encrypted.
  • the data processing module calculates the secret key Divided according to the identifier fragment and the same number of secret key fragments x1, x2, ..., xk, where c is a secret key, p is a prime number equal to or greater than k+1, and x is k secrets Key fragment, characterized in that a is a coefficient of a polynomial.
  • the data processing module divides the identifier into a plurality of identifier pieces, and the random number generation module determines the number of the identifier pieces Generating an equal number of pseudo-random numbers, and storing each of the divided plurality of identifier pieces in non-contiguous addresses of the memory according to the generated pseudo-random number.
  • the storing step is characterized in that the data processing module stores each of the identifier pieces in a location in the memory to which an offset according to a corresponding pseudo-random number is applied from a preset reference address.
  • the data processing module Dividing the secret key according to the step of generating the same number of secret key fragments x1, x2, ..., xk with the identifier fragment, and encrypting each corresponding identifier fragment using each of the generated secret key fragments It further includes the step of.
  • c is a secret key
  • p is a prime number equal to or greater than k+1
  • x is k secret key fragments
  • a is a coefficient of a polynomial.
  • data storage security of an IoT device can be improved by performing data obfuscation using a pseudo random number.
  • FIG. 1 is a view for explaining the configuration of an IoT system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram illustrating a configuration of a management device according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a configuration of a device according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method for data obfuscation according to an embodiment of the present invention.
  • FIG. 5 is a flowchart illustrating a method for data obfuscation of an IoT device using a pseudo random number according to an embodiment of the present invention.
  • FIG. 6 is a conceptual diagram illustrating a method of storing data in a memory according to an embodiment of the present invention.
  • FIG. 1 is a view for explaining the configuration of an IoT system according to an embodiment of the present invention.
  • an IoT system includes at least one management device 100 and a plurality of Internet of Things (IoT) devices 200 (hereinafter, abbreviated as'devices'). .
  • IoT Internet of Things
  • the management apparatus 100 classifies and allocates an identifier (ID) for managing the plurality of devices 200, and manages the plurality of devices 200 through the identifier (ID).
  • the management apparatus 100 generates an identifier (ID) for each of the plurality of devices 200 and then provides the generated identifier (ID) by communicating with the plurality of devices 200 through a network, or directly An identifier (ID) may be injected by being connected to each of the plurality of devices 200.
  • Each of the plurality of devices 200 is for providing an Internet of Things (IoT) service, and may provide a corresponding IoT service by connecting with a service server (not shown) for providing a predetermined IoT service.
  • IoT Internet of Things
  • the management device 100 includes a communication unit 110, a storage unit 120, and a control unit 130.
  • the communication unit 110 is a means for communicating with the device 200.
  • the communication unit 110 may include a radio frequency (RF) transmitter Tx for up-converting and amplifying a frequency of a transmitted signal, and an RF receiver Rx for low-noise amplifying and down-converting a received signal. Further, the communication unit 110 includes a modem that modulates the transmitted signal and demodulates the received signal.
  • the communication unit 110 may receive data from the device 200 and transmit it to the controller 130, receive data from the controller 130, and transmit the data to the device 200.
  • RF radio frequency
  • the storage unit 120 serves to store programs and data necessary for the operation of the management device 100.
  • the storage unit 120 may store identifiers (IDs) of each of the plurality of devices 200 managed by the management apparatus 100.
  • the controller 130 may control the overall operation of the management device 100 and a signal flow between internal blocks of the management device 100 and perform a data processing function of processing data.
  • the control unit 130 basically performs a role of controlling various functions of the management device 100.
  • the control unit 130 may be a central processing unit (CPU), a digital signal processor (DSP), or the like.
  • the device 200 includes a communication module 210, a storage module 220, and a control module 230.
  • the communication module 210 is a means for communicating with the management apparatus 100 or another device 200.
  • the communication module 210 may include a radio frequency (RF) transmitter (Tx) for up-converting and amplifying a frequency of a transmitted signal and an RF receiver (Rx) for low-noise amplifying and down-converting a received signal.
  • RF radio frequency
  • the communication module 210 includes a modem that modulates the transmitted signal and demodulates the received signal.
  • the communication module 210 may receive data from the control module 230 and transmit it to the management apparatus 100 or another device 200.
  • the communication module 210 receives data from the management apparatus 100 or another device 200 and transmits the data to the control module 230.
  • the storage module 220 stores programs and data necessary for the operation of the device 200.
  • the storage module 220 may include a memory for storing data and the like.
  • Such a memory may be a representative example of a random-access memory (RAM).
  • RAM random-access memory
  • the memory is not limited thereto, and any storage medium capable of classifying and managing a storage area through an address may be used regardless of its type.
  • the control module 230 may control an overall operation of the device 200 and a signal flow between internal blocks of the device 200, and may perform a data processing function of processing data. In addition, the control module 230 basically performs a role of controlling various functions of the management device 100.
  • the control module 230 may be a central processing unit (CPU), a digital signal processor (DSP), or the like.
  • the control module 230 includes a random number generation module 231 and a data processing module 233.
  • the random number generation module 231 is for generating a plurality of pseudorandom numbers.
  • the data processing module 235 divides an identifier that can uniquely distinguish the device 200 from other devices into a plurality of identifier pieces, and calculates the pseudo-random number generated by the random number generation module 233 for each of the divided plurality of identifier pieces. To a non-contiguous address of the memory of the storage module 220.
  • the operation of the control module 230 including the random number generation module 231 and the data processing module 233 will be described in more detail below.
  • FIG. 4 is a flowchart illustrating a method for data obfuscation according to an embodiment of the present invention.
  • the control unit 130 of the management apparatus 100 generates an identifier (ID) for distinguishing each of the plurality of devices 200 in step S110. Also, optionally, the control unit 130 of the management apparatus 100 may generate different secret keys c for each of the plurality of devices 200 in step S110.
  • ID identifier
  • the control unit 130 of the management apparatus 100 may generate different secret keys c for each of the plurality of devices 200 in step S110.
  • the controller 130 After generating the identifier (ID) and the secret key (c) selectively, the controller 130 is an identifier corresponding to the device 200 connected to the device 200 directly or wirelessly through the communication unit 110 in step S120
  • the (ID) may be provided to the device 200.
  • the secret key c if the secret key c corresponding to the device 200 exists, the secret key c can be provided together with the identifier ID.
  • the control module 230 of the device 200 that has received the identifier (ID) stores the identifier (ID) in the memory of the storage module 220 in step S130. At this time, the control module 230 divides the identifier (ID) into a plurality of identifier fragments (id,k), generates a pseudorandom number equal to the identifier fragment (id,k), and then generates a plurality of identifier fragments (id, k). k) Each is stored in a non-contiguous address of the memory by applying an offset from the reference address storing the identifier (ID) according to the generated pseudo-random number.
  • control module 230 when the control module 230 is additionally provided with the secret key (c), before storing the identifier fragment (id, k) in the memory, the control module 230 divides the secret key (c) to separate the identifier fragment (id, k) and After generating an equal number of secret key fragments (x,k), each of the identifier fragments (id,k) can be encrypted with a corresponding secret key fragment (x,k).
  • the control module 230 of the device 200 stores the identifier fragment (id, k) in the memory in step S140, from the reference address.
  • a plurality of pseudo-random numbers used as offsets are transmitted to the management device 100.
  • the control module 230 may transmit the pseudo-random number to the management device 100 directly or wirelessly with the management device 100 through the communication module 210.
  • the control unit 130 of the management apparatus 100 receiving the pseudo-random number may map and store the pseudo-random number in the storage unit 120 with an identifier (ID) of the corresponding device 200 in step S150. If the secret key c exists, the controller 130 may store the identifier ID, the secret key c, and the pseudo-random number in the storage 120 by mutually mapping them.
  • 5 is a flowchart illustrating a method for data obfuscation of an IoT device using a pseudo random number according to an embodiment of the present invention.
  • 6 is a conceptual diagram illustrating a method of storing data in a memory according to an embodiment of the present invention.
  • the data processing module 233 is an identifier (ID) capable of distinguishing the device 200 from other devices from the management device 100 through a direct connection or wireless connection with the management device 100 in step S210. Can be input.
  • This identifier (ID) may be generated by the management device (100).
  • the data processing module 233 may optionally receive an additional secret key c in addition to the identifier ID.
  • the data processing module 233 divides the identifier (ID) previously received in step S220 to obtain a plurality of (k, where k is a natural number) of identifier fragments (id,k) id1, id2, ..., idk. Generate.
  • the data processing module 233 may divide the identifier (ID) into bytes.
  • the data processing module 233 checks whether the secret key c provided from the management device 100 exists in step S230. As a result of this confirmation, if the secret key c exists, the process proceeds to step S240, and if the secret key c does not exist, the process proceeds to step S250.
  • step S230 if the secret key c exists, the data processing module 233 uses the secret key c to use a plurality of identifier pieces (id) when the secret key c is provided in step S240. ,k) Encrypt each.
  • id the secret key c
  • step S240 if the secret key c exists, the data processing module 233 uses the secret key c to use a plurality of identifier pieces (id) when the secret key c is provided in step S240. ,k) Encrypt each.
  • the data processing module 233 divides the secret key (c) to generate the number (k) of identifier fragments (id, k) and the same number (k) of secret key fragments (x, k).
  • the secret key (c) is divided according to Equation 1 below to generate k secret key fragments (x, k). I can.
  • c is a secret key
  • p is a prime number equal to or greater than k+1
  • x is k pieces of secret key
  • a is a coefficient of a polynomial, and is arbitrarily selected.
  • the data processing module 233 may generate k secret key fragments (x,k) x1, x2, ..., xk according to Equation 1.
  • the data processing module 233 After generating a plurality of (k) secret key pieces (x,k), the data processing module 233 uses each of the generated secret key pieces (x,k) to correspond to the corresponding identifier pieces (id,k). Encrypt each.
  • the data processing module 233 may encrypt the secret key fragments (x,k) corresponding to each of the identifier fragments (id,k) as shown in Equation 2 below.
  • the secret key fragment (x,k) is encrypted through an exclusive OR operation, but the present invention is not limited thereto.
  • the type of operation is not limited as long as it is an operation that encrypts each identifier fragment (id,k) using a secret key fragment (x,k) corresponding to each of the identifier fragments (id,k).
  • the random number generation module 231 (pseudorandom number generator: PRNG) performs a plurality of pseudorandom numbers in step S250. ). At this time, the random number generation module 231 generates a pseudo-random number equal to the number (k) of the identifier pieces (id,k) (k). At this time, the random number generation module 231 generates n pseudo-random numbers so as not to overlap among numbers between 1 and m.
  • the data processing module 233 stores each of the identifier pieces (id, x) in a location in the memory to which an offset according to a corresponding pseudo-random number is applied from a preset reference address in the memory in step S260.
  • the random number generation module 231 generates a pseudo-random number of the same number (k) and the same number (k) of the identifier fragments (id, k), according to the order of the pseudo-random number corresponding to each of the identifier fragments (id, k). Is present, and stores each of the identifier fragments (id,k) in a location (address) to which an offset according to a corresponding pseudo-random number is applied from the reference address in the memory.
  • FIG. 6 an example of applying an offset according to a pseudo-random number to each of the identifier pieces (id, x) and storing it in the memory is illustrated in FIG. 6.
  • the pseudorandom number generated by the random number generation module 231 is 2, 10, 1, 20.
  • the reference address for storing the identifier (ID) of the memory block is "0x0100 0000".
  • the data processing module 233 stores the first identifier fragment (0x0A) in a position to which the offset is applied by 2, which is a pseudorandom number generated from the reference address.
  • the data processing module 233 stores the second identifier fragment 10 at a position offset by 10, which is a pseudorandom number generated from the reference address, and stores the third identifier fragment 30, which is a pseudorandom number generated from the reference address. It stores in a position offset by 1, and stores the fourth identifier piece (B0) in a position offset by 20, which is a pseudo-random number generated from the reference address.
  • the data processing module 233 may transmit the pseudo-random number generated in step S270 to the management device 100.
  • the value cannot be known by simply reading the memory, and since the values of the pseudo-random number generated in individual devices are different, hacking into any one device Even in this case, it cannot be applied to other devices as it is, so the level of security is improved.
  • the methods according to the embodiments of the present invention described above may be implemented in the form of programs readable by various computer means and recorded on a computer readable recording medium.
  • the recording medium may include program commands, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the recording medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.
  • the recording medium includes magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic-optical media such as floptical disks ( magneto-optical media), and hardware devices specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like.
  • Examples of the program instruction may include a high-level language wire that can be executed by a computer using an interpreter or the like as well as a machine language wire made by a compiler.
  • Such a hardware device may be configured to operate as one or more software modules to perform the operation of the present invention, and vice versa.
  • data storage security of an IoT device can be improved by performing data obfuscation using a pseudo-random number. Therefore, the present invention is not only sufficiently commercially available or commercially possible, but also has industrial applicability because it can be implemented clearly in reality.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명에 따른 데이터 난독화를 위한 장치는 메모리와, 복수의 의사난수를 발생시키는 난수발생모듈과, 식별자를 복수의 식별자 조각으로 분할하고, 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 데이터처리모듈을 포함한다.

Description

의사난수를 이용한 IOT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
본 발명은 데이터 난독화 기술에 관한 것으로, 보다 상세하게는, 의사난수(pseudorandom number)를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법에 관한 것이다.
사물인터넷(Internet of Things, 약어로 IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술이다. 즉, 무선 통신을 통해 각종 사물을 연결하는 기술을 의미한다. 인터넷으로 연결된 사물들이 데이터를 주고받아 스스로 분석하고 학습한 정보를 사용자에게 제공하거나 사용자가 이를 원격 조정할 수 있는 인공지능 기술이다. 여기서, 사물이란 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템이 된다. 정보 기술 연구 및 자문회사 가트너에 따르면 사물인터넷 기술을 사용하는 사물의 개수는 2020년까지 이 수가 260억 개에 이를 것으로 예상된다. 이와 같이 많은 사물이 연결되면 인터넷을 통해 방대한 데이터가 모이게 되는데, 이렇게 모인 데이터는 기존 기술로 분석하기 힘들 정도로 방대해진다. 이것을 빅 데이터라고 부른다. 따라서 빅 데이터를 분석하는 효율적인 알고리즘을 개발하는 기술의 필요성이 사물인터넷의 등장에 따라 함께 대두되고 있다.
사물인터넷에 연결되는 사물들은 자신을 구별할 수 있는 유일한 아이피를 가지고 인터넷으로 연결되어야 하며, 외부 환경으로부터의 데이터 취득을 위해 센서를 내장할 수 있다. 모든 사물이 해킹의 대상이 될 수 있어 사물인터넷의 발달과 보안의 발달은 함께 갈 수밖에 없는 구조이다.
본 발명의 목적은 의사난수를 이용하여 IoT 디바이스의 데이터 난독화를 수행할 수 있는 장치 및 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 데이터 난독화를 위한 장치는 메모리와, 복수의 의사난수를 발생시키는 난수발생모듈과, 식별자를 복수의 식별자 조각으로 분할하고, 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 데이터처리모듈을 포함한다.
상기 난수발생모듈은 상기 식별자 조각의 수와 동수의 의사난수를 발생시키며, 상기 데이터처리모듈은 상기 식별자 조각 각각을 상기 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장하는 것을 특징으로 한다.
상기 데이터처리모듈은 상기 식별자에 대응하는 비밀키가 존재하는 경우, 상기 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각을 생성하고, 생성된 복수의 비밀키 조각 각각을 이용하여 대응하는 식별자 조각 각각을 암호화하는 것을 특징으로 한다.
상기 데이터처리모듈은 상기 비밀키를 수학식
Figure PCTKR2019016603-appb-I000001
에 따라 분할하여 상기 식별자 조각과 동수의 비밀키 조각 x1, x2, ..., xk를 생성하며, 상기 c는 비밀키, 상기 p는 k+1 보다 같거나 큰 소수, 상기 x는 k개의 비밀키 조각, 상기 a는 다항식의 계수인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 데이터 난독화를 위한 방법은 데이터처리모듈이 식별자를 복수의 식별자 조각으로 분할하는 단계와, 난수발생모듈이 상기 식별자 조각의 수와 동수의 의사난수를 발생시키는 단계와, 상기 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 단계를 포함한다.
상기 저장하는 단계는 상기 데이터처리모듈이 상기 식별자 조각 각각을 상기 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장하는 것을 특징으로 한다.
상기 복수의 식별자 조각으로 분할하는 단계 후, 상기 의사난수를 발생시키는 단계 전, 상기 데이터처리모듈은 수학식
Figure PCTKR2019016603-appb-I000002
에 따라 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각 x1, x2, ..., xk를 생성하는 단계와, 상기 생성된 복수의 비밀키 조각 각각을 이용하여 대응하는 식별자 조각 각각을 암호화하는 단계를 더 포함한다.
여기서, 상기 c는 비밀키, 상기 p는 k+1 보다 같거나 큰 소수, 상기 x는 k개의 비밀키 조각, 상기 a는 다항식의 계수인 것을 특징으로 한다.
본 발명에 따르면, 의사난수를 이용하여 데이터 난독화를 수행함으로써 IoT 디바이스의 데이터 저장 보안성을 높일 수 있다.
도 1은 본 발명의 실시예에 따른 사물 인터넷 시스템의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 관리장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 디바이스의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 데이터 난독화를 위한 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 실시예에 따른 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 데이터를 메모리에 저장하는 방법을 설명하기 위한 개념도이다.
본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다.
먼저, 본 발명의 실시예에 따른 사물 인터넷 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 사물 인터넷 시스템의 구성을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 사물인터넷 시스템은 적어도 하나의 관리장치(100) 및 복수의 IoT(Internet of Things) 디바이스(200: 이하, '디바이스'로 축약함)를 포함한다.
관리장치(100)는 복수의 디바이스(200)를 구분하여 관리하기 위한 식별자(ID)를 할당하고, 이러한 식별자(ID)를 통해 복수의 디바이스(200)를 관리하기 위한 것이다. 이러한 관리장치(100)는 복수의 디바이스(200) 각각에 대한 식별자(ID)를 생성한 후, 네트워크를 통해 복수의 디바이스(200)와 통신하여 생성된 식별자(ID)를 제공하거나, 직접 유선으로 복수의 디바이스(200) 각각에 연결되어 식별자(ID)를 주입할 수도 있다.
복수의 디바이스(200) 각각은 IoT(Internet of Things) 서비스를 제공하기 위한 것으로, 소정의 IoT 서비스 제공을 위한 서비스서버(미도시)와 연결하여 해당 IoT 서비스를 제공할 수 있다.
다음으로, 전술한 관리장치(100)에 대해서 보다 상세하게 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 관리장치의 구성을 설명하기 위한 블록도이다. 도 2를 참조하면, 관리장치(100)는 통신부(110), 저장부(120) 및 제어부(130)를 포함한다.
통신부(110)는 디바이스(200)와 통신하기 위한 수단이다. 통신부(110)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency) 송신기(Tx) 및 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기(Rx)를 포함할 수 있다. 그리고 통신부(110)는 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함한다. 통신부(110)는 디바이스(200)로부터 데이터를 수신하여 제어부(130)로 전달하고, 제어부(130)로부터 데이터를 전달받고, 디바이스(200)로 전송할 수 있다.
저장부(120)는 관리장치(100)의 동작에 필요한 프로그램 및 데이터를 저장하는 역할을 수행한다. 특히, 저장부(120)는 관리장치(100)가 관장하는 복수의 디바이스(200) 각각의 식별자(ID)를 저장할 수 있다.
제어부(130)는 관리장치(100)의 전반적인 동작 및 관리장치(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 또한, 제어부(130)는 기본적으로, 관리장치(100)의 각 종 기능을 제어하는 역할을 수행한다. 제어부(130)는 중앙처리장치(CPU: Central Processing Unit), 디지털신호처리기(DSP: Digital Signal Processor) 등을 예시할 수 있다.
다음으로, 본 발명의 실시예에 따른 디바이스(200)에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 디바이스의 구성을 설명하기 위한 블록도이다. 도 3을 참조하면, 디바이스(200)는 통신모듈(210), 저장모듈(220) 및 제어모듈(230)을 포함한다.
통신모듈(210)은 관리장치(100) 혹은 다른 디바이스(200)와 통신하기 위한 수단이다. 통신모듈(210)은 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency) 송신기(Tx) 및 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기(Rx)를 포함할 수 있다. 그리고 통신모듈(210)은 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함한다. 통신모듈(210)은 제어모듈(230)로부터 데이터를 전달받아 관리장치(100) 혹은 다른 디바이스(200)로 전송할 수 있다. 또한, 통신모듈(210)은 관리장치(100) 혹은 다른 디바이스(200)로부터 데이터를 수신하여 제어모듈(230)로 전달한다.
저장모듈(220)은 디바이스(200)의 동작에 필요한 프로그램 및 데이터를 저장한다. 특히, 저장모듈(220)은 데이터 등의 저장을 위한 메모리를 포함할 수 있다. 이러한 메모리는 RAM(random-access memory)을 대표적으로 예시할 수 있다. 하지만, 본 발명에서 메모리를 이에 한정하는 것은 아니며, 주소를 통해 저장 영역을 구분하여 관리할 수 있는 저장 매체라면 그 종류에 무관하게 사용될 수 있다.
제어모듈(230)은 디바이스(200)의 전반적인 동작 및 디바이스(200) 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 또한, 제어모듈(230)은 기본적으로, 관리장치(100)의 각 종 기능을 제어하는 역할을 수행한다. 제어모듈(230)은 중앙처리장치(CPU: Central Processing Unit), 디지털신호처리기(DSP: Digital Signal Processor) 등을 예시할 수 있다. 제어모듈(230)은 난수발생모듈(231) 및 데이터처리모듈(233)을 포함한다.
난수발생모듈(231)은 복수의 의사난수(pseudorandom number)를 발생시키기 위한 것이다. 데이터처리모듈(235)은 디바이스(200)를 다른 디바이스와 고유하게 구분할 수 있는 식별자를 복수의 식별자 조각으로 분할하고, 분할된 복수의 식별자 조각 각각을 난수발생모듈(233)이 발생시킨 의사난수를 이용하여 저장모듈(220)의 메모리의 연속되지 않은 어드레스에 저장한다. 난수발생모듈(231) 및 데이터처리모듈(233)을 포함하는 제어모듈(230)의 동작은 아래에서 더 상세하게 설명될 것이다.
다음으로, 본 발명의 실시예에 따른 데이터 난독화를 위한 방법을 설명하도록 한다. 도 4는 본 발명의 실시예에 따른 데이터 난독화를 위한 방법을 설명하기 위한 흐름도이다.
관리장치(100)의 제어부(130)는 S110 단계에서 복수의 디바이스(200) 각각을 구분하기 위한 식별자(ID)를 생성한다. 또한, 선택적으로, 관리장치(100)의 제어부(130)는 S110 단계에서 복수의 디바이스(200) 각각에 대해 서로 다른 비밀키(c)를 생성할 수 있다.
식별자(ID)와 선택적으로 비밀키(c)를 생성한 후, 제어부(130)는 S120 단계에서 통신부(110)를 통해 디바이스(200)와의 직접 혹은 무선을 통해 연결된 디바이스(200)에 대응하는 식별자(ID)를 해당 디바이스(200)에 제공할 수 있다. 이때, 해당 디바이스(200)에 대응하는 비밀키(c)가 존재하는 경우, 식별자(ID)와 더불어 비밀키(c)를 제공할 수 있다.
식별자(ID)를 제공 받은 디바이스(200)의 제어모듈(230)은 S130 단계에서 저장모듈(220)의 메모리에 식별자(ID)를 저장한다. 이때, 제어모듈(230)은 식별자(ID)를 복수의 식별자 조각(id,k)으로 분할하고, 식별자 조각(id,k)과 동수의 의사난수를 발생시킨 후, 복수의 식별자 조각(id,k) 각각을 발생된 의사난수에 따라 식별자(ID)를 저장하는 기준 어드레스로부터 오프셋을 적용하여 메모리의 연속되지 않은 어드레스에 저장한다. 한편, 제어모듈(230)은 비밀키(c)를 추가로 제공 받은 경우, 식별자 조각(id,k)을 메모리에 저장하기 전, 비밀키(c)를 분할하여 식별자 조각(id,k)과 동수의 비밀키 조각(x,k)을 생성한 후, 식별자 조각(id,k) 각각을 대응하는 비밀키 조각(x,k)으로 암호화할 수 있다.
전술한 바와 같이, 식별자 조각(id,k)을 메모리에 저장한 후, 디바이스(200)의 제어모듈(230)은 S140 단계에서 식별자 조각(id,k)을 메모리에 저장할 때, 기준 어드레스로부터의 오프셋으로 이용된 복수의 의사난수를 관리장치(100)로 전달한다. 이때, 제어모듈(230)은 통신모듈(210)을 통해 관리장치(100)와 직접 혹은 무선을 통해 의사난수를 관리장치(100)로 전달할 수 있다.
의사난수를 수신한 관리장치(100)의 제어부(130)는 S150 단계에서 저장부(120)에 해당 의사난수를 해당 디바이스(200)의 식별자(ID)와 매핑하여 저장할 수 있다. 만약, 비밀키(c)가 존재하는 경우, 제어부(130)는 저장부(120)에 식별자(ID)와 비밀키(c)와 의사난수를 상호 매핑하여 저장할 수 있다.
다음으로, 본 발명의 실시예에 따른 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 방법을 설명하도록 한다. 도 5는 본 발명의 실시예에 따른 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 방법을 설명하기 위한 흐름도이다. 도 6은 본 발명의 실시예에 따른 데이터를 메모리에 저장하는 방법을 설명하기 위한 개념도이다.
도 5를 참조하면, 데이터처리모듈(233)은 S210 단계에서 관리장치(100)와의 직접 연결 혹은 무선 연결을 통해 관리장치(100)로부터 디바이스(200)를 다른 디바이스와 구분할 수 있는 식별자(ID)를 입력받을 수 있다. 이러한 식별자(ID)는 관리장치(100)에 의해 생성된 것일 수 있다. 이러한 S210 단계에서 관리장치(100)가 비밀키(c)를 제공한 경우, 선택적으로, 데이터처리모듈(233)은 식별자(ID)와 더불어 비밀키(c)를 추가로 입력받을 수 있다.
이어서, 데이터처리모듈(233)은 S220 단계에서 앞서 수신된 식별자(ID)를 분할하여 복수(k, 여기서, k는 자연수)의 식별자 조각(id,k) id1, id2, ..., idk를 생성한다. 바람직하게, 데이터처리모듈(233)은 식별자(ID)를 바이트 단위로 분할할 수 있다.
데이터처리모듈(233)은 S230 단계에서 관리장치(100)로부터 제공받은 비밀키(c)가 존재하는지 여부를 확인한다. 이러한 확인 결과, 비밀키(c)가 존재하는 경우, S240 단계로 진행하고, 비밀키(c)가 존재하지 않은 경우, S250 단계로 진행한다.
S230 단계의 판단 결과, 비밀키(c)가 존재하는 경우, 데이터처리모듈(233)은 S240 단계에서 비밀키(c)를 제공받은 경우, 비밀키(c)를 이용하여 복수의 식별자 조각(id,k) 각각을 암호화한다. 이러한 암호화에 대해 보다 구체적으로 설명하면 다음과 같다.
먼저, 데이터처리모듈(233)은 비밀키(c)를 분할하여 식별자 조각(id,k)의 수(k)와 동수(k)의 비밀키 조각(x,k)을 생성한다.
예컨대, 식별자 조각(id,k)의 수가 k(여기서, k는 자연수)일 때, 다음의 수학식 1에 따라 비밀키(c)를 분할하여 k개의 비밀키 조각(x,k)을 생성할 수 있다.
Figure PCTKR2019016603-appb-M000001
여기서, c는 비밀키, p는 k+1 보다 같거나 큰 소수, x는 k개의 비밀키 조각, a는 다항식의 계수이며, 임의로 선택된다.
즉, 데이터처리모듈(233)은 수학식 1에 따라 k개의 비밀키 조각(x,k) x1, x2, ..., xk를 생성할 수 있다.
복수(k)의 비밀키 조각(x,k)을 생성한 후, 데이터처리모듈(233)은 생성된 복수의 비밀키 조각(x,k) 각각을 이용하여 대응하는 식별자 조각(id,k) 각각을 암호화한다.
예컨대, 데이터처리모듈(233)은 식별자 조각(id,k) 각각을 대응하는 비밀키 조각(x,k)을 다음의 수학식 2와 같이, 암호화할 수 있다.
Figure PCTKR2019016603-appb-M000002
여기서, 배타적 논리합(Exclusive OR) 연산을 통해 비밀키 조각(x,k)을 암호화하는 것으로 설명하였지만, 본 발명을 이에 한정하는 것은 아니다. 식별자 조각(id,k) 각각에 대응하는 비밀키 조각(x,k)을 이용하여 식별자 조각(id,k) 각각을 암호화하는 연산이라면 연산의 종류는 제한되지 않는다.
한편, S230 단계의 판단 결과, 비밀키(c)가 존재하지 않는 경우, 혹은, S240 단계가 완료된 후, 난수발생모듈(231, pseudorandom number generator: PRNG)은 S250 단계에서 복수의 의사난수(pseudorandom number)를 발생시킨다. 이때, 난수발생모듈(231)은 식별자 조각(id,k)의 수(k)와 동수(k)의 의사난수를 발생시킨다. 이때, 난수발생모듈(231)은 1 내지 m 사이의 수 중 중복되지 않도록 n개의 의사난수를 생성한다.
다음으로, 데이터처리모듈(233)은 S260 단계에서 식별자 조각(id,x) 각각에 대해 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장한다.
즉, 난수발생모듈(231)은 식별자 조각(id,k)의 수(k)와 동수(k)의 의사난수를 발생시키기 때문에 그 순서에 따라 식별자 조각(id,k) 각각에 대응하는 의사난수가 존재하며, 식별자 조각(id,k) 각각을 메모리상의 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치(어드레스)에 저장한다. 이와 같이, 식별자 조각(id,x) 각각에 의사난수에 따른 오프셋을 적용하여 메모리에 저장하는 일예가 도 6에 도시되었다.
도시된 바와 같이, 식별자(ID)는 0x0A 10 30 B0이고, 바이트 단위로 분할되어 4개(k=4)의 식별자 조각(0x0A, 10, 30, B0)으로 분할되었다고 가정한다. 또한, 난수발생모듈(231)이 발생시킨 의사난수는 2, 10, 1, 20이라고 가정한다. 그리고 메모리 블록의 식별자(ID)를 저장하는 기준 어드레스는 "0x0100 0000"라고 가정한다.
이에 따라, 데이터처리모듈(233)은 도 6에 도시된 바와 같이, 첫 번째 식별자 조각(0x0A)을 기준 어드레스로부터 발생된 의사난수인 2만큼 오프셋을 적용한 위치에 저장한다.
마찬가지로, 데이터처리모듈(233)은 두 번째 식별자 조각(10)을 기준 어드레스로부터 발생된 의사난수인 10만큼 오프셋된 위치에 저장하고, 세 번째 식별자 조각(30)을 기준 어드레스로부터 발생된 의사난수인 1만큼 오프셋된 위치에 저장하고, 네 번째 식별자 조각(B0)을 기준 어드레스로부터 발생된 의사난수인 20만큼 오프셋된 위치에 저장한다.
전술한 바와 같이, 의사난수를 통해 복수의 식별자 조각을 메모리에 저장한 후, 데이터처리모듈(233)은 S270 단계에서 발생된 의사난수를 관리장치(100)로 전달할 수 있다.
본 발명의 실시예에 따른 방법을 통해 식별자 혹은 데이터를 저장하는 경우, 단순히 메모리를 읽어서는 그 값을 알 수 없고, 개별 디바이스에서 발생되는 의사난수의 값들이 상이하기 때문에 어느 하나의 디바이스를 해킹하는 경우에도 다른 디바이스에 그대로 적용할 수 없어, 보안의 레벨이 향상된다.
한편, 앞서 설명된 본 발명의 실시예에 따른 방법들은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
본 발명은 의사난수를 이용하여 데이터 난독화를 수행함으로써 IoT 디바이스의 데이터 저장 보안성을 높일 수 있다. 따라서 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.

Claims (8)

  1. 데이터 난독화를 위한 장치에 있어서,
    메모리;
    복수의 의사난수를 발생시키는 난수발생모듈; 및
    식별자를 복수의 식별자 조각으로 분할하고, 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 데이터처리모듈;을 포함하는 것을 특징으로 하는
    데이터 난독화를 위한 장치.
  2. 제1항에 있어서,
    상기 난수발생모듈은
    상기 식별자 조각의 수와 동수의 의사난수를 발생시키며,
    상기 데이터처리모듈은
    상기 식별자 조각 각각을 상기 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장하는 것을 특징으로 하는
    데이터 난독화를 위한 장치.
  3. 제1항에 있어서,
    상기 데이터처리모듈은
    상기 식별자에 대응하는 비밀키가 존재하는 경우, 상기 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각을 생성하고,
    생성된 복수의 비밀키 조각 각각을 이용하여 대응하는 식별자 조각 각각을 암호화하는 것을 특징으로 하는
    데이터 난독화를 위한 장치.
  4. 제3항에 있어서,
    상기 데이터처리모듈은
    상기 비밀키를
    수학식
    Figure PCTKR2019016603-appb-I000003
    에 따라 분할하여 상기 식별자 조각과 동수의 비밀키 조각 x1, x2, ..., xk를 생성하며,
    상기 c는 비밀키,
    상기 p는 k+1 보다 같거나 큰 소수,
    상기 x는 k개의 비밀키 조각,
    상기 a는 다항식의 계수인 것을 특징으로 하는
    데이터 난독화를 위한 장치.
  5. 데이터 난독화를 위한 방법에 있어서,
    데이터처리모듈이 식별자를 복수의 식별자 조각으로 분할하는 단계;
    난수발생모듈이 상기 식별자 조각의 수와 동수의 의사난수를 발생시키는 단계;
    상기 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 단계;를 포함하는 것을 특징으로 하는
    데이터 난독화를 위한 방법.
  6. 제5항에 있어서,
    상기 저장하는 단계는
    상기 데이터처리모듈이 상기 식별자 조각 각각을 상기 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장하는 것을 특징으로 하는
    데이터 난독화를 위한 방법.
  7. 제5항에 있어서,
    상기 복수의 식별자 조각으로 분할하는 단계 후,
    상기 의사난수를 발생시키는 단계 전,
    상기 데이터처리모듈이 상기 식별자에 대응하는 비밀키가 존재하는 경우, 상기 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각을 생성하는 단계; 및
    상기 생성된 복수의 비밀키 조각 각각을 이용하여 대응하는 식별자 조각 각각을 암호화하는 단계;를 더 포함하는
    데이터 난독화를 위한 방법.
  8. 제7항에 있어서,
    상기 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각을 생성하는 단계는
    상기 데이터처리모듈이
    수학식
    Figure PCTKR2019016603-appb-I000004
    에 따라 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각 x1, x2, ..., xk를 생성하며,
    상기 c는 비밀키,
    상기 p는 k+1 보다 같거나 큰 소수,
    상기 x는 k개의 비밀키 조각,
    상기 a는 다항식의 계수인 것을 특징으로 하는
    데이터 난독화를 위한 방법.
PCT/KR2019/016603 2019-04-26 2019-11-28 의사난수를 이용한 iot 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법 WO2020218699A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/965,259 US20210209241A1 (en) 2019-04-26 2019-11-28 Apparatus and method for data obfuscation of IoT device using pseudorandom number

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190049180A KR102030785B1 (ko) 2019-04-26 2019-04-26 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
KR10-2019-0049180 2019-04-26

Publications (1)

Publication Number Publication Date
WO2020218699A1 true WO2020218699A1 (ko) 2020-10-29

Family

ID=68206947

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/016603 WO2020218699A1 (ko) 2019-04-26 2019-11-28 의사난수를 이용한 iot 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법

Country Status (3)

Country Link
US (1) US20210209241A1 (ko)
KR (1) KR102030785B1 (ko)
WO (1) WO2020218699A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007349A (ja) * 2000-06-22 2002-01-11 Asahi Business Assist:Kk 機密情報の記録再生方法および本人認証のための暗号鍵等を記録した記録媒体
KR20110133870A (ko) * 2010-06-07 2011-12-14 동국대학교 경주캠퍼스 산학협력단 데이터 분산 저장 및 복원 방법 및 그 장치
JP2015228139A (ja) * 2014-05-30 2015-12-17 凸版印刷株式会社 表示システム
JP2018156685A (ja) * 2018-06-08 2018-10-04 凸版印刷株式会社 表示システム
KR101952641B1 (ko) * 2017-10-13 2019-02-27 주식회사 오스랩스 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1115374A (ja) * 1997-06-19 1999-01-22 Hitachi Software Eng Co Ltd 秘密鍵分割供託方法およびその確認方法
US6681275B2 (en) * 2001-09-20 2004-01-20 Intel Corporation Method and apparatus for dynamic coalescing
KR100511684B1 (ko) * 2003-08-01 2005-08-31 (주)씨앤에스 테크놀로지 유사 난수 발생기
KR101072691B1 (ko) * 2009-07-23 2011-10-11 포항공과대학교 산학협력단 연관성 피드백을 이용한 데이터베이스 검색 방법 및 이를 수행하는 프로그램을 기록한 기록매체
JP2011114779A (ja) * 2009-11-30 2011-06-09 Panasonic Corp 端末装置および通信方法
EP2553905B1 (en) * 2010-03-31 2018-05-09 Security First Corp. Systems and methods for securing data in motion
CA2807972A1 (en) * 2010-08-11 2012-02-16 Security First Corp. Systems and methods for secure multi-tenant data storage
KR101305639B1 (ko) 2010-09-10 2013-09-16 삼성전자주식회사 복제 방지를 위한 비휘발성 저장 장치 및 그 저장 장치의 인증 방법
JP6008316B2 (ja) * 2012-08-24 2016-10-19 パナソニックIpマネジメント株式会社 秘密分散装置および秘密分散プログラム
JP6100795B2 (ja) * 2012-11-13 2017-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機器を遠隔操作するシステムにおいて用いられる方法
US20160239683A1 (en) * 2013-03-15 2016-08-18 Inder-Jeet Singh Gujral System and method for securely storing files
CN103295048A (zh) * 2013-05-20 2013-09-11 爱康普科技(大连)有限公司 电子标签信息传输系统和方法
JP6318878B2 (ja) * 2014-06-04 2018-05-09 富士通株式会社 通信装置、システム及び通信処理方法
EP3373504B1 (en) * 2016-01-18 2019-09-11 Mitsubishi Electric Corporation Encryption device, retrieval device, encryption program, retrieval program, encryption method, and retrieval method
CN106027240B (zh) * 2016-07-01 2019-06-04 南京邮电大学 一种基于属性的密钥隔离签名方法
CN106350449B (zh) * 2016-07-20 2018-10-09 广东省心血管病研究所 一种用于脐带血干细胞的检测和筛查系统
US10887090B2 (en) * 2017-09-22 2021-01-05 Nec Corporation Scalable byzantine fault-tolerant protocol with partial tee support
WO2020191029A1 (en) * 2019-03-20 2020-09-24 Google Llc Cosharding and randomized cosharding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007349A (ja) * 2000-06-22 2002-01-11 Asahi Business Assist:Kk 機密情報の記録再生方法および本人認証のための暗号鍵等を記録した記録媒体
KR20110133870A (ko) * 2010-06-07 2011-12-14 동국대학교 경주캠퍼스 산학협력단 데이터 분산 저장 및 복원 방법 및 그 장치
JP2015228139A (ja) * 2014-05-30 2015-12-17 凸版印刷株式会社 表示システム
KR101952641B1 (ko) * 2017-10-13 2019-02-27 주식회사 오스랩스 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법
JP2018156685A (ja) * 2018-06-08 2018-10-04 凸版印刷株式会社 表示システム
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법

Also Published As

Publication number Publication date
US20210209241A1 (en) 2021-07-08
KR102030785B1 (ko) 2019-10-10

Similar Documents

Publication Publication Date Title
CN108833101B (zh) 物联网设备的数据传输方法、物联网设备及认证平台
US10757571B2 (en) Internet of things device
CN107438850B (zh) 使用签名的地址验证
US9996709B2 (en) Secure computer architecture
CN111274268B (zh) 物联网数据传输方法、装置、介质及电子设备
CN109309650B (zh) 处理数据的方法、终端设备和网络设备
WO2019059453A1 (ko) 블록체인을 이용한 메시지 히스토리 기반의 보안 키를 이용하는 통신 장치 및 방법
CN110099064A (zh) 一种基于物联网的文件处理方法、装置、设备和存储介质
WO2018213744A2 (en) Reducing compromise of sensitive data in virtual machine
CN114285551B (zh) 量子密钥分发方法、装置、可读存储介质及电子设备
CN109068284B (zh) 基于物联网设备之间群组连接的物理层认证方法及系统
WO2018186543A1 (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
CN112883388A (zh) 文件加密方法及装置、存储介质、电子装置
WO2017086757A1 (ko) 보안 터널을 이용하여 타겟 장치의 보안을 제어하는 방법 및 장치
WO2020218699A1 (ko) 의사난수를 이용한 iot 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
WO2018038445A1 (ko) 암호 파일을 관리하는 모바일 장치의 방법 및 그것을 포함하는 암호 파일 관리 시스템
WO2024005565A1 (ko) 메신저 서비스를 제공하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
WO2014107060A1 (ko) 모바일 데이터 보안 장치 및 방법
WO2014003425A1 (en) Method and apparatus for secure communication and determining secret information
CN106487761B (zh) 一种消息传输方法和网络设备
CN116166749A (zh) 数据共享方法、装置、电子设备及存储介质
WO2019066319A1 (en) METHOD FOR PROVIDING KEY INFORMATION AND APPARATUS USING THE METHOD
WO2017213321A1 (ko) 공유 정보를 보호하는 방법 및 시스템
WO2017014614A1 (ko) Iot 디바이스의 통신 클라이언트의 동작 방법 및 상기 통신 클라이언트를 포함하는 iot 디바이스
WO2020009265A1 (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: 19926407

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19926407

Country of ref document: EP

Kind code of ref document: A1