WooCommerce にてネットショップを運営されている方向けに「クレジットカード・セキュリティガイドライン」を理解しやすいように、わかりやすく説明させていただきます。キャッシュレス決済をサイトで利用する場合は必須の内容となりますので、文章がかなり長くなりますが、しっかりとご理解ください。

クレジットカード・セキュリティガイドラインについて

クレジットカード・セキュリティガイドラインは経済産業省が主導して、一般社団法人日本クレジット協会(Japan Consumer Credit Association)が事務局となって、クレジットカードの利用者が安心して利用できるようにするためにネットショップ側で不正利用を軽減するために作られたガイドラインになります。

もともと総務省は、国の政策としてキャッシュレス化を促進しており、2025年度までにキャッシュレス決済の普及率を40%に引き上げることを目標としています。
下の総務省のサイトを参考にご覧ください。

総務省トップ > 政策 > 白書 > 令和5年版 > キャッシュレス決済の推進

「キャッシュレス決済の促進」に関して、クレジットカードに限らず、後払い決済なども含めて、キャッシュレスでの支払いを促進するためには、安心して使える仕組みと、昨今増えているクレジットカードの不正利用を撲滅するために「クレジット取引セキュリティ対策協議会」が中心となって「クレジットカード・セキュリティガイドライン」が策定され、「クレジットカード・セキュリティガイドライン[5.0版]」(2024年8月24日現在) が公開され、これを遵守していないネットショップではクレジットカード決済を利用できないようにするという、遵守すべき項目が決められているという状態です。

安全・安心なクレジットカード取引への取組 > 関連資料

クレジットカード・セキュリティガイドラインのチェックは?

まず、決済代行会社が新規申し込みの場合は「セキュリティチェックリストに基づく対策措置状況申告書」の申告書に記載して、審査することとなります。その項目に関して、セキュリティ対策がなされていないという状況であれば、決済の申し込みは却下される形となります。

また、既存のネットショップに関しては、ASPを利用しているショップであれば、申告者名などを記載するだけでいいのですが、オープンソースソフトウェアの WooCommerce などを利用したり、フルスクラッチをしているシステムの場合は、セキュリティー対策の委託企業を記載しないといけません。委託していない場合は自社管理しないといけない形となります。そのため、2025年3月までに「セキュリティチェックリストに基づく対策措置状況申告書」の提出を求められ、再審査されることとなります。

正直なところ、2024年8月の現時点で「クレジットカード・セキュリティガイドライン」を守られているネットショップはかなり少ない状態です。それだけ、厳しい項目が含まれています。その詳細にはついては、後にまとめますのでそちらをご覧ください。

レンタルサーバー会社はセキュリティー対策委託企業ではない

ここで、勘違いをされる方がいるかもしれませんので、あえて記載しますが、レンタルサーバーでネットショップを構築している場合は、レンタルサーバーがセキュリティー対策をしてくれていると勘違いしている方もいますが、あくまでレンタルサーバー会社はサーバーの一部を部分貸ししているだけですので、セキュリティー対策委託企業には当てはまりません。

もちろん、レンタルサーバー会社としてセキュリティー対策を行なっている部分はあると思いますが、そのまま委託企業になるわけではありません。

クレジットカード・セキュリティガイドラインが守られてない場合の責任は?

上記の記載の通り、「決済代行会社」はあくまで「申告書」を元に審査をするだけですので、「申告書」の内容の虚偽確認はほとんどしないというか、出来ない内容ばかりです。

そのため、「決済代行会社」は「申告書」を信頼するしかないので、もし「申告書」に虚偽の記載があれば、ネットショップ[EC加盟店]がすべての責任を負うことになります。

クレジットカードの決済関連する名称

ネットショップにおいて、クレジットカードを決済代行会社に申し込みをし、審査を受けて利用できるようになるのが、基本的な流れになると思います。その中で以下の関係名称が出ていますので、簡単にまとめます。

1. アクワイアラ(Acquirer)

アクワイアラは、クレジットカードの決済を処理する銀行や金融機関のことです。ネットショップでお客様がクレジットカードを使って支払いをする際、アクワイアラはそのカードの情報を受け取り、カード会社に対して承認を求めます。そして、承認が得られたら、その金額をショップの口座に入金します。簡単に言うと、お店側(ネットショップ)の代わりにカード決済の手続きをしてくれる銀行です。

2. 決済代行会社 (PSP: Payment Service Provider)

