説明

情報処理装置および方法、プログラム並びに記録媒体

【課題】無駄に電力が消費されるのを抑制しつつ、不正なアクセスを簡単に防止できるようにする。
【解決手段】取得部21はコマンドを取得する。コマンド実行部22は、取得部21により取得されたコマンドに対応する処理を実行し、揺れ処理部25は、コマンド実行部22がコマンドに対応する処理を実行する前に、コマンド実行部22がコマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理を実行する。揺れ処理部12の乱数発生部31は乱数を発生し、揺れ幅設定部33は、乱数発生部31により発生された乱数に基づいて揺れ幅を設定する。パラメータ取得部32は、揺れ幅設定部33が設定する揺れ幅に最大値を設定するパラメータを取得する。検出部35は不正なアクセスを検出する。本発明は、例えばICカードに適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理装置および方法、プログラム並びに記録媒体に関し、特に、無駄に電力が消費されるのを抑制しつつ、不正なアクセスを簡単に防止するようにした情報処理装置および方法、プログラム並びに記録媒体に関する。
【背景技術】
【0002】
ICカードが普及し、鉄道、バスの運賃の支払いに利用されたり、販売店での商品の代金の支払いなど、さまざまな分野で利用されるようになってきた。
【0003】
このようなICカードの普及に伴って、ICカードに不正にアクセスし、悪用しようとする試みもなされるようになってきた。
【0004】
そこで、例えば特許文献1に開示されているように、ランダムな数の命令を暗号化アルゴリズムに挿入し、差分電力解析などの消費電流パターンの解析による不正な攻撃から防御することも考えられる。
【0005】
しかし、そのようにすると、プログラムの構成が複雑になり、プログラムの開発に時間がかかる。
【0006】
ICカードにおいてよく行われる不正な攻撃は、フォルトアタックと称されるような、ICカードにレーザ光線を照射し、そのエネルギーによりICカードを誤動作させることで、ICカードに不正にアクセスしようとするものである。
【0007】
このフォルトアタックでは、例えばICカードの電力や電磁波をモニタリングし、電力消費量が多いなどの特徴から所望の処理を行っているタイミングを特定し、そのタイミングに合わせてレーザ光線を照射することで、データを任意の値に変更させたり、処理をスキップさせたりすることが行われる。
【0008】
そこで、本来の処理をマスキングするための電流を流すことが知られている。
【0009】
【特許文献1】特開2008−502283号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかし、本来の処理をマスキングするための電流を流すと、無駄に電力が消費される。
【0011】
本発明は、このような状況に鑑みてなされたものであり、無駄に電力が消費されるのを抑制しつつ、不正なアクセスを簡単に防止することができるようにするものである。
【課題を解決するための手段】
【0012】
本発明の一側面は、コマンドに対応する処理を実行する実行部と、コマンドに対応する処理を実行する前に、コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理を実行する揺れ処理部とを備え、揺れ処理部は、乱数を発生する乱数発生部と、乱数に基づいて揺れ幅を設定する揺れ幅設定部とを備える情報処理装置である。
【0013】
本発明の一側面においては、実行部が、コマンドに対応する処理を実行し、揺れ処理部が、コマンドに対応する処理を実行する前に、コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理を実行する。乱数発生部により発生された乱数に基づいて揺れ幅設定部により揺れ幅が設定される。
【発明の効果】
【0014】
以上のように、本発明の一側面によれば、無駄に電力が消費されるのを抑制しつつ、不正なアクセスを簡単に防止することができる。
【発明を実施するための最良の形態】
【0015】
以下、図を参照して本発明の実施の形態について説明する。
【0016】
図1は本発明の情報処理システムの一実施の形態の構成を示すブロック図である。この情報処理システム1は、情報処理装置11と情報処理装置51とにより構成されている。情報処理装置51は、情報処理装置11に対してコマンドを出力し、所定の処理を実行させる。情報処理装置11は処理の結果をレスポンスとして情報処理装置51に出力する。
【0017】
情報処理装置11は、取得部21、コマンド実行部22、メモリ23、出力部24、揺れ処理部25、および保護処理部26を有している。
【0018】
取得部21は、情報処理装置51から出力される信号を取得する。例えばマイクロコンピュータなどにより構成されるコマンド実行部22は、取得された信号に含まれるコマンドに対応する処理を実行する。メモリ23はデータを記憶する。出力部24は、コマンド実行部22によるコマンド処理の結果に対応する信号を、情報処理装置51に出力する。なお、取得部21と出力部24は一体化したアンテナとして構成することもできる。
【0019】
揺れ処理部25は、コマンド実行部22がコマンドに対応する処理を実行する前に、コマンド実行部22がコマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理を実行する。保護処理部26は、不正なアクセスが検出された場合に、情報処理装置11を保護する処理を実行する。
【0020】
揺れ処理部25は、乱数発生部31、パラメータ取得部32、揺れ幅設定部33、揺れ発生部34、および検出部35により構成されている。
【0021】
乱数発生部31は、乱数を発生する。もちろんここでいう乱数とは、数学的に正確な乱数である必要はなく、実用的に乱数として扱うことが可能な疑似乱数であればよい。パラメータ取得部32は、乱数の最大値を決定するパラメータを取得する。このパラメータは情報処理装置51などの外部装置から供給されるものを取得してもよいし、予め記憶されているものを取得してもよい。
【0022】
揺れ幅設定部33は、乱数に基づいて揺れ幅を設定する。揺れ発生部34は、設定された揺れ幅に基づいて、すなわち乱数に基づいて揺れを発生する。検出部35は、不正なアクセスを検出する。保護処理部26は、不正なアクセスが検出された場合、情報処理装置11を保護する処理を実行する。
【0023】
情報処理装置51は、取得部61、制御部62、および出力部63を有している。取得部61は情報処理装置11の出力部24からの信号を取得する。出力部63は情報処理装置11の取得部21に対して信号を出力する。なお、情報処理装置11の取得部21と出力部24に対応して、取得部61と出力部63は一体化したアンテナとして構成することもできる。制御部62は例えばマイクロコンピュータなどにより構成され、各種の制御動作を実行する。
【0024】
次に図2と図3のフローチャートを参照して、情報処理システム1の動作について説明する。最初に図2を参照して、情報処理装置51の処理について説明する。
【0025】
ステップS1において出力部63は、制御部62の制御に基づいて、コマンドを出力する。例えば情報処理装置11がICカードであり、情報処理装置51がリーダーライターである場合、ICカードのメモリ23に記憶されているデータを読み出したり、メモリ23にデータを書き込んだりするコマンドが情報処理装置51から出力される。このコマンドは、後述する図3のステップS21において、情報処理装置11の取得部21により取得される。
【0026】
ステップS2において取得部61は、情報処理装置11の出力部24からレスポンスを取得する。このレスポンスは、情報処理装置11がコマンドに対応して、後述する図3のステップS31で出力するものである。
【0027】
ステップS3において制御部62は、取得したレスポンスに対応する処理を実行する。例えば情報処理装置11がICカードである場合、そのメモリ23から読み出された残高を確認する処理が実行される。
【0028】
情報処理装置11は、以上の情報処理装置51の処理に対応して、図3のフローチャートに示されるような処理を実行する。
【0029】
すなわち、ステップS21において取得部21は、情報処理装置51の出力部63から出力されたコマンドを取得する。このコマンドは図2のステップS1の処理で出力されたものである。
【0030】
コマンド実行部22がステップS23でクリティカルセクションの処理を実行する前に、ステップS22において揺れ処理部25は、揺れ処理を実行する。この揺れ処理の詳細は、図4に示されている。
【0031】
すなわち、コマンドに対応する処理を実行する前に、コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理を実行する揺れ処理部として機能する揺れ処理部25の乱数発生部31は、ステップS41において、乱数rを発生する。ステップS42においてパラメータ取得部32は、パラメータdを取得する。このパラメータdは乱数rの最大値を規制するものであり、この実施の形態の場合、パラメータ取得部32に予め記憶されている。
【0032】
乱数に基づいて揺れ幅を設定する機能を有する揺れ幅設定部33は、ステップS43において、乱数rに基づいて揺れ幅wを設定する。この乱数rは、パラメータdにより最大値が設定されているので、揺れ幅wはその最大値が規制され、最大値の範囲内で揺れ幅wがランダムに変化する。例えば乱数rとパラメータdの値のモジュロ演算を行うことで揺れ幅wを設定するようにすると、揺れ幅wは最大値d以下の乱数rで規定される値となる。
【0033】
なお、パラメータdとして、情報処理装置51からランダムな値を供給する場合には、パラメータd自体に基づいて揺れ幅wを設定するようにしてもよい。
【0034】
ステップS44において揺れ発生部34は揺れ発生処理を実行する。
【0035】
この揺れ発生処理の詳細は、図5のフローチャートに示されている。
【0036】
すなわちステップS61において揺れ発生部34は、揺れ幅設定部33により設定された揺れ幅wを変数iに設定する。ステップS62において揺れ発生部34は所定の処理を実行する。なお、この処理の例は、図6を参照して後述するが、ステップS62の処理は省略してもよい。
【0037】
ステップS63において揺れ発生部34は、ステップS61の処理で揺れ幅wが設定されている変数iを1だけデクリメントする。ステップS64において揺れ発生部34は、変数iが0より大きいかを判定する。変数iが0より大きい場合、処理はステップS62に戻り、それ以降の処理が繰り返される。
【0038】
揺れ幅wが正の整数である場合、ステップS62乃至S64の処理がw回繰り返されるとi=0となり、ステップS64でiが0以下であると判定され、処理は図4のステップS44に戻る。
【0039】
図3に戻って、以上のようにして、ステップS22において揺れ処理が実行された後、ステップS23においてコマンド実行部22はクリティカルセクションの処理を実行する。このときデータがメモリ23から適宜読み出されたり、書き込まれたりする。クリティカルセクションの処理は重要な処理であり、不正な使用者から保護する必要がある処理である。
【0040】
このクリティカルセクションの処理の前に行われる揺れ処理の時間は、上述したように、揺れ幅wに対応する時間になる。そしてこの揺れ幅wは乱数rに基づき設定されているので、クリティカルセクションの処理が実行されるタイミングは、揺れ幅wに応じて変化する。従って、不正な使用者が、クリティカルセクションのタイミングを特定することが困難になるので、それだけ情報処理装置11をフォルトアタックなどから保護することができ、セキュリティが向上する。
【0041】
また、揺れ処理はクリティカル処理と内容的に無関係な処理でよいから、揺れ処理を挿入することにより、全体の構成が複雑になったり、開発に時間がかかるようなことがない。従って、簡単に不正なアタックから保護することができる。
【0042】
ステップS24においてコマンド実行部22は、通常の処理を実行する。この通常の処理とは、不正な使用者から保護する必要がないか、あってもその程度が低い処理である。
【0043】
ステップS25において揺れ処理が行われた後、ステップS26,S27において、クリティカルセクションの処理が実行される。この場合、ステップS27のクリティカルセクションの処理の前に揺れ処理が挿入されていないが、ステップS26,S27の処理をまとめて考えれば、その前のステップS25で揺れ処理が実行されているので、不正使用者は、ステップS26,S27の処理のタイミングを特定することが困難になる。
【0044】
この実施の形態の場合、さらにステップS28で通常の処理が行われた後、ステップS29で揺れ処理が行われ、ステップS30でクリティカルセクションの処理が行われている。
【0045】
このように、この実施の形態では、クリティカルセクションの処理の前に揺れ処理をその都度挿入するようにしたが、原理的には、最初のクリティカルセクションの処理の前だけに揺れ処理を挿入してもよい。それによっても、その後の処理は全てその揺れの分だけタイミングがずれるので、ほぼ同様の効果を奏することが可能である。ただし、セキュリティの観点からは、できるだけ多くの位置に揺れ処理を挿入することが好ましい。
【0046】
ステップS31において出力部24は、コマンド実行部22による処理の結果に基づくレスポンスを情報処理装置51に出力する。上述したように、このレスポンスは図2のステップS2において、情報処理装置51の取得部61により取得される。
【0047】
図6は図4のステップS44の揺れ発生処理の他の実施の形態を表している。
【0048】
この実施の形態におけるステップS81,S85,S86は、図5のステップS61,S63,S64の処理と同様の処理である。すなわち、図6の処理では、図5のステップS62の所定の処理の代わりに、ステップS82,S83,S84,S87の処理が実行される。
【0049】
すなわちステップS81において揺れ発生部34は、揺れ幅設定部33により設定された揺れ幅wを変数iに設定する。ステップS82において検出部35はDES(Data Encryption Standard)を演算する。具体的には、所定のデータを読み出し、64ビット長のブロックに分割し、各ブロックを56ビット長の鍵で暗号化する処理が行われる。
【0050】
ステップS82の処理が完了した後、ステップS83で検出部35は、再びDESを演算する。ステップS84において検出部35は、ステップS82のタイミングで処理した演算値と、テップS83のタイミングで処理した演算値の2つの値は同じであるかを判定する。
【0051】
不正な攻撃を受けていない場合、ステップS82とステップS83の異なるタイミングで実行した同じ処理により得られる2つの演算値は通常同じ値となる。この場合、ステップS85において揺れ発生部34は、ステップS81の処理で揺れ幅wが設定されている変数iを1だけデクリメントする。ステップS86において揺れ発生部34は、変数iが0より大きいかを判定する。変数iが0より大きい場合、処理はステップS82に戻り、それ以降の処理が繰り返される。
【0052】
揺れ幅wが正の整数である場合、ステップS82乃至S86の処理がw回繰り返されるとi=0となり、ステップS86でiが0以下であると判定され、処理は図4のステップS44に戻る。
【0053】
一方、不正な攻撃を受けている場合、ステップS82とステップS83の異なるタイミングで実行した同じ処理により得られる2つの演算値は異なる値となることが多い。この場合、ステップS87において、保護処理部26は保護処理として、タンパ検出処理を実行する。例えば、保護処理部26は、メモリ23に記憶されているデータを全て消去したり、任意のデータに書き換えたり、情報処理装置11を回復不可能に使用不能にする処理を実行する。これにより、情報処理装置11が不正に使用されるのを完全に防止することができる。
【0054】
不正なアクセスが検出された場合、保護のための処理を実行する保護処理部26によりステップS87の処理が実行された場合、図3の処理はその時点で終了される。
【0055】
図7は、以上の情報処理装置11がICカード101であり、情報処理装置51がリーダーライター102であるとして、リーダーライター102がICカード101からデータを読み出す場合の時間管理の処理を表している。
【0056】
ステップS101においてリーダーライター102は、ICカード101に対して、データを読み出すためのコマンドを出力する。
【0057】
ステップS111でこのコマンドを受信したICカード101は、リーダーライター102により指定されたアドレスからデータを読み出す。
【0058】
ステップS112でICカード101は、コマンドに対応するレスポンスをリーダーライター102に返す。このとき読み出されたデータがリーダーライター102に送出される。リーダーライター102はこのレスポンスをステップS102で受信する。
【0059】
不正なアクセスでなければ、このようにしてICカード101の指定されたアドレスからデータが読み出され、リーダーライター102に供給される。ICカード101がステップS111でコマンドを受信してからステップS112でレスポンスを返すまでの時間hは時間h1と充分短くなり、リーダーライター102がステップS101でコマンドを送信してから、ステップS102でレスポンスを受信するまでの時間Tは、標準の時間Tn以内の時間となる。
【0060】
しかし、何等かの不具合が発生したり、不正なアクセスがあった場合には、リーダーライター102がレスポンスを返すまでの時間hは、時間h2,h3と、標準の時間h1より長くなり、リーダーライター102がレスポンスを受信するまでの時間Tも、標準の待ち時間Tnより長くなる。リーダーライター102は、レスポンスを受信するまでの時間Tが標準の待ち時間Tnより長くなったとき、所定の追加時間Tdずつ時間を延長し、時間Tが予め設定されているタイムアウト時間Tmより長くなったとき、エラー処理を実行する。追加時間Tdは、パラメータdに対応する値、すなわち揺れ幅wの最大値に対応する時間とすることができる。
【0061】
このようにすれば、リーダーライター102は、タイムアウト時間Tmを必要以上に長い時間に設定する必要がなくなり、必要最低限の時間でICカード101と通信を完了させることができる。
【0062】
リーダーライター102が以上のようにしてICカード101に対してアクセスする場合の時間管理の処理をさらに詳細に説明すると図8に示されるようになる。なお、以下においては、図1の情報処理装置11をICカード101、情報処理装置51をリーダーライター102として説明を行う。
【0063】
すなわち、ステップS141においてリーダーライター102の制御部62は出力部63を介して、ICカード101に対してパラメータdを指定して、コマンドを出力する。このとき出力部63は、他の情報処理装置としてのICカード101に対して、所定の処理を実行させるコマンドと、コマンドに対応する処理を実行する前に、コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理の最大値を規制するパラメータとを出力する出力部として機能する。ICカード101の取得部21により取得されたパラメータdはパラメータ取得部32に供給される。
【0064】
上述したようにこのパラメータdは、乱数rの最大値を規制する値である。ステップS142において制御部62は、取得部61を介して、ICカード101の出力部24からレスポンスを受け取ったかを判定する。レスポンスを受け取った場合、ステップS143においてリーダーライター102の制御部62は、レスポンスに対応する処理を実行する。例えばICカード101のメモリ23から読み出されたデータに基づき、そこに記憶されている残高を確認する。
【0065】
ステップS142においてまだレスポンスを受け取っていないと判定された場合、ステップS144においてリーダーライター102の制御部62は、標準の待ち時間Tnが経過したかを判定する。すなわち、制御部62は、他の情報処理装置としてのICカード102からコマンドに対応するレスポンスを受信する時間を、パラメータに対応する時間に基づいて制御する制御部として機能する。まだ標準の待ち時間Tnが経過していない場合、処理はステップS142に戻り、それ以降の処理が繰り返される。
【0066】
例えば図3の実施の形態の場合、揺れ処理は3回行われる。標準の待ち時間Tnは、この3回の揺れ処理を除く各処理の標準的な処理時間の合計の時間とされる。
【0067】
ステップS144において標準の待ち時間Tnが経過したと判定された場合、ステップS145において、リーダーライター102の制御部62はICカード101からレスポンスを受け取ったかを判定する。ICカード101からレスポンスを受け取った場合、ステップS143において対応する処理が実行される。
【0068】
ステップS145において、まだICカード101からレスポンスを受け取っていないと判定された場合、ステップS146においてリーダーライター102の制御部62は、揺れ処理の回数分の追加時間Tdが経過したかを判定する。このことは、揺れ処理の回数をNとするとき、タイムアップ時間Tmを、次式(1)に従って設定することを意味する。
Tm=Tn+N・Td (1)
【0069】
例えば図3の実施の形態の場合、揺れ処理は3回行われる。そこでTn+3Tdの時間がタイムアップ時間Tmとされる。
【0070】
ステップS146において、標準の待ち時間Tnが経過した後、さらにN・Tdの時間がまだ経過していないと判定された場合、リーダーライター102がコマンドを出力してからレスポンスを受信するまでの時間Tが、まだタイムアウト時間Tm以上になっていないので、処理はステップS145に戻り、それ以降の処理が繰り返される。
【0071】
ステップS146において、揺れ処理の回数分の追加時間Tdが経過したと判定された場合、タイムアウト時間Tm以内にレスポンスを受け取ることができなかったことになるので、リーダーライター102の制御部62は、ステップS147においてエラー処理を実行する。
【0072】
リーダーライター102の制御部62は、パラメータdの値を自身で指定しているので、その値から追加時間Tdを演算することができる。また、ICカード101が実行する揺れ処理の回数Nと、リーダーライター102とICカード101との間の標準の待ち時間Tnは、リーダーライター102の制御部62に予め設定されている。従って、リーダーライター102の制御部62は、タイムアップ時間Tmを適切な値、すなわち必要最低限の時間に設定することができ、エラー処理を実行する場合にも、効率的な時間制御が可能となる。
【0073】
なお、本発明は、ICカードの他、セキュアに保護する必要がある携帯電話機、電子手帳、その他の情報処理装置に適用することができる。
【0074】
図9は、上述した一連の処理をプログラムにより実行するコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)121は、ROM(Read Only Memory)122、または記憶部128に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)123には、CPU121が実行するプログラムやデータなどが適宜記憶される。これらのCPU121、ROM122、およびRAM123は、バス124により相互に接続されている。
【0075】
CPU121にはまた、バス124を介して入出力インターフェース125が接続されている。入出力インターフェース125には、キーボード、マウス、マイクロホンなどよりなる入力部126、ディスプレイ、スピーカなどよりなる出力部127が接続されている。CPU121は、入力部126から入力される指令に対応して各種の処理を実行する。そして、CPU121は、処理の結果を出力部127に出力する。
【0076】
入出力インターフェース125に接続されている記憶部128は、例えばハードディスクからなり、CPU121が実行するプログラムや各種のデータを記憶する。通信部129は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。また、通信部129を介してプログラムを取得し、記憶部128に記憶してもよい。
【0077】
入出力インターフェース125に接続されているドライブ130は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア131が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部128に転送され、記憶される。
【0078】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0079】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図9に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア131、または、プログラムが一時的もしくは永続的に格納されるROM122や、記憶部128を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部129を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0080】
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0081】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0082】
【図1】本発明の情報処理装置を適用した情報処理システムの一実施の形態の構成を示すブロック図である。
【図2】図1の一方の情報処理装置の処理を説明するフローチャートである。
【図3】図1の他方の情報処理装置の処理を説明するフローチャートである。
【図4】図3のステップS22の揺れ処理を説明するフローチャートである。
【図5】図4のステップS44の揺れ発生処理を説明するフローチャートである。
【図6】図4のステップS44の他の揺れ発生処理を説明するフローチャートである。
【図7】リーダーライターとICカードの処理を説明するフローチャートである。
【図8】リーダーライターの時間管理の処理を説明するフローチャートである。
【図9】コンピュータの構成を示すブロック図である。
【符号の説明】
【0083】
1 情報処理システム, 11 情報処理装置, 21 取得部, 22 コマンド実行部, 23 メモリ, 24 出力部, 25 揺れ処理部, 26 保護処理部, 31 乱数発生部, 32 パラメータ取得部, 33 揺れ幅設定部, 34 揺れ発生部, 35 検出部, 61 取得部, 62 制御部, 63 出力部, 101 ICカード, 102 リーダーライター

