(57)【要約】【課題】セキュリティキー記憶部のセキュリティキーが不正に取得されても、不正アクセスを防止できるようにする。【解決手段】アクセスキーＤ１，Ｄ２を演算してセキュリティキーＤ３を生成するアクセスキー演算回路２１と、セキュリティキーＤ４を予め記憶するセキュリティキー記憶回路２２と、セキュリティキーＤ３とセキュリティキーＤ４とを比較する比較回路２３と、比較回路２３によって比較されたセキュリティキーＤ３，Ｄ４が一致した場合に、被保護回路４へのアクセスを許可するアクセス許可回路２４とを備える。これにより、アクセスキーＤ１，Ｄ２を入力したときのみ被保護回路４にアクセスすることができる。この結果、セキュリティキー記憶回路２２に記憶されているセキュリティキーＤ４を不正に取得されたとしても、不正アクセスを防止できる。【選択図】図１
2012022491.tif 000002
【特許請求の範囲】
【請求項１】
外部アクセスから保護される被保護部と、この被保護部へのアクセスを制限する保護部
とを含んで構成された半導体装置において、
複数のアクセスキーが入力されて、該入力されたアクセスキーを演算して前記被保護部
にアクセスするためのセキュリティキーを生成するアクセスキー演算部と、
前記セキュリティキーを予め記憶するセキュリティキー記憶部と、
前記アクセスキー演算部で生成されたセキュリティキーと、前記セキュリティキー記憶
部で記憶されたセキュリティキーとを比較する比較部と、
前記比較部によって比較されたセキュリティキーが一致した場合に、前記被保護部への
アクセスを許可するアクセス許可部とを備えることを特徴とする半導体装置。
【請求項２】
前記セキュリティキー記憶部に記憶されるセキュリティキーは、
前記アクセスキー演算部に入力される複数のアクセスキーが演算されて得られることを
特徴とする請求項１に記載の半導体装置。
【請求項３】
前記アクセスキーを演算するアクセスキー演算部は、掛算器で構成されることを特徴と
する請求項１又は２に記載の半導体装置。
【請求項４】
前記アクセスキーを演算するアクセスキー演算部は、モジュラ演算回路で構成されるこ
とを特徴とする請求項１又は２に記載の半導体装置。
【請求項５】
前記アクセスキーは、素数を含むデータで構成されることを特徴とする請求項１乃至４
のいずれかに記載の半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部アクセスから保護される被保護部と、この被保護部へのアクセスを制限
する保護部とを含んで構成された半導体装置に関するものである。
【背景技術】
【０００２】
近年、マイコン機器において、リバースエンジニアリングのために当該マイコン機器に
搭載されたプログラムが流出されることが問題となっている。また、プラント等で使用さ
れるフィールド機器における運転時の安全性の観点では、当該フィールド機器に搭載され
たプログラムの書き換えによる機器乗っ取りが問題となる可能性がある。
【０００３】
上述の問題を解決するために、特許文献１には、セキュリティキーが記憶された集積回
路が開示されている。この集積回路によれば、セキュリティキー記憶部にセキュリティキ
ーを予め記憶しておき、ユーザが当該セキュリティキー記憶部に記憶されたセキュリティ
キーと同じものを入力することで、集積回路にアクセス可能にしたものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００６−５０５０２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、特許文献１に記載の集積回路は、セキュリティキー記憶部に不正アクセスさ
れて、記憶されているセキュリティキーを不正に取得（解析）される可能性がある。この
ようにセキュリティキーが取得されると、この集積回路が搭載されているマイコン機器や
フィールド機器のプログラムが流出されたり書き換えられたりしてしまう。
【０００６】
そこで、本発明は、上述の課題を解決したものであって、セキュリティキー記憶部に記
憶されているセキュリティキーが不正に取得されても、マイコン機器やフィールド機器へ
の不正アクセスを防止することができる半導体装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述の課題を解決するために、本発明に係る半導体装置は、外部アクセスから保護され
る被保護部と、この被保護部へのアクセスを制限する保護部とを含んで構成された半導体
装置において、複数のアクセスキーが入力されて、該入力されたアクセスキーを演算して
被保護部にアクセスするためのセキュリティキーを生成するアクセスキー演算部と、セキ
ュリティキーを予め記憶するセキュリティキー記憶部と、アクセスキー演算部で生成され
たセキュリティキーと、セキュリティキー記憶部で記憶されたセキュリティキーとを比較
する比較部と、比較部によって比較されたセキュリティキーが一致した場合に、被保護部
へのアクセスを許可するアクセス許可部とを備えることを特徴とするものである。
【０００８】
本発明に係る半導体装置は、外部アクセスから保護される被保護部と、この被保護部へ
のアクセスを制限する保護部とを含んで構成される。これを前提として、アクセスキー演
算部は、複数のアクセスキーが入力されて、該入力されたアクセスキーを演算して被保護
部にアクセスするためのセキュリティキーを生成する。例えば、アクセスキー演算部は、
一方向演算を行う掛算器やモジュラ演算回路で構成される。一方向演算とは、演算結果か
ら入力が容易に類推できないような演算を示す。セキュリティキー記憶部は、アクセスキ
ー演算部がセキュリティキーを生成する前からセキュリティキーを予め記憶する。比較部
は、アクセスキー演算部で生成されたセキュリティキーと、セキュリティキー記憶部で記
憶されたセキュリティキーと比較する。そして、アクセス許可部は、比較部によって比較
されたセキュリティキーが一致した場合に、被保護部へのアクセスを許可する。これによ
り、複数のアクセスキーを入力したときのみ被保護部にアクセスすることができるように
なる。
【発明の効果】
【０００９】
本発明に係る半導体装置によれば、セキュリティキー記憶部に不正にアクセスされて、
セキュリティキーを不正に取得されたとしても、当該半導体装置が搭載されたマイコン機
器やフィールド機器への不正アクセスを防止することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る半導体装置の構成例を示すブロック図である。
【図２】掛算器の構成例を示すブロック図である。
【図３】モジュラ演算回路の構成例を示すブロック図である。
【図４】半導体装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明に係る半導体装置について説明する。  
［半導体装置１の構成例］  
図１に示すように、本発明に係る半導体装置１は、外部アクセスから保護される被保護
回路４と、被保護回路４へのアクセスを制限する保護回路２とを含んで構成される。半導
体装置１は、例えば、フィールド機器用のマイコンや、一般のマイコン搭載製品、その他
ＳＯＣ（System-on-a-chip）一般のものである。保護回路２は、保護部の一例であり、例
えば、デバック用ポートである。被保護回路４は、被保護部の一例であり、例えば、ＣＰ
Ｕ等のプロセッサや、メモリ等である。
【００１２】
保護回路２は、アクセスキー演算回路２１、セキュリティキー記憶回路２２、比較回路
２３及びアクセス許可回路２４を備える。
【００１３】
アクセスキー演算回路２１は端子３ａ，３ｂに接続される。端子３ａ，３ｂは、複数の
アクセスキーＤ１，Ｄ２を入力するための端子である。アクセスキー演算回路２１は、ア
クセスキー演算部の一例であり、端子３ａ，３ｂからのアクセスキーＤ１，Ｄ２が入力さ
れる。そして、アクセスキー演算回路２１は、入力されたアクセスキーＤ１，Ｄ２の一方
向演算を実行して被保護回路４にアクセスするためのセキュリティキーＤ３を生成する。
一方向演算とは、演算結果（セキュリティキーＤ３）から入力（アクセスキーＤ１，Ｄ２
）が容易に類推できないような演算を示す。セキュリティキーＤ３の生成方法は、図２及
び図３で後述する。
【００１４】
セキュリティキー記憶回路２２は、セキュリティキー記憶部の一例であり、アクセスキ
ー演算回路２１がセキュリティキーＤ３を生成する前からセキュリティキーＤ４を予め記
憶する。このセキュリティキーＤ４は、半導体装置１の製造時に、アクセスキー演算回路
２１に入力されるアクセスキーＤ１，Ｄ２が演算されて得られるものである。
【００１５】
アクセスキー演算回路２１及びセキュリティキー記憶回路２２には比較回路２３が接続
される。比較回路２３は、比較部の一例であり、アクセスキー演算回路２１で生成された
セキュリティキーＤ３と、セキュリティキー記憶回路２２で記憶されたセキュリティキー
Ｄ４とを比較し、それらが一致するか否かを判断する。つまり、キー認証回路としての機
能を果たす。
【００１６】
比較回路２３は、セキュリティキーＤ３とセキュリティキーＤ４とが一致すると判断し
た場合、被保護回路４へのアクセスを許可することを示すアクセス許可信号Ｄ５をアクセ
ス許可回路２４に出力する。また、比較回路２３は、セキュリティキーＤ３とセキュリテ
ィキーＤ４とが一致しないと判断した場合、上述のアクセス許可信号Ｄ５を出力しない。
【００１７】
比較回路２３にはアクセス許可回路２４が接続される。アクセス許可回路２４には端子
３ｃが接続される。アクセス許可回路２４は、アクセス許可部の一例であり、比較回路２
３から出力されたアクセス許可信号Ｄ５を受信する。また、アクセス許可回路２４は、端
子３ｃに入力されたデータＤ６を受信する。
【００１８】
アクセス許可回路２４は、比較回路２３から出力されたアクセス許可信号Ｄ５を受信し
た場合のみ、端子３ｃから双方向通信のバスＢ１を介して受信したデータＤ６を被保護回
路４に出力する。つまり、アクセス許可回路２４は、アクセス許可信号Ｄ５を受信すると
、データＤ６が双方向通信のバスＢ２を介して被保護回路４へアクセスすることを許可す
る。
【００１９】
［掛算器２１Ａの構成例］  
次に、アクセスキー演算回路２１の一例である掛算器２１Ａについて説明する。図２に
示すように、掛算器２１Ａには、端子３ａからアクセスキーＤ１が入力され、端子３ｂか
らアクセスキーＤ２が入力される。掛算器２１Ａは、アクセスキーＤ１，Ｄ２が入力され
ると、当該アクセスキーＤ１，Ｄ２の乗算処理を実行する。つまり、掛算器２１Ａは、一
方向演算としてＤ１×Ｄ２を実行してセキュリティキーＤ３を生成する。
【００２０】
このとき、アクセスキーＤ１，Ｄ２には、ユーザによって任意に設定される、非常に大
きな桁数（例えば、１０桁以上）の素数のデータが含まれる。このため、セキュリティキ
ー記憶回路２２に記憶されているセキュリティキーＤ４が何らかの方法で不正に取得され
たとしても、このセキュリティキーＤ４から元の素数（アクセスキーＤ１，Ｄ２）を求め
ることは非常に困難である。この結果、被保護回路４への不正アクセスを防止することが
できる。因みに、掛算器は、アナログ掛算器であってもデジタル掛算器であっても構わな
い。
【００２１】
［モジュラ演算回路２１Ｂの構成例］  
次に、アクセスキー演算回路２１の一例であるモジュラ演算回路２１Ｂについて説明す
る。図３に示すように、モジュラ演算回路２１Ｂには、端子３ａからアクセスキーＤ１が
入力され、端子３ｂからアクセスキーＤ２が入力される。モジュラ演算回路２１Ｂは、ア
クセスキーＤ１，Ｄ２が入力されると、当該アクセスキーＤ１，Ｄ２のモジュラ演算処理
を実行する。つまり、モジュラ演算回路２１Ｂは、一方向演算としてＤ１％Ｄ２を実行し
てセキュリティキーＤ３を生成する。因みに、「％」は、モジュラ演算子（剰余演算子）
である。
【００２２】
このとき、アクセスキーＤ１，Ｄ２には、ユーザによって任意に設定される、非常に大
きな桁数（例えば、１０桁以上）の数のデータが含まれる。このため、セキュリティキー
記憶回路２２に記憶されているセキュリティキーＤ４が何らかの方法で不正に取得された
としても、このセキュリティキーＤ４から元の数（アクセスキーＤ１，Ｄ２）を求めるこ
とは非常に困難である。この結果、被保護回路４への不正アクセスを防止することができ
る。
【００２３】
［半導体装置１の動作例］  
次に、半導体装置１の動作例についてフローチャートを用いて説明する。図４に示すよ
うに、ステップＳＴ１では、アクセスキー演算回路２１が端子３ａ，３ｂを介してアクセ
スキーＤ１，Ｄ２を受信する。このアクセスキーＤ１，Ｄ２は、例えば、非常に大きな桁
数の素数のデータを含むものである。
【００２４】
ステップＳＴ２に移行して、アクセスキー演算回路２１は、受信したアクセスキーＤ１
，Ｄ２を一方向演算によってセキュリティキーＤ３を生成する。セキュリティキーＤ３は
、例えば、Ｄ１×Ｄ２のような乗算やＤ１％Ｄ２のような剰余演算によって一方向演算さ
れて生成される。そして、アクセスキー演算回路２１は、生成したセキュリティキーＤ３
を比較回路２３に出力する。
【００２５】
ステップＳＴ３に移行して、比較回路２３は、アクセスキー演算回路２１から出力され
たセキュリティキーＤ３を受信する。比較回路２３は、セキュリティキーＤ３を受信する
と、それをトリガーとして、セキュリティキー記憶回路２２に記憶されているセキュリテ
ィキーＤ４を読み出す。
【００２６】
ステップＳＴ４に移行して、比較回路２３は、アクセスキー演算回路２１で生成された
セキュリティキーＤ３とセキュリティキー記憶回路２２から読み出したセキュリティキー
Ｄ４とを比較して、それらが一致するか否かを判断する。比較回路２３は、セキュリティ
キーＤ３，Ｄ４が一致すると判断した場合には、アクセス許可回路２４にアクセス許可信
号Ｄ５を出力して、ステップＳＴ５に移行する。セキュリティキーＤ３，Ｄ４が一致しな
いと判断した場合には、アクセス許可回路２４にアクセス許可信号Ｄ５を出力せずに、ス
テップＳＴ６に移行する。
【００２７】
ステップＳＴ５では、アクセス許可回路２４は、比較回路２３から出力されたアクセス
許可信号Ｄ５を受信する。すると、アクセス許可回路２４は、端子３ｃからのデータＤ６
が被保護回路４にアクセスすることを許可して、データＤ６を被保護回路４に出力する。
そして、半導体装置１は、動作を終了する。
【００２８】
ステップＳＴ６では、アクセス許可回路２４は、比較回路２３からのアクセス許可信号
Ｄ５を受信できないので、端子３ｃからのデータＤ６が被保護回路４にアクセスすること
を禁止する。そして、半導体装置１は、動作を終了する。
【００２９】
このように、本実施の形態に係る半導体装置１によれば、外部アクセスから保護される
被保護回路４と、この被保護回路４へのアクセスを制限する保護回路２とを含んで構成さ
れる。アクセスキー演算回路２１は、例えば、素数を含むデータで構成されたアクセスキ
ーＤ１，Ｄ２が入力されて、該入力されたアクセスキーＤ１，Ｄ２を一方向演算（例えば
、乗算やモジュラ演算等）してセキュリティキーＤ３を生成する。セキュリティキー記憶
回路２２は、アクセスキー演算回路２１がセキュリティキーＤ３を生成する前に、セキュ
リティキーＤ４を予め記憶する。比較回路２３は、アクセスキー演算回路２１で生成され
たセキュリティキーＤ３と、セキュリティキー記憶回路２２で記憶されたセキュリティキ
ーＤ４とを比較する。そして、アクセス許可回路２４は、比較回路２３によって比較され
たセキュリティキーＤ３，Ｄ４が一致した場合に、被保護回路４へのアクセスを許可する
。これにより、半導体装置１に存在しないアクセスキーＤ１，Ｄ２を外部から入力したと
きのみ被保護回路４にアクセスすることができるようになる。
【００３０】
この結果、セキュリティキー記憶回路２２に何らかの方法により不正に（無許可に）ア
クセスされて、セキュリティキーＤ４を不正に取得（解析）されたとしても、アクセスキ
ーＤ１，Ｄ２を入力しなければ、被保護回路４にアクセスすることが困難であるので、当
該半導体装置１のセキュリティ性能が向上する。従って、当該半導体装置１が搭載された
マイコン機器やフィールド機器への不正アクセスを防止することができる。
【００３１】
なお、本実施の形態では、端子３ａ，３ｂの２つの端子にアクセスキーＤ１，Ｄ２をそ
れぞれ入力することについて説明したが、これに限定されず、１つだけ端子を設けて、ア
クセスキーＤ１，Ｄ２Ｂをシリアル入力しても構わない。この場合、アクセスキー演算回
路にはシリアル演算をすることができるものを使用する。また、アクセスキーを入力する
ための端子を３つ以上設けたり、３つ以上のアクセスキーを設定したりしても良い。これ
により、更に半導体装置のセキュリティ性能が向上する。
【符号の説明】
【００３２】
１  半導体装置
２  保護回路
３ａ，３ｂ，３ｃ  端子
４  被保護回路
２１  アクセスキー演算回路
２１Ａ  掛算器
２１Ｂ  モジュラ演算回路
２２  セキュリティキー記憶回路
２３  比較回路
２４  アクセス許可回路
【図１】
2012022491.tif 000003
【図２】
2012022491.tif 000004
【図３】
2012022491.tif 000005
【図４】
2012022491.tif 000006