KR102050887B1 - 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 - Google Patents
사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 Download PDFInfo
- Publication number
- KR102050887B1 KR102050887B1 KR1020170162102A KR20170162102A KR102050887B1 KR 102050887 B1 KR102050887 B1 KR 102050887B1 KR 1020170162102 A KR1020170162102 A KR 1020170162102A KR 20170162102 A KR20170162102 A KR 20170162102A KR 102050887 B1 KR102050887 B1 KR 102050887B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- iot
- ciphertext
- cloud server
- partial decryption
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
사용자 단말, 클라우드 서버, 복수의 사물인터넷 기기, 및 신뢰기관 서버를 포함하는 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템에서의 속성 기반 암호화를 이용한 데이터 공유 방법이 개시된다. 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법은 신뢰기관 서버가 마스터키(MK) 및 공개키(PK)를 생성하는 셋업 단계, 신뢰기관 서버가 마스터키(MK), 공개키(PK), 각각의 사물인터넷 기기의 ID, 및 사물인터넷 기기의 속성집합을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 비밀키(SKu)를 생성하고 해당 사물인터넷 기기에 전송하는 키 생성 단계, 신뢰기관 서버가 비밀키(SKu) 생성을 위해 선택한 고유값(c) 및 사물인터넷 기기(u)의 ID(idu)를 전체 사물인터넷 기기 식별자 테이블(T)에 저장하는 단계, 클라우드 서버가 사용자 단말로부터 공개키(PK) 및 접근제어를 위한 속성집합(W)을 입력으로 데이터(M)를 암호화하여 생성된 암호문(CT)을 수신하는 단계, 사물인터넷 기기가 클라우드 서버에 암호문(CT)에 대한 접근을 요청하는 단계, 클라우드 서버가 공개키(PK)와 사물인터넷 기기 식별자 테이블(T)을 입력으로 하여 부분복호키(TK)를 생성하는 단계, 클라우드 서버가 부분복호키(TK)와 암호문(CT)을 입력으로 하여 부분복호 결과(CT')를 생성하는 부분복호 단계, 클라우드 서버가 부분복호 결과(CT')를 사물인터넷 기기에 송신하는 단계, 및 사물인터넷 기기가 비밀키(SKu)와 부분복호 결과(CT')를 입력으로 하여 데이터(M)를 추출하는 최종복호 단계를 포함한다.
Description
본 발명은 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템에 관한 것으로서, 특히 사물인터넷 기기별 할당된 속성값을 기반으로 클라우드 서버에 저장된 공유 데이터에 대한 접근제어를 지원하며, 클라우드 서버가 부분복호키(TK)를 생성하며, 부분복호키(TK)로 부분 복호하고, 사물인터넷 기기가 최종 복호하여 데이터를 복원하는 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템에 관한 것이다.
본 발명은 속성 기반 암호화를 이용한 클라우드 컴퓨팅 환경에서의 데이터 공유 기술을 제시한다.
ID 기반 암호는 특정한 ID를 기반으로 데이터를 암호화한다. 사용자가 해당 데이터를 복호하려면 ID가 일치해야 한다. 이는 다수 사용자 환경에서의 데이터 공유에 부적합하다. 속성 기반 암호는 다수의 속성(예, 학위, 나이, 성별, 직위 등)을 기반으로 데이터를 암호화한다. 사용자가 해당 데이터를 복호하려면 속성 별 조건(예, 석사학위 이상, 35세 미만, 남자, 대리급 이상)을 만족해야 한다. 이는 다수 사용자 환경에서의 데이터 공유에 적합하다. 하지만 대부분의 속성 기반 암호는 속성의 개수에 비례하여 데이터의 크기가 증가하기 때문에 스토리지 측면에서 비효율적이다. 사용자의 신원정보(예, ID)를 비밀키에 삽입함으로써, 추후 비밀키의 불법복제를 막는 기법이 존재하나, 비밀키로부터 신원정보를 복원함으로써 키 유출을 탐지하는데 부적합하다.
또한, 클라우드 서버는 사용자의 ID를 기반으로 데이터에 대한 접근제어를 지원한다. 하지만 이러한 방법은 해당 ID를 가진 사용자만 데이터에 접근할 수 있다는 점에서, 다수 사용자를 대상으로 하는 데이터 공유에 적합하지 않다. 다수의 속성을 기반으로 세분화된 접근제어를 지원하는 기법들이 존재하지만, 기존 기법들은 대부분 속성의 개수에 비례하여 데이터 암복호 연산량이 증가한다. 특히 암호 대비 복호 연산의 과부하가 더 크다. 이러한 특징은 제한된 컴퓨팅 자원을 가진 사물인터넷 기기에 부적합하다. 따라서, 클라우드 컴퓨팅 환경에서 발생할 수 있는 상기와 같은 문제점을 해결하기 위해 사물인터넷 기기 측면에서의 연산 과부하를 개선할 수 있는 사물인터넷 관리 방법이 필요하다.
또한, 기존 속성 기반 암호 환경에서 비밀키가 유출되는 경우, 대부분의 연구가 해당 키를 추적하는 기법을 제안하는데 초점을 맞추고 있다. 하지만, 유출된 비밀키를 이용하여 클라우드에 저장된 데이터 접근을 차단하는 기법은 전무한 실정이다. 따라서, 클라우드 컴퓨팅 환경에서 발생할 수 있는 상기와 같은 문제점을 해결하기 위해 유출된 비밀키를 가지고 있다 하더라도, 적합한 사물인터넷 기기가 아니라면 데이터 접근이 불가하도록 하여 데이터 안전성을 향상시킬 수 있는 사물인터넷 관리 방법이 필요하다.
Z. Zhou, D. Huang, Z. Wang, E cient privacy-preserving ciphertext-policy attribute based-encryption and broadcast encryption, IEEE Transactions on Computers, 64(1), pp. 126{138. (2015)
본 발명이 이루고자 하는 기술적인 과제는 사물인터넷 기기 측면에서의 복호 연산 과부하를 개선할 수 있는 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템을 제공하는 것이다.
또한, 본 발명이 이루고자 하는 기술적인 과제는 유출된 비밀키를 가지고 있다 하더라도, 적합한 사물인터넷 기기가 아니라면 데이터 접근이 불가하도록 하여 데이터 안전성을 향상시킬 수 있는 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 사용자 단말, 복수의 사물인터넷 기기, 클라우드 서버, 및 신뢰기관 서버를 포함하는 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템에서의 데이터 공유 방법은
신뢰기관 서버가 임의의 g∈G0, ,∈Zp를 선택하여 마스터키(MK) 및 공개키(PK)를 생성하는 셋업 단계, 상기 신뢰기관 서버가 상기 마스터키(MK), 상기 공개키(PK), 각각의 사물인터넷 기기(u)의 ID(idu), 및 사물인터넷 기기(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 비밀키(SKu)를 생성하고 해당 사물인터넷 기기(u)에 전송하는 키 생성 단계, 상기 신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유값(c) 및 상기 사물인터넷 기기(u)의 ID(idu)를 사물인터넷 기기 식별자 테이블(T)에 저장하는 단계, 상기 클라우드 서버가 상기 사용자 단말로부터 상기 공개키(PK) 및 접근제어를 위한 속성집합(W)을 입력으로 데이터(M)를 암호화하여 생성된 암호문(CT)을 수신하는 단계, 상기 복수의 사물인터넷 기기(u) 중 어느 하나가 상기 클라우드 서버에 상기 암호문(CT)에 대한 접근을 요청하는 단계, 상기 클라우드 서버가 상기 공개키(PK)와 상기 사물인터넷 기기 식별자 테이블(T)을 입력으로 하여 부분복호키(TK)를 생성하는 단계, 상기 클라우드 서버가 상기 부분복호키(TK)와 상기 암호문(CT)을 입력으로 하여 부분복호 결과(CT')를 생성하는 부분복호 단계, 상기 클라우드 서버가 상기 부분복호 결과(CT')를 상기 암호문(CT)에 대한 접근을 요청한 사물인터넷 기기(u)에 송신하는 단계, 및 상기 부분복호 결과(CT')를 수신한 상기 사물인터넷 기기(u)가 상기 사물인터넷 기기(u)의 비밀키(SKu)와 상기 부분복호 결과(CT')를 입력으로 하여 데이터(M)를 추출하는 최종복호 단계를 포함한다.
본 발명의 실시 예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템은 마스터키(MK), 공개키(PK), 및 각각의 사용자 ID에 대응하는 비밀키(SKu)를 생성하고, 상기 마스터키(MK), 상기 공개키(PK), 상기 비밀키(SKu), 및 전체 사물인터넷 기기 식별자 테이블(T)을 관리하는 신뢰기관 서버; 메시지(M)를 암호화하여 암호문(CT)을 생성하는 암호화 모듈, 및 네트워크를 통해 클라우드 서버에 암호문(CT)을 송신하는 통신 모듈을 구비한 적어도 하나 이상의 사용자 단말; 상기 공개키(PK)와 상기 사물인터넷 기기 식별자 테이블(T)를 입력으로 하여 부분복호키(TK)를 생성하는 부분복호화키 생성부, 상기 부분복호키(TK)와 상기 암호문(CT)을 입력으로 하여 상기 암호문(CT)을 부분적으로 복호화한 부분복호 결과(CT')를 생성하는 부분복호부, 네트워크를 통해 상기 사용자 단말로부터 상기 암호문(CT)을 수신하거나 사물인터넷 기기에 상기 부분복호 결과(CT')를 송신하는 통신부 및 상기 암호문(CT)을 저장하는 저장부를 포함하는 클라우드 서버; 및 부분복호 결과(CT')를 최종 복호화하는 복호화 모듈, 및 네트워크를 통해 부분복호 결과(CT')를 수신하는 통신 모듈을 구비한 복수의 사물인터넷 기기;를 포함하되, 상기 신뢰기관 서버는 임의의 g∈G0, ,∈Zp를 선택하여 상기 마스터키(MK) 및 상기 공개키(PK)를 생성하고, 상기 마스터키(MK), 상기 공개키(PK), 각각의 사물인터넷 기기(u)의 ID(idu), 및 사물인터넷 기기(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 상기 비밀키(SKu)를 생성하고 해당 사물인터넷 기기(u)에 전송하고, 신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유값(c) 및 상기 사물인터넷 기기(u)의 ID(idu)를 사물인터넷 기기 식별자 테이블(T)에 저장하며, 상기 사용자 단말의 상기 암호화 모듈은 임의의 t∈Zp를 선택하여 대칭키()를 생성하고, 상기 대칭키(Key)를 이용하여 대칭키 암호문()을 생성하고, 상기 공개키(PK), 접근제어를 위한 속성집합(W), 상기 대칭키 암호문()을 입력하여 상기 암호문()를 생성한다.
본 발명의 실시 예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 효율적인 데이터 공유 방법에 의할 경우, 다양한 속성을 기반으로 세분화된 접근제어 기법을 사물인터넷 관리에 적용함으로써, 다양한 종류의 사물인터넷 기기 간 데이터 공유가 가능한 효과가 있다.
또한, 본 발명의 실시 예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 효율적인 데이터 공유 방법에 의할 경우, 컴퓨팅 자원이 제한된 사물인터넷 기기가 수행해야 하는 연산량 일부를 클라우드 서버가 대신 수행할 수 있는 효과가 있다.
또한, 본 발명의 실시 예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 효율적인 데이터 공유 방법에 의할 경우, 사물인터넷 기기의 비밀키가 유출된다 하더라도, 유출된 비밀키로 클라우드 데이터 접근이 불가능하도록 하여 데이터 안정성을 높일 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템의 개략도이다.
도 2는 도 1에 도시된 클라우드 서버의 기능 블럭도이다.
도 3은 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법이 적용되는 시스템의 전체 흐름을 도시한 도면이다.
도 1은 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템의 개략도이다.
도 2는 도 1에 도시된 클라우드 서버의 기능 블럭도이다.
도 3은 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법이 적용되는 시스템의 전체 흐름을 도시한 도면이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
우선, 본 발명에 사용된 모든 알고리즘은 겹선형 맵(Bilinear Map)의 수학적 특성에 기반하여 생성되었다. Bilinear Map의 세부 특성은 아래와 같다.
이하, 도 1 내지 도2 를 참조하여, 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템에 대해 상술한다.
도 1은 본 발명의 일 실시예에 따른 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템(10)을 도시한다.
도 1을 참조하면, 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 시스템(10)은 사용자 단말(100), 사물인터넷 기기(200), 클라우드 서버(300), 및 신뢰기관 서버(400)를 포함한다.
신뢰기관 서버(400)는 마스터키(MK) 및 공개키(PK)를 생성할 수 있다. 또한, 신뢰기관 서버(400)는 마스터키(MK), 공개키(PK), 사물인터넷 기기 u의 속성집합(Lu), 및 사물인터넷 기기 u의 ID(idu)를 입력으로 하여, 각각의 사물인터넷 기기에 대응하는 비밀키(SKu)를 생성할 수 있다.
비밀키(SKu)는 해당 사물인터넷 기기(200)에 전송한다. 신뢰기관 서버(400)는 비밀키(SKu) 생성을 위하여 선택한 임의의 값 c를 해당 사물인터넷 기기 u의 ID(idu)와 함께 사물인터넷 기기 식별자 테이블(T)에 저장한다.
사용자 단말(100) 또는 사물인터넷 기기(200)는 네트워크 망을 통하여 클라우드 서버(300) 또는 신뢰기관 서버(400)와 통신할 수 있다. 일 실시예에 따른 네트워크 망은, 개방형 인터넷, 폐쇄형 인트라넷을 포함한 유선 인터넷망, 이동 통신망과 연동된 무선 인터넷 통신망뿐만 아니라, 각종 데이터 통신이 가능한 컴퓨터 네트워크 등의 가능한 통신 수단을 포함하는 넓은 개념이다.
사용자 단말(100)은 데이터(M, 메시지)을 암호화하여 암호문(CT)을 생성하고, 암호문(CT)을 클라우드 서버(300)에 전송하여 저장한다. 사용자 단말(100)은 암호화 모듈, 통신 모듈, 메모리, 및 제어 모듈을 포함한다.
본 명세서에서 사용되는 모듈이라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
사용자 단말(100)의 암호화 모듈은 제어 모듈의 제어 하에, 암호화 알고리즘을 수행하여 메시지(M)를 암호화한다. 이때, 암호화 모듈은 공개키(PK), 접근제어를 위한 속성집합(W), 및 메시지(M)를 입력으로 하여, 암호문(CT)를 생성한다.
사용자 단말(100)의 통신 모듈은 제어 모듈의 제어 하에, 클라우드 서버(300) 또는 신뢰기관 서버(400)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다. 예를 들어, 통신 모듈은 네트워크를 통해 클라우드 서버(300)에 암호문을 송신할 수 있다.
사용자 단말(100)의 메모리는 프로그램 메모리와 데이터 메모리를 포함할 수 있다. 상기 프로그램 메모리에는 사용자 단말(100)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 메모리에는 상기 프로그램들을 수행하는 과정 중에 발생하는 데이터들이 저장될 수 있다.
사용자 단말(100)의 제어 모듈은 사용자 단말의 전반적인 동작을 제어한다. 즉, 암호화 모듈, 통신 모듈, 및 메모리의 동작을 제어할 수 있다.
사물인터넷 기기(200)는 클라우드 서버(300)에 부분복호 결과(CT')를 요청하고, 클라우드 서버(300)로부터 수신한 부분복호 결과(CT')를 최종 복호하여 메시지(M)를 추출한다. 사물인터넷 기기(200)는 복호화 모듈, 통신 모듈, 메모리, 및 제어 모듈을 포함한다.
사물인터넷 기기(200)의 복호화 모듈은 제어 모듈의 제어 하에, 최종 복호 알고리즘을 수행하여 클라우드 서버(300)로부터 수신된 부분복호 결과(CT')를 최종복호화한다. 복호화 모듈은 사물인터넷 기기의 비밀키(SKU) 및 부분복호 결과(CT')를 입력으로 하여, 메시지(M')를 반환한다.
사물인터넷 기기(200)의 통신부는 제어 모듈의 제어 하에, 클라우드 서버(300) 또는 신뢰기관 서버(400)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다. 예를 들어, 통신 모듈은 네트워크를 통해 클라우드 서버(300)로부터 부분복호 결과(CT')를 수신할 수 있다.
사물인터넷 기기(200)의 메모리는 프로그램 메모리와 데이터 메모리를 포함할 수 있다. 상기 프로그램 메모리에는 사물인터넷 기기(200)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 메모리에는 상기 프로그램들을 수행하는 과정 중에 발생하는 데이터들이 저장될 수 있다.
사물인터넷 기기(200)의 제어 모듈은 사물인터넷 기기의 전반적인 동작을 제어한다. 즉, 복호화 모듈, 통신 모듈, 및 메모리의 동작을 제어할 수 있다.
도 2는 도 1에 도시된 클라우드 서버(300)의 기능 블럭도이다.
클라우드 서버(300)는 부분복호화키 생성부(310), 부분복호부(330), 통신부(350), 저장부(370) 및 제어부(390)를 포함한다.
클라우드 서버(300)의 부분복호화키 생성부(310)는 제어부(390)의 제어 하에, 공개키(PK)와 사물인터넷 기기 식별자 테이블 T를 입력값으로 하여, 부분복호키(transformation key, TK)를 반환한다.
클라우드 서버(300)의 부분복호부(330)는 제어부(390)의 제어 하에, 사물인터넷 기기(200)로부터 암호문(CT)에 대한 접근 요청을 수신한 경우, 부분복호키(TK)와 암호문(CT)을 입력값으로 받아 암호문(CT)을 부분적으로 복호하여 부분복호 결과(CT')를 반환한다. 부분복호키(TK)가 암호문(W)의 접근 정책(access policy)를 만족하는 경우 부분복호 결과(CT')를 반환한다.
클라우드 서버(300)의 통신부(350)는 제어부(390)의 제어 하에, 네트워크를 통해 부분복호 결과(CT')를 사물인터넷 기기(200)에 송신하거나 암호문(CT)을 사용자 장치(100)로부터 수신한다.
클라우드 서버(300)의 저장부(370)는 제어부(390)의 제어 하에, 사용자 장치(100)로부터 수신한 암호문(CT) 등을 저장한다.
클라우드 서버(300)의 제어부(390)는 클라우드 서버(300)의 전반적인 동작을 제어한다. 즉, 부분복호화키 생성부(310), 부분복호부(330), 통신부(350), 및 저장부(370)의 동작을 제어할 수 있다.
이하, 도 3 내지 도 4를 참조하여, 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 사물인터넷 관리를 위한 데이터 공유 방법에 대하여 자세히 살펴보도록 한다.
도 3은 도 1에 도시한 클라우드 컴퓨팅 환경에서 사물인터넷 관리를 위한 데이터 공유 시스템을 이용한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 클라우드 컴퓨팅 환경에서 사물인터넷 관리를 위한 데이터 공유 방법이 적용되는 시스템의 전체 흐름을 도시한 도면이다.
본 발명에서 각각의 사물인터넷 기기(200)는 다음과 같은 k개의 속성 을 가지며, 각각의 속성은 와 같이 세 가지 유형의 값 중 하나를 가진다. 예를 들어, +로 표기된 속성은 사물인터넷 기기(200)가 해당 속성(Ai)을 가지고 있음을 나타내고, -로 표기된 속성은 사물인터넷 기기(200)가 해당 속성(Ai)을 갖고 있지 않거나 해당 속성(Ai)이 사물인터넷 기기(200)의 적절한 속성이 아님을 나타낸다. *로 표기된 속성은 사물인터넷 기기(200)가 해당 속성에 무관함을 의미한다.
셋업
단계
셋업(Setup) 알고리즘은 시스템 초기 단계에서 오직 한 번만 실행되며, 마스터키는 신뢰할 수 있는 개체(예, 키 서버)가 보관하며, 공개키는 시스템에 참여하는 모든 개체가 공유한다. 구체적인 알고리즘은 아래와 같다.
키 생성 단계
신뢰기관 서버(400)는 마스터키(MK), 공개키(PK), 사물인터넷 기기 u의 속성집합(Lu), 그리고 사물인터넷 기기 u의 ID(idu)를 입력으로 하고, k+2개의 임의의 를 선택하여 아래와 같이 사물인터넷 기기 u의 비밀키(SKu)를 생성한다(S200).
구체적인 알고리즘은 아래와 같다.
암호화 단계
데이터(M)를 클라우드 서버(300)에 업로드하고자 하는 사용자 기기(100)가 실행하며, 이때 공개키(PK)와 접근제어를 위한 속성집합 W, 그리고 암호화할 데이터 M을 입력값으로 하여 최종적으로 암호문 CT을 반환한다(S300). 사용자 단말(100)에서 생성한 암호문(CT)은 클라우드 서버(300)에 전송한다.
세부 알고리즘은 아래와 같다.
다음, 아래와 같이 암호문(CT)를 생성한다.
부분
복호화키
생성 단계
클라우드 서버(300)가 실행하며, 공개키(PK)와 테이블 T를 입력값으로 하여, 부분복호키(transformation key, TK)를 반환한다(S400).
구체적으로, 사물인터넷 기기(200)로부터 접근 요청을 받은 경우, 클라우드 서버는 사물인터넷 기기 식별자 테이블(T)에서 사물인터넷 기기(200)의 idu 에 대응하는 튜플(tuple) 을 찾는다. 다음, 해당 D'를 이용하여 아래와 같이 부분복호키(TK)를 반환한다.
부분 복호 단계
사물인터넷 기기(200) 대신 부분적으로 복호 연산을 수행하고자 하는 클라우드 서버(300)가 실행하며, 부분복호키(TK)와 암호문(CT)을 입력값으로 받아 부분복호 결과(CT')를 반환한다(S500).
클라우드 서버(300)는 우선적으로 부분복호키(TK)가 암호문(CT)의 접근정책(access policy)을 만족하는지 확인하며, 오직 만족할 시에만 부분복호를 진행한다.
즉, 사물인터넷 기기(u)의 속성집합(Lu)을 암호문(CT)의 접근제어를 위한 속성집합(W)과 비교하여 부분복호키(TK)가 암호문(CT)의 접근정책을 만족하는 경우 부분복호 결과(CT')를 반환한다.
다음, 아래와 같이 부분복호 결과(CT')를 반환한다.
최종 복호 단계
부분복호 결과(CT')로부터 최종복호를 수행하고자 하는 사물인터넷 기기(200)가 실행하며, 사물인터넷 기기(200)의 비밀키(SKu)와 부분복호 결과(CT')를 입력값으로 받아 최종적으로 데이터 M’을 반환한다(S600). 만약 해당 사물인터넷 기기가 비밀키의 원래 소유주라면 M’은 원본 데이터 M과 동일하다. 세부 알고리즘은 아래와 같다.
사물인터넷 기기(200)는 클라우드 서버(300)에 부분복호 결과(CT')를 요청하고, 클라우드 서버(300)로부터 부분복호 결과(CT')을 수신한다. 클라우드 서버(300)로부터 부분복호 결과(CT')를 수신한 사물인터넷 기기(200)는 상기 부분복호 결과(CT')를 최종 복호화하여 메시지(M')를 추출한다.
다음, 사물인터넷 기기(200)는 아래의 식을 계산하여 대칭키(Key)를 복원한다.
만약 사물인터넷 기기(200)의 비밀키가 유출된 경우라면, 유출된 비밀키를 가진 공격자는 부분복호된 결과로부터 정상적인 데이터를 복원할 수 없다.
유출된 비밀키(SKu)를 가진 공격자의 아이덴티티(identity)가 인 경우, 엑세스 요청을 받은 클라우드 서버(300)는 공격자의 변환 키(transformation key) 를 이용하여 아래와 같이 Ai를 계산한다.
반면, Bi는 원래 키 소유자의 아이덴티티 c와 연관된 공유키를 사용하여 계산한다.
따라서, 유출된 비밀키를 이용한 공격자는 부분복호 결과로부터 데이터를 암호화하는데 필요한 암호키(대칭키, Key)를 복원할 수 없고, 따라서 데이터 M을 복원할 수 없다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 클라우드 컴퓨팅 환경에서 사물인터넷 관리를 위한 데이터 공유 시스템
100 : 사용자 단말
200 : 사물인터넷 기기
300 : 클라우드 서버
400 : 신뢰기관 서버
100 : 사용자 단말
200 : 사물인터넷 기기
300 : 클라우드 서버
400 : 신뢰기관 서버
Claims (6)
- 사용자 단말, 복수의 사물인터넷 기기, 클라우드 서버, 및 신뢰기관 서버를 포함하는 데이터 공유 시스템에서의 데이터 공유 방법에 있어서,
신뢰기관 서버가 임의의 g∈G0, , ∈Zp를 선택하여 마스터키(MK)와 공개키(PK)를 생성하는 셋업 단계;
상기 신뢰기관 서버가 상기 마스터키(MK), 상기 공개키(PK), 각각의 사물인터넷 기기(u)의 ID(idu), 및 사물인터넷 기기(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 비밀키(SKu)를 생성하고 해당 사물인터넷 기기(u)에 전송하는 키 생성 단계;
(이때, 를 만족함)
상기 신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유값(c) 및 상기 사물인터넷 기기(u)의 ID(idu)를 사물인터넷 기기 식별자 테이블(T)에 저장하는 단계;
상기 클라우드 서버가 상기 사용자 단말로부터 상기 공개키(PK) 및 접근제어를 위한 속성집합(W)을 입력으로 데이터(M)를 암호화하여 생성된 암호문(CT)을 수신하는 단계;
상기 복수의 사물인터넷 기기(u) 중 어느 하나가 상기 클라우드 서버에 상기 암호문(CT)에 대한 접근을 요청하는 단계;
상기 클라우드 서버가 상기 공개키(PK)와 상기 사물인터넷 기기 식별자 테이블(T)을 입력으로 하여 부분복호키(TK)를 생성하는 단계;
상기 클라우드 서버가 상기 부분복호키(TK)와 상기 암호문(CT)을 입력으로 하여 부분복호 결과(CT')를 생성하는 부분복호 단계;
상기 클라우드 서버가 상기 부분복호 결과(CT')를 상기 암호문(CT)에 대한 접근을 요청한 사물인터넷 기기(u)에 송신하는 단계; 및
상기 부분복호 결과(CT')를 수신한 상기 사물인터넷 기기(u)가 상기 사물인터넷 기기(u)의 비밀키(SKu)와 상기 부분복호 결과(CT')를 입력으로 하여 데이터(M)를 추출하는 최종복호 단계를 포함하는 데이터 공유 방법.
- 마스터키(MK), 공개키(PK), 및 각각의 사용자 ID에 대응하는 비밀키(SKu)를 생성하고, 상기 마스터키(MK), 상기 공개키(PK), 상기 비밀키(SKu), 및 전체 사물인터넷 기기 식별자 테이블(T)을 관리하는 신뢰기관 서버;
메시지(M)를 암호화하여 암호문(CT)을 생성하는 암호화 모듈, 및 네트워크를 통해 클라우드 서버에 암호문(CT)을 송신하는 통신 모듈을 구비한 적어도 하나 이상의 사용자 단말;
상기 공개키(PK)와 상기 사물인터넷 기기 식별자 테이블(T)을 입력으로 하여 부분복호키(TK)를 생성하는 부분복호화키 생성부, 상기 부분복호키(TK)와 상기 암호문(CT)을 입력으로 하여 상기 암호문(CT)을 부분적으로 복호화한 부분복호 결과(CT')를 생성하는 부분복호부, 네트워크를 통해 상기 사용자 단말로부터 상기 암호문(CT)을 수신하거나 사물인터넷 기기에 상기 부분복호 결과(CT')를 송신하는 통신부 및 상기 암호문(CT)을 저장하는 저장부를 포함하는 클라우드 서버; 및
부분복호 결과(CT')를 최종 복호화하는 복호화 모듈, 및 네트워크를 통해 부분복호 결과(CT')를 수신하는 통신 모듈을 구비한 복수의 사물인터넷 기기를 포함하되,
상기 신뢰기관 서버는,
임의의 g∈G0, ,∈Zp를 선택하여 상기 마스터키(MK) 및 상기 공개키(PK)를 생성하고,
상기 마스터키(MK), 상기 공개키(PK), 각각의 사물인터넷 기기(u)의 ID(idu), 및 사물인터넷 기기(u)의 속성집합(Lu)을 입력으로 하고, k+2개의 임의의 a, c∈Zp *, {r1, r2,…, rk}∈Zp를 선택하여 상기 비밀키(SKu)를 생성하고 해당 사물인터넷 기기(u)에 전송하고,
(이때, 를 만족함)
신뢰기관 서버가 상기 비밀키(SKu) 생성을 위해 선택한 고유값(c) 및 상기 사물인터넷 기기(u)의 ID(idu)를 사물인터넷 기기 식별자 테이블(T)에 저장하며,
상기 사용자 단말의 상기 암호화 모듈은,
임의의 t∈Zp를 선택하여 대칭키(Key)를 생성하고, 상기 대칭키(Key)를 이용하여 대칭키 암호문()을 생성하고,
상기 공개키(PK), 접근제어를 위한 속성집합(W), 상기 대칭키 암호문()을 입력하여 상기 암호문(CT)를 생성하는,
데이터 공유 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170162102A KR102050887B1 (ko) | 2017-11-29 | 2017-11-29 | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170162102A KR102050887B1 (ko) | 2017-11-29 | 2017-11-29 | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190063193A KR20190063193A (ko) | 2019-06-07 |
KR102050887B1 true KR102050887B1 (ko) | 2019-12-02 |
Family
ID=66850302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170162102A KR102050887B1 (ko) | 2017-11-29 | 2017-11-29 | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102050887B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102320319B1 (ko) | 2020-07-08 | 2021-11-02 | 주식회사 코맥스 | 그룹기반 홈네트워크 서비스 통합 시스템 및 동작 방법 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102118956B1 (ko) * | 2019-08-29 | 2020-06-04 | 세종대학교산학협력단 | 인증 시스템 및 방법 |
KR102298266B1 (ko) * | 2019-11-14 | 2021-09-06 | 순천향대학교 산학협력단 | 클라우드 환경에서 안전하고 효율적인 데이터 공유를 위한 속성기반 암호를 활용한 데이터 접근 제어 방법 및 시스템 |
KR102400260B1 (ko) * | 2020-08-05 | 2022-05-23 | 재단법인대구경북과학기술원 | 속성 기반 접근 제어를 이용하는 엣지 컴퓨팅 기반의 차량-내 통신 시스템 및 그 방법 |
CN113923655B (zh) * | 2020-12-23 | 2023-08-25 | 技象科技(南京)有限公司 | 基于相邻节点的数据解密接收方法及装置 |
KR102605087B1 (ko) * | 2021-03-05 | 2023-11-23 | 순천향대학교 산학협력단 | 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법 |
CN114386072B (zh) * | 2022-01-13 | 2024-04-02 | 中国科学技术大学 | 数据共享方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101464727B1 (ko) | 2013-10-15 | 2014-11-27 | 순천향대학교 산학협력단 | 속성기반 암호를 이용한 클라우드 데이터 접근제어 시스템 및 방법 |
KR101701052B1 (ko) | 2015-08-26 | 2017-01-31 | 동국대학교 경주캠퍼스 산학협력단 | 사물인터넷에서의 정보 보안 방법 및 이를 이용한 정보 보안 시스템 |
KR101701304B1 (ko) | 2015-09-30 | 2017-02-02 | 고려대학교 산학협력단 | 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101324476B1 (ko) | 2012-02-28 | 2013-11-01 | 이청종 | 클라우드 이-디알엠 시스템 및 그 서비스 방법 |
CN105264539B (zh) | 2013-07-18 | 2018-02-27 | 日本电信电话株式会社 | 密钥云系统、解密方法、以及计算机可读取记录介质 |
US10686604B2 (en) | 2013-10-16 | 2020-06-16 | Nippon Telegraph And Telephone Corporation | Key device, key cloud system, decryption method, and program |
CN107147666A (zh) | 2017-06-07 | 2017-09-08 | 江苏海平面数据科技有限公司 | 在物联网终端和云数据平台之间数据加解密的方法 |
-
2017
- 2017-11-29 KR KR1020170162102A patent/KR102050887B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101464727B1 (ko) | 2013-10-15 | 2014-11-27 | 순천향대학교 산학협력단 | 속성기반 암호를 이용한 클라우드 데이터 접근제어 시스템 및 방법 |
KR101701052B1 (ko) | 2015-08-26 | 2017-01-31 | 동국대학교 경주캠퍼스 산학협력단 | 사물인터넷에서의 정보 보안 방법 및 이를 이용한 정보 보안 시스템 |
KR101701304B1 (ko) | 2015-09-30 | 2017-02-02 | 고려대학교 산학협력단 | 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102320319B1 (ko) | 2020-07-08 | 2021-11-02 | 주식회사 코맥스 | 그룹기반 홈네트워크 서비스 통합 시스템 및 동작 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20190063193A (ko) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102050887B1 (ko) | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 | |
CN108390876B (zh) | 支持撤销外包可验证多授权中心访问控制方法、云服务器 | |
CN107959567B (zh) | 数据存储方法、数据获取方法、装置及系统 | |
US9646168B2 (en) | Data access control method in cloud | |
US10187373B1 (en) | Hierarchical, deterministic, one-time login tokens | |
KR101982237B1 (ko) | 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템 | |
WO2018045568A1 (zh) | 一种面向云存储服务平台的访问控制方法及其系统 | |
EP3036664B1 (en) | Enabling access to data | |
US20220014367A1 (en) | Decentralized computing systems and methods for performing actions using stored private data | |
KR101615137B1 (ko) | 속성 기반의 데이터 접근 방법 | |
CN113987554B (zh) | 获取数据授权的方法、装置及系统 | |
WO2018165835A1 (zh) | 云密文访问控制方法及系统 | |
Tu et al. | A secure, efficient and verifiable multimedia data sharing scheme in fog networking system | |
Neela et al. | An improved RSA technique with efficient data integrity verification for outsourcing database in cloud | |
Mahalakshmi et al. | Effectuation of secure authorized deduplication in hybrid cloud | |
CN108141462B (zh) | 数据库查询的方法和系统 | |
KR101812311B1 (ko) | 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 | |
CN107360252A (zh) | 一种异构云域授权的数据安全访问方法 | |
KR20190048422A (ko) | 인증 시스템 및 방법 | |
KR102526114B1 (ko) | 암호화 및 복호화를 위한 장치 및 방법 | |
KR20200059908A (ko) | 사용자 개인정보 관리 장치 및 방법 | |
Prabha et al. | Tversky Anonymous Key Authentication Based Blum Goldwasser Cryptography For Cloud Data Access Security. | |
CN111385266B (zh) | 数据共享方法、装置、计算机设备和存储介质 | |
Nithisha et al. | A Secured Data Storage Mechanism Using Baye’s Theorem and Matrix for Effective Data Communication in Cloud | |
Fugkeaw et al. | Secure and Fine-grained Access Control with Optimized Revocation for Outsourced IoT EHRs With Adaptive Load-Sharing in Fog-Assisted Cloud Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |