重要な資格情報をブラウザに入れて、ウェブページ上のjavascriptではアクセスできますが、サーバや他のウェブサイトではアクセスできません。機密データをブラウザに保存するため、他のWebサイトにアクセスできない
私はユーザーにAES暗号化メッセージを表示するウェブサイトを構築しています。メッセージはAPIを介して取得され、私のサーバーに保存されます。ユーザーがログインして、このように、ブラウザで解読するために彼のキーを入力することができます:私はProtonMailことに気付きました
$(document).on("submit", "#decryption_form", function(e) {
e.preventDefault();
var key = $("#key").val(); // The key is retrieved through a form input div
var iv = key.substring(32); // The initialization vector is a part of the key submitted by the user
var encrypted = $("#message").attr("encrypted"); // The encrypted message that was fetched from the server was added as an attribute to a div
var decrypted = CryptoJS.AES.decrypt(encrypted, key, { iv: iv }); // The message is decrypted
$("#message").html(decrypted); // The decrypted message is displayed to the user
});
- ブラウザでPGP鍵ペアを置くゼロ知識電子メールプロバイダがで復号化するためにあなたの資格情報 - ウェブページを更新したり、同じブラウザタブにURLをコピー/ペーストしても(ただし、URLを新しいタブに貼り付ける場合は除きます)、機密性の高い資格情報を保持できます。彼らのソースコードはopen sourceですが、私が理解するには複雑すぎます。
これは、機密情報を保護し、同じブラウザタブで(自分のサーバーから送信する必要なしに)自分のWebページ間を移動するユーザーのデータを保持する必要があると考えるようになります。
This postでは、トピックについて説明していますが、正準/具体的な回答はありません。 this 3 year old postもありますが、なぜOPがブラウザにセンテイブデータを保存する必要があるのかに関するコメントがほとんどです。
:-)(いくつかのケースではなく可能)解読が困難であるだけで強力な暗号化のオプションを持ってhttps://developer.mozilla.org/en- US/docs/Web/API/Window/sessionStorage)とCookieが含まれています。ブラウザのユーザーがキーにアクセスできることに注意してください。しかし、あなたのケースではおそらくOKです。 – Pointy
クッキー内にトークンがある可能性はありますか? – Hackerman
機密情報は暗号化された形式で保存する必要があります。秘密鍵を共有するまで誰もその鍵を解読できません。 –