(57)【要約】  外部装置と通信を行う通信部（１０２）と、公開鍵とペアをなす秘密鍵または秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部（１０４）と、通信部における通信により外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、鍵情報に対応する秘密鍵とに基づいて、対象データに対応する署名データを生成し、生成した署名データを含むデータを通信部における通信により外部装置へ送信する制御を行う処理部（１１０）と、を備える、ＩＣカード（１００）が、提供される。
2020049951.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信を行う通信部と、
公開鍵とペアをなす秘密鍵または前記秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部と、
前記通信部における通信により前記外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、前記鍵情報に対応する前記秘密鍵とに基づいて、前記対象データに対応する署名データを生成し、生成した前記署名データを含むデータを前記通信部における通信により前記外部装置へ送信する制御を行う処理部と、
を備える、ＩＣカード。
【請求項２】
前記耐タンパ性を有する記憶部、または、耐タンパ性を有しない記憶部には、前記署名データの生成に関するプログラム、または、前記秘密鍵の生成および前記署名データの生成に関するプログラムが記憶され、
前記処理部は、前記対象データに対応する前記プログラムを決定し、決定した前記プログラムを実行することにより、前記署名データを生成する、請求項１に記載のＩＣカード。
【請求項３】
前記処理部は、
設定されている署名条件を満たしているかを判定し、
前記署名条件を満たしていると判定した場合に、前記署名データを生成する、請求項１に記載のＩＣカード。
【請求項４】
前記署名条件には、前記対象データが示す内容に関する第１の署名条件が含まれ、
前記処理部は、
前記対象データに基づいて前記第１の署名条件を満たしているかを判定し、
前記第１の署名条件を満たしていると判定した場合に、前記署名データを生成する、請求項３に記載のＩＣカード。
【請求項５】
前記耐タンパ性を有する記憶部、または、耐タンパ性を有しない記憶部には、前記署名データの生成履歴を示す履歴情報が記憶され、
前記処理部は、さらに前記履歴情報に基づいて前記第１の署名条件を満たしているかを判定する、請求項４に記載のＩＣカード。
【請求項６】
前記処理部は、前記署名データを生成した場合に、生成した前記署名データに対応する前記履歴情報を、前記耐タンパ性を有する記憶部、または、耐タンパ性を有しない記憶部に記録する、請求項５に記載のＩＣカード。
【請求項７】
前記処理部は、前記第１の署名条件を満たしていると判定しない場合には、前記署名データの生成エラーを示すデータを前記通信部における通信により前記外部装置へ送信する制御を行う、請求項４に記載のＩＣカード。
【請求項８】
前記署名条件には、所定の認証に関する第２の署名条件がさらに含まれ、
前記処理部は、
前記第１の署名条件を満たしていると判定しない場合、前記通信部における通信により前記外部装置から取得されたデータに基づいて、前記第２の署名条件を満たしているかを判定し、
前記第２の署名条件を満たしていると判定した場合には、前記署名データを生成し、
前記第２の署名条件を満たしていると判定しない場合には、前記所定の認証を要求する認証要求を前記通信部における通信により前記外部装置へ送信する制御を行う、請求項４に記載のＩＣカード。
【請求項９】
前記対象データは、仮想通貨の取引データであり、
前記第１の署名条件には、
前記取引データの取引内容が示す仮想通貨の金額が上限値以下であること、あるいは、前記取引内容が示す仮想通貨の金額が上限値より小さいことと、
所定の期間に取り引きされる仮想通貨の金額の合計値が上限値以下であること、あるいは、前記合計値が上限値より小さいことと、
所定の期間における取引回数が上限値以下であること、あるいは、前記取引回数が上限値より小さいことと、
とのうちのいずれか、または、組み合わせが含まれる、請求項４に記載のＩＣカード。
【請求項１０】
前記署名条件には、所定の認証に関する第２の署名条件が含まれ、
前記処理部は、
前記通信部における通信により前記外部装置から取得されたデータに基づいて、前記第２の署名条件を満たしているかを判定し、
前記第２の署名条件を満たしていると判定した場合に、前記署名データを生成する、請求項３に記載のＩＣカード。
【請求項１１】
前記処理部は、前記第２の署名条件を満たしていると判定しない場合には、前記署名データの生成エラーを示すデータを前記通信部における通信により前記外部装置へ送信する制御を行う、請求項１０に記載のＩＣカード。
【請求項１２】
前記処理部は、前記第２の署名条件を満たしていると判定しない場合には、前記所定の認証を要求する認証要求を前記通信部における通信により前記外部装置へ送信する制御を行う、請求項１０に記載のＩＣカード。
【請求項１３】
前記対象データは、仮想通貨の取引データである、請求項１に記載のＩＣカード。
【請求項１４】
前記通信部は、外部装置と無線通信を行う、請求項１に記載のＩＣカード。
【請求項１５】
前記無線通信は、ＮＦＣ（Near  Field  Communication）による通信である、請求項１４に記載のＩＣカード。
【請求項１６】
前記通信部は、外部装置と有線通信を行う、請求項１に記載のＩＣカード。
【請求項１７】
前記有線通信は、外部接触端子を介した接触通信である、請求項１６に記載のＩＣカード。
【請求項１８】
外部装置と通信を行うステップと、
前記通信を行うステップにおける通信により前記外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、耐タンパ性を有する記録媒体に記憶される、公開鍵とペアをなす秘密鍵または前記秘密鍵を生成するためのシード値を示す鍵情報に対応する前記秘密鍵とに基づいて、前記対象データに対応する署名データを生成するステップと、
前記生成するステップにおいて生成した前記署名データを含むデータを前記通信を行うステップにおける通信により前記外部装置へ送信する制御を行うステップと、
を有する、ＩＣカードにより実行される処理方法。
【請求項１９】
ＩＣカードと、
Ｐ２Ｐデータベースに記録する対象データの内容を検証し、検証結果に応じて所定の署名データを生成する情報処理装置と、
を有し、
前記ＩＣカードは、
外部装置と通信を行う通信部と、
公開鍵とペアをなす秘密鍵または前記秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部と、
前記通信部における通信により前記外部装置から取得された前記対象データと、前記鍵情報に対応する前記秘密鍵とに基づいて、前記対象データに対応する署名データを生成し、生成した前記署名データを含むデータを前記通信部における通信により前記外部装置へ送信する制御を行う処理部と、
を備え、
前記処理部は、
前記情報処理装置に対応する前記所定の署名データの検証に関する署名条件を満たしているかを判定し、
前記署名条件を満たしていると判定した場合に、前記対象データに対応する前記署名データを生成する、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ＩＣカード、処理方法、および情報処理システムに関する。
【背景技術】
【０００２】
秘密鍵を記憶するＩＣ（Integrated  Circuit）カードに関する技術が開発されている。上記技術としては、例えば下記の特許文献１に記載の技術が挙げられる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−７８４９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、ブロックチェーンのようなＰ２Ｐ（Peer  to  Peer）ネットワークを利用した分散ファイルシステムの利用が進んでいる。Ｐ２Ｐネットワークを利用した分散ファイルシステムが用いられることによって、例えば下記のような効果が奏される。以下では、Ｐ２Ｐネットワークを利用した分散ファイルシステムを「Ｐ２Ｐデータベース」と示す。
・改ざん・破壊が困難である
・中央管理が不要である（基本的にだれでも参加できる）
・透明性が高い（基本的にだれでも記録を閲覧できる）
・低コストである（高価なシステムは不要である）【０００５】
例えば、Ｐ２Ｐデータベースが用いられる場合、Ｐ２Ｐデータベースに記録する対象の対象データに署名データが添付される（すなわち、当該対象データに対して電子署名が付与される）。対象データに署名データが添付され、当該署名データが検証されることによって、対象データの非改ざん証明などの電子署名の付与により奏される効果が、奏される。よって、例えばＰ２Ｐデータベースが仮想通貨のデータの取引に利用される場合であっても、取引の正当性が担保される。【０００６】
ここで、署名データは、公開鍵暗号方式を利用し、公開鍵とペアをなす秘密鍵を用いて生成される。秘密鍵が漏えいした場合、または、秘密鍵を生成するためのシード値が漏えいした場合には、漏えいした秘密鍵、または、漏えいしたシード値から生成された秘密鍵により署名データを生成することが可能である。そして、“署名データが、漏えいした秘密鍵または漏えいしたシード値から生成された秘密鍵により生成された署名データであるか否かを、署名データから特定すること”は、困難である。よって、“秘密鍵、または秘密鍵を生成するためのシード値の漏えいを防止しつつ、Ｐ２Ｐデータベースに記録する対象の対象データに対応する署名データを生成することが可能な方法”が、求められている。以下では、秘密鍵または秘密鍵を生成するためのシード値を示すデータを、「鍵情報」と示す。【０００７】
本開示では、鍵情報の漏えいの防止を図りつつ、Ｐ２Ｐデータベースに記録する対象の対象データに対応する署名データを生成することが可能な、新規かつ改良されたＩＣカード、処理方法、および情報処理システムを提案する。
【課題を解決するための手段】
【０００８】
本開示によれば、外部装置と通信を行う通信部と、公開鍵とペアをなす秘密鍵または上記秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部と、上記通信部における通信により上記外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、上記鍵情報に対応する上記秘密鍵とに基づいて、上記対象データに対応する署名データを生成し、生成した上記署名データを含むデータを上記通信部における通信により上記外部装置へ送信する制御を行う処理部と、を備える、ＩＣカードが、提供される。【０００９】
また、本開示によれば、外部装置と通信を行うステップと、上記通信を行うステップにおける通信により上記外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、耐タンパ性を有する記録媒体に記憶される、公開鍵とペアをなす秘密鍵または上記秘密鍵を生成するためのシード値を示す鍵情報に対応する上記秘密鍵とに基づいて、上記対象データに対応する署名データを生成するステップと、上記生成するステップにおいて生成した上記署名データを含むデータを上記通信を行うステップにおける通信により上記外部装置へ送信する制御を行うステップと、を有する、ＩＣカードにより実行される処理方法が、提供される。【００１０】
また、本開示によれば、ＩＣカードと、Ｐ２Ｐデータベースに記録する対象データの内容を検証し、検証結果に応じて所定の署名データを生成する情報処理装置と、を有し、上記ＩＣカードは、外部装置と通信を行う通信部と、公開鍵とペアをなす秘密鍵または上記秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部と、上記通信部における通信により上記外部装置から取得された上記対象データと、上記鍵情報に対応する上記秘密鍵とに基づいて、上記対象データに対応する署名データを生成し、生成した上記署名データを含むデータを上記通信部における通信により上記外部装置へ送信する制御を行う処理部と、を備え、上記処理部は、上記情報処理装置に対応する上記所定の署名データの検証に関する署名条件を満たしているかを判定し、上記署名条件を満たしていると判定した場合に、上記対象データに対応する上記署名データを生成する、情報処理システムが、提供される。
【発明の効果】
【００１１】
本開示によれば、鍵情報の漏えいの防止を図りつつ、Ｐ２Ｐデータベースに記録する対象の対象データに対応する署名データを生成することができる。【００１２】
なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握されうる他の効果が奏されてもよい。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係る情報処理システムの構成の一例を示す説明図である。
【図２】本実施形態に係るＩＣカードの構成の一例を示す機能ブロック図である。
【図３】本実施形態に係るＩＣカードのハードウェア構成の一例を示す説明図である。
【図４】リーダのハードウェア構成の一例を示す説明図である。
【図５】本実施形態に係るサーバ（情報処理装置）のハードウェア構成の一例を示す説明図である。
【図６】本実施形態に係る情報処理システムにおける処理の第１の例を示す説明図である。
【図７】本実施形態に係る情報処理システムにおける処理の第２の例を示す説明図である。
【図８】本実施形態に係る情報処理システムにおける処理の第２の例を示す説明図である。
【図９】ＩＣカードの通信対象の外部装置において取引内容の偽造・改ざんが行われるユースケースを示す説明図である。
【図１０】本実施形態に係る情報処理システムにおける処理の第３の例を示す説明図である。
【図１１】本実施形態に係る情報処理システムにおける処理の第３の例を示す説明図である。
【図１２】本実施形態に係る情報処理システムにおける処理の第３の例を示す説明図である。
【図１３】本実施形態に係る情報処理システムにおける処理の第４の例を示す説明図である。
【図１４】本実施形態に係る情報処理システムにおける処理の第４の例を示す説明図である。
【図１５】本実施形態に係る情報処理システムにおける処理の第４の例を示す説明図である。
【図１６】本実施形態に係る情報処理システムにおける処理の第５の例を示す説明図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
また、以下では、下記に示す順序で説明を行う。
１．本実施形態に係る情報処理システム
［１］本実施形態に係る情報処理システムの構成
［１−１］ＩＣカード
［１−２］リーダ
［１−３］サーバ（情報処理装置）
［１−４］本実施形態に係る情報処理システムを構成する各装置の適用例
［２］本実施形態に係る情報処理システムにおける処理
［２−１］情報処理システムにおける処理の第１の例
［２−２］情報処理システムにおける処理の第２の例
［２−３］情報処理システムにおける処理の第３の例
［２−４］情報処理システムにおける処理の第４の例
［２−５］情報処理システムにおける処理の第５の例
［２−６］情報処理システムにおける処理の第６の例
［２−７］情報処理システムにおける処理の他の例
２．本実施形態に係るプログラム
【００１６】
１．本実施形態に係る情報処理システム
［１］本実施形態に係る情報処理システムの構成
図１は、本実施形態に係る情報処理システム１０００の構成の一例を示す説明図である。情報処理システム１０００は、例えば、ＩＣカード１００と、リーダ２００と、サーバ３００（情報処理装置）とを有する。
【００１７】
なお、本実施形態に係る情報処理システムの構成は、図１に示す例に限られない。例えば、本実施形態に係る情報処理システムは、ＩＣカード１００を複数有していてもよい。また、本実施形態に係る情報処理システムは、リーダ２００を複数有していてもよく、サーバ３００を複数有していてもよい。また、本実施形態に係る情報処理システムでは、サーバ３００がリーダ２００の機能を有していてもよく、この場合、本実施形態に係る情報処理システムは、リーダ２００を有していなくてもよい。また、本実施形態に係る情報処理システムでは、ＩＣカード１００がリーダ２００の機能を有していてもよく、この場合、本実施形態に係る情報処理システムは、リーダ２００を有していなくてもよい。
【００１８】
リーダ２００は、ＩＣカード１００と通信を行って、ＩＣカード１００からデータを読み出す機能を有する装置である。リーダ２００は、ＩＣカード１００からデータを読み出すことが可能な、ＩＣカード１００の外部装置の一例に該当する。なお、リーダ２００は、ＩＣカード１００にデータを書き込む機能をさらに有していてもよい。リーダ２００がデータを書き込む機能をさらに有する場合、リーダ２００は、リーダ／ライタとして機能する。
【００１９】
ＩＣカード１００と、リーダ２００（ＩＣカード１００の外部装置の一例。以下、同様とする。）とは、例えば、Ｔｙｐｅ−Ａ、Ｔｙｐｅ−Ｂ、Ｔｙｐｅ−ＦなどのＮＦＣ（Near  Field  Communication）による通信（近接無線通信）によって、無線通信を行う。ＩＣカード１００とリーダ２００とがＮＦＣによる通信を行う場合、ＩＣカード１００のユーザは、“ＩＣカード１００をリーダ２００の通信可能範囲内に移動させる操作（いわゆる、タッチ操作、あるいは、かざす操作とよばれる操作）”を行えば、ＩＣカード１００とリーダ２００とを通信させることができる。よって、ＩＣカード１００とリーダ２００とがＮＦＣによる通信を行う場合、“ＩＣカード１００のユーザが、ＩＣカード１００に通信を行わせるための操作に係る負荷”は、比較的小さい。
【００２０】
なお、本実施形態に係る情報処理システムでは、ＩＣカード１００とリーダ２００とは、例えば、“ＢＬＥ（Bluetooth（登録商標）  Low  Energy）などのＩＥＥＥ８０２．１５．１を利用した無線通信や、ＩＥＥＥ８０２．１１を利用した無線通信、赤外線通信などの、任意の通信方式の無線通信”によって、通信を行ってもよい。
【００２１】
また、ＩＣカード１００とリーダ２００とは、例えば、ＩＳＯ７８１６規格に基づく通信インタフェースを介した通信など、外部接触端子を介した接触通信によって、有線通信を行うことも可能である。ＩＣカード１００とリーダ２００とが接触通信を行う場合、ＩＣカード１００のユーザは、“ＩＣカード１００が備える外部接触端子とリーダ２００が備える外部接触端子とを接触させる操作”を行えば、ＩＣカード１００とリーダ２００とを通信させることができる。よって、ＩＣカード１００とリーダ２００とが接触通信を行う場合、“ＩＣカード１００のユーザが、ＩＣカード１００に通信を行わせるための操作に係る負荷”は、比較的小さい。
【００２２】
なお、有線通信の例は、外部接触端子を介した接触通信に限られず、ＵＳＢ（Universal  Serial  Bus）を介した通信などの任意の有線通信であってもよい。
【００２３】
サーバ３００とリーダ２００とは、例えば、ネットワークを介して無線または有線で接続され、当該ネットワークを介した通信（以下、「ネットワーク通信」と示す。）によって、通信を行う。本実施形態に係るネットワークとしては、例えば、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）などの有線ネットワーク、ＷＬＡＮ（Wireless  Local  Area  Network）などの無線ネットワーク、あるいは、ＴＣＰ／ＩＰ（Transmission  Control  Protocol/Internet  Protocol）などの通信プロトコルを用いたインターネットなどが挙げられる。
【００２４】
なお、本実施形態に係る情報処理システムでは、サーバ３００とリーダ２００とは、ネットワークを介さずに、直接的に通信を行うことも可能である。
【００２５】
サーバ３００とＩＣカード１００とは、リーダ２００を介して通信を行うことが可能である。つまり、情報処理システム１０００において、リーダ２００は、サーバ３００とＩＣカード１００との通信を中継する中継装置の役目を果たしうる。
【００２６】
なお、本実施形態に係る情報処理システムでは、サーバ３００とＩＣカード１００とは、リーダ２００を介さずに直接的に通信を行うことも可能である。本実施形態に係る情報処理システムが、“サーバ３００とＩＣカード１００とが、リーダ２００を介さずに直接的に通信を行う構成”である場合、例えば、サーバ３００がリーダ２００の機能を有する構成であってもよい。つまり、本実施形態に係る情報処理システムは、リーダ２００のような中継装置の役目を果たす装置を有していなくてもよい。
【００２７】
以下では、図１に示すように、“ＩＣカード１００とリーダ２００とが、ＮＦＣによる通信または接触通信を行い、サーバ３００とリーダ２００とがネットワーク通信により通信を行う場合”を、例に挙げる。なお、上述したように、本実施形態に係る情報処理システムにおける通信の例は、図１に示す例に限られない。
【００２８】
［１−１］ＩＣカード１００
図２は、本実施形態に係るＩＣカード１００の構成の一例を示す機能ブロック図である。
【００２９】
ＩＣカード１００は、例えば、通信部１０２と、記憶部１０４と、制御部１０６とを備える。
【００３０】
［ＩＣカード１００のハードウェア構成例］
図３は、本実施形態に係るＩＣカード１００のハードウェア構成の一例を示す説明図である。図３は、ＮＦＣによる通信によりリーダ２００と通信を行う場合におけるＩＣカード１００のハードウェア構成の一例を示している。
【００３１】
ＩＣカード１００は、例えば、ＩＣチップ１５０とアンテナ１５２とを備える。ＩＣチップ１５０およびアンテナ１５２は、ＩＣカード１００が備える通信手段であり、通信部１０２として機能する。ＩＣチップ１５０およびアンテナ１５２は、例えば１３．５６［ＭＨｚ］など所定の周波数の搬送波によって、リーダ２００などの外部装置との間で、ＮＦＣによる通信を行う。
【００３２】
また、後述するように、ＩＣチップ１５０は、記憶部１０４および制御部１０６として機能する。
【００３３】
なお、ＩＣカード１００は、例えば図３に示すＩＣチップ１５０の構成を、ＩＣチップの形態で備えていなくてもよい。
【００３４】
アンテナ１５２は、搬送波を受信し、応答信号を送信する役目を果たす。
【００３５】
アンテナ１５２は、例えば、所定のインダクタンスをもつコイル（インダクタ）Ｌ１と、所定の静電容量をもつキャパシタＣ１とからなる共振回路で構成され、搬送波の受信に応じて電磁誘導により誘起電圧を生じさせる。そして、アンテナ１５２は、所定の共振周波数で誘起電圧を共振させた受信電圧を出力する。ここで、アンテナ１５２における共振周波数は、例えば、１３．５６［ＭＨｚ］など搬送波の周波数に合わせて設定される。アンテナ１５２は、上記構成により、搬送波を受信し、また、ＩＣチップ１５０において行われる負荷変調によって応答信号の送信を行う。
【００３６】
ＩＣチップ１５０は、受信された搬送波に基づいて、リーダ２００などの外部装置から送信された搬送波信号を復調して処理し、負荷変調により応答信号を送信させる役目を果たす。
【００３７】
ＩＣチップ１５０は、例えば、キャリア検出回路１５４と、検波回路１５６と、レギュレータ１５８と、復調回路１６０と、ＭＰＵ１６２と、負荷変調回路１６４とを備える。なお、図３では示していないが、ＩＣチップ１５０は、例えば、過電圧や過電流がＭＰＵ１６２に印加されることを防止するための保護回路（図示せず）をさらに備えていてもよい。ここで、保護回路（図示せず）としては、例えば、ダイオードなどで構成されたクランプ回路などが挙げられる。
【００３８】
また、ＩＣチップ１５０は、例えば、ＲＯＭ１６６と、ＲＡＭ１６８と、不揮発性メモリ１７０とを備える。ＭＰＵ１６２、ＲＯＭ１６６、ＲＡＭ１６８、および不揮発性メモリ１７０は、例えばデータの伝送路としてのバス１７２によって接続される。
【００３９】
キャリア検出回路１５４は、アンテナ１５２から伝達される受信電圧に基づいて、例えば矩形の検出信号を生成し、当該検出信号をＭＰＵ１６２へ伝達する。また、ＭＰＵ１６２は、伝達される上記検出信号を、例えばデータ処理のための処理クロックとして用いる。ここで、上記検出信号は、アンテナ１５２から伝達される受信電圧に基づくものであるので、リーダ２００などの外部装置から送信される搬送波の周波数と同期することとなる。したがって、ＩＣチップ１５０は、キャリア検出回路１５４を備えることによって、リーダ２００などの外部装置との間の処理を、当該外部装置と同期して行うことができる。
【００４０】
検波回路１５６は、アンテナ１５２から出力される受信電圧を整流する。ここで、検波回路１５６は、例えば、ダイオードＤ１と、キャパシタＣ２とで構成される。
【００４１】
レギュレータ１５８は、受信電圧を平滑、定電圧化し、ＭＰＵ１６２へ駆動電圧を出力する。ここで、レギュレータ１５８は、受信電圧の直流成分を駆動電圧として用いる。
【００４２】
復調回路１６０は、受信電圧に基づいて搬送波信号を復調し、搬送波に含まれる搬送波信号に対応するデータ（例えば、ハイレベルとローレベルとの二値化されたデータ信号）を出力する。ここで、復調回路１６０は、受信電圧の交流成分をデータとして出力する。
【００４３】
ＭＰＵ１６２は、レギュレータ１５８から出力される駆動電圧を電源として駆動し、復調回路１６０において復調されたデータに対して、様々な処理を行う。ＭＰＵ１６２は、制御部１０６として機能する。
【００４４】
また、ＭＰＵ１６２は、リーダ２００などの外部装置への応答に係る負荷変調を制御する制御信号を、処理結果に応じて生成する。そして、ＭＰＵ１６２は、制御信号を負荷変調回路１６４へと出力する。
【００４５】
ＭＰＵ１６２は、例えば、ＭＰＵ（Micro  Processing  Unit）などの演算回路で構成される、１または２以上のプロセッサや、各種処理回路などで構成される。
【００４６】
負荷変調回路１６４は、例えば、負荷ＺとスイッチＳＷ１とを備え、ＭＰＵ１６２から伝達される制御信号に応じて負荷Ｚを選択的に接続する（有効化する）ことによって負荷変調を行う。ここで、負荷Ｚは、例えば、所定の抵抗値を有する抵抗で構成される。また、スイッチＳＷ１は、例えば、ｐチャネル型のＭＯＳＦＥＴ（Metal  Oxide  Semiconductor  Field  Effect  Transistor）や、ｎチャネル型のＭＯＳＦＥＴで構成される。
【００４７】
ＲＯＭ１６６は、ＭＰＵ１６２が使用するプログラムや演算パラメータなどの制御用データを記憶する。ＲＡＭ１６８は、ＭＰＵ１６２により実行されるプログラム、演算結果、実行状態などを一時的に記憶する。
【００４８】
不揮発性メモリ１７０は、記憶部１０４として機能する一の記録媒体であり、耐タンパ性を有する。不揮発性メモリ１７０が有する耐タンパ性は、例えば、光が当たると記憶内容が消去されること、記憶素子の物理配置がランダムであること、記憶領域やデータが暗号化されていること、あるいは、これらの組み合わせなど、物理的な解析を困難とする任意の方法によって、実現される。
【００４９】
不揮発性メモリ１７０には、例えば、鍵情報が記憶される。本実施形態に係る鍵情報は、データであり、公開鍵とペアをなす秘密鍵、または、秘密鍵を生成するためのシード値を示す。つまり、鍵情報とは、公開鍵とペアをなす秘密鍵を示すデータ、または、秘密鍵を生成するためのシード値を示すデータである。例えば、シード値から乱数列を生成し、生成された乱数列の一部を切り出すことによって、シード値から秘密鍵が生成される。なお、シード値に基づく秘密鍵の生成に係る処理が、上記に示す例に限られないことは、言うまでもない。
【００５０】
なお、不揮発性メモリ１７０には、“履歴情報（後述する）などのＩＣカード１００における処理に用いられるデータ”や、電子バリュー（貨幣または貨幣に準じた価値を有するデータ）、各種サービスに対応するデータ、各種アプリケーションなどの、様々なデータを記憶されていてもよい。また、これらのデータのうち、仕様上、設計上あるいはサービス上、漏えいが特段の問題とはならないデータについては、記憶部１０４を構成する、耐タンパ性を有しない他の記録媒体（図示せず）に記憶されていてもよい。
【００５１】
記憶部１０４を構成する不揮発性メモリ１７０が、耐タンパ性を有するセキュアな記録媒体であり、セキュアな記録媒体である不揮発性メモリ１７０に鍵情報が記憶されることによって、ＩＣカード１００では、より安全な状態で鍵情報が記憶される。よって、ＩＣカード１００は、鍵情報の漏えいの防止を図ることができる。
【００５２】
不揮発性メモリ１７０としては、例えば、ＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）や、フラッシュメモリなどが挙げられる。
【００５３】
ＩＣカード１００は、例えば図３に示すハードウェア構成によって、所定の周波数の搬送波を用いてリーダ２００などの外部装置とＮＦＣによる通信を行う。
【００５４】
なお、ＩＣカード１００のハードウェア構成は、図３に示す構成に限られない。
【００５５】
例えば、ＩＣカード１００が外部装置と接触通信を行う構成である場合、ＩＣカード１００は、図３に示すアンテナ１５２を外部接触端子に置き換えた構成をとる。なお、接触通信を行うことが可能な構成例が、上記に示す例に限られないことは、言うまでもない。
【００５６】
また、ＩＣカード１００は、対応する有線通信または無線通信の通信方式に対応する通信デバイスを備える構成であってもよい。さらに、ＩＣカード１００は、例えばＮＦＣによる通信および接触通信など、複数の通信方式による通信が可能な構成であってもよい。
【００５７】
再度図２を参照して、ＩＣカード１００の機能構成の一例について説明する。通信部１０２は、所定の通信方式の通信により外部装置と通信を行う。通信部１０２における通信は、例えば制御部１０６により制御される。
【００５８】
ここで、通信部１０２は、例えば、図３に示すＩＣチップ１５０およびアンテナ１５２のようなＮＦＣによる通信に対応するデバイスが挙げられる。ＮＦＣによる通信に対応するデバイスは、ＣＬＦ（Contactless  Front  End）またはＮＦＣコントローラであってもよい。なお、上述したように、通信部１０２は、例えば、接触通信（有線通信）や、ＩＥＥＥ８０２．１５．１を利用した無線通信などの、ＮＦＣ以外の通信方式に対応するデバイスであってもよい。
【００５９】
記憶部１０４は、ＩＣカード１００が備える記憶手段である。記憶部１０４は、耐タンパ性を有する記録媒体を含んで構成され、耐タンパ性を有する記録媒体には、少なくとも鍵情報が記憶される。なお、上述したように、記憶部１０４は、耐タンパ性を有しない記録媒体が含まれていてもよい。つまり、記憶部１０４は、“耐タンパ性を有する記憶部”、または、“耐タンパ性を有する記憶部、および耐タンパ性を有しない記憶部”の役目を果たす。記憶部１０４としては、例えば図３に示す不揮発性メモリ１７０などが挙げられる。図２では、記憶部１０４に鍵情報１２０が記憶されている例を示している。なお、記憶部１０４に記憶されるデータが鍵情報１２０に限られないことは、言うまでもない。
【００６０】
制御部１０６は、例えばＭＰＵなどで構成され、ＩＣカード１００全体を制御する役目を果たす。また、制御部１０６は、例えば処理部１１０を備え、後述する情報処理システムにおける処理の例に示すような、様々な処理（本実施形態に係る処理方法に係る処理）を主導的に行う役目を果たす。
【００６１】
なお、ＩＣカード１００の機能構成は、図２に示す構成に限られない。
【００６２】
例えば、ＩＣカード１００は、図２に示す処理部１１０を、制御部１０６とは個別に備えること（例えば、別の処理回路で実現すること）ができる。
【００６３】
また、ＩＣカード１００の機能構成は、図２に示す構成に限られず、後述するＩＣカード１００における処理の切り分け方に応じた機能構成をとることが可能である。
【００６４】
［１−２］リーダ２００
リーダ２００は、ＩＣカード１００と通信を行って、ＩＣカード１００からデータを読み出す機能を有する装置である。また、リーダ２００は、サーバ３００とＩＣカード１００との通信を中継する中継装置の役目を果たす。
【００６５】
［リーダ２００のハードウェア構成例］
図４は、リーダ２００のハードウェア構成の一例を示す説明図である。図４は、ＮＦＣによる通信によりＩＣカード１００と通信を行う場合におけるリーダ２００のハードウェア構成の一例を示している。
【００６６】
リーダ２００は、例えば、ＭＰＵ２５０と、ＲＯＭ２５２と、ＲＡＭ２５４と、記録媒体２５６と、通信インタフェース２５８と、搬送波送信回路２６０と、アンテナ２６２とを備える。また、リーダ２００は、例えば、データの伝送路としてのバス２６４で各構成要素間を接続する。また、リーダ２００は、例えば、リーダ２００が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
【００６７】
ＭＰＵ２５０は、例えば、ＭＰＵなどの演算回路で構成される、１または２以上のプロセッサや、各種処理回路などで構成され、リーダ２００全体を制御する制御部（図示せず）として機能する。
【００６８】
ＲＯＭ２５２は、ＭＰＵ２５０が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。ＲＡＭ２５４は、例えば、ＭＰＵ２５０により実行されるプログラムなどを一時的に記憶する。
【００６９】
記録媒体２５６は、記憶部（図示せず）として機能し、例えば、各種アプリケーションなどの様々なデータを記憶する。ここで、記録媒体２５６としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体２５６は、リーダ２００から着脱可能であってもよい。
【００７０】
通信インタフェース２５８は、リーダ２００が備える一の通信方式の通信を行う通信手段であり、ネットワークを介して（あるいは、直接的に）、サーバ３００などの外部装置との間で、無線または有線で通信を行う。通信インタフェース２５８は、リーダ２００において第１通信部（図示せず）として機能する。ここで、通信インタフェース２５８としては、例えば、通信アンテナおよびＲＦ（Radio  Frequency）回路（無線通信）や、ＩＥＥＥ８０２．１５．１ポートおよび送受信回路（無線通信）、ＩＥＥＥ８０２．１１ポートおよび送受信回路（無線通信）、あるいはＬＡＮ端子および送受信回路（有線通信）などが挙げられる。また、通信インタフェース２５８は、本実施形態に係るネットワークに対応する任意の構成であってもよい。
【００７１】
搬送波送信回路２６０およびアンテナ２６２は、リーダ２００が備える他の通信方式の通信を行う通信手段であり、ＩＣカード１００などの外部装置との間で、ＮＦＣによる通信を行う。搬送波送信回路２６０およびアンテナ２６２は、リーダ２００において第２通信部（図示せず）として機能する。
【００７２】
アンテナ２６２は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルおよび所定の静電容量をもつキャパシタからなる共振回路と、復調回路とから構成される。そして、アンテナ２６２は、例えば、１３．５６［ＭＨｚ］などの所定の周波数の搬送波を受信することによって、ＩＣカード１００などの外部装置から負荷変調などにより送信されるデータなどを復調する。なお、例えば、搬送波送信回路２６０が復調回路を備える場合には、アンテナ２６２は、共振回路で構成されていてもよい。
【００７３】
搬送波送信回路２６０は、例えば、ＡＳＫ（Amplitude  Shift  Keying）などの変調を行う変調回路と、当該変調回路の出力を増幅する増幅回路とを備え、アンテナ２６２の送受信アンテナから搬送波信号をのせた搬送波を送信させる。また、搬送波送信回路２６０は、例えばアンテナ２６２により受信された信号を復調する復調回路を備えていてもよい。復調回路は、例えば、変調回路（または増幅回路）とアンテナ２６２の共振回路との間における電圧の振幅変化を包絡線検波し、検波した信号を二値化することによって、アンテナ２６２により受信された信号を復調する。なお、復調回路は、例えば、変調回路（または増幅回路）とアンテナ２６２の共振回路との間における電圧の位相変化を用いて、アンテナ２６２により受信された信号を復調することも可能である。
【００７４】
搬送波送信回路２６０を備えることによって、リーダ２００は、ＮＦＣにおけるイニシエータ機能を有し、いわゆるリーダ／ライタの役目を果たすことが可能である。ここで、搬送波送信回路２６０がアンテナ２６２から送信する搬送波信号としては、例えば、ポーリング信号や、読み出し要求などの各種要求を示す信号など、様々な信号が挙げられる。また、搬送波送信回路２６０は、例えば、ＭＰＵ２５０によって搬送波の送信が制御される。
【００７５】
リーダ２００は、例えば図４に示すハードウェア構成を有することによって、ＩＣカード１００からデータを読み出す機能を有し、また、サーバ３００とＩＣカード１００との通信を中継する中継装置の役目を果たす。なお、リーダ２００のハードウェア構成は、図４に示す構成に限られない。
【００７６】
例えば、リーダ２００は、通信インタフェース２５８と同様の機能を有する外部の通信デバイスを介して外部装置と通信を行う場合には、通信インタフェース２５８を備えていなくてもよい。
【００７７】
また、リーダ２００は、搬送波送信回路２６０およびアンテナ２６２と同様の機能を有する外部の通信デバイスを介して外部装置と通信を行う場合には、搬送波送信回路２６０およびアンテナ２６２を備えていなくてもよい。
【００７８】
また、リーダ２００は、ＩＥＥＥ８０２．１５．１を利用した無線通信や、接触通信などの、ＮＦＣ以外の通信方式により外部装置と通信を行う場合には、搬送波送信回路２６０およびアンテナ２６２を備えていなくてもよい。上記の場合、リーダ２００は、ＮＦＣ以外の通信方式に対応する通信デバイスを備えることによって、または、ＮＦＣ以外の通信方式に対応する外部の通信デバイスによって、外部装置と通信を行う。
【００７９】
また、リーダ２００は、例えば記録媒体２５６を備えない構成をとることも可能である。
【００８０】
また、リーダ２００は、例えば、後述するリーダ２００の適用例に応じたハードウェア構成をとることが可能である。一例を挙げると、リーダ２００は、例えば、表示デバイスと操作入力デバイスとの一方または双方などを、備えていてもよい。
【００８１】
また、例えば、図４に示す構成（または変形例に係る構成）は、１、または２以上のＩＣで実現されてもよい。
【００８２】
［１−３］サーバ３００（情報処理装置）
サーバ３００は、リーダ２００を介して（または直接的に）、ＩＣカード１００と通信を行う装置である。サーバ３００は、例えばＩＣカード１００との通信を介して行われる処理など、様々な処理を行うことが可能である。サーバ３００が行う処理の一例としては、例えば、Ｐ２Ｐデータベースに記録する対象のデータである対象データ（以下、単に「対象データ」と示す場合がある。）の内容を検証する処理、検証結果に応じて所定の署名データを生成する処理など、後述する情報処理システムにおける処理の例に係る処理が、挙げられる。また、サーバ３００は、例えば電子バリューを用いる決済処理などを行うことも可能である。
【００８３】
［サーバ３００のハードウェア構成例］
図５は、本実施形態に係るサーバ３００のハードウェア構成の一例を示す説明図である。サーバ３００は、例えば、ＭＰＵ３５０と、ＲＯＭ３５２と、ＲＡＭ３５４と、記録媒体３５６と、入出力インタフェース３５８と、操作入力デバイス３６０と、表示デバイス３６２と、通信インタフェース３６４とを備える。また、サーバ３００は、例えば、データの伝送路としてのバス３６６で各構成要素間を接続する。また、サーバ３００は、例えば、サーバ３００が備えているバッテリなどの内部電源から供給される電力、または、接続されている外部電源から供給される電力などによって、駆動する。
【００８４】
ＭＰＵ３５０は、例えば、ＭＰＵなどの演算回路で構成される、１または２以上のプロセッサや、各種処理回路などで構成され、サーバ３００全体を制御する制御部（図示せず）として機能する。また、ＭＰＵ３５０は、後述する情報処理システムにおける処理の例に示すような、様々な処理を主導的に行う役目を果たす。
【００８５】
ＲＯＭ３５２は、ＭＰＵ３５０が使用するプログラムや演算パラメータなどの制御用データなどを記憶する。ＲＡＭ３５４は、例えば、ＭＰＵ３５０により実行されるプログラムなどを一時的に記憶する。
【００８６】
記録媒体３５６は、記憶部（図示せず）として機能し、例えば、サーバ３００における情報処理方法に係るデータや各種アプリケーションなどの、様々なデータを記憶する。ここで、記録媒体３５６としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリが挙げられる。また、記録媒体３５６は、サーバ３００から着脱可能であってもよい。
【００８７】
入出力インタフェース３５８は、例えば、操作入力デバイス３６０や、表示デバイス３６２を接続する。操作入力デバイス３６０は、操作部（図示せず）として機能し、また、表示デバイス３６２は、表示部（図示せず）として機能する。ここで、入出力インタフェース３５８としては、例えば、ＵＳＢ（Universal  Serial  Bus）端子や、ＤＶＩ（Digital  Visual  Interface）端子、ＨＤＭＩ（登録商標）（High-Definition  Multimedia  Interface）端子、各種処理回路などが挙げられる。
【００８８】
また、操作入力デバイス３６０は、例えば、サーバ３００上に備えられ、サーバ３００の内部で入出力インタフェース３５８と接続される。操作入力デバイス３６０としては、例えば、ボタンや、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられる。
【００８９】
また、表示デバイス３６２は、例えば、サーバ３００上に備えられ、サーバ３００の内部で入出力インタフェース３５８と接続される。表示デバイス３６２としては、例えば、液晶ディスプレイや有機ＥＬディスプレイなどが挙げられる。
【００９０】
なお、入出力インタフェース３５８が、サーバ３００の外部の操作入力デバイス（例えば、キーボードやマウスなど）や外部の表示デバイスなどの、外部デバイスと接続することも可能であることは、言うまでもない。また、表示デバイス３６２は、例えばタッチパネルなど、表示とユーザ操作とが可能なデバイスであってもよい。
【００９１】
通信インタフェース３６４は、サーバ３００が備える通信手段であり、ネットワークを介して（あるいは、直接的に）、リーダ２００などの外部装置との間で、無線または有線で通信を行うための通信部（図示せず）として機能する。ここで、通信インタフェース３６４としては、例えば、通信アンテナおよびＲＦ回路（無線通信）や、ＩＥＥＥ８０２．１５．１ポートおよび送受信回路（無線通信）、ＩＥＥＥ８０２．１１ポートおよび送受信回路（無線通信）、あるいはＬＡＮ端子および送受信回路（有線通信）などが挙げられる。また、通信インタフェース３６４は、本実施形態に係るネットワークに対応する任意の構成であってもよい。
【００９２】
サーバ３００は、例えば図５に示すハードウェア構成によって、後述する情報処理システムにおける処理の例に示すような、様々な処理を行う。なお、本実施形態に係るサーバ３００のハードウェア構成は、図５に示す構成に限られない。
【００９３】
例えば、サーバ３００は、接続されている外部の通信デバイスを介して外部装置などと通信を行う場合には、通信インタフェース３６４を備えていなくてもよい。また、通信インタフェース３６４は、複数の通信方式によって、１または２以上の外部装置などと通信を行うことが可能な構成であってもよい。
【００９４】
また、サーバ３００は、例えば、記録媒体３５６、操作入力デバイス３６０、および表示デバイス３６２の一部または全部を備えない構成をとることが可能である。
【００９５】
また、サーバ３００は、例えば、後述するサーバ３００の適用例に応じたハードウェア構成をとることが可能である。
【００９６】
また、例えば、図５に示すハードウェア構成（または変形例に係る構成）の一部または全部は、１、または２以上のＩＣで実現されてもよい。
【００９７】
［１−４］本実施形態に係る情報処理システムを構成する各装置の適用例
以上、本実施形態に係る情報処理システムの構成要素として、リーダ２００を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“リーダ／ライタ”、“リーダ／ライタ機能を有する装置”、“ＢＬＥのようなＩＥＥＥ８０２．１５．１を利用した無線通信などにより通信を行う通信装置”などの、少なくともＩＣカードからデータを読み出す機能を有する任意の機器に、適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能な、処理ＩＣに適用することもできる。
【００９８】
また、本実施形態に係る情報処理システムの構成要素として、サーバ３００を挙げて説明したが、本実施形態は、かかる形態に限られない。本実施形態は、例えば、“ＰＣ（Personal  Computer）やサーバなどのコンピュータ”や、“タブレット型の装置”、“スマートホンなどの通信装置”、“ゲーム機”などの、様々な機器に適用することができる。また、本実施形態は、例えば、上記のような機器に組み込むことが可能な、処理ＩＣに適用することもできる。
【００９９】
［２］本実施形態に係る情報処理システムにおける処理
次に、図１に示す情報処理システム１０００を例に挙げて、本実施形態に係る情報処理システムにおける処理の例を、説明する。
【０１００】
以下では、“Ｐ２Ｐデータベースが、仮想通貨のデータの取引に利用されるＰ２Ｐデータベースであり、対象データが、仮想通貨の取引データである場合”を例に挙げる。なお、本実施形態に係る対象データは、仮想通貨の取引データに限られない。例えば、対象データは、教育に関するデータ（例えば、学位や成績、資格などを示すデータ）、契約に関するデータ（例えば、スマートコントラクトに関するデータ）などの、Ｐ２Ｐデータベースに記録することが可能な任意のデータであってもよい。
【０１０１】
［２−１］情報処理システムにおける処理の第１の例
上述したように、Ｐ２Ｐデータベースが用いられる場合、対象データに署名データが添付され、当該署名データが検証されることによって、仮想通貨のデータの取引の正当性が担保される。しかしながら、鍵情報が漏えいした場合には、漏えいした鍵情報に対応する秘密鍵により署名データを生成することが可能であることから、取引の正当性を担保することが困難となる。そのため、上述したように、“鍵情報の漏えいを防止しつつ、対象データに対応する署名データを生成することが可能な方法”が求められている。
【０１０２】
そこで、情報処理システム１０００では、上述したように、ＩＣカード１００が耐タンパ性を有する記録媒体を含み、鍵情報を、耐タンパ性を有する記録媒体に記憶する。セキュアな記録媒体に鍵情報が記憶されることによって、ＩＣカード１００では、より安全な状態で鍵情報が記憶されるので、ＩＣカード１００は、鍵情報の漏えいの防止を図ることができる。
【０１０３】
また、ＩＣカード１００は、リーダ２００との通信によって取得された対象データと、セキュアな記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、対象データに対応する署名データを生成する。本実施形態に係る鍵情報に対応する秘密鍵とは、鍵情報が示す秘密鍵、または、鍵情報が示すシード値に基づき生成された秘密鍵をいう。ＩＣカード１００は、例えば、記録媒体（セキュアな記録媒体であってもよいし、セキュアな記録媒体でなくてもよい。）に記憶されている、署名データの生成に関するプログラムを実行することによって、対象データに対応する署名データを生成する。一例を挙げると、対象データに対応する署名データは、例えば、対象データに秘密鍵を掛け合わせることによって、生成される。なお、署名データの生成方法は、上記に示す例に限られず、対象データと秘密鍵とを用いる任意のアルゴリズムによって生成されてもよい。
【０１０４】
そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００との通信によってリーダ２００へ送信する。署名データを含むデータとしては、例えば、対象データに署名データが添付されたデータ（対象データに対して電子署名が付与されたデータ）が挙げられる。また、署名データを含むデータは、署名データそのものであってもよい。
【０１０５】
ＩＣカード１００におけるリーダ２００との通信は、通信部１０２を介して行われる。ＩＣカード１００における、鍵情報に対応する秘密鍵に基づき署名データを生成する処理、および生成された署名データを含むデータを送信する制御を行う処理などの、各種処理（本実施形態に係る処理方法に係る処理）は、処理部１１０により行われる。
【０１０６】
よって、第１の例に係る処理を行うＩＣカード１００は、鍵情報の漏えいを防止しつつ、対象データに対応する署名データを生成することができる。
【０１０７】
また、対象データが仮想通貨の取引データである場合、第１の例に係る処理を行うＩＣカード１００が用いられることによって、情報処理システム１０００では、仮想通貨のデータの取引の正当性を担保した状態での取引の実行が可能となる。この場合、ＩＣカード１００は、ＩＣカード型のハードウェアウォレットとして機能する。
【０１０８】
図６は、本実施形態に係る情報処理システム１０００における処理の第１の例を示す説明図である。図６は、ＩＣカード１００とリーダ２００との間の通信が確立された後の処理を示している。ＩＣカード１００とリーダ２００との間の通信は、ＩＣカード１００とリーダ２００との間で行われる通信方式に対応する方法で確立される。以下に示す情報処理システムにおける処理の他の例においても、同様である。
【０１０９】
リーダ２００は、取引データ（対象データの一例）を送信する（Ｓ１００）。
【０１１０】
ステップＳ１００においてリーダ２００から送信された取引データを受信したＩＣカード１００は、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ１０２）。以下では、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵を、単に「鍵情報に対応する秘密鍵」と示す場合がある。また、以下では、鍵情報に対応する秘密鍵に基づく署名データの生成を「秘密鍵による署名」と示す場合がある。
【０１１１】
そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ１０４）。以下では、署名データを含むデータを「署名」と示す場合がある。
【０１１２】
情報処理システム１０００では、第１の例に係る処理として、例えば図６に示す処理が行われる。なお、情報処理システム１０００における第１の例に係る処理が、図６に示す例に限られないことは、言うまでもない。
【０１１３】
［２−２］情報処理システムにおける処理の第２の例
例えば、対象データが仮想通貨の取引データである場合を想定する。なお、下記に示す対象データが仮想通貨の取引データである場合の例は、対象データが仮想通貨の取引データ以外の、複数種類が存在しうるデータである場合にも、適用可能である。
【０１１４】
仮想通貨には様々な種類が存在し、仮想通貨によって取引データの内容や秘密鍵の暗号方式、署名方法が異なる。また、仮想通貨によっては、バージョンアップによって取引データの内容や秘密鍵の暗号方式、署名方法が変わることがある。
【０１１５】
ここで、ＩＣカード１００が備える耐タンパ性を有する記録媒体に、シード値を示す鍵情報を記憶することによって、１つのシード値から仮想通貨それぞれの暗号方式に対応する秘密鍵を生成することが可能である。
【０１１６】
ＩＣカード１００が備える耐タンパ性を有する記録媒体に、シード値を示す鍵情報が記憶されている場合、ＩＣカード１００が備える記録媒体に、秘密鍵の生成および署名データの生成に関するプログラムが仮想通貨ごとに記憶され、当該プログラムが実行されることによって、仮想通貨それぞれの署名方法に対応する署名データを生成することが可能である。秘密鍵の生成および署名データの生成に関するプログラムが記憶される記録媒体は、耐タンパ性を有していてもよいし、有していなくてもよい。
【０１１７】
また、例えば、ＩＣカード１００が備える耐タンパ性を有する記録媒体に、仮想通貨それぞれに対応する秘密鍵を示す鍵情報が記憶されている場合、ＩＣカード１００が備える記録媒体に、署名データの生成に関するプログラムが仮想通貨ごとに記憶され、当該プログラムが実行されることによって、仮想通貨それぞれの署名方法に対応する署名データを生成することが可能である。署名データの生成に関するプログラムが記憶される記録媒体は、耐タンパ性を有していてもよいし、有していなくてもよい。
【０１１８】
ＩＣカード１００は、例えば上記のように、耐タンパ性を有する記録媒体に鍵情報を記憶し、記録媒体に、署名データの生成に関するプログラム、または、秘密鍵の生成および署名データの生成に関するプログラムを記憶する。そして、ＩＣカード１００は、取引データに対応するプログラムを選択し、選択されたプログラムを実行することにより、取引データに対応する署名データを生成する。ＩＣカード１００は、例えば、“取引データに含まれる識別子（例えば、取引の種別を示すＩＤなど）、または取引データと共に取得される識別子を示す識別データ（取引の種別を示すＩＤなどを示すデータ）”に基づいて、取引データに対応するプログラムを選択する。取引データに対応するプログラムの選択に係る処理の一例については、後述する。
【０１１９】
よって、ＩＣカード１００は、仮想通貨の種類に応じた署名データを生成することができる。
【０１２０】
また、記録媒体に記憶される署名データの生成に関するプログラム、または、記録媒体に記憶される秘密鍵の生成および署名データの生成に関するプログラムが更新されることによって、ＩＣカード１００は、仮想通貨のバージョンアップによって秘密鍵の暗号方式や署名方法が変わる場合にも、対応することができる。
【０１２１】
図７は、本実施形態に係る情報処理システム１０００における処理の第２の例を示す説明図である。図７は、図６と同様に、ＩＣカード１００とリーダ２００との間の通信が確立された後の処理を示している。
【０１２２】
ＩＣカード１００が備える記録媒体に、署名データの生成に関するプログラム、または、秘密鍵の生成および署名データの生成に関するプログラムが、インストールされる（Ｓ２００）。ステップＳ２００におけるプログラムのインストールには、ＩＣカード１００が備える記録媒体に、プログラムが新規に記憶されることと、当該記録媒体に記憶されているプログラムが更新されることとが含まれる。
【０１２３】
ステップＳ２００の処理は、例えばリーダ２００などの中継装置を介して、または直接的に、サーバ３００などの外部装置との間で行われる。ＩＣカード１００と外部装置との間では、共通鍵方式や公開鍵方式などの任意の暗号化方式を利用して認証が行われ、正常に認証が完了した後に、ステップＳ２００の処理が行われてもよい。
【０１２４】
リーダ２００は、図６のステップＳ１００と同様に、取引データを送信する（Ｓ２０２）。
【０１２５】
ステップＳ２００においてリーダ２００から送信された取引データを受信したＩＣカード１００は、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ２０４）。そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ２０６）。
【０１２６】
図８は、本実施形態に係る情報処理システム１０００における処理の第２の例を示す説明図であり、図７に示すステップＳ２０２の処理〜Ｓ２０６の処理をより具体的に示した図である。図８では、“ＩＣカード１００が有する処理部１１０を構成する判定部によって、図７に示すステップＳ２０４の処理およびステップＳ２０６の処理が行われる例”を、示している。
【０１２７】
リーダ２００は、取引データを送信する（Ｓ３００）。
【０１２８】
ＩＣカード１００は、例えば、取引データと、記録媒体に記憶されている“取引の種別とプログラムとが対応付けられている対応表（またはデータベース）”とに基づいて、取引データに対応するプログラムを決定する（Ｓ３０２）。取引データに対応するプログラムが決定されると、ＩＣカード１００は、決定されたプログラムを実行することによって、取引データに対応する署名データを生成する（Ｓ３０４）。
【０１２９】
そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ３０６）。
【０１３０】
情報処理システム１０００では、第２の例に係る処理として、例えば図７、図８に示す処理が行われる。なお、情報処理システム１０００における第２の例に係る処理が、図７、図８に示す例に限られないことは、言うまでもない。
【０１３１】
［２−３］情報処理システムにおける処理の第３の例
例えば、対象データが仮想通貨の取引データである場合を想定する。なお、下記に示す対象データが仮想通貨の取引データである場合の例は、対象データが仮想通貨の取引データ以外のデータである場合にも、適用されうる。
【０１３２】
一般的にＩＣカードは表示機能を有しない。そのため、ＩＣカードを利用して仮想通貨の取引を行う場合を想定すると、ＩＣカードのユーザは、ＩＣカードの通信対象の外部装置が備える表示デバイスの表示画面に表示された取引内容、または、当該外部装置に接続されている表示デバイスの表示画面に表示された取引内容を確認して、取引を許可すると、考えられる。
【０１３３】
しかしながら、ＩＣカードの通信対象の外部装置において、取引内容の偽造・改ざんが行われた場合には、ＩＣカードのユーザは、取引内容の偽造・改ざんを認識することができず、その結果、不正送金が行われる可能性がある。
【０１３４】
図９は、ＩＣカードの通信対象の外部装置において取引内容の偽造・改ざんが行われるユースケースを示す説明図である。図９では、ＩＣカード１００の通信対象の外部装置として、リーダ１０を示している。リーダ１０としては、例えば、店舗などに設置されている端末や、スマートホンなどの通信装置などが挙げられる。
【０１３５】
図９に示すユースケースは、リーダ１０の表示画面に表示されている取引内容が、マルウェアによって改ざんされ（Ｓ１０）、改ざんされた取引内容を示す取引データがＩＣカード１００へ送信されている（Ｓ２０）。
【０１３６】
例えば図９のステップＳ２０において送信された取引データに基づき、署名データが生成されると、改ざんされた取引内容を示す取引データによる取引が行われ、その結果、不正送金が行われてしまう。
【０１３７】
そこで、ＩＣカード１００は、設定されている署名条件を満たしているかを判定する。ＩＣカード１００は、例えば、ＩＣカード１００が備える記録媒体に記憶されている署名条件を示すデータを参照することによって、設定されている署名条件を特定する。署名条件を示すデータが記憶される記録媒体は、耐タンパ性を有していてもよいし、有していなくてもよい。
【０１３８】
そして、ＩＣカード１００は、署名条件を満たしていると判定された場合に、署名データを生成する。
【０１３９】
本実施形態に係る署名条件としては、例えば、対象データが示す内容に関する第１の署名条件が、挙げられる。対象データが仮想通貨の取引データである場合を例に挙げると、第１の署名条件としては、例えば下記に示す例が挙げられる。
・取引内容が示す仮想通貨の金額が、上限値以下であること（または、取引内容が示す仮想通貨の金額が、上限値より小さいこと）
・所定の期間に取り引きされる仮想通貨の金額の合計値が、上限値以下であること（または、当該合計値が、上限値より小さいこと）
・所定の期間における取引回数が、上限値以下であること（または、当該取引回数が、上限値より小さいこと）
・上記に示す複数の条件のＯＲ条件
【０１４０】
なお、第１の署名条件は、上記に示す例に限られない。例えば、対象データが仮想通貨の取引データである場合、第１の署名条件は、“取引内容が示す仮想通貨の金額が、予め信頼されている外部装置との通信により取得されるデータが示す金額と一致すること”であってもよい。予め信頼されている外部装置との通信としては、例えば、リーダ２００などの中継装置を介さずに直接的に行われるセキュアな通信が、挙げられる。
【０１４１】
“取引内容が示す仮想通貨の金額が、予め信頼されている外部装置との通信により取得されるデータが示す金額と一致すること”が第１の署名条件である場合、仮に取引内容の偽造・改ざんが行われたとしても、ＩＣカード１００は、取引内容の偽造・改ざんが行われた不正な取引データに基づいて署名データを生成しない。よって、“取引内容が示す仮想通貨の金額が、予め信頼されている外部装置との通信により取得されるデータが示す金額と一致すること”が第１の署名条件であるときには、“ＩＣカード１００が一般的なＩＣカードと同様に表示機能を有さず、かつ、取引内容の偽造・改ざんが行われた場合”であっても、不正送金が行われることが防止される。
【０１４２】
第１の署名条件の設定は、例えば、リーダ２００などの中継装置を介して行われる、サーバ３００などの外部装置との通信、または、当該外部装置と直接的に行われる外部装置との通信によって、設定される。第１の署名条件は、例えば、パスワードや生体認証などのＩＣカード１００のユーザを認証することが可能な任意の認証方式による認証が正常に行われた場合に、設定される。また、第１の署名条件に係る所定の期間における仮想通貨の金額の合計値や、第１の署名条件に係る所定の期間における取引回数のリセットについても、例えば、任意の認証方式による認証が正常に行われた場合に行われる。なお、第１の署名条件の設定などに係るＩＣカード１００と外部装置との通信は、共通鍵方式や公開鍵方式などの任意の暗号化方式を利用して暗号化されていてもよい。
【０１４３】
署名条件が、上記のような第１の署名条件である場合、ＩＣカード１００は、例えば、取引データに基づいて第１の署名条件を満たしているかを判定する。そして、ＩＣカード１００は、第１の署名条件を満たしていると判定された場合に、署名データを生成する。
【０１４４】
一例を挙げると、“取引内容が示す仮想通貨の金額が、上限値以下であること”が第１の署名条件である場合、ＩＣカード１００は、取引データが示す仮想通貨の金額が上限値以下であるときに、第１の署名条件を満たしていると判定する。例えば、上限値が“１０００”である場合、ＩＣカード１００は、取引データが示す仮想通貨の金額が“１０００”以下であるときに、第１の署名条件を満たしていると判定する。そして、ＩＣカード１００は、取引データに対応する署名データを生成する。
【０１４５】
“取引内容が示す仮想通貨の金額が、上限値以下であること”が第１の署名条件である場合には、仮に取引内容の偽造・改ざんが行われたとしても、ＩＣカード１００のユーザが被る損害を、上限値以下に限定することができる。
【０１４６】
他の例を挙げると、“所定の期間に取り引きされる仮想通貨の金額の合計値が、上限値以下であること”または“所定の期間における取引回数が、上限値以下であること”が第１の署名条件である場合、ＩＣカード１００は、取引データと、ＩＣカード１００が備える記録媒体に記憶されている履歴情報とに基づいて、第１の署名条件を満たしているかを判定する。
【０１４７】
本実施形態に係る履歴情報とは、署名データの生成履歴を示すデータである。履歴情報には、例えば、署名データが生成された時間を示すデータ（例えば、生成された時刻を示すデータ）と、署名データに対応する対象データが示す内容を示すデータ（例えば、取引内容を示すデータ）とが対応付けて記録される。また、履歴情報には、さらに、取引先を示すデータ（例えば、アドレスなど）が対応付けて記録されていてもよい。ＩＣカード１００は、署名データが生成された場合に、生成された署名データに対応する履歴情報を、ＩＣカード１００が備える記録媒体（記憶部１０４を構成する記録媒体）に記録する。
【０１４８】
例えば、“所定の期間に取り引きされる仮想通貨の金額の合計値が、上限値以下であること”が第１の署名条件である場合、ＩＣカード１００は、記録媒体に記憶されている履歴情報から、署名データが生成された時刻が所定の期間に含まれる、時間を示すデータを特定する。ＩＣカード１００は、例えば処理時点または取引データが取得された時点を基準として、所定の期間を特定する。次に、ＩＣカード１００は、特定された時間を示すデータに対応付けられている取引内容を示すデータを、履歴情報から特定し、特定された取引内容を示すデータが示す取引内容と、取引データが示す仮想通貨の金額とに基づいて、“所定の期間に取り引きされる仮想通貨の金額の合計値”を算出する。そして、ＩＣカード１００は、算出された合計値が上限値以下であるときに、第１の署名条件を満たしていると判定して、取引データに対応する署名データを生成する。例えば、上限値が“１０００００”である場合、ＩＣカード１００は、算出された合計値が“１０００００”以下であるときに、第１の署名条件を満たしていると判定する。そして、ＩＣカード１００は、取引データに対応する署名データを生成する。
【０１４９】
“所定の期間に取り引きされる仮想通貨の金額の合計値が、上限値以下であること”が第１の署名条件である場合、仮に取引内容の偽造・改ざんが行われたとしても、ＩＣカード１００のユーザが被る損害を、上限値以下に限定することができる。
【０１５０】
また、例えば、“所定の期間における取引回数が、上限値以下であること”が第１の署名条件である場合、ＩＣカード１００は、記録媒体に記憶されている履歴情報から、署名データが生成された時刻が所定の期間に含まれる、時間を示すデータを特定する。次に、ＩＣカード１００は、特定された時間を示すデータのデータ数に、取得された取引データに伴う署名データの生成回数である“１”を加えることによって、取引回数を算出する。そして、ＩＣカード１００は、算出された取引回数が上限値以下であるときに、第１の署名条件を満たしていると判定して、取引データに対応する署名データを生成する。例えば、上限値が“１０”である場合、ＩＣカード１００は、算出された取引回数が“１０”以下であるときに、第１の署名条件を満たしていると判定する。そして、ＩＣカード１００は、取引データに対応する署名データを生成する。
【０１５１】
“所定の期間における取引回数が、上限値以下であること”が第１の署名条件である場合には、仮に、ＩＣカード１００がユーザ以外の第三者により不正に利用されたとしても、不正に利用される回数を制限することができる。
【０１５２】
ＩＣカード１００は、例えば上記に示す例のように、対象データに基づいて、または、対象データおよび履歴情報に基づいて、第１の署名条件を満たしているかを判定し、第１の署名条件を満たしていると判定された場合に、署名データを生成する。なお、第１の署名条件に基づく署名データの生成例が、上記に示す例に限られないことは、言うまでもない。
【０１５３】
なお、署名条件が上記第１の署名条件を含む場合における処理は、上記に示す例に限られない。
【０１５４】
例えば、ＩＣカード１００は、第１の署名条件を満たしていると判定されないときには、署名データの生成エラーを示すデータを、取引データを送信した外部装置に送信する。以下では、署名データの生成エラーを示すデータを、単に「エラー」と示す場合がある。このとき、ＩＣカード１００は、取引データに対応する署名データを生成しなくてよい。
【０１５５】
また、例えば、署名条件に、所定の認証に関する第２の署名条件がさらに含まれているときにおいて、第１の署名条件を満たしていると判定されない場合には、ＩＣカード１００は、リーダ２００などの外部装置から取得されたデータに基づいて、第２の署名条件を満たしているかを判定する。
【０１５６】
第２の署名条件としては、例えば“所定の外部装置に対応する署名データの検証が正常に完了したこと”などの、所定の署名データの検証に関する署名条件が、挙げられる。ＩＣカード１００は、例えば、ＩＣカード１００が備える耐タンパ性を有する記録媒体に記憶されている公開鍵を用いて、取得されたデータに含まれる署名データが検証できたときに、第２の署名条件を満たすと判定する。耐タンパ性を有する記録媒体に記憶されている公開鍵に対応する装置、すなわち、当該公開鍵とペアをなす秘密鍵により署名データを生成した装置が、第２の署名条件に係る所定の外部装置に該当する。
【０１５７】
なお、第２の署名条件は、上記に示す例に限られない。例えば、第２の署名条件は、“パスワードや生体認証などのＩＣカード１００のユーザを認証することが可能な任意の認証方式による認証が、正常に完了したこと”であってもよい。
【０１５８】
第２の署名条件を満たしていると判定された場合には、ＩＣカード１００は、署名データを生成する。この場合、第１の署名条件を満たしていると判定されていないにも関わらず、署名データが生成される。つまり、第２の署名条件を満たしていることに基づく署名データの生成は、第１の署名条件を満たさずに署名データが生成される、ＩＣカード１００における署名データの生成の例外である。
【０１５９】
また、第２の署名条件を満たしていると判定されない場合には、ＩＣカード１００は、所定の認証を要求する認証要求を、リーダ２００などの外部装置に対して送信する。
【０１６０】
本実施形態に係る認証要求は、例えば第２の署名条件に応じて変わる。一例を挙げると、“所定の外部装置に対応する署名データの検証が正常に完了したこと”が第２の署名条件である場合、認証要求としては、所定の外部装置に対応する署名データの送信命令と、所定の外部装置を示すデータ（例えば、ＩＰアドレスを示すデータや、公開鍵など）とが含まれる。他の例を挙げると、“ＩＣカード１００のユーザを認証することが可能な任意の認証方式による認証が、正常に完了したこと”が第２の署名条件である場合、認証要求としては、認証命令と、認証内容を示すデータとが含まれる。
【０１６１】
認証要求を送信した後所定の期間内に、リーダ２００などの外部装置からデータが取得された場合、ＩＣカード１００は、例えば、取得されたデータに基づいて、第２の署名条件を満たしているかを再度判定する。上記所定の期間は、設定されている固定の期間であってもよいし、外部装置との間でセッションが張られている期間であってもよい。
【０１６２】
再度の判定により第２の署名条件を満たしていると判定された場合、ＩＣカード１００は、署名データを生成する。また、再度の判定により第２の署名条件を満たしていると判定されない場合、ＩＣカード１００は、署名データの生成エラーを示すデータを、データを送信した外部装置に送信する。なお、再度の判定により第２の署名条件を満たしていると判定されない場合、ＩＣカード１００は、認証要求を再度送信してもよい。
【０１６３】
なお、認証要求を送信した後におけるＩＣカード１００の処理は、上記に示す例に限られない。
【０１６４】
例えば、ＩＣカード１００は、第１の署名条件に係る判定と第２の署名条件に係る判定とを、再度行ってもよい。第１の署名条件に係る判定と第２の署名条件に係る判定とを再度行う場合、ＩＣカード１００は、１回目に行う場合と同様に処理を行う。第１の署名条件に係る判定と第２の署名条件に係る判定とを再度行うときに、１回目に行う場合と同様に処理が行われる場合には、上述したように、第１の署名条件を満たしていると判定されたとき、または第２の署名条件を満たしていると判定されたときに、署名データが生成される。なお、第１の署名条件に係る判定と第２の署名条件に係る判定とを再度行う場合、ＩＣカード１００は、第１の署名条件と第２の署名条件との双方が満たされる場合にのみ、署名データを生成してもよい。
【０１６５】
図１０は、本実施形態に係る情報処理システム１０００における処理の第３の例を示す説明図である。図１０は、図６と同様に、ＩＣカード１００とリーダ２００との間の通信が確立された後の処理を示している。
【０１６６】
ＩＣカード１００が備える記録媒体に、署名条件が設定される（Ｓ４００）。図１０では、“取引内容が示す仮想通貨の金額が、＄１０以下であること”が第１の署名条件として設定された例を示している。
【０１６７】
リーダ２００は、図６のステップＳ１００と同様に、取引データを送信する（Ｓ４０２）。ステップＳ４０２では、取引データが示す取引内容が、第１の署名条件を満たしている例を示している。よって、ステップＳ４０２においてリーダ２００から送信された取引データを受信したＩＣカード１００は、取引データに対応する署名データを生成し、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ４０４）。
【０１６８】
リーダ２００は、図６のステップＳ１００と同様に、取引データを送信する（Ｓ４０６）。ステップＳ４０６では、取引データが示す取引内容が、第１の署名条件を満たしていない例を示している。よって、ステップＳ４０６においてリーダ２００から送信された取引データを受信したＩＣカード１００は、署名データの生成エラーを示すデータを、リーダ２００へ送信する（Ｓ４０８）。
【０１６９】
図１１は、本実施形態に係る情報処理システム１０００における処理の第３の例を示す説明図である。図１１は、ＩＣカード１００における処理を、図１０よりも具体的に示した図である。図１１では、“ＩＣカード１００が有する処理部１１０を構成する判定部および署名部によって、ＩＣカード１００における処理が行われる例”を示している。図１１では、履歴情報を「署名履歴」と示している。
【０１７０】
リーダ２００は、取引データを送信する（Ｓ５００）。
【０１７１】
ＩＣカード１００は、記録媒体に記憶されている署名条件と履歴情報とを参照し（Ｓ５０２、Ｓ５０４）、取引データが示す取引内容が第１の署名条件を満たしているかを判定する（Ｓ５０６）。
【０１７２】
ステップＳ５０６において第１の署名条件を満たしていると判定された場合、ＩＣカード１００は、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ５０８）。また、ＩＣカード１００は、生成された署名データに対応する履歴情報を、記憶部１０４を構成する記録媒体に記録する（Ｓ５１０）。そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ５１２）。
【０１７３】
また、ステップＳ５０６において第１の署名条件を満たしていると判定されない場合、ＩＣカード１００は、署名データの生成エラーを示すデータを、リーダ２００へ送信する（Ｓ５１２）。
【０１７４】
なお、ステップＳ５０６において第１の署名条件を満たしていると判定されない場合、ＩＣカード１００は、認証要求を、リーダ２００へ送信してもよい（Ｓ５１２）。
【０１７５】
図１２は、本実施形態に係る情報処理システム１０００における処理の第３の例を示す説明図である。図１２は、図１１のステップＳ５１２において認証要求が送信された場合における処理の一例を示している。図１２では、“ＩＣカード１００が有する処理部１１０を構成する検証部、判定部および署名部によって、ＩＣカード１００における処理が行われる例”を、示している。
【０１７６】
リーダ２００は、認証データと取引データとを送信する（Ｓ６００、Ｓ６０２）。
【０１７７】
ステップＳ６００においてリーダ２００から送信された認証データを受信したＩＣカード１００は、受信された認証データを検証する（Ｓ６０４）。例えば、認証データが署名データである場合、ＩＣカード１００は、ＩＣカード１００が備える記録媒体に記憶されている公開鍵を用いて署名データを検証する。
【０１７８】
ステップＳ６０２においてリーダ２００から送信された取引データを受信したＩＣカード１００は、例えば図１１のステップＳ５０２〜Ｓ５０６と同様に、署名条件を参照して取引データが示す取引内容が第１の署名条件を満たしているかを判定し、ステップＳ６０４の検証結果に基づいて第２の署名条件を満たしているかを判定する（Ｓ６０６、Ｓ６０８）。
【０１７９】
ＩＣカード１００は、ステップＳ６０８における判定結果に基づいて、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ６１０）。ＩＣカード１００は、例えば、第１の署名条件を満たしていると判定された場合、または第２の署名条件を満たしていると判定された場合に、取引データに対応する署名データを生成する。また、ＩＣカード１００は、例えば、第１の署名条件と第２の署名条件との双方が満たされる場合にのみ、署名データを生成してもよい。
【０１８０】
なお、図１２では示していないが、ＩＣカード１００は、図１１のステップＳ５１０と同様に、生成された署名データに対応する履歴情報を、記憶部１０４を構成する記録媒体に記録してもよい。
【０１８１】
ステップＳ６１０において取引データに対応する署名データを生成された場合、すなわち、署名条件を満たしていると判定された場合、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ６１２）。また、ステップＳ６１０において取引データに対応する署名データを生成されない場合、すなわち、署名条件を満たしていると判定されない場合、ＩＣカード１００は、署名データの生成エラーを示すデータを、リーダ２００へ送信する（Ｓ６１２）。
【０１８２】
情報処理システム１０００では、第３の例に係る処理として、例えば図１０〜図１２に示す処理が行われる。なお、情報処理システム１０００における第３の例に係る処理が、図１０〜図１２に示す例に限られないことは、言うまでもない。
【０１８３】
［２−４］情報処理システムにおける処理の第４の例
なお、“図９を参照して説明した不正送金のユースケースのように対象データの内容の偽造・改ざんが行われた場合の影響を、低減することが可能な処理”は、上記情報処理システム１０００における第３の例に係る処理に限られない。以下、上記情報処理システムにおける第３の例に係る処理と同様に、対象データが仮想通貨の取引データである場合を例に挙げて、第４の例に係る処理について説明する。
【０１８４】
例えば、“予め信頼されている装置（ＩＣカード１００の外部装置）により取引データが示す取引内容が検証され、取引データの内容が偽造・改ざんされていないことが保証されている場合”には、ＩＣカード１００が、対象データが示す内容に関する第１の署名条件を満たしているかを判定しなくても、対象データの内容の偽造・改ざんが行われた場合の影響を低減することが可能である。
【０１８５】
そこで、ＩＣカード１００は、所定の認証に関する第２の署名条件（設定されている署名条件の一例）を満たしているかを判定する。
【０１８６】
そして、ＩＣカード１００は、第２の署名条件を満たしていると判定された場合に、署名データを生成する。第４の例に係る処理に係る第２の署名条件としては、“所定の外部装置に対応する署名データの検証が正常に完了したこと”が挙げられる。
【０１８７】
ＩＣカード１００は、例えば、ＩＣカード１００が備える耐タンパ性を有する記録媒体に記憶されている公開鍵を用いて、取得されたデータに含まれる署名データが検証できたときに、第２の署名条件を満たすと判定する。耐タンパ性を有する記録媒体に記憶されている公開鍵に対応する装置、すなわち、当該公開鍵とペアをなす秘密鍵により署名データを生成した装置が、第２の署名条件に係る所定の外部装置に該当する。また、第２の署名条件に係る所定の外部装置は、予め信頼されている装置に該当する。
【０１８８】
また、第２の署名条件を満たしていると判定されない場合、ＩＣカード１００は、例えば上記第３の例に係る処理と同様に、署名データの生成エラーを示すデータを、リーダ２００などの外部装置に対して送信する。なお、第２の署名条件を満たしていると判定されない場合、ＩＣカード１００は、例えば上記第３の例に係る処理と同様に、認証要求を、外部装置に対して送信してもよい。
【０１８９】
なお、ＩＣカード１００における第４の例に係る処理は、上記に示す例に限られない。例えば、ＩＣカード１００は、上記第３の例に係る処理の一例と同様に、第１の署名条件と第２の署名条件との双方が満たされる場合に、署名データを生成してもよい。
【０１９０】
以下、第２の署名条件に係る所定の外部装置、すなわち予め信頼されている装置が、サーバ３００である場合を例に挙げて、情報処理システム１０００における第４の例に係る処理の一例を、説明する。
【０１９１】
図１３は、本実施形態に係る情報処理システム１０００における処理の第４の例を示す説明図である。図１３では、サーバ３００が予め信頼されている装置であることを表すため、便宜上、サーバ３００を「信頼できるサーバ」と示している。
【０１９２】
リーダ２００は、取引データをサーバ３００に送信する（Ｓ７００）。
【０１９３】
ステップＳ７００においてリーダ２００から送信された取引データを受信したサーバ３００は、取引データを検証し、正常に検証された場合にサーバ３００に対応する署名データを生成し、生成された署名データをリーダ２００へ送信する（Ｓ７０２）。サーバ３００は、例えば第３の例におけるＩＣカード１００における処理と同様に、署名条件を満たすか否かを判定することによって、取引データを検証する。また、サーバ３００は、例えば、取引データとサーバ３００に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する。以下では、サーバ３００において生成された取引データに対応する署名データを、「サーバ３００に対応する署名データ」または「サーバ署名」と示す場合がある。
【０１９４】
なお、サーバ３００は、さらに、取引データを送信したリーダ２００のＩＤと、リーダ２００が設置されている場所を示すＩＤ（例えば店舗ＩＤなど）との一方または双方に基づき、取引データを送信した装置を認証してもよい。サーバ３００は、例えば、ホワイトリストまたはブラックリストと、取引データを送信したリーダ２００のＩＤなどとを比較することによって、取引データを送信した装置を認証する。取引データを送信した装置を認証する場合、サーバ３００は、取引データを送信した装置の認証が正常に完了した場合に、サーバ３００に対応する署名データを生成してもよい。
【０１９５】
ステップＳ７０２においてサーバ３００から送信されたサーバ３００に対応する署名データを受信したリーダ２００は、取引データとサーバ３００に対応する署名データとを、ＩＣカード１００へ送信する（Ｓ７０４）。
【０１９６】
なお、リーダ２００は、さらに、署名データを送信したサーバ３００のＩＤなどに基づき、署名データを送信した装置を認証してもよい。リーダ２００は、例えば、ホワイトリストまたはブラックリストと、サーバ３００のＩＤなどとを比較することによって、署名データを送信した装置を認証する。署名データを送信した装置を認証する場合、リーダ２００は、署名データを送信した装置の認証が正常に完了した場合に、取引データとサーバ３００に対応する署名データとを、ＩＣカード１００へ送信する。
【０１９７】
ステップＳ７０４においてリーダ２００から送信されたデータを受信したＩＣカード１００は、受信したデータに含まれるサーバ３００に対応する署名データを検証する（Ｓ７０６）。例えば、ＩＣカード１００は、ＩＣカード１００が備える記録媒体に記憶されている公開鍵を用いて署名データを検証する。
【０１９８】
ＩＣカード１００は、例えば、“ステップＳ７０６においてサーバ３００に対応する署名データが検証され、かつ、検証の結果得られた取引データの内容と、受信したデータに含まれる取引データの内容とが一致する場合”に、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ７０８）。そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ７１０）。
【０１９９】
また、ＩＣカード１００は、例えば、“ステップＳ７０６においてサーバ３００に対応する署名データが検証されない場合”、または“検証の結果得られた取引データの内容と受信したデータに含まれる取引データの内容とが一致しない場合”、署名データの生成エラーを示すデータをリーダ２００へ送信してもよい。
【０２００】
図１４は、本実施形態に係る情報処理システム１０００における処理の第４の例を示す説明図である。図１４は、図１３に示す情報処理システム１０００おける処理を、図１３よりも具体的に示した図である。図１４では、“サーバ３００における処理が、サーバ３００が有する制御部を構成する判定部および署名部によって行われる例”を示している。また、図１４では、“ＩＣカード１００が有する処理部１１０を構成する検証部、判定部および署名部によって、ＩＣカード１００における処理が行われる例”を示している。また、図１４では、ＩＣカード１００が、第１の署名条件と第２の署名条件との双方が満たされる場合に、署名データを生成する例を示している。
【０２０１】
リーダ２００は、取引データをサーバ３００に送信する（Ｓ８００）。
【０２０２】
ステップＳ８００においてリーダ２００から送信された取引データを受信したサーバ３００は、例えば第３の例におけるＩＣカード１００における処理と同様に、署名条件を満たすか否かを判定する（Ｓ８０２）。また、サーバ３００における署名条件には、“取引データを送信した装置が認証できたこと”が含まれていてもよい。“取引データを送信した装置が認証できたこと”が署名条件に含まれる場合、サーバ３００は、例えば、リーダ２００のＩＤから送信されるリーダ２００のＩＤなどに基づき、リーダ２００（取引データを送信した装置の一例）を認証する。
【０２０３】
サーバ３００は、ステップＳ８０２の判定結果に基づいて、サーバ３００に対応する署名データを選択的に生成する（Ｓ８０４）。サーバ３００は、ステップＳ８０２において署名条件を満たしていると判定された場合に、取引データとサーバ３００に対応する秘密鍵とに基づいて、サーバ３００に対応する署名データを生成する。以下では、サーバ３００に対応する署名データを「認証データ」と示す場合がある。
【０２０４】
ステップＳ８０４においてサーバ３００に対応する署名データが生成されると、サーバ３００は、サーバ３００に対応する署名データをリーダ２００へ送信する（Ｓ８０６）。
【０２０５】
ステップＳ８０６においてサーバ３００から送信されたサーバ３００に対応する署名データを受信したリーダ２００は、サーバ３００に対応する署名データと取引データとをＩＣカード１００へ送信する（Ｓ８０８、Ｓ８１０）。
【０２０６】
ステップＳ８０８においてリーダ２００から送信されたサーバ３００に対応する署名データを受信したＩＣカード１００は、受信されたサーバ３００に対応する署名データを検証する（Ｓ８１２）。ＩＣカード１００は、例えば、ＩＣカード１００が備える記録媒体に記憶されている公開鍵を用いて署名データを検証する。
【０２０７】
ステップＳ８１０においてリーダ２００から送信された取引データを受信したＩＣカード１００は、例えば図１２のステップＳ６０６、Ｓ６０８と同様に、署名条件を参照して取引データが示す取引内容が第１の署名条件を満たしているかを判定し、ステップＳ８１２の検証結果に基づいて第２の署名条件を満たしているかを判定する（Ｓ８１４、Ｓ８１６）。
【０２０８】
ＩＣカード１００は、ステップＳ８１６における判定結果に基づいて、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ８１８）。ＩＣカード１００は、例えば、第１の署名条件と第２の署名条件との双方が満たされる場合に、署名データを生成する。なお、ＩＣカード１００は、例えば、第２の署名条件を満たしていると判定された場合に、取引データに対応する署名データを生成してもよい。
【０２０９】
なお、図１４では示していないが、ＩＣカード１００は、図１１のステップＳ５１０と同様に、生成された署名データに対応する履歴情報を、記憶部１０４を構成する記録媒体に記録してもよい。
【０２１０】
ステップＳ８１８において取引データに対応する署名データを生成された場合、すなわち、署名条件を満たしていると判定された場合、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ８２０）。また、ステップＳ８１８において取引データに対応する署名データを生成されない場合、すなわち、署名条件を満たしていると判定されない場合、ＩＣカード１００は、署名データの生成エラーを示すデータを、リーダ２００へ送信する（Ｓ８２０）。
【０２１１】
なお、情報処理システム１０００における第４の例に係る処理は、図１３、図１４に示す例に限られない。
【０２１２】
例えば、サーバ３００は、上記第３の例におけるＩＣカード１００における処理と同様に、認証要求を外部装置へ送信し、認証要求に対する認証結果に基づいて、サーバ３００に対応する署名データを選択的に生成してもよい。
【０２１３】
サーバ３００は、例えば、ＩＣカード１００のＩＤに対応付けられている装置や、ＩＣカード１００のＩＤに対応付けられているメールアドレス、ＩＣカード１００のＩＤに対応付けられているＳＮＳ（Social  Networking  Service）のアカウント、ＩＣカード１００のＩＤに対応付られているアプリケーションなどに対して、認証要求を送信する。ＩＣカード１００のＩＤに対応付けられている装置としては、例えばＩＣカード１００のユーザが所持しているスマートホンなどの、ユーザが所持している装置（以下、「ユーザ端末」と示す。）が挙げられる。サーバ３００は、例えば、リーダ２００などの中継装置を介してＩＣカード１００と通信を行うこと、または、直接的にＩＣカード１００と通信を行うことによって、ＩＣカード１００のＩＤを取得する。
【０２１４】
認証要求に対する認証としては、例えば、ユーザ端末上で動作するアプリケーションでユーザが確認ボタンを押すことによる認証や、パスワード、生体認証などのＩＣカード１００のユーザを認証することが可能な任意の認証方式による認証が、挙げられる。また、認証要求に対する認証は、ＩＣカード１００のユーザの認証に限られない。例えば、認証要求に対する認証は、ＩＣカード１００のユーザの保護者や後見人などの、ユーザに対応付けられている者の認証であってもよい。ユーザに対応付けられている者の認証としては、パスワードや生体認証などによる認証や、ユーザに対応付けられている者に対応付けられている装置による署名データの検証などが、挙げられる。
【０２１５】
図１５は、本実施形態に係る情報処理システム１０００における処理の第４の例を示す説明図である。図１５では、図１３と同様に、サーバ３００が予め信頼されている装置であることを表すため、便宜上、サーバ３００を「信頼できるサーバ」と示している。また、図１５では、認証要求の送信対象の装置が「ユーザ端末４００」である例を示している。
【０２１６】
リーダ２００は、取引データをサーバ３００に送信する（Ｓ９００）。
【０２１７】
ステップＳ９００においてリーダ２００から送信された取引データを受信したサーバ３００は、図１３のステップＳ７０２と同様に取引データを検証し、検証結果に基づいて認証要求をユーザ端末４００へ送信する（Ｓ９０２）。
【０２１８】
ステップＳ９０２においてサーバ３００から送信された認証要求を受信したユーザ端末４００は、認証要求に対応する方法で認証を行う（Ｓ９０４）。そして、ユーザ端末４００は、ステップＳ９０４における認証結果をサーバ３００へ送信する（Ｓ９０６）。
【０２１９】
ステップＳ９０６においてユーザ端末４００から送信された認証結果を受信したサーバ３００は、認証結果が正常に認証されたことを示す場合にサーバ３００に対応する署名データを生成し、生成された署名データをリーダ２００へ送信する（Ｓ９０８）。なお、サーバ３００は、図１３の例と同様に、さらに、取引データを送信したリーダ２００のＩＤなどに基づき、取引データを送信した装置を認証してもよい。
【０２２０】
ステップＳ９０８においてサーバ３００から送信されたサーバ３００に対応する署名データを受信したリーダ２００は、取引データとサーバ３００に対応する署名データとを、ＩＣカード１００へ送信する（Ｓ９１０）。なお、リーダ２００は、図１３の例と同様に、さらに、署名データを送信したサーバ３００のＩＤなどに基づき、署名データを送信した装置を認証してもよい。
【０２２１】
ステップＳ９１０においてリーダ２００から送信されたデータを受信したＩＣカード１００は、例えば図１３のステップＳ７０６と同様に、受信したデータに含まれるサーバ３００に対応する署名データを検証する（Ｓ９１２）。
【０２２２】
ＩＣカード１００は、例えば、“ステップＳ９１２においてサーバ３００に対応する署名データが検証され、かつ、検証の結果得られた取引データの内容と、受信したデータに含まれる取引データの内容とが一致する場合”に、取得された取引データと、耐タンパ性を有する記録媒体に記憶されている鍵情報に対応する秘密鍵とに基づいて、取引データに対応する署名データを生成する（Ｓ９１４）。そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ９１６）。
【０２２３】
また、ＩＣカード１００は、例えば、“ステップＳ９１２においてサーバ３００に対応する署名データが検証されない場合”、または“検証の結果得られた取引データの内容と受信したデータに含まれる取引データの内容とが一致しない場合”、署名データの生成エラーを示すデータをリーダ２００へ送信してもよい。
【０２２４】
情報処理システム１０００では、第４の例に係る処理として、例えば図１３〜図１５に示す処理が行われる。なお、情報処理システム１０００における第４の例に係る処理が、図１３〜図１５に示す例に限られないことは、言うまでもない。
【０２２５】
［２−５］情報処理システムにおける処理の第５の例
なお、“図９を参照して説明した不正送金のユースケースのように対象データの内容の偽造・改ざんが行われた場合の影響を、低減することが可能な処理”は、上記情報処理システム１０００における第３の例に係る処理と上記情報処理システム１０００における第４の例に係る処理とに限られない。
【０２２６】
例えば、情報処理システム１０００では、ＩＣカード１００とサーバ３００とのそれぞれにおいて、認証要求の外部装置への送信が行われてもよい。
【０２２７】
図１６は、本実施形態に係る情報処理システムにおける処理の第５の例を示す説明図である。
【０２２８】
リーダ２００は、取引データを送信する（Ｓ１０００）。
【０２２９】
ステップＳ１０００においてリーダ２００から送信された取引データを受信したＩＣカード１００は、例えば第３の例におけるＩＣカード１００における処理と同様に、署名条件を満たしているかを判定する（Ｓ１００２）。
【０２３０】
ステップＳ１００２において署名条件を満たしていると判定されない場合、ＩＣカード１００は、認証要求をリーダ２００に対して送信する（Ｓ１００４）。
【０２３１】
ステップＳ１００４においてＩＣカード１００から送信された認証要求を受信したリーダ２００は、認証要求をサーバ３００へ送信する（Ｓ１００６）。このとき、リーダ２００は、さらに取引データをサーバ３００へ送信してもよい。
【０２３２】
ステップＳ１００６においてリーダ２００から送信された認証要求を受信したサーバ３００は、例えば第４の例におけるサーバ３００における処理と同様に、署名条件を満たしているかを判定する（Ｓ１００８）。
【０２３３】
ステップＳ１００８において署名条件を満たしていると判定されない場合、サーバ３００は、認証要求をユーザ端末４００に対して送信する（Ｓ１０１０）。このとき、サーバ３００は、さらに取引データをユーザ端末４００へ送信してもよい。
【０２３４】
ステップＳ１０１０においてサーバ３００から送信された認証要求を受信したユーザ端末４００は、例えば図１５のステップＳ９０４と同様に、認証を行う（Ｓ１０１２）。そして、ユーザ端末４００は、認証結果をサーバ３００へ送信する（Ｓ１０１４）。このとき、ユーザ端末４００は、さらに認証に応じた認証データ（例えば署名データなど）を、サーバ３００へ送信してもよい。
【０２３５】
ステップＳ１０１４においてユーザ端末４００から送信された送信結果を受信したサーバ３００は、例えば図１５のステップＳ９０８と同様に、認証結果が正常に認証されたことを示す場合にサーバ３００に対応する署名データを生成し（Ｓ１０１６）、生成された署名データをリーダ２００へ送信する（Ｓ１０１８）。このとき、サーバ３００は、さらに、ユーザ端末４００から取得された認証データを、リーダ２００へ送信してもよい。
【０２３６】
ステップＳ１０１８においてサーバ３００から送信されたサーバ３００に対応する署名データを受信したリーダ２００は、取引データとサーバ３００に対応する署名データとを、ＩＣカード１００へ送信する（Ｓ１０２０）。このとき、リーダ２００は、さらに、ユーザ端末４００から取得された認証データを、ＩＣカード１００へ送信してもよい。
【０２３７】
ステップＳ１０２０においてリーダ２００から送信されたデータを受信したＩＣカード１００は、例えば図１４のステップＳ８１６と同様に、署名条件を満たしているかを判定する（Ｓ１０２２）。ＩＣカード１００は、ステップＳ１０２２において署名条件を満たしていると判定された場合に、例えば図１４のステップＳ８１８と同様に、署名データを生成する（Ｓ１０２４）。そして、ＩＣカード１００は、生成された署名データを含むデータを、リーダ２００へ送信する（Ｓ１０２６）。
【０２３８】
情報処理システム１０００では、第５の例に係る処理として、例えば図１６に示す処理が行われる。
【０２３９】
なお、情報処理システム１０００における第５の例に係る処理は、図１６に示す例に限られない。例えば、ＩＣカード１００は、複数の外部装置それぞれに対する認証を要求する、複数の認証要求を、リーダ２００に対して送信してもよい。ＩＣカード１００が複数の認証要求を送信する場合、ＩＣカード１００は、複数の認証要求それぞれに対応する複数の認証データの検証結果に基づいて、選択的に署名データを生成する。このとき、ＩＣカード１００は、複数の認証要求に対応する全ての認証データが検証された場合に署名データを生成してもよいし、複数の認証要求に対応する一部の認証データが検証された場合に署名データを生成してもよい。
【０２４０】
［２−６］情報処理システムにおける処理の第６の例
情報処理システム１０００では、“上記情報処理システム１０００における第１の例に係る処理〜上記情報処理システム１０００における第５の例に係る処理のうちの、組み合わせることが可能な２以上の処理を組み合わせた処理”が、行われてもよい。
【０２４１】
一例を挙げると、情報処理システム１０００は、“上記情報処理システム１０００における第３の例に係る処理〜上記情報処理システム１０００における第５の例に係る処理のいずれかと、上記情報処理システム１０００における第２の例に係る処理とを組み合わせた処理”を行うことが可能である。この場合、ＩＣカード１００では、対象データの内容の偽造・改ざんが行われた場合の影響を低減することができると共に、対象データに対応するプログラムが実行されることによって、任意の対象データにフレキシブルに対応することができる。
【０２４２】
［２−７］情報処理システムにおける処理の他の例
なお、情報処理システム１０００における処理は、上記情報処理システム１０００における第１の例に係る処理〜上記情報処理システム１０００における第６の例に係る処理に限られない。例えば、情報処理システム１０００では、上記情報処理システム１０００における第１の例に係る処理〜上記情報処理システム１０００における第６の例に係る処理それぞれに加えて、さらに下記の（ａ）、（ｂ）に示す処理が行われてもよい。
【０２４３】
（ａ）  例えば、図１に示すＩＣカード１００とサーバ３００とが、リーダ２００を介してまたは直接的に通信を行う場合、ＩＣカード１００とサーバ３００とは、最初に共通鍵方式などの所定の方式を用いて相互認証を行い、相互認証が正常に完了した後に各種データの送受信に係る通信を行ってもよい。この場合、相互認証が正常に完了したサーバ３００が、ＩＣカード１００からみて予め信頼されている装置に該当する。
【０２４４】
つまり、相互認証が正常に完了した後に各種データの送受信に係る通信を行う場合には、ＩＣカード１００は、信頼されている装置との間の通信を利用して、上述した取引データに関する処理の例のような対象データに関する処理を、行うことができる。
【０２４５】
よって、相互認証が正常に完了した後に各種データの送受信に係る通信を行う場合には、情報処理システム１０００における処理を、よりセキュアな処理とすることができる。
【０２４６】
また、“共通鍵方式を用いて相互認証を行い、相互認証が正常に完了した後に各種データの送受信に係る通信を行うこと”は、例えばＴｙｐｅ−ＦのＮＦＣによる通信において、実装されている。そのため、相互認証が正常に完了した後に各種データの送受信に係る通信を行う仕組みを、情報処理システム１０００に実装することは、比較的容易に実現することができると考えられる。
【０２４７】
（ｂ）  上記（ａ）のように、ＩＣカード１００とサーバ３００との間で相互認証が正常に完了した後に各種データの送受信に係る通信が行われる場合、サーバ３００は、ＩＣカード１００から取得されるＩＣカード１００のＩＤに基づいて、ＩＣカード１００に関する処理を選択的に行ってもよい。
【０２４８】
ＩＣカード１００のＩＤとしては、例えば、製造ＩＤなどのような、ＩＣカード１００固有のＩＤが挙げられる。なお、ＩＣカード１００のＩＤは、ＩＣカード１００が対応するサービスを提供するサービス事業がＩＣカード１００に対して付したＩＤであってもよい。
【０２４９】
サーバ３００は、例えば、取得されたＩＣカード１００のＩＤと、“ＩＣカード１００のＩＤと、処理の実行可否を示すデータ（例えばフラグ）とが対応付けて記憶されるテーブル（またはデータベース）”とに基づいて、ＩＣカード１００が処理の実行対象であるか否かを判定する。処理の実行可否を示すデータの内容は、例えば、サーバ３００を管理する管理者（例えば、サービスを提供する事業者など）に対して、ＩＣカード１００のユーザが可否を申請することによって、変更される。
【０２５０】
そして、サーバ３００は、処理の実行対象であると判定された場合に、ＩＣカード１００に関する処理を行う。また、サーバ３００は、処理の実行対象であると判定されない場合には、ＩＣカード１００に関する処理を行わない。
【０２５１】
例えば上記のように、ＩＣカード１００に関する処理を選択的に行うことによって、ＩＣカード１００のＩＤを利用したＩＣカード１００のアカウント制御が実現される。
【０２５２】
また、ＩＣカード１００のＩＤが記憶される上記テーブルに、さらに、ＩＣカード１００のユーザに関するデータが対応付けて記憶されている場合、サーバ３００は、ユーザに対して通知を行うことも可能である。ユーザに関するデータには、例えば、メールアドレスやＳＮＳのアカウントなどの、通知先を示すデータが含まれる。
【０２５３】
一例を挙げると、ＩＣカード１００のユーザの申請により、ＩＣカード１００に関する処理の実行が制限されているときに、ＩＣカード１００との間で通信が行われた場合、サーバ３００は、ＩＣカード１００に関する処理を実行せず、ＩＣカード１００が使用されたことをユーザに関するデータが示す連絡先へ通知する。上記のように通知が行われることによって、ＩＣカード１００のユーザは、ＩＣカード１００が不正に使用されたことを認識することができる。
【０２５４】
２．本実施形態に係るプログラム
［Ｉ］本実施形態に係るＩＣカードとして機能させるためのプログラム
コンピュータを、本実施形態に係るＩＣカードとして機能させるためのプログラム（例えば、処理部１１０の機能を、実現することが可能なプログラム）が、コンピュータにおいてプロセッサなどにより実行されることによって、鍵情報の漏えいの防止を図りつつ、Ｐ２Ｐデータベースに記録する対象の対象データに対応する署名データを生成することができる。
【０２５５】
また、コンピュータを、本実施形態に係るＩＣカードとして機能させるためのプログラムが、コンピュータにおいてプロセッサなどにより実行されることによって、上述した各例に係る情報処理システム１０００における処理によって奏される効果を、奏することができる。
【０２５６】
［ＩＩ］本実施形態に係るサーバ（情報処理装置）として機能させるためのプログラム
コンピュータを、本実施形態に係るサーバ（情報処理装置）として機能させるためのプログラム（例えば、サーバ３００が有する制御部の機能を、実現することが可能なプログラム）が、コンピュータにおいてプロセッサなどにより実行されることによって、上述したサーバ３００が関連する各例に係る情報処理システム１０００における処理によって奏される効果を、奏することができる。
【０２５７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０２５８】
例えば、上記では、コンピュータを、本実施形態に係るＩＣカードとして機能させるためのプログラム（コンピュータプログラム）が提供されることを示したが、本実施形態は、上記プログラムを記憶させた記録媒体を併せて提供することができる。
【０２５９】
上述した構成は、本実施形態の一例を示すものであり、当然に、本開示の技術的範囲に属するものである。
【０２６０】
また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
【０２６１】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）
外部装置と通信を行う通信部と、
公開鍵とペアをなす秘密鍵または前記秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部と、
前記通信部における通信により前記外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、前記鍵情報に対応する前記秘密鍵とに基づいて、前記対象データに対応する署名データを生成し、生成した前記署名データを含むデータを前記通信部における通信により前記外部装置へ送信する制御を行う処理部と、
を備える、ＩＣカード。
（２）
前記耐タンパ性を有する記憶部、または、耐タンパ性を有しない記憶部には、前記署名データの生成に関するプログラム、または、前記秘密鍵の生成および前記署名データの生成に関するプログラムが記憶され、
前記処理部は、前記対象データに対応する前記プログラムを決定し、決定した前記プログラムを実行することにより、前記署名データを生成する、前記（１）に記載のＩＣカード。
（３）
前記処理部は、
設定されている署名条件を満たしているかを判定し、
前記署名条件を満たしていると判定した場合に、前記署名データを生成する、前記（１）または（２）に記載のＩＣカード。
（４）
前記署名条件には、前記対象データが示す内容に関する第１の署名条件が含まれ、
前記処理部は、
前記対象データに基づいて前記第１の署名条件を満たしているかを判定し、
前記第１の署名条件を満たしていると判定した場合に、前記署名データを生成する、前記（３）に記載のＩＣカード。
（５）
前記耐タンパ性を有する記憶部、または、耐タンパ性を有しない記憶部には、前記署名データの生成履歴を示す履歴情報が記憶され、
前記処理部は、さらに前記履歴情報に基づいて前記第１の署名条件を満たしているかを判定する、前記（４）に記載のＩＣカード。
（６）
前記処理部は、前記署名データを生成した場合に、生成した前記署名データに対応する前記履歴情報を、前記耐タンパ性を有する記憶部、または、耐タンパ性を有しない記憶部に記録する、前記（５）に記載のＩＣカード。
（７）
前記処理部は、前記第１の署名条件を満たしていると判定しない場合には、前記署名データの生成エラーを示すデータを前記通信部における通信により前記外部装置へ送信する制御を行う、前記（４）〜（６）のいずれか１つに記載のＩＣカード。
（８）
前記署名条件には、所定の認証に関する第２の署名条件がさらに含まれ、
前記処理部は、
前記第１の署名条件を満たしていると判定しない場合、前記通信部における通信により前記外部装置から取得されたデータに基づいて、前記第２の署名条件を満たしているかを判定し、
前記第２の署名条件を満たしていると判定した場合には、前記署名データを生成し、
前記第２の署名条件を満たしていると判定しない場合には、前記所定の認証を要求する認証要求を前記通信部における通信により前記外部装置へ送信する制御を行う、前記（４）〜（６）のいずれか１つに記載のＩＣカード。
（９）
前記対象データは、仮想通貨の取引データであり、
前記第１の署名条件には、
前記取引データの取引内容が示す仮想通貨の金額が上限値以下であること、あるいは、前記取引内容が示す仮想通貨の金額が上限値より小さいことと、
所定の期間に取り引きされる仮想通貨の金額の合計値が上限値以下であること、あるいは、前記合計値が上限値より小さいことと、
所定の期間における取引回数が上限値以下であること、あるいは、前記取引回数が上限値より小さいことと、
とのうちのいずれか、または、組み合わせが含まれる、前記（４）〜（８）のいずれか１つに記載のＩＣカード。
（１０）
前記署名条件には、所定の認証に関する第２の署名条件が含まれ、
前記処理部は、
前記通信部における通信により前記外部装置から取得されたデータに基づいて、前記第２の署名条件を満たしているかを判定し、
前記第２の署名条件を満たしていると判定した場合に、前記署名データを生成する、前記（３）に記載のＩＣカード。
（１１）
前記処理部は、前記第２の署名条件を満たしていると判定しない場合には、前記署名データの生成エラーを示すデータを前記通信部における通信により前記外部装置へ送信する制御を行う、前記（１０）に記載のＩＣカード。
（１２）
前記処理部は、前記第２の署名条件を満たしていると判定しない場合には、前記所定の認証を要求する認証要求を前記通信部における通信により前記外部装置へ送信する制御を行う、前記（１０）に記載のＩＣカード。
（１３）
前記対象データは、仮想通貨の取引データである、前記（１）〜（１２）のいずれか１つに記載のＩＣカード。
（１４）
前記通信部は、外部装置と無線通信を行う、前記（１）〜（１３）のいずれか１つに記載のＩＣカード。
（１５）
前記無線通信は、ＮＦＣ（Near  Field  Communication）による通信である、前記（１４）に記載のＩＣカード。
（１６）
前記通信部は、外部装置と有線通信を行う、前記（１）〜（１３）のいずれか１つに記載のＩＣカード。
（１７）
前記有線通信は、外部接触端子を介した接触通信である、前記（１６）に記載のＩＣカード。
（１８）
外部装置と通信を行うステップと、
前記通信を行うステップにおける通信により前記外部装置から取得された、Ｐ２Ｐデータベースに記録する対象データと、耐タンパ性を有する記録媒体に記憶される、公開鍵とペアをなす秘密鍵または前記秘密鍵を生成するためのシード値を示す鍵情報に対応する前記秘密鍵とに基づいて、前記対象データに対応する署名データを生成するステップと、
前記生成するステップにおいて生成した前記署名データを含むデータを前記通信を行うステップにおける通信により前記外部装置へ送信する制御を行うステップと、
を有する、ＩＣカードにより実行される処理方法。
（１９）
ＩＣカードと、
Ｐ２Ｐデータベースに記録する対象データの内容を検証し、検証結果に応じて所定の署名データを生成する情報処理装置と、
を有し、
前記ＩＣカードは、
外部装置と通信を行う通信部と、
公開鍵とペアをなす秘密鍵または前記秘密鍵を生成するためのシード値を示す鍵情報を記憶する耐タンパ性を有する記憶部と、
前記通信部における通信により前記外部装置から取得された前記対象データと、前記鍵情報に対応する前記秘密鍵とに基づいて、前記対象データに対応する署名データを生成し、生成した前記署名データを含むデータを前記通信部における通信により前記外部装置へ送信する制御を行う処理部と、
を備え、
前記処理部は、
前記情報処理装置に対応する前記所定の署名データの検証に関する署名条件を満たしているかを判定し、
前記署名条件を満たしていると判定した場合に、前記対象データに対応する前記署名データを生成する、情報処理システム。
【符号の説明】
【０２６２】
１０、  ２００    リーダ
１００    ＩＣカード
１０２    通信部
１０４    記憶部
１０６    制御部
１１０    処理部
３００    サーバ
４００    ユーザ端末
１０００    情報処理システム
【図１】
2020049951.tif 000003
【図２】
2020049951.tif 000004
【図３】
2020049951.tif 000005
【図４】
2020049951.tif 000006
【図５】
2020049951.tif 000007
【図６】
2020049951.tif 000008
【図７】
2020049951.tif 000009
【図８】
2020049951.tif 000010
【図９】
2020049951.tif 000011
【図１０】
2020049951.tif 000012
【図１１】
2020049951.tif 000013
【図１２】
2020049951.tif 000014
【図１３】
2020049951.tif 000015
【図１４】
2020049951.tif 000016
【図１５】
2020049951.tif 000017
【図１６】
2020049951.tif 000018
【国際調査報告】
2020049951.tif 000019
2020049951.tif 000020
2020049951.tif 000021
2020049951.tif 000022