(57)【要約】【課題】サーバへのアクセス時に取得した証明書と、過去に取得した証明書との差分に応じて通信を制御することができる情報処理装置及びプログラムを提供する。【解決手段】ユーザ端末装置１は、サーバ装置２から送られた証明書を受け付ける受付手段１００と、サーバ装置２へアクセスしたときに受け付けた第１の証明書と、第１の証明書よりも以前に受け付けた第２の証明書との差分に応じてサーバ装置２との通信を許可する通信制御手段１０４と、を備える。【選択図】図２
2019057792.tif 000002
【特許請求の範囲】
【請求項１】
外部装置から送られた証明書を受け付ける受付手段と、
前記外部装置へアクセスしたときに前記受付手段が受け付けた第１の証明書と前記第１の証明書よりも前に前記受付手段が受け付けた第２の証明書との差分に応じて前記外部装置との通信を制御する通信制御手段と、
を備えた情報処理装置。
【請求項２】
前記通信制御手段は、前記第１の証明書と前記第２の証明書との差分の内容ごとの評価値を総計した値が閾値を満たす場合に前記外部装置との通信を許可する、
請求項１に記載の情報処理装置。
【請求項３】
前記通信制御手段は、前記第１の証明書と前記第２の証明書との差分の内容ごとの評価値を総計した値が閾値を満たさない場合に前記外部装置との通信を許可しない、
請求項１に記載の情報処理装置。
【請求項４】
前記評価値を総計した値は、前記差分の内容ごとの評価値に重みづけを付与して総計した値である、
請求項２又は３に記載の情報処理装置。
【請求項５】
前記外部装置とは異なる他の外部装置が収集した特定の証明書を示す証明書特定情報を受信する受信手段、をさらに備え、
前記通信制御手段は、前記受信手段が受信した前記証明書特定情報に基づいて前記外部装置との通信を制御する、
請求項１から４の何れか１項に記載の情報処理装置。
【請求項６】
前記受信手段は、前記他の外部装置が収集した前記証明書特定情報に対して予め定められた条件に応じて評価された評価データを受信し、
前記通信制御手段は、前記評価データに基づいて前記外部装置との通信を許可しない、
請求項５に記載の情報処理装置。
【請求項７】
前記条件は、通信が拒否された回数が予め定められた閾値を超えている場合である、
請求項６に記載の情報処理装置。
【請求項８】
前記受信手段は、前記他の外部装置が収集した前記証明書特定情報に対して予め定められた条件に応じて評価された評価データを受信し、
前記通信制御手段は、前記評価データに基づいて前記外部装置との通信を許可する、
請求項５に記載の情報処理装置。
【請求項９】
前記条件は、通信が許可された回数が予め定められた閾値を超えている場合である、
請求項８に記載の情報処理装置。
【請求項１０】
コンピュータを、
外部装置から送られた証明書を受け付ける受付手段と、
前記外部装置へアクセスしたときに前記受付手段が受け付けた第１の証明書と、前記第１の証明書よりも前に前記受付手段が受け付けた第２の証明書との差分に応じて前記外部装置との通信を制御する通信制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、ユーザ端末装置とサーバ装置とがインターネットを介して通信をする際に、ＳＳＬ（Secure Socket Layer）等のプロトコルを用いて互いの公開鍵証明書（以下、単に「証明書」ともいう。）を交換し、これらの証明書の検証に基づいて通信を許可するか否かを制御する署名確証方法が提供されている（例えば、特許文献１参照）。
【０００３】
特許文献１に記載された署名確証方法は、証明書上のディジタル署名を好適に確証するため、第１の公開鍵と第２の公開鍵とを比較し、第１の公開鍵と第２の公開鍵とが一致するかどうかを決定するステップと、当該ステップで一致が決定された場合にディジタル署名の確証の成功を指示するステップとを有している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６-１２９４９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、サーバ装置へのアクセス時に取得した証明書と、過去に取得した証明書との差分に応じて通信を制御することができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
［１］外部装置から送られた証明書を受け付ける受付手段と、
前記外部装置へアクセスしたときに前記受付手段が受け付けた第１の証明書と前記第１の証明書よりも前に前記受付手段が受け付けた第２の証明書との差分に応じて前記外部装置との通信を制御する通信制御手段と、を備えた情報処理装置。
［２］前記通信制御手段は、前記第１の証明書と前記第２の証明書との差分の内容ごとの評価値を総計した値が閾値を満たす場合に前記外部装置との通信を許可する、前記［１］に記載の情報処理装置。
［３］前記通信制御手段は、前記第１の証明書と前記第２の証明書との差分の内容項目ごとの評価値を総計した値が閾値を満たさない場合に前記外部装置との通信を許可しない、前記［１］に記載の情報処理装置。
［４］前記評価値を総計した値は、前記差分の内容ごとの評価値に重みづけを付与して総計した値である、前記［２］又は［３］に記載の情報処理装置。
［５］前記外部装置とは異なる他の外部装置が収集した特定の証明書を示す証明書特定情報を受信する受信手段、をさらに備え、
前記通信制御手段は、前記受信手段が受信した前記証明書特定情報に基づいて前記外部装置との通信を制御する、前記［１］から［４］の何れかに記載の情報処理装置。
［６］前記受信手段は、前記他の外部装置が収集した前記証明書特定情報に対して予め定められた条件に応じて評価された評価データを受信し、
前記通信制御手段は、前記評価データに基づいて前記外部装置との通信を許可しない、前記［５］に記載の情報処理装置。
［７］前記条件は、通信が拒否された回数が予め定められた閾値を超えている場合である、前記［６］に記載の情報処理装置。
［８］前記受信手段は、前記他の外部装置が収集した前記証明書特定情報に対して予め定められた条件に応じて評価された評価データを受信し、
前記通信制御手段は、前記評価データに基づいて前記外部装置との通信を許可する、前記［５］に記載の情報処理装置。
［９］前記条件は、通信が許可された回数が予め定められた閾値を超えている場合である、前記［８］に記載の情報処理装置。
［１０］コンピュータを、外部装置から送られた証明書を受け付ける受付手段と、
前記外部装置へアクセスしたときに前記受付手段が受け付けた第１の証明書と、前記第１の証明書よりも前に前記受付手段が受け付けた第２の証明書との差分に応じて前記外部装置との通信を制御する通信制御手段、として機能させるためのプログラム。
【発明の効果】
【０００７】
請求項１、１０に係る発明によれば、外部装置へアクセス時に取得した証明書と、過去に取得した証明書との差分に応じて通信を制御することができる。
請求項２、３に係る発明によれば、前記差分に基づいて証明書の安全性を定量的に評価することができる。
請求項４に係る発明によれば、初めて外部装置にアクセスした場合でも第１の証明書と第２の証明書との差分に応じて通信を制御することができる。
請求項５〜９に係る発明によれば、通信の安全性を確保することができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本発明の第１の実施の形態に係る情報処理システムの概略の構成例を示す図である。
【図２】図２は、ユーザ端末装置の構成例を示すブロック図である。
【図３】図３は、差分ルールデータの一例を示す図である。
【図４】図４は、差分結果データの一例を示す図である。
【図５】図５は、通信結果データの一例を示す図である。
【図６】図６は、ＵＲＬが「hog.com」を含む場合の証明書の具体例であり、（ａ）は第２の証明書の一例を示す図、（ｂ）は第１の証明書の一例を示す図である。
【図７】図７は、ＵＲＬが「foo.com」を含む場合の証明書の具体例であり、（ａ）は第２の証明書の一例を示す図、（ｂ）は第１の証明書の一例を示す図である。
【図８】図８は、ＵＲＬが「boge.com」を含む場合の証明書の具体例であり、（ａ）は第２の証明書の一例を示す図、（ｂ）は第１の証明書の一例を示す図である。
【図９】図９は、ユーザ端末装置の動作の一例を示すフローチャートである。
【図１０】図１０は、本発明の第２の実施の形態に係る情報処理システムの概略の構成例を示す図である。
【図１１】図１１は、第１のユーザ端末装置の構成例を示すブロック図である。
【図１２】図１２は、第２の実施の形態に係るサービス提供装置の構成例を示すブロック図である。
【図１３】図１３は、集計データの一例を示す図である。
【図１４】図１４は、本実施の形態に係る差分ルールデータの一例を示す図である。
【図１５】図１５は、第１のユーザ端末装置の動作の一例を示すフローチャートである。
【図１６】図１６は、サービス提供装置の動作の一例を示すフローチャートである。
【図１７】図１７は、図１６に示すフローチャートの一部の処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について図面を参照して説明する。なお、各図中、実質的に同一の機能を有する構成要素については、同一の符号を付してその重複した説明を省略する。
【００１０】
［実施の形態の要約］
本実施の形態に係る情報処理装置は、外部装置から送られた証明書を受け付ける受付手段と、外部装置へアクセスしたときに受付手段が受け付けた第１の証明書と、第１の証明書よりも以前に受付手段が受け付けた第２の証明書との差分に応じて外部装置との通信を制御する通信制御手段と、を備える。
【００１１】
「証明書」とは、例えば、証明書のシリアル番号、証明書の発行者の識別名、証明書の有効期限、証明書の公開鍵を含み、所有者の公開鍵の真正性を証明するための電子化された情報をいう。
【００１２】
［第１の実施の形態］
（情報処理システムの構成）
図１は、本発明の第１の実施の形態に係る情報処理システムの概略の構成例を示す図である。
【００１３】
この情報処理システム９は、ユーザ端末装置１と、サーバ装置２とを有し、ユーザ端末１とサーバ装置２とがネットワーク３を介して接続されている。ユーザ端末装置１は、情報処理装置の一例である。サーバ装置２は、外部装置の一例である。
【００１４】
ユーザ端末装置１は、例えばパーソナルコンピュータ、多機能型電話機（スマートフォン）等である。サーバ装置２は、例えばウェブサーバ、メールサーバ等である。
【００１５】
ネットワーク３は、ＬＡＮ（Local Area Network）やイントラネット等のコンピュータネットワークであり、有線（電気ケーブル、光ケーブル等）、無線（電波、赤外線等）を問わない。
【００１６】
情報処理システム９において、ユーザ端末装置１からサーバ装置２宛のリクエストが送出されると、リクエストがネットワーク３を介して宛先であるサーバ装置２に伝達される。そして、サーバ装置２からリクエストに対するレスポンスがネットワーク３を介してユーザ端末装置１へ送出される。
【００１７】
情報処理システム９では、ユーザ端末装置１とサーバ装置２との間における通信のセキュリティを確保するために、例えばＳＳＬ（Secure Socket Layer）のプロトコルが用いられる。このプロトコルは、ＰＫＩ（公開鍵基盤）技術を利用しており、ユーザ端末装置１が通信を開始する際にサーバ装置２の公開鍵証明書をユーザ端末装置１に送信し、この公開鍵証明書を検証することでサーバ装置２の信頼性を確保する。
【００１８】
（ユーザ端末装置の構成）
図２は、本実施の形態に係るユーザ端末装置１の構成例を示すブロック図である。ユーザ端末装置１は、本装置１の各部を制御する制御部１０と、各種の情報を記憶する記憶部１１と、ネットワーク３を介して外部と通信する通信部１２とを備える。
【００１９】
制御部１０は、ＣＰＵ（Central Processing Unit）、インターフェース等から構成されている。ＣＰＵは、記憶部１１に記憶されたプログラム１１０に従って動作することにより受付手段１０１、妥当性検証手段１０２、差分レベル検出手段１０３、通信制御手段１０４等として機能する。なお、各手段１０１〜１０４の詳細については後述する。
【００２０】
記憶部１１は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等から構成されている。記憶部１１には、プログラム１１０、証明書１１１（図６〜図８参照）、差分結果テーブル１１２（図４参照）、差分ルールテーブル１１３（図３参照）、通信結果テーブル１１４（図５参照）等が記憶される。なお、本明細書において、テーブルに情報を書き込む場合に記録又は登録を用い、記憶部に情報を書き込む場合に記憶を用いる。
【００２１】
受付手段１０１は、ＳＳＬのプロトコルによる通信（以下「ＳＳＬ通信」という。）の開始時にサーバ装置２からユーザ端末装置１に送られてくる証明書（以下、「第１の証明書」ともいう。）を受け付ける。受付手段１０１は、受け付けた第１の証明書を記憶部１１に記憶する。この記憶部２２には、ユーザ端末装置１がＳＳＬ通信をした際に指定したＵＲＬと同じＵＲＬ指定で、第１の証明書を受け付けるよりも前（過去）にサーバ装置２とＳＳＬ通信した際に受け付けた証明書（以下、「第２の証明書」ともいう。）も記憶されている。
【００２２】
妥当性検証手段１０２は、第１の証明書の妥当性を検証する。ユーザ端末装置１が指定するＵＲＬ（Uniform Resource Locator）でサーバ装置２との間でＳＳＬ通信を開始しようとする際に、ＳＳＬの仕組みでは、先ずユーザ端末装置１からサーバ装置２に対して通信開始通知が送られて、それに対してサーバ装置２からユーザ端末装置１に証明書を含む応答が返される。妥当性検証手段１０２は、従来公知のものでよく、例えば第１の証明書のステータス、つまり、有効期限が切れていないか、廃棄されていないか等を検証する。このように、妥当性検証手段１０２は、第１の証明書単体に対して妥当性を検証することで当該サーバ装置２の妥当性を検証する。
【００２３】
差分レベル検出手段１０３は、記憶部１１に記憶された証明書データ１１１の中から第２の証明書を取得して、第１の証明書と第２の証明書とを比較して差分を検出し、差分結果データを生成する。差分レベル検出手段１０３は、差分結果データを記憶部１１に記憶する。また、差分レベル検出手段１０３は、第１の証明書と第２の証明書との差分の内容ごとの評価値を総計する。この処理の詳細については後述する。
【００２４】
通信制御手段１０４は、妥当性検証手段１０２の検証結果、及び差分レベル検出手段１０３の差分検出結果に応じてサーバ装置２との通信を「許可」又は「遮断」し、その結果を通信結果データとして生成する。この差分レベル検出手段１０３の差分検出結果の詳細については後述する。通信制御手段１０４は、通信結果データを記憶部１１の通信結果テーブル１１４に記憶する。本実施の形態では、通信制御手段１０４は、差分結果データの第１の証明書と第２の証明書との差分の内容ごとの評価値を総計した値が、予め定められた閾値を満たす場合にサーバ装置２との通信を許可し、当該閾値を満たさない場合に通信を遮断する。
【００２５】
（差分ルールテーブルの構成）
図３は、差分ルールテーブル１１３の一例を示す図である。差分ルールテーブル１１３は、「差分ルール」欄と、「差分種別」欄と、「差分レベル」欄とを項目として備えている。以下、各項目について説明する。
【００２６】
「差分ルール」は、制御部１０の差分レベル検出手段１０３が第１の証明書と第２の証明書とを比較した際に、不一致となった部分のうち差分とする内容のことである。「差分種別」は、差分ルールを客観的に区別するための項目である。「差分レベル」は、差分ルールの内容又は差分種別に応じて予め定められた評価値である。本実施の形態では、証明書の危険性が高いと判断される差分ルールほど「差分レベル」欄に高い値（評価値）が記録されている。
【００２７】
より具体的に述べると、例えば、「差分ルール」の「新しい証明書のＩｓｓｕｅｒが無償のＩｓｓｕｅｒである」は、近年個人でも無償の証明書を発行することができるため、有償の証明書に比較して危険性が比較的に高いとして、「差分レベル」欄に「＋２０」が記録されている。また、「差分ルール」の「Ｉｓｓｅｒが有償から無償のものに変更されている」は、一般的に有償から無償に切り替えるということは特別な理由がない限り起こりえないため、中間者に盗聴されている可能性が高いとして、「差分レベル」欄に「＋３０」が記録されている。また、「差分ルール」の「Ｉｓｓｅｒが同じなのにＳｅｒｉａｌＮｕｍｂｅｒが戻っている」は、最新の証明書が存在するにもかかわらず、過去の証明書が送信されたということを意味するため、過去の証明書が中間者に盗用されている可能性が高いとして、「差分レベル」欄に「＋１００」が記録されている。
【００２８】
このように、本実施の形態では、第１の証明書と第２の証明書とを比較した際の差分の内容ごとに評価値が記録されている。次に、これらの差分の内容ごとの評価値を用いて生成された差分結果データについて説明する。
【００２９】
（差分結果テーブルの構成）
図４は、差分結果テーブル１１２の一例を示す図である。同図は、差分結果テーブル１１２の各行に差分結果データ１１２ａ〜１１２ｃが記録されている場合を示す。
【００３０】
図４に示すように、差分結果テーブル１１２は、「ＵＲＬ」欄と、「証明書」欄と、「差分種別１〜７」欄と、「差分レベル」欄とを備えている。「ＵＲＬ」欄には、ユーザ端末装置１がサーバ装置２と通信を開始する際に指定したＵＲＬが記録される。「証明書」欄には、証明書のファイル名が記録される。「差分種別１〜７」欄には、図３において説明した差分種別Ａ〜Ｇに対応した種別が差分レベル検出手段１０３の検出結果に応じて記録される。「差分レベル」欄には、差分種別ごとの差分レベルの値の総和の値が記録される。
【００３１】
（通信結果テーブルの構成）
図５は、通信結果テーブル１１４の一例を示す図である。同図は、通信結果テーブル１１４の各行に通信結果データ１１４ａ〜１１４ｄが記録されている場合を示す。
【００３２】
図５に示すように、通信結果テーブル１１４は、ＵＲＬが記録される「ＵＲＬ」欄と、証明書のファイル名が記録される「証明書」欄と、「通信可否」欄とを項目として備えている。「通信可否」欄には、通信制御手段１０４によって通信が許可された場合に「許可」が記録され、遮断された場合に「遮断」が記録される。
【００３３】
次に、制御部１０の差分レベル検出手段１０３の詳細について図４並びに図６〜８を参照して説明する。
【００３４】
（具体例１）
図６は、ＵＲＬが「hog.com」を含む場合の証明書１１１の具体例１を示し、（ａ）は第２の証明書の一例を示す図、（ｂ）は第１の証明書の一例を示す図である。
【００３５】
差分レベル検出手段１０３は、図６（ｂ）に示す第１の証明書１１１ｂと図６（ａ）に示す第２の証明書１１１ａとを比較し、不一致となった部分として、「Ｓｅｒｉａｌ  Ｎｕｍｂｅｒの変更」と「有効期限の変更」を検出する。そして、差分レベル検出手段１０３は、記憶部１１の差分ルールテーブル１１３に基づいて、上記不一致となった部分のうち「差分ルール」の内容に対応したものを差分とし、差分に対応する「差分種別」と「差分レベル」を取得する（図３参照）。図６の例では、差分の内容は、図３に示すように、「差分種別」が「Ｅ」と「Ｇ」であり、「差分レベル」は、それぞれ「＋１０」、「＋１０」であるので、差分結果テーブル１１２の差分レベルは、それぞれの「差分種別」に対応する「差分レベル」の評価値の総和（１０＋１０＝２０）となる。
【００３６】
従って、差分レベル検出手段１０３は、図４に示すように、ユーザ端末装置１が「hog.com」を含むＵＲＬにアクセスした場合の差分結果テーブル１１２の差分レベルとして「＋２０」を記録する。このように、差分レベル検出手段１０３は、差分ルールテーブル１１３に基づいて、差分レベル検出手段１０３が「hog.com」を含むＵＲＬから送られてきた第１の証明書と、過去に「hog.com」を含むＵＲＬにアクセスした際に送られてきた第２の証明書との差分の内容ごとの評価値（重みづけを付与した値）を総和した値を演算する。これにより、サーバ装置２から送られてくる証明書の安全性を定量的に評価することが可能になる。
【００３７】
（具体例２）
図７は、ＵＲＬが「foo.com」を含む場合の証明書１１１の具体例２を示し、（ａ）は第２の証明書の一例を示す図、（ｂ）は第１の証明書の一例を示す図である。
【００３８】
同様に、差分レベル検出手段１０３は、図７（ｂ）に示す第１の証明書１１１ｂと図７（ａ）に示す第２の証明書１１１ａとを比較し、不一致となった部分として、「Ｓｅｒｉａｌ  Ｎｕｍｂｅｒの変更」、「Ｉｓｓｅｒの変更」、「無償のＩｓｓｅｒへの変更」、「ＣＡ（Certification Authority）の秘密鍵ＩＤの変更」を検出する。そして、差分レベル検出手段１０３は、記憶部１１の差分ルールデータ１１３に基づいて、上記不一致となった部分のうち「差分ルール」の内容に対応した「差分種別」として、それぞれ「Ｅ」、「Ａ」、「Ｂ」、「Ｆ」を取得し、「差分レベル」として、それぞれ「＋１０」、「＋１０」、「＋２０」、「＋１０」を取得し、「差分レベル」の評価値の総和を演算する。従って、図７の例では、図４に示すように、差分結果テーブル１１２の差分レベルとして「＋５０」が記録される。
【００３９】
（具体例３）
図８は、ＵＲＬが「boge.com」を含む場合の証明書１１１の具体例３を示し、（ａ）は第２の証明書の一例を示す図、（ｂ）は第１の証明書の一例を示す図である。
【００４０】
同様に、差分レベル検出手段１０３は、図８（ｂ）に示す第１の証明書１１１ｂと図８（ａ）に示す第２の証明書１１１ａとを比較し、不一致の部分として、「Ｓｅｒｉａｌ  Ｎｕｍｂｅｒの戻り」を検出し、記憶部１１の差分ルールテーブル１１３に基づいて、上記不一致となった部分のうち「差分ルール」の内容に対応したものを差分とし、差分に対応する「差分種別」として、「Ｄ」を取得し、「差分レベル」として、「＋１００」を取得する。従って、図８の例では、図４に示すように、差分結果テーブル１１２の差分レベルとして「＋１００」が記録される。
【００４１】
（ユーザ端末装置の動作）
次に、本実施の形態に係るユーザ端末装置１の動作について図９を参照して説明する。図９は、ユーザ端末装置１の動作の一例を示すフローチャートである。
【００４２】
先ず、ユーザ端末装置１がネットワーク３上のサーバ装置２とＳＳＬ通信を開始すると、制御部１０の受付手段１００がサーバ装置２からユーザ端末装置１に送られる第１の証明書を受け付けて、第１の証明書を記憶部１１に記憶する（ステップＳ１０）。
【００４３】
そして、制御部１０の妥当性検証手段１０２が第１の証明書の妥当性を検証し（ステップＳ１１）、この検証結果が妥当（ＯＫ）である場合（ステップＳ１１：Ｙｅｓ）、ステップＳ１２の処理に進む。一方、ステップＳ１１の処理において、第１の証明書の妥当性が妥当でない場合（ステップＳ１１：Ｎｏ）、ユーザ端末装置１に検証結果のメッセージを通知し（ステップＳ１３）、ユーザから通信可否を受け付ける（ステップＳ１４）。このユーザからの通信可否の受け付けは、例えばユーザ端末装置１において通信可否の選択ボタンを備えたポップアップ画面等が表示されるようにすればよい。ユーザはユーザ端末装置１に表示された通信ＯＫの選択ボタンか通信ＮＧの選択ボタンを操作する。
【００４４】
ユーザから通信ＯＫを受け付けた場合（ステップＳ１４：Ｙｅｓ）、ステップＳ１２の処理に進む。一方、ユーザから通信ＮＧを受け付けた場合（ステップＳ１４：Ｎｏ）、通信制御手段１０４は、ユーザが指定したＵＲＬに第１の証明書のファイル名と通信結果（図５に示す）を対応づけて通信結果データ１１４ａ〜１１４ｄを生成する（ステップＳ２３）。
【００４５】
そして、通信制御手段１０４は、通信結果データ１１４ａ〜１１４ｄを記憶部１１の通信結果テーブル１１４に記録して（ステップＳ２４）、通信を遮断する（ステップＳ２５）。
【００４６】
ステップＳ１２の処理において、差分レベル検出手段１０３は、ユーザ端末装置１が指定したＵＲＬに対応する前回記憶した証明書を第２の証明書として記憶部１１から取得し、前回の証明書がある場合（ステップＳ１２：Ｙｅｓ）、差分レベルを検出する（ステップＳ１５）。
【００４７】
一方、前回の証明書が存在しない場合（ステップＳ１２：Ｎｏ）、通信制御手段１０４は、通信結果データ１１４ａ〜１１４ｄを生成し（ステップＳ２０）、通信結果データ１１４ａ〜１１４ｄを記憶部１１の通信結果テーブル１１４に記録した上で（ステップＳ２１）、通信を許可する（ステップＳ２２）。
【００４８】
ステップＳ１５の処理において、差分レベル検出手段１０３は、第１の証明書と第２の証明書の差分を検出して差分結果データ１１２ａ〜１１２ｃを生成し、差分結果データ１１２ａ〜１１２ｃを記憶部１１の差分結果テーブル１１２に記録する。
【００４９】
差分レベル検出手段１０３は、差分結果データ１１２ａ〜１１２ｃの差分レベルが第１閾値（ただし、第１閾値＜第２閾値）よりも大きいか否かを判定する（ステップＳ１６）。差分結果データ１１２ａ〜１１２ｃの差分レベルが第１閾値以下の場合（ステップＳ１６：Ｎｏ）、ステップＳ１８及びステップＳ１９の処理が実行され、通信が許可される（ステップＳ２０）。
【００５０】
ここで、第１閾値は、第１の証明書の安全性を判断するための基準値であり、差分結果データ１１２ａ〜１１２ｃの差分レベルの値と比較される値である。図４に示す差分結果データ１１２ａ〜１１２ｃの場合に当てはめると、第１閾値には例えば「５０」が設定される。つまり、本実施の形態では、差分結果データ１１２ａ〜１１２ｃの差分レベルが「５０」を超えなければ証明書が安全であると判断され、通信制御手段１０４によって通信が許可される。
【００５１】
一方、ステップＳ１６の処理において、差分結果データ１１２ａ〜１１２ｃの差分レベルが第１閾値より大きい場合（ステップＳ１６：Ｙｅｓ）、差分レベル検出手段１０３は、差分結果データ１１２ａ〜１１２ｃの差分レベルが第２閾値よりも大きいか否かを判定する（ステップＳ１７）。
【００５２】
差分結果データ１１２ａ〜１１２ｃの差分レベルが第２閾値以下の場合（ステップＳ１７：Ｎｏ）、ユーザ端末装置４に警告を通知して（ステップＳ１８）、ユーザから通信可否を受け付ける（ステップＳ１９）。ユーザ端末装置１への警告の通知は、例えばセキュリティ上の問題があること等を示すエラーメッセージをユーザ端末装置１の画面上に表示するようにすればよい。
【００５３】
ステップＳ１９の処理において、ユーザから通信ＯＫを受け付けた場合（ステップＳ１９）、上述したステップＳ２０及びＳ２１の処理が実行されて、通信が許可される（ステップＳ２２）。
【００５４】
一方、ステップＳ１７の処理において、差分結果データ１１２ａ〜１１２ｃの差分レベルが第２閾値より大きい場合には、上述したステップＳ２３及びＳ２４の処理が実行されて、通信が遮断される（ステップＳ２５）。
【００５５】
ここで、第２閾値は、第１の証明書の危険性を判断するための基準値であり、差分結果データ１１２ａ〜１１２ｃの差分レベルの値と比較される値である。図４に示す差分結果データの場合に当てはめると、第２閾値には例えば「８０」が設定される。つまり、本実施の形態では、差分結果データ１１２ａ〜１１２ｃの差分レベルが「８０」を超えた場合には、証明書が危険であると判断され、通信制御手段１０４によって通信が強制遮断される。
【００５６】
第１の証明書と第２の証明書との差分に応じてサーバ装置２との通信を制御しない場合には妥当性検証手段１０２による安全性の確保のみとなるが、第１の証明書と第２の証明書との差分に応じてサーバ装置２との通信を制御することにより、過去の証明書との差分レベルに応じて証明書の安全性をより確保することができる。
【００５７】
なお、第１の実施の形態では、ユーザ端末装置１が本発明における情報処理装置の一例である場合について説明したが、これに限定されず、例えば、ユーザ端末装置１とサーバ装置２との間の通信を中継するゲートウェイ装置が本発明における情報処理装置の一例であってもよい。つまり、この場合には、ゲートウェイ装置が図２において説明した制御部１０の各手段と、記憶部１１と、通信部１２とを備える。
【００５８】
［第２の実施の形態］
図１０は、本発明の第２の実施の形態に係る情報処理システムの概略の構成例を示す図である。本実施の形態は、第１の実施の形態において、ユーザ端末装置を複数とし、サービス提供装置を付加したものである。以下、第１の実施の形態と異なる点を中心に説明する。
【００５９】
（情報処理システムの構成）
情報処理システム９Ａは、複数の第１のユーザ端末装置４Ａ、第２のユーザ端末装置４Ｂ、及び第３のユーザ端末装置４Ｃと、サーバ装置７と、サービス提供装置８とを有し、第１乃至第３のユーザ端末装置４Ａ〜４Ｃ（以下、これらを総称するときは「ユーザ端末装置４」ともいう。）とサーバ装置７及びサービス提供装置８とがネットワーク３を介して接続されている。なお、ユーザ端末装置の数は、２つでも、４つ以上でもよい。サーバ装置７は、外部装置の一例である。サービス提供装置８は、他の外部装置の一例である。
【００６０】
（ユーザ端末装置の構成）
図１１は、ユーザ端末装置４の構成例を示すブロック図である。第１乃至第３のユーザ端末装置４Ａ〜４Ｃは、同様に構成されているので、第１のユーザ端末装置４Ａについて説明する。
【００６１】
第１のユーザ端末装置４は、制御部４０と、記憶部４１と、通信部４２とを備えている。
【００６２】
制御部４０は、ＣＰＵ（Central Processing Unit）、インターフェース等から構成されている。ＣＰＵは、記憶部４１に記憶されたプログラム４１０に従って動作することにより受付手段４０１、妥当性検証手段４０２、差分レベル検出手段４０３、証明書アップロード手段４０４、通信制御手段４０５、受信手段４０６等として機能する。
【００６３】
記憶部４１は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等から構成されている。記憶部４１には、プログラム４１０、証明書４１１、差分結果テーブル４１２、差分ルールテーブル４１３（図１４参照）、危険証明書テーブル４１４、通信結果テーブル等が記憶される。
【００６４】
危険証明書テーブル４１４には、受信手段４０６が受信した危険証明書リストが記録されている。
【００６５】
証明書４１１は、第１の実施の形態の証明書１１１と同様のものである。通信結果テーブル４１５は、第１の実施の形態の通信結果テーブル１１４と同様のものである。
【００６６】
証明書アップロード手段４０４は、第１のユーザ端末装置４Ａに送られてきた過去の証明書のうち通信が遮断された特定の証明書を示す証明書特定情報をサービス提供装置８へ送信する。より具体的には、証明書アップロード手段４０４は、記憶部１１に記憶された通信結果テーブル４１５（図５に示す）の「通信可否」が「遮断」となっている特定の証明書を取得して、取得した特定の証明書の「ＵＲＬ」と「ファイル名」の情報を証明書特定情報としてサービス提供装置８に送信する。なお、証明書特定情報の代わりに特定の証明書そのものを送信してもよい。
【００６７】
受信手段４０６は、サービス提供装置８から送られてきた危険証明書リストを受信する。危険証明書リストについては後述する。また、受信手段４０６は、サービス提供装置８が収集した証明書特定情報に対して予め定められた条件に応じて評価された評価データを受信する。なお、後述する危険証明書リストが、評価データの一例である。
【００６８】
なお、受付手段４０１は、妥当性検証手段４０２、差分レベル検出手段４０３、通信制御手段４０５は、それぞれ第１の実施の形態の受付手段１０１、妥当性検証手段１０２、差分レベル検出手段１０３、通信制御手段１０４と同様であるので、説明を省略する。
【００６９】
（サービス提供装置の構成）
図１２は、サービス提供装置８の構成例を示すブロック図である。
【００７０】
サービス提供装置８は、制御部８０と、記憶部８１と、通信部８２とを備えている。
【００７１】
制御部８０は、ＣＰＵ（Central Processing Unit）、インターフェース等から構成されている。ＣＰＵは、記憶部８１に記憶されたプログラム８１０に従って動作することにより証明書収集手段８０１、危険証明書リスト生成手段８０２、危険証明書リスト送信手段８０３、集計データ生成手段８０４等として機能する。なお、各手段８０１〜８０４の詳細については、後述する。
【００７２】
記憶部８１は、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、ハードディスク等から構成されている。記憶部８１には、プログラム８１０、証明書収集テーブル８２０、危険証明書テーブル８３０、集計テーブル８４０（図１３参照）等が記憶されている。
【００７３】
証明書収集テーブル８２０は、証明書収集手段８０１が各ユーザ端末装置４Ａ〜４Ｃから送信された証明書特定情報が記録されたものである。証明書特定情報は、ＵＲＬを含む。
【００７４】
危険証明書テーブル８３０は、危険証明書リスト生成手段８０２により危険度が高い証明書のデータが記録されたものである。
【００７５】
証明書収集手段８０１は、第１のユーザ端末装置４Ａ、第２のユーザ端末装置４Ｂ、第３のユーザ端末装置４Ｃのそれぞれの証明書アップロード手段４０４から送信される証明書特定情報を収集する。証明書収集手段８０１は、収集した証明書特定情報を記憶部８１の証明書収集テーブル８２０に記録する。
【００７６】
危険証明書リスト生成手段８０２は、予め定められた条件として、集計テーブル８４０からカウントした回数が予め定めた閾値を超えている証明書のデータを危険証明書テーブル８３０に記録する。本実施の形態では、この閾値が例えば「１００」である（後述する図１７参照）。ここで、上記の回数とは、通信制御手段４０５によって通信が拒否された回数である。
【００７７】
危険証明書リスト送信手段８０３は、危険証明書テーブル８３０に記録されたデータを危険証明書リストとして、リクエスト元となる第１のユーザ端末装置４Ａに送信する。第１のユーザ端末装置４Ａの制御部４０における受信手段４０６は、この危険証明書リストを受信する。
【００７８】
集計データ生成手段８０４は、証明書収集テーブル８２０に記録された複数の証明書特定情報に基づいて集計データ８４０ａ〜８４０ｃを生成し、記憶部８１に記憶された集計テーブル８４０に記録する。
【００７９】
より詳細には、集計データ生成手段８０４は、証明書収集テーブル８２０に記録された証明書のフィンガープリントを計算し、フィンガープリントとＵＲＬの組み合わせと同じ組み合わせを持つ証明書をカウントし、カウントした回数をＵＲＬに対応付けた集計データ８４０ａ〜８４０ｃを生成する（図１３参照）。これにより、証明書収集テーブル８２０に同一の証明書が存在した場合には、その証明書の数がカウントされる。例えば、図１３に示す例では、ＵＲＬが「hog.com」を含むサーバ装置７から送られてきた証明書が最もカウント数が多く、危険性が高い証明書と判断することができる。ここで、フィンガープリントとは、デジタルコンテンツの同一性を確認するめの値であり、データを固有に識別するための識別情報である。
【００８０】
図１４は、本実施の形態に係る差分ルールテーブル４１３の一例を示す図である。差分ルールテーブル４１３には、図３に示した第１の実施の形態に係る差分ルールテーブル１１３にある差分ルールに加えて、「危険証明書リストに含まれている」という差分ルールが含まれている。
【００８１】
（第２の実施の形態の動作）
次に、第２の実施の形態に係る第１のユーザ端末装置４Ａの動作の一例を説明した後、第２の実施の形態に係るサービス提供装置８の動作の一例について図１５〜図１７を参照して説明する。
【００８２】
（第１のユーザ端末装置の動作）
先ず、本実施の形態に係る第１のユーザ端末装置４Ａの処理内容について図１５を参照して説明する。図１５は、第１のユーザ端末装置４の処理内容の一例を示すフローチャートである。なお、図１５では、第１の実施の形態に係る第１のユーザ端末装置１の処理内容を示す図９において説明した内容と重複する部分については同一の符号を付してその説明を省略する。
【００８３】
図１５に示すように、第１のユーザ端末装置４の制御部４０における受信手段４０７は、サービス提供装置８から送られてくる危険証明書リストを受信し、危険証明書リストを記憶部４１の危険証明書テーブル４１４に記録する（ステップＳ２７）。
【００８４】
ステップ２７及びステップＳ２８の処理においては、証明書アップロード手段４０４が、記憶部４１から通信結果テーブル４１５の「通信可否」が「遮断」である通信結果データを取得して、サービス提供装置８に送信する。
【００８５】
差分レベル検出手段４０３は、差分結果データを生成する際に、第１の証明書が危険証明書テーブル４１４に存在するか否かを判定し、存在している場合には差分ルールテーブル４１３のルールに基づいて、差分結果データの差分レベルに差分種別Ｈの差分レベル＋５０を加算する（ステップＳ１５）。
【００８６】
（サービス提供装置の動作）
次に、本実施の形態に係るサービス提供装置８の動作の一例について図１６及び図１７を参照して説明する。図１６は、サービス提供装置８の動作の一例を示すフローチャートである。図１７は、図１６に示すフローチャートの一部の処理の詳細を示すフローチャートである。
【００８７】
図１６に示すように、制御部８０の証明書収集手段８０１は、第１乃至第３のユーザ端末装置４Ａ〜４Ｃから送信された証明書特定情報を収集し（ステップＳ４０）、収集した証明書特定情報を記憶部８１の証明書収集テーブル８２０に記録する（ステップＳ４１）。
【００８８】
次に、危険証明書リスト生成処理が実行される（ステップＳ４２）。このステップＳ４２の処理について、図１７を参照して説明する。
【００８９】
図１７に示すように、まず集計データ生成手段８０４が、収集した証明書の証明書のフィンガ―プリントを計算し（ステップＳ４２０）、記憶部８１に記憶された証明書収集テーブル８２０に同じ証明書のデータが存在するか否かを判定する（ステップＳ４２１）。存在した場合には（ステップＳ４２１：Ｙｅｓ）、カウンタに＋１を加算して集計テーブル８４０に記録する（ステップＳ４２３）。一方、存在しない場合には（ステップＳ４２１：Ｎｏ）、集計テーブル８４０に記録する（ステップＳ４２３）。このステップＳ４２１の処理は、フィンガープリントとＵＲＬをキーにして、これら２つの組み合わせと同じ組み合わせをもつ証明書のデータがあるか否かで判定すればよい。
【００９０】
そして、危険証明書リスト生成手段８０３が、集計テーブル８４０からカウンタが１００より大きい証明書のデータを取得して、危険証明書リストを生成し、危険証明書テーブル４１４に記録する（ステップＳ４２４）。これにより、危険証明書リスト生成処理が完了する。なお、図１７に示すステップＳ４２０〜Ｓ４２４の処理フローは、収集した証明書を１件ごとに繰り返し処理をする。
【００９１】
最後に、危険証明書リスト送信手段８０３が危険証明書テーブル８３０に記録されたデータを危険証明書リストとして抽出し、第１のユーザ端末装置４Ａに送信する（ステップＳ４３）。これにより、第１のユーザ端末装置４Ａの通信制御手段４０５は、サーバ装置７から受け付けた第１の証明書が危険証明書リストにある場合で、かつ、差分レベルが第１閾値あるいは第２閾値を超えた場合には、通信が遮断される。つまり、通信制御手段４０５は、評価データとしての危険証明書リストに基づいてサーバ装置７との通信を許可しないようにすることができる。通信制御手段４０５は、危険証明書リストに基づいて遮断可能に制御することができる。
【００９２】
第１乃至第３のユーザ端末装置の何れかのユーザ端末装置が初めてアクセスするサーバ装置においても第１の証明書と第２の証明書との差分に応じて通信を制御することができる。
【００９３】
（変形例１）
例えば、第２の実施の形態では評価データとして危険証明書リストを用いていたが、これに限定されず、例えば評価データとして安全証明書リストを用いてもよい。この場合には、受信手段４０６は、サービス提供装置８が収集した証明書特定情報に対して予め定められた条件として、通信制御手段４０５によって通信が許可された回数が予め定められた閾値を超えている場合が設定される。より具体的には、例えば第１乃至第３のユーザ端末装置４Ａ〜４Ｃのそれぞれの証明書アップロード手段４０４が通信制御手段４０５によって通信が許可された特定の証明書のみを示す証明書特定情報をサービス提供装置８に送信し、サービス提供装置８側で通信が許可された回数が予め定められた閾値としての回数（例えば１００）を超えた証明書のリストを生成し、このリストを安全証明書リストとして第１乃至第３のユーザ端末装置４Ａ〜４Ｃに送信できるようにすればよい。そして、図１４に示したような差分ルールに「安全証明書リストに含まれている」という項目を追加しておいて、この項目の「差分レベル」を「−５０」と設定すればよい。従って、各ユーザ端末装置において、通信が許可された回数が多い証明書の差分レベルが減ぜられて、評価データとしての安全証明書リストに基づいてサーバ装置７との通信を許可するができる。これにより、より安全性が高い証明書を定量的に判定することが可能である。
【００９４】
（変形例２）
また、第２の実施の形態の変形例２として、制御部８０が危険証明書リスト生成手段８０３及び集計データ生成手段８０４を備えていなくてもよい。この場合には、サービス提供装置８は、第１乃至３のユーザ端末装置４Ａ〜４Ｃから収集した証明書をストックし、ストックした証明書をそのまま第１乃至第３のユーザ端末装置４Ａ〜４Ｃにそれぞれ送信する。そして、第１乃至第３のユーザ端末装置４Ａ〜４Ｃのそれぞれの受信手段４０６が、サービス提供装置８から送信された証明書を受信する。これにより、例えば第１のユーザ端末装置４Ａは、他のユーザ端末装置（本実施の形態では第２又は第３のユーザ端末装置４Ｂ，４Ｃ）が受信した証明書を第２の証明書として利用することができる。従って、第１のユーザ端末装置４Ａの差分レベル検出手段４０２は、受信手段４０６が受信した証明書に基づいて第１の証明書と第２の証明書との差分レベルを検出し、通信制御手段４０５が差分の結果に応じてサーバ装置７との通信を制御する。このように、通信制御手段４０５は、受信手段４０６が受信した証明書に基づいてサーバ装置７との通信を制御する。
【００９５】
これにより、第２の実施の形態においては記憶部４１の証明書４１１に該当する証明書が存在しない場合には妥当性検証手段４０２による検証のみよって証明書の安全性を確保していたが、本変形例によれば、例えば第１のユーザ端末装置１が初めてサーバ装置２のＵＲＬにアクセスした場合に、他のユーザ端末装置（第２又は第３のユーザ端末装置４Ｂ，４Ｃ）から収集した証明書４１１を第２の証明書として利用することができるので、妥当性検証手段４０２に加えて差分レベル検出手段４０２による検証が可能である。これにより、より証明書の安全性を確保することができる。
【００９６】
以上、本発明の実施の形態を説明したが、本発明の実施の形態は上記実施の形態に限定されるものではなく、本発明の要旨を変更しない範囲内で種々の変形、実施が可能である。
【００９７】
制御部１０、４０、８０の各手段は、それぞれ一部又は全部を再構成可能回路（ＦＰＧＡ：Field Programmable Gate Array）、特定用途向け集積回路（ＡＳＩＣ：Application Specific Integrated Circuit）等のハードウエア回路によって構成してもよい。
【００９８】
また、本発明の要旨を変更しない範囲内で、上記実施の形態の構成要素の一部を省くことや変更することが可能である。また、本発明の要旨を変更しない範囲内で、上記実施の形態のフローにおいて、ステップの追加、削除、変更、入替え等が可能である。また、上記実施の形態で用いたプログラムをＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に記録して提供することができる。また、上記実施の形態で用いたプログラムをクラウドサーバ等の外部サーバに格納しておき、ネットワークを介して利用することができる。
【符号の説明】
【００９９】
１…ユーザ端末装置
２…サーバ装置
３…ネットワーク
４Ａ…第１のユーザ端末装置
４Ｂ…第２のユーザ端末装置
４Ｃ…第３のユーザ端末装置
７…サーバ装置
８…サービス提供装置
１０，４０…制御部
１１，４１…記憶部
１２，４２…通信部
８０…制御部
８１…記憶部
８２…通信部
９，９Ａ…情報処理システム
１０１…受付手段
１０２，４０２…妥当性検証手段
１０３，４０３…差分レベル検出手段
１０４，４０５…通信制御手段
１１０，４１０，８１０…プログラム
１１１，４１１…証明書
１１１ａ…第２の証明書
１１１ｂ…第１の証明書
１１２，４１２…差分結果テーブル
１１２ａ〜１１２ｃ…差分結果データ
１１３，４１３…差分ルールテーブル
１１４，４１５…通信結果テーブル
１１４ａ〜１１４ｄ…通信結果データ
４０１…受付手段
４０４…証明書アップロード手段
４０６…受信手段
４１４…危険証明書テーブル
８０１…証明書収集手段
８０２…危険証明書リスト生成手段
８０３…危険証明書リスト送信手段
８０４…集計データ生成手段
８２０…証明書収集テーブル
８３０…危険証明書テーブル
８４０…集計テーブル
８４０ａ〜８４０ｃ…集計データ
【図１】
2019057792.tif 000003
【図２】
2019057792.tif 000004
【図３】
2019057792.tif 000005
【図４】
2019057792.tif 000006
【図５】
2019057792.tif 000007
【図６】
2019057792.tif 000008
【図７】
2019057792.tif 000009
【図８】
2019057792.tif 000010
【図９】
2019057792.tif 000011
【図１０】
2019057792.tif 000012
【図１１】
2019057792.tif 000013
【図１２】
2019057792.tif 000014
【図１３】
2019057792.tif 000015
【図１４】
2019057792.tif 000016
【図１５】
2019057792.tif 000017
【図１６】
2019057792.tif 000018
【図１７】
2019057792.tif 000019