WO2022154339A1 - 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법 - Google Patents

클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법 Download PDF

Info

Publication number
WO2022154339A1
WO2022154339A1 PCT/KR2021/020380 KR2021020380W WO2022154339A1 WO 2022154339 A1 WO2022154339 A1 WO 2022154339A1 KR 2021020380 W KR2021020380 W KR 2021020380W WO 2022154339 A1 WO2022154339 A1 WO 2022154339A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
traceability
server
user
output agent
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/KR2021/020380
Other languages
English (en)
French (fr)
Inventor
강민혁
권태경
조은상
함초롬
박민경
이현민
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SNU R&DB Foundation
Original Assignee
Seoul National University R&DB Foundation
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 Seoul National University R&DB Foundation filed Critical Seoul National University R&DB Foundation
Priority claimed from KR1020210194534A external-priority patent/KR20220102561A/ko
Publication of WO2022154339A1 publication Critical patent/WO2022154339A1/ko
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Definitions

  • the present invention relates to an apparatus and method for ensuring traceability for data access and use, and to an apparatus and method for ensuring traceability for deletion of verifiable data in a cloud.
  • Trusted Execution Environment is protected at the hardware level (e.g. CPU) so that programs running in an untrusted environment can be safely executed without external influences such as the Operating System (OS). execution environment.
  • OS Operating System
  • Google Trace is a system that tracks the spread of a user's request throughout the application and collects performance information such as delay time.
  • Google Trace does not collect information necessary for complete deletion of user data in the cloud as it aims to collect information necessary for problem situation and application performance analysis.
  • Provable traceability is a system that tracks information about data modification. Since it does not collect read information, there is a limit that some of the applications that used data may be missed when a request to completely delete user data comes.
  • An object of the present invention is to track information on access and use of data stored and shared in the cloud so that the data can be deleted when a user requests to delete the data later, a traceability guarantee device that collects related tracking information and to provide a method.
  • the traceability guarantee apparatus for deletion of verifiable data in the cloud includes a broker that delivers information about data access between a user terminal and a data input/output agent (Data I/O Agent); Information on data access received from the data input/output agent that performs data access in response to a data access request generated by an application, a storage key server that manages the encryption key for data access, and the data input/output agent It can include a trace server that stores trace logs including .
  • data access using an encryption key obtained from a storage key server in response to a data access request generated in an application by a data input/output agent performing, by the trace server, collecting information on the data access in a trace log, in response to a data deletion request received from a user terminal, by the trace server, to the data input/output agent to delete data and requesting, by the trace server, deletion of an encryption key associated with the data requested to be deleted from the storage key server in response to the requesting step and the data deletion request.
  • the corresponding data can be completely deleted at the time the user wants to delete it.
  • FIG. 1 is a diagram for exemplarily explaining a schematic operating environment of a traceability guarantee system for deleting verifiable data in a cloud according to an embodiment.
  • FIG. 2 is a block diagram of an apparatus for ensuring traceability according to an embodiment.
  • FIG. 3 is a block diagram of a traceability guarantee system according to an embodiment.
  • 4A is a diagram illustrating a user data transfer process flow according to an embodiment.
  • 4B is a sequence diagram of a process of transferring user data from a client to a server according to an embodiment
  • 5A is a diagram illustrating a message passing process flow from a server to a client according to an embodiment.
  • 5B is a sequence diagram of a message passing process from a server to a client according to an embodiment
  • 6A is a diagram illustrating a process flow of storing user data from a server to a file system according to an embodiment.
  • 6B is a sequence diagram of a process sequence diagram for storing user data from a server to a file system according to an embodiment.
  • FIG. 7A is a diagram illustrating a user data deletion process flow according to an embodiment.
  • 7B is a sequence diagram of a user data deletion process according to an embodiment.
  • FIG. 8 is a flowchart of a method for ensuring traceability according to an embodiment.
  • FIG. 1 is a diagram for exemplarily explaining a schematic operating environment of a traceability guarantee system for deleting verifiable data in a cloud according to an embodiment.
  • the present invention transmits data in the next-generation cloud (cloud, edge, terminal) based on a Trusted Execution Environment (TEE) throughout the entire cycle (data generation, collection, storage, movement, processing, analysis, disposal) inside/outside the system In order to safely preserve data from the influence of
  • TEE Trusted Execution Environment
  • the traceability guarantee system includes the traceability guarantee apparatus 100 and the user terminal 200 .
  • the traceability guarantee apparatus 100 tracks access to and use of data stored in the cloud, and collects tracking information for performing the data deletion request from the data owner later.
  • the target environment is, for example, a cloud environment consisting of an edge cloud and a central cloud, but is not limited thereto.
  • the apparatus 100 for ensuring traceability tracks access to and use of specific data, collects information that enables complete data deletion when a request for deletion of certain data is received in the future, and requests deletion When this happens, data is completely erased. That is, when a read/write operation for specific data occurs, the traceability guarantee apparatus 100 tracks access and use of the corresponding data and collects information that can be utilized for data deletion later.
  • the traceability guarantee apparatus 100 may include at least one cloud node of a cloud infrastructure.
  • the cloud infrastructure executes an application server that provides various application services in a cloud node, and a client for the corresponding application service is executed in the user terminal 200 .
  • the traceability guarantee apparatus 100 provides reliable tracking of access, including reading and writing, of user data created, updated, and deleted in the course of an application service.
  • FIG. 2 is a block diagram of an apparatus for ensuring traceability according to an embodiment.
  • a general user (User/Data Owner), an IoT Service Provider, and a Trace Service Provider exist in a service environment in which the traceability guarantee system according to the embodiment operates.
  • the IoT service is an example, and the service environment in which the traceability guarantee system operates includes various other application services.
  • Traceability service refers to a service that provides a function to track access to data so that when a user using an application service, for example, an IoT service, wants to delete his/her data from the service and cloud, it can be completely deleted and verified. do.
  • an application service for example, an IoT service
  • Traceability service provider consists of four modules: Broker (MQTT Broke, 110), Storage Key Server (Storage Key Server, 120), Trace Server (Trace Server, 130) and Data I/O Agent (Data I/O Agent, 140).
  • Broker MQTT Broke, 110
  • Storage Key Server Storage Key Server
  • Trace Server Trace Server, 130
  • Data I/O Agent Data I/O Agent
  • the broker 110 serves to transfer the user's data to the data input/output agent 140 .
  • the data input/output agent 140 tracks data access (file input/output, network communication, etc.) of programs executed in the cloud.
  • the storage key server 120 creates, manages, and distributes a key used to encrypt (write) or decrypt (read) user data when writing or reading user data to a file system.
  • the trace server 130 stores the tracked data access information.
  • the broker MQTT Broke, 110
  • the storage key server Storage Key Server, 120
  • the trace server Trace Server, 130
  • the data I/O agent Data I/O Agent, 140
  • TEE trusted Execution Environment
  • the apparatus 100 for ensuring traceability according to the embodiment operates in a secure execution environment protected based on a CPU by a Trusted Execution Environment (TEE). This ensures the integrity of the running application and the confidentiality of the internal data.
  • TEE Trusted Execution Environment
  • the apparatus 100 for ensuring traceability according to the embodiment ensures the integrity of each module by driving all modules operating in the cloud in a trusted execution environment, and guarantees the confidentiality of user data processed in the module.
  • the apparatus 100 for ensuring traceability provides a SandBox Trusted Execution Environment (SandboxTEE). That is, the apparatus 100 for ensuring traceability according to the embodiment builds a sandbox in a CPU-based trusted execution environment to ensure the integrity and confidentiality of the sandbox itself, and executes a general application within the sandbox to ensure that the sandbox is applied. Enables monitoring of program execution.
  • SandboxTEE SandBox Trusted Execution Environment
  • the apparatus 100 for ensuring traceability safely processes a process of an application program processing user data.
  • FIG. 3 is a block diagram of a traceability guarantee system according to an embodiment.
  • the traceability guarantee apparatus 100 records tracking information on access and use of data in the cloud, tracks data usage information necessary to perform a user's data deletion request later, and provides the following functions .
  • Key generation, management, and deletion of user data encryption are performed through the storage key server 120 running in a trusted execution environment. At this time, all user data is encrypted when transmitted to the outside of the application, and deletion of user data is performed through deletion of a key used to encrypt data. By deleting the key for encrypted data, it is possible to provide complete data deletion regardless of an external (file system) data deletion method.
  • the data input/output agent 140 tracks user data access information and transmits it to the trace server 130 , and the trace server 130 stores it in an internal database.
  • All service applications running in the cloud track the objects by the sandbox trusted execution environment (SandboxTEE), and when a deletion request comes later, the encryption key deletion command is transmitted to the objects so that complete key deletion can be performed. .
  • SandboxTEE sandbox trusted execution environment
  • the traceability guarantee system tracks data access and usage information for deletion of verifiable data in the cloud.
  • the target cloud may be composed of an edge cloud and a central cloud.
  • a user owns an IoT device (IoT (Sensor) Device) and a terminal (Data Owner Device) receiving an IoT service. That is, it is assumed that the user has an IoT device and a client device that receives an IoT service. In this case, the user is the real owner of the data.
  • IoT Sesor
  • Data Owner Device a terminal
  • IoT service providers provide IoT services in the cloud, and use traceability services to provide users with the ability to delete data.
  • the traceability service provider provides a function to completely delete user data and collects information for this purpose.
  • the tracked information is access information for user data, and the data input/output agent 140 module monitors file input/output and network communication.
  • all user data is encrypted and then the encryption key is deleted to achieve complete deletion of user data.
  • encryption key generation, management, and distribution are performed through the storage key server 120 module.
  • the trace information collected by the trace server 130 is stored in the trace information storage module.
  • the module of the traceability guarantee device 100 that is, the broker 110 for providing the traceability service, the storage key server 120, the trace server 130, and the data input/output agent 140 operate and have.
  • an IoT Security Server (AP_S1) for providing an IoT service
  • an IoT Service Server application (AP_S2) operate.
  • all modules in the cloud may be driven in the Trusted Execution Environment (TEE).
  • TEE Trusted Execution Environment
  • the traceability guarantee apparatus 100 is a broker 110 that delivers information on data access between the user terminal 200 and the data input/output agent 140, data that performs data access in response to a data access request generated by an application It includes an input/output agent 140, a storage key server 120 that manages encryption keys for data access, and a trace server 130 that stores a trace log including information on data access received from the data input/output agent.
  • the broker 110 is a module for transferring messages between the user terminal 200 and the data input/output agent 140 .
  • the user data generated by the user terminal 200 is delivered to the data input/output agent 140 , or a message created by the data input/output agent 140 is delivered to the user terminal 200 .
  • the data input/output agent 140 is a module that actually performs data access (file input/output, network communication) occurring in an application (eg, a cloud application). One data input/output agent 140 is generated for each application instance.
  • the application may access all data through the data input/output agent 140 .
  • the data input/output agent 140 stores the data access information of the application to the trace server 140 so that it can be utilized for data access tracking and data complete deletion later.
  • data is encrypted when the user data goes out of the application, and is decrypted when the user data is read into the application from the outside.
  • the data encryption/decryption key is received from the storage key server 120 .
  • the storage key server 120 is a module for generating, managing, and distributing a key used by the data input/output agent 140 to encrypt or decrypt user data.
  • the data input/output agent 140 encrypts data associated with data access when transmitting user data to the outside by data access, and data access-related when receiving user data from the outside by data access Data can be decrypted.
  • the data input/output agent 140 Before the application reads and writes data of a specific user, the data input/output agent 140 requests generation of a corresponding key, and the storage key server 120 generates a key upon receiving such a request.
  • the storage key server 120 generates an encryption key in response to the encryption key request from the data input/output agent 140 and provides it to the data input/output agent 140 .
  • the data input/output agent 140 When an application reads and writes user data, the data input/output agent 140 requests a key corresponding thereto, and when the storage key server 120 receives such a request, the key is delivered.
  • the trace server 130 is a module for storing a trace log containing information on data access of an application delivered from the data input/output agent 140 . Trace logs are stored in an internal database.
  • the trace server 130 requests the storage key server 120 to delete the encryption key mapped to devices owned by the user in response to the user's data deletion request. In one example, in response to the data deletion request, the trace server 130 deletes the encryption key mapped to the devices owned by the user to the data input/output agent that accessed the user's data requested to be deleted based on the trace log. request.
  • the ECG Anomaly Detection Service delivers the user data collected from the sensor device to the ECG Anomaly Alarm Server (hereinafter referred to as AP_S_ECG) operating in the cloud, and the ECG Anonmaly Alarm Client (hereinafter, AP_C_ECG) receives the alarm provided by the service.
  • AP_S_ECG ECG Anomaly Alarm Server
  • AP_C_ECG ECG Anonmaly Alarm Client
  • 4A is a diagram illustrating a user data transfer process flow according to an embodiment. That is, the process flow of transferring data from the user terminal 200 to the IoT service server AP_S2 is shown.
  • the user terminal 200 transmits user data using, for example, the MQTT protocol (R_S1).
  • the broker (MQTT Broker, 110) delivers it to the data input/output agent 140 (R_S2), and the data input/output agent 140 delivers it to the actual IoT service application (AP_S2), in the example, the ECG Anomaly Alarm Server (AP_S_ECG). (R_S3).
  • 4B is a sequence diagram of a process of transferring user data from a client to a server according to an embodiment; 4B is a sequence diagram of the process flow of FIG. 4A.
  • step (R_S_REG) the data input/output agent 140 registers to subscribe to the data associated with the ECG signal to the broker 110 .
  • step (R_S0) the ECG Sensor Device Application (AP_D_ECG) running in the terminal 200 detects the ECG signal.
  • API_D_ECG ECG Sensor Device Application
  • step R_S1 the ECG Sensor Device Application (AP_D_ECG) of the user terminal 200 transmits user data, ie, ECG signal data, to the broker 110 using, for example, the MQTT protocol.
  • user data ie, ECG signal data
  • step (R_S2) the broker 110 transfers the received ECG signal data to the data input/output agent 140 .
  • step R_S3 the data input/output agent 140 transmits the received ECG signal data to the actual IoT Service application (AP_S2), in the example, the ECG Anomaly Alarm Server (AP_S_ECG).
  • API_S2 the ECG Anomaly Alarm Server
  • 5A is a diagram illustrating a message passing process flow from a server to a client according to an embodiment.
  • 5A is a flow when a message is delivered from an IoT service server (AP_S2), for example, ECG Anomaly Alarm Server (AP_S_ECG) to a client (AP_C) running in the user terminal 200, for example, ECG Anomaly Alarm Client (AP_C_ECG).
  • API_S2 IoT service server
  • API_C ECG Anomaly Alarm Server
  • the IoT service server (AP_S2) transmits a message (MSG_S1) using, for example, the MQTT protocol, and the data input/output agent 140 sends it to the broker 110. is transmitted (MSG_S2), and finally delivered to the user client (MSG_S3).
  • 5B is a sequence diagram of a message passing process from a server to a client according to an embodiment; 5B is a sequence diagram of the process flow of FIG. 5A.
  • step (MSG_REG) the ECG Anomaly Alarm Client (AP_C_ECG) registers with the broker 110 to subscribe to the ECG Anomaly message.
  • API_C_ECG ECG Anomaly Alarm Client
  • step (MSG_S0) the ECG Anomaly Alarm Server (AP_S_ECG) detects the ECG Anomaly signal.
  • step (MSG_S1) the ECG Anomaly Alarm Server (AP_S_ECG) delivers the ECG Anomaly message to the data input/output agent 140 .
  • step (MSG_S2) the data input/output agent 140 delivers the received ECG Anomaly message to the broker 110 .
  • step (MSG_S3) the broker 110 transmits an ECG Anomaly message to the ECG Anomaly Alarm Client (AP_C_ECG).
  • 6A is a diagram illustrating a process flow of storing user data from a server to a file system according to an embodiment. 6A shows a flow when storing user data from the IoT service server AP_S2 to the file system FS.
  • the ECG Anomaly Alarm Server (AP_S_ECG) stores user data (W_S1)
  • the data input/output agent 140 encrypts the user data and stores it in the file system (FS) (W_S4) ).
  • the trace information (trace log) containing information that user data is recorded in the file system is transmitted to the trace server 130 (W_S2), and the trace server 130 stores it in a database (Trace DB) that stores the trace log.
  • Do W_S3.
  • 6B is a sequence diagram of a process sequence diagram for storing user data from a server to a file system according to an embodiment. 6B is a sequence diagram of the process flow of FIG. 6A.
  • step (W_S0) ECG Anomaly Alarm Server (AP_S_ECG) executes file input/output (File IO) for user data.
  • API_S_ECG ECG Anomaly Alarm Server
  • step (W_S1) the data input/output agent 140 intercepts the above-described file input/output, requests the storage key server 120 for an encryption key (GET Key req.), and responds to this (GET Key res.) receive
  • step W_S2 the data input/output agent 140 requests the trace server 130 to store the trace log (WRITE_TRACE_LOG req.) and receives a response (WRITE_TRACE_LOG res.).
  • step W_S3 the trace server 130 stores a trace log for file input/output.
  • step W_S4 the data input/output agent 140 stores user data in a file system.
  • 7A is a diagram illustrating a user data deletion process flow according to an embodiment. 7A shows the flow when deleting user data.
  • the ECG Anomaly Alarm Client sends a delete request (D_S1)
  • the trace server 130 1) deletes the user data stored in the file system (D_S3), 2) the storage key server 120 ), request deletion of the keys mapped to the user's device (D_S4), 3) search the trace log, and request the deletion of the corresponding key from the data input/output agent 140 holding the key mapped to the user's device (D_S2).
  • the requested storage key server 120 and the data input/output agent 120 delete the corresponding keys.
  • FIG. 7B is a sequence diagram of a user data deletion process according to an embodiment.
  • Fig. 7B is a sequence diagram of the process flow of Fig. 7A;
  • step D_S0 the ECG Anomaly Alarm Client (AP_C_ECG) decides to delete user data, and in step D_S1 requests the trace server 130 to delete the data.
  • API_C_ECG ECG Anomaly Alarm Client
  • step D_S2 the trace server 130 searches the trace log and requests the data input/output agent 140 having the key mapped to the user device to delete the corresponding key.
  • step D_S4 the trace server 130 requests the storage key server 120 to delete keys mapped to the stored user's device.
  • FIG. 8 is a flowchart of a method for ensuring traceability according to an embodiment.
  • the traceability guarantee method for certifiable data deletion in the cloud uses the encryption key obtained from the storage key server 120 in response to the data access request generated by the application by the data input/output agent 140 .
  • a step of performing data access (S1) a step of collecting information about data access in a trace log by the trace server 130 (S2), in response to a data deletion request received from a user terminal, the trace server 130 ), in response to the step (S3) of requesting the data input/output agent 140 to delete data and the data deletion request, linked to the data deleted by the trace server 130 to the storage key server 120 and requesting deletion of the encryption key (S4).
  • Step S1 is a step of encrypting data associated with data access by the data input/output agent 140 when transmitting user data to the outside by data access, and data when receiving user data from the outside by data access and decrypting the data associated with the access.
  • Step S1 further includes, by the storage key server, generating an encryption key in response to the encryption key request from the data input/output agent 140 and providing the encryption key to the data input/output agent 140 .
  • Step S3 includes a step of requesting deletion of the encryption key mapped to devices owned by the user to the data input/output agent 140 that has accessed the user's data requested to be deleted based on the trace log.
  • the traceability guarantee technology provides information on data use (time stamp, application id, data id, I/O type, length, offset, etc.).
  • deleted data can be recovered based on manipulation of the file system or special equipment.
  • the encryption key is managed in the metadata server, and data is deleted based on the key.
  • data stored in the cloud storage is performed based on key deletion, and additional work is required to delete data existing in an application that has already read the data. Therefore, in this technique, the user can completely delete all his/her own data at a desired point in time by recording the tracking information necessary to delete the program data.
  • This technology can be utilized to support the protection and complete deletion of user data in an environment where cloud and edge computing are applied. It can be applied to cloud and edge computing services, especially data dam business, and platform provision business based on data sharing, such as national digital transformation business, to present security.
  • this technology can be utilized to ensure the stability of data shared in a cloud-based data sharing platform. Even if it is not in the cloud, it can be used if it is a distributed data sharing platform.
  • the method according to an embodiment of the present invention described above can be implemented as computer-readable code in a medium in which a program is recorded.
  • the computer-readable non-transitory recording medium includes all types of recording devices in which data readable by a computer system is stored. Examples of computer-readable non-transitory recording media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage devices, etc.
  • the present invention was carried out as part of the SW computing industry source technology development (R&D, informatization) project (task number: 1711126303, task name: development of traceability guarantee technology for cloud edge data stability throughout the entire life cycle) supported by the Ministry of Science and ICT derived from one study.
  • R&D SW computing industry source technology development

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법이 제공된다. 이로써, 클라우드 내 저장·공유되는 데이터에 대한 접근 및 사용에 대한 정보를 추적하여 사용자가 삭제를 원하는 시점에 해당 데이터를 완전히 삭제할 수 있다.

Description

클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법
본 발명은 데이터 접근 및 사용에 대한 추적성 보장 장치 및 방법에 관한 것으로, 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법에 관한 것이다.
이하에서 기술되는 내용은 본 발명의 실시예와 관련되는 배경 정보를 제공할 목적으로 기재된 것일 뿐이고, 기술되는 내용들이 당연하게 종래기술을 구성하는 것은 아니다.
신뢰실행환경(Trusted Execution Environment; TEE)은 신뢰할 수 없는 환경에서 실행되는 프로그램이 운영 체제(Operating System; OS)등의 외부의 영향을 받지 않고 안전하게 실행될 수 있도록 하드웨어 레벨에서 보호되는 (e.g, CPU) 실행환경을 뜻한다.
클라우드 추적 기술 중 Google Trace는 사용자의 요청이 어플리케이션 전체로 확산되는 과정을 추적하고, 이에 대한 지연시간 등 성능 정보를 수집하는 시스템이다.
Google Trace는 문제상황 및 어플리케이션 성능 분석에 필요한 정보를 수집하는 것을 목표로 하여 클라우드 내 사용자 데이터 완전삭제에 필요한 정보를 수집하지 않는다.
Provable traceability는 데이터 수정에 대한 정보를 추적하는 시스템으로, 읽기에 대한 정보를 수집하지 않아 사용자 데이터 완전삭제요청이 왔을 때 데이터를 사용한 어플리케이션들 중 일부를 놓칠 수 있는 한계가 있다.
한편, 전술한 선행기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 발명의 일 과제는 클라우드 내 저장·공유되는 데이터에 대한 접근 및 사용에 대한 정보를 추적하여 추후 사용자의 데이터 삭제 요청이 왔을 때 해당 데이터를 삭제할 수 있도록, 관련 추적 정보를 수집하는 추적성 보장 장치 및 방법을 제공하는 것이다.
본 발명의 목적은 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.
본 발명의 일 실시예에 따른 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치는, 사용자 단말과 데이터 입출력 에이전트(Data I/O Agent) 사이에서 데이터 접근에 대한 정보를 전달하는 브로커(Broker), 어플리케이션에서 발생한 데이터 접근 요청에 응답하여 데이터 접근을 수행하는 상기 데이터 입출력 에이전트, 상기 데이터 접근에 대한 암호화 키를 관리하는 스토리지 키 서버(Storage Key Server) 및 상기 데이터 입출력 에이전트로부터 수신한 데이터 접근에 대한 정보를 포함한 추적 로그를 저장하는 트레이스 서버(Trace Server)를 포함할 수 있다.
본 발명의 일 실시예에 따른 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 방법은, 데이터 입출력 에이전트에 의해, 어플리케이션에서 발생한 데이터 접근 요청에 응답하여 스토리지 키 서버로부터 획득한 암호화 키를 이용하여 데이터 접근을 수행하는 단계, 트레이스 서버에 의해, 상기 데이터 접근에 대한 정보를 추적 로그에 수집하는 단계, 사용자 단말로부터 수신한 데이터 삭제 요청에 응답하여, 상기 트레이스 서버에 의해, 상기 데이터 입출력 에이전트에게 데이터 삭제를 요청하는 단계 및 상기 데이터 삭제 요청에 응답하여, 상기 트레이스 서버에 의해, 상기 스토리지 키 서버에게 삭제 요청된 데이터와 연계된 암호화 키의 삭제를 요청하는 단계를 포함할 수 있다.
전술한 것 외의 다른 측면, 특징, 및 이점이 이하의 도면, 청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.
실시예에 의하면, 클라우드 내 저장·공유되는 데이터에 대한 접근 및 사용에 대한 정보를 추적하여 사용자가 삭제를 원하는 시점에 해당 데이터를 완전히 삭제할 수 있다.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1은 실시예에 따른 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 시스템의 개략적인 동작 환경을 예시적으로 설명하기 위한 도면이다.
도 2는 실시예에 따른 추적성 보장 장치의 블록도이다.
도 3은 실시예에 따른 추적성 보장 시스템의 블록도이다.
도 4a는 실시예에 따른 사용자 데이터 전달 프로세스 흐름을 나타내는 도면이다.
도 4b는 실시예에 따른 클라이언트에서 서버로 사용자 데이터 전달 프로세스의 시퀀스도이다.
도 5a는 실시예에 따른 서버에서 클라이언트로 메시지 전달 프로세스 흐름을 나타내는 도면이다.
도 5b는 실시예에 따른 서버에서 클라이언트로 메시지 전달 프로세스 시퀀스도이다.
도 6a는 실시예에 따른 서버에서 파일 시스템으로 사용자 데이터 저장 프로세스 흐름을 나타내는 도면이다.
도 6b는 실시예에 따른 서버에서 파일 시스템으로 사용자 데이터 저장 프로세스 시퀀스도이다.
도 7a는 실시예에 따른 사용자 데이터 삭제 프로세스 흐름을 나타내는 도면이다.
도 7b는 실시예에 따른 사용자 데이터 삭제 프로세스 시퀀스도이다.
도 8는 실시예에 따른 추적성 보장 방법의 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 여기에서 설명하는 실시 예들에 한정되지 않는다. 이하 실시 예에서는 본 발명을 명확하게 설명하기 위해서 설명과 직접적인 관계가 없는 부분을 생략하지만, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 생략된 구성이 불필요함을 의미하는 것은 아니다. 아울러, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조번호를 사용한다.
이하의 설명에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 되며, 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 또한, 이하의 설명에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하의 설명에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 실시예에 따른 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 시스템의 개략적인 동작 환경을 예시적으로 설명하기 위한 도면이다.
본 발명은 신뢰실행환경(Trusted Execution Environment, TEE) 기반 차세대 클라우드(클라우드, 엣지, 단말)에서 데이터를 전주기(데이터 생성, 수집, 저장, 이동, 처리, 분석, 폐기)에 걸쳐 시스템 내부/외부의 영향으로부터 데이터를 안전하게 보존하기 위하여 추적성(클라우드 내 데이터의 이력, 상태, 위치 등 정보 파악)을 보장하는 기술이다.
실시예에 따른 추적성 보장 시스템은 추적성 보장 장치(100) 및 사용자 단말(200)을 포함한다.
추적성 보장 장치(100)는 클라우드 내에 저장된 데이터에 대한 접근 및 사용을 추적하여, 추후 데이터 소유주의 데이터 삭제 요청이 올 경우 이를 수행하기 위한 추적 정보를 수집한다. 대상으로 하는 환경은 예를 들어 엣지 클라우드와 중앙 클라우드로 구성된 클라우드 환경이고, 이에 제한되지 않는다.
실시예에 따른 추적성 보장 장치(100)는 특정 데이터에 대한 접근 및 사용을 추적하여, 추후 어떤 해당 데이터에 대한 삭제 요청이 왔을 때 데이터 완전 삭제를 수행할 수 있도록 하는 정보를 수집하고, 삭제 요청이 오면 데이터 완전 삭제를 실행한다. 즉, 추적성 보장 장치(100)는 특정 데이터에 대한 읽기/쓰기 작업이 발생했을 때 해당 데이터에 대한 접근 및 사용을 추적하고 추후 데이터 삭제에 활용할 수 있는 정보를 수집한다.
추적성 보장 시스템이 클라우드 환경에서 작동하는 경우, 추적성 보장 장치(100)는 클라우드 인프라스트럭처의 적어도 하나의 클라우드 노드를 포함할 수 있다. 클라우드 인프라스트럭처는 클라우드 노드에서 다양한 어플리케이션 서비스를 제공하는 어플리케이션 서버를 실행하고, 해당 어플리케이션 서비스를 위한 클라이언트는 사용자 단말(200)에서 실행된다. 추적성 보장 장치(100)는 어플리케이션 서비스 과정에서 생성, 갱신 및 삭제되는 사용자 데이터에 대한 읽기, 쓰기를 비롯한 접근에 대한 신뢰성 있는 추적을 제공한다.
도 2는 실시예에 따른 추적성 보장 장치의 블록도이다.
실시예에 따른 추적성 보장 시스템이 작동하는 서비스 환경에는 일반 사용자(User/Data Owner), IoT 서비스 제공자(IoT Service Provider), 추적성 서비스 제공자(Trace Service Provider)가 존재한다. 여기서 IoT 서비스는 예시적인 것이고 추적성 보장 시스템이 작동하는 서비스 환경은 그밖에 다양한 어플리케이션 서비스를 포괄한다.
추적성 서비스란 어플리케이션 서비스, 예를 들어 IoT 서비스를 사용하는 사용자가 자신의 데이터를 서비스 및 클라우드에서 삭제하고자 할 때 이를 완전 삭제 및 증명 가능하도록 데이터에 대한 접근을 추적하는 기능을 제공하는 서비스를 의미한다.
추적성 서비스 제공자는 브로커(MQTT Broke, 110), 스토리지 키 서버(Storage Key Server, 120), 트레이스 서버(Trace Server, 130) 및 데이터 입출력 에이전트(Data I/O Agent, 140)로 구성된 네 개의 모듈을 제공한다. 일 예에서, 전술한 각 모듈은 프로세서, 메모리 및 통신부를 포함하는 컴퓨팅 장치에서 작동하는 서버로 구현될 수 있다.
브로커(110)는 사용자의 데이터를 데이터 입출력 에이전트(140)로 전달하는 역할을 한다. 데이터 입출력 에이전트(140)는 클라우드에서 실행되는 프로그램의 데이터 접근(파일 입출력, 네트워크 통신 등)을 추적한다. 스토리지 키 서버(120)는 파일 시스템(File System)으로 사용자 데이터를 쓰거나 읽을 때 사용자 데이터를 암호화(쓰기) 또는 복호화(읽기)하는 데 사용하는 키(Key)를 생성,관리 및 배포하는 역할을 한다. 트레이스 서버(130)는 추적된 데이터 접근 정보를 저장한다.
한편, 브로커(MQTT Broke, 110), 스토리지 키 서버(Storage Key Server, 120), 트레이스 서버(Trace Server, 130) 및 데이터 입출력 에이전트(Data I/O Agent, 140)는 신뢰 실행 환경(Trusted Execution Environment; TEE)에서 작동한다.
실시예에 따른 추적성 보장 장치(100)는 신뢰 실행 환경 (Trusted Execution Environment, TEE)에 의해, CPU를 기반으로 보호되는 안전한 실행 환경에서 동작한다. 이로써, 실행되는 응용의 무결성, 내부 데이터의 기밀성을 보장한다. 실시예에 따른 추적성 보장 장치(100)는 클라우드 내에서 동작하는 모든 모듈을 신뢰 실행 환경에서 구동하여 각 모듈의 무결성을 보장하고, 모듈 내에서 처리되는 사용자 데이터의 기밀성을 보장한다.
실시예에 따른 추적성 보장 장치(100)는 샌드박스 신뢰 실행 환경(SandBox Trusted Execution Environment, SandboxTEE)을 제공한다. 즉, 실시예에 따른 추적성 보장 장치(100)는 CPU 기반 신뢰 실행 환경 내에 샌드박스를 구축하여 샌드박스 자체의 무결성과 기밀성을 보장하고, 샌드박스 내에서 일반 응용 프로그램을 실행하여 샌드박스가 응용 프로그램의 실행을 모니터링 할 수 있도록 한다.
이와 같은 2단계 검증을 통해, 실시예에 따른 추적성 보장 장치(100)는 응용 프로그램이 사용자 데이터를 처리하는 과정을 안전하게 처리한다.
도 3은 실시예에 따른 추적성 보장 시스템의 블록도이다.
실시예에 따른 추적성 보장 장치(100)는 클라우드 내 데이터 접근 및 사용에 대한 추적 정보를 기록하여, 추후 사용자의 데이터 삭제 요청을 수행하는데 필요한 데이터 사용 정보를 추적하며, 다음과 같은 기능을 제공한다.
1. 데이터 완전삭제를 위한 암호화 키 관리
사용자 데이터 암호화의 키 생성, 관리, 삭제는 신뢰실행환경에서 구동되는 스토리지 키 서버(120)를 통해 수행된다. 이때, 모든 사용자 데이터는 응용의 외부로 전달될 때 암호화되며, 사용자 데이터의 삭제는 데이터를 암호화하는데 사용된 키의 삭제를 통해 수행한다. 암호화된 데이터에 대한 키를 삭제함으로써 외부(파일 시스템)의 데이터 삭제 방식과 무관하게 데이터의 완전삭제를 제공할 수 있다.
2. 암호화 키 삭제를 위한 데이터 접근 추적
데이터 입출력 에이전트(140)는 사용자 데이터에 접근에 대한 정보를 추적하여 이를 트레이스 서버(130)로 전달하고, 트레이스 서버(130)는 이를 내부 데이터베이스에 저장한다.
클라우드 내에서 구동되는 모든 서비스 응용은 샌드박스 신뢰 실행 환경(SandboxTEE)에 의한 개체를 추적하여, 추후 삭제 요청이 왔을 때 해당 개체들에 암호화 키 삭제 명령을 전달하여 완전한 키 삭제가 수행될 수 있도록 한다.
실시예에 따른 추적성 보장 시스템은 클라우드 내 증명 가능한 데이터 삭제를 위한 데이터 접근 및 사용 정보를 추적한다. 예를 들어, 대상으로 하는 클라우드는 엣지 클라우드와 중앙 클라우드로 구성될 수 있다.
도 3에서 사용자는 IoT 기기(IoT(Sensor) Device)와 IoT 서비스를 제공받는 단말(Data Owner Device)을 소유하고 있다. 즉, 사용자는 IoT 기기와 IoT 서비스를 제공받는 클라이언트 기기를 보유하고 있음을 가정한다. 이때 사용자는 데이터의 실제 소유주이다
IoT 서비스 제공자는 클라우드에서 IoT 서비스를 제공하며, 추적성 서비스를 사용하여 사용자에게 데이터 삭제 기능을 제공한다.
추적성 서비스 제공자는 사용자 데이터의 완전삭제 기능을 제공하며 이를 위한 정보를 수집한다. 추적되는 정보는 사용자 데이터에 대한 접근 정보이며, 데이터 입출력 에이전트(140) 모듈로 파일 입출력 및 네트워크 통신을 모니터링한다.
또한, 사용자 데이터를 모두 암호화하고, 이후 암호화 키를 삭제하여 사용자 데이터의 완전 삭제를 달성하는데, 이를 위해 스토리지 키 서버(120) 모듈을 통해 암호화 키 생성, 관리, 배포를 수행한다. 또한, 트레이스 서버(130)에 의해, 수집한 추적 정보를 추적 정보 저장 모듈에 저장한다.
클라우드 인프라스트럭처에는, 추적성 보장 장치(100)의 모듈, 즉, 추적성 서비스 제공을 위한 브로커(110), 스토리지 키 서버(120), 트레이스 서버(130) 및 데이터 입출력 에이전트(140)가 작동하고 있다. 또한, IoT 서비스 제공을 위한 IoT Security Server(AP_S1)와, IoT Service Server 어플리케이션(AP_S2)이 동작한다. 여기서, 클라우드 내의 모든 모듈은 신뢰실행환경(TEE)에서 구동될 수 있다.
추적성 보장 장치(100)의 각 모듈에 대하여 살펴본다.
추적성 보장 장치(100)는 사용자 단말(200)과 데이터 입출력 에이전트(140) 사이에서 데이터 접근에 대한 정보를 전달하는 브로커(110), 어플리케이션에서 발생한 데이터 접근 요청에 응답하여 데이터 접근을 수행하는 데이터 입출력 에이전트(140), 데이터 접근에 대한 암호화 키를 관리하는 스토리지 키 서버(120) 및 데이터 입출력 에이전트로부터 수신한 데이터 접근에 대한 정보를 포함한 추적 로그를 저장하는 트레이스 서버(130)를 포함한다.
브로커(110)는 사용자 단말(200)과 데이터 입출력 에이전트(140) 사이에서 메시지를 전달하는 모듈이다. 사용자 단말(200)에서 생성되는 사용자 데이터를 데이터 입출력 에이전트(140)로 전달하거나, 데이터 입출력 에이전트(140)에서 만든 메시지를 사용자 단말(200)로 전달해 준다.
데이터 입출력 에이전트(140)는 어플리케이션(예를 들어 클라우드 어플리케이션)에서 발생하는 데이터 접근(파일 입출력, 네트워크 통신)을 실제로 수행하는 모듈이다. 데이터 입출력 에이전트(140)는 각 어플리케이션의 인스턴스(instance) 별로 하나씩 생성된다.
어플리케이션은 모든 데이터 접근을 데이터 입출력 에이전트(140)를 통해서 할 수 있다. 이 과정에서, 데이터 입출력 에이전트(140)는 응용의 데이터 접근에 대한 정보를 트레이스 서버(140)로 저장하여 추후 데이터 접근 추적 및 데이터 완전삭제에 활용할 수 있게 한다.
또한, 사용자의 데이터를 보호하기 위해 사용자 데이터가 어플리케이션에서 외부로 빠져나가는 경우 데이터를 암호화하고, 사용자 데이터를 외부에서 어플리케이션으로 읽어 들이는 경우 복호화한다. 데이터 암복호화 키는 스토리지 키 서버(120)에서 전달받는다.
스토리지 키 서버(120)는 데이터 입출력 에이전트(140)가 사용자 데이터를 암호화 또는 복호화하는데 사용하는 키를 생성, 관리, 배포하는 모듈이다.
일 예에서, 데이터 입출력 에이전트(140)는 데이터 접근에 의해 사용자 데이터를 외부로 전송하는 경우 데이터 접근과 연계된 데이터를 암호화하고, 데이터 접근에 의해 사용자 데이터를 외부에서 수신하는 경우 데이터 접근과 연계된 데이터를 복호화할 수 있다.
어플리케이션에서 특정 사용자의 데이터를 읽고 쓰기 전 데이터 입출력 에이전트(140)가 이에 대응하는 키 생성을 요청하며, 스토리지 키 서버(120)는 이와 같은 요청을 받으면 키를 생성한다.
일 예에서, 스토리지 키 서버(120)는 데이터 입출력 에이전트(140)의 암호화 키 요청에 응답하여 암호화 키를 생성하여 데이터 입출력 에이전트(140)에 제공한다.
어플리케이션이 사용자 데이터를 읽고 쓸 때 데이터 입출력 에이전트(140)가 이에 대응하는 키를 요청하며, 스토리지 키 서버(120) 이러한 요청을 받으면 키를 전달한다.
트레이스 서버(130)는 데이터 입출력 에이전트(140)에서 전달해준 어플리케이션의 데이터 접근에 대한 정보를 담은 추적 로그(Trace Log)를 저장하는 모듈이다. 추적 로그는 내부 데이터 베이스에 저장한다.
사용자가 데이터 삭제 요청을 보내면, 1) 파일 시스템에서 데이터를 삭제하고, 2) 스토리지 키 서버(120)에 사용자가 소유한 기기들에 매핑된 키들의 삭제를 요청하고, 3) 추적 로그를 검색하여 사용자 데이터에 접근한 모든 데이터 입출력 에이전트(140)에게 사용자가 소유한 기기들에 매핑된 키의 삭제를 요청한다.
즉, 일 예에서, 트레이스 서버(130)는, 사용자의 데이터 삭제 요청에 응답하여 스토리지 키 서버(120)에 사용자가 소유한 기기들에 매핑된 암호화 키의 삭제를 요청한다. 일 예에서, 트레이스 서버(130)는, 데이터 삭제 요청에 응답하여, 트레이스 로그에 기반하여 삭제 요청된 사용자의 데이터에 접근한 데이터 입출력 에이전트에 사용자가 소유한 기기들에 매핑된 암호화 키의 삭제를 요청한다.
이하에서, 추적성 서비스를 제공하는 클라우드에서 ECG Anomaly Detection Service를 운영할 경우의 예시를 들어 실시예에 따른 추적성 보장 시스템의 동작을 살펴본다.
ECG Anomaly Detection Service는 센서 기기에서 수집된 사용자 데이터를 클라우드에서 동작하는 ECG Anomaly Alarm 서버(이하에서 AP_S_ECG)로 전달하고, 해당 서비스에서 제공하는 알람을 ECG Anonmaly Alarm Client(이하에서 AP_C_ECG)가 전달받는다.
도 4a는 실시예에 따른 사용자 데이터 전달 프로세스 흐름을 나타내는 도면이다. 즉, 사용자 단말(200)에서 IoT 서비스 서버(AP_S2)로 데이터를 전달하는 프로세스 흐름을 보여준다.
사용자 단말(200)는 예를 들어 MQTT 프로토콜을 사용하여 사용자 데이터를 전달한다(R_S1). 브로커(MQTT Broker, 110)는 이를 데이터 입출력 에이전트(140)로 전달하며(R_S2), 데이터 입출력 에이전트(140)는 이를 실제 IoT Service 어플리케이션(AP_S2), 예시에서 ECG Anomaly Alarm Server(AP_S_ECG)로 전달한다(R_S3).
도 4b는 실시예에 따른 클라이언트에서 서버로 사용자 데이터 전달 프로세스의 시퀀스도이다. 도 4b는 도 4a의 프로세스 흐름에 대한 시퀀스도이다.
단계(R_S_REG)에서 데이터 입출력 에이전트(140)는 브로커(110)에게 ECG 신호와 연계된 데이터를 구독(subscribe)하겠다고 등록(register)한다.
단계(R_S0)에서 단말(200)에서 실행 중인 ECG Sensor Device Application(AP_D_ECG)는 ECG 신호를 감지한다.
단계(R_S1)에서 사용자 단말(200)의 ECG Sensor Device Application(AP_D_ECG)는 예를 들어 MQTT 프로토콜을 사용하여 사용자 데이터, 즉 ECG 신호 데이터를 브로커(110)에게 전달한다.
단계(R_S2)에서 브로커(110)는 수신된 ECG 신호 데이터를 데이터 입출력 에이전트(140)로 전달한다.
단계(R_S3)에서 데이터 입출력 에이전트(140)는 전달받은 ECG 신호 데이터를 실제 IoT Service 어플리케이션(AP_S2), 예시에서 ECG Anomaly Alarm Server(AP_S_ECG)로 전달한다.
도 5a는 실시예에 따른 서버에서 클라이언트로 메시지 전달 프로세스 흐름을 나타내는 도면이다. 도 5a는 IoT 서비스 서버(AP_S2), 예를 들어 ECG Anomaly Alarm Server(AP_S_ECG)에서 사용자 단말(200)에서 실행 중인 클라이언트(AP_C), 예를 들어 ECG Anomaly Alarm Client(AP_C_ECG)로 메시지를 전달할 때 플로우를 도시한다.
도 4a를 참조하여 사용자 데이터를 읽을 때와 유사하게, IoT 서비스 서버(AP_S2)는 예를 들어 MQTT 프로토콜을 사용하여 메시지를 전달하며(MSG_S1), 이를 데이터 입출력 에이전트(140)가 브로커(110)로 전달하고(MSG_S2), 최종적으로 사용자 클라이언트로 전달된다(MSG_S3).
도 5b는 실시예에 따른 서버에서 클라이언트로 메시지 전달 프로세스 시퀀스도이다. 도 5b는 도 5a의 프로세스 흐름에 대한 시퀀스도이다.
단계(MSG_REG)에서 ECG Anomaly Alarm Client(AP_C_ECG)는 ECG Anomaly 메시지를 구독하겠다고 브로커(110)에게 등록한다.
단계(MSG_S0)에서 ECG Anomaly Alarm Server(AP_S_ECG)는 ECG Anomaly 신호를 감지한다.
단계(MSG_S1)에서 ECG Anomaly Alarm Server(AP_S_ECG)는 ECG Anomaly 메시지를 데이터 입출력 에이전트(140)에게 전달한다.
단계(MSG_S2)에서 데이터 입출력 에이전트(140)는 수신된 ECG Anomaly 메시지를 브로커(110)로 전달한다.
단계(MSG_S3)에서 브로커(110)는 ECG Anomaly Alarm Client(AP_C_ECG)에게 ECG Anomaly 메시지를 전송한다.
도 6a는 실시예에 따른 서버에서 파일 시스템으로 사용자 데이터 저장 프로세스 흐름을 나타내는 도면이다. 도 6a는 IoT 서비스 서버(AP_S2)에서 파일 시스템(FS)으로 사용자 데이터를 저장할 때 플로우를 도시한다.
IoT 서비스 서버(AP_S2), 예를 들어 ECG Anomaly Alarm Server(AP_S_ECG)가 사용자 데이터를 저장하면(W_S1), 데이터 입출력 에이전트(140)는 해당 사용자 데이터를 암호화하여 파일 시스템(FS)에 저장한다(W_S4). 이때 사용자 데이터가 파일 시스템에 기록되었다는 정보를 담고 있는 추적 정보(트레이스 로그)를 트레이스 서버(130)에게 전송(W_S2)하고 트레이스 서버(130)는 이를 트레이스 로그를 저장하는 데이터베이스(Trace DB)에 저장한다(W_S3).
도 6b는 실시예에 따른 서버에서 파일 시스템으로 사용자 데이터 저장 프로세스 시퀀스도이다. 도 6b는 도 6a의 프로세스 흐름에 대한 시퀀스도이다.
단계(W_S0)에서 ECG Anomaly Alarm Server(AP_S_ECG)는 사용자 데이터에 대한 파일 입출력(File IO)를 실행한다.
단계(W_S1)에서 데이터 입출력 에이전트(140)는 전술한 파일 입출력을 인터셉트(intercept)하고, 스토리지 키 서버(120)에게 암호화 키를 요청(GET Key req.)하여 이에 대한 응답(GET Key res.)을 수신한다.
단계(W_S2)에서 데이터 입출력 에이전트(140)는 트레이스 로그를 저장할 것을 트레이스 서버(130)에게 요청(WRITE_TRACE_LOG req.)하고 이에 대한 응답을 수신(WRITE_TRACE_LOG res.)한다.
단계(W_S3)에서 트레이스 서버(130)는 파일 입출력에 대한 트레이스 로그를 저장한다.
단계(W_S4)에서 데이터 입출력 에이전트(140)는 사용자 데이터를 파일 시스템에 저장한다.
도 7a는 실시예에 따른 사용자 데이터 삭제 프로세스 흐름을 나타내는 도면이다. 도 7a는 사용자 데이터를 삭제할 때 흐름을 보여준다.
사용자 클라이언트, 예를 들어 ECG Anomaly Alarm Client(AP_C_ECG)가 삭제 요청을 보내면(D_S1), 트레이스 서버(130)는 1) 파일 시스템에 저장된 사용자 데이터를 삭제하고(D_S3), 2) 스토리지 키 서버(120)에 저장된 사용자의 기기에 매핑되는 키들의 삭제를 요청하고(D_S4), 3) 추적 로그를 검색하여 사용자 기기에 매핑되는 키를 보유하고 있는 데이터 입출력 에이전트(140)에게 해당 키의 삭제를 요청한다(D_S2). 요청받은 스토리지 키 서버(120)와 데이터 입출력 에이전트(120)는 해당 키들을 삭제한다.
도 7b는 실시예에 따른 사용자 데이터 삭제 프로세스 시퀀스도이다. 도 7b는 도 7a의 프로세스 흐름에 대한 시퀀스도이다.
단계(D_S0)에서 ECG Anomaly Alarm Client(AP_C_ECG)는 사용자 데이터 삭제를 결정하고, 단계(D_S1)에서 트레이스 서버(130)에게 데이터 삭제를 요청한다.
단계(D_S2)에서 트레이스 서버(130)는 추적 로그를 검색하여 사용자 기기에 매핑되는 키를 보유하고 있는 데이터 입출력 에이전트(140)에게 해당 키의 삭제를 요청한다.
단계(D_S4)에서 트레이스 서버(130)는 스토리지 키 서버(120)에게 저장된 사용자의 기기에 매핑되는 키들의 삭제를 요청한다.
도 8은 실시예에 따른 추적성 보장 방법의 흐름도이다.
실시예에 따른 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 방법은, 데이터 입출력 에이전트(140)에 의해, 어플리케이션에서 발생한 데이터 접근 요청에 응답하여 스토리지 키 서버(120)로부터 획득한 암호화 키를 이용하여 데이터 접근을 수행하는 단계(S1), 트레이스 서버(130)에 의해, 데이터 접근에 대한 정보를 추적 로그에 수집하는 단계(S2), 사용자 단말로부터 수신한 데이터 삭제 요청에 응답하여, 트레이스 서버(130)에 의해, 데이터 입출력 에이전트(140)에게 데이터 삭제를 요청하는 단계(S3) 및 데이터 삭제 요청에 응답하여, 트레이스 서버(130)에 의해, 스토리지 키 서버(120)에게 삭제 요청된 데이터와 연계된 암호화 키의 삭제를 요청하는 단계(S4)를 포함한다.
단계(S1)은 데이터 입출력 에이전트(140)에 의해, 데이터 접근에 의해 사용자 데이터를 외부로 전송하는 경우 데이터 접근과 연계된 데이터를 암호화하는 단계 및 데이터 접근에 의해 사용자 데이터를 외부에서 수신하는 경우 데이터 접근과 연계된 데이터를 복호화하는 단계를 포함한다.
단계(S1)은 스토리지 키 서버에 의해, 데이터 입출력 에이전트(140)의 암호화 키 요청에 응답하여 암호화 키를 생성하여 데이터 입출력 에이전트(140)에게 제공하는 단계를 더 포함한다.
단계(S3)은 트레이스 로그에 기반하여 삭제 요청된 사용자의 데이터에 접근한 데이터 입출력 에이전트(140)에 사용자가 소유한 기기들에 매핑된 암호화 키의 삭제를 요청하는 단계를 포함한다.
어플리케이션에 요청이 전파되는 지연시간 등의 성능 지표를 추적하거나, 데이터 쓰기 작업을 수행한 엔티티의 정보를 추적하는 종래의 기술과는 달리 실시예에 따른 추적성 보장 기술은 데이터 사용에 관한 정보 (타임스탬프, 어플리케이션 id, 데이터 id, I/O 타입, length, offset, 등)를 추적한다.
본 기법을 사용하면 데이터를 사용하고 있는 어플리케이션들을 명확히 추적할 수 있고, 추후 사용자의 요청이 왔을 때 클라우드 내 데이터를 완전 삭제 가능하다.
일반적인 데이터 삭제의 경우 파일 시스템의 조작이나 특별한 장비를 기반으로 삭제된 데이터를 복구할 수 있다. 반면 본 기법에서는 모든 데이터가 암호화 되어 저장되고, 암호화 키가 메타데이터 서버에서 관리되어 키를 기반으로 데이터를 삭제하는 것을 가정한다.
이때, 클라우드 스토리지에 저장된 데이터는 키 삭제를 기반으로 수행하는데, 이미 데이터를 읽어간 어플리케이션에 존재하는 데이터는 삭제를 하기 위해 추가적인 작업이 필요하다. 따라서 본 기법에서는 프로그램의 데이터 삭제를 진행하기 위해 필요한 추적 정보를 기록함으로써, 사용자가 원하는 시점에 자신의 모든 데이터를 완전히 삭제할 수 있다.
본 기술은 클라우드와 엣지 컴퓨팅이 적용되는 환경에서 사용자의 데이터의 보호 및 완전삭제를 지원하는데 활용될 수 있다. 클라우드 및 엣지 컴퓨팅 서비스, 특히 데이터 댐 사업, 국가 디지털 전환 사업 등 데이터 공유를 기반으로 한 플랫폼 제공 사업에 적용되어 보안성을 제시할 수 있다.
한편, 본 기술은 클라우드 기반 데이터 공유 플랫폼에서 공유된 데이터의 안정성을 보장하는데 활용 가능하다. 클라우드가 아닌 경우에도 분산된 형태의 데이터 공유 플랫폼일 경우 활용 가능하다.
전술한 본 발명의 일 실시예에 따른 방법은 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 비 일시적 기록 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 비 일시적 기록 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
이상 설명된 본 발명의 실시예에 대한 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 청구범위에 의하여 나타내어지며, 청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명은 과학기술정보통신부의 지원을 받은 SW컴퓨팅산업원천기술개발(R&D,정보화)사업(과제번호: 1711126303, 과제명: 클라우드 엣지 전주기 데이터 안정성을 위한 추적성 보장 기술 개발)의 일환으로 수행한 연구로부터 도출된 것이다.

