(57)【要約】【課題】  通信装置内部における情報を閲覧することを防止し、通信装置に供給される情報を第三者が把握することを困難にする。【解決手段】  外部メモリ１３０に保持されている暗号化された制御プログラムが外部メモリインターフェース４０によって読み出され、共有メモリ５０に転送される。共有メモリ５０に送受信の対象となるデータが保持されている場合は、制御部７０の制御の下、制御プログラムの復号と送受信の対象となるデータの暗号化および復号が暗号処理部２０において行われる。暗号化された制御プログラムの復号が行われた後、制御プログラムは制御部７０において実行される。制御プログラムを更新する場合、デバックホスト１４０は暗号化された新たな制御プログラムを供給し、新たな制御プログラムは外部メモリインターフェース４０によって暗号化された状態で外部メモリ１３０に書き込まれる。【選択図】      図１
2007043345.tif 000002
【特許請求の範囲】
【請求項１】
外部メモリから暗号化された制御プログラムを読み出すメモリ読出し手段と、
データの送受信を制御する通信制御手段と、
暗号化された前記制御プログラムと前記データとを保持する共有メモリと、
前記データの暗号化および復号を行うと共に暗号化された前記制御プログラムの復号を行う暗号処理手段と、
復号された前記制御プログラムを実行するプログラム実行手段と
を具備することを特徴とする通信装置。
【請求項２】
前記暗号処理手段は、前記共有メモリより暗号化された前記制御プログラムを取得して復号した後にその復号された前記制御プログラムを前記共有メモリに転送し、
前記プログラム実行手段は、前記共有メモリより復号された前記制御プログラムを取得して前記制御プログラムを実行することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信装置は、新たな制御プログラムを要求されると暗号化された前記新たな制御プログラムを供給する端末と接続され、
前記外部メモリに保持された前記制御プログラムを更新するか否かを示すフラグを保持するフラグ保持手段と、
前記フラグを設定する操作手段と、
前記フラグにおいて前記外部メモリに保持された前記制御プログラムを更新する旨が示されている場合に暗号化された前記新たな制御プログラムを要求する制御プログラム要求手段と、
前記外部メモリに前記新たな制御プログラムを書き込むための書込みプログラムを保持する書込みプログラム保持手段と、
前記プログラム実行手段によって実行された前記書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むメモリ書込み手段と
をさらに具備することを特徴とする請求項１記載の通信装置。
【請求項４】
前記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、
前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記新たな書込みプログラムを前記端末に要求する書込みプログラム要求手段と
をさらに具備し、
前記端末は、前記書込みプログラム要求手段からの要求に応じて前記新たな書込みプログラムを供給し、
前記メモリ書込み手段は、前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記プログラム実行手段において実行される前記新たな書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むことを特徴とする請求項３記載の通信装置。
【請求項５】
前記フラグに応じて前記外部メモリに保持された前記制御プログラムが所定のフォーマットで保持されているか否かを判断するフォーマット判断手段をさらに具備し、
前記制御プログラム要求手段は、前記制御プログラムが前記所定のフォーマットで保持されていないと判断された場合に暗号化された前記新たな制御プログラムを前記端末に要求することを特徴する請求項３記載の通信装置。
【請求項６】
前記フォーマット判断手段において前記制御プログラムが前記所定のフォーマットで保持されていないと判断された場合に前記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、
前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記新たな書込みプログラムを前記端末に要求する書込みプログラム要求手段と
をさらに具備し、
前記端末は、前記書込みプログラム要求手段からの要求に応じて前記新たな書込みプログラムを供給し、
前記メモリ書込み手段は、前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記プログラム実行手段において実行される前記新たな書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むことを特徴とする請求項５記載の通信装置。
【請求項７】
前記制御プログラムが前記所定のフォーマットで保持されていると判断された場合に前記制御プログラムが実行可能なプログラムであるか否かを判断する実行判断手段をさらに具備し、
前記制御プログラム要求手段は、前記制御プログラムが実行可能なプログラムでないと判断された場合に暗号化された前記新たな制御プログラムを前記端末に要求することを特徴する請求項５記載の通信装置。
【請求項８】
前記実行判断手段において前記制御プログラムが実行可能なプログラムでないと判断された場合に前記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、
前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記新たな書込みプログラムを前記端末に要求する書込みプログラム要求手段と
をさらに具備し、
前記端末は、前記書込みプログラム要求手段からの要求に応じて前記新たな書込みプログラムを供給し、
前記メモリ書込み手段は、前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記プログラム実行手段において実行される前記新たな書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むことを特徴とする請求項７記載の通信装置。
【請求項９】
共有メモリと送受信の対象となるデータの暗号化および復号を行うと共に暗号化された制御プログラムの復号を行う暗号処理手段とを備える通信装置における処理方法であって、
外部メモリから暗号化された前記制御プログラムを読み出して前記共有メモリに転送するメモリ読出し手順と、
前記送受信の対象となるデータが前記共有メモリに転送されたか否かを判断するデータ転送判断手順と、
前記データ転送判断手順における判断に基づいて前記暗号処理手段において前記送受信の対象となるデータの暗号化および復号と前記制御プログラムの復号とを行う順序を制御する暗号処理制御手順と、
前記送受信の対象となるデータおよび暗号化された前記制御プログラムが前記共有メモリに転送された後に前記制御に従って前記暗号処理手段において前記送受信の対象となるデータの暗号化および復号または暗号化された前記制御プログラムの復号をさせる暗号処理手順と
を具備することを特徴とする処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化および復号処理を行う通信装置に関し、特に外部メモリとの間における転送処理を暗号化された状態で行う通信装置、および、これらにおける処理方法に関する。
【背景技術】
【０００２】
近年、通信技術が発達して様々な情報のやりとりが可能となっている。やりとりされる情報中には個人情報等の秘匿化すべき情報が含まれており、その情報の秘匿化を達成するため、情報を暗号化する技術が特に発達してきている。これにより、通信装置において送受信されるデータの秘匿化が実現されている。
【０００３】
このような通信の対象となる情報の秘匿化を完全に実現するためには、通信路上における秘匿化のみならず、通信装置内部における情報の秘匿化も必要である。このためには、通信装置内部において秘匿化に関するアルゴリズムの解析を防止する必要がある。特に現代においては、データの送受信をオープンアーキテクチャであるパーソナルコンピュータ（ＰＣ：Personal Computer）を介して行うことが多いため、パーソナルコンピュータ内部において秘匿化に関するアルゴリズムの解析を防止する必要性は特に高い。
【０００４】
上記のような問題を解決するため、従来より、ハードディスクに暗号化された状態で保持された情報を、メモリ上に実装された暗号化処理解除手段によって復号する技術が提案されている（例えば、特許文献１参照。）。この技術においては、暗号化処理解除手段によって復号を行う場合、別に設けられたセキュアモジュールから鍵を取得する必要がある。この鍵の取得の前提として、このセキュアモジュールは、暗号化処理解除手段に所定の情報を供給し、その応答の内容によって暗号化処理解除手段の正当性を検証する。セキュアモジュールにおいて暗号化処理解除手段が正当なものであると判断された場合に限り、セキュアモジュールは暗号化処理解除手段に鍵を供給する。このような構成にすれば、メモリ上に実装された暗号化処理解除手段が不正に解析されることを困難にすることができる。
【特許文献１】特開２００３−１９８５２７号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しなしながら、上述の従来技術では、暗号化処理解除手段や暗号化処理解除手段に対してセキュアモジュールから供給される鍵が、外部から測定器や外部プログラムなどで一時的にでも観測可能となっている。このため、通信装置内部における情報を権限のない第三者に覗き見られることを防止できず、リバースエンジニアリングなどの機会を与えてしまう。通信装置内部における情報の秘匿化を達成するには、通信装置内部における情報を閲覧する機会自体を防止することが望まれる。また、通信装置に供給される情報を第三者に把握させないようにすることが望ましい。
【０００６】
そこで、本発明は、当該通信装置内部における情報を閲覧することを防止し、当該通信装置に供給される情報を第三者が把握することを困難にする通信装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記課題を解決するためになされたものであり、その第１の側面は、外部メモリから暗号化された制御プログラムを読み出すメモリ読出し手段と、データの送受信を制御する通信制御手段と、暗号化された上記制御プログラムと上記データとを保持する共有メモリと、上記データの暗号化および復号を行うと共に暗号化された上記制御プログラムの復号を行う暗号処理手段と、復号された上記制御プログラムを実行するプログラム実行手段とを具備することを特徴とする通信装置である。これにより、外部メモリから当該通信装置に暗号化された状態で制御プログラムを転送させ、その暗号化された状態の制御プログラムをデータの送受信の際に用いる暗号処理手段で復号させるという作用をもたらす。外部メモリから当該通信装置に制御プログラムを転送する際は暗号化された状態で転送させるため、外部から転送信号を観測してもその内容の予測を困難にさせる。また、通信の際に用いられる暗号処理手段を制御プログラムの暗号処理にも流用させることができる。
【０００８】
また、この第１の側面において、上記暗号処理手段は、上記共有メモリより暗号化された上記制御プログラムを取得して復号した後に復号した上記制御プログラムを上記共有メモリに転送し、上記プログラム実行手段は、上記共有メモリより復号された上記制御プログラムを取得して上記制御プログラムを実行することを特徴とするものである。これにより、共有メモリを介して暗号化された制御プログラムの復号処理および制御プログラムの実行をさせるという作用をもたらす。
【０００９】
また、この第１の側面において、上記通信装置は、新たな制御プログラムを要求されると暗号化された上記新たな制御プログラムを供給する端末と接続され、上記外部メモリに保持された上記制御プログラムを更新するか否かを示すフラグを保持するフラグ保持手段と、上記フラグを設定する操作手段と、上記フラグにおいて上記外部メモリに保持された上記制御プログラムを更新する旨が示されている場合に暗号化された上記新たな制御プログラムを要求する制御プログラム要求手段と、上記外部メモリに上記新たな制御プログラムを書き込むための書込みプログラムを保持する書込みプログラム保持手段と、上記プログラム実行手段によって実行された上記書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むメモリ書込み手段とをさらに具備することを特徴とするものである。これにより、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを自由に更新させるという作用をもたらす。
【００１０】
また、当該通信装置は、上記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記新たな書込みプログラムを上記端末に要求する書込みプログラム要求手段とをさらに具備し、上記端末は、上記書込みプログラム要求手段からの要求に応じて上記新たな書込みプログラムを供給し、上記メモリ書込み手段は、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記プログラム実行手段において実行される上記新たな書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むことを特徴とするものである。これにより、当該通信装置において外部メモリに対応した書込みプログラムを有していない場合であっても、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを自由に更新させるという作用をもたらす。
【００１１】
また、当該通信装置は、上記フラグに応じて上記外部メモリに保持された上記制御プログラムが所定のフォーマットで保持されているか否かを判断するフォーマット判断手段をさらに具備し、上記制御プログラム要求手段は、上記制御プログラムが上記所定のフォーマットで保持されていないと判断された場合に暗号化された上記新たな制御プログラムを上記端末に要求することを特徴するものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
【００１２】
また、当該通信装置は、上記フォーマット判断手段において上記制御プログラムが上記所定のフォーマットで保持されていないと判断された場合に上記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記新たな書込みプログラムを上記端末に要求する書込みプログラム要求手段とをさらに具備し、上記端末は、上記書込みプログラム要求手段からの要求に応じて上記新たな書込みプログラムを供給し、上記メモリ書込み手段は、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記プログラム実行手段において実行される上記新たな書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むことを特徴とするものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、当該通信装置において外部メモリに対応した書込みプログラムを有していなくても、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
【００１３】
また、当該通信装置は、上記制御プログラムが上記所定のフォーマットで保持されていると判断された場合に上記制御プログラムが実行可能なプログラムであるか否かを判断する実行判断手段をさらに具備し、上記制御プログラム要求手段は、上記制御プログラムが実行可能なプログラムでないと判断された場合に暗号化された上記新たな制御プログラムを上記端末に要求することを特徴するものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
【００１４】
また、当該通信装置は、上記実行判断手段において上記制御プログラムが実行可能なプログラムでないと判断された場合に上記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記新たな書込みプログラムを上記端末に要求する書込みプログラム要求手段とをさらに具備し、上記端末は、上記書込みプログラム要求手段からの要求に応じて上記新たな書込みプログラムを供給し、上記メモリ書込み手段は、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記プログラム実行手段において実行される上記新たな書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むことを特徴とするものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、当該通信装置において外部メモリに対応した書込みプログラムを有していなくても、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
【００１５】
また、本発明の第２の側面は、共有メモリと送受信の対象となるデータの暗号化および復号を行うと共に暗号化された制御プログラムの復号を行う暗号処理手段とを備える通信装置における処理方法であって、外部メモリから暗号化された上記制御プログラムを読み出して上記共有メモリに転送するメモリ読出し手順と、上記送受信の対象となるデータが上記共有メモリに転送されたか否かを判断するデータ転送判断手順と、上記データ転送判断手順における判断に基づいて上記暗号処理手段において上記送受信の対象となるデータの暗号化および復号と上記制御プログラムの復号とを行う順序を制御する暗号処理制御手順と、上記送受信の対象となるデータおよび暗号化された上記制御プログラムが上記共有メモリに転送された後に上記制御に従って上記暗号処理手段において上記送受信の対象となるデータの暗号化および復号または暗号化された上記制御プログラムの復号をさせる暗号処理手順とを具備することを特徴とする処理方法である。これにより、外部メモリから当該通信装置に暗号化された状態で制御プログラムを転送させ、その暗号化された状態の制御プログラムをデータの送受信の際に用いる暗号処理手段で復号させるという作用をもたらす。
【発明の効果】
【００１６】
本発明によれば、通信装置内部における情報を閲覧することを防止し、通信装置に供給される情報を第三者が把握することを困難にするという優れた効果を奏し得る。
【発明を実施するための最良の形態】
【００１７】
次に本発明の実施の形態について図面を参照して詳細に説明する。なお、「インターフェース」を図中では「Ｉ/Ｆ」と略す。
【００１８】
図１は、本発明の実施の形態における通信装置１００の構成の一例を示す図である。通信装置１００は、ホストインターフェース１０と、暗号処理部２０と、通信インターフェース３０と、外部メモリインターフェース４０と、共有メモリ５０と、アービタ６０と、制御部７０と、フラグ保持部８１と、操作部８２と、デバックインターフェース９０とを備える。なお、通信装置１００は、例えば樹脂封止等[0]により、外部からその内部を観測されないように保護されている。
【００１９】
ホストインターフェース１０は、ホスト１１０で生成された送信データを共有メモリ５０に転送したり、共有メモリ５０に保持された受信データをホスト１１０に転送するものである。暗号処理部２０は、共有メモリ５０に保持されたデータまたは制御プログラムの暗号化および復号を行うものである。上述のように通信装置１００全体が、例えば樹脂封止等されているため、通信装置１００の内部を外部から観測できない。このため、第三者は、暗号処理部２０において保持されている暗号鍵等の暗号化された情報を復号する情報を知ることができない。なお、暗号化方式としては、例えばＡＥＳ（Advanced Encryption Standard）が想定されるが、これに限るものではない。
【００２０】
通信部１２０は、ネットワーク上から電気信号で供給されたフレームを通信装置１００で扱えるデータに変換する処理を行うものである。また、通信部１２０は、通信装置１００から転送されたデータを電気信号にしてネットワーク上に送り出す処理を行う。通信インターフェース３０は、通信部１２０において行われるデータの送受信処理を制御するものである。
【００２１】
外部メモリインターフェース４０は、デバックホスト１４０から供給された暗号化された制御プログラムなどを外部メモリ１３０に書き込むものである。デバックホスト１４０は、制御部７０からの要求を受けて、暗号化された新たな制御プログラムや新たな書込みプログラムなどを供給するものである。また、外部メモリインターフェース４０は、外部メモリ１３０に保持されている暗号化された制御プログラムを読み出して共有メモリ５０に転送する。なお、制御プログラムとしては、例えば、ブートローダが、想定されるがこれに限るものではない。
【００２２】
外部メモリ１３０は、暗号化された制御プログラムを保持するものである。なお、外部メモリ１３０としては、例えば、フラッシュメモリなどの不揮発性のメモリが想定されるが、これに限るものではない。また、本発明の実施の形態において外部メモリ１３０は、通信装置１００に対して外付けのメモリが想定される。これは内部メモリとした場合、本発明の実施の形態における通信装置１００は、例えば樹脂封止等されたものを想定しているため、内部メモリが故障した際に交換することができなくなるからである。
【００２３】
アービタ６０は、ホストインターフェース１０、暗号処理部２０および外部メモリインターフェース４０の共有メモリ５０に対するアクセスを制御するものである。ホストインターフェース１０、暗号処理部２０および外部メモリインターフェース４０は、共有メモリ５０にアクセスする際にアービタ６０に対してアクセス要求を行うが、アービタ６０はアクセス要求を受け取った順にホストインターフェース１０、暗号処理部２０および外部メモリインターフェース４０の何れかに共有メモリ５０に対するアクセス許可を行う。このアクセス許可を受け取ることにより共有メモリ５０にアクセスできるようになる。
【００２４】
なお、アービタ６０によるホストインターフェース１０、暗号処理部２０および外部メモリインターフェース４０の共有メモリ５０に対するアクセスの制御は、共有メモリ５０に対するアクセスの優先順位を予め定めておき、その優先順位に従って行ってもよい。
【００２５】
制御部７０は、マイクロプロセッサ７１と、ＲＡＭ（Random Access Memory）７２と、ＲＯＭ（Read Only Memory）７３とを備える。マイクロプロセッサ７１は、通信装置１００全体の処理を司るものであり、作業領域としてＲＡＭ７２を使用する。ＲＯＭ７３には、データの送受信を制御するためのプログラムや、外部メモリ１３０との間でデータの読み書きを行うためのプログラムなどが書き込まれている。
【００２６】
フラグ保持部８１は、外部メモリ１３０に保持された制御プログラムを更新するか否かを示すフラグを保持するものである。フラグ保持部８１に保持されたフラグに基づいて、外部メモリ１３０に保持された制御プログラムを更新するか否かが決定される。このフラグは操作部８２を介して設定される。
【００２７】
デバックインターフェース９０は、外部メモリ１３０に保持されている暗号化された制御プログラムを更新する場合に、暗号化された制御プログラムなどをデバックホスト１４０からＲＡＭ７２に転送するものである。
【００２８】
図２は、本発明の実施の形態における通信装置１００の通信機能と制御プログラムの管理機能とを対比する図である。図２（ａ）は、図１に示した通信装置１００の構成中、制御プログラムに関する機能を実現する部分を抽出した図である。図１で述べたように外部メモリ１３０には、例えばブートローダのような制御プログラムが保持されており、この制御プログラムは暗号化されている。
【００２９】
本発明の実施の形態における通信装置１００を起動させると、外部メモリ１３０に保持された制御プログラムが外部メモリインターフェース４０から信号線１０１を通じて読み出される。制御プログラムは暗号化された状態で読み出されるため、外部から測定器などを用いて信号線１０１を観測してもその制御プログラムの内容を容易に解析することはできない。
【００３０】
読み出された制御プログラムは、共有メモリ５０に転送されて保持される。この共有メモリ５０に保持された制御プログラムは、暗号化された状態であるため、暗号処理部２０において復号する必要がある。暗号化された制御プログラムの復号に際しては、まず、共有メモリ５０に保持された暗号化された制御プログラムを暗号処理部２０に転送する。次に暗号処理部２０は、暗号化された制御プログラムを復号した後にその復号した制御プログラムを共有メモリ５０に転送する。共有メモリ５０に保持された復号された制御プログラムは、制御部７０に転送されて実行される。なお、上述したように通信装置１００は、例えば樹脂封止等されている状態にあるため、その内部を観測することはできない。したがって、第三者は、内部において復号された制御プログラムの内容を観測することはできない。これにより、制御プログラムの閲覧を防止することができる。また、その他の暗号鍵等の情報の閲覧も防止することができる。
【００３１】
制御プログラムを更新する場合は、フラグ保持部８１に保持されたフラグを操作部８２において「制御プログラムを更新する」状態に設定する。フラグが制御プログラムを更新する状態にある場合、制御部７０は、デバックインターフェース９０を介してデバックホスト１４０に新たな制御プログラムを供給するよう要求する。この要求を受けたデバックホスト１４０は、信号線１０２を通じてデバックインターフェース９０に新たな制御プログラムを暗号化された状態で供給する。デバックインターフェース９０は、暗号化された状態の新たな制御プログラムを制御部７０に供給する。
【００３２】
なお、デバックホスト１４０から供給される新たな制御プログラムは、信号線１０２を通じて供給されるが、新たな制御プログラムを供給する際も暗号化された状態で供給されるため、外部から測定器などを用いて信号線１０２を観測してもその新たな制御プログラムの内容を容易に解析することはできない。
【００３３】
制御部７０へ供給された新たな制御プログラムは、暗号処理部２０で復号されず、外部メモリインターフェース４０によって外部メモリ１３０に暗号化された状態で書き込まれ、制御プログラムは更新される。外部メモリ１３０に新たな制御プログラムが書き込まれる際には信号線１０１を通じて書き込まれるが、この場合も上記と同様に信号線１０１を通じて転送される新たな制御プログラムは暗号化された状態であるため、外部から測定器などを用いて信号線１０１を観測してもその新たな制御プログラムの内容を容易に解析することはできない。
【００３４】
図２（ｂ）は、図１に示した通信装置１００の構成中、通信に関する機能を実現する部分を抽出した図である。まず、データを送信する処理について説明する。ホスト１１０で生成された送信データは、ホストインターフェース１０によってホスト１１０から共有メモリ５０に転送され、保持される。共有メモリ５０に保持された送信データは、暗号処理部２０において暗号化される。そして、送信データは暗号化された状態で共有メモリ５０に保持される。共有メモリ５０に保持されている暗号化された送信データは、通信インターフェース３０の制御の下、通信部１２０に転送される。通信部１２０は送信データをネットワーク上に送信する。
【００３５】
次にデータを受信する処理について説明する。ネットワーク上から供給されるデータを通信部１２０において受信する。受信データは、通信インターフェース３０の制御の下、通信部１２０から共有メモリ５０へ転送され、保持される。共有メモリ５０に保持されている受信データは、暗号化されている場合には暗号処理部２０によって復号される。復号された受信データは、ホストインターフェース１０によって共有メモリ５０からホスト１１０へ転送される。
【００３６】
通信機能と制御プログラムの管理機能において共通する部分は、図２（ａ）と図２（ｂ）から明らかなように共有メモリ５０と暗号処理部２０である。本発明の実施の形態における通信装置１００は、共有メモリ５０に保持された制御プログラムの復号と共有メモリ５０に保持された送受信の対象となるデータの暗号化および復号とを暗号処理部２０において行っている。このように、通信機能に用いている暗号処理機能を制御プログラムの管理機能に流用することによって、通信装置１００のハードウェア規模を減少させることができる。また、結果として、通信装置１００を小型化することができる。
【００３７】
図３は、本発明の実施の形態における通信装置１００における制御プログラムの実行および制御プログラムの更新機能を実現する制御部７０の構成の一例を示す図である。制御プログラムの実行および制御プログラムの更新機能を実現する制御部７０は、フォーマット判断部２０１と、実行判断部２０２と、プログラム実行部２０３と、メモリ判断部２０４と、制御プログラム要求部２０５と、書込みプログラム要求部２０６とを備える。
【００３８】
フォーマット判断部２０１は、フラグ保持部８１に保持されたフラグが制御プログラムを更新する旨を示していない場合、外部メモリ１３０において保持されている制御プログラムが所定のフォーマットで保持されているか否かを判断するものである。この判断は、例えば外部メモリ１３０に保持された制御プログラムの終端マークに基づいて行う。終端マークが予め想定されたものであれば、外部メモリ１３０において制御プログラムが所定のフォーマットで保持されていると判断される。
【００３９】
外部メモリ１３０において制御プログラムが所定のフォーマットで保持されているとフォーマット判断部２０１において判断された場合、その旨が実行判断部２０２に通知される。そして、フォーマット判断部２０１は、外部メモリインターフェース４０に暗号化された制御プログラムを読み出すよう指示する。外部メモリインターフェース４０によって読み出された制御プログラムは、暗号化された状態で共有メモリ５０に転送されて、保持される。そして、暗号処理部２０は、共有メモリ５０に保持された暗号化された制御プログラムを取得して復号する。復号された制御プログラムは、共有メモリ５０に転送される。一方、フォーマット判断部２０１において外部メモリ１３０において制御プログラムが所定のフォーマットで保持されてないと判断された場合、その旨がメモリ判断部２０４に通知される。
【００４０】
実行判断部２０２は、フォーマット判断部２０１からの通知を受けた後に、共有メモリ５０において保持されている復号された制御プログラムが実行可能な制御プログラムであるか否かを判断するものである。この判断は、例えば復号された状態の制御プログラム中の特定の領域を参照することによって行う。制御プログラムの特定領域における命令列のパターンが予め想定された命令列のパターンと一致するものであれば、その制御プログラムは、実行可能な制御プログラムであると判断される。
【００４１】
実行判断部２０２において共有メモリ５０に保持されている復号された制御プログラムが実行可能なプログラムであると判断された場合、プログラム実行部２０３にその旨が通知される。一方、実行判断部２０２において共有メモリ５０に保持された制御プログラムが実行可能なプログラムでないと判断された場合、メモリ判断部２０４にその旨が通知される。
【００４２】
プログラム実行部２０３は、実行判断部２０２からの上記通知を受けた後に共有メモリ５０に保持されている復号された制御プログラムを取得して実行するものである。また、プログラム実行部２０３は、後述する新たな書換えプログラムを実行して、デバックホスト１４０から供給された新たな制御プログラムを外部メモリ１３０に書き込むよう外部メモリインターフェース４０を制御する。
【００４３】
メモリ判断部２０４は、フラグ保持部８１に保持されたフラグが制御プログラムを更新する旨を示す場合、メモリの種類などに基づいて外部メモリ１３０が新たな書込みプログラムを必要とするメモリであるか否かを判断する。また、メモリ判断部２０４は、フラグ保持部８１に保持されたフラグが制御プログラムを更新する旨を示していない場合であっても、上述のフォーマット判断部２０１または実行判断部２０２からの通知を受けた後に、メモリの種類などに基づいて外部メモリ１３０が新たな書込みプログラムを必要とするメモリであるか否かを判断する。これは、上記説明したフォーマット判断部２０１または実行判断部２０２からの通知を受けた場合は、外部メモリ１３０に保持された制御プログラムに不具合がある場合であるため、新たな制御プログラムが必要になるからである。
【００４４】
メモリ判断部２０４において外部メモリ１３０が新たな書込みプログラムを必要とするメモリであると判断された場合、書込みプログラム要求部２０６にその旨が通知される。一方、メモリ判断部２０４において外部メモリ１３０が新たな書込みプログラムを必要としないメモリであると判断された場合、制御プログラム要求部２０５にその旨が通知される。
【００４５】
制御プログラム要求部２０５は、メモリ判断部２０４から上記通知を受けた後にデバックインターフェース９０を通じてデバックホスト１４０に新たな制御プログラムを要求するものである。この要求に応じて、デバックホスト１４０は、デバックインターフェース９０を通じてプログラム実行部２０３に暗号化された状態の新たな制御プログラムを供給する。暗号化された状態の新たな制御プログラムは、プログラム実行部２０３で実行される書込みプログラムに従い外部メモリインターフェース４０を通じて外部メモリ１３０に書き込まれる。
【００４６】
書込みプログラム要求部２０６は、メモリ判断部２０４から上記通知を受けた後に、デバックインターフェース９０を通じてデバックホスト１４０に新たな書込みプログラムを要求するものである。この要求に応じて、デバックホスト１４０は、上記要求を受けて新たな書込みプログラムを暗号化された状態で共有メモリ５０に供給する。新たな書き込みプログラムは、暗号化された状態で共有メモリ５０において保持される。そして、暗号処理部２０は、共有メモリ５０に保持された暗号化された新たな書き込みプログラムを取得して復号する。復号された新たな書き込みプログラムは、共有メモリ５０に転送される。その後、プログラム実行部２０３は、復号された新たな書き込みプログラムを共有メモリ５０から取得して実行する。  
【００４７】
そして、制御プログラム要求部２０５は、新たな書込みプログラムがプログラム実行部２０３において実行された後に、デバックインターフェース９０を通じてデバックホスト１４０に新たな制御プログラムを要求する。この要求に応じて、デバックホスト１４０は、デバックインターフェース９０を通じてプログラム実行部２０３に暗号化された状態の新たな制御プログラムを供給する。暗号化された状態の新たな制御プログラムは、プログラム実行部２０３で実行される新たな書込みプログラムに従い外部メモリインターフェース４０を通じて外部メモリ１３０に書き込まれる。
【００４８】
図４は、本発明の実施の形態における制御プログラムのフォーマットの一例を示す図である。制御プログラム３００は、プログラムデータ容量３１１を含む管理情報と、特定領域３２１および終端マーク３２２を含むプログラムデータとを備える。
【００４９】
管理情報は、プログラムデータの容量を示すプログラムデータ容量３１１などのプログラムデータに関する情報を示すものである。プログラムデータは、制御プログラムそのものである。特定領域３２１は、図３で説明した実行判断部２０２においてプログラムが実行可能か否かを判断する際に参照される。プログラムが実行可能か否かは、制御プログラムの特定領域における命令列のパターンが予め想定された命令列のパターンと一致するか否かで判断される。図４において特定領域は一つであるが、これに限るものではなく特定領域は二つ以上あってもよい。
【００５０】
終端マーク３２２は、プログラムの終端部である。この終端マーク３２２は、図３で説明したフォーマット判断部２０１において外部メモリ１３０に保持された制御プログラムが所定のフォーマットで保持されているか否かを判断する際に参照される。外部メモリ１３０に保持された制御プログラムが所定のフォーマットで保持されているか否かは、終端マーク３２２が予め定義された終端マークと一致するか否かで判断される。
【００５１】
次に本発明の実施の形態における通信装置１００の動作について図面を参照して説明する。
【００５２】
図５は、本発明の実施の形態における通信装置１００において制御プログラムを実行する流れを示す図である。まず、制御部７０は、フラグ保持部８１に保持されたフラグに応じて制御プログラムを更新させるか否かを判断する（Ｓ９１１）。制御部７０において制御プログラムを更新させると判断されると、制御プログラム更新処理が行われ、外部メモリ１３０に新たな制御プログラムが書き込まれる（Ｓ９２０）。
【００５３】
制御部７０において制御プログラムを更新させないと判断されると、次に制御部７０は、外部メモリ１３０に保持された制御プログラムが所定のフォーマットで保持されているか否かを判断する（Ｓ９１２）。この判断基準は、上記説明したように制御プログラムの終端マークが予め定義したものと一致するか否かである。
【００５４】
制御部７０において外部メモリ１３０に保持された制御プログラムが所定のフォーマットで保持されていると判断されると、外部メモリインターフェース４０は、外部メモリ１３０から制御プログラムを読み出して、共有メモリ５０に転送する（Ｓ９１３）。転送された制御プログラムは、共有メモリ５０において保持される。一方、制御部７０において外部メモリ１３０に保持された制御プログラムが所定のフォーマットで保持されていないと判断されると、制御プログラム更新処理が行われ、外部メモリ１３０に新たな制御プログラムが書き込まれる（Ｓ９２０）。
【００５５】
次に、制御部７０において送受信の対象となるデータが共有メモリ５０に転送されたか否かが判断される（Ｓ９１４）。すなわち、ホスト１１０で生成された送信データがホストインターフェース１０から共有メモリ５０に転送されたか否か、また、ネットワーク上から送信されてきたデータが通信部１２０から共有メモリ５０に転送されたか否かが制御部７０において判断される。
【００５６】
制御部７０において送受信の対象となるデータが共有メモリ５０に転送されていないと判断されると、暗号処理部２０において制御プログラムが復号される。一方、制御部７０において送受信の対象となるデータが共有メモリ５０に転送されたと判断されると、さらに制御部７０において制御プログラムの復号を送受信の対象となるデータの暗号化または復号よりも先に行うべきか否かが判断される（Ｓ９１５）。この場合、共有メモリ５０へ転送された順に暗号化または復号処理を行うようにしてもよいし、データの暗号化または復号と制御プログラムの復号に関する処理に予め優先順位を設けてその優先順位に従って処理を行うようにしてもよい。
【００５７】
制御部７０において制御プログラムの復号処理の方を先に行うべきと判断されると、暗号処理部２０において制御プログラムの復号処理が行われる（Ｓ９１６）。一方、制御部７０において制御プログラムの復号処理の方を先に行うべきと判断されなかった場合、送受信の対象になるデータの暗号化または復号処理が終わった後に制御プログラムの復号処理が行われる（Ｓ９１６）。
【００５８】
制御部７０は、制御プログラムが復号されると、制御部７０中のＲＡＭ７２に復号された制御プログラムを転送する（Ｓ９１７）。次に、制御部７０においてその制御プログラムが実行可能なプログラムであるか否かが判断される（Ｓ９１８）。この判断基準は、上述のように制御プログラムの特定領域における命令列のパターンが予め想定した命令列のパターンと一致するか否かである。
【００５９】
制御部７０においてその制御プログラムが実行可能なプログラムであると判断されると、その制御プログラムは実行される（Ｓ９１９）。一方、制御部７０においてその制御プログラムが実行可能なプログラムでないと判断されると、制御プログラム更新処理が行われ、外部メモリ１３０に新たな制御プログラムが書き込まれる（Ｓ９２０）。
【００６０】
図６は、図５に示した制御プログラム更新処理の流れを示す図である。制御プログラム更新処理においては、まず、制御部７０において通信装置１００に接続されている外部メモリ１３０が、新たな書換えプログラムを必要とするメモリであるか否かが判断される（Ｓ９３１）。
【００６１】
制御部７０において通信装置１００に接続されている外部メモリ１３０が、新たな書換えプログラムを必要とするメモリであると判断されると、制御部７０はデバックホスト１４０に対して新たな書換えプログラムを共有メモリ５０に供給するよう要求する（Ｓ９３２）。
【００６２】
この要求を受けてデバックインターフェース９０は、デバックホスト１４０から共有メモリ５０に暗号化された新たな書込みプログラムを転送する（Ｓ９３３）。転送された新たな書込みプログラムは、暗号化された状態のまま共有メモリ５０において保持される。次に、この暗号化された状態の新たな書込みプログラムを暗号処理部２０において復号させた後に制御部７０において実行させる（Ｓ９３４）。
【００６３】
制御部７０において新たな書込みプログラムが実行されると、制御部７０はデバックホスト１４０に対して新たな制御プログラムを共有メモリ５０に供給するよう要求する（Ｓ９３５）。この要求を受けてデバックインターフェース９０は、デバックホスト１４０から制御部７０に暗号化された新たな制御プログラムを転送する（Ｓ９３６）。暗号化された状態の新たな制御プログラムは、制御部７０によって実行される新たな書込みプログラムに従い外部メモリインターフェース４０を通じて外部メモリ１３０に書き込まれる。（Ｓ９３７）。
【００６４】
ステップＳ９３１において、通信装置１００に接続されている外部メモリ１３０が、新たな書換えプログラムを必要とするメモリでないと制御部７０によって判断されると、制御部７０はデバックホスト１４０に対して新たな制御プログラムを要求する（Ｓ９３５）。
【００６５】
この要求を受けてデバックインターフェース９０は、デバックホスト１４０から制御部７０に暗号化された新たな制御プログラムを転送する（Ｓ９３６）。暗号化された状態の新たな制御プログラムは、制御部７０によって実行されるＲＯＭ７３に保持された書換えプログラムに従い外部メモリインターフェース４０を通じて外部メモリ１３０に書き込まれる。（Ｓ９３７）。
【００６６】
図７は、本発明の実施の形態における通信装置１００においてデータを受信する流れを示す図である。ネットワーク上から送信されてきた暗号化データを通信部１２０において受信する（Ｓ９５１）。通信部１２０において受信された暗号化データは、通信インターフェース３０の制御の下、共有メモリ５０に転送される（Ｓ９５２）。転送された暗号化データは、共有メモリ５０において保持される。次に、共有メモリ５０に保持された暗号化データは、暗号処理部２０において復号される（Ｓ９５３）。暗号処理部２０において復号されたデータは、ホストインターフェース１０によって共有メモリ５０からホスト１１０に転送される（Ｓ９５４）。
【００６７】
図８は、本発明の実施の形態における通信装置１００においてデータを送信する流れを示す図である。ホスト１１０において送信データを生成する（Ｓ９６１）。ホスト１１０において生成された送信データが、ホストインターフェース１０によって共有メモリ５０に転送される（Ｓ９６２）。転送された送信データは、共有メモリ５０において保持される。次に、共有メモリに保持された送信データは、暗号処理部２０において暗号化される（Ｓ９６３）。暗号化された送信データは、通信インターフェース３０の制御の下、共有メモリ５０から通信部１２０に転送される（Ｓ９６４）。暗号化された送信データが転送されてくると、通信部１２０は、その暗号化された送信データをネットワーク上に送信する（Ｓ９６５）。
【００６８】
このように、本発明の実施の形態によれば、外部メモリ１３０から転送される制御プログラムも外部メモリ１３０に転送される新たな制御プログラムも暗号化された状態であるから信号線１０１を流れる信号を測定器などで観測しても暗号化されたデータが観測されるだけであるため、第三者が情報を把握することを困難にすることができる。
【００６９】
また、その暗号化された状態の制御プログラムおよび新たな制御プログラムの復号は、例えば樹脂封止等された通信装置の内部で行われるため、外部から制御プログラムおよび新たな制御プログラムに内容を観測することはできない。
【００７０】
同様に、デバックホスト１４０から供給される新たな制御プログラムおよび新たな書換えプログラムも暗号化された状態で供給されるため、信号線１０２を流れる信号を測定器などで観測しても暗号化されたデータが観測されるだけであるため、第三者が情報を把握することを困難にすることができる。
【００７１】
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
【００７２】
すなわち、請求項１において、外部メモリは、例えば、外部メモリ１３０に対応する。また、メモリ読出し手段は、例えば、外部メモリインターフェース４０に対応する。また、通信制御手段は、例えば、通信インターフェース３０に対応する。また、共有メモリは、例えば、共有メモリ５０に対応する。また、暗号処理手段は、例えば、暗号処理部２０に対応する。また、プログラム実行手段は、例えば、プログラム実行部２０３に対応する。
【００７３】
また、請求項２において、端末は、例えば、デバックホスト１４０に対応する。また、フラグ保持手段は、例えば、フラグ保持部８１に対応する。また、操作手段は、例えば、操作部８２に対応する。また、制御プログラム要求手段は、例えば、制御プログラム要求部２０５に対応する。また、書込みプログラム保持手段は、例えばＲＯＭ７３に対応する。また、メモリ書込み手段は、例えば、外部メモリインターフェース４０に対応する。
【００７４】
また、請求項３において、メモリ判断手段は、例えば、メモリ判断部２０４に対応する。また、書込みプログラム要求手段は、例えば、書込みプログラム要求部２０６に対応する。
【００７５】
また、請求項４において、フォーマット判断手段は、例えば、フォーマット判断部２０１に対応する。
【００７６】
また、請求項５において、メモリ判断手段は、例えば、メモリ判断部２０４に対応する。また、書込みプログラム要求手段は、例えば、書込みプログラム要求部２０６に対応する。
【００７７】
また、請求項６において、実行判断手段は、例えば、実行判断部２０２に対応する。
【００７８】
また、請求項７において、メモリ判断手段は、例えば、メモリ判断部２０４に対応する。また、書込みプログラム要求手段は、例えば、書込みプログラム要求部２０６に対応する。
【００７９】
また、請求項８において、メモリ読出し手順は、例えば、ステップＳ９１１乃至ステップＳ９１３に対応する。データ転送判断手順は、例えば、ステップＳ９１４に対応する。暗号処理制御手順は、例えば、ステップＳ９１５に対応する。また、暗号処理手順は、例えば、ステップＳ９１６に対応する。
【００８０】
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明の実施の形態における通信装置１００の構成の一例を示す図である。
【図２】本発明の実施の形態における通信装置１００の制御プログラムに関する機能と通信に関する機能を対比する図である。
【図３】本発明の実施の形態における通信装置１００における制御プログラムの実行および制御プログラムの更新機能を実現する制御部７０の構成の一例を示す図である。
【図４】本発明の実施の形態における制御プログラムのフォーマットの一例を示す図である。
【図５】本発明の実施の形態における通信装置１００において制御プログラムを実行する流れを示す図である。
【図６】図５に示した制御プログラム更新処理の流れを示す図である。
【図７】本発明の実施の形態における通信装置１００におけるデータを受信する流れを示す図である。
【図８】本発明の実施の形態における通信装置１００におけるデータを送信する流れを示す図である。
【符号の説明】
【００８２】
１０  ホストインターフェース
２０  暗号処理部
３０  通信インターフェース
４０  外部メモリインターフェース
５０  共有メモリ
６０  アービタ
７０  制御部
７１  マイクロプロセッサ
７２  ＲＡＭ
７３  ＲＯＭ
８１  フラグ保持部
８２  操作部
９０  デバックインターフェース
１００  通信装置
１０１  信号線
１０２  信号線
１１０  ホスト
１２０  通信部
１３０  外部メモリ
１４０  デバックホスト
２０１  フォーマット判断部
２０２  実行判断部
２０３  プログラム実行部
２０４  メモリ判断部
２０５  制御プログラム要求部
２０６  書込みプログラム要求部
【図１】
2007043345.tif 000003
【図２】
2007043345.tif 000004
【図３】
2007043345.tif 000005
【図４】
2007043345.tif 000006
【図５】
2007043345.tif 000007
【図６】
2007043345.tif 000008
【図７】
2007043345.tif 000009
【図８】
2007043345.tif 000010