WO2017111202A1 - 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템 - Google Patents

사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템 Download PDF

Info

Publication number
WO2017111202A1
WO2017111202A1 PCT/KR2016/001531 KR2016001531W WO2017111202A1 WO 2017111202 A1 WO2017111202 A1 WO 2017111202A1 KR 2016001531 W KR2016001531 W KR 2016001531W WO 2017111202 A1 WO2017111202 A1 WO 2017111202A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
context
terminal
information
user
Prior art date
Application number
PCT/KR2016/001531
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 서강대학교산학협력단
Publication of WO2017111202A1 publication Critical patent/WO2017111202A1/ko

Links

Images

Classifications

    • 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/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Definitions

  • the Internet of Things is a system for connecting information in everyday life through wired and wireless networks and sharing information.
  • the Internet of Things is an IoT connection network that forms intelligent relationships such as sensing, networking, and information processing in cooperation with human beings, things, and services, without explicit human intervention.
  • the main components of the Internet of Things include not only home appliances in wired and wireless networks, but also humans, vehicles, bridges, various electronic equipment, cultural assets, and physical objects constituting the natural environment. Things are of course evolving into a concept that interacts with all information in the real and virtual worlds. Heart rate monitoring machines developed by US venture company Coventis and Nike's Fuel Band were also built on IoT technology.
  • companies such as Samsung Electronics, LG Electronics, Siemens, Whirlpool, and General Electric are also focusing on the development of home appliances that enable wired and wireless communication.
  • the present invention selectively provides encrypted data or unencrypted data according to whether the user successfully decrypts the data, thereby maintaining data security and time and throughput for decryption in the user. Can be reduced.
  • the decryption success information storage module stores the decryption success information corresponding to the user and the data identification information from the terminal.
  • the decryption success information storage module of the service server 100 stores decryption success information, which is whether the terminals 200 and 202 normally decrypt the data provided, and when re-accessing previously decrypted data, By providing unencrypted data to the terminal, unnecessary decryption at the terminal can be minimized. To this end, the service server 100 stores both encrypted data and unencrypted data.
  • the data owner equipment 102 stores data from the terminals 200 and 202 provided by the service server 100, and provides data requested by the service server 100 to the service server 100.
  • the data owner equipment 102 also provides an interface with the operator.
  • Each of the terminals 200 and 202 may access the service server 100 through a short range wireless communication device 104 such as WIFI or a long range wireless communication system 300 such as an LTE carrier system.
  • a short range wireless communication device 104 such as WIFI
  • a long range wireless communication system 300 such as an LTE carrier system.
  • the data decoding module after indicating whether the context information matches the leaf of the access tree in the form of a binary tree, converts each value of the binary tree into an SOP expression, one for each term constituting the SOP expression. It is preferable to determine whether the context information and the access tree match when all terms match by checking whether there is a match, and after checking the terms constituting the SOP expression by the length of the term, checking whether they match one by one. desirable.
  • the decryption success information transmission module transmits decryption success information to the service server when the decryption of the encrypted data is successful.
  • the terminals 200 and 202 provide the service server 100 with success or failure of decryption of the encrypted data, and the context information included in the private key information is encrypted when decrypting the encrypted data. This method is performed after verifying that all of the access trees match with each other, and shortens the time and processing required for the verification by changing the algorithm for verification.
  • each of the terminals 200 and 202 processes unencrypted data from the service server 100 in a manner according to a user's request.
  • the context information is configured as an access tree in order to perform encryption by the CP-ABE method, which is illustrated in FIG. 2.
  • the access tree may employ a three-level binary tree or a four-level binary tree.
  • Such a binary tree is a general form that can include any tree form, and is easily represented in the form of a sum of product (SOP).
  • a security method according to the present invention applicable to a service system that provides a context-based security function in the IoT environment will now be described with reference to FIG. 3.
  • any one of the terminals 200 and 202 transmits the context information to the service server 100 whenever the context information changes (step 400).
  • the service server 100 configures the context information as an access tree, and stores and encrypts data on the corresponding terminal according to the CP-ABE method using the access tree.
  • the service server 100 has a predetermined public key (PK) and master key (MK), and when encrypting the data using a predetermined public key (PK) and access tree (T), The access tree is generated based on the context information.
  • the service server 100 stores both encrypted data and unencrypted data, and selectively provides the encrypted data and the unencrypted data to the terminal according to whether the corresponding data is successfully decrypted in the terminal.
  • the service server 100 generates a private key and transmits the private key to the corresponding terminal (step 406).
  • the private key is used to decrypt the encrypted data.
  • the private key issued for each user is different and is based on context information. That is, the service server 100 generates a private key for each user by combining the context information of each user and the preset master key.
  • the terminal provided with the private key may request the service server 100 to access data according to an event such as a user's request (step 410).
  • the terminal when the data access request is made, the terminal generates a request message including a user and data identification information and provides the service message to the service server 100.
  • the service server 100 checks whether there is decryption success information of data corresponding to the user and data identification information in the decryption success lookup table according to the data access request from the terminal (step 412).
  • the decryption success information of the data is information on whether the terminal has received the data successfully and successfully decrypted it, which is a basis for determining whether it is safe to transmit the data to the terminal.
  • the terminal determines whether the data is encrypted data (step 418), and if the data is encrypted data, the terminal stores the previously stored private key. It is determined whether the context information satisfies the access tree of the encrypted data (step 420). If the context information of the private key satisfies the access tree of encrypted data, the terminal decrypts the encrypted data provided by the service server 100 using the private key.
  • encryption of the data is performed using a public key and an access tree, and decryption of the data is performed using a private key.
  • the private key includes a master key of context information of the user.
  • the terminal When the decryption of the data is completed, the terminal generates data decryption success information including a user and data identification information and provides it to the service server 100 (step 426).
  • the service server 100 stores the data decryption success information in the data decryption success lookup table (step 428).
  • the service server 100 encrypts the data access request according to the user and data identification information. Allow data to be provided to the terminal. That is, the service server 100 includes a decryption success lookup table that records whether data decryption succeeds in correspondence with user and data identification information. Such a lookup table is made by recording whether or not the decryption succeeds when the user first accesses specific data. That is, the lookup table stores users of terminals belonging to the Internet of Things and information on whether data demodulation succeeds corresponding to data of each user.
  • the binary tree may be represented by an SOP equation. That is, since the context values of x 1 and x 2 are grouped by AND, they are expressed as a product, resulting in x 1 x 2 . Since the context values of x 3 and x 4 are ORed together, they are expressed as additions, resulting in x 3 + x 4 . The gate node value of the root node is OR, so the addition is performed. Accordingly, the final SOP equation is x 1 x 2 + x 3 + x 4 .
  • the reason why the access tree is represented by the SOP equation is to shorten the calculation time while being different from the calculation in the conventional access tree.
  • the present invention shortens the computation time by comparing only context values satisfying the entire access tree to decrypt data.
  • the user's context is represented by x ' 1 , x' 2 , ..., x ' n , and each of x' 1 , x ' 2 , ..., x' ⁇ is 0 or 1 It can be said to have a value. 1 is a value when the leaf node values of the access tree match and 0 is a value that is not. Therefore, the present invention represents the value of the context of a specific user as 0 or 1. Each user's context value is represented by 0 or 1, but each user does not know whether their context values match the access tree.
  • the checking operation is performed in the order of each term, and the SOP expression is sorted based on the length of the term.
  • a sorted SOP expression and a non-sorted SOP equation are shown.
  • the reason for sorting the SOP equation is to increase the probability of finding a term having 1 of each term.
  • the first term before sorting is x 1 x 2, whose length is 2, and the values of 1 must be satisfied for both x 3 and x 4 contexts.
  • an ordered SOP expression has a value of 1 if the first term is x 3 and matches only one context.
  • the terminal 200 transmits its context information to the service server 100.
  • the service server 100 When the context information is provided from one of the terminals connected to the network system configuring the IoT environment, the service server 100 receives the context information to form an access tree to encrypt data to be provided to the terminal. . Thereafter, the service server 100 stores the data to be provided to the terminal in an encrypted state and also in an unencrypted state.
  • the service server 100 generates a private key by combining the context information from the terminal 200 and a preset master key.
  • the service server 100 provides the private key to the terminal 200, and the terminal 200 stores the private key when the private key is provided.
  • the terminal 200 transmits a data request including the user and data identification information to the service server 100 according to a user's request.
  • the service server 100 checks whether decryption success information corresponding to the user and data identification information is stored according to the data request. do.
  • the service server 100 transmits the data according to the data identification information to the corresponding terminal in an unencrypted state, and the user and data identification information. If the decryption success information corresponding to the data is not stored, the data according to the data identification information is transmitted to the corresponding terminal in an encrypted state.
  • the terminal 200 When the unencrypted data is received from the service server 100, the terminal 200 processes the unencrypted data. If the encrypted data is received, the terminal 200 decrypts the encrypted data using the private key.
  • the security method according to the present invention can be widely used in the IoT field.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 사물 인터넷 환경에서의 보안 방법에 관한 것이다. 상기 사물 인터넷 환경의 서비스 서버에 의한 컨텍스트 기반 보안방법은, 사물 인터넷 환경을 구성하는 네트워크 시스템에 연결된 단말기들 중 어느 하나로부터 컨텍스트 정보를 제공받아 어세스 트리를 구성하고, 상기 어세스 트리와 미리 설정된 공개키를 이용하여 상기 컨텍스트 정보를 제공한 단말기로 제공할 데이터를 암호화함과 아울러, 상기 단말기로부터의 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성하여 상기 단말기로 제공하는 단계; 상기 단말기로부터 유저 및 데이터 식별정보를 포함하는 데이터 요청이 발생될 때마다, 상기 데이터 요청에 따른 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있는지를 체크하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송하는 단계; 및 상기 단말기로부터 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 제공될 때마다 이를 저장하는 단계;를 포함한다.

