共有シークレット

暗号理論において、共有シークレット（きょうゆうシークレット、共有秘密、Shared secret）とは、セキュア通信において正規の通信当事者のみが知っている一片のデータであり、暗証番号・パスワード・パスフレーズ・桁数の大きな数字・ランダムなバイト列などといった形態をとり得る。

共有シークレットは、通信当事者間で事前に共有されるか(この場合のそれは事前共有鍵とも呼ばれる)、ディフィー・ヘルマン鍵共有などの公開鍵暗号やケルベロス認証などの共通鍵暗号といったを用いてセッション開始時に作成される。

 用法 
通常は共通鍵暗号における鍵 (暗号)を指すが、他にもさまざまな用法が存在する。
 認証技術
 などで、署名鍵のように用いる。
 鍵導出関数
 MAC鍵や暗号鍵を生成する際の引数として使われる。共有シークレットそのものを使わないことで、弱鍵への対策やネゴシエーション時の通信量削減につながる。

 一意のセッション鍵を生成する際、初期化ベクトルと組み合わせて合成する手法がよく取られる。例として、などが挙げられる。
 ウェブAPI
 複数の認証方式が定義されているが、事前に共有した秘密(パスワードやトークン)を提示することで認証している点は共通である。

 脚注 

 注釈 

 出典 

 関連項目 
  – 脆弱な鍵や共有シークレットから、より強い鍵を生成する技術
 秘密の質問 – 共有シークレットの実装形態の一つ

Category:マネジメントの種類