クライアントが自分のアプリがクレジットカード情報を受信して保存できるようにする方法を求めています。クライアントからの予定された支払いを処理するためにこれが必要です。
私は、データを保存する非対称(RSA)暗号化ソリューションを構築でき、正しいキーを持っている場合にのみ彼がそれを解読できると彼に話しました。
秘密鍵はクライアント自身のみが保持します。したがって、システム全体としては、どの時点でも情報を解読することはできません。
これは法的な解決策でしょうか?データは保存時に常に暗号化されるので、クレジットカードに関して何か違反はありますか?これがリークする可能性がある唯一の方法は、クライアントのキーを使用することです。言い続けたら困りますか。
クライアントがPCI DSSに準拠する必要がある場合は、はい。カードデータは、休止中に暗号化する必要があります。しかし、それは簡単な部分です。難しいのは、カードデータの復号化に使用されるキーの管理です。これについて知っておく必要のある90ページ以上のページがあります( https://www.pcisecuritystandards.org/documents/PCI_PIN_Security_Requirements_Testing_v3_Aug2018.pdf を参照してください)。プロセスを文書化し、監査証跡を保持する必要があります。
ほとんどの企業は、繰り返し請求するためにAuthorize.Netなどのサービス用に設定されたサービスにカードデータのストレージをオフロードする方がはるかに簡単であると感じています。 https://www.authorize.net/our-features/recurring-payments.html を参照してください。
PCI SSC FAQ 1233は役に立ちます。「暗号化されたカード会員データは、PCI DSSサードパーティサービスプロバイダーの範囲にどのように影響しますか?」 https ://pcissc.secure.force.com/faq/articles/Frequently_Asked_Question/How-does-encrypted-cardholder-data-impact-PCI-DSS-scope-for-third-party-service-providers