問題タブ [password-storage]

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 投票する
4 に答える
608 参照

windows - オープン ソース デスクトップ アプリケーションのディスク上のパスワードの暗号化

アプリケーション自体のみがアクセスできるローカル システム (Windows XP) にパスワードを保存することはできますか?

私の本能的な答えは「いいえ」です。何らかのハッシングや暗号化が使用されたとしても、ソース コードが利用可能である限り、決心したシーカーは常にこれを使用してパスワードを取得できると思います。

私は、ソフトウェアを使用するたびにパスワードを入力する必要がないように、パスワードをディスクに保存するオプションをユーザーに提供したいと考えている個人的なオープン ソースの趣味プロジェクトに取り組んでいます。保存できるパスワードの一例は、ネットワークのプロキシ サーバーでの認証に使用されるパスワードです。

スタック オーバーフローに関するいくつかの関連する質問があり、最も適切な解決策は、DPAPI のようなオペレーティング システム サービスを使用するように思えます。

パスワードがユーザー入力なしでソフトウェアによって取得可能であり、ソース コードがオープン ソースである限り、パスワードは (適切に技術的かつ意図的に傾向がある) 通行人によって常に取得可能であるという基本的な前提は正しいですか?

0 投票する
5 に答える
2167 参照

.net - Castle ActiveRecord / NHibernate - パスワードの暗号化またはハッシュ

データベースに平文で保存したくないパスワードを扱う適切な方法は何ですか? NHibernate / Castle ActiveRecord のオプションは何ですか?

更新: 他の人が NHibernate / Castle ActiveRecord でこれをどのように処理するかに興味がありました。そして、NHibernate または Castle ActiveRecord に組み込まれているものがあれば。

0 投票する
4 に答える
4294 参照

security - パスワードをハードコーディングしない方法は?

私の最後の質問「シークレットを保存するためのポータブルデータベース」では、今までの最良の答えは sqlite-crypt を使用することです。

sqlite-crypt ドキュメントを読むと、データベースを開くための新しいパラメーターはパスフレーズです。もちろん、パスワードをハードコードしたくないので、そのパスワードを保存するための最も簡単で高速な方法は何だろうかと考えていました。

0 投票する
26 に答える
83524 参照

security - 後でプレーンテキストを取得するために、ユーザーパスワードの保存に倫理的にどのように取り組むべきですか?

私はますます多くの Web サイトや Web アプリケーションを構築し続けているため、ユーザーに問題が発生した場合にパスワードを取得できるように、ユーザーのパスワードを保存するように求められることがよくあります (忘れたパスワードのリンクを電子メールで送信するか、電話など) 私はできる限りこの慣習に激しく反対し、実際のパスワードを保存せずにパスワードのリセットと管理支援を可能にするために多くの「余分な」プログラミングを行います。

戦うことができない (または勝てない) 場合は、常に何らかの方法でパスワードをエンコードして、少なくともデータベースにプレーンテキストとして保存されないようにします。犯人がパスワードを解読するのにそれほど時間はかからないので、私は不快です。

完璧な世界では、人々はパスワードを頻繁に更新し、多くの異なるサイトでパスワードを複製しないでしょう。残念ながら、同じ職場/自宅/電子メール/銀行のパスワードを持っている多くの人々を知っています。私のDBセキュリティ手順が何らかの理由で失敗した場合、私は彼らの経済的終焉の責任者になりたくありません.

道徳的および倫理的に、一部のユーザーにとっては、たとえ彼らがそれをあまり尊重していなくても、彼らの生活を保護する責任があると感じています. ハッシュのソルト化やさまざまなエンコーディング オプションについては、多くのアプローチ方法と議論が必要だと確信していますが、それらを保存する必要がある場合の「ベスト プラクティス」は 1 つありますか? ほとんどの場合、PHP と MySQL を使用していますが、それによって詳細を処理する方法に違いが生じる場合があります。

バウンティに関する追加情報

これはあなたがしなければならないことではなく、ほとんどの場合、そうすることを拒否するのが最善であることを私は知っていることを明確にしたいと思います. ただし、このアプローチを採用するメリットについての講義を求めているわけではありません。このアプローチを採用した場合に取るべき最善の手順を探しています。

以下のメモで、主に高齢者、精神障害者、または非常に若い人を対象とした Web サイトは、安全なパスワード回復ルーチンを実行するように求められると、人々を混乱させる可能性があることを指摘しました. そのような場合、単純でありふれたものだと思うかもしれませんが、一部のユーザーは、サービス技術者にシステムへのヘルプを依頼するか、直接電子メールで送信/表示するという追加の支援が必要です.

