(57)【要約】【課題】携帯情報処理装置と通信を実行するホスト装置の処理時間の短縮を図る。【解決手段】携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして真性乱数モードとホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報を、ホスト装置から受信した乱数モード命令に応じて変更し、ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードを示している場合には真性乱数を生成し、疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成するように携帯情報処理装置を構成する。【選択図】図２
2014232492.tif 000002
【特許請求の範囲】
【請求項１】
携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報を記憶する乱数モード情報記憶部と、
ホスト装置から受信した乱数モード命令に応じて、乱数モード情報について真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える乱数モード情報書換部と、
ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する乱数モード判定部と、
前記乱数モード判定部が真性乱数モードを示していると判定した場合に対応して真性乱数を生成する真性乱数生成部と
前記乱数モード判定部が疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する疑似乱数生成部と
を備える携帯情報処理装置。
【請求項２】
前記疑似乱数生成部は、
ホスト装置から受信した乱数生成命令ごとに応じて、同じ固定値を疑似乱数として生成する
請求項１に記載の携帯情報処理装置。
【請求項３】
前記疑似乱数生成部は、
ホスト装置から受信した乱数生成命令の順序ごとに対応して予め定められた所定値を疑似乱数として生成する
請求項１に記載の携帯情報処理装置。
【請求項４】
前記乱数モード情報書換部は、
発行の終了に対応してホスト装置から真性乱数モードの設定を命令する乱数モード命令を受信するのに応じて、乱数モード情報について、疑似乱数モードを示す内容から真性乱数モードを示す内容に書き換える
請求項１から３のいずれか一項に記載の携帯情報処理装置。
【請求項５】
前記乱数モード情報書換部は、
発行の開始にあたって乱数モード情報が真性乱数モードを示していることをホスト装置が確認したことで疑似乱数モードの設定を命令する乱数モード命令を送信したのに応じて、前記乱数モード情報について、真性乱数モードを示す内容から疑似乱数モードを示す内容に書き換える
請求項１から４のいずれか一項に記載の携帯情報処理装置。
【請求項６】
乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれかの設定を命令する乱数モード命令を携帯情報処理装置に送信する乱数モード命令部と、
携帯情報処理装置が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する真性乱数対応処理部と、
携帯情報処理装置が生成した疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用して事前に生成されたデータを利用した所定の処理を実行する疑似乱数対応処理部と
を備えるホスト装置。
【請求項７】
前記乱数モード命令部は、
発行処理において疑似乱数モードが設定されていた携帯情報処理装置の発行の終了に対応して、真性乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信する
請求項６に記載のホスト装置。
【請求項８】
前記乱数モード命令部は、
発行の開始にあたって携帯情報処理装置に真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認し、真性乱数モードが設定されていることを確認した場合に、疑似乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信する
請求項６または７に記載のホスト装置。
【請求項９】
携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードとホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報について、ホスト装置から受信した乱数モード命令に応じて、真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える乱数モード情報書換ステップと、
ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する乱数モード判定ステップと、
前記乱数モード判定ステップが真性乱数モードを示していると判定した場合に対応して真性乱数を生成する真性乱数生成ステップと、
前記乱数モード判定ステップが疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する疑似乱数生成ステップと
を備える携帯情報処理装置における情報処理方法。
【請求項１０】
前記乱数モード情報書換ステップは、
発行の終了に対応してホスト装置から真性乱数モードの設定を命令する乱数モード命令を受信するのに応じて、乱数モード情報について、疑似乱数モードを示す内容から真性乱数モードを示す内容に書き換える
請求項９に記載の情報処理方法。
【請求項１１】
前記乱数モード情報書換ステップは、
発行の開始にあたって乱数モード情報が真性乱数モードを示していることをホスト装置が確認したことで疑似乱数モードの設定を命令する乱数モード命令を送信したのに応じて、前記乱数モード情報について、真性乱数モードを示す内容から疑似乱数モードを示す内容に書き換える
請求項９または１０に記載の情報処理方法。
【請求項１２】
乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれかの設定を命令する乱数モード命令を携帯情報処理装置に送信する乱数モード命令ステップと、
携帯情報処理装置が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する真性乱数対応処理ステップと、
携帯情報処理装置が生成した疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用して事前に生成されたデータを利用した所定の処理を実行する疑似乱数対応処理ステップと
を備えるホスト装置における情報処理方法。
【請求項１３】
前記乱数モード命令ステップは、
発行処理において疑似乱数モードが設定されていた携帯情報処理装置の発行の終了に対応して、真性乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信する
請求項１２に記載の情報処理方法。
【請求項１４】
前記乱数モード命令ステップは、
発行処理において疑似乱数モードが設定されていた複数の携帯情報処理装置の発行を順次行うにあたり、前記複数の携帯情報処理装置ごとに、発行の終了に対応して、真性乱数モードの設定を命令する乱数モード命令を送信する
請求項１３に記載の情報処理方法。
【請求項１５】
前記乱数モード命令ステップは、
発行の開始にあたって携帯情報処理装置に真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認し、真性乱数モードが設定されていることを確認した場合に、疑似乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信する
請求項１２から１４のいずれか一項に記載の情報処理方法。
【請求項１６】
前記乱数モード命令ステップは、
複数の携帯情報処理装置の発行を順次行うにあたり、前記複数の携帯情報処理装置ごとに、発行の開始にあたって真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認し、真性乱数モードが設定されていることを確認した場合に、疑似乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信する
請求項１５に記載の情報処理方法。
【請求項１７】
携帯情報処理装置としてのコンピュータに、
携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードとホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報について、ホスト装置から受信した乱数モード命令に応じて、真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える乱数モード情報書換ステップと、
ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する乱数モード判定ステップと、
前記乱数モード判定ステップが真性乱数モードを示していると判定した場合に対応して真性乱数を生成する真性乱数生成ステップと、
前記乱数モード判定ステップが疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する疑似乱数生成ステップと
を実行させるためのプログラム。
【請求項１８】
ホスト装置としてのコンピュータに、
乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれかの設定を命令する乱数モード命令を携帯情報処理装置に送信する乱数モード命令ステップと、
携帯情報処理装置が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する真性乱数対応処理ステップと、
携帯情報処理装置が生成した疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用して事前に生成されたデータを利用した所定の処理を実行する疑似乱数対応処理ステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯情報処理装置、ホスト装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
ＩＣカードを用いた金融システムにおける支払処理にあたり、再発行、複製、偽造及びなりすましなど防止するために以下のような命令発行方法が知られている。つまり、利用者端末が乱数発生要求を生成してＩＣカードへ送り、ＩＣカードは乱数を生成して保存すると共に利用者端末経由で銀行へ送る。銀行は、金額情報と電子現金発行命令を生成し、これを秘密鍵で署名し、署名付命令を利用者端末経由でＩＣカードへ送る。ＩＣカードは公開鍵と保存乱数で署名を検証し、検証が正しければ電子現金発行命令を実行して金額情報が示す金額の電子現金を得るというものである（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２７４９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＩＣカードは、フォーマットのための書き込み、用途に応じたアプリケーションの書き込み（用途設定）、ユーザに関する個別情報の書き込みなどが行われることにより使用可能になる。このようにＩＣカードを利用可能とするための書き込みについては、「発行」と呼ばれる。
このようなＩＣカードの発行は、例えば、発行のためのホスト装置（リーダライタ）とＩＣカードとの間で所定のシーケンスにしたがった通信を実行することにより実現される。
【０００５】
ここで、発行時においても、ホスト装置とＩＣカードとの間の通信は、ＩＣカードに定められた仕様に従って行われる。従って、例えば、ＩＣカードが通信にあたって乱数を発生させる仕様となっている場合には、発行時におけるホスト装置とＩＣカードとの間の通信に際しても、ＩＣカードは乱数を生成してホスト装置に送信する。ホスト装置は、受信した乱数を利用した演算により例えば暗号化、鍵の生成などをはじめとする所定の処理を実行する。
【０００６】
乱数を利用した演算は処理負荷が重く処理時間も長くなるために、ＩＣカードを発行するのにも一定以上の時間を要してしまう。例えば、ＩＣカードの発行が完了して通常の運用環境の下で買い物や現金の引き出しなどのためにユーザが使用しているような状況であれば、このような処理時間の長さは特に問題にはならない。
しかし、ＩＣカードの発行作業は、例えば、大量のＩＣカードに対してリーダライタにより順次書き込みを行っていくというものになる。この場合、上記の処理時間がそのまま発行工程の時間に含まれることになるため、ＩＣカードの発行作業の長時間化を招くことになる。
【０００７】
本発明は、このような事情に鑑みてなされたもので、携帯情報処理装置と通信を実行するホスト装置の処理時間の短縮を図ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明の一態様としての携帯情報処理装置は、携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報を記憶する乱数モード情報記憶部と、ホスト装置から受信した乱数モード命令に応じて、乱数モード情報について真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える乱数モード情報書換部と、ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する乱数モード判定部と、前記乱数モード判定部が真性乱数モードを示していると判定した場合に対応して真性乱数を生成する真性乱数生成部と、前記乱数モード判定部が疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する疑似乱数生成部とを備える。
【０００９】
また、上記の携帯情報処理装置において、前記疑似乱数生成部は、ホスト装置から受信した乱数生成命令ごとに応じて、同じ固定値を疑似乱数として生成してもよい。
【００１０】
また、上記の携帯情報処理装置において、前記疑似乱数生成部は、ホスト装置から受信した乱数生成命令の順序ごとに対応して予め定められた所定値を疑似乱数として生成してもよい。
【００１１】
また、上記の携帯情報処理装置において、前記乱数モード情報書換部は、発行の終了に対応してホスト装置から真性乱数モードの設定を命令する乱数モード命令を受信するのに応じて、乱数モード情報について、疑似乱数モードを示す内容から真性乱数モードを示す内容に書き換えてもよい。
【００１２】
また、上記の携帯情報処理装置において、前記乱数モード情報書換部は、発行の開始にあたって乱数モード情報が真性乱数モードを示していることをホスト装置が確認したことで疑似乱数モードの設定を命令する乱数モード命令を送信したのに応じて、前記乱数モード情報について、真性乱数モードを示す内容から疑似乱数モードを示す内容に書き換えてもよい。
【００１３】
本発明の一態様としてのホスト装置は、乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれかの設定を命令する乱数モード命令を携帯情報処理装置に送信する乱数モード命令部と、携帯情報処理装置が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する真性乱数対応処理部と、携帯情報処理装置が生成した疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用して事前に生成されたデータを利用した所定の処理を実行する疑似乱数対応処理部とを備える。
【００１４】
また、上記のホスト装置において、前記乱数モード命令部は、発行処理において疑似乱数モードが設定されていた携帯情報処理装置の発行の終了に対応して、真性乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信してもよい。
【００１５】
また、上記のホスト装置において、前記乱数モード命令部は、発行の開始にあたって携帯情報処理装置に真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認し、真性乱数モードが設定されていることを確認した場合に、疑似乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信してもよい。
【００１６】
また、本発明の一態様としての携帯情報処理装置における情報処理方法は、携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードとホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報について、ホスト装置から受信した乱数モード命令に応じて、真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える乱数モード情報書換ステップと、ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する乱数モード判定ステップと、前記乱数モード判定ステップが真性乱数モードを示していると判定した場合に対応して真性乱数を生成する真性乱数生成ステップと、前記乱数モード判定ステップが疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する疑似乱数生成ステップとを備える。
【００１７】
また、上記の情報処理方法において、前記乱数モード情報書換ステップは、発行の終了に対応してホスト装置から真性乱数モードの設定を命令する乱数モード命令を受信するのに応じて、乱数モード情報について、疑似乱数モードを示す内容から真性乱数モードを示す内容に書き換えてもよい。
【００１８】
また、上記の情報処理方法において、前記乱数モード情報書換ステップは、発行の開始にあたって乱数モード情報が真性乱数モードを示していることをホスト装置が確認したことで疑似乱数モードの設定を命令する乱数モード命令を送信したのに応じて、前記乱数モード情報について、真性乱数モードを示す内容から疑似乱数モードを示す内容に書き換えてもよい。
【００１９】
また、本発明の一態様としてのホスト装置における情報処理方法は、乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれかの設定を命令する乱数モード命令を携帯情報処理装置に送信する乱数モード命令ステップと、携帯情報処理装置が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する真性乱数対応処理ステップと、携帯情報処理装置が生成した疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用して事前に生成されたデータを利用した所定の処理を実行する疑似乱数対応処理ステップとを備える。
【００２０】
また、上記の情報処理方法において、前記乱数モード命令ステップは、発行処理において疑似乱数モードが設定されていた携帯情報処理装置の発行の終了に対応して、真性乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信してもよい。
【００２１】
また、上記の情報処理方法において、前記乱数モード命令ステップは、発行処理において疑似乱数モードが設定されていた複数の携帯情報処理装置の発行を順次行うにあたり、前記複数の携帯情報処理装置ごとに、発行の終了に対応して、真性乱数モードの設定を命令する乱数モード命令を送信してもよい。
【００２２】
また、上記の情報処理方法において、前記乱数モード命令ステップは、発行の開始にあたって携帯情報処理装置に真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認し、真性乱数モードが設定されていることを確認した場合に、疑似乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信してもよい。
【００２３】
また、上記の情報処理方法において、前記乱数モード命令ステップは、複数の携帯情報処理装置の発行を順次行うにあたり、前記複数の携帯情報処理装置ごとに、発行の開始にあたって真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認し、真性乱数モードが設定されていることを確認した場合に、疑似乱数モードの設定を命令する乱数モード命令を携帯情報処理装置に対して送信してもよい。
【００２４】
また、本発明の一態様としてのプログラムは、携帯情報処理装置としてのコンピュータに、携帯情報処理装置に対応するホスト装置が利用する乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードとホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれとすべきかを示す乱数モード情報について、ホスト装置から受信した乱数モード命令に応じて、真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える乱数モード情報書換ステップと、ホスト装置から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する乱数モード判定ステップと、前記乱数モード判定ステップが真性乱数モードを示していると判定した場合に対応して真性乱数を生成する真性乱数生成ステップと、前記乱数モード判定ステップが疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する疑似乱数生成ステップとを実行させるためのものである。
【００２５】
また、本発明の一態様としてのプログラムは、ホスト装置としてのコンピュータに、乱数を生成する乱数モードとして、真性乱数を生成する真性乱数モードと、ホスト装置にて確定可能な疑似乱数を生成する疑似乱数モードのいずれかの設定を命令する乱数モード命令を携帯情報処理装置に送信する乱数モード命令ステップと、携帯情報処理装置が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する真性乱数対応処理ステップと、携帯情報処理装置が生成した疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用して事前に生成されたデータを利用した所定の処理を実行する疑似乱数対応処理ステップとを実行させるためのものである。
【発明の効果】
【００２６】
以上説明したように、本発明によれば、携帯情報処理装置と通信を実行するホスト装置の処理時間の短縮が図られるという効果が得られる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態に係るＩＣカード発行システムの構成例を示す図である。
【図２】本実施形態に係るＩＣカードとホスト装置の構成例を示す図である。
【図３】ＩＣカードが乱数モード命令の受信に応じて実行する処理手順例を示すフローチャートである。
【図４】ＩＣカードが乱数生成命令の受信に応じて実行する処理手順例を示すフローチャートである。
【図５】ホスト装置が真性乱数モードの設定に対応して実行する乱数対応処理の手順例を示すフローチャートである。
【図６】ホスト装置が疑似乱数モードの設定に対応して実行する乱数対応処理の手順例を示すフローチャートである。
【図７】第１変形例におけるホスト装置が疑似乱数モードの設定に対応して１枚目のＩＣカードを対象として実行する乱数対応処理の手順例を示すフローチャートである。
【図８】第２変形例におけるホスト装置が疑似乱数モードの設定に対応して実行する乱数対応処理の手順例を示すフローチャートである。
【発明を実施するための形態】
【００２８】
［ＩＣカード発行システムの構成例］
図１は、本実施形態に係るＩＣ（Integrated Circuit）カード発行システムの構成例を示している。同図に示すＩＣカード発行システムは、発行対象である複数のＩＣカード（携帯情報処理装置の一例）１００と、これら複数のＩＣカード１００に対して発行処理を行うホスト装置２００を備える。ホスト装置２００は、例えばＩＣカードの発行のための書き込み機能が与えられたリーダライタである。
このようなＩＣカード発行システムを用いたＩＣカードの発行作業は、例えば、一定以上の信頼性のセキュリティが確保された環境で行われる。
【００２９】
［ＩＣカードとホスト装置の構成例］
図２は、ＩＣカード１００とホスト装置２００の機能構成例を示している。
まず、ＩＣカード１００の構成から説明する。ＩＣカード１００は、データの記録や演算のために集積回路が組み込まれたカードであり、集積回路には、例えばＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）などが備えられる。
【００３０】
図２のＩＣカード１００は、上記の集積回路により実現される機能部として、通信部１０１、乱数モード情報記憶部１０２、乱数モード情報書換部１０３、乱数モード判定部１０４、真性乱数生成部１０５及び疑似乱数生成部１０６を備える。
【００３１】
通信部１０１は、ホスト装置２００と通信を実行する。ホスト装置２００と通信部１０１との通信は、例えば接触型による通信であってもよいし、非接触型による通信であってもよい。
【００３２】
乱数モード情報記憶部１０２は、乱数モード情報を記憶する。ここで、乱数モード情報記憶部１０２が記憶する乱数モード情報について説明する。
本実施形態のＩＣカード１００は、リーダライタとの通信にあたりリーダライタから受信した乱数生成命令に応じて乱数を生成し、リーダライタは、ＩＣカード１００から受信した乱数を利用して、例えばデータの暗号化、暗号鍵の生成、認証などを実行する。
つまり、本実施形態のＩＣカード１００を備えるシステムでは、セキュリティのために、ＩＣカード１００が乱数を生成し、リーダライタが乱数を利用した演算を実行する仕様となっている。
【００３３】
そのうえで、本実施形態におけるＩＣカード１００は、リーダライタから受信した乱数生成命令に応じて乱数を生成するにあたり、真性乱数モードと疑似乱数モードとで切り換えが可能である。真性乱数モードは、真性乱数を生成する乱数モードである。疑似乱数モードは、疑似乱数モードを生成する乱数モードである。
【００３４】
真性乱数は、例えば乱数発生器により生成される真性の乱数である。ＩＣカード１００にて生成される真性乱数については、ホスト装置２００が予測したり確定したりすることはできない。
一方、疑似乱数は、仕様上はＩＣカード１００がホスト装置２００に送信する乱数として扱われるが、その実体は、予め定められた数である。このように予め定められる疑似乱数は、ホスト装置２００に疑似乱数の値を記憶させたり通知したりすることで、ホスト装置２００側で確定可能である。
乱数モード情報は、真性乱数モードと疑似乱数モードのいずれとすべきかを示す情報である。乱数モード情報は、例えば１ビットで表される（０，１）の値により真性乱数モードと疑似乱数モードを示すフラグとして定義することができる。
【００３５】
乱数モード情報書換部１０３は、ホスト装置２００からの命令に応じて、乱数モード情報について真性乱数モードと疑似乱数モードのいずれかを示す内容に書き換える。
【００３６】
ホスト装置２００は、ＩＣカード発行のための書き込みを行うにあたり、例えば書き込むべきデータの種別などに応じて、真性乱数モードを使用して処理を実行する場合と、疑似乱数モードを使用して処理を実行する場合がある。
一例として、例えばＩＣカード１００のフォーマットやＩＣカード１００の用途に応じたアプリケーションの書き込みなど、複数のＩＣカード１００に対して共通となる書き込みを行う際には、疑似乱数を使用して処理を実行することができる。一方、ユーザに関する個別情報などのようにＩＣカード１００ごとに異なる情報を書き込む場合には真性乱数を使用した処理を実行する。
【００３７】
ホスト装置２００は、真性乱数を使用して処理を実行する場合には、発行対象のＩＣカード１００に対して真性乱数モードの設定を命令する乱数モード命令を送信する。一方、ホスト装置２００は、疑似乱数を使用して処理を実行する場合には、発行対象のＩＣカード１００に対して疑似乱数モードの設定を命令する乱数モード命令を送信する。
【００３８】
乱数モード情報書換部１０３は、ホスト装置２００から真性乱数モードの設定を命令する乱数モード命令を受信した場合には、乱数モード情報記憶部１０２が記憶する乱数モード情報について、真性乱数モードであることを示す値に書き換える。また、乱数モード情報書換部１０３は、ホスト装置２００から疑似乱数モードの設定を命令する乱数モード命令を受信した場合には、乱数モード情報について疑似乱数モードであることを示す値に書き換える。
【００３９】
乱数モード判定部１０４は、ホスト装置２００から受信した乱数生成命令に応じて、乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する。
つまり、ホスト装置２００は、発行処理においてＩＣカード１００が生成する乱数を利用する処理を実行するにあたり、発行対象のＩＣカード１００に対して乱数生成命令を送信する。乱数モード判定部１０４は、通信部１０１にて乱数生成命令が受信されるのに応じて、乱数モード情報記憶部１０２が記憶する乱数モード情報を読み出し、読み出した乱数モード情報が真性乱数モードと疑似乱数モードのいずれを示しているのかを判定する。
【００４０】
真性乱数生成部１０５は、乱数モード判定部１０４が真性乱数モードを示していると判定した場合に対応して真性乱数を生成する。真性乱数生成部１０５は、例えば乱数発生器などにより構成することができる。また、真性乱数生成部１０５は、生成した真性乱数を、乱数生成命令に対するレスポンス（応答）として、通信部１０１からホスト装置２００に送信させることができる。
【００４１】
疑似乱数生成部１０６は、乱数モード判定部１０４が疑似乱数モードを示していると判定した場合に対応して疑似乱数を生成する。疑似乱数生成部１０６は、生成した疑似乱数を、乱数生成命令に対するレスポンスとして、通信部１０１からホスト装置２００に送信させることができる。
【００４２】
疑似乱数の具体例として、１つには、予め定められた１つの固定値を挙げることができる。この場合、疑似乱数生成部１０６は、乱数生成命令が受信されるごとに、乱数生成命令に対する応答として、同じ固定値による疑似乱数を生成する。
【００４３】
また、他の具体例として、疑似乱数は、乱数生成命令の順序ごとに対応して予め定められた所定値としてもよい。
例えば、ホスト装置２００は、１セッションにおける一連のシーケンスにおいて、乱数を利用した処理を複数回実行することができる。この場合、ホスト装置２００は、シーケンスの進行に従って所定のタイミングで複数回の乱数生成命令を逐次送信する。疑似乱数生成部１０６は、乱数生成命令が受信されるごとに、乱数生成命令の受信順に対応付けられた所定値を疑似乱数として生成する。
このような疑似乱数としては、例えば、１番目の乱数生成命令に対応する所定値からインクリメントさせた値を、２番目以降の乱数生成命令から最後の乱数生成命令にそれぞれ対応させたものを挙げることができる。
【００４４】
また、疑似乱数生成部１０６は、上記のような疑似乱数を逐次生成するようにしてもよいし、例えば、予め記憶しておいた疑似乱数としての値を読み出し、読み出した値を疑似乱数の生成結果としてもよい。
【００４５】
次に、同じ図２を参照して、ホスト装置２００の構成例について説明する。
同図に示すホスト装置２００は、通信部２０１、乱数モード命令部２０２、真性乱数対応処理部２０３、疑似乱数対応処理部２０４及び発行ファイル記憶部２０５を備える。
通信部２０１は、ＩＣカード１００における通信部１０１と通信を実行する。
【００４６】
乱数モード命令部２０２は、セッション又はシーケンスの開始にあたり、ＩＣカード１００に乱数モードを設定するために、乱数モード命令を送信する。例えば前述のように、乱数モード命令部２０２は、複数のＩＣカード１００で共通の書き込みを行うような場合には疑似乱数モードの設定を命令する乱数モードを送信する。一方、乱数モード命令部２０２は、ＩＣカード１００ごとに個別となる情報を書き込むような場合には真性乱数モードの設定を命令する乱数モードを送信する。
【００４７】
真性乱数対応処理部２０３は、ＩＣカード１００が生成した真性乱数の受信に応じて、受信した真性乱数を利用してデータを生成し、生成したデータを利用した所定の処理を実行する。
このために、真性乱数対応処理部２０３は、乱数生成命令をＩＣカード１００に送信する。ホスト装置２００は、ＩＣカードの発行処理のための一連のシーケンスにおいて、ＩＣカード１００が生成する乱数を利用した各種処理を予め定められた順序で実行する。
真性乱数対応処理部２０３は、真性乱数モードをＩＣカード１００に設定したシーケンスにおいて、乱数を利用する処理を実行すべきタイミングごとに乱数生成命令をＩＣカード１００に送信する。ＩＣカード１００は、乱数生成命令の受信ごとに対応して真性乱数を生成し、生成した真性乱数をレスポンスとしてホスト装置２００に送信する。このようにして真性乱数対応処理部２０３は、処理に必要な真性乱数を取得することができる。
【００４８】
そして、真性乱数対応処理部２０３は、取得した真性乱数を利用して所定のデータを生成し、生成したデータを利用した所定の処理を実行する。
具体例として、真性乱数対応処理部２０３は、取得した真性乱数と平文データとを利用して暗号化を行って例えば認証データなどの暗号文データを生成し、生成した暗号分データをＩＣカード１００に送信することができる。
また、真性乱数対応処理部２０３は、受信した真性乱数を利用してセッション鍵などの鍵のデータを生成し、生成した鍵のデータをＩＣカード１００に送信することができる。
【００４９】
疑似乱数対応処理部２０４は、ＩＣカード１００が生成した疑似乱数の受信に応じて、発行ファイル記憶部２０５が記憶する発行ファイルに格納されるデータを利用した所定の処理を実行する。本実施形態において、発行ファイルに格納されるデータは、ＩＣカード１００から受信した疑似乱数と同じ値を利用して事前に生成されたデータである。
つまり、本実施形態においてＩＣカード１００が生成する疑似乱数は予め定められている。そこで、本実施形態においては、疑似乱数と同じ値を利用して真性乱数対応処理部２０３が演算を行って得られるのと同じデータを予め生成し、生成したデータを発行ファイルに格納しておく。
【００５０】
疑似乱数対応処理部２０４は、疑似乱数の受信に応じて、受信した疑似乱数と同じ値を利用した演算により求められたデータを発行ファイルから読み出す。これにより、疑似乱数対応処理部２０４は、疑似乱数を利用した演算を行うことなく、疑似乱数を利用して演算を行った場合と同じデータを得ることができる。
そして、疑似乱数対応処理部２０４は、このように得たデータを利用した所定の処理を実行する。例えば、疑似乱数対応処理部２０４は、所定の処理として、発行ファイルから得たデータをＩＣカード１００に対して送信したり、発行ファイルから得たデータを利用した認証処理などを実行する。
【００５１】
ＩＣカード１００は、上記のように発行ファイルから得られたデータを受信すると、受信したデータに応じて、復号や認証などの所定の処理を実行する。この際、ＩＣカード１００は、自己が生成して送信した疑似乱数を用いる。発行ファイルから得られたデータは、ＩＣカード１００が生成したのと同じ疑似乱数の値を利用して生成されている。これにより、ＩＣカード１００は、発行ファイルから得られたデータを正常に処理することができる。
【００５２】
［ＩＣカードの処理手順例］
図３のフローチャートは、発行処理に際してホスト装置２００から送信された乱数モード命令に応じてＩＣカード１００が乱数モードの書き換えを行うための処理手順例を示している。
ＩＣカード１００における乱数モード情報書換部１０３は、真性乱数モードの設定を命令する乱数モード命令又は疑似乱数モードの設定を命令する乱数モード命令が受信されるのを待機している（ステップＳ１０１−ＮＯ、Ｓ１０２−ＮＯ）。
【００５３】
真性乱数モードの設定を命令する乱数モード命令が通信部１０１にて受信された場合（ステップＳ１０１−ＹＥＳ）、乱数モード情報書換部１０３は、乱数モード情報記憶部１０２が記憶している乱数モード情報について、真性乱数モードを示す値に書き換える（ステップＳ１０３）。
【００５４】
また、疑似乱数モードの設定を命令する乱数モード命令が受信された場合（ステップＳ１０２−ＹＥＳ）、乱数モード情報書換部１０３は、乱数モード情報について疑似乱数モードを示す値に書き換える（ステップＳ１０４）。
【００５５】
図４のフローチャートは、ホスト装置２００から送信された乱数生成命令に応じてＩＣカード１００がレスポンスとしての乱数を送信ための処理手順例を示している。
ホスト装置２００がＩＣカード１００に乱数生成命令を送信するのに応じて、ＩＣカード１００の通信部２０１は送信された乱数生成命令を受信する（ステップＳ２０１）。
【００５６】
ステップＳ２０１にて乱数生成命令が受信されるのに応じて、乱数モード判定部１０４は、乱数モード情報記憶部１０２が記憶している乱数モード情報を参照する（ステップＳ２０２）。そして、乱数モード判定部１０４は参照した乱数モード情報の値が真性乱数モードを示しているか否かについて判定する（ステップＳ２０３）。
【００５７】
乱数モード情報の値が真性乱数モードを示している場合には（ステップＳ２０３−ＹＥＳ）、真性乱数生成部１０５が真性乱数を生成し、生成した真性乱数を、ステップＳ２０１にて受信された乱数生成命令に対するレスポンスとしてホスト装置２００に対して送信する（ステップＳ２０４）。
【００５８】
一方、乱数モード情報の値が真性乱数モードを示していない場合には（ステップＳ２０３−ＮＯ）、疑似乱数モードを示していることになる。そこで、この場合の疑似乱数生成部１０６は疑似乱数を生成し、生成した疑似乱数をステップＳ２０１にて受信された乱数生成命令に対するレスポンスとしてホスト装置２００に対して送信する（ステップＳ２０５）。
【００５９】
［ホスト装置の処理手順例］
図５のフローチャートは、発行処理に際してＩＣカード１００に真性乱数モードを設定した場合におけるホスト装置２００の処理手順例を示している。
ホスト装置２００は、例えば以降の発行処理において書き込むべきデータが個別情報などのＩＣカード１００ごとに異なるデータである場合に、発行対象のＩＣカード１００に対して真性乱数モードを設定させる。
この場合、ホスト装置２００の乱数モード命令部２０２は、発行処理にあたり、まず、真性乱数モードの設定を命令する乱数モード命令を発行対象のＩＣカード１００に送信する（ステップＳ３０１）。
【００６０】
以降において、ホスト装置２００は、発行処理としてのシーケンスに従って所定回数（Ｎ回）の乱数対応処理（ステップＳ３０２−１〜Ｓ３０２−Ｎ）としての処理を順次実行する。乱数対応処理は、ＩＣカード１００が生成した乱数を利用した所定の処理であり、例えば前述のように、暗号化、鍵の生成、認証などの処理が挙げられる。
なお、発行処理のシーケンスにおいては、ＩＣカード１００が生成する乱数を利用しない処理が含まれてもよいが、ここでは説明を簡単にするための便宜上、乱数を利用しない処理については省略している。
【００６１】
図５においては、ステップＳ３０２−１において乱数対応処理としての処理手順の一例が示されている。
ステップＳ３０２−１の乱数対応処理においては、真性乱数対応処理部２０３が乱数生成命令を送信する（ステップＳ３１１）。
このとき、ＩＣカード１００は、先のステップＳ３０１により送信された真性乱数モードの設定を命令する乱数モード命令に応じて真性乱数モードを設定している状態にある。これにより、ステップＳ３１１により送信された乱数生成命令に対するレスポンスとして、ＩＣカード１００は真性乱数モードを生成し、生成した真性乱数をホスト装置２００に送信する。ホスト装置２００の真性乱数対応処理部２０３は、このようにＩＣカード１００から送信された真性乱数としてのレスポンスを、通信部２０１を介して受信する（ステップＳ３１２）。
【００６２】
このように乱数生成命令に対するレスポンスとして真性乱数が受信された場合には、真性乱数対応処理部２０３が以下の処理を実行する。つまり、真性乱数対応処理部２０３は、ステップＳ３１２にて受信した真性乱数を利用して、今回のステップＳ３０２−１の乱数対応処理に対応する所定のデータを生成する（ステップＳ３１３）。ここで生成されるデータの例としては、前述のように、真性乱数を利用してデータ暗号化した暗号化データを挙げることができる。また、真性乱数を利用して生成したセッション鍵などの鍵を挙げることができる。
【００６３】
また、真性乱数対応処理部２０３は、ステップＳ３１３にて生成したデータを利用した所定の処理を実行する（ステップＳ３１４）。ステップＳ３１４における処理の具体例としては、例えば前述のように、ステップＳ３１３にて生成した暗号データ、鍵などのデータをＩＣカード１００に送信する処理を挙げることができる。また、ステップＳ３１３にて生成した鍵などのデータを利用した認証処理などを挙げることができる。
【００６４】
真性乱数対応処理部２０３は、ステップＳ３０２−１の乱数対応処理を実行した後、ステップＳ３０２−２〜Ｓ３０２−Ｎの乱数対応処理を順次実行する。この際、ステップＳ３０２−２〜Ｓ３０２−Ｎの各々におけるステップＳ３１２では真性乱数が受信され、ステップＳ３１３、Ｓ３１４により、真性乱数を利用した演算によるデータの生成と、生成したデータを利用した所定の処が実行される。
【００６５】
次に、図６のフローチャートを参照して、発行処理に際してＩＣカード１００に疑似乱数モードを設定した場合におけるホスト装置２００の処理手順例を示している。
ホスト装置２００は、以降における発行処理のシーケンスが、例えばフォーマットや用途設定のためのアプリケーションの書き込みなどのようにＩＣカード１００間で共通であるような場合に、発行対象のＩＣカード１００に対して疑似乱数モードを設定させる。
このために、ホスト装置２００の乱数モード命令部２０２は、まず、疑似乱数モードの設定を命令する乱数モード命令を発行対象のＩＣカード１００に送信する（ステップＳ４０１）。
【００６６】
以降において、疑似乱数対応処理部２０４は、発行処理における所定のシーケンスに従って所定回数（Ｎ回）の乱数対応処理（ステップＳ４０２−１〜Ｓ４０２−Ｎ）としての処理を順次実行する。この場合の乱数対応処理も、ＩＣカード１００が生成した乱数を利用した暗号化、鍵の生成、認証などの所定の処理であり、この点では、図５のステップＳ３０２−１〜Ｓ３０２−Ｎの乱数対応処理と同様である。
また、疑似乱数を利用する発行処理のシーケンスにおいても、ＩＣカード１００が生成する乱数を利用しない処理が含まれてもよいが、図６では説明を簡単にするための便宜上、乱数を利用しない処理について省略している。
【００６７】
図６には、ステップＳ４０２−１において乱数対応処理としての処理手順の一例が示されている。
ステップＳ４０２−１の乱数対応処理においては、まず、疑似乱数対応処理部２０４が乱数生成命令を送信する（ステップＳ４１１）。
このとき、ＩＣカード１００は、先のステップＳ４０１により送信された乱数モード命令に応じて疑似乱数モードを設定している状態にある。これにより、ステップＳ４１１により送信された乱数生成命令に対するレスポンスとして、ＩＣカード１００は疑似乱数モードを生成し、生成した疑似乱数をホスト装置２００に送信する。ホスト装置２００の疑似乱数対応処理部２０４は、このようにＩＣカード１００から送信された疑似乱数としてのレスポンスを、通信部２０１を介して受信する（ステップＳ４１２）。
【００６８】
このように乱数生成命令に対するレスポンスとして疑似乱数が受信された場合には、疑似乱数対応処理部２０４が以下の処理を実行する。
つまり、疑似乱数対応処理部２０４は、ステップＳ４１２による疑似乱数の受信をトリガとして、発行ファイル記憶部２０５が記憶する発行ファイルから、ステップＳ４０２−１の乱数対応処理に該当するデータを読み出す（ステップＳ４１３）。
【００６９】
図６には、発行ファイル記憶部２０５が記憶する発行ファイル２５０の内容の一例が示されている。図６に示す発行ファイル２５０は、図６に示されるＮ回の乱数対応処理（ステップＳ４０２−１〜Ｓ４０２−Ｎ）に対応する１〜Ｎの番号ごとにデータ１〜データＮが格納されている。
ここで、本実施形態における疑似乱数は、予め定められた所定値である。データ１〜データＮは、ステップＳ４０２−１〜Ｓ４０２−ＮごとのステップＳ４１２において受信する疑似乱数と同じ値を利用して予め生成されたデータである。
なお、ステップＳ４０２−１〜Ｓ４０２−Ｎの乱数対応処理ごとに対応してＩＣカード１００が生成する疑似乱数は、同じ値であってもよいし、異なる値であってもよい。いずれにせよ、データ１〜データＮについては、ステップＳ４０２−１〜Ｓ４０２−Ｎごとに対応してＩＣカード１００が生成すべきとして予め定められた疑似乱数の値を利用した演算によって求めればよい。
【００７０】
図６に示す発行ファイルに対応して、疑似乱数対応処理部２０４は、ステップＳ４０２−１の乱数対応処理におけるステップＳ４１３として、ステップＳ４０２−１の乱数対応処理に対応するデータ１を発行ファイル２５０から読み出す。
そして、疑似乱数対応処理部２０４は、ステップＳ４１３により読み出したデータを利用した所定の処理を実行する（ステップＳ４１４）。ここでの所定の処理の例としては、図５のステップＳ３１４と同様に、暗号データや鍵などのデータのＩＣカード１００への送信や認証処理などとなる。
【００７１】
疑似乱数対応処理部２０４は、ステップＳ４０２−１の乱数対応処理を実行した後、ステップＳ４０２−２〜Ｓ４０２−Ｎの乱数対応処理を順次実行していく。ステップＳ４０２−２〜Ｓ４０２−Ｎの乱数対応処理は、例えばステップＳ４０２−１と同様に、ステップＳ４１１〜Ｓ４１４の処理を含む。従って、疑似乱数対応処理部２０４は、ステップＳ４０２−１〜Ｓ４０２−Ｎの乱数対応処理におけるステップＳ４１３の処理ごとに、発行ファイル２５０から、該当のデータとして、データ２〜データＮを順次取得する。つまり、ＩＣカード１００に疑似乱数モードを設定しているときには、いずれの乱数対応処理においても乱数を利用した演算を実行しなくともよい。
疑似乱数対応処理部２０４は、以降において次のＩＣカードの発行処理を行う際にも、同じ発行ファイルのデータ１〜データＮを利用する処理を実行する場合には、図６と同様の処理を実行すればよい。
【００７２】
例えば、図５の真性乱数モードに対応する乱数対応処理（Ｓ３０２−１〜Ｓ３０２−Ｎ）では、ステップＳ３１３において真性乱数対応処理部２０３が、真性乱数を利用した演算を実行してデータを生成している。このように乱数を利用した演算はある程度の時間を要する。
これに対して、疑似乱数対応処理部２０４は、ステップＳ４１２による疑似乱数の受信をトリガとして、ステップＳ４１３により発行ファイルから該当のデータを取得する。つまり、疑似乱数対応処理部２０４は、疑似乱数を利用した演算を実行しなくとも、疑似乱数を利用した演算結果としてのデータを取得できる。
乱数を利用した演算はある程度の時間を要するため、図５に示した乱数対応処理（ステップＳ３０２）としても一定以上の時間を要する。これに対して、疑似乱数モード下では、乱数を利用した演算を実行しなくともよいために、乱数対応処理（ステップＳ４０２）に要する時間を短縮することができる。これにより、本実施形態においては、ＩＣカードの発行に要する時間を短縮することができる。
【００７３】
［第１変形例］
続いて、本実施形態の第１変形例について説明する。
上記の実施形態においては、ＩＣカード１００が生成する疑似乱数がホスト装置２００側において既知とされ、疑似乱数と同じ値を利用した演算によって生成したデータをホスト装置２００が発行ファイルとして予め記憶していた。そして、ホスト装置２００は、例えば１枚目のＩＣカード１００から、発行ファイル２５０を利用して図６に示す処理を含む発行処理を実行する。
【００７４】
これに対して第１変形例は、ＩＣカード１００側では疑似乱数が予め定められているが、ホスト装置２００側では疑似乱数が既知でない場合に対応したホスト装置２００の処理となる。
つまり、第１変形例では、例えばホスト装置２００が同じ用途の複数枚のＩＣカード１００を発行するにあたり、１枚目のＩＣカード１００の発行においては、以下に説明する図７のフローチャートに示す処理を実行する。これにより、例えば図６にて説明したのと同様の発行ファイル２５０が作成され、発行ファイル記憶部２０５に記憶される。そして、２枚目以降のＩＣカード１００を発行対象として同じシーケンスを実行する場合には、図６と同様の処理を実行するというものである。
【００７５】
図７のフローチャートを参照して、ホスト装置２００が同じ用途で発行すべき複数枚のＩＣカード１００のうちの１枚目を発行する際の疑似乱数対応処理について説明する。
同図において、疑似乱数対応処理部２０４は、図６のステップＳ４０１と同様に、疑似乱数モードの設定を命令する乱数モード命令を発行対象のＩＣカード１００に送信する（ステップＳ５０１）。
【００７６】
以降において、疑似乱数対応処理部２０４は、発行処理における所定のシーケンスに従って所定回数（Ｎ回）の乱数対応処理（ステップＳ５０２−１〜Ｓ５０２−Ｎ）としての処理を順次実行する。
【００７７】
図７においては、ステップＳ５０２−１としての乱数対応処理の一例が示されている。
ステップＳ５０１−１の乱数対応処理においては、疑似乱数対応処理部２０４が乱数生成命令を送信する（ステップＳ５１１）。
ステップＳ５１１の乱数生成命令に応答して、ＩＣカード１００は疑似乱数モードを生成し、生成した疑似乱数をレスポンスとしてホスト装置２００に送信する。ホスト装置２００の疑似乱数対応処理部２０４は、ＩＣカード１００から送信された疑似乱数としてのレスポンスを、通信部２０１を介して受信する（ステップＳ５１２）。
【００７８】
次に、疑似乱数対応処理部２０４は、ステップＳ５１２にて受信した疑似乱数を利用してデータを生成し（ステップＳ５１３）、生成したデータを利用した処理を実行する（ステップＳ５１４）。ステップＳ５１３、Ｓ５１４の処理は、例えば、ステップＳ５１３にて利用する乱数が疑似乱数ではあるが、図５のステップＳ３１３、Ｓ３１４と同様でよい。
【００７９】
そして、疑似乱数対応処理部２０４は、ステップＳ５１３にて生成したデータを、発行ファイル記憶部２０５が記憶する発行ファイル２５０に格納する（ステップＳ５１５）。図７においては、ステップＳ５０２−１におけるステップＳ５１５により、ステップＳ５１３にて生成したデータが発行ファイル２５０における１番目のデータ１として格納された例が示されている。
【００８０】
疑似乱数対応処理部２０４は、ステップＳ５０２−１の乱数対応処理を実行した後、ステップＳ５０２−２〜Ｓ５０２−Ｎの乱数対応処理を順次実行していく。ステップＳ５０２−２〜Ｓ５０２−Ｎの乱数対応処理は、例えばステップＳ５０２−１と同様に、ステップＳ５１１〜Ｓ５１５の処理を含む。従って、疑似乱数対応処理部２０４は、ステップＳ４０２−１〜Ｓ４０２−Ｎの乱数対応処理ごとのステップＳ５１５により、ステップＳ５１３にて生成したデータを、順次、発行ファイル２５０に格納していく。
【００８１】
このように第１変形例においては、１枚目のＩＣカード１００については乱数対応処理ごとに疑似乱数を利用した演算によりデータを生成し、生成したデータを発行ファイル２５０に格納していく。これにより、第１変形例においては、１枚目のＩＣカード１００の発行処理の結果、発行ファイル２５０が作成される。
そして、２枚目以降のＩＣカード１００の発行に際して、図７に対応するシーケンスを実行するにあたり、ホスト装置２００は図６の処理を適用する。
これにより、第１変形例においては、例えばホスト装置２００側でＩＣカード１００の疑似乱数が既知でない場合であっても、２枚目以降のＩＣカード１００について図６の処理を実行可能になり、必要枚数のＩＣカード１００の発行に要する時間を短縮できる。
【００８２】
［第２変形例］
続いて、本実施形態の第２変形例について説明する。
図８のフローチャートは、第２変形例に対応するホスト装置２００がＩＣカード１００に疑似乱数モードを設定して行う発行処理の処理手順例を示している。
なお、同図において、図６と同一部分には同一符号を付して説明を省略する。
【００８３】
図８において、乱数モード命令部２０２は、これより発行を開始する発行対象のＩＣカード１００において真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認する（ステップＳ４０１Ａ）。
ステップ４０１Ａにおける確認としては、例えば乱数モード命令部２０２がＩＣカード１００に対して乱数モードの設定状態についての問い合わせの通信を行えばよい。ＩＣカード１００からの問合せに応答してＩＣカード１００における乱数モード判定部１０４は、乱数モード情報記憶部１０２が記憶している乱数モード情報を参照する。乱数モード判定部１０４は、参照した乱数モード情報が真性乱数モードを示していれば真性乱数モードが設定されていることをホスト装置２００に通知し、疑似乱数モードを示していれば、疑似乱数モードが設定されていることをホスト装置２００に通知する。このように通知された内容により、乱数モード命令部２０２は、真性乱数モードと疑似乱数モードのいずれが設定されているのかを確認できる。
【００８４】
乱数モード命令部２０２は、乱数モードを確認した結果に従い、ＩＣカード１００に真性乱数モードが設定されているか否かについて判定する（ステップＳ４０１Ｂ）。
疑似乱数モードが設定されている場合（ステップＳ４０１Ｂ−ＮＯ）、疑似乱数対応処理部２０４は、ステップＳ４０１ＣをスキップしてステップＳ４０２−１以降の乱数対応処理を開始する。
一方、真性乱数モードが設定されている場合（ステップＳ４０１−ＹＥＳ）、乱数モード命令部２０２は、疑似乱数モードの設定を命令する乱数モード命令をＩＣカード１００に送信することで、ＩＣカード１００に疑似乱数モードを設定する（ステップＳ４０１Ｃ）。そのうえで、疑似乱数対応処理部２０４は、ステップＳ４０１ＣをスキップしてステップＳ４０２−１以降の乱数対応処理を開始する。
【００８５】
そして、疑似乱数を利用したステップＳ４０２−１〜Ｓ４０２−Ｎの乱数対応処理が終了したことにより、１つのＩＣカード１００の発行が終了することになる。第２変形例における乱数モード命令部２０２は、ステップＳ４０２−１〜Ｓ４０２−Ｎの乱数対応処理が終了するのに応じて、真性乱数モードの設定を命令する乱数モード命令を発行対象のＩＣカード１００に送信する（ステップＳ４０３）。
【００８６】
ステップＳ４０３によって送信された乱数モード命令の受信に応じて、発行対象であったＩＣカード１００は、これまでの疑似乱数モードから真性乱数モードへの切り換えを行う。ホスト装置２００による発行が終了したＩＣカード１００は、例えば次の発行作業に移されたり、あるいは、これまでの発行処理のモード（発行モード）から通常の運用環境下での使用（運用モード）への切り替えが行われる。
例えば、次の発行作業では、必ずしも疑似乱数モードを設定するとは限らず、真性乱数モードのＩＣカード１００との通信によって発行処理を行う場合もある。このような場合に、発行時の疑似乱数モードが解除されずにそのままになっていると、次の発行作業にあたって不都合を生じる場合がある。
そこで、第２変形例においては、ステップＳ４０１Ａ〜Ｓ４０１Ｃの処理により、ホスト装置２００が発行対象のＩＣカード１００に真性乱数モードが設定されていることを確認した場合には、ＩＣカード１００に疑似乱数モードを設定してから発行処理を開始するようにしている。
また、第２変形例のステップＳ４０３によってＩＣカード１００を真性乱数モードに戻しておくことによっても、上記のような不都合を避けることができる。
なお、例えば、確認を行うことなく、発行の開始にあたり疑似乱数モードを設定するようにしてもよい。
【００８７】
また、運用モードでは仕様に従ってセキュリティの高い通信を行う必要上、真性乱数を用いる。このために、運用モードに切り替えが行われたのにかかわらず発行モード時に設定した疑似乱数モードが解除されていないと、運用モードで使用することができない。
図８の処理であれば、発行処理が終了したのに応じて運用モードに切り替えが行われるのに対応したタイミングで、ステップＳ４０３によってＩＣカード１００が乱数モード情報を真性乱数モードに書き換えるように動作する。つまり、運用モードへの切り替えのタイミングで、ＩＣカード１００の乱数モードを疑似乱数モードから真性乱数モードに変更することができる。
【００８８】
なお、図６、図８などのフローチャートに示した処理は、複数のＩＣカード１００を発行対象として発行を順次行うにあたり、複数のＩＣカード１００ごとに行うようにすればよい。
【００８９】
なお、これまでの説明においては、ホスト装置２００がＩＣカードを発行する際に疑似乱数を利用したシーケンスを実行する例を挙げているが、ＩＣカードの発行以外にも疑似乱数を利用したシーケンスが実行されてよい。
また、上記実施形態においては携帯情報処理装置としてＩＣカードを例に挙げているがこれに限定されるものではなく、例えば、携帯端末装置などであってもよい。
【００９０】
なお、上述のＩＣカード１００又はホスト装置２００の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述のＩＣカード１００又はホスト装置２００の処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器などのハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやＷＡＮ、ＬＡＮ、専用回線などの通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭなどの可搬媒体、コンピュータシステムに内蔵されるハードディスクなどの記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、ＣＤ−ＲＯＭなどの非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【符号の説明】
【００９１】
１００  カード
１０１  通信部
１０２  乱数モード情報記憶部
１０３  乱数モード情報書換部
１０４  乱数モード判定部
１０５  真性乱数生成部
１０６  疑似乱数生成部
２００  ホスト装置
２０１  通信部
２０２  乱数モード命令部
２０３  真性乱数対応処理部
２０４  疑似乱数対応処理部
２０５  発行ファイル記憶部
２５０  発行ファイル
【図１】
2014232492.tif 000003
【図２】
2014232492.tif 000004
【図３】
2014232492.tif 000005
【図４】
2014232492.tif 000006
【図５】
2014232492.tif 000007
【図６】
2014232492.tif 000008
【図７】
2014232492.tif 000009
【図８】
2014232492.tif 000010