KR102605087B1 - System and method for sharing patient's medical data in medical cloud environment - Google Patents

System and method for sharing patient's medical data in medical cloud environment Download PDF

Info

Publication number
KR102605087B1
KR102605087B1 KR1020210029563A KR20210029563A KR102605087B1 KR 102605087 B1 KR102605087 B1 KR 102605087B1 KR 1020210029563 A KR1020210029563 A KR 1020210029563A KR 20210029563 A KR20210029563 A KR 20210029563A KR 102605087 B1 KR102605087 B1 KR 102605087B1
Authority
KR
South Korea
Prior art keywords
data
user
medical
ciphertext
server
Prior art date
Application number
KR1020210029563A
Other languages
Korean (ko)
Other versions
KR20220125567A (en
Inventor
황용운
이임영
Original Assignee
순천향대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 순천향대학교 산학협력단 filed Critical 순천향대학교 산학협력단
Priority to KR1020210029563A priority Critical patent/KR102605087B1/en
Publication of KR20220125567A publication Critical patent/KR20220125567A/en
Application granted granted Critical
Publication of KR102605087B1 publication Critical patent/KR102605087B1/en

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H80/00ICT specially adapted for facilitating communication between medical practitioners or patients, e.g. for collaborative diagnosis, therapy or health monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments

Abstract

본 발명은 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법을 개시한다. 본 발명의 일 측면에 따른 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템은, 의료 클라우드를 사용할 사용자로부터 사용자 등록을 받고, 클라우드를 사용하는 사용자에게 익명의 ID 값을 부여하는 추적 권한 서버; 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 속성 관리 서버; 및 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 의료 클라우드 서버;를 포함한다. The present invention discloses a system and method for sharing patient medical data in a medical cloud environment. A system for sharing patient medical data in a medical cloud environment according to one aspect of the present invention includes a tracking authority server that receives user registration from users who will use the medical cloud and grants anonymous ID values to users who use the cloud; an attribute management server that manages the attributes of users using the medical cloud and generates secret keys corresponding to the attributes; and a medical cloud server that stores and manages data, performs user access control and partial decryption of ciphertext.

Description

의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법{System and method for sharing patient's medical data in medical cloud environment}System and method for sharing patient's medical data in medical cloud environment}

본 발명은 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법에 관한 것으로, 더욱 상세하게는 추적성을 통한 키 남용을 방지할 수 있는 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법에 관한 것이다. The present invention relates to a system and method for sharing patient medical data in a medical cloud environment, and more specifically, to a system and method for sharing patient medical data in a medical cloud environment that can prevent key abuse through traceability.

클라우드 컴퓨팅은 매우 대중화되었으며, 사용자는 안전하게 데이터를 저장하고 공유할 수 있다. 이에 B2C, 엔터프라이즈 분야, 공공분야, IoT 서비스 등을 포함한 전 분야에서 클라우드 환경을 서비스할 수 있다. Cloud computing has become very popular and allows users to safely store and share data. Accordingly, cloud environments can be serviced in all fields, including B2C, enterprise fields, public fields, IoT services, etc.

최근에는 IoT와 클라우드의 결합으로 의료분야에서 IoMT(Internet Of Medical Things)를 통해 환자의 데이터를 웨어러블로 수집하여 병원에서, 저장하고, 담당 의사나 간호사가 이를 원격 모니터링하여 환자의 건강상태를 체크할 수 있다. IoMT 환경에서, 환자는 가지고 있는 헬스케어 웨어러블을 통해 스마트폰으로 환자의 의료 데이터(생체 신호)를 저장하고, 이를 병원 클라우드 서버로 전송하면, 환자의 담당부서의 의사나 간호사가 환자의 데이터를 원격으로 모니터링 할 수 있다. 그리고 담당 의사는 환자의 의료 데이터를 진찰 후, 처방 데이터를 클라우드 서버에 전송함으로써, 환자는 스마트 기기를 통해 자신의 의료데이터에 대한 처방결과를 확인할 수 있다. 이에 IoMT를 통해 환자와 병원 내 부서간에 데이터를 공유 할 수 있으며, 이는 환자의 의료진의 삶의 질이 향상될 수 있다. Recently, with the combination of IoT and the cloud, patient data is collected through wearables through IoMT (Internet of Medical Things) in the medical field, stored in hospitals, and doctors or nurses can remotely monitor it to check the patient's health status. You can. In an IoMT environment, patients save their medical data (vital signals) on their smartphones through their healthcare wearables and transmit them to the hospital cloud server, where doctors or nurses in the patient's department can remotely access the patient's data. It can be monitored. After examining the patient's medical data, the doctor in charge transmits the prescription data to the cloud server, allowing the patient to check the prescription results for his or her medical data through a smart device. Therefore, through IoMT, data can be shared between patients and departments within the hospital, which can improve the quality of life of patients and medical staff.

그러나, IoMT 환경의 클라우드에서 다양한 보안 위협이 발생할 수 있다. 예컨대, 사용자는 클라우드 서비스를 제공하는 업체의 클라우드를 사용해야 하는데, 클라우드에 저장된 데이터는 외부 위협으로부터 안전하지만, 클라우드 서비스를 제공하는 제공자가 데이터에 액세스할 수 있기 때문에 사용자 개인 정보를 침해할 수 있다. 특히, 의료 클라우드 환경에서 저장된 데이터는 환자의 의료 데이터이므로 상당히 민감하다.However, various security threats may occur in the cloud in an IoMT environment. For example, users must use the cloud of a cloud service provider. Data stored in the cloud is safe from external threats, but the user's privacy may be violated because the cloud service provider has access to the data. In particular, data stored in a medical cloud environment is quite sensitive because it is the patient's medical data.

따라서, 의료 클라우드 환경(IoMT)에서 환자의 의료 데이터를 보안 위협으로부터 보호하고 안전하게 데이터를 저장하고 공유할 수 있는 연구가 필요한 실정이다. Therefore, research is needed to protect patients' medical data from security threats and safely store and share data in a medical cloud environment (IoMT).

한국공개특허 제2014-0042388호(2014.04.07 공개)Korean Patent Publication No. 2014-0042388 (published on April 7, 2014)

본 발명은 상기와 같은 문제점을 해결하기 위해 제안된 것으로서, 의료 클라우드 환경에서 키 남용 방지 및 검증 가능한 아웃소싱을 갖춘 속성기반의 데이터 공유 시스템을 제공하여, 키 유출시 키를 발급받은 사용자를 추적할 수 있어 키남용을 사전에 방지할 수 있고, 사용자가 메시지 획득시 검증을 통해 데이터 소유자가 업로드한 암호문인지 확인할 수 있는 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템 및 방법을 제공하는데 그 목적이 있다.The present invention was proposed to solve the above problems, and provides an attribute-based data sharing system with key abuse prevention and verifiable outsourcing in a medical cloud environment, so that when a key is leaked, the user who was issued the key can be tracked. The purpose is to provide a system and method for sharing patient medical data in a medical cloud environment that can prevent key abuse in advance and allow users to verify whether the message was uploaded by the data owner through verification when obtaining the message.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 일 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by an embodiment of the present invention. In addition, it will be readily apparent that the objects and advantages of the present invention can be realized by means and combinations thereof as indicated in the claims.

상기와 같은 목적을 달성하기 위한 본 발명의 일 측면에 따른 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템은, 의료 클라우드를 사용할 사용자로부터 사용자 등록을 받고, 클라우드를 사용하는 사용자에게 익명의 ID 값을 부여하는 추적 권한 서버; 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 속성 관리 서버; 및 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 의료 클라우드 서버;를 포함한다. In order to achieve the above object, a patient's medical data sharing system in a medical cloud environment according to an aspect of the present invention receives user registration from a user who will use the medical cloud and grants an anonymous ID value to the user who uses the cloud. a tracking authority server; an attribute management server that manages the attributes of users using the medical cloud and generates secret keys corresponding to the attributes; and a medical cloud server that stores and manages data, performs user access control and partial decryption of ciphertext.

상기 속성 관리 서버는, 사용자로부터 상기 추적 권한 서버로부터 부여 받은 익명의 ID 값에 기반한 사용자 속성정보를 등록받고, 공개 파라미터 및 마스터키를 생성하며, 상기 등록된 사용자 속성 정보를 가지고 사용자 비밀키를 생성하고, 데이터 사용자 단말로 공개 파라미터 및 사용자 비밀키를 제공하며, 데이터를 등록한 테이터 소유자의 테이터 소유자 단말로 공개 파라미터를 전송하는 것을 특징으로 한다. The attribute management server registers user attribute information based on the anonymous ID value granted by the tracking authority server from the user, generates public parameters and a master key, and generates a user secret key using the registered user attribute information. And, public parameters and user secret keys are provided to the data user terminal, and the public parameters are transmitted to the data owner terminal of the data owner who registered the data.

상기 의료 클라우드 서버는, 테이터 소유자 단말로부터 암호문을 수신받아 저장하여 암호문을 등록하고, 데이터 사용자 단말로부터 토큰을 수신받아 암호문을 부분 복호화하며, 부분 복호화된 암호문을 데이터 사용자 단말로 전송하여 최종 복호화 수행 후 획득한 메시지를 검증하여 데이터에 대한 무결성을 보증하는 것을 특징으로 한다. The medical cloud server receives and stores the encrypted text from the data owner terminal, registers the encrypted text, receives a token from the data user terminal, partially decrypts the encrypted text, and transmits the partially decrypted encrypted text to the data user terminal to perform final decryption. It is characterized by verifying the obtained message and ensuring the integrity of the data.

상기 의료 클라우드 서버는, 암호문을 저장하고 관리하는 스토리지 서버; 및 사용자의 접근을 관리하고, 부분복호화를 수행하는 아웃소싱 서버;를 포함하는 것을 특징으로 한다. The medical cloud server includes a storage server that stores and manages encrypted text; and an outsourcing server that manages user access and performs partial decryption.

상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템에서의 데이터 공유 방법은, 추적 권한 서버가, 의료 클라우드를 사용할 사용자로부터 사용자 등록을 받고, 클라우드를 사용하는 사용자에게 익명의 ID 값을 부여하는 단계; 속성 관리 서버가, 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 단계; 및 의료 클라우드 서버가, 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 단계;를 포함한다. In order to achieve the above object, a data sharing method in a patient's medical data sharing system in a medical cloud environment according to another aspect of the present invention includes a tracking authority server receiving user registration from a user who will use the medical cloud, and Granting an anonymous ID value to the user; A property management server managing the properties of a user using the medical cloud and generating a secret key corresponding to the properties; And a step of the medical cloud server storing and managing data, performing user access control and partial decryption of the ciphertext.

상기 속성 관리 서버가, 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 단계는, 사용자로부터 상기 추적 권한 서버로부터 부여 받은 익명의 ID 값에 기반한 사용자 속성정보를 등록받는 단계; 공개 파라미터 및 마스터키를 생성하며, 상기 등록된 사용자 속성 정보를 가지고 사용자 비밀키를 생성하는 단계; 및 데이터 사용자 단말로 공개 파라미터 및 사용자 비밀키를 제공하며, 데이터를 등록한 테이터 소유자의 테이터 소유자 단말로 공개 파라미터를 전송하는 단계;를 포함하는 것을 특징으로 한다. The step of the attribute management server managing the attributes of a user using the medical cloud and generating a secret key corresponding to the attribute includes registering user attribute information based on an anonymous ID value given by the user from the tracking authority server. Receiving stage; generating public parameters and a master key, and generating a user secret key using the registered user attribute information; And providing public parameters and user secret keys to the data user terminal, and transmitting the public parameters to the data owner terminal of the data owner who registered the data.

상기 의료 클라우드 서버가, 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 단계는, 테이터 소유자 단말로부터 암호문을 수신받아 저장하여 암호문을 등록하는 단계; 데이터 사용자 단말로부터 토큰을 수신받아 암호문을 부분 복호화하는 단계; 및 부분 복호화된 암호문을 데이터 사용자 단말로 전송하여 최종 복호화 수행 후 획득한 메시지를 검증하는 단계;를 포함하는 것을 특징으로 한다. The steps of the medical cloud server storing and managing data, controlling user access, and partially decrypting the encrypted text include: receiving the encrypted text from the data owner terminal, storing the encrypted text, and registering the encrypted text; Receiving a token from a data user terminal and partially decrypting the ciphertext; And transmitting the partially decrypted ciphertext to the data user terminal to verify the message obtained after performing the final decryption.

상기와 같은 목적을 달성하기 위한 본 발명의 다른 측면에 따른 기록매체는, 데이터 공유 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체이다. A recording medium according to another aspect of the present invention for achieving the above object is a computer-readable recording medium on which a computer program is recorded for performing a data sharing method.

본 발명의 일 측면에 따르면, 의료 클라우드에 저장된 데이터에 대한 기밀성을 보장되며, 접근 권한이 없는 제 3자의 접근이 불가능하므로 환자의 의료 데이터에 대한 보안을 향상시킬 수 있는 효과가 있다. According to one aspect of the present invention, the confidentiality of data stored in the medical cloud is guaranteed and access by third parties without access rights is not possible, thereby improving the security of the patient's medical data.

또한, 유포된 비밀키를 통해 키를 최초로 발급하여 유출한 사용자를 추적하여 신원을 확인할 수 있는 추적성이 제공되기 때문에, 키를 남용하는 것을 사전에 방지할 수 있다.In addition, since traceability is provided to confirm the identity of the user who initially issued and leaked the key through the distributed secret key, abuse of the key can be prevented in advance.

또한, 사용자의 익명 ID값을 통해 비밀키가 속성 관리 서버에서 발급되기 때문에 사용자의 익명성 제공이 가능한 효과가 있다. In addition, since the secret key is issued by the attribute management server through the user's anonymous ID value, it is possible to provide the user's anonymity.

본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects that can be obtained from the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below. .

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용들과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니 된다.
도 1은 본 발명의 일 실시예에 따른 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템의 개략적인 구성도,
도 2는 본 발명의 일 실시예에 따른 의료 클라우드 환경에서 데이터 공유 방법의 개략적인 흐름도,
도 3은 본 발명의 일 실시예에 따른 데이터 암호화 과정의 개략적인 흐름도,
도 4는 본 발명의 일 실시예에 따른 데이터 사용자의 데이터 접근 방법 및 데이터 복호화 과정의 개략적인 흐름도,
도 5는 본 발명의 일 실시예에 따른 유포된 비밀키를 통해 속성 관리 서버에서 최초로 비밀키를 발급받은 사용자를 추적하여 신원을 확인하는 과정의 흐름을 도시한 일 예이다.
The following drawings attached to this specification illustrate preferred embodiments of the present invention, and serve to further understand the technical idea of the present invention along with specific details for carrying out the invention. Therefore, the present invention is shown in such drawings. The interpretation should not be limited to only the stated matters.
1 is a schematic configuration diagram of a patient's medical data sharing system in a medical cloud environment according to an embodiment of the present invention;
Figure 2 is a schematic flowchart of a data sharing method in a medical cloud environment according to an embodiment of the present invention;
3 is a schematic flowchart of the data encryption process according to an embodiment of the present invention;
Figure 4 is a schematic flowchart of a data access method and data decoding process of a data user according to an embodiment of the present invention;
Figure 5 is an example illustrating the flow of the process of confirming the identity of the user who first received the secret key from the attribute management server through the distributed secret key according to an embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.The above-described purpose, features and advantages will become clearer through the following detailed description in conjunction with the accompanying drawings, and accordingly, those skilled in the art will be able to easily implement the technical idea of the present invention. There will be. Additionally, in describing the present invention, if it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted. Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the attached drawings.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “…부” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when it is said that a part “includes” a certain element, this means that it may further include other elements rather than excluding other elements, unless specifically stated to the contrary. In addition, “…” stated in the specification. Terms such as “unit” refer to a unit that processes at least one function or operation, which may be implemented as hardware, software, or a combination of hardware and software.

클라우드 환경에서 안전한 데이터의 저장 및 데이터의 공유를 위해서는 저장된 데이터의 보안이 가장 중요하다. 또한, 암호화된 데이터에 접근하기 위한 접근 제어 기술 및 사용자 인증 기술이 필요하다. 이러한 기술 중 하나가 속성기반 암호의 한 종류인 CP-ABE(ciphertext policy-attribute-based encryption) 방식이다. CP-ABE 방식은 여러 사용자가 서버에 저장된 암호화된 데이터에 접근하기에 적합한 암호화 기술이며, 현재까지 다양한 CP-ABE 기반의 접근제어 기법이 연구되었다. 하지만, 기존의 CP-ABE 기반의 접근제어 기법은 다양한 보안 위협에 취약함을 갖는다. 특히, 종래 기술에 따른 CP-ABE 데이터 공유 시스템은, 속성 관리 서버가 비밀키를 발행한 사용자를 식별할 수 없다. 따라서 사용자는 자신의 이익을 위해 비밀키를 유출 할 수 있으며, 추후 해당 사용자를 추적 할 수 없다. 예를 들어, 의사가 다른 사용자에게 자신의 이익을 위해 악의적인 목적으로 의료 클라우드에 접근 하기 위한 비밀키를 제공하면, 다른 사용자는 의사로부터 수신된 비밀 키를 통해 의료 클라우드 환경에 접근할 수 있다. 다른 사람에게 전송된 비밀키가 잘못되어 비밀키를 발행한 사용자(의사)를 추적하려는 경우, 비밀키에는 발행된 사용자의 정보가 없기 때문에 비밀키를 발행한 사용자를 알 수 없다. 이는 CP-ABE 사용으로 인해 발생할 수 있는 특성이다. 이를 해결하기 위해, 속성을 확인하고 키를 발급하는 속성 관리 기관이 각 사용자에 대해 키를 발급할 때, 키의 매개 변수에 사용자의 ID 값 또는 사용자 서명 값을 발급한다. 추후, 키에 문제가 있는 경우 키 값을 처음으로 발급한 사용자의 ID 값 또는 키 매개 변수의 사용자 서명 값을 통해 사용자를 추적하는 연구가 진행중이다. 그러나, 속성 기관 서버에 사용자의 정보가 노출되어 이는 사용자 개인 정보를 침해할 수도 있다. 무엇보다도 속성 기반 암호화는 사용자의 속성에 접근하기 때문에 여러 참가자의 신원을 공개하지 않아도 되는 것이 특징이다. 따라서, 사용자 ID 값을 속성 관리 서버(AA)에서 관리하면 클라우드를 사용하는 사용자의 익명성이 제공되지 않는다. For safe data storage and data sharing in a cloud environment, the security of stored data is most important. Additionally, access control technology and user authentication technology are needed to access encrypted data. One of these technologies is CP-ABE (ciphertext policy-attribute-based encryption), a type of attribute-based encryption. The CP-ABE method is an encryption technology suitable for multiple users to access encrypted data stored on a server, and various CP-ABE-based access control techniques have been studied to date. However, existing CP-ABE-based access control techniques are vulnerable to various security threats. In particular, in the CP-ABE data sharing system according to the prior art, the attribute management server cannot identify the user who issued the secret key. Therefore, users can leak private keys for their own benefit, and the user cannot be traced later. For example, if a doctor provides another user with a secret key to access the medical cloud for malicious purposes for his or her own benefit, the other user can access the medical cloud environment through the secret key received from the doctor. If the secret key sent to another person is wrong and you want to track the user (doctor) who issued the secret key, the user who issued the secret key cannot be known because the secret key does not contain information about the user who issued it. This is a characteristic that can occur due to the use of CP-ABE. To solve this problem, when a property management agency that verifies properties and issues keys issues a key for each user, it issues the user's ID value or user signature value as a parameter of the key. In the future, if there is a problem with the key, research is underway to track the user through the ID value of the user who first issued the key value or the user signature value of the key parameter. However, the user's information may be exposed to the property agency server, which may infringe on the user's personal information. Above all, attribute-based encryption is characterized by not having to reveal the identities of multiple participants because it accesses the user's attributes. Therefore, if the user ID value is managed in the attribute management server (AA), anonymity of users using the cloud is not provided.

이러한 종래 기술에 따른 문제를 해결하기 위해, 도 1 내지 도 5를 참조하여 의료 클라우드 환경에서 환자의 의료 데이터를 안전하게 공유할 수 있는 시스템 및 방법에 대해 설명하기로 한다. In order to solve these problems according to the prior art, a system and method for safely sharing a patient's medical data in a medical cloud environment will be described with reference to FIGS. 1 to 5.

도 1은 본 발명의 일 실시예에 따른 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템의 개략적인 구성도이다. Figure 1 is a schematic configuration diagram of a patient's medical data sharing system in a medical cloud environment according to an embodiment of the present invention.

본 발명의 실시 예에 대한 설명에 앞서, 이하 내용에서 사용되는 기호들에 대하여 다음과 같이 정의한다.Before explaining the embodiments of the present invention, the symbols used in the following content are defined as follows.

Attribute Authority(AA) : 사용자의 속성을 관리하는 제 3의 기관, 속성 관리 서버 Attribute Authority (AA): A third-party organization that manages user attributes, attribute management server

: 사용자를 추적할 수 있는 제 3의 기관, 추적 권한 서버 : Third party organization that can track users, tracking authority server

: 데이터를 저장 및 관리하는 서버, 의료 클라우드 서버 : Server that stores and manages data, medical cloud server

: 사용자의 접근 제어 관리 및 부분 복호화 수행해주는 아웃 소싱 서버 : Outsourcing server that manages user access control and performs partial decryption

: 각 기관이 가지는 마스터키(개인키) : Master key (private key) held by each organization

: TA의 공개키, 개인키 쌍 : TA’s public key, private key pair

: AA의 공개키, 개인키 쌍 : AA public key, private key pair

: 클라우드에서 속성기반 암호시 사용하는 공개 파라미터, 마스터키 : Public parameters and master key used for attribute-based encryption in the cloud

SK : 사용자 비밀키(암호문 복호화키)SK: User secret key (ciphertext decryption key)

UTR : 사용자 추적을 위한 파라미터(값)UTR: Parameter (value) for user tracking

: 사용자 실제 ID, 사용자가 생성한 ID : User real ID, user-generated ID

: 사용자 익명 ID : User Anonymous ID

: 사용자 각 속성 데이터, 속성 데이터 집합 : Each user attribute data, attribute data set

: 접근구조(Access policy or Access Structure) : Access policy or Access Structure

: 각 속성이 가진 멀티 값 : Multi-values for each attribute

: 클라우드에 접근하기 위한 토큰 : Token for accessing the cloud

: 암호키 값을 속성기반으로 숨긴 암호문, 전체암호문 : Ciphertext that hides the encryption key value based on attributes, full ciphertext

C : 부분 복호화 진행 후 생성되는 암호문 변환값C: Cipher text conversion value generated after partial decryption

T : 타임스탬프T: timestamp

도 1을 참조하면, 본 실시예에 따른 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템은, 추적 권한 서버(100), 속성 관리 서버(200) 및 의료 클라우드 서버(300)를 포함한다. Referring to FIG. 1, the patient's medical data sharing system in the medical cloud environment according to this embodiment includes a tracking authority server 100, an attribute management server 200, and a medical cloud server 300.

추적 권한 서버(100)는, 의료 클라우드를 사용할 사용자로부터 사용자 등록을 받고, 클라우드를 사용하는 사용자에게 익명의 ID 값을 부여한다. The tracking authority server 100 receives user registration from users who will use the medical cloud and grants anonymous ID values to users who use the cloud.

속성 관리 서버(200)는, 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성한다. The attribute management server 200 manages the attributes of users using the medical cloud and generates secret keys corresponding to the attributes.

속성 관리 서버(200)는 사용자로부터 상기 추적 권한 서버(100)로부터 부여 받은 익명의 ID 값에 기반한 사용자 속성정보를 등록받고, 공개 파라미터 및 마스터키를 생성하며, 등록된 사용자 속성 정보를 가지고 사용자 비밀키를 생성하고, 데이터 사용자 단말(410)로 공개 파라미터 및 사용자 비밀키를 제공하며, 데이터를 등록한 테이터 소유자의 테이터 소유자 단말로 공개 파라미터를 전송한다. The attribute management server 200 receives user attribute information based on the anonymous ID value granted by the tracking authority server 100 from the user, generates public parameters and a master key, and uses the registered user attribute information to create a user secret. A key is generated, public parameters and user secret keys are provided to the data user terminal 410, and the public parameters are transmitted to the data owner terminal of the data owner who registered the data.

의료 클라우드 서버(300)는, 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행한다. The medical cloud server 300 stores and manages data, performs user access control and partial decryption of ciphertext.

의료 클라우드 서버(300)는, 테이터 소유자 단말로부터 암호문을 수신받아 저장하여 암호문을 등록하고, 데이터 사용자 단말(410)로부터 토큰을 수신받아 암호문을 부분 복호화하며, 부분 복호화된 암호문을 데이터 사용자 단말(410)로 전송하여 최종 복호화 수행 후 획득한 메시지를 검증하여 데이터에 대한 무결성을 보증한다. The medical cloud server 300 receives and stores the encrypted text from the data owner terminal, registers the encrypted text, receives a token from the data user terminal 410, partially decrypts the encrypted text, and sends the partially decrypted encrypted text to the data user terminal 410. ) and verifies the message obtained after final decryption to ensure the integrity of the data.