【特許請求の範囲】
【請求項1】
コマンドに対応する処理を実行する実行部と、
前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理を実行する揺れ処理部と
を備え、
前記揺れ処理部は、
乱数を発生する乱数発生部と、
前記乱数に基づいて揺れ幅を設定する揺れ幅設定部と
を備える情報処理装置。
【請求項2】
前記揺れ幅設定部は、前記揺れ幅に最大値を設定する
請求項1に記載の情報処理装置。
【請求項3】
前記揺れ幅の期間内に、不正なアクセスを検出する検出部をさらに備える
請求項2に記載の情報処理装置。
【請求項4】
前記不正なアクセスが検出された場合、保護のための処理を実行する保護処理部をさらに備える
請求項3に記載の情報処理装置。
【請求項5】
前記情報処理装置は、ICカードである
請求項3に記載の情報処理装置。
【請求項6】
実行部が、コマンドに対応する処理を実行し、
揺れ処理部が、前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングを、乱数に基づいて揺れ幅を設定することでランダムに変化させる揺れ処理を実行する
情報処理装置の情報処理方法。
【請求項7】
コマンドに対応する処理を実行し、
前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングを、乱数に基づいて揺れ幅を設定することでランダムに変化させる揺れ処理を実行する
処理をコンピュータに実行させるプログラム。
【請求項8】
コマンドに対応する処理を実行し、
前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングを、乱数に基づいて揺れ幅を設定することでランダムに変化させる揺れ処理を実行する
処理をコンピュータに実行させるプログラムが記録されている記録媒体。
【請求項9】
他の情報処理装置に対して、所定の処理を実行させるコマンドと、前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理の最大値を規制するパラメータとを出力する出力部と、
前記他の情報処理装置から前記コマンドに対応するレスポンスを受信する時間を、前記パラメータに対応する時間に基づいて制御する制御部と
を備える情報処理装置。
【請求項10】
前記情報処理装置は、リーダーライターであり、
前記他の情報処理装置は、前記リーダーライターによりアクセスを受けるICカードである
請求項9に記載の情報処理装置。
【請求項11】
出力部が、他の情報処理装置に対して、所定の処理を実行させるコマンドと、前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理の最大値を規制するパラメータとを出力し、
制御部が、前記他の情報処理装置から前記コマンドに対応するレスポンスを受信する時間を、前記パラメータに対応する時間に基づいて制御する
情報処理装置の情報処理方法。
【請求項12】
他の情報処理装置に対して、所定の処理を実行させるコマンドと、前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理の最大値を規制するパラメータとを出力し、
前記他の情報処理装置から前記コマンドに対応するレスポンスを受信する時間を、前記パラメータに対応する時間に基づいて制御する
処理をコンピュータに実行させるプログラム。
【請求項13】
他の情報処理装置に対して、所定の処理を実行させるコマンドと、前記コマンドに対応する処理を実行する前に、前記コマンドに対応する処理を実行するタイミングをランダムに変化させる揺れ処理の最大値を規制するパラメータとを出力し、
前記他の情報処理装置から前記コマンドに対応するレスポンスを受信する時間を、前記パラメータに対応する時間に基づいて制御する
処理をコンピュータに実行させるプログラムが記録されている記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−289017(P2009−289017A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−140683(P2008−140683)
【出願日】平成20年5月29日(2008.5.29)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】