1

メールアカウントの構成を含むローカル(アプリへの)XMLファイルを読み取り、1回のログオンを使用して1つのページに複数のメールアカウントからのメールを表示する単純なHTML5/JavaScriptサイトがあります。基本的に、メールコンソリデーターです。問題は、このサイトがWebホストによって管理されている共有サーバー上のクラウドでホストされていることです。電子メールアカウントの資格情報を構成ファイルにプレーンテキストで保存したくありません。かなり安全な解決策を考え出そうと頭を悩ませていますが、今のところ運がありません。

XMLファイルのクレデンシャルを暗号化することはできましたが、JavaScriptコードで復号化へのパスを明確にしないと、キーを実装する方法がわかりません。

私はここでコードを求めているのではなく、これを達成するための手段を設計する正しい方向に私を向けるのに役立ちます。ホストの一部の技術者が私のサイトのファイルを開いて電子メールアカウントにアクセスできないようにするには、どうすればよいでしょうか。

4

4 に答える 4

1

私の理解が正しければ、管理されたメール アカウントに接続するには、保存されているパスワードを取得する必要があります。つまり、一方向ハッシュは使用できず、データの暗号化のみが可能です。

ここで、サーバーがアカウント情報を解読できる必要があり、サーバーができることはすべて、攻撃者もできるという問題に直面しています。したがって、サーバー自体がデータを復号化できないようにする方法が必要です。

1 つの可能性は、ユーザー定義のマスター パスワードを使用してすべてのデータを暗号化することです。このパスワードはサーバーに保存しないでください。ユーザーがサービスを使用したいときはいつでもこのパスワードを入力できるようにします。アカウント情報はこのパスワードでのみ復号化でき、パスワードはサーバーからアクセスできないため、アカウント情報は安全なはずです。これは、パスワードのリセットが不可能であることも意味します。

もちろん、アカウント情報を保存することはデリケートな作業であり、この責任が必要な場合は、もう一度考え直します. SSL、XSS など、考慮すべきことがたくさんあります。

于 2013-03-16T21:21:14.620 に答える
0

暗号化するデータをSHA256ハッシュでソルトおよびハッシュする必要があります。

新しいユーザー:

  1. パスワードを検証する
  2. パスワードをソルトしてハッシュする
  3. ハッシュをファイルに保存します

ログイン時:

  1. パスワードをハッシュする
  2. ハッシュをファイルに保存されているハッシュと比較する

詳細については、次のリンクをご覧ください。

http://crackstation.net/hashing-security.htm

于 2013-03-16T18:02:09.327 に答える
0

「ホスティング会社の技術」が心配な場合は、専用サーバーまたは仮想サーバーの使用から始めてください。

しかし、それが予算外の場合は、データベースを使用してユーザーの詳細を記録し、少なくともパスワードを暗号化する必要があります。安全ではないため、復号化に JavaScript を使用しないでください。代わりに、ASP、CGI、PHP などのサーバー側プログラミング言語を使用してください。

于 2013-03-16T18:06:56.947 に答える
0

php などのサーバー側言語を使用して、暗号化と書き込みを行います。これは、おそらく Ajax 呼び出しを使用して実現するのが最適です。ユーザーは呼び出されたスクリプトを見ることができますが、php はサーバー側であるため、そのページに移動したとしても、XML ファイルが保存されている場所を知ることはできません。

JavaScript はクライアント側であり、決して安全ではないため、JavaScript に頼って安全なものを実行したくはありません。

于 2013-03-16T18:11:35.313 に答える