KR20230041971A - 분산적 컴퓨터 네트워크 상에서 안전한 데이터 전송을 위한 방법, 장치 및 컴퓨터 판독가능 매체 - Google Patents

분산적 컴퓨터 네트워크 상에서 안전한 데이터 전송을 위한 방법, 장치 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20230041971A
KR20230041971A KR1020227045330A KR20227045330A KR20230041971A KR 20230041971 A KR20230041971 A KR 20230041971A KR 1020227045330 A KR1020227045330 A KR 1020227045330A KR 20227045330 A KR20227045330 A KR 20227045330A KR 20230041971 A KR20230041971 A KR 20230041971A
Authority
KR
South Korea
Prior art keywords
data
recipient
access
authtoken
rights
Prior art date
Application number
KR1020227045330A
Other languages
English (en)
Inventor
죠지 도니
이호르 예마코브
Original Assignee
시커런시 인크
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시커런시 인크 filed Critical 시커런시 인크
Publication of KR20230041971A publication Critical patent/KR20230041971A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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/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/321Cryptographic 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 involving a third party or a trusted authority
    • H04L9/3213Cryptographic 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 involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3247Cryptographic 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 involving digital signatures
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

컴퓨터 네트워크상에서 데이터 권리의 안전한 피어투피어 전송을 위한 방법 및 장치로서, 상기 방법은 분산 원장 플랫폼 및 오프-체인 데이터 호스트 플랫폼을 포함하는 분산 컴퓨팅 시스템에 의해 성취되는 방법. 온-체인 권한 토큰이 사용되어 데이터 접근 권리를 추적, 접근 정책을 시행, 그리고 암호화 키의 배포를 제어하도록 한다.

Description

