回答編集履歴

9

 

2025/01/05 06:50

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -1,6 +1,6 @@
1
1
  > 仮にクレジットカード番号が間違っていた場合、「指定されたカード番号が正しくありません」と表示させることはセキュリティ上問題ないでしょうか。
2
2
 
3
- クレジットカード番号や有効期限等の**値の書式**に関するエラー内容に限ってしても問題はないと考えます。
3
+ クレジットカード番号や有効期限、セキュリティーコード等の値の**書式(フォーマット)**に関するエラー内容に限って返すべきであると考えます。
4
4
 
5
5
  「値の書式に関するエラー」とは、以下のようなものです。
6
6
  ・桁数が不足・超過している。

8

 

2025/01/05 06:48

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -19,4 +19,4 @@
19
19
 
20
20
  ---
21
21
 
22
- なお上記は完全に理想論です。一般的な実装例についてもある程度は把握していますが、ここでは言及しません。質問者さんの方で調べた上で判断してください。
22
+ なお上記は完全に理想論です。一般的な実装例についてもある程度は把握していますが、ここでは言及しません。(なぜなら質問者さんは「~セキュリティ上問題ないでしょうか」と質問しているからです)。実装例については、別質問を立てるか、質問者さんの方で調べた上で判断してください。

7

  

2025/01/05 06:47

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -6,7 +6,7 @@
6
6
  ・桁数が不足・超過している。
7
7
  ・使用できない文字(例:全角数字や記号等)が入力されている。
8
8
 
9
- なぜなら、これらはクレジットカードに関する公知のフォーマットに関するチェックであり、これらのチェック行っても特段セキュリティに影響を与えないからです。
9
+ なぜなら、これらはクレジットカードに関する公知のフォーマットに関するチェックであり、これらのエラーに関する情報入力者に与えても特段セキュリティに影響を与えないからです。
10
10
 
11
11
  (実際、クレジットカードのチェックディジットすら、ネットで調べれば簡単に計算式を知ることができます)
12
12
 
@@ -17,3 +17,6 @@
17
17
  仮に、3回以上正しくないデータの登録が試行されたら24時間同一アカウントや同一IPからの入力を一切受け付けない等の対策がなされていれば、個別具体的なエラーを知らせてもブルートフォース攻撃は現実的な時間では成立しにくいから大丈夫という考え方はあるかもしれません。
18
18
  しかしながら個別具体的なエラーメッセージを与えることはその分セキュリティを犠牲にすることになるため、やはり避けた方が良いでしょう。
19
19
 
20
+ ---
21
+
22
+ なお上記は完全に理想論です。一般的な実装例についてもある程度は把握していますが、ここでは言及しません。質問者さんの方で調べた上で判断してください。

6

 

2025/01/05 06:43

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  (実際、クレジットカードのチェックディジットすら、ネットで調べれば簡単に計算式を知ることができます)
12
12
 
13
- 逆に上記以外の情報、たとえばカード番号は正しいが有効期限が切れているとか、有効期限内であるがセキュリティコードが間違っているとか言った情報は、ユーザに個別具体的に知らせず、まとめて「入力値が無効です」というメッセ―ジにした方がいいです。
13
+ 逆に上記以外の情報、たとえばカード番号は正しいが有効期限が切れているとか、有効期限内であるがセキュリティコードが間違っているとか言った情報は、ユーザに個別具体的に知らせず、まとめて「入力されたカード情報は無効です」などのメッセ―ジにした方がいいです。
14
14
 
15
15
  なぜなら、これらを具体的に知らせると、ブルートフォース攻撃に対する耐性を相対的に低下させてしまうことになるためです。
16
16
 

5

 

2025/01/05 06:37

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -12,8 +12,8 @@
12
12
 
13
13
  逆に上記以外の情報、たとえばカード番号は正しいが有効期限が切れているとか、有効期限内であるがセキュリティコードが間違っているとか言った情報は、ユーザに個別具体的に知らせず、まとめて「入力値が無効です」というメッセ―ジにした方がいいです。
14
14
 
15
- なぜなら、これらを具体的に知らせると、リバースブルートフォース攻撃に対する耐性を相対的に低下させてしまうことになるためです。
15
+ なぜなら、これらを具体的に知らせると、ブルートフォース攻撃に対する耐性を相対的に低下させてしまうことになるためです。
16
16
 
