KR101701304B1 - 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 - Google Patents
클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 Download PDFInfo
- Publication number
- KR101701304B1 KR101701304B1 KR1020150137732A KR20150137732A KR101701304B1 KR 101701304 B1 KR101701304 B1 KR 101701304B1 KR 1020150137732 A KR1020150137732 A KR 1020150137732A KR 20150137732 A KR20150137732 A KR 20150137732A KR 101701304 B1 KR101701304 B1 KR 101701304B1
- Authority
- KR
- South Korea
- Prior art keywords
- medical data
- key
- attr
- attribute
- terminal
- 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
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G06F19/32—
-
- 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
-
- G06Q50/24—
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Medical Informatics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Storage Device Security (AREA)
Abstract
의료데이터 소유자 단말을 포함하는 복수의 사용자 단말, 클라우드 서버, 제1 키 생성기관 서버 및 제2 키 생성기관 서버를 포함하는 의료데이터 관리 시스템에서의 의료데이터 관리 방법이 개시된다. 의료데이터 관리 방법은 ID를 관리하는 상기 제1 키 생성기관 서버가 제1 공개 파라미터 및 제1 마스터키를 생성하는 단계, 속성을 관리하는 상기 제2 키 생성기관 서버가 제2 공개 파라미터 및 제2 마스터키를 생성하는 단계, 상기 제1 키 생성기관 서버가 각각의 사용자의 ID에 대응하는 개인키를 생성하고 상기 복수의 사용자 단말에 전송하는 단계, 상기 제2 키 생성기관 서버가 속성집합에 대응하는 속성키를 생성하고 상기 복수의 사용자 단말에 전송하는 단계, 상기 복수의 사용자 단말 중 어느 하나가 상기 사용자 단말에서 생성된 의료데이터를 의료데이터 소유자의 ID, 속성 정책, 및 시간 정보를 이용하여 암호화하고 암호문을 생성하고 상기 암호문을 클라우드 서버에 전송하는 단계, 상기 의료데이터 소유자 단말이 상기 적어도 하나 이상의 사용자 단말에 상기 의료데이터 접근 권한을 위임하는 단계, 및 상기 접근 권한을 위임받은 사용자 단말이 상기 클라우드 서버로부터 암호문을 수신하고 이를 복호화하는 단계를 포함한다.
Description
본 발명의 개념에 따른 실시 예는 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템에 관한 것으로, 특히 의료데이터를 의료데이터 소유자 ID, 속성 정책 및 시간정보를 이용하여 암호화하고, 암호화된 의료데이터의 접근 권한을 의료 데이터 소유자가 직접 위임할 수 있는 클라우드 환경에서의 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템에 관한 것이다.
본 특허는 의료데이터 통합 관리 시스템인 전자건강기록(Electronic Health Records, EHR) 시스템에서 환자에게 데이터관리 권한을 부여하는 암호 기술을 제시하고 있다.
전자의무기록(Electronic Medical Record, EMR)은 단일 의료기관 내에서 진료정보(진단 결과, 처방 결과, 약제 처방 자료 등)들을 전산으로 입력하고 저장하여 보다 쉽게 공유 및 활용이 가능하도록 하는 기술이다. 전자건강기록(EHR)은 여러 의료기관에서 생성되는 데이터를 통합적으로 관리하는 기술로 복수의 단위 의료기관의 전자의무기록(EMR)을 네트워크로 연결하여 클라우드 서버에 저장하고 공유한다. 이러한 의료데이터는 민감한 정보이기 때문에 제3자가 자유롭게 접근할 수 없도록 암호화되어야 할 것이며. 암호화된 의료데이터의 접근 권한의 제어가 요구된다.
본 발명이 이루고자 하는 기술적인 과제는 속성기반 암호를 이용하여 여러 사용자가 의료데이터에 접근할 수 있는 의료데이터 관리 방법 및 시스템을 제공하는 것이다.
또한, 속성키 생성기관에서 발급한 속성 집합에 대응하는 속성키를 이용하여 의료데이터 사용자에게 접근 권한을 위임받은 사용자만이 해당 의료데이터를 열람할 수 있는 의료데이터 관리 방법 및 시스템을 제공하는 것이다.
또한, 클라우드 서버에 저장된 암호화된 의료데이터를 주기적으로 갱신하고, 의료데이터 사용자 단말에서 사용기한이 설정된 위임키를 발급함으로써 해당 의료데이터의 열람 기한을 관리할 수 있는 의료데이터 관리 방법 및 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 의료데이터 소유자 단말을 포함하는 복수의 사용자 단말, 클라우드 서버, 제1 키 생성기관 서버 및 제2 키 생성기관 서버를 포함하는 의료데이터 관리 시스템에서의 의료데이터 관리 방법은 ID를 관리하는 상기 제1 키 생성기관 서버가 제1 공개 파라미터 및 제1 마스터키를 생성하는 단계, 속성을 관리하는 상기 제2 키 생성기관 서버가 제2 공개 파라미터 및 제2 마스터키를 생성하는 단계, 상기 제1 키 생성기관 서버가 각각의 사용자의 ID에 대응하는 개인키를 생성하고 상기 복수의 사용자 단말에 전송하는 단계, 상기 제2 키 생성기관 서버가 속성집합에 대응하는 속성키를 생성하고 상기 복수의 사용자 단말에 전송하는 단계, 상기 복수의 사용자 단말 중 어느 하나가 상기 사용자 단말에서 생성된 의료데이터를 상기 의료데이터 소유자의 ID, 속성 정책, 및 시간 정보를 이용하여 암호화하고 암호문을 생성하고 상기 암호문을 클라우드 서버에 전송하는 단계, 상기 의료데이터 소유자 단말이 상기 적어도 하나 이상의 사용자 단말에 상기 의료데이터 접근 권한을 위임하는 단계, 및 상기 접근 권한을 위임받은 사용자 단말이 상기 클라우드 서버로부터 암호문을 수신하고 이를 복호화하는 단계;를 포함한다.
본 발명의 실시 예에 따른 의료데이터 관리 방법은 속성기반 암호를 이용하여 의료데이터 소유자가 의료데이터를 사용하고자 하는 단말에 직접 접근 권한을 위임함으로써 데이터 소유자 스스로 자신의 의료데이터에 대한 열람 권한 및 열람 가능 기간을 제어할 수 있다.
또한, 본 발명의 실시예에 따른 의료데이터 관리 방법은 속성을 관리하는 신뢰기관으로부터 정당한 키를 발급받은 사용자에게만 위임키를 발급하고, 암호문에 적용된 속성 정책을 만족하는 정당한 사용자만 암호문을 복호화할 수 있기 때문에 클라우드 서버에 저장되는 의료데이터의 기밀성을 제공할 수 있다.
또한, ID를 관리하는 키생성기관 및 속성을 관리하는 키생성기관을 이용하여 응급상황 발생 시, 데이터 소유자의 키 위임절차 없이 응급 환자의 의료데이터에 접근할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시예에 따른 의료데이터 관리 시스템의 개략도이다.
도 2는 도 1에 도시된 의료데이터 소유자 단말의 기능 블럭도이다.
도 3은 도 1에 도시된 의료데이터 사용자 단말의 기능 블럭도이다.
도 4는 도 1에 도시된 클라우드 서버의 기능 블럭도이다.
도 5는 본 발명의 일 실시예에 따른 의료데이터 암호화 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 의료데이터 접근 권한 위임 방법을 설명하기 위한 흐름도이다.
도 1은 본 발명의 일 실시예에 따른 의료데이터 관리 시스템의 개략도이다.
도 2는 도 1에 도시된 의료데이터 소유자 단말의 기능 블럭도이다.
도 3은 도 1에 도시된 의료데이터 사용자 단말의 기능 블럭도이다.
도 4는 도 1에 도시된 클라우드 서버의 기능 블럭도이다.
도 5는 본 발명의 일 실시예에 따른 의료데이터 암호화 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 의료데이터 접근 권한 위임 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
우선, 본 발명에서 이용하는 겹선형 함수(Bilinear Map)와 암호화 기법들을 설명한다. G와 G T 가 위수를 소수 p로 갖는 순환 군(group)이라 할 때, 아래와 같은 조건을 만족하는 함수 를 겹선형 함수라 한다.
본 발명에서는 ID기반 암호화 기법(ID Based Encryption, IBE) 및 속성기반 암호화 기법(Attribute Based Encryption, ABE)을 이용한다. 속성기반 암호는 하나의 암호문에 다수의 사용자가 접근할 수 있는 암호로 속성에 따라 유연한 접근 제어가 가능하다. 암호문 정책 속성기반 암호(Ciphertext-Policy Attribute Based Encryption, CP-ABE)의 경우, 개인키는 속성 집합(a set of attributes)에 따라 생성되고, 암호문은 접근 정책(access policy/structure)을 설정하여 생성된다. 암호문에 적용된 접근 정책을 만족하는 속성 집합을 지닌 사용자만이 복호화를 할 수 있게 된다. 기본적으로 사용자들은 개인키를 하나의 키 생성기관으로부터 발급받는데, 현실적으로는 각 속성들이 관리되는 기관이 하나일 수 없다. 이에 다중 신뢰기관 속성기반 암호(Multi-Authority Attribute Based Encryption, MA-ABE) 기술이 제안되었고, 최근 연구에서는 이 기술이 환자가 스스로 자신의 데이터를 관리하는 개인건강기록(Personal Health Record) 서비스에 적합하다고 제안되고 있다.
일반적으로 공개키/대칭키 암호에서는 암호화키에 대응되는 단 하나의 복호화키가 존재하여 데이터에 접근할 수 있는 사용자는 한 명으로 제한된다. 하지만 의료데이터는 그 특성상 정당한 사용자에 한하여 여러 사용자(의사, 약사, 간호사 등)가 데이터에 접근할 수 있는 구조여야 하기 때문에 새로운 암호시스템이 필요하다. 이에 속성에 따라 접근 권한을 제어할 수 있는 속성기반 암호화(ABE) 기법을 이용하여, 속성을 만족하는 다수의 사용자가 하나의 데이터에 접근할 수 있다.
또한, 본 발명에서는 암호문 갱신 암호화 기법(Self-Updatable Encryption, SUE)을 이용한다. 클라우드 서버에 암호화되어 저장된 데이터는 복호화키(개인키)가 있다면 언제든지 접근할 수 있다. 시스템에서 사용자를 폐기하는 경우, 폐기 이전에 발급했던 복호화키를 더 이상 사용할 수 없어야 하는데 기존에 제안된 암호 기술들은 폐기 시점 이후에 생성되는 암호문에 대해서만 복호화가 불가능하도록 설계하였다. 그러나 폐기 이전에 발급받은 복호화키를 이용하여 폐기 이전에 생성된 암호문을 계속해서 복호화할 수 있다는 문제점이 있어서, 최근에 암호문을 주기적으로 갱신함으로써 완전하게 사용자를 폐기할 수 있는 기법이 제안되었고 이를 암호문 갱신 암호화라고 부른다. 키 생성 장치로부터 개인키 또는 위임키를 발급받을 때, 사용할 수 있는 기간이 설정되고 해당 기간으로 지정된 암호문에 대해서만 접근할 수 있다. 암호문을 주기적으로 갱신되어 만약 암호문에 적용된 시간이 개인키에 설정된 시간 이후라면 더 이상 해당 암호문에 접근할 수 없게 된다.
이하, 도 1 내지 도 4를 참조하여, 본 발명의 일 실시예에 따라 의료데이터를 암호화하고 의료데이터 소유자가 데이터의 접근 권한을 제어할 수 있는 의료 데이터 관리 시스템에 대해 상술한다.
도 1은 본 발명의 일 실시예에 따른 의료데이터 관리 시스템(10)을 도시한다. 도 1을 참조하면, 의료데이터 관리 시스템(10)은 복수의 단말(100, 200, 300), 클라우드 서버(400), 제1 키 생성기관 서버(500), 및 제2 키 생성기관 서버(600)를 포함한다.
의료 데이터 관리 시스템(10)은 ID와 속성을 각각 관리하는 두 신뢰기관(제1 키생성기관 및 제2 키 생성기관)을 포함하며, 모든 단말(100, 200, 300)은 서비스를 이용하기 위해 제1 키 생성기관 서버(500) 및 제2 키 생성기관 서버(600)로부터 개인키를 발급받는다.
제1 키 생성기관 서버(500)는 사용자의 ID를 관리하는 키 생성기관(KGC ID , Key Generator Center)으로, 제1 공개 파라미터() 및 마스터키()를 생성하고, 각각의 사용자의 ID에 대응하는 개인키(, 이하 제1 개인키라고함)를 생성하여 해당 사용자, 즉 해당 ID에 대응하는 사용자의 단말에 전송한다.
제2 키 생성기관 서버(600)는 사용자의 속성을 관리하는 키 생성기관(KGC Attr )일 수 있다. 제2 키 생성기관 서버(600)는 제2 공개 파라미터()와 제2 마스터키()를 생성하고, 속성집합(A)에 대응하는 개인키(, 이하 제2 개인키 또는 속성키라고함)를 생성하여 해당 속성집합(A)에 속하는 사용자의 단말(들)에 전송한다.
각각의 단말은 네트워크 망을 통하여 다른 단말, 클라우드 서버(400), 제1 키 생성기관 서버(500), 및 제2 키 생성기관 서버(600)와 통신할 수 있다. 일 실시예에 따른 네트워크 망은, 개방형 인터넷, 폐쇄형 인트라넷을 포함한 유선 인터넷망, 이동 통신망과 연동된 무선 인터넷 통신망뿐만 아니라, 각종 데이터 통신이 가능한 컴퓨터 네트워크 등의 가능한 통신 수단을 포함하는 넓은 개념이다.
각각의 단말(100, 200, 300)은 의료 데이터()를 암호화하고, 암호화된 의료데이터()를 클라우드 서버(400)에 전송하여 저장한다. 의료데이터()는 예를 들어, 병원이나 약국 내에서 진료 후에 생성되는 진료정보(진단 결과, 처방 결과, 약제 처방 자료 등)일 수 있으며, 암호화를 수행하는 객체는 의사 또는 약사일 수 있다. 이때, 의료데이터는 검진을 위해 다수의 사용자의 열람이 가능해야 하나, 의료데이터는 민감한 데이터를 포함하므로 의료데이터 소유자에게 의료데이터를 스스로 관리할 수 있는 권한이 부여되어야 할 것이다.
도 2는 도 1에 도시된 제1 단말(100)의 기능 블럭도이다.
제1 단말(100)은 의료데이터의 소유자(예를 들어, 환자 본인)가 접속하는 데이터 소유자 단말을 의미한다. 의료데이터의 소유자는 의료 데이터 접근 권한을 제어하는 사용자일 수 있다. 의료데이터 관리 시스템(10)은 데이터 소유자 단말을 적어도 하나 이상 포함한다.
도 2를 참조하면, 제1 단말(100)은 위임키 생성 모듈(110), 암호화 모듈(120), 복호화 모듈(130), 통신 모듈(170), 메모리(180), 및 제어 모듈(190)을 포함한다.
본 명세서에서 사용되는 모듈이라 함은 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나 한 종류의 하드웨어를 의미하는 것은 아니다.
제1 단말(100)의 위임키 생성 모듈(110)은 제어 모듈(190)의 제어 하에, 데이터 소유자의 ID에 대응하는 제1 개인키()를 이용하여 위임키()를 생성한다. 구체적으로, 제2 단말(200) 또는 제3 단말(300) 등으로부터 위임키 요청을 수신한 경우, 위임키 생성 모듈(110)은 제2 단말(200) 또는 제3 단말(300)이 암호문에 적용된 접근 정책을 만족하는 속성 집합을 지닌 사용자 단말인지를 검증한다. 이때, 의료데이터 소유자가 의학에 대한 전문지식 등이 없더라도 제2 공개 파라미터를 이용하여 제2 단말(200) 또는 제3 단말(300)의 사용자가 지니고 있는 속성의 정당성에 대한 판단을 할 수 있다.
다음, 속성에 대응하는 정당한 키(제2 개인키, )를 발급받지 못한 사용자인 경우 위임키 요청을 거절하고, 정당한 키(제2 개인키, )를 발급받은 사용자인 경우 위임키()를 생성한다.
이때, 위임키 생성 모듈(110)은 제2 단말 또는 제3 단말(300) 등이 일정 기간에만 의료데이터를 열람할 수 있도록 열람 기한을 조절할 수 있다. 즉, t 1 부터 t d 의 시간까지 사용할 수 있는 위임키를 생성할 수 있다. 따라서, 의료데이터 소유자로부터 의료데이터 접근 권한을 위임받은 사용자는 정해진 기한 내에 자신의 속성이 만족하는 암호문에 대해서만 접근할 수 있다.
제1 단말(100)의 암호화 모듈(120)은 제어 모듈(190)의 제어 하에, 암호화 알고리즘을 수행하여 의료 데이터 을 암호화한다. 이때, 암호화 모듈(120)은 데이터 소유자의 ID와 임의의 속성 정책 , 그리고 시간정보 를 이용하여 암호문()을 생성한다.
복호화 모듈(130)은 제어 모듈(190)의 제어 하에, 복호화 알고리즘을 수행하여 클라우드 서버(400)로부터 수신된 암호문()을 복호화한다. 구체적으로 의료데이터 소유자의 제1 단말(100)은 제1 단말(100)의 메모리(180)에 저장된 의료데이터 소유자의 복호화키(, 이하 제1 복호화키라고 함)를 이용하여 암호문 를 복호화하여 의료데이터()를 추출한다.
통신 모듈(170)은 제어 모듈(190)의 제어 하에, 클라우드 서버(400), 제1 키 생성기관 서버(500), 및 제2 키 생성기관 서버(600)와 유선 또는 무선 통신망을 통하여 통신을 수행할 수 있다.
통신 모듈(170)은 제1 키 생성기관 서버(500)로부터 제1 공개 파라미터() 및 제1 개인키()를 수신할 수 있으며, 제2 키 생성기관 서버(600)로부터 제2 공개 파라미터() 및 제2 개인키()를 수신할 수 있다. 또한, 통신 모듈(170)은 다른 사용자 단말(200, 300)로부터 위임키 요청을 위한 블라인딩된 제2 개인키()를 수신할 수 있으며, 다른 사용자 단말(200, 300)로 위임키()를 전송할 수 있다. 또한, 통신 모듈(170)은 클라우드 서버(400)에 암호문()을 전송하고, 클라우드 서버(400)로부터 암호문()을 수신할 수 있다.
메모리(180)는 프로그램 메모리와 데이터 메모리를 포함할 수 있다. 상기 프로그램 메모리에는 제1 단말(100)의 동작을 제어하기 위한 프로그램들이 저장될 수 있다. 상기 데이터 메모리에는 상기 프로그램들을 수행하는 과정 중에 발생되는 데이터들이 저장될 수 있다.
제어 모듈(190)은 제1 단말(100)의 전반적인 동작을 제어한다. 즉, 위임키 생성 모듈(110), 암호화 모듈(120), 복호화 모듈(130), 통신 모듈(170), 및 메모리(180)의 동작을 제어할 수 있다.
도 3은 도 1에 도시된 제2 단말(200)의 기능 블럭도이다.
제2 단말(200) 및 제3 단말(300)은 의료 데이터 소유자 외에 암호문에 적용된 접근 정책을 만족하는 속성 집합(A)을 지닌 사용자, 예를 들어 의사 또는 약사 등이 접속하는 데이터 사용자 단말을 의미한다. 도 1에는 총 2개의 데이터 사용자 단말(200, 300)이 도시되어 있으나, 의료데이터 관리 시스템(10)에 포함된 데이터 사용자 단말의 개수는 2 이상일 수 있다.
도 3을 참조하면, 제2 단말(200)은 위임키 요청 모듈(210), 암호화 모듈(220), 복호화 모듈(230), 통신 모듈(270), 메모리(280), 및 제어 모듈(290)을 포함한다. 이하에서는 상술된 제1 단말(100)의 모듈들과 중복되는 내용에 관한 기재는 생략하기로 한다.
제2 단말(200)의 복호화 모듈(230)은 제어 모듈(290)의 제어 하에, 복호화 알고리즘을 수행하여 클라우드 서버(400)로부터 수신된 암호문()을 복호화한다. 구체적으로 제1 단말(100)로부터 수신한 위임키()로부터 블라인딩 값을 제거하고 제2 복호화키()를 생성한다. 복호화 모듈(230)은 제2 복호화키()를 이용하여 암호문 를 복호화하여 의료데이터()를 추출한다. 이때, 제2 단말(200)은 정해진 기한 내에 자신의 속성을 만족하는 암호문에 대해서만 복호화를 수행할 수 있다.
제2 단말(200)의 통신 모듈(270)은 각각의 키 생성기관 서버로부터 공개 파라미터와 개인키를 수신할 수 있다. 또한, 통신 모듈(270)은 제1 단말(100)로 블라인딩된 제2 개인키()를 전송할 수 있으며, 제1 단말(100)로부터 위임키()를 수신할 수 있다. 또한, 통신 모듈(170)은 클라우드 서버(400)에 암호문()을 전송하고, 클라우드 서버(400)로부터 암호문()을 수신할 수 있다.
제3 단말(300)은 제2 단말(200)과 구성 및 기능이 동일하므로 제3 단말(300)에 대한 설명은 생략한다.
도 4는 도 1에 도시된 클라우드 서버(400)의 기능 블럭도이다.
도 4를 참조하면, 클라우드 서버(400)는 암호문 갱신부(410), 통신부(470), 저장부(480), 제어부(490)를 포함한다.
암호문 갱신부(410)는 제어부(490)의 제어 하에, 주기적으로 암호문을 갱신한다. 이를 통하여 의료데이터 소유자의 단말(제1 단말, 100)을 제외한 제2 단말(200) 또는 제3 단말(300)이 기간이 지난 위임키를 사용할 수 없도록 제한할 수 있다.
통신부(470)는 제어부(490)의 제어하에, 복수의 단말(100, 200, 300)과 통신을 수행할 수 있다. 즉, 통신부(470)는 복수의 단말로부터 암호문을 수신하고 복수의 단말에 암호문을 송신할 수 있다.
저장부(480)는 프로그램 메모리와 데이터 메모리를 포함할 수 있으며, 제어부(490)는 클라우드 서버(400)의 전반적인 동작을 제어한다.
이하, 도 5를 참조하여, 본 발명의 일 실시예에 따른 의료데이터 관리 시스템을 이용한 의료데이터 암호화 방법에 대하여 자세히 살펴보도록 한다.
도 5는 도 1에 도시한 의료데이터 관리 시스템을 이용한 의료데이터 암호화방법을 설명하기 위한 흐름도이다.
CRS
생성 단계
먼저, 보안상수(security parameter) 1 k 와 속성의 개수 U를 입력받아 제1 키 생성기관 서버(500) 및 제2 키 생성기관 서버(600)에서 사용할 파라미터 CRS(common reference string)를 생성한다. 소수 p를 위수로 하는 순환군 G와 그 생성원 g를 생성하고, 입력으로 받은 속성의 개수 U에 대해 임의의 그룹 원소 를 선택한다. 그리고 임의의 그룹 원소 을 추가로 선택한 뒤, CRS를 공개한다.
바람직하게는 제1 키 생성기관 서버(500) 또는 제2 키 생성기관 서버(600) 을 제외한 제3의 신뢰기관에서 CRS를 생성할 수 있다. 제1 키 생성기관 서버(500) 및 제2 키 생성기관 서버(600)는 셋업 단계(S200) 전에 CRS를 수신하여 저장한다.
셋업
단계
각각의 키 생성기관 서버에서의 셋업 단계는 의료 데이터 에 관한 암호문 를 생성하기 위한 사전 단계로, ID를 관리하는 제1 키 생성기관 서버(500)는 CRS를 입력으로 하여 임의의 를 선택하고, 제1 공개 파라미터 와 제1 마스터키 를 생성한다(S110). 제1 공개 파라미터()는 공개하고 제 1 마스터키()는 안전하게 저장한다.
속성을 관리하는 제2 키 생성기관 서버(600)는 CRS를 입력으로 하여 임의의 를 선택하고, 제2 공개 파라미터 와 제2 마스터키 를 생성한다(S120). 제2 공개 파라미터()는 공개하고 제2 마스터키()는 안전하게 저장한다.
키 생성 단계
제1 키 생성기관 서버(500)는 , , 그리고 ID를 입력받아 임의의 를 선택하고, 각각의 ID에 대응하는 제1 개인키()를 생성한다(S210). 제1 개인키()는 아래와 같으며, 해당 ID의 사용자에게 발급된다.
제2 키 생성기관 서버(600)는 , , 그리고 속성집합 A를 입력받아 임의의 를 선택하고, A에 대응하는 제2 개인키, 를 생성(S220)하여 속성집합 A에 속하는 사용자에게 전송한다.
데이터 소유자의 제1 단말(100)은 제1 키 생성기관 서버(500) 및 제2 키 생성기관 서버(600)로부터 제1 개인키() 및 제2 개인키()를 수신하여, 각각의 개인키를 재난수화한 뒤 제1 복호화키()를 아래와 같이 저장한다.
데이터 소유자 외 다른 사용자의 단말들(200, 300)은 해당 사용자의 ID에 대응하는 제1 개인키(, ), 그리고 제2 개인키()를 수신한다. 동일 속성집한 A에 속하는 사용자의 단말들은 동일한 값의 제2 개인키()를 수신할 수 있다.
암호화 단계
복수의 단말(100, 200, 300)에서 의료 데이터() 생성 시, 이를 암호화하여 암호문 를 생성한다(S300). 각각의 단말에서 생성된 암호문은 클라우드 서버(400)에 전송한다.
암호문()은 데이터 소유자의 ID와 임의의 속성 정책 , 그리고 시간정보 를 이용하여 생성된다. 구체적으로, M을 행렬이라고 했을 때, 임의의 벡터 와 임의의 지수 를 선택하고, 에 대하여 를 계산한다. 여기서 M i 는 M의 i번째 행을 의미한다. 먼저 ID와 속성 정책을 포함하는 부분을 아래와 같이 생성한다.
암호문 갱신 단계
클라우드 서버(400)는 제1 공개 파라미터 및 제2 공개 파라미터를 이용하여 저장되어 있는 암호문을 주기적으로 갱신한다. 이를 통하여 기간이 지난 위임키를 사용할 수 없도록 제한할 수 있다. 시간에 대해 암호화되어있는 암호문 를 시간으로 갱신하기 위해 임의의 을 선택하여 아래의 수학식을 계산하여 갱신된 암호문 을 저장한다.
이하, 도 6을 참고하여, 제1 단말(100)이 다른 사용자 단말(200, 300)에게 클라우드 서버(400)로부터 수신한 암호문의 접근 권한을 위임하는 방법 즉, 암호문을 복호화하기 위한 위임키를 공유하는 과정에 대하여 자세히 살펴보도록 한다.
도 6은 본 발명의 일 실시예에 따른 의료데이터 접근 권한 위임 방법을 설명하기 위한 흐름도이다.
키 위임 단계
먼저 제2 단말(200)은 의료데이터 소유자의 의료데이터를 열람하기 위하여 제1 단말(100)에 위임키를 요청한다(S400). 구체적으로 제2 단말(200)은 임의의 을 선택하여 블라인딩 값 와 를 계산하고, 이를 이용하여 제2 키 생성기관 서버(600)로부터 발급받은 제2 개인키를 블라인딩(blinding)하여 전송한다. 블라인딩된 제2 개인키()는 아래와 같다.
다음, 제1 단말(100)은 제2 단말(200)로부터 전송받은 값이 제2 키 생성기관 서버(600)에 의해 정당하게 생성된 값인지 검증한다(S500). 구체적으로 제2 공개 파라미터()의 를 이용하여 아래의 등식이 성립하는지 확인한다.
만일 상기 수학식이 성립하지 않는다면 위임키 제1 단말(100)은 제2 단말(200)의 위임키 요청을 거절하고, 성립한다면 제1 단말(100)은 위임키를 생성(S600)하여 제2 단말(200)에 전송한다.
이때, 제1 단말(100)은 t 1 부터 t d 의 시간까지 사용할 수 있는 위임키를 생성하기 위하여 난수 를 선택하고, 키의 재난수화를 위하여 난수 를 선택한다. 그리고 자신의 제1 개인키 를 이용하여 아래과 같이 위임키()를 생성하여 제2 단말(200)에게 전송한다.
다음, 제2 단말(200)은 상기 위임키()에서 블라인딩 값 를 지워내고 제2 복호화키()를 생성한다(S700). 제1 단말(100)로부터 위임받은 제2 복호화키()는 아래와 같다.
복호화 단계
의료데이터의 소유자가 자신의 제1 복호화키()로 복호화를 수행하는 것과 다른 사용자가 의료데이터의 소유자로부터 위임받은 제2 복호화키()를 이용하여 복호화를 수행하는 것으로 나뉜다.
먼저, 의료데이터 소유자의 제1 단말(100)은 제1 단말(100)에 저장된 제1 복호화키()를 이용하여 암호문 를 복호화한다. 이때, 제1 단말(100)은 암호문에 적용된 시간정보와 관계없이 자신의 속성집합 A가 암호문에 적용된 속성 정책 를 만족한다면 복호화를 수행할 수 있다. 구체적으로 에 대해 라 정의하고, 를 만족하는 를 구한다. 그리고 아래 수학식을 계산하여 로부터 나눔으로써 을 복호화할 수 있다.
위임받은 제2 복호화키의 속성집합 A가 암호문에 적용된 속성 정책 를 만족하고, 인 경우에 복호화를 수행할 수 있다. 구체적으로 에 대해 라 정의하고, 를 만족하는 를 구한다. 그리고 아래 수학식을 계산하여 를 로부터 나눔으로써 을 복호화할 수 있다.
응급상황 시 키 발급 단계
응급상황이 발생했을 때, 환자의 허가 없이도 의료데이터를 열람할 수 있도록, 환자의 의료데이터를 사용하고자 하는 응급 의료기관 단말에서 제1 키 생성기관 서버(500)와 제2 키 생성기관 서버(600)에 응급환자에 대한 복호화키를 요청한다. 두 키 생성기관은 각 기관이 보유하고 있는 마스터키를 이용하여 함께 응급환자의 ID에 대해 제3 복호화키()를 생성하여 발급한다. 제3 복호화키()는 아래와 같다.
따라서, 응급상황이 발생한 경우, 응급 의료기관은 데이터 소유자(환자)의 키 위임절차 없이 제1 키 생성기관 및 제2 키 생성기관을 이용하여 응급환자의 의료데이터에 접근할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 의료데이터 관리 시스템
100 : 제1 단말 200 : 제2 단말
300 : 제3 단말 400 : 클라우드 서버
500 : 제1 키 생성기관 서버 600 : 제2 키 생성기관 서버
100 : 제1 단말 200 : 제2 단말
300 : 제3 단말 400 : 클라우드 서버
500 : 제1 키 생성기관 서버 600 : 제2 키 생성기관 서버
Claims (10)
- 의료데이터 소유자 단말 및 의료데이터 사용자 단말을 포함하는 복수의 사용자 단말, 클라우드 서버, 제1 키 생성기관 서버(KGCID ) 및 제2 키 생성기관 서버(KGCAttr )를 포함하는 의료데이터 관리 시스템에서의 의료데이터를 관리하는 방법에 있어서,
ID를 관리하는 상기 제1 키 생성기관 서버(KGCID )가 제1 공개 파라미터(PPID ) 및 제1 마스터키(MSKID )를 생성하는 단계;
속성을 관리하는 상기 제2 키 생성기관 서버(KGCAttr )가 제2 공개 파라미터(PPAttr ) 및 제2 마스터키(MSKAttr )를 생성하는 단계;
상기 제1 키 생성기관 서버(KGCID )가 각각의 사용자(i)의 ID에 대응하는 개인키(SKID )를 생성하고 각각의 개인키(SKID )에 대응하는 사용자 단말에 상기 개인키(SKID )를 전송하는 단계;
상기 제2 키 생성기관 서버(KGCAttr )가 속성집합(A)에 대응하는 속성키(SKAttr )를 생성하고 각각의 속성키(SKAttr )에 대응하는 사용자 단말에 상기 속성키(SKAttr )를 전송하는 단계;
상기 복수의 사용자 단말 중 어느 하나의 사용자 단말에서 생성된 의료데이터(m)를 의료데이터의 소유자의 ID, 속성 정책, 및 시간 정보를 이용하여 암호화하고 암호문을 생성하여 상기 암호문을 상기 클라우드 서버에 전송하는 단계;
상기 클라우드 서버가 상기 제1 공개 파라미터(PPID ) 및 상기 제2 공개 파라미터(PPAttr )를 이용하여 상기 암호문을 주기적으로 갱신하는 단계;
상기 의료데이터 소유자 단말이 적어도 하나 이상의 상기 의료 데이터 사용자 단말에 의료데이터 접근 권한을 위임하는 단계; 및
접근 권한을 위임받은 상기 의료 데이터 사용자 단말이 상기 클라우드 서버로부터 상기 암호문을 수신하고 상기 암호문을 복호화하는 단계;를 포함하되,
상기 의료데이터 접근 권한을 위임하는 단계는,
상기 의료데이터 사용자 단말이 블라인딩(blinding) 값을 이용하여 의료데이터 사용자 단말의 속성키(SKAttr )를 블라인딩하고 블라인딩 속성키(BSKAttr )를 생성하는 단계;
상기 의료데이터 사용자 단말이 상기 블라인딩 속성키(BSKAttr )를 상기 의료 데이터 소유자 단말에 전송하여 상기 의료데이터에 대한 접근 권한의 위임을 요청하는 단계;
상기 의료데이터 소유자 단말이 상기 블라인딩 속성키(BSKAttr )를 이용하여 상기 의료데이터 사용자 단말의 속성키(SKAttr )가 상기 제2 키 생성기관 서버(KGCAttr )에 의해 정당하게 생성된 값인지 여부를 검증하는 단계;
검증 결과에 기초하여, 상기 의료데이터 소유자 단말이 상기 제1 키 생성기관 서버(KGCID )로부터 수신한 의료데이터 소유자 단말의 개인키(SKID )를 이용하여 일정 시간(T) 동안 유효한 위임키(DelKT )를 생성하는 단계; 및
상기 의료데이터 소유자 단말이 상기 일정 시간(T) 동안 유효한 위임키(DelKT )를 상기 의료데이터 사용자 단말에 전송하는 단계;를 포함하는 의료데이터 관리 방법. - 삭제
- 삭제
- 제1항에 있어서,
상기 암호문을 복호화하는 단계는,
상기 의료데이터 사용자 단말이 상기 일정 시간(T) 동안 유효한 위임키(DelKT )에서 블라인딩 값을 제거하고 상기 암호문을 복호화하기 위한 일정 시간(T) 동안 유효한 복호화키(DelDKT )를 생성하는 단계; 및
상기 의료데이터 사용자 단말이 상기 일정 시간(T) 동안 유효한 복호화키(DelDKT )를 이용하여 상기 암호문을 복호화하고 의료데이터를 추출하는 단계;를 포함하는 의료데이터 관리 방법. - 클라우드 서버에 저장된 의료데이터 소유자의 의료데이터의 암호문에 대한 접근 권한을 위임하는 의료데이터 소유자 단말에 있어서,
상기 의료데이터 소유자 단말이 ID를 관리하는 제1 키 생성기관 서버(KGCID )로부터 의료데이터 소유자의 ID에 대응하는 의료데이터 소유자 단말의 개인키(SKID )를 수신하는 단계;
상기 의료데이터 소유자 단말이 속성을 관리하는 제2 키 생성기관 서버(KGCAttr )로부터 의료데이터 소유자의 속성 집합에 대응하는 의료데이터 소유자 단말의 속성키(SKAttr )를 수신하는 단계;
상기 의료데이터 소유자 단말이 수집한 의료데이터(m)를 의료데이터 소유자의 ID, 속성 정책, 및 시간 정보를 이용하여 암호화한 암호문을 상기 클라우드 서버에 전송하는 단계;
상기 의료데이터 소유자 단말이 의료데이터를 열람하고자 하는 의료데이터 사용자 단말로부터 의료데이터 사용자 단말의 속성키(SKAttr' )-상기 제2 키 생성기관 서버(KGCAttr )로부터 수신한 상기 의료데이터 사용자 단말의 속성 집합에 대응하는 속성키-를 블라인딩한 블라인딩 속성키(BSKAttr' )를 수신하는 단계;
상기 의료데이터 소유자 단말이 상기 블라인딩 속성키(BSKAttr' )를 이용하여 상기 의료데이터 사용자 단말의 속성키(SKAttr )가 상기 제2 키 생성기관 서버(KGCAttr )에 의해 정당하게 생성된 값인지 여부를 검증하는 단계;
검증 결과에 기초하여, 상기 의료데이터 소유자 단말이 상기 의료데이터 소유자 단말의 개인키(SKID )를 이용하여 사용 기한(T)이 설정된 위임키(DelKT )를 생성하는 단계; 및
상기 의료데이터 소유자 단말이 상기 사용 기한(T)이 설정된 위임키(DelKT )를 상기 의료데이터 사용자 단말에 전송하는 단계;를 포함하되,
상기 암호문은 상기 클라우드 서버에서 제1 공개 파라미터(PPID )-ID를 관리하는 상기 제1 키 생성기관 서버(KGCID )가 생성하여 공개한 파라미터- 및 제2 공개 파라미터(PPAttr )-속성을 관리하는 상기 제2 키 생성기관 서버(KGCAttr )가 생성하고 공개한 파라미터-를 이용하여 주기적으로 갱신되는,
의료데이터 소유자 단말의 의료데이터 공유 방법. - 삭제
- 클라우드 서버로부터 의료데이터 소유자의 의료데이터의 암호문을 제공받고 의료데이터 소유자 단말로부터 의료데이터의 접근 권한을 위임받는 의료데이터 사용자 단말에 있어서,
상기 의료데이터 사용자 단말이 ID를 관리하는 제1 키 생성기관 서버(KGCID )로부터 의료데이터 사용자의 ID에 대응하는 의료데이터 사용자 단말의 개인키(SKID )를 수신하는 단계;
상기 의료데이터 사용자 단말이 속성을 관리하는 제2 키 생성기관 서버(KGCAttr )로부터 속성 집합에 대응하는 의료데이터 사용자 단말의 속성키(SKAttr )를 수신하는 단계;
상기 의료데이터 사용자 단말이 블라인딩 값을 이용하여 상기 의료데이터 사용자 단말의 속성키(SKAttr )를 블라인딩한 블라인딩 속성키(BSKAttr )를 생성하는 단계;
상기 의료데이터 사용자 단말이 상기 의료데이터 소유자 단말에 상기 블라인딩 속성키(BSKAttr )를 전송하고 의료데이터의 접근 권한의 위임을 요청하는 단계;
상기 의료데이터 사용자 단말이 상기 의료데이터 소유자 단말로부터 일정 시간(T) 동안 유효한 위임키(DelKT )를 수신하는 단계; 및
상기 의료 데이터 사용자 단말이 상기 클라우드 서버로부터 의료데이터 소유자의 의료데이터의 암호문을 수신하고 상기 의료데이터의 암호문을 복호화하는 단계;를 포함하되,
상기 의료데이터의 암호문은 상기 클라우드 서버에서 제1 공개 파라미터(PPID )-ID를 관리하는 상기 제1 키 생성기관 서버(KGCID )가 생성하여 공개한 파라미터- 및 제2 공개 파라미터(PPAttr )-속성을 관리하는 상기 제2 키 생성기관 서버(KGCAttr )가 생성하고 공개한 파라미터-를 이용하여 주기적으로 갱신되며,
상기 일정 시간(T) 동안 유효한 위임키(DelKT )는 상기 의료데이터 소유자 단말에서 의료데이터 소유자 단말의 개인키(SKID )-상기 제1 키 생성기관 서버(KGCID )로부터 수신한 의료데이터 소유자의 ID에 대응하는 개인키-를 이용하여 생성되는,
의료데이터 사용자 단말의 의료데이터 공유 방법. - 제7항에 있어서,
상기 의료데이터의 암호문을 복호화하는 단계는,
상기 의료데이터 사용자 단말이 상기 일정 시간(T) 동안 유효한 위임키(DelKT )에서 블라인딩 값을 제거하고 상기 의료데이터의 암호문을 복호화하기 위한 일정 시간(T) 동안 유효한 복호화키(DelDKT )를 생성하는 단계; 및
상기 의료데이터 사용자 단말이 상기 일정 시간(T) 동안 유효한 복호화키(DelDKT )를 이용하여 상기 의료데이터의 암호문을 복호화하고 의료데이터를 추출하는 단계;를 포함하는,
의료데이터 사용자 단말의 의료데이터 공유 방법. - 적어도 하나 이상의 의료데이터 소유자 단말 및 적어도 하나 이상의 의료데이터 사용자 단말에 의료데이터 클라우드 서비스를 제공하는 클라우드 서버에 있어서,
상기 클라우드 서버가 적어도 하나 이상의 의료데이터 소유자 단말로부터 의료데이터 소유자의 의료데이터를 암호화한 의료데이터 암호문을 수신하는 단계;
상기 클라우드 서버가 상기 의료데이터 암호문을 저장하는 단계;
상기 클라우드 서버가 제1 공개 파라미터(PPID )-ID를 관리하는 제1 키 생성기관 서버(KGCID )가 생성하여 공개한 파라미터- 및 제2 공개 파라미터(PPAttr )-속성을 관리하는 제2 키 생성기관 서버(KGCAttr )가 생성하고 공개한 파라미터-를 이용하여 상기 의료데이터 암호문을 주기적으로 갱신하는 단계; 및
상기 클라우드 서버가 적어도 하나 이상의 의료데이터 사용자 단말에 상기 의료데이터 암호문을 전송하는 단계;를 포함하되,
상기 의료데이터 암호문은 상기 의료데이터 소유자의 의료데이터를 의료데이터 소유자의 ID, 속성 정책, 및 시간 정보를 이용하여 암호화하고,
상기 의료데이터 암호문은 상기 속성 정책을 만족하며 상기 의료데이터 소유자 단말로부터 사용 기한(T)이 설정된 접근 권한을 위임받은 의료데이터 사용자 단말에 의하여 복호화될 수 있으며,
상기 의료데이터 암호문에 대한 접근 권한은,
상기 의료데이터 사용자 단말이 블라인딩(blinding) 값을 이용하여 의료데이터 사용자 단말의 속성키(SKAttr )-속성을 관리하는 상기 제2 키 생성기관 서버(KGCAttr )로부터 수신한 상기 의료데이터 사용자 단말의 속성집합에 대응하는 속성키-를 블라인딩한 블라인딩 속성키(BSKAttr )를 생성하고 상기 의료데이터 소유자 단말에 상기 블라인딩 속성키(BSKAttr )를 전송함으로써 상기 의료데이터 암호문에 대한 접근 권한의 위임이 요청되고,
상기 의료데이터 소유자 단말이 상기 블라인딩 속성키(BSKAttr )를 이용하여 속성 정책을 검증하고, 검증에 통과한 경우 사용 기한(T)이 설정된 위임키(DelKT )를 생성하여 상기 의료데이터 사용자 단말에 전송함으로써 상기 사용 기한(T)이 설정된 접근 권한을 위임하는 것을 특징으로 하며,
상기 의료데이터 암호문의 복호화는,
상기 의료데이터 사용자 단말이 상기 사용 기한(T)이 설정된 위임키(DelKT )에서 블라인딩 값을 제거하여 사용 기한(T)이 설정된 복호화키(DelDKT )를 생성하고, 상기 사용 기한(T)이 설정된 복호화키(DelDKT )를 이용하여 상기 의료데이터의 암호문을 복호화하는 것을 특징으로 하는,
클라우드 서버의 의료데이터 클라우드 서비스 제공 방법. - 제1 공개 파라미터(PPID ), 제1 마스터키(MSKID ) 및 각각의 사용자 ID에 대응하는 개인키(SKID )를 생성하여 ID를 관리하는 제1 키 생성기관 서버(KGCID );
제2 공개 파라미터(PPAttr ), 제2 마스터키(MSKAttr ) 및 속성 집합에 대응하는 속성키(SKAttr )를 생성하여 속성을 관리하는 제2 키 생성기관 서버(KGCAttr );
의료데이터를 암호화하여 암호화된 의료데이터를 생성하는 암호화 모듈, 상기 암호화된 의료데이터를 복호화하여 상기 의료데이터를 추출하는 복호화 모듈, 및 네트워크를 통해 상기 암호화된 의료데이터를 클라우드 서버와 송수신하는 통신 모듈을 구비한 복수의 사용자 단말; 및
네트워크를 통해 상기 암호화된 의료데이터를 송수신하는 통신부, 상기 암호화된 의료데이터를 저장하는 저장부, 및 상기 암호화된 의료데이터를 주기적으로 갱신하는 암호문 갱신부를 구비한 클라우드 서버;을 포함하되,
상기 사용자 단말의 통신 모듈은 상기 제1 키 생성기관 서버(KGCID )로부터 각각의 사용자 ID에 대응하는 개인키(SKID )를 수신하고 상기 제2 키 생성기관 서버로(KGCAttr )부터 사용자의 속성 집합에 대응하는 속성키(SKAttr )를 수신하고,
상기 사용자 단말의 암호화 모듈은 상기 의료데이터를 의료데이터 소유자의 ID, 속성 정책, 및 시간 정보(T)를 이용하여 암호화하며,
상기 클라우드 서버의 암호문 갱신부는 상기 제1 공개 파라미터(PPID ) 및 상기 제2 공개 파라미터(PPAttr )를 이용하여 상기 암호화된 의료데이터를 주기적으로 갱신하며,
상기 복수의 사용자 단말은 적어도 하나 이상의 의료데이터 소유자 단말 및 적어도 하나 이상의 의료데이터 사용자 단말을 포함하고,
상기 의료데이터 소유자 단말은 상기 의료데이터 사용자 단말에 상기 암호화된 의료데이터에 대한 일정 시간(T) 동안 유효한 접근 권한을 위임하기 위한 일정 시간(T) 동안 유효한 위임키(DelKT )를 생성하는 위임키 생성 모듈을 더 구비하며,
상기 의료데이터 소유자 단말의 위임키 생성 모듈은 접근 권한의 위임을 요청하는 의료데이터 사용자 단말로부터 수신한 블라인딩 속성키(BSKAttr )-상기 의료데이터 사용자 단말이 블라인딩(blinding) 값을 이용하여 의료데이터 사용자 단말의 속성키(SKAttr )를 블라인딩하여 생성한-를 이용하여, 상기 의료데이터 사용자 단말의 속성키(SKAttr )가 상기 제2 키 생성기관 서버(KGCAttr )에 의해 정당하게 생성된 값인지 여부를 검증하고, 검증에 통과한 경우 의료데이터 소유자 단말의 개인키(SKID )-의료데이터 소유자 단말이 상기 제1 키 생성기관 서버(KGCID )로부터 수신한 상기 의료데이터 소유자의 ID에 대응하는 개인키-를 이용하여 상기 일정 시간(T) 동안 유효한 위임키(DelKT )를 생성하는,
의료데이터 관리 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150137732A KR101701304B1 (ko) | 2015-09-30 | 2015-09-30 | 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150137732A KR101701304B1 (ko) | 2015-09-30 | 2015-09-30 | 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101701304B1 true KR101701304B1 (ko) | 2017-02-02 |
Family
ID=58154317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150137732A KR101701304B1 (ko) | 2015-09-30 | 2015-09-30 | 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101701304B1 (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190019290A (ko) * | 2017-08-17 | 2019-02-27 | 주식회사 유비케어 | 의료정보 제어 장치 및 방법 |
KR20190063193A (ko) * | 2017-11-29 | 2019-06-07 | 고려대학교 산학협력단 | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 |
KR102064970B1 (ko) * | 2017-03-31 | 2020-01-10 | 성균관대학교 산학협력단 | 의료 기록 관리 방법 및 장치 |
CN112383391A (zh) * | 2020-11-12 | 2021-02-19 | 北京安御道合科技有限公司 | 基于数据属性授权的数据安全保护方法、存储介质及终端 |
KR20220125567A (ko) * | 2021-03-05 | 2022-09-14 | 순천향대학교 산학협력단 | 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법 |
WO2024005336A1 (ko) * | 2022-06-30 | 2024-01-04 | 주식회사 씨젠 | 의료 기록 획득 장치 및 방법 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006155212A (ja) * | 2004-11-29 | 2006-06-15 | Toshiba Corp | 病院情報システム、不正アクセスレポート作成システムおよび不正アクセスレポート作成方法 |
JP2007148510A (ja) * | 2005-11-24 | 2007-06-14 | Toshiba Corp | 医用情報管理システム |
KR20140011529A (ko) * | 2012-06-29 | 2014-01-29 | 인텔렉추얼디스커버리 주식회사 | 암호화 데이터의 복호화를 위한 접근 방법 |
KR101464727B1 (ko) * | 2013-10-15 | 2014-11-27 | 순천향대학교 산학협력단 | 속성기반 암호를 이용한 클라우드 데이터 접근제어 시스템 및 방법 |
-
2015
- 2015-09-30 KR KR1020150137732A patent/KR101701304B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006155212A (ja) * | 2004-11-29 | 2006-06-15 | Toshiba Corp | 病院情報システム、不正アクセスレポート作成システムおよび不正アクセスレポート作成方法 |
JP2007148510A (ja) * | 2005-11-24 | 2007-06-14 | Toshiba Corp | 医用情報管理システム |
KR20140011529A (ko) * | 2012-06-29 | 2014-01-29 | 인텔렉추얼디스커버리 주식회사 | 암호화 데이터의 복호화를 위한 접근 방법 |
KR101464727B1 (ko) * | 2013-10-15 | 2014-11-27 | 순천향대학교 산학협력단 | 속성기반 암호를 이용한 클라우드 데이터 접근제어 시스템 및 방법 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102064970B1 (ko) * | 2017-03-31 | 2020-01-10 | 성균관대학교 산학협력단 | 의료 기록 관리 방법 및 장치 |
KR20190019290A (ko) * | 2017-08-17 | 2019-02-27 | 주식회사 유비케어 | 의료정보 제어 장치 및 방법 |
KR101962541B1 (ko) | 2017-08-17 | 2019-03-26 | 주식회사 유비케어 | 의료정보 제어 장치 및 방법 |
KR20190063193A (ko) * | 2017-11-29 | 2019-06-07 | 고려대학교 산학협력단 | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 |
KR102050887B1 (ko) | 2017-11-29 | 2019-12-02 | 고려대학교 산학협력단 | 사물인터넷 관리를 위한 클라우드 컴퓨팅 환경에서의 데이터 공유 방법 및 시스템 |
CN112383391A (zh) * | 2020-11-12 | 2021-02-19 | 北京安御道合科技有限公司 | 基于数据属性授权的数据安全保护方法、存储介质及终端 |
CN112383391B (zh) * | 2020-11-12 | 2024-03-19 | 北京安御道合科技有限公司 | 基于数据属性授权的数据安全保护方法、存储介质及终端 |
KR20220125567A (ko) * | 2021-03-05 | 2022-09-14 | 순천향대학교 산학협력단 | 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법 |
KR102605087B1 (ko) | 2021-03-05 | 2023-11-23 | 순천향대학교 산학협력단 | 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법 |
WO2024005336A1 (ko) * | 2022-06-30 | 2024-01-04 | 주식회사 씨젠 | 의료 기록 획득 장치 및 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114513533B (zh) | 一种分类分级健身健康大数据共享系统及方法 | |
Pussewalage et al. | Privacy preserving mechanisms for enforcing security and privacy requirements in E-health solutions | |
KR102025409B1 (ko) | 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법 | |
KR101701304B1 (ko) | 클라우드 환경에서 속성기반 암호를 이용한 의료 데이터 관리 방법 및 시스템 | |
KR101625359B1 (ko) | 유비쿼터스 환자 모니터링을 위한 개인 보안 관리자 | |
US10354084B2 (en) | System and a method for management of confidential data | |
US11297050B2 (en) | Secure communication for medical devices | |
US9698974B2 (en) | Method for creating asymmetrical cryptographic key pairs | |
CN104584509A (zh) | 一种共享数据的访问控制方法、装置及系统 | |
Pussewalage et al. | A patient-centric attribute based access control scheme for secure sharing of personal health records using cloud computing | |
CN104704527A (zh) | 用于记录的加密数据储存器 | |
T. de Oliveira et al. | A break-glass protocol based on ciphertext-policy attribute-based encryption to access medical records in the cloud | |
John et al. | Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation | |
Ibrahim et al. | A secure framework for sharing electronic health records over clouds | |
Rubio et al. | Analysis of ISO/IEEE 11073 built-in security and its potential IHE-based extensibility | |
Choe et al. | Web-based secure access from multiple patient repositories | |
Olakanmi et al. | FEACS: A fog enhanced expressible access control scheme with secure services delegation among carers in E-health systems | |
Ray et al. | A Certificate Authority (CA)-based cryptographic solution for HIPAA privacy/security regulations | |
Sethia et al. | CP-ABE for selective access with scalable revocation: A case study for mobile-based healthfolder. | |
Thummavet et al. | A novel personal health record system for handling emergency situations | |
Saravanan et al. | Lattice based access control for protecting user data in cloud environments with hybrid security | |
Pecarina et al. | SAPPHIRE: Anonymity for enhanced control and private collaboration in healthcare clouds | |
Debnath et al. | A secure revocable personal health record system with policy-based fine-grained access control | |
CN114762291A (zh) | 共享用户的用户特定数据的方法、计算机程序和数据共享系统 | |
Omotosho et al. | Securing private keys in electronic health records using session-based hierarchical key encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20200120 Year of fee payment: 4 |