タグ

JWTに関するoinumeのブックマーク (16)

  • JWT and one-time tokens?

  • サーバサイドでJWTの即時無効化機能を持っていないサービスは脆弱なのか? - くろの雑記帳

    きっかけ 昨年(2021年9月ごろ)に徳丸さんのこのツイートを見て、「2022年にはJWTを用いたセッション管理に代表される、ステートレスなセッション管理は世の中に受け入れられなくなっていくのだろうか?」と思っていました。 OWASP Top 10 2021 A1に「JWT tokens should be invalidated on the server after logout.」(私訳:JWTトークンはログアウト後にサーバー上で無効化すべきです)と書いてあるけど、どうやって無効化するんだ? ブラックリストに入れる?https://t.co/bcdldF82Bw— 徳丸 浩 (@ockeghem) 2021年9月10日 JWT大好きな皆さん、ここはウォッチしないとだめですよ。これがそのまま通ったら、ログアウト機能でJWTの即時無効化をしていないサイトは脆弱性診断で「OWASP Top

    サーバサイドでJWTの即時無効化機能を持っていないサービスは脆弱なのか? - くろの雑記帳
    oinume
    oinume 2022/04/21
  • JWTによるJSONに対する電子署名と、そのユースケース | DevelopersIO

    よく訓練されたアップル信者、都元です。最近、OpenID Connectにどっぷり浸かっております。IAMも好きなんですが、どうもIdentityおじさんの気があるんでしょうか。 さて、OpenID Connectの話は追々ご紹介していきたいと思うのですが。今日はJWTという技術についてご紹介します。 JWT JWTは JSON Web Token の略で、jot(ジョット)と発音します。まずはイメージを持っていただくために、JWTの例を示します。 eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJ1c2VyaG9nZSIsImF1ZCI6ImF1ZGhvZ2UiLCJpc3MiOiJodHRwczpcL1wvZXhhbXBsZS5jb21cLyIsImV4cCI6MTQ1MjU2NTYyOCwiaWF0IjoxNDUyNTY1NTY4fQ.BfW2a1SMY1a8cjb7A

    JWTによるJSONに対する電子署名と、そのユースケース | DevelopersIO
    oinume
    oinume 2022/01/26
  • JWT認証、便利やん? - ブログ

    どうして JWT をセッションに使っちゃうわけ? - co3k.org に対して思うことを書く。 (ステートレスな) JWT をセッションに使うことは、セッション ID を用いる伝統的なセッション機構に比べて、あらゆるセキュリティ上のリスクを負うことになります。 と大口叩いておいて、それに続く理由がほとんどお粗末な運用によるものなのはどうなのか。最後に、 でもそこまでしてステートレスに JWT を使わなくてはいけないか? とまで行っていますが、JWT認証のメリットはその実装のシンプルさとステートレスなことにあります。現実的には実際はDB参照とか必要になったりするんですが、ほとんど改ざん検証だけで済むのは魅力的です。トレードオフでリアルタイムでユーザー無効化ができないことくらいですかね。ライブラリなんて使う必要ないほどシンプルだし、トレードオフさえ許容できればむしろ、なぜこれ以上に複雑な認証

    JWT認証、便利やん? - ブログ
    oinume
    oinume 2018/09/28
    アンサーソング出てた
  • GoでJWTの具体的な実装 - Carpe Diem

    概要 以前JWTを認証用トークンに使う時に調べたこと - Carpe Diemで紹介した内容の具体的な実装の紹介です。 環境 golang 1.8.1 署名アルゴリズムと鍵長は以下とします。 署名アルゴリズム 鍵長 RSA-SHA256 4096bit 成果物 今回の完成形はこちら github.com 公開鍵認証のためのキーペア作成 秘密鍵の生成 $ openssl genrsa 4096 > secret.key 秘密鍵から公開鍵の生成 $ openssl rsa -pubout < secret.key > public.key 今回は簡単のためソースコードに貼り付けます。 var ( rawPublicKey = []byte(`-----BEGIN PUBLIC KEY----- MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAw8eiDb

    GoでJWTの具体的な実装 - Carpe Diem
  • JSON Web Token(JWT)の紹介とYahoo! JAPANにおけるJWTの活用

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。 IDソリューション部の都筑です。 新卒2年目で普段はYahoo! ID連携のサーバーサイド、iOSのSDKの開発などを担当しています。 今回は最近ユーザーやデバイスの認証で用いられる”JSON Web Token(JWT)”についての解説と、Yahoo! JAPANと他社の活用事例を紹介したいと思います。 JWTとは? JWTとはJSON Web Tokenの略称であり、属性情報(Claim)をJSONデータ構造で表現したトークンの仕様です。 仕様はRFC7519(外部サイト)で定められています。 特徴として、署名、暗号化ができ、URL-safeであることなどが挙げられます。発音は"ジョット"です。 JWTと関連す

    JSON Web Token(JWT)の紹介とYahoo! JAPANにおけるJWTの活用
    oinume
    oinume 2017/12/01
  • What Are Refresh Tokens and How to Use Them Securely

    This post will explore the concept of refresh tokens as defined by OAuth 2.0. We will learn how they compare to other token types and how they let us balance security, usability, and privacy. You can follow the text in this post, or if you prefer learning from presentations, you can watch this article’s companion video: What Is A Token?Tokens are pieces of data that carry just enough information t

    What Are Refresh Tokens and How to Use Them Securely
    oinume
    oinume 2017/07/05
  • GitHub - square/go-jose: An implementation of JOSE standards (JWE, JWS, JWT) in Go

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - square/go-jose: An implementation of JOSE standards (JWE, JWS, JWT) in Go
  • JWTについて簡単にまとめてみた - hiyosi's blog

    ここで説明するJWTは、最新のdraftの内容とは異なる場合がありますので、実装される際には最新のdraftや、対応するdraftを確認したほうがよいと思われますのでご注意下さい。 また、エントリではできるだけわかりやすく記載するために、詳細な仕様を省いている箇所もありますので、実装時などにはdraftを読む必要があります。 概要JWTとはJSON Web Tokenの略で、JSONを使ったコンパクトでurl-safeなクレームの表現方法であり、OAuth2やOpenID Connectなんかで使われます。 読み方は JWT の推奨される発音は, 英単語の “jot” と同じである. なんて書いてあります。 JWTの仕様は以下のURLから参照できます。(日語訳は若干古いと思われます。) http://tools.ietf.org/html/draft-ietf-oauth-json-w

    JWTについて簡単にまとめてみた - hiyosi's blog
    oinume
    oinume 2016/08/24
  • JWTを使ってGoogleAPIのアクセストークン取得する - Carpe Diem

    概要 GoogleAPIを使う際、多くの場合は「ユーザごとに認証させてアクセストークンを発行し、リクエストに利用する」という流れですが、APIによってはわざわざユーザ個別にアクセストークンを発行させる必要がないケースもあります。 そんなケースでは「Service Accounts」という方式を使い、サービス側でアクセストークンを発行してAPIを利用します。以下の様な流れです。 今回は例としてGoogleDriveにアクセスしてみます。 手順 Developer Consoleでアプリ作成し、「Service Accounts」を選択して、秘密鍵を取得 秘密鍵で署名したJWTを作る Googleのトークンエンドポイントを叩いてアクセストークンを取得 取得したアクセストークンでAPIを叩く 環境 Node.js v0.12.0 Developer Consoleでアプリを作る プロジェクトの作

    JWTを使ってGoogleAPIのアクセストークン取得する - Carpe Diem
  • OpenID Connect の JWT の署名を自力で検証してみると見えてきた公開鍵暗号の実装の話 - Qiita

    はじめに 皆さん、OpenID Connect を使った Web 認証/認可システムを実装していて、「サードパーティのライブラリなんかに頼りたくない!」とか「署名を自分でパースして中身見てみたい!」とか「OpenSSL の RSA_verify 呼び出すだけじゃ物足りない!自分で $m = S^e \pmod{n}$ ってやって署名検証してみたい!」って思うことよくありますよね? ここでは、暗号関連のライブラリを使用せず、OpenID Connect の JWT の署名を自力で 検証した際に調べた内容を備忘録としてまとめてみました。 普通はライブラリ任せにする署名検証の処理も自力でやってるので、「RSA 暗号の数式も知ってるし、ライブラリ使えば暗号化もできる。だけど、平文として指定した hogehoge をどうやってあの数式に当てはめてるのか気になる」という人が読むと、もしかしたら嬉しいか

    OpenID Connect の JWT の署名を自力で検証してみると見えてきた公開鍵暗号の実装の話 - Qiita
    oinume
    oinume 2016/05/17
  • JSON Web Token の効用 - Qiita

    Note: JWT の仕様やそもそも論の話は触れません。どう使うか、何が出来るかしか書いていません。 JSON Web Token? JSON Web Token とは、ざっくりいって署名の出来る JSON を含んだ URL Safe なトークンです。 署名とは、署名時に使った鍵を用いて、JSON が改ざんされていないかをチェック出来るようにすることです。 URL Safe とは、文字通り、URL に含めることの出来ない文字を含まないことです。 これだけだとよくわかりませんが、触り心地としては次のような性質があります。 発行者だけが、鍵を使ってトークンが正しいことを検証出来る。 暗号化ではないので、JSON の中身は誰でも見られる。 仕様的には、暗号化のオプションもあります。 しかしながら、JSON の変更は出来ない。(改ざんをすると、検証時に失敗するので。) 全体的には、なんか変更できな

    JSON Web Token の効用 - Qiita
    oinume
    oinume 2015/09/03
  • Django で API のトークンベースの認証を JWT で行なう - Qiita

    API 作成に django-rest-framework を使います。 JWT でトークンベースの認証のために django-rest-framework-jwt というプラグインを使います。 django-rest-framework を使う場合の認証情報の保持には選択肢があり、JWT はその1つです。 JWT はトークンベースの認証で、トークンを永続化する必要が無いのが楽です。 ブラウザでの webアプリなら session_id を Cookie で持つことで認証情報を保持できますが、 その他のクライアント(iOSアプリなど)で使う API では認証情報をトークンなどで保持する必要があります。 略称 JW: JSON Web JWT: Token JWS: Signature JWE: Encryption django-rest-framework-jwt の使い方 省略。REA

    Django で API のトークンベースの認証を JWT で行なう - Qiita
  • JWTについて簡単にまとめてみた - hiyosi's blog

    ここで説明するJWTは、最新のdraftの内容とは異なる場合がありますので、実装される際には最新のdraftや、対応するdraftを確認したほうがよいと思われますのでご注意下さい。 また、エントリではできるだけわかりやすく記載するために、詳細な仕様を省いている箇所もありますので、実装時などにはdraftを読む必要があります。 概要JWTとはJSON Web Tokenの略で、JSONを使ったコンパクトでurl-safeなクレームの表現方法であり、OAuth2やOpenID Connectなんかで使われます。 読み方は JWT の推奨される発音は, 英単語の “jot” と同じである. なんて書いてあります。 JWTの仕様は以下のURLから参照できます。(日語訳は若干古いと思われます。) http://tools.ietf.org/html/draft-ietf-oauth-json-w

    JWTについて簡単にまとめてみた - hiyosi's blog
    oinume
    oinume 2014/11/30
  • JSON Web Token (JWT) - OAuth.jp

    @novです。 個人的に最近OAuth 2.0よりJWT (というかJWS) を利用するシーンが多く、毎回同じ説明するのもめんどくさいのでブログにまとめるかと思い、どうせならOAuth.jpに書くかということで、こんな記事を書いております。 (そろそろJWTとJWSは、OpenID Foundation Japanの翻訳WGで翻訳するべき?) JSON Web Token (JWT) とは、JSONをトークン化する仕組み。 元々はJSONデータにSignatureをつけたりEncryptionする仕組みとして考えられたものの、Signature部分がJSON Web Signatue (JWS)、Encryption部分がJSON Web Encryption (JWE) という仕様に分割された。 それぞれ2012年10月26日現在の最新仕様はこちら。 (JWTとJWSは既にだいぶ仕様が固

    oinume
    oinume 2014/04/22
  • PyJWT

    If you want to quickly add secure token-based authentication to Python projects, feel free to check Auth0’s Python SDK and free plan at auth0.com/developers. Installing Install with pip: $ pip install PyJWT Usage >>> import jwt >>> encoded = jwt.encode({"some": "payload"}, "secret", algorithm="HS256") >>> print(encoded) eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzb21lIjoicGF5bG9hZCJ9.4twFt5NiznN84AWo

    PyJWT
  • 1