분산적 컴퓨터 네트워크 상에서 안전한 데이터 전송을 위한 방법, 장치 및 컴퓨터 판독가능 매체
본 출원은 여기에 그 전체가 참조에 의해 편입되는, 2020년 5월 27일자로 출원된 미국 가출원 제63/030,387의 우선권을 주장한다.
본 발명은 비집중형 네트워크를 통해 데이터 권리를 안전하게 공유하는 암호법적 방법에 관한 것이다.
본 특허 문서의 일부는 저작권 보호를 받는 자료를 담고 있다. 저작권자는 특허청 특허 파일 또는 기록에 나타나는 바와 같이 어느 누구에 의한 특허 문서 또는 특허 공개의 팩시밀리 재생산에 이의를 제기하지 않지만, 그 외의 경우 모든 저작권을 보유한다.
종래의 자기 주권 데이터 저장(SSDS)은 데이터의 배포에 대한 통제를 발행자가 유지하고 데이터호스트가 비암호화된 형태로는 상기 데이터에 절대 접근할 수 없도록 보장하는 기술을 포함한다. 이 구현의 변형은 데이터 배포에 대한 통제권을 갖지만 근본적인 데이터에는 접근할 수 없는 관리자 역할을 포함할 수 있다. SSDS는 개인 식별 어플리케이션, 의료 기록 어플리케이션 및 더 일반적인 컨텐츠 배포 어플리케이션에서 적용되었다. 그러나, 종래의 SSDS는 중앙화된 신뢰받는 당사자를 요구하며 피어투피어 배포, 전송 및 권리의 위임을 허용하지 않는다. 그 결과로서, 데이터 소유자는 허가 관리를 위한 중앙화된 시스템에 의존하지 않고 데이터 보급을 제어하고 관리하기 위한 메커니즘이 없었다.
최근, “자기 주권 신원(Self-Sovereign Identity, SSI)”의 개념, 사용자 중심 신원이 알려지게 되었다. SSI는 분산적 신원 생태계에서 사람이 자신의 신원 및 관련 데이터의 완전한 통제권을 가질 수 있도록 의도된다. 신원 관련 데이터는 디지털 지갑에 저장될 수 있다. 상기 비집중형 네트워크의 참가자 노드는 개별적 클레임을 담고 있는 자격을 발행, 수신 및 검증할 수 있다. 이는 모든 참가자에게 신뢰를 제공하는 글로벌 블록체인 같은 합의 네트워크를 구축하기 위한 강력한 암호작성술을 사용하는, 분산 원장 기술(DLT)에 의해 성취된다. 그러나, 이와 같은 시스템 및 방법은: 데이터의 일반화된 형태를 지원; 데이터 권리의 전송, 배포 제어 및 취소에 대한 융통성 있는 모델을 제공; 또는 시간 또는 다른 환경적 요인에 종속될 수 있는 접근 규칙에 대한 정책 시행을 포함;하지 않는다.
하기 개시된 구현은 필요할 때, 그리고 필요할 때만 민감한 데이터에 권한 있는 참가자들이 접근할 수 있도록 보장하는 비집중적 프레임워크 내에서 데이터 권한 토큰의 민팅(minting) 및 사용을 통해 안전한, 무신뢰 데이터 전송 및 데이터 권리 교환에 대한 기술적 메커니즘을 제공한다. 하기 개시된 구현은 데이터 소유자들이 관계가 없고 서로 믿지 않을 수 있는 상대 당사자들에게 데이터를 보급하는 것을 가능하게 하며, 그로 인해 상대 당사자들이 권한이 주어지고 완전한 책임이 있을 때만 데이터에 접근할 수 있도록 설계된다. 하기 개시된 구현은 “온-체인” 토큰 레지스트리(registry) 및 “오프-체인 데이터 호스트를 포함할 수 있으며, 또한 다른 분산 구성요소를 하기 상세하게 설명되는 바와 같이 포함할 수 있다.
하기 개시된 구현의 일 태양에 따르면, 자격부여 트랜잭션과 관련된 데이터 D1의 교환을 위해 컴퓨터 네트워크 상으로 안전하고, 다자간이고 보장된 데이터 전송을 위한 방법으로서, 상기 방법은 분산 원장 플랫폼 및 데이터 호스트 플랫폼을 포함하는 분산 컴퓨팅 시스템에 의해 성취되며, 상기 방법은: 발신자로부터 수신자(receiving party)로, 데이터 D1에 대한 접근 권리(access rights)를 전송하는 단계;를 포함하며, 상기 전송하는 단계는: (b) 상기 발신자가 암호화 키 K1을 생성하는 단계, 및 암호화된 데이터 D1*을 생성하도록 대칭 암호화 알고리즘을 사용하여 K1으로 D1을 암호화하는 단계; (c) 상기 발신자가 상기 데이터 호스트 플랫폼(상기 데이터 호스트 플랫폼은 D1에 접근(access)할 수 없음)에 D1*을 전송하는 단계; (d) 상기 발신자가 D1*에 대한 포인터(상기 포인터는 D1*에 대응하는 인터넷 식별자 D1*ID)를 수신하는 단계; (e) 상기 발신자가 암호화 키 K1*을 생성하도록 비대칭 암호화 알고리즘을 사용하여 상기 수신자의 공개키로 K1을 암호화하는 단계; (f) 상기 발신자가 분산 원장 플랫폼상에서 WalletRegistry 스마트 계약을 통해 Issue 트랜잭션을 서명함으로써 상기 WalletRegistry 스마트 계약으로 하여금 AuthToken(상기 AuthToken은 D1*ID, K1* 및 접근 정책과 같은 다른 데이터를 포함하는 자료구조를 포함하는 분산 원장 상에서 전송가능 대체 불가능 토큰(non-fungible token)임)을 생성하도록 하는 단계; (g) 상기 수신자와 연동되는 암호법적 지갑에 상기 AuthToken을 전송하는 단계; 및 상기 수신자에 의해 D1에 접근하는 단계;를 포함하며, 상기 접근하는 단계는: (h) 상기 수신자가 상기 분산 원장 플랫폼상에서 상기 WalletRegistry 스마트 계약을 통해 Access 트랜잭션을 서명함으로써 그 결과로서 세션 ID S1가 생성되는 단계; (i) 상기 수신자가 S1 및 D1*ID를 포함하는 상기 데이터 호스트 플랫폼에 D1*에 대한 접근 요청을 발송하는 단계; (j) 상기 데이터 호스트 플랫폼이 상기 분산 원장 플랫폼상에서 상기 WalletRegistry 스마트 계약을 호출함으로써 상기 요청 플랫폼을 검증함으로써 상기 WalletRegistry 스마트 계약으로 하여금 자격부여 트랜잭션의 검증에 대한 적어도 하나의 데이터 권한부여 정책을 협의하도록 하는 단계; (k) 검증에 대응하여, 상기 데이터 호스트는, 비대칭 암호화를 사용하는 상기 수취인(recipient)의 상기 공개키로 D1*을 암호화하여, 그 결과로서 D1**이 생성되고 상기 수신자에게 D1**을 발송하는 단계; (l) 상기 수신자의 개인키(상기 수신자의 개인키는 비대칭 암호화를 사용함)를 사용하여 D1**을 상기 수신자가 해독함으로써 그 결과로서 D1**이 생성되는 단계, 상기 수신자의 개인키(상기 수신자의 개인키는 비대칭 암호화를 사용함)를 사용하여 암호화 키 K1*을 해독함으로써 그 결과로 K1이 생성되는 단계, 및 상기 암호화 키 K1(상기 암호화 키 K1은 대칭 암호화를 사용함)를 사용하여 에스크로드 데이터(escrowed data) D1*을 해독함으로써 그 결과로서 D1이 생성됨으로써 상기 데이터 D1에 접근을 얻는 단계; 를 포함하는 것을 특징으로 한다.
다른 태양은 상기 Wallet Registry 스마트 계약에서 세션 ID S1을 생성 또는 검증하기 위한 프로세스는: 상기 AuthToken에 할당되면, 상기 접근 세션을 시작할지 판단하도록 접근 정책을 검색, 해석 및 시행하는 단계;를 포함하며, 상기 정책은 트랜잭션, 발신자 및 수신자 또는 다른 상황의 자격부여 속성을 명시하는 복수의 규칙을 포함하는 것을 특징으로 한다. 정책 접근, 해석 및 시행은 여기에 참조에 의해 편입되는 미국 특허 출원 제 16/143,058에 설명된 정책 엔진의 구현일 수 있다.
도 1은 개시된 구현에 따른 암호화 아키텍처의 블록 다이아그램이다.
도 2는 개시된 구현에 따른 DDRM 아키텍처의 개략 다이아그램이다.
도 3은 개시된 구현에 따른 데이터 등록 워크플로우의 개략도이다.
도 4는 개시된 구현에 따른 데이터 접근 워크플로우의 개략도이다.
도 5는 개시된 구현에 따른 추가적 권한 워크플로우의 개략도이다.
도 6은 개시된 구현에 따른 권리 위임 워크플로우의 개략도이다.
도 7은 개시된 구현에 따른 권리 취소 워크플로우의 개략도이다.
도 8은 개시된 구현에 따른 권리 모니터링 워크플로우의 개략도이다.
도 9는 개시된 구현에 따른 정책 시행 워크플로우의 개략도이다.
블록체인 기반 시스템과 같이 비집중형 시스템을 통해 데이터 접근 권리를 전송하는 안전한 비집중형 방법을 개발함으로써, 하기 개시된 구현은 피어투피어 배포, 전송 및 권리의 위임을 가능하게 하도록 SSDS를 확장하는 비집중형 데이터 권리 관리(DDRM)을 구현한다. 그 결과로서, 하기 개시된 구현은 데이터 소유자에게 허가 관리를 위한 중앙화된 시스템에 의존하지 않고 데이터 보급을 제어하고 관리하기 위한 메커니즘을 제공한다.
개시된 DDRM의 구현은 블록체인 기반 ERC-721 준수 토큰과 같은 디지털 토큰을 비집중형 컴퓨팅 네트워크상에서 주소를 나타내는 표준화된 암호법적 지갑을 통해 권한 전송을 가능하게 하도록 AuthToken들로서 사용할 수 있다. 접근 권리에 추가적으로, AuthToken들은 더 넓은 범위의 데이터 권리를 나타낼 수 있다(예를 들면 갱신 및/또는 삭제 권리). AuthToken 동작 및 전송은 미국 특허 출원 제 16/143,058에 기재된 것과 같은 비집중형 정책 시행 기술에 의해 지배될 수 있다.
비집중형 자기 주권 데이터 관리 시스템은 3가지 기술적 문제를 해결하도록 혁신적 아키텍처를 요구한다:
- 자기 주권: 정책을 관리, 설정하고 데이터 권리를 감사하도록 Issuer(데이터 소유자)를 위한 실무적 모델 [기술적 과제: 안전한 키 전송]
- 정책 기반 피어투피어 공유: 권리의 피어투피어 공유를 위한 안전하고 직관적인 모델 [기술적 과제: 체인상에 키 저장 없이 비집중화를 위한 레버리지 블록체인]
- 확장 가능하고, 안전한 호스팅: 근본적인 데이터에 데이터 호스트 접근을 제공하지 않고 데이터의 확장 가능 호스팅 [기술적 과제: 데이터에 상기 호스트 접근을 제공하지 않고 레버리지 설정된 클라우드 호스팅 패턴]
이들 문제에 대한 기술적 해결 수단은: a) 권한 있는 수신자만이 비암호화된 형태로 상기 데이터에 접근할 수 있도록 보장하도록 설계된 적어도 두 개의 레이어를 가지는 암호화의 구현; b) 권리 이전 및 감사를 위한 토큰의 사용(예를 들면 ERC-721 토큰); 및 c) 신규한 하이브리드 블록체인/클라우드 저장 아키텍처;를 포함한다. 블록체인 기반 시스템을 통해 접근 권리 및 다른 권리를 전송하는 안전한 비집중형 방법을 개발함으로써, 하기 개시된 구현은 피어투피어 배포, 전송 및 권리의 위임을 가능하게 하도록 전통적 데이터 권리 관리 모델 및 종래의 자기 주권 데이터 모델을 확장한다. 그 결과로서, 하기 개시된 구현은 데이터 소유자에게 허가 관리를 위한 중앙화된 시스템에 의존하지 않고 데이터 보급을 제어하고 관리하기 위한 메커니즘을 제공한다.
개시된 구현은 무단 접근으로부터 데이터를 보호하도록 복수의 레이어의 암호화를 사용한다. 제1 레이어는 문서를 데이터호스트(자기 주권) 또는 어떤 다른 무권한자의 접근으로부터 보호한다. 제2 레이어는 상기 비집중형 네트워크, 즉 “온체인”상에서 설정된 Session 내의 권한 있는 Recipients에게 접근 권리 이전을 가능하게 한다.
도 1에 도시된 바와 같이, Encryption Layer 1은, 클라이언트 측에서 알려진 대칭 암호화 알고리즘에 기반할 수 있으며, 확장 가능한 원격 저장 및 데이터에 대한 접근을 가능하게 하며 동시에 데이터호스트가 비암호화된 형태로 상기 데이터에 절대 접근할 수 없도록 보장한다. 상기 비집중형 네트워크상에서 지정 Recipient로의 키 “K”의 안전한 비집중형 이전이 상기 시스템의 신규한 구성요소의 조합 및 신규한 데이터 모델을 통해 달성된다. 상기 기술은 예를 들면, 공개 블록체인 상에서 상기 해독 키를 손상시키지 않고 권리 이전을 돕도록 AccessKey를 포함하는 AccessToken을 사용한다. Encryption Layer 2가 상기 데이터호스트에 의해, 유효 접근 요청에 대응하여, 비대칭 암호화 기술을 사용하는 상기 요청 지갑의 공개키를 사용하여 내부 외피를 암호화하기 위해 사용된다. 이는 지정된 지갑만이 상기 키 “K”를 해독할 수 있도록 보장하여 “중간자” 공격을 방지한다.
도 2는 개시된 구현에 따른 하이브리드 분산 네트워크 컴퓨팅 시스템(200)을 도시한다. 시스템(200)은 상기 언급된 기술적 문제를 클라이언트 인터페이스 컴퓨팅 플랫폼(210) (또한 “클라이언트(210)”으로 지칭)을 포함하는 분산 컴퓨팅 시스템, 오프-체인 데이터 호스트(230), 지갑의 등록을 위한 온-체인 분산 원장 플랫폼(220), 및 자격부여 트랜잭션이 일어날 때 클라이언트 데이터에 대한 권리의 안전하고 보장된 이전을 통해 해결한다. 분산 원장 플랫폼(220)은 이더리움 블록체인 또는 다른 분산 원장 기술과 같은 비집중형 인프라구조다. 데이터 호스트(230)는 암호화된 PII 데이터 또는 상기 데이터 호스트(230)에 의해 해독될 수 없는 다른 민감한 데이터를 저장하기 위한 오프-체인 데이터 저장소로서 구현될 수 있다. 상기 암호화된 데이터는 직접설치 저장소, 클라우드 저장소, IPFS(IPFS 비집중형 데이터 저장소)와 같은 비집중형 저장 시스템, 또는 다른 저장 기술을 사용하여 호스팅될 수 있다.
분산 원장 플랫폼(220)은 권한 토큰 레지스트리(registry)(222)(“AuthTokenRegistry”) 및 데이터 등록 스마트 계약(들)(224)(“DataRegistry”)을 포함한다. 개시된 구현은 상기 권한 토큰(“AuthToken”)의 온-체인 표상을 위한 확장된 ERC-721 토큰을 사용할 수 있다. 상기 언급된 바와 같이, 데이터 호스트(230)는 암호화된 데이터의 저장을 위해 사용될 수 있다. 예를 들면, IPFS는 암호화된 문서의 클라우드 저장을 위해 사용될 수 있다. IPFS(InterPlanetary File System)는 블록체인 기반 컨텐츠를 위한 비집중형 저장 솔루션이다. IPFS를 사용할 때, 파일은 부분으로 나뉘고 해시에 의해 파일을 추적하는 노드의 네트워크에 걸처 저장된다. 상기 부분은 그들의 해시 값에 기반하여 상기 원본 파일을 재생성하도록 함께 조합될 수 있다. 여기의 예시에서는, 데이터의 클러스터는 “파일”이라고 지칭된다. 그러나, 상기 “파일”은 하나 이상의 패킷 또는 클러스터일 수 있으며 종래의 단어의 의미에서의 단일 파일로서 저장될 필요는 없다.
상기 데이터 호스트는 상기 비암호화된 데이터에 접근할 수 없다. 분산 원장 플랫폼(220)의 정책 엔진(226)은 어느 트랜잭션에 대해서든지 규제적인 준수를 보장하고 정책 시행 포인트(Policy enforcement point, PEP), 정책 레지스트리, 및 증거 레지스트리 및 속성 레지스트리를 포함한다. 상기 언급된 바와 같이, 정책 엔진(226)은 미국 특허 출원 제 16/143,058에 개시된 상기 정책 엔진의 구현일 수 있다.
클라이언트(210)와 데이터 호스트(230)는 다양한 하드웨어, 소프트웨어 프로그래밍 및 아키텍처 기술을 사용하여 구현될 수 있다. 개시된 구현은 상기 클라이언트 인터페이스 및 데이터 호스트를 위해 C++, Java, node.js, Flutter, React, 또는 다른 어떤 현대적 프로그램 언어를 사용할 수 있다. 상기 클라이언트 인터페이스는 대칭 및 비대칭 암호화를 사용할 수 있으며, 동시에 상기 데이터 호스트는 하기 더 상세하게 설명되는 바와 같이 비대칭 암호화를 사용할 수 있다.
비집중형 디지털 권리 관리는 7가지 주요 프로세스의 관점에서 생각될 수 있다:
- 데이터 등록: Owner가 보호된 컨텐츠에 접근 권리를 제공하는 ERC-721 토큰을 생성하고 전달한다
- 데이터 접근: Authorized Recipient가 보호된 컨텐츠에 접근한다
- 추가적 권한: Owner가 보호된 컨텐츠에 대한 추가적 접근 권리를 제공한다.
- 권리 위임: Recipient는 권한을 유지하는 동시에 다른 사용자에게 (권한 취소 가능한) 권한을 위임한다
- 권리 취소: (구현된 경우) Owner 또는 Administrator는 Recipient로부터 권리를 제거한다
- 권리 모니터링: (구현된 경우) Owner 또는 Administrator는 모든 권리, 전송 및 허가를 리뷰한다
- 정책 시행: 복잡한 허가 또는 전송 정책을 시행하도록 정책 엔진의 사용
상기 AuthToken Interface Specification은 상기 분산 원장 상에 저장된 코드로서 구현될 수 있다. 이와 같은 코드의 예시가 상기 Solidity 스마트 계약 언어로, 하기와 같이 제시된다:
pragma solidity >=0.5.0 <0.6.0;
pragma experimental ABIEncoderV2;
/**
@title Interface of the Authorization Token
*/
Interface IAuthToken {
/**
@dev Creates access token
@param dataId Data or document identifier
@param accessKey Encrypted key
@param to A token recipient
*/
function createAuthToken(uint dataId, string calldata accessKey, address to)
external;
/**
@dev Prepares information about account
@param account Account address
*/
function getFilesForAccount(address account)
external
view
returns (
uint[50] memory accessTokensIds,
uint[50] memory dataIds,
bool[50] memory isOwner
);
/**
@dev Creates auth session, returns accessKey and sessionId
@param authTokenId Access token identifier
*/
function createSession(uint authTokenId) external returns(string memory)
/**
@dev Returns list of the users that have access to the data
@param authTokenId Auth token identifier
*/
function getPermissionsById(uint authTokenId) external view returns(address[] memory);
/**
@dev Save permissions for the data specified in the token
@param authTokenId AuthToken identifier
@param accessKeys List of the access keys for the data
@param recipients List of the recipients of the permissions
*/
function savePermissions(uint authTokenId, string[] calldata accessKeys, address[] calldata recipients) external;
/**
@dev Get access key by auth token id
@param authTokenId Access token identifier
*/
function getAccesskeyById(uint authTokenId) external view returns(string memory);
/**
@dev Reads session details
@param sessionId session identifier
*/
function getSessionDetails(uint sessionId) external view returns(address recipient uint dataId, uint ttl);
}
도 3은 도 2에 나타난 상기 컴퓨팅 시스템에 의해 성취될 수 있는 Data Registration 프로세스를 도시한다. 도 3에 나타난 바와 같이, 데이터의 Owner는 배포를 위해 포스트 데이터(post data)를 등록할 수 있다. 데이터를 공유하기 위해, 상기 소유자(Owner)는 접근 키 K를, 단계 1에서, 알려진 키 생성 기술을 사용하여 암호화를 위해 생성한다. 상기 Owner는 K를 유지한다. 단계 2에서, 상기 Owner는 그 후 키 K를 사용하는 상기 PII 데이터를 대칭 암호화 알고리즘을 사용하여 암호화한다. 단계 3에서, 상기 Owner는 그 후 데이터 호스트(230)로 클라이언트(210)를 사용하여 상기 암호화된 데이터를 발송하고 데이터 호스트(230)는 상기 시스템에서 상기 암호화된 데이터를 식별하고 검색하도록 사용될 수 있는 내부 ID “DataID”를 생성한다.
단계 4에서, 상기 Owner는 비대칭 암호화 알고리즘을 사용하여 상기 Recipient의 공개키로 키 K을 암호화하여 그 결과로서 상기 Recipient를 위해 접근 키 “AccessKey”를 생성한다. 그 결과로서, 상기 원하는 Recipient만이 상기 공개 주소를 위한 상기 개인키, 상기 컨텐츠를 해독(근본적인 공유 데이터를 접근하기 위해 필요한 단계)하기 위한 수단을 보유한다. 상기 발신자는 상기 컨텐츠를 암호화하기 위해 상기 Recipient의 개인키를 가질 필요가 없다는 것에 주목한다. 단계 5에서, 상기 Owner는 등록 요청(createAuthToken)을 서명하여 상기 블록체인 권한 토큰 레지스트리(222)가 하나 이상의 AuthToken(들)을 각 원하는 Recipient에 대하여, 상기 분산 원장 플랫폼(220)의 스마트 계약의 수단에 의해 발행하도록 한다. 단계 6에서, 상기 발행된 AuthToken은 ERC-721 (또는 동등한) 전달 함수를 사용하여 상기 Recipient(s)에 대응하는 지갑에 발송된다. 상기 AuthToken은 (적어도) 다음을 포함하는 자료 구조로서 표현되는 대체 불가능 토큰(non-fungible token, NFT)일 수 있다:
- AuthTokenID (고유 토큰 식별자)
- AccessKey (상기 단계 4에서 생성됨)
- DataID (상기 단계 3에서 생성됨)
- PolicyID (선택적 - 정책 엔진(226)에 의해 적용될/시행될 정책을 식별하는 것)
- Source (데이터의 Owner)
- Data Verification Entity (선택적)
도 4는 상기에서 주어진 권리에 기반하여 암호화된 데이터에 상기 Recipient가 접근하는 데이터 액세스 프로세스를 도시한다. 물론, 데이터의 다자간 교환에서 각 당사자는 다른 당사자 또는 다수의 당사자에게 데이터 접근 권리를 제공하기 위해 도 5(하기)의 프로세스를 구현할 수 있다. 단계 1에서, 상기 Recipient는 상기 요청된 데이터를 위한 권한 세션을 열도록 분산 원장 플랫폼(220)에 AuthTokenID를 포함시키는 접근 요청 메시지(createSession)을 서명한다. 단계 2에서, 분산 원장 플랫폼(220) 상에서 스마트 계약이 상기 Recipient가 상기 요청된 데이터에 대하여 AuthToken 보유자인지 체크, 즉 상기 권한 요청과 일관성 있는 접근 권리를 받았는지, 미국 특허 출원 제 16/143,058에 기재된 상기 정책 엔진의 구현일 수 있는 상기 정책 엔진과 협의하여 체크하고, 상기 클라이언트 지갑을 위해 자격부여 트랜잭션을 지원했는지 체크한다. 상기 SessionID는 세션 레지스트리(228)에서 온-체인으로 저장된다(도 2 참조). 상기 SessionID는 대응하는 AuthToken에 대한 AuthTokenID, 유지 시간(time to live, TTL) 또는 다른 만료 데이터, 및 데이터 권리(접근, 갱신, 삭제 등)를 담을 수 있다. 단계 3에서, 상기 Recipient는 SessionID를 담은 요청 메시지를 데이터 Host(230)에 발송한다.
단계 4에서, 데이터 Host(230)는 요청 메시지(getSessionDetails)를 발송하며, 상기 요청 메시지는 DataID 및 TTL 데이터를 취득하기 위한 온-체인 플랫폼(220)에 대한 SessionID 그리고 상기 권한 요청과 연동된 계좌의 공개키 PK를 담고 있다. 이 단계 중, 상기 Wallet Registry 스마트 계약은 상기 정책 엔진과 협의하여 상기 암호화 데이터를 포함하는 응답을 발송하기 전에 자격부여 사건이 일어났거나 다른 조건이 충족되었는지 판단하도록 할 수 있다. 단계 5에서, 데이터 Host(230)는 상기 DataID를 사용하여 상기 대응하는 암호화된 파일을 검색하고 상기 파일을 비대칭 암호화 및 상기 지갑 요청 프로세스의 상기 공개키 PK를 사용하여 다시 암호화한다(이는 상기 언급된 암호화 레이어 2를 가져온다). 후속적으로, 상기 Recipient는 그 지갑의 개인키를 사용하여 상기 데이터를 해독하며 그 결과로서 상기 언급된 암호화 레이어 1을 갖는 데이터 패킷을 생성한다(즉, 키 K로 암호화된 데이터). 그 후, 상기 Recipient는 암호화 키 K를 생성하는 그 개인키를 사용하여 AuthTokenID를 해독하고, 상기 Recipient는 키 K를 사용하여 데이터를 해독함으로써 상기 데이터에 접근을 얻는다.
도 5는 개시된 구현에 따라 Recipient에게 데이터 접근 권리를 원시 파티로서 제공하려는 Owner에 대한 단계를 도시한다. 물론, 데이터의 다자간 교환에서 각 당사자는 다른 당사자 또는 다수의 당사자에게 데이터 접근 권리를 제공하기 위해 도 4의 프로세스를 구현할 수 있다. 단계 1에서, 소유자는 Recipient의 하나 이상의 지갑의 상기 공개키를 사용하여 키 K를 비대칭적으로 암호화함으로써 권한을 수신할 각 지갑에 대한 AccessKey를 생성한다. 단계 2에서, 상기 Owner(소유자)는 권한 허가 요청(createAuthToken)을 서명하여 분산 원장 플랫폼(220)으로 하여금 자격부여 트랜잭션이 일어날 때 상기 데이터에 대한 접근 권리를 가질 상기 Recipient(들)을 위한 하나 이상의 AuthToken(들)을 발행하는 스마트 계약을 생성한다. 상기 AuthToken 자료 구조는 기재되었다. 상기 AuthToken 자료 구조의 Source는 원래 소유자(발행자)의 지갑을 나타낸다는 것에 주목한다. 단계 3에서, AuthToken은 ERC-721(또는 동등한) 전달 함수를 사용하여 Recipient(들)의 지갑으로 발송된다.
도 6는 권리 위임 프로세스를 도시한다. 단계 1에서, 상기 Recipient는 상기 데이터 액세스 흐름에서 상기 기재된 바와 같이, AccessKey를 해독하여, 데이터 암호화에 사용되었던 “K”를 취득하도록 한다. 단계 2에서, 상기 Recipient는 새로운 AccessKey를 취득하기 위해 키 “K”를 암호화하도록 상기 Delegate의 공개키 (“PK”)를 사용한다. 단계 3에서, 권한 허가 요청(createAuthToken)을 분산 원장 플랫폼(220) AuthDataRegistry SmartContract로 서명한다. 상기 SmartContract는 Transfer가 Policy에 기반하여 자격이 있는지 판단하며, 권한 허가가 있을 경우 Recipient를 Source로서 새로운 AuthToken이 생성되는 단계 4를 수행한다. 단계 5에서, 상기 Recipient는 상기 새로운 AuthToken을 상기 Delegate로 ERC-721(또는 동등한) 전달 함수를 사용하여 전송한다. 상기 Issuer 및 상기 Sender는 Delegate의 Authorization을 취소할 수 있다는 것에 주목한다.
도 7은 권리 취소 프로세스를 도시한다. 단계 1에서, 상기 데이터 Owner (Source 또는 Administrator)는 AuthDataRegistry SmartContract로 Revoke 트랜잭션을 서명한다. 단계 2에서, 상기 SmartContract는 상기 트랜잭션의 개시인의 자격을 판단한다. 자격이 있을 경우, 상기 AuthToken과 어떤 활성 Session이든지 제거된다. 단계 3에서, 상기 AuthToken은 더 이상 상기 Recipient의 지갑을 통해 접근가능하지 않다. Administrator 환수의 존재는 상기 SmartContract 범주에서(예를 들면 모든 토큰) 또는 토큰 범주마다 상기 Owner에 의해 가능해지거나 불가능해질 수 있는 선호사항임에 주목한다. AuthToken은 상기 Owner에 의해 특정 시간에서 만료되도록 설정될 수 있다. 상기 AuthToken은 상기 Recipient로부터 제거되지 않지만, 접근을 더 이상 가능하게 하지 않을 것이다. 상기 Recipient은 Reauthorize 요청을 제출할 수 있다. 승인되면, Recipient의 권한은 회복될 것이다.
도 8은 권리 모니터링 프로세스를 도시한다. 단계 1에서, Owner (또는 Source 또는 Administrator)는 AuthTokenRegistry 스마트 계약 getPermissionsById로부터 모든 주어진 권한을 요청한다. 단계 2에서, 상기 스마트 계약은 결과를 반환한다.
도 9는 Policy Enforcement 프로세스를 도시한다. 단계 1에서, 상기 Requestor는 AuthDataRegistry Smart Contract로 (Authorize, Access, Delegate, Revoke, 또는 Transfer 트랜잭션)과 같은 트랜잭션을 서명한다. 단계 2에서, AuthDataRegistry Smart Contract는 상기 Policy Engine (미국 출원 제 16/143,058을 참조하여 상기 설명)과 협의하여 상기 요청의 적법성을 검증하도록 하고 거절될 경우 에러 코드 및 메시지로 대응한다.
상기 설명된 워크플로우는 상기 데이터가 적절하게 사용되고 조건을 충족시킬 경우 사용가능하다는 것이 다수의 당사자에게 보증될 수 있는 경우 정보의 안전한 조건부 교화의 프로세스에서 데이터 접근 토큰의 사용을 레버리지한다. 상기 Owner는 상기 Recipient가 접근을 얻으려면 구성된 정책에 따라 접근 조건이 충족되어야 한다는 것에 대해 미리 확실성을 가질 수 있다. 상기 자료 구조, 온-체인 및 오프-체인 레지스트리, 키 관리 및 안전한 메시지 흐름의 신규 조합은 당사자들이 안전한 데이터 교환을 보장받게 한다. 상기 개시된 구현은 상기 기재된 하나 이상의 권리 전송 및 데이터 접근 프로세스를 포함한다.
상기 개시된 구현은 하드웨어에 의해 구현된 상기 개시된 실행가능한 코드의 모듈 및 함수를 제공하도록 소프트웨어 및/또는 펌웨어로 프로그램된 다양한 컴퓨팅 장치에 의해 구현될 수 있다. 상기 소프트웨어 및/또는 펌웨어는 하나 이상의 비일시적인 컴퓨터 판독가능 매체 상에서 실행가능 코드로서 저장될 수 있다. 상기 컴퓨팅 장치는 하나 이상의 전자 통신 링크에 의해 작동적으로 연결될 수 있다. 예를 들면, 이와 같은 전자 통신 링크는 적어도 부분적으로, 인터넷 및/또는 다른 네트워크를 통해 설정될 수 있다.
주어진 컴퓨팅 장치는 컴퓨터 프로그램 모듈을 실행하도록 구성된 하나 이상의 프로세서를 포함할 수 있다. 상기 컴퓨터 프로그램 모듈은 주어진 컴퓨팅 플랫폼과 관련된 전문가 또는 사용자에게 상기 시스템 및/또는 외부 자원과 인터페이스하는 것을 가능케 하도록 구성될 수 있다. 비제한적 예시로서, 주어진 컴퓨팅 플랫폼은 하나 이상의 서버, 데스크탑 컴퓨터, 랩탑 컴퓨터, 핸드헬드 컴퓨터, 태블릿 컴퓨팅 플랫폼, 스마트폰, 게이밍 콘솔, 및/또는 다른 컴퓨팅 플랫폼을 포함할 수 있다.
상기 다양한 데이터 및 코드는 정보를 전자적으로 저장하는 비일시적 저장 매체를 포함할 수 있는 전자적 저장 장치에 저장될 수 있다. 상기 전자적 저장소의 전자 저장 매체는 컴퓨팅 장치와 일체적으로(즉, 실질적으로 제거가능하지 않은) 제공되는 시스템 저장소 및/또는 컴퓨팅 장치에 제거가능하게 예를 들면 포트(예를 들면 USB 포트, 파이러와이어 포트 등) 또는 드라이브(예를 들면 디스크 드라이브 등)을 통해 연결된 제거가능 저장소 중 하나 또는 둘 다일 수 있다. 상기 전자적 저장소는 하나 이상의 광학적 판독가능 저장 매체(예를 들면 광학적 디스크 등), 자기적 판독가능 저장 매체(예를 들면 자기 테이프, 자기 하드 드라이브, 플로피 드라이브 등), 전기적 전하 기반 저장 매체(예를 들면 EEPROM, RAM 등), 반도체를 이용한 저장 매체(예를 들면 플래시 드라이브 등), 및/또는 다른 전자적 판독가능 저장 매체를 포함할 수 있다.
컴퓨팅 장치의 프로세서(들)은 정보 처리 능력을 제공하도록 구성될 수 있으며 디지털 프로세서, 아날로그 프로세서, 정보를 처리하도록 설계된 디지털 회로, 정보를 처리하도록 설계도니 아날로그 회로, 상태 기계, 및/또는 전자적으로 정보를 처리하기 위한 다른 메커니즘을 포함할 수 있다. 여기 사용된 바와 같이, 상기 용어 “모듈”은 상기 모듈에 주어진 기능을 수행하는 어떤 구성요소든지 또는 구성요소의 세트를 지칭할 수 있다. 이는 프로세서 판독가능 인스트럭션의 실행 중 하나 이상의 물리적 프로세서, 상기 프로세서 판독가능 인스트럭션, 회로, 하드웨어, 저장 매체 또는 다른 어떤 구성요소를 포함할 수 있다.
비록 본 발명은 가장 실무적이고 바람직한 구현으로 현재 고려되는 것에 기반하여 도시의 목적으로 상세하게 설명되었지만, 이는 그와 같은 세부사항은 그 목적만을 위한 것이며 본 발명은 개시된 구현에 한정되지 않으며, 반면 첨부된 청구항의 범주와 정신 내에서 변형과 동등한 배치를 포함하도록 의도된다. 예를 들면, 본 발명은 가능한 범주에서 어느 구현의 하나 이상의 특징이 다른 어떤 구현의 하나 이상의 특징과 결합될 수 있도록 이해되어야 한다.
구현과 예시가 도시되고 설명되었지만, 본 발명은 여기 개시된 정밀한 구축과 구성요소에 한정되지 않음이 이해되어야 할 것이다. 다양한 변형, 변화 및 이형이 동봉된 청구항에 정의된 본 발명의 범주와 정신에서 벗어나지 않고 여기에 개시된 배치, 운영 및 방법과 장치의 세부사항에서 이루어질 수 있다.

Claims (10)

  1. 분산 컴퓨터 시스템 상의 안전한 데이터 전송을 위한 방법으로서, 상기 분산 컴퓨팅 시스템은 분산 원장 플랫폼 및 데이터 호스트 플랫폼을 포함하며, 상기 방법은:
    발신자로부터 수신자(receiving party)로, 데이터 D1에 대한 접근 권리(access rights)를 전송하는 단계;를 포함하며,
    상기 전송하는 단계는:
    (b) 상기 발신자가 암호화 키 K1을 생성하는 단계, 및 암호화된 데이터 D1*을 생성하도록 대칭 암호화 알고리즘을 사용하여 K1으로 D1을 암호화하는 단계;
    (c) 상기 발신자가 상기 데이터 호스트 플랫폼 - 상기 데이터 호스트 플랫폼은 D1에 접근(access)할 수 없음 - 에 D1*을 전송하는 단계;
    (d) 상기 발신자가 D1*에 대한 포인터 - 상기 포인터는 D1*에 대응하는 D1*ID를 포함함 - 를 수신하는 단계;
    (e) 상기 발신자가 암호화 키 K1*을 생성하도록 비대칭 암호화 알고리즘을 사용하여 상기 수신자의 공개키로 K1을 암호화하는 단계;
    (f) 상기 발신자가 분산 원장 플랫폼상에서 WalletRegistry 스마트 계약을 통해 Issue 트랜잭션을 서명함으로써 상기 WalletRegistry 스마트 계약으로 하여금 AuthToken - 상기 AuthToken은 D1*ID 및 K1*을 포함하는 자료구조를 포함하는 분산 원장 상에서 전송가능 대체 불가능 토큰(non-fungible token)임 - 을 생성하도록 하는 단계;
    (g) 상기 수신자와 연동되는 암호법적 지갑에 상기 AuthToken을 전송하는 단계; 및
    상기 수신자에 의해 D1에 접근하는 단계;를 포함하며,
    상기 접근하는 단계는:
    (h) 상기 수신자가 상기 분산 원장 플랫폼상에서 상기 WalletRegistry 스마트 계약을 통해 Access 트랜잭션을 서명함으로써 그 결과로서 세션 ID S1가 생성되는 단계;
    (i) 상기 수신자가 S1 및 D1*ID를 포함하는 상기 데이터 호스트 플랫폼에 D1*에 대한 접근 요청을 발송하는 단계;
    (j) 상기 데이터 호스트 플랫폼이 상기 분산 원장 플랫폼상에서 상기 WalletRegistry 스마트 계약을 호출함으로써 상기 요청 플랫폼을 검증함으로써 상기 WalletRegistry 스마트 계약으로 하여금 자격부여 트랜잭션의 검증에 대한 적어도 하나의 데이터 권한부여 정책을 협의하도록 하는 단계;
    (k) 검증에 대응하여, 상기 데이터 호스트는, 비대칭 암호화를 사용하는 상기 수취인(recipient)의 상기 공개키로 D1*을 암호화하여, 그 결과로서 D1**이 생성되고 상기 수신자에게 D1**을 발송하는 단계;
    (l) 상기 수신자의 개인키 - 상기 수신자의 개인키는 비대칭 암호화를 사용함 - 를 사용하여 D1**을 상기 수신자가 해독함으로써 그 결과로서 D1**이 생성되는 단계, 상기 수신자의 개인키 - 상기 수신자의 개인키는 비대칭 암호화를 사용함 - 를 사용하여 암호화 키 K1*을 해독함으로써 그 결과로 K1이 생성되는 단계, 및 상기 암호화 키 K1 - 상기 암호화 키 K1은 대칭 암호화를 사용함 - 를 사용하여 에스크로드 데이터(escrowed data) D1*을 해독함으로써 그 결과로서 D1이 생성됨으로써 상기 데이터 D1에 접근을 얻는 단계;
    를 포함하는,
    방법.
  2. 제 1항에 있어서,
    상기 AuthToken의 상기 자료 구조는 적어도 하나의 접근 정책을 명시하는,
    방법.
  3. 제 2항에 있어서,
    정책에 대한 협의와 자격부여 트랜잭션의 검증은 상기 세션 ID에 대응하는 세션의 생성 중 성사되는,
    방법.
  4. 제 1항에 있어서,
    단계 (a) 및 (b)는 적어도 하나의 추가적 수취인으로서 적어도 하나의 다른 당사자에게 각 복수의 권리를 위임하기 위해 하나의 Recipient에 의해 적어도 1회 실시되는,
    방법.
  5. 제 1항에 있어서,
    상기 데이터 레지스트리 스마트 계약에서 세션 ID S1을 생성 또는 검증하기 위한 프로세스는:
    상기 접근 세션을 시작할지 판단하도록 상기 AuthToken과 연동된 접근 정책을 검색, 해석 및 시행하는 단계;
    를 포함하며,
    상기 정책은 트랜잭션, 발신자 및 수신자의 자격부여 속성을 명시하는 복수의 규칙을 포함하는,
    방법.
  6. 제 5항에 있어서,
    상기 복수의 규칙은 트랜잭션 컨텍스트 데이터를 추가적으로 명시하는,
    방법.
  7. 제 1항에 있어서,
    상기 데이터 Owner, Source 또는 Administrator는 상기 Recipient의 지갑으로부터 상기 AuthToken을 회수함으로써 접근을 취소할 수 있는,
    방법.
  8. 상기 데이터 Owner, Source 또는 Administrator는 활성화된 세션을 리뷰하도록 상기 AuthToken 스마트 계약을 호출함으로써 리뷰 접근 레코드를 취소할 수 있는,
    방법.
  9. 제 1항에 있어서,
    단계 (a) 및 (b)는 각 추가적 수취인(recipients)에게 상기 권리(rights)를 제공하도록 복수 회에 실시되는,
    방법.
  10. 제 1항에 있어서,
    상기 자료 구조 상기 AuthToken는:
    고유 토큰 식별자로서의 AuthTokenID;
    상기 AuthToken상에 트랜잭션에 적용될 정책의 식별자로서의 PolicyID;
    상기 D1의 소유자를 나타내는 SourceID; 및
    데이터의 확인을 위한 개체를 나타내는 DataVerificationEntityID;
    를 추가적으로 명시하는,
    방법.