한편, 의료 클라우드 서버(300)는 암호문을 저장하고 관리하는 스토리지 서버(310) 및 사용자의 접근을 관리하고, 부분복호화를 수행하는 아웃소싱 서버(330)를 포함한다. Meanwhile, the medical cloud server 300 includes a storage server 310 that stores and manages ciphertext, and an outsourcing server 330 that manages user access and performs partial decryption.

도 2는 본 발명의 일 실시예에 따른 의료 클라우드 환경에서 데이터 공유 방법의 개략적인 흐름도, 도 3은 본 발명의 일 실시예에 따른 데이터 암호화 과정의 개략적인 흐름도, 도 4는 본 발명의 일 실시예에 따른 데이터 사용자의 데이터 접근 방법 및 데이터 복호화 과정의 개략적인 흐름도, 도 5는 본 발명의 일 실시예에 따른 유포된 비밀키를 통해 속성 관리 서버(200)에서 최초로 비밀키를 발급받은 사용자를 추적하여 신원을 확인하는 과정의 흐름을 도시한 일 예이다. FIG. 2 is a schematic flowchart of a data sharing method in a medical cloud environment according to an embodiment of the present invention, FIG. 3 is a schematic flowchart of a data encryption process according to an embodiment of the present invention, and FIG. 4 is an implementation of the present invention. Figure 5 is a schematic flowchart of a data access method and data decryption process of a data user according to an example, showing the user who was first issued a secret key from the attribute management server 200 through a distributed secret key according to an embodiment of the present invention. This is an example showing the flow of the process of tracking and verifying identity.

본 발명을 설명함에 앞서, 다음과 같은 사항을 가정하기로 한다. Before explaining the present invention, the following is assumed.

초기에 추적 권한 서버(100)와 속성 관리 서버(200)는 보안 매개변수로 인해 두개의 큰 소수 와 타원곡선을 다음과 같이 정의한다.Initially, the tracking authority server 100 and the attribute management server 200 define two large prime numbers and an elliptic curve due to security parameters as follows.

[수학식 1][Equation 1]

추적 권한 서버(100)의 공개키와 개인키는 , , 속성 관리 서버(200)의 공개키와 개인키는 , 로 나타낼 수 있다. The public key and private key of the tracking authority server 100 are , , the public key and private key of the attribute management server 200 are , It can be expressed as

속성 관리 서버(200)는 사용자 속성 검증후 키를 발급해주는데, 이때 사용자 정보값 일부 를 아웃소싱 서버(330)에 공유한다. The property management server 200 issues a key after verifying user properties. At this time, part of the user information value is is shared on the outsourcing server 330.

속성 universal set은 . 각 속성은 멀티값 을 가지고 있고, 집합으로 로 나타낼 수 있다. The property universal set is . Each attribute is multi-valued has, and as a set It can be expressed as

보다 자세하게, 도 2는 추적 권한 서버(100)에서 사용자 등록 및 익명 ID값 발급과정 및 속성 관리 서버(200)에서 속성 등록 과정을 보여준다(S210)(S220). In more detail, Figure 2 shows the user registration and anonymous ID value issuance process in the tracking authority server 100 and the attribute registration process in the attribute management server 200 (S210) (S220).

사용자 등록 및 익명 ID 발급단계에서는, 사용자는 데이터 사용자 단말(410)을 이용해 추적 권한 서버(100)에 등록 후, 익명 ID 값을 발급받는다. 보다 구체적으로, 데이터 사용자 단말(410)은 추적 권한 서버(100)에게 등록 메시지로 자신의 고유 식별자값과 아이디 값 을 보내 등록을 요청한다. 추적 권한 서버(100)는 사용자 고유 식별자 값 확인 후 을 계산한다. 이후, 사용자 익명 ID 값 을 생성하여 데이터 사용자 단말(410)에게 전송한다. In the user registration and anonymous ID issuance step, the user registers with the tracking authority server 100 using the data user terminal 410 and then receives an anonymous ID value. More specifically, the data user terminal 410 sends a registration message to the tracking authority server 100 with its unique identifier value and ID value. Send to request registration. The tracking authority server 100 uses the user's unique identifier value after confirmation Calculate . Afterwards, the user anonymous ID value is generated and transmitted to the data user terminal 410.

[수학식 2][Equation 2]

사용자 속성 등록 및 사용자 비밀키 생성단계에서는, 데이터 사용자 단말(410)이 속성 관리 서버(200)에 익명ID로 사용자 정보 및 속성 등록하면, 속성 관리 서버(200)는 속성에 대응되는 비밀키(암호문 복호화키)를 생성하여 데이터 사용자 단말(410)에게 전송해준다(S230). 보다 구체적으로, 데이터 사용자 단말(410)은 익명 와 자신의 속성을 속성 관리 서버(200)에게 전송한다. 속성 관리 서버(200)는 셋업 과정을 통해 데이터 소유자 단말(430)과 데이터 사용자 단말(410)에 대한 공개파라미터 및/또는 마스터 키를 생성한다. 이때, 셋업 과정은 아래의 수학식 3과 같다.In the user attribute registration and user secret key generation step, when the data user terminal 410 registers user information and attributes with an anonymous ID in the attribute management server 200, the attribute management server 200 provides a secret key (ciphertext) corresponding to the attribute. A decryption key) is generated and transmitted to the data user terminal 410 (S230). More specifically, the data user terminal 410 is anonymous and transmits its properties to the property management server 200. The attribute management server 200 generates public parameters and/or master keys for the data owner terminal 430 and the data user terminal 410 through a setup process. At this time, the setup process is as shown in Equation 3 below.

[수학식 3][Equation 3]

겹선형 사상 그룹 G의 소수는 p이며, 랜덤 생성자는 로 생성.The prime number of the bilinear mapping group G is p, and the random generator is Created with .

이후, 속성 관리 서버(200)는, 데이터 사용자 단말(410)로부터 전송받은 익명 , 속성 , 마스터키로 키생성 과정을 수행하여 비밀키 을 생성하고, 익명의 사용자 단말(데이터 사용자 단말(410) 및/또는 데이터 소유자 단말(430))에게 전송해준다(S240).Afterwards, the attribute management server 200 receives the anonymous data transmitted from the user terminal 410. , property , perform the key generation process with the master key to obtain the secret key is generated and transmitted to an anonymous user terminal (data user terminal 410 and/or data owner terminal 430) (S240).

[수학식 4][Equation 4]

랜덤넘버(Random number) , Random number ,

(각 속성의 번호), ( 는 각 속성에 대해 주어진 임의의 값) (number of each attribute), ( is a random value given for each attribute)

이후, 속성 관리 서버(200)는 아웃소싱 서버(330)에게 데이터 사용자 단말(410)의 정보값 일부 을 공유한다. Afterwards, the property management server 200 sends some of the information values of the data user terminal 410 to the outsourcing server 330. Share.

도 3을 참조하면, 데이터 암호화 단계에서 데이터 소유자 단말(430)은 속성 관리 서버(200)로부터 받은 와 자신의 데이터에 접근하려는 데이터 소유자 단말(430)의 속성으로 접근구조를 만들어서 데이터를 암호화하고, 의료 클라우드의 스토리지 서버(310)에 전송하여 저장한다(S310)(S320)(S330). 보다 구체적으로, 데이터 소유자 단말(430)은, 의료 클라우드 환경 내에서 자신의 데이터에 접근할 수 있는 사용자들의 속성들을 기반으로 접근구조를 생성한다. 이후, 접근구조에 지정된 속성들의 멀티값을 계산하고, 메시지를 대칭키로 암호화한 키를 암호화하여 암호문 CT를 생성한다. 이후, 메시지를 암호화한 CS, KEY에 대한 검증키 값 VK으로 암호문 CT’을 구성한다. 암호문 CT에서 속성별로 연산된 값들을 하나로 계산하여, 암호문의 크기를 감소시킬 수 있고, 이에 기존에 낭비된 클라우드 스토리지의 공간을 효율적으로 사용할 수 있다. Referring to FIG. 3, in the data encryption step, the data owner terminal 430 receives the information from the attribute management server 200. The data is encrypted by creating an access structure with the attributes of the data owner terminal 430 that wants to access its data, and transmitted to the storage server 310 of the medical cloud for storage (S310), (S320) (S330). More specifically, the data owner terminal 430 creates an access structure based on the attributes of users who can access their data within the medical cloud environment. Afterwards, the multi-values of the attributes specified in the access structure are calculated, and the key that encrypted the message with the symmetric key is encrypted to generate the ciphertext CT. Afterwards, the ciphertext CT' is constructed with the verification key value VK for the CS and KEY that encrypted the message. By calculating the values calculated for each attribute in the ciphertext CT as one, the size of the ciphertext can be reduced, and previously wasted cloud storage space can be used efficiently.

[수학식 5][Equation 5]

각 속성이 가진 멀티값 Multi-values for each attribute

접근구조 , access structure ,

(랜덤값 생성) (Random value generation)

만약 이면 를 계산함.if This side Calculate .

만약 이면 를 계산함.if This side Calculate .

, ,

이후, 스토리지 서버(310)는 전송받은 암호문을 저장한다. Afterwards, the storage server 310 stores the received ciphertext.

도 4를 참조하면, 데이터 접근 단계에서는, 데이터 사용자 단말(410)은 속성 관리 서버(200)로부터 전송받은 정보를 통해 토큰(TK)을 생성하여 클라우드 스토리지에 접근한다. 보다 구체적으로, 데이터 사용자 단말(410)은 속성 관리 서버(200)를 통해 전송받은 비밀키 에서 을 통해 클라우드에 접근할 수 있는 토큰(TK)을 생성한다. 이후, 을 통해서 클라우드에 접근을 요청하면, 아웃소싱 서버(330)는 속성 관리 서버(200)로부터 공유한 사용자 정보값 일부 을 통해 값의 을 검증하여 정당한 사용자임을 판단한다(S410).Referring to FIG. 4, in the data access step, the data user terminal 410 generates a token (TK) through information received from the attribute management server 200 to access cloud storage. More specifically, the data user terminal 410 receives the secret key transmitted through the attribute management server 200. at Create a token (TK) to access the cloud. after, When access to the cloud is requested through the outsourcing server 330, some of the user information values shared from the property management server 200 Through of value is verified to determine that the user is a legitimate user (S410).

[수학식 6][Equation 6]

이후, 아웃소싱 서버(330)는 사용자에 대해 값을 알기 때문에 검증과정 수행함으로써 사용자를 검증하고, 정당한 사용자임이 검증되면 스토리지에 사용자가 원하는 암호문을 요청받고, 암호문에 지정된 접근구조와 사용자 속성값을 연산하여 비교함으로써 부분복호화를 진행한다(S420). 암호문 복호화 단계에서는, 먼저 암호문을 수신받은 아웃소싱 서버(330)는, 사용자가 접근하려는 암호문에 지정된 속성값과 사용자 속성값을 비교하여 일치하면 부분 복호화 단계를 수행하여 암호문 변환값 를 추출한다. Afterwards, the outsourcing server 330 provides information about the user. Since the value is known, the user is verified by performing a verification process. Once the user is verified as a legitimate user, the user's desired ciphertext is requested from the storage, and partial decryption is performed by calculating and comparing the access structure specified in the ciphertext and the user attribute value (S420) . In the ciphertext decryption step, the outsourcing server 330, which first receives the ciphertext, compares the attribute values specified in the ciphertext that the user wants to access with the user attribute values, and if they match, performs a partial decryption step to obtain the ciphertext conversion value. Extract .

이후, 데이터 사용자 단말(410)은 아웃소싱 서버(330)로부터 암호문 변환값 와 암호문 를 전송받고, 이를 데이터 사용자 단말(410)이 가지고 있는 비밀키 를 가지고 최종 복호화를 수행하여 메시지를 암호화한 키 KEY를 획득한다(S430). 데이터 사용자 단말(410)은, 획득한 키로 메시지를 복호화하여 메시지를 획득하고, 검증 과정을 수행하여, 데이터 소유자 단말(430)이 업로드한 데이터인지 확인한다(S440). 보다 구체적으로, 아웃소싱 서버(330)는, 부분 복호화(Decrypt1)를 수행하여, 암호문 변환값 를 추출한 후, 아웃소싱 서버(330)는 데이터 사용자 단말(410)에게 암호문 를 전송한다. Afterwards, the data user terminal 410 receives the ciphertext conversion value from the outsourcing server 330. and ciphertext is transmitted, and the secret key held by the data user terminal 410 is Perform final decryption to obtain the key that encrypted the message (S430). The data user terminal 410 decrypts the message using the obtained key to obtain the message, performs a verification process, and confirms whether the data was uploaded by the data owner terminal 430 (S440). More specifically, the outsourcing server 330 performs partial decryption (Decrypt1) to obtain the ciphertext conversion value. After extracting, the outsourcing server 330 sends the ciphertext to the data user terminal 410. and transmit.

[수학식 7][Equation 7]

이후, 데이터 사용자 단말(410)은 아웃소싱 서버(330)로부터 받은 , , 를 가지고 최종 복호화(Decrypt2)를 수행하여, 메시지를 복호화할 수 있는 키 KEY를 추출한다. 이후 암호문 를 복호화하여 메시지를 획득한다. Afterwards, the data user terminal 410 receives the data from the outsourcing server 330. cast , , By performing the final decryption (Decrypt2), the key KEY that can decrypt the message is extracted. After the ciphertext Decode and obtain the message.

[수학식 8][Equation 8]

이후, 를 만들어, 기존 와 비교하여 검증 과정이 수행되고 일치하면 데이터 소유자의 메시지 무결성이 보장된다. after, class as create an existing A verification process is performed and if they match, the integrity of the data owner's message is guaranteed.

[수학식 9][Equation 9]

도 5를 참조하면, 비밀키 유출시 를 최초로 발급받은 사용자(데이터 사용자 단말(410))를 추적하는 단계는, 등록되지 않은 제 3자가 누군가에게 키를 받아 클라우드에 접근하는 것을 막고자 한다. 이때, 수사기관은 유포된 비밀키 가 유포되는 과정은 알 수 없으나, 속성 관리 서버(200)에게 최초로 를 발급받아 유포한 사용자(데이터 사용자 단말(410))의 신원과정을 추적과정을 통해 알 수 있다. 여기서, 가 유포되었다는 가정을 가지고 다음단계를 진행한다. 보다 구체적으로, 속성 관리 서버(200)는 유포된 키의 파라미터에서 를 검증 후, 사용자 익명 ID 값 을 추출하여 추적기관인 추적 권한 서버(100)에게 을 전송한다(S510)(S520). Referring to Figure 5, the secret key In case of spill The step of tracking the user (data user terminal 410) who was first issued is intended to prevent an unregistered third party from receiving a key from someone and accessing the cloud. At this time, the investigative agency The process by which it is distributed is unknown, but it was first distributed to the property management server 200. The identity process of the user (data user terminal 410) who issued and distributed can be known through the tracking process. here, Proceed to the next step assuming that has been distributed. More specifically, the attribute management server 200 determines the parameters of the distributed key. After verifying the user anonymous ID value is extracted and sent to the tracking authority server (100), which is a tracking agency. Transmit (S510) (S520).

[수학식 10][Equation 10]

(검증 완료) (Verification completed)

이후, 추적 권한 서버(100)는, 사용자 익명 ID 값 수신 후 대응되는 고유 ID 값 추출한다. 이후 로 인해 키를 발급받은 사용자 신원을 확인한다(S530).Afterwards, the tracking authority server 100 determines the user anonymous ID value. After receiving, the corresponding unique ID value Extract. after As a result, the identity of the user who issued the key is confirmed (S530).

[수학식 11][Equation 11]

본 발명의 실시예에 따른 방법들은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는, 본 발명을 위한 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Methods according to embodiments of the present invention may be implemented as applications or in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention, or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media) and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니 된다. 또한, 본 명세서의 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서의 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While this specification includes many features, such features should not be construed as limiting the scope of the invention or the scope of the claims. Additionally, features described in individual embodiments of this specification may be implemented in combination in a single embodiment. Conversely, various features described in a single embodiment herein may be implemented individually or in combination as appropriate in various embodiments.

도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 앱 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although operations in the drawings are described in a particular order, it should not be understood that such operations are performed in a particular order as shown, or as a series of sequences, or as all described operations being performed to achieve a desired result. Multitasking and parallel processing can be advantageous in certain environments. In addition, it should be understood that the division of various system components in the above-described embodiments does not require such division in all embodiments. The above-described app components and systems may generally be implemented as a package in a single software product or multiple software products.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것은 아니다.The present invention described above is capable of various substitutions, modifications and changes without departing from the technical spirit of the present invention to those of ordinary skill in the technical field to which the present invention pertains. It is not limited by the drawings.

100 : 추적 권한 서버
200 : 속성 관리 서버
300 : 의료 클라우드 서버
310 : 스토리지 서버
330 : 아웃소싱 서버
410 : 데이터 사용자 단말
430 : 데이터 소유자 단말
100: Tracking Authorization Server
200: Property Management Server
300: Medical cloud server
310: storage server
330: Outsourced server
410: data user terminal
430: Data owner terminal

Claims (8)

의료 클라우드를 사용할 사용자로부터 사용자 등록을 받고, 클라우드를 사용하는 사용자에게 익명의 ID 값을 부여하는 추적 권한 서버;
의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 속성 관리 서버; 및
데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 의료 클라우드 서버;를 포함하는 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템.
A tracking authority server that receives user registration from users who will use the medical cloud and grants anonymous ID values to users who use the cloud;
an attribute management server that manages the attributes of users using the medical cloud and generates secret keys corresponding to the attributes; and
A patient's medical data sharing system in a medical cloud environment that includes a medical cloud server that stores and manages data, performs user access control, and partial decryption of ciphertext.
제 1 항에 있어서,
상기 속성 관리 서버는,
사용자로부터 상기 추적 권한 서버로부터 부여 받은 익명의 ID 값에 기반한 사용자 속성정보를 등록받고, 공개 파라미터 및 마스터키를 생성하며, 상기 등록된 사용자 속성 정보를 가지고 사용자 비밀키를 생성하고, 데이터 사용자 단말로 공개 파라미터 및 사용자 비밀키를 제공하며, 데이터를 등록한 데이터 소유자의 데이터 소유자 단말로 공개 파라미터를 전송하는 것을 특징으로 하는 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템.
According to claim 1,
The property management server is,
Register user attribute information based on the anonymous ID value granted from the tracking authority server from the user, generate public parameters and master keys, generate a user secret key with the registered user attribute information, and send data to the user terminal. A patient medical data sharing system in a medical cloud environment that provides public parameters and user secret keys and transmits public parameters to the data owner terminal of the data owner who registered the data.
제 1 항에 있어서,
상기 의료 클라우드 서버는,
데이터 소유자 단말로부터 암호문을 수신받아 저장하여 암호문을 등록하고, 데이터 사용자 단말로부터 토큰을 수신받아 암호문을 부분 복호화하며, 부분 복호화된 암호문을 데이터 사용자 단말로 전송하여 최종 복호화 수행 후 획득한 메시지를 검증하여 데이터에 대한 무결성을 보증하는 것을 특징으로 하는 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템.
According to claim 1,
The medical cloud server is,
Receive and store the ciphertext from the data owner terminal, register the ciphertext, receive a token from the data user terminal, partially decrypt the ciphertext, send the partially decrypted ciphertext to the data user terminal, and verify the message obtained after performing the final decryption. A patient's medical data sharing system in a medical cloud environment characterized by ensuring the integrity of the data.
제 3 항에 있어서,
상기 의료 클라우드 서버는,
암호문을 저장하고 관리하는 스토리지 서버; 및
사용자의 접근을 관리하고, 부분복호화를 수행하는 아웃소싱 서버;를 포함하는 것을 특징으로 하는 의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템.
According to claim 3,
The medical cloud server is,
A storage server that stores and manages ciphertext; and
A system for sharing patient medical data in a medical cloud environment, comprising an outsourced server that manages user access and performs partial decryption.
의료 클라우드 환경에서 환자의 의료 데이터 공유 시스템에서의 데이터 공유 방법에 있어서,
추적 권한 서버가, 의료 클라우드를 사용할 사용자로부터 사용자 등록을 받고, 클라우드를 사용하는 사용자에게 익명의 ID 값을 부여하는 단계;
속성 관리 서버가, 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 단계; 및
의료 클라우드 서버가, 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 단계;를 포함하는 데이터 공유 방법.
In a data sharing method in a patient's medical data sharing system in a medical cloud environment,
A tracking authority server receiving user registration from a user who will use the medical cloud and granting an anonymous ID value to the user who will use the cloud;
A property management server managing the properties of a user using the medical cloud and generating a secret key corresponding to the properties; and
A data sharing method comprising: a medical cloud server storing and managing data, performing user access control and partial decryption of ciphertext.
제 5 항에 있어서,
상기 속성 관리 서버가, 의료 클라우드를 사용하는 사용자의 속성을 관리하고, 속성에 대응되는 비밀키를 생성하는 단계는,
사용자로부터 상기 추적 권한 서버로부터 부여 받은 익명의 ID 값에 기반한 사용자 속성정보를 등록받는 단계;
공개 파라미터 및 마스터키를 생성하며, 상기 등록된 사용자 속성 정보를 가지고 사용자 비밀키를 생성하는 단계; 및
데이터 사용자 단말로 공개 파라미터 및 사용자 비밀키를 제공하며, 데이터를 등록한 데이터 소유자의 데이터 소유자 단말로 공개 파라미터를 전송하는 단계;를 포함하는 것을 특징으로 하는 데이터 공유 방법.
According to claim 5,
The step of the attribute management server managing the attributes of a user using the medical cloud and generating a secret key corresponding to the attribute,
registering user attribute information based on an anonymous ID value granted from the tracking authority server from the user;
generating public parameters and a master key, and generating a user secret key using the registered user attribute information; and
A data sharing method comprising: providing public parameters and a user secret key to a data user terminal, and transmitting the public parameters to the data owner terminal of the data owner who registered the data.
제 5 항에 있어서,
상기 의료 클라우드 서버가, 데이터를 저장 관리하고, 사용자 접근제어 및 암호문의 부분 복호화를 수행하는 단계는,
데이터 소유자 단말로부터 암호문을 수신받아 저장하여 암호문을 등록하는 단계;
데이터 사용자 단말로부터 토큰을 수신받아 암호문을 부분 복호화하는 단계; 및
부분 복호화된 암호문을 데이터 사용자 단말로 전송하여 최종 복호화 수행 후 획득한 메시지를 검증하는 단계;를 포함하는 것을 특징으로 하는 데이터 공유 방법.
According to claim 5,
The step of the medical cloud server storing and managing data, performing user access control and partial decryption of ciphertext,
Receiving the ciphertext from the data owner terminal, storing the ciphertext, and registering the ciphertext;
Receiving a token from a data user terminal and partially decrypting the ciphertext; and
A data sharing method comprising: transmitting the partially decrypted ciphertext to a data user terminal and verifying the message obtained after performing final decryption.
제 5 항 내지 제 7 항 중 어느 한 항에 따른 데이터 공유 방법을 수행하기 위한, 컴퓨터 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
A computer-readable recording medium on which a computer program is recorded, for performing the data sharing method according to any one of claims 5 to 7.
KR1020210029563A 2021-03-05 2021-03-05 System and method for sharing patient's medical data in medical cloud environment KR102605087B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210029563A KR102605087B1 (en) 2021-03-05 2021-03-05 System and method for sharing patient's medical data in medical cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210029563A KR102605087B1 (en) 2021-03-05 2021-03-05 System and method for sharing patient's medical data in medical cloud environment

