[解決済み] トークン・パラメータを含むhttpsのURL:どの程度安全か?
質問
私たちのサイトでは、ユーザーの個人情報(フォームから提供された)に基づいたシミュレーションを提供しています。私たちは、ユーザーがログイン/パスワードのアカウントを作成することを強制することなく、後でシミュレーションの結果を取得できるようにしたいと思います。
私たちは、電子メールにリンクを貼り、そこから結果を得られるようにしようと考えました。しかし、個人情報が危険にさらされているため、当然ながら、この URL を保護しなければなりません。
そこで私たちは、URLにトークン(40文字の文字と数字の組み合わせ、またはMD5ハッシュなど)を渡し、SSLを使用しようと考えています。
最終的に、そのようなメールが届くことになります。
こんにちは。
結果を https://www.example.com/load_simulation?token=uZVTLBCWcw33RIhvnbxTKxTxM2rKJ7YJrwyUXhXn
それについてどう思いますか?安全性は十分ですか?トークン生成のために何かアドバイスはありますか?httpsリクエストでURLパラメータを渡すのはどうでしょうか?
どのように解決するのですか?
SSL は転送中のクエリパラメータを保護しますが、電子メール自体は安全ではなく、電子メールが宛先に届くまでにいくつものサーバーを経由してバウンスする可能性があります。
また、Web サーバーによっては、完全な URL がログ ファイルに記録されることがあります。データの機密性によっては、IT 担当者がすべてのトークンにアクセスできることを望まないかもしれません。
さらに、クエリ文字列を含む URL はユーザーの履歴に保存され、同じマシンの他のユーザーがその URL にアクセスすることを可能にします。
最後に、これを非常に安全でなくしているのは、URL があらゆるリソースに対するすべてのリクエストの Referer ヘッダーで送信され、サード パーティのリソースであっても送信されることです。たとえば、Google Analytics を使用している場合、Google に URL トークンを送信することになります。
私の意見では、これは悪い考えです。
関連
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] JavaScriptで現在のURLを取得する?
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] jQueryで現在のURLを取得する?
-
[解決済み] アプリケーションからAndroidのWebブラウザでURLを開くにはどうすればよいですか?
-
[解決済み] 後で平文を取り出すためのユーザーパスワードの保管について、倫理的にどのように取り組むべきでしょうか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] JWT(JSONウェブトークン)の有効期限を自動的に延長する機能
-
[解決済み] JWTは解読できても、安全性はどうなのか?
-
[解決済み] ポーカーボットを倒す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] サーバー側に送信する前にパスワードをハッシュ化した方が良いですか?
-
[解決済み] セッションハイジャックを防止する最善の方法は何ですか?
-
[解決済み] なぜ、すべてをHTTPSにしないのか?
-
[解決済み] Firefoxの同一生成元ポリシーを無効にする
-
[解決済み] PHP セッションセキュリティ
-
[解決済み] ステートレス(セッションレス)・クッキーレス認証を行うには?
-
[解決済み] ファイル暗号化におけるAESとBlowfishの比較
-
[解決済み] ポーカーボットを倒す
-
[解決済み] ハッシュのソルトを隠蔽する必要性
-
[解決済み] OAuth 2.0におけるクライアントシークレット