🌐 This article hasn't been translated yet — showing the Japanese version.
シャミアの秘密共有はなぜ「鍵管理の聖杯」と呼ばれるのか thumbnail

シャミアの秘密共有はなぜ「鍵管理の聖杯」と呼ばれるのか

Importance: Medium
⏱ approx. 2 min views 51 likes 0 LOG_DATE:2026-05-28
TOC

エンドツーエンド暗号化サービス Ente が、1979 年にアディ・シャミアが発表した暗号アルゴリズム「シャミアの秘密共有 (SSS)」の解説を公開した。古い理論だが、クラウド時代の鍵管理問題に直結する技術として、ここで一度棚卸ししておきたい。

単一点障害を消す数学 #

通常の暗号鍵は HSM や Vault に「1 つ」として保存される。漏洩すれば終わり、紛失すれば暗号文は永遠に取り出せない。SSS はこのジレンマを多項式補間で解く。秘密 S を定数項とする (k-1) 次多項式をランダムに作り、x ≠ 0 で評価した n 点を「分け前」として配布する。任意の k 点が集まれば多項式を一意に復元できるが、k-1 点では情報理論的にゼロビットしか漏れない。(n, k) = (5, 3) なら 5 人に配って 3 人集まれば復元、2 人なら計算能力が無限でも破れない。

攻撃者視点でどこが効くか #

レッドチーム視点で SSS が効くのは「横取りの単一突破」を不可能にする点だ。1 台の HSM を侵害しても断片しか手に入らず、攻撃者は k 拠点を同時に踏破する必要がある。各分け前は秘密と同じビット長なので、AES-256 鍵を 5 分割しても 1 片から元の鍵を逆算することすらできない。Bitcoin ウォレットの分散保管、1Password の Account Key、HashiCorp Vault の Auto-Unseal で実際に採用されているのはこの「k のうちどれが盗まれても安全」という性質のためだ。

落とし穴 #

理論が完全でも実装は地雷だらけだ。乱数生成が偏れば多項式が漏れ、分け前を平文ストレージに置けば意味がない、ガロア体 GF(2^8) 演算のサイドチャネル攻撃も現実に存在する。Ente の解説でも自前実装は避けるよう明記されている。検証済みの libsodium や Vault Shamir 実装を使うのが鉄則で、「自分で書いた SSS」はそれだけで脆弱性として扱うべきだ。

COMMENTS 0

No comments yet — be the first to leave one.

Post a comment