# JWT勉強会 二者間で情報を安全に転送するためのフォーマット ## 構造 JSONをBase64でエンコードされたものをそれぞれを "." で区切る GETリクエストのパラメタで使用するためBase64-urlでエンコード - Header - Payload - Signature ## Flow 1. cient -> auth_server : 認証 2. auth_server -> client : JWT token 3. client -> resource_server : アクセス with JWT token 4. resource_server -> client : Access Resource 攻撃者はリソースにアクセスするために有効なJWTトークンを取得する必要がある - clientを攻撃 - 鍵を盗む ## header - token type - encryption algorithm ## payload - issuded at - issuer - expiry - user identification ## signature - 真正性の確保 ## 攻撃パターン - auth server - resource server - 鍵配送の経路上 - 漏洩 ## 脆弱性 - 認証情報を取られるとキーを自由に発行される - 全てのサーバに鍵配送をする必要性 - 1台のサーバが侵害されると、共通鍵が盗まれる可能性 - ブルートフォースアタック ## 感想・考察 __JWTは真正性の確保は行うが、暗号化を行わないので機微情報は入れない(機密性の確保はTLSに任せる)__ __JWTはAuth Server - Resource Serverの真正性を確保するための仕組み(Clientや攻撃者にMITMをされないように)__
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up