Google Cloudのカストディソリューション、なぜ秘密鍵は「完全な形で現れることがない」と言えるのか?
今週狙われたのは、取引所のホットウォレットでした。同じ週に、Google Cloudの製品ドキュメントを読んでみました。デジタル資産の署名用秘密鍵を管理する、Multi-party Compute(マルチパーティ計算によるカストディ)についてです。その考え方を一言で言えば、1つの鍵を複数に分割して別々に保管し、署名時にも結合しない、というものです。
公式ドキュメントの内容を、いくつかのポイントにまとめると:
1. 従来方式の問題点:完全な秘密鍵を1台のハードウェア暗号化装置に保管すると、単一障害点になります。複数台、複数地域に複製すれば可用性は上がりますが、どれも完全な秘密鍵なので、こじ開けられる扉を増やすことになります。
2. この方式:しきい値署名(ドキュメントではDKLS23プロトコルの強化拡張と記載)。複数の独立した参加者がそれぞれ「鍵シェア」を生成・保管し、署名時には複数者が共同で有効な署名を計算します。どの場所でも完全な秘密鍵が組み立てられることはありません。
3. セキュリティ境界:侵害された参加者がしきい値未満なら、署名を偽造することも、秘密鍵を復元することもできません。一部の参加者がオフラインになったり、恒久的に破損したりしても、残りがしきい値を満たしていれば署名できます。
4. 例(ドキュメントの説明の趣旨):財務チームの3人がそれぞれ1つずつ鍵シェアを持ち、任意の2人が同意すれば署名できます。
5. 対応範囲:secp256k1曲線(ビットコイン、イーサリアム、EVMチェーンに対応)。Ed25519(Solana)は「近日対応予定」と記載されています。製品は現在プレビュー版(Pre-GA)です。
率直に言うと:
· ドキュメントには、正直な説明が1つあります。取引ポリシー(上限額やホワイトリストなど)が提示するのは「許可/拒否」の提案にすぎず、十分な数の署名者が承認すれば、ポリシーで拒否された取引でも実行できてしまいます。しきい値方式が防ぐのは「一か所が侵害されること」であり、「十分な人数がそろってだまされること」までは防げません。
· 鍵を分割しても、それだけで資産が安全になるわけではありません。署名者がフィッシングに遭ったり、承認プロセスが形骸化したりすれば、やはり問題は起きます。
· 今週の盗難事件でどの段階に問題があったのか、公式の詳細な技術レポートはまだ出ていません。MPCに当てはめて語ることも、「これを使えば盗まれない」と言うこともしません。
· 一般の人には機関向けカストディは必要ありませんが、基本は同じです。シードフレーズを1か所だけに保管するのも、全体を撮影してクラウドに保存するのもやめましょう。
あなたのシードフレーズは、今「1つを1か所に保管」していますか?それとも「1つを何か所にも複製」していますか?
#MPC #钱包安全 #解説