JP2007043345A - 通信装置およびそれにおける処理方法 - Google Patents

通信装置およびそれにおける処理方法 Download PDF

Info

Publication number
JP2007043345A
JP2007043345A JP2005223604A JP2005223604A JP2007043345A JP 2007043345 A JP2007043345 A JP 2007043345A JP 2005223604 A JP2005223604 A JP 2005223604A JP 2005223604 A JP2005223604 A JP 2005223604A JP 2007043345 A JP2007043345 A JP 2007043345A
Authority
JP
Japan
Prior art keywords
program
control program
memory
new
external memory
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
Application number
JP2005223604A
Other languages
English (en)
Inventor
Hidemasa Yoshida
英正 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2005223604A priority Critical patent/JP2007043345A/ja
Publication of JP2007043345A publication Critical patent/JP2007043345A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 通信装置内部における情報を閲覧することを防止し、通信装置に供給される情報を第三者が把握することを困難にする。
【解決手段】 外部メモリ130に保持されている暗号化された制御プログラムが外部メモリインターフェース40によって読み出され、共有メモリ50に転送される。共有メモリ50に送受信の対象となるデータが保持されている場合は、制御部70の制御の下、制御プログラムの復号と送受信の対象となるデータの暗号化および復号が暗号処理部20において行われる。暗号化された制御プログラムの復号が行われた後、制御プログラムは制御部70において実行される。制御プログラムを更新する場合、デバックホスト140は暗号化された新たな制御プログラムを供給し、新たな制御プログラムは外部メモリインターフェース40によって暗号化された状態で外部メモリ130に書き込まれる。
【選択図】 図1

Description