決済代行会社は、ネットショップと複数の決済手段(クレジットカード、銀行振込、電子マネーなど)をつなぐサービス提供者です。PSPを利用することで、ネットショップは一つのシステムを通じて、様々な決済方法を提供できます。要するに、お店がいろいろな支払い方法を簡単に使えるようにするサービスです。

3. イシュア(Issuer)

イシュアは、クレジットカードを発行する銀行や金融機関のことです。例えば、クレジットカード会社からお客様にカードが発行されますが、そのカードを発行するのがイシュアです。イシュアはお客様がカードを使って支払いをする際、その支払いを承認し、お金を立て替えます。カードを持っているお客様の側をサポートする銀行と思ってください。

4. EC 加盟店

EC 加盟店とは、ネットショップで決済契約をしている会社等になります。

セキュリティチェックリストに基づく対策措置状況申告書の内容について

申告書の申告内容は[(2)カード会員データの漏えい等対策][(3)不正ログイン対策]の二つになります。

(2)カード会員データの漏えい等対策

申告書を見てもらうとわかるのですが、この項目は一つでも×があると、代替手段を対応していることを申告しないといけなくなります。これは結構ハードルが高い対策となります。
いくつかのサーバーでは元から対応できないものもありますので、その場合は対策をとった上で、「各種対策未充足時における代替策」の部分に記載をする必要があります。

①管理者画面のアクセス制限と管理者のID/PW管理

管理者のアクセス可能なIPアドレスを制限する。IPアドレスを制限できない場合は管理画面にベーシック認証等のアクセス制限を設ける。

WordPress の場合は wp-admin や wp-login.php にIPアドレスの制限かベーシック認証をつけなさいということです。あくまで管理画面に入る時もしくは入った後にIPアドレスの制限かベーシック認証が義務付けられるという意味です。

これは、基本的にサーバー側で設定をする必要がある内容となります。

取得されたアカウントを不正使用されないよう二段階認証または二要素認証を採用する。

WordPress では管理者アカウントに関しては二段階認証を必須にすることとなります。ちなみに後で記載がありますが、一般の顧客に対しても実装する提案がありますが、一般顧客向けに二段階認証は顧客層によってはUXを考えると導入が難しいかと思いますが、管理者向けに関しては必須となりますので、その点注意してください。

管理者画面のログインフォームでは、アカウントロック機能を有効にし、10回以下(PCIDSS ver4.0基準)のログイン失敗でアカウントをロックする。

WordPress の管理者のログインの失敗に関して、制限を設けるようにということです。ちなみに後で記載がありますが、一般の顧客に対しても実装する対策がありますので、これは一般向けにも実装した方が良いと思います。

こちらは、8月中に Japanized for WooCommerce に実装しますので、今しばらくお待ちください。

②データディレクトリの露見に伴う設定不備への対策

公開ディレクトリには、重要なファイルを配置しない。
(特定のディレクトリを非公開にする。公開ディレクトリ以外に重要なファイルを配置する。)

WordPress の場合は、重要なファイルといえば、wp-config.php ファイルとなります。これを、公開ディレクトリではなくて、その一つ下のディレクトリに移動する必要があります。様々な WordPress 簡単インストールが提供されているので、一部のそのプログラムでは自動的に wp-config.php ファイルを公開ディレクトリ外においてくれるものもありますが、基本的には公開ディレクトリ内においてあることがほとんどです。

これは、レンタルサーバーの種類によっては変更ができません。WordPress.com や XServer では、変更することが出来ない対策です。この場合は、正直に×をつけて別途対策を講じる必要があります。

Web サーバや Web アプリケーションによりアップロード可能な拡張子やファイルを制限する等の設定を行う。

Web アプリケーションとしての WordPress ではカスタマイズをしない限り、アップロード可能な拡張子は制限されていますので、特にアップロード部分のカスタマイズをしていない場合は別段対応をする必要はありません。ただ、ファイルアップロード関連の拡張プラグインなどを利用されている場合は、必ず必要以外のものは制限をかけるように設定する必要があります。

③Webアプリケーションの脆弱性対策

脆弱性診断またはペネトレーションテストを定期的に実施し、必要な修正対応を行う。

これは、WordPress および WooCommerce だけを利用して、公式のプラグインだけを利用していた場合は、アップデートを継続的に行うことで対策ができたということができます。ただし、注意なのが、小テーマを開発して利用したり、カスタマイズプラグインを作って独自のカスタマイズをした場合は、定期的にテーマやプラグインの脆弱性診断を行い、コードの修正を行う必要があるということです。

