JP2005354122A - 通信機器及び暗号回路 - Google Patents
通信機器及び暗号回路 Download PDFInfo
- Publication number
- JP2005354122A JP2005354122A JP2004169276A JP2004169276A JP2005354122A JP 2005354122 A JP2005354122 A JP 2005354122A JP 2004169276 A JP2004169276 A JP 2004169276A JP 2004169276 A JP2004169276 A JP 2004169276A JP 2005354122 A JP2005354122 A JP 2005354122A
- Authority
- JP
- Japan
- Prior art keywords
- communication
- encrypted
- firmware
- host device
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 起動時に外部から受け取るプログラムを利用して通信を行う通信機器においてセキュリティの向上および起動時間の短縮を図る。
【解決手段】 通信機器1の通信を司るファームウェア31は、暗号化された状態でホスト機器2に供給される。通信機器1は、その起動時に、ホスト機器2から暗号化されたファームウェア31を受け取る。暗号回路16は、受信したファームウェア31を復号して得られる平文のファームウェア31をメモリ12に格納する。CPU11がファームウェア31を実行することで通信機能が提供される。暗号回路16は、通信機器1が送受信するデータの暗号化/復号も行う。
【選択図】 図1
【解決手段】 通信機器1の通信を司るファームウェア31は、暗号化された状態でホスト機器2に供給される。通信機器1は、その起動時に、ホスト機器2から暗号化されたファームウェア31を受け取る。暗号回路16は、受信したファームウェア31を復号して得られる平文のファームウェア31をメモリ12に格納する。CPU11がファームウェア31を実行することで通信機能が提供される。暗号回路16は、通信機器1が送受信するデータの暗号化/復号も行う。
【選択図】 図1
Description
本発明は、起動時に外部から受け取るプログラムを利用して動作する装置、特に、起動時にホスト機器から受け取るプログラムを利用して通信を行う通信機器及び暗号装置に関する。
近年、多くの通信機器(特に、無線通信機器)は、CPUを備えており、その通信機器の動作を司るプログラムを実行することで通信機能を提供する。ここで、通信機器の動作を司るプログラムは、例えば、信号を送受信するための周波数の制御、送信電力の制御、複数の端末から送信される信号の衝突を回避するための調停制御などについて記述したものである。このため、もし、これらのプログラムが改変されると、例えば、認可されていない周波数や送信電力で信号が送受信されることとなり、他の通信チャネルに悪影響を及ぼし、通信システムの安定した運用に支障をきたすことがある。したがって、これらのプログラムは、容易に改変されないことが重要である。
他方、通信機器は、低コスト化および小型化を図るための方策として、機器内部に設けられていたプログラム格納用の不揮発性メモリを廃止する構成が実用化されている。この構成においては、通信機器の起動時にホスト機器から必要なプログラムを取得し、そのプログラムを利用して通信を開始する。
この場合、このプログラムは、例えば、ホスト機器のドライバソフトウェアにバイナリ形式で格納されている。したがって、ホスト機器のユーザは、このプログラムを取り出すことができる。そして、十分に高い技術を持った者であれば、逆アセンブル処理等をすることによって、内容の解析および改変が可能である。
この場合、このプログラムは、例えば、ホスト機器のドライバソフトウェアにバイナリ形式で格納されている。したがって、ホスト機器のユーザは、このプログラムを取り出すことができる。そして、十分に高い技術を持った者であれば、逆アセンブル処理等をすることによって、内容の解析および改変が可能である。
この問題を解決しようとする技術としては、データ(上述の例では、通信を司るプログラム)を暗号化する手法が考えられる。例えば、特許文献1には、エージェントと呼ばれるソフトウェアに暗号化方式を組み込み、さらにこのエージェントをモーバイルコード(ネットワーク上を移動可能な言語体系)で実現し、暗号通信を行おうとする端末にこのエージェントを送り込む/受け取ることによって暗号通信を行う技術が記載されている。そして、このエージェント自体も暗号化された状態で送付され得る。
特開平10−215243号公報(図1、段落0007、0018〜0021)
通信機器の動作を司るプログラムは、上述したように、もし改変されると、他の通信チャネルに悪影響を及ぼすおそれがある。このため、このプログラムは、通信機器またはその通信機器に接続されるホスト機器のユーザであっても、改変を認めるべきでない。
しかし、特許文献1に記載の構成によれば、データ(プログラム等を含む)は、送信側装置においてを暗号化された後に受信側装置へ送信される。すなわち、送信側装置には、いったん、平文データが格納されることとなる。よって、送信側装置のユーザは、暗号化前のデータを取り出して改変することができる。
しかし、特許文献1に記載の構成によれば、データ(プログラム等を含む)は、送信側装置においてを暗号化された後に受信側装置へ送信される。すなわち、送信側装置には、いったん、平文データが格納されることとなる。よって、送信側装置のユーザは、暗号化前のデータを取り出して改変することができる。
このように、通信機器またはその通信機器に接続されるホスト機器のユーザに対してもプログラムの改変を認めるべきでない場合には、既存の技術では、セキュリティレベルが十分とはいえなかった。
また、通信機器は、一般に、その起動時間が短いことが望ましい。ところが、セキュリティレベルを上げるためにホスト機器から通信端末へ渡されるプログラムが暗号化されていると、起動時に通信機器においてそれを復号するための時間が長くなってしまう。
また、通信機器は、一般に、その起動時間が短いことが望ましい。ところが、セキュリティレベルを上げるためにホスト機器から通信端末へ渡されるプログラムが暗号化されていると、起動時に通信機器においてそれを復号するための時間が長くなってしまう。
本発明の目的は、起動時に外部から受け取るプログラムを利用して通信を行う通信機器におけるセキュリティを向上させることである。また、本発明の他の目的は、そのような通信機器においてセキュリティを高めながら起動時間の短縮を図ることである。
本発明の通信機器は、ホスト機器に格納されている暗号化された通信プログラムを復号するための鍵を保持する鍵保持手段と、起動時に上記ホスト機器から上記暗号化された通信プログラムを取得する取得手段と、上記鍵保持手段に保持されている鍵を用いて上記暗号化された通信プログラムを復号する暗号回路と、上記暗号回路により復号された通信プログラムを実行するCPU、を有する。
この発明においては、通信プログラムは、暗号化された状態でホスト機器に格納されており、暗号化されたまま通信機器に渡され、そこで復号されて使用される。したがって、ホスト機器から通信プログラムを取り出しても、それを解析または改変することは困難である。
上記通信機器において、上記暗号回路は、上記暗号化された通信プログラムを復号した後は、上記ホスト機器が作成した平文データを暗号化するため、または他の通信機器から受信した暗号化データを復号するために使用されるようにしてもよい。この構成においては、暗号回路は、通信機器の起動時に通信プログラムを復号する目的、および通信データを暗号化/復号化する目的の双方に共用される。
上記通信機器において、上記暗号回路は、上記暗号化された通信プログラムを復号した後は、上記ホスト機器が作成した平文データを暗号化するため、または他の通信機器から受信した暗号化データを復号するために使用されるようにしてもよい。この構成においては、暗号回路は、通信機器の起動時に通信プログラムを復号する目的、および通信データを暗号化/復号化する目的の双方に共用される。
また、上記鍵保持手段は、書換え可能な不揮発性メモリであってもよい。この構成おいては、出荷先で使用されるべき通信プログラムに応じて鍵を設定できるので、セキュリティが向上する。
さらに、上記通信機器において、チェック用コードが付加されたデータに対して所定の演算を実行してその実行結果を上記チェック用コードと比較することによりそのデータの正常性をチェックするデータチェック手段をさらに有するようにしてもよい。この場合、上記取得手段は、チェック用コードが付加された後に暗号化された通信プログラムを上記ホスト機器から取得する。上記データチェック手段は、上記暗号回路により得られる通信プログラムに対して所定の演算を実行してその実行結果をその通信プログラムに付加されているチェック用コードと比較することによりその通信プログラムの正常性をチェックする。そして、上記CPUは、正常性が確認された場合に限り上記復号された通信プログラムを実行する。この構成においては、ホスト機器から取得した通信プログラムを不適切な鍵で復号すると、データチェック手段によるチェック結果において正常性が得られず、CPUにより実行されない。よって、セキュリティが向上する。
さらに、上記通信機器において、チェック用コードが付加されたデータに対して所定の演算を実行してその実行結果を上記チェック用コードと比較することによりそのデータの正常性をチェックするデータチェック手段をさらに有するようにしてもよい。この場合、上記取得手段は、チェック用コードが付加された後に暗号化された通信プログラムを上記ホスト機器から取得する。上記データチェック手段は、上記暗号回路により得られる通信プログラムに対して所定の演算を実行してその実行結果をその通信プログラムに付加されているチェック用コードと比較することによりその通信プログラムの正常性をチェックする。そして、上記CPUは、正常性が確認された場合に限り上記復号された通信プログラムを実行する。この構成においては、ホスト機器から取得した通信プログラムを不適切な鍵で復号すると、データチェック手段によるチェック結果において正常性が得られず、CPUにより実行されない。よって、セキュリティが向上する。
なお、本発明の技術思想は、上述の通信機器のみに適用されるものではなく、起動時に外部から暗号化された暗号処理用プログラムを取得し、それを復号して使用する暗号装置にも適用される。
本発明によれば、起動時に外部から受け取る通信プログラムを利用して通信を行う通信機器におけるセキュリティが向上する。また、通信データを暗号化/復号するための高速暗号回路を利用して、外部から受け取る暗号化された通信プログラムを復号するので、起動時に外部から受け取るプログラムを利用して通信を行う通信機器であっても、その起動時間が短い。
図1は、本発明に係る通信機器(通信装置)に通信プログラムを設定する手順の概要を示す図である。ここで、通信機器1は、ホスト機器2に接続された状態で使用されるデバイスであって、ホスト機器2が作成したデータを他の通信機器等へ送信し、また、ホスト機器2宛てのデータを他の通信機器等から受信する。なお、通信機器1は、ホスト機器2が例えばパーソナルコンピュータであるものとすると、LANカードあるいは無線通信用ボード等に相当する。
通信機器1は、CPU11、メモリ(RAM)12、ブートコードを格納するためのマスクROM13を備えるが、小型化/低コスト化を図るために、通信プログラムを格納するための不揮発性メモリは備えてない。よって、通信機器1は、その起動時にブートコードを実行することによりホスト機器2から通信プログラムをダウンロードするように構成されている。なお、通信プログラムは、特に限定されるものではないが、信号を送受信するための周波数の制御、送信電力の制御、複数の端末から送信される信号の衝突を回避するための調停制御などについて記述したプログラム(以下では、「ファームウェア」と呼ぶ。)である。
ファームウェア31は、基本的に、通信機器1の製造者により作成される。このとき、ファームウェア31は、所定の方式で暗号化される。暗号化方式は、特に限定されるものではないが、例えば、RC4アルゴリズムを用いる。また、暗号化のための鍵32は、通信機器1の製造者の内部で管理し、社外(ホスト機器2の製造者やユーザを含む)には公開しないものとする。
暗号化されたファームウェア31は、バイナリ形式でホスト機器2の製造者にライセンス供給される。そして、この暗号化されたファームウェア31は、ドライバを含む制御プログラム22と共にホスト機器2の不揮発性メモリ21に格納される。なお、制御プログラム(少なくとも、ドライバ部分)22は、通信機器1のマスクROM13に格納されるブートコードに対応するものであり、基本的に、通信機器1の製造者から供給されるものとする。
通信機器1は、ファームウェア31を復号するための鍵14を有している。鍵14は、鍵32に対応する復号鍵であり、マスクROM13に格納されてもよいし、E2PROM15に格納されてもよい。E2PROM15のような書換え可能な不揮発性メモリに格納する構成においては、例えば、通信機器1の出荷時にその出荷先に応じて(あるいは、出荷先で使用されるべきファームウェアに応じて)鍵14を設定できるので、セキュリティレベルを向上させることができる。また、通信機器1は、暗号文を復号して平文を生成するための暗号回路16を備えている。暗号回路16は、復号処理を短時間で実行するためにハードウェア回路で構成されていることが望ましいが、ソフトウェアで実現されてもよい。
通信機器1の起動時には、まず、マスクROM13に格納されているブートコードが実行され、ホスト機器2に対してファームウェア31の送信を要求する。このとき、マスクROM13またはE2PROM15に格納されている鍵14が、暗号回路16に設定される。なお、暗号回路16は、ハードウェア回路により構成されているものとすると、例えば、設定された鍵14に応じてその論理回路の動作の少なくとも一部が変更されるようにしてもよい。
ホスト機器2の制御プログラム22は、上記要求を受け取ると、不揮発性メモリ21から暗号化されているファームウェア31を抽出して通信機器1に転送する。そうすると、通信機器1は、暗号回路16を用いてそのファームウェア31を復号することにより、平文のファームウェア31を得る。そして、平文のファームウェア31は、メモリ12に格納される。この後、通信機器1の制御は、ファームウェア31に移る。すなわち、通信機器1のCPU11は、以降、メモリ12に格納されたファームウェア31を実行することにより、通信動作を提供する。
なお、特許請求の範囲に記載の「鍵保持手段」は、この例では、マスクROM13またはE2PROM15に相当する。また、「取得手段」は、マスクROM13に格納されているブートコードを実行することにより実現される。
このように、実施形態の通信機器1は、その起動時に、暗号化されているファームウェア31をホスト機器2から受け取り、それを復号して使用する。ここで、このファームウェア31は、暗号化された状態でホスト機器2に格納されているので、ホスト機器2のユーザであっても、そのファームウェア31を解析または改変することはできない。また、通信機器1においては、平文状態に復号されたファームウェア31は、メモリ12に格納される。しかし、メモリ12の記憶内容は、通信機器1の電源をオフすると消滅する。よって、通信機器1から平文状態のファームウェア31を取り出すことは容易ではない。さらに、例えば、通信プログラムとしては暗号回路16による復号結果のみがCPU11により実行される構成とすれば、不正に作成されたプログラムが何らかの手段によりメモリ12に書き込まれたとしても、その不正なプログラムに従って不適切な通信が行われることもない。
このように、実施形態の通信機器1は、その起動時に、暗号化されているファームウェア31をホスト機器2から受け取り、それを復号して使用する。ここで、このファームウェア31は、暗号化された状態でホスト機器2に格納されているので、ホスト機器2のユーザであっても、そのファームウェア31を解析または改変することはできない。また、通信機器1においては、平文状態に復号されたファームウェア31は、メモリ12に格納される。しかし、メモリ12の記憶内容は、通信機器1の電源をオフすると消滅する。よって、通信機器1から平文状態のファームウェア31を取り出すことは容易ではない。さらに、例えば、通信プログラムとしては暗号回路16による復号結果のみがCPU11により実行される構成とすれば、不正に作成されたプログラムが何らかの手段によりメモリ12に書き込まれたとしても、その不正なプログラムに従って不適切な通信が行われることもない。
ところで、暗号化通信を行う通信機器は、しばしば、データを暗号化/復号化するための暗号回路を備えている。そして、この暗号回路は、ファームウェアが起動された後に使用される。このため、データを暗号化/復号化するための暗号回路は、基本的に、通信機器の起動時から通信が開始されるまでの期間は未使用状態である。
そこで、実施形態の通信機器1は、通信データを暗号化/復号化するための暗号回路を有する場合には、それを図1に示す暗号回路16として利用する。すなわち、実施形態の通信機器1の暗号回路16は、ホスト機器2から取得したファームウェア31を復号する目的、及び通信データを暗号化/復号化する目的の双方に共用されるようにしてもよい。このような構成とすれば、ホスト機器2から取得したファームウェア31を復号するための専用回路や専用プログラムルーチンを設ける必要がなく、通信機器の内部構成の簡便化が可能となり、機器の小型化や低コスト化に寄与する。また、データを暗号化/復号化するための暗号回路は、一般に、高速処理が可能なように例えばハードウェア回路で設計されているので、その暗号回路を利用して通信機器1の起動時にファームウェアを復号するように構成すれば、通信機器1の起動時間を短縮できる。
そこで、実施形態の通信機器1は、通信データを暗号化/復号化するための暗号回路を有する場合には、それを図1に示す暗号回路16として利用する。すなわち、実施形態の通信機器1の暗号回路16は、ホスト機器2から取得したファームウェア31を復号する目的、及び通信データを暗号化/復号化する目的の双方に共用されるようにしてもよい。このような構成とすれば、ホスト機器2から取得したファームウェア31を復号するための専用回路や専用プログラムルーチンを設ける必要がなく、通信機器の内部構成の簡便化が可能となり、機器の小型化や低コスト化に寄与する。また、データを暗号化/復号化するための暗号回路は、一般に、高速処理が可能なように例えばハードウェア回路で設計されているので、その暗号回路を利用して通信機器1の起動時にファームウェアを復号するように構成すれば、通信機器1の起動時間を短縮できる。
図2は、本発明に係る通信機器の構成を示す図である。なお、図1および図2において共通して使用する符合は、同じものを示している。ただし、図2では、暗号化された状態のファームウェアを「暗号化ファームウェア31a」と記載し、平文状態のファームウェアを「平文ファームウェア31b」と記載している。以下では、図1においては記載していない構成について説明する。
暗号回路16は、制御レジスタ17および暗号エンジン18を備える。制御レジスタ17は、コマンドレジスタ、暗号文アドレスポインタレジスタ、平文アドレスポインタレジスタ、暗号キーレジスタを含む。コマンドレジスタは、暗号文を平文に復号するための各種コマンド(或いは、平文を暗号文に復号するための各種コマンド)を保持する。また、暗号文アドレスポインタレジスタは、暗号文の格納位置を指し示すアドレスポインタを保持する。同様に、平文アドレスポインタレジスタは、平文の格納位置を指し示すアドレスポインタを保持する。さらに、暗号キーレジスタは、鍵(暗号キー)を保持する。暗号エンジン18は、与えられた暗号文を復号して平文を生成(或いは、与えられた平文を暗号化して暗号文を生成)し、それを出力する。
送受信回路19は、ホスト機器2から受け取ったデータを通信回線に送出し、また、ホスト機器2宛てのデータを網から受信する。
上記構成の通信機器1において、暗号エンジン18は、ホスト機器2から取得した暗号化ファームウェア31aを復号して平文ファームウェア31bを生成する。また、通信機器1が通信を行うときは、暗号エンジン18は、送受信回路19が送信すべきデータを暗号化し、送受信回路19が受信したデータを復号する。
上記構成の通信機器1において、暗号エンジン18は、ホスト機器2から取得した暗号化ファームウェア31aを復号して平文ファームウェア31bを生成する。また、通信機器1が通信を行うときは、暗号エンジン18は、送受信回路19が送信すべきデータを暗号化し、送受信回路19が受信したデータを復号する。
図3は、マスクROM13に格納されているブートコードの処理を示すフローチャートである。なお、このフローチャートの処理は、通信機器1の起動時(電源投入時あるいは通信機器1がリセットされたとき)にCUP11により実行される。
ステップS1では、まず、通信機器1の内部の初期化を行う。ステップS2では、ホスト機器2との間のインタフェース(Host I/F)を活性化する。このとき、ホスト機器2の不揮発性メモリ21に格納されている制御プログラム(ドライバ)22に対して通信プログラムの転送を要求する。そして、ステップS3において、ホスト機器2からの転送を待つ。なお、ホスト機器2は、上記要求を受け取ると、不揮発性メモリ21に格納されている暗号化ファームウェア31aを通信機器1へ転送する。
ステップS1では、まず、通信機器1の内部の初期化を行う。ステップS2では、ホスト機器2との間のインタフェース(Host I/F)を活性化する。このとき、ホスト機器2の不揮発性メモリ21に格納されている制御プログラム(ドライバ)22に対して通信プログラムの転送を要求する。そして、ステップS3において、ホスト機器2からの転送を待つ。なお、ホスト機器2は、上記要求を受け取ると、不揮発性メモリ21に格納されている暗号化ファームウェア31aを通信機器1へ転送する。
ホスト機器2から暗号化ファームウェア31aが送られてくると、ステップS4、S5において、受信した暗号化ファームウェア31aをメモリ(RAM)12へ転送する。そして、転送が終了すると、ステップS6において、暗号回路16の制御レジスタ17に必要な情報を設定する。具体的には、暗号キーレジスタには、ホスト機器2から取得した暗号化ファームウェア31aを復号するための鍵14が設定される。また、暗号文アドレスポインタレジスタには、ステップS4において暗号化ファームウェア31aを書き込んだメモリアドレスが設定される。平文アドレスポインタレジスタには、暗号化ファームウェア31aを復号することにより得られる平文ファームウェア31bを書き込むためのメモリアドレスが設定される。
ステップS7、S8では、暗号回路16に復号処理を実行させる。すなわち、コマンドレジスタに格納されているコマンドがCUP11により実行される。これにより、まず、暗号文アドレスポインタレジスタに設定されているアドレスから暗号化ファームウェア31aが読み出されて暗号エンジン18に与えられる。続いて、暗号エンジン18の出力である平文ファームウェア31bが、平文アドレスポインタレジスタに設定されているアドレスに書き込まれる。そして、上記ステップS1〜S8の処理が終了すると、制御は、平文ファームウェア31bに渡される。
図4は、通信機器1のデータ送信時の動作を説明する図である。なお、データの送受信は、図3に示したフローチャートの処理により生成された平文ファームウェア31bが関与して行われる。また、ここでは、送信すべき平文データがホスト機器2から通信機器1に渡された後の動作を説明する。
通信機器1は、ホスト機器2から受け取った平文データをいったんメモリ(RAM)12に格納する。このとき、この格納アドレスが制御レジスタ17の暗号文アドレスポインタレジスタに設定される。また、暗号エンジン18の出力を格納すべきアドレスが決定され、平文アドレスポインタレジスタに設定される。さらに、送信データを暗号化するために予め決められたアルゴリズムにより生成された鍵(暗号キー)が暗号キーレジスタに設定される。
通信機器1は、ホスト機器2から受け取った平文データをいったんメモリ(RAM)12に格納する。このとき、この格納アドレスが制御レジスタ17の暗号文アドレスポインタレジスタに設定される。また、暗号エンジン18の出力を格納すべきアドレスが決定され、平文アドレスポインタレジスタに設定される。さらに、送信データを暗号化するために予め決められたアルゴリズムにより生成された鍵(暗号キー)が暗号キーレジスタに設定される。
続いて、暗号エンジン18により平文データが暗号化され、その結果が再びメモリ12に書き込まれる。その後、送受信回路19は、メモリ12から暗号化データを取り出して通信回線へ送出する。このとき、送信周波数の設定、送信電力の設定、調停制御などは、ファームウェア31bにより実行される。
なお、データ受信時の通信機器1は、基本的に、データ送信時の処理に対してデータの流れが逆になるように動作する。すなわち、送受信回路19が受信した暗号化データは、暗号エンジン18により復号されてホスト機器2へ送られる。
なお、データ受信時の通信機器1は、基本的に、データ送信時の処理に対してデータの流れが逆になるように動作する。すなわち、送受信回路19が受信した暗号化データは、暗号エンジン18により復号されてホスト機器2へ送られる。
このように、実施形態の通信機器1は、通信データのための暗号回路を利用して通信プログラムを復号する構成なので、下記の効果が得られる。すなわち、無線通信機器の通信上のセキュリティへの関心は非常に高く、無線層でのセキュリティの向上としては、より頑健な暗号アルゴリズム(例えば、AES802.11i)の採用など、多くの提案がなされている。一方、通信機器とホスト機器との間のセキュリティの確保については、改良の提案もほとんどなされていない状況であり、「相対的に弱い部分がセキュリティホールになる」という考え方からしても、この部分のセキュリティを向上させる必要がある。特に、通信機器の動作を司るファームウェアの改ざん等は、無線層のセキュリティを脅かすセキュリティホールとなり得る行為である。
そこで、本発明は、通信機器の起動時に暗号化された通信用ファームウェアをホスト機器から通信機器へ転送することによりセキュリティを高めた。さらに、実施形態の通信機器1においては、通信データを暗号化/復号化するための暗号回路を利用して、上記通信用ファームウェアを復号する構成としてので、以下の効果が得られる。
(1)通信用ファームウェアについての暗号強度が、通信路と同等になるので、通信用ファームウェア自体がセキュリティホールとなることはない。
(2)通信路用暗号回路は、通常、高速処理が可能なようにハードウェア化されているので、ソフトウェア処理を提供するための資源の負担が軽くなり、また、通信機器の起動時間が短くなる。
(1)通信用ファームウェアについての暗号強度が、通信路と同等になるので、通信用ファームウェア自体がセキュリティホールとなることはない。
(2)通信路用暗号回路は、通常、高速処理が可能なようにハードウェア化されているので、ソフトウェア処理を提供するための資源の負担が軽くなり、また、通信機器の起動時間が短くなる。
なお、本発明に係る通信機器は、図2に示した回路構成に限定されるものではなく、例えば、図5または図6に示す構成であってもよい。また、図2、図5、図6において共通に使用するものについては、同じ符号を付している。
図5に示す通信機器100は、図2に示すメモリ(RAM)12の代わりにデュアルポートRAM101を備えるとともに、送受信回路19は、制御レジスタ102を備える構成である。この構成において、通信機器1の起動時にホスト機器2から受信する暗号化ファームウェア31aは、デュアルポートRAM101の第1のポートを介して書き込まれる。また、デュアルポートRAM101の第2のポートが暗号エンジン18に接続されており、暗号化ファームウェア31aは暗号エンジン18により復号され、その結果として得られる平文ファームウェア31bがデュアルポートRAM101に戻される。そして、CPU11は、その平文ファームウェア31bを実行することにより通信を制御する。
図5に示す通信機器100は、図2に示すメモリ(RAM)12の代わりにデュアルポートRAM101を備えるとともに、送受信回路19は、制御レジスタ102を備える構成である。この構成において、通信機器1の起動時にホスト機器2から受信する暗号化ファームウェア31aは、デュアルポートRAM101の第1のポートを介して書き込まれる。また、デュアルポートRAM101の第2のポートが暗号エンジン18に接続されており、暗号化ファームウェア31aは暗号エンジン18により復号され、その結果として得られる平文ファームウェア31bがデュアルポートRAM101に戻される。そして、CPU11は、その平文ファームウェア31bを実行することにより通信を制御する。
送受信回路19を介して送信すべきデータは暗号エンジン18により暗号化され、送受信回路19を介して受信したデータは暗号エンジン18により復号される。なお、送受信回路19が備える制御レジスタには、デュアルポートRAM101のアドレスポインタ等が設定される。
図6に示す通信機器110は、暗号回路16がホストインタフェースを介してホスト機器2とデータを送受信できる構成である。この構成において、暗号回路16は、CPU11の配下の制御回路111により制御されるようにしてもよい。
図6に示す通信機器110は、暗号回路16がホストインタフェースを介してホスト機器2とデータを送受信できる構成である。この構成において、暗号回路16は、CPU11の配下の制御回路111により制御されるようにしてもよい。
暗号化ファームウェアを復号するための暗号鍵14は、マスクROM13に格納されている。また、通信機器110は、ブートコードを備えておらず、起動時には、制御回路111がマスクROM13から暗号鍵14を取り出して制御レジスタ17の暗号キーレジスタに設定する。なお、暗号鍵14は、図6に示す例ではマスクROM13に格納されているが、不図示のE2PROM15に格納されるようにしてもよい。
通信機器1の起動時にホスト機器2から受信する暗号化ファームウェアは、メモリ等を介することなく暗号エンジン18に渡される。また、暗号エンジン18における復号結果として得られる平文ファームウェア31bがメモリ(RAM)12に書き込まれる。そして、CPU11は、その平文ファームウェア31bを実行することで通信を制御する。
ホスト機器2により作成された平文データは、いったんメモリ12に格納される。そして、その平文データは、暗号エンジン18において暗号化され、その後送受信回路19を介して通信回線を送信される。一方、通信回線から受信した暗号化データは、メモリ等を介することなく暗号エンジン18で復号され、その結果得られる平文データがメモリ12に書き込まれる。そして、その平文データがホスト機器2へ送られる。
ホスト機器2により作成された平文データは、いったんメモリ12に格納される。そして、その平文データは、暗号エンジン18において暗号化され、その後送受信回路19を介して通信回線を送信される。一方、通信回線から受信した暗号化データは、メモリ等を介することなく暗号エンジン18で復号され、その結果得られる平文データがメモリ12に書き込まれる。そして、その平文データがホスト機器2へ送られる。
また、上述の通信機器が使用する通信用ファームウェアにCRCまたはチェックサム等のチェック用コードを付加することもできる。例えば、チェック用コードとしてCRCを付加する場合には、図7に示すように、作成した平文ファームウェア31bについてCRC演算を実行し、その演算結果を平文ファームウェア31bの末尾に付加する。そして、「平文ファームウェア31b+CRC」を暗号化することにより暗号化ファームウェア31cを生成する。暗号化ファームウェア31cは、ホスト機器2の製造者に提供され、ホスト機器2の不揮発性メモリ21に格納される。
通信機器1は、その起動時にホスト機器2から暗号化ファームウェア31cを受け取り、復号する。この復号処理により、「平文ファームウェアに相当するデータ(再生平文ファームウェア31d)」及び「CRCに相当するデータ(再生CRC)」が得られる。そして、再生平文ファームウェア31dに対してCRC演算を行い、その結果が再生CRCに一致すれば、その再生平文ファームウェア31dが正規のファームウェアであるものと判断して通信を行うための処理を開始する。なお、特許請求の範囲に記載の「データチェック手段」は、この例では、図7に示す通信機器2の処理を記述したプログラムをCPU11で実行することにより実現される。
このような構成を導入すれば、セキュリティの向上が図れると共に、通信規格の異なる出荷先ごとに異なる暗号鍵を使用する場合には、不適切な通信を防ぐことができる。すなわち、例えば、A国の通信規格とB国の通信規格が異なっており、そのためにA国に出荷する通信機器が使用すべき通信用ファームウェアとB国に出荷する通信機器が使用すべき通信ファームウェアとが異なっている場合には、出荷前に、A国に出荷する通信機器には暗号鍵Aが埋め込まれ、B国に出荷する通信機器には暗号鍵Bが埋め込まれる。よって、例えば、A国で使用すべき通信機器をB国で起動すると、ホスト機器から取得したB国用の通信用ファームウェアを暗号鍵Aで復号することになるので、CRC演算の結果が不一致となり、その通信用ファームウェアを使用できないこととなる。すなわち、通信用ファームウェアとそのバージョンとを論理的に固定できる
なお、上述の実施例では、本発明の技術的思想を通信機器に適用したが、本発明はこれに限定されるものではなく、例えば、図8に示すように、暗号装置に適用することができる。ここで、暗号装置200は、ホスト機器2から受け取った平文データを暗号化してホスト機器2に戻す機能、およびホスト機器2から受け取った暗号化データを復号してホスト機器2に戻す機能を提供する。そして、暗号処理用ファームウェア201は、暗号装置200の起動時に、暗号化された状態でホスト機器2から暗号装置200へ送信され、暗号エンジン18で復号された後、再生された平文ファームウェア201が、メモリ(RAM)12に格納される。その後、CPU11が暗号処理用ファームウェア201を実行することにより上記暗号化/復号機能が提供される。
なお、上述の実施例では、本発明の技術的思想を通信機器に適用したが、本発明はこれに限定されるものではなく、例えば、図8に示すように、暗号装置に適用することができる。ここで、暗号装置200は、ホスト機器2から受け取った平文データを暗号化してホスト機器2に戻す機能、およびホスト機器2から受け取った暗号化データを復号してホスト機器2に戻す機能を提供する。そして、暗号処理用ファームウェア201は、暗号装置200の起動時に、暗号化された状態でホスト機器2から暗号装置200へ送信され、暗号エンジン18で復号された後、再生された平文ファームウェア201が、メモリ(RAM)12に格納される。その後、CPU11が暗号処理用ファームウェア201を実行することにより上記暗号化/復号機能が提供される。
1 通信機器
2 ホスト機器
11 CPU
12 メモリ(RAM)
13 マスクROM
14 鍵
15 E2PROM
16 暗号回路
17 制御レジスタ
18 暗号エンジン
19 送受信回路
21 不揮発性メモリ
22 制御プログラム
31 ファームウェア
31a 暗号化ファームウェア
31b 平文ファームウェア
32 鍵
100、110 通信機器
101 デュアルポートRAM
200 暗号装置
201 暗号処理用ファームウェア
2 ホスト機器
11 CPU
12 メモリ(RAM)
13 マスクROM
14 鍵
15 E2PROM
16 暗号回路
17 制御レジスタ
18 暗号エンジン
19 送受信回路
21 不揮発性メモリ
22 制御プログラム
31 ファームウェア
31a 暗号化ファームウェア
31b 平文ファームウェア
32 鍵
100、110 通信機器
101 デュアルポートRAM
200 暗号装置
201 暗号処理用ファームウェア
Claims (5)
- ホスト機器に格納されている暗号化された通信プログラムを復号するための鍵を保持する鍵保持手段と、
起動時に上記ホスト機器から上記暗号化された通信プログラムを取得する取得手段と、
上記鍵保持手段に保持されている鍵を用いて上記暗号化された通信プログラムを復号する暗号回路と、
上記暗号回路により復号された通信プログラムを実行するCPU、
を有する通信機器。 - 上記暗号回路は、上記暗号化された通信プログラムを復号した後は、上記ホスト機器が作成した平文データを暗号化するため、または他の通信機器から受信した暗号化データを復号するために使用される
ことを特徴とする請求項1に記載の通信機器。 - 上記鍵保持手段は、書換え可能な不揮発性メモリである
ことを特徴とする請求項1に記載の通信機器。 - チェック用コードが付加されたデータに対して所定の演算を実行してその実行結果を上記チェック用コードと比較することによりそのデータの正常性をチェックするデータチェック手段をさらに有し、
上記取得手段は、チェック用コードが付加された後に暗号化された通信プログラムを上記ホスト機器から取得し、
上記データチェック手段は、上記暗号回路により得られる通信プログラムに対して所定の演算を実行してその実行結果をその通信プログラムに付加されているチェック用コードと比較することによりその通信プログラムの正常性をチェックし、
上記CPUは、正常性が確認された場合に限り上記復号された通信プログラムを実行する
ことを特徴とする請求項1に記載の通信機器。 - ホスト機器に格納されている暗号化された暗号処理用プログラムを復号するための鍵を保持する鍵保持手段と、
起動時に上記ホスト機器から上記暗号化された暗号処理用プログラムを取得する取得手段と、
上記鍵保持手段に保持されている鍵を用いて上記暗号化された通信プログラムを復号する暗号回路と、
上記暗号回路により復号された暗号処理用プログラムを実行するCPU、
を有する暗号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004169276A JP2005354122A (ja) | 2004-06-08 | 2004-06-08 | 通信機器及び暗号回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004169276A JP2005354122A (ja) | 2004-06-08 | 2004-06-08 | 通信機器及び暗号回路 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005354122A true JP2005354122A (ja) | 2005-12-22 |
Family
ID=35588246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004169276A Pending JP2005354122A (ja) | 2004-06-08 | 2004-06-08 | 通信機器及び暗号回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005354122A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021163458A (ja) * | 2020-03-30 | 2021-10-11 | 尚承科技股▲フン▼有限公司Eco−Luxury Technology Co., Ltd. | ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 |
-
2004
- 2004-06-08 JP JP2004169276A patent/JP2005354122A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021163458A (ja) * | 2020-03-30 | 2021-10-11 | 尚承科技股▲フン▼有限公司Eco−Luxury Technology Co., Ltd. | ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 |
JP7141190B2 (ja) | 2020-03-30 | 2022-09-22 | 尚承科技股▲フン▼有限公司 | ソフトウェア・ファームウェア又はデータの保護システム及び保護方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI454935B (zh) | 自非本端儲存器安全地啟動及組態一子系統 | |
CN101316168B (zh) | 认证装置以及认证方法 | |
KR20110020800A (ko) | 보안 소프트웨어 이미지를 갖는 집적 회로 및 그 방법 | |
CN101494645B (zh) | 认证下载到闪存的程序的装置及方法 | |
US9977902B2 (en) | Enabling a secure boot from non-volatile memory | |
US10929566B2 (en) | Information processing device and information processing system | |
JP4768327B2 (ja) | 認証システム,情報処理装置,情報処理方法,およびコンピュータプログラム | |
JP2015170952A (ja) | 暗号化/復号化システム及びその制御方法、並びにプログラム | |
US11637704B2 (en) | Method and apparatus for determining trust status of TPM, and storage medium | |
CN113890728A (zh) | 基于fpga加密卡的密钥处理方法、系统、设备及介质 | |
US7805611B1 (en) | Method for secure communication from chip card and system for performing the same | |
JP5319238B2 (ja) | 情報処理システム、情報処理装置、情報処理方法、および情報処理プログラム | |
JP6888122B2 (ja) | 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム | |
WO2019178787A1 (zh) | 芯片的访问方法、微芯片、智能卡以及调试设备 | |
JP2007072957A (ja) | リードライト装置およびデバッグシステム | |
CN113127844A (zh) | 一种变量访问方法、装置、系统、设备和介质 | |
CN107967432B (zh) | 一种安全存储装置、系统及方法 | |
KR101719129B1 (ko) | 크로스 플랫폼 엔드포인트 보안시스템 | |
CN109075974B (zh) | 指纹算法库与指纹传感器的绑定认证方法及指纹识别系统 | |
CN106685931B (zh) | 智能卡应用管理方法和系统、终端和智能卡 | |
JP2016152438A (ja) | ソフトウェア更新装置、携帯端末及びソフトウェア更新システム | |
JP2005354122A (ja) | 通信機器及び暗号回路 | |
US11516215B2 (en) | Secure access to encrypted data of a user terminal | |
CN113343215A (zh) | 嵌入式软件的授权和认证方法及电子设备 | |
JP7170588B2 (ja) | データ処理方法及びデータ処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060623 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081104 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090310 |