特許第6743319号(P6743319)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 楽天株式会社の特許一覧

特許6743319不正推定システム、不正推定方法、及びプログラム
<>
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000002
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000003
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000004
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000005
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000006
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000007
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000008
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000009
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000010
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000011
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000012
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000013
  • 特許6743319-不正推定システム、不正推定方法、及びプログラム 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6743319
(24)【登録日】2020年7月31日
(45)【発行日】2020年8月19日
(54)【発明の名称】不正推定システム、不正推定方法、及びプログラム
(51)【国際特許分類】
   G06F 21/31 20130101AFI20200806BHJP
【FI】
   G06F21/31
【請求項の数】11
【全頁数】27
(21)【出願番号】特願2020-505292(P2020-505292)
(86)(22)【出願日】2019年6月26日
(86)【国際出願番号】JP2019025366
【審査請求日】2020年1月30日
【早期審査対象出願】
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】特許業務法人はるか国際特許事務所
(72)【発明者】
【氏名】友田 恭輔
【審査官】 上島 拓也
(56)【参考文献】
【文献】 特表2004−537781(JP,A)
【文献】 特開2010−026547(JP,A)
【文献】 特開2011−160029(JP,A)
【文献】 特開2018−063728(JP,A)
【文献】 特開2015−170219(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/31
G06Q 20/40
(57)【特許請求の範囲】
【請求項1】
一のサービスにおけるユーザのユーザ情報と他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、前記一のサービスにおける不正の有無と、の関係が学習された学習モデルを記憶する記憶手段と、
前記一のサービスにおける対象ユーザのユーザ情報と、前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する比較結果取得手段と、
前記比較結果に基づいて、前記学習モデルの出力を取得する出力取得手段と、
前記学習モデルの出力に基づいて、前記対象ユーザの不正を推定する推定手段と、
を含むことを特徴とする不正推定システム。
【請求項2】
前記学習モデルには、複数の他のサービスにそれぞれ対応する複数の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、
前記比較結果取得手段は、前記複数の他のサービスにそれぞれ対応する複数の比較結果を取得し、
前記出力取得手段は、前記複数の比較結果に基づいて、前記学習モデルの出力を取得する、
ことを特徴とする請求項1に記載の不正推定システム。
【請求項3】
前記学習モデルには、前記一のサービスにおける利用状況と、前記一のサービスにおける不正の有無と、の関係も学習されており、
前記不正推定システムは、前記対象ユーザによる前記一のサービスの利用状況を取得する利用状況取得手段を更に含み、
前記出力取得手段は、前記対象ユーザによる利用状況に基づいて、前記学習モデルの出力を取得する、
ことを特徴とする請求項1又は2に記載の不正推定システム。
【請求項4】
前記一のサービスでは、所定項目のユーザ情報に基づいて不正が推定され、
前記利用状況は、前記所定項目に関する利用状況である、
ことを特徴とする請求項3に記載の不正推定システム。
【請求項5】
前記一のサービス及び前記他のサービスでは、複数項目のユーザ情報が登録され、
前記学習モデルには、前記複数項目にそれぞれ対応する複数の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、
前記比較結果取得手段は、前記複数項目にそれぞれ対応する複数の比較結果を取得し、
前記出力取得手段は、前記複数の比較結果に基づいて、前記学習モデルの出力を取得する、
ことを特徴とする請求項1〜4の何れかに記載の不正推定システム。
【請求項6】
前記他のサービスでは、所定項目のユーザ情報に基づいて不正が推定され、
前記学習モデルには、前記所定項目のユーザ情報の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、
前記比較結果取得手段は、前記所定項目の比較結果を取得する、
ことを特徴とする請求項1〜5の何れかに記載の不正推定システム。
【請求項7】
前記他のサービスでは、第1項目のユーザ情報に基づいて不正が推定され、
前記学習モデルには、第2項目のユーザ情報の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、
前記比較結果取得手段は、前記第2項目の比較結果を取得する、
ことを特徴とする請求項1〜6の何れかに記載の不正推定システム。
【請求項8】
前記他のサービスでは、前記一のサービスにおける対象ユーザのユーザ情報と、前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、が比較され、
前記比較結果取得手段は、前記他のサービスから比較結果を取得する、
ことを特徴とする請求項1〜7の何れかに記載の不正推定システム。
【請求項9】
前記不正推定システムは、前記対象ユーザによる前記一のサービスの利用要求を受け付ける受付手段を更に含み、
前記推定手段は、前記対象ユーザにより前記一のサービスが利用される場合に、前記対象ユーザの不正を推定する、
ことを特徴とする請求項1〜8の何れかに記載の不正推定システム。
【請求項10】
コンピュータに、
一のサービスにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する比較結果取得ステップと、
前記比較結果に基づいて、前記一のサービスにおけるユーザのユーザ情報と前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、前記一のサービスにおける不正の有無と、の関係が学習された学習モデルの出力を取得する出力取得ステップと、
前記学習モデルの出力に基づいて、前記対象ユーザの不正を推定する推定ステップと、
実行させることを特徴とする不正推定方法。
【請求項11】
一のサービスにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する比較結果取得手段、
前記比較結果に基づいて、前記一のサービスにおけるユーザのユーザ情報と前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、前記一のサービスにおける不正の有無と、の関係が学習された学習モデルの出力を取得する出力取得手段、
前記学習モデルの出力に基づいて、前記対象ユーザの不正を推定する推定手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、不正推定システム、不正推定方法、及びプログラムに関する。
【背景技術】
【0002】
従来、インターネット等で提供されるサービスにおけるユーザの不正を推定する技術が検討されている。例えば、特許文献1には、不正とされたユーザを示すブラックリストを管理するシステムにおいて、新規登録するユーザのウェブサイトの閲覧履歴などの行動履歴を取得し、ブラックリスト内のユーザの行動履歴と比較して、新規登録するユーザの信用度を推定することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2018−045573号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、不正をするユーザの行動には種々の傾向があり、新規登録をするユーザが不正をするおそれがあったとしても、ブラックリスト内のユーザの行動履歴に似ているとは限らない。特許文献1の技術では、ブラックリスト内のユーザと似た行動をするユーザしか検出することができず、不正推定の精度を十分に高めることができなかった。
【0005】
本発明は上記課題に鑑みてなされたものであって、その目的は、推定精度を高めることが可能な不正推定システム、不正推定方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明に係る不正推定システムは、一のサービスにおけるユーザのユーザ情報と他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、前記一のサービスにおける不正の有無と、の関係が学習された学習モデルを記憶する記憶手段と、前記一のサービスにおける対象ユーザのユーザ情報と、前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する比較結果取得手段と、前記比較結果に基づいて、前記学習モデルの出力を取得する出力取得手段と、前記学習モデルの出力に基づいて、前記対象ユーザの不正を推定する推定手段と、を含むことを特徴とする。
【0007】
本発明に係る不正推定方法は、一のサービスにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する比較結果取得ステップと、前記比較結果に基づいて、前記一のサービスにおけるユーザのユーザ情報と前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、前記一のサービスにおける不正の有無と、の関係が学習された学習モデルの出力を取得する出力取得ステップと、前記学習モデルの出力に基づいて、前記対象ユーザの不正を推定する推定ステップと、を含むことを特徴とする。
【0008】
本発明に係るプログラムは、一のサービスにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する比較結果取得手段、前記比較結果に基づいて、前記一のサービスにおけるユーザのユーザ情報と前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、前記一のサービスにおける不正の有無と、の関係が学習された学習モデルの出力を取得する出力取得手段、前記学習モデルの出力に基づいて、前記対象ユーザの不正を推定する推定手段、としてコンピュータを機能させる。
【0009】
本発明の一態様によれば、前記学習モデルには、複数の他のサービスにそれぞれ対応する複数の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、前記比較結果取得手段は、前記複数の他のサービスにそれぞれ対応する複数の比較結果を取得し、前記出力取得手段は、前記複数の比較結果に基づいて、前記学習モデルの出力を取得する、ことを特徴とする。
【0010】
本発明の一態様によれば、前記学習モデルには、前記一のサービスにおける利用状況と、前記一のサービスにおける不正の有無と、の関係も学習されており、前記不正推定システムは、前記対象ユーザによる前記一のサービスの利用状況を取得する利用状況取得手段を更に含み、前記出力取得手段は、前記対象ユーザによる利用状況に基づいて、前記学習モデルの出力を取得する、ことを特徴とする。
【0011】
本発明の一態様によれば、前記一のサービスでは、所定項目のユーザ情報に基づいて不正が推定され、前記利用状況は、前記所定項目に関する利用状況である、ことを特徴とする。
【0012】
本発明の一態様によれば、前記一のサービス及び前記他のサービスでは、複数項目のユーザ情報が登録され、前記学習モデルには、前記複数項目にそれぞれ対応する複数の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、前記比較結果取得手段は、前記複数項目にそれぞれ対応する複数の比較結果を取得し、前記出力取得手段は、前記複数の比較結果に基づいて、前記学習モデルの出力を取得する、ことを特徴とする。
【0013】
本発明の一態様によれば、前記他のサービスでは、所定項目のユーザ情報に基づいて不正が推定され、前記学習モデルには、前記所定項目のユーザ情報の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、前記比較結果取得手段は、前記所定項目の比較結果を取得する、ことを特徴とする。
【0014】
本発明の一態様によれば、前記他のサービスでは、第1項目のユーザ情報に基づいて不正が推定され、前記学習モデルには、第2項目のユーザ情報の比較結果と、前記一のサービスにおける不正の有無と、の関係が学習されており、前記比較結果取得手段は、前記第2項目の比較結果を取得する、ことを特徴とする。
【0015】
本発明の一態様によれば、前記他のサービスでは、前記一のサービスにおける対象ユーザのユーザ情報と、前記他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、が比較され、前記比較結果取得手段は、前記他のサービスから比較結果を取得する、ことを特徴とする。
【0016】
本発明の一態様によれば、前記不正推定システムは、前記対象ユーザによる前記一のサービスの利用要求を受け付ける受付手段を更に含み、前記推定手段は、前記対象ユーザにより前記一のサービスが利用される場合に、前記対象ユーザの不正を推定する、ことを特徴とする。
【発明の効果】
【0017】
本発明によれば、推定精度を高めることが可能となる。
【図面の簡単な説明】
【0018】
図1】本実施形態に係る不正推定システムの全体構成を示す図である。
図2】不正推定システムの処理の概要を示す説明図である。
図3】不正推定システムで実現される機能の一例を示す機能ブロック図である。
図4】サービスAのユーザデータベースのデータ格納例を示す図である。
図5】サービスAのブラックリストのデータ格納例を示す図である。
図6】サービスBのユーザデータベースのデータ格納例を示す図である。
図7】サービスBのブラックリストのデータ格納例を示す図である。
図8】サービスCのユーザデータベースのデータ格納例を示す図である。
図9】サービスCのブラックリストのデータ格納例を示す図である。
図10】利用状況データベースのデータ格納例を示す図である。
図11】教師データのデータ格納例を示す図である。
図12】不正推定システムにおいて実行される処理の一例を示すフロー図である。
図13】不正推定システムにおいて実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0019】
[1.不正推定システムの全体構成]
以下、本発明に係る不正推定システムの実施形態の例を説明する。図1は、本実施形態に係る不正推定システムの全体構成を示す図である。図1に示すように、不正推定システムSは、サービス提供システム1a〜1cとユーザ端末20とを含み、これらは、インターネットなどのネットワークNに接続可能である。
【0020】
サービス提供システム1a〜1cの各々は、ユーザにサービスを提供するためのシステムである。サービス提供システム1a〜1cの各々は、任意の種類のサービスを提供可能であり、例えば、電子決済サービス、金融サービス、電子商取引サービス、保険サービス、通信サービス、宅配サービス、又は動画視聴サービス等がユーザに提供される。本実施形態では、サービス提供システム1a〜1cが提供するサービスを、それぞれサービスA〜Cと記載する。
【0021】
例えば、サービス提供システム1a〜1cは、それぞれサーバ10a〜10cを含む。なお、以降の説明では、サービス提供システム1a〜1cを特に区別する必要のないときは、単にサービス提供システム1と記載する。同様に、サーバ10a〜10cを特に区別する必要のないときは、単にサーバ10と記載する。同様に、図1に示す制御部11a〜11c、記憶部12a〜12c、及び通信部13a〜13cを特に区別する必要のないときは、末尾のアルファベットの符号を省略する。
【0022】
サーバ10は、サーバコンピュータである。サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部は、RAMなどの揮発性メモリであり、補助記憶部は、ROM、EEPROM、フラッシュメモリ、又はハードディスクなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースであり、ネットワークNを介してデータ通信を行う。
【0023】
ユーザ端末20は、ユーザが操作するコンピュータである。例えば、ユーザ端末20は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、又はパーソナルコンピュータ等である。本実施形態では、ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
【0024】
操作部24は、入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイス、キーボード、又はボタン等である。操作部24は、ユーザによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画像を表示する。
【0025】
なお、記憶部12,22に記憶されるものとして説明するプログラム及びデータは、ネットワークNを介して供給されるようにしてもよい。また、上記説明した各コンピュータのハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器とデータの入出力をするための入出力部(例えば、USBポート)が含まれていてもよい。例えば、情報記憶媒体に記憶されたプログラムやデータが読取部や入出力部を介して、各コンピュータに供給されるようにしてもよい。
【0026】
また、サービス提供システム1の数は、任意であってよく、3つに限られない。例えば、2つのサービス提供システム1が存在してもよいし、4つ以上のサービス提供システムが存在してもよい。また例えば、1つのサービス提供システム1によって、複数のサービスが提供されてもよい。また、サービス提供システム1には、少なくとも1つのコンピュータが含まれていればよく、例えば、複数のサーバ10が含まれていてもよいし、サーバコンピュータ以外のコンピュータが含まれていてもよい。また、図1では、ユーザ端末20を1つだけ示したが、複数のユーザ端末20が存在してもよい。
【0027】
[2.不正推定システムの概要]
本実施形態では、サービス提供システム1は、不正ユーザを示すブラックリストを管理する。
【0028】
不正ユーザは、実際に不正を働いたユーザを意味してもよいし、将来的に不正を働く恐れのあるユーザを意味してもよい。例えば、サービス規約に違反する行為をしたユーザ、法律に違反する行為をしたユーザ、又はこれらの恐れがあるユーザは、不正ユーザに相当する。また例えば、不正アクセス、クレジットカードの不正利用、他人のアカウントの乗っ取り、ハッキング、クラッキング、悪意のある投稿、意図的な大量のアクセス、又は他のユーザへの迷惑行為をしたユーザは、不正ユーザに相当する。
【0029】
ブラックリストは、不正ユーザに関するユーザ情報が格納されたリストである。別の言い方をすれば、ブラックリストは、不正ユーザを識別可能なデータである。ブラックリストに載った不正ユーザは、サービスの利用が制限される。例えば、ユーザID(ユーザアカウント)自体が停止すること、又は、サービスの一部の機能を使用不可にすることは、サービスの利用を制限することに相当する。なお、不正が推定された場合に、直ちにサービスの利用が制限される必要はなく、管理者の審査が行われた後にサービスの利用が制限されてもよいし、ユーザに対する追加の認証が行われた後にサービスの利用が制限されてもよい。
【0030】
ブラックリストは、サービスの管理者によって手動で編集されてもよいし、サービス提供システム1によりユーザの行動が解析されることによって自動的に編集されてもよい。また、ブラックリストに格納されるユーザ情報の項目(以降、ブラックリスト項目という。)は、全サービスで共通であってもよいが、本実施形態では、サービスに応じたブラックリスト項目が定められているものとする。
【0031】
例えば、サービスAのブラックリスト項目は、ユーザ端末20のIPアドレスと、ユーザ端末20のデバイスIDと、の2つであり、サービスAのブラックリストには、サービスAにおける不正ユーザのIPアドレスとデバイスIDが格納される。サービス提供システム1aは、サービスAを利用しようとしているユーザのIPアドレス又はデバイスIDがブラックリストに格納されているか否かを判定する。サービス提供システム1aは、IPアドレス又はデバイスIDがブラックリストに格納されているユーザによるサービスAの利用を制限する。なお、IPアドレス又はデバイスIDの何れかがブラックリストに格納されていることではなく、これらの両方がブラックリストに格納されていることを条件として、サービスAの利用が制限されてもよい。
【0032】
また例えば、サービスBのブラックリスト項目は、ユーザの住所と、ユーザ端末20のIPアドレスと、の2つであり、サービスBのブラックリストには、サービスBにおける不正ユーザの住所とデバイスIDが格納される。サービス提供システム1bは、サービスBを利用しようとしているユーザの住所又はIPアドレスの何れかがブラックリストに格納されているか否かを判定する。サービス提供システム1bは、住所又はIPアドレスの何れかがブラックリストに格納されているユーザによるサービスBの利用を制限する。なお、住所又はIPアドレスの何れかがブラックリストに格納されていることではなく、これらの両方がブラックリストに格納されていることを条件として、サービスBの利用が制限されてもよい。
【0033】
また例えば、サービスCのブラックリスト項目は、ユーザの名前と、ユーザのクレジットカードのカード番号と、の2つであり、サービスCのブラックリストには、サービスCにおける不正ユーザの名前とカード番号が格納される。サービス提供システム1cは、サービスCを利用しようとしているユーザの名前又はカード番号の何れかがブラックリストに格納されているか否かを判定する。サービス提供システム1cは、名前又はカード番号の何れかがブラックリストに格納されているユーザによるサービスCの利用を制限する。なお、名前又はカード番号の何れかがブラックリストに格納されていることではなく、これらの両方がブラックリストに格納されていることを条件として、サービスCの利用が制限されてもよい。
【0034】
上記のように、サービス提供システム1は、自身のブラックリストに載っている不正ユーザによるサービスの利用を制限する。しかしながら、サービス提供システム1のブラックリストに載っていなかったとしても、不正を働くユーザは存在するので、自身のブラックリストを活用するだけでは、このようなユーザの不正を防止できないことがある。
【0035】
例えば、サービスCにおける不正ユーザが、ブラックリストに格納されたカード番号とは別のカード番号を利用して不正を働く場合、当該別のカード番号は、サービスCのブラックリストに載っていないので、不正を防止することができない。この点、不正ユーザは、他のサービスA,Bでも不正を働いていることがあり、サービスCに登録した他の項目のユーザ情報(例えば、住所など)を、他のサービスA,Bに登録していることがある。このため、サービスCを利用するユーザのユーザ情報が、他のサービスA,Bにおける不正ユーザのユーザ情報と一致していることを検出できれば、不正を未然に防止することができる。
【0036】
そこで、不正推定システムSでは、あるサービス提供システム1のユーザが不正ユーザであるか否かを、他のサービス提供システム1のブラックリストを利用して推定するようにしている。本実施形態では、サービスCを利用するユーザの不正を、サービスA,Bのブラックリストを利用して推定する場合を例に挙げて、不正推定システムSの処理を説明する。
【0037】
図2は、不正推定システムSの処理の概要を示す説明図である。図2に網掛けで示す項目は、ブラックリスト項目である。先述したように、サービスAのブラックリスト項目はIPアドレスとデバイスIDであり、サービスBのブラックリスト項目は住所とIPアドレスであり、サービスCのブラックリスト項目は名前とカード番号である。
【0038】
図2に示すように、サービスCを利用するユーザUは、ユーザID、名前、住所、電話番号、生年月日、カード番号、ユーザ端末20のIPアドレス、及びデバイスIDといった複数項目のユーザ情報を予め登録している。なお、本実施形態では、ユーザ登録時にユーザUが自分でユーザIDを入力する場合を説明するが、ユーザIDは、サービス提供システム1cが自動的に割り当ててもよい。また、ユーザ登録は必須ではなく、サービスCの利用時にその場で名前や住所などのユーザ情報を入力させてもよい。
【0039】
ユーザUがサービスCを利用する場合、サービス提供システム1cは、サービス提供システム1aに対し、ユーザUのIPアドレスとデバイスID(サービスAのブラックリスト項目)の比較を依頼する。同様に、サービス提供システム1cは、サービス提供システム1bに対し、ユーザUの住所とIPアドレス(サービスBのブラックリスト項目)の比較を依頼する。即ち、サービス提供システム1cは、サービス提供システム1a,1bに対し、サービスCを利用するユーザUが、サービスA,Bにおける不正ユーザと同一人物であるか否かの判定を依頼する。
【0040】
サービス提供システム1aは、自身のブラックリストに載った不正ユーザのIPアドレス及びデバイスIDを参照し、サービス提供システム1cから受信したIPアドレス及びデバイスIDと比較する。同様に、サービス提供システム1bは、自身のブラックリストに載った不正ユーザの住所及びIPアドレスを参照し、サービス提供システム1cから受信した住所及びIPアドレスと比較する。
【0041】
サービス提供システム1a,1bの各々は、サービス提供システム1cに対し、比較結果(IPアドレス等のユーザ情報が一致しているか否か)を送信する。ユーザUのユーザ情報と、サービスA,Bにおける不正ユーザのユーザ情報と、が一致していない場合には、ユーザUは、サービスA,Bにおける不正ユーザとは異なる蓋然性が高い。一方、ユーザUのユーザ情報と、サービスA,Bにおける不正ユーザのユーザ情報と、が一致している場合には、ユーザUは、サービスA,Bにおける不正ユーザと同じである蓋然性が高い。
【0042】
この点、ユーザUが、サービスA,Bの不正ユーザと同じである蓋然性が高かったとしても、サービスCにおいて不正を働くとは限らない。例えば、各サービスA〜Cは、それぞれ独自の観点で不正検知が行われており、サービスCとは大きく異なる観点で不正検知が行われるサービスについては、比較結果をあまり信用できないことがある。サービス提供システム1a,1bからの比較結果をそのまま信用すると、サービスを制限する判定基準が厳しくなりすぎてしまい、サービスCでは不正とされないユーザについても、サービスの利用が制限されてしまう可能性がある。
【0043】
そこで、サービス提供システム1cは、サービスA,Bからの比較結果と、サービスCにおける不正の有無と、の関係を学習させた学習モデルを利用して、ユーザUの不正を推定するようにしている。本実施形態では、不正の推定精度を更に高めるために、サービスCにおける利用状況と不正の有無との関係も学習モデルに学習されている。
【0044】
学習モデルは、学習済みのモデルである。学習モデルは、学習器、分類器、又は分類学習器と呼ばれることもある。本実施形態では、ユーザUが不正ユーザであるか否かを分類するための学習モデルが用いられる。機械学習自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク、強化学習、又は深層学習といった手法を利用可能である。機械学習は、教師有り機械学習に限られず、半教師有り機械学習が用いられてもよいし、教師無し機械学習が用いられてもよい。
【0045】
例えば、学習モデルは、入力されたデータの特徴量を計算し、当該データに関する分類を行う。特徴量は、データの特徴を示す数値であり、例えば、n(nは自然数)次元のベクトル、又は、n個の要素からなる配列で示される。なお、学習モデルとは別に、特徴量を計算するためのアルゴリズムを用意してもよい。この場合、学習モデルは、特徴量を計算する必要がなく、当該アルゴリズムによって計算された特徴量が学習モデルに入力される。
【0046】
サービス提供システム1cは、サービスCにおけるユーザUの利用状況と、サービス提供システム1a,1bから取得した比較結果と、を示すデータを学習モデルに入力する。学習モデルは、当該データの特徴量を計算し、ユーザUを不正又は正当の何れかに分類し、分類結果を出力する。サービス提供システム1cは、学習モデルからの出力に基づいて、ユーザUの不正を推定する。
【0047】
サービス提供システム1cは、学習モデルからの出力が正当を示していれば、サービスCにおいてユーザUが不正ではないと推定し、サービスCの利用を許可する。一方、サービス提供システム1cは、学習モデルからの出力が不正を示していれば、サービスCにおいてユーザUが不正であると推定し、サービスCの利用を制限する。
【0048】
以上のように、本実施形態の不正推定システムSは、学習モデルを利用して、サービスCを利用するユーザUの不正を推定することによって、不正の推定精度を高めるようにしている。以降、この技術の詳細を説明する。なお、以降の説明では、サービスCにユーザ登録するユーザUの符号を省略する。
【0049】
[3.不正推定システムにおいて実現される機能]
図3は、不正推定システムSで実現される機能の一例を示す機能ブロック図である。本実施形態では、サービス提供システム1a,1bで実現される機能と、サービス提供システム1cで実現される機能と、が異なる場合を説明するが、後述する変形例のように、サービス提供システム1a〜1cの各々は、同様の機能を有していてもよい。
【0050】
[3−1.サービスAにおいて実現される機能]
図3に示すように、サービスAのサービス提供システム1aでは、データ記憶部100aと比較部101aとが実現される。
【0051】
[データ記憶部]
データ記憶部100aは、記憶部12aを主として実現される。データ記憶部100aは、本実施形態で説明する処理を実行するために必要なデータを記憶する。ここでは、データ記憶部100aが記憶するデータの一例として、サービスAのユーザデータベースDB1aと、サービスAのブラックリストBLaと、について説明する。
【0052】
図4は、サービスAのユーザデータベースDB1aのデータ格納例を示す図である。図4に示すように、ユーザデータベースDB1aは、サービスAにユーザ登録したユーザのユーザ情報が格納されるデータベースである。例えば、ユーザデータベースDB1aには、ユーザを一意に識別するユーザIDと、ユーザ登録時にユーザが登録した登録情報と、が格納される。登録情報は、ユーザID以外のユーザ情報であり、例えば、ユーザの個人情報である。
【0053】
ユーザデータベースDB1aには、複数項目の各々のユーザ情報が格納される。項目とは、ユーザ情報の種類又は内容である。図4に示すように、本実施形態では、ユーザデータベースDB1aには、ユーザID、名前、住所、電話番号、生年月日、クレジットカードのカード番号、ユーザ端末20のIPアドレス、及びユーザ端末20のデバイスIDといった8項目のユーザ情報が格納される。
【0054】
なお、ユーザデータベースDB1aに格納されるユーザ情報は、図4の例に限られない。ユーザデータベースDB1aには、任意の項目のユーザ情報が格納されるようにすればよく、例えば、勤務先、役職、年齢、性別、ニックネーム、顔写真、ユーザ端末20のSIM情報、パスワードや生体情報などの認証情報、メールアドレス、アクセス場所情報、又は、アクセス日時といった項目のユーザ情報が格納されていてもよい。
【0055】
図5は、サービスAのブラックリストBLaのデータ格納例を示す図である。本実施形態では、IPアドレスとデバイスIDの2項目がサービスAのブラックリスト項目なので、サービスAのブラックリストBLaには、サービスAにおける不正ユーザのIPアドレスとデバイスIDが格納される。例えば、サービスAの管理者は、自身の端末を操作し、不正ユーザのIPアドレスとデバイスIDをブラックリストBLaに登録する。
【0056】
また例えば、サービス提供システム1aは、ユーザの行動を解析し、所定のルールに合致するユーザを不正ユーザとして推定し、当該不正ユーザのIPアドレスとデバイスIDをブラックリストBLaに登録する。ルールは、任意のルールを適用可能であり、例えば、決済金額、決済頻度、アクセス場所、又はアクセス時間に関するルールであってもよい。また例えば、サービス提供システム1aは、ユーザの不正を検知する学習モデルを利用して不正ユーザを検出し、当該検出した不正ユーザのIPアドレスとデバイスIDをブラックリストBLaに登録してもよい。
【0057】
なお、ブラックリストBLaには、ブラックリスト項目以外の項目のユーザ情報が格納されてもよい。例えば、不正ユーザのIPアドレスとデバイスID以外の項目のユーザ情報(例えば、名前又は住所)がユーザデータベースDB1aから取得され、ブラックリスト項目であるIPアドレスとデバイスIDとともにブラックリストBLaに格納されていてもよい。
【0058】
また、図5では、IPアドレスとデバイスIDが同じブラックリストBLaに格納されている場合を説明するが、これらは、別々のブラックリストBLaに格納されていてもよい。即ち、IPアドレスのブラックリストBLaと、デバイスIDのブラックリストBLaと、が別々であってもよい。
【0059】
[比較部]
比較部101aは、制御部11aを主として実現される。比較部101aは、一のサービスにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザのユーザ情報と、を比較する。
【0060】
一のサービスとは、対象ユーザが利用するサービスである。対象ユーザとは、不正の推定対象となるユーザである。別の言い方をすれば、対象ユーザは、後述する推定部106cの処理対象となるユーザである。他のサービスとは、一のサービス以外のサービスである。他のサービスには、一のサービスと同一人物がユーザ登録していることがある。
【0061】
本実施形態では、サービスCにおけるユーザの不正が推定される場合を説明するので、サービスCは一のサービスに相当し、サービスA,Bは他のサービスに相当する。このため、本実施形態でサービスCを説明している箇所は、一のサービスと読み替えることができ、サービスA又はサービスBを説明している箇所は、他のサービスと読み替えることができる。また、サービスCにおいてユーザ登録をしようとしているユーザを説明している箇所は、対象ユーザと読み替えることができる。
【0062】
比較部101aは、サービスCにおける対象ユーザのユーザ情報と、サービスAにおける不正ユーザのユーザ情報と、を比較する。サービスAにおける不正ユーザは、サービスAのブラックリストBLaに載っているユーザである。即ち、サービスAにおける不正ユーザは、サービスAのブラックリストBLaにIPアドレス又はデバイスIDが格納されたユーザである。
【0063】
なお、本実施形態では、サービスAのブラックリスト項目であるIPアドレスとデバイスIDが比較される場合を説明するが、任意の項目のユーザ情報が比較されてよい。例えば、サービスCのブラックリスト項目である名前とカード番号が比較されてもよいし、特にブラックリスト項目ではない他の項目のユーザ情報が比較されてもよい。
【0064】
また、本実施形態では、IPアドレスとデバイスIDの2項目のユーザ情報が比較される場合を説明するが、比較されるユーザ情報の項目数は、任意であってよい。例えば、1項目のユーザ情報だけが比較されてもよいし、3項目以上のユーザ情報が比較されてもよい。更に、本実施形態では、サービスA,Bの各々で比較される項目数が同じ(2項目)である場合を説明するが、サービスによって比較される項目数やその種類が異なってもよい。
【0065】
例えば、比較部101aは、サービスCのサービス提供システム1cから、対象ユーザのIPアドレスとデバイスIDを取得する。比較部101aは、ブラックリストBLaに基づいて、サービスAにおける不正ユーザのIPアドレスとデバイスIDを取得する。
【0066】
比較部101aは、サービスCにおける対象ユーザのIPアドレス及びデバイスIDと、サービスAにおける不正ユーザのIPアドレス及びデバイスIDと、を比較する。比較部101aは、サービスCのサービス提供システム1cに対し、比較結果を送信する。比較結果は、任意のデータ形式であってよく、ユーザ情報が一致することを示す値、又は、ユーザ情報が一致しないことを示す値の何れかとなる。本実施形態では、IPアドレスとデバイスIDの2項目が比較されるので、これら2つの各々の比較結果が送信される。
【0067】
なお、本実施形態では、IPアドレスとデバイスIDが比較されるので、比較部101aがIPアドレスとデバイスIDの完全一致(同一)を判定する場合を説明するが、住所やメールアドレスなどの他のユーザ情報が比較される場合には、比較部101aはユーザ情報の部分一致(類似)を判定してもよい。即ち、サービスCの対象ユーザとサービスAの不正ユーザとが同一人物であるか否かは、完全一致ではなく、部分一致によって推定されてもよい。部分一致としては、前方一致、中間一致、又は後方一致の何れが判定されてもよい。
【0068】
[3−2.サービスBにおいて実現される機能]
図3に示すように、サービス提供システム1bでは、データ記憶部100bと比較部101bとが実現される。
【0069】
[データ記憶部]
データ記憶部100bは、記憶部12bを主として実現される。データ記憶部100bは、本実施形態で説明する処理を実行するために必要なデータを記憶する。ここでは、データ記憶部100bが記憶するデータの一例として、サービスBのユーザデータベースDB1bと、サービスBのブラックリストBLbと、について説明する。
【0070】
図6は、サービスBのユーザデータベースDB1bのデータ格納例を示す図である。図6に示すように、サービスBのユーザデータベースDB1bは、サービスBにユーザ登録したユーザのユーザ情報が格納されるデータベースである。本実施形態では、サービスAのユーザデータベースDB1aに格納される項目と、サービスBのユーザデータベースDB1bに格納される項目と、が同じ場合を説明する。サービスBのユーザデータベースDB1bに格納される各項目の詳細は、サービスAのユーザデータベースDB1aと同様のため、説明を省略する。
【0071】
本実施形態では、サービスごとに、独自のユーザIDが発行される。このため、同一人物であったとしても、サービスAのユーザIDと、サービスBのユーザIDと、は異なる。また、同一人物が複数のクレジットカードを利用する場合には、サービスAのカード番号と、サービスBのカード番号と、が異なることもある。他の項目についても同様に、同一人物であったとしても、サービスAのユーザ情報と、サービスBのユーザ情報と、が異なることもある。
【0072】
なお、サービスAのユーザデータベースDB1aに格納される項目と、サービスBのユーザデータベースDB1bに格納される項目と、は異なっていてもよい。例えば、サービスAのユーザデータベースDB1aには住所が格納されるが、サービスBのユーザデータベースDB1bには住所が格納されない、といったことがあってもよい。この点は、サービスCについても同様であり、本実施形態では、サービスCのユーザデータベースDB1cに格納される項目と、サービスA,BのユーザデータベースDB1a,DB1bに格納される項目と、が同じ場合を説明するが、これらの項目は、異なっていてもよい。各サービスには、ユーザ登録で必要な項目のユーザ情報が登録されるようにすればよい。
【0073】
図7は、サービスBのブラックリストBLbのデータ格納例を示す図である。図7に示すように、本実施形態では、住所及びIPアドレスの2項目がサービスBのブラックリスト項目なので、サービスBのブラックリストBLbには、サービスBにおける不正ユーザの住所及びIPアドレスが格納される。
【0074】
サービスBのブラックリストBLbは、ブラックリスト項目が異なるという点でサービスAのブラックリストBLaとは異なり、他の点については同様のため、説明を省略する。サービスAのブラックリストBLaの説明における「サービスA」、「サービス提供システム1a」、「IPアドレス」、「デバイスID」、「ブラックリストBLa」を、それぞれ「サービスB」、「サービス提供システム1b」、「住所」、「IPアドレス」、「ブラックリストBLb」と読み替えればよい。
【0075】
[比較部]
比較部101bは、制御部11bを主として実現される。比較部101bは、サービスCにおける対象ユーザのユーザ情報と、サービスBにおける不正ユーザのユーザ情報と、を比較する。比較部101bの処理は、比較部101aの処理と同様のため、説明を省略する。比較部101aの説明における「サービスA」、「IPアドレス」、「デバイスID」、「ユーザデータベースDB1a」、「ブラックリストBLa」を、それぞれ「サービスB」、「住所」、「IPアドレス」、「ユーザデータベースDB1b」、「ブラックリストBLb」と読み替えればよい。
【0076】
[3−3.サービスCにおいて実現される機能]
図3に示すように、サービス提供システム1cでは、データ記憶部100c、受付部102c、利用状況取得部103c、比較結果取得部104c、出力取得部105c、及び推定部106cが実現される。
【0077】
[データ記憶部]
データ記憶部100cは、記憶部12cを主として実現される。データ記憶部100cは、本実施形態で説明する処理を実行するために必要なデータを記憶する。ここでは、データ記憶部100cが記憶するデータの一例として、サービスCのユーザデータベースDB1c、サービスCのブラックリストBLc、利用状況データベースDB2、教師データDT、及び学習モデルMについて説明する。
【0078】
図8は、サービスCのユーザデータベースDB1cのデータ格納例を示す図である。図8に示すように、サービスCのユーザデータベースDB1cは、サービスCにユーザ登録したユーザのユーザ情報が格納されるデータベースである。本実施形態では、サービスCのユーザデータベースDB1cに格納される各項目の詳細は、サービスA,BのユーザデータベースDB1a,DB1bと同様のため、説明を省略する。
【0079】
図9は、サービスCのブラックリストBLcのデータ格納例を示す図である。図9に示すように、本実施形態では、名前とカード番号がサービスCのブラックリスト項目なので、サービスCのブラックリストBLcには、サービスCにおける不正ユーザの名前とカード番号が格納される。
【0080】
サービスCのブラックリストBLcは、ブラックリスト項目が異なるという点でサービスAのブラックリストBLaとは異なり、他の点については同様のため、説明を省略する。サービスAのブラックリストBLaの説明における「サービスA」、「サービス提供システム1a」、「IPアドレス」、「デバイスID」、「ブラックリストBLa」を、それぞれ「サービスC」、「サービス提供システム1c」、「名前」、「カード番号」、「ブラックリストBLc」と読み替えればよい。
【0081】
図10は、利用状況データベースDB2のデータ格納例を示す図である。図10に示すように、利用状況データベースDB2は、サービスCにおけるユーザの利用状況が格納されたデータベースである。利用状況データベースDB2には、全ユーザ(全期間)の利用状況が格納されてもよいし、一部のユーザ(一部の期間)の利用状況が格納されてもよい。
【0082】
利用状況は、ユーザによりサービスCがどのように利用されたかを示す情報である。利用状況は、利用履歴又は利用内容ということもできる。利用状況には、サービスCにおけるユーザの行動が表れる。利用状況としては、サービスCの内容に応じた情報が格納されるようにすればよく、本実施形態では、サービスCが電子商取引サービスである場合を説明する。このため、本実施形態では、利用状況は、商品の購入状況ということもできる。
【0083】
図10に示すように、利用状況データベースDB2には、取引を一意に識別する取引ID、ユーザID、店舗を一意に識別する店舗ID、商品を一意に識別する商品ID、商品の数量、取引額(支払額又は決済額)、及び取引日時といった情報が格納される。利用状況データベースDB2は、ユーザがサービスCを利用するたびに更新される。
【0084】
例えば、サービス提供システム1cは、サービスCのオンラインショッピングモール上の店舗における商品の購入手続きが行われた場合に、取引IDを発行し、購入手続きをしたユーザのユーザID、当該店舗の店舗ID、当該商品の商品ID、ユーザが指定した商品の数量、商品の単価と数量に応じた取引額、及び現在日時である取引日時が利用状況データベースDB2に格納される。なお、利用状況データベースDB2に格納される利用状況は、上記の例に限られない。ユーザによるサービスCの利用状況を示す情報が格納されるようにすればよく、例えば、アクセス場所情報又は配送先といった情報が格納されてもよい。
【0085】
図11は、教師データDTのデータ格納例を示す図である。教師データDTは、学習モデルの学習で利用されるデータである。別の言い方をすれば、教師データDTは、学習モデルのパラメータを調整するためのデータである。教師データDTは、学習データ又は訓練データと呼ばれることもある。教師データDTは、入力データと同じ形式のデータと、正解となる出力と、がペアになったデータである。
【0086】
本実施形態では、対象ユーザが不正であるか否かが分類されるので、出力は、不正を示す値、又は、正当を示す値の何れかとなる。例えば、教師データDTは、サービスCの管理者により作成され、不正の有無は、管理者によって判断される。即ち、教師データDTの入力部分に相当するユーザが実際に不正をしたか否かが管理者によって判断され、教師データDTの出力部分の値が決定される。
【0087】
図11に示すように、教師データDTには、サービスCにおけるユーザの利用状況(例えば、取引額及び取引頻度)及びサービスA,Bにおける比較結果と、不正の有無を示す不正フラグと、のペアが格納されている。利用状況及び比較結果は入力(設問)であり、不正フラグは出力(回答)となる。
【0088】
不正フラグは、不正であるか否かを示す情報である。図11のデータ格納例では、不正フラグが「1」であることは不正を意味し、不正フラグが「0」であることは正当を意味する。また、比較結果が「1」であることはユーザ情報が一致したことを意味し、比較結果が「0」であることはユーザ情報が一致しなかったことを意味する。
【0089】
また、データ記憶部100cは、学習モデルMのプログラム(アルゴリズム)やパラメータを記憶する。学習モデルMは、教師データDTを学習済みである。学習処理自体は、ニューラルネットワーク等の教師有り機械学習で利用されている種々の手法を利用可能であり、教師データDTが示す入力と出力の関係が得られるように、学習モデルMのパラメータが調整される。学習モデルMは、入力されたデータの特徴量を計算し、分類結果を示す値を出力する。
【0090】
学習モデルMは、ユーザを不正又は正当の何れかに分類するので、不正又は正当の何れかの値を出力する。なお、学習モデルMは、分類の蓋然性(確度)を示すスコアを出力してもよい。この場合、学習モデルMは、不正である蓋然性を示すスコアと、正当である蓋然性を示すスコアと、の少なくとも一方を出力してもよい。なお、学習モデルMによる分類結果は、ラベルと呼ばれることもある。この場合、出力となるのは、ラベルを識別するラベルIDとなる。
【0091】
学習モデルMは、サービスCにおけるユーザのユーザ情報とサービスA,Bにおける不正ユーザのユーザ情報との比較結果と、サービスCにおける不正の有無と、の関係が学習されている。本実施形態では、サービスA,Bの各々が他のサービスに相当し、他のサービスが複数存在するので、学習モデルMには、複数の他のサービスにそれぞれ対応する複数の比較結果と、一のサービスにおける不正の有無と、の関係が学習されている。なお、学習モデルMには、任意の数の他のサービスの比較結果が学習されていればよく、1つだけであってもよいし、3つ以上であってもよい。
【0092】
また、本実施形態では、サービスCにおける利用状況と不正の有無との関係も教師データDTに示されているので、学習モデルMには、サービスCにおける利用状況と、サービスCにおける不正の有無と、の関係も学習されている。また、本実施形態では、サービスC及びサービスA,Bでは、複数項目のユーザ情報が登録されており、学習モデルMには、複数項目にそれぞれ対応する複数の比較結果と、サービスCにおける不正の有無と、の関係が学習されている。なお、学習モデルMには、任意の項目数の比較結果が学習されていればよく、1項目だけの比較結果が学習されていてもよいし、3紅毛以上の比較結果が学習されていてもよい。
【0093】
また、本実施形態では、サービスA,Bでは、所定項目(サービスA,
Bの各々のブラックリスト項目)のユーザ情報に基づいて不正が推定され、学習モデルMには、所定項目のユーザ情報の比較結果と、サービスCにおける不正の有無と、の関係が学習されている。即ち、学習モデルMには、サービスA,Bにおけるブラックリスト項目の比較結果と、サービスCにおける不正の有無と、の関係が学習されている。なお、以降の説明では、学習モデルMの符号を省略する。
【0094】
[受付部]
受付部102cは、制御部11cを主として実現される。受付部102cは、対象ユーザによるサービスCの利用要求を受け付ける。利用要求は、サービスCを利用するために送信される要求である。利用要求には、任意の情報が含まれてよく、例えば、対象ユーザに関する任意の項目のユーザ情報、又は、対象ユーザが利用したいサービスの内容などである。本実施形態では、サービスCは、電子商取引サービスなので、利用要求には、対象ユーザが購入する商品に関する情報(例えば、商品IDや数量)が含まれる。受付部102cは、ユーザ端末20から、ユーザが操作部24を利用して入力した情報を受信することによって、利用要求を受け付ける。
【0095】
[利用状況取得部]
利用状況取得部103cは、制御部11cを主として実現される。利用状況取得部103cは、対象ユーザによるサービスCの利用状況を取得する。本実施形態では、利用状況は、利用状況データベースDB2に格納されているので、利用状況取得部103cは、データ記憶部100cに記憶された利用状況データベースDB2を参照し、利用状況を取得する。なお、利用状況に相当する情報は、利用要求にも含まれていることがあるので、利用状況取得部103cは、ユーザ端末20から受信した利用要求を参照することによって、利用状況を取得してもよい。
【0096】
利用状況取得部103cが取得する利用状況は、任意の内容であってよいが、本実施形態では、サービスCにおいて、ブラックリスト項目のユーザ情報に基づいて不正が推定されるので、利用状況は、ブラックリスト項目に関する利用状況である場合を説明する。ブラックリスト項目は、本発明に係る所定項目の一例である。このため、本実施形態でブラックリスト項目(例えば、サービスAにおけるIPアドレス又はデバイスID、サービスBにおける住所又はIPアドレス、サービスCにおける名前又はカード番号)と記載した箇所は、所定項目と読み替えることができる。なお、後述する変形例におけるホワイトリスト項目が所定項目に相当してもよい。
【0097】
ブラックリスト項目に関する利用状況とは、ブラックリスト項目に関連する利用状況である。例えば、ブラックリスト項目がカード番号であれば、取引額や取引頻度といった決済に係る情報が利用状況となる。取引額は、取引1回あたりの金額である。取引頻度は、一定期間(例えば、1日〜数か月程度)における取引の回数である。
【0098】
また例えば、ブラックリスト項目がユーザIDであれば、同一のユーザIDでログインした回数や頻度が利用状況となる。また例えば、ブラックリスト項目が名前であれば、同一の名前でサービスの申し込みをした回数や頻度が利用状況となる。他の項目についても同様に、項目に関する利用状況が取得されるようにすればよい。
【0099】
[比較結果取得部]
比較結果取得部104cは、制御部11cを主として実現される。比較結果取得部104cは、サービスCにおける対象ユーザのユーザ情報と、サービスA,Bにおける不正ユーザのユーザ情報と、の比較結果を取得する。本実施形態では、サービスA,Bの各々が他のサービスに相当し、他のサービスが複数存在するので、比較結果取得部104cは、複数の他のサービスにそれぞれ対応する複数の比較結果を取得する。
【0100】
また、本実施形態では、サービスA,Bにおける複数のブラックリスト項目が比較対象となるので、比較結果取得部104cは、複数項目にそれぞれ対応する複数の比較結果を取得する。比較結果取得部104cは、複数項目の各々の比較結果を取得する。例えば、サービスAでは、IPアドレスとデバイスIDがブラックリスト項目となっているので、比較結果取得部は、IPアドレスとデバイスIDの各々の比較結果を取得する。また、サービスBでは、住所とIPアドレスがブラックリスト項目となっているので、比較結果取得部は、住所とIPアドレスの各々の比較結果を取得する。
【0101】
本実施形態では、サービスCにおいて比較処理が実行されるのではなく、サービスA,Bにおいて、サービスCにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザのユーザ情報と、が比較されるので、比較結果取得部104cは、サービスA,Bから比較結果を取得する。即ち、比較結果取得部104cが比較結果を取得するにあたり、ネットワークNにおいて、サービスA,Bのカード番号が送信されない。比較結果取得部104cは、サービスA,Bごとに、当該サービスA,Bに対応する比較結果を取得する。
【0102】
[出力取得部]
出力取得部105cは、制御部11cを主として実現される。出力取得部105cは、比較結果取得部104cが取得した比較結果に基づいて、学習モデルの出力を取得する。本実施形態では、サービスA,Bの各々が他のサービスに相当し、他のサービスが複数存在するので、出力取得部105cは、複数の比較結果に基づいて、学習モデルの出力を取得する。更に、本実施形態では、サービスCにおける利用状況も利用されるので、出力取得部は、対象ユーザによる利用状況に基づいて、学習モデルの出力を取得する。
【0103】
例えば、出力取得部105cは、利用状況取得部103cが取得した利用状況と、比較結果取得部104cが取得した複数の比較結果の各々と、を示す入力データを学習モデルに入力する。入力データは、図11に示す教師データDTの入力部分と同様の形式となる。学習モデルは、入力データの特徴量を計算し、入力データを不正又は正当の何れかを示す分類結果を出力する。出力取得部105cは、当該出力された分類結果を取得する。
【0104】
[推定部]
推定部106cは、制御部11cを主として実現される。推定部106cは、学習モデルの出力に基づいて、対象ユーザの不正を推定する。推定とは、対象ユーザが不正ユーザであるか否かを判定又は決定することである。推定部106cによる推定結果が、不正ユーザであるか否かの最終結果となってもよいし、その後に管理者による判断にゆだねられてもよい。推定部106cは、学習モデルの出力を参照し、不正を示す分類結果であれば対象ユーザが不正である推定し、正当を示す分類結果であれば対象ユーザが正当であると推定する。
【0105】
本実施形態では、ユーザがサービスを利用する際に不正が推定されるので、対象ユーザは、ユーザ登録済みのユーザ、又は、サービスの利用時にその場でユーザ情報を入力したユーザとなる。なお、ユーザ登録は、サービスCの利用を開始するために、サービスCにユーザ情報を登録することである。ユーザ登録は、利用登録又はサービス登録といわれることもある。
【0106】
推定部106cは、対象ユーザによりサービスCが利用される場合に、対象ユーザの不正を推定する。サービスCが利用される場合とは、利用要求が受け付けられた時点、又は、その後の任意の時点である。例えば、推定部106cは、ユーザ登録が完了した後に、対象ユーザの不正を推定する。なお、推定部106cは、ユーザ登録が完了する前に、対象ユーザの不正を推定してもよい。
【0107】
[4.不正推定システムにおいて実行される処理]
図12及び図13は、不正推定システムSにおいて実行される処理の一例を示すフロー図である。図12及び図13に示す処理は、制御部11,21が、それぞれ記憶部12,22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理は、図3に示す機能ブロックにより実行される処理の一例である。
【0108】
図12に示すように、まず、ユーザ端末20においては、制御部21は、サービス提供システム1cに対し、サービスCの利用画面のアクセス要求を送信する(S1)。利用画面は、サービスCを利用するための画面であり、例えば、商品を購入するための商品ページである。アクセス要求は、利用画面のURLが選択された場合などの任意のタイミングで送信される。
【0109】
サービス提供システム1cにおいては、アクセス要求を受信すると、制御部11cは、ユーザ端末20に対し、利用画面の表示データを送信する(S2)。表示データは、任意のデータ形式であってよく、例えば、HTMLデータである。利用画面の表示データは、記憶部12cに予め記憶されているものとする。
【0110】
ユーザ端末20においては、表示データを受信すると、制御部21は、表示データに基づいて、利用画面を表示部25に表示させる(S3)。S3において利用画面が表示されると、ユーザは、操作部24を操作して、サービスCの利用内容を入力する。例えば、ユーザは、商品ページに表示された商品の数量を指定する。なお、ユーザは、予めサービスCにログインしており、ユーザ端末20にユーザIDが記憶されているものとする。ユーザ登録をせずにサービスCを利用可能とする場合には、この段階でユーザは自身のユーザ情報を入力する。
【0111】
制御部21は、サービス提供システム1cに対し、利用要求を送信する(S4)。利用要求には、ユーザが入力した商品の数量などの情報と、ユーザIDなどのユーザ情報と、が含まれているものとする。利用要求は、商品を購入するためのボタンが選択された場合等に送信されるようにすればよい。
【0112】
サービス提供システム1cにおいては、利用要求を受信すると、制御部11cは、ユーザデータベースDB1cを参照してユーザの名前及びカード番号を取得し、これらがサービスCのブラックリストBLcに格納されているか否かを判定する(S5)。S5においては、制御部11cは、ユーザの名前とカード番号をクエリとし、サービスCのブラックリストBLc内を検索する。なお、ユーザが銀行振込等の他の決済を選択した場合には、カード番号は参照されなくてもよい。また、S5における判定は、S2においてアクセス要求を受信した時点で実行されてもよい。
【0113】
名前又はカード番号がブラックリストBLcに格納されていると判定された場合(S5;Y)、制御部11cは、ユーザが不正であると推定し、サービスの利用を制限する(S6)。S6においては、制御部11cは、サービスの利用を拒否し、ユーザにサービスを利用させないように制限する。この場合、ユーザ端末20に、「このカード番号ではサービスを利用できません」といったメッセージが表示されてもよい。他にも例えば、制御部11cは、サービスの利用を保留とし、サービスCの管理者に対し、ユーザ登録を許可するか否かを問い合わせる通知を送信してもよい。この場合、サービスCの管理者による許可が得られた場合には、ユーザ登録が許可される。
【0114】
一方、カード番号がブラックリストBLcに格納されていると判定されない場合(S5;N)、図13に移り、制御部11cは、ユーザデータベースDB1cに基づいて、サービス提供システム1a,1bの各々に対し、ユーザ情報の比較処理を依頼する(S7)。比較処理の依頼は、所定形式のデータが送信されることによって行われるようにすればよく、比較対象となる項目のユーザ情報が含まれるものとする。制御部11cは、サービス提供システム1aに対し、利用要求をしたユーザのIPアドレスとデバイスIDを送信し、サービス提供システム1bに対し、利用要求をしたユーザの住所とIPアドレスを送信する。なお、どのサービス提供システム1に対し、どの項目のユーザ情報を送信するかを特定する情報は、記憶部12cに予め記憶されているものとする。
【0115】
サービス提供システム1aにおいては、IPアドレスとデバイスIDを受信すると、制御部11aは、サービスAのブラックリストBLaを参照し(S8)、受信したIPアドレス及びデバイスIDの各々と、ブラックリストBLaのIPアドレス及びデバイスIDの各々と、を比較する(S9)。S9においては、制御部11aは、これらが一致するか否かを判定する。
【0116】
制御部11aは、サービス提供システム1cに対し、S9における比較結果を送信する(S10)。S10においては、制御部11aは、S9の処理結果に基づいて、IPアドレス及びデバイスIDの各々について、一致していることを示す比較結果、又は、一致していないことを示す比較結果を送信する。即ち、制御部11aは、IPアドレス及びデバイスIDの各々が一致する不正ユーザが存在するか否かを示す比較結果を送信する。
【0117】
一方、サービス提供システム1bにおいては、住所とIPアドレスを受信すると、制御部11bは、サービスBのブラックリストBLbを参照し(S11)、受信した住所及びIPアドレスの各々と、ブラックリストBLbの住所及びIPアドレスの各々と、を比較する(S12)。S12においては、制御部11bは、これらが一致するか否かを判定する。
【0118】
制御部11bは、サービス提供システム1cに対し、S12における比較結果を送信する(S13)。S13においては、制御部11aは、S12の処理結果に基づいて、住所及びIPアドレスの各々について、一致していることを示す比較結果、又は、一致していないことを示す比較結果を送信する。即ち、制御部11bは、住所及びIPアドレスの各々が一致する不正ユーザが存在するか否かを示す比較結果を送信する。
【0119】
サービス提供システム1cにおいては、サービス提供システム1a,1bの各々から比較結果を受信すると(S14)、制御部11cは、利用状況データベースDB2に基づいて利用状況を取得し、受信した比較結果とともに学習モデルに入力し、学習モデルの出力を取得する(S15)。S15においては、制御部11cは、ユーザ端末20から受信した利用要求と、利用状況データベースDB2と、に基づいて、ユーザの取引額と取引頻度などの利用状況を取得する。制御部11cは、取得した利用状況と受信した比較結果とを含む入力データを学習モデルに入力し、学習モデルからの出力を取得する。
【0120】
制御部11cは、学習モデルの出力が不正ユーザを示しているか否かを判定する(S16)。不正ユーザを示していると判定された場合(S16;Y)、ユーザが不正であると推定され、S6の処理に移行し、サービスの利用が制限される。一方、学習モデルの出力が正当ユーザを示していると判定された場合(S16;N)、制御部11cは、サービスの利用を許可し(S17)、本処理は終了する。S17においては、ユーザが正当であると推定され、ユーザに対してサービスが提供される。
【0121】
本実施形態の不正推定システムSによれば、サービスCにおける対象ユーザのユーザ情報と、サービスA,Bにおける不正ユーザのユーザ情報と、の比較結果に基づいて、学習モデルの出力を取得して対象ユーザの不正を推定することによって、不正を推定する精度を高めることができる。不正を推定する精度を高めることにより、サービスCにおいて不正ユーザが不正を働くことを防止し、サービスCにおけるセキュリティを高めることができる。例えば、対象ユーザの名前又はカード番号がサービスCのブラックリストBLcに格納されていなかったとしても、サービスA,Bにおいて不正ユーザとして登録されていれば、対象ユーザの不正を推定できるので、サービスCにおける不正ユーザの不正を未然に防止することができる。また例えば、サービスCとサービスA,Bとの関係が総合的に学習された学習モデルを利用することによって、過度に厳しいセキュリティになってしまうことを防止することができる。
【0122】
また、不正推定システムSは、複数のサービスA,Bにそれぞれ対応する複数の比較結果に基づいて、学習モデルの出力を取得して対象ユーザの不正を推定することによって、ユーザの不正を推定する精度を効果的に高めることができ、サービスCにおけるセキュリティをより向上させることができる。例えば、単一の他のサービスのブラックリストを利用するのではなく、複数の他のサービスのブラックリストBLa,BLbを利用することによって、特定の他のサービスで対象ユーザが不正を働いていなかったとしても、別の他のサービスで対象ユーザが不正を働いていた場合に、対象ユーザの不正を推定することができる。更に、サービスA,BによってサービスCとの関係が異なるので、サービスA,Bを総合的に学習された学習モデルを考慮することによって、不正を推定する精度を高めつつ、過度に厳しいセキュリティになってしまうことを効果的に防止することができる。
【0123】
また、不正推定システムSは、サービスCにおける利用状況と、サービスA,Bにおける不正の有無と、の関係も学習モデルに学習されており、対象ユーザによる利用状況に基づいて、学習モデルの出力を取得することによって、ユーザの不正を推定する精度を効果的に高めることができ、サービスCにおけるセキュリティをより向上させることができる。
【0124】
また、不正推定システムSは、サービスCのブラックリスト項目に関する利用状況に基づいて学習モデルの出力を取得し、サービスCにとってより重要な利用状況を考慮することによって、ユーザの不正を推定する精度を効果的に高めることができ、サービスCにおけるセキュリティをより向上させることができる。
【0125】
また、不正推定システムSは、複数項目にそれぞれ対応する複数の比較結果と、サービスCにおける不正の有無と、の関係が学習モデルに学習されており、複数項目にそれぞれ対応する複数の比較結果に基づいて、学習モデルの出力を取得し、より多面的な観点で不正を推定することによって、ユーザの不正を推定する精度を効果的に高めることができ、サービスCにおけるセキュリティをより向上させることができる。
【0126】
また、不正推定システムSは、サービスA,Bのブラックリスト項目のユーザ情報の比較結果と、サービスCにおける不正の有無と、の関係が学習モデルに学習されており、サービスA,Bのブラックリスト項目の比較結果を取得することによって、ユーザの不正を推定する精度を効果的に高めることができ、サービスCにおけるセキュリティをより向上させることができる。
【0127】
また、サービス提供システム1a,1bにおいてユーザ情報の比較処理が実行され、サービス提供システム1cがサービス提供システム1a,1bから比較結果を取得することによって、サービスA,Bのユーザ情報がネットワークNに送信されないので、サービスA,Bの個人情報が流出することを防止することができる。更に、サービス提供システム1cが比較処理を実行しないので、サービス提供システム1cの処理負荷を軽減することもできる。
【0128】
また、不正推定システムSは、サービスCが利用される場合に、対象ユーザの不正を推定することによって、不正ユーザがサービスを利用することを防止できる。
【0129】
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【0130】
(1)例えば、実施形態では、サービスA,Bのブラックリスト項目が比較される場合を説明したが、サービスA,Bのブラックリスト項目以外の項目が比較されてもよい。例えば、サービスCのブラックリスト項目であって、サービスA,Bのブラックリスト項目ではない項目が比較されてもよい。他にも例えば、サービスA〜Cの何れのブラックリスト項目でもない項目が比較されてもよい。
【0131】
実施形態で説明したように、サービスA,Bでは、IPアドレス等のブラックリスト項目のユーザ情報に基づいて不正が推定されている。ブラックリスト項目は、変形例(1)の発明に係る第1項目に相当する。学習モデルには、第2項目のユーザ情報の比較結果と、サービスCにおける不正の有無と、の関係が学習されている。第2項目は、第1項目とは異なる項目であり、サービスA,Bのブラックリスト項目ではない項目である。例えば、第2項目は、カード番号や電話番号などである。本変形例では、カード番号が第2項目に相当する場合を説明する。
【0132】
本変形例では、サービスAのブラックリスト項目ではないカード番号が比較対象となるので、比較部101aは、ユーザデータベースDB1aを参照して、不正ユーザのカード番号を取得する。比較部101aは、ブラックリストBLaに格納されたIPアドレス又はデバイスIDに関連付けられたカード番号を取得することになる。なお、ブラックリストBLaに不正ユーザの他の項目のユーザ情報も格納しておく場合には、比較部101aは、ブラックリストBLaを参照して不正ユーザのカード番号を取得すればよい。サービスBの比較部101bについても同様に、ユーザデータベースDB1bを参照して不正ユーザのカード番号を取得すればよい。比較処理自体は、実施形態と同様のため、説明を省略する。
【0133】
比較結果取得部104cは、カード番号の比較結果を取得する。比較結果の取得方法自体は、実施形態と同様である。推定部106cの処理についても実施形態と同様である。
【0134】
変形例(1)によれば、サービスCにおける対象ユーザのカード番号と、カード番号がブラックリスト項目ではないサービスA,Bにおける不正ユーザのカード番号と、の比較結果に基づいて、対象ユーザの不正を推定することによって、不正を推定する精度を効果的に高めることができ、サービスCにおけるセキュリティをより向上させることができる。例えば、対象ユーザのカード番号がサービスCのブラックリストBLcに格納されていなかったとしても、サービスA,Bの不正ユーザが当該カード番号を登録していれば、サービスA,BのブラックリストBLa,BLbを利用して対象ユーザの不正を推定できるので、サービスCにおける不正ユーザの不正を未然に防止することができる。
【0135】
(2)また例えば、実施形態では、サービスA,Bにおける不正ユーザのユーザ情報を利用して、サービスCにおける対象ユーザの不正が推定される場合を説明したが、サービスA,Bにおける正当ユーザのユーザ情報を利用して、サービスCにおける対象ユーザの不正が推定されてもよい。本変形例では、サービス提供システム1では、ブラックリストではなく、ホワイトリストが用意されている。
【0136】
ホワイトリストは、正当ユーザに関するユーザ情報が格納されたリストである。別の言い方をすれば、ホワイトリストは、正当ユーザを識別可能な情報が格納されたリストである。ホワイトリストに載った正当ユーザは、サービスの利用が制限されない。
【0137】
ホワイトリストは、サービスの管理者によって手動で編集されてもよいし、サービス提供システム1がユーザの行動を解析することによって自動的に編集されてもよい。また、ホワイトリストに格納されるユーザ情報の項目(以降、ホワイトリスト項目という。)は、全サービスで共通であってもよいが、本実施形態では、サービスに応じたホワイトリスト項目が定められているものとする。
【0138】
本変形例の学習モデルは、サービスCにおけるユーザのユーザ情報とサービスA,Bにおける正当ユーザのユーザ情報との比較結果と、サービスCにおける不正の有無と、の関係が学習されている。教師データDTは、これらの関係のペアを示すデータとなる。学習方法自体は、実施形態で説明した通りである、「不正ユーザ」の記載を「正当ユーザ」と読み替えればよい。
【0139】
本変形例の比較結果取得部104cは、サービスCにおける対象ユーザのユーザ情報と、サービスA,Bにおける正当ユーザのユーザ情報と、の比較結果を取得する。比較結果は、正当ユーザのユーザ情報と一致することを示す値、又は、正当ユーザのユーザ情報と一致しないことを示す値の何れかとなる。出力取得部105cの処理及び推定部106cの処理についても実施形態で説明した通りであり、「不正ユーザ」の記載を「正当ユーザ」と読み替えればよい。
【0140】
変形例(2)によれば、サービスA,Bにおけるホワイトリストを利用し、サービスCにおける対象ユーザの不正を推定することによって、ユーザの不正を推定する精度を高めることができ、サービスCにおけるセキュリティをより向上させることができる。
【0141】
なお、比較結果取得部104cは、他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果を取得すればよく、これらの何れか一方の比較結果だけを取得してもよいし、これらの両方の比較結果を取得してもよい。即ち、他のサービスにおけるブラックリスト及びホワイトリストの少なくとも一方が利用されて対象ユーザの不正が推定されるようにすればよい。
【0142】
(3)また例えば、上記変形例を組み合わせてもよい。
【0143】
また例えば、サービスごとにユーザデータベースDB1a〜DB1cが用意されている場合を説明したが、全サービスで共通のユーザデータベースが用意されていてもよい。また例えば、ブラックリスト項目は、任意の項目を設定可能であり、サービスにおいて不正を働く際に利用される蓋然性が高い項目がブラックリスト項目として設定されていてもよい。また例えば、他のサービスの数は、2つに限られず、1つだけであってもよいし、3つ以上であってもよい。
【0144】
また例えば、ユーザ情報の比較結果だけではなく、サービスCの利用状況が学習モデルに学習されている場合を説明したが、サービスCの利用状況は特に学習モデルに学習されていなくてもよい。この場合、サービスCの利用状況が用いられずに対象ユーザの不正が推定されることになる。また例えば、サービスの利用時における不正が推定される場合を説明したが、他の任意のタイミングにおける不正が推定されてよい。例えば、ユーザが特にサービスを利用する場合でなくてもよく、サービスCの管理者が指定したタイミングで不正が推定されてもよい。
【0145】
また例えば、サービス提供システム1cが多数のサービスと提携している場合には、他のサービスの中には、比較対象となる項目が登録されていないこともある。このため、サービス提供システム1cは、比較対象となる項目が登録されているサービスを特定し、当該特定したサービスのサービス提供システム1に対し、比較処理を依頼してもよい。この場合、どのサービスにどの項目のユーザ情報が登録されているかを示す情報が、サービス提供システム1cに登録されているものとする。
【0146】
また例えば、サービスCにおける対象ユーザの不正を推定する場面を例に挙げたが、サービスAにおける対象ユーザの不正が推定されてもよい。この場合、サービス提供システム1aは、実施形態で説明したサービス提供システム1cと同様の機能を有し、サービス提供システム1cは、サービス提供システム1a,1bの比較部101a,101bと同様の機能を有する。例えば、サービス提供システム1aは、サービスAのユーザ登録をする対象ユーザのユーザ情報を、サービス提供システム1b,1cに送信し、サービス提供システム1b,1cから比較結果を取得する。サービス提供システム1aは、学習モデルに比較結果を入力して対象ユーザの不正を推定する。
【0147】
また例えば、サービスBにおける対象ユーザの不正が推定されてもよい。この場合、サービス提供システム1bは、実施形態で説明したサービス提供システム1cと同様の機能を有し、サービス提供システム1cは、サービス提供システム1a,1bの比較部101a,101bと同様の機能を有する。例えば、サービス提供システム1bは、サービスBのユーザ登録をする対象ユーザのユーザ情報を、サービス提供システム1a,1cに送信し、サービス提供システム1a,1cから比較結果を取得する。サービス提供システム1bは、学習モデルに比較結果を入力して対象ユーザの不正を推定する。
【0148】
また例えば、全てのサービス提供システム1が同じ機能を有してもよい。また例えば、ブラックリスト項目がサービスごとに定められている場合を説明したが、ブラックリスト項目は、複数のサービスで共通であってもよい。例えば、サービスA−Cの全てのブラックリスト項目がカード番号であってもよい。この場合、比較部101a,101bは、特にユーザデータベースDB1a,DB1bを参照せず、ブラックリストを参照して、比較対象のユーザ情報を取得すればよい。また例えば、不正推定システムSにサービス提供システム1a,1bが含まれている場合を説明したが、サービス提供システム1a,1bは、不正推定システムSの外部のシステムであってもよい。
【0149】
また例えば、主な機能がサーバ10で実現される場合を説明したが、各機能は、複数のコンピュータで分担されてもよい。例えば、サーバ10及びユーザ端末20の各々で機能が分担されてもよい。また例えば、不正推定システムSが複数のサーバコンピュータを含む場合には、これら複数のサーバコンピュータで機能が分担されてもよい。また例えば、データ記憶部100a〜100cで記憶されるものとして説明したデータは、サーバ10以外のコンピュータによって記憶されてもよい。
【要約】
不正推定システム(S)の記憶手段(100c)は、一のサービスにおけるユーザのユーザ情報と他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報との比較結果と、一のサービスにおける不正の有無と、の関係が学習された学習モデルを記憶する。比較結果取得手段(104c)は、一のサービスにおける対象ユーザのユーザ情報と、他のサービスにおける不正ユーザ又は正当ユーザのユーザ情報と、の比較結果を取得する。出力取得手段(105c)は、比較結果に基づいて、学習モデルの出力を取得する。推定手段(106c)は、学習モデルの出力に基づいて、対象ユーザの不正を推定する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13