問題タブ [webcrypto-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
475 参照

security - WebCrypto: RSA-OAEP から RSA-PSS への安全な変換

WebCrypto は RSA をサポートしていますが、実行できるさまざまな操作のパディング スキームを選択する必要があります。RSA は、署名/検証と暗号化/復号化 (+ キー ラッピング) の両方を実行できますが、webcrypto API ではそれはほとんど不可能です。

RSA-OAEP を使用して RSA キーを生成すると、同じキーを RSA-PSS に使用できますが、webcrypto API を使用してそれらを移動する明確な方法はありません。

私の最初の考えは、キーを変換するために次の手順を実行することでした。

  1. exportKeyを使用してキーをエクスポートしますjwk
  2. alg(たとえば) からRSA-OAEP-512"修正"PS512
  3. "修理"key_ops

    を。encrypt->verify

    b. decrypt->sign

  4. 正しいアルゴリズムで「固定」キーをインポートする

このシステムは、秘密鍵 (悪意のあるスクリプト、self-xss など) のセキュリティを強化するために、鍵をエクスポートできない場合に機能しなくなります。

アルゴリズムの種類を「変換」するが、エクスポートする機能なしでキーを保持する良い方法は何でしょうか?