Description

사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템
본 발명은 사물 인터넷 환경에서의 보안 기술에 관한 것으로, 더욱 상세하게는 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템에 관한 것이다.
반도체 설계 기술 및 무선 통신 기술의 발달로 인하여, 스마트 폰과 같은 모바일 디바이스가 우리 생활을 혁신적으로 변화시키고 있다. 스마트 폰과 태블릿 등의 휴대용 이동 통신과 컴퓨팅이 가능한 기기들은 인간이 특정한 컨텐츠를 소비하거나, 카카오톡, 트위터, 페이스북 등과 같은 소셜 네트워크 서비스를 즐기는데 많이 사용되고 있으며, 점점 우리 생활에 미치는 영향력이 증대되고 있다.
이러한 모바일 디바이스와 무선 통신 환경의 급격한 발전으로 주식, 뱅킹, 교류, 채팅 등의 중요한 개인 정보 활동들이 스마트폰을 중심으로 이루어지면서, 스미싱, 파밍 등과 같은 모바일 디바이스에 관한 해킹이 증가하고 있다.
한편 이동 가능한 컴퓨팅을 추구하는 모바일 디바이스의 차원을 넘어서, 생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 시스템인 사물 인터넷, 즉 인터넷 오브 띵스(Internet of Things)가 개발되고 있다. 상기 사물 인터넷이란, 인간과 사물, 서비스 세가지 분산된 환경 요소에 대해 인간의 명시적 개입 없이 상호 협력적으로 센싱, 네트워킹, 정보 처리 등 지능적 관계를 형성하는 사물 공간 연결망이다. 상기 사물 인터넷(IoT, Internet of Things)의 주요 구성 요소인 사물은 유무선 네트워크에서의 가전기기뿐만 아니라, 인간, 차량, 교량, 각종 전자장비, 문화재, 자연환경을 구성하는 물리적 사물 등이 포함되며, 사물은 물론, 현실과 가상세계의 모든 정보와 상호 작용하는 개념으로 진화하고 있다. 미국 벤처기업 코벤티스가 개발한 심장 박동 모니터링 기계, 나이키의 퓨얼 밴드 등도 사물 인터넷 기술을 기반으로 제작되었다. 또한 대형 가전사인 삼성전자, 엘지전자, 지멘스, 월풀, 제너럴 일렉트릭 등의 기업들도 유무선 통신이 가능한 가전기기의 개발에 총력을 기울이고 있다.
그러나 아직 시장이 성숙하지 않은 사물 인터넷 기술분야는 아직까지는 개인정보나 금융정보가 가전기기내에 포함되어 있지는 않은 관계로, 기기 내부에 특별한 보안장치를 하지 않는 등 보안의 사각지대에 위치해 있다.
실제로 사물 인터넷을 이용한 세계 최초의 해킹은 프루프 포인트에 의해 2014년 1월 16일 세계 최초로 보고되었으며, 앞으로의 사물 인터넷을 이용한 해킹의 형태나 방향성을 예측할 수 없기 때문에 더욱 위험하다고 할 수 있다. 상기 프루프 포인트가 보고한 사례는 스마트 냉장고에 설치된 임베디드 컴퓨터에서 특정한 내용의 메일을 전세계에 75만건 이상 발송한 케이스이며, 봇넷을 이용하였다고 하였다.
상기한 바와 같은 사례는 스마트에어컨을 해킹하여 인간을 저체온증에 걸리게 한다던지, 스마트히터를 해킹하여 전기세를 폭증시킨다던지, 아니면 원자력발전소의 사물인터넷기기를 해킹하여 원자력발전소에 문제를 야기한다던지 등의 매우 심각한 문제로 확대될 수 있다.
이에 종래에는 사물 인터넷 환경에서의 보안에 대한 기술 개발이 요구되었다.
인터넷 등과 같은 네트워크는 통신환경이 고정되어 있음은 물론이고 그 규모도 작기 때문에 단순한 구조의 보안 알고리즘(대칭키 방식)을 채용하였다. 그러나 수많은 디바이스들이 혼재하고 자주 변화를 겪는 사물 인터넷 환경에서는 기존 방식의 적용이 어려웠다.
ABE(Attribute-Based Encryption) 방식은 유저의 속성값이 유저의 개인키를 만드는데 사용되기 때문에 시시각각 변화하는 사물 인터넷 환경을 자연스럽게 반영하며 비밀유지를 할 수 있다.
이에 종래에는 CP-ABE(Ciphertext Policy Attribute-Based Encryption)를 사물 인터넷 환경의 보안 방식으로 채용하기도 하였으며, 이는 BETHENCOURT, John; SAHAI, Amit; WATERS, Brent. Ciphertext-policy attribute-based encryption. In: Security and Privacy, 2007. SP'07. IEEE Symposium on. IEEE, 2007. p. 321-334.에 개시된 바 있다.
상기한 기술은 데이터의 암호시에 유저들이 가진 속성값을 이용하여 암호화하는 것으로, 제3자가 유저의 속성값 셋(Set)을 제공받은 뒤 이를 바탕으로 어세스 트리(access tree) 모양으로 데이터를 암호화하고, 데이터를 복호화할 때에 유저는 자신이 가진 속성값이 어세스 트리(access tree)를 만족하는 경우에 데이터를 복호화할 수 있게 한다.
이러한 종래 방식은 데이터의 송수신시마다 암호화 및 복호화가 요구되므로 데이터 처리과정이 복잡하고 시간이 많이 걸리는 문제가 있었다.
본 발명은 유저의 컨텍스트 정보에 따라 데이터를 CP-ABE 방식으로 암호화하여 유저에게 제공하여 사물 인터넷 환경에서의 보안을 유지함과 아울러, 유저가 동일한 데이터에 재접근할 때에는 유저의 복호화 성공 여부에 따라 암호화되지 않은 데이터를 제공하여 유저에서의 복호화를 위한 시간 및 처리량을 감소시킬 수 있는 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템을 제공하는 것을 그 목적으로 한다.
또한 본 발명의 다른 목적은 유저의 컨텍스트 정보와 사물 인터넷 시스템의 컨텍스트 정보의 비교를 위한 검증 알고리즘을 변경하여 유저의 검증처리에 소요되는 시간 및 처리량을 감소시킬 수 있는 사물 인터넷 환경에서의 컨텍스트 기반 보안 방법 및 그에 따른 서비스 시스템을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 제1 특징에 따른 컨텍스트 기반 보안 방법은, 사물인터넷 환경을 구성하는 다수 개의 단말기 및 상기 단말기들로 서비스를 제공하는 서비스 서버로 구성되는 사물 인터넷 환경의 서비스 서버에 의해 구현되는 컨텍스트 기반 보안방법으로서, (a) 사물 인터넷 환경을 구성하는 네트워크 시스템에 연결된 단말기들 중 어느 하나의 단말기로부터 컨텍스트 정보를 제공받고 개인키 생성을 요청받는 단계; (b) 상기 제공된 컨텍스트 정보에 따라 어세스 트리를 구성하고, 상기 어세스 트리와 미리 설정된 공개키를 이용하여 상기 컨텍스트 정보를 제공한 단말기로 제공할 데이터를 암호화하여 저장하고, 상기 단말기로부터의 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성하여 상기 단말기로 제공하는 단계; (c) 상기 단말기로부터 유저 및 데이터 식별정보를 포함하는 데이터 요청이 발생되면, 상기 데이터 요청에 따른 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있는지를 체크하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송하는 단계; (d) 상기 단말기로부터 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 제공되면 이를 저장하는 단계;를 포함한다.
본 발명의 제2 특징에 따른 컨텍스트 기반 보안 방법은, 사물인터넷 환경을 구성하는 다수 개의 단말기 및 상기 단말기들로 서비스를 제공하는 서비스 서버로 구성되는 사물 인터넷 환경의 단말기에 의해 구현되는 컨텍스트 기반 보안방법에 관한 것으로서, (a) 상기 서비스 서버로 컨텍스트 정보를 제공하고 개인키 생성을 요청하는 단계; (b) 상기 서비스 서버로부터 개인키를 제공받아 저장하는 단계; (c) 상기 서비스 서버로 유저 및 데이터 식별 정보를 포함하는 데이터 요청을 하는 단계; (d) 상기 서비스 서버로부터 암호화된 데이터가 제공되면, 상기 개인키에 포함된 컨텍스트 정보와 상기 암호화된 데이터의 어세스 트리가 일치하는지를 체크하고, 상기 컨텍스트 정보와 상기 어세스 트리가 일치하면, 상기 개인키에 포함된 마스터키를 토대로 상기 암호화된 데이터를 복호화하는 단계; 및 (e) 상기 암호화된 데이터의 복호화에 성공하면, 복호화 성공정보를 상기 서비스 서버로 전송하는 단계;를 더 구비한다.
전술한 제2 특징에 따른 컨텍스트 기반 보안 방법에 있어서, 상기 (d) 단계는 상기 컨텍스트 정보와 상기 어세스 트리가 일치하는지 판단하기 위하여, 상기 컨텍스트 정보와 상기 어세스 트리의 리프의 일치여부를 바이너리 트리의 형태로 나타낸 후에, 상기 바이너리 트리의 각 값을 SOP(Sum of Product) 식으로 변환하고, 상기 SOP 식을 구성하는 항들에 대해 하나씩 일치여부를 확인하여 모든 항들이 일치할 때에 상기 컨텍스트 정보와 상기 어세스 트리가 일치한다고 판단하는 것이 바람직하며, 상기 SOP 식을 구성하는 항들을 항의 길이로 정렬한 후에 하나씩 일치여부를 확인하는 것이 더욱 바람직하다.
본 발명의 제3 특징에 따른 컨텍스트 기반 보안을 이행하는 사물 인터넷 환경의 네트워크 시스템은, 사물 인터넷 환경을 구성하는 단말기들; 및 상기 단말기들로 서비스를 제공하는 서비스 서버;를 구비하고,
상기 서비스 서버는, 상기 단말기들 중 어느 하나의 단말기로부터 컨텍스트 정보를 제공받으면, 상기 제공된 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성하여 해당 단말기로 제공하고, 상기 컨텍스트 정보에 따라 어세스 트리를 구성하고, 상기 어세스 트리와 미리 설정된 공개키를 이용하여 해당 단말기로 제공할 데이터를 암호화하여 저장하는 데이터 암호화 모듈; 상기 단말기들 중 어느 하나의 단말기로부터 유저 및 데이터 식별 정보를 포함하는 데이터 요청이 발생하면, 상기 데이터 요청에 따르는 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있는지를 체크하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송하는 데이터 전송 모듈; 및 상기 단말기로부터 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 제공되면 이를 저장하는 복호화 성공정보 저장 모듈;을 구비하며,
상기 단말기들 각각은, 상기 서비스 서버로 자신의 컨텍스트 정보를 전송함과 동시에 개인키 생성을 요청하며, 서비스 서버로부터 개인키를 제공받아 저장하는 개인키 요청 모듈; 유저 및 데이터 식별정보를 포함하는 데이터 요청을 상기 서비스 서버로 전송하는 데이터 요청 모듈; 상기 서비스 서버로부터 암호화된 데이터가 제공되면, 상기 개인키에 포함된 컨텍스트 정보와 상기 암호화된 데이터의 어세스 트리가 일치하는지를 체크하고, 상기 컨텍스트 정보와 상기 어세스 트리가 일치하면, 상기 개인키에 포함된 마스터키를 토대로 상기 암호화된 데이터를 복호화하는 데이터 복호화 모듈; 및 상기 암호화된 데이터의 복호화에 성공하면, 복호화 성공정보를 상기 서비스 서버로 전송하는 복호화 성공정보 전송 모듈;을 구비한다.
전술한 제3 특징에 따른 사물 인터넷 환경의 네트워크 시스템에 있어서, 상기 단말기의 데이터 복호화 모듈은, 상기 컨텍스트 정보와 상기 어세스 트리의 리프의 일치여부를 바이너리 트리의 형태로 나타낸 후에, 상기 바이너리 트리의 각 값을 SOP 식으로 변환하고, SOP 식을 구성하는 항들에 대해 하나씩 일치여부를 확인하여 모든 항들이 일치할 때에 상기 컨텍스트 정보와 상기 어세스 트리가 일치한다고 판단하는 것이 바람직하며, 상기 SOP 식을 구성하는 항들을 항의 길이로 정렬한 후에 하나씩 일치여부를 확인하는 것이 더욱 바람직하다.
상기한 본 발명은 유저의 컨텍스트 정보에 따라 데이터를 CP-ABE 방식으로 암호화하여 유저에게 제공하여 사물 인터넷 환경에서의 보안을 유지함과 아울러, 유저가 동일한 데이터에 재접근할 때에는 유저의 복호화 성공 여부에 따라 암호화되지 않은 데이터를 제공하여 유저에서의 복호화를 위한 시간 및 처리량을 감소시킬 수 있는 효과를 야기한다.
또한 본 발명은 유저의 컨텍스트 정보와 사물 인터넷 시스템의 컨텍스트 정보의 비교를 위한 검증 알고리즘을 변경하여 유저에 대한 검증처리에 소요되는 시간 및 처리량을 감소시킬 수 있는 효과를 야기한다.
도 1은 본 발명의 바람직한 실시예에 따른 사물 인터넷 환경에서의 네트워크 시스템의 구성도.
도 2는 본 발명에 적용가능한 바이너리 트리의 구조도.
도 3은 본 발명의 바람직한 실시예에 따른 컨텍스트 기반 보안 방법의 절차도.
도 4는 본 발명의 바람직한 실시예에 따른 컨텍스트 정보 비교과정을 예시한 도면.
도 5는 본 발명의 바람직한 실시예에 따른 컨텍스트 정보 비교과정에 대한 알고리즘을 예시한 도면.
도 6은 본 발명에 따른 데이터 송수신 과정을 예시한 도면.
본 발명은 CP-ABE 방식을 사물 인터넷 환경에 적용하여 사물 인터넷 환경에서의 보안을 유지하며, 이는 유저의 컨텍스트 정보에 따라 데이터를 암호화하여 유저에게 제공하는 것으로 이루어질 수 있다.
또한 본 발명은 유저가 동일한 데이터에 재접근할 때에는 유저의 복호화 성공 여부에 따라 암호화된 데이터 또는 암호화되지 않은 데이터를 선택적으로 제공하여, 데이터의 보안을 유지함과 아울러 유저에서의 복호화를 위한 시간 및 처리량을 감소시킬 수 있다.
또한 본 발명은 유저의 컨텍스트 정보와 사물 인터넷 시스템의 컨텍스트 정보의 비교를 위한 검증 알고리즘을 변경시켜 유저에 대한 검증 처리에 소요되는 시간 및 처리량을 감소시킬 수 있다.
<사물 인터넷 환경에서의 네트워크 시스템의 구성>
상기한 본 발명의 바람직한 실시예에 따른 사물 인터넷 환경에서의 컨텍스트 기반 보안 기능을 제공하는 서비스 시스템의 구성 및 동작을 도 1을 참조하여 설명한다.
상기 서비스 시스템은 서비스 서버(100)와 데이터 오너장비(102)와 근거리 무선 통신장비(104)를 구비한다.
- 서비스 서버 -
상기 서비스 서버(100)는 상기 근거리 무선 통신장비(104) 또는 원거리 무선 통신을 위한 통신사 시스템(300)을 통해 접속하는 단말기들(200,202)과의 통신을 이행하여 사물 인터넷 서비스를 제공한다. 특히 상기 서비스 서버(100)는 상기 사물 인터넷 서비스를 위해 상기 단말기들(200,202) 중 어느 하나가 제공하는 데이터를 상기 데이터 오너장비(102)로 제공함과 아울러 상기 단말기들(200,202) 중 어느 하나로부터의 요청에 따라 상기 데이터 오너장비(102)로부터 데이터를 해당 단말기로 제공한다. 상기 서비스 서버는, 데이터 암호화 모듈, 데이터 전송 모듈, 복호화 성공정보 저장 모듈을 구비한다.
상기 데이터 암호화 모듈은 상기 단말기들 중 어느 하나의 단말기로부터 컨텍스트 정보를 제공받으면, 상기 제공된 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성하여 해당 단말기로 제공하고, 상기 컨텍스트 정보에 따라 어세스 트리를 구성하고, 상기 어세스 트리와 미리 설정된 공개키를 이용하여 해당 단말기로 제공할 데이터를 암호화하여 저장한다.
즉, 상기 서비스 서버(100)의 데이터 암호화 모듈은 본 발명의 바람직한 실시예에 따라 상기 단말기들(200,202)로부터 컨텍스트 정보를 제공받아 유저 컨텍스트 세트(SET)정보로서 저장하고, 이 컨텍스트 정보에 따라 단말기들(200,202)과 송수신되는 데이터를 CP-ABE 방식으로 암호화하여 사물 인터넷 환경에 대한 보안을 가능하게 한다. 여기서, 상기 컨텍스트 정보는 상기 CP-ABE 방식에서의 속성값(ATTRIBUTE)에 대응되는 것으로, 네트워크 컨텍스트, 디바이스 컨텍스트, 유저 컨텍스트, 서비스 컨텍스트 등으로 구성된다. 예를들면, 상기 단말기들(200,202)의 컨텍스트 정보는 도 1의 (a)와 (b)와 같이 구성될 수 있으며, 이 경우 상기 유저 컨텍스트 세트정보는 도 1의 (c)와 같이 구성될 수 있다.
또한, 상기 서비스 서버(100)는 상기 데이터의 암호화를 위해 공개키(PK)와 마스터키(MK)를 생성하고, 상기 데이터의 암호화시에는 공개키(PK)와 해당 유저, 즉 단말기로부터 제공받은 컨텍스트 정보로부터 생성한 어세스 트리(T)를 이용하여 CP-ABE 방식으로 암호화한다.
또한 상기 서비스 서버(100)는 상기 단말기들(200,202) 각각이 제공하는 컨텍스트 정보와 마스터키(MK)를 조합하여 개인키를 생성하고, 이를 해당 단말기들(200,202)로 제공한다. 여기서 단말기들(200,202)은 상기 개인키를 통해 서비스 서버(100)로부터 제공받은 암호화된 데이터를 복호화한다.
상기한 컨텍스트 정보는 단말기, 즉 유저가 처한 상황에 따라 변동될 수 있으며, 서비스 서버(100)는 단말기의 컨텍스트 정보를 적절히 업데이트한다고 가정한다.
또한 상기 서비스 서버(100)는 데이터를 어세스 트리(ACCESS TREE)의 형태로 데이터를 암호화하는 CP-ABE 방식으로 암호화하며, 이 어세스 트리는 서비스 서버(100)에 연결된 데이터 오너장치(102)를 통한 운영자에게 의해 결정될 수 있다.
상기 데이터 전송 모듈은 상기 단말기들 중 어느 하나의 단말기로부터 유저 및 데이터 식별 정보를 포함하는 데이터 요청이 발생하면, 상기 데이터 요청에 따르는 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있는지를 체크하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송한다.
상기 복호화 성공정보 저장 모듈은 단말기로부터 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 제공되면 이를 저장한다. 상기 서비스 서버(100)의 복호화 성공정보 저장 모듈은 상기 단말기들(200,202)이 제공받은 데이터를 정상적으로 복호화하는지 여부인 복호화 성공 여부 정보를 저장하고, 이전에 복호화에 성공한 데이터에 대한 재접근시에는 해당 단말기에 암호화되지 않은 데이터를 제공함으로써, 단말기에서의 불필요한 복호화를 최소화할 수 있다. 이를 위해 상기 서비스 서버(100)는 암호화된 데이터와 암호화되지 않은 데이터를 모두 저장한다.
- 데이터 오너장비 -
상기 데이터 오너장비(102)는 서비스 서버(100)가 제공하는 단말기들(200,202)로부터의 데이터를 저장함과 아울러, 서비스 서버(100)가 요청하는 데이터를 상기 서비스 서버(100)로 제공한다.
또한 상기 데이터 오너장비(102)는 운영자와의 인터페이스도 제공한다.
- 단말기들(유저) -
상기 단말기들(200,202) 각각은 WIFI 등과 같은 근거리 무선 통신장비(104) 또는 LTE 통신사 시스템 등과 같은 원거리 무선 통신 시스템(300)을 통해 상기 서비스 서버(100)에 접속할 수 있다.
상기 단말기들 각각은, 개인키 요청 모듈, 데이터 요청 모듈, 데이터 복호화 모듈, 복호화 성공정보 전송 모듈을 구비한다.
상기 개인키 요청 모듈은 상기 서비스 서버로 자신의 컨텍스트 정보를 전송함과 동시에 개인키 생성을 요청하며, 서비스 서버로부터 개인키를 제공받아 저장한다. 상기 단말기들(200,202)은 본 발명의 바람직한 실시예에 따라 컨텍스트 정보를 상기 서비스 서버(100)에 제공함과 아울러, 상기 서비스 서버(100)로부터 상기 컨텍스트 정보 및 마스터키(MK)를 토대로 생성된 개인키를 제공받아 저장한다.
상기 데이터 요청 모듈은 유저 및 데이터 식별정보를 포함하는 데이터 요청을 상기 서비스 서버로 전송한다.
상기 데이터 복호화 모듈은 상기 서비스 서버(100)로부터 암호화된 데이터가 수신되면 상기 개인키 정보에 실린 컨텍스트 정보 및 마스터키(MK)를 토대로 암호화된 데이터를 복호화하여 유저의 요청에 따른 방식에 따라 처리하며, 상기 복호화시에는 CP-ABE 방식에 따른다. 즉, 상기 데이터 복호화 모듈은 상기 서비스 서버로부터 암호화된 데이터가 제공되면, 상기 개인키에 포함된 컨텍스트 정보와 상기 암호화된 데이터의 어세스 트리가 일치하는지를 체크하고, 상기 컨텍스트 정보와 상기 어세스 트리가 일치하면, 상기 개인키에 포함된 마스터키를 토대로 상기 암호화된 데이터를 복호화한다. 상기 데이터 복호화 모듈은, 상기 컨텍스트 정보와 상기 어세스 트리의 리프의 일치여부를 바이너리 트리의 형태로 나타낸 후에, 상기 바이너리 트리의 각 값을 SOP 식으로 변환하고, SOP 식을 구성하는 항들에 대해 하나씩 일치여부를 확인하여 모든 항들이 일치할 때에 상기 컨텍스트 정보와 상기 어세스 트리가 일치한다고 판단하는 것이 바람직하며, 상기 SOP 식을 구성하는 항들을 항의 길이로 정렬한 후에 하나씩 일치여부를 확인하는 것이 더욱 바람직하다.
상기 복호화 성공정보 전송 모듈은 상기 암호화된 데이터의 복호화에 성공하면, 복호화 성공정보를 상기 서비스 서버로 전송한다. 이와 같이, 상기 단말기들(200,202)은 상기 암호화된 데이터의 복호화 성공여부정보를 상기 서비스 서버(100)로 제공하며, 상기 암호화된 데이터의 복호화시에는 개인키 정보에 포함된 컨텍스트 정보가 암호화된 데이터의 어세스 트리에 모두 일치하는지 검증한 후에 수행되며, 상기 검증을 위한 알고리즘을 변경함으로써 그 검증에 소요되는 시간과 처리과정을 단축시킨다.
이와 달리 상기 단말기(200,202) 각각은 상기 서비스 서버(100)로부터 암호화되지 않은 데이터가 수신되면, 이를 유저의 요청에 따른 방식으로 처리한다.
<어세스 트리의 구조>
상기한 본 발명은 CP-ABE 방식으로 암호화를 수행하기 위하여 컨텍스트 정보를 어세스 트리로 구성하며, 이를 예시한 것이 도 2이다.
상기 도 2를 참조하면, 상기 어세스 트리는 3 레벨 바이너리 트리 또는 4 레벨 바이너리 트리가 채용될 수 있다. 이러한 바이너리 트리는 어떠한 트리의 형태도 포함할 수 있는 일반적인 형태로서, SOP(Sum Of Product)의 형태로 나타내기 용이하다.
<사물 인터넷 환경에서의 컨텍스트 기반 보안 방법>
이제 상기한 사물 인터넷 환경에서의 컨텍스트 기반 보안 기능을 제공하는 서비스 시스템에 적용 가능한 본 발명에 따른 보안 방법을 도 3을 참조하여 설명한다.
상기 단말기들(200,202) 중 어느 한 단말기는 컨텍스트 정보가 변동될 때마다 서비스 서버(100)로 컨텍스트 정보를 전송한다(400단계). 상기 서비스 서버(100)는 어느 한 단말기로부터 컨텍스트 정보가 수신될 때마다 컨텍스트 정보를 어세스 트리로 구성하여 그 어세스 트리를 이용하여 해당 단말기에 대한 데이터를 CP-ABE 방식에 따른 암호화하여 저장한다(402,404단계). 여기서, 상기 서비스 서버(100)는 미리 설정된 공개키(PK)와 마스터키(MK)를 구비하며, 상기 데이터의 암호화시에는 미리 설정된 공개키(PK)와 어세스 트리(T)를 이용하며, 상기 어세스 트리는 컨텍스트 정보를 기반으로 생성된다. 또한 상기 서비스 서버(100)는 암호화된 데이터와 암호화되지 않은 데이터를 모두 저장하여, 해당 단말기에서의 해당 데이터의 복호화 성공 여부에 따라 암호화된 데이터와 암호화되지 않은 데이터를 선택적으로 단말기로 제공한다.
이후 상기 서비스 서버(100)는 개인키를 생성하여 해당 단말기로 전송한다(406단계). 여기서 상기 개인키는 암호화된 데이터를 복호화할 때에 사용되는 것으로, 유저마다 발급받는 개인키는 상이하며 컨텍스트 정보에 기반한다. 즉 상기 서비스 서버(100)는 각 유저의 컨텍스트 정보와 상기 미리 설정된 마스터키를 조합하여 각 유저별 개인키를 생성한다.
상기 개인키를 제공받은 단말기는 상기 개인키를 저장한다(408단계).
상기 개인키를 제공받은 단말기는 유저의 요청 등의 이벤트에 따라 데이터 접근을 서비스 서버(100)에 요청할 수 있다(410단계). 여기서, 상기 데이터 접근 요청시에 상기 단말기는 유저 및 데이터 식별정보를 포함하는 요청 메시지를 생성하여 상기 서비스 서버(100)에 제공한다.
상기 서비스 서버(100)는 상기 단말기로부터의 데이터 접근 요청에 따라 복호화 성공여부 룩업테이블에 유저 및 데이터 식별정보에 대응되는 데이터의 복호화 성공 정보가 존재하는지를 체크한다(412단계). 상기 데이터의 복호화 성공 정보는 해당 단말기가 이전에 해당 데이터를 제공받아 성공적으로 복호화하였는지에 대한 정보로서, 이는 해당 단말기로 해당 데이터를 전송하는 것이 안전한지 그렇지 않은지를 가늠하기 위한 판단근거가 된다.
상기 해당 유저 및 데이터 식별정보에 대응되는 데이터 복호화 성공 정보가 존재하지 않으면, 상기 서비스 서버(100)는 암호화되어 저장된 데이터를 해당 단말기로 전송한다(414단계). 이와 달리 해당 유저 및 데이터 식별정보에 대응되는 데이터 복호화 성공 정보가 존재하면, 상기 서비스 서버(100)는 암호화되지 않은 데이터를 해당 단말기로 전송한다(416단계).
상기 단말기는 상기 데이터 접근 요청에 따라 서비스 서버(100)가 데이터를 제공하면, 그 데이터가 암호화된 데이터인지 여부를 판별하고(418단계), 상기 데이터가 암호화된 데이터이면, 기저장해둔 개인키의 컨텍스트 정보가 암호화된 데이터의 어세스 트리를 만족하는지를 판별한다(420단계). 상기 개인키의 컨텍스트 정보가 암호화된 데이터의 어세스 트리를 만족하면, 상기 단말기는 상기 개인키를 이용하여 서비스 서버(100)가 제공한 암호화된 데이터를 복호화한다. 여기서, 상기 데이터의 암호화는 공개키와 어세스 트리를 이용하여 수행되고, 상기 데이터의 복호화는 개인키를 이용하여 수행된다. 여기서, 상기 개인키는 유저의 컨텍스트 정보가 마스터키를 포함한다.
상기 데이터의 복호화가 완료되면, 상기 단말기는 유저 및 데이터 식별정보를 포함하는 데이터 복호화 성공정보를 생성하여 상기 서비스 서버(100)로 제공한다(426단계). 상기 서비스 서버(100)는 상기 단말기로부터 데이터 복호화 성공정보가 제공되면, 이를 데이터 복호화 성공여부 룩업테이블에 저장하여(428단계), 향후에는 해당 유저 및 데이터 식별정보에 따른 데이터 접근 요청시에는 암호화되지 않은 데이터가 단말기로 제공될 수 있게 한다. 즉, 상기 서비스 서버(100)는 유저 및 데이터 식별정보에 대응되게 데이터 복호화 성공 여부를 기록한 복호화 성공여부 룩업테이블을 구비한다. 이러한 룩업테이블은 유저가 특정 데이터에 최초 접근시의 복호화 성공 여부를 기록함으로써 만들어진다. 즉, 상기 룩업테이블에는 사물 인터넷에 속하는 단말기들의 유저들 및 각 유저의 데이터들에 각각 대응되는 데이터 복화화 성공여부정보가 저장된다.
상기한 바와 달리 개인키의 컨텍스트 정보와 암호화된 데이터의 어세스 트리가 만족하지 않으면, 상기 단말기는 데이터 복호화 실패 처리한다(422단계). 이후 상기 단말기는 데이터 복호화 실패정보를 상기 서비스 서버(100)로 제공한다(432단계). 상기 서비스 서버(100)는 상기 단말기로부터 데이터 복호화 실패정보가 제공되면, 이를 데이터 복호화 성공여부 룩업테이블에 저장한다(428단계).
또한 상기 단말기는 암호화되지 않은 데이터가 제공되었거나 암호화된 데이터의 복호화가 완료되면, 그 데이터를 처리한다(426단계).
<CP-ABE 방식에서의 연산 시간 감소>
본 발명은 CP-ABE 방식에서 개인키가 어세스 트리를 만족하는지 검증하는 과정을 변경하며, 이를 도 4를 참조하여 좀 더 상세히 설명한다.
도 4의 (a)에 나타낸 바와 같이 바이너리 트리는 SOP 식으로 표현될 수 있다. 즉, x1과 x2의 컨텍스트 값이 AND로 묶여 있기 때문에 곱으로 표현되어 x1x2가 된다. 그리고 x3과 x4의 컨텍스트 값은 OR로 묶여 있기 때문에 덧셈으로 표현되어 x3+x4가 된다. 그리고 루트(root) 노드의 게이트(Gate) 노드 값은 OR이므로 덧셈이 된다. 이에 따라 최종 SOP 식은 x1x2+x3+x4가 된다.
이와 같이 어세스 트리(access tree)를 SOP 식으로 나타내는 이유는 기존의 어세스 트리(access tree)에서의 계산과의 차별성을 두고 연산 시간을 단축시키기 위함이다. 다시 말해, 본 발명은 어세스 트리 전체를 만족하는 컨텍스트 값만을 비교하여 데이터를 복호화하는 방식으로 연산 시간을 단축한다.
예를 들어 설명하면, 유저의 컨텍스트가 x'1,x'2,...,x'n으로 표현되고, x'1,x'2,...,x'ξ 각각은 0 또는 1의 값을 가진다고 할 수 있다. 상기 1은 어세스 트리의 리프 노드(leaf node) 값이 일치하는 경우의 값이고 0은 그렇지 않은 값이다. 따라서 본 발명은 특정 유저가 가지는 컨텍스트의 값을 0 또는 1로 표현한다. 각 유저의 컨텍스트 값이 0 또는 1로 표현되지만, 각 유저들은 자신의 컨텍스트 값이 어세스 트리의 일치 여부는 알지 못한다.
따라서 상기 SOP의 식에 유저가 가지는 x'1,x'2,...,x'n의 값을 대입함으로써 컨텍스트의 일치 여부를 알 수 있다. 즉, 컨텍스트 일치 여부의 확인은 SOP 식의 각 항이 1 또는 0의 값을 가지는지의 여부를 확인함으로써 알 수 있다.
예를 들어 도 4의 SOP식 에서 첫 번째 항인 x1x2, 두 번째 항인 x3, 세 번째 항인 x4 중에서 1이 되는 항 하나만 찾으면 되는 것이다. 0010을 가진 유저는 두 번째 항인 x3을 1로 만들기 때문에 전체의 어세스 트리를 만족한다고 할 수 있다.
이와 같이 본 발명에서는 1이 되는 항을 효율적이고 빠르게 찾기 위해 각 항의 순서대로 확인 작업을 거치고, SOP의 식을 항의 길이 기준으로 정렬(sorting)한다. 도 4의 표에서 정렬을 거친 SOP 식과 그렇지 않은 SOP 식을 보여주고 있다. 여기서 SOP 식을 정렬하는 이유는 각 항 중에서 1을 가지는 항을 찾을 확률을 더 높이기 위해서이다. 즉, 정렬 전의 첫번째 항은 x1x2로 항의 길이가 2이며, x3과 x4 두 가지 컨텍스트를 모두 만족해야 1의 값을 가진다. 그러나 정렬을 거친 SOP 식은 첫번째 항이 x3으로 한가지의 컨텍스트만 일치하면 1의 값을 가진다. 따라서 정렬을 거친 SOP 식에서 1을 더 빨리 찾을 확률이 높아지며, 다양한 종류의 컨텍스트를 가진 유저가 균등하게 분포한다고 할 때, 전체적인 성능 증가(평균 복호화 시간의 단축)를 기대할 수 있다. 여기서 특정유저가 컨텍스트 값을 x1=0, x2=0, x3=0, x4=0을 가지는 경우(3-level binary tree를 사용한다고 가정)는 오히려 정렬된 SOP 식이 성능이 더 좋지 않은 경우를 나타낸다. 그러나 각 유저가 균등하게 분포한다고 가정(0000 ~ 1111)하면 x1,x2를 1을 가지는 유저는 4명인데 반해 x3을 1로 가지는 유저의 경우는 8명으로, 성능이 향상되는 유저의 수가 더 많다. 따라서 평균적으로 전체의 성능은 향상되게 된다.
도 5는 도 4에 따른 알고리즘을 의사 코드(pseudo code)로 나타낸 것이다. 여기서, t는 유저측의 컨텍스트와 어세스 트리측의 컨텍스트를 비교하는 시간을 나타낸다. SOP 식에 유저의 i번째 항에 컨텍스트 데이터를 대입하여 1이 되는지 여부를 확인하고, 이를 만족하면 브레이크(break)를 통해 비교 과정을 즉시 정지하며 데이터를 바로 복호화한다.
그러나 상기 SOP 식의 i번째 항에 컨텍스트 데이터를 대입한 결과 1이 되지 않으면, 다음 항에 컨텍스트 데이터를 대입하여 1이 되는지 여부를 확인하며, 이는 1을 찾을 때까지 상기 과정을 계속하여 반복한다. 상기 모든 항에 대해 컨텍스트 데이터를 대입한 결과 1이 없으면 복호화는 실패하게 된다.
상기한 바와 같이 본 발명은 유저의 컨텍스트 정보에 따라 데이터를 CP-ABE 방식으로 암호화하여 유저에게 제공하여 사물 인터넷 환경에서의 보안을 유지함과 아울러, 유저가 동일한 데이터에 재접근할 때에는 유저의 복호화 성공 여부에 따라 암호화되지 않은 데이터를 제공하여 유저에서의 복호화를 위한 시간 및 처리량을 감소시킨다.
또한 본 발명은 유저의 컨텍스트 정보와 사물 인터넷 시스템의 컨텍스트 정보의 비교를 위한 검증 알고리즘을 변경하여 유저의 검증처리에 소요되는 시간 및 처리량을 감소시킬 수 있다.
상기한 본 발명에 따른 데이터 송수신 과정을 도 6을 토대로 하여 다시 한번 정리한다.
상기 도 6은 사물 인터넷 환경에서의 서비스 서버(100)와 단말기(200) 사이의 데이터 송수신 과정을 예시한 것으로, 서비스 서버(100)와 단말기(200)는 네트워크를 통해 연결된다.
[1. 컨텍스트 정보 전송]
상기 단말기(200)는 자신의 컨텍스트 정보를 서비스 서버(100)로 전송한다.
[2. 컨텍스트 정보에 따라 데이터 암호화 및 개인키 생성]
상기 서비스 서버(100)는 사물 인터넷 환경을 구성하는 네트워크 시스템에 연결된 단말기들 중 어느 하나로부터 컨텍스트 정보가 제공되면, 이 컨텍스트 정보를 제공받아 어세스 트리를 구성하여 해당 단말기로 제공할 데이터를 암호화한다. 이후 상기 서비스 서버(100)는 해당 단말기로 제공할 데이터를 암호화된 상태로 저장함과 아울러 암호화되지 않은 상태로 저장한다.
이후 상기 서비스 서버(100)는 상기 단말기(200)로부터의 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성한다.
[3. 개인키 전송]
상기 서비스 서버(100)는 상기 개인키를 상기 단말기(200)로 제공하며, 상기 단말기(200)는 상기 개인키가 제공되면 이를 저장한다.
[4. 데이터 요청]
상기 단말기(200)는 유저의 요청에 따라 상기 유저 및 데이터 식별정보를 포함하는 데이터 요청을 상기 서비스 서버(100)로 전송한다.
[5. 암호화 또는 암호화되지 않은 데이터 전송]
상기 서비스 서버(100)는 상기 단말기(200)로부터 유저 및 데이터 식별정보를 포함하는 데이터 요청이 발생될 때마다, 상기 데이터 요청에 따라 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되었는지를 체크한다.
상기 서비스 서버(100)는 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 미리 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고, 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않으면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송한다.
상기 단말기(200)는 서비스 서버(100)로부터 암호화되지 않은 데이터가 수신되면 이를 그대로 처리하고, 암호화된 데이터가 수신되면 상기 개인키를 이용하여 상기 암호화된 데이터를 복호화한다.
[6. 복호화 성공여부전송]
또한 상기 단말기(200)는 상기 데이터에 대한 복호화가 이루어지면, 유저 및 데이터 식별정보에 대응되는 복호화 성공정보를 상기 서비스 서버(100)로 제공하며, 상기 서비스 서버(100)는 상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보를 저장한다.
본 발명에 따른 보안 방법은 사물인터넷 분야에 널리 사용될 수 있다.

