web-dev-qa-db-ja.com

クレジットカードのセキュリティコードは、理論上安全ではありませんか(完全に壊れていない場合)。

私は カードセキュリティコードに関するWikipediaの記事 (CSC、CVD、CVV、CVC、Vコード、SPC、CID、CV2、CVN2、CAcronym2など)を読んでいて、特定の主張が私の目を引きました(強調鉱山):

各カード(フォーム1および2)のCSCは、カードの発行時にカード発行者によって生成されます。 銀行カード番号有効期限を暗号化して計算されます(2カードに印刷されたフィールド)、カード発行者のみが知っている暗号化キー、および結果の10進数化。

説明は主な入力として既に公開された情報のみを使用するHMACのように聞こえますが、いずれにしても、存在するセキュリティ侵害されたクレジットカード番号(カードセキュリティコード付き)の膨大な数を考えると、確実にderive発行者の暗号化キーを今までに? (対称暗号化と非対称暗号化のどちらが重要ですか?)

Trueの場合、システムがカードごとに一意の秘密鍵または番号を生成する代わりにそのように設計されていることに驚かされます(= /// =)カードから、CSCは機関の代わりにそこから派生しています-wide key-私の質問がすべてのクリアテキスト入力の知識を与えられた多数の出力値から導き出すことができると仮定します)-暗号学の私の現在の理解は、十分な既知のクリアテキスト入力(妥協されたカードの詳細)を与えられて秘密鍵が導き出されることができることを私に告げるからです)と暗号文の出力(CSCコードの侵害)。

29
The D

クレジットカード番号のコレクションとそれぞれのセキュリティコードを使用して発行者の暗号化キーを取得することは、既知の平文攻撃(KPA)の例です。

安全であると見なされるには、暗号は既知の平文攻撃に耐性がなければなりません。これは、暗号化が実際のアプリケーションでも考慮されるための基本的な要件です。

暗号の設計と評価では、攻撃者は既知の平文と暗号文のペアを必要な数だけ持っており、選択した暗号化された平文(CPA)をフィードすることで新しいものを生成できると想定されています。 ITセキュリティでは、既知の平文が与えられます。たとえば、このページはHTTPSを介して暗号化されて提供されますが、攻撃者はWebサイトにアクセスすることで平文のほとんどを入手できます。これによりユーザーが秘密キーを取得できる場合、HTTPSは無意味になります。

AESなどの最新の暗号と、ほとんどの非推奨の暗号でさえ、正しく使用すればKPA耐性があります。平文と暗号文のペアを使用する唯一の方法は、キーが一致するかどうかを確認することです。

古いコンピューター時代以前の暗号は安全でなく、KPAで実際に破られる可能性がありました。それがエニグマに起こったことです。たとえば、KPA/CPAが誤って使用されている場合、KPA/CPAで最新の暗号を解読することもできます。繰り返されるIVとノンス。不正な使用は、暗号のセキュリティを単純なXORに低下させる可能性があるため、安全なスキームには、優れた暗号以上のものがあります。銀行がそれをかなりひどく台無しにしたかどうか...私はそうは望んでいない。

42
ZOMVID-20