異なるクライアントアプリケーションによって接続されているトランザクションサーバーがあります。要件は、クライアントアプリケーションがトランザクションサーバーと通信するための安全な認証手段を持つことです。検討されている2つのソリューションは、JWTとクライアント証明書です。
あなたの意見では、セキュリティと効率の観点から、どちらのオプションの長所と短所は何ですか。この質問は少し一般的であり、具体的には、これらのコンポーネントがまだ開発中であることを考慮して、特定のソリューションに移る前に、より一般化されたアイデアを得たいためです。
どちらかの技術を使用したことのある人からのアドバイスはいただければ幸いです!
少しコンテキストについては、JWTトークンベースの認証に重点的に取り組んできましたが、クライアント証明書の経験がほとんどないため、私の回答は(情報および意見の観点から)JWTに偏っています。
JWTトークン長所:
JWTトークンの短所:
クライアント証明書の長所:
クライアント証明書の短所:
私の意見:JWTトークンは安全で標準化されたクライアント認証方法であり、私はそれをお勧めします。
これはあなたの環境をもっと理解しないと答えられません。
クライアント証明書は認証方法として役立ちますが、独自のサービスにアクセスするサービスに異なるアクセス許可を与えることが要件である場合は、クライアント証明書だけでは役に立ちません。上記のように、発行した証明書を管理する必要がありますが、この制約は、署名が必要なJWTにも存在します。外部用の複数の証明書がある場合は、
JWTは、コンシューマに異なる権限があり、RESTを介してサービスにアクセスしている場合に役立ちます。通信がRESTでない場合は、JWTを気にしないでください。JWTでも署名証明書を管理する必要があります。JWTを使用する場合は、弱点に注意してください。持ってる:
正しく実装されていれば、JWTには何の問題もありません。JWTの実装を台無しにできるだけです。検証で有効期限が無視されたためにセキュリティホールにつながる自分の組織のJWTパターンに現在対処しようとしているため、私はバイアスをかけています...