2016年8月17日8:06
開発者に対し、利便性が高くセキュアなサービスを提供へ
Eコマースプラットフォーム「BASE(ベイス)」を運営するBASEは、同社が提供するオンライン決済サービス「PAY.JP(ペイドット ジェーピー)」の決済環境において、PCI DSSに完全準拠している。同社では、Amazonがグローバルに提供する「Amazon Webサービス(AWS)」上でサービスを構築した。
開発者向けの決済サービスを提供
PCI DSSの要件に合わせてシステムを構築
「PAY.JP」は開発者が使用しやすいように、RESTfulでJSON-basedなAPIで設計されている。さらに「Ruby」「Python」「PHP」「NodeJS」「Go」「Java」「Perl」などのライブラリを提供しており、開発者は簡易に決済システムをWebサイトに組み込める。
「PAY.JP」は、BASEがオンライン決済サービス「Pureca(ピュレカ)」を子会社化して開始したサービスとなる。ピュレカは2012年7月創業。PCI DSS Version3.0への準拠もピュレカ時代に達成したものだ。同サービスではクレジットカード情報を扱うため、国際ブランドが定めているルールとしてPCI DSSへの準拠はマスト(義務)であると考えた。また、「安心して決済サービスを提供する上で、PCI DSSに準拠しているのと、していないのではまったくビジネスが変わってきます」と、PAY.JP事業部長 高野兼一氏は話す。
ピュレカは、2013年に決済サービスの開発と合わせてPCI DSSへの着手を開始。PAY.JP事業部セキュリティ・エンジニア クリストファー・スミス氏は、「決済サービスは、PCI DSSの要件にしたがった構築を心がけました」と説明する。同社では、クラウド環境でのサービス構築を決意し、Amazonがグローバルに提供する「Amazon Webサービス(AWS)」上でのシステム構築を選択した。AWSでは、グローバルで「PCI DSS Provider Level1」に準拠しているため、実地検査を行わず全体をカバーできる。また、随時機能をアップデートするなど、サービスとしても魅力的だったそうだ。
なお、初回の審査時には、AWS上での運用実績が豊富な「cloudpack(クラウドパック)」を提供するアイレットの協力を得ている。さらに、Payment Card Forensicsからコンサルティングの支援を受けている。
対象範囲については、AWSと権限が分かれていること、クレジットカード情報を自社で保管していないため、狭めることができた。なお、現在はソニーペイメントサービスにクレジットカード情報を委託しているが、2014年の準拠当時は別の決済事業者がクレジットカード情報を保持していた。
「Amazon S3」で変更ログを「AWS Lambda」で取得
3カ月の短期間で準拠を果たす
準拠に向けては、複数の要件での対応に苦労したという。まず、要件11のログ監視については、どう取り組んだらいいのかという点で迷ったそうだ。同対応では、「Amazon Simple Storage Service(S3)」にログを集約し、そこに情報が更新履歴とあわせて記録されるため、アーカイブファイルが変更されたログを「AWS Lambda」を使って取得している。
また、PCI DSS 要件 11.5 を満たすファイル整合性監視ソフトウェア製品はコストがかさむため投資負担が大きく、他に対応方法がないかを考えた。同部分では、Linux(リナックス)の基礎部分である「kernel(カーネル)」からファイルシステムイベントをリアルタイムで直接取得しファイル属性とSELinuxを駆使して追記以外の操作をできない設定を施したログファイルに書き出していく方法を取っている。
ピュレカでは、2014年にPCI DSSの準拠を達成。ネットワークの設計が決まってからは、3カ月の短期間での準拠を果たした。ただ、PCI DSSの要件通りに準拠できなかった項目もいくつかあり、結果的に代替コントロールは5カ所で適用した。
※「不正利用対策・PCI DSSガイドブック」から一部抜粋