KR102602119B1 - 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들 - Google Patents

블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들 Download PDF

Info

Publication number
KR102602119B1
KR102602119B1 KR1020180040584A KR20180040584A KR102602119B1 KR 102602119 B1 KR102602119 B1 KR 102602119B1 KR 1020180040584 A KR1020180040584 A KR 1020180040584A KR 20180040584 A KR20180040584 A KR 20180040584A KR 102602119 B1 KR102602119 B1 KR 102602119B1
Authority
KR
South Korea
Prior art keywords
blockchain system
key
personal information
server device
analysis value
Prior art date
Application number
KR1020180040584A
Other languages
English (en)
Other versions
KR20190117286A (ko
Inventor
천정희
김동우
Original Assignee
주식회사 크립토랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 크립토랩 filed Critical 주식회사 크립토랩
Priority to KR1020180040584A priority Critical patent/KR102602119B1/ko
Priority to PCT/KR2019/001487 priority patent/WO2019194403A1/ko
Priority to EP19781221.7A priority patent/EP3780480A4/en
Priority to US16/375,325 priority patent/US11316657B2/en
Publication of KR20190117286A publication Critical patent/KR20190117286A/ko
Priority to KR1020220102474A priority patent/KR20220119574A/ko
Application granted granted Critical
Publication of KR102602119B1 publication Critical patent/KR102602119B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)

Abstract

사용자 장치의 데이터 공유 방법이 개시된다. 본 방법은, 정보를 보관 중인 서버 장치로부터 개인 키를 제공받는 단계, 서버 장치가 제공한 동형 암호화 키를 이용하여 개인 키를 동형 암호화하여 전환 키를 생성하는 단계 및 전환 키를 블록 체인 시스템에 업로드하는 단계를 포함한다. 이에 따라, 효과적이며 투명성있게 데이터를 공유할 수 있다.

Description