Claims (8)

  1. 사물인터넷 환경을 구성하는 다수 개의 단말기 및 상기 단말기들로 서비스를 제공하는 서비스 서버로 구성되는 사물 인터넷 환경의 서비스 서버에 의해 구현되는 컨텍스트 기반 보안방법에 있어서,
    (a) 사물 인터넷 환경을 구성하는 네트워크 시스템에 연결된 단말기들 중 어느 하나의 단말기로부터 컨텍스트 정보를 제공받고 개인키 생성을 요청받는 단계;
    (b) 상기 제공된 컨텍스트 정보에 따라 어세스 트리를 구성하고, 상기 어세스 트리와 미리 설정된 공개키를 이용하여 상기 컨텍스트 정보를 제공한 단말기로 제공할 데이터를 암호화하여 저장하고, 상기 단말기로부터의 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성하여 상기 단말기로 제공하는 단계;
    (c) 상기 단말기로부터 유저 및 데이터 식별정보를 포함하는 데이터 요청이 발생되면, 상기 데이터 요청에 따른 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있는지를 체크하고,
    상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고,
    상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송하는 단계;
    (d) 상기 단말기로부터 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 제공되면 이를 저장하는 단계;를 포함하는 것을 특징으로 하는 사물 인터넷 환경에서의 서버에 의한 컨텍스트 기반 보안방법.
  2. 사물인터넷 환경을 구성하는 다수 개의 단말기 및 상기 단말기들로 서비스를 제공하는 서비스 서버로 구성되는 사물 인터넷 환경의 단말기에 의해 구현되는 컨텍스트 기반 보안방법에 있어서,
    (a) 상기 서비스 서버로 컨텍스트 정보를 제공하고 개인키 생성을 요청하는 단계;
    (b) 상기 서비스 서버로부터 개인키를 제공받아 저장하는 단계;
    (c) 상기 서비스 서버로 유저 및 데이터 식별 정보를 포함하는 데이터 요청을 하는 단계; 및
    (d) 상기 서비스 서버로부터 암호화된 데이터가 제공되면, 상기 개인키에 포함된 컨텍스트 정보와 상기 암호화된 데이터의 어세스 트리가 일치하는지를 체크하고, 상기 컨텍스트 정보와 상기 어세스 트리가 일치하면, 상기 개인키에 포함된 마스터키를 토대로 상기 암호화된 데이터를 복호화하는 단계;
    를 구비하는 것을 특징으로 하는 사물 인터넷 환경의 단말기에 의한 컨텍스트 기반 보안방법.
  3. 제2항에 있어서, 상기 컨텍스트 기반 보안 방법은,
    (e) 상기 암호화된 데이터의 복호화에 성공하면, 복호화 성공정보를 상기 서비스 서버로 전송하는 단계;를 더 구비함을 특징으로 하는 사물 인터넷 환경의 단말기에 의한 컨텍스트 기반 보안방법.
  4. 제2항에 있어서, 상기 (d) 단계는 상기 컨텍스트 정보와 상기 어세스 트리가 일치하는지 판단하기 위하여, 상기 컨텍스트 정보와 상기 어세스 트리의 리프의 일치여부를 바이너리 트리의 형태로 나타낸 후에, 상기 바이너리 트리의 각 값을 SOP(Sum of Product) 식으로 변환하고, 상기 SOP 식을 구성하는 항들에 대해 하나씩 일치여부를 확인하여 모든 항들이 일치할 때에 상기 컨텍스트 정보와 상기 어세스 트리가 일치한다고 판단함을 특징으로 하는 사물 인터넷 환경의 단말기에 의한 컨텍스트 기반 보안방법.
  5. 제4항에 있어서,
    상기 SOP 식을 구성하는 항들을 항의 길이로 정렬한 후에 하나씩 일치여부를 확인함을 특징으로 하는 사물 인터넷 환경의 단말기에 의한 컨텍스트 기반 보안방법.
  6. 컨텍스트 기반 보안을 이행하는 사물 인터넷 환경의 네트워크 시스템에 있어서,
    사물 인터넷 환경을 구성하는 단말기들; 및
    상기 단말기들로 서비스를 제공하는 서비스 서버;를 구비하고,
    상기 서비스 서버는,
    상기 단말기들 중 어느 하나의 단말기로부터 컨텍스트 정보를 제공받으면, 상기 제공된 컨텍스트 정보와 미리 설정된 마스터키를 조합하여 개인키를 생성하여 해당 단말기로 제공하고, 상기 컨텍스트 정보에 따라 어세스 트리를 구성하고, 상기 어세스 트리와 미리 설정된 공개키를 이용하여 해당 단말기로 제공할 데이터를 암호화하여 저장하는 데이터 암호화 모듈;
    상기 단말기들 중 어느 하나의 단말기로부터 유저 및 데이터 식별 정보를 포함하는 데이터 요청이 발생하면, 상기 데이터 요청에 따르는 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있는지를 체크하고,
    상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화되지 않은 상태로 전송하고,
    상기 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 저장되어 있지 않다면, 해당 단말기로 해당 데이터 식별정보에 따른 데이터를 암호화된 상태로 전송하는 데이터 전송 모듈; 및
    상기 단말기로부터 유저 및 데이터 식별정보에 대응되는 복호화 성공정보가 제공되면 이를 저장하는 복호화 성공정보 저장 모듈;을 구비하며,
    상기 단말기들 각각은,
    상기 서비스 서버로 자신의 컨텍스트 정보를 전송함과 동시에 개인키 생성을 요청하며, 서비스 서버로부터 개인키를 제공받아 저장하는 개인키 요청 모듈;
    유저 및 데이터 식별정보를 포함하는 데이터 요청을 상기 서비스 서버로 전송하는 데이터 요청 모듈;
    상기 서비스 서버로부터 암호화된 데이터가 제공되면, 상기 개인키에 포함된 컨텍스트 정보와 상기 암호화된 데이터의 어세스 트리가 일치하는지를 체크하고, 상기 컨텍스트 정보와 상기 어세스 트리가 일치하면, 상기 개인키에 포함된 마스터키를 토대로 상기 암호화된 데이터를 복호화하는 데이터 복호화 모듈; 및
    상기 암호화된 데이터의 복호화에 성공하면, 복호화 성공정보를 상기 서비스 서버로 전송하는 복호화 성공정보 전송 모듈;
    을 구비하는 것을 특징으로 하는 컨텍스트 기반 보안을 이행하는 사물 인터넷 환경의 네트워크 시스템.
  7. 제6항에 있어서, 상기 단말기의 데이터 복호화 모듈은,
    상기 컨텍스트 정보와 상기 어세스 트리의 리프의 일치여부를 바이너리 트리의 형태로 나타낸 후에, 상기 바이너리 트리의 각 값을 SOP 식으로 변환하고, SOP 식을 구성하는 항들에 대해 하나씩 일치여부를 확인하여 모든 항들이 일치할 때에 상기 컨텍스트 정보와 상기 어세스 트리가 일치한다고 판단함을 특징으로 하는 컨텍스트 기반 보안을 이행하는 사물 인터넷 환경의 네트워크 시스템.
  8. 제7항에 있어서, 상기 단말기의 데이터 복호화 모듈은,
    상기 SOP 식을 구성하는 항들을 항의 길이로 정렬한 후에 하나씩 일치여부를 확인함을 특징으로 하는 컨텍스트 기반 보안을 이행하는 사물 인터넷 환경의 네트워크 시스템.
