(57)【要約】【課題】ブロック暗号アルゴリズムを採用した通信時において、全体的な転送効率を向上させ、また、再送制御の際の処理量を低減して装置への負担を軽減可能とする。【解決手段】鍵管理部４３は、シーケンスナンバーを予測する。鍵生成部４４は、予測されたシーケンスナンバーに各々対応した通信用暗号鍵を生成する。鍵記憶部４６は、鍵生成部４４で生成された通信用暗号鍵を記憶する。鍵参照部４５は、入力された暗号データ（又は暗号化すべきデータ）のシーケンスナンバーを参照し、そのシーケンスナンバーに対応する通信用暗号鍵を鍵記憶部４６から出力させる。排他的論理和演算部４７は、鍵記憶部４６から出力された通信用暗号鍵と、暗号データ（又は暗号化すべきデータ）との排他的論理和演算を行うことで、暗号データの復号化（又は暗号化すべきデータの暗号化）を行う。【選択図】    図２
2004186939.tif 000002
【特許請求の範囲】
【請求項１】
少なくともデータ毎の識別情報を予測する情報管理部と、
上記予測された複数の識別情報に各々対応した鍵情報を生成する鍵生成部と、
入力された処理対象データの識別情報を参照し、当該参照した識別情報に対応した鍵情報を選択する鍵参照部と、
上記選択された鍵情報と上記処理対象データとで所定の演算処理を行う演算部とを有する
ことを特徴とする暗号処理装置。
【請求項２】
請求項１記載の暗号処理装置であって、
上記情報管理部は、少なくとも、処理対象となる全データの数と所望の転送効率との何れかに基づいて、上記予測する識別情報の数を決定し、
上記鍵生成部は、上記予測された識別情報に応じた数の鍵情報を生成することを特徴とする暗号処理装置。
【請求項３】
請求項２記載の暗号処理装置であって、
上記生成された各鍵情報をそれぞれ識別情報と対応付けて記憶する鍵記憶部を有し、
上記鍵参照部は、上記参照した識別情報に応じた鍵情報を、上記鍵記憶部に記憶されている鍵情報の中から選択して、上記鍵記憶部から演算部へ出力させることを特徴とする暗号処理装置。
【請求項４】
請求項３記載の暗号処理装置であって、
上記情報管理部は、各処理対象データに対して再度の上記演算処理が必要か否か判断し、当該再度の演算処理が必要とされる処理対象データの識別情報に対応した鍵情報を上記鍵記憶部内に保持させ、上記再度の演算処理を必要としない処理対象データの識別情報に対応した鍵情報を上記鍵記憶部から消去することを特徴とする暗号処理装置。
【請求項５】
請求項１記載の暗号処理装置であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されたブロック単位の暗号データであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記識別情報は、ブロック化された暗号データ毎に付加される続き番号であり、
上記演算部は、上記所定の演算処理として、上記鍵参照部により選択された通信用暗号鍵と上記ブロック単位の暗号データとの排他的論理和演算を行うことにより、上記ブロック単位の暗号データを復号化することを特徴とする暗号処理装置。
【請求項６】
請求項１記載の暗号処理装置であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されるべきブロック単位のデータであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記識別情報は、ブロック化されたデータ毎に付加される続き番号であり、
上記演算部は、上記所定の演算処理として、上記鍵参照部により選択された通信用暗号鍵と上記ブロック単位のデータとの排他的論理和演算を行うことにより、上記ブロック単位のデータを暗号化することを特徴とする暗号処理装置。
【請求項７】
少なくともデータ毎の識別情報を予測し、
上記予測された複数の識別情報に各々対応した鍵情報を生成し、
入力された処理対象データの識別情報を参照し、当該参照した識別情報に対応した鍵情報を選択し、
上記選択された鍵情報と上記処理対象データとで所定の演算処理を行う
ことを特徴とする暗号処理方法。
【請求項８】
請求項７記載の暗号処理方法であって、
上記識別情報の予測の際には、少なくとも、処理対象となる全データの数と所望の転送効率との何れかに基づいて、上記予測する識別情報の数を決定し、
上記鍵情報の生成の際には、上記予測された識別情報に応じた数の鍵情報を生成することを特徴とする暗号処理方法。
【請求項９】
請求項８記載の暗号処理方法であって、
上記生成された各鍵情報をそれぞれ識別情報と対応付けて記憶し、
上記鍵情報の選択の際には、上記参照した識別情報に応じた鍵情報を、上記記憶されている鍵情報の中から選択することを特徴とする暗号処理方法。
【請求項１０】
請求項９記載の暗号処理方法であって、
各処理対象データに対して再度の上記演算処理が必要か否か判断し、
上記記憶した鍵情報のうち、当該再度の演算処理が必要とされる処理対象データの識別情報に対応した鍵情報を残し、上記再度の演算処理を必要としない処理対象データの識別情報に対応した鍵情報を消去することを特徴とする暗号処理方法。
【請求項１１】
請求項７記載の暗号処理方法であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されたブロック単位の暗号データであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記識別情報は、ブロック化された暗号データ毎に付加される続き番号であり、
上記所定の演算処理は、上記ブロック単位の暗号データを上記選択された通信用暗号鍵を用いて排他的論理和演算することによる復号化であることを特徴とする暗号処理方法。
【請求項１２】
請求項７記載の暗号処理方法であって、
上記処理対象データは、共通鍵暗号方式を用いたブロック暗号アルゴリズムにより暗号化されるべきブロック単位のデータであり、
上記鍵情報は、上記共通鍵暗号方式のブロック暗号アルゴリズムで使用される通信用暗号鍵であり、
上記識別情報は、ブロック化されたデータ毎に付加される続き番号であり、
上記所定の演算処理は、上記ブロック単位のデータを上記選択された通信用暗号鍵を用いて排他的論理和演算することによる暗号化であることを特徴とする暗号処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通信機器間で通信されるデータの暗号化，復号化の高速処理に関し、特に、ブロック暗号アルゴリズムを利用した暗号化，復号化を行う暗号処理装置及び方法に関する。
【０００２】
【従来の技術】
通信装置を用いて他者と通信する際、通信内容を示す平文が伝送路に流されると、正規の通信相手ではない第三者は、極めて容易に通信内容を盗聴したり、通信内容を改竄したりできる。したがって、従来より、通信内容の盗聴や改竄を防止するために、暗号通信装置が広く使用されている。暗号通信装置は、平文を暗号化して伝送路へ送信すると共に、受け取った暗号文を平文へ復号化する。このように、暗号通信装置を用いれば、伝送路には第三者が解読できない暗号文のみが流れることになり、その結果、第三者による通信内容の盗聴や改竄を防止できることになる。
【０００３】
従来の暗号通信装置で使用されている暗号方法は、ＤＥＳ（Ｄａｔａ  ＥｎｃｒｙｐｔｉｏｎＳｔａｎｄａｒｄ）暗号方式、ＩＤＥＡ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｄａｔａ  Ｅｎｃｒｙｐｔｏｉｎ  Ａｌｇｏｒｉｔｈｍ）暗号方式などの共有鍵暗号方式と、ＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）暗号方式などの公開鍵暗号方式とに大別される。共有鍵暗号方式は、暗号化時と復号化時で同一の暗号鍵を使用する方式であり、一方、公開鍵暗号方式は、暗号化に使用する鍵と復号化とで異なる鍵を使用する方式である。
【０００４】
ここで、公開鍵暗号方式は、暗号化及び復号化に要する計算量が多くなるので、例えば認証データを伝送する場合のように伝送されるデータ量が比較的少ない通信には使用できても、例えば画像や音声、数値データを伝送する場合のように伝送されるデータ量が多く、高いスループットが要求されるデータ通信に使用するのは難しい。したがって、それら伝送データ量が多く、高いスループットが要求されるデータ通信の際には、上記共有鍵暗号方式が一般に使用されている。
【０００５】
共有鍵暗号方式は、暗号文を復号する際に、暗号化に使用した暗号鍵と同じ復号鍵が必要となるので、暗号通信が開始される前に送信側と受信側との間で暗号鍵を統一しておかなければならない。したがって、共有鍵暗号方式を用いて通信を行う正規の通信装置は、送信側と受信側とで共有された暗号鍵（共有鍵）を予め格納しておくことになる。
【０００６】
ところで、現時点で存在する多くの暗号化方式は、何れも完全なものではない。したがって、長い時間と多くの手間をかければ、暗号文を平文へ解読することも不可能ではない。特に、同一の暗号鍵を用いた暗号文が数多く存在すると、それら暗号文の差分解析などの手法により、暗号文が第三者に解読されてしまう虞がある。それゆえ、通信の安全性を高めるために、暗号鍵を通信毎に変更する手法が考案されている。なお、各通信毎に生成される暗号鍵は、通信用暗号鍵（セッション鍵）と呼ばれている。但し、この手法においても、例えば通信用暗号鍵がそのまま伝送路に送出されると、その通信用暗号鍵自体が盗聴されてしまう虞がある。通信用暗号鍵自体が盗聴された場合、第三者がその通信用暗号鍵を用いて生成された暗号文を復号できることになる。
【０００７】
このようなことから、従来より、正規の通信装置に上記共有鍵を予め配付しておくと共に、暗号通信に先立ってあるデータを送出し、当該データと上記共有鍵とに基づいて通信用暗号鍵を生成することで、通信用暗号鍵の盗聴を防止し得る手法が考案されている。例えば第三世代無線通信では、予め端末側とネットワーク側に共通鍵を用意しておき、通信時には個々のデータブロックを識別するための識別情報であるシーケンスナンバー（ＳＮ）をブロック毎に順次割り当て、これらシーケンスナンバー毎にそれぞれ個別の通信暗号鍵を生成して暗号化する、いわゆるブロック暗号アルゴリズムが採用されている。なお、一般的なブロック暗号アルゴリズムは、例えば特許文献１，２等に詳細が述べられている。
【０００８】
また、ブロック暗号アルゴリズムは、第三世代携帯電話（３ＧＰＰ）標準規格の「ＫＡＳＵＭＩ」アルゴリズム（３ＧＰＰ  ＴＳ  ３５．２０２「ＫＡＳＵＭＩ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」）を利用した「ｆ８」暗号アルゴリズム（３ＧＰＰ  ＴＳ  ３５．２０１「ｆ８  ａｎｄ  ｆ９  Ｓｐｅｃｉｆｉｃａｔｉｏｎ」）にも採用されている。
【０００９】
以下、第三世代携帯電話標準規格で採用されている「ｆ８」暗号アルゴリズムについて、図８〜図１２を参照しながら説明する。
【００１０】
図８は、「ｆ８」暗号アルゴリズムによるデータの暗号化と復号化の流れを機能的に表している。この図８において、送信側の通信装置は、６４ビットの鍵要素１０１から「ｆ８」暗号アルゴリズム１０２により通信用暗号鍵１０３を生成すると共に、６４ビットブロックのデータ１０４と上記通信用暗号鍵１０３を排他的論理和演算１０５することで、暗号データ１０６のブロックを生成する。送信側の通信装置は、以上の処理をブロック毎に行う。一方、受信側の通信装置は、鍵要素１１１から「ｆ８」暗号アルゴリズム１１２により通信用暗号鍵１１３を生成すると共に、受信した暗号データ１０６と上記通信用暗号鍵１１３の排他的論理和演算１１４を行うことにより、復号データ１１５のブロックを生成（つまりデータ１０４のブロックを復元）する。当該受信側の通信装置は、以上の処理をブロック毎に行う。
【００１１】
図９は、図８の「ｆ８」暗号アルゴリズムにおける通信用暗号鍵の生成の流れを各ブロック毎の処理に分けて機能的に表す。
【００１２】
この図９において、先ず、１番目のブロック（６４ビット）で使用される通信用暗号鍵１２４は、鍵要素１２１とブロックカウント（ＢｌｏｃｋＣｏｕｎｔ）と呼ばれる要素（ＢｌｏｃｋＣｏｕｎｔ＝０）との排他的論理和演算１２２、及び、ＫＡＳＵＭＩ演算１２３により生成される。そして、図８の送信側の通信装置は、１番目のブロックのデータ１０４と当該通信用暗号鍵１２４を使用した排他的論理和演算１０５により、１番目のブロックの暗号データ１０６を生成して送信する。次に、２番目のブロックで使用される通信用暗号鍵１２８は、鍵要素１２１とブロックカウント（ＢｌｏｃｋＣｏｕｎｔ＝１）との排他的論理和演算１２５、その排他的論理和演算１２５後の要素と１番目のブロックで生成された通信用暗号鍵１２４との排他的論理和演算１２６、及びＫＡＳＵＭＩ演算１２７により生成される。そして、図８の送信側通信装置は、この２番目のブロックのデータ１０４と当該通信用暗号鍵１２８を使用した排他的論理和演算１０５により、２番目のブロックの暗号データ１０６を生成して送信する。次に、３番目のブロックで使用される通信用暗号鍵１３２は、鍵要素１２１とブロックカウント（ＢｌｏｃｋＣｏｕｎｔ＝２）との排他的論理和演算１２９、その排他的論理和演算１２９後の要素と２番目のブロックで生成された通信用暗号鍵１２８との排他的論理和演算１３０、及び、ＫＡＳＵＭＩ演算１３１により生成される。そして図８の送信側通信装置は、この３番目のブロックのデータ１０４と当該通信用暗号鍵１３２を使用した排他的論理和演算１０５により、３番目のブロックの暗号データ１０６を生成して送信する。以下同様にして、ｎ番目のブロックで使用される通信用暗号鍵１３７までが順次生成され、図８の送信側通信装置は、その通信用暗号鍵１３７を用いてｎ番目のブロックの暗号データ１０６を生成して送信する。
【００１３】
一方、受信側の通信装置も同様であり、先ず１番目のブロックで使用される通信用暗号鍵１２４は、鍵要素１２１とブロックカウント（ＢｌｏｃｋＣｏｕｎｔ＝０）との排他的論理和演算１２２、及びＫＡＳＵＭＩ演算１２３により生成される。そして、図８の受信側通信装置は、１番目のブロックの暗号データ１０６と当該通信用暗号鍵１２４を使用した排他的論理和演算１１４により、１番目のブロックの復号データ１１５を生成する。次に、受信側通信装置は、２番目のブロックで使用される通信用暗号鍵１２８を、鍵要素１２１とブロックカウント（ＢｌｏｃｋＣｏｕｎｔ＝１）との排他的論理和演算１２５、当該排他的論理和演算１２５後の要素と１番目のブロックで生成された通信用暗号鍵１２４との排他的論理和演算１２６、及びＫＡＳＵＭＩ演算１２７により生成した後、２番目のブロックの暗号データ１０６と当該通信用暗号鍵１２８を使用した排他的論理和演算１０５により、２番目のブロックの復号データ１１５を生成する。次に、受信側通信装置は、３番目のブロックで使用される通信用暗号鍵１３２を、鍵要素１２１とブロックカウント（ＢｌｏｃｋＣｏｕｎｔ＝２）との排他的論理和演算１２９、当該排他的論理和演算１２９後の要素と２番目のブロックで生成された通信用暗号鍵１２８との排他的論理和演算１３０、及び、ＫＡＳＵＭＩ演算１３１により生成した後、３番目のブロックの暗号データ１０６と当該通信用暗号鍵１３２を使用した排他的論理和演算１０５により、３番目のブロックの復号データ１１５を生成する。以下同様に、受信側通信装置は、ｎ番目のブロックで使用される通信用暗号鍵１３７までを順次生成し、その通信用暗号鍵１３７を用いてｎ番目のブロックの復号データ１１５を生成する。
【００１４】
また、上述した通信用暗号鍵の生成と暗号化又は復号化のシーケンスは、図１０に示すタイミングチャートで表すことができる。
【００１５】
この図１０において、暗号化又は復号化の開始時には、先ず、鍵要素演算Ｅ１００により鍵要素が生成される。次に、通信用暗号鍵演算Ｋ１０１により１番目のブロックに使用される通信用暗号鍵が生成され、その後、当該通信用暗号鍵を用いた排他的論理和演算Ｘ１０１が行われる。次に、通信用暗号鍵演算Ｋ１０２により２番目のブロックに使用される通信用暗号鍵が生成され、その後、当該通信用暗号鍵を用いた排他的論理和演算Ｘ１０２が行われる。以下同様である。
【００１６】
【特許文献１】
実開平８−１３６７号公報
【特許文献２】
特開平６−３４２２５８号公報
【００１７】
【発明が解決しようとする課題】
以上説明したように、「ｆ８」暗号アルゴリズムに採用されているブロック暗号アルゴリズムによれば、２番目以降の各ブロックで使用される各通信用暗号鍵が、それぞれ一つ前のブロックに対応して生成された通信用暗号鍵を要素として生成されている。言い換えると、２番目以降の各ブロックで使用される各通信用暗号鍵を生成するための処理は、それぞれ一つ前のブロックの通信用暗号鍵の生成演算が終了するまで開始できない。また、ブロック暗号アルゴリズムを用いた場合、図１０に示したように、上記通信用暗号鍵生成の演算と上記暗号化又は復号化のための排他的論理和演算とが、各ブロック毎に繰り返し行われることになる。すなわち、ブロック暗号アルゴリズムの場合、各ブロックの暗号化又は復号化の間に、処理量の多い通信用暗号鍵生成の演算が必ず入るため、全体的な転送効率がなかなか上げられないといった問題がある。
【００１８】
一方で、無線通信等のデータ通信時に必要とされる転送効率は、今後は更に上げることが必要になると予想される。
【００１９】
また、特に受信側の通信装置において連続してデータを受信するためには、図１１に示すように、データの無線通信Ｃ１０１，Ｃ１０２，Ｃ１０３，…と、それら各無線通信に各々対応した復号化処理Ｄ１０１，Ｄ１０２，Ｄ１０３，…とを、それぞれ１フレーム時間Ｆ１０１，Ｆ１０２，Ｆ１０３，…内に終了させなければならない。なお、図１１の１フレーム内の復号化処理では、図１０に示した鍵生成及び排他的論理和演算が行われる。しかしながら、例えば図１２に示すように、各無線通信Ｃ１１１，Ｃ１１２，Ｃ１１３，…と各復号化処理Ｄ１１１，Ｄ１１２，Ｄ１１３，…が、それぞれ１フレーム時間Ｆ１０１，Ｆ１０２，Ｆ１０３，…内に終了できないと、オーバーフローが発生し、処理が破綻してしまうことになる。すなわち、フレーム時間Ｆ１０１内で処理が終了すべき復号化処理Ｄ１１１が次のフレーム時間Ｆ１０２にずれ込むことで、さらに次の復号化処理Ｄ１１２が遅れてしまうと、通信装置では処理が破綻してしまう。
【００２０】
また、ブロック暗号アルゴリズムは、前述のように各ブロック毎に順番に通信用暗号鍵を生成する仕様となされている。このため、例えば、データ転送の失敗等により、ある所望のブロックのデータの再送が必要になった場合、通信装置は、当該所望のブロックの再送データの暗号化又は復号化を行うことだけのために、その所望のブロック以前の各ブロックの通信用暗号鍵を順次生成しなければならなくなる。すなわち、再送制御が行われる場合、処理量の多い鍵生成演算処理が重複し、通信装置への負荷が増大するという問題がある。
【００２１】
本発明は、このような課題に鑑みてなされたものであり、ブロック暗号アルゴリズムを採用した通信時において、全体的な転送効率を向上させ、また、再送制御の際の処理量を低減して装置への負担を軽減可能とする、暗号処理装置及び方法を提供することを目的とする。
【００２２】
【課題を解決するための手段】
本発明の暗号処理装置は、少なくともデータ毎の識別情報を予測する情報管理部と、複数の識別情報に各々対応した鍵情報を生成する鍵生成部と、入力された処理対象データの識別情報を参照してそれに対応した鍵情報を選択する鍵参照部と、選択された鍵情報と処理対象データとで所定の演算処理を行う演算部とを有する。
【００２３】
また、本発明の暗号処理方法は、少なくともデータ毎の識別情報を予測し、複数の識別情報に各々対応した鍵情報を生成し、入力された処理対象データの識別情報を参照してそれに対応した鍵情報を選択し、その選択された鍵情報と処理対象データとで所定の演算処理を行う。
【００２４】
本発明によれば、データ毎の識別情報を予測し、その予測した識別情報に対応した鍵情報を生成しているため、すなわち、所定の演算処理よりも先行して処理量の多い鍵情報の生成を完了させているため、鍵情報の生成遅延による所定の演算処理の遅れが無くなり、その結果、転送効率が向上する。
【００２５】
さらに、本発明によれば、各処理対象データに対して再度の演算処理が必要か否か判断し、再度の演算処理が必要とされる処理対象データの識別情報に対応した鍵情報を消去せずに残しておく。
【００２６】
すなわち本発明によれば、再度の演算処理が必要とされる処理対象データの識別情報に対応した鍵情報を保持しておくことで、再度の演算処理が行われる時に鍵情報を再生成する必要がない。
【００２７】
【発明の実施の形態】
以下、本発明の好ましい実施の形態について、図面を参照しながら説明する。
【００２８】
図１は、本発明にかかる一実施の形態の無線通信システムの概略構成を示す。この図１に示す無線通信システムは、本発明の暗号処理装置及び方法が適用される第三世代携帯電話端末１及び基地局２と、その他の無線端末や有線端末、通信事業者の管理サーバ、ユーザセンター等である他通信装置３とを含んで構成されている。図１の携帯電話端末１と基地局２は、共に略々同様の階層（レイヤ）構造により構成されている。以下、携帯電話端末１と基地局２の各階層の機能のうち、本発明に関連する機能のみを説明する。
【００２９】
ＲＲＣ（Ｒａｄｉｏ  Ｒｅｓｓｏｕｒｃｅ  Ｃｏｎｔｒｏｌ）レイヤ１１，２１は、無線ベアラの確立，変更，解放を制御する。また、ＲＲＣレイヤ１１，２１は、電力制御の設定、秘匿（後述する暗号化及び復号化）手順の設定等も行う。
【００３０】
ＲＬＣ（Ｒａｄｉｏ  Ｌｉｎｋ  Ｃｏｎｔｒｏｌ）レイヤ１２，２２は、パケット通信時の非確認型データ転送モード（Ｕｎａｃｋｎｏｗｌｅｄｇｅ  Ｍｏｄｅ）と確認型データ転送モード（Ａｃｋｎｏｗｌｅｄｇｅ  Ｍｏｄｅ）におけるデータ秘匿（後述する暗号化及び復号化）、データの分割、結合、再送制御等を行う。
【００３１】
ＭＡＣ（Ｍｅｄｉｕｍ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）レイヤ１３，２３は、通話時の透過型データ転送モード（Ｔｒａｎｓｐａｒｅｎｔ  Ｍｏｄｅ）におけるデータ秘匿（暗号化及び復号化）、通信量及び品質の測定、優先データ制御等を行う。
【００３２】
ＰＨＹ（物理）レイヤ（Ｌ１：Ｌａｙｅｒ１）１４，２４は、送受信データの変調及び復調、拡散符号による拡散及び逆拡散を行う。
【００３３】
ここで、上記データの暗号化及び復号化は、携帯電話端末１と基地局２で実行される。なお、携帯電話端末１と基地局２のＲＬＣ１２，２２とＭＡＣ１３，２３の双方に暗号化及び復号化の機能（秘匿機能）は存在するが、以下に説明する本実施の形態の暗号化，復号化は、ＲＬＣレイヤ１２，２２にて実行される。
【００３４】
次に、図２〜図５を参照して、上記ＲＬＣレイヤ１２，２２において暗号化，復号化機能を実行するための構成と、暗号化，復号化処理の流れについて説明する。なお、以下の処理は、ハードウェア構成、又は例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内で実行されるソフトウェアの何れにより実現しても良い。
【００３５】
［復号化処理］
先ず、図２〜図４を用いて、復号化のための構成と復号化処理の流れを説明する。
【００３６】
図２及び図３において、鍵管理部４３は、アイドル状態のとき、ステップＳ１の処理として、端子４１から鍵要素とシーケンスナンバーとデータ長の各情報が入力されたか否か判断している。ここで、鍵要素は、秘匿鍵と各端末（携帯電話端末）毎の個別情報とからなる情報である。秘匿鍵は、ユーザ認証時に乱数と各端末毎の個別鍵を基に生成される情報である。また、ユーザ認証は、携帯電話端末１（ＲＲＣレイヤ１１より更に上位階層）と管理サーバ側のＨＬＲ（Ｈｏｍｅ  Ｌｏｃａｔｉｏｎ  Ｒｅｇｉｓｔｅｒ）にて保持されている、個別鍵とアルゴリズムを基に行われる。なお、各端末毎の個別情報は、通信事業者の管理サーバが管理している。また、上記ＨＬＲは、各通信事業者毎の管理サーバ内に設けられる。シーケンスナンバーは、受信される暗号データのブロック毎に割り振られた番号であり、各ブロックの暗号データの復号化に何れの通信用暗号鍵を使用するかの識別や、各ブロックの送り順、分割されたデータの識別などに使用される情報である。データ長は、これから送信されてくるデータの全長、言い換えると幾つのブロックが送信されてくるのかを表す情報である。なお、図４には、暗号文１６２にシーケンスナンバー（ＳＮ）１６１が付加された状態の１ブロック分の暗号データ１６０を示している。
【００３７】
鍵管理部４３は、鍵要素、シーケンスナンバー、データ長の各情報が入力されると、ステップＳ２の処理として、シーケンスナンバーとデータ長とから、これから受信する（つまり現時点では未受信の）暗号データブロックのシーケンスナンバーを予測する。すなわち、シーケンスナンバーは、本来、ブロック毎に連続的に与えられるものであるため、次に受信することになるブロックのシーケンスナンバーは予測可能であり、したがって鍵管理部４３は、実際にデータ通信が開始される前に、それら各ブロックのシーケンスナンバーを予測する。そして、鍵管理部４３は、その予測したシーケンスナンバーに対応した通信用暗号鍵の生成を、鍵生成部４４に要求する。また、このときの鍵管理部４３は、鍵要素とデータ長の情報を鍵生成部４４へ渡す。
【００３８】
鍵生成部４４は、ステップＳ３の処理として、鍵管理部４３からの要求に応じて、鍵要素とデータ長の情報を基に、各シーケンスナンバーに対応する通信用暗号鍵を順次生成し、それら各通信用暗号鍵を鍵記憶部４６へ出力する。
【００３９】
鍵記憶部４６は、ステップＳ４の処理として、鍵生成部４４から送られてきた各通信用暗号鍵を記憶する。またこの時の鍵記憶部４６は、鍵管理部４３が予測した各シーケンスナンバーの情報を入手し、それら各シーケンスナンバーの情報を上記各通信用暗号鍵と関連付けして記憶する。
【００４０】
なお、鍵管理部４３でのシーケンスナンバーの予測処理、鍵生成部４４での通信用暗号鍵の生成処理、及び、鍵記憶部４６での通信用暗号鍵の記憶処理は、所望の転送効率を達成するために必要な数だけ行っても良いし、これから送信されてくると予測される全ての暗号データブロック（つまり全シーケンスナンバー）に対応した数分行っても良い。
【００４１】
以上の処理は、実際のデータ通信が開始される前に行われる。
【００４２】
次に、鍵管理部４３と鍵参照部４５は、ステップＳ５の処理として、実際のデータ通信が開始されたか否か判断する。ここで、実際のデータ通信が開始されると、端子４２には受信された暗号データが各ブロック毎に順次入力される。当該入力されたブロックの暗号データは、鍵参照部４５と排他的論理和演算部４７へ送られる。
【００４３】
実際のデータ通信が開始されると、鍵参照部４５は、ステップＳ６の処理として、入力された暗号データのブロックのシーケンスナンバーの値を確認し、ステップＳ７の処理としてそのシーケンスナンバーに対応した通信用暗号鍵を選択的に出力するよう、鍵記憶部４６に要求する。そして、その要求に応じて鍵記憶部４６から出力された通信用暗号鍵は、排他的論理和演算部４７へ送られる。
【００４４】
排他的論理和演算部４７は、ステップＳ８の処理として、上記鍵記憶部４６から受け取った通信用暗号鍵と上記端子４２から入力された暗号データとの排他的論理和演算を行うことにより、当該暗号データを復号化する。すなわち本実施の形態によれば、予測された各シーケンスナンバーにより通信用暗号鍵が生成されて記憶され、実際にデータ通信が開始されたときには、それら記憶された通信用暗号鍵を使用して、処理の軽い排他的論理和演算を順次実行することで、暗号データの復号化を高い転送効率で実現している。上記復号化により得られた復号データは、端子４８から次のレイヤへ送られることになる。
【００４５】
また、鍵管理部４３は、ステップＳ１１の処理として、データの受信と復号化が完了したブロックのシーケンスナンバーに対応した通信用暗号鍵の消去を、上記鍵記憶部４６へ要求する。
【００４６】
ここで、例えばデータ転送の失敗等により受信又は復号化が完了していないブロックがある場合、本実施の形態の携帯電話端末１，基地局２は、それぞれ当該受信又は復号化が完了していないブロックの暗号データの再送要求を行うことができる。
【００４７】
このため、鍵管理部４３は、上記ステップＳ１１の鍵消去処理の際に、ステップＳ９及びステップＳ１０の処理として、再送要求を行うか否か判断しており、再送要求を行う場合には、当該再送要求するブロックのシーケンスナンバーに対応した通信用暗号鍵を上記鍵記憶部４６から消去させない。
【００４８】
言い換えると、鍵管理部４３は、データの受信と復号化が完了していて再送される可能性のないブロックのシーケンスナンバーに対応した通信用暗号鍵のみの消去を、上記鍵記憶部４６へ要求する。
【００４９】
そして、鍵参照部４５は、上記再送要求に応じて送信されてきたブロックのシーケンスナンバーの値を確認し、そのシーケンスナンバーに対応した通信用暗号鍵を出力するよう、鍵記憶部４６に要求する。これにより、排他的論理和演算部４７では、再送されてきたブロックの暗号データが、上記通信用暗号鍵により復号化されることになる。
【００５０】
［暗号化処理］
以上は復号化の流れであるが、上述同様の処理は暗号化の際にも適用可能である。
【００５１】
以下、入力データを暗号化するまでの流れを、図２と図５を参照しながら説明する。
【００５２】
図２及び図５において、鍵管理部４３は、アイドル状態のとき、ステップＳ２１の処理として、端子４１から鍵要素とシーケンスナンバーとデータ長の各情報が入力されたか否か判断する。鍵要素は、復号化時と同様、秘匿鍵と各端末（携帯電話端末）毎の個別情報とからなる情報である。当該暗号化時のシーケンスナンバーは、送信する暗号データのブロック毎に割り振られる番号であり、各ブロックのデータの暗号化に何れの通信用暗号鍵を使用するかの識別や、各ブロックの送り順、分割したデータの識別などに使用される情報である。データ長は、これから送信するデータの全長、言い換えると幾つのブロックを送信するのかを表す情報である。
【００５３】
暗号化時の鍵管理部４３は、ステップＳ２２の処理として、鍵要素とデータ長の情報を鍵生成部４４へ送ると共に、入力されたシーケンスナンバー（現時点では未送信のブロックのシーケンスナンバー）に対応した通信用暗号鍵の生成を、当該鍵生成部４４へ要求する。なお、当該暗号化時の鍵管理部４３は、復号化時と同様にシーケンスナンバーを予測することも可能である。
【００５４】
鍵生成部４４は、ステップＳ２３の処理として、入力された各シーケンスナンバーに対応する通信用暗号鍵を順次生成し、それら各通信用暗号鍵を鍵記憶部４６へ出力する。
【００５５】
鍵記憶部４６は、ステップＳ２４の処理として、上記鍵生成部４４にて生成された各通信用暗号鍵と、鍵管理部４３から送られてくる各シーケンスナンバーとを関連付けして記憶する。
【００５６】
なお、復号化時と同様、鍵生成部４４での通信用暗号鍵の生成処理や鍵記憶部４６での通信用暗号鍵の記憶処理は、所望の転送効率を達成するために必要な数だけ行っても良いし、これから送信する全てのデータブロック（つまり全シーケンスナンバー）に対応した数分行っても良い。
【００５７】
以上の処理は、実際のデータ通信が開始される前に行われる。
【００５８】
次に、鍵管理部４３と鍵参照部４５は、ステップＳ２５の処理として、実際のデータ通信を開始するか否か判断する。実際のデータ通信を開始するとき、端子４２には暗号化すべきデータが各ブロック毎に順次入力される。当該入力されたブロックのデータは、鍵参照部４５と排他的論理和演算部４７へ送られる。
【００５９】
鍵参照部４５は、ステップＳ２６の処理として、入力されたデータのブロックのシーケンスナンバーの値を確認し、そのシーケンスナンバーに対応した通信用暗号鍵を選択的に出力するよう、鍵記憶部４６に要求する。当該要求に応じて鍵記憶部４６から出力された通信用暗号鍵は、排他的論理和演算部４７へ送られる。
【００６０】
排他的論理和演算部４７は、ステップＳ２８の処理として、上記鍵記憶部４６から受け取った通信用暗号鍵と上記端子４２から入力されたデータとの排他的論理和演算を行うことにより暗号データを生成する。すなわち本実施の形態によれば、入力された各シーケンスナンバーにより通信用暗号鍵が生成されて記憶され、実際にデータ通信が開始されるときには、それら記憶された通信用暗号鍵を使用して、処理の軽い排他的論理和演算を順次実行することで、データの暗号化を高い転送効率で実現している。上記暗号化により得られた暗号データは、端子４８から次のレイヤへ送られることになる。
【００６１】
また、鍵管理部４３は、ステップＳ３１の処理として、データの暗号化と送信が完了したブロックのシーケンスナンバーに対応した通信用暗号鍵の消去を、上記鍵記憶部４６へ要求することも行う。
【００６２】
ここで、例えばデータ転送の失敗等により、暗号化又は送信が完了しなかったり、受信側において受信又は復号化が完了しなかったことにより、再送すべきブロックがある場合、本実施の形態の携帯電話端末１，基地局２は、その再送すべきブロックを再度暗号化して送信することができる。
【００６３】
このため、鍵管理部４３は、上記ステップＳ３１の鍵消去処理の際に、ステップＳ２９及びステップＳ３０の処理として、再送要求が行われたか否か判断しており、再送要求が行われた場合には、当該再送要求されたブロックのシーケンスナンバーに対応した通信用暗号鍵を上記鍵記憶部４６から消去させない。
【００６４】
言い換えると、鍵管理部４３は、再送する可能性のないブロックのシーケンスナンバーに対応した通信用暗号鍵のみの消去を、上記鍵記憶部４６へ要求する。
【００６５】
そして、鍵参照部４５は、上記再送要求に応じたブロックのシーケンスナンバーの値を確認し、そのシーケンスナンバーに対応した通信用暗号鍵を出力するよう、鍵記憶部４６に要求する。これにより、排他的論理和演算部４７では、再送すべきブロックのデータが、上記通信用暗号鍵により暗号化されることになる。
【００６６】
［まとめ］
上述した本実施の形態の携帯電話端末１，基地局２での復号化又は暗号化のシーケンスは、図６に示すタイミングチャートで表すことができる。
【００６７】
この図６において、本実施の形態によれば、実際のデータ通信の開始に先立ち、鍵要素演算Ｅ１により鍵要素が生成され、さらに、通信用暗号鍵演算Ｋ１，Ｋ２，Ｋ３，…により各ブロックのシーケンスナンバーに各々対応する通信用暗号鍵が生成され、それら生成された通信用暗号鍵が記憶される。その後、実際のデータ通信が開始されると、各ブロックのシーケンスナンバーに対応して生成され且つ記憶された各通信用暗号鍵を用いて、排他的論理和演算Ｘ１，Ｘ２，Ｘ３，…が連続的に行われる。
【００６８】
また、本実施の形態によれば、特に受信側において、図７に示すように、データの無線通信Ｃ１，Ｃ２，Ｃ３，…に先だって、通信用暗号鍵演算Ｋ１，Ｋ２，Ｋ３，…が行われるため、実際に無線通信が開始された後に復号化の処理Ｄ１，Ｄ２，Ｄ３，…が遅れてしまうことはなく、したがって前述の図１２で説明したような受信時に問題となるオーバーフローによる処理破綻の発生を防止できる。
【００６９】
以上説明したように、本実施の形態の携帯電話端末１、基地局２は、排他的論理和演算に比べて演算処理量が非常に多い通信用暗号鍵の生成を、実際のデータ通信の開始に先だって行っており、実際のデータ通信が開始された後は、先に作成された通信用暗号鍵を使用して暗号化処理や復号化処理を行うため、暗号化時や復号化時の転送効率を上げることができる。
【００７０】
また、本実施の形態によれば、鍵記憶部４６に記憶された通信用暗号鍵を、再送されるブロックの暗号化や復号化時にも使用するため、当該再送されるブロックに対応した通信用暗号鍵を再度生成する無駄を省くことができ、装置の負担を軽減することが可能である。
【００７１】
なお、上述した実施の形態の説明は、本発明の一例である。このため、本発明は上述した実施の形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることはもちろんである。
【００７２】
上述した実施の形態では、送信側の暗号化と受信側の復号化の両方に本発明を適用した例を述べているが、特に受信側にのみ適用する事も可能である。
【００７３】
また、本実施の形態によれば、通信用暗号鍵の生成をデータ受信開始時に行うという制約がないため、例えば、複数の通信用暗号鍵の生成を並列処理により行うことも可能であり、通信用暗号鍵生成処理の自由度は非常に高い。例えば、図７における通信用暗号鍵演算Ｋ１，Ｋ２，Ｋ３，…は、それぞれが独立して行われる処理であるため、それらを並列的に処理することなども容易である。これら並列処理を行えば、転送効率をさらに向上させることができる。
【００７４】
また、本実施の形態の暗号処理装置は、携帯電話端末や基地局以外に、第三世代無線通信に対応した通信機能を備えたカーナビゲーション装置等の移動体端末やＰＤＡ装置（ＰＤＡ：Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等であっても良い。
【００７５】
さらに、本発明は、例えば、複数のデータに対して別々の通信用暗号鍵で暗号化又は復号化を行うときに、それぞれに使用する各通信用暗号鍵が個々に識別情報によって識別及び選択可能であり、次に処理されるデータの識別情報を予測可能なシステムであるならば、上述した第三世代無線通信システムに限らず、他のシステムにも適用可能である。
【００７６】
【発明の効果】
本発明においては、識別情報を予測し、その予測した各識別情報に各々対応した鍵情報を先行生成し、その後、処理対象データの識別情報を参照してそれに対応した鍵情報を選択し、その選択された鍵情報と処理対象データとで所定の演算処理を行うことにしているため、全体的な転送効率を向上させることができる。
【００７７】
また、本発明においては、再度の演算処理が必要とされる処理対象データの識別情報に対応した鍵情報を消去せずに残すようにし、再送制御の際に鍵情報を再生成する等の無駄を省いているため、処理量を低減でき、装置への負担を軽減できる。
【図面の簡単な説明】
【図１】本実施の形態の無線通信システムの概略構成を示すブロック図である。
【図２】本実施の形態の携帯電話端末、基地局内で暗号化、復号化処理を実行する構成例を示すブロック図である。
【図３】通信用暗号鍵の生成と復号化処理の流れを示すフローチャートである。
【図４】シーケンスナンバーが付加された暗号データの構成を示す図である。
【図５】通信用暗号鍵の生成と暗号化処理の流れを示すフローチャートである。
【図６】本実施の形態の携帯電話端末，基地局内で行われる通信用暗号鍵の生成と復号化又は暗号化のタイミングチャートである。
【図７】本実施の形態の携帯電話端末，基地局がデータを受信する際の通信用暗号鍵の生成と復号化のタイミングチャートである。
【図８】「ｆ８」暗号アルゴリズムによるデータの暗号化と復号化の流れを機能的に説明するための図である。
【図９】「ｆ８」暗号アルゴリズムにおいて、通信用暗号鍵の生成の流れを各ブロック毎の処理に分けて機能的に説明するための図である。
【図１０】「ｆ８」暗号アルゴリズムにおける通信用暗号鍵の生成と復号化又は暗号化のタイミングチャートである。
【図１１】データを受信する際の「ｆ８」暗号アルゴリズムによる通信用暗号鍵の生成と復号化のタイミングチャートである。
【図１２】データ受信時のオーバーフローの説明に用いるタイミングチャートである。
【符号の説明】
１…携帯電話端末、２…基地局、３…他通信装置、１１，２１…ＲＲＣレイヤ、１２，２２…ＲＬＣレイヤ、１３，２３…ＭＡＣレイヤ、１４，２４…ＰＨＹ（Ｌ１）レイヤ、４３…鍵管理部、４４…鍵生成部、４５…鍵参照部、４６…鍵記憶部、４７…排他的論理和演算部、Ｅ１…鍵要素演算、Ｋ１，Ｋ２，ｋ３…通信用暗号鍵演算、Ｘ１，Ｘ２，Ｘ３…排他的論理和演算、Ｃ１，Ｃ２，Ｃ３…無線通信、Ｄ１，Ｄ２，Ｄ３…復号化処理
【図１】
2004186939.tif 000003
【図２】
2004186939.tif 000004
【図３】
2004186939.tif 000005
【図４】
2004186939.tif 000006
【図５】
2004186939.tif 000007
【図６】
2004186939.tif 000008
【図７】
2004186939.tif 000009
【図８】
2004186939.tif 000010
【図９】
2004186939.tif 000011
【図１０】
2004186939.tif 000012
【図１１】
2004186939.tif 000013
【図１２】
2004186939.tif 000014