Personal information processing method using smart contract-based trusted execution environment, computer-readable recording medium containing instructions for executing the personal information processing method, and personal information processing system
A smart contract-based trusted execution environment with encryption keys addresses the challenge of protecting personal information by de-identifying and securely processing it, ensuring privacy through controlled access and secure destruction.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-03-08
- Publication Date
- 2026-03-06
AI Technical Summary
Existing technologies fail to effectively protect personal privacy by de-identifying personal information while allowing its restoration under restricted conditions, and they do not fundamentally block access to personal information during data processing, storage, and transfer.
A method and system using a smart contract-based trusted execution environment that generates a secure environment with encryption keys to process personal information, ensuring de-identification and restoration under controlled conditions, and destroys the environment upon completion to prevent data leakage.
Ensures personal information is protected by de-identification and secure processing, preventing unauthorized access and leakage, while allowing restoration under controlled circumstances, thus safeguarding privacy.
Smart Images

Figure 2026507933000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a method and system for processing personal information using a smart contract-based trusted execution environment. [Background technology]
[0002] Blockchain is a decentralized distributed system. Decentralization means that there is no central authority to perform functions, but rather multiple participants work together. Basically, a blockchain network is made up of a P2P network and generates blocks through a common process using a consensus algorithm. The use of hashing is crucial to blockchain, and the fact that multiple participants perform the same process using the same data, combined with hashing, prevents data falsification.
[0003] A smart contract is a set of programming code that automatically executes contractual obligations based on the blockchain, which handles assets and trust. The code created by the developer is stored in one block of the blockchain, and users can execute the code by accessing the smart contract address.
[0004] The reason it is called a smart contract is that the code content of a smart contract is included in the block information like general transaction content, making it impossible to manipulate, and the program operates based on the coded content, making it suitable for working with fixed content like a contract.
[0005] Smart contracts created on Ethereum use the Solidity language and run on the EVM. The virtual machine used to specifically execute Ethereum smart contracts is called the Ethereum Virtual Machine (EVM), and Ethereum smart contracts are created using languages such as Solidity and Viper and are widely used in the blockchain field. There are various monitoring web applications that provide information about smart contracts on the Ethereum network, the most well-known of which are Etherescan, which is provided independently by Ethereum, Alvio, which provides information in a visual format, and Remix, a Solidity IDE.
[0006] Meanwhile, personal information de-identification is a technology that makes it impossible to identify a specific individual even when combined with other information by deleting or replacing part or all of personal information through data deletion, pseudonymization, categorization, data masking, etc. It is used as a measure to minimize the risk of personal information leakage and privacy violations during the data utilization process, and the issue of de-identification has recently been attracting attention in the context of changes in the information and communications technology (ICT) environment, represented by big data, and the resulting discussions on personal information protection.
[0007] When de-identification is performed, the data generated is anonymized and can no longer be used to identify individuals, but de-identified personal information may be needed in certain situations, such as tracking criminal targets or identifying intruders. Therefore, personal information de-identification requires a technology that can hide important data information that may pose a risk of privacy violations, while also being able to restore personal information under restricted conditions. Summary of the Invention [Problem to be solved by the invention]
[0008] The technical problem to be solved by the present invention is to provide a method and system for processing personal information using a smart contract-based trusted execution environment that protects personal privacy by de-identifying identified personal information using an encryption key, and that can restore personal information to the encryption key under restricted conditions.
[0009] In addition, the technical problem to be solved by the present invention is to provide a method and system for processing personal information using a smart contract-based trusted execution environment that fundamentally blocks access to personal information by de-identifying personal information identified before a series of data processing processes such as data storage, streaming, and transfer.
[0010] In addition, the technical problem that the present invention aims to achieve is to provide a personal information processing method and system using a smart contract-based trusted execution environment that can block the data processing subject's access to personal information, prevent personal information from being leaked to the outside, and safely protect the privacy of the subject who provided the data. [Means for solving the problem]
[0011] A method for processing personal information using a smart contract-based trusted execution environment according to an embodiment of the present invention includes: generating a trusted execution environment including a data processing code and a second encryption key in a data processing platform server in response to a data processing request received from a data processing requesting terminal according to a smart contract distributed on a blockchain; obtaining first data and a first encryption key from a data generating terminal and an encryption key providing terminal, respectively, by the trusted execution environment; decrypting the first data based on the first encryption key; processing the decrypted first data according to the data processing code to generate a data processing result by the trusted execution environment; processing the decrypted first data according to the data processing code to generate a data processing result by the trusted execution environment; providing the data processing result to the data processing requesting terminal by the trusted execution environment; and destroying the trusted execution environment according to the smart contract.
[0012] According to an embodiment, the method for processing personal information using a smart contract-based trusted execution environment may further include, after the step of generating the trusted execution environment, a step of the trusted execution environment generating a first transaction requesting the first data and a second transaction requesting a first encryption key and recording them in a blockchain.
[0013] According to an embodiment, the first encryption key is an asymmetric key consisting of a pair of a first private key and a first public key generated by the encryption key supply terminal, the first public key being generated based on the first private key, and the first encryption key can be updated by the encryption key supply terminal according to a predetermined schedule.
[0014] According to an embodiment, the first data is data generated by the data generation terminal, and a data area corresponding to personal information is de-identified based on the first public key, and may include first public key information regarding the first public key used in the de-identification process.
[0015] According to an embodiment, a data area of the decrypted first data corresponding to the personal information may be identified based on the first personal key.
[0016] According to an embodiment, the second encryption key is an asymmetric key consisting of a pair of a second private key and a second public key of the trusted execution environment, and the second public key is generated based on the second private key and can be an account address of the trusted execution environment in the blockchain.
[0017] According to an embodiment, the trusted execution environment may be a virtual execution environment that remains valid only for the lifetime of the smart contract.
[0018] According to an embodiment, the step of destroying according to the smart contract may include a step of executing a destroy command and a step of deleting a trusted execution environment including the material processing code, the first data, and the decrypted first data.
[0019] According to an embodiment, the step of executing the discard command may include executing the discard command, generating a flag indicating the execution of the discard command, and then generating a transaction including the flag and recording it in the blockchain.
[0020] According to an embodiment, when the trusted execution environment acquires the first data from a plurality of data generating terminals, the step of decrypting the first data can identify a data area corresponding to personal information based on a first private key corresponding to first public key information included in each first data.
[0021] According to an embodiment, the step of generating the trusted execution environment may include a step of generating a primitive trusted execution environment in which no material processing code and the second encryption key have been generated, and a step of generating the trusted execution environment including the material processing code corresponding to the material processing request and the second encryption key based on the primitive trusted execution environment.
[0022] According to an embodiment, the step of generating the primitive trusted execution environment includes generating a first hash value of a primitive image file that serves as the basis for generating the primitive trusted execution environment, comparing the first hash value with a second hash value of the primitive image file already distributed on the blockchain to determine whether they match, and if they match, the originality of the primitive trusted execution environment can be guaranteed.
[0023] According to an embodiment, the step of generating the trusted execution environment including the material processing code corresponding to the material processing request and the second encryption key may include generating a first image file of the trusted execution environment, generating a hash value for the first image file, and generating and recording a transaction including the hash value in the blockchain.
[0024] According to an embodiment, a computer-readable recording medium storing one or more programs may be provided, wherein the one or more programs are configured to be executed by one or more processors of an electronic device, and the one or more programs may be a computer-readable recording medium including instructions for executing any one of the personal information processing methods using the smart contract-based trusted execution environment.
[0025] According to another embodiment of the present invention, a personal information processing system using a smart contract-based trusted execution environment includes: a data generating terminal that generates first data including a data area in which personal information is de-identified based on a first encryption key; and a data processing platform server that generates a trusted execution environment including a data processing code and a second encryption key in response to a data processing request received from a data processing requesting terminal according to a smart contract distributed on a blockchain, and acquires the first encryption key encrypted with the second encryption key and the first data from the blockchain, wherein the trusted execution environment decrypts the encrypted first encryption key based on the second encryption key, decrypts the first data based on the decrypted first encryption key, processes the decrypted first data according to the data processing code, and generates a data processing result, and the trusted execution environment returns the data processing result to the data processing requesting terminal according to the smart contract.
[0026] According to an embodiment, the data generation terminal is a video capturing device that captures video, detects people in captured video frames, performs de-identification processing on at least some of the people who require de-identification, and generates the first data including the video frames on which the de-identification processing has been performed.
[0027] According to an embodiment, the data generation terminal may perform a primary de-identification process on a person who needs to be de-identified using a third encryption key generated by a symmetric encryption algorithm, and encrypt the third encryption key based on the first encryption key.
[0028] According to an embodiment, the trusted execution environment is a virtual execution environment that remains valid only for the duration of the smart contract, and after providing the data processing result to the data processing request terminal, it is destroyed in accordance with the smart contract, and upon destruction, the trusted execution environment including the data processing code, the first data, and the decrypted first data may be deleted.
[0029] According to an embodiment, the decrypted first data is data in which a data area corresponding to the personal information is identified based on the decrypted first encryption key, and the trusted execution environment can process the identified personal information according to the data processing code to generate a data processing result.
[0030] According to an embodiment, the personal information processing system using the smart contract-based trusted execution environment may further include an encryption key providing terminal that generates the different first encryption keys according to a predetermined schedule and provides the first encryption keys to the data generating terminal. [Effects of the Invention]
[0031] According to the method and system for processing personal information using a smart contract-based trusted execution environment according to an embodiment of the present invention, even if personal information is de-identified, it can be restored and used so that it can be identified in limited circumstances, and after the data processing results are derived, it can be safely deleted, thereby protecting personal privacy.
[0032] In addition, according to the method and system for processing personal information using a smart contract-based trusted execution environment according to an embodiment of the present invention, personal information that has been identified before a series of data processing processes such as data storage, streaming, and transfer can be de-identified in advance, thereby fundamentally blocking access to personal information in a hardware manner.
[0033] Furthermore, according to the method and system for processing personal information using a smart contract-based trusted execution environment according to an embodiment of the present invention, when the smart contract is terminated, the trusted execution environment is destroyed and the stored data is also erased, thereby preventing collected data from leaking to the outside and fundamentally blocking the operator of the data processing platform server from viewing the data, thereby protecting the privacy of the data subject.
[0034] In addition, according to the method and system for processing personal information using a smart contract-based trusted execution environment according to an embodiment of the present invention, personal information generated by data generating devices such as cameras, CCTVs, and home cameras is fundamentally encrypted, is not disclosed to the data subject, and is used only under specific analysis conditions, thereby protecting personal privacy.
[0035] In addition, according to the method and system for processing personal information using a trusted execution environment based on a smart contract according to an embodiment of the present invention, multiple smart contracts can be executed simultaneously using a trusted execution environment that is executed independently for each smart contract.
[0036] In addition, according to the method and system for processing personal information using a smart contract-based trusted execution environment according to an embodiment of the present invention, by recording a destruction command flag in the blockchain, the trusted execution environment in which the data was provided can be stably removed, and it can be ensured that the data has been safely erased without being leaked to the outside.
[0037] In addition, according to the personal information processing method and system using a smart contract-based trusted execution environment according to an embodiment of the present invention, the data processing requesting terminal can obtain the desired data processing result without directly collecting or processing the data required for data processing, and since the data required for data processing is not leaked to the data processing requesting terminal, the privacy of the subject who provided the data can be safely protected. [Brief explanation of the drawings]
[0038] [Figure 1] FIG. 1 is a schematic block diagram of a personal identification information de-identification processing system using a smart contract-based trusted execution environment according to an embodiment of the present invention. [Figure 2a] FIG. 10 is a diagram illustrating a method for de-identifying personal identification information using a smart contract-based trusted execution environment according to an embodiment of the present invention. [Figure 2b] FIG. 10 is a diagram illustrating a method for de-identifying personal identification information using a smart contract-based trusted execution environment according to an embodiment of the present invention. [Figure 2c] FIG. 10 is a diagram illustrating a method for de-identifying personal identification information using a smart contract-based trusted execution environment according to an embodiment of the present invention. [Figure 3] 10 is a diagram illustrating a method for de-identifying personal information in a data generation terminal according to another embodiment of the present invention; [Figure 4] 1 is a diagram illustrating a method for processing personal information identification in a trusted execution environment according to an embodiment of the present invention; [Figure 5] FIG. 1 is a diagram illustrating a smart contract according to an embodiment of the present invention. [Figure 6] 1 is a flowchart illustrating a method for de-identifying personal identification information using a smart contract-based trusted execution environment according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION
[0039] The advantages, features, and methods of achieving the present invention will become more apparent from the following detailed description of the embodiments in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, and may be embodied in various different forms. The present embodiments are provided solely to complete the disclosure of the present invention and to fully convey the scope of the present invention to those skilled in the art. The present invention is defined only by the claims.
[0040] The terms used in this specification are for the purpose of describing the embodiments and are not intended to limit the present invention. In this specification, the singular form includes the plural form unless the context clearly dictates otherwise. As used in this specification, "comprises" and / or "comprising" do not exclude the presence or addition of one or more other elements in addition to the elements referenced. Throughout the specification, the same reference numerals refer to the same elements, and "and / or" includes each and every combination of one or more of the referenced elements. Although terms such as "first," "second," etc. are used to describe various elements, these elements are not limited by these terms. These terms are used to distinguish one element from another. Therefore, a first element referred to below may be a second element within the technical spirit of the present invention.
[0041] Unless otherwise defined, all terms (including technical and scientific terms) used herein should be used in the sense that they are commonly understood by those skilled in the art to which the present invention belongs. Furthermore, terms defined in commonly used dictionaries should not be interpreted ideally or excessively unless they are clearly and specifically defined.
[0042] FIG. 1 is a schematic block diagram of a personal identification information de-identification processing system using a smart contract-based trusted execution environment according to an embodiment of the present invention. Referring to FIG. 1, a personal identification information de-identification processing system 10 using a smart contract-based trusted execution environment includes a data processing platform server 100, a data generation terminal 200, an encryption key provision terminal 300, and a data processing request terminal 400.
[0043] The data processing platform server 100 is a device capable of hosting an online network and assigning a network address, and can provide a data processing platform where data is shared online with a data generating terminal 200, an encryption key supplying terminal 300, and a data processing requesting terminal 400. The data processing platform server 100 can execute a series of processes such as the creation, distribution, migration, and termination of smart contracts on the blockchain through the data processing platform.
[0044] The data processing platform server 100 can generate a smart contract for data processing and distribute it to the blockchain. A smart contract for data processing is an electronic contract that is automatically concluded when certain conditions are met on the blockchain, and the data processing platform server 100 can generate a smart contract that records a series of contract details required for data processing, such as data collection, analysis, and result derivation, and distribute it to the blockchain.
[0045] Smart contracts are recorded in blockchain blocks, allowing them to be executed on the blockchain. For example, blockchains are embodied as the Ethereum blockchain, and smart contracts created in Solidity, Viper, etc. can be distributed to the blockchain through the Ethereum Virtual Machine (EVM). Furthermore, all transactions in the blockchain are hashed using SHA-256 and the hash values are stored, and the hash values may be stored in blockchain blocks to protect personal privacy and prevent overload.
[0046] The smart contract distributed by the data processing platform server 100 is automatically concluded when a data processing request that meets the specified terms and conditions is received from the data processing request terminal 400, and the contract can be terminated when the data processing results are returned in response to the data processing request.
[0047] Here, the data processing request is a data processing request that can be processed by the data processing platform server 100, and the data processing code required for data processing may be provided from the data processing request terminal 400 or generated by the data processing platform server 100.
[0048] For example, when a smart contract is concluded between the data processing platform server 100 and the data processing request terminal 400, the data processing platform server 100 can obtain the data processing code provided by the data processing request terminal 400 and use it for data processing.
[0049] For example, when a smart contract is concluded between the data processing platform server 100 and the data processing request terminal 400, the data processing platform server 100 can determine the processing model required for the data processing request and then use the determined processing model for data processing.
[0050] When a smart contract is concluded, the data processing platform operated by the data processing platform server 100 generates a trusted execution environment (TEE) for data processing. That is, when the data processing platform server 100 receives a data processing request from the data processing request terminal 400, it generates a trusted execution environment including a data processing code and an encryption key in response to the data processing request.
[0051] Specifically, the data processing platform server 100 can generate a primitive trusted execution environment, which is the source of a trusted execution environment. The primitive trusted execution environment refers to a virtual execution environment in which no data processing code or encryption key has been generated.
[0052] The primitive trusted execution environment is a secure execution environment provided by an independent secure area, and can be generated as an image file for implementing a virtual execution environment. However, the primitive trusted execution environment is not limited thereto, and can be implemented as either a hardware-based solution or a hardware / software-based solution.
[0053] According to the embodiment, when a primitive trusted execution environment embodied as a primitive image file is generated, the data processing platform server 100 generates a hash value of the primitive image file, generates a transaction including the hash value, and distributes the transaction to the blockchain. As a result, the data processing platform server 100 can externally disclose that a primitive trusted execution environment for generating a trusted execution environment has been generated.
[0054] The data processing platform server 100 can generate a trusted execution environment including a data processing code corresponding to a data processing request and a second encryption key based on the original trusted execution environment. The trusted execution environment is a secure execution environment provided by an independent secure area, similar to the original execution environment, and can be generated as a first image file for realizing a virtual execution environment.
[0055] According to the embodiment, the data processing platform server 100 can determine the originality of a source image file that is the basis for generating the source trusted execution environment before generating or executing the trusted execution environment. The data processing platform server 100 can generate a hash value of the source image file and compare it with the hash value of the source image file distributed on the blockchain to determine whether it matches, and if it matches, can ensure the originality of the source image file. Then, the data processing platform server 100 can generate a trusted execution environment including a data processing code corresponding to a data processing request and a second encryption key based on the source trusted execution environment whose originality is guaranteed.
[0056] The second encryption key of the trusted execution environment includes an account address of the trusted execution environment, and a mechanism based on a public key and a private key pair can be used to indicate the identity of a blockchain participant to generate the second encryption key. The second encryption key includes a second public key that is an account address and a second private key that controls the second public key. For example, if the trusted execution environment operates on the Ethereum blockchain, the public key can be an externally owned address (EOA).
[0057] The trusted execution environment generates a 256-bit random number when generating an account address, sets it as a second private key, and applies it to the second private key using an elliptic curve cryptography algorithm to extract a unique second public key.
[0058] For example, the trusted execution environment may generate random 256-bit data, encode the generated 256-bit data into a 64-digit hexadecimal string to generate a second private key, and generate a second public key using an elliptic curve cryptography algorithm based on the second private key.The trusted execution environment may then convert the public key into a Keccak256 hash value to generate 256-bit binary data, remove the first 96 bits of the binary data, and encode the remaining 160-bit binary data into a hexadecimal string to generate an account address, which is the second public key.
[0059] However, as an encryption algorithm for generating a public key based on a private key, not only elliptic curve cryptography algorithms but also other encryption algorithms such as RSA (Rivest, Shamir and Adleman) encryption algorithm and ElGamal encryption algorithm can be used.
[0060] The second public key of the trusted execution environment generated through this process is made public through the blockchain, and data encrypted with the second public key can only be restored with the second private key of the trusted execution environment.
[0061] According to the embodiment, when a trusted execution environment embodied as a first image file is generated, the data processing platform server 100 may generate a hash value of the first image file, generate a transaction including the hash value, and record the transaction in the blockchain. As a result, the data processing platform server 100 may externally disclose that the trusted execution environment corresponding to the smart contract has been safely executed without being tampered with or forged.
[0062] The trusted execution environment can request data collection from the data generating terminal 200 to execute data processing corresponding to the data processing code. To this end, the trusted execution environment can generate a first transaction requesting first data from the data generating terminal 200 and record it in the blockchain. In this case, the trusted execution environment can distribute a separate smart contract for data collection to the blockchain, or can generate only a transaction for notifying data collection and record it in the blockchain.
[0063] According to the embodiment, when a data collection target is designated from the data processing requesting terminal 400 at the time of the smart contract execution, the trusted execution environment can request data transfer from the data collection target. That is, the trusted execution environment can designate an account of a specific data generating terminal and record a transaction requesting data transfer from the designated data generating terminal in the blockchain.
[0064] According to another embodiment, the trusted execution environment can record a transaction including the type and content of data required for document processing in the blockchain and request data transfer from any data generating terminal 200. That is, the trusted execution environment can publish data collection conditions without specifying a data collection entity and collect data from all data generating terminals 200 that possess data that meets the data collection conditions.
[0065] Meanwhile, the first data is a data area corresponding to personal information that has been de-identified using a first encryption key, and the data area needs to be identified for data processing. Therefore, the trusted execution environment can generate a second transaction requesting the first encryption key from the encryption key supply terminal 300 to perform data processing corresponding to the data processing code, and record the second transaction in the blockchain.
[0066] The trusted execution environment can execute data processing based on data collected from the data generation terminal 200. Since the trusted execution environment has inbound and outbound rules set, it receives only data in a format corresponding to the data processing code, and returns the data processing results to the outside in a certain format.
[0067] The trusted execution environment can process the first data collected from the data generating terminal 200 if the first data meets the criteria required for data processing. However, since a part of the data area corresponding to personal information among the first data collected from the data generating terminal 200 has been de-identified using the first encryption key of the encryption key supplying terminal, the trusted execution environment can process the data according to the data processing code after identifying the data using the first encryption key.
[0068] Here, the first encryption key is an asymmetric key consisting of a pair of a first private key and a first public key of the encryption key supply terminal 300, and means an encryption key generated by the encryption key supply terminal 300 according to a predetermined schedule.
[0069] Meanwhile, if the first private key of the first encryption key is leaked to the outside, personal information of the first data may be made public and privacy may be violated, so the trusted execution environment can obtain the first private key encrypted with the second public key from the encryption key provision terminal 300. Then, the trusted execution environment can decrypt the encrypted second private key using the first private key and decrypt the first data based on the first private key.
[0070] The trusted execution environment may perform data processing if the decrypted first data meets criteria required for data processing.
[0071] For example, if the first data is video data captured in a specific area and the data processing requesting terminal requests object detection of a specific person X in the first data, the trusted execution environment can determine whether the specific person X exists by analyzing the decoded first data. The data processing code used in the trusted execution environment can use an AI object recognition algorithm model, and the trusted execution environment can use the AI object recognition algorithm to determine the existence of the specific person X in the first data and return the time and place where the specific person X was located in the specific area and the video frame containing the specific person X as the data processing result.
[0072] If the trusted execution environment receives first data from each of a number of data generation terminals, it can analyze the first data and return the time when a specific person X was located in different locations and the video frame in which the specific person X was included as the data processing result.
[0073] Here, the trusted execution environment can use, as an artificial intelligence object recognition algorithm, a face detection algorithm that uses feature points (landmarks), a deep learning-based YOLO (You Look Only Once) model, MobileNet, R-CNN (Recursive Convolutional Neural Network), Faster-RCNN, SSD (Single Shot multibox Detector), etc., but is not limited to these, and known algorithm models for object recognition can also be used.
[0074] When the data processing is completed, the trusted execution environment can return the data processing result to the data processing request terminal 400. The trusted execution environment can obtain the third public key provided by the data processing request terminal 400 when the smart contract is concluded, and can encrypt the data processing result using the third public key of the data processing request terminal 400 and return it to the blockchain.
[0075] The smart contract between the data processing platform server 100 and the data processing request terminal 400 is automatically concluded when a data processing request that meets predetermined conditions is input, and can be terminated when the data processing result corresponding to the data processing request is returned. Therefore, when the trusted execution environment encrypts the data processing result, generates a transaction including the encrypted data processing result, and records it in a block of the blockchain, it means that the performance of the smart contract is completed.
[0076] Meanwhile, the trusted execution environment has a temporary status that remains valid only for the duration of the smart contract. That is, the trusted execution environment is generated only when the smart contract distributed to the blockchain is established and a data processing request is received from the data processing request terminal 400, and is destroyed when data processing consistent with the contents of the smart contract is completed or the smart contract is terminated for other reasons.
[0077] The destruction of the trusted execution environment means that the environment itself constituting the trusted execution environment is initialized, and a series of data related to the trusted execution environment is deleted. Therefore, not only the first data received by the trusted execution environment from the data generating terminal 200 for data processing, but also the data processing code received from the data processing requesting terminal 400 are deleted together with the destruction of the trusted execution environment.
[0078] If the data processing platform server 100 continues to store data after data processing is completed, there is a risk that the data may be leaked due to an external malicious attack, and may even be viewed by the operator of the data processing platform server 100.
[0079] However, the data processing platform server 100 according to the embodiment of the present invention stores data received from the data generating terminal 200 only while the smart contract is maintained, and when the smart contract is terminated, it destroys the trusted execution environment and simultaneously deletes the stored data. As a result, the data processing platform server 100 can prevent data from leaking to the outside and fundamentally block the operator of the data processing platform server 100 from viewing the data, thereby protecting the privacy of the entity that provided the data.
[0080] According to an embodiment, the trusted execution environment may record a flag indicating that a discard command has been executed in a blockchain. When the discard command is executed, a flag that cannot be arbitrarily modified is generated. When the discard command is executed, the trusted execution environment may generate a transaction including the flag, record it in the blockchain, and then enter the discard process.
[0081] The trusted execution environment generated for data processing is a virtual execution environment, and at least one is generated to execute a smart contract in the data processing platform server 100. It can be generated independently, destroyed, and initialized depending on whether a contract is established and executed. In this way, the data processing platform server 100 can execute multiple smart contracts simultaneously using a trusted execution environment that is executed independently for each smart contract.
[0082] The data generation terminal 200 is a communication device that can be connected to a data processing platform, and can store data necessary for material processing and execute a user data management application required for managing the stored data.
[0083] In particular, the data generating terminal 200 is a data generating terminal including personal information, such as a home camera, CCTV, or vision camera, and can capture an image of a specific area to generate first data including an image frame. In this case, the data generating terminal 200 can detect an object in the image frame and perform a de-identification process on the personal information before storing, streaming, or transmitting the image data.
[0084] That is, the data generating terminal 200 can capture a specific area and de-identify the personal information included in the image frame before storing, streaming, or transferring the data. This is a hardware-based method of fundamentally blocking access to the personal information, and the original data stored, streamed, or transferred by the data generating terminal 200 is the first data in which the personal information has been de-identified.
[0085] Here, the de-identification process is a processing technique such as de-identification, masking, face synthesis conversion, etc. for personal information such as faces, body parts, license plates, and resident registration numbers in the video frame, and the de-identification process standard can be set according to the HIPAA Privacy Rules linked to the HIPAA (Health Insurance Portability and Accountability Act), but is not limited thereto and can be changed in various ways by the designer of the data generation terminal 200.
[0086] The data generation terminal 200 uses the first encryption key provided from the encryption key supply terminal 300 for the de-identification process, and since only the first public key of the first encryption key is provided, it is not possible to arbitrarily decrypt the first data to identify personal information, which is intended to fundamentally prevent personal confidential information from leaking to the outside.
[0087] When the data processing platform server 100 requests first data for data processing, the data generating terminal 200 can provide the first data to the data processing platform server 100 through a user data management application.
[0088] An application for scanning the blockchain is executed in the data generating terminal 200, and the data request of the trusted execution environment can be confirmed by checking the transactions recorded in the blockchain. For example, the data generating terminal 200 can check the data request of the trusted execution environment recorded in the blockchain using applications such as Etherescan and Remix.
[0089] The data generation terminal 200 can provide the first data to a trusted execution environment executed by the data processing platform server 100. The data generation terminal 200 can transfer encrypted data to the trusted execution environment through the data processing platform, but can also generate a transaction including a hash value of the first data and record it in a blockchain to ensure reliability.
[0090] The data generation terminal 200 can obtain blockchain coins as a reward for providing data to the data processing platform server 100, and the number of obtainable coins can be set by the trusted execution environment.
[0091] The owner of the data generation terminal 200 may be concerned about the leakage of personal information because the owner provides the data processing platform server 100 with information that can identify an individual, such as a face or body part, contained in the first data.
[0092] To solve this problem, the data generating terminal 200 can scan the blockchain through an application and check the flag of the destruction command recorded in the blockchain. When the data generating terminal 200 scans the flag of the destruction command for the trusted execution environment, it can be guaranteed that the trusted execution environment and data have been securely erased.
[0093] The encryption key supply terminal 300 is a terminal that generates the first encryption key according to a predetermined schedule and provides it to the data generation terminal 200, and may be an administrator terminal of the data generation terminal 200, or may be a terminal that separately generates only the encryption key.
[0094] The encryption key supply terminal 300 can generate different first encryption keys according to a predetermined schedule, and can supply the generated first public keys to the data generation terminal 200 in sequence.
[0095] As a result, the data generating terminal 200 can perform de-identification processing on personal information using one first public key per unit time. When storing the first data, the data generating terminal 200 also stores the first public key information used in the de-identification processing, so that the trusted execution environment can subsequently perform decryption using the first private key corresponding to the first public key information included in the first data.
[0096] The data processing request terminal 400 is a terminal that generates a data processing request that conforms to a smart contract, provides a transaction including the data processing request to the blockchain, and concludes a smart contract with the data processing platform server 100. For example, the data processing request terminal 400 may be at least one of a personal computer (PC), a smartphone, a tablet PC, a mobile internet device (MID), an internet tablet, an internet of things (IoT) device, an internet of everything (IoE) device, a desktop computer, a laptop computer, a workstation computer, a wireless broadband internet (Wibro) terminal, and a personal digital assistant (PDA).
[0097] The data processing requesting terminal 400 obtains the identified personal information or the data processing result generated using the personal information, and therefore may be a terminal of a subject that has obtained the authority to view personal information from the data generating terminal 200 or has been delegated the authority to view personal information by a government agency.
[0098] The data processing request terminal 400 can provide the data processing code required for data processing to the transaction along with the data processing request when concluding a smart contract, and can also provide the account of a specific data generation terminal 200 to the transaction to specify the data collector.
[0099] In order to provide encrypted data processing results, the data processing request terminal 400 may provide the public key of the data processing request terminal 400 to the transaction together with the data processing request when the smart contract is concluded.
[0100] The data processing request terminal 400 can obtain the data processing result from the blockchain by executing the smart contract. If the data processing result is encrypted, the data processing result that matches the data processing request can be obtained by decrypting it using the private key of the data processing request terminal 400.
[0101] In this way, the data processing requesting terminal 400 can obtain a desired result without directly collecting or processing data required for material processing. Also, since personal information or information requiring security other than data required for material processing is not leaked to the subject of the data processing requesting terminal 400, the privacy of the subject who provided the data can be safely protected.
[0102] 2a and 2b are diagrams illustrating a method for de-identifying personal identification information using a smart contract-based trusted execution environment according to an embodiment of the present invention. Referring to FIG. 2 a, the encryption key supply terminal 300 can generate a first encryption key and provide it to the data generation terminal 200 .
[0103] The first encryption key KEY1 generated in the encryption key supply terminal 300 is an asymmetric key consisting of a pair of a first private key and a first public key, and only the first public key is provided to the data generation terminal 200. This is to prevent the first data DAT1 de-identified in the data generation terminal 200 from being arbitrarily decrypted and to prevent the first private key from being leaked to the outside due to a malicious attack such as hacking.
[0104] The encryption key supplying terminal 300 can generate different first encryption keys KEY1 according to a predetermined schedule, and can sequentially supply the first public keys to the data generating terminals 200. When there are multiple data generating terminals 200 to which the encryption key supplying terminal 300 provides the first encryption key KEY1, the encryption key supplying terminal 300 can provide the same first encryption key KEY1 to the data generating terminals 200 according to a user's design, or can provide different first encryption keys for each data generating terminal 200.
[0105] The encryption key supply terminal 300 can provide the first encryption key KEY1 to the data generation terminal 200 through the block chain BC.
[0106] However, the first encryption key KEY1 provided to the data generating terminal 200 includes only the first public key, and even if the first public key is leaked to anyone, no damage to personal information occurs. Therefore, the encryption key supply terminal 300 can provide the first public key to the data generating terminal 200 directly through a communication network or through a data processing platform.
[0107] The data generation terminal 200 can capture a specific area, de-identify the personal information contained in the image frame IM in advance, and then perform data storage, streaming, or transfer operations.
[0108] The data generating terminal 200 can identify an object containing personal information in the image frame IM and perform a de-identification process on the object using the first public key. The de-identification process is a processing technique such as a de-identification process, masking, or face synthesis conversion for personal information such as a face, body part, license plate, or resident registration number in the image frame. The de-identification process standard may be set according to the HIPAA Privacy Rule linked to the HIPAA (Health Insurance Portability and Accountability Act), but is not limited thereto and may be variously changed by the designer of the data generating terminal 200.
[0109] The data generating terminal 200 may perform de-identification processing on personal information using one first public key per unit time, but is not limited thereto, and may perform de-identification processing on all personal information based on one first public key. In the first data DAT1 generated by the data generating terminal 200, if the data area corresponding to personal information has been de-identified based on the first public key and is not related to personal information, a separate de-identification processing is not performed.
[0110] According to the embodiment, the data generating terminal 200 can recognize objects in the video frame, and then select and de-identify only personal information related to a predetermined target from the recognized objects. Therefore, in the first data DAT1, only the data area corresponding to the personal information of the predetermined target is de-identified, and the rest is not de-identified.
[0111] According to the embodiment, if the data size of the video frame is equal to or larger than a reference size, the data generating terminal 200 may perform a primary de-identification process on a data area corresponding to personal information using a third encryption key according to a symmetric key algorithm such as the Advanced Encryption Standard (AES), and encrypt the third encryption key based on the first encryption key KEY1. In this case, the third encryption key may be stored in the first data DAT1 together with the first public key information.
[0112] Referring to FIG. 2b, the data processing platform server 100 can generate a smart contract SC for data processing and distribute it to the blockchain BC, and the smart contract SC can be recorded in a block of the blockchain BC, allowing the smart contract SC to be executed on the blockchain BC.
[0113] When a transaction including a document processing request QUE1 that conforms to the specified regulations is provided to the blockchain BC from the data processing request terminal 400, the smart contract SC automatically establishes a contract and terminates when the document processing result that conforms to the document processing request QUE1 is returned.
[0114] The data processing request terminal 400 can provide a data processing request QUE1 that conforms to the smart contract SC to the blockchain BC to obtain data processing results.
[0115] When the smart contract SC between the data processing platform server 100 and the data processing request terminal 400 is concluded, the data processing platform server 100 generates a trusted execution environment VM including a data processing code and a second encryption key in response to the data processing request QUE1. Here, the data processing code may refer to the data processing model provided by the data processing request terminal 400 to the blockchain.
[0116] The trusted execution environment VM can generate a transaction including a data request QUE2 to the data generation terminal 200 and record it in the blockchain BC in order to perform data processing corresponding to the document processing code.
[0117] Referring to FIG. 2c, the data generation terminal 200 can obtain a data request QUE2 of the trusted execution environment VM from the blockchain BC and record the stored first data DAT1 in the blockchain, or generate a transaction including the hash value of the first data DAT1 to provide data encrypted with the hash value to the trusted execution environment VM and record it in the blockchain BC.
[0118] The data processing request terminal 400 can acquire the second encryption key KEY2 recorded along with the data request QUE2 of the trusted execution environment VM from the blockchain BC. The second encryption key KEY2 acquired by the data processing request terminal 400 means the second public key of the trusted execution environment VM.
[0119] Meanwhile, since the first private key of the first encryption key KEY1 is required to decrypt the first data DAT1, the data processing request terminal 400 must encrypt the first private key and provide it securely to the trusted execution environment VM.
[0120] Therefore, the data processing requesting terminal 400 can encrypt the first encryption key KEY1 based on the second encryption key KEY2 and provide the encrypted first encryption key KEY1 to the trusted execution environment. That is, the data processing requesting terminal 400 can encrypt the first private key based on the second public key of the trusted execution environment VM, generate a transaction for the second private key encrypted with a hash value, and record it in the blockchain BC.
[0121] The trusted execution environment VM can execute data processing when the data collected from the data generating terminal 200 matches the criteria required for data processing.
[0122] Since the first data DAT1 obtained from the blockchain BC has been de-identified using the first public key of the first encryption key KEY1, the trusted execution environment VM must obtain the first private key first. The trusted execution environment VM can obtain the first private key by decrypting the first private key encrypted with the second public key using the second private key.
[0123] The trusted execution environment VM can decrypt the first data based on the first private key and identify the data area corresponding to the personal information. Meanwhile, since the first data is stored together with the first public key information, the trusted execution environment VM can perform decryption using the first private key corresponding to the first public key information included in the first data.
[0124] The trusted execution environment VM can then process the data according to the data processing code. When the data processing is completed, the trusted execution environment VM can provide the data processing result RES to the data processing request terminal 400.
[0125] The trusted execution environment VM can record the data processing result RES in the blockchain without separately encrypting it, but in order to prevent the data processing result RES from being leaked to the outside, it can also encrypt the data processing result using the third public key of the data processing request terminal 400 and return it to the blockchain BC.
[0126] The smart contract SC is terminated when the document processing result RES that matches the document processing request QUE1 is returned. The trusted execution environment VM can check whether the document processing result RES is recorded in the blockchain BC and confirm that the performance of the smart contract SC has been completed.
[0127] When the document processing result RES is returned and the smart contract SC is terminated, the trusted execution environment VM executed in the data processing platform server 100 enters a discard mode. As the trusted execution environment VM is discarded, the data received from the data generation terminal 200 for document processing is also deleted from the data processing platform server 100.
[0128] The data processing request terminal 400 can obtain the encrypted data processing result RES recorded in the blockchain BC and decrypt the encrypted data processing result RES with the third private key to obtain the data processing result that matches the data processing request.
[0129] FIG. 3 is a diagram illustrating a method for de-identifying personal information in a data generation terminal according to another embodiment of the present invention. Referring to FIG. 3, the data generation terminal 200 is a terminal that generates data including personal information from a home camera, CCTV, camera, etc., and can capture a specific area and generate first data including video frames.
[0130] In order to fundamentally block access to personal information in terms of hardware, the data generating terminal 200 can photograph a specific area, de-identify the personal information contained in the image frame in advance, and then perform data storage, streaming, or transfer operations. The de-identification process may be performed on areas set by the user, such as information about people, text, objects, etc., contained in the video frame.
[0131] According to an embodiment, the de-identification process may be performed only on objects that have already been registered according to the user's settings, and the de-identification process may not be performed on objects that are not registered.
[0132] For example, if the data generation terminal 200 is a home camera installed in a home, the user can set de-identification processing only for residents of the home, in which case outsiders who do not reside in the home may be present in a state where they are identified in the video frame.
[0133] In addition, the de-identification process is performed only on a partial area of the object, and the de-identification process method can be changed in various ways according to the user's settings, such as masking, face synthesis conversion, etc.
[0134] Specifically, the data generating terminal 200 may be a home CCTV that captures images of the inside of a home in real time, and the first video frame IM1 may be generated by the data generating terminal 200. The data generating terminal 200 can recognize objects included in the first video frame IM1 through an artificial intelligence object recognition algorithm, and can distinguish between the first user HM1 and the object OB.
[0135] If the first user HM1 is set as a target for de-identification processing, the data generation terminal 200 can de-identify the data area corresponding to the first user HM1 based on the first encryption key KEY1. At this time, the data generation terminal 200 can selectively execute a de-identification processing method based on the administrator's settings, such as pixelating part of the body of the first user HM1, or synthesizing the face or inserting a character into the body.
[0136] In the de-identified first video frame IM1', all or part of the body of the first user HM1' is de-identified BR, and other objects OB are present in an identified state. Then, only after generating the de-identified first video frame IM1', the data generation terminal 200 can save, stream, or transfer the first data including the de-identified first video frame IM1'.
[0137] As a result, even if a third party obtains the first data, the personal information has been de-identified and therefore is anonymous, making it impossible to identify the individual any further.
[0138] FIG. 4 is a diagram illustrating a method for processing personal information identification in a trusted execution environment according to an embodiment of the present invention. Referring to FIG. 4, the trusted execution environment VM can identify a part of the data area corresponding to personal information among the first data collected from the data generating terminal 200 for data processing according to the document processing code.
[0139] Since the first data has been de-identified using the first public key of the first encryption key, the trusted execution environment VM can perform the identification process using the first private key of the first encryption key obtained from the encryption key supply terminal 300.
[0140] Meanwhile, the first data is stored together with the first public key information used for the de-identification process, so that the trusted execution environment VM can perform decryption using the first private key corresponding to the first public key information included in the first data.
[0141] For example, the first data may include a second video frame IM2, and the second video frame IM2 may include a de-identified second user HM2. The trusted execution environment VM may perform an identification process on the de-identified second user HM2 to process the material. In this case, the trusted execution environment VM may selectively identify all or part of the de-identified second user HM2, which may vary depending on the material processing code.
[0142] The trusted execution environment VM can perform data processing using the decrypted first data, i.e., the first data including the identified second video frame IM2'. When the data processing results are returned in accordance with the smart contract, the trusted execution environment is destroyed, and a set of personal information related to the trusted execution environment is also deleted at the same time, thereby protecting personal privacy.
[0143] FIG. 5 is a diagram illustrating a smart contract according to an embodiment of the present invention. In conclusion, according to the personal information identification processing method of the trusted execution environment VM according to an embodiment of the present invention, even if personal information is de-identified, it can be restored and used so that the personal information can be identified in limited circumstances, and after the data processing results are derived, it can be safely deleted, thereby protecting the privacy of individuals.
[0144] Referring to FIG. 5, the data processing platform server 100 can generate a smart contract for data processing and distribute it to the blockchain, and when a smart contract is concluded with the data processing request terminal 400, a trusted execution environment for data processing can be generated.
[0145] The data processing platform server 100 can generate multiple smart contracts and distribute them to the blockchain, but if multiple different data processing operations are required for one smart contract, multiple different trusted execution environments may be generated.
[0146] The trusted execution environment generated for data processing is a virtual execution environment, and at least one can be generated for the execution of a smart contract in the data processing platform server 100. That is, even if 10 smart contracts are distributed on the blockchain, if only two smart contracts are concluded, the data processing platform server 100 can execute two trusted execution environments to execute the contracts.
[0147] In addition, each smart contract can be set to have different specifications for whether or not it has been successfully fulfilled, the fulfillment period, the fulfillment method, etc., so each smart contract undergoes a series of processes independently, being created and destroyed depending on whether or not the contract has been established and fulfilled.
[0148] For example, the data processing platform server 100 can conclude a first smart contract SC1 with a first data processing request terminal 400A and a second smart contract SC2 with a second data processing request terminal 400B. The data processing platform server 100 can generate a first trusted execution environment VM1 corresponding to the conclusion of the first smart contract SC1 and generate a second trusted execution environment VM2 corresponding to the conclusion of the second smart contract SC2. Even if there are distributed smart contracts other than the first and second smart contracts SC1 and SC2 on the blockchain BC, the data processing platform server 100 executes the trusted execution environment only for the concluded smart contracts.
[0149] The first trusted execution environment VM1 and the second trusted execution environment VM2 are virtual machines generated based on different contractual content and run independently of each other, so one trusted execution environment does not affect the other. Therefore, even if the first trusted execution environment VM1 is destroyed due to the performance of the contract, the second trusted execution environment VM2 can continue to execute data processing processes according to the content of the second smart contract SC2 without being affected.
[0150] In this way, the data processing platform server 100 can simultaneously execute multiple smart contracts using a trusted execution environment in which each smart contract is executed independently, and by using an independent data processing space that cannot be intruded upon, the risk of data leakage or misuse can be prevented.
[0151] FIG. 6 is a flowchart illustrating a method for de-identifying personal identification information using a smart contract-based trusted execution environment according to an embodiment of the present invention.
[0152] Referring to FIG. 6, the trusted execution environment executed in the data processing platform server 100 can be generated in response to a data processing request received from the data processing request terminal 300 according to a smart contract distributed on the blockchain BC, and can include a data processing code and a second encryption key (S100).
[0153] Furthermore, the trusted execution environment can obtain the first data and the first encryption key encrypted with the second encryption key from the data generation terminal 200 and the encryption key supply terminal 300, respectively (S110).
[0154] In addition, the trusted execution environment can decrypt the first encryption key encrypted based on the second encryption key (S120), and then decrypt the first data based on the first encryption key (S130).
[0155] In addition, the trusted execution environment may process the decrypted first data according to the data processing code to generate a data processing result (S140).
[0156] In addition, the trusted execution environment can provide the encrypted data processing result to the data processing request terminal 400 by encrypting the data processing result using the third public key of the data processing request terminal 400 and returning it to the blockchain (S150). Therefore, the smart contract concluded between the data processing platform server 100 and the data processing request terminal 400 can be terminated at the same time as the data processing result is returned.
[0157] Then, the trusted execution environment can be destroyed by executing a destruction command when the performance of the smart contract is completed (S160). When the trusted execution environment is destroyed, the environment constituting the trusted execution environment is initialized, and a series of data including the first data and the document processing code received from the data generation terminal 200 is erased.
[0158] The steps of the user data management method or algorithm using data processing in a smart contract-based trusted execution environment described in connection with the embodiments of the present invention may be embodied directly in hardware, or in a software module executed by hardware, or a combination thereof. The software module may be stored in a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a hard disk, a removable disk, a CD-ROM, or any other type of computer-readable recording medium known in the art to which the present invention pertains.
[0159] Although the embodiments of the present invention have been described above, it will be understood that those skilled in the art can make various modifications and variations without departing from the scope of the claims of the present invention. [Industrial Applicability]
[0160] According to the present invention, even if personal information is de-identified, it can be restored and used so that the personal information can be identified in limited circumstances, and after the data processing results are derived, it can be safely deleted to protect the privacy of individuals.
[0161] In addition, according to the present invention, by de-identifying identified personal information in advance before a series of data processing processes such as data storage, streaming, and transfer, it is possible to fundamentally block access to personal information in a hardware manner.
[0162] Furthermore, according to the present invention, when a smart contract is terminated, the trusted execution environment is destroyed and the stored data is also erased, thereby preventing collected data from leaking to the outside, and fundamentally blocking the operator of the data processing platform server from viewing data, thereby protecting the privacy of the data subject.
[0163] Furthermore, according to the present invention, personal information generated by data generating devices such as cameras, CCTV, and home cameras is fundamentally encrypted, and is not disclosed to the data subject, and is only used in a restricted manner under specific analytical conditions, thereby making it possible to protect personal privacy.
[0164] Furthermore, according to the present invention, multiple smart contracts can be executed simultaneously using a trusted execution environment in which each smart contract is executed independently.
[0165] In addition, according to the present invention, by recording a discard command flag in the blockchain, the trusted execution environment in which the data was provided can be stably removed, and it can be guaranteed that the data has been safely erased without being leaked to the outside.
[0166] In addition, according to the present invention, the data processing requesting terminal can obtain the desired data processing result without directly collecting or processing the data required for material processing, and since the data required for material processing is not leaked to the data processing requesting terminal, the privacy of the subject who provided the data can be safely protected. [Explanation of symbols]
[0167] 10 Personally Identifiable Information De-identification Processing System 100 Data Processing Platform Servers 200 Data generation terminals 300 Encryption key supply terminal 400 Data processing request terminal 400A First data processing request terminal 400B Second data processing request terminal
Claims
1. In response to a data processing request received from a data processing request terminal according to the smart contract distributed on the blockchain, a trusted execution environment including a data processing code and a second encryption key is generated in the data processing platform server; The trusted execution environment acquires first data and a first encryption key from a data generating terminal and an encryption key providing terminal, respectively; the trusted execution environment decrypting the first data based on the first encryption key; the trusted execution environment processes the decrypted first data in accordance with the data processing code to generate a data processing result; the trusted execution environment providing the data processing result to the data processing requesting terminal; The method for processing personal information using a smart contract-based trusted execution environment, comprising: a step of disabling the trusted execution environment according to the smart contract.
2. After the trusted execution environment is generated, 2. The method of claim 1, further comprising the step of: the trusted execution environment generating a first transaction requesting the first data and a second transaction requesting the first encryption key and recording them in the blockchain.
3. the first encryption key is an asymmetric key pair consisting of a first private key and a first public key generated by the encryption key supply terminal; 2. The method of claim 1, wherein the first public key is generated based on the first private key, and the first encryption key is updated by the encryption key supply terminal according to a predetermined schedule.
4. 4. The method for processing personal information using a smart contract-based trusted execution environment according to claim 3, wherein the first data is data generated by the data generation terminal, a data area corresponding to personal information is de-identified based on the first public key, and includes first public key information for the first public key used in the de-identification process.
5. 5. The method for processing personal information using a smart contract-based trusted execution environment according to claim 4, wherein the decrypted first data is a data area corresponding to the personal information that has been identified based on the first personal key.
6. the second encryption key is an asymmetric key pair consisting of a second private key and a second public key of the trusted execution environment; 2. The method of claim 1, wherein the second public key is generated based on the second private key and is an account address of the trusted execution environment in the blockchain.
7. 2. The method of claim 1, wherein the trusted execution environment is a virtual execution environment that maintains validity only during the lifetime of the smart contract.
8. The step of revoking in accordance with the smart contract includes: executing a destruction order; and deleting a trusted execution environment including the document processing code, the first data, and the decrypted first data.
9. The step of executing the discard instruction comprises:
9. The method for processing personal information using a smart contract-based trusted execution environment according to claim 8, further comprising: executing the discard command; generating a flag indicating the execution of the discard command; and then generating a transaction including the flag and recording it in the blockchain.
10. The step of decoding the first data includes:
2. The method for processing personal information using a smart contract-based trusted execution environment according to claim 1, wherein, when the trusted execution environment acquires the first data from a plurality of data generating terminals, the method identifies a data area corresponding to personal information based on a first private key corresponding to first public key information included in each first data.
11. The step of generating a trusted execution environment includes: generating a primitive trusted execution environment in which no arbitrary data processing code and the second encryption key have been generated; and generating the trusted execution environment including the data processing code corresponding to the data processing request and the second encryption key based on the original trusted execution environment.
12. The step of generating a primitive trusted execution environment includes: The personal information processing method using smart contract-based trusted execution environment processing according to claim 11, characterized in that a first hash value of a primitive image file that is the basis for generating the primitive trusted execution environment is generated, and the first hash value is compared with a second hash value of a primitive image file already distributed on the blockchain to determine whether they match, and if they match, the originality of the primitive trusted execution environment is guaranteed.
13. generating the trusted execution environment including the material processing code corresponding to the material processing request and the second encryption key, 12. The method of claim 11, further comprising: generating a first image file of the trusted execution environment; generating a hash value of the first image file; and generating a transaction including the hash value and recording the transaction in the blockchain.
14. 14. A computer-readable storage medium storing one or more programs, the one or more programs being configured to be executed by one or more processors of an electronic device, the one or more programs comprising instructions for carrying out the method of any one of claims 1 to 13.
15. a data generation terminal that generates first data including a data area in which personal information has been de-identified based on a first encryption key; and Responding to a data processing request received from a data processing request terminal according to a smart contract distributed on the blockchain, and generating a trusted execution environment including a data processing code and a second encryption key; a data processing platform server that acquires the first encryption key encrypted with the second encryption key and the first data from the blockchain; The trusted execution environment decrypts the encrypted first encryption key based on the second encryption key, decrypts the first data based on the decrypted first encryption key, processes the decrypted first data according to the data processing code to generate a data processing result, and the trusted execution environment returns the data processing result to the data processing requesting terminal according to the smart contract.
16. The data generation terminal 16. The personal information processing system using a smart contract-based trusted execution environment according to claim 15, wherein the system is a video shooting device that shoots video, detects people in the captured video frames, performs de-identification processing on at least some of the people who need to be de-identified, and generates the first data including the video frames on which the de-identification processing has been performed.
17. The data generation terminal 17. The personal information processing system using a smart contract-based trusted execution environment of claim 16, wherein a primary de-identification process is performed on the person requiring de-identification using a third encryption key generated by a symmetric encryption algorithm, and the third encryption key is encrypted based on the first encryption key.
18. 16. The personal information processing system using a smart contract-based trusted execution environment according to claim 15, wherein the trusted execution environment is a virtual execution environment that maintains validity only for the duration of the smart contract, and is destroyed in accordance with the smart contract after providing the document processing result to the data processing requesting terminal, and upon destruction, the trusted execution environment including the document processing code, the first data, and the decrypted first data is deleted.
19. the decrypted first data is data in which a data area corresponding to the personal information is identified based on the decrypted first encryption key, The personal information processing system using a smart contract-based trusted execution environment according to claim 15, wherein the trusted execution environment processes the identified personal information according to the data processing code to generate a data processing result.
20. 16. The personal information processing system using a smart contract-based trusted execution environment according to claim 15, further comprising an encryption key supply terminal that generates the different first encryption keys according to a predetermined schedule and provides the first encryption keys to the data generation terminal.