KR1020227045330A 2020-05-27 2021-05-25 분산적 컴퓨터 네트워크 상에서 안전한 데이터 전송을 위한 방법, 장치 및 컴퓨터 판독가능 매체 KR20230041971A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063030387P 2020-05-27 2020-05-27
US63/030,387 2020-05-27
US17/313,105 US11757639B2 (en) 2020-05-27 2021-05-06 Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US17/313,105 2021-05-06
PCT/US2021/033954 WO2021242709A1 (en) 2020-05-27 2021-05-25 Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network

Publications (1)

Publication Number Publication Date
KR20230041971A true KR20230041971A (ko) 2023-03-27

Family

ID=78704338

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227045330A KR20230041971A (ko) 2020-05-27 2021-05-25 분산적 컴퓨터 네트워크 상에서 안전한 데이터 전송을 위한 방법, 장치 및 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (1) US11757639B2 (ko)
EP (1) EP4158838A1 (ko)
JP (1) JP2023527815A (ko)
KR (1) KR20230041971A (ko)
CA (1) CA3180144A1 (ko)
WO (1) WO2021242709A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021026493A1 (en) * 2019-08-07 2021-02-11 Seatig Inc. A distributed computing architecture with settlement mechanism to enable traceability of credit tokenization, disbursement and repayment
US11757639B2 (en) * 2020-05-27 2023-09-12 Securrency, Inc. Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US11784822B2 (en) * 2020-12-30 2023-10-10 Lily Zuckerman System and method for transmitting a notification to a network
US11954094B2 (en) * 2021-08-06 2024-04-09 Salesforce, Inc. Database system public trust ledger architecture
US11989726B2 (en) 2021-09-13 2024-05-21 Salesforce, Inc. Database system public trust ledger token creation and exchange
US11770445B2 (en) 2022-01-25 2023-09-26 Salesforce, Inc. Decentralized information management database system
US11880372B2 (en) 2022-05-10 2024-01-23 Salesforce, Inc. Distributed metadata definition and storage in a database system for public trust ledger smart contracts

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11250423B2 (en) 2012-05-04 2022-02-15 Institutional Cash Distributors Technology, Llc Encapsulated security tokens for electronic transactions
US10193696B2 (en) 2015-06-02 2019-01-29 ALTR Solutions, Inc. Using a tree structure to segment and distribute records across one or more decentralized, acylic graphs of cryptographic hash pointers
US11488147B2 (en) 2015-07-14 2022-11-01 Fmr Llc Computationally efficient transfer processing and auditing apparatuses, methods and systems
US11130042B2 (en) * 2016-02-02 2021-09-28 Bao Tran Smart device
US11823089B2 (en) * 2016-12-02 2023-11-21 Christian Günther System and method for managing transactions in dynamic digital documents
US10489597B2 (en) 2017-03-28 2019-11-26 General Electric Company Blockchain verification of network security service
US10735202B2 (en) 2017-07-24 2020-08-04 International Business Machines Corporation Anonymous consent and data sharing on a blockchain
US10540654B1 (en) * 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11308487B1 (en) * 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US11200569B1 (en) * 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US11334883B1 (en) * 2018-03-05 2022-05-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets
FR3079323B1 (fr) 2018-03-26 2020-04-17 Commissariat A L'energie Atomique Et Aux Energies Alternatives Methode et systeme d'acces a des donnees anonymisees
WO2020092900A2 (en) 2018-11-02 2020-05-07 Verona Holdings Sezc A tokenization platform
US10673626B2 (en) 2018-03-30 2020-06-02 Spyrus, Inc. Threshold secret share authentication proof and secure blockchain voting with hardware security modules
US11194837B2 (en) 2018-05-01 2021-12-07 International Business Machines Corporation Blockchain implementing cross-chain transactions
US11250466B2 (en) 2018-07-30 2022-02-15 Hewlett Packard Enterprise Development Lp Systems and methods for using secured representations of user, asset, and location distributed ledger addresses to prove user custody of assets at a location and time
US11488161B2 (en) 2018-07-31 2022-11-01 Hewlett Packard Enterprise Development Lp Systems and methods for providing transaction provenance of off-chain transactions using distributed ledger transactions with secured representations of distributed ledger addresses of transacting parties
US20200042971A1 (en) 2018-07-31 2020-02-06 American Express Travel Related Services Co., Inc. System and method for transaction account based micro-payments
US11159307B2 (en) 2018-08-08 2021-10-26 International Business Machines Corporation Ad-hoc trusted groups on a blockchain
US20200090143A1 (en) 2018-09-14 2020-03-19 Andrea Iervolino System, Method, and Apparatus for Online Content Platform and Related Cryptocurrency
WO2020092351A1 (en) 2018-10-29 2020-05-07 Login Id Inc. Decentralized computing systems for strong user authentication and related methods
US11301460B2 (en) 2019-01-24 2022-04-12 Peoplebrowsr Inc. Platform for creating and using actionable non-fungible tokens (KNFT)
US20220200973A1 (en) * 2019-04-15 2022-06-23 Bear System, LLC Blockchain schema for secure data transmission
US11501370B1 (en) * 2019-06-17 2022-11-15 Gemini Ip, Llc Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange
US11496518B2 (en) * 2019-08-02 2022-11-08 Dell Products L.P. System and method for distributed network access control
US20210042735A1 (en) 2019-08-06 2021-02-11 Paypal, Inc. System and method for controlling an application programming interface endpoint for transferring funds
US10902416B1 (en) 2019-12-19 2021-01-26 Ripple Labs Inc. Network computing system implementing on-demand liquidity for cross-medium transaction services
CN115699000A (zh) * 2020-03-24 2023-02-03 赛可润思公司 通过计算机网络进行安全的多边数据交换的方法、装置和计算机可读介质
US11757639B2 (en) * 2020-05-27 2023-09-12 Securrency, Inc. Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US20220051261A1 (en) 2020-05-29 2022-02-17 Samuel Vetas Processes and systems of blockchain with verification through a consortium of stakeholders

Also Published As

Publication number Publication date
JP2023527815A (ja) 2023-06-30
WO2021242709A1 (en) 2021-12-02
US11757639B2 (en) 2023-09-12
US20210377028A1 (en) 2021-12-02
EP4158838A1 (en) 2023-04-05
CA3180144A1 (en) 2021-12-02

Similar Documents

Publication Publication Date Title
US10735202B2 (en) Anonymous consent and data sharing on a blockchain
US11757639B2 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US9465947B2 (en) System and method for encryption and key management in cloud storage
US9137017B2 (en) Key recovery mechanism
KR100971854B1 (ko) 보안 서버 키 동작을 제공하기 위한 시스템 및 방법
JP5491499B2 (ja) コンテンツ共有のための一時的ドメイン会員資格付与
KR101076861B1 (ko) 권한 관리 보호된 컨텐츠의 선행 라이센싱 방법
US20080313264A1 (en) Domain management for digital media
US20050010780A1 (en) Method and apparatus for providing access to personal information
US20100017599A1 (en) Secure digital content management using mutating identifiers
MXPA04001292A (es) Conteniendo digital de publicacion dentro de un universo definido tal como una organizacion de acuerdo con un sistema de administracion digital de derechos (drm).
JP2004246902A (ja) 組織などの限定された領域内におけるデジタル著作権管理(drm)システムによるデジタルコンテンツのパブリッシュ
US8347098B2 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
WO2022148182A1 (zh) 一种密钥管理方法及相关设备
US20240039709A1 (en) Method and apparatus for sharing encrypted data, and device and readable medium
Wu et al. Secure personal health records sharing based on blockchain and IPFS
KR20220039779A (ko) 강화된 보안 암호화 및 복호화 시스템
US9311492B2 (en) Media storage structures for storing content, devices for using such structures, systems for distributing such structures
JP5711117B2 (ja) 医療データへのアクセス
US20230421543A1 (en) Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network
US9219715B2 (en) Mediator utilizing electronic content to enforce policies to a resource
JP2011227673A (ja) ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラム
US11728973B2 (en) System and method for secure access management
WO2022212396A1 (en) Systems and methods of protecting secrets in use with containerized applications
Piechotta et al. A secure dynamic collaboration environment in a cloud context