Claims (13)

  1. 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치에 있어서,
    사용자 단말과 데이터 입출력 에이전트(Data I/O Agent) 사이에서 데이터 접근에 대한 정보를 전달하는 브로커(Broker);
    어플리케이션에서 발생한 데이터 접근 요청에 응답하여 데이터 접근을 수행하는 상기 데이터 입출력 에이전트;
    상기 데이터 접근에 대한 암호화 키를 관리하는 스토리지 키 서버(Storage Key Server); 및
    상기 데이터 입출력 에이전트로부터 수신한 데이터 접근에 대한 정보를 포함한 추적 로그를 저장하는 트레이스 서버(Trace Server)를 포함하는,
    추적성 보장 장치.
  2. 제 1 항에 있어서,
    상기 데이터 입출력 에이전트는 상기 어플리케이션의 인스턴스마다 생성되어 상기 인스턴스의 데이터 접근을 관리하는,
    추적성 보장 장치.
  3. 제 1 항에 있어서,
    상기 데이터 입출력 에이전트는 상기 데이터 접근에 대한 정보를 상기 트레이스 서버에게 전달하는,
    추적성 보장 장치.
  4. 제 1 항에 있어서,
    상기 데이터 입출력 에이전트는 상기 데이터 접근에 의해 사용자 데이터를 외부로 전송하는 경우 상기 데이터 접근과 연계된 데이터를 암호화하고, 상기 데이터 접근에 의해 사용자 데이터를 외부에서 수신하는 경우 상기 데이터 접근과 연계된 데이터를 복호화하는,
    추적성 보장 장치.
  5. 제 4 항에 있어서,
    상기 스토리지 키 서버는 상기 데이터 입출력 에이전트의 암호화 키 요청에 응답하여 상기 암호화 키를 생성하여 상기 데이터 입출력 에이전트에 제공하는,
    추적성 보장 장치.
  6. 제 1 항에 있어서,
    상기 트레이스 서버는, 사용자의 데이터 삭제 요청에 응답하여 상기 스토리지 키 서버에 상기 사용자가 소유한 기기들에 매핑된 암호화 키의 삭제를 요청하는,
    추적성 보장 장치.
  7. 제 항에 있어서,
    상기 트레이스 서버는, 상기 데이터 삭제 요청에 응답하여, 상기 트레이스 로그에 기반하여 삭제 요청된 상기 사용자의 데이터에 접근한 상기 데이터 입출력 에이전트에 상기 사용자가 소유한 기기들에 매핑된 암호화 키의 삭제를 요청하는,
    추적성 보장 장치.
  8. 제 1 항에 있어서,
    상기 브로커, 데이터 입출력 에이전트, 스토리지 키 서버 및 트레이스 서버는 신뢰 실행 환경(Trusted Execution Environment; TEE)에서 실행되는,
    추적성 보장 장치.
  9. 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 방법에 있어서,
    데이터 입출력 에이전트에 의해, 어플리케이션에서 발생한 데이터 접근 요청에 응답하여 스토리지 키 서버로부터 획득한 암호화 키를 이용하여 데이터 접근을 수행하는 단계;
    트레이스 서버에 의해, 상기 데이터 접근에 대한 정보를 추적 로그에 수집하는 단계;
    사용자 단말로부터 수신한 데이터 삭제 요청에 응답하여, 상기 트레이스 서버에 의해, 상기 데이터 입출력 에이전트에게 데이터 삭제를 요청하는 단계; 및
    상기 데이터 삭제 요청에 응답하여, 상기 트레이스 서버에 의해, 상기 스토리지 키 서버에게 삭제 요청된 데이터와 연계된 암호화 키의 삭제를 요청하는 단계를 포함하는,
    추적성 보장 방법.
  10. 제 9 항에 있어서,
    상기 데이터 접근을 수행하는 단계는,
    상기 데이터 입출력 에이전트에 의해, 상기 데이터 접근에 의해 사용자 데이터를 외부로 전송하는 경우 상기 데이터 접근과 연계된 데이터를 암호화하는 단계; 및
    상기 데이터 접근에 의해 사용자 데이터를 외부에서 수신하는 경우 상기 데이터 접근과 연계된 데이터를 복호화하는 단계를 포함하는,
    추적성 보장 방법.
  11. 제 10 항에 있어서,
    상기 데이터 접근을 수행하는 단계는,
    상기 스토리지 키 서버에 의해, 상기 데이터 입출력 에이전트의 암호화 키 요청에 응답하여 상기 암호화 키를 생성하여 상기 데이터 입출력 에이전트에게 제공하는 단계를 더 포함하는,
    추적성 보장 방법.
  12. 제 9 항에 있어서,
    상기 데이터 삭제를 요청하는 단계는,
    상기 트레이스 로그에 기반하여 삭제 요청된 상기 사용자의 데이터에 접근한 상기 데이터 입출력 에이전트에 상기 사용자가 소유한 기기들에 매핑된 암호화 키의 삭제를 요청하는 단계
    를 포함하는,
    추적성 보장 방법.
  13. 추적성 보장 장치에 의해, 제 9 항 내지 제 12 항 중 어느 한 항에 따른 추적성 보장 방법을 실행하도록 구성된 적어도 하나의 명령을 포함한 컴퓨터 프로그램을 저장한 컴퓨터 판독가능한 비 일시적 기록 매체.
