KR20200100640A - 디지털 서명을 제공하기 위한 동글들 및 방법 - Google Patents

디지털 서명을 제공하기 위한 동글들 및 방법 Download PDF

Info

Publication number
KR20200100640A
KR20200100640A KR1020207017303A KR20207017303A KR20200100640A KR 20200100640 A KR20200100640 A KR 20200100640A KR 1020207017303 A KR1020207017303 A KR 1020207017303A KR 20207017303 A KR20207017303 A KR 20207017303A KR 20200100640 A KR20200100640 A KR 20200100640A
Authority
KR
South Korea
Prior art keywords
dongle
dongles
existence
digital signature
signature
Prior art date
Application number
KR1020207017303A
Other languages
English (en)
Other versions
KR102440825B1 (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 KR20200100640A publication Critical patent/KR20200100640A/ko
Application granted granted Critical
Publication of KR102440825B1 publication Critical patent/KR102440825B1/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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • G06F21/35User authentication involving the use of external additional devices, e.g. dongles or smart cards communicating wirelessly
    • 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/3234Cryptographic 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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/40User authentication by quorum, i.e. whereby two or more security principals are required
    • 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
    • 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/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • G06Q20/3226Use of secure elements separate from M-devices
    • 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/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/353Payments by cards read by M-devices
    • 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/3825Use of electronic signatures
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/0826Embedded security module
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters
    • H04B17/318Received signal strength
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Signal Processing (AREA)
  • Accounting & Taxation (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Bioethics (AREA)
  • Quality & Reliability (AREA)
  • Electromagnetism (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Materials For Medical Uses (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Peptides Or Proteins (AREA)

Abstract

디지털 서명(Si)을 제공하기 위한 둘 이상의 동글(a, b, c)의 세트(s)로서, 각각의 동글(a, b, c)은 비밀 키(Ki)를 보유하고, 각각의 동글(a, b, c)은 메시지(M)를 수신하고, 비밀 키(Ki)를 사용하여 수신된 메시지(M)의 디지털 서명(Si)을 계산(28, 36)하고, 계산된 디지털 서명(Si)을 전송하도록 구성되고, 동글들 중 적어도 하나(a)는 디지털 서명(Sa)을 계산(28)하기 전에, 세트(s)에 속하는 적어도 하나의 다른 동글(b, c)의 존재를 검증(26)하고, 하나 이상의 다른 동글(b, c)의 존재의 성공적인 검증 시에만 디지털 서명(Sa)을 계산(28)하도록 구성되는 것을 특징으로 한다.

Description

디지털 서명을 제공하기 위한 동글들 및 방법
본 발명은 2개 이상의 동글의 세트, 및 그러한 세트에 속하는 동글로 디지털 서명을 제공하기 위한 방법에 관한 것으로, 여기서 각각의 동글은 비밀 키를 보유하고, 여기서 각각의 동글은 메시지를 수신하고, 비밀 키를 사용하여 수신된 메시지의 디지털 서명을 계산하고, 계산된 디지털 서명을 전송하도록 구성되며, 여기서 방법은 서명될 메시지를 수신하는 단계, 비밀 키를 사용하여 메시지의 디지털 서명을 계산하는 단계, 및 계산된 디지털 서명을 전송하는 단계를 포함한다.
여기서, "비밀 키"라는 용어는 메시지에 서명하기 위해 사용될 수 있는, 각각의 동글에 의해 유지되거나 거기에 저장된 임의의 비밀 정보를 지칭한다. 비밀 키는 일반적으로 각각의 동글마다 다른데, 즉 동일한 비밀 키를 공유하는 2개의 동글은 존재하지 않는다. 구체적으로, 비밀 키는 개인 서명 키일 수 있으며; 그것은 바람직하게는 그것을 유지하는 각각의 동글 내부의 보안 요소 또는 변조 방지 메모리에 저장된다. 보안 요소는 바람직하게는 (예를 들어 스마트 카드에 사용되는 유형의) 보안 암호 프로세서(secure cryptoprocessor), 즉 어느 정도의 변조 저항성을 제공하는 복수의 물리적 보안 조치들을 갖는 패키징에 내장되는, 암호화 동작들을 수행하기 위한 칩 또는 마이크로프로세서 상의 전용 컴퓨터이다. 일반적으로, 이 세트는 비밀 키를 보유하지 않는 동글들을 또한 포함하며, 그 동글들은 그들 자체가 메시지에 서명하도록 구성되는 것이 아니라, 실제 서명을 수행하는 적어도 2개의 동글에 의해 존재(presence)가 검증될 필요가 있는 증인들의 역할만을 한다. 서명될 메시지, 또는 일반적으로 "메시지"는 동글에 의해 수신되고 서명될 수 있는 임의의 신호 또는 데이터 구조일 수 있다. 본 발명은 특히 디지털 통화(또는 "암호 화폐") 또는 일반적으로는 블록체인 애플리케이션들의 다중-서명 트랜잭션들의 준비 및 프로비저닝에 관한 것이고, 본 출원에서 메시지는 소위 "리딤 스크립트(redeem script)"를 포함하는 트랜잭션(트랜잭션 세부사항을 보유하는 데이터 구조)일 수 있다. 다중-서명은 바람직하게는 세트의 적어도 2개의 동글로부터의 서명들을 포함한다. 메시지는 데이터 접속(USB, 블루투스 등)을 통해 동글에 접속된 호스트로부터 수신될 수 있으며, 계산된 디지털 서명은 동일한 데이터 접속 또는 상이한 데이터 접속을 사용하여 해당 호스트에, 또는 완전히 다른 호스트에 다시 전송될 수 있다. 비밀 키를 사용한 수신된 메시지의 디지털 서명의 계산은 비밀 키로 메시지에 서명하는 것과 등가이다. 디지털 서명의 암호화 구현에 따라, 그 디지털 서명은 예를 들어 비밀 키로부터 도출된 공개 키로 검증될 수 있다.
디지털 통화(예를 들어, 비트코인)는 주소들의 생성을 허용하며, 그것의 임의의 발신 트랜잭션은 다중-서명을 필요로 한다. 이러한 다중-서명 주소로부터 유효한 발신 트랜잭션을 생성하기 위해서는, 복수의 비밀 키(또는 개인 키)가 필요하다. 요구되는 비밀 키의 수(M)는 일반적으로 허가된 개인 키들의 수(N)보다 작거나 그와 같다. 따라서, 유효한 발신 트랜잭션들은 N분의 M(M of N) 다중-서명 트랜잭션(M-of-N multi-signature transactions)이라고도 지칭된다. 그러한 다중-서명 주소를 생성하기 위해, 유효한 발신 트랜잭션을 위해 요구되는 M개의 서명뿐만 아니라 모든 N개의 승인된 개인 키의 공개 키들을 제공할 필요가 있다.
다중-서명 주소들은 트랜잭션이 여러 사람의 동의를 요구해야 할 때 - 여기서, 각각의 개인은 하나의 허가된 개인 키를 제어함 - , 및/또는 유효한 트랜잭션을 위해 복수의 인자가 요구될 때 - 여기서, 각각의 허가된 개인 키는 상이하게 보호됨(예를 들어, 상이한 저장 수단에 저장되고 상이한 위치들에 보관됨) - 사용된다. 종래의 디지털 서명들 또는 "단일 서명들"은 신뢰성을 위해 보안을 손상시켜야 하는 한편(예를 들어, 키 손실은 백업에 의해 회피될 수 있는 한편, 그러한 백업은 새로운 공격 벡터들을 도입함), 디지털 다중-서명들은 임의의 요구되는 수준 및 균형의 보안 및 신뢰성을 달성하는 것을 허용한다. 결과적으로, 그들은 안전이 중요한 트랜잭션들을 보호하는 데 특히 적합하다.
디지털 다중-서명을 제공하기 위한 현재의 방법들의 하나의 결점은 개별 서명들이 임의의 상이한 시점들에서 생성될 수 있고 나중에 유효한 다중-서명으로 컴파일될 수 있다는 것이다.
본 발명의 목적은 이러한 결점을 극복하고 디지털 서명들을 제공하기 위한 생성 프로세스의 보안을 향상시키는 것이다.
본 발명은 처음에 언급된 종류의 동글들의 세트로 이 목적을 해결하며, 여기서 동글들 중 적어도 하나는 디지털 서명을 계산하기 전에, 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하고, 하나 이상의 다른 동글의 존재의 성공적인 검증 시에만 디지털 서명을 계산하도록 구성된다. 동글은 하나 이상의 다른 동글의 존재가 검증된 경우에만(즉, 성공적으로), 수신된 메시지의 디지털 서명의 계산으로 진행한다.
이에 대응하여, 본 발명은 처음에 언급된 종류의 방법으로 상기 목적을 해결하며, 그 방법은 디지털 서명을 계산하기 전에, 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 단계; 및 검증이 성공한 경우에만 디지털 서명을 계산하는 단계를 포함한다.
적어도 하나의 다른 동글의 존재를 검증함으로써, 제1 동글은 적어도 2개의 비밀 키(각각의 동글에 의해 하나씩 보유됨)가 반드시 존재하며 서명을 위해 동시에 이용가능함을 보장한다. 적어도 2개의 동글의 서명 절차가 협력해야(concerted) 한다. 유효한 다중-서명을 생성하려고 시도하는 공격자는 동시에 적어도 2개의 동글을 제어할 필요가 있으며, 이는 일반적으로 각각의 개별 동글을 차례로 제어하는 것보다 달성하기가(특히 들키지 않기가) 더 어렵다.
바람직하게는, 동글들 중 적어도 하나는 영지식 증명(zero-knowledge proof)을 요구함으로써 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증한다. 이에 대응하여, 본 방법 내에서 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 단계는 영지식 증명을 요구할 수 있고, 이는 적어도 하나의 다른 동글에 영지식 증명을 제공하기 위한 요청을 송신하는 단계, 적어도 하나의 다른 동글로부터 영지식 증명을 수신하는 단계, 수신된 영지식 증명을 검증하는 단계를 포함하고, 수신된 영지식 증명의 검증이 성공적인 경우 적어도 하나의 다른 동글의 존재가 검증된다. 원칙적으로, 영지식 증명은 존재 증명의 역할을 하는데, 왜냐하면 적어도 하나의 다른 동글은 그것이 존재하는 경우에만(즉, 존재를 검증하기 위해 증명을 요청하는 적어도 하나의 동글로부터 도달가능함) 증명을 제공할 수 있기 때문이다. 영지식 증명은 챌린지-응답 프로토콜에 의해 구현될 수 있으며, 여기서 적어도 하나의 다른 동글[입증자(prover)]과 동글들 중 적어도 하나(검증자 또는 검증자들)가 접속된다. 챌린지는 시간-제한적 유효성을 갖는 임시(바람직하게는 일회용) 토큰일 수 있다. 2개의 동글 간의 접속은 직접 접속, 예를 들어 블루투스, Zigbee, 또는 Wi-Fi(WPAN) 접속일 수 있으며, 또는 협력 서명 절차(concerted signing procedure)를 조정하는 하나 이상의 호스트를 통해 라우팅될 수 있다.
본 방법의 바람직한 실시예에서, 수신된 영지식 증명을 검증하는 단계는 동일한 세트에 속하는 다른 모든 동글의 저장된 아이덴티티들의 컬렉션으로, 수신된 증명을 검증하는 단계를 포함한다.
바람직하게는, 적어도 하나의 다른 동글(입증자)은 서명 트리거를 수신하고 서명 트리거 수신 후 제한된 시간프레임 내에서만 요구되는 영지식 증명을 제공하도록 구성된다. 이에 대응하여, 본 방법은 서명될 메시지를 수신하기 전에, 동글(입증자)이 먼저 서명 트리거를 수신하는 단계를 포함할 수 있고, 여기서 상기 서명 트리거는 서명 트리거의 수신 후 제한된 시간프레임 동안 동글을 서명 모드로 전환하고, 여기서 상기 시간프레임의 경과 후, 동글은 대기 모드로 전환되고, 여기서 동글은 자신의 존재의 영지식 증명을 다른 동글들에게 전송하고, 여기서 서명 모드에 있을 때에만 비밀 키를 사용하여 디지털 서명들을 계산한다. 서명 트리거는 바람직하게는 각각의 동글 상의 물리적 트리거, 예를 들어 협력 서명 절차의 승인을 시그널링하기 위해 상기 동글을 제어하는 사용자에 의해 눌려지는 물리적 버튼이다. 서명 트리거 이후 시간프레임(예를 들어, 5분)이 경과한 후, 적어도 하나의 다른 동글은 대기 모드로 들어갈 것이고, 다른 서명 트리거가 발생하고 동글이 다시 서명 모드로 들어갈 때까지 임의의 요청된 영지식 증명을 제공하지 않을 것이다. 시간프레임 밖에서(즉, 대기 모드에서) 수신된 영지식 증명에 대한 요청은 보류 요청으로서 저장될 수 있고 각각의 동글의 사용자에게 통지될 수 있다. 이러한 통지는 2가지 목적에 적합한데: 그것은 서명 시도를 사용자에게 시그널링하고, 공통 서명 절차를 승인하는 경우 서명 트리거를 동작시킬 것을 그들에게 상기시킨다.
위에서 언급된 영지식 증명은 비밀 키의 지식의 영지식 증명일 수 있으며, 이는 서명에 사용되는 비밀 키(비밀 서명 키) 또는 다른 비밀 키(비밀 존재 키)일 수 있다. 바람직하게는, 각각의 동글은 추가 비밀 키(비밀 존재 키)를 보유하고, 영지식 증명은 추가 비밀 키의 소유에 관한 것이다. 각각의 동글은 상이한 추가 비밀 키 또는 비밀 존재 키를 갖는다. 추가 비밀 키는 그것을 보유하는 동글의 개인 아이덴티티를 나타낸다. 이에 의해, 추가 비밀 키들은 동글들의 세트의 제조자에 의한 프로비저닝 동안 각각의 동글 내부에 록킹될(locked) 수 있다. 그 후, 비밀 서명 키들은 추가 비밀 키들에 의해 확립된 동글들 사이의 암호화 링크를 손상시키지 않으면서 동글 소유자들 각각에 의해 독립적으로 제조자의 제어 밖에서 생성될 수 있다. 다음으로, 동글 소유자들은 그들의 서명의 나중의 검증을 위해, 그리고 예를 들어 다중-서명 주소들을 구성하기 위해, 공개 서명 키만을 제공한다.
바람직하게는, 동글들 중 적어도 하나는 동일한 세트에 속하는 다른 모든 동글의 아이덴티티들을 저장한다. 상기 아이덴티티들은 비밀 존재 키 또는 개인 아이덴티티에 대응하는 공개 키와 같은 비밀 파생 정보(secret-derived information)로서 저장될 수 있다. 아이덴티티들은 바람직하게는 비밀 키(비밀 서명 키)와 함께 동글 내부의 보안 요소 또는 변조 방지 메모리에 저장될 수 있다. 이에 대응하여, 적어도 하나의 다른 동글의 존재를 검증하는 것은 현재 다른 동글들의 아이덴티티를, 저장된 아이덴티티들과 비교함으로써 검증하는 것을 포함하는 것이 바람직하다. 저장된 아이덴티티들은, 예를 들어, 검증측 동글에 의해 저장된 아이덴티티들 중 하나인(또는 그에 포함된) 대응하는 공개 존재 키를 갖는 비밀 존재 키로 챌린지가 서명되었는지를 검증함으로써, 다른 동글들 중 적어도 하나에 의해 제공되는 존재의 증명을 검증하기 위해 사용될 수 있다.
본 세트의 바람직한 실시예에서, 동글들 중 적어도 하나는 디지털 서명을 계산하기 전에, 그것의 존재가 증명되어야 하는 다른 동글들의 수의 하한을 저장한다. 이에 대응하여, 본 방법은, 수신된 메시지의 서명을 계산하기 전에, (메시지의 수신 후) 존재가 검증된 동글들의 총 수가 미리 정의된 하한 이상인 것을 요구하는 단계를 포함할 수 있다. 따라서, 이 경우, 동글은 적어도 하한에 의해 정의된 개수만큼의 동글의 존재(임의적으로, 그러한 동글들이 서명 모드에 있을 것을 포함함)를 성공적으로 검증한 경우에만 그 자신의 비밀 키로, 수신된 메시지의 서명을 계산한다. 다른 동글들은 그 존재가 이 요건에 의존하기 위해서는 동일한 세트에 속해야 하며, 즉, 그것들은 현재 검증측 동글들과 동일한 다중-서명에 참여하는 "서명 동글"이어야 한다. 또한, 다른 동글들의 존재는 수신된 메시지가 서명되는 것과 동일한 세션 동안 검증된다. 하한은 1과, 동일한 세트에 속하는 동글의 총 수에서 1(검증측 동글 자체를 위한 것)을 뺀 것 사이이다. 충분한 수의 서명 동글의 존재를 강제함으로써, 유효한 N분의 M 다중-서명의 타당성은 임의의 서명들을 실제로 계산하기 전에 테스트될 수 있다. 여기서, N은 동일한 세트에 속하는 동글들의 총 수(서명 동글들의 총 수)이고, M은 유효한 다중-서명의 요구되는 서명의 수이다. M이 N보다 작은 경우, 하한은 1에서 M-1 사이일 것이다.
더욱이, 적어도 하나의 동글은 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 데 요구되는 시간을 측정하고, 하나 이상의 다른 동글 각각에 대해 미리 정의된 시간프레임 내에서의 하나 이상의 다른 동글의 존재의 성공적인 검증 시에만 디지털 서명을 계산하도록 구성되는 것이 유리하다는 것이 밝혀졌다. 이에 대응하여, 본 방법은 유리하게는, 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 동안, 존재를 검증하는 데 요구되는 시간을 측정하는 단계, 및 수신된 메시지의 서명을 계산하기 전에, 요구된 시간이 하나 이상의 다른 동글 각각에 대한 미리 정의된 시간프레임 내에 있을 것을 요구하는 단계를 포함한다. 특히, 검증측 동글은 존재 증명(예를 들어, 영지식 증명)을 요청하는 것과 수신하는 것 사이의 왕복 지연 시간을 측정하도록 구성될 수 있다. 왕복 지연 시간에 상한을 적용함으로써, 동글들의 직접(중개되지 않은) 접속, 및 최대 물리적 거리가 테스트될 수 있다. 허용가능한 미리 정의된 시간프레임은 초기화 절차 동안 실제 동글들의 왕복 지연 시간의 측정들에 따라 선택될 수 있다. 동글의 존재를 속이려고 시도하는 공격자는 왕복 지연 시간이 미리 정의된 시간프레임을 초과하지 않을 것을 보장할 필요가 있다. 네트워크에 걸쳐 라우팅되는 원격 동글들 및/또는 접속들에 대해, 이것은 물리적으로 불가능한 것으로 입증될 수 있고, 이 공격 벡터를 효과적으로 배제할 수 있다.
바람직하게는, 동글들은 존재의 검증을 위해 서로 직접 무선 접속들을 확립하도록 구성되고, 여기서 적어도 하나의 동글은 세트에 속하는 적어도 하나의 다른 동글에 대한 무선 접속의 신호 강도를 측정하고, 신호 강도가 미리 정의된 최소 신호 강도를 초과하거나 신호 강도로부터 도출된 거리 측정치가 하나 이상의 다른 동글 각각에 대한 최대 거리 미만인 경우에만 디지털 서명을 계산하도록 구성된다. 이에 대응하여, 본 방법은 바람직하게는 세트에 속하는 적어도 하나의 다른 동글에 대한 무선 접속의 신호 강도를 측정하는 단계, 및 수신된 메시지의 서명을 계산하기 전에, 측정된 신호 강도가 미리 정의된 최소 신호 강도를 초과하고 및/또는 측정된 신호 강도로부터 도출된 거리 측정치가 하나 이상의 다른 동글 각각에 대해 미리 정의된 최대 거리 미만일 것을 요구하는 단계를 포함한다. 그러므로, 검증측 동글은 세트로부터의 다른 동글들 중 하나 이상의 신호 강도가 임계 최소 신호 강도 초과인 경우, 또는 신호 강도로부터 도출된 거리 측정치가 임계 최대 거리 미만인 경우에만 그 자신의 비밀 키를 사용하여 수신된 메시지의 서명을 계산할 것이다. 무선 접속들은 예를 들어 블루투스, NFC, RFID, Google Thread, ZigBee 또는 WPAN 접속들, 또는 일반적으로 802.15.4 프로토콜 제품군으로부터의 임의의 접속(메시 네트워크 접속)일 수 있다. 신호 강도의 척도로서, 밀리와트 또는 dB-밀리와트(dBm)로 측정된 물리적 신호 강도(RX 값), 또는 백분율로 측정된 수신 신호 강도 표시(RSSI)가 사용될 수 있다. 신호 강도 또는 거리에 대한 하한을 적용함으로써, 동글들의 최대 물리적 거리가 보장될 수 있으며, 여기서 최대 물리적 거리는 왕복 지연 시간에 대한 상한보다 더 정확하게 정의될 수 있다. 바람직하게는, 보안과 정확성을 동시에 달성하기 위해 2가지 척도가 결합된다.
본 발명의 바람직한 실시예에 따르면, 동글들 중 적어도 하나는 임의의 다른 동글에 대해 그 자신의 존재를 확인시키기 전에, 모바일 단말의 존재를 검증하도록 구성될 수 있다. 이에 대응하여, 본 방법은 수신된 메시지의 서명을 계산하거나 영지식 증명을 제공하기 전에, 동글에 접속된 모바일 단말의 존재를 검증하는 단계를 포함 할 수 있다. 모바일 단말은 임의의 모바일 컴퓨터 단말, 예를 들어 스마트폰, 스마트워치 또는 태블릿 컴퓨터일 수 있다. 모바일 단말의 존재의 검증은 세트에 속하는 하나 이상의 다른 동글의 존재의 검증과 유사할 수 있다. 하나의 경우에서, 수신된 메시지의 서명을 계산하기 전에, 모바일 단말의 존재(또는 보다 구체적으로는 그것의 증명)가 요구될 수 있으며; 두번쩨 경우에서, 그리고 그것과 독립적으로, 모바일 단말의 존재는 동글 자체의 존재에 대해 요구될 수 있으며, 즉 그것은 동글이 서명 모드로 들어가기 전에 필요할 수 있다. 이러한 실시예들에서, 모바일 단말은 협력 서명 절차에서 동글을 사용하기 위한 제2 인자로서 기능한다. 이는 전형적으로 해당 사용자에 의해 빈번하게 사용되는 모바일 단말의 부재를 알아차릴 가능성이, 덜 빈번하게 사용될 수 있는 동글의 부재를 알아차릴 가능성보다 더 높다는 인식에 기초한다. 공격자는 동글과 모바일 단말의 제어권을 장악해야 하는데, 이는 각각의 소유자가 알아차릴 가능성이 매우 높으므로 전체 셋업의 보안을 증가시킨다.
이러한 맥락에서, 모바일 단말은 모바일 단말의 사용자의 인증, 바람직하게는 생체 인증 후 제한된 시간프레임 내에만 자신의 존재를 확인하도록 구성되는 것이 유리하다는 것이 밝혀졌다. 이에 대응하여, 본 방법 동안의 모바일 단말의 존재를 검증하는 단계는 바람직하게는 적어도 부분적으로 생체 자격증명을 사용하여, 모바일 단말의 사용자를 인증하는 단계를 포함할 수 있다. 위에서, "존재"라는 용어는 "서명에 대한 이용가능성"(예를 들어, "서명 모드"에 있음)를 의미하는 데 빈번하게 사용된다. 결과적으로, 서명 절차는 임의의 참여하는 모바일 단말의 사용자들이 (임의적으로 생체) 인증 자격증명을 제공함으로써 서명에 대한 동의를 표현할 것을 요구한다. 생체 인증 자격증명들의 사용은 참여하는 개인들에 대해 협력 서명 절차를 감사(auditing)하는 것을 용이하게 한다는 이점을 갖는다.
바람직하게는, 동글들 중 적어도 하나는 허용가능한 메시지들을 식별하기 위한 화이트리스트를 저장하고, 상기 화이트리스트에 따라 수신된 메시지가 허용가능한 메시지인지를 검증하고, 수신된 메시지의 성공적인 검증 시에만 디지털 서명을 계산하도록 구성된다. 이에 대응하여, 본 방법은, 수신된 메시지의 서명을 계산하기 전에, 동글에 저장된 화이트리스트에 따라 수신된 메시지가 허용가능한 메시지일 것을 요구하는 단계를 포함할 수 있다. 화이트리스트는 허용가능한 메시지들의 속성들의 컬렉션일 수 있다. 예를 들어, 본 발명이 서명 트랜잭션들에 적용될 때, 화이트리스트는 수신 주소들을 포함할 수 있고, 화이트리스트 상의 그러한 수신 주소들 중 하나에 대한 트랜잭션들만이 허용가능한 것으로 간주된다. 메시지 또는 트랜잭션이 테스트되고 허용가능한 것으로 밝혀진 후에만, 이 메시지 또는 트랜잭션의 디지털 서명이 비밀 키를 사용하여 계산된다. 따라서, 공격자는 화이트리스트(그것을 사용하는 동글 내부의 보안 요소 또는 변조 방지 메모리에 저장되는 것이 바람직함)를 손상시킬 수 있거나 화이트리스트의 수신 주소들 중 하나를 제어할 수 있어야 한다.
이하에서, 본 발명에 따른 세트 및 방법의 바람직한 실시예들은 물론, 바람직한 조합들이 정의될 것이다:
1. 디지털 서명들을 제공하기 위한 둘 이상의 동글의 세트로서,
각각의 동글은 비밀 키를 보유하고,
각각의 동글은 메시지를 수신하고, 비밀 키를 사용하여, 수신된 메시지의 디지털 서명을 계산하고, 계산된 디지털 서명을 전송하도록 구성되고,
동글들 중 적어도 하나는 디지털 서명을 계산하기 전에, 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하고, 하나 이상의 다른 동글의 존재의 성공적인 검증 시에만 디지털 서명을 계산하도록 구성되는 것을 특징으로 하는, 세트.
2. 실시예 1에 따른 세트로서, 동글들 중 적어도 하나는 영지식 증명을 요구함으로써 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하도록 구성되는, 세트.
3. 실시예 2에 따른 세트로서, 적어도 하나의 다른 동글은 서명 트리거를 수신하고, 서명 트리거의 수신 후 제한된 시간프레임 내에서만 요구되는 영지식 증명을 제공하도록 구성되는 것을 특징으로 하는, 세트.
4. 실시예 2 또는 실시예 3에 따른 세트로서, 각각의 동글은 추가 비밀 키를 보유하고, 영지식 증명은 추가 비밀 키의 소유에 관한 것인, 세트.
5. 실시예 1 내지 실시예 4 중 하나에 따른 세트로서, 동글들 중 적어도 하나는 동일한 세트에 속하는 모든 다른 동글의 아이덴티티들을 저장하는 것을 특징으로 하는, 세트.
6. 실시예 1 내지 실시예 5 중 하나에 따른 세트로서, 동글들 중 적어도 하나는 디지털 서명을 계산하기 전에 그것의 존재가 증명되어야 하는 다른 동글들의 수의 하한을 저장하는 것을 특징으로 하는, 세트.
7. 실시예 1 내지 실시예 6 중 하나에 따른 세트로서, 적어도 하나의 동글은 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 데 요구되는 시간을 측정하고, 하나 이상의 다른 동글 각각에 대해 미리 정의된 시간프레임 내에서의 하나 이상의 다른 동글의 존재의 성공적인 검증 시에만 디지털 서명을 계산하도록 구성되는 것을 특징으로 하는, 세트.
8. 실시예 1 내지 실시예 7 중 하나에 따른 세트로서, 동글들은 존재의 검증을 위해 서로 간에 직접 무선 접속들을 확립하도록 구성되고, 적어도 하나의 동글은 세트에 속하는 적어도 하나의 다른 동글에의 무선 접속의 신호 강도를 측정하고, 하나 이상의 다른 동글 각각에 대해, 신호 강도가 미리 정의된 최소 신호 강도를 초과하고/하거나 신호 강도로부터 도출된 거리 측정치가 미리 정의된 최대 거리 미만인 경우에만 디지털 서명을 계산하도록 구성되는 것을 특징으로 하는, 세트.
9. 실시예 1 내지 실시예 8 중 하나에 따른 세트로서, 동글들 중 적어도 하나는 임의의 다른 동글에 자기 자신의 존재를 확인시키기 전에 모바일 단말의 존재를 검증하도록 구성되는 것을 특징으로 하는, 세트.
10. 실시예 9에 있어서, 모바일 단말은 모바일 단말의 사용자의 인증, 바람직하게는 생체 인증 후 제한된 시간프레임 내에만 그것의 존재를 확인하도록 구성되는 것을 특징으로 하는, 세트.
11. 실시예 1 내지 실시예 10 중 하나에 따른 세트로서, 동글들 중 적어도 하나는 허용가능한 메시지들을 식별하기 위한 화이트리스트를 저장하고, 수신된 메시지가 상기 화이트리스트에 따른 허용가능한 메시지인 것을 검증하고, 수신된 메시지의 성공적인 검증 시에만 그 디지털 서명을 계산하도록 구성되는 것을 특징으로 하는, 세트.
12. 실시예 1 내지 실시예 11 중 하나에 따른 세트에 속하는 동글로 디지털 서명을 제공하기 위한 방법으로서,
동글은 비밀 키를 보유하며, 방법은:
서명될 메시지를 수신하는 단계;
세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 단계;
검증이 성공적인 경우, 비밀 키를 사용하여 메시지의 디지털 서명을 계산하는 단계; 및
계산된 디지털 서명을 전송하는 단계
를 포함하는 방법.
13. 실시예 12에 따른 방법으로서, 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 단계는 영지식 증명을 요구하는 것을 특징으로 하고,
적어도 하나의 다른 동글에 영지식 증명을 제공하기 위한 요청을 전송하는 단계;
적어도 하나의 다른 동글로부터 영지식 증명을 수신하는 단계; 및
수신된 영지식 증명을 검증하는 단계
를 포함하고, 수신된 영지식 증명의 검증이 성공적인 경우, 적어도 하나의 다른 동글의 존재가 검증되는, 방법.
14. 실시예 13에 따른 방법으로서, 수신된 영지식 증명을 검증하는 단계는, 동일한 세트에 속하는 모든 다른 동글의 저장된 아이덴티티들의 컬렉션으로, 수신된 증명을 검증하는 단계를 포함하는 것을 특징으로 하는, 방법.
15. 실시예 12 내지 실시예 14 중 하나에 따른 방법으로서, 서명될 메시지를 수신하기 전에, 동글은 먼저 서명 트리거를 수신하고, 상기 서명 트리거는 서명 트리거의 수신 후의 제한된 시간프레임 동안 동글을 서명 모드로 전환하고, 상기 시간프레임의 경과 후에, 동글은 대기 모드로 전환하고, 동글은 자신의 존재의 영지식 증명을 다른 동글들에 송신하고, 서명 모드에 있을 때만 비밀 키를 사용하여 디지털 서명들을 계산하는 것을 특징으로 하는, 방법.
16. 실시예 12 내지 실시예 15 중 어느 하나에 따른 방법으로서, 수신된 메시지의 서명을 계산하기 전에, 그 존재가 검증된 동글들의 총 수가 미리 정의된 하한 이상일 것을 요구하는 것을 특징으로 하는, 방법.
17. 실시예 12 내지 실시예 16 중 어느 하나에 따른 방법으로서, 세트에 속하는 적어도 하나의 다른 동글의 존재를 검증하는 동안, 존재를 검증하는 데 요구되는 시간을 측정하고, 수신된 메시지의 서명을 계산하기 전에, 요구되는 시간이 하나 이상의 다른 동글 각각에 대해 미리 정의된 시간프레임 내에 있어야 함을 요구하는 것을 특징으로 하는, 방법.
18. 실시예 12 내지 실시예 17 중 어느 하나에 따른 방법으로서, 세트에 속하는 적어도 하나의 다른 동글에의 무선 접속의 신호 강도를 측정하고, 수신된 메시지의 서명을 계산하기 전에, 측정된 신호 강도가 미리 정의된 최소 신호 강도를 초과하고/거나 측정된 신호 강도로부터 도출된 거리 측정치가 하나 이상의 다른 동글 각각에 대해 미리 정의된 최대 거리 미만일 것을 요구하는 것을 특징으로 하는, 방법.
19. 실시예 12 내지 실시예 18 중 어느 하나에 따른 방법으로서, 수신된 메시지의 서명을 계산하거나 영지식 증명을 제공하기 전에, 동글에 접속된 모바일 단말의 존재를 검증하는 것을 특징으로 하는, 방법.
20. 실시예 19에 따른 방법으로서, 모바일 단말의 존재를 검증하는 단계는 바람직하게는 적어도 부분적으로 생체 자격증명들을 사용하여 상기 모바일 단말의 사용자를 인증하는 단계를 포함하는 것을 특징으로 하는, 방법.
21. 실시예 12 내지 실시예 20 중 어느 하나에 따른 방법으로서, 수신된 메시지의 서명을 계산하기 전에, 수신된 메시지가 동글에 저장된 화이트리스트에 따라 허용가능한 메시지인 것을 요구하는 것을 특징으로 하는, 방법.
이제 도면들을 참조하면, 도면들은 본 발명을 설명하기 위한 것이며 제한하기 위한 것이 아니다 :
도 1은 본 발명에 따른 3개의 동글의 세트의 사용 사례를 개략적으로 도시 한다.
도 2는 도 1에 도시된 2개의 동글을 사용하여 본 발명에 따른 디지털 서명을 제공하는 절차의 순서도를 도시한다.
도 3은 도 1에 도시된 제3 동글 및 모바일 단말을 사용하는 도 2의 확장을 도시한 부분 순서도를 도시한다.
도 1에 개략적으로 도시된 사용 사례는 3개의 동글(a, b, c)의 세트(s)를 포함한다. 동글들(a, b, c) 각각은 메시지(M)의 디지털 서명(Si(M))을 제공하도록 구성되며(도 2 비교), 여기서 Si(M) = S(M, Ki)이고, 여기서 Ki는 동글(i)에 의해 보유되는 비밀 키이고, i는 a, b 또는 c 중 하나이다. 비밀 키(Ki)는 각각의 동글(i)에 안전하게 저장되는 비밀 정보이다. 이는 초기화 절차 동안 동글(i)에서 로컬로 무작위로 생성될 수 있으며, 바람직하게는 절대로 동글(i)을 떠나지 않는다. 그러므로, 일반적으로 각각의 동글(i)은 상이한 비밀 키(Ki)를 보유한다.
동글들(a, b, c)은 주머니에 맞는 이동식(배터리 구동) 휴대용 디바이스들이다. 전형적으로, 보안성이 높은 애플리케이션을 위해 사용되는 동글들(i)의 소유자들(Oi)(즉, Oa, Ob, Oc)은 항상 그들 각각의 동글(i)을 가지고 다녀야 한다. 이는 각각의 동글(i)이 그 각각의 소유자(Oi)의 독점적 제어 하에 남아있을 것을 보장하기 위한 것이다. 이러한 상황은 도 1에서 각각의 동글(i)의 제어 범위(Ci)를 제한하는 원에 의해 표시되어 있다. 본질적으로, 호스트(h), 그것의 소유자(Oh) 및 제어 범위(Ch)에 동일한 것이 적용된다.
도 1에 도시된 바와 같이, 각각의 동글(i)은 별개의 컴퓨터, 예를 들어 워크 스테이션 또는 랩탑인 호스트(h)에 접속된다. 접속들(1, 2, 3)은 예를 들어 블루투스 기술을 사용한 무선 접속들이다. 대안적으로, 동글들(i) 중 하나 이상은 USB 접속과 같은 유선 접속을 사용하여 호스트(h)에 접속될 수 있다. 동글들(i)은 예를 들어 블루투스 기술을 또한 사용하는 추가적인 직접 무선 접속들(4, 5)에 의해 서로 접속된다. 동글(a)와 동글(b) 사이의 직접 접속(4)과 동글(a)와 동글(c) 사이의 직접 접속(5)만이 도 1에 도시되어 있지만, 동글(b)와 동글(c) 사이에 추가적인 직접 접속이 있을 수 있다. 각각의 동글(i)은 그 각각의 소유자(Oi)에 의해 눌러질 수 있는 물리적 버튼(6)을 포함한다. 동글(c)는 이 동글(c)에 연관된 모바일 단말(Tc)에 대한 추가의(제3의) 무선 접속(7)을 갖는다. 모바일 단말(Tc)은 동글(c)의 소유자(Oc)의 개인 스마트폰이다. 모바일 단말(Tc)은 스크린(8) 및 지문 센서(9)를 포함한다. 얼굴 인식 및/또는 음성 인식을 수행하기 위한 센서들과 같은 다른 생체 센서들이 모바일 단말(Tc)에 포함될 수 있다. 일반적으로, 그러한 생체 센서들은 동글(c)의 소유자(Oc)를 인증하도록 구성된다.
호스트(h)는 네트워크(10)를 통해 데이터베이스(11)와 접속된다. 데이터베이스(11)는 온라인으로, 즉 인터넷을 통해 액세스가능한 공개 트랜잭션 디렉토리를 나타낸다. 데이터베이스(11)는 바람직하게는 분산 공개 트랜잭션 디렉토리, 바람직하게는 디지털 통화(예를 들어, 비트코인 또는 이더리움)의 트랜잭션들을 보안하기 위해 사용되는 유형의 분산 블록체인이다.
각각의 동글(i)은 널리 이용가능한 유형의 적합한 무선 전송 컴포넌트들(예를 들어, 블루투스 송수신기)을 사용하여 무선 접속(1, 2, 3)을 통해 호스트(h)로부터 메시지(M)를 수신하도록 구성된다. 유사하게, 각각의 동글(i)은 무선 접속(1, 2, 3)을 통해 메시지(M)의 사본과 함께, 또는 그러한 사본 없이, 계산된 디지털 서명(Si(M))을 호스트(h)로 다시 전송하도록 구성된다. 또한, 각각의 동글(i)은 비밀 키(Ki)를 사용하여, 수신된 메시지(M)의 디지털 서명(Si(M))을 계산하도록 구성된다. 전형적으로, 비밀 키(Ki)는 메시지(M)를 수용하고, 수용된 메시지(M) 및 비밀 키(Ki)로부터 암호적으로 도출된 대응하는 서명들(Si(M))을 반환하도록 구성된 보안 요소에 저장된다. 그러므로, 비밀 키(Ki) 자체는 결코 보안 요소를 떠나거나 보안 요소 외부에 알려질 필요가 없다. 보안 요소는 보안 암호 프로세서인 것이 바람직하다.
각각의 동글(i)은 도 2와 관련하여 더 상세히 설명될 바와 같이 2개의 다른 동글(i) 중 하나 또는 둘 다의 존재를 검증하도록 더 구성된다. 모든 요구되는 조건들이 테스트되었고 충족되는 것으로 밝혀졌기 때문에, 이러한 존재의 검증 절차가 성공적인 경우에만, 동글(i)은 디지털 서명(Si(M))의 계산으로 진행할 것이다. 바람직하게는, 이들 조건의 일부 또는 전부는 각각의 동글(i)의 보안 요소 내에서 테스트된다. 본 예에서, 동글(a)는 영지식 증명을 요구함으로써 동일한 세트(s)에 속하는 동글(b)의 존재를 검증하도록 구성된다. 요구되는 영지식 증명은 동글(a)에 의해 생성되고 접속(4)을 통해 동글(b)의 개인 아이덴티티(Ib)를 사용하여 동글(b)에 전송되는 랜덤 챌린지(Ra)의 디지털 서명(S(Ra, Ib))이다. 동글(b)는 요구되는 영지식 증명을 제공하고, 서명 트리거(13)의 수신 후 제한된 시간프레임(12) 내에서만 디지털 서명(S(Ra, Ib))을 계산하도록 구성된다. 개인 아이덴티티(Ib)는 바람직하게 비밀 키(Kb)와 동일한 동글(b)의 보안 요소 내에 저장되는 추가 비밀 키이다. 서명 트리거(13)는 동글(b)의 버튼(6)을 누름으로써 동글(b)의 소유자(Ob)에 의해 활성화될 수 있다. 영지식 증명을 요구하는 동글(a)는 동일한 세트에 속하는 다른 2개의 동글(b 및 c)의 아이덴티티들((P(Ii)), 즉 P(Ib) 및 P(Ic)를 저장한다. 여기서, 아이덴티티들(P(Ii))은 각각의 개인 아이덴티티(Ii)에 대응하고 그로부터 암호적으로 도출된 공개 키들이다. 존재는 디지털 서명(Sa(M))을 계산하기 위한 조건이므로, 디지털 서명(S(Ra, Ib)) 형태의 영지식 증명은 바람직하게는 보안 요소에 의해 검증된다. 따라서, 서명(S(Ra, Ib))을 검증하는 데 요구되는 아이덴티티(P(Ib))를 포함하는 아이덴티티들(P(Ii))은 비밀 키(Ka)와 동일한 보안 요소 내에 저장되는 것이 바람직하다. 존재의 검증에 대한 임의의 외부 제어를 피하기 위해, 랜덤 챌린지(Ra)는 또한 바람직하게는 이 보안 요소에 의해 생성되며, 이는 서명(S(Ra, Ib))을 검증할 것이다.
일반적으로, 디지털 서명(Sa(M))을 제공하기 위해, 세트(s)의 모든 동글(i)이 존재하고 임의의 하나의 동글(i)에 대해 그들의 존재를 검증할 필요는 없고; 예를 들어, M은 N보다 작고 N은 동일한 세트(s) 내의 동글들(i)의 총 수인 N분의 M 다중-서명의 경우, 서브세트의 존재가 충분할 수 있다. 도 2에 도시된 예에서, 동글들(a 및 b)은 요청된 서명을 제공하기 전에 하나의 동글의 존재를 검증하고 요구하며; 즉, 이 상황에서 동글들(a 및 b)이 호스트(h)에 그들 각각의 서명들(Sa(M) 및 Sb(M))을 제공하기 위해 동글(c)이 존재할 필요는 없다. 대안적으로, 동글(a) 및/또는 동글(b)는 디지털 서명을 계산하기 전에 그 존재가 증명되어야 하는 다른 동글들의 수의 하한을 저장할 수 있다. 도 1에 도시된 사용 사례에서, 이 하한은 1 또는 2일 수 있다. 동글(a)이 하한 2를 저장하는 경우, 그것은 다른 동글들(b 및 c) 둘 다의 검증을 시도할 것이고, 그들 둘 다의 존재가 검증된 후에만(예를 들어, 둘 다 디지털 서명(S(Ra, Ib)) 또는 (S(Ra, Ic))의 형태로 존재 증명을 제공했음) 디지털 서명(Sa(M))을 계산할 것이다.
동글(a)는 또한 동글(b)의 존재를 검증하는 데 요구되는 시간을 측정하도록 구성된다. 상세하게, 랜덤 챌린지(Ra)를 송신하는 것과 디지털 서명(S(Ra, Ib))을 수신하는 것 사이의 왕복 지연 시간(D(a, b))을 측정하도록 구성된다. 지연 시간(D(a, b))이 미리 정의된 시간프레임(예를 들어, 2 밀리초(ms)) 내에 있고, 디지털 서명(S(Ra, Ib))이 유효한 경우에만, 동글(a)는 디지털 서명(Sa(M))의 계산으로 진행할 것이다. 이 조건은 바람직하게는 보안 요소 내에서 테스트되기 때문에, 보안 요소는 바람직하게는 클록, 및 임의적으로 클록에 안정적으로 전력을 공급하기 위한 내부 전력 공급장치를 포함한다. 디지털 서명(S(Ra, Ib)) 형식의 존재 증명이 나중에, 예를 들어 3 밀리초 후에 도착하면, 동글(a)는 메시지(M)의 디지털 서명(Sa(M))을 계산하지 않을 것이다. 시간프레임은 사실상 왕복 지연 시간(D(a, b))의 상한이며, 동글들(a 및 b)의 보안 요소들 사이의 거리 척도로서 기능한다. 물리적 거리는 정보 전송의 제한 속도(일반적으로 빛의 속도)로 인해 왕복 지연 시간에 영향을 준다. 그러나, 실제로, 왕복 지연 시간은 2개의 동글(a 및 b)의 보안 요소들 사이의 접속을 중개하는 전송 전자장치 내에서의 지연에 의해 지배될 것이다. 특히, 미리 정의된 시간프레임의 적용은 동글들 사이의 접속을 들키지 않고서 릴레이하는 것을 어렵거나 불가능하게 한다.
또한, 동글(a)는 동글(b)에 대한 직접 무선 접속(4)의 신호 강도를 측정하도록 구성된다. 동글(a)는 직접 무선 접속(4)의 측정된 신호 강도가 미리 정의된 최소 신호 강도, 예를 들어 4dBm(블루투스 신호의 추정된 10 미터 범위와 등가)을 초과하는 경우에만 수신된 메시지(M)의 디지털 서명(Sa(M))을 계산하도록 구성된다.
도 3과 관련하여 더 상세히 설명될 바와 같이, 동글(c)는 동글(a) 또는 동글(b)에 자신의 존재를 확인시키기 전에 모바일 단말(Tc)의 존재를 검증하도록 구성된다. 동시에, 모바일 단말(Tc)은 지문 센서(9)에 유효하고 인가된 지문을 입력하는 것에 의한 소유자(Oc)의 인증 후 제한된 시간프레임 내에만 자신의 존재를 확인시키도록 구성된다.
마지막으로, 동글(a)는 허용가능한 메시지(M)를 식별하기 위한 화이트리스트를 저장한다. 메시지(M)가 트랜잭션인 경우, 화이트리스트는 예를 들어 5개의 허용가능한 트랜잭션 대상(수신 주소)을 포함한다. 호스트(h)가 다른 대상에 대한 트랜잭션을 포함하는 메시지(M)의 서명을 요청하면, 동글(a)는 그러한 메시지(M)에 서명하는 것을 거부한다. 화이트리스트는 바람직하게는 동글(a)의 보안 요소 내에 저장될 것이다.
상기에서 단일 동글(a, b 또는 c)와 관련하여 일부 기능이 설명된 경우, 본 기술분야의 통상의 기술자에게는, 각각의 이러한 기능이 각각의 다른 동글들 중 임의의 것 또는 모두에 의해, 그리고 유사한 효과(종종, 더 증가된 보안)로 구현될 수 있다는 것이 명백할 것이다.
본 방법을 더 설명하기 위해, 예시적이고 비교적 간단한 실시예가 도 2에 도시된 순서도와 함께 시간순으로 논의될 것이다. 도 2의 초기 상황에서, 소유자들(Oa 및 Ob)은 특정 트랜잭션을 수행하는 것에 동의하게 되었고, 호스트(h)의 소유자(Oh)를 초대하여 데이터베이스(11)에 대해 트랜잭션을 조정, 준비 및 업로드하여, 코디네이터의 역할을 하도록 요청했다. 2명의 소유자(Oa 및 Ob)는 그들 각각의 동글(a 및 b)을 가져왔으며, 이는 처음에 대기 모드에 있고 도 1과 관련하여 위에서 설명된 바와 같이 구성되고 초기화된다. 물론, 소유자들(Oa, Ob) 중 누구라도 호스트(h)를 소유하고 운영하는 것이 또한 가능하다. 그러나, 명확성을 위해, 여기에서는 3명의 개별 소유자(Oh, Oa, Ob)가 가정된다.
우선, 단계(14)에서의 코디네이터(즉, 호스트(h)의 소유자(Oh) 및 운영자)는 동글(a)의 소유자(Oa)에게 동글(a)의 서명 트리거를 활성화하도록 요청한다. 소유자(Oa)는 동글(a)의 버튼(6)을 누름으로써, 동글(a)의 서명 트리거(15)를 활성화하고 동글(a)을 동글(a)의 타임라인과 평행한 왼쪽 수직 막대에 의해 나타나는 제한된 시간프레임(16)(예를 들어, 5분 동안) 동안 서명 모드로 전환한다. 단계(17)에서, 소유자(Oh)는 동글(b)의 소유자(Ob)에게 동글(b)의 서명 트리거를 활성화하도록 요청한다. 소유자(Ob)는 동글(b)의 버튼(6)을 누름으로써 동글(b)의 서명 트리거(13)를 활성화하고, 동글(b)를 동글(a)의 타임라인과 평행한 왼쪽 수직 막대에 의해 나타난 제한된 시간프레임(12) 동안 서명 모드로 전환한다. 이제, 2개의 동글(a, b)이 서명 모드에 있다.
단계(18)에서의 코디네이터는 원하는 트랜잭션 파라미터들을 호스트(h)에 입력한다. 단계(19)의 호스트(h)는 입력된 트랜잭션 파라미터들을 드래프트 트랜잭션으로 컴파일하는데, 이는 완전하고 유효한 트랜잭션을 형성하기 위해 다중-서명으로 서명되어야 하는 메시지(M)에 대응한다. 상세하게, 메시지(M)는 예를 들어 적어도 하나의 이전(소스) 트랜잭션의 식별자, 상기 이전 트랜잭션이 암호적으로 링크되어 있는 리딤 스크립트, 트랜잭션 대상 주소 및 트랜잭션 양을 포함한다. 트랜잭션의 상태(20)는 호스트(h)의 타임라인과 평행한 수직 막대에 의해 나타난다.
메시지(M)가 준비되면, 접속(1)(도 1 참조)을 통한 호스트(h)는 메시지(M)를 동글(a)로 전송하며, 그것은 메시지(M)를 수신한다. 동글(a)는 시간프레임(16) 동안 자신이 서명 모드에 있음을 발견하고, 따라서 단계(21)에서 랜덤 챌린지(Ra)의 생성으로 진행하며, 이는 참조번호(22)에 의해 나타난 바와 같이 로컬로 저장된다. 동글(a)는 개인 아이덴티티(Ib)의 영지식 증명을 제공하기 위한 요청으로서 랜덤 챌린지(Ra)를 접속(4)을 통해 동글(b)에 전송하고, 동시에 내부 스톱워치를 시작한다. 동글(b)는 동글(a)에 의해 생성된 랜덤 챌린지(Ra)를 수신하고, 랜덤 챌린지(Ra)를 저장(23)하고, 시간프레임(12) 동안 자신이 서명 모드에 있음을 발견하기 때문에, 그것의 개인 아이덴티티(Ib)을 사용하여 랜덤 챌린지(Ra)의 디지털 서명(S(Ra, Ib))을 계산(24)한다. 그것은 디지털 서명(S(Ra, Ib))을 저장(25)하고, 그것을 동글(a)에 다시 전송한다. 동글(a)는 동글(b)로부터, 요청된 영지식 증명을 형성하는 디지털 서명(S(Ra, Ib))을 수신하고, 내부 스톱워치를 중지하며, 그것은 이제 지연 시간(D(a, b))의 판독값을 갖는다. 동글(a)는 지연 시간(D(a, b))가 미리 정의된 시간프레임 내에 있고, 동글(a)에 의해 측정된 접속(4)의 신호 강도가 미리 정의된 최소 신호 강도를 초과하는지, 및 로컬로 저장된 아이덴티티(P(Ib))에 따라 디지털 서명(S(Ra, Ib))이 유효한지를 확인함으로써, 즉 수신된 영지식 증명을 검증함으로써, 동글(b)의 존재를 검증(26)한다. 3개의 조건 전부가 만족되는 경우, 그에 따라, 동글(b)의 존재가 성공적으로 검증되고, 동글(a)는 비밀 키(Ka)를 언록킹(27)하고, 비밀 키(Ka)를 사용하여 메시지(M)의 디지털 서명(Sa(M))을 계산(28)하고, 계산된 디지털 서명(Sa(M))을 호스트(h)에 전송한다.
호스트(h)는 디지털 서명(Sa(M))을 드래프트 트랜잭션의 부분적 서명 부분(예를 들어, 부분적 "scriptSig")으로서 저장(29)한다. 리딤 스크립트에 의해 정의된 트랜잭션은 3분의 2 다중-서명 트랜잭션인 것으로 가정된다. 따라서, 호스트(h)는 세트(s)의 제2 동글(i)로부터 추가 서명을 요구한다. 결과적으로, 호스트(h)는 접속(2)을 통해 메시지(M)를 동글(b)에 전송한다. 동글(b)이 시간프레임(12) 동안 여전히 서명 모드에 있기 때문에, 그것은 랜덤 챌린지(Rb)의 생성(30)으로 진행하고, 그것을 로컬로 저장(31)한다. 동글(a)의 존재를 검증하기 위해, 동글(b)는 랜덤 챌린지(Rb)를 영지식 프로토콜의 일부로서 동글(a)에 전송한다. 동글(a)는 수신된 랜덤 챌린지(Rb)를 저장(32)하고, 또한 시간프레임(16) 동안 여전히 서명 모드에 있으며, 개인 아이덴티티(Ia)로 랜덤 챌린지(Rb)에 서명(33)하여, 디지털 서명(S(Rb, Ia))을 생성하며, 그것은 영지식 존재 증명으로서 저장(34)되고 동글(b)에 다시 전송된다. 동글(b)는 로컬로 저장된 아이덴티티(P(Ia))로 디지털 서명(S(Rb, Ia))을 검증(35)한다. (대안적으로, 아이덴티티(P(Ia))는 동글(b)에 의해 신뢰되는 인증 기관(z)에 의해 서명될 수 있고, 인증 기관의 개인 아이덴티티(Iz) 및 동글(a)로부터의 디지털 서명(S(Rb, Ia))을 이용하여 인증 기관에 의해 계산된 디지털 서명(S(P(Ia), Iz))과 함께 동글(b)에 전송될 수 있다. 이 경우, 동글(b)는 인증 기관의 아이덴티티(P(Iz))만을 저장하고 동글(a)의 수신된 아이덴티티(P(Ia))를 디지털 서명(S(P(Ia), Iz))으로 검증하며, 다음으로 디지털 서명(S(Rb, Ia)) 및 수신된 아이덴티티(P(Ia))로 동글(a)의 존재를 검증한다). 영지식 존재 증명으로서 수신되는 디지털 서명(S(Rb, Ia))이 유효로 밝혀진 경우, 동글(b)는 비밀 키(Kb)를 언록킹하고, 디지털 서명(Sb(M))을 계산(36)하여, 디지털 서명(Sb(M))을 호스트(h)에 전송한다.
이제, 호스트(h)는 2개의 동글들(a, b)로부터 서명들(Sa(M), Sb(M))을 수신했고, 따라서 완전한 서명 부분(37)을 보유한다. 이 완전한 서명 부분(37)을 사용하여, 호스트(h)는 유효한 트랜잭션(39)을 컴파일(38)한다. 다음으로, 그것은 유효 트랜잭션(39)을 데이터베이스(11)에 제출(40)한다. 데이터베이스(11)(또는 사실상, 분산된 공개 트랜잭션 디렉토리에 참여하는 노드들의 네트워크)는 제출된 트랜잭션의 유효성을 검증(41)한다. 코디네이터는 제출된 트랜잭션이 데이터베이스(11)에 포함되어 있고, 따라서 유효함을 검증(42)한다.
도 3은, 동글들(a, b)이 메시지(M)의 서명이 제공되기 전에 그 존재가 검증되어야 하는 2개의 다른 동글의 하한을 저장하는 경우, 도 2와 관련하여 설명된 절차를 확장할 수 있는 부분 순서도를 도시한다. 이 경우, 동글(b)의 존재를 검증(26)한 후 도 2의 시점(IIIa)에, 도 3의 섹션(IIIa)에 도시된 시퀀스가 삽입될 수 있다. 동글(a)는 동글(c)에 랜덤 챌린지(Ra)를 전송하고, 동글(c)는 이 시점에서 여전히 대기 모드에 있지만, 그럼에도 불구하고 랜덤 챌린지(Ra)를 저장(43)한다. 동글(c)는 진행 중인 협력 서명 절차 및 그것의 요구되는 존재 증명을 그거의 소유자(Oc)에게 통지(44)한다. 이 통지에 응답하여, 소유자(Oc)는 서명에 동의하면 동글(c)의 버튼(6)을 눌러 서명 트리거(45)를 활성화함으로써, 동글(c)을 제한된 시간프레임(46) 동안 서명 모드로 설정한다. 동글(c)는 개인 아이덴티티(Ic)의 제1 부분(Ic1)만을 보유하고, 여기서 개인 아이덴티티(Ic)의 제2 부분(Ic2)은 모바일 단말(Tc)에 의해 보유된다. 따라서, 유효한 존재 증명을 제공하기 위해, 동글(c)는 부분적 서명을 위해 동글(a)로부터 수신된 저장된 랜덤 챌린지(Ra)를 접속(7)을 통해 모바일 단말(Tc)에 전송한다. 이 시점에서의 모바일 단말(Tc)은 여전히 대기 모드에 있으며, 수신된 랜덤 챌린지(Ra)를 저장(47)한다. 모바일 단말(Tc)은 진행 중인 서명 절차를 그것의 소유자(Oc)에게 통지(48)하고, 지문 센서(9)에 지문을 입력하는 것에 의해 인증을 요청한다. 소유자(Oc)는 요청된 지문을 입력(49)함으로써, 제한된 시간프레임(50) 동안 모바일 단말(Tc)을 서명 모드로 전환한다. 이제 서명 모드에서, 모바일 단말(Tc)은 개인 아이덴티티(Ic)의 제2 부분(Ic2)을 사용하여 랜덤 챌린지(Ra)의 부분적 디지털 서명(S(Ra, Ic2))을 계산(51)하고 저장(52)하며, 접속(7)을 통해 부분적 디지털 서명(S(Ra, Ic2))을 동글(c)에 전송한다. 시간프레임(46) 동안 여전히 서명 모드에 있는 동글(c)는 수신된 부분적 디지털 서명(S(Ra, Ic2))을 저장(53)하고, 개인 아이덴티티(Ic)의 제1 부분(Ic1)을 사용하여 랜덤 챌린지(Ra)의 완전한 디지털 서명 S(Ra, Ic1, Ic2) = S(Ra, Ic)를 계산(54)한다. 동글(c)는 완전한 디지털 서명(S(Ra, Ic))을 저장(55)하고, 그것을 접속(5)을 통해 동글(a)에 전송한다. 다음으로, 동글(a)는 로컬로 저장된 아이덴티티(P(Ic))로 수신된 서명(S(Ra, Ic))을 검증함으로써, 동글(c) - 암시적으로 모바일 단말(Tc) - 의 존재를 검증(56)한다. 성공하면, 동글(a)는 도 2와 관련하여 기술된 바와 같이 디지털 서명(Sa(M))의 계산(27)으로 진행한다.
동글(b)에 의해 동글(a)의 존재를 검증(35)한 후의 도 2의 시점(IIIb)에서, 도 3의 섹션(IIIb)에 도시된 시퀀스가 삽입될 수 있다. 이 시점에서, 동글(c) 및 모바일 단말(Tc)은 시간프레임들(46, 50) 동안 여전히 서명 모드에 있다. 따라서, 동글(b)가 랜덤 챌린지(Rb)를 동글(c)에 전송할 때, 동글(c)는 부분적 서명을 위해 랜덤 챌린지(Rb)를 저장(57)하고 즉시 모바일 단말(Tc)에 전달한다. 모바일 단말(Tc)은 수신된 랜덤 챌린지(Rb)를 저장(58)하고, 개인 아이덴티티(Ic)의 제2 부분(Ic2)을 사용하여 랜덤 챌린지(Rb)의 부분적 디지털 서명(S(Rb, Ic2))을 계산(59)하고 저장(60)한다. 모바일 단말(Tc)은 부분적 디지털 서명(S(Rb, Ic2))을 동글(c)에 다시 전송하고, 동글(c)는 수신된 부분적 디지털 서명(S(Rb, Ic2))을 저장(61)하고, 개인 아이덴티티(Ic)의 제1 부분(Ic1)을 사용하여 랜덤 챌린지(Rb)의 완전한 디지털 서명(S(Rb, Ic1, Ic2)) = S(Rb, Ic)을 계산(62)한다. 동글(c)는 완전한 디지털 서명(S(Rb, Ic))을 저장(63)하고, 그것을 동글(b)과 동글(c) 사이의 직접 무선 접속을 통해 동글(b)에 다시 전송한다. 다음으로, 동글(b)는 수신된 서명(S(Rb, Ic))을 로컬로 저장된 아이덴티티(P(Ic))로 검증함으로써 동글(c) 및 모바일 단말(Tc)의 존재를 검증(64)한다. 성공하면, 동글(b)는 도 2와 관련하여 설명된 바와 같은 디지털 서명(Sb(M))의 계산(36)으로 진행한다.
제한된 시간프레임들(12, 16, 46, 50)(즉, 서명 모드에 들어간 후 미리 정의된 기간)의 끝에서, 동글들(a, b, c) 및 모바일 단말(Tc)은 자동적으로 서명 모드로부터 대기 모드로 전환(65)할 것이다.
도 2 및 도 3의 타임라인들을 가로지르는 평행 대각선들(66)은 다른 단계들 및 상태 변화들이 발생할 수 있는 임의의 시간량이 지났음을 나타낸다.

Claims (13)

  1. 디지털 서명(Si)을 제공하기 위한 둘 이상의 동글(a, b, c)의 세트(s)로서,
    각각의 동글(a, b, c)은 비밀 키(Ki)를 보유하고,
    각각의 동글(a, b, c)은 메시지(M)를 수신하고, 상기 비밀 키(Ki)를 사용하여 수신된 메시지(M)의 디지털 서명(Si)을 계산하고(28, 36), 계산된 디지털 서명(Si)을 전송하도록 구성되고,
    상기 동글들 중 적어도 하나(a)는 상기 디지털 서명(Sa)을 계산(28)하기 전에, 상기 세트(s)에 속하는 적어도 하나의 다른 동글(b, c)의 존재를 검증(26)하고, 하나 이상의 다른 동글(b, c)의 존재의 성공적인 검증 시에만 상기 디지털 서명(Sa)을 계산(28)하도록 구성되는 것을 특징으로 하는, 세트(s).
  2. 제1항에 있어서, 상기 동글들 중 상기 적어도 하나(a)는 영지식 증명(zero-knowledge proof)을 요구함으로써 상기 세트(s)에 속하는 적어도 하나의 다른 동글(b, c)의 존재를 검증하도록 구성되는, 세트(s).
  3. 제1항 또는 제2항에 있어서, 상기 동글들 중 상기 적어도 하나(a)는 상기 디지털 서명(Sa)을 계산(28)하기 전에, 그 존재가 증명되어야 하는 다른 동글들(b, c)의 수의 하한을 저장하는 것을 특징으로 하는, 세트(s).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 적어도 하나의 동글(a)는 상기 세트(s)에 속하는 상기 적어도 하나의 다른 동글(b, c)의 존재를 검증하는 데에 요구되는 시간을 측정하고, 하나 이상의 다른 동글(b, c) 각각에 대해, 미리 정의된 시간프레임 내에서의 상기 하나 이상의 다른 동글(b, c)의 존재의 성공적인 검증 시에만 상기 디지털 서명(Sa)을 계산(28)하도록 구성되는 것을 특징으로 하는, 세트(s).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 동글들(a, b, c)은 존재의 검증을 위해 서로 간에 직접 무선 접속들(4, 5)을 확립하도록 구성되고, 상기 적어도 하나의 동글(a)는 상기 세트(s)에 속하는 상기 적어도 하나의 다른 동글(b)에의 무선 접속(4)의 신호 강도를 측정하고, 상기 신호 강도가 미리 정의된 최소 신호 강도를 초과하고, 및/또는 상기 신호 강도로부터 도출된 거리 측정이 상기 하나 이상의 다른 동글(b) 각각에 대해 미리 정의된 최대 거리 미만인 경우에만, 상기 디지털 서명(Sa)을 계산(28)하도록 구성되는 것을 특징으로 하는, 세트(s).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 동글들 중 적어도 하나(c) 는 임의의 다른 동글(a, b)에 대해 자신의 존재를 확인시키기 전에 모바일 단말(Tc)의 존재를 검증하도록 구성되는 것을 특징으로 하는 세트(s).
  7. 제6항에 있어서, 상기 모바일 단말(Tc)은 상기 모바일 단말(Tc)의 사용자의 인증, 바람직하게는 생체 인증 후 제한된 시간프레임 내에서만 그것의 존재를 확인시키도록 구성되는 것을 특징으로 하는 세트(s).
  8. 제1항 내지 제7항 중 어느 한 항에 따른 세트(s)에 속하는 동글(a)로 디지털 서명(Si)을 제공하는 방법으로서,
    상기 동글(a)는 비밀 키(Ka)를 보유하며, 상기 방법은:
    서명될 메시지(M)를 수신하는 단계;
    상기 세트(s)에 속하는 적어도 하나의 다른 동글(b, c)의 존재를 검증(26)하는 단계;
    상기 검증이 성공적인 경우, 상기 비밀 키(Ka)를 사용하여 상기 메시지(M)의 디지털 서명(Sa)을 계산(28)하는 단계; 및
    계산된 디지털 서명(Sa)을 전송하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 세트(s)에 속하는 적어도 하나의 다른 동글(b, c)의 존재를 검증(26)하는 단계는 영지식 증명을 요구하는 것을 특징으로 하고,
    상기 적어도 하나의 다른 동글(b, c)에 상기 영지식 증명을 제공하기 위한 요청을 송신하는 단계;
    상기 적어도 하나의 다른 동글(b, c)로부터 영지식 증명을 수신하는 단계; 및
    수신된 영지식 증명을 검증(26)하는 단계
    를 포함하고, 상기 수신된 영지식 증명의 검증이 성공적인 경우, 상기 적어도 하나의 다른 동글(b, c)의 존재가 검증되는, 방법.
  10. 제8항 또는 제9항에 있어서, 상기 세트(s)에 속하는 적어도 하나의 다른 동글(b, c)의 존재를 검증(26)하는 단계 동안, 상기 존재를 검증(26)하는 데에 요구되는 시간을 측정하고, 수신된 메시지(M)의 서명(Sa)을 계산(28)하기 전에, 상기 요구되는 시간이 상기 하나 이상의 다른 동글(b, c) 각각에 대해 미리 정의된 시간프레임 내에 있을 것을 요구하는 것을 특징으로 하는, 방법.
  11. 제8항 내지 제10항 중 어느 한 항에 있어서, 상기 세트(s)에 속하는 상기 적어도 하나의 다른 동글(b, c)에 대한 무선 접속(4, 5)의 신호 강도를 측정하고, 수신된 메시지(M)의 서명(Sa)을 계산(28)하기 전에, 측정된 신호 강도가 미리 정의된 최소 신호 강도를 초과하고, 및/또는 상기 측정된 신호 강도로부터 도출된 거리 측정치가 상기 하나 이상의 다른 동글(b, c) 각각에 대해 미리 정의된 최대 거리 미만일 것을 요구하는 것을 특징으로 하는, 방법.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서, 수신된 메시지의 서명을 계산하거나 영지식 증명을 제공하기 전에, 상기 동글(c)에 접속된 모바일 단말(Tc)의 존재를 검증(56)하는 것을 특징으로 하는, 방법.
  13. 제12항에 있어서, 상기 모바일 단말(Tc)의 존재를 검증(56)하는 단계는 바람직하게는 적어도 부분적으로 생체 자격증명들을 사용하여 상기 모바일 단말(Tc)의 사용자를 인증하는 단계를 포함하는, 방법.
KR1020207017303A 2017-12-19 2018-12-18 디지털 서명을 제공하기 위한 동글들 및 방법 KR102440825B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17208564.9 2017-12-19
EP17208564.9A EP3502941B1 (en) 2017-12-19 2017-12-19 Dongles and method for providing a digital signature
PCT/EP2018/085602 WO2019121751A1 (en) 2017-12-19 2018-12-18 Dongles and method for providing a digital signature

Publications (2)

Publication Number Publication Date
KR20200100640A true KR20200100640A (ko) 2020-08-26
KR102440825B1 KR102440825B1 (ko) 2022-09-06

Family

ID=60781740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207017303A KR102440825B1 (ko) 2017-12-19 2018-12-18 디지털 서명을 제공하기 위한 동글들 및 방법

Country Status (9)

Country Link
US (1) US11646889B2 (ko)
EP (1) EP3502941B1 (ko)
JP (1) JP7037655B2 (ko)
KR (1) KR102440825B1 (ko)
CN (1) CN111492359B (ko)
AU (1) AU2018387790A1 (ko)
CA (1) CA3083382C (ko)
SG (1) SG11202004937XA (ko)
WO (1) WO2019121751A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201907394D0 (en) * 2019-05-24 2019-07-10 Nchain Holdings Ltd Knowledge proof
GB2584154A (en) 2019-05-24 2020-11-25 Nchain Holdings Ltd Knowledge proof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100966412B1 (ko) * 2005-03-31 2010-06-28 콸콤 인코포레이티드 다중 서명 - 확고한 다중 당사자 전자 서명에 대한프로토콜
KR101156813B1 (ko) * 2008-03-19 2012-06-18 도시바 솔루션 가부시끼가이샤 그룹 서명 시스템, 장치 및 기록 매체
US20140059353A1 (en) * 2012-08-22 2014-02-27 Adobe Systems Incorporated Facilitating electronic signatures based on physical proximity of devices
KR20170058258A (ko) * 2015-11-18 2017-05-26 삼성전자주식회사 사용 정책 조절 방법 및 이를 지원하는 전자 장치

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2733379B1 (fr) 1995-04-20 1997-06-20 Gemplus Card Int Procede de generation de signatures electroniques, notamment pour cartes a puces
JPH10293804A (ja) * 1997-02-18 1998-11-04 N T T Data:Kk オフライン型電子マネーシステム、電子マネー取引方法及び記録媒体
WO2002013435A1 (en) 2000-08-04 2002-02-14 First Data Corporation Method and system for using electronic communications for an electronic contact
US7552333B2 (en) * 2000-08-04 2009-06-23 First Data Corporation Trusted authentication digital signature (tads) system
US7469343B2 (en) * 2003-05-02 2008-12-23 Microsoft Corporation Dynamic substitution of USB data for on-the-fly encryption/decryption
US7185204B2 (en) * 2003-08-28 2007-02-27 International Business Machines Corporation Method and system for privacy in public networks
WO2005117336A1 (ja) * 2004-05-28 2005-12-08 Matsushita Electric Industrial Co., Ltd. 親子カード認証システム
JP2006268577A (ja) * 2005-03-24 2006-10-05 Fuji Xerox Co Ltd 認証装置、認証システムおよび画像形成装置
WO2006111979A2 (en) * 2005-04-18 2006-10-26 Belal Lehwany Apparatus and method for incorporating signature into electronic documents
US20080301466A1 (en) * 2007-05-30 2008-12-04 Mediatek Inc. Methods for program verification and apparatuses using the same
CN101562525B (zh) * 2009-04-30 2012-06-27 飞天诚信科技股份有限公司 签名方法、设备及系统
US20150112868A1 (en) * 2011-10-03 2015-04-23 Ezetap Mobile Solutions Private Limited Dongle device with communication module for a secure electronic transaction
US8700899B1 (en) * 2012-06-27 2014-04-15 Emc Corporation Forward-secure key unlocking for cryptographic devices
US8972296B2 (en) * 2012-12-31 2015-03-03 Ebay Inc. Dongle facilitated wireless consumer payments
CN104252375B (zh) * 2013-06-25 2017-07-28 国际商业机器公司 用于位于不同主机的多个虚拟机共享USB Key的方法和系统
US9646150B2 (en) * 2013-10-01 2017-05-09 Kalman Csaba Toth Electronic identity and credentialing system
EP3271824A4 (en) * 2015-03-20 2018-09-05 Rivetz Corp. Automated attestation of device integrity using the block chain
JP6328074B2 (ja) * 2015-04-23 2018-05-23 日本電信電話株式会社 委任システム、代理人携帯端末及び制御方法
US11232415B2 (en) * 2015-05-28 2022-01-25 OX Labs Inc. Method for cryptographically managing title transactions
EP4093062A1 (en) * 2016-04-15 2022-11-23 Denso Corporation System and method for establishing real-time location
US20180254898A1 (en) * 2017-03-06 2018-09-06 Rivetz Corp. Device enrollment protocol
LU100497B1 (fr) * 2017-10-27 2019-05-08 Kayan Yves Laurent Méthode et système d'inscription sécurisé de clés cryptographiques sur un support physique pour clés cryptographiques, et support physique produit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100966412B1 (ko) * 2005-03-31 2010-06-28 콸콤 인코포레이티드 다중 서명 - 확고한 다중 당사자 전자 서명에 대한프로토콜
KR101156813B1 (ko) * 2008-03-19 2012-06-18 도시바 솔루션 가부시끼가이샤 그룹 서명 시스템, 장치 및 기록 매체
US20140059353A1 (en) * 2012-08-22 2014-02-27 Adobe Systems Incorporated Facilitating electronic signatures based on physical proximity of devices
KR20170058258A (ko) * 2015-11-18 2017-05-26 삼성전자주식회사 사용 정책 조절 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
CA3083382A1 (en) 2019-06-27
AU2018387790A1 (en) 2020-06-11
CA3083382C (en) 2023-09-19
JP7037655B2 (ja) 2022-03-16
SG11202004937XA (en) 2020-07-29
EP3502941A1 (en) 2019-06-26
KR102440825B1 (ko) 2022-09-06
JP2021507616A (ja) 2021-02-22
US20210167964A1 (en) 2021-06-03
CN111492359B (zh) 2024-01-16
EP3502941B1 (en) 2021-01-20
CN111492359A (zh) 2020-08-04
WO2019121751A1 (en) 2019-06-27
US11646889B2 (en) 2023-05-09

Similar Documents

Publication Publication Date Title
US11765172B2 (en) Network system for secure communication
Alizai et al. Improved IoT device authentication scheme using device capability and digital signatures
US20200092284A1 (en) Authentication method and system
KR101666374B1 (ko) 사용자 인증서 발급과 사용자 인증을 위한 방법, 장치 및 컴퓨터 프로그램
Zhang et al. Location-based authentication and authorization using smart phones
US10587600B2 (en) Systems, methods and apparatuses for determining proximity of communication device
JP5851021B2 (ja) ソーシャルネットワークベースのpki認証
EP4066434B1 (en) Password-authenticated public key establishment
CN103401880B (zh) 一种工业控制网络自动登录的系统及方法
KR20140130188A (ko) 액세스 제어
US11809540B2 (en) System and method for facilitating authentication via a short-range wireless token
KR102440825B1 (ko) 디지털 서명을 제공하기 위한 동글들 및 방법
CN108322507A (zh) 一种利用安全设备执行安全操作的方法及系统
CN106878122A (zh) 一种网络接入方法及系统
US20220385654A1 (en) Method for proximity communication between terminals and apparatus thereof
US20240129139A1 (en) User authentication using two independent security elements
CN113794988A (zh) 保护用户隐私的同时利用rf测距提交事务的方法和系统
JP2022077529A (ja) 通信装置、通信方法、及びプログラム
Peeters et al. Threshold-Based Distance Bounding
CN110177072A (zh) 认证与服务器通信的应答器的方法

Legal Events

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