(57)【要約】  暗号処理装置１００は、中断タイミング判定回路１０１を備える。中断タイミング判定回路１０１は、中断タイミング判定レジスタ１０１ａ、転送状態参照部１０１ｂ、及び中断タイミング判定部１０１ｃを有する。中断タイミング判定レジスタ１０１ａは、中断タイミング判定部１０１ｃがＤＭＡＣ１０２の転送処理の中断を判定するためのテーブル２００を記憶する。転送状態参照部１０１ｂは、ＤＭＡＣ１０２がメモリ１４から読み出したブロックのうち何バイトを暗号演算回路１０３に入力完了したかを監視する。中断タイミング判定部１０１ｃは、中断タイミング判定レジスタ１０１ａに記憶されているテーブル２００と、転送状態参照部１０１ｂの監視結果（転送バイト数）とに基づき、ＤＭＡＣ１０２が画像データを転送処理中に転送対象を切り換えるか否かを判定する。
2008035616.tif 000002
【特許請求の範囲】
【請求項１】
第１種データ又は第２種データの転送指示を受けて、いずれか一種のデータを逐次選択して、当該一種のデータをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置であって、
入力されたデータに対して暗号処理を施して出力する暗号処理部と、
前記メモリと前記暗号処理部との間でのデータ転送を行う転送部と、
前記第１種データのデータ転送の途中で、前記第２種データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記第１種データに係る暗号処理方式に基づく条件情報を記憶する条件情報記憶部と、
前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記第１種データの転送途中でデータ転送対象の切換えを行うか否かを判断する判断部とを備え、
前記転送部は、転送指示と前記判断部での判断とに従って、データ転送対象の切換えを行う
ことを特徴とするデータ転送装置。
【請求項２】
前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、
前記条件情報記憶部は、（ａ）前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量についての第１閾値と、（ｂ）前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての第２閾値とを、前記条件情報として記憶し、
（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値より大きい、及び／又は、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切り換えると判断し、
前記判断部は、（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値以下であり、かつ、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値以下である場合、前記第１種データの転送を完了してから転送対象を前記第２種データに切り換えると判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記条件情報記憶部は、前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量を、前記条件情報として記憶し、
前記所定時間は、当該第２種データの転送指示を受けてから前記転送部が前記第２種データの転送を完了するまでの許容時間であり、
前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、
前記転送部は、前記メモリから前記一種のデータを読み出して、当該データの一部又は全部を前記暗号処理部に入力し、当該暗号処理部から出力される暗号処理結果を前記メモリに書き込むことで転送を行うものであり、
前記条件情報記憶部は、前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての閾値を、前記条件情報として記憶し、
前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量を前記暗号処理単位で除した剰余が、前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記第１種データ及び前記第２種データ夫々は、一組のヘッダ及びペイロードから成るフレームを少なくとも１つ含んで成るデータであり、
前記暗号処理部は、前記第１種データ及び前記第２種データ夫々に対し、前記ペイロードの暗号処理を行い、
前記転送部は、前記メモリから読み出した前記第１種データ及び前記第２種データ夫々において、前記ペイロードを前記暗号処理部に入力し、当該暗号処理部から出力された暗号処理結果と前記ヘッダとを前記メモリに書き込むことで転送を行うものであり、
前記差分量は、前記未転送データ内のペイロードのデータ量を前記暗号処理単位で除した剰余であり、
前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、前記未転送データ内のペイロードのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断する
ことを特徴とする請求項２記載のデータ転送装置。
【請求項６】
前記第１種データは、夫々ペイロードのデータ量の異なる複数のデータフォーマットのうち１つのデータフォーマットを有するものであり、
前記判断部は、前記第１種データのデータフォーマットに応じて、前記未転送データ内のペイロードのデータ量を決定することにより、前記判断を行う
ことを特徴とする請求項５記載のデータ転送装置。
【請求項７】
請求項１記載のデータ転送装置を備え、音声通話を行う機能と画像データを表示する機能とを有する携帯電話機であって、
前記第１種データは、前記画像データであり、
前記第２種データは、前記音声通話における音声データであり、
前記条件情報記憶部は、前記画像データのデータ転送の途中で、前記音声データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記画像データに係る暗号処理方式に基づく条件情報を記憶し、
前記判断部は、前記画像データのデータ転送の途中で前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断し、
前記転送部は、転送指示と前記判断部での判断とに従って、前記画像データの転送途中にデータ転送対象の切換えを行う
ことを特徴とする携帯電話機。
【請求項８】
前記音声データの転送指示を前記判断部に送出する転送指示部を備え、
前記判断部は、前記画像データのデータ転送の途中で、前記転送指示部から前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断する
ことを特徴とする請求項７記載の携帯電話機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置に関する。
【背景技術】
【０００２】
近年、記憶媒体に格納するコンテンツのデータや、ネットワークを介して送受信されるデータ等に、暗号化技術が用いられている。
このような暗号化技術を用いたデータを扱う機器では、データを読み出し、読み出したデータに暗号処理を施してから再びメモリに書き込むデータ転送装置が組み込まれている。ここで、データ転送とは、データを読み出し、読み出したデータに暗号処理を施してから再びメモリに書き込む一連の動作を指す。また、暗号処理とは、データの暗号化や、暗号化されたデータの復号を指す。【０００３】
例えば、携帯電話機等の通信機器においては、機器内の記憶媒体に格納する画像や音楽等の、著作権を持つデータが暗号化されているため、これらのデータを再生するには、データをいったん暗号処理する必要がある。このため、機器内のデータ転送装置がいったん媒体から読み出した暗号化データに暗号処理（復号）を施し、暗号処理結果をメモリに書き込む。【０００４】
また、音声通話に係る音声データも暗号化されていれば、音声通話の処理を行う際に、データ転送装置が音声データをいったん読み出して暗号処理を施し、暗号処理結果をメモリに書き込む。
ところで、このような通信機器の中で、複数の処理を並行して実行する、いわゆるマルチタスク機能を備えたものがある。【０００５】
マルチタスク機能を用いることで、例えば、記憶媒体に格納された画像データを再生しながら、並行して通話を行えるのである。
この場合、データ転送装置が異なるデータを同時に暗号処理できないのであれば、画像データの転送処理と音声データの転送処理とを切り換えて行う必要がある、通話は厳格なリアルタイム性が求められることから、一定の通信速度を保証するＱｏＳ（Quality of Service）を実現するために、画像データの転送処理に割り込んで音声データの転送処理を行う必要性が出てくることがある。【０００６】
このように異なる種類のデータを転送処理する際、暗号アルゴリズムや暗号処理モードの種類に応じて、優先度の低いデータの転送処理を中断して優先度の高いデータの転送処理を行うことのできる暗号処理装置が提案されている（特許文献１を参照）。
図９は、特許文献１に記載された暗号処理装置の機能ブロック図である。
この暗号処理装置１０００は、ＣＰＵ１００１の指示に従い、ＤＭＡＣ１００４が、データ格納メモリ１００２に格納されたデータを読み出してセレクタ１００５を介して共通鍵暗号ブロック１００７又はハッシュブロック１００８に入力するとともに、共通鍵暗号ブロック１００７又はハッシュブロック１００８での処理結果をセレクタ１０１０を介してデータ格納メモリ１００２に書き込む構成となっている。暗号処理装置１０００において、共通鍵暗号ブロック１００７又はハッシュブロック１００８で優先度の低いデータの処理中に、処理を中断するとともに処理途中の結果をＩＶレジスタ１００６又はＩＶレジスタ１００９に保持しておくことで、優先度の高いデータを先に処理した後、優先度の低いデータの処理を再開できるようになっている。
【特許文献１】特開２００６−３９０００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上に示したような従来の暗号処理装置は、優先度の低いデータの転送中に、優先度の高いデータを転送する必要性が発生すると、優先度の低いデータの転送処理は中断されてしまう。
図１０は、例えば携帯電話機に応用した場合の暗号処理装置の動作を示す図であり、暗号処理装置が画像データと音声データを転送処理する様子を示している。【０００８】
暗号処理装置において、画像データ、音声データともに、ＤＭＡＣ１００３はブロック単位で読み出して共通鍵暗号ブロック１００２に逐次入力し、共通鍵暗号ブロック１００２は入力されたデータを逐次暗号処理して出力していく。ここでは、画像データとして２つのブロック（Ｖ１〜Ｖ２）を、音声データとして１つのブロック（Ａ１）を示す。
暗号処理装置が、優先度の低い画像データ（例えば、画面のメニュー更新に用いられる画像データ）のうち、２つめのブロック（Ｖ２）を転送処理中に、よりＱｏＳが求められ優先度の高い音声データのブロック（Ａ１）（例えば、音声通話でやり取りされる音声データ）を転送処理する必要性が発生した場合、画像データのブロック（Ｖ２）の転送が中断されて音声データのブロック（Ａ１）の転送が開始される。これにより、同図に示すように、ブロック（Ｖ２）は途中（Ｖ２（１））まで転送処理され、残り（Ｖ２（２））の転送処理は音声データのブロック（Ａ１）の転送処理が完了した後に再開される。【０００９】
このように動作するため、画像データの転送処理が、音声データの転送処理の影響を受けて中断されてしまう。このため、画像データの転送処理が遅延し、この結果、画面のメニュー更新の遅延が発生する恐れがある。メニュー更新の遅延が発生すると、ユーザからぎこちなくメニューが動いているように見える恐れがある。
そこで、本発明は、データをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置において、優先度の高いデータのＱｏＳと優先度の低いデータの転送処理の即応性とのバランスを保つことのできるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のデータ転送装置は、第１種データ又は第２種データの転送指示を受けて、いずれか一種のデータを逐次選択して、当該一種のデータをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置であって、入力されたデータに対して暗号処理を施して出力する暗号処理部と、前記メモリと前記暗号処理部との間でのデータ転送を行う転送部と、前記第１種データのデータ転送の途中で、前記第２種データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記第１種データに係る暗号処理方式に基づく条件情報を記憶する条件情報記憶部と、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記第１種データの転送途中でデータ転送対象の切換えを行うか否かを判断する判断部とを備え、前記転送部は、転送指示と前記判断部での判断とに従って、データ転送対象の切換えを行うことを特徴とする。【００１１】
ここで、転送部が行うデータ転送とは、メモリから一種のデータを読み出して暗号処理部に入力し、当該暗号処理部から出力される暗号処理結果をメモリに書き込む一連の動作を指す。
【発明の効果】
【００１２】
上記の構成により、本発明のデータ転送装置は、第１種データのデータ転送中に第２種データを転送する必要が生じた場合、転送部による第１種データの未転送データと条件情報とに応じて、第１種データの転送を継続するか第２種データの転送に切り換えるか否かを決定する。データ転送装置によれば、ユーザは条件情報を設定することで、例えば、未転送データが第２種データの転送開始に影響を及ぼす程度あれば第１種データの転送を途中で中断して第２種データの転送を開始させることや、未転送データが第２種データの転送開始に影響を及ぼさない程度であれば現在転送中の第１種データまで転送を完了させるように、転送部での転送を調整することができる。これにより、データ転送装置は、第２種データのＱｏＳと第１種データの転送処理の即応性とのバランスを調整することができる。優先度の低いデータを第１種データとし、優先度の高いデータを第２種データとすれば、優先度の異なるデータを転送処理する際、優先度の高いデータのＱｏＳと優先度の低いデータの転送処理の即応性とのバランスを保つことができる。【００１３】
また、上記データ転送装置において、前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、前記条件情報記憶部は、（ａ）前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量についての第１閾値と、（ｂ）前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての第２閾値とを、前記条件情報として記憶し、（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値より大きい、及び／又は、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切り換えると判断し、前記判断部は、（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値以下であり、かつ、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値以下である場合、前記第１種データの転送を完了してから転送対象を前記第２種データに切り換えると判断することとしてもよい。【００１４】
この構成により、データ転送装置は、第１種データの暗号処理アルゴリズムに応じて、第２種データの転送処理開始に影響を及ぼさない程度であって、かつ、仮に未転送データを転送部が暗号処理部に入力したとしても出力されない暗号処理結果のデータ量（未転送データ量を暗号処理単位で除した剰余）が閾値以下である場合には、現在転送中の第１種データの転送を完了させることができる。
例えば、暗号処理部が所定の処理単位で暗号処理を行う場合、未転送データが当該処理単位の整数倍でなければ、暗号処理部が転送部から入力される第１種データ量に対して出力する暗号処理結果のデータ量が小さくなるため、暗号処理部の入力データに差分が生じる。この差分が大きければ、転送部がメモリに書き込む暗号処理結果を利用する上位のプログラムが、暗号処理結果を利用できないことがある。例えば、画像データの場合、暗号結果を用いて画像を描画するプログラムが、暗号処理結果に欠損データがあることから画像を描画できないことがある。このように、転送中の第１種データについて未転送データを暗号処理部に入力しても暗号処理結果が活かされないような上記差分値を閾値として条件情報に設定しておけば、データ転送装置はこの閾値に基づいて第１種データと第２種データの転送を切り換えることができる。【００１５】
また、上記データ転送装置において、前記条件情報記憶部は、前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量を、前記条件情報として記憶し、前記所定時間は、当該第２種データの転送指示を受けてから前記転送部が前記第２種データの転送を完了するまでの許容時間であり、前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断することとしてもよい。【００１６】
この構成により、データ転送装置は、第１種データの暗号処理アルゴリズムに応じて、第２種データの転送処理開始に影響を及ぼさない程度であれば現在転送中の第１種データの転送を完了させることができる。一方、未転送データが第２種データの転送開始に影響を及ぼす程度あれば第１種データの転送を中断して第２種データの転送を開始することができる。【００１７】
また、上記データ転送装置において、前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、前記転送部は、前記メモリから前記一種のデータを読み出して、当該データの一部又は全部を前記暗号処理部に入力し、当該暗号処理部から出力される暗号処理結果を前記メモリに書き込むことで転送を行うものであり、前記条件情報記憶部は、前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての閾値を、前記条件情報として記憶し、前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量を前記暗号処理単位で除した剰余が、前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断することとしてもよい。【００１８】
この構成により、データ転送装置は、第１種データにおける未転送データのデータ量と暗号処理単位とにより、仮に未転送データを転送部が暗号処理部に入力したとしても暗号処理部から出力されない暗号処理結果のデータ量（未転送データ量を暗号処理単位で除した剰余）が閾値より大きい場合は、現在転送中の第１種データの転送を途中で中断して第２種データの転送を開始することができる。【００１９】
また、上記データ転送装置において、前記第１種データ及び前記第２種データ夫々は、一組のヘッダ及びペイロードから成るフレームを少なくとも１つ含んで成るデータであり、前記暗号処理部は、前記第１種データ及び前記第２種データ夫々に対し、前記ペイロードの暗号処理を行い、前記転送部は、前記メモリから読み出した前記第１種データ及び前記第２種データ夫々において、前記ペイロードを前記暗号処理部に入力し、当該暗号処理部から出力された暗号処理結果と前記ヘッダとを前記メモリに書き込むことで転送を行うものであり、前記差分量は、前記未転送データ内のペイロードのデータ量を前記暗号処理単位で除した剰余であり、前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、前記未転送データ内のペイロードのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断することとしてもよい。【００２０】
この構成により、転送部がデータのうちヘッダを除くペイロードのみを暗号処理部に入力するため、暗号処理部はヘッダとペイロードの切れ目を意識することなく暗号処理することができる。
また、上記データ転送装置において、前記第１種データは、夫々ペイロードのデータ量の異なる複数のデータフォーマットのうち１つのデータフォーマットを有するものであり、前記判断部は、前記第１種データのデータフォーマットに応じて、前記未転送データ内のペイロードのデータ量を決定することにより、前記判断を行うこととしてもよい。【００２１】
この構成により、データ転送装置は、第１種データのデータフォーマットに応じて、未転送データ内のペイロードのデータ量と条件情報とを比較することができる。
また、上記データ転送装置を、音声通話を行う機能と画像データを表示する機能とを有する携帯電話機に適用し、前記第１種データは、前記画像データであり、前記第２種データは、前記音声通話における音声データであり、前記条件情報記憶部は、前記画像データのデータ転送の途中で、前記音声データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記画像データに係る暗号処理方式に基づく条件情報を記憶し、前記判断部は、前記画像データのデータ転送の途中で前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断し、前記転送部は、転送指示と前記判断部での判断とに従って、前記画像データの転送途中にデータ転送対象の切換えを行うこととしてもよい。【００２２】
この構成により、携帯電話機において、データ転送装置が画像データを転送処理中に、リアルタイム性の要求される音声通話の音声データを転送するための転送指示が発生した場合、転送部による画像データの未転送データと条件情報に応じて、画像データの転送を継続するか音声データの転送に切り換えるかを決定する。データ転送装置は、音声通話における音声データのＱｏＳと画像データの転送処理の即応性とのバランスを調整することができる。【００２３】
さらに、上記携帯電話機は、前記音声データの転送指示を前記判断部に送出する転送指示部を備え、前記判断部は、前記画像データのデータ転送の途中で、前記転送指示部から前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断することとしてもよい。【００２４】
この構成により、携帯電話機からの転送指示に従って判断部が、転送対象の切り換えの要否を判断する。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施形態１に係る暗号処理装置１００の構成を示す機能ブロック図。
【図２】暗号処理装置１００が扱うデータの構造を示す図。
【図３】ＤＭＡＣ１０２の転送データの構造を示す図。
【図４】中断タイミング判定レジスタ１０１ａに格納されるテーブルを示す図。
【図５】暗号処理装置１００の動作を示す第１のフローチャート。
【図６】暗号処理装置１００の動作を示す第２のフローチャート。
【図７】暗号処理装置１００のステップＳ１０３の動作を示す図。
【図８】暗号処理装置１００のステップＳ１０４の動作を示す図。
【図９】従来の暗号処理装置１０００の構成を示す機能ブロック図。
【図１０】従来の暗号処理装置１０００の動作を示す図。
【符号の説明】
【００２６】
１０            携帯電話機
１１            ＣＰＵ
１２            蓄積部
１３            ＲＦ部
１４            メモリ
１５            ディスプレイ
１６            スピーカ
１７            バス
１００          暗号処理装置
１０１          中断タイミング判定回路
１０２          ＤＭＡＣ
１０３          暗号演算回路
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施形態について、図面を参照しながら説明する。
（１．構成）
以下、本発明のデータ転送装置の実施形態として具体化された暗号処理装置１００について説明する。
図１は、暗号処理装置１００の構成を示すブロック図である。【００２８】
暗号処理装置１００は、携帯電話機１０の構成要素として搭載された例である。
図１に示すように、暗号処理装置１００は、中断タイミング判定回路１０１、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１０２、及び暗号演算回路１０３を備える。
また、暗号処理装置１００は、バス１７を介して、携帯電話機１０の構成であるＣＰＵ（Central Processing Unit）１１、蓄積部１２、ＲＦ部１３、メモリ１４、ディスプレイ１５、及びスピーカ１６と接続されている。【００２９】
ＣＰＵ１１は、携帯電話機１０の各構成要素を制御する機能を有するプロセッサである。例えば、ＣＰＵ１１は、暗号処理装置１００のＤＭＡＣ１０２にデータの転送を指示する機能を有し、また、中断タイミング判定回路１０１に対し、メモリ１４内の転送すべきデータの暗号処理アルゴリズム及び暗号処理モードを指示する機能や、暗号処理装置１００にデータのフォーマットを通知する機能等を有する。暗号処理アルゴリズムとしては、例えば、Ｃ２やＡＥＳ（Advanced Encryption Standard）等がある。暗号処理モードとしては、例えば、ＥＣＢ（Electronic Code Book）モードやＣＢＣ（Cipher Block Chaining）モードやカウンタモード（Counter Mode）等がある。データのフォーマットとしては、ＧＩＦ（Graphics Interchange Format）やＪＰＥＧ（Joint Photographic Experts Group）等である。また、ＣＰＵ１１は、蓄積部１２に蓄積されているプログラムを実行する機能を有する。【００３０】
メモリ１４は、暗号化されたデータを記憶する作業用のメモリであり、具体的にはＲＡＭ（Random Access Memory）等で実現される。具体的には、ＣＰＵ１１からの指示により、暗号処理装置１００で暗号処理される、蓄積部１２に蓄積されている画像データや、ＲＦ部１３が処理する音声データがメモリ１４に一時的に記憶される。
蓄積部１２は、データを蓄積するものであり、具体的にはＨＤＤ（Hard Disk Drive）等で実現される。本実施形態では、蓄積部１２は、ディスプレイ１５に表示する表示メニューの画像データ、及びＣＰＵ１１に実行させるプログラムとして当該画像データをディスプレイ１５に表示させるための画像描画プログラムを蓄積しているものとする。【００３１】
ＲＦ部１３は、無線通信を実現するためにデータの変調、復調等の処理を行う機能を有する。本実施形態では、ＲＦ部１３は、音声通話時の音声データの処理を行うものとする。
ディスプレイ１５は、画像データを表示するためのものであり、具体的にはＬＣＤ（Liquid Crystal Display）等で実現される。【００３２】
スピーカ１６は声データを出力するためのものである。
バス１７は、ＣＰＵ１１、蓄積部１２、ＲＦ部１３、メモリ１４、ディスプレイ１５、スピーカ１６、及び暗号処理装置１００を互いに接続するための信号線である。
暗号処理装置１００において、ＤＭＡＣ１０２は、メモリ１４からデータを所定の固定長であるブロック単位で読み出して、読み出したデータのペイロードを暗号演算回路１０３へ入力するとともに、暗号演算回路１０３から暗号処理結果をヘッダとともにメモリ１４に書き込むことでデータ転送を行う機能を有する。ＤＭＡＣ１０２は、中断タイミング判定回路１０１からの指示に従ってメモリ１４から暗号演算回路１０３へ入力するデータを選択する。【００３３】
中断タイミング判定回路１０１は、ＤＭＡＣ１０２でデータの転送処理中に、より優先度の高いデータを転送処理するための指示がＣＰＵ１１から送られてきた場合、優先度の低いデータの転送処理の中断及び再開を制御する機能を有する。中断タイミング判定回路１０１は、中断タイミング判定レジスタ１０１ａ、転送状態参照部１０１ｂ、及び中断タイミング判定部１０１ｃを有する。【００３４】
中断タイミング判定レジスタ１０１ａは、中断タイミング判定部１０１ｃがＤＭＡＣ１０２の転送処理の中断を判定するためのテーブル（後述する）を記憶するものである。
転送状態参照部１０１ｂは、ＤＭＡＣ１０２がメモリ１４から読み出したブロックのうち何バイトを暗号演算回路１０３に入力完了したかを監視し、監視結果を中断タイミング判定部１０１ｃに送出する機能を有する。【００３５】
中断タイミング判定部１０１ｃは、中断タイミング判定レジスタ１０１ａに記憶されているテーブルと、転送状態参照部１０１ｂが監視結果（転送バイト数）とに基づき、ＤＭＡＣ１０２が転送対象を切り換えるか否かを判定する機能を有する。判定に応じて、ＤＭＡＣ１０２に対し、暗号演算回路１０３へのデータ転送対象の切り換えを指示する信号を送信する。【００３６】
暗号演算回路１０３は、ＤＭＡＣ１０２から入力されたペイロードを、所定の暗号処理単位で暗号処理し、暗号処理結果をＤＭＡＣ１０２に出力する機能を有する。
（２．データ）
（２−１．データ構造）
次に、暗号処理装置１００が暗号処理を行うデータの構造について説明する。【００３７】
図２は、データ構造を示す図である。
データは、ヘッダ及びペイロードから成るフレーム単位で構成されている。
ヘッダは、データのフォーマット、暗号処理アルゴリズム、暗号処理モード等の管理情報を含むもので、暗号演算回路１０３による暗号処理の対象ではない。
ペイロードは、データの実体であり、暗号演算回路１０３による暗号処理の対象である。【００３８】
実際のヘッダ及びペイロードのサイズは、ＪＰＥＧやＧＩＦといったデータの種別（フォーマット）に依る。例えば、フォーマットがＡＡＣ（Advanced Audio Code）の場合、ヘッダは固定長７バイトであり、ペイロードは可変長である。また、フォーマットがＭＰ３（MPEG-1 Audio Layer-3）の場合、ヘッダは固定長４バイトであり、ペイロードは可変長である。【００３９】
同図に、暗号演算回路１０３が暗号処理を行う単位である、所定の暗号処理単位を矢印で示す。この暗号処理単位は、暗号処理対象であるデータの暗号処理アルゴリズムに応じて決まる。例えば、暗号処理アルゴリズムがＣ２である場合、暗号処理単位は８バイトである。また、暗号処理アルゴリズムがＡＥＳである場合、暗号処理単位は１６バイトである。【００４０】
また、ＤＭＡＣ１０２がデータをメモリ１４から読み出す単位であるブロックは、複数のフレームから成る。なお、ブロックはフレームの整数倍になるとは限らず、フレームの途中でブロックの終端となる場合もある。
図３は、ＤＭＡＣ１０２の転送データの様子を示す。同図において、上段はＤＭＡＣ１０２がメモリ１４から読み出す１ブロック分のデータを示し、下段は、暗号演算回路１０３が１ブロック内のペイロードの暗号処理を行った後ＤＭＡＣ１０２が暗号処理結果とヘッダとをメモリ１４に書き込むデータを示している。また、同図において、左側はＤＭＡＣ１０２によるｎ番目のブロックの読み出しと当該ｎ番目のブロック読み出しに対するメモリ１４への書き込みを示しており、右側はＤＭＡＣ１０２による（ｎ＋１）番目のブロックの読み出しと当該（ｎ＋１）番目のブロック読み出しに対するメモリ１４への書き込みを示している。【００４１】
上段に示すように、ＤＭＡＣ１０２がメモリ１４からデータを読み出す場合、ＤＭＡＣ１０２はブロック単位で読み出す。まずｎ番目のブロックが読み出され、ブロック内のペイロードが暗号演算回路１０３に入力される。このとき、ブロック内のデータのペイロードのサイズが暗号演算回路１０３の暗号処理単位の整数倍でない場合、１ブロック内のペイロード中で暗号演算回路１０３が暗号処理しきれないペイロード（残存データ）が発生する。すなわち、下段の矢印で示すＲである。【００４２】
暗号演算回路１０３は、残存データＲは暗号処理単位に満たないことから暗号処理を行うことができないため、入力されたペイロードよりも少ないペイロードを暗号処理してＤＭＡＣ１０２に出力することになる。残存データＲは、暗号演算回路１０３で一時的に保持される。この結果、ＤＭＡＣ１０２は、読み出したデータよりも小さなデータをメモリ１４に書き込むことになる。【００４３】
続いて、ＤＭＡＣ１０２によりｎ番目のブロックに続く（ｎ＋１）番目のブロックの読み出しが行われる。このとき、暗号演算回路１０３は、入力された（ｎ＋１）番目のブロックのペイロードとともに一時保持していた残存データＲを暗号処理し、入力されたデータよりも大きなデータを暗号処理してＤＭＡＣ１０２に出力する。この結果、ＤＭＡＣ１０２は、読み出したデータよりも大きなデータをメモリ１４に書き込むことになる。【００４４】
このように、ブロック内のペイロードのサイズが暗号演算回路１０３の暗号処理単位の整数倍でない場合、ｎ回目の入力でのブロックの中で暗号演算回路１０３が暗号処理しきれず、（ｎ＋１）回目の入力を待たなければ暗号処理できない残存データＲが発生する。
残存データＲのデータ量は、以下のように、データの暗号処理アルゴリズム、データにおける暗号演算回路１０３の暗号処理単位、及びブロック内のペイロードデータ量に基づいて設定する。【００４５】
例えば、データの暗号処理アルゴリズムがＡＥＳである場合、暗号演算回路１０３の暗号処理単位は１６バイトである。
また、当該データについて、ブロック内のペイロードのデータ量を３０００バイトとする。なお、ブロック内のペイロードのデータ量は、データのフォーマットによって決まる。【００４６】
ここで、ペイロードのデータ量（３０００バイト）を暗号演算回路１０３の暗号処理単位（１６バイト）で除すると、剰余が８バイトとなり、残存データＲは８バイトとなる。
（２−２．テーブル）
次に、中断タイミング判定レジスタ１０１ａに記憶されるテーブル２００について説明する。【００４７】
図４は、テーブル２００のデータ構造を示す。
テーブル２００は、画像データについて作成されるものであり、データ種別２０１、判定要否２０２、未転送データ閾値２０３、及び残存データ閾値２０４の項目を含む。
データ種別２０１は、ＤＭＡＣ１０２が暗号演算回路１０３に入力する画像データの種別を、異なる番号で示している。ここで、種別とは、暗号アルゴリズム及びデータフォーマットの少なくとも一方を指す。例えば、ＪＰＥＧ形式で使用する暗号処理アルゴリズムがＡＥＳである画像データを１番で示し、ＧＩＦ形式で暗号処理アルゴリズムがＣ２である画像データを２番で示すといった具合である。ここでは、例として１６種の異なる画像データを示している。【００４８】
判定要否２０２は、データ種別２０１で示す種別の各画像データについて、ＤＭＡＣ１０２が当該画像データの転送処理中に音声データの転送指示をＣＰＵ１１から受けた場合に、当該画像データの転送処理を中断して音声データの転送をＤＭＡＣ１０２に開始させるか否かの判定の要否を示している。例えば、データ種別２０１に１番で示される種別の画像データは判定が必要であり、２番で示される画像データは判定が不要である。【００４９】
判定が不要な画像データについては、ＤＭＡＣ１０２による当該画像データの転送処理がすぐに中断される。判定が必要な画像データについては、中断の要否が判定され、必要な場合はＤＭＡＣ１０２によって当該画像データの転送処理が中断される。
「否」は、例えば、極めて優先度の低いデータや、メニュー画面の更新等のリアルタイム性が求められるもの以外の画像データ等、暗号演算回路１０３での暗号処理の遅延があっても影響の小さいデータに設定すればよい。【００５０】
一方、「要」は、例えば、メニュー画面の更新等のリアルタイム性が求められる画像データに設定すればよい。
未入力データ閾値２０３は、データ種別２０１で示される種別の画像データのうち判定要否２０２で判定が必要であることが示されている画像データについて、ＤＭＡＣ１０２が当該画像データの転送処理中に音声データの転送指示を受けた場合に、当該画像データの転送処理を中断して音声データの転送をＤＭＡＣ１０２に開始させるか否かを決定する閾値を示す。具体的には、１のブロック内のペイロードのバイト数から、転送状態参照部１０１ｂで監視していたＤＭＡＣ１０２の入力バイト数を引いた、未入力データのバイト数の閾値である。中断タイミング判定部１０１ｃは、未入力データのバイト数が未入力データ閾値２０３以下であれば未入力データの入力を中断せず、未入力データのバイト数が未入力データ閾値２０３より大きければ未入力データの入力を中断するよう、ＤＭＡＣ１０２に指示する。【００５１】
残存データ閾値２０４は、未入力データ閾値２０３とともに、ＤＭＡＣ１０２が当該画像データの転送処理中に音声データの転送指示を受けた場合に画像データの転送処理を中断して音声データの転送をＤＭＡＣ１０２に開始させるか否かを決定する閾値である。具体的には、ブロック内のペイロードのサイズが暗号演算回路１０３の暗号処理単位の整数倍でない場合の、残存データＲのバイト数である。中断タイミング判定部１０１ｃは、残存データＲのバイト数が残存データ閾値２０４未満であれば未入力データの入力を中断せず、残存データＲのバイト数が残存データ閾値２０４以上であれば未入力データの入力を中断するよう、ＤＭＡＣ１０２に指示する。【００５２】
テーブル２００は、携帯電話機１０の開発者等のユーザによって作成され予め中断タイミング判定レジスタ１０１ａに記憶される。
未入力データ閾値２０３及び残存データ閾値２０４は、ＲＦ部１３で処理される音声データのＱｏＳに応じて、ユーザが設定すればよい。
（２−３．未入力データ閾値２０３）
未入力データ閾値２０３は、音声データのＱｏＳと、画像データの暗号処理アルゴリズムと、ブロックのデータ量とに基づいて決定される。【００５３】
すなわち、例えば、音声データは所定の通話品質を確保するために、ＣＰＵ１１が中断タイミング判定回路１０１に転送指示後ＤＭＡＣ１０２は音声データの転送処理を１秒（１０００ｍｓ）以内に開始する必要があるとする。
また、ＤＭＡＣ１０２のブロック単位が３２００バイトとする。
このとき、ユーザは以下のように判断して未入力データ閾値２０３を設定する。【００５４】
例えば、データ種別２０１で１番の画像データについて、当該画像データの暗号処理アルゴリズムがＡＥＳである場合、暗号処理単位は１６バイトである。暗号演算回路１０３で１番の画像データを暗号処理したとき、１暗号処理単位である１６バイトを暗号処理するのに要する時間が仮に３００ｍｓであったとする。また、ＤＭＡＣ１０２が１ブロック分（３２００バイト）メモリ１４からの読み出し及びメモリ１４への書き込みに要する時間が仮に３２０ｍｓであったとする（１バイト当たり０．１ｍｓ）。このような場合、未入力データ閾値２０３は３２バイトとすればよい。すなわち、３２バイトであれば暗号演算回路１０３の暗号処理と、ＤＭＡＣ１０２による未入力データの入力とメモリ１４への書き込みとに要する時間の合計が９２３．２ｍｓとなる。これにより、３２バイト未満であれば、ＤＭＡＣ１０２が見入力データを暗号演算回路１０３に入力して、暗号処理結果をメモリ１４に書き込みを完了しても、１０００ｍｓ以内に音声データの転送を開始することができるため、音声データのＱｏＳに影響はないと判断できる。【００５５】
同様に、例えば、データ種別２０１で４番の画像データについて、当該画像データの暗号処理アルゴリズムがＣ２である場合、暗号処理単位は８バイトである。暗号演算回路１０３で２番の画像データを暗号処理したとき、１暗号処理単位である８バイトを暗号処理するのに要する時間が仮に１００ｍｓであったする。また、ＤＭＡＣ１０２が１ブロック分（３２００バイト）メモリ１４からの読み出し及びメモリ１４への書き込みに要する時間が仮に１６０ｍｓであったとする（１バイト当たり０．０５ｍｓ）。この場合、未入力データ閾値２０３は６４バイトとすればよい。すなわち、６４バイトであれば暗号演算回路１０３の暗号処理と、ＤＭＡＣ１０２による未入力データの入力とメモリ１４への書き込みとに要する時間の合計が９６３．２ｍｓとなる。これにより、６４バイト未満であれば、ＤＭＡＣ１０２が未入力データを暗号演算回路１０３に入力して、暗号処理結果をメモリ１４に書き込みを完了しても、１０００ｍｓ以内に音声データの転送を開始することができるため、音声データのＱｏＳに影響はないと判断できる。
（２−４．残存データ閾値２０４）
残存データ閾値２０４は、携帯電話機１０の蓄積部１２に蓄積している画像描画プログラムの使用によって決定される。【００５６】
すなわち、画像描画プログラムは、転送部１０２がメモリ１４に書き込んだ暗号演算回路１０３の暗号処理結果を利用するため、通常、転送部１０２の読み出し及び書き込み単位であるブロック単位で画像描画処理を実行するよう設計されているが、所定のデータ量が欠落していても画像描画が行えるよう、欠落データの許容量が設定されている。
例えば、画像描画プログラムが、データ種別２０１で１番のデータについて、欠落データを４バイトまで許容できる場合、残存データ閾値を４バイトに設定する。【００５７】
また、データ種別２０１で３番のデータについて、欠落データが１バイトも許容できない場合は、残存データ閾値を０バイトに設定する。
以上のようにして、テーブル２００が設定され、中断タイミング判定レジスタ１０１ａに記憶しておく。
（３．動作）
次に、暗号処理装置１００の動作について説明する。【００５８】
図５及び６は、暗号処理装置１００の動作を示すフローチャートであり、暗号処理装置１００が画像データを暗号処理中に音声データの暗号処理のための転送指示をＣＰＵ１１から受けたときの動作を示している。なお、ここでは、画像データは、ディスプレイ１５上のメニュー画面を表示するための画像データであり、音声データは、音声通話に係る音声データであるものとする。【００５９】
暗号処理装置１００が画像データを暗号処理中、ＲＦ部１３が音声通話に係る音声データを受信すると、ＣＰＵ１１がこれを検知して中断タイミング判定回路１０１に、音声データの転送指示を送る。
中断タイミング判定部１０１ｃは、ＣＰＵ１１から音声データの転送指示を受けると、中断タイミング判定レジスタ１０１ａに記憶されているテーブル２００を参照し、ＤＭＡＣ１０２が暗号演算回路１０３に転送中の画像データの種別を参照する（ステップＳ１００）。ここでは、中断タイミング判定レジスタ１０１ａは、ＣＰＵ１１から通知される画像データの暗号処理アルゴリズム及びデータフォーマットに基づき、当該画像データがデータ種別２０１が示す種別のいずれかであるかを判断する。【００６０】
中断タイミング判定部１０１ｃは、テーブル２００の判定要否２０２を参照し、画像データの判定要否を確認する（ステップＳ１０１）。
判定が不要であれば（ステップＳ１０１：ＮＯ）、中断タイミング判定部１０１ｃはすぐさま画像データの転送処理を中断して転送対象を音声データに切り換えるよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０２）。指示を受けたＤＭＡＣ１０２は、画像データの転送を中断し、音声データの転送を開始する。暗号演算回路１０３は、ＤＭＡＣ１０２から入力された音声データの復号処理を開始する。なお、ＤＭＡＣ１０２は、画像データの転送を中断する際、画像データの転送を再開する際に読み出しを開始するデータの、メモリ１４におけるアドレスを保持しておく。【００６１】
一方、判定が必要であれば（ステップＳ１０１：ＹＥＳ）、中断タイミング判定部１０１ｃは、転送状態参照部１０１ｂが監視したＤＭＡＣ１０２の入力データ量と、ブロック単位とに基づいて未入力データ量を算出し、算出した未入力データ量とテーブル２００の未入力データ閾値２０３とを比較する（ステップＳ１０３）。
未入力データ量が、未入力データ閾値２０３が示すバイト数より大きい場合（ステップＳ１０３：閾値より大きい）、中断タイミング判定部１０１ｃはすぐさま画像データの転送処理を中断して転送対象を音声データに切り換えるよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０２）。指示を受けたＤＭＡＣ１０２は、画像データの転送を中断し、音声データの転送を開始する。暗号演算回路１０３は、ＤＭＡＣ１０２から入力された音声データの復号処理を開始する。なお、ＤＭＡＣ１０２は、画像データの転送を中断する際、画像データの転送を再開する際に読み出しを開始するデータの、メモリ１４におけるアドレスを保持しておく。【００６２】
一方、未入力データ量が、未入力データ閾値２０３が示すバイト数以下であった場合（ステップＳ１０３：閾値以下）、中断タイミング判定部１０１ｃは、さらにテーブル２００の残存データ閾値２０４と、ブロック内のペイロードのデータ量を復号単位で除したときの剰余に相当する残存データＲのデータ量とを比較する（ステップＳ１０４）。
残存データＲのデータ量が、残存データ閾値２０４が示すバイト数より大きい場合（ステップＳ１０４：閾値より大きい）、中断タイミング判定部１０１ｃはすぐさま画像データの転送処理を中断して転送対象を音声データに切り換えるよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０２）。指示を受けたＤＭＡＣ１０２は、画像データの転送を中断し、音声データの転送を開始する。暗号演算回路１０３は、ＤＭＡＣ１０２から入力された音声データの復号処理を開始する。なお、ＤＭＡＣ１０２は、画像データの転送を中断する際、画像データの転送を再開する際に読み出しを開始するデータの、メモリ１４におけるアドレスを保持しておく。【００６３】
一方、残存データＲのデータ量が、残存データ閾値２０４が示すバイト数以下であった場合（ステップＳ１０４：閾値以下）、中断タイミング判定部１０１ｃは、ＤＭＡＣ１０２が実行中のブロックの転送を中断することなく、当該ブロックの終端まで転送を完了するようＤＭＡＣ１０２に対して指示する（ステップＳ１０５）。指示を受けたＤＭＡＣ１０２は、画像データの転送を継続してブロックの終端まで転送を完了させ、完了したら次回転送するブロックのメモリ１４における開始アドレスを保持しておく。【００６４】
なお、中断タイミング判定部１０１ｃは、ステップＳ１０５では１のブロックの終端でＤＭＡＣ１０２の転送を中断するため、当該１のブロックに続いて読み出す必要のあるブロックがまだメモリ１４にある場合にのみ、このブロックのメモリ１４における開始アドレスを保持しておけばよい。当該１のブロックに続くブロックがメモリ１４にない場合、すなわち、例えば、ＣＰＵ１１から転送指示のあった画像データについて当該１のブロックが最終ブロックである場合は、中断タイミング判定部１０１ｃは開始アドレスを保持する必要はない。【００６５】
ＤＭＡＣ１０２が音声データの転送処理が完了すると（ステップＳ１０７：ＹＥＳ）、中断タイミング判定部１０１ｃは、ステップＳ１０２又はＳ１０５で中断していた画像データの転送処理を再開するよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０８）。
ステップＳ１０８においては、ステップＳ１０２で画像データの転送をＤＭＡＣ１０２が中断していた場合、中断タイミング判定部１０１ｃは、ステップＳ１０２で一時保持しておいたアドレスから画像データの転送を再開するようＤＭＡＣ１０２に指示する。指示を受けたＤＭＡＣ１０２は、ステップＳ１０２で保持しておいたメモリ１４内のアドレスからデータの読み出しを開始する。【００６６】
また、ステップＳ１０５で画像データの転送をＤＭＡＣ１０２が中断していた場合、中断タイミング判定部１０１ｃは、ステップＳ１０５で一時保持しておいたアドレスがある場合は、当該アドレスから始まるブロックの転送を再開するようＤＭＡＣ１０２に指示する。指示を受けたＤＭＡＣ１０２は、ステップＳ１０５で保持しておいたメモリ１４内のブロックの開始アドレスからデータの読み出しを開始する。【００６７】
図７は、暗号処理装置１００がステップＳ１０２を経て画像データの転送を中断した場合の動作を示す図である。
図７は、画像データの２つのブロック（ｖ１〜ｖ２）のうちＤＭＡＣ１０２が２つ目のブロック（ｖ２）を転送中に、音声データの１つのブロック（ａ１）の転送指示を受けた場合について示している。【００６８】
ＤＭＡＣ１０２は２つ目のブロック（ｖ２）の転送を途中（ｖ２（１））で中断し、音声データのブロック（ａ１）の転送を開始する。ここで、ディスプレイ１５上のメニュー画面の表示の更新が中断される。音声データのブロック（ａ１）は所定時間（１０００ｍｓ）内にＤＭＡＣ１０２により転送され、音声データに係る音声信号がスピーカ１６から再生される。その後、中断されていた２つ目のブロックの残りのデータ（ｖ２（２））の転送処理が再開し、メニュー画面の表示の更新が再開する。【００６９】
図８は、暗号処理装置１００がステップＳ１０５を経て画像データの転送を中断した場合の動作を示す図である。
図８は、画像データの２つのブロック（ｖ１〜ｖ２）のうちＤＭＡＣ１０２が２つ目のブロック（ｖ２）を転送中に音声データの１つのブロック（ａ１）の転送指示を受けた場合について示している。【００７０】
ＤＭＡＣ１０２は２つ目のブロック（ｖ２）の転送を完了してから、音声データのブロック（ａ１）の転送を開始する。したがって、ディスプレイ１５上のメニュー画面の表示の更新は中断されず行われる。音声データのブロック（ａ１）は所定時間（１０００ｍｓ）内にＤＭＡＣ１０２により転送される。音声データに係る音声信号はスピーカ１６から発音される。【００７１】
以上のように動作することで、暗号処理装置１００は、画像データのブロックの未入力データ量が、音声データのブロックの転送処理開始に影響を及ぼさない程度であって、かつ、仮に未入力データをＤＭＡＣ１０２が暗号演算回路１０３に入力したとしても出力されない暗号処理結果のデータ量（未入力データ量をブロック単位で除した剰余）が残存データ閾値２０４以下である場合には、現在転送中の画像データのブロックの転送を完了させる。【００７２】
こうすることで、ＤＭＡＣ１０２は、音声データのブロックを転送開始しなければならない１０００ｍｓ以内に画像データのブロックの終端まで転送できるならしてしまい、画像描画プログラムは、画像データのブロックの暗号処理結果を用いてメニュー画面の更新を遅延なく行うことができる。
一方、ＤＭＡＣ１０２は、音声データのブロックを転送開始しなければならない１０００ｍｓ以内に画像データのブロックの終端まで転送できない場合、又は、できたとしても画像描画プログラムが当該ブロック分の暗号処理結果を用いてメニュー画面の更新を行うことができないのであれば、音声データのＱｏＳを最優先することができる。【００７３】
このように、暗号処理装置１００は、音声データのＱｏＳと画像データの転送処理の即応性とのバランスを保つことができる。
（補足）
以上、実施形態に基づき本発明の暗号処理装置１００について説明してきたが、暗号処理装置の構成には種々の変形を加えることができることは言うまでもない。
（１）実施形態では、暗号処理装置１００は、テーブル２００の未入力データ閾値２０３と残存データ閾値２０５の両方に基づいてＤＭＡＣ１０２の転送対象を切り換える例を示したが、これに限定されるものではなく、いずれか一方の閾値に基づいて切り換えるようにしてもよい。【００７４】
すなわち、未入力データ閾値２０３に基づいて切り換えを行う場合は、暗号処理装置１００は、ＤＭＡＣ１０２が画像データのブロックを転送途中で音声データのブロックの転送指示を受けると、ＤＭＡＣ１０２の未入力データ量と未入力データ閾値２０３とを比較し（ステップＳ１０３）、未入力データ量が未入力データ閾値２０３以下であれば（ステップＳ１０３：閾値以下）、画像データのブロックの転送を完了（ブロックの終端まで転送）するようＤＭＡＣ１０２に指示する（ステップＳ１０５）ようにすればよい。【００７５】
残存データ閾値２０４に基づいて切り換えを行う場合は、暗号処理装置１００は、ＤＭＡＣ１０２が画像データのブロックを転送途中で音声データのブロックの転送指示を受けると、ＤＭＡＣ１０２の未入力データを暗号演算回路１０３の暗号処理単位で除した剰余と残存データ閾値２０４とを比較し（ステップＳ１０４）、剰余が残存データ閾値２０４以下であれば（ステップＳ１０４：閾値以下）、画像データのブロックの転送を完了（ブロックの終端まで転送）するようＤＭＡＣ１０２に指示する（ステップＳ１０５）すればよい。
（２）実施形態では、暗号処理装置１００は、携帯電話機１０内の蓄積部１２に保持されメモリ１４にロードされた画像データを暗号処理する例を示したが、これに限定されるものではない。例えば、暗号処理装置１００は、ＳＤメモリカード（Secure Digital memory card）等の外部媒体に保持されていてメモリ１４にロードされた画像データを暗号処理するようにしてもよい。
（３）実施形態では、携帯電話機１０に暗号処理装置１００を搭載する例を示したが、これに限定されるものではない。暗号処理装置１００は、デジタル放送受信機やＨＤＤ（Hard Disk Drive）デコーダ等、データの暗号処理を行う機能を有する機器に広く搭載可能である。
（４）実施形態では、暗号処理装置１００は、第１種データとして画像データを、第２種データとして音声データを暗号処理する例を示したが、これに限定されるものではない。１のデータと、１のデータの暗号処理中に割り込みによって暗号処理する機会が発生するデータとがそれぞれ、第１種データと第２種データとに相当する。例えば、第１種データを第１の暗号処理アルゴリズムで暗号化されたデータとし、第２種データを、第１の暗号処理アルゴリズムとは異なる第２の暗号処理アルゴリズムで暗号化されたデータとしてもよい。
（５）実施形態では、暗号処理装置は１００は、ＤＭＡＣ１０２の転送単位であるブロックのサイズを３２００バイトである例を挙げて説明したが、これに限定されるものではなく、ＤＭＡＣ１０２の仕様に依り様々な値を取りうる。
（６）実施形態では、携帯電話機１０において、第２種データの転送指示を中断タイミング回路１０１に送出後にＤＭＡＣ１０２が転送処理を開始する必要のある制限時間を１０００ｍｓである例を挙げて説明したが、これに限定されるものではなく、携帯電話機１０の仕様、又は携帯電話機１０が属する移動体通信サービス提供業者（キャリア）等の仕様に依り様々な値を取り得る。
（７）暗号処理装置１００は、中断タイミング判定レジスタ１０１、ＤＭＡＣ１０２、及び暗号演算回路１０３を統合してワンチップ化して暗号処理回路としてもよい。暗号処理回路は、集積度に応じてＩＣ（Integrated Circuit）、ＬＳＩ（Large Scale Integration）、ＶＬＳＩ（Very Large Scale Integration）、ＵＬＳＩ（Ultra-Large Scale Integration）等と呼ばれる。
【産業上の利用可能性】
【００７６】
本発明のデータ転送装置は、データをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込む機構を有する機器に広く適用可能であり、優先度の高いデータのＱｏＳと優先度の低いデータの暗号処理の即応性とのバランスを保つことのできる点で有用である。
【図１】
2008035616.tif 000003
【図２】
2008035616.tif 000004
【図３】
2008035616.tif 000005
【図４】
2008035616.tif 000006
【図５】
2008035616.tif 000007
【図６】
2008035616.tif 000008
【図７】
2008035616.tif 000009
【図８】
2008035616.tif 000010
【図９】
2008035616.tif 000011
【図１０】
2008035616.tif 000012
【手続補正書】
【提出日】平成21年1月16日(2009.1.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１種データ又は第２種データの転送指示を受けて、いずれか一種のデータを逐次選択して、当該一種のデータをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置であって、
入力されたデータに対して暗号処理を施して出力する暗号処理部と、
前記メモリと前記暗号処理部との間でのデータ転送を行う転送部と、
前記第１種データのデータ転送の途中で、前記第２種データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記第１種データに係る暗号処理方式に基づく条件情報を記憶する条件情報記憶部と、
前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記第１種データの転送途中でデータ転送対象の切換えを行うか否かを判断する判断部とを備え、
前記転送部は、転送指示と前記判断部での判断とに従って、データ転送対象の切換えを行う
ことを特徴とするデータ転送装置。
【請求項２】
前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、
前記条件情報記憶部は、（ａ）前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量についての第１閾値と、（ｂ）前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての第２閾値とを、前記条件情報として記憶し、
（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値より大きい、及び／又は、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切り換えると判断し、
前記判断部は、（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値以下であり、かつ、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値以下である場合、前記第１種データの転送を完了してから転送対象を前記第２種データに切り換えると判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記条件情報記憶部は、前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量を、前記条件情報として記憶し、
前記所定時間は、当該第２種データの転送指示を受けてから前記転送部が前記第１種データの転送を完了するまでの許容時間であり、
前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項４】
前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、
前記転送部は、前記メモリから前記一種のデータを読み出して、当該データの一部又は全部を前記暗号処理部に入力し、当該暗号処理部から出力される暗号処理結果を前記メモリに書き込むことで転送を行うものであり、
前記条件情報記憶部は、前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての閾値を、前記条件情報として記憶し、
前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量を前記暗号処理単位で除した剰余が、前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断する
ことを特徴とする請求項１記載のデータ転送装置。
【請求項５】
前記第１種データ及び前記第２種データ夫々は、一組のヘッダ及びペイロードから成るフレームを少なくとも１つ含んで成るデータであり、
前記暗号処理部は、前記第１種データ及び前記第２種データ夫々に対し、前記ペイロードの暗号処理を行い、
前記転送部は、前記メモリから読み出した前記第１種データ及び前記第２種データ夫々において、前記ペイロードを前記暗号処理部に入力し、当該暗号処理部から出力された暗号処理結果と前記ヘッダとを前記メモリに書き込むことで転送を行うものであり、
前記差分量は、前記未転送データ内のペイロードのデータ量を前記暗号処理単位で除した剰余であり、
前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、前記未転送データ内のペイロードのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断する
ことを特徴とする請求項２記載のデータ転送装置。
【請求項６】
前記第１種データは、夫々ペイロードのデータ量の異なる複数のデータフォーマットのうち１つのデータフォーマットを有するものであり、
前記判断部は、前記第１種データのデータフォーマットに応じて、前記未転送データ内のペイロードのデータ量を決定することにより、前記判断を行う
ことを特徴とする請求項５記載のデータ転送装置。
【請求項７】
請求項１記載のデータ転送装置を備え、音声通話を行う機能と画像データを表示する機能とを有する携帯電話機であって、
前記第１種データは、前記画像データであり、
前記第２種データは、前記音声通話における音声データであり、
前記条件情報記憶部は、前記画像データのデータ転送の途中で、前記音声データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記画像データに係る暗号処理方式に基づく条件情報を記憶し、
前記判断部は、前記画像データのデータ転送の途中で前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断し、
前記転送部は、転送指示と前記判断部での判断とに従って、前記画像データの転送途中にデータ転送対象の切換えを行う
ことを特徴とする携帯電話機。
【請求項８】
前記音声データの転送指示を前記判断部に送出する転送指示部を備え、
前記判断部は、前記画像データのデータ転送の途中で、前記転送指示部から前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断する
ことを特徴とする請求項７記載の携帯電話機。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置に関する。
【背景技術】
【０００２】
近年、記憶媒体に格納するコンテンツのデータや、ネットワークを介して送受信されるデータ等に、暗号化技術が用いられている。
このような暗号化技術を用いたデータを扱う機器では、データを読み出し、読み出したデータに暗号処理を施してから再びメモリに書き込むデータ転送装置が組み込まれている。ここで、データ転送とは、データを読み出し、読み出したデータに暗号処理を施してから再びメモリに書き込む一連の動作を指す。また、暗号処理とは、データの暗号化や、暗号化されたデータの復号を指す。
【０００３】
例えば、携帯電話機等の通信機器においては、機器内の記憶媒体に格納する画像や音楽等の、著作権を持つデータが暗号化されているため、これらのデータを再生するには、データをいったん暗号処理する必要がある。このため、機器内のデータ転送装置がいったん媒体から読み出した暗号化データに暗号処理（復号）を施し、暗号処理結果をメモリに書き込む。
【０００４】
また、音声通話に係る音声データも暗号化されていれば、音声通話の処理を行う際に、データ転送装置が音声データをいったん読み出して暗号処理を施し、暗号処理結果をメモリに書き込む。
ところで、このような通信機器の中で、複数の処理を並行して実行する、いわゆるマルチタスク機能を備えたものがある。
【０００５】
マルチタスク機能を用いることで、例えば、記憶媒体に格納された画像データを再生しながら、並行して通話を行えるのである。
この場合、データ転送装置が異なるデータを同時に暗号処理できないのであれば、画像データの転送処理と音声データの転送処理とを切り換えて行う必要がある、通話は厳格なリアルタイム性が求められることから、一定の通信速度を保証するＱｏＳ（Qualityof Service）を実現するために、画像データの転送処理に割り込んで音声データの転送処理を行う必要性が出てくることがある。
【０００６】
このように異なる種類のデータを転送処理する際、暗号アルゴリズムや暗号処理モードの種類に応じて、優先度の低いデータの転送処理を中断して優先度の高いデータの転送処理を行うことのできる暗号処理装置が提案されている（特許文献１を参照）。
図９は、特許文献１に記載された暗号処理装置の機能ブロック図である。
この暗号処理装置１０００は、ＣＰＵ１００１の指示に従い、ＤＭＡＣ１００４が、データ格納メモリ１００２に格納されたデータを読み出してセレクタ１００５を介して共通鍵暗号ブロック１００７又はハッシュブロック１００８に入力するとともに、共通鍵暗号ブロック１００７又はハッシュブロック１００８での処理結果をセレクタ１０１０を介してデータ格納メモリ１００２に書き込む構成となっている。暗号処理装置１０００において、共通鍵暗号ブロック１００７又はハッシュブロック１００８で優先度の低いデータの処理中に、処理を中断するとともに処理途中の結果をＩＶレジスタ１００６又はＩＶレジスタ１００９に保持しておくことで、優先度の高いデータを先に処理した後、優先度の低いデータの処理を再開できるようになっている。
【特許文献１】特開２００６−３９０００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上に示したような従来の暗号処理装置は、優先度の低いデータの転送中に、優先度の高いデータを転送する必要性が発生すると、優先度の低いデータの転送処理は中断されてしまう。
図１０は、例えば携帯電話機に応用した場合の暗号処理装置の動作を示す図であり、暗号処理装置が画像データと音声データを転送処理する様子を示している。
【０００８】
暗号処理装置において、画像データ、音声データともに、ＤＭＡＣ１００３はブロック単位で読み出して共通鍵暗号ブロック１００２に逐次入力し、共通鍵暗号ブロック１００２は入力されたデータを逐次暗号処理して出力していく。ここでは、画像データとして２つのブロック（Ｖ１〜Ｖ２）を、音声データとして１つのブロック（Ａ１）を示す。
暗号処理装置が、優先度の低い画像データ（例えば、画面のメニュー更新に用いられる画像データ）のうち、２つめのブロック（Ｖ２）を転送処理中に、よりＱｏＳが求められ優先度の高い音声データのブロック（Ａ１）（例えば、音声通話でやり取りされる音声データ）を転送処理する必要性が発生した場合、画像データのブロック（Ｖ２）の転送が中断されて音声データのブロック（Ａ１）の転送が開始される。これにより、同図に示すように、ブロック（Ｖ２）は途中（Ｖ２（１））まで転送処理され、残り（Ｖ２（２））の転送処理は音声データのブロック（Ａ１）の転送処理が完了した後に再開される。
【０００９】
このように動作するため、画像データの転送処理が、音声データの転送処理の影響を受けて中断されてしまう。このため、画像データの転送処理が遅延し、この結果、画面のメニュー更新の遅延が発生する恐れがある。メニュー更新の遅延が発生すると、ユーザからぎこちなくメニューが動いているように見える恐れがある。
そこで、本発明は、データをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置において、優先度の高いデータのＱｏＳと優先度の低いデータの転送処理の即応性とのバランスを保つことのできるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のデータ転送装置は、第１種データ又は第２種データの転送指示を受けて、いずれか一種のデータを逐次選択して、当該一種のデータをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込むデータ転送装置であって、入力されたデータに対して暗号処理を施して出力する暗号処理部と、前記メモリと前記暗号処理部との間でのデータ転送を行う転送部と、前記第１種データのデータ転送の途中で、前記第２種データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記第１種データに係る暗号処理方式に基づく条件情報を記憶する条件情報記憶部と、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記第１種データの転送途中でデータ転送対象の切換えを行うか否かを判断する判断部とを備え、前記転送部は、転送指示と前記判断部での判断とに従って、データ転送対象の切換えを行うことを特徴とする。
【００１１】
ここで、転送部が行うデータ転送とは、メモリから一種のデータを読み出して暗号処理部に入力し、当該暗号処理部から出力される暗号処理結果をメモリに書き込む一連の動作を指す。
【発明の効果】
【００１２】
上記の構成により、本発明のデータ転送装置は、第１種データのデータ転送中に第２種データを転送する必要が生じた場合、転送部による第１種データの未転送データと条件情報とに応じて、第１種データの転送を継続するか第２種データの転送に切り換えるか否かを決定する。データ転送装置によれば、ユーザは条件情報を設定することで、例えば、未転送データが第２種データの転送開始に影響を及ぼす程度あれば第１種データの転送を途中で中断して第２種データの転送を開始させることや、未転送データが第２種データの転送開始に影響を及ぼさない程度であれば現在転送中の第１種データまで転送を完了させるように、転送部での転送を調整することができる。これにより、データ転送装置は、第２種データのＱｏＳと第１種データの転送処理の即応性とのバランスを調整することができる。優先度の低いデータを第１種データとし、優先度の高いデータを第２種データとすれば、優先度の異なるデータを転送処理する際、優先度の高いデータのＱｏＳと優先度の低いデータの転送処理の即応性とのバランスを保つことができる。
【００１３】
また、上記データ転送装置において、前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、前記条件情報記憶部は、（ａ）前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量についての第１閾値と、（ｂ）前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての第２閾値とを、前記条件情報として記憶し、（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値より大きい、及び／又は、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切り換えると判断し、前記判断部は、（ａ）前記第１種データの転送中の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が、前記第１閾値以下であり、かつ、（ｂ）前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記第２閾値以下である場合、前記第１種データの転送を完了してから転送対象を前記第２種データに切り換えると判断することとしてもよい。
【００１４】
この構成により、データ転送装置は、第１種データの暗号処理アルゴリズムに応じて、第２種データの転送処理開始に影響を及ぼさない程度であって、かつ、仮に未転送データを転送部が暗号処理部に入力したとしても出力されない暗号処理結果のデータ量（未転送データ量を暗号処理単位で除した剰余）が閾値以下である場合には、現在転送中の第１種データの転送を完了させることができる。
例えば、暗号処理部が所定の処理単位で暗号処理を行う場合、未転送データが当該処理単位の整数倍でなければ、暗号処理部が転送部から入力される第１種データ量に対して出力する暗号処理結果のデータ量が小さくなるため、暗号処理部の入力データに差分が生じる。この差分が大きければ、転送部がメモリに書き込む暗号処理結果を利用する上位のプログラムが、暗号処理結果を利用できないことがある。例えば、画像データの場合、暗号結果を用いて画像を描画するプログラムが、暗号処理結果に欠損データがあることから画像を描画できないことがある。このように、転送中の第１種データについて未転送データを暗号処理部に入力しても暗号処理結果が活かされないような上記差分値を閾値として条件情報に設定しておけば、データ転送装置はこの閾値に基づいて第１種データと第２種データの転送を切り換えることができる。
【００１５】
また、上記データ転送装置において、前記条件情報記憶部は、前記転送部が前記第１種データの暗号処理アルゴリズムに応じて所定時間以内に転送する前記第１種データのデータ量を、前記条件情報として記憶し、前記所定時間は、当該第２種データの転送指示を受けてから前記転送部が前記第１種データの転送を完了するまでの許容時間であり、前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断することとしてもよい。
【００１６】
この構成により、データ転送装置は、第１種データの暗号処理アルゴリズムに応じて、第２種データの転送処理開始に影響を及ぼさない程度であれば現在転送中の第１種データの転送を完了させることができる。一方、未転送データが第２種データの転送開始に影響を及ぼす程度あれば第１種データの転送を中断して第２種データの転送を開始することができる。
【００１７】
また、上記データ転送装置において、前記暗号処理部は、所定の暗号処理単位で暗号処理を行い、前記転送部は、前記メモリから前記一種のデータを読み出して、当該データの一部又は全部を前記暗号処理部に入力し、当該暗号処理部から出力される暗号処理結果を前記メモリに書き込むことで転送を行うものであり、前記条件情報記憶部は、前記未転送データのデータ量と、前記転送部が前記未転送データを前記暗号処理部に入力する場合に当該未転送データにおいて前記暗号処理部が暗号処理して出力するデータ量との差分量についての閾値を、前記条件情報として記憶し、前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、当該第１種データのうち未だ転送できていない未転送データのデータ量を前記暗号処理単位で除した剰余が、前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断し、前記未転送データのデータ量を前記暗号処理単位で除した剰余が前記条件情報以下である場合、前記第１種データの転送を完了してからデータ転送対象を前記第２種データに切り換えると判断することとしてもよい。
【００１８】
この構成により、データ転送装置は、第１種データにおける未転送データのデータ量と暗号処理単位とにより、仮に未転送データを転送部が暗号処理部に入力したとしても暗号処理部から出力されない暗号処理結果のデータ量（未転送データ量を暗号処理単位で除した剰余）が閾値より大きい場合は、現在転送中の第１種データの転送を途中で中断して第２種データの転送を開始することができる。
【００１９】
また、上記データ転送装置において、前記第１種データ及び前記第２種データ夫々は、一組のヘッダ及びペイロードから成るフレームを少なくとも１つ含んで成るデータであり、前記暗号処理部は、前記第１種データ及び前記第２種データ夫々に対し、前記ペイロードの暗号処理を行い、前記転送部は、前記メモリから読み出した前記第１種データ及び前記第２種データ夫々において、前記ペイロードを前記暗号処理部に入力し、当該暗号処理部から出力された暗号処理結果と前記ヘッダとを前記メモリに書き込むことで転送を行うものであり、前記差分量は、前記未転送データ内のペイロードのデータ量を前記暗号処理単位で除した剰余であり、前記判断部は、前記第１種データのデータ転送の途中で前記第２種データの転送指示を受けたとき、前記未転送データ内のペイロードのデータ量が前記条件情報より大きい場合、前記第１種データの転送途中でデータ転送対象を前記第２種データに切換えると判断することとしてもよい。
【００２０】
この構成により、転送部がデータのうちヘッダを除くペイロードのみを暗号処理部に入力するため、暗号処理部はヘッダとペイロードの切れ目を意識することなく暗号処理することができる。
また、上記データ転送装置において、前記第１種データは、夫々ペイロードのデータ量の異なる複数のデータフォーマットのうち１つのデータフォーマットを有するものであり、前記判断部は、前記第１種データのデータフォーマットに応じて、前記未転送データ内のペイロードのデータ量を決定することにより、前記判断を行うこととしてもよい。
【００２１】
この構成により、データ転送装置は、第１種データのデータフォーマットに応じて、未転送データ内のペイロードのデータ量と条件情報とを比較することができる。
また、上記データ転送装置を、音声通話を行う機能と画像データを表示する機能とを有する携帯電話機に適用し、前記第１種データは、前記画像データであり、前記第２種データは、前記音声通話における音声データであり、前記条件情報記憶部は、前記画像データのデータ転送の途中で、前記音声データへとデータ転送対象の切換えを行うか否かを決定する基準となり、前記画像データに係る暗号処理方式に基づく条件情報を記憶し、前記判断部は、前記画像データのデータ転送の途中で前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断し、前記転送部は、転送指示と前記判断部での判断とに従って、前記画像データの転送途中にデータ転送対象の切換えを行うこととしてもよい。
【００２２】
この構成により、携帯電話機において、データ転送装置が画像データを転送処理中に、リアルタイム性の要求される音声通話の音声データを転送するための転送指示が発生した場合、転送部による画像データの未転送データと条件情報に応じて、画像データの転送を継続するか音声データの転送に切り換えるかを決定する。データ転送装置は、音声通話における音声データのＱｏＳと画像データの転送処理の即応性とのバランスを調整することができる。
【００２３】
さらに、上記携帯電話機は、前記音声データの転送指示を前記判断部に送出する転送指示部を備え、前記判断部は、前記画像データのデータ転送の途中で、前記転送指示部から前記音声データの転送指示を受けたとき、当該画像データのうち未だ転送できていない未転送データと、前記条件情報とに基づいて、前記画像データの転送途中でデータ転送対象の切換えを行うか否かを判断することとしてもよい。
【００２４】
この構成により、携帯電話機からの転送指示に従って判断部が、転送対象の切り換えの要否を判断する。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施形態について、図面を参照しながら説明する。
（１．構成）
以下、本発明のデータ転送装置の実施形態として具体化された暗号処理装置１００について説明する。
図１は、暗号処理装置１００の構成を示すブロック図である。
【００２６】
暗号処理装置１００は、携帯電話機１０の構成要素として搭載された例である。
図１に示すように、暗号処理装置１００は、中断タイミング判定回路１０１、ダイレクトメモリアクセスコントローラ（ＤＭＡＣ）１０２、及び暗号演算回路１０３を備える。
また、暗号処理装置１００は、バス１７を介して、携帯電話機１０の構成であるＣＰＵ（Central Processing Unit）１１、蓄積部１２、ＲＦ部１３、メモリ１４、ディスプレイ１５、及びスピーカ１６と接続されている。
【００２７】
ＣＰＵ１１は、携帯電話機１０の各構成要素を制御する機能を有するプロセッサである。例えば、ＣＰＵ１１は、暗号処理装置１００のＤＭＡＣ１０２にデータの転送を指示する機能を有し、また、中断タイミング判定回路１０１に対し、メモリ１４内の転送すべきデータの暗号処理アルゴリズム及び暗号処理モードを指示する機能や、暗号処理装置１００にデータのフォーマットを通知する機能等を有する。暗号処理アルゴリズムとしては、例えば、Ｃ２やＡＥＳ（AdvancedEncryption Standard）等がある。暗号処理モードとしては、例えば、ＥＣＢ（Electronic Code Book）モードやＣＢＣ（CipherBlock Chaining）モードやカウンタモード（Counter Mode）等がある。データのフォーマットとしては、ＧＩＦ（GraphicsInterchange Format）やＪＰＥＧ（Joint Photographic Experts Group）等である。また、ＣＰＵ１１は、蓄積部１２に蓄積されているプログラムを実行する機能を有する。
【００２８】
メモリ１４は、暗号化されたデータを記憶する作業用のメモリであり、具体的にはＲＡＭ（Random Access Memory）等で実現される。具体的には、ＣＰＵ１１からの指示により、暗号処理装置１００で暗号処理される、蓄積部１２に蓄積されている画像データや、ＲＦ部１３が処理する音声データがメモリ１４に一時的に記憶される。
蓄積部１２は、データを蓄積するものであり、具体的にはＨＤＤ（Hard Disk Drive）等で実現される。本実施形態では、蓄積部１２は、ディスプレイ１５に表示する表示メニューの画像データ、及びＣＰＵ１１に実行させるプログラムとして当該画像データをディスプレイ１５に表示させるための画像描画プログラムを蓄積しているものとする。
【００２９】
ＲＦ部１３は、無線通信を実現するためにデータの変調、復調等の処理を行う機能を有する。本実施形態では、ＲＦ部１３は、音声通話時の音声データの処理を行うものとする。
ディスプレイ１５は、画像データを表示するためのものであり、具体的にはＬＣＤ（Liquid Crystal Display）等で実現される。
【００３０】
スピーカ１６は声データを出力するためのものである。
バス１７は、ＣＰＵ１１、蓄積部１２、ＲＦ部１３、メモリ１４、ディスプレイ１５、スピーカ１６、及び暗号処理装置１００を互いに接続するための信号線である。
暗号処理装置１００において、ＤＭＡＣ１０２は、メモリ１４からデータを所定の固定長であるブロック単位で読み出して、読み出したデータのペイロードを暗号演算回路１０３へ入力するとともに、暗号演算回路１０３から暗号処理結果をヘッダとともにメモリ１４に書き込むことでデータ転送を行う機能を有する。ＤＭＡＣ１０２は、中断タイミング判定回路１０１からの指示に従ってメモリ１４から暗号演算回路１０３へ入力するデータを選択する。
【００３１】
中断タイミング判定回路１０１は、ＤＭＡＣ１０２でデータの転送処理中に、より優先度の高いデータを転送処理するための指示がＣＰＵ１１から送られてきた場合、優先度の低いデータの転送処理の中断及び再開を制御する機能を有する。中断タイミング判定回路１０１は、中断タイミング判定レジスタ１０１ａ、転送状態参照部１０１ｂ、及び中断タイミング判定部１０１ｃを有する。
【００３２】
中断タイミング判定レジスタ１０１ａは、中断タイミング判定部１０１ｃがＤＭＡＣ１０２の転送処理の中断を判定するためのテーブル（後述する）を記憶するものである。
転送状態参照部１０１ｂは、ＤＭＡＣ１０２がメモリ１４から読み出したブロックのうち何バイトを暗号演算回路１０３に入力完了したかを監視し、監視結果を中断タイミング判定部１０１ｃに送出する機能を有する。
【００３３】
中断タイミング判定部１０１ｃは、中断タイミング判定レジスタ１０１ａに記憶されているテーブルと、転送状態参照部１０１ｂが監視結果（転送バイト数）とに基づき、ＤＭＡＣ１０２が転送対象を切り換えるか否かを判定する機能を有する。判定に応じて、ＤＭＡＣ１０２に対し、暗号演算回路１０３へのデータ転送対象の切り換えを指示する信号を送信する。
【００３４】
暗号演算回路１０３は、ＤＭＡＣ１０２から入力されたペイロードを、所定の暗号処理単位で暗号処理し、暗号処理結果をＤＭＡＣ１０２に出力する機能を有する。
（２．データ）
（２−１．データ構造）
次に、暗号処理装置１００が暗号処理を行うデータの構造について説明する。
【００３５】
図２は、データ構造を示す図である。
データは、ヘッダ及びペイロードから成るフレーム単位で構成されている。
ヘッダは、データのフォーマット、暗号処理アルゴリズム、暗号処理モード等の管理情報を含むもので、暗号演算回路１０３による暗号処理の対象ではない。
ペイロードは、データの実体であり、暗号演算回路１０３による暗号処理の対象である。
【００３６】
実際のヘッダ及びペイロードのサイズは、ＪＰＥＧやＧＩＦといったデータの種別（フォーマット）に依る。例えば、フォーマットがＡＡＣ（Advanced AudioCode）の場合、ヘッダは固定長７バイトであり、ペイロードは可変長である。また、フォーマットがＭＰ３（MPEG-1 Audio Layer-3）の場合、ヘッダは固定長４バイトであり、ペイロードは可変長である。
【００３７】
同図に、暗号演算回路１０３が暗号処理を行う単位である、所定の暗号処理単位を矢印で示す。この暗号処理単位は、暗号処理対象であるデータの暗号処理アルゴリズムに応じて決まる。例えば、暗号処理アルゴリズムがＣ２である場合、暗号処理単位は８バイトである。また、暗号処理アルゴリズムがＡＥＳである場合、暗号処理単位は１６バイトである。
【００３８】
また、ＤＭＡＣ１０２がデータをメモリ１４から読み出す単位であるブロックは、複数のフレームから成る。なお、ブロックはフレームの整数倍になるとは限らず、フレームの途中でブロックの終端となる場合もある。
図３は、ＤＭＡＣ１０２の転送データの様子を示す。同図において、上段はＤＭＡＣ１０２がメモリ１４から読み出す１ブロック分のデータを示し、下段は、暗号演算回路１０３が１ブロック内のペイロードの暗号処理を行った後ＤＭＡＣ１０２が暗号処理結果とヘッダとをメモリ１４に書き込むデータを示している。また、同図において、左側はＤＭＡＣ１０２によるｎ番目のブロックの読み出しと当該ｎ番目のブロック読み出しに対するメモリ１４への書き込みを示しており、右側はＤＭＡＣ１０２による（ｎ＋１）番目のブロックの読み出しと当該（ｎ＋１）番目のブロック読み出しに対するメモリ１４への書き込みを示している。
【００３９】
上段に示すように、ＤＭＡＣ１０２がメモリ１４からデータを読み出す場合、ＤＭＡＣ１０２はブロック単位で読み出す。まずｎ番目のブロックが読み出され、ブロック内のペイロードが暗号演算回路１０３に入力される。このとき、ブロック内のデータのペイロードのサイズが暗号演算回路１０３の暗号処理単位の整数倍でない場合、１ブロック内のペイロード中で暗号演算回路１０３が暗号処理しきれないペイロード（残存データ）が発生する。すなわち、下段の矢印で示すＲである。
【００４０】
暗号演算回路１０３は、残存データＲは暗号処理単位に満たないことから暗号処理を行うことができないため、入力されたペイロードよりも少ないペイロードを暗号処理してＤＭＡＣ１０２に出力することになる。残存データＲは、暗号演算回路１０３で一時的に保持される。この結果、ＤＭＡＣ１０２は、読み出したデータよりも小さなデータをメモリ１４に書き込むことになる。
【００４１】
続いて、ＤＭＡＣ１０２によりｎ番目のブロックに続く（ｎ＋１）番目のブロックの読み出しが行われる。このとき、暗号演算回路１０３は、入力された（ｎ＋１）番目のブロックのペイロードとともに一時保持していた残存データＲを暗号処理し、入力されたデータよりも大きなデータを暗号処理してＤＭＡＣ１０２に出力する。この結果、ＤＭＡＣ１０２は、読み出したデータよりも大きなデータをメモリ１４に書き込むことになる。
【００４２】
このように、ブロック内のペイロードのサイズが暗号演算回路１０３の暗号処理単位の整数倍でない場合、ｎ回目の入力でのブロックの中で暗号演算回路１０３が暗号処理しきれず、（ｎ＋１）回目の入力を待たなければ暗号処理できない残存データＲが発生する。
残存データＲのデータ量は、以下のように、データの暗号処理アルゴリズム、データにおける暗号演算回路１０３の暗号処理単位、及びブロック内のペイロードデータ量に基づいて設定する。
【００４３】
例えば、データの暗号処理アルゴリズムがＡＥＳである場合、暗号演算回路１０３の暗号処理単位は１６バイトである。
また、当該データについて、ブロック内のペイロードのデータ量を３０００バイトとする。なお、ブロック内のペイロードのデータ量は、データのフォーマットによって決まる。
【００４４】
ここで、ペイロードのデータ量（３０００バイト）を暗号演算回路１０３の暗号処理単位（１６バイト）で除すると、剰余が８バイトとなり、残存データＲは８バイトとなる。
（２−２．テーブル）
次に、中断タイミング判定レジスタ１０１ａに記憶されるテーブル２００について説明する。
【００４５】
図４は、テーブル２００のデータ構造を示す。
テーブル２００は、画像データについて作成されるものであり、データ種別２０１、判定要否２０２、未転送データ閾値２０３、及び残存データ閾値２０４の項目を含む。
データ種別２０１は、ＤＭＡＣ１０２が暗号演算回路１０３に入力する画像データの種別を、異なる番号で示している。ここで、種別とは、暗号アルゴリズム及びデータフォーマットの少なくとも一方を指す。例えば、ＪＰＥＧ形式で使用する暗号処理アルゴリズムがＡＥＳである画像データを１番で示し、ＧＩＦ形式で暗号処理アルゴリズムがＣ２である画像データを２番で示すといった具合である。ここでは、例として１６種の異なる画像データを示している。
【００４６】
判定要否２０２は、データ種別２０１で示す種別の各画像データについて、ＤＭＡＣ１０２が当該画像データの転送処理中に音声データの転送指示をＣＰＵ１１から受けた場合に、当該画像データの転送処理を中断して音声データの転送をＤＭＡＣ１０２に開始させるか否かの判定の要否を示している。例えば、データ種別２０１に１番で示される種別の画像データは判定が必要であり、２番で示される画像データは判定が不要である。
【００４７】
判定が不要な画像データについては、ＤＭＡＣ１０２による当該画像データの転送処理がすぐに中断される。判定が必要な画像データについては、中断の要否が判定され、必要な場合はＤＭＡＣ１０２によって当該画像データの転送処理が中断される。
「否」は、例えば、極めて優先度の低いデータや、メニュー画面の更新等のリアルタイム性が求められるもの以外の画像データ等、暗号演算回路１０３での暗号処理の遅延があっても影響の小さいデータに設定すればよい。
【００４８】
一方、「要」は、例えば、メニュー画面の更新等のリアルタイム性が求められる画像データに設定すればよい。
未入力データ閾値２０３は、データ種別２０１で示される種別の画像データのうち判定要否２０２で判定が必要であることが示されている画像データについて、ＤＭＡＣ１０２が当該画像データの転送処理中に音声データの転送指示を受けた場合に、当該画像データの転送処理を中断して音声データの転送をＤＭＡＣ１０２に開始させるか否かを決定する閾値を示す。具体的には、１のブロック内のペイロードのバイト数から、転送状態参照部１０１ｂで監視していたＤＭＡＣ１０２の入力バイト数を引いた、未入力データのバイト数の閾値である。中断タイミング判定部１０１ｃは、未入力データのバイト数が未入力データ閾値２０３以下であれば未入力データの入力を中断せず、未入力データのバイト数が未入力データ閾値２０３より大きければ未入力データの入力を中断するよう、ＤＭＡＣ１０２に指示する。
【００４９】
残存データ閾値２０４は、未入力データ閾値２０３とともに、ＤＭＡＣ１０２が当該画像データの転送処理中に音声データの転送指示を受けた場合に画像データの転送処理を中断して音声データの転送をＤＭＡＣ１０２に開始させるか否かを決定する閾値である。具体的には、ブロック内のペイロードのサイズが暗号演算回路１０３の暗号処理単位の整数倍でない場合の、残存データＲのバイト数である。中断タイミング判定部１０１ｃは、残存データＲのバイト数が残存データ閾値２０４未満であれば未入力データの入力を中断せず、残存データＲのバイト数が残存データ閾値２０４以上であれば未入力データの入力を中断するよう、ＤＭＡＣ１０２に指示する。
【００５０】
テーブル２００は、携帯電話機１０の開発者等のユーザによって作成され予め中断タイミング判定レジスタ１０１ａに記憶される。
未入力データ閾値２０３及び残存データ閾値２０４は、ＲＦ部１３で処理される音声データのＱｏＳに応じて、ユーザが設定すればよい。
（２−３．未入力データ閾値２０３）
未入力データ閾値２０３は、音声データのＱｏＳと、画像データの暗号処理アルゴリズムと、ブロックのデータ量とに基づいて決定される。
【００５１】
すなわち、例えば、音声データは所定の通話品質を確保するために、ＣＰＵ１１が中断タイミング判定回路１０１に転送指示後ＤＭＡＣ１０２は音声データの転送処理を１秒（１０００ｍｓ）以内に開始する必要があるとする。
また、ＤＭＡＣ１０２のブロック単位が３２００バイトとする。
このとき、ユーザは以下のように判断して未入力データ閾値２０３を設定する。
【００５２】
例えば、データ種別２０１で１番の画像データについて、当該画像データの暗号処理アルゴリズムがＡＥＳである場合、暗号処理単位は１６バイトである。暗号演算回路１０３で１番の画像データを暗号処理したとき、１暗号処理単位である１６バイトを暗号処理するのに要する時間が仮に３００ｍｓであったとする。また、ＤＭＡＣ１０２が１ブロック分（３２００バイト）メモリ１４からの読み出し及びメモリ１４への書き込みに要する時間が仮に３２０ｍｓであったとする（１バイト当たり０．１ｍｓ）。このような場合、未入力データ閾値２０３は３２バイトとすればよい。すなわち、３２バイトであれば暗号演算回路１０３の暗号処理と、ＤＭＡＣ１０２による未入力データの入力とメモリ１４への書き込みとに要する時間の合計が９２３．２ｍｓとなる。これにより、３２バイト未満であれば、ＤＭＡＣ１０２が見入力データを暗号演算回路１０３に入力して、暗号処理結果をメモリ１４に書き込みを完了しても、１０００ｍｓ以内に音声データの転送を開始することができるため、音声データのＱｏＳに影響はないと判断できる。
【００５３】
同様に、例えば、データ種別２０１で４番の画像データについて、当該画像データの暗号処理アルゴリズムがＣ２である場合、暗号処理単位は８バイトである。暗号演算回路１０３で２番の画像データを暗号処理したとき、１暗号処理単位である８バイトを暗号処理するのに要する時間が仮に１００ｍｓであったする。また、ＤＭＡＣ１０２が１ブロック分（３２００バイト）メモリ１４からの読み出し及びメモリ１４への書き込みに要する時間が仮に１６０ｍｓであったとする（１バイト当たり０．０５ｍｓ）。この場合、未入力データ閾値２０３は６４バイトとすればよい。すなわち、６４バイトであれば暗号演算回路１０３の暗号処理と、ＤＭＡＣ１０２による未入力データの入力とメモリ１４への書き込みとに要する時間の合計が９６３．２ｍｓとなる。これにより、６４バイト未満であれば、ＤＭＡＣ１０２が未入力データを暗号演算回路１０３に入力して、暗号処理結果をメモリ１４に書き込みを完了しても、１０００ｍｓ以内に音声データの転送を開始することができるため、音声データのＱｏＳに影響はないと判断できる。
（２−４．残存データ閾値２０４）
残存データ閾値２０４は、携帯電話機１０の蓄積部１２に蓄積している画像描画プログラムの使用によって決定される。
【００５４】
すなわち、画像描画プログラムは、転送部１０２がメモリ１４に書き込んだ暗号演算回路１０３の暗号処理結果を利用するため、通常、転送部１０２の読み出し及び書き込み単位であるブロック単位で画像描画処理を実行するよう設計されているが、所定のデータ量が欠落していても画像描画が行えるよう、欠落データの許容量が設定されている。
例えば、画像描画プログラムが、データ種別２０１で１番のデータについて、欠落データを４バイトまで許容できる場合、残存データ閾値を４バイトに設定する。
【００５５】
また、データ種別２０１で３番のデータについて、欠落データが１バイトも許容できない場合は、残存データ閾値を０バイトに設定する。
以上のようにして、テーブル２００が設定され、中断タイミング判定レジスタ１０１ａに記憶しておく。
（３．動作）
次に、暗号処理装置１００の動作について説明する。
【００５６】
図５及び６は、暗号処理装置１００の動作を示すフローチャートであり、暗号処理装置１００が画像データを暗号処理中に音声データの暗号処理のための転送指示をＣＰＵ１１から受けたときの動作を示している。なお、ここでは、画像データは、ディスプレイ１５上のメニュー画面を表示するための画像データであり、音声データは、音声通話に係る音声データであるものとする。
【００５７】
暗号処理装置１００が画像データを暗号処理中、ＲＦ部１３が音声通話に係る音声データを受信すると、ＣＰＵ１１がこれを検知して中断タイミング判定回路１０１に、音声データの転送指示を送る。
中断タイミング判定部１０１ｃは、ＣＰＵ１１から音声データの転送指示を受けると、中断タイミング判定レジスタ１０１ａに記憶されているテーブル２００を参照し、ＤＭＡＣ１０２が暗号演算回路１０３に転送中の画像データの種別を参照する（ステップＳ１００）。ここでは、中断タイミング判定レジスタ１０１ａは、ＣＰＵ１１から通知される画像データの暗号処理アルゴリズム及びデータフォーマットに基づき、当該画像データがデータ種別２０１が示す種別のいずれかであるかを判断する。
【００５８】
中断タイミング判定部１０１ｃは、テーブル２００の判定要否２０２を参照し、画像データの判定要否を確認する（ステップＳ１０１）。
判定が不要であれば（ステップＳ１０１：ＮＯ）、中断タイミング判定部１０１ｃはすぐさま画像データの転送処理を中断して転送対象を音声データに切り換えるよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０２）。指示を受けたＤＭＡＣ１０２は、画像データの転送を中断し、音声データの転送を開始する。暗号演算回路１０３は、ＤＭＡＣ１０２から入力された音声データの復号処理を開始する。なお、ＤＭＡＣ１０２は、画像データの転送を中断する際、画像データの転送を再開する際に読み出しを開始するデータの、メモリ１４におけるアドレスを保持しておく。
【００５９】
一方、判定が必要であれば（ステップＳ１０１：ＹＥＳ）、中断タイミング判定部１０１ｃは、転送状態参照部１０１ｂが監視したＤＭＡＣ１０２の入力データ量と、ブロック単位とに基づいて未入力データ量を算出し、算出した未入力データ量とテーブル２００の未入力データ閾値２０３とを比較する（ステップＳ１０３）。
未入力データ量が、未入力データ閾値２０３が示すバイト数より大きい場合（ステップＳ１０３：閾値より大きい）、中断タイミング判定部１０１ｃはすぐさま画像データの転送処理を中断して転送対象を音声データに切り換えるよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０２）。指示を受けたＤＭＡＣ１０２は、画像データの転送を中断し、音声データの転送を開始する。暗号演算回路１０３は、ＤＭＡＣ１０２から入力された音声データの復号処理を開始する。なお、ＤＭＡＣ１０２は、画像データの転送を中断する際、画像データの転送を再開する際に読み出しを開始するデータの、メモリ１４におけるアドレスを保持しておく。
【００６０】
一方、未入力データ量が、未入力データ閾値２０３が示すバイト数以下であった場合（ステップＳ１０３：閾値以下）、中断タイミング判定部１０１ｃは、さらにテーブル２００の残存データ閾値２０４と、ブロック内のペイロードのデータ量を復号単位で除したときの剰余に相当する残存データＲのデータ量とを比較する（ステップＳ１０４）。
残存データＲのデータ量が、残存データ閾値２０４が示すバイト数より大きい場合（ステップＳ１０４：閾値より大きい）、中断タイミング判定部１０１ｃはすぐさま画像データの転送処理を中断して転送対象を音声データに切り換えるよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０２）。指示を受けたＤＭＡＣ１０２は、画像データの転送を中断し、音声データの転送を開始する。暗号演算回路１０３は、ＤＭＡＣ１０２から入力された音声データの復号処理を開始する。なお、ＤＭＡＣ１０２は、画像データの転送を中断する際、画像データの転送を再開する際に読み出しを開始するデータの、メモリ１４におけるアドレスを保持しておく。
【００６１】
一方、残存データＲのデータ量が、残存データ閾値２０４が示すバイト数以下であった場合（ステップＳ１０４：閾値以下）、中断タイミング判定部１０１ｃは、ＤＭＡＣ１０２が実行中のブロックの転送を中断することなく、当該ブロックの終端まで転送を完了するようＤＭＡＣ１０２に対して指示する（ステップＳ１０５）。指示を受けたＤＭＡＣ１０２は、画像データの転送を継続してブロックの終端まで転送を完了させ、完了したら次回転送するブロックのメモリ１４における開始アドレスを保持しておく。
【００６２】
なお、中断タイミング判定部１０１ｃは、ステップＳ１０５では１のブロックの終端でＤＭＡＣ１０２の転送を中断するため、当該１のブロックに続いて読み出す必要のあるブロックがまだメモリ１４にある場合にのみ、このブロックのメモリ１４における開始アドレスを保持しておけばよい。当該１のブロックに続くブロックがメモリ１４にない場合、すなわち、例えば、ＣＰＵ１１から転送指示のあった画像データについて当該１のブロックが最終ブロックである場合は、中断タイミング判定部１０１ｃは開始アドレスを保持する必要はない。
【００６３】
ＤＭＡＣ１０２が音声データの転送処理が完了すると（ステップＳ１０７：ＹＥＳ）、中断タイミング判定部１０１ｃは、ステップＳ１０２又はＳ１０５で中断していた画像データの転送処理を再開するよう、ＤＭＡＣ１０２に対して指示する（ステップＳ１０８）。
ステップＳ１０８においては、ステップＳ１０２で画像データの転送をＤＭＡＣ１０２が中断していた場合、中断タイミング判定部１０１ｃは、ステップＳ１０２で一時保持しておいたアドレスから画像データの転送を再開するようＤＭＡＣ１０２に指示する。指示を受けたＤＭＡＣ１０２は、ステップＳ１０２で保持しておいたメモリ１４内のアドレスからデータの読み出しを開始する。
【００６４】
また、ステップＳ１０５で画像データの転送をＤＭＡＣ１０２が中断していた場合、中断タイミング判定部１０１ｃは、ステップＳ１０５で一時保持しておいたアドレスがある場合は、当該アドレスから始まるブロックの転送を再開するようＤＭＡＣ１０２に指示する。指示を受けたＤＭＡＣ１０２は、ステップＳ１０５で保持しておいたメモリ１４内のブロックの開始アドレスからデータの読み出しを開始する。
【００６５】
図７は、暗号処理装置１００がステップＳ１０２を経て画像データの転送を中断した場合の動作を示す図である。
図７は、画像データの２つのブロック（ｖ１〜ｖ２）のうちＤＭＡＣ１０２が２つ目のブロック（ｖ２）を転送中に、音声データの１つのブロック（ａ１）の転送指示を受けた場合について示している。
【００６６】
ＤＭＡＣ１０２は２つ目のブロック（ｖ２）の転送を途中（ｖ２（１））で中断し、音声データのブロック（ａ１）の転送を開始する。ここで、ディスプレイ１５上のメニュー画面の表示の更新が中断される。音声データのブロック（ａ１）は所定時間（１０００ｍｓ）内にＤＭＡＣ１０２により転送され、音声データに係る音声信号がスピーカ１６から再生される。その後、中断されていた２つ目のブロックの残りのデータ（ｖ２（２））の転送処理が再開し、メニュー画面の表示の更新が再開する。
【００６７】
図８は、暗号処理装置１００がステップＳ１０５を経て画像データの転送を中断した場合の動作を示す図である。
図８は、画像データの２つのブロック（ｖ１〜ｖ２）のうちＤＭＡＣ１０２が２つ目のブロック（ｖ２）を転送中に音声データの１つのブロック（ａ１）の転送指示を受けた場合について示している。
【００６８】
ＤＭＡＣ１０２は２つ目のブロック（ｖ２）の転送を完了してから、音声データのブロック（ａ１）の転送を開始する。したがって、ディスプレイ１５上のメニュー画面の表示の更新は中断されず行われる。音声データのブロック（ａ１）は所定時間（１０００ｍｓ）内にＤＭＡＣ１０２により転送される。音声データに係る音声信号はスピーカ１６から発音される。
【００６９】
以上のように動作することで、暗号処理装置１００は、画像データのブロックの未入力データ量が、音声データのブロックの転送処理開始に影響を及ぼさない程度であって、かつ、仮に未入力データをＤＭＡＣ１０２が暗号演算回路１０３に入力したとしても出力されない暗号処理結果のデータ量（未入力データ量をブロック単位で除した剰余）が残存データ閾値２０４以下である場合には、現在転送中の画像データのブロックの転送を完了させる。
【００７０】
こうすることで、ＤＭＡＣ１０２は、音声データのブロックを転送開始しなければならない１０００ｍｓ以内に画像データのブロックの終端まで転送できるならしてしまい、画像描画プログラムは、画像データのブロックの暗号処理結果を用いてメニュー画面の更新を遅延なく行うことができる。
一方、ＤＭＡＣ１０２は、音声データのブロックを転送開始しなければならない１０００ｍｓ以内に画像データのブロックの終端まで転送できない場合、又は、できたとしても画像描画プログラムが当該ブロック分の暗号処理結果を用いてメニュー画面の更新を行うことができないのであれば、音声データのＱｏＳを最優先することができる。
【００７１】
このように、暗号処理装置１００は、音声データのＱｏＳと画像データの転送処理の即応性とのバランスを保つことができる。
（補足）
以上、実施形態に基づき本発明の暗号処理装置１００について説明してきたが、暗号処理装置の構成には種々の変形を加えることができることは言うまでもない。
（１）実施形態では、暗号処理装置１００は、テーブル２００の未入力データ閾値２０３と残存データ閾値２０５の両方に基づいてＤＭＡＣ１０２の転送対象を切り換える例を示したが、これに限定されるものではなく、いずれか一方の閾値に基づいて切り換えるようにしてもよい。
【００７２】
すなわち、未入力データ閾値２０３に基づいて切り換えを行う場合は、暗号処理装置１００は、ＤＭＡＣ１０２が画像データのブロックを転送途中で音声データのブロックの転送指示を受けると、ＤＭＡＣ１０２の未入力データ量と未入力データ閾値２０３とを比較し（ステップＳ１０３）、未入力データ量が未入力データ閾値２０３以下であれば（ステップＳ１０３：閾値以下）、画像データのブロックの転送を完了（ブロックの終端まで転送）するようＤＭＡＣ１０２に指示する（ステップＳ１０５）ようにすればよい。
【００７３】
残存データ閾値２０４に基づいて切り換えを行う場合は、暗号処理装置１００は、ＤＭＡＣ１０２が画像データのブロックを転送途中で音声データのブロックの転送指示を受けると、ＤＭＡＣ１０２の未入力データを暗号演算回路１０３の暗号処理単位で除した剰余と残存データ閾値２０４とを比較し（ステップＳ１０４）、剰余が残存データ閾値２０４以下であれば（ステップＳ１０４：閾値以下）、画像データのブロックの転送を完了（ブロックの終端まで転送）するようＤＭＡＣ１０２に指示する（ステップＳ１０５）すればよい。
（２）実施形態では、暗号処理装置１００は、携帯電話機１０内の蓄積部１２に保持されメモリ１４にロードされた画像データを暗号処理する例を示したが、これに限定されるものではない。例えば、暗号処理装置１００は、ＳＤメモリカード（SecureDigital memory card）等の外部媒体に保持されていてメモリ１４にロードされた画像データを暗号処理するようにしてもよい。
（３）実施形態では、携帯電話機１０に暗号処理装置１００を搭載する例を示したが、これに限定されるものではない。暗号処理装置１００は、デジタル放送受信機やＨＤＤ（HardDisk Drive）デコーダ等、データの暗号処理を行う機能を有する機器に広く搭載可能である。
（４）実施形態では、暗号処理装置１００は、第１種データとして画像データを、第２種データとして音声データを暗号処理する例を示したが、これに限定されるものではない。１のデータと、１のデータの暗号処理中に割り込みによって暗号処理する機会が発生するデータとがそれぞれ、第１種データと第２種データとに相当する。例えば、第１種データを第１の暗号処理アルゴリズムで暗号化されたデータとし、第２種データを、第１の暗号処理アルゴリズムとは異なる第２の暗号処理アルゴリズムで暗号化されたデータとしてもよい。
（５）実施形態では、暗号処理装置は１００は、ＤＭＡＣ１０２の転送単位であるブロックのサイズを３２００バイトである例を挙げて説明したが、これに限定されるものではなく、ＤＭＡＣ１０２の仕様に依り様々な値を取りうる。
（６）実施形態では、携帯電話機１０において、第２種データの転送指示を中断タイミング回路１０１に送出後にＤＭＡＣ１０２が転送処理を開始する必要のある制限時間を１０００ｍｓである例を挙げて説明したが、これに限定されるものではなく、携帯電話機１０の仕様、又は携帯電話機１０が属する移動体通信サービス提供業者（キャリア）等の仕様に依り様々な値を取り得る。
（７）暗号処理装置１００は、中断タイミング判定レジスタ１０１、ＤＭＡＣ１０２、及び暗号演算回路１０３を統合してワンチップ化して暗号処理回路としてもよい。暗号処理回路は、集積度に応じてＩＣ（IntegratedCircuit）、ＬＳＩ（Large Scale Integration）、ＶＬＳＩ（Very Large Scale Integration）、ＵＬＳＩ（Ultra-LargeScale Integration）等と呼ばれる。
【産業上の利用可能性】
【００７４】
本発明のデータ転送装置は、データをメモリから読み出して暗号処理を施し、当該暗号処理結果を前記メモリに書き込む機構を有する機器に広く適用可能であり、優先度の高いデータのＱｏＳと優先度の低いデータの暗号処理の即応性とのバランスを保つことのできる点で有用である。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施形態１に係る暗号処理装置１００の構成を示す機能ブロック図。
【図２】暗号処理装置１００が扱うデータの構造を示す図。
【図３】ＤＭＡＣ１０２の転送データの構造を示す図。
【図４】中断タイミング判定レジスタ１０１ａに格納されるテーブルを示す図。
【図５】暗号処理装置１００の動作を示す第１のフローチャート。
【図６】暗号処理装置１００の動作を示す第２のフローチャート。
【図７】暗号処理装置１００のステップＳ１０３の動作を示す図。
【図８】暗号処理装置１００のステップＳ１０４の動作を示す図。
【図９】従来の暗号処理装置１０００の構成を示す機能ブロック図。
【図１０】従来の暗号処理装置１０００の動作を示す図。
【符号の説明】
【００７６】
１０            携帯電話機
１１            ＣＰＵ
１２            蓄積部
１３            ＲＦ部
１４            メモリ
１５            ディスプレイ
１６            スピーカ
１７            バス
１００          暗号処理装置
１０１          中断タイミング判定回路
１０２          ＤＭＡＣ
１０３          暗号演算回路
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2008035616.tif 000013
【図２】
2008035616.tif 000014
【図３】
2008035616.tif 000015
【図４】
2008035616.tif 000016
【図５】
2008035616.tif 000017
【図６】
2008035616.tif 000018
【図７】
2008035616.tif 000019
【図８】
2008035616.tif 000020
【図９】
2008035616.tif 000021
【図１０】
2008035616.tif 000022
【国際調査報告】
2008035616.tif 000023
2008035616.tif 000024