(57)【特許請求の範囲】
【請求項１】
データ送信側の暗号部において送信データを暗号化し、データ受信側の復号部において受信データを復号化する暗号通信システムであって、
暗号部は、暗号化する各データに所定の同期確認用データを挿入する同期確認用データ挿入手段と、
暗号化する各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、
各データを暗号化するための暗号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する暗号情報生成手段と、
同期確認用データが挿入されたデータを暗号情報により暗号化する暗号化手段と、
暗号化したデータにデータ順番情報を表すデータの下位ビットのデータを挿入する下位データ挿入手段とを備え、
復号部は、受信した各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、
受信したデータを復号化するための復号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する復号情報生成手段と、
受信したデータを復号情報により復号化する復号化手段と、
復号化したデータ内に挿入されている同期確認用データと予め保持する同期確認用データとを比較して一致しているならば復号化したデータを出力する同期制御手段とを備え、
暗号部の順番情報設定手段および復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定する
ことを特徴とする暗号通信システム。
【請求項２】
同期制御手段は、同期確認用データが一致しないならば、復号部の順番情報設定手段に、下位データ挿入手段がデータに挿入する下位ビット以外のデータを変更してカウンタを変更させ、復号情報生成手段による復号情報の生成と復号化手段による受信データの復号化を繰り返すことを特徴とする請求項１記載の暗号通信システム。
【請求項３】
暗号部および復号部を備える複数の端末と、前記複数の端末とデータ送受信を行うアクセスネットワークシステムとを備えた移動通信システムであって、
アクセスネットワークシステムは、
送信する各データに応じたデータ順番情報を設定して送信データを暗号化する複数の暗号部と、
受信する各データに応じたデータ順番情報を設定して受信データを復号化する複数の復号部と、
前記暗号部および前記復号部の切り替えを制御する切り替え制御手段とを備え、
端末が備える暗号部およびアクセスネットワークシステムが備える暗号部は、
暗号化する各データに所定の同期確認用データを挿入する同期確認用データ挿入手段と、
暗号化する各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、
各データを暗号化するための暗号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する暗号情報生成手段と、
同期確認用データが挿入されたデータを暗号情報により暗号化する暗号化手段と、
暗号化したデータにデータ順番情報を表すデータの下位ビットのデータを挿入する下位データ挿入手段とを備え、
端末が備える復号部およびアクセスネットワークシステムが備える復号部は、
受信した各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、
受信したデータを復号化するための復号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する復号情報生成手段と、
受信したデータを復号情報により復号化する復号化手段と、
復号化したデータ内に挿入されている同期確認用データと予め保持する同期確認用データとを比較して一致しているならば復号化したデータを出力する同期制御手段とを備え、
アクセスネットワークシステムが備える暗号部は、
データの送受信を開始するときにデータ順番情報の初期値を切り替え制御手段に通知する手段を備え、
アクセスネットワークシステムが備える復号部は、
データの送受信を開始するときにデータ順番情報の初期値を切り替え制御手段に通知する手段を備え、
端末が備える暗号部の順番情報設定手段およびアクセスネットワークシステムが備える復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定し、
アクセスネットワークシステムが備える暗号部の順番情報設定手段および端末が備える復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定し、
端末が備える復号部の同期制御手段およびアクセスネットワークシステムが備える復号部の同期制御手段は、同期確認用データが一致しないならば、復号部の順番情報設定手段に、下位データ挿入手段がデータに挿入する下位ビット以外のデータを変更してカウンタを変更させ、復号情報生成手段による復号情報の生成と復号化手段による受信データの復号化を繰り返し、
切り替え制御手段は、各データに対する所定の処理時間間隔が経過する毎にデータ順番情報が示す順番を変更し、アクセスネットワークシステムの暗号部または復号部を切り替えるときに切り替え制御手段が有しているデータ順番情報を新たに用いるアクセスネットワークシステムの暗号部または復号部に引き継がせる
ことを特徴とする移動通信システム。
【請求項４】
切り替え制御手段は、データ順番情報が示す順番を変更するときにはカウンタを増加し、暗号部または復号部を切り替えるときには切り替え時におけるカウンタを引き継がせることを特徴とする請求項３記載の移動通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、暗号化した情報の送受信を行う暗号通信システムおよび暗号通信システムを適用した移動通信システムに関する。
【０００２】
【従来の技術】
情報を送受信する場合に、情報伝達過程での情報の盗聴等を防止するため暗号化技術が用いられている。データ転送速度が速い場合であっても高速に暗号化処理を行える暗号方式として、ストリーム暗号方式が知られている。ストリーム暗号方式は、乱数等を表した暗号ビットストリームと平文との間で、ビット毎に排他的論理和演算をすることで暗号文を得る。暗号文を受信して復号化する際には、その暗号ビットストリームと暗号文との排他的論理和演算をビット毎に行い平文を得る。
【０００３】
図１０は、従来の暗号通信システムの構成の例を示すブロック図である。図１０において、フレームカウンタ生成回路６０は、入力されるデータフレーム毎にカウンタを増加させ、暗号ビットストリーム生成部６１に出力する。暗号ビットストリーム生成部６１は、暗号鍵部６２から入力する暗号鍵と各データフレームに対応するカウンタに基づいて暗号ビットストリームを生成する。排他的論理和回路６３は、各データフレームとそのデータフレームに対応する暗号ビットストリームとの間で１ビット毎に排他的論理和演算を行い、暗号文を得る。暗号文を復号化するときにも各カウンタと暗号鍵に基づき暗号ビットストリームを生成し、各データフレームの暗号文とそのデータフレームに対応する暗号ビットストリームとの間で１ビット毎に排他的論理和演算を行い、平文を得る。なお、データフレームとは、暗号化するデータのまとまりをいう。
【０００４】
また、図１１は、特開平１１−４１２４５号公報に記載されている暗号通信システムを示すブロック図である。この暗号通信システムにおいては、乱数を発生させ、乱数中のどの部分を用いて暗号化を行うかを示すカウンタ情報を作成する。そして、各カウンタによって位置が定められる乱数中の一部と平文との間で排他的論理和演算を行う。この結果得られた暗号文に対し、カウンタ情報を付与して送信する。このデータを受信して復号化する場合、暗号文に付与されたカウンタ情報を抽出し、そのカウンタに基づいて乱数中の一部を特定する。この乱数の一部と暗号文との間で排他的論理和演算を行い、平文を得る。
【０００５】
図１２は、特開平１１−４１２４５号公報に記載されている暗号通信システムの第二の実施の形態を示すブロック図である。この暗号通信システムでは、平文のデータに対し、予め決められた所定のパターンの信号（フレーム信号）を挿入する。そして、フレーム信号が挿入された平文と乱数との間で排他的論理和演算を行い、暗号文を得る。このデータを受信し復号化する場合、暗号文と乱数との排他的論理和演算を行う。この結果から、フレーム信号を抽出し、フレーム信号が予め決められた所定のパターンとなっていることを確認する。所定のパターンと一致しているなら、同期が維持されており、また、情報が破壊されておらず正しく復号化されたと判断できる。一致していないならば、同期が維持されていないため、あるいは、情報が破壊されているため正しく復号化できなかったと判断できる。なお、「同期が維持されている」とは、各データと暗号ビットストリームとが対応していることをいう。
【０００６】
【発明が解決しようとする課題】
図１０に示す暗号通信システムでは、データ転送過程において一部のデータが破棄されたりすると、同期が維持できずに、正しく復号化できなくなる。そして、一度、同期が維持できなくなると、同期を回復させることはできなかった。図１１に示す暗号通信システムは、暗号文にカウンタ情報を付与することで、一部データの破棄等があっても、受信したデータについて同期を維持することができる。しかし、復号処理において乱数中の位置を特定するカウンタ情報が、データ転送過程において盗聴等される可能性があり、暗号強度が弱いという問題があった。また、図１２に示す暗号通信システムでは、同期が維持されているか否かを確認することはできるが、同期が維持されなくなったときに再同期させることができなかった。
【０００７】
また、端末とアクセスネットワークシステムとの通信に暗号通信システムを適用した場合、暗号部や復号部が故障したならば、他の暗号部や復号部と切り替え、短時間で同期を回復することが望ましい。
【０００８】
本発明は、同期の維持ができなくなっても同期を回復することができ、情報が盗聴等されにくい暗号通信システムと、短時間で暗号通信の同期を回復することができる移動通信システムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明による暗号通信システムは、データ送信側の暗号部において送信データを暗号化し、データ受信側の復号部において受信データを復号化する暗号通信システムであって、暗号部は、暗号化する各データに所定の同期確認用データを挿入する同期確認用データ挿入手段と、暗号化する各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、各データを暗号化するための暗号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する暗号情報生成手段と、同期確認用データが挿入されたデータを暗号情報により暗号化する暗号化手段と、暗号化したデータにデータ順番情報を表すデータの下位ビットのデータを挿入する下位データ挿入手段とを備え、復号部は、受信した各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、受信したデータを復号化するための復号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する復号情報生成手段と、受信したデータを復号情報により復号化する復号化手段と、復号化したデータ内に挿入されている同期確認用データと予め保持する同期確認用データとを比較して一致しているならば復号化したデータを出力する同期制御手段とを備え、暗号部の順番情報設定手段および復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定することを特徴とする。このような構成によれば、同期確認用データにより同期を維持しているか否かを確認することができる。
【００１７】
また、同期制御手段は、同期確認用データが一致しないならば、復号部の順番情報設定手段に、下位データ挿入手段がデータに挿入する下位ビット以外のデータを変更してカウンタを変更させ、復号情報生成手段による復号情報の生成と復号化手段による受信データの復号化を繰り返す。このような暗号通信システムによれば、同期を維持できなくなった場合でも、カウンタを変更させていくことにより同期を回復することができる。
【００２０】
また、本発明による移動通信システムは、暗号部および復号部を備える複数の端末と、前記複数の端末とデータ送受信を行うアクセスネットワークシステムとを備えた移動通信システムであって、アクセスネットワークシステムは、送信する各データに応じたデータ順番情報を設定して送信データを暗号化する複数の暗号部と、受信する各データに応じたデータ順番情報を設定して受信データを復号化する複数の復号部と、前記暗号部および前記復号部の切り替えを制御する切り替え制御手段とを備え、端末が備える暗号部およびアクセスネットワークシステムが備える暗号部は、暗号化する各データに所定の同期確認用データを挿入する同期確認用データ挿入手段と、暗号化する各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、各データを暗号化するための暗号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する暗号情報生成手段と、同期確認用データが挿入されたデータを暗号情報により暗号化する暗号化手段と、暗号化したデータにデータ順番情報を表すデータの下位ビットのデータを挿入する下位データ挿入手段とを備え、端末が備える復号部およびアクセスネットワークシステムが備える復号部は、受信した各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、受信したデータを復号化するための復号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する復号情報生成手段と、受信したデータを復号情報により復号化する復号化手段と、復号化したデータ内に挿入されている同期確認用データと予め保持する同期確認用データとを比較して一致しているならば復号化したデータを出力する同期制御手段とを備え、アクセスネットワークシステムが備える暗号部は、データの送受信を開始するときにデータ順番情報の初期値を切り替え制御手段に通知する手段を備え、アクセスネットワークシステムが備える復号部は、データの送受信を開始するときにデータ順番情報の初期値を切り替え制御手段に通知する手段を備え、端末が備える暗号部の順番情報設定手段およびアクセスネットワークシステムが備える復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定し、アクセスネットワークシステムが備える暗号部の順番情報設定手段および端末が備える復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定し、端末が備える復号部の同期制御手段およびアクセスネットワークシステムが備える復号部の同期制御手段は、同期確認用データが一致しないならば、復号部の順番情報設定手段に、下位データ挿入手段がデータに挿入する下位ビット以外のデータを変更してカウンタを変更させ、復号情報生成手段による復号情報の生成と復号化手段による受信データの復号化を繰り返し、切り替え制御手段は、各データに対する所定の処理時間間隔が経過する毎にデータ順番情報が示す順番を変更し、アクセスネットワークシステムの暗号部または復号部を切り替えるときに切り替え制御手段が有しているデータ順番情報を新たに用いるアクセスネットワークシステムの暗号部または復号部に引き継がせることを特徴とする。
【００２１】
例えば、切り替え制御手段は、データ順番情報が示す順番を変更するときにはカウンタを増加し、暗号部または復号部を切り替えるときには切り替え時におけるカウンタを引き継がせる構成である。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明による暗号通信システムの実施の一形態を示すブロック図である。暗号部１は、送信すべきデータフレームを入力し、そのデータを暗号化して出力する。復号部１１は、暗号化したデータを入力し、復号化して出力する。なお、以下の説明では、暗号部１が送信したデータは、情報伝達過程において順番が変わらないものとする。すなわち、復号部１１は、暗号部１が送信した順にデータを入力するものとする。
【００２３】
暗号部１において、フレームカウンタ生成回路２は、入力されるデータフレーム毎にカウンタを１増加させ、そのカウンタ（以後、フレームカウンタと記す。）をフレームカウンタ挿入回路３および暗号ビットストリーム生成部４に出力する。フレームカウンタ挿入回路３は、暗号部１に入力される各データフレームにフレームカウンタを挿入する。暗号鍵部５は、暗号ビットストリームを生成するための暗号鍵を保持する。暗号ビットストリーム生成部４は、暗号鍵部５から入力する暗号鍵と各データフレームに対応するフレームカウンタに基づいて暗号ビットストリームを生成する。排他的論理和回路６は、フレームカウンタが挿入されたデータフレームと各データフレームに対応する暗号ビットストリームとの排他的論理和演算を行う。暗号部１は、排他的論理和演算により暗号化された情報を出力する。このデータは、復号部１１に送信される。
【００２４】
復号部１１は、暗号部１から受信したデータを入力する。復号部１１において、データ保持回路１２は、受信したデータフレームを保持する。また、同期制御回路１６からデータ破棄の指示を入力されたときには、指示されたデータフレームを破棄する。
【００２５】
フレームカウンタ生成回路１３は、復号部１１に入力されたデータフレーム毎にフレームカウンタを１増加させ、フレームカウンタを暗号ビットストリーム生成部１４および同期制御回路１６に出力する。また、同期制御回路１６から要求があった場合にもフレームカウンタを１増加させ、同様に出力する。暗号鍵部１５は、暗号ビットストリームを生成するための暗号鍵を保持する。暗号ビットストリーム生成部１４は、フレームカウンタと暗号鍵部１５から入力する暗号鍵に基づいて暗号ビットストリームを生成する。排他的論理和回路１７は、データ保持回路１２が保持するデータフレームと暗号ビットストリームとの排他的論理和演算を行う。
【００２６】
同期制御回路１６は、排他的論理和回路１７が復号化したフレームカウンタと、フレームカウンタ生成回路２から入力されるフレームカウンタとの比較を行い、両者が同一であれば、復号化したデータフレームを出力する。同一でなければ、フレームカウンタ生成回路１３に１増加したフレームカウンタの出力を要求する。フレームカウンタ生成部１３は、同期制御回路１６から要求があった場合、フレームカウンタを１増加して出力する。そして、暗号ビットストリーム生成部１４、排他的論理和回路１７、同期制御回路１６は、復号化やフレームカウンタの比較を繰り返す。
【００２７】
次に、動作について説明する。
最初に、暗号部１と復号部１１は、予め情報の送受信を行い、暗号ビットストリーム生成部４，１４が暗号鍵部５，１５から入力する暗号鍵を設定する。このとき、同一の暗号鍵を暗号鍵部５，１５から入力するように設定する。この処理は、暗号化情報送受信の準備処理である。
【００２８】
続いて、情報を暗号化して送受信するときの動作を説明する。
暗号部１には、データ長が固定であるデータフレームが入力される。フレームカウンタ生成回路２は、暗号部１に入力されるデータフレーム毎に順番に１ずつフレームカウンタを増加させ、フレームカウンタをフレームカウンタ挿入回路３および暗号ビットストリーム生成部４に出力する。例えば、最初のデータフレームに対してフレームカウンタを０とし、以降のデータフレームに対してはフレームカウンタを１，２，３，・・・と増加させて出力する。フレームカウンタのデータは、例えば、図２に示すような３２ビット長のデータである。フレームカウンタの値がデータ長で表せる値を超えたときには、再度０からフレームカウンタを増加させる。フレームカウンタ挿入回路３は、入力されるデータフレームの先頭にフレームカウンタを挿入する。すなわち、フレームカウンタ挿入回路３は、図３（ａ）に示すようなデータフレームに対しフレームカウンタを挿入し、図３（ｂ）に示すデータとする。
【００２９】
暗号ビットストリーム生成部４は、フレームカウンタと暗号鍵部５から入力する暗号鍵に基づいて、各データフレームに対応する暗号ビットストリームを生成する。データフレーム毎に異なるフレームカウンタが入力されるので、暗号ビットストリーム生成部４は、データフレーム毎に異なる暗号ビットストリームを生成する。排他的論理和回路６は、図３（ｃ）に示すようにフレームカウンタが挿入されたデータフレームと暗号ビットストリームとの排他的論理和演算を１ビット毎に行い、その結果を出力する。排他的論理和回路６は、この演算により、図３（ｄ）に示すようにデータフレーム及びフレームカウンタを暗号化する。暗号化されたデータは、復号部１１に送信される。
【００３０】
このように、各フレームカウンタが挿入されたデータフレームが送信され、このデータフレームは送信された順に復号部１１に届く。復号部１１が暗号化した情報を入力した場合、データ保持回路１２は、暗号化したデータを保持する。このデータは、図３（ｄ）に示すようなデータである。
【００３１】
フレームカウンタ生成回路１３は、データ保持回路１２に入力されたデータフレーム毎に順番にフレームカウンタを増加させ、フレームカウンタを暗号ビットストリーム生成部１４および同期制御回路１６に出力する。
【００３２】
暗号ビットストリーム生成部１４は、フレームカウンタと暗号鍵部１５から入力する暗号鍵に基づいて暗号ビットストリームを生成する。暗号ビットストリーム生成部４，１４は、準備処理により設定された暗号鍵を入力するので、同じ値のフレームカウンタを入力したならば、同一の暗号ビットストリームを生成する。排他的論理和回路１７は、データ保持回路１２が保持するデータフレームと暗号ビットストリームとの排他的論理和演算を１ビット毎に行う。この演算により、図３（ｄ）に示す暗号化された状態から、図３（ｂ）に示す復号化された状態になる。ただし、この段階では、適切な暗号ビットストリームにより復号化されたか否かは不明である。
【００３３】
同期制御回路１６は、排他的論理和回路１７において復号化されたフレームカウンタと、フレームカウンタ生成回路１３から入力されるフレームカウンタを比較する。二つのフレームカウンタが一致していれば、暗号化時に用いたフレームカウンタと同じフレームカウンタによって暗号ビットストリームを作成し、その暗号ビットストリームにより復号化したことになる。すなわち、暗号化時と復号化時の暗号ビットストリームは同一であり、正しく復号化されていることになる。このように二つのフレームカウンタが一致した場合、同期制御回路１６は、データ保持回路１２に復号化する前のデータの破棄を指示し、データ保持回路１２はそのデータを破棄する。そして、同期制御回路１６は、復号化したデータから図３（ａ）に示すデータフレームを抽出して出力する。
【００３４】
また、同期制御回路１６が二つのフレームカウンタを比較したとき、両者が異なっていれば、暗号化時に用いたフレームカウンタと異なるフレームカウンタによって暗号ビットストリームを作成し、その暗号ビットストリームにより復号化したことになる。この場合、同期制御回路１６は、フレームカウンタ生成回路１３にフレームカウンタを１増加する命令を入力する。フレームカウンタ生成回路１３は、この命令によりフレームカウンタを１増加して、暗号ビットストリーム生成部１４および同期制御回路１６に出力する。暗号ビットストリーム生成部１４は、１増加したフレームカウンタに基づき暗号ビットストリームを生成し、排他的論理和回路１７は、この暗号ビットストリームにより復号化を行う。同期制御回路１６が二つのフレームカウンタが一致したと判断するまで、以上の動作を繰り返す。
【００３５】
そして、復号化されたフレームカウンタと、フレームカウンタ生成回路１３から入力されるフレームカウンタが一致したと判断したならば、同期制御回路１６が、データ保持回路１２に復号する前のデータの破棄を指示し、復号化したデータからデータフレームを抽出して出力する。次のデータフレームを復号化するときには、フレームカウンタ生成回路１３は、前のデータフレームを正しく復号化したときのフレームカウンタにさらに１を加算して、暗号ビットストリーム生成部１４と同期制御回路１６に出力し、同様の復号化を行う。
【００３６】
このような暗号通信システムによれば、復号時にフレームカウンタを１ずつ増加させて復号化を行い、正しく復号化されていると判断される場合に、データを出力する。したがって、データ転送過程において一部のデータフレームが破棄されたとしても、復号部に入力されたデータを復号化できる。また、フレームカウンタも暗号化して送信しているので、データの盗聴等の可能性を少なくすることができる。
【００３７】
また、図２では、フレームカウンタのデータ長は３２ビットとして示したが、フレームカウンタのデータ長は３２ビットでなくてもよい。
【００３８】
上記の実施例では、暗号部１が送信したデータは、情報伝達過程において順番が変わらないものとして説明した。暗号部１が送信したデータの順番が情報伝達の際に入れ替わることがある場合には、フレームカウンタ生成回路１３は、前のデータフレームを復号化したときのフレームカウンタに１を加算するのではなく、各データフレームに対してフレームカウンタを初期値（０）から出力し、同期制御回路１６からの要求によりフレームカウンタを増加させていく。このようにフレームカウンタを設定することで、データの順番が入れ替わったときにも復号化することができる。
【００３９】
ただし、フレームカウンタのデータ長が３２ビットのように長い場合には、処理時間が多くかかってしまう。したがって、データ長が長いフレームカウンタを用いる暗号通信システムは、データの順番が入れ替わらない通信に適用して、フレームカウンタ生成回路１３は、前のデータフレームを復号化したときのフレームカウンタに１を加算していくことが望ましい。
【００４０】
データの順番が入れ替わることがあるときには、フレームカウンタのデータ長は、４ビットや６ビットのような短いデータ長とすることが望ましい。また、フレームカウンタ生成回路１３は前のデータフレームを復号化したときのフレームカウンタに加算を行うのではなく、各データフレームに対しフレームカウンタを初期値から増加させていくことを準備処理のときに定める。
【００４１】
次に、本発明の他の実施の形態を説明する。
図４は、本発明による暗号通信システムの他の実施の形態を示すブロック図である。この実施の形態では、送信されたデータは、情報伝達過程において順番が変わらず、復号部３１は、暗号部２１が送信した順にデータを入力するものとする。暗号部２１において、フレームカウンタ生成回路２２は、入力されるデータフレーム毎にフレームカウンタを増加させる。
【００４２】
この実施例においては、図５に示すように、フレームカウンタの値を示すデータを２分割して処理する。図５は、３２ビットのフレームカウンタを１６ビットずつに分割した場合を示している。以下、分割した上位の部分をＨＦＣ、下位の部分をＬＦＣと記す。ＨＦＣには、予め行う準備処理の際に初期値が設定される。したがって、フレームカウンタ生成回路２２は、０からではなくＨＦＣによって定まる値からフレームカウンタを増加させる。フレームカウンタ生成回路２２がフレームカウンタを増加させていくときのＬＦＣおよびＨＦＣの変化の例を図６に示す。フレームカウンタ生成回路２２は、フレームカウンタを増加したときに、フレームカウンタ（ＨＦＣおよびＬＦＣによって示される値）を暗号ビットストリーム生成回路２４に出力する。また、フレームカウンタからＬＦＣのデータのみを抽出してフレームカウンタ挿入回路２３に出力する。
【００４３】
暗号鍵部２５、暗号ビットストリーム生成部２４の構成は、図１に示す実施の形態における暗号部５、暗号ビットストリーム生成部４と同様である。
【００４４】
同期ワード挿入回路２７は、暗号部２１に入力される各データフレームに同期ワードを挿入する。同期ワードとは、予め決められた所定のデータであり、復号化の際に正しく復号化されたか否かを確認するために用いる確認用データである。排他的論理和回路２６は、同期ワードが挿入されたデータフレームと暗号ビットストリームとの排他的論理和演算を行う。フレームカウンタ挿入回路２３は、同期ワードとともに暗号化されたデータフレームにＬＦＣのデータを挿入し、出力する。このデータは、復号部３１に送信される。
【００４５】
復号部３１は、暗号部２１から受信したデータを入力する。復号部３１において、データ保持回路３２は、受信したデータフレームを保持するとともに、データフレームに挿入されているＬＦＣのデータを抽出する。また、同期制御回路３６からデータ破棄の指示を入力されたときには、指示されたデータフレームを破棄する。
【００４６】
フレームカウンタ生成回路３３は、データ保持回路３２が抽出したＬＦＣに基づいてフレームカウンタを増加させる。このとき、準備処理の際に定めた値をＨＦＣに設定した状態から、フレームカウンタを増加させる。また、同期制御回路３６から要求があった場合には、フレームカウンタの値を変更する。この場合、ＨＦＣの値を変更することにより、フレームカウンタの値を変更する。フレームカウンタ生成回路３３は、このフレームカウンタを暗号ビットストリーム生成部３４に出力する。
【００４７】
暗号鍵部３５、暗号ビットストリーム生成部３４の構成は、図１に示す実施の形態における暗号部１５、暗号ビットストリーム生成部１４と同様である。排他的論理和回路３７は、暗号ビットストリームとの排他的論理和演算により同期ワードが挿入されたデータフレームを復号化する。
【００４８】
同期制御回路３６は、排他的論理和回路３７が復号化した同期ワードと予め保持する同期ワードとの比較を行い、両者が同一であれば、復号化したデータから同期ワードを除いたデータフレームを抽出して出力する。同一でなければ、フレームカウンタ生成回路３３にフレームカウンタの変更（ＨＦＣ部分の変更）を要求する。フレームカウンタ生成部３３は、同期制御回路１６から要求があった場合、フレームカウンタを変更して出力する。そして、暗号ビットストリーム生成部３４、排他的論理和回路３７、同期制御回路３６は、復号化や同期ワードの比較を繰り返す。
【００４９】
次に、この実施の形態における動作について説明する。
まず、暗号化したデータの送受信を行う前の準備処理として、暗号部２１と復号部３１は、予め情報の送受信を行い、暗号鍵、同期ワード、ＨＦＣ、ＨＦＣの変更手順の設定を行う。暗号鍵に関しては、暗号ビットストリーム生成部２４，３４が、同一の暗号鍵を暗号鍵部２５，３５から入力するように設定する。同期ワードに関しては、同期ワード挿入回路２７が挿入する同期ワードと同期制御回路３６が保持する同期ワードを同一に設定する。ここでは、同期ワード挿入回路２７が各データフレームに同一の同期ワードを挿入し、同期制御回路３６はその同期ワードを保持するように設定するものとする。ＨＦＣに関しては、フレームカウンタ生成回路２２，３２が初期値として与えられるＨＦＣを同一に設定する。また、フレームカウンタ生成回路３３が同期制御回路３６からの要求に応じてフレームカウンタ（ＨＦＣ）を変更するとき、どのように変更するかについても準備処理で設定する。
【００５０】
続いて、情報を暗号化して送受信するときの動作を説明する。
暗号部２１には、データ長が固定であるデータフレームが入力される。フレームカウンタ生成回路２２は、暗号部２１に入力されるデータフレーム毎に順番に１ずつフレームカウンタを増加させる。
【００５１】
このとき、フレームカウンタの上位のビット（ＨＦＣ）には、初期値が与えられているので、フレームカウンタは０からではなく、ＨＦＣにより定められるある値から増加することになる。フレームカウンタの値がデータ長で表せる値を超えたときには、０からフレームカウンタを増加させる。例えば、図５に示すデータ長の場合、ＨＦＣにより定められるある値からフレームカウンタを増加させ、フレームカウンタが２３２−１を越えたときには０から増加させる。フレームカウンタ生成回路２２は、暗号化するデータフレーム毎にフレームカウンタ（ＨＦＣおよびＬＦＣによって示される値）を暗号ビットストリーム生成部２４に出力し、また、ＬＦＣのデータのみをフレームカウンタ挿入回路２３に出力する。
【００５２】
同期ワード挿入回路２７は、入力される各データフレームの先頭に準備処理で設定した同期ワードを挿入する。すなわち、同期ワード挿入回路２７は、図７（ａ）に示すようなデータフレームに対し同期ワードを挿入し、図７（ｂ）に示すデータとする。
【００５３】
暗号ビットストリーム生成部２４は、フレームカウンタと暗号鍵に基づいて暗号ビットストリームをデータフレーム毎に生成する。排他的論理和回路２６は、図７（ｃ）に示すように同期ワードが挿入されたデータフレームと暗号ビットストリームとの排他的論理和演算を１ビット毎に行う。排他的論理和回路２６は、この演算により、図７（ｄ）に示すようにデータフレーム及び同期ワードを暗号化する。フレームカウンタ挿入回路２３は、フレームカウンタ生成回路２２から入力したＬＦＣを暗号化したデータに挿入し、図７（ｅ）に示すデータとして出力する。このデータは、復号部３１に送信される。
【００５４】
このように、同期フレームおよびＬＦＣが挿入されたデータフレームが送信され、このデータフレームは送信された順に復号部３１に届く。
【００５５】
復号部３１が暗号化した情報を入力した場合、データ保持回路３２は、図７（ｅ）に示すような各データを保持するとともに、ＬＦＣを抽出する。フレームカウンタ生成回路３３は、このＬＦＣに基づいてフレームカウンタを増加させ、暗号ビットストリーム生成部３４に出力する。データ保持回路３２には、暗号部２１から送信された順に各データが入力されるので、データ転送過程でデータの破棄がなければ、０，１，２，３，・・・というＬＦＣが各データから抽出される。この場合、フレームカウンタ生成回路３３は、ＬＦＣの部分を０，１，２，３，・・・と増加させて行く。また、例えば、ＬＦＣとして２が挿入されたデータが破棄されていた場合、フレームカウンタ生成回路３３は、ＬＦＣの部分を０，１，３，・・・と増加させて行く。ＬＦＣが示す値が０に戻った場合は、図６に示す例において（１）の値から（２）の値になったことを意味するので、ＨＦＣを示す値に１を加える。なお、フレームカウンタの初期値は、ＨＦＣの初期値によって定められる値である。
【００５６】
また、データ保持回路３２は、図７（ｄ）に示す同期ワードが挿入された各データフレームを排他的論理和回路３７出力する。
【００５７】
暗号ビットストリーム生成部３４は、フレームカウンタと暗号鍵に基づいて暗号ビットストリームをデータフレーム毎に生成する。排他的論理和回路３７は、図７（ｃ）に示すように同期ワードが挿入されたデータフレームと暗号ビットストリームとの排他的論理和演算を１ビット毎に行い、データフレームと同期ワードを復号化する。排他的論理和回路３７は、復号化したデータを同期制御回路３６に出力する。
【００５８】
同期制御回路３６は、排他的論理和回路３７において復号化された同期ワードと、予め保持する同期ワードとを比較する。同期ワードが一致していれば、暗号化時と復号化時の暗号ビットストリームは同一であり、正しく復号化されていることになる。このように同期ワードが一致した場合、同期制御回路３６は、データ保持回路３２に復号化する前のデータの破棄を指示し、データ保持回路３２はそのデータを破棄する。また、同期制御回路３６は、復号化したデータから図７（ａ）に示すデータフレームを抽出して出力する。
【００５９】
また、同期制御回路３６が同期ワードを比較したとき、両者が異なっていれば、暗号化時と復号化時の暗号ビットストリームは異なっており、正しく復号化されていないことになる。この場合、同期制御回路３６は、準備処理において定めた変更手順により、フレームカウンタ生成回路３３にフレームカウンタ（ＨＦＣ）の変更を要求する。この変更手順とは、同期ワードが一致しなかった場合、ＨＦＣをどのように変更するのかを示す順序である。この変更手順を以下、再同期手順と記す。ここでは、再同期手順を、＋１，−１，＋２，−２と定めているものとする。この場合、ＨＦＣを最大４回変更することになる。
【００６０】
同期ワードが一致しない場合、同期制御回路３６は、フレームカウンタ生成回路３３に対し、保持しているＨＦＣの値に１を加算することによりフレームカウンタを変更することを要求する。暗号ビットストリーム生成部３４は、このフレームカウンタに基づき暗号ビットストリームを生成し、排他的論理輪回路３７は、この暗号ビットストリームにより復号化を行う。同期制御回路３６は、同期ワードが一致していれば、データ保持回路３２にデータの破棄を要求し、また、復号化したデータからデータフレームを抽出して出力する。一致していなければ、フレームカウンタ生成回路３３に対し、ＨＦＣから１を減算することによるフレームカウンタの変更、ＨＦＣに２を加算することによる変更、ＨＦＣから２を減算することによる変更を順番に要求し、同様の処理を行う。
【００６１】
なお、上記の例で、ＨＦＣから１を減算するときには、最初に１を加算されたＨＦＣから１を減ずるのではなく、１を加える前のＨＦＣに対して減算を行う。他の場合も同様である。
【００６２】
同期ワードが一致していなければ同期がとれていないことになるが、このとき、フレームカウンタとして用いた値のＬＦＣの部分は、暗号化データに挿入されたＬＦＣに基づいて増加させているので、暗号時に用いたフレームカウンタのＬＦＣと同一である。したがって、ＨＦＣが一致すれば、適切なフレームカウンタによる暗号ビットストリームが生成される。フレームカウンタ生成回路３３は、データフレーム毎にフレームカウンタを増加させているので、ＨＦＣが一致していなくとも、比較的近い値となっている。したがって、上記のように再同期手順を、＋１，−１，＋２，−２と定めれば、適切に復号化できるＨＦＣを短時間で探すことができる。
【００６３】
以上の実施例によれば、同期ワードの比較により同期が維持されているかどうかの確認を行うことができ、同期が維持されていない場合であっても、ＨＦＣの値を変更して、復号を繰り返すことにより、短時間で復号化に必要なフレームカウンタを探すことができる。また、暗号化した情報に挿入されるＬＦＣは、フレームカウンタ全体を表しているのではないので、フレームカウンタ全体の情報が盗聴されることはない。
【００６４】
なお、本実施例において、同期ワード挿入回路２７は、各データフレームに対応するＬＦＣに応じて、挿入する同期ワードを変更してもよい。例えば、ＬＦＣとして１が挿入されるデータフレームに対して同期ワードＳ１を挿入し、ＬＦＣとして２が挿入されるデータフレームに対して同期ワードＳ２を挿入してもよい。この場合、準備処理においてＬＦＣに応じた同期ワードを設定し、同期制御回路３６は、Ｓ１，Ｓ２等の各同期ワードを保持する。そして、同期制御回路３６は、ＬＦＣに応じた同期ワードにより比較を行う。
【００６５】
また、上記の各実施例において、データフレームのデータ長は固定長であるが、準備処理においてどのようなデータ長に固定するかを定めてもよい。また、準備処理によりデータ長を定めるのではなく、特定のデータ長のデータフレームのみを処理する構成であってもよい。
【００６６】
また、図５では、フレームカウンタのデータ長は３２ビットとして示したが、フレームカウンタのデータ長は３２ビットでなくてもよい。
【００６７】
次に、本発明によるアクセスネットワークシステムについて説明する。図８は、アクセスネットワークシステムを用いた移動通信システムの例を示すブロック図である。各端末４０〜４２は、暗号部および復号部を備える。無線アクセスネットワークシステム５０は、各端末と通信ネットワークとを接続し、基地局５１、複数の暗号部および復号部、制御回路５２を備える。無線アクセスネットワークシステム５０と各端末４０〜４２は、暗号化したデータの送受信を行う。なお、図８に示す各暗号部、復号部は、図４に示した暗号部２１、復号部３１と同じ構成である。
【００６８】
図８に示す移動通信システムにおいて、復号部３１ａは、基地局５１が端末４０から受信した情報を復号化する。また、暗号部２１ｂは、基地局が端末４０に送信する情報を暗号化する。他の、暗号部および復号部も同様に端末との間で送受信する情報の暗号化、復号化を行う。制御回路５２は、無線アクセスネットワークシステム５０内の暗号部や復号部が故障したとき、他の暗号部や復号部への切り替えを制御する。
【００６９】
暗号部や復号部が故障したときの切り替え動作について説明する。ここで、端末４０と無線アクセスネットワークシステム５０との間で通信が行われているものとする。また、暗号部２１ａと復号部３１ｂとの間では、再同期手順を、＋１，−１，＋２，−２と定め、暗号部２１ｂと復号部３１ｂとの間では、−１，＋１，−２，＋２と定めているものとする。
【００７０】
復号部３１ａは、最初のデータフレームを受信するときに、フレームカウンタの初期値を制御回路５２に通知する。制御回路５２は、復号部３１ａからフレームカウンタを通知されると、通知されたフレームカウンタの値を所定の周期で増加していく。この所定の周期とは、端末から受信する各データフレームの到着時間間隔であり、予め決められている。制御回路５２は、通知されたフレームカウンタを、例えば１０ｍｓや２０ｍｓ毎に増加する。同様に、暗号部２１ｂも、最初のデータフレームを送信するときに、フレームカウンタの初期値を制御回路５２に通知し、制御回路５２は、このフレームカウンタを所定の周期（端末に送信するデータフレームの送信時間間隔）毎に増加する。制御回路５２は、データフレームの到着時間間隔（または、送信時間間隔）毎にフレームカウンタを増加させるので、このフレームカウンタは、各暗号部や復号部内のフレームカウンタ生成回路が増加させるフレームカウンタとほぼ等しい値となっている。
【００７１】
このとき、図９（１）に示すフレームカウンタに基づいて暗号化されたデータフレームを基地局５１が受信した後に、復号部３１ａが故障したとする。このとき、制御回路５２は、復号部３１ａから他の復号部３１ｇへの切り替えを行う。制御回路５２は、故障発生時において制御回路５２が保持していたフレームカウンタを復号部３１ｇに引き継がせ、復号部３１ｇは、そのフレームカウンタを用いて復号化を行う。例えば、図９（２）に示すフレームタイムカウンタに基づいて暗号化されたデータフレームを基地局が受信した後に、復号部の切り替えが完了したとする。この場合、復号部３１ｇは、ＨＦＣが”  ０００００００００００００１００”（２進数表示）であるフレームカウンタを引き継ぐので、このＨＦＣと受信したデータに挿入されているＬＦＣによって、以降のデータを復号化することができる。
【００７２】
また、図９（３）に示すフレームタイムカウンタに基づいて暗号化されたデータフレームを基地局５１が受信した後に、復号部３１ａが故障したとする。この場合、制御回路５２は、ＨＦＣが”０００００００００００００１００”（２進数表示）であるフレームカウンタを復号部３１ｇに引き継がせ、復号部を切り替える。そして、図９（４）に示すフレームタイムカウンタに基づいて暗号化されたデータフレームを基地局が受信した後に、復号部の切り替えが完了したとする。この場合、以降のデータは、”０００００００００００００１０１”というＨＦＣを持つフレームカウンタに基づいて復号化されているので、”０００００００００００００１００”というＨＦＣを持つフレームカウンタに基づく復号化はできない。このとき、復号部３１ｇの同期制御回路３６は、同期ワードが一致しないので、再同期手順に従いフレームカウンタを変更する（ＨＦＣに１を加算する）。変更後のフレームカウンタに基づいて、復号化すれば、同期ワードが一致するので、切り替え後においても同期を回復することができ、以降のデータを復号化できる。
【００７３】
暗号部２１ｂが故障した場合にも、制御回路５２は、故障発生時に保持していたフレームカウンタを暗号２１ｈに引き継がせることにより、暗号部２１を切り替える。暗号部２１は、引き継いだフレームカウンタに基づいて送信するデータフレームを暗号化していき、端末４０に送信する。端末４０の復号部３１ｂは、受信したデータを復号化する。データフレームを復号化したとき、同期ワードが一致しなければ、再同期手順に従いＨＦＣの値を変更して、復号化を繰り返し、同期を回復する。
【００７４】
このような移動通信システムによれば、制御回路５２が、各暗号部、復号部の切り替えを行うことにより、一部の暗号部や復号部が故障しても、同期を維持することができる。また、制御回路５２は、フレームカウンタを所定の周期毎に増加させ、暗号部や復号部内で増加させているフレームカウンタとほぼ等しい値を有している。したがって、一度同期が維持できなくなった場合であっても、暗号化や復号化に用いるべきＨＦＣの値は、引き継いだＨＦＣと比較的近い値となっており、短時間で同期を回復することができる。
【００７５】
また、図８に示す無線アクセスネットワークシステムのように、制御回路５２が、各暗号部および復号部の切り替え制御を行い、切り替えた暗号部や復号部が端末装置内の復号部や暗号部と１対１に対応して情報の送受信をすることができるので、運用コストを削減することができる。
【００７６】
以上の説明では、図８に示す各暗号部、復号部は、図４に示した暗号部２１、復号部３１と同じ構成であるものとして説明したが、図８に示す各暗号部、復号部を、図１に示した暗号部１、復号部１１と同じ構成としてもよい。この場合、同期の回復を図るときには、ＨＦＣを変更してフレームカウンタを変更するのではなく、図１に示すフレームカウンタ生成回路１３が引き継いだフレームカウンタを増加していくことで、同期の回復を図る。
【００７７】
【発明の効果】
本発明によれば、暗号部は、暗号化する各データに所定の同期確認用データを挿入する同期確認用データ挿入手段と、暗号化する各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、各データを暗号化するための暗号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する暗号情報生成手段と、同期確認用データが挿入されたデータを暗号情報により暗号化する暗号化手段と、暗号化したデータにデータ順番情報を表すデータの下位ビットのデータを挿入する下位データ挿入手段とを備え、復号部は、受信した各データに応じたデータ順番情報としてカウンタを設定する順番情報設定手段と、受信したデータを復号化するための復号情報を前記順番情報設定手段が設定した各データ順番情報に基づいて生成する復号情報生成手段と、受信したデータを復号情報により復号化する復号化手段と、復号化したデータ内に挿入されている同期確認用データと予め保持する同期確認用データとを比較して一致しているならば復号化したデータを出力する同期制御手段とを備え、暗号部の順番情報設定手段および復号部の順番情報設定手段は、カウンタのデータのうち下位データ挿入手段がデータに挿入する下位ビット以外のデータを予め同一の値として定め、その下位ビット以外のデータによって定まるカウンタを初期値としてカウンタを設定する。従って、同期確認用データにより同期を維持しているか否かを確認することができる。また、下位データ挿入手段によって挿入されるデータは、データ順番情報全体を表しているのではないので、データ順番情報全体が盗聴されることはない。また、データの一部が破棄された場合であっても、復号部の順番情報設定手段に、下位データ挿入手段がデータに挿入する下位ビット以外のデータを変更してカウンタを変更させ、復号情報生成手段による復号情報の生成と復号化手段による受信データの復号化を繰り返すことにより同期を回復できる。
【００７８】
また、本発明によるアクセスネットワークシステムは、暗号部および復号部の切り替えを制御する切り替え制御手段を備え、切り替え制御手段は、暗号部や復号部におけるデータ順番情報の初期値を通知され、この初期値からデータ順番情報を変更するので、暗号部や復号部が設定するデータ順番情報とほぼ等しいデータ順番情報を有することができる。したがって、このデータ順番情報を用いることにより、暗号部や復号部が故障しても他の暗号部や復号部に切り替え、短時間で同期を回復することができる。
【図面の簡単な説明】
【図１】本発明による暗号通信システムの実施の一形態を示すブロック図である。
【図２】フレームカウンタのデータ長を説明する説明図である。
【図３】データの暗号化および復号化の過程を示す説明図である。
【図４】本発明による暗号通信システムの他の実施の形態を示すブロック図である。
【図５】フレームカウンタを分割する状況を説明する説明図である。
【図６】フレームカウンタを増加させたときのＬＦＣおよびＨＦＣの変化の例を示す説明図である。
【図７】データの暗号化および復号化の過程を示す説明図である。
【図８】暗号通信システムを備えた移動通信システムの例を示すブロック図である。
【図９】故障発生時におけるフレームカウンタの状況の例を示す説明図である。
【図１０】従来の暗号通信システムの構成の例を示すブロック図である。
【図１１】従来の暗号通信システムの構成の例を示すブロック図である。
【図１２】従来の暗号通信システムの構成の例を示すブロック図である。
【符号の説明】
１  暗号部
２  フレームカウンタ生成回路
３  フレームカウンタ挿入回路
４  暗号ビットストリーム生成部
５  暗号鍵部
６  排他的論理和回路
１１  復号部
１２  データ保持回路
１３  フレームカウンタ生成回路
１４  暗号ビットストリーム生成部
１５  暗号鍵部
１６  同期制御回路
１７  排他的論理和回路
【図１】
0003627623.tif 000002
【図２】
0003627623.tif 000003
【図３】
0003627623.tif 000004
【図４】
0003627623.tif 000005
【図５】
0003627623.tif 000006
【図６】
0003627623.tif 000007
【図７】
0003627623.tif 000008
【図８】
0003627623.tif 000009
【図９】
0003627623.tif 000010
【図１０】
0003627623.tif 000011
【図１１】
0003627623.tif 000012
【図１２】
0003627623.tif 000013