PCT/KR2021/020380 2021-01-13 2021-12-31 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법 Ceased WO2022154339A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0004830 2021-01-13
KR20210004830 2021-01-13
KR10-2021-0194534 2021-12-31
KR1020210194534A KR20220102561A (ko) 2021-01-13 2021-12-31 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법

Publications (1)

Publication Number Publication Date
WO2022154339A1 true WO2022154339A1 (ko) 2022-07-21

Family

ID=82448287

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/020380 Ceased WO2022154339A1 (ko) 2021-01-13 2021-12-31 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법

Country Status (1)

Country Link
WO (1) WO2022154339A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015185071A (ja) * 2014-03-26 2015-10-22 日本電信電話株式会社 情報追跡システム及び情報追跡方法
KR20170045786A (ko) * 2015-10-19 2017-04-28 주식회사 케이티 개인정보 보호 서비스 제공 시스템 및 그 방법
US20180336209A1 (en) * 2015-05-19 2018-11-22 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
JP2018195080A (ja) * 2017-05-17 2018-12-06 キヤノン株式会社 情報処理システム、制御方法及びそのプログラム
KR20200074910A (ko) * 2018-12-13 2020-06-25 알리바바 그룹 홀딩 리미티드 신뢰할 수 있는 실행 환경을 기반으로 한 오프체인 스마트 계약 서비스

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015185071A (ja) * 2014-03-26 2015-10-22 日本電信電話株式会社 情報追跡システム及び情報追跡方法
US20180336209A1 (en) * 2015-05-19 2018-11-22 Cryptomove, Inc. Security via dynamic data movement in a cloud-based environment
KR20170045786A (ko) * 2015-10-19 2017-04-28 주식회사 케이티 개인정보 보호 서비스 제공 시스템 및 그 방법
JP2018195080A (ja) * 2017-05-17 2018-12-06 キヤノン株式会社 情報処理システム、制御方法及びそのプログラム
KR20200074910A (ko) * 2018-12-13 2020-06-25 알리바바 그룹 홀딩 리미티드 신뢰할 수 있는 실행 환경을 기반으로 한 오프체인 스마트 계약 서비스