WordPress では公式にプラグインの診断プラグイン Plugin Check (PCP) があります。このプラグインは本来はプラグインを最初に審査する際にスムーズに進められるようにするために作られたものですが、現在ではアクティブサイトの多いプラグインに対して定期的に掛けられ、守られていなかった場合はWordPress.org から連絡が来たりするようになっています。このプラグインを利用することによって、WordPress 基準のセキュリティーチェックを行うことができます。ただ、チェックが出来るだけで、コードの修正はそれぞれでやらないといけないので、PHP や React などが使える人がいない場合は、開発会社に依頼しないといけない形となります。

SQLインジェクションの脆弱性やクロスサイト・スクリプティングの脆弱性対策として、最新のプラグインの使用(当該脆弱性が無いものが望ましい)やソフトウェアのバージョンアップを行う。

こちらはデータベースへ外部から入れないように処理をちゃんと施した状態にしましょうという形です。WordPress や WooCommerce で公式プラグインだけを利用している場合は、ほとんどの場合アップデート対応をしていればこれには対策できているとみて大丈夫です。

ただ、WordPress の自動アップデートを WooCommerce で使うことはあまり推奨していません。定期的にスケジュールを組んでアップデートするようにした方が良いと思います。

また、CLOUDFLAREを利用することでも対応可能です。

Web アプリケーションを開発またはカスタマイズされている場合には、セキュアコーディング済みか、ソースコードレビューを行い確認。その際は、入力フォームの入力値チェックも行う。

WordPress の場合は、先に紹介した Plugin Check (PCP) を開発時に必ず使うようにすることによって、ある程度対策ができていることとなります。このプラグインのチェックを通れば、WordPress の基本セキュアコーディングができていると見ることができます。ただ、バリデーションに関しては、色々なパターンがあるため対応していませんので、この部分は開発者がしっかりと開発する必要があります。

一番、怖いのが、技術力のない開発者がカスタマイズ用のプラグインを開発する場合に、ググったり、ChatGPT が教えてくれたコードを中心に作っていた場合、動く事だけを確認してセキュアコーディング出来ていない場合が多いので注意が必要です。

私も ChatGPT や CoPilot を利用しますが、あくまで効率化のために利用しており、セキュリティーチェックは別途対応します。便利なツールを使うことは推奨しますが、そのツールだけでは完結できないということは開発者としては常に注意が必要です。

④マルウェア対策としてのウイルス対策ソフトの導入、運用

マルウェア検知/除去などの対策としてウイルス対策ソフトを導入して、シグネチャーの更新や定期的なフルスキャンなどを行う。

この対応に関しては別途サービスを利用するのがベストです。自社でマルウェア対策をするのは、なかなか難しい内容です。WordPress であれば JetPack Sceruity を利用すると検知に関しては対応できます。もちろん、JetPack Security 以外にも複数のプラグインがありますが、内容をしっかりと確認して導入する場合は検討する必要があります。

また、この項目に関しては検知だけでなく除去も必要となります。そのため、除去対策も検討しておかないといけません。

⑤悪質な有効性確認、クレジットマスターへの対策

悪質な有効性確認、クレジットマスターに対して、セキュリティ・チェックリストへ記載の対策を1つ以上実施している。

「クレジットマスター」とは「クレジットカード番号等の採番の規則性を悪用し、機械的にクレジットカード番号を生成すること。」を言います。簡単にいうと「不正利用対策」の一環です。何度も決済に失敗出来るようにするのではなく、5分以内に3回以上決済に失敗をした場合は、そのアカウントはIPアドレスから30分から1時間決済ができなくするなどの処理が必要だということです。これは、WordPressのプラグイン等で対応が可能な内容となります。

(3)不正ログイン対策

不正ログイン対策に関しては「A 会員登録時」「B ログイン認証時」「C 属性変更時」の3つの項目に対して、4つか5つかの内容の内一つでも対応していたら対策をしたということになりますので、比較的対策しやすいものとなります。

①不審な IP アドレスからのアクセス制限(A,B,C 対応)

まず、不審なIPアドレスを一個人で判別するのは、無理なのでサービスを利用するのが一番です。WordPress のプラグインの中では、WordFenceの Premimum( 119.00 USD /per year )以上のサービスで対応してくれます。

無料で抑えたい場合は、こちらはちょっと難しい内容になると思います。

②二要素認証等による本人確認(A,B,C 対応)

二要素認証などによる本人確認は不正利用などにはとても効果的になりますが、ログインの煩雑さが発生するという問題点があります。高額商品であれば、そこまでしても購入者は買うように考えるかもしれませんが、定額商品の場合は手間が増えてしまい、カゴ落ちの確率を上げてしまう可能性が高いことを理解する必要があります。

WordPress の2段階認証プラグインで有名な miniOrange's Google Authenticator などを利用するのが良いでしょう。

個人的には WooCommerce でパスキーを使えるプラグインを開発したいなと思っているところです。

③ 会員登録時の個人情報確認(氏名・住所・電話番号・メールアドレス等)(A 対応)

これは、通常の物販のECサイトを運営されている場合はチェックを入れられるのではないかと思います。

ただ、コンテンツサイトでメールアドレスのみで対応している場合は追加する必要があります。EMV-3DSにおいては住所情報はかなり必須になっているので、クレジットカードを利用する場合は、そこまで情報が必要になってくる可能性があります。

④ ログイン試行回数の制限強化(アカウントパスワードクラッキングの対応)(B 対応)

これは、ログインが複数回失敗した場合に一定の期間ログインが出来なくするプログラムです。

こちらは、8月中に Japanized for WooCommerce に実装しますので、今しばらくお待ちください。

⑤ ログイン時のメールや SMS 通知、スロットリング等(B 対応)

ログイン時にメールやSNSで通知を実装することによって、不正ログインのチェックが出来るようにする仕組みです。

こちらも、8月中に Japanized for WooCommerce に実装しますので、今しばらくお待ちください。

⑥ 不正検知システム(Fraud サービス)(A,C 対応)

会員登録時に不正検知システムを入れることはとても大切です。日本では「O-PLUX」が有名だと思います。有料ですが、月額4,000円から利用できることもあり、日本独特の住所対応などをしているので、このサービスを利用するのがベストです。

現在、WooCommerce に対応するプラグインの開発も前向きに協議中ですので、今しばらくお待ちください。

⑦ デバイスフィンガープリント等(B,C 対応)

「デバイスフィンガープリント」とは、ハードウェアやソフトウェア、ブラウザが保有する固有の情報です。クッキーに取って代わる仕組みとして作られたものです。「デバイスフィンガープリント」には、IPアドレスやHTTPリクエストヘッダ、プラグイン、タイムゾーン、使用フォント、タイムスタンプなどが含まれます。

ただ、この技術はクッキーと同様にユーザーのトラッキングが可能になりますので、プライバシーの懸念もあり、規制が強化されています 。個人的にこれを項目を追加している時点で時代遅れな技術をメインにおいているのはどうかなと思いますが。(ただ、このガイドラインが出来たのが2019年ということを考えれば理解できるのですが、アップデートしないのかなと。)

先に書いたように、現在の流行りというか流れ的にはパスキーによる不正ログイン対策がいいかと思っています。ユーザーのUX的にも。多分、パスキーで対応すれば、この項目に丸をつけていいと思います。

ちなみに、「デバイスフィンガープリント」と「パスキー」の違いは以下の通りです。フロントエンドの動きからすると似ているのですが、認証の方法がまったく違う形となります。

  1. デバイスフィンガープリント:
    • デバイスフィンガープリントは、ユーザーが使用するブラウザやデバイスの情報(例: OS、ブラウザの種類、プラグイン、画面解像度など)を組み合わせて、そのユーザーを識別する技術です。
  2. パスキー:
    • パスキーは、FIDO アライアンスと W3C が開発したパスワードを不要にする認証技術です。パスキーを使用することで、デバイスに保存された秘密鍵と公開鍵を利用し、安全にユーザーを認証します。この技術により、フィッシングなどの攻撃を防ぎ、パスワードの漏洩リスクを低減できます 。

主な違い:

  • デバイスフィンガープリントはユーザーの識別とトラッキングに重点を置いており、プライバシーに関する問題が多い一方、パスキーは安全な認証手段として、特にパスワードの代替として利用されます。

SoftStepsEC のサーバーではすべて対応

上記の対応を、SoftStepsEC のサーバーは対応しております。「委託企業」として、弊社を記載頂きまして、あとは、弊社の指示の通りチェックを入れて頂ければ大丈夫です。

これも、Woo Agency として公式に認められた企業となりますので、安心してお任せいただけます。是非ご検討ください。

また、購入前のオンライン相談も対応しておりますので、もし購入前に話を聞きたい場合は以下よりスケジュールを抑えてください。