2016-06-21 23 views
0

SAML 2.0標準化アルゴリズム(RSAwithSHA256)でXML SAMLメッセージに署名する必要があります。しかし、私のsamlプラグイン(パスポートsaml)はsha1とsha256をサポートしているようです。 SHA256はRSAwithSHA256にかなり近いと聞こえますが、おそらく同じものではありませんか?違いは何ですか?RSAwithSHA256を代わりに使用するにはどうしたらいいですか?私はおそらくRSAwithSHA256アルゴリズムの使用を許可するには、パスポート - SAMLライブラリを編集する必要がありますか?RSAwithSHA256とSHA256の違い

答えて

2

私は違いを説明しようとしますが、あなたの問題を解決する方法はありません。

RSAは公開鍵暗号アルゴリズム(公開鍵と秘密鍵ペアアルゴリズム)であり、機密性、真正性(身元証明を含む)、否認防止を保証します。

SHA-256は、固有の固定サイズの256ビット(32バイト)ハッシュを生成し、メッセージの整合性を保証するハッシングアルゴリズムです。

ハッシュアルゴリズムは、次のように使用

  1. 送信者は、メッセージと受信機にそのハッシュを送信します。 [ハッシュ雇用]
  2. 受信者は新しいハッシュを生成するメッセージをハッシュします。 [ハッシュ雇用]
  3. 受信者は、新しいハッシュが元のハッシュと等しいかどうかをチェックします。
    • 等しい場合、メッセージの完全性が確認され、受信者がメッセージをさらに処理します。
    • 不等号の場合、メッセージは改ざんされ、受信者はメッセージを破棄します。ここで

、受信機はそのメッセージとそのハッシュが実際に予想される送信者によって送信された確認方法?上記の場合、受信者による送信者の認証や識別はありません。

これを行うには、上記の要件を満たすために公開キー暗号化とハッシングアルゴリズム(RSAWithSHA256など)を一緒に使用する必要があります。

一緒に公開鍵暗号とハッシュアルゴリズムを採用するときに、

  1. 送信者は受信者へのメッセージと(送信者の秘密鍵を使用して)その暗号化されたハッシュを送信します。 [暗号化とハッシュを採用]
  2. 受信者は暗号化されたハッシュを(送信者の公開鍵を使用して)復号化します。 [復号化とハッシュ雇用]
  3. 受信者は新しいハッシュを生成するメッセージをハッシュします。 [ハッシュ雇用]
  4. 受信者は、新しいハッシュが復号化されたハッシュと等しいかどうかをチェックします。
    • メッセージの完全性、信頼性、および 送信者の確認が確認され、受信者プロセスが メッセージをさらに処理する場合。
    • メッセージが改ざんされているか、意図された 送信者によって送信されない場合(暗号化されたハッシュが予期される送信者の秘密鍵で生成されないため)、受信者はメッセージを破棄します。