説明

半導体装置

【課題】セキュリティキー記憶部のセキュリティキーが不正に取得されても、不正アクセ
スを防止できるようにする。
【解決手段】アクセスキーD1,D2を演算してセキュリティキーD3を生成するアクセ
スキー演算回路21と、セキュリティキーD4を予め記憶するセキュリティキー記憶回路
22と、セキュリティキーD3とセキュリティキーD4とを比較する比較回路23と、比
較回路23によって比較されたセキュリティキーD3,D4が一致した場合に、被保護回
路4へのアクセスを許可するアクセス許可回路24とを備える。これにより、アクセスキ
ーD1,D2を入力したときのみ被保護回路4にアクセスすることができる。この結果、
セキュリティキー記憶回路22に記憶されているセキュリティキーD4を不正に取得され
たとしても、不正アクセスを防止できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部アクセスから保護される被保護部と、この被保護部へのアクセスを制限
する保護部とを含んで構成された半導体装置に関するものである。
【背景技術】
【0002】
近年、マイコン機器において、リバースエンジニアリングのために当該マイコン機器に
搭載されたプログラムが流出されることが問題となっている。また、プラント等で使用さ
れるフィールド機器における運転時の安全性の観点では、当該フィールド機器に搭載され
たプログラムの書き換えによる機器乗っ取りが問題となる可能性がある。
【0003】
上述の問題を解決するために、特許文献1には、セキュリティキーが記憶された集積回
路が開示されている。この集積回路によれば、セキュリティキー記憶部にセキュリティキ
ーを予め記憶しておき、ユーザが当該セキュリティキー記憶部に記憶されたセキュリティ
キーと同じものを入力することで、集積回路にアクセス可能にしたものである。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特表2006−505022号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に記載の集積回路は、セキュリティキー記憶部に不正アクセスさ
れて、記憶されているセキュリティキーを不正に取得(解析)される可能性がある。この
ようにセキュリティキーが取得されると、この集積回路が搭載されているマイコン機器や
フィールド機器のプログラムが流出されたり書き換えられたりしてしまう。
【0006】
そこで、本発明は、上述の課題を解決したものであって、セキュリティキー記憶部に記
憶されているセキュリティキーが不正に取得されても、マイコン機器やフィールド機器へ
の不正アクセスを防止することができる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述の課題を解決するために、本発明に係る半導体装置は、外部アクセスから保護され
る被保護部と、この被保護部へのアクセスを制限する保護部とを含んで構成された半導体
装置において、複数のアクセスキーが入力されて、該入力されたアクセスキーを演算して
被保護部にアクセスするためのセキュリティキーを生成するアクセスキー演算部と、セキ
ュリティキーを予め記憶するセキュリティキー記憶部と、アクセスキー演算部で生成され
たセキュリティキーと、セキュリティキー記憶部で記憶されたセキュリティキーとを比較
する比較部と、比較部によって比較されたセキュリティキーが一致した場合に、被保護部
へのアクセスを許可するアクセス許可部とを備えることを特徴とするものである。
【0008】
本発明に係る半導体装置は、外部アクセスから保護される被保護部と、この被保護部へ
のアクセスを制限する保護部とを含んで構成される。これを前提として、アクセスキー演
算部は、複数のアクセスキーが入力されて、該入力されたアクセスキーを演算して被保護
部にアクセスするためのセキュリティキーを生成する。例えば、アクセスキー演算部は、
一方向演算を行う掛算器やモジュラ演算回路で構成される。一方向演算とは、演算結果か
ら入力が容易に類推できないような演算を示す。セキュリティキー記憶部は、アクセスキ
ー演算部がセキュリティキーを生成する前からセキュリティキーを予め記憶する。比較部
は、アクセスキー演算部で生成されたセキュリティキーと、セキュリティキー記憶部で記
憶されたセキュリティキーと比較する。そして、アクセス許可部は、比較部によって比較
されたセキュリティキーが一致した場合に、被保護部へのアクセスを許可する。これによ
り、複数のアクセスキーを入力したときのみ被保護部にアクセスすることができるように
なる。
【発明の効果】
【0009】
本発明に係る半導体装置によれば、セキュリティキー記憶部に不正にアクセスされて、
セキュリティキーを不正に取得されたとしても、当該半導体装置が搭載されたマイコン機
器やフィールド機器への不正アクセスを防止することができる。
【図面の簡単な説明】
【0010】
【図1】本発明に係る半導体装置の構成例を示すブロック図である。
【図2】掛算器の構成例を示すブロック図である。
【図3】モジュラ演算回路の構成例を示すブロック図である。
【図4】半導体装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明に係る半導体装置について説明する。
[半導体装置1の構成例]
図1に示すように、本発明に係る半導体装置1は、外部アクセスから保護される被保護
回路4と、被保護回路4へのアクセスを制限する保護回路2とを含んで構成される。半導
体装置1は、例えば、フィールド機器用のマイコンや、一般のマイコン搭載製品、その他
SOC(System-on-a-chip)一般のものである。保護回路2は、保護部の一例であり、例
えば、デバック用ポートである。被保護回路4は、被保護部の一例であり、例えば、CP
U等のプロセッサや、メモリ等である。
【0012】
保護回路2は、アクセスキー演算回路21、セキュリティキー記憶回路22、比較回路
23及びアクセス許可回路24を備える。
【0013】
アクセスキー演算回路21は端子3a,3bに接続される。端子3a,3bは、複数の
アクセスキーD1,D2を入力するための端子である。アクセスキー演算回路21は、ア
クセスキー演算部の一例であり、端子3a,3bからのアクセスキーD1,D2が入力さ
れる。そして、アクセスキー演算回路21は、入力されたアクセスキーD1,D2の一方
向演算を実行して被保護回路4にアクセスするためのセキュリティキーD3を生成する。
一方向演算とは、演算結果(セキュリティキーD3)から入力(アクセスキーD1,D2
)が容易に類推できないような演算を示す。セキュリティキーD3の生成方法は、図2及
び図3で後述する。
【0014】
セキュリティキー記憶回路22は、セキュリティキー記憶部の一例であり、アクセスキ
ー演算回路21がセキュリティキーD3を生成する前からセキュリティキーD4を予め記
憶する。このセキュリティキーD4は、半導体装置1の製造時に、アクセスキー演算回路
21に入力されるアクセスキーD1,D2が演算されて得られるものである。
【0015】
アクセスキー演算回路21及びセキュリティキー記憶回路22には比較回路23が接続
される。比較回路23は、比較部の一例であり、アクセスキー演算回路21で生成された
セキュリティキーD3と、セキュリティキー記憶回路22で記憶されたセキュリティキー
D4とを比較し、それらが一致するか否かを判断する。つまり、キー認証回路としての機
能を果たす。
【0016】
比較回路23は、セキュリティキーD3とセキュリティキーD4とが一致すると判断し
た場合、被保護回路4へのアクセスを許可することを示すアクセス許可信号D5をアクセ
ス許可回路24に出力する。また、比較回路23は、セキュリティキーD3とセキュリテ
ィキーD4とが一致しないと判断した場合、上述のアクセス許可信号D5を出力しない。
【0017】
比較回路23にはアクセス許可回路24が接続される。アクセス許可回路24には端子
3cが接続される。アクセス許可回路24は、アクセス許可部の一例であり、比較回路2
3から出力されたアクセス許可信号D5を受信する。また、アクセス許可回路24は、端
子3cに入力されたデータD6を受信する。
【0018】
アクセス許可回路24は、比較回路23から出力されたアクセス許可信号D5を受信し
た場合のみ、端子3cから双方向通信のバスB1を介して受信したデータD6を被保護回
路4に出力する。つまり、アクセス許可回路24は、アクセス許可信号D5を受信すると
、データD6が双方向通信のバスB2を介して被保護回路4へアクセスすることを許可す
る。
【0019】
[掛算器21Aの構成例]
次に、アクセスキー演算回路21の一例である掛算器21Aについて説明する。図2に
示すように、掛算器21Aには、端子3aからアクセスキーD1が入力され、端子3bか
らアクセスキーD2が入力される。掛算器21Aは、アクセスキーD1,D2が入力され
ると、当該アクセスキーD1,D2の乗算処理を実行する。つまり、掛算器21Aは、一
方向演算としてD1×D2を実行してセキュリティキーD3を生成する。
【0020】
このとき、アクセスキーD1,D2には、ユーザによって任意に設定される、非常に大
きな桁数(例えば、10桁以上)の素数のデータが含まれる。このため、セキュリティキ
ー記憶回路22に記憶されているセキュリティキーD4が何らかの方法で不正に取得され
たとしても、このセキュリティキーD4から元の素数(アクセスキーD1,D2)を求め
ることは非常に困難である。この結果、被保護回路4への不正アクセスを防止することが
できる。因みに、掛算器は、アナログ掛算器であってもデジタル掛算器であっても構わな
い。
【0021】
[モジュラ演算回路21Bの構成例]
次に、アクセスキー演算回路21の一例であるモジュラ演算回路21Bについて説明す
る。図3に示すように、モジュラ演算回路21Bには、端子3aからアクセスキーD1が
入力され、端子3bからアクセスキーD2が入力される。モジュラ演算回路21Bは、ア
クセスキーD1,D2が入力されると、当該アクセスキーD1,D2のモジュラ演算処理
を実行する。つまり、モジュラ演算回路21Bは、一方向演算としてD1%D2を実行し
てセキュリティキーD3を生成する。因みに、「%」は、モジュラ演算子(剰余演算子)
である。
【0022】
このとき、アクセスキーD1,D2には、ユーザによって任意に設定される、非常に大
きな桁数(例えば、10桁以上)の数のデータが含まれる。このため、セキュリティキー
記憶回路22に記憶されているセキュリティキーD4が何らかの方法で不正に取得された
としても、このセキュリティキーD4から元の数(アクセスキーD1,D2)を求めるこ
とは非常に困難である。この結果、被保護回路4への不正アクセスを防止することができ
る。
【0023】
[半導体装置1の動作例]
次に、半導体装置1の動作例についてフローチャートを用いて説明する。図4に示すよ
うに、ステップST1では、アクセスキー演算回路21が端子3a,3bを介してアクセ
スキーD1,D2を受信する。このアクセスキーD1,D2は、例えば、非常に大きな桁
数の素数のデータを含むものである。
【0024】
ステップST2に移行して、アクセスキー演算回路21は、受信したアクセスキーD1
,D2を一方向演算によってセキュリティキーD3を生成する。セキュリティキーD3は
、例えば、D1×D2のような乗算やD1%D2のような剰余演算によって一方向演算さ
れて生成される。そして、アクセスキー演算回路21は、生成したセキュリティキーD3
を比較回路23に出力する。
【0025】
ステップST3に移行して、比較回路23は、アクセスキー演算回路21から出力され
たセキュリティキーD3を受信する。比較回路23は、セキュリティキーD3を受信する
と、それをトリガーとして、セキュリティキー記憶回路22に記憶されているセキュリテ
ィキーD4を読み出す。
【0026】
ステップST4に移行して、比較回路23は、アクセスキー演算回路21で生成された
セキュリティキーD3とセキュリティキー記憶回路22から読み出したセキュリティキー
D4とを比較して、それらが一致するか否かを判断する。比較回路23は、セキュリティ
キーD3,D4が一致すると判断した場合には、アクセス許可回路24にアクセス許可信
号D5を出力して、ステップST5に移行する。セキュリティキーD3,D4が一致しな
いと判断した場合には、アクセス許可回路24にアクセス許可信号D5を出力せずに、ス
テップST6に移行する。
【0027】
ステップST5では、アクセス許可回路24は、比較回路23から出力されたアクセス
許可信号D5を受信する。すると、アクセス許可回路24は、端子3cからのデータD6
が被保護回路4にアクセスすることを許可して、データD6を被保護回路4に出力する。
そして、半導体装置1は、動作を終了する。
【0028】
ステップST6では、アクセス許可回路24は、比較回路23からのアクセス許可信号
D5を受信できないので、端子3cからのデータD6が被保護回路4にアクセスすること
を禁止する。そして、半導体装置1は、動作を終了する。
【0029】
このように、本実施の形態に係る半導体装置1によれば、外部アクセスから保護される
被保護回路4と、この被保護回路4へのアクセスを制限する保護回路2とを含んで構成さ
れる。アクセスキー演算回路21は、例えば、素数を含むデータで構成されたアクセスキ
ーD1,D2が入力されて、該入力されたアクセスキーD1,D2を一方向演算(例えば
、乗算やモジュラ演算等)してセキュリティキーD3を生成する。セキュリティキー記憶
回路22は、アクセスキー演算回路21がセキュリティキーD3を生成する前に、セキュ
リティキーD4を予め記憶する。比較回路23は、アクセスキー演算回路21で生成され
たセキュリティキーD3と、セキュリティキー記憶回路22で記憶されたセキュリティキ
ーD4とを比較する。そして、アクセス許可回路24は、比較回路23によって比較され
たセキュリティキーD3,D4が一致した場合に、被保護回路4へのアクセスを許可する
。これにより、半導体装置1に存在しないアクセスキーD1,D2を外部から入力したと
きのみ被保護回路4にアクセスすることができるようになる。
【0030】
この結果、セキュリティキー記憶回路22に何らかの方法により不正に(無許可に)ア
クセスされて、セキュリティキーD4を不正に取得(解析)されたとしても、アクセスキ
ーD1,D2を入力しなければ、被保護回路4にアクセスすることが困難であるので、当
該半導体装置1のセキュリティ性能が向上する。従って、当該半導体装置1が搭載された
マイコン機器やフィールド機器への不正アクセスを防止することができる。
【0031】
なお、本実施の形態では、端子3a,3bの2つの端子にアクセスキーD1,D2をそ
れぞれ入力することについて説明したが、これに限定されず、1つだけ端子を設けて、ア
クセスキーD1,D2Bをシリアル入力しても構わない。この場合、アクセスキー演算回
路にはシリアル演算をすることができるものを使用する。また、アクセスキーを入力する
ための端子を3つ以上設けたり、3つ以上のアクセスキーを設定したりしても良い。これ
により、更に半導体装置のセキュリティ性能が向上する。
【符号の説明】
【0032】
1 半導体装置
2 保護回路
3a,3b,3c 端子
4 被保護回路
21 アクセスキー演算回路
21A 掛算器
21B モジュラ演算回路
22 セキュリティキー記憶回路
23 比較回路
24 アクセス許可回路

