KR102141772B1 - 키 설정 및 데이터 전송 방법 및 장치 - Google Patents

키 설정 및 데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR102141772B1
KR102141772B1 KR1020197020746A KR20197020746A KR102141772B1 KR 102141772 B1 KR102141772 B1 KR 102141772B1 KR 1020197020746 A KR1020197020746 A KR 1020197020746A KR 20197020746 A KR20197020746 A KR 20197020746A KR 102141772 B1 KR102141772 B1 KR 102141772B1
Authority
KR
South Korea
Prior art keywords
data
terminal
data exchange
user
exchange platform
Prior art date
Application number
KR1020197020746A
Other languages
English (en)
Other versions
KR20190103212A (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 알리바바 그룹 홀딩 리미티드
Publication of KR20190103212A publication Critical patent/KR20190103212A/ko
Application granted granted Critical
Publication of KR102141772B1 publication Critical patent/KR102141772B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • 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
    • 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
    • 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
    • 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
    • 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/3827Use of message hashing
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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)
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Finance (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephone Function (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 출원은 기존의 데이터 교환 과정에서 낮은 데이터 보안성의 문제를 해결하기 위한 데이터 전송 방법을 제공한다. 이 방법은: 데이터 트랜잭션 플랫폼에 의해, 제 1 사용자와 제 2 사용자 간에 달성된 데이터 트랜잭션 합의를 블록체인 내에 기입하고 상기 합의를 저장하는 단계; 데이터 교환 플랫폼에 의해, 제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하는 단계 - 상기 제 1 단말기는 상기 제 1 사용자에 대응하는 단말기임 - ; 상기 제1 단말기에 의해, 상기 암호화된 제 1 데이터를 제 2 단말기에 전송하는 단계 - 상기 제 2 단말기는 상기 제 2 사용자에 대응하는 단말기임 -; 상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 상기 제 2 단말기에 전송하는 단계; 및 상기 제 2 단말기에 의해, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독하여 제 1 데이터를 획득하는 단계를 포함한다. 본 출원은 데이터 전송 장치를 더 개시한다.

Description

키 설정 및 데이터 전송 방법 및 장치
본 출원은 2017 년 2 월 24 일자로 출원된 중국 특허 출원 제20171012824.3호의 우선권을 주장하며, 그 전체 내용은 본원에 참고로 포함된다.
본 출원은 컴퓨터 기술 분야에 관한 것으로, 특히, 데이터 전송 방법 및 장치에 관한 것이다.
정보 기술의 발달로 인해, 정보 기술은 사람들의 일과 삶에 큰 편의를 가져다 주었다. 정보 기술의 분야에서, 정보는 데이터를 캐리어로서 사용하여 저장되고 전송되며, 데이터는 컴퓨팅 디바이스의 저장 매체에 2 진수로서 저장될 수 있다. 본원에 언급되는 데이터는 텍스트, 심볼, 비디오 또는 오디오, 및 컴퓨팅 장치에 의해 식별될 수 있는 다른 모든 요소일 수 있다.
데이터는, 정보의 캐리어로서, 일반적으로 특정의 가치를 갖는다. 특히 빅데이터(big data)의 시대에, 각각의 유닛은 그의 운영 또는 서비스 과정에서 대용량의 데이터를 축적하는 경향이 있으며, 이 데이터는 일부 비즈니스를 수행하기 위한 특정의 사용 가치를 가질 수 있다. 데이터의 가치를 최대로 활용하기 위해, 데이터를 보유한 두 당사자는 서로 데이터를 교환하여 각 당사자가 필요로 하는 데이터를 취할 수 있다.
데이터 교환의 양 당사자가 적절한 데이터 교환 객체를 편리하게 찾을 수 있도록 하기 위해, 데이터 교환 플랫폼이 등장했다. 데이터 교환 플랫폼은 데이터 보유자가 발행한 데이터 교환 정보를 표시할 수 있으므로, 데이터 요구자가 그 정보를 쉽게 찾을 수 있다. 데이터 교환 과정에서 동시에, 데이터 교환 플랫폼은 중개자로서, 데이터 보유자로부터 데이터를 수신할 수 있고, 그 후 그 데이터를 데이터 요구자에게 전송할 수 있다. 이러한 방식에서, 데이터 교환 플랫폼은 다른 목적으로 양 당사자 간에 교환된 데이터를 사용하거나 데이터를 수신자에게 전송하기 전에 승인없이 데이터를 변경하여, 데이터 교환 당사자의 이익에 손해를 끼칠 수 있다. 즉, 기존의 데이터 교환 과정에서, 데이터 보안성은 상대적으로 낮다.
본 출원의 실시예는 기존의 데이터 교환 과정에서 낮은 데이터 보안성의 문제를 해결하기 위한 데이터 전송 방법을 제공한다.
본 출원의 실시예는 다음의 기술적 해결책을 채택한다:
데이터 전송 방법이 제공되며, 이 방법은:
데이터 교환 플랫폼에 의해, 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입하고 상기 합의를 저장하는 단계;
상기 데이터 교환 플랫폼에 의해, 제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하는 단계 - 상기 제 1 단말기는 상기 제 1 사용자에 대응하는 단말기임 -;
상기 제 1 단말기에 의해, 상기 암호화된 제 1 데이터를 제 2 단말기에 전송하는 단계 - 상기 제 2 단말기는 상기 제 2 사용자에 대응하는 단말기임 -;
상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 상기 제 2 단말기에 전송하는 단계; 및
상기 제 2 단말기에 의해, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독하여 제 1 데이터를 획득하는 단계를 포함한다.
본 출원의 실시예는 기존의 데이터 교환 과정에서 낮은 데이터 보안성의 문제를 해결하기 위한 데이터 전송 방법을 추가로 제공한다.
본 출원의 실시예는 다음의 기술적 해결책을 채택한다:
데이터 전송 방법이 제공되며, 이 방법은:
데이터 교환 플랫폼에 의해, 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입하고 상기 합의를 저장하는 단계;
상기 데이터 교환 플랫폼에 의해, 제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하는 단계 - 상기 제 1 단말기는 상기 제 1 사용자에 대응하는 단말기임 -; 및
상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 제 2 단말기에 전송하여, 상기 제 2 단말기가 상기 제 1 단말기에 의해 전송된 상기 제 1 데이터를 수신한 후에, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독함으로써 제 1 데이터를 획득하게 하는 단계 - 상기 제 2 단말기는 상기 제 2 사용자에 대응하는 단말기임 - 를 포함한다.
본 출원의 실시예는 기존의 데이터 교환 과정에서 낮은 데이터 보안성의 문제를 해결하기 위한 데이터 전송 방법을 추가로 제공한다.
본 출원의 실시예는 다음의 기술적 해결책을 채택한다:
데이터 전송 방법이 제공되며, 이 방법은:
데이터 교환 플랫폼에 의해, 제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하는 단계 - 상기 제 1 단말기는 제 1 사용자에 대응하는 단말기임 -; 및
상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 제 2 단말기에 전송하여, 상기 제 2 단말기가 상기 제 1 단말기에 의해 전송된 상기 제 1 데이터를 수신한 후에, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독함으로써 제 1 데이터를 획득하게 하는 단계 - 상기 제 2 단말기는 제 2 사용자에 대응하는 단말기임 - 를 포함한다.
본 출원의 실시예는 기존의 데이터 교환 과정에서 낮은 데이터 보안성의 문제를 해결하기 위한 데이터 전송 장치를 추가로 제공한다.
본 출원의 실시예는 다음의 기술적 해결책을 채택한다:
데이터 전송 장치가 제공되며, 이 장치는:
제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입하고 상기 합의를 저장하도록 구성된 기입 유닛;
제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하도록 구성된 제 1 수신 유닛 - 상기 제 1 단말기는 상기 제 1 사용자에 대응하는 단말기임 -; 및
상기 제 1 키를 제 2 단말기에 전송하여, 상기 제 2 단말기가 상기 제 1 단말기에 의해 전송된 상기 제 1 데이터를 수신한 후에, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독함으로써 제 1 데이터를 획득하게 하도록 구성된 제 1 전송 유닛 - 상기 제 2 단말기는 상기 제 2 사용자에 대응하는 단말기임 - 을 포함한다.
본 출원의 실시예에 의해 채택되는 전술한 기술적 해결책 중 적어도 하나는 다음과 같은 유익한 효과를 달성할 수 있다:
데이터 교환 동안, 데이터 교환 플랫폼은 데이터를 교환하는 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입한다. 데이터 교환 플랫폼은 그 후 암호화된 제 1 데이터를 해독하기 위해, 제 1 사용자에 대응하는 제 1 단말기에 의해 전송된 제 1 키를 수신한다. 제 1 단말기는 암호화된 제 1 데이터를 제 2 사용자에 대응하는 제 2 단말기에 전송한다. 데이터 교환 플랫폼은 제 1 키를 제 2 단말기에 전송하고, 제 2 단말기는 수신된 암호화된 제 1 데이터를 제 1 키에 기초하여 해독하여 제 1 데이터를 획득한다. 분명한 것은, 데이터 교환 플랫폼이 데이터 교환 과정에서 교환된 제 1 데이터로부터 회피됨으로써, 제 1 데이터가 다른 목적을 위해 데이터 교환 플랫폼에 의해 사용될 수 있는 위험을 피하고, 데이터 교환 과정에서 데이터 보안성과 한편으로는 데이터 교환 플랫폼을 강화시킨다는 것이다.
본원에 설명되는 첨부된 도면은 본 출원의 보다 나은 이해를 제공하는 데 사용되며, 본 출원의 일부를 구성한다. 본 출원의 예시적인 실시예 및 그 설명은 본 출원을 설명하기 위해 사용되며, 본 출원에 대한 어떠한 부적절한 제한을 구성하려는 것은 아니다. 도면에서:
도 1는 본 출원의 일 실시예에 따른 데이터 전송 방법을 구현하는 개략적인 흐름도이다.
도 2는 본 출원의 일 실시예에 따른 데이터 전송 방법의 구현 시나리오의 개략도이다.
도 3은 본 출원의 일 실시예에 따른 데이터 트랜잭션 방법을 구현하는 개략적인 흐름도이다.
도 4는 본 출원의 일 실시예에 따른 데이터 전송 장치의 개략적인 특정 구조도이다.
도 5는 본 출원의 일 실시예에 따른 안전한 데이터 트랜잭션을 위한 컴퓨터에 의해 구현되는 방법의 또 다른 예를 나타내는 흐름도이다.
본 출원의 목적, 기술적 해결책 및 이점을 보다 이해하기 쉽게 하기 위해, 본 출원의 기술적 해결책은 본 출원의 특정 실시예 및 대응하는 첨부 도면을 통해 명확하고 완전하게 설명된다. 명백하게도, 설명된 실시예는 본 출원의 모든 실시예라기보다는 일부 실시예에 불과할 뿐이다. 본 출원의 실시예에 기초하여, 본 기술 분야의 통상의 기술자에 의해 어떠한 창의적 노력없이 도출되는 다른 모든 실시예는 본 출원의 보호 범위 내에 속할 것이다.
본 기술의 배경에서 설명된 바와 같이, 데이터는, 정보의 캐리어로서, 일반적으로 특정의 가치를 갖는다. 특히, 빅데이터의 시대에, 빅데이터는 정부와 기업이 다양한 타입의 업무를 수행하는 데 커다란 가치를 지니게 된다. 빅데이터에서 추출한 정보는 정부와 기업이 보다 나은 결정을 내리는 데 도움이 될 수 있다. 예를 들어, 대규모 소셜 네트워킹 사이트는, 대개 사용자의 개인 신원 정보를 기록할 뿐만 아니라 사용자의 개인 취미, 생활 습관, 개인 관계, 및 기타 정보를 어느 정도 반영하는 대용량의 사용자 데이터를 축적한다. 이 데이터에 포함된 정보는 후속 비즈니스를 수행하는 데 커다란 사용 가치를 지니며, 예를 들어, 마케팅 회사가 광고를 사용자들에게 정확하게 전달하는 데 도움이 될 수 있다.
데이터 보유자들은 데이터 가치를 최대로 활용하기 위해 서로 데이터를 교환하여 교환된 데이터에서 귀중한 정보를 찾아내어 그들의 비즈니스의 개발을 촉진시킬 수 있다. 따라서, 데이터 수요자들이 자신에게 유용한 데이터를 편리하게 구할 수 있도록 하기 위해, 모든 데이터 교환 당사자들은 데이터 교환 플랫폼을 통해 데이터를 교환할 수 있다.
그러나, 데이터는 재현 가능하기 때문에, 데이터의 소유권은 실제 객체의 소유권만큼 명확하지가 않다. 실제 객체가 당사자 A에서 당사자 B로 이전될 경우, 당사자 A는 실제 객체의 소유권을 상실하게 된다. 그러나, 데이터가 한 당사자에서 다른 당사자로 이전될 경우, 이 과정에서 만약 데이터가 제3자를 통하게 되면, 제3자는 데이터를 복사하여 데이터를 소유할 수 있게 된다. 이것은 데이터 교환의 양 당사자의 이익에 손해를 끼칠 수가 있다.
데이터 교환 플랫폼은 양 당사자 간에 교환 데이터를 매칭시키는 역할 뿐만 아니라 데이터 교환 과정에서 양 당사자의 이익을 보장하는, 즉 보증인의 역할을 수행할 수 있다. 기존의 데이터 교환 과정에서, 데이터 교환의 일 당사자가 데이터를 전송한 후, 다른 당사자가 자신의 데이터를 전송하지 않는 상황을 방지하기 위해, 데이터 교환 플랫폼은 먼저 데이터 교환의 양 당사자의 데이터를 획득할 수 있고 그 후 데이터 교환의 양 당사자에게 개별적으로 데이터를 전송함으로써, 각 당사자가 약속을 어기지 못하게 할 수 있다. 이러한 방식에서, 데이터 교환 플랫폼은 다른 용도로 데이터를 사용할 기회를 가질 수 있다. 이것은 교환하는 동안 낮은 데이터 보안성을 초래할 것이다. 이러한 문제를 해결하기 위해, 본 출원은 데이터 전송 방법을 제공한다. 본 출원에서 제공된 데이터 전송 방법은 데이터 교환 플랫폼에 의해 실행될 수 있고, 데이터 교환 플랫폼은 이 방법을 구현하기 위한 소프트웨어, 하드웨어, 또는 소프트웨어와 하드웨어의 조합일 수 있다.
이하, 본 출원의 각각의 실시예에 의해 제공되는 기술적인 해결책은 첨부 도면을 참조하여 상세하게 설명된다.
제 1 실시예
본 출원의 제 1 실시예는 기존의 데이터 교환 과정에서의 낮은 데이터 보안성의 문제를 해결하기 위한 데이터 전송 방법을 제공한다. 본 출원의 이 실시예에서, 설명의 용이함을 위해, 데이터 교환의 양 당사자는 제 1 사용자 및 제 2 사용자로 지칭된다. 제 1 사용자 및 제 2 사용자는 임의의 조직 또는 개인일 수 있다. 본 명세서의 제 1 사용자 및 제 2 사용자는 데이터 트랜잭션의 양 당사자를 구별하기 위해 사용되며, 본 출원에서 데이터 트랜잭션의 양 당사자에 대한 제한으로서 이해되어서는 안된다.
데이터 교환 중 양 당사자는 단말기 디바이스를 사용하여 일부 동작을 실행할 수 있다. 설명을 용이하게 하기 위해, 제 1 사용자에 의해 실행되는 동작에 대응하는 단말기는 제 1 단말기로 지칭되고, 제 2 사용자에 의해 실행되는 동작에 대응하는 단말기는 제 2 단말기로 지칭된다. 주목해야 하는 것은, 전체 데이터 교환 과정에서 동일한 사용자가 동일한 단말기를 사용할 수 있으며 또한 서로 다른 단말기를 사용할 수도 있다는 것이다. 즉, 본 출원의 실시예의 각 과정에서 언급된 제 1 단말기는 서로 다른 단말기들일 수 있고, 제 2 단말기도 또한 서로 다른 단말기들일 수 있다. 예를 들어, 여기에서의 단말기는 퍼스널 컴퓨터, 서버, 모바일 단말기, 또는 본 출원에서 제한되지 않는 다른 컴퓨팅 디바이스일 수 있다.
데이터 교환 중, 데이터 교환의 양 당사자는 종종 데이터를 교환하기 전에 데이터 교환 합의를 수행하기도 한다. 여기서 데이터 교환 합의는 데이터를 교환하기 전에 데이터 교환의 양 당사자가 달성한 데이터 교환의 세부 사항에 대한 합의를 의미한다. 데이터 교환 합의는 데이터 교환의 양 당사자가 각각의 권리와 의무를 결정하기 위해 규정한 조항과, 양 당사자가 준수할 조항을 포함한다.
데이터 교환 합의가 달성되면, 제 1 사용자는 제 1 단말기를 통해 데이터 교환 플랫폼 상으로 데이터 정보를 발행할 수 있다. 제 1 단말기에 의해 발행된 데이터 정보를 수신한 후, 데이터 교환 플랫폼은 그 데이터 정보를 공표할(publish) 수 있다. 따라서, 이 데이터 정보를 본 후에 데이터 정보에 관심이 있는 제 2 사용자는 이 데이터 정보에 대한 주문 요청을 제 2 단말기를 통해 데이터 교환 플랫폼에 전송할 수 있다. 데이터 교환 플랫폼은 공표된 데이터 정보에 대한 제 2 단말기의 주문 요청을 수신하고 그 요청을 제 1 단말기에 전송한다. 제 1 단말기가 확인을 한 후에, 데이터 교환 플랫폼은 그 주문 요청에 대해 제 1 단말기 의해 전송된 확인 정보를 수신하여 데이터 교환 합의를 달성할 수 있다.
위의 내용은 데이터 교환 합의를 달성하는 과정을 간략하게 설명하고 있다. 실제 적용시, 데이터 교환의 양 당사자는 반복되는 협상을 통해 그 합의의 세부 사항을 결정할 수 있다. 데이터 교환 합의에는 특히 데이터 교환의 양 당사자의 신원 정보, 교환된 데이터의 특징 정보(feature information), 양 당사자가 준수하는 데이터 사용 사양 및 합의를 위반한 징벌 조치, 및 기타 정보가 포함될 수 있다. 이러한 방식에서, 데이터를 수신한 후 수신자는 데이터가 합의의 설명에 부합하지 않는다고 판단할 경우 합의에 기초하여 해당 조치를 취할 수 있다.
그 합의에서, 양 당사자 간에 교환되는 데이터의 특징 정보에는, 데이터 무결성을 검증하기 위한 메시지 다이제스트, 및 그 데이터의 특정 내용을 요약하기 위한 기준 정보 중 적어도 하나가 포함될 수 있다. 제 1 데이터의 경우, 제 1 데이터의 특징 정보에는 다시, 제 1 데이터의 무결성을 검증하기 위한 메시지 다이제스트, 및 제 1 데이터의 특정 내용을 요약하기 위한 기준 정보 중 적어도 하나가 포함된다.
메시지 다이제스트는 메시지 또는 문서에 고유하게 대응하는 고정 길이 값이며, 이 고정 길이 값은 단방향 해시 알고리즘에 기초하여 결정된다. 따라서, 교환될 데이터가 변경될 때, 데이터의 메시지 다이제스트가 또한 변경될 수 있다. 일반적으로 사용되는 단방향 해시 알고리즘은 메시지 다이제스트 알고리즘 5 (Message Digest Algorithm 5)(MD5), 안전한 해시 알고리즘(Secure Hash Algorithm)(SHA), 메시지 인증 코드(Message Authentication Code)(MAC) 등을 포함한다.
합의에 포함된 제 1 데이터의 메시지 다이제스트에 기초하여, 암호화된 데이터를 수신한 후, 제 2 사용자는 암호화된 데이터에 대해 무결성 체크를 수행하여 수신된 데이터가 수정되었는지를 판단할 수 있다. 한편, 무결성 체크 값은 또한 데이터 교환의 양 당사자 간의 향후 분쟁에 사용하기 위한 기초가 될 수도 있다.
제 1 데이터의 특정 내용을 요약하기 위한 기준 정보는, 예를 들어, 제 1 데이터에 포함되어야 하는 데이터의 타입, 또는 제 1 데이터의 데이터가 만족시켜야 하는 일부의 특정 조건, 또는 본 출원의 제 1 데이터 내의 데이터에 의해 달성될 수 있는 효과 등일 수 있다. 정보에 기초하여, 제 2 단말기는 제 1 데이터의 특정 내용을 체크하여, 제 2 사용자가 기만당하는 것을 방지하고, 자신의 이익에 대한 손실을 회피할 수 있다.
전술한 것은 데이터를 전송하기 전에 양 당사자에 의해 데이터 교환 합의를 달성하는 과정을 설명하고 있다. 본 출원에서 데이터 교환의 양 당사자에 의한 데이터 전송 과정, 즉 본 출원에 제공되는 데이터 전송 방법이 이하에서 상세히 소개될 것이다. 이 방법을 구현하기 위한 개략적인 흐름도가 도 1에 도시되어 있다. 이 방법은 다음의 단계를 포함한다:
단계 101: 데이터 교환 플랫폼은 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입하고 상기 합의를 저장한다.
정보 기술의 시대에, 합의는 또한 데이터의 형태로 컴퓨팅 디바이스의 저장 매체에 저장될 수 있고, 저장 매체에 저장된 데이터는 변경될 위험을 가질 수 있다. 데이터 교환의 양 당사자가 승인없이 합의를 변경하지 않도록 하고, 합의 데이터의 보안을 강화하기 위해, 데이터 교환 플랫폼은 제3자로서 그 합의를 저장하는 데 사용될 수 있다.
그러나, 합의가 데이터 교환 플랫폼에 저장되는 경우, 데이터 교환 플랫폼이 그 합의를 변경할 수 있는 위험이 있을 것이다. 데이터 교환 플랫폼이 합의를 변경하기 위해 데이터 교환의 한 당사자와 공모하는 경우, 다른 당사자의 이익은 손해를 입게 될 것이다. 합의 데이터의 보안을 더 강화하고 데이터 교환 플랫폼의 신뢰성을 강화하기 위해, 합의의 저장 중에, 제 1 사용자와 제 2 사용자 간에 달성되는 데이터 교환 합의를 저장하는 데 블록체인 기술이 사용될 수 있다.
블록체인 기술은, 분권화되고(decentralized), 디트러스트되고(detrusted), 변조 방지된(tamper-proof) 분산 데이터 저장 기술이다. 블록체인 기술을 사용하여 저장된 데이터 구조는 체인형 데이터 구조(chained data structure)이다. 체인형 데이터 구조의 데이터는 증분 방식으로만 변경될 수 있다. 이미 기록된 데이터는 초기 상태를 유지하며 덮여지지 않을 것이다.
한편, 블록체인은 데이터 기록시 컨센서스 메커니즘(consensus mechanism)을 따른다. 노드가 데이터를 기록할 때, 기록된 데이터는 블록체인에서 대부분의 노드들의 컨센서스를 획득한 후에만 블록체인의 각 노드에 기록될 수 있다. 이는 저장된 데이터가 불법 데이터일 가능성을 크게 감소시켜, 합의가 변경될 가능성을 크게 감소시킨다.
블록체인 기술에 사용된 컨센서스 메커니즘은, 예를 들어, 작업 증명 메커니즘(prove-of-work mechanism), 스테이크 증명 메커니즘(prove-of-stake mechanism), 위임된 스테이크 증명 메커니즘(delegated proof-of-stake mechanism), 검증 풀 메커니즘(verification pool mechanism) 등일 수 있다. 블록체인에서 기존 데이터를 변경하려는 경우, 유일한 옵션은 사이드 체인(side chain)을 위조하여 원래 데이터를 대체하는 것이다. 변조 비용(tampering costs)은 기술 난이도, 시간 소비 및 노동 사용면에서 엄청나다. 블록체인의 컨센서스 메커니즘에 따라 변조를 수행하는 것은 거의 불가능하다.
위의 분석을 통한 결론은, 본 출원의 실시예가 합의가 변조될 가능성을 효과적으로 회피할 수 있고 데이터 교환 합의의 보안성을 크게 강화할 수 있는 블록체인 기술에 의해 데이터 교환 합의를 저장한다는 것이다.
단계 102: 데이터 교환 플랫폼은, 제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신한다.
여기에 언급된 제 1 데이터는 제 1 사용자가 제 2 사용자에게 전송할 것으로 예상되는 데이터이다. 따라서, 여기서의 제 1 사용자는 제 1 데이터의 전송자이고, 제 2 사용자는 제 1 데이터의 수신자이다. 물론, 컴퓨터 분야에서, 소위 사용자들 간에 데이터를 전송하는 것은, 실제 동작시, 사용자가 자신의 단말기를 통해 다른 사용자의 단말기로 데이터를 전송하는 것일 수 있다는 것이 본 기술 분야의 기술자에게는 명백할 것이다.
데이터 교환의 양 당사자 이외의 제 3자가 데이터를 도난하는 것을 방지하기 위해, 제 1 데이터는 암호화될 수 있고, 그 후 제 2 단말기로 전송될 수 있다. 암호화 방식에서, 평문 텍스트 정보를 은닉하는 데 암호화가 사용되어, 그 정보는 해독 키가 없는 경우 판독이 불가능하며, 이로써 데이터 전송의 보안성이 강화된다.
데이터는 암호화된 후에 데이터 상호 작용 플랫폼을 통해 송신되지만, 이는 여전히, 암호화된 제 1 데이터가 데이터 교환 플랫폼에 의해 사용되는 것을 완전히 방지할 수 없다. 예를 들어, 데이터 교환 플랫폼에 의해 데이터가 크랙킹(cracked)될 수 있다. 암호화된 제 1 데이터는 이어서 제 1 단말기에 의해 제 2 단말기로 직접 전송될 수 있고, 데이터 교환 플랫폼은 교환된 데이터로부터 회피되어 데이터 전송의 보안성을 더욱 강화할 수 있다.
데이터는 다양한 암호화 방법을 사용하여 제 1 단말기에 의해 암호화될 수 있다. 예를 들어, 제 1 데이터는 대칭 암호화 알고리즘을 사용하여 암호화될 수 있다. 이 경우, 여기서의 제 1 키는 제 1 데이터를 암호화하는 데 사용되는 키이다. 이러한 방식으로, 데이터 교환 플랫폼은, 제 1 단말기에 의해 전송되고 제 1 데이터를 암호화하는 데 사용되는 키를 수신함으로써 암호화된 제 1 데이터를 해독하기 위한 키를 결정한다. 또는, 제 1 단말기는 또한 비대칭 암호화 알고리즘을 사용하여 제 1 데이터를 암호화하고, 데이터 교환 플랫폼에 의해 전송된 공개 키로 제 1 데이터를 암호화할 수 있다. 이러한 방식에서, 데이터 교환 플랫폼은 암호화된 데이터를 해독하기 위한 개인 키를 결정하기만 하면 된다.
데이터 교환의 양 당사자를 제한하기 위해, 제 1 키가 제 1 단말기에 의해 제 2 단말기에 직접 전송되는 대신에 적절한 시기에 데이터 교환 플랫폼에 의해 전송되는 것이 바람직하다. 즉, 제 1 단말기가 대칭 암호화 알고리즘을 사용하여 제 1 데이터를 암호화한 후에, 암호화에 사용된 제 1 키는 데이터 교환 플랫폼에 전송될 수 있다. 제 1 단말기에 의해 전송된 키를 수신한 후, 데이터 교환 플랫폼은 단계(103)를 수행함으로써 상기 키를 제 2 단말기에 전송할 수 있다.
단계 103: 데이터 교환 플랫폼은 제 1 키를 제 2 단말기에 전송한다.
이러한 방식에서, 제 2 단말기는 제 1 단말기에 의해 전송된 제 1 데이터를 수신한 후에, 수신된 암호화된 제 1 데이터를 제 1 키에 기초하여 해독하여 제 1 데이터를 획득할 수 있다. 제 2 단말기는 제 2 사용자에 대응하는 단말기이다.
유사하게, 제 1 단말기에 데이터를 전송할 때, 제 2 단말기는 또한 키를 사용하여 데이터를 암호화할 수 있다. 여기서, 제 2 사용자가 보유한 교환 예정 데이터는 제 2 데이터로 지칭된다. 제 2 데이터를 암호화한 후, 제 2 단말기는 암호화된 제 2 데이터를 제 1 단말기에 전송하고, 그 후 암호화된 데이터를 해독하기 위한 제 2 키를 데이터 교환 플랫폼에 전송한다. 데이터 교환 플랫폼은 그 후 제 2 키를 제 1 단말기에 전송하고, 그에 따라 제 1 단말기는 제 2 키를 사용하여 암호화된 제 2 데이터를 해독함으로써 제 2 데이터를 획득하게 되고, 따라서 양 당사자 간에 데이터 교환을 구현할 수 있게 된다. 이 과정에서, 양 당사자 간에 교환되는 데이터는 데이터 교환 플랫폼을 통과하지 않으므로 교환된 데이터의 보안성이 강화된다.
주목해야 하는 것은, 본 출원의 실시예에서, 설명을 용이하게 하기 위해, 제 1 사용자에 의해 보유되는 데이터는 제 1 데이터로 지칭되고, 제 2 사용자에 의해 보유되는 데이터는 제 2 데이터로 지칭되고, 양 당사자가 데이터를 교환하는 과정은 제 1 데이터와 제 2 데이터를 서로 교환하는 과정이 된다는 것이다. 본 출원의 실시예에서 사용된 "제 1" 및 "제 2"라는 용어는 서로 다른 기술된 객체를 구별하기 위해 사용되고 특정 객체를 지칭하는 것이 아니라는 것을 이해할 수 있다.
데이터 보안성을 더욱 강화하고 양 당사자의 이익에 대한 손해를 방지하기 위해, 암호화된 데이터를 위해 양 당사자에 의해 전송된 키가 수신된 후, 또한 상기 데이터에 대해 양 당사자에 의해 전송된 확인 정보가 수신된 후에 양 당사자에 키를 전송하는 것도 가능하며, 그에 따라 한 당사자가 데이터를 수신한 후 키를 전송하지 않아 다른 당사자의 이익을 크게 해치는 경우를 방지할 수 있다. 예를 들어, 제 1 키를 제 2 단말기에 전송한 후, 데이터 교환 플랫폼은 제 1 데이터에 대해 제 2 단말기에 의해 전송된 확인 정보를 수신한 후에 제 2 키를 제 1 단말기에 전송한다. 제 1 데이터에 대한 확인 정보는 제 2 사용자가 제 1 데이터가 합의의 설명에 부합함을 결정한다는 것을 나타내며, 따라서 제 2 사용자의 이익을 효과적으로 보호한다. 마찬가지로, 제 1 데이터에 대해 제 2 사용자에 의해 전송된 확인 정보를 수신한 후에, 데이터 교환 플랫폼은 또한 제 2 데이터에 대해 제 1 단말기에 의해 전송된 확인 정보를 수신할 수 있다. 제 2 데이터에 대한 확인 정보는 제 1 사용자가 제 2 데이터가 합의의 설명에 부합함을 결정한다는 것을 나타낸다.
일부 타입의 데이터는 플랫폼을 통해 교환될 수 있다. 그 데이터는, 예를 들어, 데이터가 제3자에 의해 획득되는지를 사용자가 신경쓰지 않는 데이터일 수 있거나, 또는 복제를 통해 데이터 값을 획득할 수 없는 데이터일 수 있다. 이러한 타입의 데이터는 암호화할 필요가 없기 때문에 컴퓨팅 리소스와 저장 리소스를 절감할 수 있다. 설명을 쉽게 하기 위해, 플랫폼을 통해 교환될 수 있는 데이터는 제 3 데이터로 지칭된다.
이하, 본 출원에서 제공되는 데이터 교환 방법은, 제 2 사용자의 교환 예정 데이터가 데이터 교환 플랫폼을 통해 교환될 수 있는 제 3 데이터이며 교환될 제 1 데이터를 암호화하는 기술이 대칭 암호화 기술인 예를 사용하여 상세히 설명된다. 이 방법은 다음의 단계를 포함한다:
단계 201: 데이터 교환 플랫폼은 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입하고 상기 합의를 저장한다.
단계 202: 데이터 교환 플랫폼은, 제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신한다.
단계 203: 제 1 단말기는 암호화된 제 1 데이터를 제 2 단말기에 전송한다.
단계 204: 제 2 단말기는 제 3 데이터를 데이터 교환 플랫폼에 전송한다.
주목해야 하는 것은 본 출원이 단계(202), 단계(203) 및 단계(204)를 실행하는 순서를 제한하지 않는다는 것이다.
단계 205: 데이터 교환 플랫폼은 수신된 제 1 키를 제 2 단말기에 전송한다.
제 2 사용자가 제 3 데이터를 데이터 교환 플랫폼에 직접 전송하기 때문에, 데이터 교환 플랫폼은 제 3 데이터를 검증할 수 있고, 제 3 데이터가 양 당사자에 의해 달성된 합의에 부합하지 않는다는 것을 알게 되면 제 1 키를 제 2 단말기에 전송하지 않을 수 있어서, 제 1 사용자의 이익에 대한 손해를 회피할 수가 있게 된다. 따라서, 이 단계의 특정 구현 과정은, 제 3 데이터가 양 당사자의 합의에 부합하는 것으로 결정된 경우, 수신된 제 1 키를 제 2 단말기에 송신하는 것일 수 있다.
단계 206: 제 2 단말기는 수신된 암호화된 제 1 데이터를 수신된 제 1 키에 따라 해독하여 제 1 데이터를 획득한다.
단계 207: 데이터 교환 플랫폼은 제 3 데이터를 제 1 단말기에 전송한다.
제 2 사용자에 의해 획득된 제 1 데이터의 경우, 데이터 교환 플랫폼이 제 1 데이터로부터 회피되므로, 데이터 교환 플랫폼은 그의 진위를 검증할 수 없을 것이다. 이 경우, 제 1 데이터는 제 2 단말기에 의해 검증된다. 검증 동안, 제 2 단말기는 트랜잭션 합의에서 양 당사자가 동의한 제 1 데이터의 특징 정보를 획득할 수 있다. 구체적으로, 특징 정보는 블록체인에 저장된 합의로부터 획득될 수 있다. 확실히, 양 당사자가 합의를 협상할 때, 제 2 단말기는 일반적으로 합의를 로컬에 또한 저장한다. 따라서, 제 2 단말기는 또한 제 2 단말기에 의해 저장된 합의로부터 특징 정보를 획득할 수 있다. 상기 제 2 단말기는 상기 합의 내의 제 1 데이터의 특징 정보를 획득한 후, 상기 획득된 제 1 데이터가 상기 획득된 특징 정보에 따라 합의 내의 레코드에 부합하는지 여부를 체크할 수 있다.
이러한 방식에서, 제 2 사용자가 제 1 데이터가 최초 합의에 부합하지 않는다는 것을 알게 되면, 데이터 교환 플랫폼은 제 3 데이터를 제 1 단말기에 전송할 수 없어 제 2 사용자의 이익에 대한 손해를 회피할 수 있게 된다.
따라서, 제 3 데이터는 제 2 단말기에 의해 전송된 데이터 전송 명령이 수신될 때 제 1 단말기에 전송될 수 있다. 여기서의 데이터 전송 명령은 제 3 데이터를 제 1 사용자에 전송하도록 데이터 교환 플랫폼에게 명령하는 명령이다. 예를 들어, 명령은 제 1 데이터에 대한 전술한 확인 정보일 수 있으며, 제 1 데이터가 합의의 설명에 부합한다고 제 2 사용자가 결정한 후에만 제 3 데이터가 제 1 단말기에 전송된다는 것을 나타낸다.
그러나, 제 2 사용자가 플랫폼에 데이터 전송 명령을 전송하지 않으면, 제 1 사용자는 제 3 데이터를 수신할 수 없다. 제 1 데이터의 이익에 대한 손해를 회피하기 위해, 경우에 따라서는 제 3 데이터가 제 1 사용자에게 전송될 수도 있다. 예를 들어, 제 1 키가 제 2 사용자에게 전송된 이후 미리 설정된 지속 시간 후에 제 1 사용자가 여전히 제 1 데이터에 대한 확인 정보를 전송하지 않으면, 이 시점에 제 3 데이터가 제 1 사용자에게 전송될 수 있다.
상기에 기초하여, 단계(207)의 특정 구현 과정은 미리 설정된 조건이 충족된다고 결정될 때 제 1 사용자에게 제 3 데이터를 전송하는 것일 수 있다. 여기서, 미리 설정된 조건이 충족되는 시점은 제 2 단말기에 의해 전송된 데이터 전송 명령이 수신된 후일 수 있거나 또는 제 2 단말기에 키가 전송된 이후 미리 설정된 지속 시간 후일 수 있다.
지금까지는, 사용자들 간에 제 1 데이터와 제 3 데이터의 교환이 구현되었다. 이 방법은 한 당사자가 다른 당사자가 전송한 데이터를 획득한 후 다른 당사자에게 데이터를 전송하지 않는 상황을 방지할 수 있기 때문에 데이터 교환의 양 당사자의 이익을 보호할 수 있다.
데이터 교환이 완료된 후, 데이터 교환 플랫폼은 교환이 완료되었다는 레코드를 블록체인 내의 데이터 변경 합의의 결과 내에 기입하고, 후속 사용을 위해 그 레코드를 저장할 수 있다.
본 출원의 실시예에서, 암호화된 데이터의 전송 상태가 또한 결정될 수 있어서, 제 2 사용자가 암호화된 데이터를 수신하지만 암호화된 데이터가 수신되지 않는다고 주장하는 것을 방지할 수 있고, 제 1 단말기가 데이터를 제 2 단말기에 전송하지 않고 제 1 사용자가 상기 제 2 단말기로 데이터를 전송했다고 주장하는 것을 방지할 수 있다. 여기에서 암호화된 데이터는 암호화되어 교환된 데이터, 예를 들어, 전술한 암호화된 제 1 데이터 및 암호화된 제 2 데이터이다. 전송 상태는: 암호화된 데이터가 송신되지 않았음, 암호화된 데이터가 송신중임, 암호화된 데이터가 제 2 단말기에 송신되었음 중 하나를 포함한다.
암호화된 데이터의 전송 상태를 결정하는 특정 방식은 다음과 같을 수 있다: 데이터 상호 작용 플랫폼은 미리 결정된 모니터링 프로그램을 통해 암호화된 데이터의 전송 상태를 획득한다. 모니터링 프로그램은 데이터 교환의 양 당사자 간에 데이터를 전송하는 데 사용되는 프로그램일 수 있다. 또는, 암호화된 데이터의 전송 상태를 결정하는 특정 방식은 또한, 제 1 단말기 및 제 2 단말기에 의해 능동적으로 보고된 암호화된 데이터의 전송 상태를 수신하는 것일 수도 있다.
제 1 단말기에 의해 전송된 암호화된 데이터는 데이터 교환 플랫폼을 통과하지 않는다. 따라서, 제 1 단말기가 다수의 서로 다른 단말기들과 데이터 교환을 수행할 필요가 있다면, 서로 다른 단말기들은 서로 다른 데이터 전송 모드들을 지원할 수 있기 때문에, 제 1 단말기는 서로 다른 단말기들 대해 서로 다른 데이터 전송 인터페이스들을 개발할 필요가 있다. 이것은 보다 많은 인적 리소스를 소비할 뿐만 아니라 너무 많은 저장 리소스를 차지할 것이다. 데이터 전송 플랫폼은 데이터 전송 중에 사용되는 사양을 작성하고 데이터 전송 중에 사용되는 표준 전송 인터페이스를 정의할 수 있다. 표준 전송 인터페이스는 단말기들 간의 데이터 전송 중에 사용되는 범용 인터페이스이다.
데이터 전송 플랫폼을 통해 데이터 교환을 수행하는 사용자의 단말기가 표준 전송 인터페이스를 구현하는 한, 단말기는 표준 인터페이스를 구현하는 임의의 단말기에 데이터를 송신할 수 있다. 데이터 전송 플랫폼에 의해 정의된 표준 전송 인터페이스에서, 예를 들어, 데이터 교환의 양 당사자 간의 데이터 전송 중에 데이터 전송 프로토콜과 같은 정보가 정의될 수 있다. 세부 사항은 본 명세서에 기술되지 않는다.
정의된 표준 인터페이스의 기능은 또한 데이터 교환 플랫폼에 데이터 전송 상태를 전송하는 기능을 포함할 수 있다. 이러한 방식에서, 데이터 상호 작용 플랫폼은 암호화된 데이터의 전송을 완료한 후에, 암호화된 데이터가 제 2 단말기에 성공적으로 전송되었다고 결정할 수 있고, 이어서 대응하는 동작이 수행된다.
본 출원의 실시예에 기초하여, 도 2는 데이터 전송 방법의 구현 시나리오의 개략도를 도시한다. 양 당사자가 데이터 교환 합의를 달성한 후에, 제 1 단말기에 의해 제 1 데이터를 제 2 단말기에 송신하는 특정 과정은 다음과 같다:
단계 301: 제 1 단말기는 제 1 데이터를 암호화하여 암호화된 데이터를 획득한다.
단계 302: 제 1 단말기는 암호화된 데이터를 구현된 표준 전송 인터페이스를 통해 제 2 단말기에 전송한다.
확실히, 제 2 단말기는 또한 표준 전송 인터페이스를 구현한다.
단계 303: 제 2 단말기는 키를 데이터 교환 플랫폼에 전송한다.
단계 304: 데이터 교환 플랫폼은 수신된 키를 제 2 단말기에 전송한다.
단계 305: 제 2 단말기는 암호화된 데이터를 수신된 키에 따라 해독하여 제 1 데이터를 획득한다.
본 출원의 제 1 실시예에서 제공된 데이터 전송 방법에서, 데이터 교환 동안, 데이터 교환 플랫폼은 데이터를 교환하는 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입한다. 데이터 교환 플랫폼은 그 후 암호화된 제 1 데이터를 해독하기 위해, 제 1 사용자에 대응하는 제 1 단말기에 의해 전송된 제 1 키를 수신한다. 제 1 단말기는 암호화된 제 1 데이터를 제 2 사용자에 대응하는 제 2 단말기에 전송한다. 데이터 교환 플랫폼은 제 1 키를 제 2 단말기에 전송하고, 제 2 단말기는 수신된 암호화된 제 1 데이터를 제 1 키에 기초하여 해독하여 제 1 데이터를 획득한다. 분명한 것은, 데이터 교환 플랫폼이 데이터 교환 과정에서 교환된 제 1 데이터로부터 회피됨으로써, 제 1 데이터가 다른 목적을 위해 데이터 교환 플랫폼에 의해 사용될 수 있는 위험을 피하고, 데이터 교환 과정에서 데이터 보안성과 한편으로는 데이터 교환 플랫폼을 강화시킨다는 것이다.
주목해야 하는 것은, 설명을 용이하게 하기 위해, 데이터 전송 방법의 구현이 데이터 교환 플랫폼에 의해 데이터 전송 방법이 실행되는 예를 사용하여 소개된다는 것이다. 데이터 교환 플랫폼에 의해 실행되는 방법은 예시적인 것으로 이해될 수 있으며, 이 방법에 대한 제한으로서 이해되어서는 안된다. 다음에, 제 1 실시예에서 제공된 방법의 단계들은 동일한 디바이스에 의해 실행될 수 있거나, 또는 서로 다른 디바이스들에 의해 실행될 수 있다. 예를 들어, 단계(101) 및 단계(102)는 디바이스(1)에 의해 실행될 수 있고; 다른 예로서, 단계(101)는 디바이스(1)에 의해 실행될 수 있고, 단계(102)는 디바이스(2)에 의해 실행될 수 있다.
제 2 실시예
본 출원의 발명 개념은 전술한 제 1 실시예에 기초하여 상세히 설명되고 있다. 본 출원의 기술적 특징, 수단 및 효과를 보다 잘 이해하기 위해, 본원의 데이터 전송 방법을 이하에 더 설명함으로써, 본 출원의 다른 실시예를 형성한다.
본 출원의 제 2 실시예에서의 데이터 교환 과정은 제 1 실시예의 데이터 교환 과정과 유사하고, 제 2 실시예에서 도입되지 않은 일부 단계에 대해서는 제 1 실시예의 관련 설명이 참조될 수 있다. 세부 사항은 여기에 다시는 기술되지 않는다.
해결책의 구현이 상세하게 소개되기 전에 먼저 그 해결책의 구현 시나리오를 간략히 소개한다.
인터넷에서, 금전(money)은 또한 데이터의 형태로 존재한다. 따라서, 금전을 나타내는 데이터의 값은 그 데이터가 나타내는 금전의 값일 수 있다. 인터넷에서, 금전을 나타내는 데이터의 전송은 일반적으로 실제의 동작에서, 금전을 식별하는 수치적인 값들을 변경함으로써 구현된다. 예를 들어, 100 위안이 계정 A에서 계정 B로 이체되면, 데이터의 전송은 실제로 계정 A와 계정 B에서 금전을 나타내는 수치적인 값들에 대한 해당 변경들이 된다.
제 1 실시예에서 설명한 바와 같이, 일부 타입의 데이터의 데이터 값은 복제를 통해 획득될 수 없으며, 이러한 데이터는 플랫폼을 통해 송신될 수 있다. 따라서, 제 2 실시예에서, 본 출원에서 제공된 데이터 전송 방법의 특정 구현 과정은 제 3 데이터가 금전을 나타내는 데이터인 예를 사용하여 상세히 예시된다. 설명을 쉽게 하기 위해, 금전을 나타내기 위한 제 3 데이터는 이하에서 간단히 금전으로 지칭된다. 따라서, 데이터 교환 과정은 데이터 트랜잭션 과정으로 해석될 수 있으며, 제 1 실시예의 제 1 사용자는 데이터 판매자이고, 제 2 사용자는 데이터 구매자이고, 데이터 교환 플랫폼은 사용자들을 위해 데이터 트랜잭션 서비스를 제공할 수 있는 데이터 트랜잭션 플랫폼이다.
상기 시나리오에 기초하여, 제 2 실시예에서 데이터 트랜잭션을 구현하는 과정이 도 3에 도시되며, 이는 다음의 단계를 포함한다:
단계 401: 데이터 판매자는 데이터 트랜잭션 플랫폼을 통해 판매중인 데이터의 정보를 발행한다.
데이터 트랜잭션 플랫폼은 데이터 판매 요구를 갖는 사용자를 지원하여 판매용 데이터의 정보를 발행할 수 있으며, 그에 따라, 데이터 소비 요구를 갖는 사용자는 데이터 트랜잭션 플랫폼에서 필요한 정보를 찾을 수 있게 된다.
단계 402: 데이터 소비자와 데이터 판매자는 데이터 트랜잭션 합의를 달성한다.
데이터 소비자는 특정 트랜잭션 세부 사항에 대해 통신할 수 있고, 그 후 최종적으로 데이터 트랜잭션 합의를 달성할 수 있다. 데이터 트랜잭션 합의의 기능은 제 1 실시예에서 설명한 데이터 트랜잭션 합의의 기능과 유사하므로 여기서는 다시 상세하게 설명하지 않는다.
단계 403: 데이터 트랜잭션 플랫폼은 양 당사자가 달성한 데이터 트랜잭션 합의를 블록체인 내에 기입한다.
데이터 트랜잭션 합의가 블록체인 내에 기록되면, 데이터 트랜잭션 합의를 변조할 가능성이 크게 감소될 수 있고, 따라서 합의의 보안성이 강화된다.
단계 404: 데이터 소비자는 데이터 트랜잭션 합의에서 합의된 금액을 데이터 트랜잭션 플랫폼에 지불한다.
인터넷에서, 금전의 이체는 실제로 금전을 나타내는 데이터의 전송이다. 실제 동작에서, 이는 일반적으로 계정들 내의 금전을 식별하는 데이터의 값들을 변경함으로써 구현된다.
단계 405: 데이터 판매자는 판매중인 데이터를 암호화하여 암호화된 데이터를 획득하고, 그 후 암호화를 위한 키를 데이터 트랜잭션 플랫폼에 전송한다.
데이터는 대칭 암호화 기술을 사용하여 암호화될 수 있고, 그에 따라 암호화를 위한 키는 해독을 위한 키와 동일한 것이 된다.
주목해야 하는 것은 본 출원의 실시예가 단계(404) 및 단계(405)를 실행하는 순서를 제한하지 않는다는 것이다.
단계 406: 데이터 판매자는 암호화된 데이터를 표준 전송 인터페이스를 구현하는 단말기를 통해 데이터 소비자의 단말기에 송신한다.
제 1 실시예에서 설명한 바와 같이, 여기서의 표준 전송 인터페이스는 데이터 교환 플랫폼에 의해 정의되고 단말기들 간의 데이터 전송 중에 사용되는 범용 인터페이스이다. 데이터 소비자의 단말기는 또한 데이터를 수신하도록 표준 전송 인터페이스를 구현해야 한다. 이러한 방식에서, 데이터 소비자 및 데이터 판매자가 데이터 교환 플랫폼의 다른 사용자와 데이터 교환을 추가로 수행할 때, 다른 전송 인터페이스를 개발할 필요가 없으므로, 인적 리소스 및 저장 리소스를 절감할 수 있다.
단계 407: 데이터 트랜잭션 플랫폼은 암호화된 데이터가 데이터 소비자의 단말기에 전송되었다고 결정한다.
암호화된 데이터가 데이터 소비자의 단말기에 송신되었다고 결정하기 위한 특정 방법은 제 1 실시예의 관련 설명과 유사하므로, 여기에서 다시 상세하게 설명하지 않는다.
단계 408: 데이터 트랜잭션 플랫폼은 데이터 소비자가 지불한 금액이 상기 합의에 기록된 금액에 부합한다고 결정한 후 데이터 소비자에게 키를 전송한다.
주목해야 하는 것은 본 출원의 실시예가 단계(407) 및 단계(408)를 실행하는 순서를 제한하지 않는다는 것이다.
단계 409: 데이터 소비자는 수신된 키를 사용하여 암호화된 데이터를 해독하고, 해독된 데이터가 상기 합의의 설명에 부합하는지 여부를 검증한다.
단계 410: 데이터 소비자는 수신된 데이터가 상기 합의의 설명에 부합한다고 결정한 후에 단말기를 통해 데이터 트랜잭션 플랫폼에 수신 확인 명령을 전송한다.
수신 확인 명령의 기능은 제 1 실시예에서 설명한 제 2 데이터 전송 명령의 기능과 유사하므로, 여기서는 다시 상세하게 설명하지 않는다.
단계 411: 데이터 트랜잭션 플랫폼은, 수신 확인 명령을 수신한 후, 데이터 소비자가 지불한 금액을 데이터 판매자의 계정에 이체한다.
이후 데이터 판매자와 데이터 소비자가 거래중인 데이터에 대해 분쟁을 일으킨다면, 그들은 블록체인 내의 합의에 따라 그들의 권리를 보호할 수 있다.
본 출원의 제 2 실시예에 제공된 데이터 트랜잭션 방법에서, 데이터 트랜잭션 플랫폼은, 소비자에 의해 전송되고 판매중인 데이터를 암호화하는 데 사용된 키를 수신하고, 그 후 데이터 소비자에 의해 단말기를 통해 지불된 금전을 수신한 후, 상기 키를 데이터 소비자의 단말기로 전송한다. 이러한 방식으로, 데이터 판매자에 의해 전송된 암호화된 데이터를 수신한 후에, 데이터 소비자는 키를 사용하여 암호화된 데이터를 해독하여 데이터 판매자에 의해 판매된 데이터를 획득할 수 있다. 따라서, 데이터 트랜잭션 과정에서, 데이터 교환 플랫폼은 판매된 데이터로부터 회피됨으로써, 판매된 데이터가 다른 목적을 위해 데이터 교환 플랫폼에 의해 사용될 수 있는 위험을 회피하고, 데이터 트랜잭션 과정에서 데이터 보안성을 강화한다.
제 3 실시예
본 출원의 제 1 실시예는 기존의 데이터 교환 과정에서의 낮은 데이터 보안성의 문제를 해결하기 위해 데이터 전송 장치를 제공한다. 도 4에 도시된 바와 같이, 데이터 전송 장치의 개략적인 구조도는 주로 다음의 기능 유닛들, 즉:
제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입하고 상기 합의를 저장하도록 구성된 기입 유닛(501);
제 1 단말기에 의해 전송되고 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하도록 구성된 제 1 수신 유닛(502) - 상기 제 1 단말기는 상기 제 1 사용자에 대응하는 단말기임 -;
상기 제 1 키를 제 2 단말기에 전송하여, 상기 제 2 단말기가 상기 제 1 단말기에 의해 전송된 상기 제 1 데이터를 수신한 후에, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독함으로써 제 1 데이터를 획득하게 하도록 구성된 제 1 전송 유닛(503) - 상기 제 2 단말기는 상기 제 2 사용자에 대응하는 단말기임 - 을 포함한다.
본 출원의 실시예에서, 데이터를 교환하기 위한 많은 다른 특정 구현예가 존재한다. 일 실시예에서, 상기 장치는, 제 1 전송 유닛(503)이 제 1 키를 제 2 단말기에 전송하기 전에, 제 2 단말기에 의해 전송되고 암호화된 제 2 데이터를 해독하는 데 사용되는 제 2 키를 수신하도록 구성된 제 3 수신 유닛(504); 및
제 1 전송 유닛(503)이 제 1 키를 제 2 단말기에 전송한 후에, 제 2 키를 제 1 단말기에 전송하여, 제 1 단말기가 제 2 단말기에 의해 전송된 암호화된 제 2 데이터를 수신한 후, 상기 수신된 암호화된 제 2 데이터를 상기 제 2 키에 기초하여 해독하여 제 2 데이터를 획득하게 하도록 구성된 제 3 전송 유닛(505)을 더 포함한다.
일 구현예에서, 제 2 사용자의 이익을 보장하기 위해, 상기 장치는, 제 1 전송 유닛(503)이 제 1 키를 제 2 단말기에 전송한 후 그리고 제 3 전송 유닛(505)이 제 2 키를 제 1 단말기에 전송하기 전에, 상기 제 1 데이터에 대해 상기 제 2 단말기에 의해 전송된 확인 정보를 수신하도록 구성된 제 4 수신 유닛(506) - 상기 제 1 데이터에 대한 상기 확인 정보는 상기 제 1 데이터가 상기 합의의 설명에 부합함을 상기 제 2 사용자가 결정하는 것을 나타냄 - 을 더 포함한다.
일 구현예에서, 상기 장치는, 제 4 수신 유닛(506)이 제 1 데이터에 대해 제 2 단말기에 의해 전송된 확인 정보를 수신한 후, 상기 제 2 데이터에 대해 제 1 단말기에 의해 전송된 확인 정보를 수신하도록 구성된 제 5 수신 유닛(507) - 상기 제 2 데이터에 대한 상기 확인 정보는 상기 제 2 데이터가 상기 합의의 설명에 부합함을 상기 제 1 사용자가 결정하는 것을 나타냄 - 을 더 포함한다.
일 구현예에서, 상기 장치는, 제 5 수신 유닛(507)이 제 2 데이터에 대해 제 1 단말기에 의해 전송된 확인 정보를 수신한 후, 데이터 교환이 완료되었다는 레코드를 블록체인 내의 데이터 교환 합의의 결과 내에 기입하고 상기 레코드를 저장하도록 구성된 기입 유닛(508)을 더 포함한다.
일 구현예에서, 데이터 교환의 양 당사자의 이익을 보장하기 위해, 상기 장치는, 제 1 전송 유닛(503)이 제 1 키를 제 2 단말기에 전송하기 전에, 제 2 단말기에 의해 전송된 제 3 데이터를 수신하도록 구성된 제 2 수신 유닛(509); 및 제 1 전송 유닛(503)가 제 1 키를 제 2 단말기에 전송한 후, 미리 설정된 조건이 충족되는 것으로 결정되면, 상기 제 3 데이터를 제 1 사용자에게 전송하도록 구성된 제 2 전송 유닛(510)을 더 포함한다.
일 구현예에서, 미리 설정된 조건이 충족되었다는 것을 결정하는 것은 구체적으로: 데이터 교환 플랫폼에 의해, 제 2 단말기에 의해 전송된 데이터 전송 명령을 수신하는 것을 포함하고, 상기 데이터 전송 명령은 제 3 데이터를 제 1 단말기에 전송하도록 데이터 교환 플랫폼에 명령하는 명령이다.
일 구현예에서, 데이터 교환 합의는 제 1 데이터의 특징 정보를 포함한다.
제 1 데이터의 특징 정보에는 제 1 데이터의 무결성을 검증하기 위한 메시지 다이제스트, 및 제 1 데이터의 특정 내용을 요약하기 위한 기준 정보 중 적어도 하나가 포함된다.
일 구현예에서, 인터페이스 개발에서 보다 많은 인적 리소스를 소비하는 것을 방지하기 위해, 암호화된 제 1 데이터는 표준 전송 인터페이스를 구현하는 제 1 단말기를 통해 제 2 단말기에 송신된다. 표준 전송 인터페이스는, 데이터 교환 플랫폼에 의해 정의되고 단말기들 간의 데이터 전송 중에 사용되는 범용 인터페이스이다.
본 출원의 제 3 실시예에서 제공된 데이터 전송 장치에서, 데이터 교환 동안, 데이터 교환 플랫폼은 데이터를 교환하는 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입한다. 데이터 교환 플랫폼은 그 후 암호화된 제 1 데이터를 해독하기 위해, 제 1 사용자에 대응하는 제 1 단말기에 의해 전송된 제 1 키를 수신한다. 제 1 단말기는 암호화된 제 1 데이터를 제 2 사용자에 대응하는 제 2 단말기에 전송한다. 데이터 교환 플랫폼은 제 1 키를 제 2 단말기에 전송하고, 제 2 단말기는 수신된 암호화된 제 1 데이터를 제 1 키에 기초하여 해독하여 제 1 데이터를 획득한다. 분명한 것은, 데이터 교환 플랫폼이 데이터 교환 과정에서 교환된 제 1 데이터로부터 회피됨으로써, 제 1 데이터가 다른 목적을 위해 데이터 교환 플랫폼에 의해 사용될 수 있는 위험을 피하고, 데이터 교환 과정에서 데이터 보안성과 한편으로는 데이터 교환 플랫폼을 강화시킨다는 것이다.
1990 년대에, 기술에 대한 개선은 하드웨어에 대한 개선(예를 들어, 다이오드, 트랜지스터 및 스위치와 같은 회로 구조에 대한 개선) 또는 소프트웨어에 대한 개선(방법 절차에 대한 개선)으로서 명백히 구별될 수 있다. 그러나, 기술의 발달로 인해, 현재의 많은 방법 절차의 개선은 하드웨어 회로 구조에 대한 직접적인 개선으로 간주될 수 있다. 거의 모든 설계자는 하드웨어 회로 내에 개선된 방법 절차를 프로그램하여 해당 하드웨어 회로 구조를 획득한다. 따라서, 하드웨어 엔티티 모듈을 사용하여 방법 절차의 개선을 구현할 수 없다고 가정하는 것은 부적절하다. 예를 들어, 프로그래머블 로직 디바이스(PLD)(예를 들어, 필드 프로그래머블 게이트 어레이(FPGA))는 그의 로직 기능이 사용자에 의해 프로그래밍되는 디바이스에 의해 결정되는 그러한 집적 회로이다. 설계자는 칩 제조업체가 전용 집적 회로 칩을 설계하고 제조할 것을 요구할 필요 없이 하나의 PLD 내에 디지털 시스템을 "통합"하기 위해 스스로 프로그래밍한다. 또한, 현재, 프로그래밍은 집적 회로 칩을 수동으로 제작하는 대신 로직 컴파일러 소프트웨어를 사용하여 주로 구현된다. 로직 컴파일러 소프트웨어는 프로그램을 개발 및 작성하는 데 사용되는 소프트웨어 컴파일러와 유사하며, 컴파일 전의 오리지널 코드는 또한 하드웨어 디스크립션 언어(Hardware Description Language)(HDL)라고 하는 특정 프로그래밍 언어를 사용하여 작성될 필요가 있다. ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, 및 RHDL (Ruby Hardware Description Language)과 같은 많은 타입의 HDL이 존재하며, 이들 타입의 HDL 중 VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) 및 Verilog가 현재 가장 일반적으로 사용된다. 또한 본 기술 분야의 기술자는 로직 방법 절차를 구현하기 위한 하드웨어 회로가 전술한 여러 하드웨어 디스크립션 언어를 사용하여 방법 절차를 약간 논리적으로 프로그래밍하고 이를 집적 회로 내에 프로그래밍함으로써 쉽게 획득될 수 있다는 것을 알아야 한다.
제어기는 임의의 적절한 방식으로 구현될 수 있다. 예를 들어, 제어기는, 예를 들어, 마이크로프로세서 또는 프로세서와, (마이크로)프로세서, 로직 게이트, 스위치, 주문형 집적 회로(Application Specific Integrated Circuit)(ASIC), 프로그래머블 로직 제어기, 및 임베디드 마이크로-제어기에 의해 실행 가능한 컴퓨터 판독 가능 프로그램 코드(예를 들어, 소프트웨어 또는 펌웨어)를 저장하는 컴퓨터 판독 가능 매체의 형태일 수 있다. 제어기의 예는 다음의 마이크로-제어기: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, 및 Silicon Labs C8051F320을 포함하지만 이에 한정되는 것은 아니다. 메모리 제어기는 또한 메모리의 제어 로직의 일부로서 구현될 수 있다. 본 기술 분야의 기술자는 또한, 제어기가 순수한 컴퓨터 판독 가능 프로그램 코드를 사용하여 구현될 수 있으며, 방법의 단계는 제어기로 하여금 로직 게이트, 스위치, ASIC, 프로그래머블 로직 제어기 및 임베디드 마이크로제어기 등의 형태의 동일 기능을 구현할 수 있도록 논리적으로 프로그래밍될 수 있다는 것을 알고 있다. 따라서, 이러한 타입의 제어기는 하드웨어 컴포넌트로 간주될 수 있으며, 다양한 기능을 구현하기 위해 본원에 포함되는 장치는 또한 하드웨어 컴포넌트 내부의 구조로 간주될 수도 있다. 또는, 다양한 기능을 구현하기 위해 사용되는 장치는 심지어는 방법을 구현하기 위한 소프트웨어 모듈 및 하드웨어 컴포넌트 내부의 구조 모두로 간주될 수도 있다.
위의 실시예에 설명된 시스템, 장치, 모듈 또는 유닛은 특히 컴퓨터 칩 또는 엔티티를 사용하여 구현될 수 있거나, 특정 기능을 갖는 제품을 사용하여 구현될 수 있다. 일반적인 구현 디바이스는 컴퓨터이다. 특히, 컴퓨터는, 예를 들어, 퍼스널 컴퓨터, 랩탑 컴퓨터, 셀룰러폰, 카메라폰, 스마트폰, 개인 휴대 정보 단말기(PDA), 미디어 플레이어, 네비게이션 디바이스, 이메일 디바이스, 게임 콘솔 , 태블릿 컴퓨터, 웨어러블 디바이스 또는 이들 디바이스의 임의의 조합일 수 있다.
설명을 용이하게 하기 위해, 장치를 설명할 때, 장치는 각각의 설명을 위한 기능의 관점에서 다양한 유닛으로 분할된다. 물론, 본 출원이 구현될 때, 유닛들의 기능은 동일하거나 다수의 소프트웨어 및/또는 하드웨어 부분으로 구현될 수 있다.
본 기술 분야의 기술자는 본 발명의 실시예가 방법, 시스템, 또는 컴퓨터 프로그램 제품으로서 제공될 수 있음을 이해해야 한다. 따라서, 본 발명은 완전한 하드웨어 실시예, 완전한 소프트웨어 실시예, 또는 소프트웨어와 하드웨어를 결합한 실시예로서 구현될 수 있다. 또한, 본 발명은 컴퓨터 사용 가능한 프로그램 코드를 포함하는 하나 이상의 컴퓨터 사용 가능한 저장 매체(자기 디스크 메모리, CD-ROM, 광학 메모리 등을 포함하지만 이에 한정되지는 않음) 상에 구현되는 컴퓨터 프로그램 제품일 수 있다.
본 발명은 본 발명의 실시예에 따른 방법, 디바이스(시스템) 및 컴퓨터 프로그램 제품의 흐름도 및/또는 블록도를 참조하여 설명된다. 컴퓨터 프로그램 명령은 흐름도 및/또는 블록도에서의 각각의 과정 및/또는 각각의 블록, 및 흐름도 및/또는 블록도에서의 과정들 및/또는 블록들의 조합을 구현하기 위해 사용될 수 있다는 것을 이해해야 한다. 이들 컴퓨터 프로그램 명령은 범용 컴퓨터, 전용 컴퓨터, 임베디드 프로세서, 또는 머신을 생성하기 위한 임의의 다른 프로그램 가능한 데이터 처리 디바이스의 프로세서에 제공될 수 있고, 그에 따라, 컴퓨터 또는 임의의 다른 프로그램 가능한 데이터 처리 디바이스의 프로세서에 의해 실행되는 명령은 흐름도 내의 하나 이상의 과정들 및/또는 블록도 내의 하나 이상의 블록들에서 특정 기능을 구현하기 위한 장치를 생성하게 된다.
이들 컴퓨터 프로그램 명령은 또한, 컴퓨터 또는 임의의 다른 프로그램 가능한 데이터 처리 디바이스에 명령하여 특정 방식으로 동작하도록 컴퓨터 판독 가능 메모리에 저장될 수 있고, 그에 따라, 상기 컴퓨터 판독 가능 메모리에 저장된 명령은 명령 장치를 포함하는 인공물을 생성하게 된다. 명령 장치는 흐름도의 하나 이상의 과정들 및/또는 블록도의 하나 이상의 블록들에서 특정된 기능을 구현한다.
이들 컴퓨터 프로그램 명령은 컴퓨터 또는 다른 프로그램 가능한 데이터 처리 디바이스 상에 로딩될 수 있고, 그에 따라, 일련의 동작 단계는 컴퓨터 또는 다른 프로그램 가능한 디바이스 상에서 수행되어, 컴퓨터에 의해 구현되는 처리를 생성할 수 있게 된다. 따라서, 컴퓨터 또는 다른 프로그램 가능한 디바이스 상에서 실행되는 명령은 흐름도의 하나 이상의 과정들 및/또는 블록도의 하나 이상의 블록들에서의 특정된 기능을 구현하는 단계를 제공한다.
통상적인 구성에서, 계산 디바이스는 하나 이상의 중앙 처리 유닛(CPUs), 입력/출력 인터페이스, 네트워크 인터페이스, 및 메모리를 포함한다.
메모리는, 예를 들어, 휘발성 메모리, RAM, 및/또는 비휘발성 메모리, 예컨대, 판독 전용 메모리(ROM) 또는 플래시 RAM과 같은 컴퓨터 판독 가능 매체를 포함할 수 있다. 메모리는 컴퓨터 판독 가능 매체의 일 예이다.
컴퓨터 판독 가능 매체는 비휘발성 및 휘발성 매체뿐만 아니라 착탈식 및 비착탈식 매체를 포함하며, 임의의 방법 또는 기술 수단에 의해 정보 저장을 구현할 수 있다. 정보는 컴퓨터 판독 가능 명령, 데이터 구조, 및 프로그램 또는 다른 데이터의 모듈일 수 있다. 컴퓨터 저장 매체는, 예를 들어, 상변화 메모리(PRAM), 정적 RAM (SRAM), 동적 RAM (DRAM), 다른 타입의 RAM, ROM, EEPROM (electrically erasable programmable read-only memory), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 장치, 카세트 테이프, 자기 테이프/자기 디스크 저장 장치 또는 다른 자기 저장 디바이스, 또는 임의의 다른 비 전송 매체를 포함하지만 이에 한정되지는 않으며, 컴퓨팅 디바이스에 의해 액세스되는 정보를 저장하는 데 사용될 수 있다. 본 명세서에서의 정의에 의하면, 컴퓨터 판독 가능 매체는 일시적인 매체, 예를 들어, 변조된 데이터 신호 및 반송파를 포함하지는 않는다.
추가로 주목해야 하는 것은, 용어 "구비" 및 "포함" 또는 그의 다른 변형은 비 배타적인 포함을 포괄하는 것으로 의도되어, 일련의 요소를 포함한 프로세스, 방법, 물품 또는 디바이스가 그 요소를 포함할 뿐만 아니라 명시적으로 열거되지 않은 다른 요소를 포함하거나, 또는 그 프로세스, 방법, 물품 또는 디바이스에 고유한 요소를 포함한다는 것이다. 어떠한 더 이상의 제한이 없는 경우, "하나의 무언가를 포함"이라는 표현으로 정의된 요소는 그 요소를 포함한 프로세스, 방법, 물품 또는 디바이스가 다른 동일한 요소를 추가로 갖는다는 것을 배제하는 것이 아니다.
본 출원은 컴퓨터에 의해 실행되는 컴퓨터 실행가능 명령의 공통 콘텍스트, 예를 들어, 프로그램 모듈로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정의 태스크를 실행하거나 특정의 추상화 데이터 타입을 구현하는 데 사용되는 루틴, 프로그램, 객체, 어셈블리, 데이터 구조 등을 포함한다. 본 출원은 또한 분산 컴퓨팅 환경에서도 구현될 수 있으며, 분산 컴퓨팅 환경에서는 통신 네트워크를 통해 연결된 원격 처리 디바이스를 사용하여 태스크가 실행된다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 저장 디바이스를 포함하는 로컬 및 원격 컴퓨터 저장 매체에 위치할 수 있다.
본 명세서의 실시예는 점진적으로 기술되며, 실시예의 동일하거나 유사한 부분들은 서로를 참조하여 얻어질 수 있으며, 각각의 실시예는 다른 실시예와 다른 부분을 강조한다. 특히, 시스템 실시예는 기본적으로 방법 실시예와 유사하므로, 간단히 설명하고, 관련 부분에 대해서는 방법 실시예에서의 부분에 대한 설명을 참조할 수 있다.
전술한 설명은 단지 본 출원의 실시예에 불과할 뿐이며, 본 출원을 제한하려는 것이 아니다. 본 기술 분야의 기술자라면, 본 출원에 대해 다양한 수정 및 변형을 가할 수 있다. 본 출원의 사상 및 원리 내에서 행해진 임의의 수정, 등가의 치환, 개선 등은 모두 본 출원의 청구범위의 보호 범위 내에 속한다.
도 5는 본 출원의 일 실시예에 따른 안전한 데이터 트랜잭션을 위해 컴퓨터에 의해 구현되는 방법(500)의 또 다른 예를 나타내는 흐름도이다. 설명의 명확성을 위해, 이하의 설명은 일반적으로 방법(500)을 본 상세한 설명에서의 다른 도면들의 상황에서 설명한다. 그러나, 방법(500)은, 예를 들어, 임의의 시스템, 환경, 소프트웨어, 및 하드웨어에 의해, 또는 시스템, 환경, 소프트웨어 및 하드웨어의 조합에 의해, 적절하게 수행될 수 있다는 것이 이해될 것이다. 일부 구현예에서, 방법(500)의 다양한 단계들은 병렬로, 조합적으로, 루프로, 또는 임의의 순서로 실행될 수 있다. 일부 구현예에서, 방법(500)은 흐름도에 표시되지 않은 추가적 또는 서로 다른 단계들(또는 이들 모두의 조합)을 포함할 수 있다. 일부 구현예에서, 단계들은 또한 방법(500)에서 생략될 수 있다.
510에서, 제 1 사용자와 제 2 사용자 간의 데이터 교환 합의는 데이터 교환 플랫폼에 의해 블록체인 내에 기입된다. 데이터 교환 합의는 제 1 데이터와 관련된다. 예를 들어, 제 1 데이터는 데이터 교환 합의에 따라 제 1 사용자에서 제 2 사용자로 이전될 데이터이다. 일부 구현예에서, 데이터 교환 플랫폼은 데이터 교환 합의를 저장한다. 데이터 교환 합의는 제 1 및 제 2 사용자의 신원 정보, 교환된 데이터의 특성 정보, 제 1 및 제 2 사용자가 준수하는 데이터 사용 사양, 합의의 위반에 따른 제 1 및 제 2 사용자가 준수하는 징벌, 및 교환된 데이터와 관련된 다른 정보 중 하나 이상을 포함한다.
일부 구현예에서, 데이터 교환 합의를 블록체인에 기입하기 전에, 데이터 교환 플랫폼에 의해 그리고 제 1 사용자와 관련된 제 1 디바이스로부터, 제 1 데이터와 관련된 데이터 정보가 데이터 교환 플랫폼 상에 공표를 위해 수신된다. 그 후 제 1 데이터와 관련된 데이터 정보가 데이터 교환 플랫폼에 의해 공표된다. 제 1 데이터와 관련된 주문은 데이터 교환 플랫폼에 의해 그리고 제 2 사용자와 관련된 제 2 디바이스로부터 수신된다. 제 1 데이터와 관련된 주문은 데이터 교환 플랫폼에 의해 제 1 디바이스에 송신된다. 제 1 데이터와 관련된 주문에 대한 확인 정보는 데이터 교환 플랫폼에 의해 그리고 제 1 디바이스로부터 수신된다. 주문과 확인 정보는 모두 데이터 교환 합의와 관련되어 있다. 일부 구현예에서, 다른 적절한 방법을 사용하여 데이터 교환 합의에 도달할 수 있다. 510에서, 방법(500)은 520으로 진행한다.
520에서, 제 1 키는 데이터 교환 플랫폼에 의해 그리고 제 1 사용자와 관련된 제 1 디바이스로부터 수신된다. 제 1 키는 암호화된 제 1 데이터를 해독하는 데 사용된다. 예를 들어, 제 1 디바이스는 제 1 데이터를 암호화하여 암호화된 제 1 데이터를 획득한다. 520에서, 방법(500)은 530으로 진행한다.
530에서, 수신된 제 1 키는 데이터 교환 플랫폼에 의해 제 2 사용자와 관련된 제 2 디바이스로 송신된다. 일부 구현에에서, 수신된 제 1 키를 송신하기 전에, 제 2 키는 데이터 교환 플랫폼에 의해 그리고 제 2 사용자와 관련된 제 2 디바이스로부터 수신된다. 제 2 키는 암호화된 제 2 데이터를 해독하는데 사용되고, 제 2 데이터는 데이터 교환 합의와 관련된다. 예를 들어, 제 2 데이터는 데이터 교환 합의에 따라 제 2 사용자로부터 제 1 사용자로 이전될 데이터이다. 수신된 제 1 키를 송신한 후, 수신된 제 2 키는 데이터 교환 플랫폼에 의해 제 1 사용자와 관련된 제 1 디바이스로 송신된다. 제 1 디바이스는 제 2 디바이스로부터 수신된 암호화된 제 2 데이터를 제 2 키에 기초하여 해독하여 제 2 데이터를 획득한다. 530에서, 방법(500)은 540으로 진행한다.
540에서, 암호화된 제 1 데이터는 데이터 교환 플랫폼을 통하지 않고, 제 1 디바이스에 의해 제 2 디바이스로 송신된다. 일부 구현예에서, 제 1 디바이스는 암호화된 제 1 데이터를 데이터 교환 플랫폼을 통해 전달하는 대신에, 암호화된 제 1 데이터를 직접 제 2 디바이스로 송신하여 데이터 교환 플랫폼이 다른 목적(예를 들어, 제 1 사용자와 제 2 사용자 사이의 데이터 교환 합의에서 정의되지 않은 액션)을 위해 암호화된 제 1 데이터를 사용하거나 또는 제 2 디바이스에 송신하기 전에 암호화된 제 1 데이터에 허가되지 않은 변경을 가하는 것을 방지한다. 일부 구현예에서, 암호화된 제 1 데이터는 제 1 디바이스의 표준 전송 인터페이스를 통해 제 2 디바이스로 송신된다. 표준 전송 인터페이스는, 데이터 교환 플랫폼에 의해 정의되고 서로 다른 디바이스들 간에 데이터를 송신하는 데 사용되는 범용 인터페이스이다. 540에서, 방법(500)은 550으로 진행한다.
550에서, 암호화된 제 1 데이터는 제 1 데이터를 획득하기 위해 제 2 디바이스에 의해 제 1 키에 기초하여 해독된다. 일부 구현에에서, 수신된 제 1 키를 송신한 후 그리고 수신된 제 2 키를 송신하기 전에, 상기 제 1 데이터에 대한 확인 정보가 데이터 교환 플랫폼에 의해 그리고 제 2 사용자와 관련된 제 2 디바이스로부터 수신된다. 상기 제 1 데이터에 대한 확인 정보는 제 2 사용자가 획득된 제 1 데이터가 데이터 교환 합의에 부합함을 결정한다는 것을 나타낸다.
일부 구현예에서, 상기 제 1 데이터에 대한 확인 정보를 수신한 후, 제 2 데이터에 대한 확인 정보가 데이터 교환 플랫폼에 의해 그리고 제 1 사용자와 관련된 제 1 디바이스로부터 수신된다. 제 2 데이터에 대한 확인 정보는 제 1 사용자가 획득된 제 2 데이터가 데이터 교환 합의에 부합함을 결정한다는 것을 나타낸다. 데이터 교환 합의에 따라 제 1 사용자와 제 2 사용자 간의 데이터 교환이 완료되었음을 나타내는 레코드가 데이터 교환 플랫폼에 의해 블록체인에 기입된다. 레코드는 데이터 교환 플랫폼에 저장된다.
일부 구현에에서, 수신된 제 1 키를 송신하기 전에, 제 3 데이터는 데이터 교환 플랫폼에 의해 그리고 제 2 사용자와 관련된 제 2 디바이스로부터 수신된다. 제 3 데이터는 데이터 교환 합의와 관련된다. 예를 들어, 제 3 데이터는 데이터 교환 플랫폼을 통해 교환될 수 있는 데이터이다. 수신된 제 1 키를 송신한 후, 수신된 제 3 데이터는 미리 결정된 조건이 충족될 경우 데이터 교환 플랫폼에 의해 제 1 사용자와 관련된 제 1 디바이스로 송신된다. 일부 구현예에서, 미리 결정된 조건은 데이터 교환 플랫폼이 제 2 디바이스로부터 명령을 수신하는 것을 포함한다. 상기 명령은 수신된 제 3 데이터를 제 1 디바이스에 송신하도록 데이터 교환 플랫폼에게 명령하는 명령이다.
일 구현예에서, 데이터 교환 합의는 제 1 데이터의 특성 정보를 포함한다. 제 1 데이터의 특성 정보는 제 2 디바이스에 의해 획득된다. 제 1 데이터의 특성 정보에는 제 1 데이터의 무결성을 검증하기 위한 메시지 다이제스트, 및 제 1 데이터의 특정 내용을 요약하기 위한 기준 정보 중 적어도 하나가 포함된다. 제 2 디바이스에 의해, 획득된 제 1 데이터가 제 1 데이터의 획득된 특성 정보에 기초하여 데이터 교환 합의에 부합하는지 여부에 대한 결정이 행해진다. 획득된 제 1 데이터가 제 1 데이터의 획득된 특성 정보에 기초하여 데이터 교환 합의에 부합한다고 결정되면, 제 2 디바이스는 제 1 데이터에 대한 확인 정보를 데이터 교환 플랫폼으로 송신한다. 획득된 제 1 데이터가 제 1 데이터의 획득된 특성 정보에 기초하여 데이터 교환 합의에 부합하지 않는다고 결정되면, 제 2 디바이스는 제 1 데이터에 대한 확인 정보를 데이터 교환 플랫폼에 송신하지 않을 것이다. 550 후에, 방법(500)은 중지된다.
본 명세서에 설명되는 대상의 구현예 및 기능적 동작은 디지털 전자 회로로, 유형적으로 구현되는 컴퓨터 소프트웨어 또는 펌웨어로, 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하는 컴퓨터 하드웨어로, 또는 이들 중의 하나 이상의 조합으로 구현될 수 있다. 설명된 대상의 소프트웨어 구현예는 하나 이상의 컴퓨터 프로그램, 즉, 컴퓨터 또는 컴퓨터에 의해 구현되는 시스템에 의한 실행을 위해 또는 컴퓨터 또는 컴퓨터에 의해 구현되는 시스템의 동작을 제어하기 위해 유형적인 비일시 컴퓨터 판독 가능 매체 상에 인코딩되는 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 대안으로, 또는 추가적으로, 프로그램 명령은 인공적으로 생성된 전파 신호, 예를 들어, 컴퓨터 또는 컴퓨터에 의해 구현되는 시스템에 의한 실행을 위해 수신기 장치로의 전송을 위한 정보를 인코딩하기 위해 생성되는 머신 생성 전기적, 광학적, 또는 전자기 신호 내/상에 인코딩될 수 있다. 컴퓨터 저장 매체는 머신 판독 가능 저장 디바이스, 머신 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 디바이스, 또는 컴퓨터 저장 매체들의 조합일 수 있다. 하나 이상의 컴퓨터를 구성하는 것은, 하나 이상의 컴퓨터가 하드웨어, 펌웨어, 또는 소프트웨어(또는 하드웨어, 펌웨어, 및 소프트웨어의 조합)를 설치하여, 상기 소프트웨어가 상기 하나 이상의 컴퓨터에 의해 실행될 때 특정의 컴퓨팅 동작이 수행된다는 것을 의미한다.
(본 기술 분야의 통상의 기술자에 의해 이해되는 바와 같은) 용어 "실시간", "실 시간", "실제 시간", "실제 (빠른) 시간(RFT)", "거의 실시간(NRT)", "준 실시간" 또는 유사한 용어는, 액션 및 반응이 시간적으로 근접하여 개인이 액션 및 반응이 실질적으로 동시에 발생하는 것으로 인지하게 된다는 것을 의미한다. 예를 들어, 데이터에 액세스하기 위한 개인의 액션에 따라 데이터를 디스플레이하는(또는 디스플레이의 개시를 위한) 응답의 시간 차는 1 밀리 초(ms) 미만, 1 초 미만, 또는 5 초 미만일 수 있다. 요청된 데이터는 순간적으로 디스플레이(또는 디스플레이를 위해 개시)될 필요는 없지만, 임의의 의도한 지연 없이, 설명된 컴퓨팅 시스템의 처리 한계 및 데이터를, 예를 들어, 수집, 정확하게 측정, 분석, 처리, 저장 또는 전송하는 데 요구되는 시간을 고려하여 디스플레이된다(또는 디스플레이를 위해 개시된다).
용어 "데이터 처리 장치", "컴퓨터" 또는 "전자 컴퓨터 디바이스"(또는 본 기술 분야의 기술자가 이해할 수 있는 등가물)는 데이터 처리 하드웨어를 지칭하며, 예를 들어, 프로그래머블 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하여, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스, 및 머신을 포함한다. 컴퓨터는 또한, 예를 들어, 중앙 처리 유닛(CPU), 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)와 같은 특수 목적 로직 회로일 수 있거나 이를 추가로 포함할 수 있다. 일부 구현예에서, 컴퓨터 또는 컴퓨터에 의해 구현되는 시스템 또는 특수 목적 로직 회로(또는 컴퓨터 또는 컴퓨터에 의해 구현되는 시스템 및 특수 목적 로직 회로의 조합)는 하드웨어 기반 또는 소프트웨어 기반(또는 하드웨어 기반 및 소프트웨어 기반의 조합)일 수 있다. 컴퓨터는 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 실행 환경들의 조합을 구성하는 코드를 선택적으로 포함할 수 있다. 본 개시 내용은 일부 타입의 운영 체제, 예를 들어, LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, 다른 운영 체제, 또는 이들 운영 체제의 조합과 함께 컴퓨터 또는 컴퓨터에 의해 구현되는 시스템의 사용을 고려하고 있다.
컴퓨터 프로그램(또한, 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 유닛, 모듈, 소프트웨어 모듈, 스크립트, 코드, 또는 다른 컴포넌트로 지칭될 수 있거나 기술됨)은 컴파일된 또는 해석된 언어, 또는 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 컴퓨팅 환경에서 사용하기 위해, 예를 들어, 독립형 프로그램으로서, 모듈, 컴포넌트, 또는 서브루틴을 포함하는 임의의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템 내의 파일에 대응할 수 있지만 대응할 필요는 없다. 프로그램은 다른 프로그램이나 데이터, 예를 들어, 마크업 언어 문서로 저장된 하나 이상의 스크립트를 보유하는 파일의 일부에, 당해의 프로그램에 전용되는 단일 파일 내에, 또는 여러 개의 조정된 파일, 예를 들어, 하나 이상의 모듈, 서브 프로그램, 또는 코드의 부분을 저장하는 파일 내에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는 한 사이트에 위치하거나 다수의 사이트에 걸쳐 분산되어 통신 네트워크에 의해 상호 접속된 다수의 컴퓨터 상에서 실행되도록 배치될 수 있다.
다양한 도면에 도시된 프로그램들의 부분은 다양한 객체, 방법 또는 다른 프로세스를 사용하여 설명된 특징 및 기능성을 구현하는 유닛 또는 모듈과 같은 개별적인 컴포넌트로 도시될 수 있지만, 프로그램은 대신에 다수의 서브 유닛, 서브 모듈, 제3자 서비스, 컴포넌트, 라이브러리, 및 다른 컴포넌트를 적절히 포함할 수 있다. 반대로, 다양한 컴포넌트의 특징 및 기능성은 단일 컴포넌트로 적절히 조합될 수 있다. 계산상의 결정을 내리는 데 사용되는 임계치는 정적, 동적, 또는 정적 및 동적 모두로 결정될 수 있다.
설명된 방법, 프로세스, 또는 로직 흐름은 본 개시 내용에 부합하는 기능성의 하나 이상의 예를 나타내며, 설명된 또는 예시된 구현예로 본 개시 내용을 제한하는 것이 아니라 설명된 원리 및 특징에 부합하는 가장 넓은 범위를 부여하려는 것이다. 설명된 방법, 프로세스, 또는 로직 흐름은 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 동작하여 출력 데이터를 생성함으로써 기능을 수행하는 하나 이상의 프로그램가능한 컴퓨터에 의해 수행될 수 있다. 방법, 프로세스, 또는 로직 흐름은 또한 CPU, FPGA, 또는 ASIC과 같은 특수 목적 로직 회로에 의해 수행될 수 있으며, 컴퓨터가 또한 그 특수 목적 로직 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행을 위한 컴퓨터는 범용 또는 특수 목적 마이크로프로세서, 이들 모두, 또는 다른 타입의 CPU를 기반으로 할 수 있다. 일반적으로, CPU는 메모리로부터 명령과 데이터를 수신하고 메모리에 명령 및 데이터를 기입할 것이다. 컴퓨터의 필수 요소는 명령을 수행하거나 실행하기 위한 CPU, 및 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어, 자기 디스크, 자기 광 디스크, 또는 광 디스크를 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들에 데이터를 전송하거나, 또는 이들 모두를 수행하도록 동작가능하게 연결될 것이다. 그러나, 컴퓨터는 이러한 디바이스를 가질 필요는 없다. 또한, 컴퓨터는 다른 디바이스, 예를 들어, 모바일 전화기, 개인 휴대용 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기, 또는 휴대용 메모리 저장 디바이스에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기 위한 비일시적 컴퓨터 판독 가능 매체는, 예를 들어, RAM, ROM, 상변화 메모리(PRAM), 정적 랜덤 액세스 메모리(SRAM), 동적 랜덤 액세스 메모리(DRAM), 소거 가능 프로그래머블 판독 전용 메모리(EPROM), 전기 소거 가능 프로그래머블 판독 전용 메모리(EEPROM), 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 테이프, 카트리지, 카세트, 내부/착탈식 디스크와 같은 자기 디바이스; 자기 광학 디스크; 및 디지털 비디오 디스크(DVD), CD-ROM, DVD+/-R, DVD-RAM, DVD-ROM, HD-DVD, 및 블루레이/블루레이 디스크(BD)와 같은 광학 메모리 디바이스, 및 다른 광학 메모리 기술을 포함하는 모든 형태의 영구/비영구적 또는 휘발성/비휘발성 메모리, 매체 및 메모리 디바이스를 포함할 수 있다. 메모리는, 캐시, 클래스, 프레임워크, 애플리케이션, 모듈, 백업 데이터, 작업, 웹 페이지, 웹 페이지 템플릿, 데이터 구조, 데이터베이스 테이블, 동적 정보를 저장하는 저장소, 또는 임의의 파라미터, 변수, 알고리즘, 명령, 규칙, 제약, 또는 참조를 포함하는 다른 적절한 정보를 포함한 다양한 객체 또는 데이터를 저장할 수 있다. 또한, 메모리는 로그, 정책, 보안 또는 액세스 데이터, 또는 보고 파일과 같은 다른 적절한 데이터를 포함할 수 있다. 프로세서와 메모리는 특수 목적 로직 회로에 의해 보완되거나 특수 목적 로직 회로 내에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 본 대상의 구현예는, 정보를 사용자에게 디스플레이하기 위한 음극선관(CRT), 액정 디스플레이(LCD), 발광 다이오드(LED), 또는 플라즈마 모니터와 같은 디스플레이 디바이스, 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 마우스, 트랙볼, 또는 트랙 패드와 같은 키보드 및 포인팅 디바이스를 갖는 컴퓨터 상에 구현될 수 있다. 압력 감응을 사용하는 태블릿 컴퓨터 표면, 용량성 또는 전기적 감지를 사용하는 멀티 터치 스크린, 또는 다른 타입의 터치 스크린과 같은 터치 스크린을 사용하여 입력을 컴퓨터에 제공할 수도 있다. 다른 타입의 디바이스는 사용자와 상호 작용하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감지성 피드백(예를 들어, 시각적, 청각적, 촉각적, 또는 피드백 타입의 조합)일 수 있다. 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 클라이언트 컴퓨팅 디바이스에 문서를 전송하고 이 클라이언트 컴퓨팅 디바이스로부터 문서를 수신함으로써(예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 모바일 컴퓨팅 디바이스 상의 웹 브라우저에 웹 페이지를 전송함으로써) 사용자와 상호 작용할 수 있다.
용어 "그래픽 사용자 인터페이스" 또는 "GUI"는 하나 이상의 그래픽 사용자 인터페이스 및 특정 그래픽 사용자 인터페이스의 각각의 디스플레이를 설명하기 위해 단수 또는 복수로 사용될 수 있다. 따라서, GUI는, 정보를 처리하고 정보 결과를 사용자에게 효율적으로 제공하는 웹 브라우저, 터치 스크린, 또는 커맨드 라인 인터페이스(command line interface)(CLI)를 포함하되 이에 한정되지 않는 모든 그래픽 사용자 인터페이스를 나타낼 수 있다. 일반적으로, GUI는 다수의 사용자 인터페이스(UI) 요소를 포함할 수 있으며, 그 중 일부 또는 모두는 상호 작용 필드, 풀다운 리스트 및 버튼과 같은 웹 브라우저와 관련된다. 이러한 UI 요소 및 기타 UI 요소는 웹 브라우저의 기능과 관련되거나 웹 브라우저의 기능을 나타낼 수 있다.
본 명세서에서 설명된 대상의 구현예는, 예를 들어, 데이터 서버로서 백엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트, 예를 들어, 애플리케이션 서버를 포함하는, 또는 프런트엔드, 예를 들어, 사용자가 본 명세서에 기술된 대상의 구현예와 상호 작용할 수 있게 하는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터를 포함하는, 또는 하나 이상의 그러한 백엔드, 미들웨어, 또는 프런트엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 유선 또는 무선 디지털 데이터 통신(또는 데이터 통신의 조합)의 임의의 형태 또는 매체, 예를 들어, 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크들의 예는 LAN (Local Area Network), RAN (Radio Access Network), MAN (Metropolitan Area Network), WAN (Wide Area Network), WIMAX (Worldwide Interoperability for Microwave Access), 예를 들어, 802.11a/b/g/n 또는 802.20(또는 802.11x와 802.20의 조합 또는 본 개시 내용에 부합하는 다른 프로토콜들)을 사용하는 WLAN (wireless local area network), 인터넷의 전부 또는 일부, 다른 통신 네트워크, 또는 통신 네트워크들의 조합을 포함한다. 통신 네트워크는, 예를 들어, 인터넷 프로토콜(IP) 패킷, 프레임 릴레이 프레임, 비동기 전송 모드(ATM) 셀, 음성, 비디오, 데이터, 또는 다른 정보를 네트워크 노드들 간에 통신할 수 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는, 개별 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
본 명세서는 많은 특정 구현 세부 사항을 포함하고 있지만, 이들은 임의의 발명의 개념의 범위 또는 청구될 수 있는 범위에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명 개념의 특정 구현예에 특정될 수 있는 특징들에 대한 설명으로 해석되어야 한다. 개별 구현예의 상황에서 본 명세서에 기술된 특정 특징들은 또한 단일 구현예에서 조합적으로 구현될 수 있다. 반대로, 단일 구현예의 상황에서 기술되는 다양한 특징들은 또한 다수의 구현예들에서, 개별적으로, 또는 임의의 서브 조합으로 구현될 수 있다. 또한, 비록 이전에 설명된 특징들이 특정 조합에서 작용하는 것으로 설명될 수 있고, 심지어는 그와 같이 최초로 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 경우에 따라서는 그 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 유도될 수 있다.
대상의 특정 구현예가 설명되었다. 설명된 구현예의 다른 구현예, 변경 및 치환은 본 기술 분야의 기술자에게 명백한 바와 같이 다음의 청구범위의 범주 내에 있다. 동작들이 도면 또는 청구범위에서 특정 순서로 도시되어 있지만, 이는 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되어야 하거나 바람직한 결과를 달성하기 위해 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다(일부 동작들은 선택적으로 고려될 수 있다). 특정의 상황에서, 멀티태스킹 또는 병렬 프로세싱(또는 멀티태스킹과 병렬 프로세싱의 조합)이 유리할 수 있고, 적절한 것으로 간주되는 대로 수행될 수 있다.
또한, 앞서 설명된 구현예에서 다양한 시스템 모듈들 및 컴포넌트들의 분리 또는 통합은 모든 구현예에서 그러한 분리 또는 통합을 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에서 함께 통합되거나 또는 여러 소프트웨어 제품에 패키지될 수 있다.
따라서, 앞서 설명된 예시적인 구현예는 본 개시 내용을 정의하거나 제한하지 않는다. 본 개시 내용의 사상 및 범위를 벗어나지 않으면서 다른 변경, 대체 및 변형이 또한 가능하다.
또한, 임의의 청구된 구현예는 적어도 컴퓨터에 의해 구현되는 방법; 컴퓨터에 의해 구현되는 방법을 수행하기 위한 컴퓨터 판독 가능 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체; 및 컴퓨터에 의해 구현되는 방법 또는 비일시적 컴퓨터 판독 가능 매체 상에 저장된 명령을 수행하도록 구성된 하드웨어 프로세서와 상호 동작 가능하게 결합된 컴퓨터 메모리를 포함하는 컴퓨터 시스템에 적용가능한 것으로 간주된다.