Similar Documents

Publication Publication Date Title
EP2043073A1 (en) Method for encrypting and decrypting shared encrypted files
WO2016190476A1 (ko) 클라우드 서비스를 위한 암호화 키 관리 방법 및 그 장치
WO2013048111A2 (ko) 클라우드 컴퓨팅 서비스로의 침입을 탐지하는 방법 및 장치
WO2018056601A1 (ko) 콘텐츠 파일 접근 제어를 이용한 랜섬웨어 차단 장치 및 차단 방법
WO2018164503A1 (ko) 상황 인식 기반의 랜섬웨어 탐지
WO2019231089A1 (ko) 보안정책 및 감사로그 양방향 조회, 대조, 추적 시스템 및 그 방법
US20140281499A1 (en) Method and system for enabling communications between unrelated applications
CN111723394B (zh) 一种动态加载代码库的隐私保护分布式计算方法及系统
WO2014003516A1 (ko) 데이터 공유 제공 방법 및 장치
WO2021095890A1 (ko) 데이터 이중암복호화 기반 보안 강화 블록체인 시스템
WO2013100320A1 (ko) 시스템 파일 보호 및 복구를 위한 장치, 방법, 사용자 단말기 및 시스템
WO2020101087A1 (ko) 개인정보 처리를 위한 암호화 시스템 및 방법
WO2018097521A1 (ko) 데이터베이스의 이중화를 위한 방법
WO2025005456A1 (en) Method and device of multimedia playback for virtual system
WO2020153580A1 (ko) 블록체인 상에서 외부 노드를 통한 트랜잭션 처리 방법 및 이러한 방법을 수행하는 장치
Lee et al. How to securely record logs based on ARM trustzone
KR20220102561A (ko) 클라우드 내 증명가능한 데이터 삭제를 위한 추적성 보장 장치 및 방법
WO2022211233A1 (ko) 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법
CN115348089A (zh) 一种安卓平台文件加密保护方法、装置及存储介质
KR102854211B1 (ko) 네트워크에서 데이터 통신을 보호하기 위해 사용되는 암호화 키를 안전하게 보호하는 저장 방법 및 그 기술
WO2018056582A1 (ko) 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법
WO2021070978A1 (ko) 블록체인 기반의 edr 장치 및 방법
WO2019103360A1 (ko) Iot 경량단말 환경에서 프록시 재암호화 기반의 데이터 관리 방법 및 시스템
WO2023204589A1 (ko) 개인 위치 정보의 민감 단계별 프라이버시 보호 및 효율적 원본 위치 복구 기법
CN118094623A (zh) 日志的可信处理方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21919961

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21919961

Country of ref document: EP

Kind code of ref document: A1