「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
トークンには色々な意味があるが、
ここでは、セキュリティ対策や認証・認可などの処理のための、
認証チケット(証拠)などので使用するトークンについて説明する。
用語 †
クレーム(クレームセット) †
- 対象となるエンティティ(“サブジェクト”)に関する事実の情報
- クレームの集合が、クレームセットになる。
アサーションとトークン †
以下の様な標準仕様を見ると、
- Assertions and Protocols for the OASIS SAMLV2.0
- RFC 7519 - JSON Web Token (JWT)
それぞれ、以下のように定義されている。
・・・従って、「アサーション」≒「トークン」らしい。
アサーション †
≒ 表明:(自分の考え・決意などを、)はっきりあらわし示すこと。
プログラムの前提として満たされるべき条件を記述するもの。
- 何らかの対象に関する属性や設定などの情報を列挙した、データ集合を指す場合が多い。
- 認証・認可では、単なる属性ではなく、認証ユーザのIDや資格・権限情報、
その他の属性情報の表明のためのデータ集合として使用される。
- 標準化された技術仕様において、
適用場面の限られたオプション仕様などのことをプロファイルということがある。
- 以下、RFC7521からの引用。
- セキュリティドメイン間でIDとセキュリティ情報の共有を容易にする情報のパッケージ
- アサーションには、通常、以下のような情報が含まれる。
- 主体または主体に関する情報
- アサーションを発行した当事者に関する情報
- およびアサーションが発行された日時
- およびアサーションが有効であるとみなされる条件
(たとえば、いつどこで使用できるかなど)
- 用語
- 発行者
アサーションを作成し、署名し、完全性保護するエンティティ
- 依拠当事者
アサーションを消費し、その情報に依存するエンティティ
トークン †
上記の文脈上からは、
ざっくり、アサーションを実際に使うとトークン。
解り易いのが、JWTアサーションをアクセストークンとして使用する例。
トークンの種類 †
セキュリティ トークン †
当該アクセスに添付され認証・認可をするためのアサーション。
従って、以下が含まれた情報。
- 認証・認可に必要なクレームから構成されるクレームセット
- 認証オーソリティによって上記に署名を加えたコントラクト(契約)
署名には、暗号化技術が使用され、改ざん等が無いか検証可能になっている。
SSOソフトウェア †
- シームレスな認証や、password fillingを行なう場合がある。
- 同様に、暗号化技術が使用され、改ざん等が無いか検証可能になっている。
ワンタイムパスワード †
- ログイン毎や、時間経過で変化するタイプ
- チャレンジ&レスポンスなどもワンタイムパスワード
Authorizationヘッダ †
- Digest認証、Basic認証のCredentialもある種の認証トークンと言える。
ユーザIDとパスワードの情報を含んでいる(クレームセット → アサーション)。
- Authorizationヘッダ情報に設定される。
以下を参照するとBearer Token も OAuth に限らず、
一般的な HTTP 認証トークンとして使用可能であるもよう。
- OAuth2.0を認証に使用する際の問題点とその対応方法
- RFC 7235 で "Authorization: auth-scheme (token68 / auth-params)" が定義済みで、
"auth-scheme" には Basic, Digest に加え Bearerが登録済み(IANAにより管理)。
OAuth関連 †
- Bearer Token(持参人切符)
- 通常のOAuthのTokenは「bearer・token」。
- 「bear (持ってきた)+ er(人)」=「持参人」。
- 具体的には「切符」のこと。持参人は誰でも、切符が有効ならば利用可能。
- Proof-of-possession Token(記名式切符)
- 名前が書かれた、国際線のボーディングパスなどがこれに該当する。
- ゲートでは、名前・顔とパスポートの記載が一致するかを確認する。
- 誰かがボーディングパスを盗んでも、使うことはできない(盗難 & 再生の防止)。
ハード/ソフト †
ハード †
ソフト †
その他 †
CSRF対策用トークン †
CSRFを防止するための単なる乱数もトークンと呼んだりする。
参考 †
以下の様な、多様なトークンがある。
Tags: :セキュリティ, :認証基盤, :暗号化