本発明は、暗号化および復号処理を行う通信装置に関し、特に外部メモリとの間における転送処理を暗号化された状態で行う通信装置、および、これらにおける処理方法に関する。
近年、通信技術が発達して様々な情報のやりとりが可能となっている。やりとりされる情報中には個人情報等の秘匿化すべき情報が含まれており、その情報の秘匿化を達成するため、情報を暗号化する技術が特に発達してきている。これにより、通信装置において送受信されるデータの秘匿化が実現されている。
このような通信の対象となる情報の秘匿化を完全に実現するためには、通信路上における秘匿化のみならず、通信装置内部における情報の秘匿化も必要である。このためには、通信装置内部において秘匿化に関するアルゴリズムの解析を防止する必要がある。特に現代においては、データの送受信をオープンアーキテクチャであるパーソナルコンピュータ(PC:Personal Computer)を介して行うことが多いため、パーソナルコンピュータ内部において秘匿化に関するアルゴリズムの解析を防止する必要性は特に高い。
上記のような問題を解決するため、従来より、ハードディスクに暗号化された状態で保持された情報を、メモリ上に実装された暗号化処理解除手段によって復号する技術が提案されている(例えば、特許文献1参照。)。この技術においては、暗号化処理解除手段によって復号を行う場合、別に設けられたセキュアモジュールから鍵を取得する必要がある。この鍵の取得の前提として、このセキュアモジュールは、暗号化処理解除手段に所定の情報を供給し、その応答の内容によって暗号化処理解除手段の正当性を検証する。セキュアモジュールにおいて暗号化処理解除手段が正当なものであると判断された場合に限り、セキュアモジュールは暗号化処理解除手段に鍵を供給する。このような構成にすれば、メモリ上に実装された暗号化処理解除手段が不正に解析されることを困難にすることができる。
特開2003−198527号公報(図1)
しなしながら、上述の従来技術では、暗号化処理解除手段や暗号化処理解除手段に対してセキュアモジュールから供給される鍵が、外部から測定器や外部プログラムなどで一時的にでも観測可能となっている。このため、通信装置内部における情報を権限のない第三者に覗き見られることを防止できず、リバースエンジニアリングなどの機会を与えてしまう。通信装置内部における情報の秘匿化を達成するには、通信装置内部における情報を閲覧する機会自体を防止することが望まれる。また、通信装置に供給される情報を第三者に把握させないようにすることが望ましい。
そこで、本発明は、当該通信装置内部における情報を閲覧することを防止し、当該通信装置に供給される情報を第三者が把握することを困難にする通信装置を提供することを目的とする。
本発明は、上記課題を解決するためになされたものであり、その第1の側面は、外部メモリから暗号化された制御プログラムを読み出すメモリ読出し手段と、データの送受信を制御する通信制御手段と、暗号化された上記制御プログラムと上記データとを保持する共有メモリと、上記データの暗号化および復号を行うと共に暗号化された上記制御プログラムの復号を行う暗号処理手段と、復号された上記制御プログラムを実行するプログラム実行手段とを具備することを特徴とする通信装置である。これにより、外部メモリから当該通信装置に暗号化された状態で制御プログラムを転送させ、その暗号化された状態の制御プログラムをデータの送受信の際に用いる暗号処理手段で復号させるという作用をもたらす。外部メモリから当該通信装置に制御プログラムを転送する際は暗号化された状態で転送させるため、外部から転送信号を観測してもその内容の予測を困難にさせる。また、通信の際に用いられる暗号処理手段を制御プログラムの暗号処理にも流用させることができる。
また、この第1の側面において、上記暗号処理手段は、上記共有メモリより暗号化された上記制御プログラムを取得して復号した後に復号した上記制御プログラムを上記共有メモリに転送し、上記プログラム実行手段は、上記共有メモリより復号された上記制御プログラムを取得して上記制御プログラムを実行することを特徴とするものである。これにより、共有メモリを介して暗号化された制御プログラムの復号処理および制御プログラムの実行をさせるという作用をもたらす。
また、この第1の側面において、上記通信装置は、新たな制御プログラムを要求されると暗号化された上記新たな制御プログラムを供給する端末と接続され、上記外部メモリに保持された上記制御プログラムを更新するか否かを示すフラグを保持するフラグ保持手段と、上記フラグを設定する操作手段と、上記フラグにおいて上記外部メモリに保持された上記制御プログラムを更新する旨が示されている場合に暗号化された上記新たな制御プログラムを要求する制御プログラム要求手段と、上記外部メモリに上記新たな制御プログラムを書き込むための書込みプログラムを保持する書込みプログラム保持手段と、上記プログラム実行手段によって実行された上記書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むメモリ書込み手段とをさらに具備することを特徴とするものである。これにより、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを自由に更新させるという作用をもたらす。
また、当該通信装置は、上記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記新たな書込みプログラムを上記端末に要求する書込みプログラム要求手段とをさらに具備し、上記端末は、上記書込みプログラム要求手段からの要求に応じて上記新たな書込みプログラムを供給し、上記メモリ書込み手段は、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記プログラム実行手段において実行される上記新たな書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むことを特徴とするものである。これにより、当該通信装置において外部メモリに対応した書込みプログラムを有していない場合であっても、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを自由に更新させるという作用をもたらす。
また、当該通信装置は、上記フラグに応じて上記外部メモリに保持された上記制御プログラムが所定のフォーマットで保持されているか否かを判断するフォーマット判断手段をさらに具備し、上記制御プログラム要求手段は、上記制御プログラムが上記所定のフォーマットで保持されていないと判断された場合に暗号化された上記新たな制御プログラムを上記端末に要求することを特徴するものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
また、当該通信装置は、上記フォーマット判断手段において上記制御プログラムが上記所定のフォーマットで保持されていないと判断された場合に上記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記新たな書込みプログラムを上記端末に要求する書込みプログラム要求手段とをさらに具備し、上記端末は、上記書込みプログラム要求手段からの要求に応じて上記新たな書込みプログラムを供給し、上記メモリ書込み手段は、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記プログラム実行手段において実行される上記新たな書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むことを特徴とするものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、当該通信装置において外部メモリに対応した書込みプログラムを有していなくても、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
また、当該通信装置は、上記制御プログラムが上記所定のフォーマットで保持されていると判断された場合に上記制御プログラムが実行可能なプログラムであるか否かを判断する実行判断手段をさらに具備し、上記制御プログラム要求手段は、上記制御プログラムが実行可能なプログラムでないと判断された場合に暗号化された上記新たな制御プログラムを上記端末に要求することを特徴するものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
また、当該通信装置は、上記実行判断手段において上記制御プログラムが実行可能なプログラムでないと判断された場合に上記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記新たな書込みプログラムを上記端末に要求する書込みプログラム要求手段とをさらに具備し、上記端末は、上記書込みプログラム要求手段からの要求に応じて上記新たな書込みプログラムを供給し、上記メモリ書込み手段は、上記外部メモリが上記新たな書込みプログラムを必要とするメモリであると判断された場合に上記プログラム実行手段において実行される上記新たな書込みプログラムに従って上記端末から供給された上記新たな制御プログラムを暗号化されたまま上記外部メモリに書き込むことを特徴とするものである。これにより、外部メモリに保持された制御プログラムに不具合があった場合に、当該通信装置において外部メモリに対応した書込みプログラムを有していなくても、外部から制御プログラムの内容を把握させることを困難にした状態で制御プログラムを更新させるという作用をもたらす。
また、本発明の第2の側面は、共有メモリと送受信の対象となるデータの暗号化および復号を行うと共に暗号化された制御プログラムの復号を行う暗号処理手段とを備える通信装置における処理方法であって、外部メモリから暗号化された上記制御プログラムを読み出して上記共有メモリに転送するメモリ読出し手順と、上記送受信の対象となるデータが上記共有メモリに転送されたか否かを判断するデータ転送判断手順と、上記データ転送判断手順における判断に基づいて上記暗号処理手段において上記送受信の対象となるデータの暗号化および復号と上記制御プログラムの復号とを行う順序を制御する暗号処理制御手順と、上記送受信の対象となるデータおよび暗号化された上記制御プログラムが上記共有メモリに転送された後に上記制御に従って上記暗号処理手段において上記送受信の対象となるデータの暗号化および復号または暗号化された上記制御プログラムの復号をさせる暗号処理手順とを具備することを特徴とする処理方法である。これにより、外部メモリから当該通信装置に暗号化された状態で制御プログラムを転送させ、その暗号化された状態の制御プログラムをデータの送受信の際に用いる暗号処理手段で復号させるという作用をもたらす。
本発明によれば、通信装置内部における情報を閲覧することを防止し、通信装置に供給される情報を第三者が把握することを困難にするという優れた効果を奏し得る。
次に本発明の実施の形態について図面を参照して詳細に説明する。なお、「インターフェース」を図中では「I/F」と略す。
図1は、本発明の実施の形態における通信装置100の構成の一例を示す図である。通信装置100は、ホストインターフェース10と、暗号処理部20と、通信インターフェース30と、外部メモリインターフェース40と、共有メモリ50と、アービタ60と、制御部70と、フラグ保持部81と、操作部82と、デバックインターフェース90とを備える。なお、通信装置100は、例えば樹脂封止等[0]により、外部からその内部を観測されないように保護されている。
ホストインターフェース10は、ホスト110で生成された送信データを共有メモリ50に転送したり、共有メモリ50に保持された受信データをホスト110に転送するものである。暗号処理部20は、共有メモリ50に保持されたデータまたは制御プログラムの暗号化および復号を行うものである。上述のように通信装置100全体が、例えば樹脂封止等されているため、通信装置100の内部を外部から観測できない。このため、第三者は、暗号処理部20において保持されている暗号鍵等の暗号化された情報を復号する情報を知ることができない。なお、暗号化方式としては、例えばAES(Advanced Encryption Standard)が想定されるが、これに限るものではない。
通信部120は、ネットワーク上から電気信号で供給されたフレームを通信装置100で扱えるデータに変換する処理を行うものである。また、通信部120は、通信装置100から転送されたデータを電気信号にしてネットワーク上に送り出す処理を行う。通信インターフェース30は、通信部120において行われるデータの送受信処理を制御するものである。
外部メモリインターフェース40は、デバックホスト140から供給された暗号化された制御プログラムなどを外部メモリ130に書き込むものである。デバックホスト140は、制御部70からの要求を受けて、暗号化された新たな制御プログラムや新たな書込みプログラムなどを供給するものである。また、外部メモリインターフェース40は、外部メモリ130に保持されている暗号化された制御プログラムを読み出して共有メモリ50に転送する。なお、制御プログラムとしては、例えば、ブートローダが、想定されるがこれに限るものではない。
外部メモリ130は、暗号化された制御プログラムを保持するものである。なお、外部メモリ130としては、例えば、フラッシュメモリなどの不揮発性のメモリが想定されるが、これに限るものではない。また、本発明の実施の形態において外部メモリ130は、通信装置100に対して外付けのメモリが想定される。これは内部メモリとした場合、本発明の実施の形態における通信装置100は、例えば樹脂封止等されたものを想定しているため、内部メモリが故障した際に交換することができなくなるからである。
アービタ60は、ホストインターフェース10、暗号処理部20および外部メモリインターフェース40の共有メモリ50に対するアクセスを制御するものである。ホストインターフェース10、暗号処理部20および外部メモリインターフェース40は、共有メモリ50にアクセスする際にアービタ60に対してアクセス要求を行うが、アービタ60はアクセス要求を受け取った順にホストインターフェース10、暗号処理部20および外部メモリインターフェース40の何れかに共有メモリ50に対するアクセス許可を行う。このアクセス許可を受け取ることにより共有メモリ50にアクセスできるようになる。
なお、アービタ60によるホストインターフェース10、暗号処理部20および外部メモリインターフェース40の共有メモリ50に対するアクセスの制御は、共有メモリ50に対するアクセスの優先順位を予め定めておき、その優先順位に従って行ってもよい。
制御部70は、マイクロプロセッサ71と、RAM(Random Access Memory)72と、ROM(Read Only Memory)73とを備える。マイクロプロセッサ71は、通信装置100全体の処理を司るものであり、作業領域としてRAM72を使用する。ROM73には、データの送受信を制御するためのプログラムや、外部メモリ130との間でデータの読み書きを行うためのプログラムなどが書き込まれている。
フラグ保持部81は、外部メモリ130に保持された制御プログラムを更新するか否かを示すフラグを保持するものである。フラグ保持部81に保持されたフラグに基づいて、外部メモリ130に保持された制御プログラムを更新するか否かが決定される。このフラグは操作部82を介して設定される。
デバックインターフェース90は、外部メモリ130に保持されている暗号化された制御プログラムを更新する場合に、暗号化された制御プログラムなどをデバックホスト140からRAM72に転送するものである。
図2は、本発明の実施の形態における通信装置100の通信機能と制御プログラムの管理機能とを対比する図である。図2(a)は、図1に示した通信装置100の構成中、制御プログラムに関する機能を実現する部分を抽出した図である。図1で述べたように外部メモリ130には、例えばブートローダのような制御プログラムが保持されており、この制御プログラムは暗号化されている。
本発明の実施の形態における通信装置100を起動させると、外部メモリ130に保持された制御プログラムが外部メモリインターフェース40から信号線101を通じて読み出される。制御プログラムは暗号化された状態で読み出されるため、外部から測定器などを用いて信号線101を観測してもその制御プログラムの内容を容易に解析することはできない。
読み出された制御プログラムは、共有メモリ50に転送されて保持される。この共有メモリ50に保持された制御プログラムは、暗号化された状態であるため、暗号処理部20において復号する必要がある。暗号化された制御プログラムの復号に際しては、まず、共有メモリ50に保持された暗号化された制御プログラムを暗号処理部20に転送する。次に暗号処理部20は、暗号化された制御プログラムを復号した後にその復号した制御プログラムを共有メモリ50に転送する。共有メモリ50に保持された復号された制御プログラムは、制御部70に転送されて実行される。なお、上述したように通信装置100は、例えば樹脂封止等されている状態にあるため、その内部を観測することはできない。したがって、第三者は、内部において復号された制御プログラムの内容を観測することはできない。これにより、制御プログラムの閲覧を防止することができる。また、その他の暗号鍵等の情報の閲覧も防止することができる。
制御プログラムを更新する場合は、フラグ保持部81に保持されたフラグを操作部82において「制御プログラムを更新する」状態に設定する。フラグが制御プログラムを更新する状態にある場合、制御部70は、デバックインターフェース90を介してデバックホスト140に新たな制御プログラムを供給するよう要求する。この要求を受けたデバックホスト140は、信号線102を通じてデバックインターフェース90に新たな制御プログラムを暗号化された状態で供給する。デバックインターフェース90は、暗号化された状態の新たな制御プログラムを制御部70に供給する。
なお、デバックホスト140から供給される新たな制御プログラムは、信号線102を通じて供給されるが、新たな制御プログラムを供給する際も暗号化された状態で供給されるため、外部から測定器などを用いて信号線102を観測してもその新たな制御プログラムの内容を容易に解析することはできない。
制御部70へ供給された新たな制御プログラムは、暗号処理部20で復号されず、外部メモリインターフェース40によって外部メモリ130に暗号化された状態で書き込まれ、制御プログラムは更新される。外部メモリ130に新たな制御プログラムが書き込まれる際には信号線101を通じて書き込まれるが、この場合も上記と同様に信号線101を通じて転送される新たな制御プログラムは暗号化された状態であるため、外部から測定器などを用いて信号線101を観測してもその新たな制御プログラムの内容を容易に解析することはできない。
図2(b)は、図1に示した通信装置100の構成中、通信に関する機能を実現する部分を抽出した図である。まず、データを送信する処理について説明する。ホスト110で生成された送信データは、ホストインターフェース10によってホスト110から共有メモリ50に転送され、保持される。共有メモリ50に保持された送信データは、暗号処理部20において暗号化される。そして、送信データは暗号化された状態で共有メモリ50に保持される。共有メモリ50に保持されている暗号化された送信データは、通信インターフェース30の制御の下、通信部120に転送される。通信部120は送信データをネットワーク上に送信する。
次にデータを受信する処理について説明する。ネットワーク上から供給されるデータを通信部120において受信する。受信データは、通信インターフェース30の制御の下、通信部120から共有メモリ50へ転送され、保持される。共有メモリ50に保持されている受信データは、暗号化されている場合には暗号処理部20によって復号される。復号された受信データは、ホストインターフェース10によって共有メモリ50からホスト110へ転送される。
通信機能と制御プログラムの管理機能において共通する部分は、図2(a)と図2(b)から明らかなように共有メモリ50と暗号処理部20である。本発明の実施の形態における通信装置100は、共有メモリ50に保持された制御プログラムの復号と共有メモリ50に保持された送受信の対象となるデータの暗号化および復号とを暗号処理部20において行っている。このように、通信機能に用いている暗号処理機能を制御プログラムの管理機能に流用することによって、通信装置100のハードウェア規模を減少させることができる。また、結果として、通信装置100を小型化することができる。
図3は、本発明の実施の形態における通信装置100における制御プログラムの実行および制御プログラムの更新機能を実現する制御部70の構成の一例を示す図である。制御プログラムの実行および制御プログラムの更新機能を実現する制御部70は、フォーマット判断部201と、実行判断部202と、プログラム実行部203と、メモリ判断部204と、制御プログラム要求部205と、書込みプログラム要求部206とを備える。
フォーマット判断部201は、フラグ保持部81に保持されたフラグが制御プログラムを更新する旨を示していない場合、外部メモリ130において保持されている制御プログラムが所定のフォーマットで保持されているか否かを判断するものである。この判断は、例えば外部メモリ130に保持された制御プログラムの終端マークに基づいて行う。終端マークが予め想定されたものであれば、外部メモリ130において制御プログラムが所定のフォーマットで保持されていると判断される。
外部メモリ130において制御プログラムが所定のフォーマットで保持されているとフォーマット判断部201において判断された場合、その旨が実行判断部202に通知される。そして、フォーマット判断部201は、外部メモリインターフェース40に暗号化された制御プログラムを読み出すよう指示する。外部メモリインターフェース40によって読み出された制御プログラムは、暗号化された状態で共有メモリ50に転送されて、保持される。そして、暗号処理部20は、共有メモリ50に保持された暗号化された制御プログラムを取得して復号する。復号された制御プログラムは、共有メモリ50に転送される。一方、フォーマット判断部201において外部メモリ130において制御プログラムが所定のフォーマットで保持されてないと判断された場合、その旨がメモリ判断部204に通知される。
実行判断部202は、フォーマット判断部201からの通知を受けた後に、共有メモリ50において保持されている復号された制御プログラムが実行可能な制御プログラムであるか否かを判断するものである。この判断は、例えば復号された状態の制御プログラム中の特定の領域を参照することによって行う。制御プログラムの特定領域における命令列のパターンが予め想定された命令列のパターンと一致するものであれば、その制御プログラムは、実行可能な制御プログラムであると判断される。
実行判断部202において共有メモリ50に保持されている復号された制御プログラムが実行可能なプログラムであると判断された場合、プログラム実行部203にその旨が通知される。一方、実行判断部202において共有メモリ50に保持された制御プログラムが実行可能なプログラムでないと判断された場合、メモリ判断部204にその旨が通知される。
プログラム実行部203は、実行判断部202からの上記通知を受けた後に共有メモリ50に保持されている復号された制御プログラムを取得して実行するものである。また、プログラム実行部203は、後述する新たな書換えプログラムを実行して、デバックホスト140から供給された新たな制御プログラムを外部メモリ130に書き込むよう外部メモリインターフェース40を制御する。
メモリ判断部204は、フラグ保持部81に保持されたフラグが制御プログラムを更新する旨を示す場合、メモリの種類などに基づいて外部メモリ130が新たな書込みプログラムを必要とするメモリであるか否かを判断する。また、メモリ判断部204は、フラグ保持部81に保持されたフラグが制御プログラムを更新する旨を示していない場合であっても、上述のフォーマット判断部201または実行判断部202からの通知を受けた後に、メモリの種類などに基づいて外部メモリ130が新たな書込みプログラムを必要とするメモリであるか否かを判断する。これは、上記説明したフォーマット判断部201または実行判断部202からの通知を受けた場合は、外部メモリ130に保持された制御プログラムに不具合がある場合であるため、新たな制御プログラムが必要になるからである。
メモリ判断部204において外部メモリ130が新たな書込みプログラムを必要とするメモリであると判断された場合、書込みプログラム要求部206にその旨が通知される。一方、メモリ判断部204において外部メモリ130が新たな書込みプログラムを必要としないメモリであると判断された場合、制御プログラム要求部205にその旨が通知される。
制御プログラム要求部205は、メモリ判断部204から上記通知を受けた後にデバックインターフェース90を通じてデバックホスト140に新たな制御プログラムを要求するものである。この要求に応じて、デバックホスト140は、デバックインターフェース90を通じてプログラム実行部203に暗号化された状態の新たな制御プログラムを供給する。暗号化された状態の新たな制御プログラムは、プログラム実行部203で実行される書込みプログラムに従い外部メモリインターフェース40を通じて外部メモリ130に書き込まれる。
書込みプログラム要求部206は、メモリ判断部204から上記通知を受けた後に、デバックインターフェース90を通じてデバックホスト140に新たな書込みプログラムを要求するものである。この要求に応じて、デバックホスト140は、上記要求を受けて新たな書込みプログラムを暗号化された状態で共有メモリ50に供給する。新たな書き込みプログラムは、暗号化された状態で共有メモリ50において保持される。そして、暗号処理部20は、共有メモリ50に保持された暗号化された新たな書き込みプログラムを取得して復号する。復号された新たな書き込みプログラムは、共有メモリ50に転送される。その後、プログラム実行部203は、復号された新たな書き込みプログラムを共有メモリ50から取得して実行する。
そして、制御プログラム要求部205は、新たな書込みプログラムがプログラム実行部203において実行された後に、デバックインターフェース90を通じてデバックホスト140に新たな制御プログラムを要求する。この要求に応じて、デバックホスト140は、デバックインターフェース90を通じてプログラム実行部203に暗号化された状態の新たな制御プログラムを供給する。暗号化された状態の新たな制御プログラムは、プログラム実行部203で実行される新たな書込みプログラムに従い外部メモリインターフェース40を通じて外部メモリ130に書き込まれる。
図4は、本発明の実施の形態における制御プログラムのフォーマットの一例を示す図である。制御プログラム300は、プログラムデータ容量311を含む管理情報と、特定領域321および終端マーク322を含むプログラムデータとを備える。
管理情報は、プログラムデータの容量を示すプログラムデータ容量311などのプログラムデータに関する情報を示すものである。プログラムデータは、制御プログラムそのものである。特定領域321は、図3で説明した実行判断部202においてプログラムが実行可能か否かを判断する際に参照される。プログラムが実行可能か否かは、制御プログラムの特定領域における命令列のパターンが予め想定された命令列のパターンと一致するか否かで判断される。図4において特定領域は一つであるが、これに限るものではなく特定領域は二つ以上あってもよい。
終端マーク322は、プログラムの終端部である。この終端マーク322は、図3で説明したフォーマット判断部201において外部メモリ130に保持された制御プログラムが所定のフォーマットで保持されているか否かを判断する際に参照される。外部メモリ130に保持された制御プログラムが所定のフォーマットで保持されているか否かは、終端マーク322が予め定義された終端マークと一致するか否かで判断される。
次に本発明の実施の形態における通信装置100の動作について図面を参照して説明する。
図5は、本発明の実施の形態における通信装置100において制御プログラムを実行する流れを示す図である。まず、制御部70は、フラグ保持部81に保持されたフラグに応じて制御プログラムを更新させるか否かを判断する(S911)。制御部70において制御プログラムを更新させると判断されると、制御プログラム更新処理が行われ、外部メモリ130に新たな制御プログラムが書き込まれる(S920)。
制御部70において制御プログラムを更新させないと判断されると、次に制御部70は、外部メモリ130に保持された制御プログラムが所定のフォーマットで保持されているか否かを判断する(S912)。この判断基準は、上記説明したように制御プログラムの終端マークが予め定義したものと一致するか否かである。
制御部70において外部メモリ130に保持された制御プログラムが所定のフォーマットで保持されていると判断されると、外部メモリインターフェース40は、外部メモリ130から制御プログラムを読み出して、共有メモリ50に転送する(S913)。転送された制御プログラムは、共有メモリ50において保持される。一方、制御部70において外部メモリ130に保持された制御プログラムが所定のフォーマットで保持されていないと判断されると、制御プログラム更新処理が行われ、外部メモリ130に新たな制御プログラムが書き込まれる(S920)。
次に、制御部70において送受信の対象となるデータが共有メモリ50に転送されたか否かが判断される(S914)。すなわち、ホスト110で生成された送信データがホストインターフェース10から共有メモリ50に転送されたか否か、また、ネットワーク上から送信されてきたデータが通信部120から共有メモリ50に転送されたか否かが制御部70において判断される。
制御部70において送受信の対象となるデータが共有メモリ50に転送されていないと判断されると、暗号処理部20において制御プログラムが復号される。一方、制御部70において送受信の対象となるデータが共有メモリ50に転送されたと判断されると、さらに制御部70において制御プログラムの復号を送受信の対象となるデータの暗号化または復号よりも先に行うべきか否かが判断される(S915)。この場合、共有メモリ50へ転送された順に暗号化または復号処理を行うようにしてもよいし、データの暗号化または復号と制御プログラムの復号に関する処理に予め優先順位を設けてその優先順位に従って処理を行うようにしてもよい。
制御部70において制御プログラムの復号処理の方を先に行うべきと判断されると、暗号処理部20において制御プログラムの復号処理が行われる(S916)。一方、制御部70において制御プログラムの復号処理の方を先に行うべきと判断されなかった場合、送受信の対象になるデータの暗号化または復号処理が終わった後に制御プログラムの復号処理が行われる(S916)。
制御部70は、制御プログラムが復号されると、制御部70中のRAM72に復号された制御プログラムを転送する(S917)。次に、制御部70においてその制御プログラムが実行可能なプログラムであるか否かが判断される(S918)。この判断基準は、上述のように制御プログラムの特定領域における命令列のパターンが予め想定した命令列のパターンと一致するか否かである。
制御部70においてその制御プログラムが実行可能なプログラムであると判断されると、その制御プログラムは実行される(S919)。一方、制御部70においてその制御プログラムが実行可能なプログラムでないと判断されると、制御プログラム更新処理が行われ、外部メモリ130に新たな制御プログラムが書き込まれる(S920)。
図6は、図5に示した制御プログラム更新処理の流れを示す図である。制御プログラム更新処理においては、まず、制御部70において通信装置100に接続されている外部メモリ130が、新たな書換えプログラムを必要とするメモリであるか否かが判断される(S931)。
制御部70において通信装置100に接続されている外部メモリ130が、新たな書換えプログラムを必要とするメモリであると判断されると、制御部70はデバックホスト140に対して新たな書換えプログラムを共有メモリ50に供給するよう要求する(S932)。
この要求を受けてデバックインターフェース90は、デバックホスト140から共有メモリ50に暗号化された新たな書込みプログラムを転送する(S933)。転送された新たな書込みプログラムは、暗号化された状態のまま共有メモリ50において保持される。次に、この暗号化された状態の新たな書込みプログラムを暗号処理部20において復号させた後に制御部70において実行させる(S934)。
制御部70において新たな書込みプログラムが実行されると、制御部70はデバックホスト140に対して新たな制御プログラムを共有メモリ50に供給するよう要求する(S935)。この要求を受けてデバックインターフェース90は、デバックホスト140から制御部70に暗号化された新たな制御プログラムを転送する(S936)。暗号化された状態の新たな制御プログラムは、制御部70によって実行される新たな書込みプログラムに従い外部メモリインターフェース40を通じて外部メモリ130に書き込まれる。(S937)。
ステップS931において、通信装置100に接続されている外部メモリ130が、新たな書換えプログラムを必要とするメモリでないと制御部70によって判断されると、制御部70はデバックホスト140に対して新たな制御プログラムを要求する(S935)。
この要求を受けてデバックインターフェース90は、デバックホスト140から制御部70に暗号化された新たな制御プログラムを転送する(S936)。暗号化された状態の新たな制御プログラムは、制御部70によって実行されるROM73に保持された書換えプログラムに従い外部メモリインターフェース40を通じて外部メモリ130に書き込まれる。(S937)。
図7は、本発明の実施の形態における通信装置100においてデータを受信する流れを示す図である。ネットワーク上から送信されてきた暗号化データを通信部120において受信する(S951)。通信部120において受信された暗号化データは、通信インターフェース30の制御の下、共有メモリ50に転送される(S952)。転送された暗号化データは、共有メモリ50において保持される。次に、共有メモリ50に保持された暗号化データは、暗号処理部20において復号される(S953)。暗号処理部20において復号されたデータは、ホストインターフェース10によって共有メモリ50からホスト110に転送される(S954)。
図8は、本発明の実施の形態における通信装置100においてデータを送信する流れを示す図である。ホスト110において送信データを生成する(S961)。ホスト110において生成された送信データが、ホストインターフェース10によって共有メモリ50に転送される(S962)。転送された送信データは、共有メモリ50において保持される。次に、共有メモリに保持された送信データは、暗号処理部20において暗号化される(S963)。暗号化された送信データは、通信インターフェース30の制御の下、共有メモリ50から通信部120に転送される(S964)。暗号化された送信データが転送されてくると、通信部120は、その暗号化された送信データをネットワーク上に送信する(S965)。
このように、本発明の実施の形態によれば、外部メモリ130から転送される制御プログラムも外部メモリ130に転送される新たな制御プログラムも暗号化された状態であるから信号線101を流れる信号を測定器などで観測しても暗号化されたデータが観測されるだけであるため、第三者が情報を把握することを困難にすることができる。
また、その暗号化された状態の制御プログラムおよび新たな制御プログラムの復号は、例えば樹脂封止等された通信装置の内部で行われるため、外部から制御プログラムおよび新たな制御プログラムに内容を観測することはできない。
同様に、デバックホスト140から供給される新たな制御プログラムおよび新たな書換えプログラムも暗号化された状態で供給されるため、信号線102を流れる信号を測定器などで観測しても暗号化されたデータが観測されるだけであるため、第三者が情報を把握することを困難にすることができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、以下に示すように特許請求の範囲における発明特定事項とそれぞれ対応関係を有するが、これに限定されるものではなく本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
すなわち、請求項1において、外部メモリは、例えば、外部メモリ130に対応する。また、メモリ読出し手段は、例えば、外部メモリインターフェース40に対応する。また、通信制御手段は、例えば、通信インターフェース30に対応する。また、共有メモリは、例えば、共有メモリ50に対応する。また、暗号処理手段は、例えば、暗号処理部20に対応する。また、プログラム実行手段は、例えば、プログラム実行部203に対応する。
また、請求項2において、端末は、例えば、デバックホスト140に対応する。また、フラグ保持手段は、例えば、フラグ保持部81に対応する。また、操作手段は、例えば、操作部82に対応する。また、制御プログラム要求手段は、例えば、制御プログラム要求部205に対応する。また、書込みプログラム保持手段は、例えばROM73に対応する。また、メモリ書込み手段は、例えば、外部メモリインターフェース40に対応する。
また、請求項3において、メモリ判断手段は、例えば、メモリ判断部204に対応する。また、書込みプログラム要求手段は、例えば、書込みプログラム要求部206に対応する。
また、請求項4において、フォーマット判断手段は、例えば、フォーマット判断部201に対応する。
また、請求項5において、メモリ判断手段は、例えば、メモリ判断部204に対応する。また、書込みプログラム要求手段は、例えば、書込みプログラム要求部206に対応する。
また、請求項6において、実行判断手段は、例えば、実行判断部202に対応する。
また、請求項7において、メモリ判断手段は、例えば、メモリ判断部204に対応する。また、書込みプログラム要求手段は、例えば、書込みプログラム要求部206に対応する。
また、請求項8において、メモリ読出し手順は、例えば、ステップS911乃至ステップS913に対応する。データ転送判断手順は、例えば、ステップS914に対応する。暗号処理制御手順は、例えば、ステップS915に対応する。また、暗号処理手順は、例えば、ステップS916に対応する。
なお、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。
本発明の実施の形態における通信装置100の構成の一例を示す図である。 本発明の実施の形態における通信装置100の制御プログラムに関する機能と通信に関する機能を対比する図である。 本発明の実施の形態における通信装置100における制御プログラムの実行および制御プログラムの更新機能を実現する制御部70の構成の一例を示す図である。 本発明の実施の形態における制御プログラムのフォーマットの一例を示す図である。 本発明の実施の形態における通信装置100において制御プログラムを実行する流れを示す図である。 図5に示した制御プログラム更新処理の流れを示す図である。 本発明の実施の形態における通信装置100におけるデータを受信する流れを示す図である。 本発明の実施の形態における通信装置100におけるデータを送信する流れを示す図である。
符号の説明
10 ホストインターフェース
20 暗号処理部
30 通信インターフェース
40 外部メモリインターフェース
50 共有メモリ
60 アービタ
70 制御部
71 マイクロプロセッサ
72 RAM
73 ROM
81 フラグ保持部
82 操作部
90 デバックインターフェース
100 通信装置
101 信号線
102 信号線
110 ホスト
120 通信部
130 外部メモリ
140 デバックホスト
201 フォーマット判断部
202 実行判断部
203 プログラム実行部
204 メモリ判断部
205 制御プログラム要求部
206 書込みプログラム要求部

Claims (9)

  1. 外部メモリから暗号化された制御プログラムを読み出すメモリ読出し手段と、
    データの送受信を制御する通信制御手段と、
    暗号化された前記制御プログラムと前記データとを保持する共有メモリと、
    前記データの暗号化および復号を行うと共に暗号化された前記制御プログラムの復号を行う暗号処理手段と、
    復号された前記制御プログラムを実行するプログラム実行手段と
    を具備することを特徴とする通信装置。
  2. 前記暗号処理手段は、前記共有メモリより暗号化された前記制御プログラムを取得して復号した後にその復号された前記制御プログラムを前記共有メモリに転送し、
    前記プログラム実行手段は、前記共有メモリより復号された前記制御プログラムを取得して前記制御プログラムを実行することを特徴とする請求項1記載の通信装置。
  3. 前記通信装置は、新たな制御プログラムを要求されると暗号化された前記新たな制御プログラムを供給する端末と接続され、
    前記外部メモリに保持された前記制御プログラムを更新するか否かを示すフラグを保持するフラグ保持手段と、
    前記フラグを設定する操作手段と、
    前記フラグにおいて前記外部メモリに保持された前記制御プログラムを更新する旨が示されている場合に暗号化された前記新たな制御プログラムを要求する制御プログラム要求手段と、
    前記外部メモリに前記新たな制御プログラムを書き込むための書込みプログラムを保持する書込みプログラム保持手段と、
    前記プログラム実行手段によって実行された前記書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むメモリ書込み手段と
    をさらに具備することを特徴とする請求項1記載の通信装置。
  4. 前記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、
    前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記新たな書込みプログラムを前記端末に要求する書込みプログラム要求手段と
    をさらに具備し、
    前記端末は、前記書込みプログラム要求手段からの要求に応じて前記新たな書込みプログラムを供給し、
    前記メモリ書込み手段は、前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記プログラム実行手段において実行される前記新たな書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むことを特徴とする請求項3記載の通信装置。
  5. 前記フラグに応じて前記外部メモリに保持された前記制御プログラムが所定のフォーマットで保持されているか否かを判断するフォーマット判断手段をさらに具備し、
    前記制御プログラム要求手段は、前記制御プログラムが前記所定のフォーマットで保持されていないと判断された場合に暗号化された前記新たな制御プログラムを前記端末に要求することを特徴する請求項3記載の通信装置。
  6. 前記フォーマット判断手段において前記制御プログラムが前記所定のフォーマットで保持されていないと判断された場合に前記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、
    前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記新たな書込みプログラムを前記端末に要求する書込みプログラム要求手段と
    をさらに具備し、
    前記端末は、前記書込みプログラム要求手段からの要求に応じて前記新たな書込みプログラムを供給し、
    前記メモリ書込み手段は、前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記プログラム実行手段において実行される前記新たな書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むことを特徴とする請求項5記載の通信装置。
  7. 前記制御プログラムが前記所定のフォーマットで保持されていると判断された場合に前記制御プログラムが実行可能なプログラムであるか否かを判断する実行判断手段をさらに具備し、
    前記制御プログラム要求手段は、前記制御プログラムが実行可能なプログラムでないと判断された場合に暗号化された前記新たな制御プログラムを前記端末に要求することを特徴する請求項5記載の通信装置。
  8. 前記実行判断手段において前記制御プログラムが実行可能なプログラムでないと判断された場合に前記外部メモリが新たな書込みプログラムを必要とするメモリであるか否かを判断するメモリ判断手段と、
    前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記新たな書込みプログラムを前記端末に要求する書込みプログラム要求手段と
    をさらに具備し、
    前記端末は、前記書込みプログラム要求手段からの要求に応じて前記新たな書込みプログラムを供給し、
    前記メモリ書込み手段は、前記外部メモリが前記新たな書込みプログラムを必要とするメモリであると判断された場合に前記プログラム実行手段において実行される前記新たな書込みプログラムに従って前記端末から供給された前記新たな制御プログラムを暗号化されたまま前記外部メモリに書き込むことを特徴とする請求項7記載の通信装置。
  9. 共有メモリと送受信の対象となるデータの暗号化および復号を行うと共に暗号化された制御プログラムの復号を行う暗号処理手段とを備える通信装置における処理方法であって、
    外部メモリから暗号化された前記制御プログラムを読み出して前記共有メモリに転送するメモリ読出し手順と、
    前記送受信の対象となるデータが前記共有メモリに転送されたか否かを判断するデータ転送判断手順と、
    前記データ転送判断手順における判断に基づいて前記暗号処理手段において前記送受信の対象となるデータの暗号化および復号と前記制御プログラムの復号とを行う順序を制御する暗号処理制御手順と、
    前記送受信の対象となるデータおよび暗号化された前記制御プログラムが前記共有メモリに転送された後に前記制御に従って前記暗号処理手段において前記送受信の対象となるデータの暗号化および復号または暗号化された前記制御プログラムの復号をさせる暗号処理手順と
    を具備することを特徴とする処理方法。