【特許請求の範囲】
【請求項1】
外部アクセスから保護される被保護部と、この被保護部へのアクセスを制限する保護部
とを含んで構成された半導体装置において、
複数のアクセスキーが入力されて、該入力されたアクセスキーを演算して前記被保護部
にアクセスするためのセキュリティキーを生成するアクセスキー演算部と、
前記セキュリティキーを予め記憶するセキュリティキー記憶部と、
前記アクセスキー演算部で生成されたセキュリティキーと、前記セキュリティキー記憶
部で記憶されたセキュリティキーとを比較する比較部と、
前記比較部によって比較されたセキュリティキーが一致した場合に、前記被保護部への
アクセスを許可するアクセス許可部とを備えることを特徴とする半導体装置。
【請求項2】
前記セキュリティキー記憶部に記憶されるセキュリティキーは、
前記アクセスキー演算部に入力される複数のアクセスキーが演算されて得られることを
特徴とする請求項1に記載の半導体装置。
【請求項3】
前記アクセスキーを演算するアクセスキー演算部は、掛算器で構成されることを特徴と
する請求項1又は2に記載の半導体装置。
【請求項4】
前記アクセスキーを演算するアクセスキー演算部は、モジュラ演算回路で構成されるこ
とを特徴とする請求項1又は2に記載の半導体装置。
【請求項5】
前記アクセスキーは、素数を含むデータで構成されることを特徴とする請求項1乃至4
のいずれかに記載の半導体装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2012−22491(P2012−22491A)
【公開日】平成24年2月2日(2012.2.2)
【国際特許分類】
【出願番号】特願2010−159480(P2010−159480)
【出願日】平成22年7月14日(2010.7.14)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】