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

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

Info

Publication number
KR102030785B1
KR102030785B1 KR1020190049180A KR20190049180A KR102030785B1 KR 102030785 B1 KR102030785 B1 KR 102030785B1 KR 1020190049180 A KR1020190049180 A KR 1020190049180A KR 20190049180 A KR20190049180 A KR 20190049180A KR 102030785 B1 KR102030785 B1 KR 102030785B1
Authority
KR
South Korea
Prior art keywords
identifier
secret key
random number
fragments
data
Prior art date
Application number
KR1020190049180A
Other languages
English (en)
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 KR1020190049180A priority Critical patent/KR102030785B1/ko
Application granted granted Critical
Publication of KR102030785B1 publication Critical patent/KR102030785B1/ko
Priority to PCT/KR2019/016603 priority patent/WO2020218699A1/ko
Priority to US16/965,259 priority patent/US20210209241A1/en

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/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/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
    • 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

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 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법{An apparatus for obfuscating data of IoT devices using pseudorandom number and a method therefor}
본 발명은 데이터 난독화 기술에 관한 것으로, 보다 상세하게는, 의사난수(pseudorandom number)를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법에 관한 것이다.
사물인터넷(Internet of Things, 약어로 IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인터넷에 연결하는 기술이다. 즉, 무선 통신을 통해 각종 사물을 연결하는 기술을 의미한다. 인터넷으로 연결된 사물들이 데이터를 주고받아 스스로 분석하고 학습한 정보를 사용자에게 제공하거나 사용자가 이를 원격 조정할 수 있는 인공지능 기술이다. 여기서, 사물이란 가전제품, 모바일 장비, 웨어러블 디바이스 등 다양한 임베디드 시스템이 된다. 정보 기술 연구 및 자문회사 가트너에 따르면 사물인터넷 기술을 사용하는 사물의 개수는 2020년까지 이 수가 260억 개에 이를 것으로 예상된다. 이와 같이 많은 사물이 연결되면 인터넷을 통해 방대한 데이터가 모이게 되는데, 이렇게 모인 데이터는 기존 기술로 분석하기 힘들 정도로 방대해진다. 이것을 빅 데이터라고 부른다. 따라서 빅 데이터를 분석하는 효율적인 알고리즘을 개발하는 기술의 필요성이 사물인터넷의 등장에 따라 함께 대두되고 있다.
사물인터넷에 연결되는 사물들은 자신을 구별할 수 있는 유일한 아이피를 가지고 인터넷으로 연결되어야 하며, 외부 환경으로부터의 데이터 취득을 위해 센서를 내장할 수 있다. 모든 사물이 해킹의 대상이 될 수 있어 사물인터넷의 발달과 보안의 발달은 함께 갈 수밖에 없는 구조이다.
한국공개특허 제2012-0026974호 2012년 03월 20일 공개 (명칭: 복제 방지를 위한 비휘발성 저장 장치 및 그 저장 장치의 인증 방법)
본 발명의 목적은 의사난수를 이용하여 IoT 디바이스의 데이터 난독화를 수행할 수 있는 장치 및 방법을 제공함에 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 데이터 난독화를 위한 장치는 메모리와, 복수의 의사난수를 발생시키는 난수발생모듈과, 식별자를 복수의 식별자 조각으로 분할하고, 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 데이터처리모듈을 포함한다.
상기 난수발생모듈은 상기 식별자 조각의 수와 동수의 의사난수를 발생시키며, 상기 데이터처리모듈은 상기 식별자 조각 각각을 상기 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장하는 것을 특징으로 한다.
상기 데이터처리모듈은 상기 식별자에 대응하는 비밀키가 존재하는 경우, 상기 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각을 생성하고, 생성된 복수의 비밀키 조각 각각을 이용하여 대응하는 식별자 조각 각각을 암호화하는 것을 특징으로 한다.
상기 데이터처리모듈은 상기 비밀키를 수학식
Figure 112019043402658-pat00001
에 따라 분할하여 상기 식별자 조각과 동수의 비밀키 조각 x1, x2, ..., xk를 생성하며, 상기 c는 비밀키, 상기 p는 k+1 보다 같거나 큰 소수, 상기 x는 k개의 비밀키 조각, 상기 a는 다항식의 계수인 것을 특징으로 한다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 데이터 난독화를 위한 방법은 데이터처리모듈이 식별자를 복수의 식별자 조각으로 분할하는 단계와, 난수발생모듈이 상기 식별자 조각의 수와 동수의 의사난수를 발생시키는 단계와, 상기 분할된 복수의 식별자 조각 각각을 상기 발생된 의사난수에 따라 메모리의 연속되지 않은 어드레스에 저장하는 단계를 포함한다.
상기 저장하는 단계는 상기 데이터처리모듈이 상기 식별자 조각 각각을 상기 메모리상에서 기 설정된 기준 어드레스로부터 대응하는 의사난수에 따른 오프셋이 적용된 위치에 저장하는 것을 특징으로 한다.
상기 복수의 식별자 조각으로 분할하는 단계 후, 상기 의사난수를 발생시키는 단계 전, 상기 데이터처리모듈은 수학식
Figure 112019043402658-pat00002
에 따라 비밀키를 분할하여 상기 식별자 조각과 동수의 비밀키 조각 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 112019043402658-pat00003
Figure 112019043402658-pat00004
Figure 112019043402658-pat00005
여기서, 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 112019043402658-pat00006
여기서, 배타적 논리합(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), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다.
100: 관리장치 110: 통신부
120: 저장부 130: 제어부
200: 디바이스 210: 통신모듈
220: 저장모듈 230: 제어모듈
231: 난수발생모듈 233: 데이터처리모듈

Claims (7)

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

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190049180A KR102030785B1 (ko) 2019-04-26 2019-04-26 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
PCT/KR2019/016603 WO2020218699A1 (ko) 2019-04-26 2019-11-28 의사난수를 이용한 iot 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
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 (1)

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

Publications (1)

Publication Number Publication Date
KR102030785B1 true KR102030785B1 (ko) 2019-10-10

Family

ID=68206947

Family Applications (1)

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

Country Status (3)

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

Cited By (1)

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

Citations (5)

* 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 機密情報の記録再生方法および本人認証のための暗号鍵等を記録した記録媒体
KR20120026974A (ko) 2010-09-10 2012-03-20 삼성전자주식회사 복제 방지를 위한 비휘발성 저장 장치 및 그 저장 장치의 인증 방법
JP2015228139A (ja) * 2014-05-30 2015-12-17 凸版印刷株式会社 表示システム
JP2018156685A (ja) * 2018-06-08 2018-10-04 凸版印刷株式会社 表示システム
KR101952641B1 (ko) * 2017-10-13 2019-02-27 주식회사 오스랩스 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법

Family Cites Families (19)

* 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
KR101129335B1 (ko) * 2010-06-07 2012-03-26 동국대학교 경주캠퍼스 산학협력단 데이터 분산 저장 및 복원 방법 및 그 장치
EP2603996A1 (en) * 2010-08-11 2013-06-19 Rick L. Orsini Systems and methods for secure multi-tenant data storage
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 富士通株式会社 通信装置、システム及び通信処理方法
JP6289768B2 (ja) * 2016-01-18 2018-03-07 三菱電機株式会社 暗号化装置、暗号化プログラム及び暗号化方法
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
EP3861458A1 (en) * 2019-03-20 2021-08-11 Google LLC Cosharding and randomized cosharding
KR102030785B1 (ko) * 2019-04-26 2019-10-10 주식회사그린존시큐리티 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법

Patent Citations (5)

* 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 機密情報の記録再生方法および本人認証のための暗号鍵等を記録した記録媒体
KR20120026974A (ko) 2010-09-10 2012-03-20 삼성전자주식회사 복제 방지를 위한 비휘발성 저장 장치 및 그 저장 장치의 인증 방법
JP2015228139A (ja) * 2014-05-30 2015-12-17 凸版印刷株式会社 表示システム
KR101952641B1 (ko) * 2017-10-13 2019-02-27 주식회사 오스랩스 클라우드 환경에서의 위치기반 다채널 로그인 인증 방법
JP2018156685A (ja) * 2018-06-08 2018-10-04 凸版印刷株式会社 表示システム

Cited By (1)

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

Also Published As

Publication number Publication date
US20210209241A1 (en) 2021-07-08
WO2020218699A1 (ko) 2020-10-29

Similar Documents

Publication Publication Date Title
US10757571B2 (en) Internet of things device
KR20150035971A (ko) 사물인터넷에서 스마트 디바이스 또는 스마트 센서와 네트워크 게이트웨이 사이의 안전한 데이터 전달을 위한 통신 프로토콜
KR102449816B1 (ko) 암호화 및 검색 장치 및 그 방법
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
CN111970114B (zh) 文件加密方法、系统、服务器和存储介质
CN114285551B (zh) 量子密钥分发方法、装置、可读存储介质及电子设备
CN107872315B (zh) 数据处理方法和智能终端
KR101424972B1 (ko) 모바일 카드를 이용한 컨텐츠 사용 방법, 호스트 장치, 및모바일 카드
JP2013156675A (ja) 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
CN116015767A (zh) 一种数据处理方法、装置、设备及介质
KR102030785B1 (ko) 의사난수를 이용한 IoT 디바이스의 데이터 난독화를 위한 장치 및 이를 위한 방법
CN110958255A (zh) 一种数据传输方法、装置及电子设备和存储介质
CN114338005A (zh) 一种数据传输加密方法、装置、电子设备及存储介质
US20160148002A1 (en) Key storage apparatus, key storage method and program therefor
JP5745493B2 (ja) 鍵共有システム、鍵共有方法、プログラム
JP6792191B2 (ja) 情報送信方法、情報処理方法、プログラム、復号方法、プログラム
GB2522096A (en) Data encryption and decryption
CN108847937B (zh) 密钥处理方法、装置、设备及介质
JP5945525B2 (ja) 鍵交換システム、鍵交換装置、その方法、及びプログラム
US10936757B2 (en) Registration destination determination device, searchable encryption system, destination determination method, and computer readable medium
KR20170083359A (ko) Aes 알고리즘을 이용한 사물인터넷 기기간 암호화 및 복호화 방법
JP2006229747A (ja) データ提供サーバ、データ提供プログラム、データ提供方法
CN110999205A (zh) 用于简档证书私有密钥或其他数据的封装的装置和方法
KR101951848B1 (ko) 단말장치의 하드웨어 암호모듈 이중화를 통한 보안 강화를 구현하는 전력제어시스템
CN118118209A (zh) 一种基于wasm的通用数据加密方法和系统

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant