KR101992402B1 - Method for Protecting Personal Data Using Homomorphic Encryption - Google Patents
Method for Protecting Personal Data Using Homomorphic Encryption Download PDFInfo
- Publication number
- KR101992402B1 KR101992402B1 KR1020170074997A KR20170074997A KR101992402B1 KR 101992402 B1 KR101992402 B1 KR 101992402B1 KR 1020170074997 A KR1020170074997 A KR 1020170074997A KR 20170074997 A KR20170074997 A KR 20170074997A KR 101992402 B1 KR101992402 B1 KR 101992402B1
- Authority
- KR
- South Korea
- Prior art keywords
- server
- information
- credit provider
- service providing
- user
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6209—Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명에 의해 신용 제공자 서버에 가입하는 방법은, 사용자 단말기와, 신용 제공자 서버와, 키 저장 서버를 포함하는 환경에서 수행되며, 상기 방법은, 신용 제공자 서버가 사용자 단말기로부터 사용자 암호화키로 동형 암호화된 제1 개인정보와, 암호화되지 않은 제2 개인정보를 수신하는 제1 단계와;;신용 제공자 서버가 제2 개인 정보를 제1 암호화 키로 동형 암호화하고 저장하는 제2 단계와; 신용 제공자 서버가 사용자 단말기와 공유하는 랜덤값과 제1 복호화 키의 차이인 (제1 복호화 키 - 랜덤값)을 키 저장 서버로 전송하는 제3 단계와; 키 저장 서버가, 사용자 단말기로부터 전송받은 (사용자 복호화키 - 랜덤값)과 신용 제공자 서버로부터 전송받은 (제1 복호화 키 - 랜덤값)의 차이인 [(사용자 복호화키 - 랜덤값) - (제1 복호화 키 - 랜덤값)]을 제2 복호화키로 저장하는 제4 단계를 포함한다.A method for subscribing to a credit provider server in accordance with the present invention is performed in an environment including a user terminal, a credit provider server and a key storage server, the method comprising the steps of: A first step of receiving the first personal information and the second private information that is not encrypted; a second step of the credit provider server iso-encrypting and storing the second personal information with the first encryption key; A third step of transmitting, to the key storage server, a difference between a random value shared by the credit provider server with the user terminal and a first decryption key (a first decryption key-random value); The key storage server stores the [(User Decryption Key - random value) - (the first decryption key - the random value) which is the difference between the (user decryption key - random value) received from the user terminal and the Decryption key-random value)] as a second decryption key.
Description
본 발명은 동형 암호화를 이용한 개인 정보 보호 방법에 대한 것으로서 좀 더 구체적으로는, 온라인/오프라인 서비스를 이용하기 위해 가입할 때에 개인 정보를 보호할 수 있는 방법에 대한 것이다.The present invention relates to a method for protecting personal information using the same type of encryption, and more particularly, to a method for protecting personal information when subscribing to use an online / offline service.
온라인 또는 오프라인 서비스를 이용하기 위해 사용자가 개인 정보를 제공하고 제공된 개인 정보는 서비스 제공 주체가 보관하는 것이 일반적이다. 개인정보 보호법에 따라서 보관 주체측이 보관하는 개인정보는 암호화되어 관리되어야 하지만 유출되지 않도록 관리하는 것은 용이하지 않고 실제로도 개인정보 유출의 문제가 발생하고 있다.In order to use online or offline services, it is common for users to provide personal information and to keep the personal information provided by the service provider. According to the Personal Information Protection Act, the personal information stored by the storage side should be encrypted and managed, but it is not easy to manage the leakage of personal information.
본 발명은 이러한 종래 기술의 문제점을 해결하기 위해, 서비스 제공자측은 복호화할 수 없도록 암호화된 개인 정보를 암호화한 데이터를 저장할 뿐이지만, 실제 서비스 제공에는 문제가 없으며, 제3자의 정보 요청에 대해서도 실제 개인 정보를 전달하지 않고도 요청받은 정보를 전달하는 효과가 있는 방법을 제공하는 것을 목적으로 한다.In order to solve the problems of the related art, the present invention solves the problems of the related art, and the service provider only stores the encrypted data of the encrypted personal information so that it can not be decrypted, but there is no problem in actual service provision, It is an object of the present invention to provide a method for transmitting requested information without transmitting information.
본 발명에 의해 신용 제공자 서버에 가입하는 방법은, 사용자 단말기와, 신용 제공자 서버와, 키 저장 서버를 포함하는 환경에서 수행되며, 상기 방법은, 신용 제공자 서버가 사용자 단말기로부터 사용자 암호화키로 동형 암호화된 제1 개인정보와, 암호화되지 않은 제2 개인정보를 수신하는 제1 단계와;;신용 제공자 서버가 제2 개인 정보를 제1 암호화 키로 동형 암호화하고 저장하는 제2 단계와; 신용 제공자 서버가 사용자 단말기와 공유하는 랜덤값과 제1 복호화 키의 차이인 (제1 복호화 키 - 랜덤값)을 키 저장 서버로 전송하는 제3 단계와; 키 저장 서버가, 사용자 단말기로부터 전송받은 (사용자 복호화키 - 랜덤값)과 신용 제공자 서버로부터 전송받은 (제1 복호화 키 - 랜덤값)의 차이인 [(사용자 복호화키 - 랜덤값) - (제1 복호화 키 - 랜덤값)]을 제2 복호화키로 저장하는 제4 단계를 포함한다.A method for subscribing to a credit provider server in accordance with the present invention is performed in an environment including a user terminal, a credit provider server and a key storage server, the method comprising the steps of: A first step of receiving the first personal information and the second private information that is not encrypted; a second step of the credit provider server iso-encrypting and storing the second personal information with the first encryption key; A third step of transmitting, to the key storage server, a difference between a random value shared by the credit provider server with the user terminal and a first decryption key (a first decryption key-random value); The key storage server stores the [(User Decryption Key - random value) - (the first decryption key - the random value) which is the difference between the (user decryption key - random value) received from the user terminal and the Decryption key-random value)] as a second decryption key.
랜덤값은 사용자 단말기가 생성하여 신용 제공자 서버로 전송한 값일 수 있다.The random value may be a value generated by the user terminal and transmitted to the credit provider server.
랜덤값은 디피 헬만 키교환 방법에 의해서 공유되는 값일 수 있다.The random value may be a value shared by the Diffie-Hellman key exchange method.
상기 방법에 의해 신용 제공자 서버에 가입한 후 사용자의 서비스 제공 서버로의 가입 방법은, 서비스 제공 서버가 사용자 단말기로부터 사용자 정보를 요청하는 제1 단계와; 서비스 제공 서버가 신용 제공자 서버로부터 사용자 암호화키로 동형 암호화된 제1 개인정보 및 제1 암호화 키로 동형 암호화된 제2 개인 정보를 수신하는 제2 단계와; 서비스 제공 서버가 암호화된 개인 정보를 저장하는 제3 단계를 포함한다.A method for subscribing to a service provider server after subscribing to a credit provider server according to the method comprises: a first step of the service provider server requesting user information from a user terminal; A second step of the service providing server receiving from the credit provider server first personal information that is isomorphically encrypted with the user encryption key and second personal information that is isomorphically encrypted with the first encryption key; And a third step in which the service providing server stores the encrypted personal information.
상기 서비스 제공 서버로의 가입 방법에 의해 가입한 사용자에 대한 정보를 서비스 제공 서버가 정보 소비자 서버에 제공하는 방법에 있어서, 서비스 제공 서버가 신용 제공자 서버에 제1 암호화키를 요청하는 제1 단계와; 서비스 제공 서버가 신용 제공자 서버로부터 제1 암호화키를 수신하는 제2 단계와; 서비스 제공 서버가 제1 암호화키로 트랜잭션 데이터를 동형 암호화하는 제3 단계와; 서비스 제공 서버가 제1 암호화키로 동형 암호화된 트랜잭션 데이터와 암호화된 개인 정보를 정보 소비자 서버로 전송하는 제4 단계와; 정보 소비자 서버가 암호화된 개인 정보와 트랜잭션 데이터에 대해서 연산을 수행하는 제5 단계와; 정보 소비자 서버가 신용 제공자 서버에 연산 결과에 대한 복호화를 요청하는 제6 단계와; 정보 소비자 서버가 신용 제공자 서버로부터 복호화된 데이터를 전송받는 제7 단계를 포함한다.A method of providing a service providing server with information on a user subscribed by a subscription method to a service providing server, the method comprising: a first step of the service providing server requesting a first encryption key to a credit provider server; ; A second step of the service providing server receiving the first encryption key from the credit provider server; A third step of the service providing server isotically encrypting the transaction data with the first encryption key; A fourth step in which the service providing server transmits the transaction data and the encrypted private information, which are isomorphically encrypted with the first encryption key, to the information consumer server; A fifth step of the information consumer server performing an operation on encrypted private information and transaction data; A sixth step of the information consumer server requesting the credit provider server to decrypt the operation result; And a seventh step in which the information consumer server receives the decrypted data from the credit provider server.
본 발명의 다른 형태에 의한, 서비스 제공 서버가 사용자에 대한 정보를 정보 소비자 서버에 제공하는 방법은, 서비스 제공 서버가 자체 암호화키로 트랜잭션 데이터를 동형 암호화하는 제1 단계와; 서비스 제공 서버가 제1 단계에서 암호화된 트랜잭션 데이터와 암호화된 개인 정보를 정보 소비자 서버로 전송하는 제2 단계와; 정보 소비자 서버가 암호화된 개인 정보와 트랜잭션 데이터에 대해서 연산을 수행하는 제3 단계와; 정보 소비자 서버가 신용 제공자 서버와 서비스 제공 서버에 연산 결과의 복호화를 요청하는 제4 단계와; 정보 소비자 서버가 신용 제공자 서버와 서비스 제공 서버로부터 복호화 결과를 전송받는 제5 단계를 포함한다.According to another aspect of the present invention, a method for providing a service providing server with information about a user to an information consumer server includes: a first step in which a service providing server encrypts transaction data with a self-encrypting key; A second step of the service providing server transmitting the encrypted transaction data and the encrypted personal information to the information consumer server in the first step; A third step of the information consumer server performing an operation on encrypted private information and transaction data; A fourth step of the information consumer server requesting the credit provider server and the service providing server to decode the operation result; And a fifth step in which the information consumer server receives the decoding result from the credit provider server and the service providing server.
본 발명에 의하면, 민감한 개인 정보를 서비스 제공자에게 제공하지 않고도, 필요한 경우 서비스 제공자가 보관하고 있는 개인 정보와 트랜잭션 정보를 정보 소비자에게 제공할 수 있는 효과가 제공된다.According to the present invention, it is possible to provide the information consumer with the personal information and the transaction information stored by the service provider, if necessary, without providing the sensitive personal information to the service provider.
도 1은 본 발명에 의한 신용 제공자 서버로의 가입 방법의 흐름도.
도 2는 본 발명에 의한 서비스 제공 서버로의 가입 방법의 흐름도.
도 3은 본 발명에 의해 서비스 제공 서버가 정보 소비자 서버로 정보를 제공하는 방법의 흐름도.
도 4는 서비스 제공 서버가 정보 소비자 서버로 정보를 제공하는 방법의 다른 실시예의 흐름도.1 is a flow diagram of a method for subscribing to a credit provider server in accordance with the present invention;
2 is a flowchart of a method of joining a service providing server according to the present invention;
3 is a flowchart of a method by which a service providing server provides information to an information consumer server according to the present invention.
4 is a flow diagram of another embodiment of a method by which a service providing server provides information to an information consumer server;
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
본 명세서에서 수행되는 정보(데이터) 전송 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것 뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.Encryption / decryption may be applied to the information (data) transmission process performed in the present specification, and expressions describing the process of transmitting information (data) in the present specification and claims are not limited to encryption / decryption Should be construed as including. Expressions of the form "transfer from A to B" or "receive from A" in this specification include transmission (transfer) or reception of another medium in between, It does not just represent transmission (forwarding) or receiving. In the description of the present invention, the order of each step should be understood to be non-limiting, unless the preceding step must be performed logically and temporally before the next step. That is to say, except for the exceptional cases mentioned above, even if the process described in the following stage is performed before the process described in the preceding stage, it does not affect the essence of the invention and the scope of the right should be defined regardless of the order of the stages. &Quot; A " or " B " is defined herein to mean not only selectively pointing to either A or B, but also including both A and B. It is also to be understood that the term "comprising " is intended to encompass further including other elements in addition to the elements listed as being included.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.Only essential components necessary for explanation of the present invention are described in this specification, and components not related to the essence of the present invention are not mentioned. And should not be construed in an exclusive sense that includes only the recited elements, but should be interpreted in a non-exclusive sense to include other elements as well.
본 명세서에서 명시적인 표현이 없더라도 "암호화"는 동형 암호화(homomorphic encryption)을 의미하며, 동형 암호화가 아닌 암호화는 별도로 표기한다.&Quot; Encryption "means homomorphic encryption, and encryption other than homogeneous encryption is indicated separately.
도 1에는 본 발명에 의한 신용 제공자 서버(20)로의 가입 방법의 흐름도가 도시되어 있다.1, there is shown a flow diagram of a method of subscribing to a
본 명세서에서 신용 제공자 서버(20)는 일종의 인증 기관이 운영하는 서버로서 사용자가 개인 정보를 제공하여 가입할 수 있다. 신용 제공자 서버(20)에 사용자가 개인 정보를 제공하여 가입한 후에 실제 서비스를 제공하는 서비스 제공 주체가 운영하는 서비스 제공 서버(40)에 가입할 때에는 추가적인 개인 정보를 제공하지 않아도 된다. 그러나 사용자가 서비스 제공 서버(40)측에 선택적으로 개인 정보를 제공하는 경우를 완전히 배제하는 것은 아니다. 예를 들어, 서비스 제공 서버(40)가 요구하는 민감하지 않은 추가적인 개인 정보는 서비스 제공 서버(40)에 제공할 수도 있다.In this specification, the
사용자는 사용자 단말기(10)를 통해 제2 개인 정보와 암호화된 제1 개인 정보를 신용 제공자 서버(20)에 전송한다(단계 100). 사용자의 개인 정보는 제1 개인 정보와 제2 개인 정보로 나뉜다. 제1 개인 정보는 사용자 단말기(10)의 사용자 암호화키(Ek)로 암호화되며, 제2 개인 정보는 후술하는 바와 같이 신용 제공자 서버(20)의 제1 암호화 키로 암호화된다. 제2 개인 정보는 신용 제공자 서버(20)측에서 암호화하도록 사용자가 동의한 개인 정보 예를 들어, 특정 개인을 확정할 수 없는 학력, 연봉, 재산, 직업군 등과 같은 정보를 의미한다. 일반적으로는 민감한 개인 정보 예를 들어, 이름, 주민등록번호, 주소 정보와 같은 항목을 제1 개인 정보로 설정해서 사용자 암호화키로 암호화한다. 사용자 단말기(10)는 사용자 암호화 키(Ek)에 대응하는 사용자 복호화 키(Dk)를 이용할 수 있다.The user transmits the second personal information and the encrypted first personal information to the
신용 제공자 서버(20)는 제2 개인 정보를 제1 암호화 키(ek1)로 암호화하고 저장한다(단계 105). 신용 제공자 서버(20)는 제1 암호화 키(ek1)에 대응하는 제1 복호화 키(dk1)을 이용할 수 있다.The credit provider server 20 encrypts and stores the second personal information with the first encryption key ek1 (step 105). The
사용자 단말기(10)는 디피 헬만 키 교환 방법(Diffie-Hellman key exchange) 등에 의해 신용 제공자 서버(20)와 공통의 랜덤값(r)을 공유한다(단계 110). 사용자 단말기(10)와 신용 제공자 서버(20)가 랜덤값(r)을 공유하는 방법은 디피 헬만 키 교환 방법 이외에도 공지되어 있는 다른 방법을 적용해도 무방하다.The
다음으로 단계 115에서 사용자 복호화키(Dk)와 랜덤값(r)의 차이인 (Dk-r)을 키 저장 서버(30)로 전송한다. 신용 제공자 서버(20)는 제1 복호화 키(dk1)와 랜덤값(r)의 차이인 (dk1-r)을 키 저장 서버(30)로 전송한다(단계 120). 키 저장 서버(30)는 (Dk-r) - (dk1-r)의 연산을 수행하여 제2 복호화 키(dk2)로 저장한다(단계 125). 즉 사용자 복호화 키(Dk)는 신용 제공자 서버(20)가 이용 가능한 제1 복호화 키(dk1)와 키 저장 서버(30)가 이용 가능한 제2 복호화 키(dk2)로 나뉜다.Next, in step 115, the
도 1의 실시예에서는 사용자 단말기(10)와 신용 제공자 서버(20)가 키 교환 방법 등을 통해서 랜덤값(r)을 공유하지만, 랜덤값(r)을 사용자 단말기(10)가 생성하여 신용 제공자 서버(20)로 전송하여 랜덤값(r)을 사용자 단말기(10)와 신용 제공자 서버(20)가 공유하게 할 수도 있다.1, the
도 1에 의한 신용 제공자 서버(20)에 사용자가 개인 정보를 제공하여 가입 신청을 한 후에, 실제로 서비스를 이용하고자 하는 서비스 제공 주체의 서비스 제공 서버(40)에 가입 신청을 한다(단계 200). 이 때 사용자는 서비스 제공 서버(40)에 개인 정보를 제공하지 않는다. 가입 신청을 받은 서비스 제공 서버(40)는 해당 사용자의 정보를 신용 제공자 서버(20)에 요청한다.After the user provides personal information to the
신용 제공자 서버(20)는 암호화된 제1 개인 정보 및 제2 개인 정보를 전송한다(단계 210). 전술한 바와 같이, 제1 개인 정보는 사용자 암호화키로 암호화되어 있고 제2 개인 정보는 신용 제공자 서버(20)의 제1 암호화 키(ek1)로 암호화되어 있으므로, 복호화 키를 가지고 있지 않은 서비스 제공 서버(40)는 개인 정보를 알 수 없다. 서비스 제공 서버(40)는 암호화된 개인 정보(본 명세서에서 서비스 제공 서버에 저장되는 "암호화된 개인 정보"는 "사용자 암호화키로 암호화된 제1 개인 정보와 신용 제공자 서버(20)의 제1 암호화 키(ek1)으로 암호화된 제2 개인정보의 결합"으로 정의된다)의 사본을 저장한다(단계 215).The
도 1 및 도 2의 가입 방법에 의해서 가입한 후에 사용자는 서비스 제공 서버(40)의 서비스를 이용할 수 있다. 서비스 이용 과정에서 사용자가 이용한 서비스의 내역 등 즉 트랜잭션 데이터가 축적될 수 있다. 예를 들어, 금융 서비스를 제공하는 서비스 제공 서버(40)의 경우에는, 사용자의 나이별, 성별, 지역별, 학력별, 직업별 등에 따라 선호하는 금융 상품의 종류가 축적될 수 있으며, 이렇게 축절된 데이터를 제3의 주체가 이용하고 싶어할 수 있다. 그런데 종래 기술에 의하면, 개인의 동의를 전제로 하고 있기는 하지만, 개인 정보와 트랜잭션 데이터가 정보 소비자인 제3의 주체에 그대로 제공되기 때문에 비록 동의했더라도 개인 정보의 무차별적이고 악의적인 유출이 가능한 문제가 있었다. 그러나 후술하는 바와 같이 본 발명에 따르면, 그러한 정보 소비자가 원하는 데이터를 전달하더라도 개인 정보의 유출이 원천적으로 불가능한 효과가 제공된다.After joining by the joining method of FIG. 1 and FIG. 2, the user can use the service of the
도 3에는 정보 소비자측의 정보 소비자 서버(60)가 서비스 제공 서버(40)에 데이터를 요청한 경우에 해당 데이터를 전달하는 방법의 흐름도가 도시되어 있다.FIG. 3 is a flowchart of a method of transmitting data when the
단계 300에서 정보 소비자 서버(60)가 서비스 제공 서버(40)에 데이터를 요청한다. 서비스 제공 서버(40)는 신용 제공자 서버(20)에 제1 암호화 키(ek1)를 요청한다(단계 305). 신용 제공자 서버(20)는 제1 암호화 키(ek1)를 서비스 제공 서버(40)로 전송한다(단계 310). 서비스 제공 서버(40)는 제1 암호화 키(ek1)로 트랜잭션 데이터를 암호화하고(단계 315), 암호화된 개인 정보와 함께 암호화된 트랜잭션 데이터를 정보 소비자 서버(60)로 전송한다(단계 320).In step 300, the
전술한 바와 같이 본 발명의 암호화는 동형 암호화이기 때문에, 암호화된 데이터에 대해서 연산을 하더라도 비암호화 상태의 데이터로 연산을 하는 것과 같은 효과가 있다. 정보 소비자 서버(60)는 전송받은 동형 암호화된 데이터에 대해서 얻고자 하는 결과를 위한 연산을 수행한다(단계 325). 예를 들어, 연령별, 직업별, 성별에 따라 축적된 트랜잭션 데이터 통계 등을 얻기 위한 연산을 수행할 수 있다.As described above, since the encryption of the present invention is the same type of encryption, even when the encrypted data is operated, the same effect as the operation of the non-encrypted data is obtained. The
그리고 정보 소비자 서버(60)는 신용 제공자 서버(20)에 연산 결과에 대한 복호화를 요청하고(단계 330), 신용 제공자 서버(20)로부터 복호화된 데이터를 전송받는다(단계 335). 여기에서 민감한 사용자 정보인 제1 개인 정보는 사용자 암호화 키에 의해서 암호화되어 있기 때문에 정보 소비자 서버(60)가 그러한 제1 개인 정보를 획득할 수는 없으며, 제2 개인 정보와 트랜잭션 데이터에 대한 연산 결과를 복호화할 수 있을 뿐이기 때문에 보안성이 종래 기술에 비해 훨씬 강화되면서도 정보 소비자 서버(60)가 얻고자 하는 결과를 얻을 수 있는 효과가 있다.The
도 4에는 다른 실시예에 의한 정보 소비자 서버로의 정보 제공 방법의 흐름도가 도시되어 있다.4 is a flowchart of a method of providing information to an information consumer server according to another embodiment.
정보 소비자 서버(60)는 서비스 제공 서버(40)에 데이터를 요청한다(단계 400). 서비스 제공 서버(40)는 자체 암호화 키로 트랜잭션 데이터를 암호화한다(단계 405). 그리고 암호화된 데이터 즉 암호화된 개인 정보와 자체 암호화 키로 암호화된 트랜잭션 데이터를 정보 소비자 서버(60)로 전송한다(단계 410). 서비스 제공 서버(40)는 자체 복호화 키를 이용할 수 있다.The
본 발명의 암호화는 동형 암호화이기 때문에, 암호화된 데이터에 대해서 연산을 하더라도 비암호화 상태의 데이터로 연산을 하는 것과 같은 효과가 있다. 정보 소비자 서버(60)는 전송받은 동형 암호화된 데이터에 대해서 얻고자 하는 결과를 위한 연산을 수행한다(단계 415).Since the encryption of the present invention is the same type of encryption, even when the encrypted data is operated, the same effect as that of the non-encrypted data is obtained. The
그리고 정보 소비자 서버(60)는 신용 제공자 서버(20)와, 서비스 제공 서버(40)에 연산 결과에 대한 복호화를 요청하고(단계 420, 425), 신용 제공자 서버(20)와 서비스 제공 서버(40)로부터 복호화된 데이터를 전송받는다(단계 430, 435).The
이 실시예에 의하더라도, 민감한 사용자 정보인 제1 개인 정보는 사용자 암호화 키에 의해서 암호화되어 있기 때문에 정보 소비자 서버(60)가 그러한 제1 개인 정보를 획득할 수는 없으며, 제2 개인 정보와 트랜잭션 데이터에 대한 연산 결과를 복호화할 수 있을 뿐이기 때문에 보안성이 종래 기술에 비해 훨씬 강화되면서도 정보 소비자 서버(60)가 얻고자 하는 결과를 얻을 수 있는 효과가 있다.Even in this embodiment, since the first personal information, which is sensitive user information, is encrypted by the user encryption key, the
도 5에는 법적 권한을 가진 기관 예를 들어 정부의 수사기관이나 세금 징수 기관 등이 서비스 제공자 측에 개인 정보 및/또는 트랜잭션 데이터를 요청하는 경우에 그러한 개인 정보를 제공하는 방법의 흐름도가 도시되어 있다. 법적 권한 기관은 법률 및/또는 사법부의 결정에 의하여 개인 정보를 수집할 수 있다.5 shows a flow diagram of a method for providing personal information and / or transaction data to a service provider when an agency having legal authority, such as a government investigation agency or a tax collection agency, requests the personal information and / or transaction data . The legal authority may collect personal information at the discretion of the law and / or judiciary.
먼저 개인 정보 수집에 대한 법적 권한을 가진 법적 권한 기관 서버(70)가 서비스 제공 서버(40)에 데이터를 요청한다(단계 500). 서비스 제공 서버(40)는 암호화된 개인 정보 및/또는 트랜잭션 데이터를 전송한다(단계 505).The
법적 권한 기관 서버(70)는 신용 제공자 서버(20)와 키 저장 서버(30)에 각각 데이터의 복호화를 요청한다(단계 510, 515). 신용 제공자 서버(20)는 제1 복호화 키(dk1)을 이용할 수 있고, 키 저장 서버(30)는 제2 복호화 키(dk2)를 이용할 수 있기 때문에, 두 복호화를 통해서 각각 복호화된 데이터를 병합하면 사용자 암호화 키(Ek)로 암호화된 제1 개인 정보까지 복호화한 데이터를 생성할 수 있다.The
신용 제공자 서버(20)와 키 저장 서버(30) 어느 곳도 완전한 복호화 키(Dk)를 가지고 있지 않기 때문에 민감한 제1 개인 정보를 어느 곳도 복호화하여 볼 수 없고, 법적 권한 기관 서버(70)의 적법한 요청에 따라서 각각 복호화한 파편적인 정보만을 볼 수 있을 뿐이다. 오로지 법적 권한 기관 서버(70)만이 각각 복호화한 정보를 수신해서 병합함으로써 온전한 개인 정보를 확인할 수 있기 때문에, 개인 정보의 보안성이 종래 기술에 비해 획기적으로 고양되는 효과가 있다.Since neither the
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.While the present invention has been described with reference to the accompanying drawings, it is to be understood that the scope of the present invention is defined by the claims that follow, and should not be construed as limited to the above-described embodiments and / or drawings. It is to be expressly understood that improvements, changes and modifications that are obvious to those skilled in the art are also within the scope of the present invention as set forth in the claims.
10: 사용자 단말기
20: 신용 제공자 서버
30: 키 저장 서버
40: 서비스 제공 서버
60: 정보 소비자 서버
70: 법적 권한 기관 서버10: User terminal
20: Credit provider server
30: Key storage server
40: Service providing server
60: Information Consumer Server
70: Legal authority authority server
Claims (6)
신용 제공자 서버가 사용자 단말기로부터 사용자 암호화키로 동형 암호화된 제1 개인정보와, 암호화되지 않은 제2 개인정보를 수신하는 제1 단계와,
신용 제공자 서버가 제2 개인 정보를 제1 암호화 키로 동형 암호화하고 저장하는 제2 단계와,
신용 제공자 서버가 사용자 단말기와 공유하는 랜덤값과 제1 복호화 키의 차이인 (제1 복호화 키 - 랜덤값)을 키 저장 서버로 전송하는 제3 단계와,
키 저장 서버가, 사용자 단말기로부터 전송받은 (사용자 복호화키 - 랜덤값)과 신용 제공자 서버로부터 전송받은 (제1 복호화 키 - 랜덤값)의 차이인 [(사용자 복호화키 - 랜덤값) - (제1 복호화 키 - 랜덤값)]을 제2 복호화키로 저장하는 제4 단계를 포함하는,
신용 제공자 서버로의 가입 방법.
A method for subscribing to a credit provider server in an environment including a user terminal, a credit provider server, and a key storage server,
A first step in which a credit provider server receives first personal information and second unencrypted personal information that are isomorphically encrypted with a user encryption key from a user terminal;
A second step in which the credit provider server identifies and encrypts the second personal information with the first encryption key,
A third step of transmitting, to the key storage server, a difference between a random value shared by the credit provider server with the user terminal and a first decryption key (a first decryption key-random value)
The key storage server stores the [(User Decryption Key - random value) - (the first decryption key - the random value) which is the difference between the (user decryption key - random value) received from the user terminal and the Decryption key-random value)] as a second decryption key.
How to join a credit provider server.
랜덤값은 사용자 단말기가 생성하여 신용 제공자 서버로 전송한 값인,
신용 제공자 서버로의 가입 방법.
The method according to claim 1,
The random value is a value generated by the user terminal and transmitted to the credit provider server,
How to join a credit provider server.
랜덤값은 디피 헬만 키교환 방법에 의해서 공유되는 값인,
신용 제공자 서버로의 가입 방법.
The method according to claim 1,
The random value is a value shared by the Diffie-Hellman key exchange method,
How to join a credit provider server.
서비스 제공 서버가 신용 제공자 서버에 사용자 정보를 요청하는 제1 단계와,
서비스 제공 서버가 신용 제공자 서버로부터 사용자 암호화키로 동형 암호화된 제1 개인정보 및 제1 암호화 키로 동형 암호화된 제2 개인 정보를 수신하는 제2 단계와,
서비스 제공 서버가 암호화된 개인 정보를 저장하는 제3 단계를 포함하는,
서비스 제공 서버에 가입하는 방법.
A method for joining a service providing server by a user subscribed to a credit provider server by a method of joining a credit provider server according to any one of claims 1 to 3,
A first step of the service providing server requesting the user information to the credit provider server,
A second step of the service providing server receiving from the credit provider server first personal information that is isomorphically encrypted with the user encryption key and second personal information that is isomorphically encrypted with the first encryption key;
And a third step of the service providing server storing the encrypted personal information.
How to subscribe to a service provisioning server.
서비스 제공 서버가 신용 제공자 서버에 제1 암호화키를 요청하는 제1 단계와,
서비스 제공 서버가 신용 제공자 서버로부터 제1 암호화키를 수신하는 제2 단계와,
서비스 제공 서버가 제1 암호화키로 트랜잭션 데이터를 동형 암호화하는 제3 단계와,
서비스 제공 서버가 제1 암호화키로 동형 암호화된 트랜잭션 데이터와 암호화된 개인 정보를 정보 소비자 서버로 전송하는 제4 단계와,
정보 소비자 서버가 암호화된 개인 정보와 트랜잭션 데이터에 대해서 연산을 수행하는 제5 단계와,
정보 소비자 서버가 신용 제공자 서버에 연산 결과에 대한 복호화를 요청하는 제6 단계와,
정보 소비자 서버가 신용 제공자 서버로부터 복호화된 데이터를 전송받는 제7 단계를 포함하는,
사용자에 대한 정보를 정보 소비자 서버에 제공하는 방법.
A method of providing information about a user subscribed to a service providing server to an information consumer server by a method of joining a service providing server according to claim 4,
A first step of the service providing server requesting a first encryption key to the credit provider server;
A second step of the service providing server receiving a first encryption key from a credit provider server;
A third step of the service providing server isochronizing the transaction data with the first encryption key,
A fourth step of the service providing server transmitting the transaction data and the encrypted private information, which are isomorphically encrypted with the first encryption key, to the information consumer server;
A fifth step of the information consumer server performing an operation on encrypted private information and transaction data;
A sixth step of the information consumer server requesting the credit provider server to decrypt the calculation result,
And a seventh step in which the information consumer server receives the decrypted data from the credit provider server.
And providing information about the user to the information consumer server.
서비스 제공 서버가 자체 암호화키로 트랜잭션 데이터를 동형 암호화하는 제1 단계와,
서비스 제공 서버가 제1 단계에서 암호화된 트랜잭션 데이터와 암호화된 개인 정보를 정보 소비자 서버로 전송하는 제2 단계와,
정보 소비자 서버가 암호화된 개인 정보와 트랜잭션 데이터에 대해서 연산을 수행하는 제3 단계와,
정보 소비자 서버가 신용 제공자 서버와 서비스 제공 서버에 연산 결과의 복호화를 요청하는 제4 단계와,
정보 소비자 서버가 신용 제공자 서버와 서비스 제공 서버로부터 복호화 결과를 전송받는 제5 단계를 포함하는,
사용자에 대한 정보를 정보 소비자 서버에 제공하는 방법.
A method of providing information about a user subscribed to a service providing server to an information consumer server by a method of joining a service providing server according to claim 4,
A first step of the service providing server encrypting the transaction data with a self-encrypting key;
A second step of the service providing server transmitting the encrypted transaction data and the encrypted personal information to the information consumer server in the first step;
A third step of the information consumer server performing an operation on encrypted private information and transaction data;
A fourth step of the information consumer server requesting the credit provider server and the service providing server to decode the operation result;
And a fifth step of the information consumer server receiving the decoding result from the credit provider server and the service providing server.
And providing information about the user to the information consumer server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170074997A KR101992402B1 (en) | 2017-06-14 | 2017-06-14 | Method for Protecting Personal Data Using Homomorphic Encryption |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170074997A KR101992402B1 (en) | 2017-06-14 | 2017-06-14 | Method for Protecting Personal Data Using Homomorphic Encryption |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180136267A KR20180136267A (en) | 2018-12-24 |
KR101992402B1 true KR101992402B1 (en) | 2019-06-24 |
Family
ID=65010046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170074997A Active KR101992402B1 (en) | 2017-06-14 | 2017-06-14 | Method for Protecting Personal Data Using Homomorphic Encryption |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101992402B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11381381B2 (en) | 2019-05-31 | 2022-07-05 | Intuit Inc. | Privacy preserving oracle |
KR102401485B1 (en) * | 2021-12-30 | 2022-05-24 | 주식회사 디사일로 | Method and system for processing homomorphic encrypted data |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000017964A (en) * | 1999-12-31 | 2000-04-06 | 전동현 | Keyboard including a function of card identification, security system on electronic commerce, and method of purchasing goods used by the system |
KR20090001844A (en) * | 2007-05-28 | 2009-01-09 | 주식회사 핑거 | Mobile payment service method using mobile banking |
KR101483187B1 (en) * | 2008-12-16 | 2015-01-16 | 주식회사 케이티 | Conditional access system and method exchanging randon value |
KR101109928B1 (en) * | 2009-06-10 | 2012-02-24 | 에스케이플래닛 주식회사 | System and method for strengthening security of finance, and apparatus applied to the smae |
KR101438274B1 (en) * | 2012-09-20 | 2014-09-15 | 동국대학교 경주캠퍼스 산학협력단 | Method for checking a health condition though smart terminal and health condition check system using the method |
-
2017
- 2017-06-14 KR KR1020170074997A patent/KR101992402B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20180136267A (en) | 2018-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mowbray et al. | A client-based privacy manager for cloud computing | |
US10346627B2 (en) | Privacy preserving data querying | |
EP1593100B1 (en) | Method for ensuring privacy in electronic transactions with session key blocks | |
US11824971B2 (en) | Peer-to-peer transmission system with a controlled, double-tier cryptographic key structure | |
US20140052989A1 (en) | Secure data exchange using messaging service | |
US10250385B2 (en) | Customer call logging data privacy in cloud infrastructure | |
US10887085B2 (en) | System and method for controlling usage of cryptographic keys | |
US10979410B1 (en) | Systems and methods for utilizing cryptology with virtual ledgers in support of transactions and agreements | |
US10063655B2 (en) | Information processing method, trusted server, and cloud server | |
EP2879323A1 (en) | Method and distributed data processing system for managing access to data | |
US11095620B1 (en) | Secure method, system, and computer program product for exchange of data | |
EP3891924A1 (en) | Data transmission | |
CN117390675A (en) | Data query method, electronic device and readable storage medium | |
KR20220163483A (en) | Confidential information protection using multi-party computing and K-anonymity technology | |
CN109391607B (en) | Data encryption and decryption method, device and system | |
KR101992402B1 (en) | Method for Protecting Personal Data Using Homomorphic Encryption | |
KR20160040399A (en) | Personal Information Management System and Personal Information Management Method | |
AU2024202015A1 (en) | User verification systems and methods | |
CN117668899A (en) | Multi-party combination-based data query method, device and storage medium | |
CN113315749B (en) | User data on-chain, user data usage methods, anonymous system and storage media | |
CN104809365A (en) | Digital rights management system, management method and its information transmission system and method | |
CN112187777A (en) | Intelligent traffic sensing data encryption method and device, computer equipment and storage medium | |
Abur et al. | Privacy protection and collusion avoidance solution for cloud computing users | |
CN114666119B (en) | Data processing method, device, electronic equipment and medium | |
Sarddar et al. | Safety as a Service (SFaaS) Model-The New Invention in Cloud computing to establish a Secure Logical Communication Channel between Data Owner and the Cloud Service Provider before Storing, Retrieving or Accessing any Data in the Cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20170614 |
|
PA0201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20181206 Patent event code: PE09021S01D |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20190615 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20190618 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20190618 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20220404 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20230404 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20240618 Start annual number: 6 End annual number: 6 |