분산 키 생성

Distributed key generation

Distributed Key Generation(DKG; 분산키 생성)은 여러 당사자가 공유 공개키 및 개인키 세트의 계산에 관여하는 암호화 프로세스입니다.대부분의 공개암호화 모델과 달리 분산 키 생성은 신뢰할 수 있는 [1]서드파티에 의존하지 않습니다.대신 정직한 당사자의 임계값 참여에 따라 키쌍이 정상적으로 [2]계산될 수 있는지 여부가 결정됩니다.분산 키 생성으로 인해 단일 당사자가 개인 키에 액세스할 수 없습니다.많은 당사자가 관여하기 위해서는 키 [1]계산에 악의적인 기여가 존재하는 경우 기밀성을 확보하기 위해 분산 키 생성이 필요합니다.

분산 키 생성은 일반적으로 공유 암호문을 복호화하거나 [2]그룹 디지털 서명을 작성하기 위해 사용됩니다.

역사

분산 키 생성 프로토콜은 1991년 Torben Pedersen에 의해 처음 지정되었습니다.이 첫 번째 모델은 비밀 공유 [3]과정에서 검증 가능한 비밀 공유를 위한 공동-장갑 프로토콜의 보안에 의존했습니다.

1999년, Rosario Gennaro, Stanislaw Jarecki, Hugo Krawzyk 및 Tal Rabin은 Feldman의 검증 가능한 비밀 공유가 공유 개인 [4][5]키에 대한 정보를 유출하는 Pedersen의 분산 키 생성기에 대한 악의적인 기여에 취약함을 증명하는 일련의 보안 증거를 제출했습니다.또한 이 그룹은 악성 기여가 개인 키의 가치에 영향을 미치지 않도록 업데이트된 분산 키 생성 체계를 제안했습니다.

방법들

Gennaro, Jarecki, Krawczyk 및 Rabin에 의해 지정된 분산 키 생성 프로토콜은 키 생성 이전에 정직한 당사자에 의해 플레이어 그룹이 이미 구축되었다고 가정합니다.또, 당사자간의 통신이 [5]동기하고 있는 것을 전제로 하고 있습니다.

  1. 모든 당사자는 두 개의 랜덤 다항식 함수의 결과를 공유하기 위해 Pedersen의 검증 가능한 비밀 공유 프로토콜을 사용합니다.
  2. 모든 당사자는 자신이 받은 모든 주식을 확인합니다.검증에 실패했을 경우, 수신자는 공유에 실패한 당사자에 대한 불만을 브로드캐스트합니다.그리고 나서 각 피소자는 그들의 지분을 방송한다.각 당사자는 방송 점유율을 확인하거나 피소된 당사자의 자격을 박탈할 수 있습니다.모든 당사자가 부적격 당사자의 공통 목록을 생성합니다.
  3. 각 부적격 파티는 Part 1에서 1의 다항식으로 사용되는 각 값의 거듭제곱으로 공통 제너레이터를 상승시킨 일련의 값을 브로드캐스트한다.
  4. 이들 브로드캐스트 값은 파트2와 마찬가지로 각 당사자에 의해 검증됩니다.검증에 실패했을 경우, 파티는 Part 1에서 수신한 값과 Part 3에서 수신한 값을 모두 브로드캐스트합니다.검증 가능한 불만이 있는 각 당사자에 대해 다른 모든 당사자는 부적격 기여금을 제거하기 위해 자체 가치 집합을 재구성합니다.
  5. 그룹은 개인 키를 모든 적격 기여의 곱으로 계산한다(0으로 [5]평가된 각 적격 당사자의 랜덤 다항식).


동기 전제 조건의 회피

2009년 Aniket Kate와 Ian Goldberg는 인터넷을 [6]통해 사용하기에 적합한 분산 키 생성 프로토콜을 제시했습니다.이전 구성과는 달리, 이 프로토콜은 브로드캐스트 채널이나 동기 통신 가정을 필요로 하지 않으며 즉시 사용할 수 있는 라이브러리를 사용할 수 있습니다.

견고성

대부분의 경우 강력한 분산 키 생성기가 필요합니다.견고한 생성기 프로토콜은 재구성 [5]단계 동안 악의적인 당사자가 정규 그룹에 남아 있더라도 악의적인 공유를 제거하기 위해 공개 키를 재구성할 수 있습니다.예를 들어 견고한 멀티파티 디지털서명은 키 생성 [7]시 사용되는 계수의 길이에 거의 비례하는 다수의 악의적인 사용자를 허용할 수 있습니다.

스파스 평가 DKG