Publications (2)

Publication Number Publication Date
KR20220125567A KR20220125567A (en) 2022-09-14
KR102605087B1 true KR102605087B1 (en) 2023-11-23

Family

ID=83279150

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210029563A KR102605087B1 (en) 2021-03-05 2021-03-05 System and method for sharing patient's medical data in medical cloud environment

Country Status (1)

Country Link
KR (1) KR102605087B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116956355B (en) * 2023-09-21 2023-12-19 中日友好医院(中日友好临床医学研究所) Cloud security medical user personal information encryption protection system and encryption protection method thereof
CN117319084B (en) * 2023-11-28 2024-01-30 遂宁市中心医院 Medical examination data sharing method and system based on cloud authentication

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101347124B1 (en) 2012-09-18 2014-01-03 주식회사 드림시큐리티 Method of managing electronic prescription based on one-time public information and apparatus using the same
KR101464727B1 (en) 2013-10-15 2014-11-27 순천향대학교 산학협력단 Cloud Data Access Control System and Method using CP-ABE
KR101701304B1 (en) 2015-09-30 2017-02-02 고려대학교 산학협력단 Method and system for managing medical data using attribute-based encryption in cloud environment
KR101765081B1 (en) 2017-02-08 2017-08-09 에스지에이솔루션즈 주식회사 A secure attribute-based authentication method for cloud computing

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100690452B1 (en) * 2004-07-29 2007-03-09 연세대학교 산학협력단 Secure HIS Access Control System with Web-based distributed component technology
KR101443357B1 (en) 2012-09-28 2014-09-29 주식회사 유비샘 System for providing the health of a patient using cloud computing
KR101812311B1 (en) * 2016-03-16 2017-12-26 순천향대학교 산학협력단 User terminal and data sharing method of user terminal based on attributed re-encryption
KR101982237B1 (en) * 2017-03-06 2019-05-24 고려대학교 산학협력단 Method and system for data sharing using attribute-based encryption in cloud computing
KR102050887B1 (en) * 2017-11-29 2019-12-02 고려대학교 산학협력단 METHOD AND SYSTEM FOR DATA SHARING FOR INTERNET OF THINGS(IoT) MANAGEMENT IN CLOUD COMPUTING
KR102170892B1 (en) * 2018-08-07 2020-10-28 주식회사 유비케어 Blockchain-based phr platform server operating method and phr platform server operating system
KR20200112055A (en) * 2019-03-20 2020-10-05 주식회사 케이티 Method for sharing data in block chain environment and apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101347124B1 (en) 2012-09-18 2014-01-03 주식회사 드림시큐리티 Method of managing electronic prescription based on one-time public information and apparatus using the same
KR101464727B1 (en) 2013-10-15 2014-11-27 순천향대학교 산학협력단 Cloud Data Access Control System and Method using CP-ABE
KR101701304B1 (en) 2015-09-30 2017-02-02 고려대학교 산학협력단 Method and system for managing medical data using attribute-based encryption in cloud environment
KR101765081B1 (en) 2017-02-08 2017-08-09 에스지에이솔루션즈 주식회사 A secure attribute-based authentication method for cloud computing

Also Published As

Publication number Publication date
KR20220125567A (en) 2022-09-14

Similar Documents

Publication Publication Date Title
Pussewalage et al. Privacy preserving mechanisms for enforcing security and privacy requirements in E-health solutions
US20120260094A1 (en) Digital rights managmenet using attribute-based encryption
JP5897040B2 (en) Secure access to emergency personal health records
Zuo et al. BCAS: A blockchain-based ciphertext-policy attribute-based encryption scheme for cloud data security sharing
KR20190138389A (en) Blockchain for physical identity management using One-time-password
Sharma et al. RSA based encryption approach for preserving confidentiality of big data
Guo et al. A lightweight verifiable outsourced decryption of attribute-based encryption scheme for blockchain-enabled wireless body area network in fog computing
JP2011521584A (en) Encryption based on data item identification for secure access
Baek et al. Preserving patient's anonymity for mobile healthcare system in IoT environment
T. de Oliveira et al. A break-glass protocol based on ciphertext-policy attribute-based encryption to access medical records in the cloud
KR102605087B1 (en) System and method for sharing patient's medical data in medical cloud environment
KR20120041904A (en) Proxy based privilege management method and apparatus for accessing health data in cloud computing environment
John et al. Provably secure data sharing approach for personal health records in cloud storage using session password, data access key, and circular interpolation
Pussewalage et al. An attribute based access control scheme for secure sharing of electronic health records
Olakanmi et al. FEACS: A fog enhanced expressible access control scheme with secure services delegation among carers in E-health systems
Satar et al. Cloud-based secure healthcare framework by using enhanced ciphertext policy attribute-based encryption scheme
Liu et al. A reliable authentication scheme of personal health records in cloud computing
Garcia et al. Blockchain-aided and privacy-preserving data governance in multi-stakeholder applications
Zala et al. On the design of secured and reliable dynamic access control scheme of patient e-healthcare records in cloud environment
Xu et al. A decentralized pseudonym scheme for cloud-based eHealth systems
Abouakil et al. Data models for the pseudonymization of DICOM data
De Oliveira et al. Red Alert: break-glass protocol to access encrypted medical records in the cloud
Rezaeibagha et al. Multi-authority security framework for scalable EHR systems
KR20220132318A (en) System and method for sharing patient's medical data in medical cloud environment
Hakim et al. Blockchain for Secure Medical Records Storage and Medical Service Framework using SHA 256–Verifiable Key

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant