質問: webサービスを作っているとき、ユーザーの銀行口座情報をもたないといけないとき、みなさんはどこに保存されていますか? 知見がなかったので、困っています。ぜひご意見いただきたいです。 クレジットカード決済であれば、paypalやwebpayなど外部サービスを使い、自身で口座情報をもつ必要はないと思いますが、受け取り口座情報など、決済サービスと関わりない場合、自身で口座情報をもたないといけない気がしています。 情報漏えいの可能性を考えると自身でもつのはとてもリスクがあり、みなさんは、どのように対処されてるか、ぜひ教えていただきたいです。 もし、口座情報保存のおすすめサービスなどあれば、教えていただきたいです。 どうぞよろしくお願いします。
回答: 現在、クレジットカード決済と売上の口座振り込みが必須なC2Cの中古品売買アプリを構想しており 質問者さんとおなじことが心配になっていたところなので調べました。 一般的にECサイトやフリーマーケットアプリなどのサービス側でクレジットカード情報および口座情報を管理することはありません。 漏洩のリスクを回避するために決済代理業者を利用します。 たとえば LINE株式会社が出している LINE MALL というフリーマーケットアプリのヘルプセンターにはいかのような記述があります > > Q. 決済事業者および収納代行業者について > > > LINE MALLでの商品代金のお支払い、商品代金の受取りは、GMOペイメントゲートウェイ株式会社の収納代行サービスを利用して行われます。 > > GMOペイメントゲートウェイ株式会社は商品代金を購入者に代わって代理受領し、出品者の指定した預金口座に振り込みます。 > > > たしかに自社サービスでクレジットカード情報および口座情報を保管すると決済手数料が数%安くすみます 機密情報の保持のためにデータベースを暗号化するなどの対策も考えられるでしょう しかし、ハッカーなどに侵入されデータベースをローカルにコピーされてしまうといくら暗号化されていたとしてもブルートフォースアタック(パスワードの総当り)やレインボーハッシュ(よく使われるハッシュデータを闇市場で購入してハッシュ値と照合してパスワードを割り出す)などを使用されれば暗号の解読は時間の問題です クレジットカード情報や口座情報を入力する際の通信方式に関してはサーバーとの通信方式を暗号化(https)しておけば問題ないかと思います また、 LINE Q と呼ばれる QAアプリにも質問に貢献すると付与されるポイントを現金化するシステムがありますが支払いについてはプライバシポリシーに以下のような記述があります > > • お支払い情報 > > > 商品購入や有料サービス利用時等、お客様にご利用代金をお支払いいただくためにクレジットカード情報等を取得する場合がございます。なお、決済は決済代行会社が行い、当社はクレジットカード情報を保有いたしません。 > > > つまり **機密情報は可能な限り自社で管理せず、代行業者に依頼するのが安全だと考えられます**