17
- 仮に、3回以上正しくないデータの登録が試行されたら24時間同一アカウントや同一IPからの入力を一切受け付けない等の対策がなされていれば、個別具体的なエラーを知らせてもリバースブルートフォース攻撃は現実的な時間では成立しにくいから大丈夫という考え方はあるかもしれません。
17
+ 仮に、3回以上正しくないデータの登録が試行されたら24時間同一アカウントや同一IPからの入力を一切受け付けない等の対策がなされていれば、個別具体的なエラーを知らせてもブルートフォース攻撃は現実的な時間では成立しにくいから大丈夫という考え方はあるかもしれません。
18
18
  しかしながら個別具体的なエラーメッセージを与えることはその分セキュリティを犠牲にすることになるため、やはり避けた方が良いでしょう。
19
19
 

4

 

2025/01/05 06:36

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  逆に上記以外の情報、たとえばカード番号は正しいが有効期限が切れているとか、有効期限内であるがセキュリティコードが間違っているとか言った情報は、ユーザに個別具体的に知らせず、まとめて「入力値が無効です」というメッセ―ジにした方がいいです。
14
14
 
15
- なぜなら、これらを具体的に知らせると、リバースブルートフォース攻撃を許すことになるためです。
15
+ なぜなら、これらを具体的に知らせると、リバースブルートフォース攻撃に対する耐性相対的に低下させてしまうことになるためです。
16
16
 
17
17
  仮に、3回以上正しくないデータの登録が試行されたら24時間同一アカウントや同一IPからの入力を一切受け付けない等の対策がなされていれば、個別具体的なエラーを知らせてもリバースブルートフォース攻撃は現実的な時間では成立しにくいから大丈夫という考え方はあるかもしれません。
18
18
  しかしながら個別具体的なエラーメッセージを与えることはその分セキュリティを犠牲にすることになるため、やはり避けた方が良いでしょう。

3

 

2025/01/05 06:34

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -1,3 +1,5 @@
1
+ > 仮にクレジットカード番号が間違っていた場合、「指定されたカード番号が正しくありません」と表示させることはセキュリティ上問題ないでしょうか。
2
+
1
3
  クレジットカード番号や有効期限等の**値の書式**に関するエラー内容に限って、返しても問題はないと考えます。
2
4
 
3
5
  「値の書式に関するエラー」とは、以下のようなものです。

2

 

2025/01/05 06:33

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -6,6 +6,8 @@
6
6
 
7
7
  なぜなら、これらはクレジットカードに関する公知のフォーマットに関するチェックであり、これらのチェックを行っても特段セキュリティに影響を与えないからです。
8
8
 
9
+ (実際、クレジットカードのチェックディジットすら、ネットで調べれば簡単に計算式を知ることができます)
10
+
9
11
  逆に上記以外の情報、たとえばカード番号は正しいが有効期限が切れているとか、有効期限内であるがセキュリティコードが間違っているとか言った情報は、ユーザに個別具体的に知らせず、まとめて「入力値が無効です」というメッセ―ジにした方がいいです。
10
12
 
11
13
  なぜなら、これらを具体的に知らせると、リバースブルートフォース攻撃を許すことになるためです。

1

 

2025/01/05 06:32

投稿

kotori_a
kotori_a

スコア874

test CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
  「値の書式に関するエラー」とは、以下のようなものです。
4
4
  ・桁数が不足・超過している。
5
- その番号に使ない文字(全角数字や記号等)が入力されている。
5
+ ・使用できない文字(例:全角数字や記号等)が入力されている。
6
6
 
7
7
  なぜなら、これらはクレジットカードに関する公知のフォーマットに関するチェックであり、これらのチェックを行っても特段セキュリティに影響を与えないからです。
8
8
 
9
9
  逆に上記以外の情報、たとえばカード番号は正しいが有効期限が切れているとか、有効期限内であるがセキュリティコードが間違っているとか言った情報は、ユーザに個別具体的に知らせず、まとめて「入力値が無効です」というメッセ―ジにした方がいいです。
10
10
 
11
- なぜなら、これらを具体的に許すとリバースブルートフォース攻撃を許すことになるためです。
11
+ なぜなら、これらを具体的に知らせるリバースブルートフォース攻撃を許すことになるためです。
12
12
 
13
13
  仮に、3回以上正しくないデータの登録が試行されたら24時間同一アカウントや同一IPからの入力を一切受け付けない等の対策がなされていれば、個別具体的なエラーを知らせてもリバースブルートフォース攻撃は現実的な時間では成立しにくいから大丈夫という考え方はあるかもしれません。
14
14
  しかしながら個別具体的なエラーメッセージを与えることはその分セキュリティを犠牲にすることになるため、やはり避けた方が良いでしょう。