問題タブ [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 に答える
130 参照

javascript - Web暗号化APIを使用したJavaScriptでのBrowseridアサーションの検証

Web Cryptography APIで提案されたWebブラウザーのJavaScriptランタイム環境への追加により、JavaScriptを使用してブラウザーのbrowseridアサーションを安全に検証できますか?

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

javascript - WebCryptoAPI - 暗号トークンによる署名をサポートしていますか?

100% JavaScript と暗号化トークン ベースのキーを使用して、ブラウザーでデータに署名できるようにしたいと考えています。

私がこれまで見てきたことから、この機能の古い実装はすべて廃止されています (たとえばnew ActiveXObject("CAPICOM.Store");、IE11 ではエラーがスローされるため、もはや機能していないようです! - 何かが足りないかどうかわかりません...おそらく、コンソールウィンドウで実行したためです...)。

私は WebCryptoAPI の仕様を調べました (これは新しいサポートされている方法であると思われます):

http://www.w3.org/TR/WebCryptoAPI/#SubtleCrypto-method-sign

...そしてこれで(より明確で、整理され、役立つ):

http://msdn.microsoft.com/en-us/library/ie/dn302332(v=vs.85).aspx

...新しいキーを作成できることはわかりましたgenerateKeyが ( )、トークンからのキーの使用をサポートしているかどうかはわかりません。ありますがimportKey、説明から、OSが認識できる既存のキーで署名するために必要なものではないようです。

この Web 標準は、そのような機能を許可することを目的としていますか? 今のままで目的を達成できるか?

少なくとも、デバイス マネージャー ([オプション] -> [証明書] -> [セキュリティ デバイス]) を備えた Firefox で何か改善できることはありますか?

関連する質問:

JavaScript を使用してブラウザのキーストアで署名/暗号化にアクセスする - サンプル コード? (WebCryptoAPI)

OSキーストアを使用したChromeでのjs署名

アップデート:

この PDF も見つけました: http://webpki.org/papers/PKI/x509-webcrypto-extension-scheme.pdf

私が見たところ、window.crypto.subtle.KeyStoreどのブラウザにもありません。これは、人々が遠い未来に向けて抱く野蛮な夢だと思います...

UPDATE2: これが、IE11 で ActiveX を読み込めなかった理由です: https://stackoverflow.com/a/5157766/2173353

したがって、少なくとも、まだ機能している古い方法が 1 つあります...

0 投票する
2 に答える
443 参照

javascript - ブラウザでサーバーの秘密鍵を保護する方法は?

このユース ケースでは、サーバーは暗号化された BLOB をブラウザーに送信し、ブラウザーの JavaScript はサーバーに復号化キーを要求し、BLOB を復号化して使用可能なコンテンツにします。

ブラウザでこのキーをブックマークレットやブラウザ プラグインによる攻撃、またはブラウザで JavaScript デバッガをステップ実行するユーザーから保護する方法はありますか? または、少なくとも攻撃者にとって少し難しい問題にします。

編集 : 問題のコンテキストは、EME 仕様で指定されている HTML ビデオ DRM です。この標準の一部であり、WideVine や FairPlay などのクローズド ソース プラグインを必要としない ClearKey API があります。しかし、複数の回答が指摘しているように、ClearKey は保護できません。(残念ながら、これは独自の DRM プラグインを使用することを意味します)。

0 投票する
2 に答える
4805 参照

google-chrome - Chrome の電子スマートカードからのデジタル署名

ブラウザー上で実行され、専門家による個人の署名が必要な電子処方箋システムの場合、Java アプレットを使用して XML 要求に署名し、スマートカードを使用して WS に送信します。

しかし、バージョン 42 以降、Chrome はデフォルトで NPAPI サポートを無効にしています。2015年 9 月以降の将来のバージョンでは完全に無効になり、アプレットはまったく使用できなくなります。

Chrome NPAPI deprecation page では、代替としてWebCryptoと TLS が示されています。しかし、WebCryptoは smartcards のサポートの範囲外にあるようであり、TLS は暗号化プロトコルに関するものであり、電子カードを使用する方法を提供していないようです。

誰かが完全にブラウザ ネイティブのソリューションを使用してドキュメントに署名し、プロセスを適切に制御していますか。少なくとも次のものが必要です。

  • ユーザーによって署名された XML 要求の確認も視覚化もありません。署名されているのは、ユーザーにとって価値のない内部の技術的要求であり、アプリケーションは内部 LAN の制御された信頼できるシステムで実行されるためです。
0 投票する
2 に答える
274 参照

javascript - WebCrypto による否認防止

WebCrypto API で否認防止を実現するには?

テキストを暗号化/署名する方法でWebCryptoに関する多くの例を見ましたが、問題は常にページの実行時にキーが生成され、これにより否認防止が破られます..質問する方法があるはずだと思います.使用する秘密鍵についてのユーザー。

Mozilla firefox にはユーザーにキーを要求する方法があったと思いますが、現在は削除されています: https://developer.mozilla.org/en-US/docs/Security/Crypto_Sign_Text_Removal

ありがとう、