teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

補足

2017/12/15 11:50

投稿

supikid
supikid

スコア139

answer CHANGED
@@ -14,6 +14,8 @@
14
14
  (追記1のリンク先での回答と同義)
15
15
 
16
16
 
17
+
18
+
17
19
  **今回のケースを「サービス毎にパスワードを変更する」という答えで締めくくるのは、いささか正確な理解ではないように思います。**
18
20
 
19
21
  サービスに対して、ユーザーが自ら送信する情報について
@@ -23,6 +25,9 @@
23
25
  こと「ログイン」という処理のみに限って言えば、見せない方法があるとすれば、「facebookでログインする」などのソーシャルログインですね。
24
26
  もちろんこの場合でも、最初にfacebook側には通常通りログインする必要がありますが、新しく利用するサービス側にログイン情報を与える必要はなくなります。
25
27
 
28
+ ちなみにサービス管理者が悪だという話で、パスワード問題を議論すると、パスワードどころの話ではないですよ。サービス管理者が悪なら、例えばFacebookなら自由になりすまし投稿できますし、amazonなら自由になりすましてお買い物が可能でしょう。
29
+ つまり、サービス側を悪だと仮定すると、なんでも出来ちゃいます。
30
+
26
31
  サービス管理者(開発者)が、パスワードをハッシュ化して保存しているか否かについて
27
32
  ==============================================
28
33
  これは、当初の議論とは、ずれた話ですが。

1

整頓

2017/12/15 11:50

投稿

supikid
supikid

スコア139

answer CHANGED
@@ -1,29 +1,36 @@
1
1
  みなさんなぜか、hskさんが言ってる観点について触れてませんが、ブラウザ側でハッシュ化してという仕組みになったとしても、それはサービスとしてハッシュ化後の状態でリクエストを可能にしているということなので、攻撃者にとってはどちらでも同じ。
2
2
 
3
3
  一応回答を・・・
4
- ===================================
5
- >多くのサービスがログイン時に生のパスワードをそのまま送っているが、「サーバー管理者」にパスワードを悪用されることはないのか
6
4
 
5
+ > 多くのサービスがログイン時に生のパスワードをそのまま送っているが、「サーバー管理者」にパスワードを悪用されることはないのか
6
+
7
7
  ある。それが普通であり、そのサービスに渡しても良いと思う個人情報を入力すべきである。
8
8
 
9
9
 
10
- パスワードをブラウザ側でハッシュ化してから送るような仕組みにすればこの心配は無くなると思うのですが、そのようなことは行われていません。これはどのような理由によるものなのでしょうか。
10
+ > パスワードをブラウザ側でハッシュ化してから送るような仕組みにすればこの心配は無くなると思うのですが、そのようなことは行われていません。これはどのような理由によるものなのでしょうか。
11
11
 
12
12
  全くやる意味がない。なぜなら、ハッシュ化したら、今度はハッシュ化後の文字列を他人に知られてはいけなくなるだけです。
13
13
  ハッシュ化後の文字列で通信すれば処理が通ってしまうからです。
14
14
  (追記1のリンク先での回答と同義)
15
- ===================================
16
15
 
17
- 今回のケースを「サービス毎にパスワードを変更する」という答えで締めくくるのは、いささか正確な理解ではないように思います。
18
16
 
17
+ **今回のケースを「サービス毎にパスワードを変更する」という答えで締めくくるのは、いささか正確な理解ではないように思います。**
18
+
19
- サービスに対して、ユーザーが自ら送信する情報について
19
+ サービスに対して、ユーザーが自ら送信する情報について
20
+ ==============================================
20
- ・・・これは、サービスの人に見せる情報だと思うべきだと思います。もちろんSSLなどを使って、第三者に対して情報が漏洩しないようにはしますが、
21
+ これは、サービスの人に見せる情報だと思うべきだと思います。もちろんSSLなどを使って、第三者に対して情報が漏洩しないようにはしますが、
21
22
  基本的に、入力するということは、情報を見せるという行為です。
22
23
  こと「ログイン」という処理のみに限って言えば、見せない方法があるとすれば、「facebookでログインする」などのソーシャルログインですね。
23
24
  もちろんこの場合でも、最初にfacebook側には通常通りログインする必要がありますが、新しく利用するサービス側にログイン情報を与える必要はなくなります。
24
25
 
25
- サービス管理者(開発者)が、パスワードをハッシュ化して保存しているか否かについて
26
+ サービス管理者(開発者)が、パスワードをハッシュ化して保存しているか否かについて
27
+ ==============================================
26
- ・・・これは、当初の議論とは、ずれた話ですが。
28
+ これは、当初の議論とは、ずれた話ですが。
27
29
  基本的にエンジニアとして、パスワード情報は(ログなどに)出力せず、保管はハッシュ化するのは、至極当たり前の新卒並みの知識ですが、
28
30
  どの世界にもレベルが低い方がいるように、ITの世界にもいます。
29
- このレベルの話になると、「信用できないようなサービスは利用しない」が正しいかと思います。
31
+ このレベルの話になると、「信用できないようなサービスは利用しない」が正しいかと思います。
32
+
33
+ サービス毎にパスワードを変更する
34
+ ==============================================
35
+ サービス毎にパスワードを変更するのは、素晴らしいことですが、
36
+ 全部のパスワードを違うようにすれば漏れても大丈夫だという議論は、ちょっと乱暴な答えな気がします。