JWTと暗号化アルゴリズム

JWT

簡単な紹介

JWT、JSONは軽量スタイルの認可と認証の仕様、ステートレスを有効にする、分散型Webアプリケーションの認証で、JSONウェブトークンを表し、公式ウェブサイト:https://jwt.io

GitHubののJavaクライアント上のJWT:https://github.com/jwtk/jjwt

 

データフォーマット

3部からなるJWTデータ:

  • ヘッダー:ヘッド、ヘッドは通常、2つの情報を持っています:

    • 宣言された型は、ここにJWTです

    私たちは、最初の部分を取得するために、データをbase64エンコードを率います

  • ペイロード:ペイロードが有効なデータである、一般的に次の情報が含まれています。

    • ユーザ識別情報(base64エンコード、デコードすることができるので、機密情報を格納しないので、ここでのことに注意してください)

    • 届出書:時間の問題、有効期限、発行者などの印として

    この部分は、データの第2の部分を与えるためにbase64エンコード

  • 署名:署名、認証情報は、全体のデータです。サービス・キー(秘密)と結合され、一般的なデータの最初の2つのステップは、暗号化アルゴリズムによって生成され、(好ましくは定期的に交換し、漏れません)。これは、全体のデータの整合性と信頼性を確認するために使用しました

生成されたデータ形式:トークン==個々の本人確認書類JWT =

3つのセグメントに分割わかるように、上記のデータは一部であります

 

JWTの対話の流れ

フローチャート:

翻訳の手順:

  • 1、ユーザがログインします

  • 2、秘密にトークン応じて生成することにより、認証サービス、

  • 3、ブラウザに生成されたトークンバック

  • 図4は、各要求は、ユーザのトークンを運びます

  • 公開鍵署名を用いて5、JWT通訳サービスは、署名は、決意した後にペイロードから取得したユーザ情報を有効です

  • 図6に示すように、要求を処理し、その応答結果を返します

すでに発行されたトークンJWTは、ユーザーのID情報が含まれており、各要求が運ぶので、そのようなサービスでもステートレスレスト規範に完全に準拠してデータベースを照会することなく、店舗の利用者情報を必要としません。

 

非対称暗号化

暗号化は、情報の符号化及び復号化技術であり、元のコードは(も暗号文として知られている)変換されたコードの形(また、平文として知られている)で読み取り可能な情報を、復号化プロセスは、逆(復号)され、暗号化された暗号化キーポイントでありますアルゴリズム、暗号化アルゴリズムは、次の3つのカテゴリに分けることができます。

  • AESなどの対称暗号化、

    • 基本原理:将明文分成N个组,然后使用密钥对各个组进行加密,形成各自的密文,最后把所有的分组密文进行合并,形成最终的密文。

    • 优势:算法公开、计算量小、加密速度快、加密效率高

    • 缺陷:双方都使用同样密钥,安全性得不到保证

  • 非对称加密,如RSA

    • 基本原理:同时生成两把密钥:私钥和公钥,私钥隐秘保存,公钥可以下发给信任客户端

      • 私钥加密,持有私钥或公钥才可以解密

      • 公钥加密,持有私钥才可解密

    • 优点:安全,难以破解

    • 缺点:算法比较耗时

  • 不可逆加密,如MD5,SHA

    • 基本原理:加密过程中不需要使用密钥,输入明文后由系统直接经过加密算法处理成密文,这种加密后的数据是无法被解密的,无法根据密文推算出明文。

RSA算法历史:

1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字缩写:RSA

发布了2106 篇原创文章 · 获赞 46 · 访问量 13万+

おすすめ

転載: blog.csdn.net/Leon_Jinhai_Sun/article/details/104251716