PCT/KR2016/001531 2015-12-24 2016-02-16 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템 WO2017111202A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150186129A KR101709086B1 (ko) 2015-12-24 2015-12-24 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템
KR10-2015-0186129 2015-12-24

Publications (1)

Publication Number Publication Date
WO2017111202A1 true WO2017111202A1 (ko) 2017-06-29

Family

ID=58315341

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/001531 WO2017111202A1 (ko) 2015-12-24 2016-02-16 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템

Country Status (2)

Country Link
KR (1) KR101709086B1 (ko)
WO (1) WO2017111202A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519353A (zh) * 2019-08-16 2019-11-29 阿里巴巴集团控股有限公司 一种服务请求的处理方法、装置以及设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11800351B2 (en) 2018-07-17 2023-10-24 Telefonaktiebolaget Lm Ericsson (Publ) Multi-X key chaining for Generic Bootstrapping Architecture (GBA)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363244B2 (en) * 2007-03-27 2013-01-29 Xerox Corporation Updating authentication server lists for users accessing shared access devices
KR20140011529A (ko) * 2012-06-29 2014-01-29 인텔렉추얼디스커버리 주식회사 암호화 데이터의 복호화를 위한 접근 방법
KR20140050322A (ko) * 2012-10-19 2014-04-29 삼성전자주식회사 사용자 디바이스의 고유 식별자 제공 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452124B1 (ko) 2013-08-01 2014-10-16 덕성여자대학교 산학협력단 사물간 통신 네트워크에서 암호화 기반 기기 인증 및 세션키 생성 방법
EP2903204A1 (en) 2014-02-03 2015-08-05 Tata Consultancy Services Limited A computer implemented system and method for lightweight authentication on datagram transport for internet of things
KR101391729B1 (ko) 2014-02-27 2014-05-27 주식회사 에이에스티소프트 사물인터넷 보안시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363244B2 (en) * 2007-03-27 2013-01-29 Xerox Corporation Updating authentication server lists for users accessing shared access devices
KR20140011529A (ko) * 2012-06-29 2014-01-29 인텔렉추얼디스커버리 주식회사 암호화 데이터의 복호화를 위한 접근 방법
KR20140050322A (ko) * 2012-10-19 2014-04-29 삼성전자주식회사 사용자 디바이스의 고유 식별자 제공 방법 및 장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ASIM, MUHAMMAD ET AL.: "Attribute-based Encryption with Encryption and Decryption Outsourcing", ORIGINALLY PUBLISHED IN THE PROCEEDINGS OF THE 12TH AUSTRALIAN INFORMATION SECURITY MANAGEMENT CONFERENCE, 3 December 2014 (2014-12-03), Joondalup Campus, Perth, Western Australia, pages 21 - 28, XP055395563 *
TOUATI, LYES ET AL.: "C-CP-ABE: Cooperative Ciphertext Policy Attribute-Based Encryption for the Internet of Things", INTERNATIONAL CONFERENCE ON ADVANCED NETWORKING, DISTRIBUTED SYSTEMS AND APPLICATIONS, 2014, Bejaia, Algeria, pages 1 - 7, XP032692468 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110519353A (zh) * 2019-08-16 2019-11-29 阿里巴巴集团控股有限公司 一种服务请求的处理方法、装置以及设备
CN110519353B (zh) * 2019-08-16 2022-03-04 蚂蚁蓉信(成都)网络科技有限公司 一种服务请求的处理方法、装置以及设备

