KR101812311B1 - 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 - Google Patents

사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 Download PDF

Info

Publication number
KR101812311B1
KR101812311B1 KR1020160031613A KR20160031613A KR101812311B1 KR 101812311 B1 KR101812311 B1 KR 101812311B1 KR 1020160031613 A KR1020160031613 A KR 1020160031613A KR 20160031613 A KR20160031613 A KR 20160031613A KR 101812311 B1 KR101812311 B1 KR 101812311B1
Authority
KR
South Korea
Prior art keywords
user terminal
data
cloud server
key
secret key
Prior art date
Application number
KR1020160031613A
Other languages
English (en)
Other versions
KR20170107818A (ko
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 KR1020160031613A priority Critical patent/KR101812311B1/ko
Publication of KR20170107818A publication Critical patent/KR20170107818A/ko
Application granted granted Critical
Publication of KR101812311B1 publication Critical patent/KR101812311B1/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
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

실시예는 클라우드 서버와 데이터 송수신을 수행하는 통신 모듈, 클라우드 서비스 어플리케이션을 저장하는 메모리, 그리고 상기 어플리케이션을 수행하여 상기 클라우드 서버로 데이터를 암호화하여 전송하는 제어부를 포함하며, 상기 제어부는 사용자 속성 기반의 비밀키를 생성하고, 상기 비밀키를 이용하여 데이터를 암호화하고, 다른 사용자의 데이터 공유 요청에 따라 비밀키를 재암호화하는 속성 재암호화 기반 데이터 공유 시스템을 제공한다. 따라서, 속성암호 기법을 기반으로 사용자의 권한 관리를 제공할 수 있고, 신뢰성 있는 사용자만의 재암호화키를 수신받아 서버에 저장된 데이터를 복호화할 수 있다.

Description

사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법{USER TERMINAL AND DATA SHARING METHOD OF USER TERMINAL BASED ON ATTRIBUTED RE-ENCRYPTION}
본 발명은 데이터 공유 시스템 및 그 방법에 대한 것이다. 더욱 상세하게는, 데이터를 공유하는 속성 재암호 기반의 데이터 공유 시스템 및 그 방법에 관한 것이다.
최근 국내외로 클라우드 컴퓨팅에 관한 관심이 높아지며 많은 연구가 진행되고 있다. 많은 기업들이 IT기술의 성장을 발판으로, 다양한 분야로 확장 가능하고, 컴퓨팅 파워의 효율적인 사용이 가능한 클라우드 컴퓨팅에 관심을 가지고 있다. 구글, 야후 등 글로벌 인터넷 서비스 업체들은 인터넷 서비스 플랫폼의 중요성을 인식하고 자체 연구 개발을 수행, 저가 상용 노드를 기반으로 한 대규모 클러스터 기반의 분산컴퓨팅 플랫폼 기술을 개발 활용하고 있다.
대용량 데이터 처리 및 저장 관리가 필요한 대표적인 어플리케이션으로는 인터넷 서비스 분야 외에 예를 들면, 비즈니스 인텔리전스 등 다른 응용 영역으로 확대하여 클라우드 서비스로 제공하려는 비즈니스 모델이 제시되고 있다. 이와 같이 분산 컴퓨팅 환경에서 다양한 데이터 서비스가 가능해지면서 대용량 데이터의 분산관리가 주요 이슈로 떠오르고 있다.
이러한 클라우드 스토리지에 사용자의 수많은 데이터가 저장됨에 따라 클라우드 스토리지의 신뢰성에 문제가 발생하고 있다. 비신뢰적인 관리자 및 공격자로부터 클라우드 서버에 저장된 사용자의 데이터를 안전하게 저장하기 위한 다양한 암호 기술들이 계속해서 연구되고 있다. 하지만 기존의 데이터 암호 기술들은 클라우드 스토리지 상에서 여러 사용자 간의 데이터 공유 서비스에 적용하기 힘든 문제가 있다.
본 발명은 속성 재암호 기법을 통해 데이터를 공유하고자 하는 사용자 중에서 접근 권한에 따른 분류를 통해 데이터 재암호화키를 보유한 사용자만이 데이터에 최종적으로 접근하는 속성 재암호 기반의 데이터 공유 방법을 제공한다.
실시예는 클라우드 서버와 데이터 송수신을 수행하는 통신 모듈, 클라우드 서비스 어플리케이션을 저장하는 메모리, 그리고 상기 어플리케이션을 수행하여 상기 클라우드 서버로 데이터를 암호화하여 전송하는 제어부를 포함하며, 상기 제어부는 사용자 속성 기반의 비밀키를 생성하고, 상기 비밀키를 이용하여 데이터를 암호화하고, 다른 사용자의 데이터 공유 요청에 따라 비밀키를 재암호화하는 속성 재암호화 기반 데이터 공유 시스템을 제공한다.
상기 제어부는 공개키와 마스터키를 생성하고, 상기 마스터키와 속성 집합을 입력하여 상기 비밀키를 생성할 수 있다.
한편, 실시예는 공개키와 마스터키를 생성하고, 상기 마스터키와 속성 집합을 입력하여 비밀키를 생성하는 단계, 상기 비밀키를 이용하여 데이터를 암호화하는 단계, 다른 사용자로부터 상기 데이터에 대한 공유 요청을 수신하는 단계, 그리고 상기 다른 사용자의 속성에 따라 상기 비밀키를 재암호화하여 전달하는 단계를 포함하는 속성 재암호화 기반 데이터 공유 방법을 제공한다.
상기 암호화하는 단계는 상기 암호화된 데이터를 분할하여 클라우드 서버에 저장할 수 있다.
본 발명의 속성 기반의 데이터 접근 방법을 이용하여 속성암호 기법을 기반으로 사용자의 권한 관리를 제공할 수 있다.
또한, 신뢰성 있는 사용자만의 재암호화키를 수신받아 서버에 저장된 데이터를 복호화할 수 있다.
또한, 기존 속성 기반 데이터 공유 기법과 비교하여 데이터 공유 과정에서 증가하는 연산량을 재암호화를 사용함으로써 낮출 수 있다.
그리고, 본 발명에서는 사용자의 암호키를 재암호화하는 과정에서 재암호화키는 데이터 공유 시 일회성을 제공하는 키로써 생성되기 때문에 후방향 안전성을 제공할 수 있다.
도 1은 본 발명의 데이터 공유 시스템의 네트워크 구성을 나타내는 구성도이다.
도 2는 도 1의 사용자 단말의 일 실시예의 구성도이다.
도 3은 본 발명의 동작을 나타내는 전체 순서도이다.
도 4는 도 3의 비밀키 생성 단계를 설명하는 순서도이다.
도 5는 도 3의 암호화 단계를 설명하는 순서도이다.
도 6은 도 3의 복호화 단계를 설명하는 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1을 참고하면, 본 발명의 데이터 공유 시스템의 네크워크 구성은 복수의사용자 단말(100)이 관리자 서버(200) 및 클라우드 서버(300)와 유/무선 통신망을 통해 연결되어 있다.
사용자 단말(100)은 무선 통신망을 통해 관리자 서버(200)와 클라우드 서버(300)로 데이터를 송수신하는 스마트폰 등을 포함하며, 클라우드 서비스를 실행할 수 있는 어플리케이션이 탑재되어 있다.
클라우드 어플리케이션이 탑재되어 있는 사용자 단말(100)은 하나의 데이터 공유 시스템으로서 기능할 수 있으며, 다른 사용자 단말(100)과 클라우드 서버(300)에 저장되어 있는 개인의 데이터를 공유하고자 하는 경우, 재암호화를 통해 신뢰도를 높일 수 있는 공유 시스템을 제공할 수 있다.
한편, 관리자 서버(200)는 복수의 사용자 단말(100)과 연동하여 상기 사용자 단말(100)로부터 암호화된 비밀키 등을 수신하고, 이를 데이터와 매칭할 수 있다. 상기 관리자 서버(200)는 클라우드 서버(300)와 연동하여 상기 클라우드 서버(300)를 제어하고, 클라우드 서버(300)에 데이터를 저장할 수 있다.
상기 클라우드 서버(300)는 사용자 단말(100)로부터 데이터를 수신하고, 관리자 서버(200)로부터 데이터를 수신하고 이를 저장하며, 사용자 단말(100)의 요청에 따라 저장되어 있는 데이터를 다시 송신하는 메모리로서 기능하여 클라우드 서비스를 제공한다.
본 발명에 따른 데이터 공유 시스템은 클라우드 서비스 어플리케이션이 설치되어 있는 사용자 단말(100)을 의미할 수 있다.
상기 사용자 단말(100)은 도 2와 같이 구현될 수 있다.
도 2를 참고하면, 사용자 단말(100)은 제어부(110), 통신모듈(120), 메모리(140) 및 표시모듈(130)을 포함한다.
통신모듈(120)은 유/무선 통신 포트를 포함하며, 와이파이/3G 등을 통해 클라우드 서버(300) 및 관리자 서버(200)에 데이터를 송수신할 수 있다.
표시모듈(130)은 LED, LCD 등의 디스플레이 모듈을 포함하여 실행되는 어플리케이션을 사용자에게 표시하고, 텍스트와 이미지를 제공한다.
메모리(140)는 운영체제와 복수의 프로그램을 저장하는 저장매체이다. 이때, 상기 메모리(140)에 프로그램 중 하나로 클라우드 서비스 어플리케이션이 설치되어 있다.
제어부(110)는 메모리(140)에 저장되어 있는 운영체제와 프로그램을 이용하여 각 프로그램을 실행할 수 있도록 제어한다.
상기 제어부(110)는 상기 프로그램 중 클라우드 서비스 어플리케이션을 사용자 단말(100)이 속성 기반으로 클라우드 데이터에 접근할 수 있도록 동작한다.
상기 제어부(110)는 본 사용자 단말(100)이 저장하고자 하는 데이터를 속성 기반의 암호기법을 사용하여 암호화를 한 후, 다른 사용자 단말(100)이 본 사용자 단말(100)에게 데이터 공유를 요청하는 경우, 자신의 속성으로 암호화된 데이터를 복호화할 수 있는 재암호키를 생성하여 다른 사용자 단말(100)에게 전달해 준다.
이하에서는 도 3 내지 도 6을 참고하여 본 발명의 데이터 공유 시스템의 동작을 설명한다.
먼저, 사용자 단말(100)이 어플리케이션을 실행하여 데이터를 클라우드 서버(300)에 저장하는 방법을 설명한다. 이때, 도 3에서 데이터를 암호화하는 단말(100)을 단말기 A(101)로, 공유 요청하는 단말(100)을 단말기 B로 명명하며, 각각의 단말기는 고유의 데이터 공유 시스템으로 기능할 수 있다.
전체적인 클라우드 컴퓨팅 환경은 Apach의 HDFS(Hadoop Distrubute File System)를 바탕으로 설계될 수 있다. 본 발명은 CP-ABE를 기반으로, 하나의 그룹에서 특정 속성을 만족시키는 사용자는 복호화키를 얻을 수 있는 권한을 얻게 되는데, 이 때, 사용자의 권한 등급에 따라 관리자 그룹의 동의 하에 데이터를 복호할 수 있는 권한을 최종적으로 얻게 된다. 단말기 A(101)가 단말기 B(102)와 데이터를 공유하고자 할 때, 단말기 A(101),B는 동일한 속성을 가지고 있다면 똑같은 복호 권한을 가지게 된다. 하지만 서로 다른 속성을 가지고 있을 경우에는, 다른 단말기의 속성을 페기하는 과정을 거쳐야 한다. 공유 받고자 하는 단말기 B(102)의 속성 공개키를 기반으로 단말기A가 자신의 속성으로 암호화된 데이터를 복호화할 수 있는 암호키를 재암호화 하여 단말기 B(102)에게 전달해 주는 기법이다.
따라서 본 발명은 종래 속성기반 암호의 데이터 공유 과정에서 발생하는 문제점인 공모에 대한 저항성 및 공유 단계에 불필요한 과정을 줄임으로써 효율성을 제공하고, 보다 안전하게 데이터를 공유할 수 있다.
본 발명의 실시 예에 대한 설명에 앞서, 이하 내용에서 사용되는 기호들에 대하여 다음과 같이 정의한다.
·
Figure 112016025408213-pat00001
: 참가자 수
·
Figure 112016025408213-pat00002
: 비밀 분배에 참가하는 참가자
Figure 112016025408213-pat00003
의 집합
·
Figure 112016025408213-pat00004
: 소수
·
Figure 112016025408213-pat00005
: 비밀정보
Figure 112016025408213-pat00006
·
Figure 112016025408213-pat00007
: 비밀정보
Figure 112016025408213-pat00008
의 집합
·
Figure 112016025408213-pat00009
: 암호화에 사용되는 공개키
·
Figure 112016025408213-pat00010
: 비밀키 생성에 사용되는 마스터키
·
Figure 112016025408213-pat00011
: 속성 L에 대응하는 비밀키
·
Figure 112016025408213-pat00012
: 유한순환군
·
Figure 112016025408213-pat00013
: 부분군
·
Figure 112016025408213-pat00014
: 유한순환군 G의 생성자
·
Figure 112016025408213-pat00015
: g기반의 타원곡선
·
Figure 112016025408213-pat00016
: g값과 랜덤값으로 생성된 공개키 구성요소
·
Figure 112016025408213-pat00017
: 속성값
·
Figure 112016025408213-pat00018
: 속성 집합
·
Figure 112016025408213-pat00019
: 속성
Figure 112016025408213-pat00020
에 대응하는 랜덤값
·
Figure 112016025408213-pat00021
: 접근 구조
·
Figure 112016025408213-pat00022
: 평문
·
Figure 112016025408213-pat00023
: 랜덤값
먼저, 도 3과 같이 단말기 A(101)에서 비밀키 생성을 수행한다(S10).
구체적으로, 단말기 A(101)는 셋업을 수행하여 보안 파라미터 k를 입력하여 그 값에 대응하는 공개키 PK와 마스터키 MK를 출력한다(S11).
즉, 수학식 1과 같은 유환순환군 G를 생성 후, 단말기 A(101)는 랜덤값
Figure 112016025408213-pat00024
를 생성한다.
[수학식 1]
Figure 112016025408213-pat00025
이때, 단말기 A(101)는 속성
Figure 112016025408213-pat00026
에 대응하는 랜덤한
Figure 112016025408213-pat00027
를 선택하고,
Figure 112016025408213-pat00028
Figure 112016025408213-pat00029
를 계산한다.
단말기 A(101)의 공개키 PK는
Figure 112016025408213-pat00030
이고, 마스터키 MK는
Figure 112016025408213-pat00031
으로 정의한다.
다음으로, 단말기 A(101)는 비밀키 생성(KeyGen)을 실행한다(S12).
단말기 A(101)는 마스터키 MK와 속성 집합 L을 입력하여 접근구조에 대응하는 비밀키 SKL을 출력한다.
구체적으로, 단말기 A(101)는 속성집합
Figure 112016025408213-pat00032
을 입력하여 비밀키를 생성한다.
단말기 A(101)는
Figure 112016025408213-pat00033
를 랜덤하게 선택하고
Figure 112016025408213-pat00034
를 계산한다.
이때, 만약에
Figure 112016025408213-pat00035
이면, 단말기는
Figure 112016025408213-pat00036
를 계산하고,
Figure 112016025408213-pat00037
이면,
Figure 112016025408213-pat00038
를 계산한다.
비밀키는 수학식 2와 같다.
[수학식 2]
Figure 112016025408213-pat00039
단말기 A(101)는 생성된 비밀키를 관리자 서버(200)에 전달하고(S13) 관리자 서버(200)는 비밀키를 저장한다.
다음으로, 단말기는 클라우드 서버(300)에 저장하고자 하는 데이터를 암호화한다(S20).
구체적으로, 단말기 A(101)는 접근 구조
Figure 112016025408213-pat00040
와 평문 M을 암호화 한다.
먼저, 단말기 A(101)는 랜덤 값
Figure 112016025408213-pat00041
Figure 112016025408213-pat00042
를 계산한다(S21).
다음으로, 단말기 A(101)는 수학식 3과 같은 Ci를 계산한다(S22).
[수학식 3]
Figure 112016025408213-pat00043
이때, 암호문은
Figure 112016025408213-pat00044
로 정의한다(S23).
한편, 단말기 A(101)는 암호문 CT를 그대로 저장하지 않고, 추후에 재암호화가 가능한 암호문 Ea로 수학식 4와 같이 분할 연산하여 생성한다(S24).
[수학식 4]
Figure 112016025408213-pat00045
단말기 A(101)는 상기 Ea를 클라우드 서버(300)에 전송하고(S25), 클라우드 서버(300)는 이를 스토리지에 저장한다(S26).
한편, 데이터 소유 권한을 가진 단말기 A(101)에게 단말기 B(102)가 데이터 공유를 요청하면(S30), 단말기 B(102)는 데이터 공유 비밀키를 요청한다.
단말기 A(101)는 데이터를 공유하고자 하는 단말기 B(102)의 속성 공개키를 이용하여 데이터를 복호화 할 수 있는 암호키를 재암호화하여(S31) 클라우드 서버(300) 및 단말기 B(102)에 전달한다(S32).
Figure 112016025408213-pat00046
구체적으로, 클라우드 서버(300)는 단말기 A(101)로부터 입력된 재암호화키와 재암호화 하고자 하는 목표 암호문, 단말기 공개키를 가지고 다음과 같이 재암호화를 수행한다(S33).
[수학식 5]
Figure 112016025408213-pat00047
다음으로, 단말기 B(102)가 클라우드 서버(300)로 재암호화된 암호문을 요청하면, 클라우드 서버(300)는 단말기 B(102)에 목표 암호문을 재암호화한 재암호화된 암호문을 전송하고(S34), 이를 저장한다(S35).
단말기 B(102)는 재암호화된 암호문 Eb를 수신하여, 단말기 A(101)가 보낸 재암호화키로 복호화한다(S40). 이때, 복호화는 복구된 비밀키 SKL와 암호문 CT를 입력하여 암호문에 대응하는 평문을 출력하는 알고리즘으로 수학식 6과 같이 재암호키를 이용하여 암호문
Figure 112016025408213-pat00048
를 복호화 한다. 즉, 단말기 B(102)는 암호문
Figure 112016025408213-pat00049
와 비밀키
Figure 112016025408213-pat00050
를 이용하여 복호화 한다.
[수학식 6]
Figure 112016025408213-pat00051
이와 같이, 단말기 B(102)는 평문 M을 수득함으로써 종래 속성기반 암호의 데이터 공유 과정에서 발생하는 문제점인 공모에 대한 저항성 및 공유 단계에 불필요한 과정을 줄임으로써 효율성을 제공하고, 보다 안전하게 데이터를 공유할 수 있다.
한편, 사용자 단말(100)에 저장된 비밀키가 훼손되면 단말(100)은 셋업 과정을 다시 실행한다. 비밀키로 생성된 암호문은 폐기된다. 클라우드 서버(300)는 새로 생성된 비밀키로 데이터 암호화를 실행한다. 사용자 단말(100)에 저장된 비밀키의 훼손 여부 체크는 해시 코드를 이용한다. 비밀키가 훼손되면 관리자 서버(200)의 비밀키는 폐기된다. 관리자 서버(200)의 사용자 단말(100)은 비밀키 생성을 실행한다.
사용자 단말(100)은 비밀키로 데이터 암호화를 실행하거나 데이터 복호화를 실행할 때 비밀키 훼손 여부를 체크한다. 사용자 단말(100)은 비밀키 훼손 여부를 체크함에 앞서 관리자 그룹에 속한 사용자 단말(100)인지를 확인할 수 있다. 관리자 그룹에 속한 사용자 단말(100)이면 사용자 단말(100)은 비밀키 훼손 여부를 체크한다. 사용자 단말(100)은 비밀키 훼손 여부를 체크하여 비밀키가 정상이면 데이터 암호화 또는 데이터 복호화를 실행한다. 사용자 단말(100) 단말기는 비밀키가 비정상이면 데이터 암호화 또는 데이터 복호화를 중단하고 비밀키 생성을 실행한다.
단말기는 생성된 비밀키로 암호문을 생성하고, 단말기는 복구한 비밀키로 암호문을 복호한다. 암호화 동작이 단말기에서 실행되고, 복호화 동작이 단말기에서 실행된다. 단말기는 복호화를 마치고 암호문이 복호화된 평문을 단말기에게 제공한다.
이상, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명하였으나 이는 예시에 불과한 것이다.
해당 기술 분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (4)

  1. 클라우드 서버와 데이터 송수신을 수행하는 통신 모듈,
    클라우드 서비스 어플리케이션을 저장하는 메모리, 그리고
    상기 클라우드 서비스 어플리케이션을 수행하여 상기 클라우드 서버로 데이터를 암호화하여 전송하는 제어부
    를 포함하며,
    상기 제어부는,
    입력된 보안 파라미터에 대응하는 공개키와 마스터키를 생성하고,
    생성된 마스터키와 속성 집합을 이용하여 사용자 속성 기반의 비밀키를 생성하고,
    클라우드 서버에 저장하고자 하는 데이터를 상기 비밀키를 이용하여 암호화하고 상기 데이터가 암호화된 암호문을 상기 클라우드 서버로 전송하여 상기 클라우드 서버에 저장되도록 하고,
    다른 사용자 단말로부터 상기 데이터의 공유 요청이 수신되어 상기 다른 사용자 단말로부터 데이터 공유 비밀키의 요청이 접수되면, 상기 다른 사용자 단말의 속성 공개키를 이용하여, 암호화된 상기 암호문을 복호화할 수 있는 암호키를 재암호화한 재암호화키를 상기 클라우드 서버와 상기 다른 사용자 단말로 전달하여, 상기 재암호화키를 이용해 상기 클라우드 서버가 재암호화한 상기 암호문을 상기 다른 사용자 단말이 상기 재암호화키로 복호화하도록 하는
    사용자 단말.
  2. 제1항에 있어서,
    상기 제어부는 상기 암호문을 분할해 재암호화가 가능한 암호문으로 하여 상기 클라우드 서버로 전송하는 사용자 단말.
  3. 사용자 단말은 보안 파라미터에 대응하는 공개키와 마스터키를 생성하고, 상기 마스터키와 속성 집합을 이용하여 사용자 속성 기반의 비밀키를 생성하는 단계,
    상기 사용자 단말은 클라우드 서버에 저장하고자 하는 데이터를 상기 비밀키를 이용하여 암호화하는 단계,
    상기 사용자 단말은 상기 데이터가 암호화된 암호문을 상기 클라우드 서버로 전송하여 상기 클라우드 서버에 저장되도록 하는 단계,
    상기 사용자 단말은 다른 사용자로부터 상기 데이터에 대한 공유 요청이 수신되어 상기 다른 사용자 단말로부터 데이터 공유 비밀키의 요청을 접수하는 단계, 그리고
    상기 사용자 단말은 상기 다른 사용자 단말의 속성 공개키를 이용하여 암호화된 상기 암호문을 복호화할 수 있는 암호키를 재암호화한 재암호화키를 상기 클라우드 서버와 상기 다른 사용자 단말로 전달하여, 상기 재암호화키를 이용해 상기 클라우드 서버가 재암호화한 상기 암호문을 상기 다른 사용자 단말이 상기 재암호화키로 복호화하도록 하는 단계
    를 포함하는 속성 재암호 기반의 사용자 단말 데이터 공유 방법.
  4. 제3항에 있어서,
    상기 암호화하는 단계는 상기 암호문을 분할해 재암호화가 가능한 암호문으로 하여 상기 클라우드 서버에 저장되도록 하는 속성 재암호 기반의 사용자 단말 데이터 공유 방법.

KR1020160031613A 2016-03-16 2016-03-16 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법 KR101812311B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160031613A KR101812311B1 (ko) 2016-03-16 2016-03-16 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160031613A KR101812311B1 (ko) 2016-03-16 2016-03-16 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법

Publications (2)

Publication Number Publication Date
KR20170107818A KR20170107818A (ko) 2017-09-26
KR101812311B1 true KR101812311B1 (ko) 2017-12-26

Family

ID=60036750

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160031613A KR101812311B1 (ko) 2016-03-16 2016-03-16 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법

Country Status (1)

Country Link
KR (1) KR101812311B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102605087B1 (ko) * 2021-03-05 2023-11-23 순천향대학교 산학협력단 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법
CN114640676B (zh) * 2022-03-25 2023-10-24 中科众云(山东)大数据科技集团有限公司 多元大数据共享方法及***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464727B1 (ko) * 2013-10-15 2014-11-27 순천향대학교 산학협력단 속성기반 암호를 이용한 클라우드 데이터 접근제어 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101464727B1 (ko) * 2013-10-15 2014-11-27 순천향대학교 산학협력단 속성기반 암호를 이용한 클라우드 데이터 접근제어 시스템 및 방법

Also Published As

Publication number Publication date
KR20170107818A (ko) 2017-09-26

Similar Documents

Publication Publication Date Title
Han et al. A data sharing protocol to minimize security and privacy risks of cloud storage in big data era
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
US20160127128A1 (en) Management of cryptographic keys
KR101615137B1 (ko) 속성 기반의 데이터 접근 방법
Agrawal et al. A trustworthy agent-based encrypted access control method for mobile cloud computing environment
US11128452B2 (en) Encrypted data sharing with a hierarchical key structure
CN110688666B (zh) 一种分布式存储中数据加密保存方法
CN102571329A (zh) 密码密钥管理
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
Murugesan et al. Analysis on homomorphic technique for data security in fog computing
Surv et al. Framework for client side AES encryption technique in cloud computing
Zhu et al. Fuzzy authorization for cloud storage
Qinlong et al. Improving security and efciency for encrypted data sharing in online social networks
Castiglione et al. A secure file sharing service for distributed computing environments
KR101812311B1 (ko) 사용자 단말 및 속성 재암호 기반의 사용자 단말 데이터 공유 방법
KR102025989B1 (ko) IoT 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
CN107872312B (zh) 对称密钥动态生成方法、装置、设备及***
Liu et al. A secure and efficient data sharing framework with delegated capabilities in hybrid cloud
EP3323220A1 (en) Encryption scheme using multiple parties
Ghanbarafjeh et al. Developing a secure architecture for internet of medical things using attribute-based encryption
Yu et al. Secure and differentiated fog-assisted data access for Internet of Things
US11888971B2 (en) Sharing access to data externally
Dabhade et al. Data security in cloud using aggregate key and Diffie-Hellman algorithm
Basavarajegowda et al. Enhanced CP-ABE with RSA for Secure and Revocable Data Transmission of Big Data in Cloud.
Ansara et al. Security of Information in Cloud Computing: A Systematic Review

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