JP2005223604A 2005-08-02 2005-08-02 通信装置およびそれにおける処理方法 Pending JP2007043345A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005223604A JP2007043345A (ja) 2005-08-02 2005-08-02 通信装置およびそれにおける処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005223604A JP2007043345A (ja) 2005-08-02 2005-08-02 通信装置およびそれにおける処理方法

Publications (1)

Publication Number Publication Date
JP2007043345A true JP2007043345A (ja) 2007-02-15

Family

ID=37800935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005223604A Pending JP2007043345A (ja) 2005-08-02 2005-08-02 通信装置およびそれにおける処理方法

Country Status (1)

Country Link
JP (1) JP2007043345A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225439A (ja) * 2008-02-11 2009-10-01 Nvidia Corp 安全キーの知識なしのブート映像の安全更新

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009225439A (ja) * 2008-02-11 2009-10-01 Nvidia Corp 安全キーの知識なしのブート映像の安全更新

Similar Documents

Publication Publication Date Title
TWI468971B (zh) 安全軟體下載
JP4551802B2 (ja) プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP5248153B2 (ja) 情報処理装置、方法及びプログラム
JP4865694B2 (ja) プロセッサ装置
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
TW201723920A (zh) 硬體強制單向密碼學
US20120303974A1 (en) Secure Removable Media and Method for Managing the Same
JP2010028485A (ja) 情報処理装置、認証方法及び記憶媒体
JP2007027896A (ja) 通信カード、機密情報処理システム、機密情報転送方法およびプログラム
KR20140046476A (ko) 인증 장치
US10019603B2 (en) Secured memory system and method therefor
JP2006085676A (ja) 暗号化命令処理装置
JP2006293516A (ja) バスアクセス制御装置
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
JP2008033512A (ja) セキュリティチップ及びプラットフォーム
JP2008009717A (ja) 情報処理端末およびコンテンツ書き込みシステム
JP2007072957A (ja) リードライト装置およびデバッグシステム
JP6368531B2 (ja) 暗号処理装置、暗号処理システム、および暗号処理方法
JP2007043345A (ja) 通信装置およびそれにおける処理方法
US20080019506A1 (en) Encryption/Decryption Apparatus, System and Method
JP2007193477A (ja) コンテンツ保護装置及びプログラム
JP4309726B2 (ja) マイクロプロセッサ
JP2008003774A (ja) マイクロコンピュータ
JP5494389B2 (ja) 電子制御装置
KR101776845B1 (ko) 키 조작에 대한 보호