Also Published As

Publication number Publication date
KR101709086B1 (ko) 2017-02-23

Similar Documents

Publication Publication Date Title
CN113591119B (zh) 跨域标识解析节点数据隐私保护与安全共享方法及系统
CN107454079B (zh) 基于物联网平台的轻量级设备认证及共享密钥协商方法
CN107770182A (zh) 家庭网关的数据存储方法及家庭网关
Thayananthan et al. Big data security issues based on quantum cryptography and privacy with authentication for mobile data center
KR20180119201A (ko) 인증 시스템을 위한 전자 장치
WO2012093900A2 (en) Method and device for authenticating personal network entity
Tawde et al. Cyber security in smart grid SCADA automation systems
WO2019221419A1 (ko) 하드웨어 보안 모듈
Han et al. A lightweight authentication mechanism between IoT devices
Chen et al. Enhanced authentication protocol for the Internet of Things environment
WO2018186543A1 (ko) 장치 인증키를 이용한 데이터 암호화 방법 및 시스템
WO2022080784A1 (ko) 양자 암호키 분배 방법 및 장치
WO2017111202A1 (ko) 사물 인터넷 환경에서의 컨텍스트 기반 보안방법 및 그에 따른 시스템
Zhang et al. Is Today's End-to-End Communication Security Enough for 5G and Its Beyond?
WO2024005565A1 (ko) 메신저 서비스를 제공하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체
Wu et al. Efficient authentication for Internet of Things devices in information management systems
Shahzad et al. SF‐LAP: Secure M2M Communication in IIoT with a Single‐Factor Lightweight Authentication Protocol
WO2019103360A1 (ko) Iot 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
WO2021075604A1 (ko) 상속 데이터 전달 방법 및 장치
CN113326528A (zh) 一种基于大数据高安全性个人信息保护区块链应用方法
CN111641646A (zh) 一种安全增强型通信定位终端
CN111586024A (zh) 一种认证方法、设备和存储介质
Rahmani et al. Cyber security considerations of 4G mobile networks as a commuication service in smart grid
Liu et al. Research on Secure Access Technology of Electric Power Wireless Private Network Based on Hybrid Encryption
CN116722970B (zh) 一种基于硬件实现的防攻击网关安全系统

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

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

Country of ref document: EP

Kind code of ref document: A1