このようなシステムでは、ユーザーにこのレベルのアクセス支援が提供されていないと、これらの人口統計による減少率がアプリケーションの障害になる可能性があるため、そのような設定を念頭に置いて回答してください。

みんなありがとう

これは多くの議論を伴う楽しい質問であり、私は楽しんでいます. 最後に、パスワードのセキュリティを保持する (プレーン テキストや回復可能なパスワードを保持する必要がない) だけでなく、指定したユーザー ベースがシステムにログインすることを可能にする回答を選択しました。通常のパスワード回復。

いつものように、さまざまな理由で正しいとマークしたい回答が約 5 つありましたが、最良の回答を選択する必要があり、残りはすべて +1 でした。みんな、ありがとう!

また、この質問に投票したり、お気に入りとしてマークしたりした Stack コミュニティの皆さんにも感謝します。私は賛辞として100票を獲得し、この議論が私と同じ懸念を持つ他の誰かを助けることを願っています.

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

passwords - ユーザーのパスワードを別の Web アプリケーションに保存する方法

私は、ユーザーの Gmail アクティビティ (最も多くメールを送信している相手など) の興味深い視覚化をユーザーに表示する Web アプリケーションを構築しています。明らかに、ユーザーはアプリケーションを使用するために自分の Gmail パスワードを私に提供する必要があります。

  1. Gmail のパスワードを平文で保存します。リスキーな!
  2. Gmail のパスワードは一切保存しないでください。データを同期するたびにユーザーに入力を強制します。不便な可能性があります。
  3. Gmail のパスワードは、保存する前に暗号化してください。アプリケーションへのユーザーのパスワードが鍵です。

(3) のようなものが最善のように思えますが、(3) を使用すると、ユーザーがログインしたときにのみデータを同期できます (それ以外のときはアプリケーションへのパスワードがわからないため)、これは理想的ではありません。ユーザーがボタンをクリックして、パスワードを再入力せずにいつでも Gmail からデータを同期できるMint.comのようなソリューションを希望します (銀行のパスワードを保存せずに Mint がこれをどのように達成するか考えていますか?)

0 投票する
4 に答える
331 参照

php - 自動ログインとパスワードの保存

携帯電話プロバイダーのWebサイトにログインし、残高を確認し、残高が少なすぎる場合はメールを送信する簡単なPHPスクリプトを作成しました。スクリプトを離れたサーバーに配置しました。

ログインページにパスワードを送信できるようにするには、パスワードをプレーンテキストとしてスクリプトに保存する必要があるようです。しかし、私はこれを行うのに少し気が進まない...

より安全な方法はありますか?

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

passwords - ログインパスワードの保存

IMAPサーバーから電子メールを取得するデスクトップアプリを書いています。便宜上、ユーザーはログイン画面用にユーザー名とパスワードを保存するオプションが与えられているため、毎回入力する必要はありません。パスワードをプレーンテキストとして保存できますか?そうでない場合、どうすればこれを行うことができますか?

(IMAPサーバーに自動的にログインするには、プログラムが正確なユーザー名とパスワードを知っている必要があるため、ここではパスワードハッシュを保存することは適切ではないことに注意してください。)

0 投票する
3 に答える
3033 参照

php - PHP Password storage with HMAC+nonce - Is nonce randomness important?

ここ数年、PHP のパスワード ストレージを安全にする方法について、stackoverflow で質問しました。主な答えは、次のハッシュアルゴリズムを使用することを提案しています:

答えは、ランダムナンスを使用することを提案しています。単純な一意のナンスよりもランダムなナンスを持つことに利点はありますか?

たとえば、各ユーザーは変更されない独自の ID を持つことができます。ただし、ユーザー ID はシーケンシャル (MySQL の自動インクリメント機能で作成) であり、ランダムではないと仮定しましょう。ユーザー ID はナンスとして適切でしょうか、それともランダム性は重要ですか?

これで、各ユーザーがユーザー名を選択できるようになりました。各ユーザーには変更されない独自のユーザー名があり、2 人の異なるユーザーが同じユーザー名を持つことはできません。ユーザー名はまだランダムではありませんが、シーケンシャルでもありません。ユーザー名はノンスとして十分でしょうか? ユーザーIDを使用するよりも良いでしょうか?