Contenu connexe
Similaire à Tokbind-fido (20)
Tokbind-fido
- 3. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
bearer tokenとholder-of-key token
bearer token holder-of-key token
#fidocon 2015/05/27
- 4. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Token Binding
ベアラーセキュリティートークン
OAuth token
HTTPクッキー
盗まれて行使できてしまう
特定の者だけに許可したい
IDと関連づけて管理 → 行使時のIDを確認
draft-ietf-tokbind-protocol-00
#fidocon 2015/05/27
- 5. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
IETF92 in Dallas
tokbind WG (Security エリア)
token bindingを標準化するWG
#fidocon 2015/05/27
- 6. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Token Binding ID
#fidocon 2015/05/27
Public Keyを使って
Token Binding IDを定義
サーバーごとに
1組の鍵ペア
セキュアストレージ
鍵ペア
- 7. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Token Binding(1) トークン要求
#fidocon 2015/05/27
TLS接続
tls-unique
tls-unique
tls-uniqueを秘密鍵で署名、
TokenBindingIDとセットにして送る
もらった公開鍵と
tls-uniqueで署名検証
• いま話してる相手が
• この公開鍵に対応し
た秘密鍵を持ってい
る
TokenBinding
- 8. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Token Binding(2) トークン発行
#fidocon 2015/05/27
TokenBindingIDと
トークンを関連づける
- 9. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Token Binding(3) トークン行使
#fidocon 2015/05/27
tls-unique
TokenBinding
トークンと
TokenBindingを送る TokenBindingを検証
トークンに関連づけて
おいたTokenBindingID
と比較
tls-unique
• いま話してる相手が
• トークン発行先
- 10. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Token Binding IDの詳細
以下の要素を持つバイナリ構造体
TokenBindingType: providedまたはreferred
SignatureAndHashAlgorithm: p256またはrsa2048
公開鍵
タイプは後述
署名/ハッシュ方式もIDの一部とする
ダウングレード攻撃を防ぐ
#fidocon 2015/05/27
- 11. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
ネゴシエーション
TokenBindingを使うかどうか
ALPNで決める案
ALPN IDが長くなっちゃうのがいまいち
TLSの新しい拡張を作る案
TLSセッション確立後の最初の
ユーザープロトコルで送信
#fidocon 2015/05/27
- 12. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
注意すべき点
プライバシー
Token Binding IDはサーバーごとに別にする
複数サーバーの結託「こいつ同じやつだ」を防ぐ
Token Binding IDはクリアテキストで送らない
横から見て「あいつあのサーバー行った」を防ぐ
ユーザー要求で削除できるように
セキュリティー
Man-in-the-Browserは防げない点に注意
秘密鍵をエキスポート不可な場所に保存
取り出して他のマシンで使われることを防ぐ
#fidocon 2015/05/27
- 13. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
ChannelIDってのもありましたね?
#idcon 16th でちょろっと話が
draft-balfanz-tls-channelid-01
Google Chromeなどに実装済
individual draftのままexpire
著者のDirk Balfanzはtokbind-protocol-00の著者に
も入っている
Channel IDとtokbindの比較
公開鍵と署名を送るのは同じ
ChannelIDはTLS拡張で送信
#fidocon 2015/05/27
- 15. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
HTTPでのToken Binding
draft-ietf-tokbind-https-00
Token-Binding HTTPヘッダを使って
TokenBindingMessageを送る
クッキーやOAuthトークンを
TokenBindingIDと関連づける
トークン内に記入して署名
データベースに保存
#fidocon 2015/05/27
GET / HTTP/1.1
Host: example.com
Token-Binding: DLF02LDSK3DMS28SA…
User-Agent: …
おなじみ
Url-safe Base64
- 16. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
フェデレーションサポート
IdPから得たid_tokenをRPに提示
RPがid_tokenを見て
確かに今これを持ってきた人は
IdPからこのトークンをもらった人だ
と確認したい
id_tokenにToken Binding ID入れればいい!
Token Binding IDはIdP用とRP用で異なる
RP用のToken Binding IDをid_tokenに入れる
必要がある
クライアントがRP用のToken Binding IDをIdPに
渡す
#fidocon 2015/05/27
- 20. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
FIDO
#fidocon 2015/05/27
challenge
challengechallenge
- 21. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
tls-unique
Token BindingとFIDO
#fidocon 2015/05/27
challenge
challenge
tls-unique
TokenBinding
challenge
tls-unique
FIDOデバイスを持っていればトークンが使える
- 22. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
まとめ
TokenBinding
鍵ペアとtls-uniqueで相手を特定
トークンを関連づけて行使者を限定
フェデレーションサポート
FIDOを使って署名
#fidocon 2015/05/27
- 23. Copyright © 2004-2015 Lepidum Co. Ltd. All rights reserved.https://lepidum.co.jp/
Any Questions? / Please Feedback!
https://lepidum.co.jp/
mailto:maeda@lepidum.co.jp / twitter: @mad_p
#fidocon 2015/05/27