Skip to main content
QUICK REVIEW

[論文レビュー] Decentralized Certificate Authorities

Bargav Jayaraman, Hannah Li|arXiv (Cornell University)|Jun 11, 2017
Cryptography and Data Security参考文献 51被引用数 7
ひとこと要約

本稿では、安全なマルチパーティ計算(MPC)を用いて、CAの秘密署名鍵を複数の参加者に分散することで、鍵が平文で再構築されないよう保証する分散型証明書局(DCA)モデルを提案する。一般化されたMPCプロトコル(特にsecp192k1上のECDSA)を活用することで、秘密鍵が露呈することなく共同での証明書署名が可能となり、プロトタイプ実装により実用性と妥当性が示された。

ABSTRACT

The security of TLS depends on trust in certificate authorities, and that trust stems from their ability to protect and control the use of a private signing key. The signing key is the key asset of a certificate authority (CA), and its value is based on trust in the corresponding public key which is primarily distributed by browser vendors. Compromise of a CA private key represents a single point-of-failure that could have disastrous consequences, so CAs go to great lengths to attempt to protect and control the use of their private keys. Nevertheless, keys are sometimes compromised and may be misused accidentally or intentionally by insiders. We propose splitting a CA's private key among multiple parties, and producing signatures using a generic secure multi-party computation protocol that never exposes the actual signing key. This could be used by a single CA to reduce the risk that its signing key would be compromised or misused. It could also enable new models for certificate generation, where multiple CAs would need to agree and cooperate before a new certificate can be generated, or even where certificate generation would require cooperation between a CA and the certificate recipient (subject). Although more efficient solutions are possible with custom protocols, we demonstrate the feasibility of implementing a decentralized CA using a generic two-party secure computation protocol with an evaluation of a prototype implementation that uses secure two-party computation to generate certificates signed using ECDSA on curve secp192k1.

研究の動機と目的

  • 伝統的な証明書局(CA)に内在する単一障害点の問題を解消する。特に、秘密鍵が侵害されるとTLSの信頼性が損なわれる点を改善する。
  • 内部者による悪用、誤った発行、外部からの侵害のリスクを低減するため、秘密鍵の一部を複数の実体に分散する。
  • CAとドメイン所有者間の共同署名、あるいは複数のCA間での共同署名といった、新たな信頼モデルを可能にし、責任の明確化と合意形成を促進する。
  • カスタムプロトコル設計を必要とせず、一般化されたMPCプロトコルを用いてECDSAベースの証明書署名を実現する実用的可行性を示す。

提案手法

  • 秘密署名鍵を2つ以上の参加者に分散し、どの参加者も完全な鍵を保持しないようにする。
  • 秘密鍵を平文で再構築せずに署名を実行できる、一般化された2パーティーセキュアコンピュテーションプロトコル(ヤオのゲート回路やデュアル実行)を用いる。
  • Obliv-Cというセキュアコンピュテーションフレームワークを用い、大きな整数のためのobig算術型と、秘密入力処理のためのオーバーオブリビアスI/Oを実装する。
  • 署名対象メッセージ(tbsCertハッシュ)の交渉と検証を、署名の前段階で平文で行い、入力の一貫性を保証する。
  • 秘密共有技術を用いて、秘密鍵のシェアとランダムネスのシェアを組み合わせ、署名部品rとsを計算する。
  • すべての中間値と入力を秘密に保ちつつ、最終的な署名(r, s)とゼロチェックの結果のみを両参加者に公開する。

実験結果

リサーチクエスチョン

  • RQ1一般化されたMPCを用いることで、秘密鍵管理の分散化により、従来の証明書局における単一障害点を排除できるか?
  • RQ2カスタム最適化プロトコルではなく、一般化されたMPCプロトコルを用いてECDSA署名を実装する実用性はいかがなものか?
  • RQ3実世界の展開状況において、MPCを用いた証明書署名の性能特性とオーバーヘッドはどのようなものか?
  • RQ4MPCベースの署名は、CAとドメイン所有者間の共同署名、あるいは複数の独立したCA間での署名といった、新たな信頼モデルをサポートできるか?
  • RQ5クライアントの信頼ストアを変更せずに、既存のTLSおよびPKIエコシステムにそのシステムを統合できるか?

主な発見

  • プロトタイプ実装により、secp192k1曲線上で一般化されたMPCプロトコルを用いてECDSA署名を成功裏に実行し、分散型証明書局の実現可能性を裏付けた。
  • MPCプロトコル内でのみ鍵のシェアが結合されるため、どの参加者も平文での秘密鍵を学習できず、たとえ侵害されても安全である。
  • 性能オーバーヘッドは管理可能である:一般のハードウェア上では、1パーティあたり10〜15秒程度で証明書の署名が可能であり、実用的運用に適している。
  • 本手法は、CA専用の鍵共有から、CAと組織の共同署名まで、複数の信頼モデルをサポートし、セキュリティと責任の明確化を向上させる。
  • 既存のMPC技術(例:Arakiらの手法)を用いて、3人以上の参加者へ拡張可能であり、他の暗号プロトコルにも適応可能である。
  • 証明書透明性や公開鍵ピン留めといった既存のPKIメカニズムと統合可能であり、クライアントの信頼展開課題に対処できる。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。