Claims (15)

  1. 제 1 데이터를 제 1 단말기로부터 제 2 단말기로 직접 전송하는 방법으로서,
    데이터 교환 플랫폼에 의해, 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입 및 저장하는 단계 - 상기 데이터 교환 합의는 교환된 데이터의 특징 정보를 포함하고, 상기 교환된 데이터는 상기 제 1 사용자로부터의 상기 제 1 데이터 및 상기 제 2 사용자로부터의 교환 예정 데이터를 포함함 - ;
    상기 데이터 교환 플랫폼에 의해, 상기 제 1 단말기에 의해 전송되며 암호화된 제 1 데이터를 해독하는 데 사용되는 제 1 키를 수신하는 단계 - 상기 제 1 단말기는 상기 제 1 사용자에 대응하는 단말기이고, 상기 제 1 단말기는 대칭 암호화 기술에 따라 상기 제 1 데이터를 암호화하여 상기 암호화된 제 1 데이터를 획득하고, 상기 제 1 단말기는 상기 제 1 키를 상기 데이터 교환 플랫폼에 전송하고, 상기 제 1 단말기는 상기 암호화된 제 1 데이터를 상기 제 2 단말기로 직접 전송함 - ; 및
    상기 데이터 교환 플랫폼에 의해, 상기 제 2 단말기로부터 상기 데이터 교환 플랫폼에 의해 수신된 제 3 데이터가 상기 데이터 교환 합의에 부합함이 검증되면, 상기 제 1 단말기에 의해 전송된 상기 암호화된 제 1 데이터를 수신한 후에 상기 제 2 단말기가 수신된 암호화된 제 1 데이터를 상기 제 1 키에 기초하여 해독하여 제 1 데이터를 획득하도록, 상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 상기 제 2 단말기에 전송하는 단계 - 상기 제 2 단말기는 상기 제 2 사용자에 대응하는 단말기이며, 상기 제 3 데이터는 상기 제 1 사용자로부터 상기 제 1 데이터를 수신하는 상기 제 2 사용자로부터의 교환 예정 데이터임 -
    를 포함하는, 제 1 데이터를 제 1 단말기로부터 제 2 단말기로 직접 전송하는 방법.
  2. 제1항에 있어서,
    상기 데이터 교환 플랫폼에 의해, 상기 제 2 단말기에 의해 전송된 데이터 전송 명령이 수신될 때, 상기 제 3 데이터를 상기 제 1 단말기로 전송하는 단계 - 상기 제 3 데이터는 상기 데이터 교환 합의에 언급된 상기 제 2 사용자로부터의 교환 예정 데이터이고, 상기 제 3 데이터는 상기 데이터 교환 플랫폼을 통해 상기 제 1 사용자에게 교환됨 - 를 더 포함하는, 방법.
  3. 제1항에 있어서,
    상기 제 2 단말기에 의해, 상기 수신된 암호화된 제 1 데이터를 상기 제 1 키를 사용하여 해독하여 상기 제 1 데이터를 획득하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서,
    상기 데이터 교환 플랫폼에 의해, 제 1 사용자와 제 2 사용자 간에 달성된 데이터 교환 합의를 블록체인 내에 기입 및 저장하는 단계 이전에, 상기 방법은,
    상기 데이터 교환 플랫폼에서, 상기 제 1 단말기에 의해 발행된 데이터 정보를 수신하고 상기 데이터 정보를 공표하는 단계;
    상기 데이터 교환 플랫폼에서, 상기 제 2 단말기에 의한 상기 공표된 데이터 정보에 대한 주문 요청을 수신하고, 상기 주문 요청을 상기 제 1 단말기로 전송하는 단계; 및
    상기 데이터 교환 플랫폼에 의해, 상기 데이터 교환 합의를 달성하기 위해 상기 주문 요청에 대해 상기 제 1 단말기에 의해 전송된 확인 정보를 수신하는 단계
    를 더 포함하는, 방법.
  5. 제1항에 있어서,
    상기 제 1 키를 상기 제 2 단말기에 전송하는 단계 이전에, 상기 방법은,
    상기 데이터 교환 플랫폼에 의해, 상기 제 2 단말기에 의해 전송되며 암호화된 제 2 데이터를 해독하는 데 사용되는 제 2 키를 수신하는 단계를 더 포함하고; 그리고
    상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 상기 제 2 단말기에 전송하는 단계 이후에, 상기 방법은,
    상기 제 2 단말기에 의해 전송된 암호화된 제 2 데이터를 수신한 후에 상기 제 1 단말기가 상기 수신된 암호화된 제 2 데이터를 상기 제 2 키에 기초하여 해독하여 제 2 데이터를 획득하도록, 상기 데이터 교환 플랫폼에 의해, 상기 제 2 키를 상기 제 1 단말기에 전송하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서,
    상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 상기 제 2 단말기에 전송하는 단계 이후에 그리고 상기 제 2 키를 상기 제 1 단말기에 전송하는 단계 이전에, 상기 방법은,
    상기 데이터 교환 플랫폼에 의해, 상기 제 2 단말기에 의해 전송된 상기 제 1 데이터에 대한 확인 정보 - 상기 제 1 데이터에 대한 확인 정보는 상기 제 1 데이터가 상기 데이터 교환 합의의 설명에 부합함을 상기 제 2 사용자가 결정하는 것을 나타냄 - 를 수신하는 단계를 더 포함하는, 방법.
  7. 제6항에 있어서,
    상기 데이터 교환 플랫폼에 의해, 상기 제 2 단말기에 의해 전송된 상기 제 1 데이터에 대한 확인 정보를 수신하는 단계 후에, 상기 방법은,
    상기 데이터 교환 플랫폼에 의해, 상기 제 1 단말기에 의해 전송된 상기 제 2 데이터에 대한 확인 정보 - 상기 제 2 데이터에 대한 확인 정보는 상기 제 2 데이터가 상기 데이터 교환 합의의 설명에 부합함을 상기 제 1 사용자가 결정하는 것을 나타냄 - 를 수신하는 단계를 더 포함하는, 방법.
  8. 제7항에 있어서,
    상기 데이터 교환 플랫폼에 의해, 상기 제 1 단말기에 의해 전송된 상기 제 2 데이터에 대한 확인 정보를 수신하는 단계 후에, 상기 방법은,
    상기 데이터 교환 플랫폼에 의해, 상기 교환이 완료되었다는 레코드를 상기 블록체인 내의 데이터 교환 합의의 결과 내에 기입 및 저장하는 단계를 더 포함하는, 방법.
  9. 제1항에 있어서,
    상기 데이터 교환 플랫폼에 의해, 상기 제 1 키를 상기 제 2 단말기에 전송하는 단계 후에, 상기 방법은,
    상기 데이터 교환 플랫폼에 의해, 미리 설정된 조건이 충족되었다고 결정될 때 상기 제 3 데이터를 상기 제 1 사용자에게 전송하는 단계를 더 포함하는, 방법.
  10. 제9항에 있어서,
    상기 미리 설정된 조건이 충족되었다고 결정하는 것은, 상기 데이터 교환 플랫폼에 의해, 상기 제 2 단말기에 의해 전송된 데이터 전송 명령을 수신하는 것을 포함하고, 상기 데이터 전송 명령은 상기 제 3 데이터를 상기 제 1 단말기에 전송하도록 상기 데이터 교환 플랫폼에 명령하는 명령인 것인, 방법.
  11. 제2항 내지 제10항 중 어느 한 항에 있어서,
    상기 데이터 교환 합의는 상기 제 1 데이터의 특징 정보를 포함하며;
    상기 방법은, 상기 제 2 단말기에 의해, 상기 특징 정보를 획득하고, 상기 특징 정보에 따라, 상기 획득된 제 1 데이터가 상기 데이터 교환 합의의 레코드에 부합하는지 여부를 결정하는 단계를 더 포함하고; 그리고
    상기 제 1 데이터의 특징 정보는,
    상기 제 1 데이터의 무결성을 검증하기 위한 메시지 다이제스트; 및
    상기 제 1 데이터의 특정 내용을 요약하기 위한 기준 정보
    중 적어도 하나를 포함하는 것인, 방법.
  12. 제2항 내지 제10항 중 어느 한 항에 있어서,
    상기 암호화된 제 1 데이터는 표준 전송 인터페이스를 구현하는 상기 제 1 단말기에 의해 상기 제 2 단말기로 전송되며, 상기 표준 전송 인터페이스는, 상기 데이터 교환 플랫폼에 의해 정의되고 단말기들 간에 데이터를 송신하는 데 사용되는 범용 인터페이스를 포함하는 것인, 방법.
  13. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 암호화된 제 1 데이터의 전송 상태는 상기 암호화된 제 1 데이터가 상기 제 2 단말기로 전송되었는지 여부를 포함하도록 결정되고, 상기 암호화된 제 1 데이터의 전송 상태를 결정하는 것은 상기 제 1 단말기 및 상기 제 2 단말기에 의해 보고된 상기 암호화된 제 1 데이터의 전송 상태를 수신하는 것을 포함하는 것인, 방법.
  14. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 제 3 데이터는 금전을 나타내는(represent) 데이터이고, 상기 제 1 사용자는 데이터 판매자이고, 상기 제 2 사용자는 데이터 구매자인 것인, 방법.
  15. 제1항 내지 제10항 중 어느 한 항의 방법을 수행하도록 구성된 기입 유닛, 복수의 수신 유닛 및 복수의 전송 유닛을 포함하는, 데이터 전송 장치.