분산 키 생성기는 검증 단계에서 효율성을 개선하기 위해 희박한 평가 매트릭스를 구현할 수 있습니다.스파스 평가는 실행시간을 O(n {O (( n \ n 파티 수, { t 악의적인 사용자의 임계값)에서O ( n 시킬 수 있습니다.확실한 검증 대신 스파스 평가는 작은 설정이 필요합니다.당사자 중 한 명이 임의로 추려낸 소량의 주식 집합을 검증한다.따라서 다수의 악성 공유가 [8]검증 대상으로 선택되지 않은 경우 키 생성에 실패할 가능성이 작습니다.

적용들

분산 키 생성 및 분산 키 암호는 동기 [5]통신에 의존하기 때문에 인터넷을 통해 거의 적용되지 않습니다.

분산 키 암호화는 기업이 개인 키의 암호문 버전을 해독하는 임계값을 충족할 수 있는 키 에스크로 서비스에서 유용합니다.이렇게 하면 기업은 여러 직원이 에스크로 서비스에 일반 텍스트 [1]복사본을 제공하지 않고 개인 키를 복구하도록 요구할 수 있습니다.

분산 키 생성은 서버 측 비밀번호 인증에도 유용합니다.패스워드 해시가 1대의 서버에 보존되어 있는 경우, 서버의 침입에 의해, 공격자가 오프라인으로 분석할 수 있는 패스워드 해시가 모두 사용 가능하게 됩니다.분산 키 생성의 다양성에 의해, 복수의 서버에 걸쳐 유저 패스워드를 인증해, 단일[9][10]장해점을 배제할 수 있습니다.

분산 키 생성은 일반적으로 그룹 디지털 서명에 사용됩니다.이는 그룹이 [2]문서에 디지털 서명하기 위해 그룹 구성원의 임계값이 참여해야 하는 일종의 투표 역할을 합니다.

레퍼런스

  1. ^ a b c Kate, Aniket; Goldberg, Ian (2010). Distributed Private-Key Generators for Identity Based Cryptography. Security and Cryptography for Networks. Lecture Notes in Computer Science. Vol. 6280. pp. 436–453. CiteSeerX 10.1.1.389.4486. doi:10.1007/978-3-642-15317-4_27. ISBN 978-3-642-15316-7.
  2. ^ a b c Boldyreva, Alexandra (2003). Threshold Signatures, Multisignatures and Blind Signatures Based on the Gap-Diffie-Hellman-Group Signature Scheme (PDF). Public Key Cryptography. Lecture Notes in Computer Science. Vol. 2567. pp. 31–46. doi:10.1007/3-540-36288-6_3. ISBN 978-3-540-00324-3.
  3. ^ Pedersen, T. P. (1992). "Non-Interactive and Information-Theoretic Secure Verifiable Secret Sharing". Advances in Cryptology — CRYPTO '91. Lecture Notes in Computer Science. Vol. 576. pp. 129–140. doi:10.1007/3-540-46766-1_9. ISBN 978-3-540-55188-1.
  4. ^ Gennaro, Rosario; Jarecki, Stanisław; Krawczyk, Hugo; Rabin, Tal (1999). "Secure distributed key generation for discrete-log based cryptosystems". Proceedings of the 17th international conference on Theory and application of cryptographic techniques. EUROCRYPT'99. Berlin, Heidelberg: Springer-Verlag: 295–310. ISBN 978-3-540-65889-4.
  5. ^ a b c d e Gennaro, Rosario; Jarecki, Stanislaw; Krawczyk, Hugo; Rabin, Tal (24 May 2006). "Secure Distributed Key Generation for Discrete-Log Based Cryptosystems". Journal of Cryptology. 20 (1): 51–83. CiteSeerX 10.1.1.134.6445. doi:10.1007/s00145-006-0347-3.
  6. ^ Kate, Aniket; Goldberg, Ian (2006). "Distributed Key Generation for the Internet". IEEE ICDCS. doi:10.1109/ICDCS.2009.21.
  7. ^ Castelluccia, Claude; Jarecki, Stanisław; Kim, Jihye; Tsudik, Gene (2006). "Secure acknowledgment aggregation and multisignatures with limited robustness". Computer Networks. 50 (10): 1639–1652. doi:10.1016/j.comnet.2005.09.021.
  8. ^ Canny, John; Sorkin, Steve (2004). Practical Large-scale Distributed Key Generation (PDF). Advances in Cryptography - EUROCRYPT 2004. Lecture Notes in Computer Science. Vol. 3027. pp. 138–152. CiteSeerX 10.1.1.69.6028. doi:10.1007/978-3-540-24676-3_9. ISBN 978-3-540-21935-4.
  9. ^ MacKenzie, Philip; Shrimpton, Thomas; Marcus, Jakobsson (2006). "Threshold Password-authenticated Key Exchange". Journal of Cryptology. 19 (1): 27–66. CiteSeerX 10.1.1.101.6403. doi:10.1007/s00145-005-0232-5.
  10. ^ Jarecki, Stanislaw; Kiayias, Aggelos; Krawczyk, Hugo (2014). "Round-Optimal Password-Protected Secret Sharing and T-PAKE in the Password-Only model" (PDF). Cryptology ePrint Archive. 650. Retrieved 5 November 2014.