블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들 { USER DEVICE AND ELECTRONIC DEVICE FOR SHARING DATA BASED ON BLOCK CHAIN AND HOMOMORPHIC ENCRYPTION TECHNOLOGY AND METHODS THEREOF }
본 발명은 데이터를 공유하기 위한 장치들 및 그 방법들에 대한 것으로, 보다 상세하게는, 동형 암호 기술을 이용하여 암호화된 개인 정보를 블록 체인 시스템을 통해 공유하는 장치들 및 그 방법들에 대한 것이다.
전자 기술의 발달에 힘입어 다양한 분야에서 전자 장치가 활용되고 있다. 특히, 빅데이터 시대가 도래하면서 데이터 활용의 중요성이 크게 증대되었다.
빅 데이터를 구성하는 각 개인의 데이터는 다양한 루트를 통해 수집될 수 있다. 일 예로, 관공서나 병원, 학교 등과 같은 공공 기관에서, 서비스를 원하는 사용자는 자신의 이름이나 주소, 주민번호, 전화 번호 등과 같은 개인 정보를 입력하여야 하는 경우가 있다. 입력된 개인 정보는 빅데이터를 구성하여, 매우 유용하게 사용될 수 있다.
하지만, 개인 정보 활용 과정에서 프라이버시 침해가 이루어질 수 있다는 우려가 있다. 특히, 사용자가 자신의 개인 정보 활용에 대한 동의서를 제출한다고 하더라도, 동의 받은 활용자가 어떻게 활용하는지에 대한 감시가 불가능하며, 제3자에게 유출되어 불의의 피해를 입을 수 있다는 문제점도 있었다.
따라서, 보안성이 강화된 데이터 공유 기술에 대한 필요성이 대두되었다.
본 발명은 상술한 필요성에 따른 것으로, 본 발명의 목적은, 블록 체인 및 동형 암호 기술을 이용하여 데이터를 공유하는 전자 장치 및 그 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 사용자 장치의 데이터 공유 방법은, 정보를 보관 중인 서버 장치로부터 상기 정보에 대응되는 개인 키를 제공받는 단계, 상기 서버 장치가 제공한 동형 암호화 키를 이용하여 상기 개인 키를 동형 암호화하여 전환 키를 생성하는 단계 및 상기 전환 키를 블록 체인 시스템에 공개하는 단계를 포함한다.
또는, 본 발명의 일 실시 예에 따른 전자 장치의 데이터 공유 방법은, 블록 체인 시스템으로부터 전환 키를 획득하는 단계, 서버 장치에 저장된 개인 정보 암호문을 상기 전환 키를 이용하여 개인 정보 동형암호문으로 변환하는 단계, 상기 개인 정보 동형암호문에 대하여 분석 함수를 적용하여, 동형 암호화된 분석값을 획득하는 단계, 상기 분석 값을 상기 블록 체인 시스템에 업로드하는 단계, 부분 비밀 키를 각각 가지는 복수의 감시 장치에서 상기 분석 값을 처리한 처리 결과가 상기 블록 체인 시스템에 공개되면, 상기 처리 결과를 복호화하는 단계를 포함한다.
여기서, 상기 개인 정보 암호문은, 상기 서버 장치에서 생성한 개인 키를 이용하여 사용자의 개인 정보를 암호화한 암호문이며, 상기 전환 키는, 상기 개인 키를 동형 암호화한 키 동형 암호문이 될 수 있다.
또는, 상기 분석 함수를 상기 블록 체인 시스템에 업로드하는 단계 및 상기 블록 체인 시스템에서 통용되는 가상 화폐를 상기 서버 장치 및 상기 복수의 감시 장치 중 적어도 하나에 대한 인센티브로 제공하는 단계를 더 포함할 수도 있다.
또한, 상기 처리 결과는, 상기 복수의 감시 장치 각각이 상기 부분 비밀 키를 이용하여 상기 분석 값을 각각 복호화한 부분 복호문을 상기 전자 장치가 공개한 공개 키로 암호화한 복수의 부분 암호문이 될 수 있다.
이 경우, 상기 복호화하는 단계는, 상기 블록 체인 시스템으로부터 획득되는 상기 복수의 부분 암호문의 개수를 확인하는 단계 및 상기 개수가 기 설정된 임계치를 초과하면, 상기 복수의 부분 암호문을 각각 복호화하고 조합하는 단계를 포함한다.
한편, 본 발명의 일 실시 예에 따른 전자 장치는, 블록 체인 시스템 및 서버 장치와 통신하기 위한 통신부, 상기 통신부를 통해 상기 블록 체인 시스템으로부터 획득되는 전환 키를 저장하는 메모리, 상기 서버 장치에 저장된 개인 정보 암호문을 상기 통신부를 통해 획득하고, 상기 전환 키를 이용하여 동형암호문으로 변환하는 프로세서를 포함한다.
상기 프로세서는, 상기 동형암호문에 대하여 분석 함수를 적용하여, 동형 암호화된 분석값을 획득하고, 상기 통신부를 통해 상기 분석 값을 상기 블록 체인 시스템에 업로드하며, 부분 비밀 키를 각각 가지는 복수의 감시 장치에서 상기 분석 값을 처리한 처리 결과가 상기 블록 체인 시스템에 공개되면, 상기 처리 결과를 복호화할 수 있다.
또한, 상기 개인 정보 암호문은, 상기 서버 장치에서 생성한 개인 키를 이용하여 사용자의 개인 정보를 암호화한 암호문이며, 상기 전환 키는, 상기 개인 키를 동형 암호화한 키 동형 암호문이 될 수 있다.
여기서, 상기 프로세서는, 상기 분석 함수를 상기 분석 값과 함께 상기 블록 체인 시스템에 업로드하고, 상기 블록 체인 시스템에서 통용되는 가상 화폐를 상기 서버 장치 및 상기 외부 장치 중 적어도 하나에 대한 인센티브로 제공할 수도 있다.
또한, 상기 처리 결과는, 상기 복수의 감시 장치 각각이 상기 부분 비밀 키를 이용하여 상기 분석 값을 각각 복호화한 부분 복호문을 상기 전자 장치가 공개한 공개 키로 암호화한 복수의 부분 암호문이 될 수 있다.
이 경우, 상기 프로세서는, 상기 블록 체인 시스템으로부터 획득되는 상기 복수의 부분 암호문의 개수가 기 설정된 임계치를 초과하면, 상기 복수의 부분 암호문을 각각 복호화하고 조합할 수 있다.
한편, 본 발명의 다른 실시 예에 따른 사용자 장치의 데이터 공유 방법은, 서버 장치로 정보를 제공하고, 상기 정보에 대응되는 개인 키를 획득하는 단계 및 상기 개인 키를 블록 체인 시스템에 업로드하는 단계를 포함할 수도 있다.
또한, 감시 장치의 데이터 공유 방법은, 분석 함수 및 상기 분석 함수에 의해 분석된 동형 암호문 분석 값을 블록 체인 시스템으로부터 획득하는 단계, 상기 분석 함수의 복잡도를 검증하는 단계, 상기 분석 함수에 대한 검증이 이루어지면, 비밀 키를 이용하여 상기 동형 암호문 분석 값을 복호화하여 복호문을 획득하는 단계 및 복수의 부분 비밀 키 중 상기 감시 장치로 제공된 부분 비밀 키를 이용하여 상기 복호문에 대한 부분 암호문을 생성하는 단계, 상기 부분 암호문을 상기 블록 체인 시스템에 업로드하는 단계를 포함할 수 있다.
또는, 개인 정보를 관리하는 관리자가 제공한 개인 키를 동형 암호화한 전환 키를 블록 체인 시스템에 공개하는 단계, 상기 관리자가 보관 중인 개인 정보 암호문을 상기 전환 키를 이용하여 개인 정보 동형 암호문으로 변환하고 기 설정된 방식으로 분석한 분석 값을 상기 블록 체인 시스템에 공개하는 단계, 부분 비밀 키를 각각 보유한 복수의 감시자가 상기 분석 값을 각각 부분 복호화하는 단계, 및 상기 관리자 및 상기 복수의 감시자 중 적어도 하나에게 보상을 지급하는 단계를 포함하는 데이터 공유를 위한 비지니스 모델이 제공될 수도 있다.
이상과 같은 본 발명의 다양한 실시 예에 따르면, 데이터 관리 기관, 개인, 데이터 활용자가 모두 참여하는 데이터 관리 플랫폼을 제공할 수 있다. 구체적으로는, 개인 정보 활용에 대한 신뢰성을 제공하면서, 효율적인 데이터 공유가 가능해진다.
도 1은 본 발명의 일 실시 예에 따른 데이터 공유 시스템의 구성을 나타내는 도면,
도 2는 본 발명의 일 실시 예에 따른 데이터 공유 방법을 설명하기 위한 타이밍도,
도 3은 본 발명의 일 실시 예에 따른 서버 장치의 구성을 나타내는 블럭도,
도 4는 본 발명의 일 실시 예에 따른 서버 장치의 데이터 공유 방법을 설명하기 위한 흐름도,
도 5는 본 발명의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도,
도 6 및 도 7은 본 발명의 다양한 실시 예에 따른 전자 장치의 데이터 공유 방법을 설명하기 위한 흐름도,
도 8은 본 발명의 일 실시 예에 따른 감시 장치의 데이터 공유 방법을 설명하기 위한 흐름도,
도 9는 본 발명의 일 실시 예에 따른 사용자 장치의 데이터 공유 방법을 설명하기 위한 흐름도, 그리고,
도 10은 블록 체인 시스템을 통해 데이터를 공유하는 데이터 공유 방법을 설명하기 위한 흐름도이다.
이하, 본 문서의 다양한 실시예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 문서의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
또한, 본 문서에서 사용된 "제 1," "제 2," 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다. 예를 들면, 제 1 사용자 기기와 제 2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 문서에 기재된 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제 3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제 1 구성요소)가 다른 구성요소(예: 제 2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 다른 실시예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 용어들은 본 문서에 기재된 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 본 문서에 사용된 용어들 중 일반적인 사전에 정의된 용어들은, 관련 기술의 문맥상 가지는 의미와 동일 또는 유사한 의미로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 문서의 실시예들을 배제하도록 해석될 수 없다.
이하에서, 첨부된 도면을 이용하여 본 발명의 다양한 실시 예들에 대하여 구체적으로 설명한다.
도 1은 본 발명의 일 실시 예에 따른 데이터 공유 시스템의 구성을 나타내는 블럭도이다. 도 1에 따르면, 데이터 공유 시스템은 서버 장치(100), 전자 장치(200), 복수의 사용자 장치(300-1 ~ 300-n), 감시단(400), 블록 체인 시스템(10)을 포함한다.
블록 체인 시스템(10)은 복수의 장치들이 데이터를 분산 보유하며, 일정 시간 단위로 블록을 생성하고, 각 장치들이 검증하는 방식으로 동작하는 시스템을 의미한다. 블록 체인 시스템(10)은 다르게는 블록 체인 네트워크라고 부를 수도 있다. 블록 체인 시스템(10)은 블록 체인 어플리케이션과 플랫폼으로 구성될 수 있다. 도 1의 각 장치들은 블록 체인 시스템(10)을 이용하기 위하여, 블록 체인 어플리케이션을 설치할 수 있다.
서버 장치(100)는 개인 정보를 저장 및 관리하는 장치이다. 서버 장치(100)는 데이터 관리 기관이나 관리 장치 또는 개인 정보 DB로 명명할 수도 있으나, 본 명세서에서는 서버 장치(100)로 통칭하여 설명한다.
복수의 사용자 장치(300-1 ~ 300-n)는 각 사용자들이 가지는 전자 장치를 의미한다. 일 예로, 복수의 사용자 장치(300-1 ~ 300-n)는 휴대폰, 태블릿 PC, PC, 랩탑 PC, 키오스크 등으로 구현될 수 있다.
서버 장치(100)는 복수의 사용자 장치(300-1 ~ 300-n)로부터 각각 개인 정보를 제공받을 수도 있으나, 반드시 이에 한정되지 않으며, 자체적으로 구비한 입력 수단을 통해서 개인 정보를 입력받을 수도 있다. 도 1에서는 설명의 편의를 위하여, 하나의 서버 장치(100)를 도시하였으나, 서버 장치(100)는 꼭 하나일 필요는 없고, 다수일 경우도 있다. 실제 예에서, 병원, 공공기관, 금융기관 등과 같이 개개인의 데이터를 저장하고 있는 여러 장치들로 구현될 수 있다. 본 발명의 다양한 실시 예들에 따르면, 복수의 서로 다른 서버 장치들이 존재하더라도 데이터 공유가 효율적으로 이루어질 수 있다.
서버 장치(100)는 개인 정보를 제공한 사용자에게 개인 키를 부여한다. 개인 키란 개인 정보를 암호화하기 위한 대칭 키를 의미한다. 일 예로, 서버 장치(100)는 마스터 암호화 키 MSKj를 설정한 후, 마스터 암호화 키에 의사 난수 함수(Pseudo Random Function : PRF)를 적용하여, 개인 키를 생성한다. 개인키를 Si,j라고 표현하면, Si,j는 PRF(MSKj, i)와 같이 표현될 수 있다.
서버 장치(100)는 생성된 개인 키를 대응되는 사용자에게 부여하고, 그 사용자가 제공한 개인 정보(Di,j)를 해당 개인 키(Si,j)로 암호화하여 개인 정보 암호문(encsi,j(Di,j))을 생성한 후, 저장한다. 개인 키를 부여한다는 것은 그 사용자가 소지한 사용자 장치로 개인 키를 전송하는 것이 될 수 있다. 사용자는 자신에게 부여된 개인 키를 이용하여, 서버 장치(100)로 액세스하여 자신의 개인 정보를 확인하거나 수정, 삭제할 수 있다.
서버 장치(100)는 또한 동형 암호화에 사용하기 위한 동형 암호화 공개 키(pk) 및 비밀키(sk)를 생성한다. 본 명세서에서는 서버 장치(100)가 직접 공개키 및 비밀키를 생성하는 것으로 도시 및 설명하지만, 키 생성은 서버장치가 아닌 신뢰할 수 있는 제3 기관이 할 수도 있다.
도 1과 같이, 복수의 감시 장치(400-1 ~ 400-m)가 존재하는 경우, 서버 장치(100)는 비밀키에 기초하여 복수의 부분 비밀 키를 생성한다. 서버 장치(100)는 복수의 부분 비밀 키를 복수의 감시 장치(400-1 ~ 400-m)로 각각 전송한다.
개인 키가 부여된 사용자가 자신의 정보 활용에 동의하면, 동형 암호화 공개 키(pk)를 이용하여 개인 키를 동형 암호화한 암호문(Encpk(Si,j))이 블록 체인 시스템(10)에 업로드된다.
일 예로, 제2 사용자 장치(300-2)의 사용자가 개인 정보를 서버 장치(100)에 제공하였다면, 서버 장치(100)는 그 개인 정보 암호화에 사용된 개인 키를 제2 사용자 장치(300-2)로 전송한다. 제2 사용자 장치(300-2)의 사용자는 자신의 개인 정보의 활용 여부에 동의할 수 있다. 사용자가 동의하면, 제2 사용자 장치(300-2)는 개인 키를 암호화한 암호문을 블록 체인 시스템(10)에 업로드한다.
다른 예로, 개인 키에 대한 암호화 및 암호문 업로드는 서버 장치(100)에 의해 이루어질 수도 있다. 구체적으로는 사용자가 자신의 개인 정보를 서버 장치(100)로 제공할 때, 서버 장치(100)가 제공한 UI(User Interface)에서 개인 정보 활용에 동의하면, 서버 장치(100)는 개인 키를 동형 암호화하여 블록 체인 시스템(10)에 업로드한다. 동형 암호화된 키 동형 암호문은 본 명세서에서는 전환 키로 명명한다.
본 명세서에서, 블록 체인 시스템(10)에 업로드하거나 공개한다는 것은, 다수의 참여자들이 연결되어 있는 네트워크 상에서 일정 시간마다(예를 들어, 10분) 공개되는 공개 장부(블록)에 기록된다는 것을 의미한다. 사용자가 동의를 철회하면, 공개 장부에 기록된 개인 키의 암호문은 공개 장부에서 제거되거나, 또는 해당 암호문이 만료되었거나, 효력이 없다는 사실이 공개 장부에 기록될 수 있다. 설명의 편의를 위하여, 본 명세서에서는 개인 키의 암호문을 전환 키로 명명한다. 사용자는 자신의 개인 정보 중에서 타인에게 활용될 것을 동의하는 부분에 대해서만 부분적으로 동의할 수도 있다.
전자 장치(200)는 서버 장치(100)에 저장된 개인 정보를 활용하기 위한 장치를 의미한다. 전자 장치(200)는 데이터를 활용하고자 하는 사용자나 단체가 소유한 PC, 랩탑 PC, 휴대폰, 태블릿 PC, 서버 장치 등으로 구현될 수 있으며, 다르게는, 데이터 활용 기관으로 명명할 수도 있다.
전자 장치(200)는 블록 체인 시스템(10)에 업로드된 전환 키를 이용하여, 서버 장치(100)의 개인 정보 암호문을 이용할 수 있다. 개인 정보 암호문(encsi,j(Di,j))은 전환 키에 의해 개인 정보 동형 암호문(Encpk(Di,j))으로 변환된 후, 전자 장치(200)에서 설정한 분석 함수에 따라 분석되어 블록 체인 시스템(10)에 업로드될 수 있다. 개인 정보 암호문을 개인 정보 동형 암호문으로 변환하는 작업이나, 분석 함수를 이용한 분석 작업은 실시 예에 따라서 전자 장치(200)에 의해 이루어질 수도 있고, 블록 체인 시스템(10) 내의 가상 머신(Virtual Machine)에 의해서 이루어질 수도 있으며, 이와 달리 서버 장치(100)에 의해 이루어질 수도 있다. 각 실시 예들에 대해서는 후술하는 부분에서 다시 구체적으로 설명한다.
감시단(400)은 하나의 감시 장치로 구현될 수도 있지만, 신뢰성 강화를 위하여 복수의 감시 장치(400-1 ~ 400-m)로 구성될 수도 있다. 감시 장치(400-1 ~ 400-m)의 수는 신뢰성과 보안성을 고려하여 적절하게 설정될 수 있다. 감시 장치(400-1 ~ 400-m)는 감시자가 소지하거나 사용하는 휴대폰, 태블릿 PC, PC, 랩탑 PC, 키오스크 등이 될 수 있다.
상술한 바와 같이, 복수의 감시 장치(400-1 ~ 400-m)들은 서버 장치(100)로부터 부분 비밀키를 각각 제공받고, 또한, 전자 장치(200)로부터 동형 암호화를 위한 공개키(Pkx)를 제공받을 수 있다.
각 감시 장치(400-1 ~ 400-m)는 분석 값이 블록 체인 시스템(10)에 올라 있으면, 부분 비밀키를 이용하여 분석 값을 부분 복호화한다. 분석 함수를 Fl이라 하면, 분석 값은 Fl(Encpk(Di,j))=Encpk(Fl(Di,j))로 표현될 수 있다. 또한, 각 감시 장치(400-1 ~ 400-m)중에서 k번째 감시 장치(400-k)에서 부분 복호화한 값은 Fl(Di,j)k로 표현될 수 있다.
각 감시 장치(400-1 ~ 400-m)는, 부분 복호화된 값을 전자 장치(200)가 제공한 공개 키로 암호화한 후, 암호문을 블록 체인 시스템(10)에 업로드한다.
전자 장치(200)는 블록 체인 시스템으로부터 암호문을 획득한 후, 복호화하여, 부분 복호화 값을 수집할 수 있다. 전자 장치(200)는 일정 개수 이상의 부분 복호화 값이 수집되면, 그 값에 기초하여 최종적으로 Fl(Di,j)를 확인할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 데이터 공유 방법을 설명하기 위한 타이밍도이다. 도 2에서는 하나의 사용자 장치(300) 및 하나의 감시 장치(400)를 도시하였으나, 실제 동작에서는 복수의 장치들이 사용될 수 있다.
서버 장치(100)는 사용자에게 부여할 개인 키, 동형 암호화에 사용하기 위한 동형 암호화 공개 키(pk) 및 비밀키(sk)등을 생성한다(S200). 또한, 서버 장치는 비밀키에 기초하여 복수의 부분 비밀 키를 생성한다. 상술한 바와 같이, 키 생성 동작은 서버 장치가 아닌 제3의 장치에서 수행될 수도 있다.
서버 장치(100)는 생성한 개인 키는 사용자 장치(300)로 분배하고(S205), 부분 비밀키는 감시 장치로 분배한다(S210). 감시 장치가 하나인 경우에는, 서버 장치(100)는 복수의 부분 비밀 키를 만드는 과정을 생략하고, 하나의 비밀 키를 감시 장치로 제공할 수도 있다.
서버 장치(100)는 사용자 장치(300)를 사용하는 사용자의 개인 정보를 개인 키를 이용하여 암호화한 개인 정보 암호문을 생성하여, 저장한다(S220). 개인 정보는 서버 장치(100)가 사용자에게 서비스를 제공하는 과정에서 획득되는 정보일 수도 있고, 사용자가 별도로 입력한 정보일 수도 있다. 일 예로, 서버 장치(100)가 관공서 DB로 구현된 경우, 사용자는 각종 증명서류를 신청하면서 자신의 이름, 주소, 주민번호, 원하는 증명서류 종류, 발급 목적 등을 기입할 수 있다.
사용자 장치(300)는 서버 장치(100)가 제공한 개인 키를 동형 암호화하여 전환 키를 생성한다(S215). 사용자 장치(300)는 생성한 전환 키를 블록 체인 시스템(10)에 업로드한다(S235). 도 2에서는 사용자 장치(300)에서 직접 전환 키를 생성하여, 블록 체인 시스템(10)에 업로드하는 것으로 설명하였지만, 다른 실시 예에서는, 서버 장치(100)가 직접 전환 키를 생성하여 블록 체인 시스템(10)에 올릴 수도 있다. 구체적으로는, 사용자가 서버 장치(100)에 개인 정보를 입력하면서 개인 정보 활용에 동의하는 의사를 전달하면, 서버 장치(100)가 개인 키를 동형 암호화하여 전환 키를 생성하고, 블록 체인 시스템(10)에 업로드할 수도 있다.
한편, 데이터를 활용하고자 하는 전자 장치(200)는 동형 암호화를 수행하기 위한 공개 키와 비밀키를 생성하여(S225), 비밀키는 자체적으로 저장하고, 공개 키는 네트워크를 통해 공개한다(S230). 감시 장치(300)는 네트워크에 공개된 공개 키를 획득할 수 있다(S230).
이러한 상황에서, 전자 장치(200)는 이용하고자 하는 데이터가 있으면, 그 데이터에 대응되는 전환 키를 블록 체인 시스템(10)으로부터 획득한다(S240). 또한, 서버 장치(100)로부터 개인 정보 암호문을 획득한다(S245). 서버 장치(100)에 대한 정보는 전자 장치(200)가 온라인 또는 오프라인 상에서 획득한 URL, IP 어드레스 등이 될 수 있으나 반드시 이에 한정되는 것은 아니다.
전자 장치(200)는 전환 키를 이용하여 개인 정보 암호문을 동형 암호화한다(S250). 전자 장치(200)는 개인 정보 동형 암호문이 산출되면, 분석 함수를 적용하여, 분석 값을 획득한다(S255). 간단한 예로, 분석 함수가 덧셈 결과를 구하는 함수라면, 분석 값은 복수의 개인 정보 동형 암호문들을 더한 값이 될 수 있다.
전자 장치(200)는 획득한 분석 값을 블록 체인 시스템(10)에 업로드한다(S260).
감시 장치(400)는 블록 체인 시스템(10)으로부터 분석 함수 및 분석 값을 획득한다(S265). 감시 장치(400)는 분석 함수의 복잡성을 먼저 검증한 후(S270), 검증에 성공하면, 부분 비밀 키를 이용하여 분석 값을 부분 복호화한다(S275).
감시 장치(400)는 부분 복호화된 데이터를 전자 장치(200)가 제공한 공개 키를 이용하여 암호화한 후(S280), 블록 체인 시스템(10)에 업로드한다(S285). 감시 장치(400)가 복수 개인 경우, 복수의 암호문이 업로드될 수 있다. 복수의 감시 장치에서 업로드된 각 암호문들은 부분 암호문이라고 명명할 수 있다.
전자 장치(200)는 블록 체인 시스템(10)으로부터 암호문을 획득한다(S290). 일정 개수 이상의 감시 장치(400)로부터 각각 올라온 복수의 암호문, 즉 복수의 부분 암호문이 획득되면, 전자 장치(200)는 자신의 비밀키로 각 부분 암호문을 복호화한 후, 이를 조합하여 분석 함수에 대한 결과값, 즉, 분석 결과를 획득할 수 있다(S295).
결과적으로, 전자 장치(200)는, 자신이 원했던 분석 함수를 이용하여 복수의 개인 정보들을 분석한 분석 정보를 획득할 수 있다.
도 2에서는, 전자 장치(200)가 직접 동형 암호문 변환을 수행하고, 분석하는 것으로 설명하였으나, 본 발명의 다른 실시 예에서는 블록 체인 시스템의 가상 머신이 개입할 수도 있다. 구체적으로는, 전자 장치(200)는 활용하고 싶은 데이터 및 분석 함수를 결정하여 블록 체인 시스템에 올릴 수 있다. 서버 장치(100)는 자신이 저장한 개인 정보 암호문에 대한 활용 요청이 확인되고, 그 데이터에 대응되는 전환 키가 블록 체인 시스템에 등록되어 있으면, 그 전환 키를 이용하여 개인 정보 암호문을 개인 정보 동형 암호문으로 변환한 후, 가상 머신(Virtual Machine)에 입력한다. 가상 머신이란 블록 체인 플랫폼에 포함된 소프트웨어를 의미한다.
가상 머신은 전자 장치(200)가 결정한 분석 함수의 입력 값으로, 개인 정보 동형 암호문을 사용하여, 분석 값을 계산한 후, 블록 체인 시스템에 업로드한다. 즉, 공개 장부에 등록한다. 이러한 실시 예에 따르면, 전자 장치(200)는 연산 부담을 경감시킬 수 있다.
블록 체인 시스템에서의 공개 장부, 가상 머신 상태, 계산 과정 등은 모든 참여자가 관찰 및 검증할 수 있다. 따라서, 개인 정보를 제공한 사용자는 자신의 개인 정보가 어떻게 활용되는지 투명하게 알 수 있다.
한편, 또 다른 실시 예에 따르면, 개인 정보를 보관하고 있는 서버 장치(100), 사용자 장치(300), 감시 장치(400) 중 적어도 하나의 장치들에 대해서 보상을 지급할 수도 있다. 보상은 가상 화폐의 형태로 지급될 수 있으나 반드시 이에 한정되는 것은 아니다. 데이터를 활용하는 전자 장치(200)의 사용자는 데이터 활용을 요청할 때, 데이터 제공자나 감시 장치 등에게 제공할 보상의 액수를 결정하여 입력할 수 있다. 상술한 방식에 따라 분석 값이 전자 장치(200)로 제공되면, 개인 정보를 제공한 개인이나, 개인 정보를 관리하는 관리자 등에게 적절한 보상이 주어질 수 있다. 감시자, 즉, 감시 장치(400)의 사용자들 전부에 대해서도 보상을 지급할 수 있으나, 반드시 이에 한정되는 것은 아니며, 올바른 판단을 유도하기 위하여, 감시자 과반의 판단과 일치할 경우에만 보상을 지급하도록 구현할 수도 있다.
한편, 이상의 실시 예에서는 사용자 장치(300)에게 부여되는 개인 키의 동형 암호문, 즉, 전환 키가 공개 장부에 등록되는 것으로 설명하였으나, 반드시 이에 한정되는 것은 아니다. 구체적으로는, 보안성이 낮은 개인 정보에 대해서는, 동형 암호화 되지 않은 개인 키 그 자체를 공개 장부에 등록할 수도 있다. 또는, 사용자 동의 강도를 복수의 레벨로 구분하여, 제1 레벨에서 동의한 사용자에 대해서는 전환 키를 공개 장부에 등록하고, 제2 레벨에서 동의한 사용자에 대해서는 개인 키를 공개 장부에 등록할 수도 있다. 개인 키 또는 전환 키를 공개 장부에 등록하는 동작은 사용자 장치가 수행할 수 있지만, 서버 장치가 직접 수행할 수도 있다.
도 3은 본 발명의 일 실시 예에 따른 서버 장치(100)의 구성을 나타내는 블럭도이다. 도 3에 따르면, 서버 장치(100)는 서버 통신부(110), 서버 제어부(120), 스토리지(130)를 포함한다.
서버 통신부(110)는 각종 외부 장치들과 유무선 방식으로 통신을 수행하기 위한 구성이다. 서버 통신부(110)는 서버 장치(100)의 종류 및 사용 환경에 따라 다양한 형태의 통신 수단을 구비할 수 있다. 예를 들어, 각종 유선 인터페이스 뿐만 아니라, 무선 랜, 와이파이, 블루투스, 지그비, 등과 같은 다양한 무선 인터페이스 중 적어도 하나를 통해 외부 장치들과 통신을 수행할 수도 있다.
서버 제어부(120)는 서버 장치(100)의 동작을 전반적으로 제어하기 위한 구성이다. 서버 제어부(120)는 적어도 하나의 프로세서 및 메모리(ROM, RAM 등) 등을 포함하는 형태로 구성될 수도 있고, SoC(system on chip)나 IC 로직(logic)의 형태로 구현될 수도 있다.
스토리지(130)는 각종 정보, 소프트웨어, 설정 값 등을 저장하기 위한 구성이다. 스토리지(130)는 각종 개인 정보나, 그 개인 정보의 암호문, 키 등을 저장할 수 있다. 예를 들어, 서버 장치(100)가 병원에서 사용되는 개인 정보들을 저장한 병원 DB라면, 개인 정보들은 환자들의 주소, 나이, 병명, 성별 등이 될 수 있다. 서버 장치(100)가 관공서 DB라면, 해당 지역에 거주하는 사람들의 신상 정보, 주소, 가족 관계, 혼인 관계 등이 될 수 있다.
도 3에서는 도시를 생략하였으나, 서버 장치(100)는 디스플레이나 각종 입력 수단을 더 포함할 수도 있다. 서버 제어부(120)는 입력 수단을 통해 각종 개인 정보를 입력받아서, 스토리지(130)에 저장할 수 있다. 서버 제어부(120)는 입력 수단을 통해 입력된 정보 중 사용자 장치(300)를 특정할 수 있는 정보(예를 들어, 휴대폰 번호 등)가 있으면, 그 정보에 기초하여 사용자 장치(300)로 개인 키를 제공할 수 있다. 서버 제어부(120)는 개인 키를 이용하여 개인 정보를 암호화하고, 그 결과 값인 개인 정보 암호문을 스토리지(130)에 저장한다. 서버 제어부(120)는 서버 통신부(110)를 통해서 개인 정보 암호문에 대한 요청이 수신되면, 요청한 장치로 개인 정보 암호문을 전송할 수 있다.
또한, 서버 제어부(120)는 모든 참여자가 공동으로 사용할 동형 암호화 공개 키 및 비밀키도 생성한다. 서버 제어부(120)는 비밀 키를 복수의 부분 비밀키로 만들어서, 복수의 감시 장치(400-1 ~ 400-m)로 제공한다. 또한, 서버 제어부(120)는 동형 암호화를 위한 공개 키도 사용자 장치(300)로 제공한다. 사용자 장치(300)는 공개 키를 이용하여 개인 키를 동형 암호화한 후, 블록 체인 시스템(10)에 업로드할 수 있다.
실시 예에 따라서는, 서버 제어부(120)는 개인 키를 직접 동형 암호화하여 전환 키를 생성한 후, 그 전환 키를 블록 체인 시스템(10)에 업로드할 수도 있다. 또는, 서버 제어부(120)는 전환 키를 직접 생성한 후, 사용자 장치(300)로 제공하여 줄 수도 있다.
한편, 상술한 다른 실시 예와 같이 가상 머신을 사용하는 경우라면, 서버 제어부(120)는 블록 체인 시스템(10)에서 요청한 데이터가 스토리지(130)에 저장된 개인 정보 암호문인지 여부를 확인할 수 있다. 저장된 개인 정보 암호문이 요청되었다고 판단되면, 서버 제어부(120)는 블록 체인 시스템(10)에 해당 개인 정보 암호문에 대한 전환 키가 등록되어 있는지 여부를 확인한다. 전환 키가 등록되어 있으면, 서버 제어부(120)는 전환 키를 이용하여 개인 정보 암호문을 개인 정보 동형 암호문으로 변환하여, 가상 머신으로 제공한다.
이러한 구성에 따르면, 개인 정보 자체는 서버 장치(100)에 보관되고, 블록 체인 시스템(10)에는 개인 키 또는 전환 키가 등록되므로, 블록 체인 시스템(10)에 업로드하는 데이터 용량을 줄이면서, 개인 정보를 보다 안전하게 보관할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 서버 장치의 데이터 공유 방법을 설명하기 위한 흐름도이다. 도 4에서는 가상 머신을 사용하는 경우를 가정하여 도시하였다.
도 4에 따르면, 서버 장치(100)는 마스터 암호화 키인 MSKi를 생성한다(S410). 서버 장치(100)는 개인 정보를 제공한 사용자 장치로 제공할 개인 키를 마스터 암호화 키를 이용하여 생성한다. 일 예로, 서버 장치는 MSKi에 의사 난수 함수(Pseudo Random Function: PRF)를 적용한 결과 값인 PRF(MSKj, i)를 개인 키 Si,j 로 설정한다. 서버 장치(100)는 생성된 개인 키를 이용하여 개인 정보를 암호화하여 저장한다(S430). 또한, 서버 장치(100)는 동형 암호화를 위한 공개 키 및 비밀 키를 생성한다(S440). 공개 키 및 비밀 키 생성은 동형 암호화 기술을 이용할 수 있다. 일 예로, 공개 키 및 비밀 키는 다음과 같은 수식으로 표현될 수 있다.
[수학식 1]
수학식 1에서 m은 공개 키의 행(row)의 개수, n은 공개 키의 열(column)의 개수, l은 평문 메시지 비트의 길이, q: 공개키의 각 원소의 최대값을 의미하고, A 및 B는 랜덤하게 결정된 값들로 각각 구성된 랜덤 행렬을 의미한다. S는 비밀 행렬을 의미한다.
수학식 1의 각 랜덤 행렬은 다음과 같은 수식으로 표현될 수 있다.
[수학식 2]
수학식 2에서 는 -q/2 부터 q/2까지 범위 내에 속하는 모든 정수들의 집합을 의미한다. A는 중에서 랜덤하게 선택된 값들로 구성된 m×n 행렬을 의미한다. B는 제1 랜덤 행렬과 비밀 행렬(S) 및 에러 행렬(E)를 이용하여 산출한 행렬을 의미한다. 일 예로, 비밀 행렬(S)는 -1, 0, 1 중 적어도 하나를 행렬 형태로 랜덤하게 조합한 행렬로 구현될 수 있고, 에러 행렬(E)는 표준편차가 인 이산 가우시안 분포를 독립적으로 m번 샘플링하여 열벡터를 산출하고 이를 다시 l개 연접하여 산출한 행렬로 구현될 수 있다.
다만, 이러한 공개 키 및 비밀 키 생성 방법은 일 예에 불과하므로, 동형 암호화 키 생성은 반드시 이러한 방식으로 생성되어야 하는 것은 아니며, 공개된 다양한 동형 암호화 키 생성 방법이 사용될 수 있다.
서버 장치(100)는 생성한 공개 키를 사용자 장치(300)로 제공한다. 또한, 서버 장치(100)는 생성된 비밀 키를 기초로, 복수의 부분 비밀키를 생성하고, 이를 복수의 감시 장치로 제공한다(S450).
일 예로, Zn q 의 원소 s가 비밀키라 할 때, m개의 부분 비밀키 생성하고자 한다면, 먼저 s1, s2, … s{m-1} 등의 부분 비밀키는 Zn q 의 임의의 원소를 선택해서 정의할 수 있다. 마지막 부분 비밀키 sm는 s-(s1+ s2+ … +s{m-1})로 정의할 수 있다.
이러한 방식으로 부분 비밀 키를 생성하고, 만약 암호문 c에 대한 복호화가 <c,s> (내적)인 경우로 가정한다면, 부분 비밀키 s_i 들에 의한 복호화 값 <c, s_i> 들을 모두 더한 값이 복호화 값이 된다. 다만, 이러한 방식은 일 예에 불과하며, 구현 예들에 따라서 다양한 형태로 변형될 수 있다.
서버 장치(100)는 보관 중인 데이터가 요청되면(S460), 블록 체인 시스템(10)에 공개된 전환 키를 획득하여, 요청된 데이터, 즉, 개인 정보 암호문을 동형 암호화한다(S470). 이 경우, 서버 장치(100)가 공개 키를 가지고 있고, 직접 전환 키를 생성한 경우라면 블록 체인 시스템(10)으로 전환 키를 받지 않고, 바로 개인 정보 암호문을 동형 암호화할 수도 있다.
서버 장치(100)는 개인 정보 동형 암호문을 가상 머신에 등록한다(S480). 개인 정보 동형 암호문은, 가상 머신에 의해 분석될 수 있다.
이상에서는 개인 정보를 관리하는 서버 장치의 구성 및 동작에 대하여 설명하였다. 이하에서는 개인 정보를 활용하기 위한 활용자, 즉, 전자 장치의 구성 및 동작에 대하여 구체적으로 설명한다.
도 5는 본 발명의 일 실시 예에 따른 전자 장치(200)의 구성을 나타내는 블럭도이다. 도 5에 따르면, 전자 장치(200)는 통신부(210), 프로세서(220), 메모리(230)를 포함한다. 전자 장치(200)의 종류에 따라서 디스플레이, 입력 수단 등과 같은 다양한 구성요소들이 추가될 수 있지만, 이러한 구성에 대한 도시 및 설명은 생략한다.
통신부(210)는 각종 유무선 통신 방식에 따라 외부 장치와 통신을 수행하기 위한 구성이다.
프로세서(220)는 통신부(210)를 통해서 블록 체인 시스템(10)이나 서버 장치(100) 등에 액세스할 수 있다. 또한, 프로세서(220)는 자체적으로 동형 암호화 키 Pkl 및 Skl을 생성한다. 프로세서(220)는 동형 암호화 공개 키 Pkl 는 통신부(210)를 통해 복수의 감시 장치들로 공개하고, 동형 암호화 비밀 키 Skl은 메모리(230)에 저장한다.
메모리(230)는 동형 암호화 비밀 키 Skl뿐만 아니라, 프로세서(220)에서 수행하기 위한 각종 프로그램이나, 데이터 등을 저장한다. 메모리(230)에는 블록 체인 시스템(10)을 이용하기 위한 어플리케이션이나 플랫폼 등이 저장될 수 있다.
프로세서(220)는 전자 장치(200)에 내장 또는 연결된 입력수단(미도시)을 통해서 특정 데이터에 대한 분석 요청을 입력받거나, 통신부(210)를 통해 외부 장치로부터 분석 요청을 수신할 수 있다. 분석 요청에는 이용할 개인 정보 대상, 분석 함수 등이 포함될 수 있다.
프로세서(220)의 동작은 다양한 실시 예에 따라서 다르게 구현될 수 있다.
일 실시 예에 따르면, 프로세서(220)는 분석을 직접 수행할 수 있다. 도 6은 이러한 실시 예에 따른 데이터 공유 방법을 설명하기 위한 흐름도이다.
도 6에 따르면, 프로세서(220)는 분석 요청에 따라 활용하고자 하는 데이터 및 분석 함수가 결정되면, 통신부(210)를 통해 블록 체인 시스템(10)에 액세스하여 데이터에 대응되는 전환 키를 획득한다(S610). 또한, 프로세서(220)는 서버 장치에 저장된 개인 정보 암호문을 통신부(210)를 통해 획득하여, 메모리(230)에 저장한다. 프로세서(220)는 전환 키를 이용하여 개인 정보 암호문을 개인 정보 동형 암호문으로 변환한다(S620).
프로세서(220)는 결정된 분석 함수를 개인 정보 동형 암호문에 적용하여 동형 암호화된 분석 값을 획득한다(S630). 프로세서(220)는 분석 값을 통신부(210)를 통해 블록 체인 시스템(10)에 업로드한다(S640). 이후에, 감시 장시가 분석 값을 부분 복호화한 후, 프로세서(220)가 제공한 공개 키로 암호화하여 부분 암호문을 생성하고, 그 암호문을 블록 체인 시스템(10)에 올릴 수 있다. 프로세서(220)는 통신부(210)를 통해서 암호문을 획득한 후 복호화한다(S650). 이 경우, 프로세서(220)는 부분 복호문의 암호문, 즉, 부분 암호문이 임계치 이상 획득되는지 여부를 판단한 후, 획득되는 것으로 판단되면 각 부분 암호문을 복호화하고 조합할 수 있다.
결과적으로, 개인 정보를 분석 함수에 의해 분석한 분석 결과를 확인할 수 있다. 프로세서(220)는 분석 결과를 메모리(230)에 저장하거나, 디스플레이(미도시)에 출력할 수 있다. 또는, 분석 결과를 통신부(210)를 통해 외부 장치로 전송하여 줄 수도 있다.
감시 장치가 하나로 구현된 경우에는, 부분 복호문이 아니라 완전 복호문에 대한 암호문이 블록 체인 시스템(10)에 업로드될 수도 있다. 이 경우에는 임계치 비교 없이 바로 복호화하여 사용할 수도 있다.
다른 실시 예에 따르면, 분석은 가상 머신에 의해 이루어질 수도 있다. 도 7은 가상 머신을 활용하여 데이터를 공유하는 방법을 설명하기 위한 흐름도이다.
도 7에 따르면, 프로세서(220)는 분석 요청에 따라 활용하고자 하는 데이터 및 분석 함수가 결정되면(S710), 결정된 데이터 및 분석 함수를 특정하는 분석 요청을 블록 체인 시스템(10)에 업로드한다(S720).
복수의 서버 장치가 존재하는 경우, 결정된 데이터를 보관하고 있는 서버 장치(100)가 블록 체인 시스템에서, 그 데이터에 대응되는 전환 키를 획득한다. 서버 장치(100)는 전환 키를 이용하여 개인 정보 암호문을 개인 정보 동형 암호문으로 변환하여 가상 머신으로 제공한다. 가상 머신은 블록 체인 시스템(10)에 업로드된 분석 함수를 이용하여 개인 정보 동형 암호문을 분석하여 블록 체인 시스템(10)에 업로드한다.
프로세서(220)는 블록 체인 시스템(10)에 분석 값에 대한 처리 결과가 업로드되었는지 수시로 확인할 수 있다(S730). 프로세서(220)는 그 처리 결과가 확인되면, 이를 획득하여 복호화한다(S740). 각 과정의 구체적인 설명은 상술한 바 있으므로, 중복 설명은 생략한다.
본 발명의 또 다른 실시 예에 따르면, 데이터 공유에 따른 보상을 지급할 수도 있다. 보상은 데이터를 활용하는 전자 장치(200)에서 지급될 수 있으나, 이 밖에도, 데이터를 저장하는 서버 장치(100)에서 사용자 장치로 지급할 수도 있다. 보상을 지급하는 비지니스 모델이 적용된 경우에는, 전자 장치(100)는 보상 내용(비용, 지급 시기 등)을 결정할 수도 있다.
구체적으로는, 프로세서(220)는 사용자가 특정 데이터에 대한 분석을 요청하면, 보상 내용을 결정할 수 있는 UI(User Interface)를 제공한다. 사용자가 UI 상에서 보상에 동의하면, 사서버 장치, 사용자 장치, 감시 장치 중 적어도 하나에 대한 인센티브를 제공할 수 있다. 인센티브는, 블록 체인 시스템(10)에서 통용되는 가상 화폐의 형태로 지급될 수 있지만, 반드시 이에 한정되는 것은 아니다. 예를 들어, 사용자가 보유하고 있는 각종 포인트나 마일리지, 현금 등의 형태로 지급될 수 있다. 또한, 지급 방식도, 사용자 명의의 은행 계좌에서 이체되거나, 별도의 지급 방식(오프라인, 지로 등)의 형태로 지급될 수도 있다.
도 8은 본 발명의 일 실시 예에 따른 감시 장치에서 수행되는 데이터 공유 방법을 설명하기 위한 흐름도이다. 도 8의 감시 장치는 복수 개의 감시 장치 중 하나를 의미한다. 도 8에 따르면, 감시 장치(400)는 개인 정보 동형 암호문에 대한 복호화를 수행하기 위한 부분 비밀 키와, 전자 장치(200)에서 공개한 공개 키 등을 수신한다(S810).
이러한 상태에서 블록 체인 시스템(10)에 분석 함수 및 분석 값이 올라오면, 감시 장치(400)는 이를 획득할 수 있다(S820).
감시 장치는 분석 함수가 올라오면, 그 복잡성을 먼저 검증할 수 있다(S830). 복잡성 검증은 다양한 방식으로 이루어질 수 있다. 일 예로, 통계에 사용되는 함수들이 합성된 분석 함수에 대해서만 적법한 분석 함수로 판단하고, 나머지 분석 함수들은 부적법하다고 판단할 수 있다.
감시 장치는 검증에 성공하면, 부분 비밀 키를 이용하여 분석 값을 부분 복호화하고(S840), 공개 키를 이용하여 암호화한다(S850). 감시 장치는 암호문을 블록 체인 시스템(10)에 업로드한다(S860). 감시 장치는 검증에 실패하면, 검증 실패 사실을 블록 체인 시스템(10)에 업로드하거나, 분석 값을 업로드한 장치에게 직접 전송하는 방식으로 알릴 수 있다(S870).
이상에서 설명한 다양한 실시 예들에 따르면, 동형 암호화 기술과 블록 체인 기술을 함께 이용하여, 데이터를 공유할 수 있다. 특히, 개인 정보를 제공한 사용자가 자신의 정보의 활용에 동의하면, 그 개인 정보에 접근할 수 있는 개인 키 또는 전환 키가 블록 체인 시스템에 올라갈 수 있다. 개인 키 또는 전환 키는 다양한 방식으로 활용될 수 있다.
도 9는 본 발명의 일 실시 예에 따른 사용자 장치의 데이터 공유 방법을 설명하기 위한 흐름도이다. 도 9에 따르면, 사용자 장치는 개인 키 및 동형 암호화 키를 서버 장치로부터 획득할 수 있다(S910).
사용자 장치는 사용자의 동의가 입력되면(S920), 동형 암호화 키를 이용하여 개인 키를 동형 암호화하여 전환 키를 생성한다(S930). 사용자 장치는 생성한 전환 키를 블록 체인 시스템에 공개한다(S940).
사용자 동의는 사용자 장치에 구성된 디스플레이에 표시된 UI 화면을 통해서 사용자가 입력할 수 있으나 반드시 이에 한정되는 것은 아니다. 또한, 상술한 바와 같이, 사용자 장치는 중요하지 않은 데이터나 사용자가 별도로 동의한 데이터에 대해서는 전환 키가 아니라 개인 키 그 자체를 블록 체인 시스템에 공개할 수도 있다. 이러한 동작을 수행하기 위한 사용자 장치는 메모리, 프로세서, 통신부 등을 포함하는 형태로 구현될 수 있으나, 이러한 구성들은 도 5의 전자 장치와 유사하므로 도시 및 설명은 생략한다.
이상 설명한 바와 같은 다양한 데이터 공유 방법은, 다양한 장치들이 연동하는 비지니스 모델로 구현될 수 있다.
도 10은 데이터 공유를 위한 비지니스 모델의 일 예를 설명하기 위한 흐름도이다. 도 10에 따르면, 사용자는 자신의 개인 정보를 특정 관리자에게 제공할 수 있다. 이 경우, 사용자에게는 개인 정보 활용에 대한 동의 여부를 결정할 수 있는 기회가 제공된다(S1010). 동의 여부는 개인 정보를 저장하는 관리자가 제공하는 홈페이지를 통해서 입력될 수도 있고, 사용자가 구비한 사용자 장치로 전송되는 문자 메시지나 이메일 등에 대한 회신 형태로 입력될 수도 있다. 또는, 오프라인 상에서 사용자가 작성한 서류가 관리자에게 제출되고, 그 관리자가 이를 업로드하는 형태로 입력될 수도 있다. 사용자 동의가 입력되면, 사용자의 개인 정보를 확인할 수 있는 개인키를 동형 암호화한 전환키가 블록 체인 시스템으로 업로드된다.
이와 별개로, 개인키는 사용자 장치로 제공될 수 있다. 사용자는 사용자 장치에 제공된 개인 키를 이용하여 해당 기관, 즉, 서버 장치로 액세스하여 자신의 정보를 삭제하거나 편집, 추가 등을 할 수 있다.
또한, 개인 정보의 종류에 따라서 또는 사용자의 동의 강도에 따라서는, 전환키가 아니라 개인 키 그 자체가 블록 체인 시스템에 업로드 되도록 정할 수도 있다.
한편, 관리자가 가지고 있는 정보를 활용하고자 하는 활용자는, 원하는 데이터와, 그 데이터에 대한 분석 방법 등을 포함하는 분석 요청을 할 수 있다. 분석 요청은 블록 체인 시스템(10)을 통해 공개된다. 분석 요청이 공개되면, 관리자가 가지고 있던 개인 정보 암호문은, 블록 체인 시스템(10)에 공개된 전환 키에 의해 개인 정보 동형 암호문으로 변환되고, 분석 함수에 의해 분석된다. 암호문 변환 및 분석은 실시 예에 따라 다른 주체에서 수행될 수 있으며, 이에 대한 설명은 상술한 바 있다. 분석 값은 블록 체인 시스템에 업로드된다(S1020).
블록 체인 시스템(10)에 분석 값이 업로드되면, 복수의 감시자들에 의한 처리가 이루어진다(S1030). 각 감시자들은 각자가 보유한 부분 비밀키를 이용하여 부분 복호화를 수행한 후, 활용자가 공개한 공개 키를 이용하여 암호문으로 변환한다. 암호문은 블록 체인 시스템(10)을 통해 활용자에게 제공되고, 활용자는 자신이 보유한 비밀 키를 이용하여 복호화하여, 최종 분석 결과 값을 확인하게 된다.
이러한 과정이 진행되면, 각 과정에 참여한 참여자들 중에서 데이터 공유에 기여한 참여자에 대한 보상이 이루어질 수 있다(S1040). 이를 위해, 활용자가 데이터 활용을 요청할 때, 데이터 제공자나 감시자들에게 제공할 보상을 입력하도록 할 수 있다. 보상 지급 시기는 비지니스 모델에 따라 다양하게 결정될 수 있다. 일 예로, 블록 체인 시스템(10)에서 분석 값이 업로드 되는 순간, 그 개인 정보를 제공한 개인이나, 관리자에게 보상이 지급될 수 있다. 감시자들의 경우에는, 일정 개수 이상의 부분 복호문에 대한 암호문들이 업로드되는 순간에, 보상이 지급될 수 있다.
이상과 같은 다양한 실시 예들은 다양한 환경에 적용될 수 있다. 예를 들어, 관리자가 병원인 경우, 관리자는 환자들을 치료하는 과정에서 확보한 다양한 개인 정보(주소, 나이, 병명, 성별, 경과, 원인) 등을 저장할 수 있다.
이 경우에는, 활용자가 보험회사가 될 수 있다. 보험 회사는 특정 지역이나 연령 대, 성별 등에서 자주 발생하는 질병의 종류, 원인 등에 대한 분석을 요청하여 분석 결과를 확보한 후, 그 분석 결과에 따라 다양한 보험 상품을 만들 수 있다. 또는, 식품 회사가 활용자인 경우, 분석 결과에 기초하여, 주로 발생하는 질병에 대한 치유 효과가 있는 제품에 대한 판촉 행사 등을 결정할 수도 있다.
이 밖에도, 다양한 형태로 개인 정보들을 활용할 수 있다. 이러한 방식에 따르면, 개인의 입장에서는 자신의 데이터 활용 여부를 자유로이 결정하고, 그 활용처에 대한 감시가 가능해질 수 있다. 데이터 관리 기관의 경우 안전한 데이터 관리가 가능해지고, 데이터 활용자의 경우에는 효율적인 데이터 활용이 가능해진다.
이상에서는 다양한 실시 예를 흐름도 및 블럭도를 이용하여 설명하였다. 각 흐름도에 도시한 단계들의 순서는 예시에 불과하며, 상황에 따라 순서가 변경될 수도 있다. 또한, 실시 예에 따라서는 일부 단계가 생략되거나, 추가될 수도 있다.
또한, 이상과 같은 다양한 실시 예에 따른 데이터 공유 방법, 키 생성 방법, 암호화 방법, 복호화 방법, 검증 방법 등을 수행하기 위한 프로그램 코드는 기록 매체에 저장된 상태로 배포될 수도 있다. 이 경우, 기록 매체가 탑재된 장치는 상술한 다양한 실시 예에 따른 동작들을 수행할 수 있다.
기록 매체는, ROM, RAM, 메모리 칩, 메모리 카드, 외장형 하드, 하드, CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 다양한 유형의 컴퓨터 판독 가능 매체가 될 수 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니 된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
10 : 블록 체인 시스템 100 : 서버 장치
200 : 전자 장치 300-1 ~ 300-n : 사용자 장치
400-1 ~ 400-m : 감시 장치

Claims (12)

  1. 삭제
  2. 전자 장치의 데이터 공유 방법에 있어서,
    블록 체인 시스템으로부터 전환 키를 획득하는 단계;
    서버 장치에 저장된 개인 정보 암호문을 상기 전환 키를 이용하여 개인 정보 동형암호문으로 변환하는 단계;
    상기 개인 정보 동형암호문에 대하여 분석 함수를 적용하여, 동형 암호화된 분석값을 획득하는 단계;
    상기 분석 값을 상기 블록 체인 시스템에 업로드하는 단계; 및
    부분 비밀 키를 각각 가지는 복수의 감시 장치에서 상기 분석 값을 처리한 처리 결과가 상기 블록 체인 시스템에 공개되면, 상기 처리 결과를 복호화하는 단계;를 포함하고,
    상기 개인 정보 암호문은, 상기 서버 장치에서 생성한 개인 키를 이용하여 사용자의 개인 정보를 암호화한 암호문이며,
    상기 전환 키는, 상기 개인 키를 동형 암호화한 키 동형 암호문인, 데이터 공유 방법.
  3. 삭제
  4. 전자 장치의 데이터 공유 방법에 있어서,
    블록 체인 시스템으로부터 전환 키를 획득하는 단계;
    서버 장치에 저장된 개인 정보 암호문을 상기 전환 키를 이용하여 개인 정보 동형암호문으로 변환하는 단계;
    상기 개인 정보 동형암호문에 대하여 분석 함수를 적용하여, 동형 암호화된 분석값을 획득하는 단계;
    상기 분석 값을 상기 블록 체인 시스템에 업로드하는 단계; 및
    부분 비밀 키를 각각 가지는 복수의 감시 장치에서 상기 분석 값을 처리한 처리 결과가 상기 블록 체인 시스템에 공개되면, 상기 처리 결과를 복호화하는 단계;를 포함하고,
    상기 분석 함수를 상기 블록 체인 시스템에 업로드하는 단계; 및
    상기 블록 체인 시스템에서 통용되는 가상 화폐를 상기 서버 장치 및 상기 복수의 감시 장치 중 적어도 하나에 대한 인센티브로 제공하는 단계;를 더 포함하는, 데이터 공유 방법.
  5. 제4항에 있어서,
    상기 처리 결과는, 상기 복수의 감시 장치 각각이 상기 부분 비밀 키를 이용하여 상기 분석 값을 각각 복호화한 부분 복호문을 상기 전자 장치가 공개한 공개 키로 암호화한 복수의 부분 암호문이며,
    상기 복호화하는 단계는,
    상기 블록 체인 시스템으로부터 획득되는 상기 복수의 부분 암호문의 개수를 확인하는 단계; 및
    상기 개수가 기 설정된 임계치를 초과하면, 상기 복수의 부분 암호문을 복호화하고 조합하는 단계;를 포함하는, 데이터 공유 방법.
  6. 전자 장치에 있어서,
    블록 체인 시스템 및 서버 장치와 통신하기 위한 통신부;
    상기 통신부를 통해 상기 블록 체인 시스템으로부터 획득되는 전환 키를 저장하는 메모리; 및
    상기 서버 장치에 저장된 개인 정보 암호문을 상기 통신부를 통해 획득하고, 상기 전환 키를 이용하여 동형암호문으로 변환하는 프로세서;를 포함하며,
    상기 프로세서는,
    상기 동형암호문에 대하여 분석 함수를 적용하여, 동형 암호화된 분석값을 획득하고, 상기 통신부를 통해 상기 분석 값을 상기 블록 체인 시스템에 업로드하며, 부분 비밀 키를 각각 가지는 복수의 감시 장치에서 상기 분석 값을 처리한 처리 결과가 상기 블록 체인 시스템에 공개되면, 상기 처리 결과를 복호화하고,
    상기 개인 정보 암호문은, 상기 서버 장치에서 생성한 개인 키를 이용하여 사용자의 개인 정보를 암호화한 암호문이며,
    상기 전환 키는, 상기 개인 키를 동형 암호화한 키 동형 암호문인, 전자 장치.
  7. 삭제
  8. 전자 장치에 있어서,
    블록 체인 시스템 및 서버 장치와 통신하기 위한 통신부;
    상기 통신부를 통해 상기 블록 체인 시스템으로부터 획득되는 전환 키를 저장하는 메모리; 및
    상기 서버 장치에 저장된 개인 정보 암호문을 상기 통신부를 통해 획득하고, 상기 전환 키를 이용하여 동형암호문으로 변환하는 프로세서;를 포함하며,
    상기 프로세서는,
    상기 동형암호문에 대하여 분석 함수를 적용하여, 동형 암호화된 분석값을 획득하고, 상기 통신부를 통해 상기 분석 값을 상기 블록 체인 시스템에 업로드하며, 부분 비밀 키를 각각 가지는 복수의 감시 장치에서 상기 분석 값을 처리한 처리 결과가 상기 블록 체인 시스템에 공개되면, 상기 처리 결과를 복호화하고,
    상기 프로세서는,
    상기 분석 함수를 상기 분석 값과 함께 상기 블록 체인 시스템에 업로드하고, 상기 블록 체인 시스템에서 통용되는 가상 화폐를 상기 서버 장치 및 상기 복수의 감시 장치 중 적어도 하나에 대한 인센티브로 제공하는, 전자 장치.
  9. 제8항에 있어서,
    상기 처리 결과는, 상기 복수의 감시 장치 각각이 상기 부분 비밀 키를 이용하여 상기 분석 값을 각각 복호화한 부분 복호문을 상기 전자 장치가 공개한 공개 키로 암호화한 복수의 부분 암호문이며,
    상기 프로세서는,
    상기 블록 체인 시스템으로부터 획득되는 상기 복수의 부분 암호문의 개수가 기 설정된 임계치를 초과하면, 상기 복수의 부분 암호문을 각각 복호화하고 조합하는, 전자 장치.











  10. 삭제
  11. 삭제
  12. 삭제
KR1020180040584A 2018-04-06 2018-04-06 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들 KR102602119B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020180040584A KR102602119B1 (ko) 2018-04-06 2018-04-06 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
PCT/KR2019/001487 WO2019194403A1 (ko) 2018-04-06 2019-02-01 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
EP19781221.7A EP3780480A4 (en) 2018-04-06 2019-02-01 USER DEVICE AND ELECTRONIC DEVICE FOR SHARING DATA BY MEANS OF A CHAIN OF BLOCKS AND HOMORPHIC ENCRYPTION PROCESS AND ASSOCIATED PROCESSES
US16/375,325 US11316657B2 (en) 2018-04-06 2019-04-04 User device and electronic device for sharing data based on block chain and homomorphic encryption technology and methods thereof
KR1020220102474A KR20220119574A (ko) 2018-04-06 2022-08-17 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180040584A KR102602119B1 (ko) 2018-04-06 2018-04-06 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020220102474A Division KR20220119574A (ko) 2018-04-06 2022-08-17 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들

Publications (2)

Publication Number Publication Date
KR20190117286A KR20190117286A (ko) 2019-10-16
KR102602119B1 true KR102602119B1 (ko) 2023-11-15

Family

ID=68096628

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020180040584A KR102602119B1 (ko) 2018-04-06 2018-04-06 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
KR1020220102474A KR20220119574A (ko) 2018-04-06 2022-08-17 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020220102474A KR20220119574A (ko) 2018-04-06 2022-08-17 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들

Country Status (4)

Country Link
US (1) US11316657B2 (ko)
EP (1) EP3780480A4 (ko)
KR (2) KR102602119B1 (ko)
WO (1) WO2019194403A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019204094A1 (en) * 2018-04-19 2019-10-24 Walmart Apollo, Llc Systems and methods for decentralized content distribution
CN110827121B (zh) * 2019-10-22 2023-08-18 全链通有限公司 基于区块链的电子投标方法、设备及存储介质
CN110730186A (zh) * 2019-10-22 2020-01-24 全链通有限公司 基于区块链的Token发放方法、记账节点及介质
CN110784300B (zh) * 2019-11-08 2022-09-16 中国电子科技网络信息安全有限公司 一种基于乘法同态加密的密钥合成方法
US11941619B2 (en) * 2019-12-12 2024-03-26 Paypal, Inc. Validation and storage of transaction data for a blockchain
CN111062058B (zh) * 2019-12-26 2022-04-15 深圳天玑数据有限公司 基于区块链的密钥对处理方法、装置、终端及可读存储介质
CN113206815B (zh) * 2020-01-31 2024-02-20 伊姆西Ip控股有限责任公司 用于加解密的方法、可编程交换机和计算机可读存储介质
CN111585751A (zh) * 2020-04-10 2020-08-25 四川大学 基于区块链的数据共享方法
US20230208611A1 (en) * 2020-06-15 2023-06-29 Crypto Lab Inc. Device and method for performing statistical calculation on homomorphic ciphertext
CN113329030A (zh) * 2020-07-08 2021-08-31 支付宝(杭州)信息技术有限公司 区块链一体机及其密码加速卡、密钥管理方法和装置
CN111835500B (zh) * 2020-07-08 2022-07-26 浙江工商大学 基于同态加密与区块链的可搜索加密数据安全共享方法
CN112671735B (zh) * 2020-12-16 2022-12-06 江苏通付盾区块链科技有限公司 一种基于区块链和重加密的数据加密分享系统及方法
CN113032595A (zh) * 2021-03-04 2021-06-25 陈峰磊 基于区块链的基本物质高光谱数据权益共享方法及系统
KR102437715B1 (ko) * 2021-06-07 2022-08-26 성신여자대학교 연구 산학협력단 데이터 분산처리 장치 및 이의 동작방법
KR20230026774A (ko) 2021-08-18 2023-02-27 고려대학교 산학협력단 암호화된 데이터상에서 비트 단위 기반 완전동형암호 기법을 이용한 질병 진단 장치 및 방법
KR102642034B1 (ko) * 2021-11-09 2024-02-28 주식회사 디사일로 개인 정보 보호 데이터 분석을 위한 컴퓨팅 방법 및 시스템
CN115051799B (zh) * 2022-06-13 2022-11-25 北京天华星航科技有限公司 一种基于区块链的数字信息处理系统
CN115022346B (zh) * 2022-08-08 2022-10-21 湖南涉外经济学院 一种基于区块链的在线数据同步方法
CN118018322A (zh) * 2024-04-03 2024-05-10 湖南天河国云科技有限公司 区块链隐私数据处理方法、装置、计算机设备与介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101590076B1 (ko) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법
KR101600016B1 (ko) * 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743253B2 (en) * 2005-11-04 2010-06-22 Microsoft Corporation Digital signature for network coding
US8094810B2 (en) 2006-02-03 2012-01-10 Massachusetts Institute Of Technology Unidirectional proxy re-encryption
JP5188057B2 (ja) 2006-11-14 2013-04-24 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理装置、および情報処理方法
US20080301448A1 (en) * 2007-06-01 2008-12-04 Microsoft Corporation Security Against Corruption for Networked Storage
ES2365887B1 (es) * 2009-05-05 2012-09-03 Scytl Secure Electronic Voting S.A. Metodo de verificacion de procesos de descifrado
EP2704354B1 (en) 2011-04-27 2021-04-07 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption apparatus, and program
JP5454960B2 (ja) 2011-11-09 2014-03-26 株式会社東芝 再暗号化システム、再暗号化装置及びプログラム
US8943331B2 (en) * 2012-12-28 2015-01-27 Alcatel Lucent Privacy-preserving database system
KR102224974B1 (ko) * 2014-10-30 2021-03-08 에스케이텔레콤 주식회사 서비스 서버 및 그 동작 방법
US10594472B2 (en) * 2015-03-09 2020-03-17 Jintai Ding Hybrid fully homomorphic encryption (F.H.E.) systems
KR102402625B1 (ko) 2015-07-02 2022-05-27 삼성전자주식회사 데이터를 관리하는 방법 및 그를 위한 장치들
KR102245886B1 (ko) * 2015-08-20 2021-04-28 에스케이텔레콤 주식회사 협력형으로 개인정보를 보호하는 통신환경에서의 분석서버 및 분석서버의 동작 방법, 서비스제공장치 및 서비스제공장치의 동작 방법
KR101739203B1 (ko) 2015-11-05 2017-05-23 인하대학교 산학협력단 일회용 개인키 기반 전자 서명과 동형 암호를 이용한 패스워드 기반 사용자 인증 방법
EP3394848B8 (en) * 2016-02-17 2021-04-21 NEC Corporation Method for storing data on a storage entity
CN106845960B (zh) * 2017-01-24 2018-03-20 上海壹账通区块链科技有限公司 基于区块链的安全交易方法及系统
US20180276626A1 (en) * 2017-03-21 2018-09-27 Dappsters, LLC Blockchain systems and methods
US10277395B2 (en) * 2017-05-19 2019-04-30 International Business Machines Corporation Cryptographic key-generation with application to data deduplication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600016B1 (ko) * 2014-12-10 2016-03-15 서울대학교기술지주 주식회사 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
KR101590076B1 (ko) * 2015-11-18 2016-02-01 주식회사 웨이브스트링 개인정보 관리 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Aayush Jain 외 2명, Threshold Fully Homomorphic Encryption, Cryptology ePrint Archive, 2017/257 (2017.03.20.)*

Also Published As

Publication number Publication date
EP3780480A4 (en) 2022-01-05
KR20190117286A (ko) 2019-10-16
US11316657B2 (en) 2022-04-26
EP3780480A1 (en) 2021-02-17
KR20220119574A (ko) 2022-08-30
US20190312719A1 (en) 2019-10-10
WO2019194403A1 (ko) 2019-10-10

Similar Documents

Publication Publication Date Title
KR102602119B1 (ko) 블록체인 및 동형암호 기술을 이용하여 데이터를 공유하는 사용자 장치와 전자장치 및 그 방법들
US11316668B2 (en) Methods and systems for cryptographic private key management for secure multiparty storage and transfer of information
US20230275884A1 (en) Blockchain systems and methods for user authentication
US9317714B2 (en) Storing user data in a service provider cloud without exposing user-specific secrets to the service provider
ES2581548T3 (es) Sistemas y procedimientos para asegurar entornos informáticos de máquinas virtuales
KR20200115514A (ko) 디지털 원장을 이용한 프라이버시 관리를 위한 시스템들 및 방법들
CN101883100B (zh) 一种数字内容分布式授权方法
US20130230168A1 (en) Information processing device, information processing method, and computer readable medium
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
EP3185465A1 (en) A method for encrypting data and a method for decrypting data
Sivakumar et al. Securing data and reducing the time traffic using AES encryption with dual cloud
US11258588B2 (en) Key exchange method and key exchange system
JP6293245B1 (ja) 強化されたセキュリティを有する取引相互監視システム
Bandaru et al. Block chain enabled auditing with optimal multi‐key homomorphic encryption technique for public cloud computing environment
WO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
Ramachandran et al. Secure and efficient data forwarding in untrusted cloud environment
Rawal Proxy re-encryption architect for storing and sharing of cloud contents
WO2013153628A1 (ja) 演算処理システムおよび演算結果認証方法
Kumar et al. Design of retrievable data perturbation approach and TPA for public cloud data security
CA3011477A1 (en) Method, system, and device for selecting a winner of a raffle based on content from raffle tickets
JP6353412B2 (ja) Idパスワード認証方法、パスワード管理サービスシステム、情報端末、パスワード管理サービス装置、利用端末及びそれらのプログラム
KR20200045820A (ko) 암호화 및 복호화를 위한 장치 및 방법
Raj et al. A Survey on Healthcare Standards and Security Requirements for Electronic Health Records
CN114827212B (zh) 智慧交通的车辆通信管理方法
Gagged et al. Improved secure dynamic bit standard technique for a private cloud platform to address security challenges

Legal Events

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