KR1020197020746A 2017-02-24 2018-02-23 키 설정 및 데이터 전송 방법 및 장치 KR102141772B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710102824.3A CN106941487B (zh) 2017-02-24 2017-02-24 一种数据发送方法及装置
CN201710102824.3 2017-02-24
PCT/US2018/019464 WO2018156924A1 (en) 2017-02-24 2018-02-23 Key establishment and data sending method and apparatus

Publications (2)

Publication Number Publication Date
KR20190103212A KR20190103212A (ko) 2019-09-04
KR102141772B1 true KR102141772B1 (ko) 2020-08-07

Family

ID=59469038

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197020746A KR102141772B1 (ko) 2017-02-24 2018-02-23 키 설정 및 데이터 전송 방법 및 장치

Country Status (18)

Country Link
US (2) US10797861B2 (ko)
EP (2) EP3716127B1 (ko)
JP (1) JP6797308B2 (ko)
KR (1) KR102141772B1 (ko)
CN (1) CN106941487B (ko)
AU (1) AU2018224145C1 (ko)
BR (1) BR112019014619B1 (ko)
CA (1) CA3050329C (ko)
ES (1) ES2809202T3 (ko)
MX (1) MX2019008483A (ko)
MY (1) MY192318A (ko)
PH (1) PH12019501652A1 (ko)
PL (1) PL3555796T3 (ko)
RU (2) RU2744494C2 (ko)
SG (3) SG11201906532PA (ko)
TW (1) TWI727114B (ko)
WO (1) WO2018156924A1 (ko)
ZA (1) ZA201904656B (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106941487B (zh) 2017-02-24 2021-01-05 创新先进技术有限公司 一种数据发送方法及装置
CN107579952A (zh) * 2017-07-17 2018-01-12 招商银行股份有限公司 报文发送方法、报文处理方法和系统及存储介质
CN107332658A (zh) * 2017-08-11 2017-11-07 浙江赛佳控股有限公司 基于链式区块链技术的接口实现方法及装置
CN107563755A (zh) * 2017-09-21 2018-01-09 山东浪潮云服务信息科技有限公司 一种数据交易方法、销售方终端、采购方终端以及系统
CN107767135B (zh) * 2017-10-10 2020-10-02 易信(厦门)信用服务技术有限公司 一种基于互联网的智能工程交易征信系统
CN107730225B (zh) * 2017-10-24 2021-07-06 广东工业大学 一种大数据交易方法、系统、设备及计算机存储介质
CN108062671A (zh) * 2017-11-03 2018-05-22 深圳市轱辘车联数据技术有限公司 数据交易方法、区块链节点服务器及数据提交终端
CN108156219A (zh) * 2017-11-30 2018-06-12 深圳市轱辘车联数据技术有限公司 一种设备找回的方法及服务器
US10812463B2 (en) * 2017-12-08 2020-10-20 International Business Machines Corporation Secure access to an enterprise computing environment
CN108282459B (zh) 2017-12-18 2020-12-15 中国银联股份有限公司 基于智能合约的数据传递方法及系统
CN108566375A (zh) * 2018-03-12 2018-09-21 深圳壹账通智能科技有限公司 基于区块链的多端间消息通信的方法、终端及存储介质
CN108681898B (zh) * 2018-05-15 2021-09-17 广东工业大学 一种基于区块链的数据交易方法及系统
CN109011583A (zh) * 2018-05-28 2018-12-18 腾讯科技(深圳)有限公司 虚拟资源转移方法和装置、存储介质及电子装置
CN108961006A (zh) * 2018-07-09 2018-12-07 广州智乐物联网技术有限公司 一种基于区块链的身份证实名认证系统
CN109308664A (zh) * 2018-08-30 2019-02-05 杨顺福 个人价值数据交换方法和装置
US11886612B2 (en) 2018-09-12 2024-01-30 Liveramp, Inc. Consent provenance and compliance tracking over a complex consumer data supply chain using blockchain distributed ledger
CN109635956A (zh) * 2018-11-02 2019-04-16 广州裕申电子科技有限公司 一种设备维修任务信息的处理方法和系统
CN109598149B (zh) * 2018-11-20 2020-04-07 阿里巴巴集团控股有限公司 业务处理的方法和装置
CN109658240A (zh) * 2018-11-20 2019-04-19 深圳变设龙信息科技有限公司 一种基于区块链的数据交易方法、装置及终端设备
CN113689213A (zh) * 2018-12-26 2021-11-23 创新先进技术有限公司 区块链数据处理方法、装置及系统
CN109949040A (zh) * 2019-02-22 2019-06-28 北京神荼科技有限公司 通证操作的风险控制方法、装置以及存储介质
CN111095899B (zh) 2019-04-26 2021-12-24 创新先进技术有限公司 针对可信执行环境的分布式密钥管理
CN110417750B (zh) * 2019-07-09 2020-07-03 北京健网未来科技有限公司 基于区块链技术的文件读取和存储的方法、终端设备和存储介质
US11610201B2 (en) * 2019-09-25 2023-03-21 Capital District Physicians Health Plan, Inc. Tokenized healthcare service payments
CN115619403A (zh) * 2019-10-24 2023-01-17 福建福链科技有限公司 一种安全的基于区块链的监控视频数据交易方法与系统
CN111106952A (zh) * 2019-12-14 2020-05-05 河南思凯蓝通信科技有限公司 一种大数据交换平台网络架构
CN113630242A (zh) * 2020-05-06 2021-11-09 瞻博网络公司 使用数据平面反馈促进无损安全密钥翻转
US11368294B2 (en) * 2020-05-06 2022-06-21 Juniper Networks, Inc. Facilitating hitless security key rollover using data plane feedback
TWI755068B (zh) * 2020-09-21 2022-02-11 宜鼎國際股份有限公司 具有系統作業能力的資料儲存裝置
KR102540415B1 (ko) * 2020-12-30 2023-06-05 고려대학교 산학협력단 블록체인 기반의 안전하고 신뢰 가능한 데이터 거래 방법 및 데이터 거래 플랫폼 제공 시스템
CN113159769B (zh) * 2021-04-21 2022-07-19 中国人民解放军国防科技大学 一种基于区块链的数据流通智能合约实现方法及系统
US11979484B2 (en) 2021-07-21 2024-05-07 Bank Of America Corporation System for electronic data encryption and decryption using a consensus draft process
WO2023099895A1 (en) * 2021-12-02 2023-06-08 Royal Holloway University Of London A method and system for securely sharing data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017027438A1 (en) 2015-08-10 2017-02-16 Cisco Technology, Inc. Group membership block chain

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5221605A (en) 1984-10-31 1993-06-22 Igen, Inc. Luminescent metal chelate labels and means for detection
JP3919041B2 (ja) 1997-02-06 2007-05-23 富士通株式会社 決済システム
US6453356B1 (en) 1998-04-15 2002-09-17 Adc Telecommunications, Inc. Data exchange system and method
DE19933222A1 (de) 1999-07-26 2001-02-08 Siemens Ag Verfahren und Kommunikationssystem zur Behandlung eines Paketdienstes
AU5724401A (en) 2000-04-26 2001-11-07 Oracle Corp Many-to-many correspondance: methods and systems for replacing interbank funds transfers
US7509492B2 (en) 2001-03-27 2009-03-24 Microsoft Corporation Distributed scalable cryptographic access control
US6792534B2 (en) 2002-03-22 2004-09-14 General Instrument Corporation End-to end protection of media stream encryption keys for voice-over-IP systems
GB2387505B (en) 2002-04-12 2005-11-23 Vodafone Plc Communication systems
SG105005A1 (en) * 2002-06-12 2004-07-30 Contraves Ag Device for firearms and firearm
US7685073B2 (en) * 2002-07-30 2010-03-23 Baker Paul L Methods for negotiating agreement over concealed terms through a blind agent
US7315553B2 (en) 2002-08-15 2008-01-01 Alcatel Lucent Integrated server module and method of resource management therefor
JP2005092709A (ja) 2003-09-19 2005-04-07 Ricoh Co Ltd カプセル化文書構造、記憶媒体、カプセル化文書処理装置及びカプセル化文書システム
US7814024B2 (en) 2004-05-14 2010-10-12 Ching Peter N Multi-way transactions related data exchange apparatus and methods
TWI351864B (en) * 2005-03-25 2011-11-01 Via Tech Inc Apparatus and method for employing cyrptographic f
US7890757B2 (en) * 2005-12-30 2011-02-15 Novell, Inc. Receiver non-repudiation
GB2437558B (en) 2006-04-19 2010-12-15 Thales Holdings Uk Plc Privacy protection system
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
KR20160130512A (ko) 2008-05-23 2016-11-11 코닌클리케 필립스 엔.브이. 데이터 아이템들에 대한 보안 액세스를 위한 데이터 아이템들의 아이덴티티-기반 암호화
KR20100050846A (ko) 2008-11-06 2010-05-14 삼성전자주식회사 키 교환 시스템 및 방법
US8341427B2 (en) 2009-02-16 2012-12-25 Microsoft Corporation Trusted cloud computing and services framework
US9367487B1 (en) 2009-06-10 2016-06-14 Nvidia Corporation Mitigating main crossbar load using dedicated connections for certain traffic types
US8325194B1 (en) 2009-06-10 2012-12-04 Nvidia Corporation Mitigating main crossbar load using dedicated connections for certain traffic types
CN102088352B (zh) 2009-12-08 2013-04-10 北京大学 消息中间件的数据加密传输方法和系统
BR112013005418B1 (pt) 2011-06-17 2021-01-12 Rakuten, Inc. dispositivo e método de processamento de informação
FR2980062B1 (fr) 2011-09-13 2014-02-21 Sagemcom Broadband Sas Procede d'echanges securises de donnees, dispositif et systeme de communication le mettant en oeuvre
WO2013110857A1 (en) 2012-01-24 2013-08-01 Ssh Communications Security Oyj Privileged access auditing
EP2865129B1 (en) 2012-05-15 2018-08-01 McAfee, LLC Event-triggered release through third party of pre-encrypted digital data from data owner to data assignee
WO2014043894A1 (en) 2012-09-21 2014-03-27 Nokia Corporation Method and apparatus for providing access control to shared data based on trust level
CN104715268B (zh) 2013-12-13 2018-04-03 曲立东 基于数据标签的系统间数据交互平台及应用方法
EP3140979A4 (en) 2014-05-09 2017-12-27 Veritaseum Inc. Devices, systems, and methods for facilitating low trust and zero trust value transfers
US9608829B2 (en) 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
GB2530258A (en) 2014-09-15 2016-03-23 Mastercard International Inc Authentication of communications
CN104270380A (zh) * 2014-10-15 2015-01-07 叶涛 基于移动网络和通信客户端的端到端加密方法和加密系统
CN104581712A (zh) * 2014-12-25 2015-04-29 中国科学院信息工程研究所 一种移动终端加密通信的方法及系统
US10891383B2 (en) 2015-02-11 2021-01-12 British Telecommunications Public Limited Company Validating computer resource usage
JP6364132B2 (ja) * 2015-03-31 2018-07-25 ナスダック, インコーポレイテッドNasdaq, Inc. ブロックチェーン取引記録のシステムおよび方法
CN106161224B (zh) * 2015-04-02 2019-09-17 阿里巴巴集团控股有限公司 数据交换方法、装置及设备
US9397985B1 (en) 2015-04-14 2016-07-19 Manifold Technology, Inc. System and method for providing a cryptographic platform for exchanging information
US20160321676A1 (en) * 2015-05-01 2016-11-03 Monegraph, Inc. Sharing content within social network services
WO2016179334A1 (en) 2015-05-05 2016-11-10 ShoCard, Inc. Identity management service using a block chain
US20160342984A1 (en) 2015-05-20 2016-11-24 402 Technologies S.A. Loop transfer in a resource transfer system
WO2017010455A1 (ja) 2015-07-13 2017-01-19 日本電信電話株式会社 契約合意方法、合意検証方法、契約合意システム、合意検証装置、契約合意装置、契約合意プログラム及び合意検証プログラム
US20170053249A1 (en) 2015-07-30 2017-02-23 NXT-ID, Inc. Electronic Crypto-Currency Management Method and System
US10033702B2 (en) 2015-08-05 2018-07-24 Intralinks, Inc. Systems and methods of secure data exchange
WO2017090041A1 (en) 2015-11-24 2017-06-01 Ben-Ari Adi A system and method for blockchain smart contract data privacy
US9705859B2 (en) 2015-12-11 2017-07-11 Amazon Technologies, Inc. Key exchange through partially trusted third party
US10412098B2 (en) 2015-12-11 2019-09-10 Amazon Technologies, Inc. Signed envelope encryption
US9679276B1 (en) * 2016-01-26 2017-06-13 Stampery, Inc. Systems and methods for using a block chain to certify the existence, integrity, and/or ownership of a file or communication
US9960920B2 (en) 2016-01-26 2018-05-01 Stampery Inc. Systems and methods for certification of data units and/or certification verification
US10607285B2 (en) 2016-02-22 2020-03-31 Bank Of America Corporation System for managing serializability of resource transfers in a process data network
CN108885748A (zh) 2016-02-23 2018-11-23 区块链控股有限公司 用于区块链的加密货币的通用令牌化系统
EP3862958A1 (en) 2016-02-23 2021-08-11 Nchain Holdings Limited Methods and systems for the efficient transfer of entities on a blockchain
GB201607477D0 (en) 2016-04-29 2016-06-15 Eitc Holdings Ltd A method and system for controlling the performance of a contract using a distributed hash table and a peer to peer distributed ledger
CN106022917A (zh) * 2016-05-08 2016-10-12 杭州复杂美科技有限公司 区块链撮合交易所方案
WO2018049203A1 (en) 2016-09-09 2018-03-15 MonetaGo Inc. Asset exchange system and method
CN106375097A (zh) * 2016-10-12 2017-02-01 贵州大学 基于代理盲签名的防倒卖的敏感数据交易方法
US10715331B2 (en) 2016-12-28 2020-07-14 MasterCard International Incorported Method and system for providing validated, auditable, and immutable inputs to a smart contract
US10735426B2 (en) 2017-02-09 2020-08-04 Salesforce.Com, Inc. Secure asynchronous retrieval of data behind a firewall
CN106941487B (zh) 2017-02-24 2021-01-05 创新先进技术有限公司 一种数据发送方法及装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017027438A1 (en) 2015-08-10 2017-02-16 Cisco Technology, Inc. Group membership block chain

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Alfred J Menezes et al, "Handbook of Applied Cryptography Key Maanagement Techniques", ISBN"978-0-429-46633-5,1996.10.16.

Also Published As

Publication number Publication date
AU2018224145C1 (en) 2022-05-05
SG10202006001QA (en) 2020-07-29
KR20190103212A (ko) 2019-09-04
RU2020120956A (ru) 2020-09-09
RU2744494C2 (ru) 2021-03-10
US10878130B2 (en) 2020-12-29
US10797861B2 (en) 2020-10-06
CN106941487A (zh) 2017-07-11
MX2019008483A (es) 2019-10-15
CA3050329A1 (en) 2018-08-30
EP3716127B1 (en) 2022-02-23
MY192318A (en) 2022-08-17
EP3716127A1 (en) 2020-09-30
US20180247063A1 (en) 2018-08-30
ZA201904656B (en) 2021-05-26
BR112019014619B1 (pt) 2021-11-23
PH12019501652A1 (en) 2020-03-09
ES2809202T3 (es) 2021-03-03
AU2018224145A1 (en) 2019-08-01
AU2018224145B2 (en) 2020-01-16
SG10202105501QA (en) 2021-07-29
RU2727098C1 (ru) 2020-07-17
CN106941487B (zh) 2021-01-05
EP3555796B1 (en) 2020-05-27
EP3555796A1 (en) 2019-10-23
BR112019014619A2 (pt) 2020-04-14
SG11201906532PA (en) 2019-08-27
TW201832142A (zh) 2018-09-01
WO2018156924A1 (en) 2018-08-30
JP6797308B2 (ja) 2020-12-09
PL3555796T3 (pl) 2020-11-30
US20190213341A1 (en) 2019-07-11
CA3050329C (en) 2020-03-31
RU2020120956A3 (ko) 2021-01-27
TWI727114B (zh) 2021-05-11
JP2020511019A (ja) 2020-04-09

Similar Documents

Publication Publication Date Title
KR102141772B1 (ko) 키 설정 및 데이터 전송 방법 및 장치
US9317715B2 (en) Data protection compliant deletion of personally identifiable information
TWI635412B (zh) Method, device and system for verifying user identity by using social relationship data
JP2020184800A (ja) 鍵を有するリソースロケーター
CA3027741A1 (en) Blockchain systems and methods for user authentication
US11449799B1 (en) Systems and methods for post-quantum cryptography optimization
US11727829B1 (en) Systems and methods for post-quantum cryptography optimization
US11736281B1 (en) Systems and methods for post-quantum cryptography optimization
WO2013064927A1 (en) Protecting sensitive data in a transmission
US11195177B1 (en) Distributed ledger systems for tracking recurring transaction authorizations
WO2021169767A1 (zh) 一种数据处理方法、装置、设备及介质
US11533175B1 (en) Systems and methods for post-quantum cryptography on a smartcard
US20210328973A1 (en) Transactional identity system and server
US10657272B2 (en) Securely and efficiently sharing data exchange records
JP6956198B2 (ja) 安全なオフラインリソース操作
US11356273B1 (en) Authorization orchestration for distributed systems
US11200333B2 (en) File exposure to an intended recipient
CN113261256B (zh) 在数据流中安全地传输数据

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant