(57)【特許請求の範囲】
【請求項１】
サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定部と、
前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析部と、
前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定部によって特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御部と、
を有することを特徴とするテイント解析装置。
【請求項２】
前記特定部はさらに、前記アプリケーションが利用するパーミッションの情報を含むマニフェストファイルに基づいて、利用者情報の取得に係るパーミッションを特定し、特定されたパーミッションに対応する利用者情報の種類が前記プライバシーポリシーに含まれるか否かを判定することによって前記利用者情報の種類を特定することを特徴とする請求項１に記載のテイント解析装置。
【請求項３】
前記プライバシーポリシーはさらに、前記利用者情報を加工する処理の情報を含み、
前記特定部はさらに、前記プライバシーポリシーに基づいて、前記利用者情報を加工する処理を特定し、
前記テイント解析装置はさらに、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報に対して、前記特定部によって特定された処理を実行する加工処理部を有する
ことを特徴とする請求項１または請求項２に記載のテイント解析装置。
【請求項４】
サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、
前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、
前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、
を有することを特徴とする、テイント解析装置が実行するテイント解析方法。
【請求項５】
サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、
前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、
前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの脆弱性検証または情報漏洩検知等に利用されるテイント解析技術に関する。
【背景技術】
【０００２】
Webサービス等のサービスを提供するサービス提供者は、サービスの利用者に関する利用者情報を利用者端末から取得し、利用者情報を利用してサービスを提供する。サービス提供者は、利用者情報の扱い方を示すプライバシーポリシーを制定している。プライバシーポリシーは、利用者情報の種類と、利用の目的と、利用者情報を利用する主体（サービス提供者）との３つの基本的要素を含む必要がある。サービスの利用者は、このプライバシーポリシーを確認することで、自身の情報がどのように取り扱われるのかを把握することができ、サービスを利用するか否かを判断することができる。
【０００３】
一方、モバイル向けOSでは、利用者の個人情報を取得するための関数の集合であるAPI（Application Programming Interface）が定義されており、アプリケーションがAPIにより利用者の個人情報を取得することが可能である。APIの機能を制限するために、パーミッションと呼ばれるAPI制限機能がある。アプリケーションが利用する情報または機能がパーミッションとして宣言され、利用者の許可が得られない限り、APIの機能が実行できない。
【０００４】
また、アプリケーションのプログラムがどのような情報をどのように取り扱うのかを解析する方法として、テイント（Taint:汚染）解析と呼ばれる手法がある。テイント解析とは、特定の性質を持つ情報に対してその性質を一意に識別するタグ（テイントタグ）を付け、その情報が利用された場合にタグを伝搬させることにより、情報がどのように利用されたのかを解析する手法である。一般に、テイント解析は、テイントタグが付与される情報源Sourceと、テイントタグを伝播させる機構Propagationと、伝播されたテイントタグを監視するポイントを示すSinkとの３つの要素を含む。
【０００５】
このテイント解析を利用する方法には主に２つの方法がある。１つの方法が脆弱性検証である。プログラムエラーが発生する原因は、入力された情報が、本来到達してはいけない出力に辿り着くことである。これを検知するために、入力された情報に対してテイントタグを付与し、そのテイントタグが付与された情報が出力に辿り着くか否かを判定することにより脆弱性を検証する方法が提案されている。
【０００６】
他の方法が情報漏洩検知である。プログラムが取得した重要な情報に対して、テイントタグを付与し、そのテイントタグが付与された情報が外部送信に係る出力に辿り着くか否かを判定することにより情報漏洩を検知する手法が提案されている。非特許文献１は、Android（登録商標）が実装されたシステムにおける個人情報の流出をテイント解析により実現する手法を開示している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】William Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick McDaniel, and Anmol N. Sheth. ”TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones”, In Proc. of the USENIX Symposium on Operating Systems Design and Implementation (OSDI), October 2010 in Vancouver
【発明の概要】
【発明が解決しようとする課題】
【０００８】
アプリケーションの安全性の判断において、プライバシーポリシーの通りにアプリケーションが動作しているかどうかが重要である。例えば、アドレス帳と個人を特定するIDとを同時に送信するアプリケーションのプライバシーポリシーに「どんな情報を：アドレス情報を」、「何のために：提供サービス中でお客様の友人を検索するため」、「どこへ：弊社の管理サーバへ」と明記されている場合、そのアプリケーションは、情報漏洩を行う不正なアプリケーションではない。
【０００９】
API制限機能では、情報の取得の制御を行うことができるが、アプリケーションが取得した情報の流れを追跡して、情報がどこに送信されたのかを解析することができない。そのため、プライバシーポリシーに沿って、アプリケーションの利用する情報を制限することができない。
【００１０】
テイント解析では、情報を取得する関数（Sourceに相当）、または情報を出力する関数（Sinkに相当）の実行をアプリケーションが要求するごとに、テイントタグの付与または判定が行われる。つまり、情報を取得する関数、または情報を出力する関数を実行する全てのアプリケーションの実行時に、テイント解析に係る処理が実行される。全てのアプリケーションに対して一様なテイント解析が行われるため、アプリケーションごとに異なるテイント解析を行うことができない。つまり、各アプリケーションのプライバシーポリシーに沿ってアプリケーションの動作を制御することができない。
【００１１】
本発明は、プライバシーポリシーに沿ってアプリケーションの動作を制御することができる技術を提供する。
【課題を解決するための手段】
【００１２】
本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定部と、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析部と、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定部によって特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御部と、を有することを特徴とするテイント解析装置である。
【００１３】
また、本発明のテイント解析装置において、前記特定部はさらに、前記アプリケーションが利用するパーミッションの情報を含むマニフェストファイルに基づいて、利用者情報の取得に係るパーミッションを特定し、特定されたパーミッションに対応する利用者情報の種類が前記プライバシーポリシーに含まれるか否かを判定することによって前記利用者情報の種類を特定することを特徴とする。
【００１４】
また、本発明のテイント解析装置において、前記プライバシーポリシーはさらに、前記利用者情報を加工する処理の情報を含み、前記特定部はさらに、前記プライバシーポリシーに基づいて、前記利用者情報を加工する処理を特定し、前記テイント解析装置はさらに、前記特定部によって特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報に対して、前記特定部によって特定された処理を実行する加工処理部を有することを特徴とする。
【００１５】
また、本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、を有することを特徴とする、テイント解析装置が実行するテイント解析方法である。
【００１６】
また、本発明は、サービスが利用する利用者情報の種類と前記利用者情報の送信先とを含むプライバシーポリシーに基づいて、前記利用者情報の種類と前記送信先とを特定する特定ステップと、前記特定ステップで特定された種類の前記利用者情報を取得する処理がアプリケーションによって実行されるときに前記利用者情報にテイントタグを付与し、前記アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報に前記テイントタグが付与されているか否かを判定するテイント解析ステップと、前記テイントタグが付与されていると判定された場合、前記送信対象の情報の送信先と、前記特定ステップで特定された前記送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う制御ステップと、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１７】
本発明によれば、プライバシーポリシーに規定されている種類の利用者情報にテイントタグが付与され、そのテイントタグが付与された利用者情報が送信されるときに、プライバシーポリシーに規定されている送信先に応じて、送信が許可または拒否される。これによって、プライバシーポリシーに沿ってアプリケーションの動作を制御することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の第１の実施形態によるテイント解析装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態におけるプライバシーポリシーの内容を示す参考図である。
【図３】本発明の第１の実施形態におけるプライバシーポリシーの内容を示す参考図である。
【図４】本発明の第１の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。
【図５】本発明の第２の実施形態によるテイント解析装置の構成を示すブロック図である。
【図６】本発明の第２の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。
【図７】本発明の第３の実施形態によるテイント解析装置の構成を示すブロック図である。
【図８】本発明の第３の実施形態によるテイント解析装置の動作の手順を示すフローチャートである。
【図９】本発明の第３の実施形態におけるプライバシーポリシーの内容を示す参考図である。
【発明を実施するための形態】
【００１９】
以下、図面を参照し、本発明の実施形態を説明する。
【００２０】
（第１の実施形態）
まず、本発明の第１の実施形態を説明する。図１は、本実施形態によるテイント解析装置１の構成を示している。例えば、テイント解析装置１は、利用者が所持する利用者端末（スマートフォン等の携帯端末）の一部である。図１に示すように、テイント解析装置１は、特定部１０と、実行部２０とを有する。
【００２１】
例えば、利用者端末がマーケットプレイスからアプリケーションをダウンロードする場合、利用者端末は、プライバシーポリシーＰＰへのリンクが含まれるWebページを読み込む。利用者端末は、そのリンクが示すWebサーバなどに接続し、プライバシーポリシーＰＰをダウンロードする。取得されたプライバシーポリシーＰＰはテイント解析装置１内に保持される。
【００２２】
特定部１０は、サービスが利用する利用者情報の種類と利用者情報の送信先とを含むプライバシーポリシーＰＰに基づいて、利用者情報の種類と送信先とを特定する。特定部１０は、利用者情報特定部１００と、送信先特定部１０１とを有する。利用者情報特定部１００は、プライバシーポリシーＰＰに基づいて、利用者情報の種類を特定する。送信先特定部１０１は、プライバシーポリシーＰＰに基づいて、送信先を特定する。
【００２３】
実行部２０は、アプリケーションを実行する主体である。例えば、実行部２０はアプリケーション実行エンジンである。実行部２０は、テイントタグを伝播させる、いわゆるPropagationに係る処理を行ってもよい。例えば、テイントタグが付与された情報を用いた演算が行われる場合、実行部２０は、演算結果に対してテイントタグを付与する。
【００２４】
実行部２０はさらに、テイント解析と、解析結果に応じた制御とを行う。実行部２０は、テイント解析部２００と、制御部２０１とを有する。テイント解析部２００は、特定部１０によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報にテイントタグを付与し、アプリケーションによって情報を送信する処理が実行されるときに送信対象の情報にテイントタグが付与されているか否かを判定する。制御部２０１は、テイントタグが付与されていると判定された場合、送信対象の情報の送信先と、特定部１０によって特定された送信先とが一致するか否かに応じて送信を許可または拒否する制御を行う。
【００２５】
特定部１０と、実行部２０との機能は、例えば各部の動作を規定する命令を含むプログラムをコンピュータが読み込んで実行することにより、ソフトウェアの機能として実現可能である。また、このプログラムは、例えばフラッシュメモリのような「コンピュータ読み取り可能な記録媒体」により提供されてもよい。また、上述したプログラムは、このプログラムを記憶装置等に格納したコンピュータから、伝送媒体を介して、あるいは伝送媒体中の伝送波によりテイント解析装置１に伝送されることでテイント解析装置１に入力されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように、情報を伝送する機能を有する媒体である。また、上述したプログラムは、前述した機能の一部を実現してもよい。さらに、上述したプログラムは、前述した機能をコンピュータに既に記録されているプログラムとの組合せで実現できる、いわゆる差分ファイル（差分プログラム）であってもよい。
【００２６】
図２は、プライバシーポリシーＰＰの第１の例であるプライバシーポリシーＰＰ１の内容を示している。プライバシーポリシーＰＰ１は、簡略なプライバシーポリシーの例である。
【００２７】
図２に示すように、利用者情報の種類１１０と、利用の目的１２０と、利用者情報を利用する主体１３０とがプライバシーポリシーＰＰ１に含まれる。利用者情報の種類１１０は、位置情報１１１と、連絡先１１２と、音楽データ１１３とを含む。利用者情報を利用する主体１３０は、利用者情報の送信先を示している。
【００２８】
図３は、プライバシーポリシーＰＰの第２の例であるプライバシーポリシーＰＰ２の内容を示している。プライバシーポリシーＰＰ２は、詳細なプライバシーポリシーの例である。
【００２９】
図３に示すように、利用者情報の種類１４０，１４１，１４２と、利用の目的１５０，１５１，１５２と、利用者情報を利用する主体１６０，１６１，１６２とがプライバシーポリシーＰＰ２に含まれる。それぞれの情報は、利用者情報ごとに関連付けられている。
【００３０】
利用者情報の種類１４０は位置情報を示している。この利用者情報の種類１４０に対して、利用の目的１５０と、利用者情報を利用する主体１６０とが関連付けられている。利用者情報の種類１４１は連絡先を示している。この利用者情報の種類１４１に対して、利用の目的１５１と、利用者情報を利用する主体１６１とが関連付けられている。利用者情報の種類１４２は音楽データを示している。この利用者情報の種類１４２に対して、利用の目的１５２と、利用者情報を利用する主体１６２とが関連付けられている。利用者情報を利用する主体１６０，１６１，１６２は、利用者情報の送信先を示している。
【００３１】
図４は、テイント解析装置１の動作の手順を示している。図４を参照して、テイント解析装置１の動作を説明する。
【００３２】
処理が開始されると、利用者情報特定部１００は、プライバシーポリシーＰＰに基づいて、利用者情報の種類を特定する（ステップＳ１００）。例えば、OSの１つであるFirefox（登録商標）用のアプリケーションが取得する利用者情報には、連絡先、位置情報、cookie、コンテンツ情報（画像、音声等）がある。
【００３３】
利用者情報の種類が特定された後、送信先特定部１０１は、プライバシーポリシーＰＰに基づいて、送信先を特定する（ステップＳ１１０）。送信先の情報がサービス事業者の名称である場合、以下のようにしてもよい。例えば、送信先特定部１０１は、サービス事業者の名称とドメイン情報とを対応付けたリストを管理しているサーバからリストを受信し、受信されたリストから、サービス事業者の名称に対応するドメイン情報を取得してもよい。あるいは、送信先特定部１０１は、上記のリストを管理しているサーバにサービス事業者の名称を送信し、サーバから、サービス事業者の名称に対応するドメイン情報を受信してもよい。
【００３４】
ステップＳ１００とステップＳ１１０との処理は逆の順番で行われてもよい。特定部１０は、ステップＳ１００で特定された利用者情報の種類を示す情報と、ステップＳ１１０で特定された送信先を示す情報とを実行部２０に通知する。
【００３５】
プライバシーポリシーＰＰが一定の書式で記述されている場合、利用者情報の種類と送信先との識別は容易である。プライバシーポリシーＰＰが自由な書式で記述されている場合、形態素解析などの自然言語処理の技術を用いて利用者情報の種類と送信先とを識別してもよい。
【００３６】
送信先が特定された後、実行部２０はアプリケーションを実行する（ステップＳ１２０）。アプリケーションの実行中、テイント解析部２００は、特定部１０によって特定された種類の利用者情報が取得されたか否かを判定する（ステップＳ１３０）。特定部１０によって特定された種類の利用者情報が取得されていない場合、テイント解析部２００はステップＳ１３０の判定を継続する。また、特定部１０によって特定された種類の利用者情報が取得された場合、テイント解析部２００は、その利用者情報にテイントタグを付与する（ステップＳ１４０）。
【００３７】
テイントタグが付与された後、テイント解析部２００は、情報を送信するAPIがアプリケーションから呼び出されたか否かを判定する（ステップＳ１５０）。情報を送信するAPIがアプリケーションから呼び出されていない場合、情報は送信されない。この場合、ステップＳ１３０の判定が行われる。
【００３８】
情報を送信するAPIがアプリケーションから呼び出された場合、情報を送信する処理が実行される。この場合、テイント解析部２００は、アプリケーションによって指定された送信対象の情報にテイントタグが付与されているか否かを判定する（ステップＳ１６０）。送信対象の情報にテイントタグが付与されていない場合、送信対象の情報は制御対象の情報ではない。この場合、制御部２０１は、判定結果に基づいて、情報の送信を許可する（ステップＳ１８０）。情報の送信が許可されると、実行部２０は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。
【００３９】
送信対象の情報にテイントタグが付与されている場合、送信対象の情報は制御対象の情報である。この場合、制御部２０１は、送信対象の情報の送信先と、特定部１０によって特定された送信先とが一致するか否かを判定する（ステップＳ１７０）。例えば、制御部２０１は、送信対象の情報の送信先として指定されたURLに含まれるドメイン情報と、特定部１０によって特定されたドメイン情報とが一致するか否かを判定する。例えば、送信対象の情報の送信先として指定されたURLがwww.XXXX.comである場合、ドメイン情報はXXXX.comである。
【００４０】
送信先が一致する場合、制御部２０１は、情報の送信を許可する（ステップＳ１８０）。情報の送信が許可されると、実行部２０は、情報を送信するAPIを実行し、実行結果をアプリケーションに返す。情報の送信が許可された後、ステップＳ１３０の判定が行われる。
【００４１】
送信先が一致しない場合、制御部２０１は、情報の送信を拒否する（ステップＳ１９０）。情報の送信が拒否されると、実行部２０は、情報を送信するAPIを実行せず、実行結果をアプリケーションに返す。情報の送信が拒否された後、ステップＳ１３０の判定が行われる。
【００４２】
制御部２０１は、ステップＳ１７０における判定の結果をログ等に出力してもよい。これによって、アプリケーションがプライバシーポリシーＰＰの通りに動作しているか否かを解析者に通知することができる。
【００４３】
上述したように、本実施形態によれば、プライバシーポリシーＰＰに規定されている種類の利用者情報にテイントタグが付与され、そのテイントタグが付与された利用者情報が送信されるときに、プライバシーポリシーＰＰに規定されている送信先に応じて、送信が許可または拒否される。これによって、プライバシーポリシーＰＰに沿ってアプリケーションの動作を制御することができる。また、情報の送信先に応じて送信を許可または拒否する制御を行うことによって、情報漏洩を防止することができる。
【００４４】
（第２の実施形態）
次に、本発明の第２の実施形態を説明する。図５は、本実施形態によるテイント解析装置１ａの構成を示している。図５に示すように、テイント解析装置１ａは、特定部１０ａと、実行部２０とを有する。実行部２０は、図１に示すテイント解析装置１における実行部２０と同様である。
【００４５】
特定部１０ａは、利用者情報特定部１００と、送信先特定部１０１と、パーミッション特定部１０２とを有する。パーミッション特定部１０２は、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルＭＦに基づいて、利用者情報の取得に係るパーミッションを特定する。利用者情報特定部１００は、パーミッション特定部１０２によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーＰＰに含まれるか否かを判定することによって利用者情報の種類を特定する。送信先特定部１０１は、図１に示すテイント解析装置１における送信先特定部１０１と同様である。
【００４６】
図６は、テイント解析装置１ａの動作の手順を示している。図６を参照して、テイント解析装置１ａの動作を説明する。以下では、図４に示す動作と異なる点について説明する。
【００４７】
処理が開始されると、パーミッション特定部１０２は、マニフェストファイルＭＦを解析し、利用者情報の取得に係るパーミッションを特定する（ステップＳ２００）。パーミッションによりAPIの機能を制限するように構成されたプラットフォームでは、アプリケーションが利用するパーミッションの情報を含むマニフェストファイルがある。例えば、Firefox（登録商標）向けのアプリケーションでは、アプリケーションのパッケージ内のファイルであるmanifest.webappがマニフェストファイルである。
【００４８】
Firefox（登録商標）では、利用者情報の取得に係るパーミッションとして、geolocationと、contactsと、device-storage：musicと、device-storage：picturesとが用意されている。geolocationは、位置情報の取得に係るパーミッションである。contactsは、連絡先の取得に係るパーミッションである。device-storage：musicは、音楽データの取得に係るパーミッションである。device-storage：picturesは、画像データの取得に係るパーミッションである。
【００４９】
利用者情報の取得に係るパーミッションが特定された後、利用者情報特定部１００は、プライバシーポリシーＰＰに基づいて、利用者情報の種類を特定する（ステップＳ１０１）。このとき、利用者情報特定部１００は、パーミッション特定部１０２によって特定されたパーミッションに対応する利用者情報の種類がプライバシーポリシーＰＰに含まれるか否かを判定することによって利用者情報の種類を特定する。
【００５０】
例えば、利用者情報特定部１００は、パーミッションの情報と、そのパーミッションに係る利用者情報の種類とを対応付けたリストを有する。利用者情報特定部１００は、パーミッション特定部１０２によって特定されたパーミッションに対応する利用者情報の種類をリストから特定する。利用者情報特定部１００は、特定された利用者情報の種類がプライバシーポリシーＰＰに含まれるか否かを判定する。つまり、利用者情報特定部１００は、特定された利用者情報の種類をプライバシーポリシーＰＰにおいて検索する。また、cookieに対応するパーミッションがないので、利用者情報特定部１００は、パーミッション特定部１０２によって特定されたパーミッションに関わらず、cookieが取得されるか否かをプライバシーポリシーＰＰに基づいて判定する。
【００５１】
利用者情報が特定された後、ステップＳ１１０で送信先が特定される。ステップＳ１０１とステップＳ１１０との処理は逆の順番で行われてもよい。
【００５２】
本実施形態によれば、パーミッション特定部１０２によって特定されたパーミッションに対応する利用者情報の種類をプライバシーポリシーＰＰにおいて検索することによって、利用者情報の種類の特定を効率的に行うことができる。
【００５３】
（第３の実施形態）
次に、本発明の第３の実施形態を説明する。図７は、本実施形態によるテイント解析装置１ｂの構成を示している。図７に示すように、テイント解析装置１ｂは、特定部１０ｂと、実行部２０ｂとを有する。
【００５４】
特定部１０ｂは、利用者情報特定部１００と、送信先特定部１０１と、加工処理特定部１０３とを有する。本実施形態のプライバシーポリシーＰＰは、サービスが利用する利用者情報の種類と利用者情報の送信先とに加えて、利用者情報を加工する処理の情報を含む。加工処理特定部１０３は、プライバシーポリシーＰＰに基づいて、利用者情報を加工する処理を特定する。利用者情報特定部１００は、図１に示すテイント解析装置１における利用者情報特定部１００と同様である。また、送信先特定部１０１は、図１に示すテイント解析装置１における送信先特定部１０１と同様である。
【００５５】
実行部２０ｂは、テイント解析部２００と、制御部２０１と、加工処理部２０２とを有する。加工処理部２０２は、特定部１０によって特定された種類の利用者情報を取得する処理がアプリケーションによって実行されるときに利用者情報に対して、特定部１０によって特定された処理を実行する。テイント解析部２００は、図１に示すテイント解析装置１におけるテイント解析部２００と同様である。また、制御部２０１は、図１に示すテイント解析装置１における制御部２０１と同様である。
【００５６】
例えば、利用者情報を加工する処理として、ハッシュ化、曖昧化などがある。これらの処理は、利用者のプライバシー保護のため、アプリケーションによって、利用者情報に対して行われる。ハッシュ化は利用者の識別情報（ID）に対して行われることが多い。曖昧化は位置情報に対して行われることが多い。詳細な住所情報のプライバシー性が高いため、曖昧化が行われる。住所情報に対する曖昧化は、住所情報を、市・区・町・村などの地域情報となるように範囲をぼかす処理である。
【００５７】
通常、アプリケーション開発者は、上記の加工処理のコードを自身のアプリケーションのプログラムに追加する。このため、アプリケーション開発者が加工処理のコードをアプリケーションのプログラムに本当に追加しているか否かは不明瞭である。したがって、利用者にとっては、加工処理が行われるか否かを不安に感じることがある。また、アプリケーション開発者にとっては、自身のアプリケーションが信頼されない不利益が発生することがある。
【００５８】
このため、本実施形態では、プライバシーポリシーＰＰに基づいて加工処理が特定された後、テイント解析装置１ｂによって利用者情報に加工処理が行われる。これによって、アプリケーション開発者が自身のアプリケーションのプログラムに加工処理のコードを追加することが不要になる。また、アプリケーション開発者はユーザから信頼を得ることができる。
【００５９】
図８は、テイント解析装置１ｂの動作の手順を示している。図８を参照して、テイント解析装置１ｂの動作を説明する。以下では、図４に示す動作と異なる点について説明する。
【００６０】
ステップＳ１１０で送信先が特定された後、加工処理特定部１０３は、プライバシーポリシーＰＰに基づいて加工処理を特定する（ステップＳ３００）。特定された加工処理の情報は実行部２０ｂに通知される。加工処理が特定された後、ステップＳ１２０でアプリケーションが実行される。ステップＳ１００とステップＳ１１０とステップＳ３００との処理はどのような順番で行われてもよい。
【００６１】
また、ステップＳ１４０でテイントタグが付与された後、加工処理部２０２は、テイントタグが付与された利用者情報に対して、加工処理特定部１０３によって特定された加工処理を実行する（ステップＳ３１０）。加工処理が行われた後、ステップＳ１５０の判定が行われる。ステップＳ１４０とステップＳ３１０との処理は逆の順番で行われてもよい。
【００６２】
図９は、プライバシーポリシーＰＰの第３の例であるプライバシーポリシーＰＰ３の内容を示している。図９に示すように、利用者情報の種類１７０と、利用の目的１７５と、利用者情報を利用する主体１８０と、取得方法１８５とがプライバシーポリシーＰＰ３に含まれる。
【００６３】
取得方法１８５は、加工処理を示す文字列である「暗号変換」を含む。加工処理特定部１０３は、プライバシーポリシーＰＰ３に基づいて、加工処理が暗号変換であることを特定する。暗号変換は、ハッシュ化に類似した処理であり、情報を暗号化する処理である。本例では、加工処理部２０２は、テイントタグが付与された利用者情報に対して暗号変換を実行する。
【００６４】
テイント解析装置１ｂが、図５に示すテイント解析装置１ａにおけるパーミッション特定部１０２を有していてもよい。
【００６５】
本実施形態によれば、プライバシーポリシーＰＰによって規定されている加工処理を確実に行うことができる。
【００６６】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成は上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【符号の説明】
【００６７】
１，１ａ，１ｂ  テイント解析装置
１０，１０ａ，１０ｂ  特定部
２０，２０ｂ  実行部
１００  利用者情報特定部
１０１  送信先特定部
１０２  パーミッション特定部
１０３  加工処理特定部
２００  テイント解析部
２０１  制御部
２０２  加工処理部
【図１】
0006290035.tif 000002
【図２】
0006290035.tif 000003
【図３】
0006290035.tif 000004
【図４】
0006290035.tif 000005
【図５】
0006290035.tif 000006
【図６】
0006290035.tif 000007
【図７】
0006290035.tif 000008
【図８】
0006290035.tif 000009
【図９】
0006290035.tif 000010