JPWO2008117340A1 - デバッグ対象機器、該認証プログラム、及びデバッグ認証方法 - Google Patents
デバッグ対象機器、該認証プログラム、及びデバッグ認証方法 Download PDFInfo
- Publication number
- JPWO2008117340A1 JPWO2008117340A1 JP2009506055A JP2009506055A JPWO2008117340A1 JP WO2008117340 A1 JPWO2008117340 A1 JP WO2008117340A1 JP 2009506055 A JP2009506055 A JP 2009506055A JP 2009506055 A JP2009506055 A JP 2009506055A JP WO2008117340 A1 JPWO2008117340 A1 JP WO2008117340A1
- Authority
- JP
- Japan
- Prior art keywords
- debug
- program
- analysis program
- authentication
- debugging
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
発明にかかるデバッグ対象機器は、デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名(プログラム署名)とを受信し、前記プログラム署名に基づいて、前記プログラムの正当性を検証し、該プログラムより取得した機器固有情報と自身の有する機器固有情報とを比較して、当該デバッグ対象機器自身の正当性を検証し、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証し、全ての検証が成功すれば、デバッグ機能を有効にすることにより、不正なデバッグが行われるのを防止する。
Description
本発明は、組み込み機器のデバッグ認証技術に関する。
従来、携帯電話、車載機器、ネットワーク機器、ネット家電、ゲーム機等の組み込み機器は、開発時のデバッグ及び販売後の故障解析などのために、必ずデバッグ機構を有している。
このデバッグ機構の仕組み、またはデバッグ・解析プログラムが何らかの形で流出し不正改造者が入手すると、このデバッグ・解析プログラムを用いることで組み込み機器の内部の解析が行われ、改造プログラムの作成が行われてしまう。このため、デバッグ機構の不正利用を防ぐための技術が望まれている。
デバッグ機構は、主として、組み込み機器の量産時、開発時、及び運用時で利用される。組み込み機器の量産時では、工場でデバッグ機能が無効な正規プログラムを量産端末に書き込む時に利用する。組み込み機器の開発時では、デバッグ用プログラムを開発者が開発端末に書き込み、動作解析する際に利用する。組み込み機器の運用時では、サポート要員が解析プログラムを故障端末に書き込んで、不良解析する際に利用する。
従来技術では、デバッグ機構は、通常の量産機器では無効にしておく。そして、開発時のデバッグや、故障解析の際には、デバッグ・解析専用のプログラムをロードし、デバッグ機能を有効にした上で、内部動作解析や、内部プログラム・パラメータの変更を行う。
また、Secure Boot機構を利用することもできる。Secure Boot機能は、ロードされるプログラムに署名を付与し、ロード時にCPU(中央演算処理装置)がmask内の公開鍵でその署名を検証し、署名検証の結果、その署名が正当ならば、プログラムを実行する。このSecure Boot機能によって、不正改造されたプログラムの実行を防ぐことが出来る。また、この技術は、不正改造者の作成した解析プログラムの実行も抑止することもできる。
しかしながら、Secure Boot機構に対する脅威は、デバッグ・解析プログラムの漏洩である。組み込み機器、特に携帯電話やゲーム機器の不正改造は、開発元が作成したデバッグ・解析プログラムが流出し、これを不正改造者が入手することで行われる。
デバッグ・解析プログラムとは、ICE(In Circuit Emulator)等を使って、組み込み機器内部の実行状態を簡単に確認できるプログラムである。また、デバッグ・解析プログラムを用いて、内部のプログラムを簡単に取得することができる。さらに、デバッグ・解析プログラムは、内部のプログラム及びパラメータを自由に書き換えることができる。このようなデバッグ・解析プログラムが攻撃者の手に渡ることで、攻撃者が悪用する。
図1に示すように、不正改造者は、入手したデバッグ・解析プログラム(ICE有効プログラム)を用いて、デバッグ機構を有効にし、組み込み機器の動作解析を行うことで、不正改造を実現する。しかしながら、開発元が作成したデバッグ・解析プログラムは、正規のプログラムであり、その実行をSecure Boot機構で防ぐことは出来ない。
また、デバッグ・解析プログラムを厳格に管理することは非常に難しく、流出防止は困難である。多くの場合、図1に示すように、開発元からではなく、開発元から供与された関連会社のプログラム管理の不徹底や、故障解析後の端末の放置または売却、故障の解析を行うサービスマンから流出することが多い。
ところで、本願に関係する発明として特許文献1が存在する。特許文献1には、第3者の不正な逆解析を防止することができる電子装置が開示されている。この電子装置には、デバッグ機能の利用を許可するかどうかを判定する認証機能が設けられている。認証機能は、電子装置の内部回路の所定のアドレス範囲の指定を含むデバッグ要求に基づいて、コマンドデータを、電子装置に接続する外部装置に送信し、当該コマンドデータと、外部装置から受信する当該コマンドデータに対する応答データとに基づいた第1の認証を行い、さらに、応答データに続いて外部装置から受信するユーザコードに基づいた第2の認証を行い、第1の認証と第2の認証とに基づいて、デバッグ機能の利用を許可するものである。
しかしながら、特許文献1では、認証処理プログラムがROMとしてターゲットに含まれているために、ROMを書き換えられた場合、デバッグ認証機構を回避される恐れがある。また、ROMを取り外し、読み出すことで、デバッグ認証機構そのものを解析される恐れがある。
また、特許文献1では、デバッグプログラムはデバッグ機器により生成されるが、悪意ある攻撃者にデバッガ(もしくはデバッグ機器)自体が分析された場合、デバッガの悪用を防ぐことができない。また、デバッガ自体を偽造される恐れがある。
特開2003−177938号公報
本発明では、デバッグ・解析プログラム、デバッグ・解析機器、及びデバッグ対象機器の全てが正当な場合にのみデバッグ機能を有効にすることを目的とする。
本発明における、デバッグ・解析が行われる際に、デバッグ処理に関する認証を行うデバッグ対象機器は、デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名であるプログラム署名とを受信する受信手段と、前記デバッグ対象機器の固有情報である機器固有情報が格納されている機器固有情報格納手段と、前記プログラム署名の正当性を検証するための公開鍵であるブート検証鍵が格納されているブート検証鍵格納手段と、前記プログラム署名に基づいて、前記プログラムの正当性を検証するプログラム検証手段と、前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証するデバッグ対象機器検証手段と、前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証手段と、前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始するデバッグ開始手段と、を備える。
本発明における、デバッグ・解析が行われる際に、デバッグ処理に関する認証を行うデバッグ対象機器は、デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名であるプログラム署名とを受信する受信手段と、前記デバッグ対象機器の固有情報である機器固有情報が格納されている機器固有情報格納手段と、前記プログラム署名の正当性を検証するための公開鍵であるブート検証鍵が格納されているブート検証鍵格納手段と、前記プログラム署名に基づいて、前記プログラムの正当性を検証するプログラム検証手段と、前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証するデバッグ対象機器検証手段と、前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証手段と、前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始するデバッグ開始手段と、を備える。
このように構成することにより、デバッグ・解析プログラム、デバッグ機器、及びデバッグ対象機器の正当性をそれぞれ検証し、全ての検証に成功した場合にのみ、デバッグ機能を有効にすることで、不正なデバッグを防止することができる。
前記デバッグ機器において、前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいることを特徴とする。
前記デバッグ機器において、前記プログラム検証手段は、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証することを特徴とする。
このように構成することにより、外部より提供されたデバッグ・解析プログラムの正当性を検証できる。
前記デバッグ機器において、前記デバッグ対象機器検証手段は、前記プログラムより第1の機器固有情報を取り出し、前記機器固有情報格納手段より第2の機器固有情報を取り出し、該第1及び第2の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証することを特徴とする。
前記デバッグ機器において、前記デバッグ対象機器検証手段は、前記プログラムより第1の機器固有情報を取り出し、前記機器固有情報格納手段より第2の機器固有情報を取り出し、該第1及び第2の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証することを特徴とする。
このように構成することにより、デバッグ対象機器の正当性を検証できる。
前記デバッグ機器において、前記デバッグ機器検証手段は、前記デバッグ機器に認証子の発行を要求する認証子要求手段と、前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証手段と、を備えることを特徴とする。
前記デバッグ機器において、前記デバッグ機器検証手段は、前記デバッグ機器に認証子の発行を要求する認証子要求手段と、前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証手段と、を備えることを特徴とする。
このように構成することにより、デバッグ機器の正当性を検証できる。
前記デバッグ機器において、前記デバッグ開始手段は、前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行することを特徴とする。
前記デバッグ機器において、前記デバッグ開始手段は、前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行することを特徴とする。
このように構成することにより、デバッグ・解析プログラム、デバッグ・解析機器、及びデバッグ対象機器の全てが正当な場合にのみデバッグ機能を有効にすることができる。
本発明にかかる、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムをコンピュータにより生成する方法は、コンピュータが、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信し、コンピュータが、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証し、コンピュータが、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成し、コンピュータが、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与することを特徴とする。
本発明にかかる、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムをコンピュータにより生成する方法は、コンピュータが、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信し、コンピュータが、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証し、コンピュータが、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成し、コンピュータが、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与することを特徴とする。
このように構成することにより、正規の操作者からのデバッグ・解析プログラムの申請の場合にのみ、デバッグ・解析プログラムを提供することができる。
本発明にかかる、デバッグ対象機器と、該デバッグ対象機器のデバッグ及び解析を行うデバッグ機器と、操作者がデバッグ・解析プログラムの取得申請を行うデバッグ申請装置と、前記デバッグ申請装置からの申請に基づいて、前記デバッグ・解析プログラムを提供するデバッグ・解析プログラム管理装置と、から構成されるデバッグ認証システムを用いて、該デバッグ対象機器のデバッグ・解析を行う前に前記デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ認証方法は、前記デバッグ・解析プログラム管理装置は、前記デバッグ申請装置からの前記取得申請に付与された前記操作者を認証する電子署名である操作者署名の正当性の検証結果に基づいて、前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とが付与された前記デバッグ・解析プログラムと、該デバッグ・解析プログラムに基づく電子署名であるプログラム署名とを提供し、前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラムと前記プログラム署名とを取得し、該プログラム署名の正当性を検証し、該検証結果に基づいて該デバッグ・解析プログラム内の前記機器固有情報を取得し、該機器固有情報を用いて当該デバッグ対象機器自身の正当性を検証し、該検証結果に基づいて、前記デバッグ・解析プログラムから前記デバッグ機器検証鍵を取得し、該デバッグ機器検証鍵を用いて前記デバッグ機器の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にすることを特徴とする。
本発明にかかる、デバッグ対象機器と、該デバッグ対象機器のデバッグ及び解析を行うデバッグ機器と、操作者がデバッグ・解析プログラムの取得申請を行うデバッグ申請装置と、前記デバッグ申請装置からの申請に基づいて、前記デバッグ・解析プログラムを提供するデバッグ・解析プログラム管理装置と、から構成されるデバッグ認証システムを用いて、該デバッグ対象機器のデバッグ・解析を行う前に前記デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ認証方法は、前記デバッグ・解析プログラム管理装置は、前記デバッグ申請装置からの前記取得申請に付与された前記操作者を認証する電子署名である操作者署名の正当性の検証結果に基づいて、前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とが付与された前記デバッグ・解析プログラムと、該デバッグ・解析プログラムに基づく電子署名であるプログラム署名とを提供し、前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラムと前記プログラム署名とを取得し、該プログラム署名の正当性を検証し、該検証結果に基づいて該デバッグ・解析プログラム内の前記機器固有情報を取得し、該機器固有情報を用いて当該デバッグ対象機器自身の正当性を検証し、該検証結果に基づいて、前記デバッグ・解析プログラムから前記デバッグ機器検証鍵を取得し、該デバッグ機器検証鍵を用いて前記デバッグ機器の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にすることを特徴とする。
このように構成することにより、正規の操作者からのデバッグ・解析プログラムの申請の場合にのみ、デバッグ・解析プログラムが提供され、かつ、デバッグ・解析プログラム、デバッグ・解析機器、及びデバッグ対象機器の全てが正当な場合にのみデバッグ機能を有効にすることができるので、不正なデバッグを防止することができる。
本発明にかかる、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムを生成する処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム生成プログラムは、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信する処理と、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証する処理と、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成する処理と、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する処理と、をコンピュータに実行させることを特徴とする。
このように構成することにより、正規の操作者からのデバッグ・解析プログラムの申請の場合にのみ、デバッグ・解析プログラムを生成することができる。
図2は、本発明にかかるデバッグ認証システを構成するデバッグ対象機器及びデバッグ機器を示す。デバッグ対象機器1は、デバッグ機器2から送信されたデバッグ・解析プログラムに基づいて、デバッグ・解析が行われる際に、デバッグ処理に関する認証を行う。
デバッグ対象機器1は、受信手段1a、機器固有情報格納手段1d、ブート検証鍵格納手段1h、プログラム検証手段1b、デバッグ対象機器検証手段1c、デバッグ機器検証手段1e、デバッグ開始手段1iから構成される。
受信手段1aは、デバッグ機器2から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名(プログラム署名)とを受信する。前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる。
機器固有情報格納手段1dには、前記デバッグ対象機器の固有情報である機器固有情報が格納されている。ブート検証鍵格納手段1hには、前記プログラム署名の正当性を検証するための公開鍵(ブート検証鍵)が格納されている。
プログラム検証手段1bは、前記プログラム署名に基づいて、前記プログラムの正当性を検証する。より具体的には、プログラム検証手段1bは、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証する。
デバッグ対象機器検証手段1cは、前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証する。
より具体的には、デバッグ対象機器検証手段1cは、前記プログラムより第1の機器固有情報を取り出し、前記機器固有情報格納手段より第2の機器固有情報を取り出し、該第1及び第2の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証する。
デバッグ機器検証手段1eは、前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証する。
デバッグ機器検証手段1eは、認証子要求手段1f、認証子検証手段1gから構成される。認証子要求手段1fは、前記デバッグ機器2に認証子の発行を要求する。認証子検証手段1gは、前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器2の正当性を検証する。
デバッグ開始手段1iは、前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始する。より具体的には、デバッグ開始手段1iは、前記デバッグ機器2の正当性の検証結果に基づいて、前記デバッグ機器2のデバッグ機構と当該デバッグ対象機器1との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行する。
一方、デバッグ機器2は、デバッグ対象機器1に対してデバッグ・解析を行う。デバッグ機器2は、プログラム送信手段2a、デバッグ機器識別情報格納手段2b、デバッグ機器認証鍵格納手段2c、認証子要求取得手段2d、認証子生成手段2e、認証子送信手段2fから構成される。
プログラム送信手段2aは、外部装置より提供された前記デバッグ・解析プログラムと前記プログラム署名とを前記デバッグ対象機器へ送信する。
デバッグ機器識別情報格納手段2bには、前記デバッグ機器を識別するデバッグ機器識別情報が格納されている。デバッグ機器認証鍵格納手段2cには、前記デバッグ機器を認証するための前記秘密鍵であるデバッグ機器認証鍵が格納されている。
デバッグ機器識別情報格納手段2bには、前記デバッグ機器を識別するデバッグ機器識別情報が格納されている。デバッグ機器認証鍵格納手段2cには、前記デバッグ機器を認証するための前記秘密鍵であるデバッグ機器認証鍵が格納されている。
認証子要求取得手段2dは、前記デバッグ対象機器から前記認証子発行要求を取得する。認証子生成手段2eは、前記認証子発行要求と、前記デバッグ機器識別情報と、前記秘密鍵とに基づいて、前記認証子を生成する。認証子送信手段2fは、前記認証子を送信する。
ここで、デバッグ・解析プログラムについて説明する。このデバッグ・解析プログラムは、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムである。
このデバッグ・解析プログラムは、デバッグ対象機器と接続されているデバッグ機器と接続されているデバッグ申請装置を用いて、操作者がデバッグ・解析プログラム管理装置にデバッグ・解析プログラムの発行申請を行うと、デバッグ・解析プログラム管理装置より提供される。
デバッグ・解析プログラム管理装置は、まず、前記発行申請情報に付与された前記操作者を認証する電子署名(操作者署名)の正当性を検証する。それから、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵(デバッグ機器検証鍵)とを付与して、前記デバッグ・解析プログラム起動前認証プログラムを生成する。それから、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名(プログラム署名)を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する。デバッグ・解析プログラム管理装置は、こうして得られたデバッグ・解析プログラム起動前認証プログラムを提供する。
それでは、以下に本発明の実施の形態について詳述する。
図3は、本実施形態にかかるデバック認証システムの概要を示す。本実施形態では、デバッグ・解析プログラムに、デバッグ対象機器の機器固有ID(例えば携帯電話のIMEI(International Mobile Equipment Identity serial number)など)とデバッグ機能接続認証用の公開鍵とを含め、さらにそのデバッグ・解析プログラムにデジタル署名を付与する。そして、デバッグ・解析プログラムは、デバッグ対象機器内での起動時にプログラム内の機器固有IDと実行された機器固有IDとを比較し、デバッグ機能接続が提示した認証子を公開鍵で検証する。
図3は、本実施形態にかかるデバック認証システムの概要を示す。本実施形態では、デバッグ・解析プログラムに、デバッグ対象機器の機器固有ID(例えば携帯電話のIMEI(International Mobile Equipment Identity serial number)など)とデバッグ機能接続認証用の公開鍵とを含め、さらにそのデバッグ・解析プログラムにデジタル署名を付与する。そして、デバッグ・解析プログラムは、デバッグ対象機器内での起動時にプログラム内の機器固有IDと実行された機器固有IDとを比較し、デバッグ機能接続が提示した認証子を公開鍵で検証する。
同図において、デバッグ認証システムは、主として、デバッグ・解析プログラム管理装置11、デバッグ申請装置16、デバッグ機器18、デバッグ対象機器20から構成される。
デバッグ・解析プログラム管理装置11は、デバック・解析プログラムの管理をするサーバ装置である。デバッグ・解析プログラム管理装置11は、操作者検証鍵テーブル12aが格納された操作者検証鍵テーブル格納部12、デバッグ機器検証鍵テーブル13aが格納されたデバッグ機器検証鍵テーブル格納部13、デバッグ・解析プログラムのテンプレート14aが格納されたデバッグ・解析プログラムテンプレート格納部14、ブート署名鍵BKsが格納されたブート署名鍵格納部15を備える。
操作者検証鍵テーブル12aは、「操作者ID」と、その操作者IDに対応する「操作者検証鍵OKp」とが格納されたテーブルである。デバッグ機器検証鍵テーブル13aは、「デバッグ機器ID」と、そのデバッグ機器IDに対応する「デバッグ機器検証鍵DKp」とが格納されたテーブルである。
デバッグ申請装置(デバッグ申請・作成・送受信装置)16は、デバッグ対象機器20に接続されたデバッグ機器と接続されて、デバッグ申請データを作成してデバッグ・解析プログラム管理装置11へ送信したり、デバッグ・解析プログラム管理装置11から提供されたデバッグ・解析プログラムを受信したりする。デバッグ申請装置16は、例えば、パーソナルコンピュータであってもよい。
デバッグ申請装置16は、「操作者ID」及び「操作者認証鍵OKs」が格納された操作者認証鍵格納部17を備える。「操作者ID」は、デバッグ申請装置16を操作する操作者を識別するためのIDである。操作者認証鍵OKsは、操作者の正当性を証明するための秘密鍵である。
デバッグ機器(デバッグ・解析機器)18は、デバッグ対象機器のデバッグを行う。デバッグ機器18は、「デバッグ機器IDD」及び「デバッグ機器認証鍵DKs」が格納された格納部19を備える。デバッグ機器IDDは、デバッグ機器を識別するためのIDである。デバッグ機器認証鍵は、デバッグ機器の正当性を証明するための秘密鍵である。
デバッグ対象機器20は、故障等などによりデバッグが必要となった組み込み機器である。デバッグ対象機器20は、「ブート検証鍵BKp」及び「機器固有IDT」が格納された格納手段21、メモリ22、CPU(中央演算装置)23を備える。「機器固有IDT」は、デバッグ対象機器20固有のIDである。
ここで、「操作者認証鍵OKs」、「操作者検証鍵OKp」はそれぞれ、ペアの秘密鍵、公開鍵である。「デバッグ機器認証鍵DKs」、「デバッグ機器検証鍵DKp」はそれぞれ、ペアの秘密鍵、公開鍵である。「ブート署名鍵BKs」、「ブート検証鍵BKp」はそれぞれ、ペアの秘密鍵、公開鍵である。
図4A,図4B,図4Cは、本実施形態におけるデバッグ認証システムの認証機構の全体フローチャートである。図3を参照しながら、図4A−図4Cについて説明する。
まず、デバッグ機器18は、デバッグ対象機器20から機器固有IDTを採取する(i)。それから、デバッグ機器18は、機器固有IDTとデバッグ機器IDDとを、デバッグ申請装置16に渡す(ii)(ステップ1。以下、ステップを「S」と称する)。
まず、デバッグ機器18は、デバッグ対象機器20から機器固有IDTを採取する(i)。それから、デバッグ機器18は、機器固有IDTとデバッグ機器IDDとを、デバッグ申請装置16に渡す(ii)(ステップ1。以下、ステップを「S」と称する)。
デバッグ申請装置16は、機器固有IDTとデバッグ機器IDDを含むデバッグ申請データDAを作成する。それから、デバッグ申請装置16は、操作者認証鍵OKsを使って、操作者を認証するためのデジタル署名情報(操作者署名OS)を作成する(S2)。
デバッグ申請装置16は、デバッグ申請データDAと、操作者署名OS(操作者IDが付与されている)を、デバッグ・解析プログラム管理装置11に送信する(iii)(S3)。
デバッグ・解析プログラム管理装置11は、デバッグ申請データDAと、操作者署名OS(操作者IDが付与されている)を受信する。それから、デバッグ・解析プログラム管理装置11は、操作者IDをキーにして操作者検証鍵テーブル12aを検索し、その操作者IDに対応する操作者検証鍵OKpを取得する。デバッグ・解析プログラム管理装置11は、その操作者検証鍵OKpを使って、操作者署名OSの正当性を検証する(S4)。
S4の検証の結果、その操作者署名OSが不当である場合(S5で「不当」へ進む)、本フローは終了する。S4の検証の結果、その操作者署名OSが正当である場合(S5で「正当」へ進む」)、デバッグ・解析プログラム管理装置11は、デバッグ申請データDAにデバッグ機器検証鍵DKpを付与する(デバッグ機器認証情報DE)(S6)。
デバッグ・解析プログラム管理装置11は、デバッグ・解析プログラムテンプレート格納部14のデバッグ・解析プログラムテンプレート14a(デバッグ・解析プログラムP)を取り出し、デバッグ・解析プログラムPにデバッグ機器認証情報DEを埋め込む(デバッグ機器認証情報DEを埋め込んだデバッグ・解析プログラムをPDEで表す)。
それから、デバッグ・解析プログラム管理装置11は、ブート署名鍵格納部15からブート署名鍵BKsを取得する。デバッグ・解析プログラム管理装置11は、ブート署名鍵BKsを用いてデバッグ・解析プログラムPDEからプログラム署名PSを作成し、そのデバッグ・解析プログラムPDEにプログラム署名PSを付与する(S7)。
デバッグ・解析プログラム管理装置11は、プログラム署名PSが付与されたデバッグ・解析プログラムPDEをデバッグ申請装置16へ送付する(iv)。デバッグ申請装置16は、プログラム署名PSが付与されたデバッグ・解析プログラムPDEを受け取り、デバッグ機器18に渡す(v)(S8)。
デバッグ機器18は、デバッグ対象機器20に、プログラム署名PSが付与されたデバッグ・解析プログラムPDEを渡す(vi)(S9)。デバッグ対象機器20は、格納部21に格納されたブート検証鍵BKpを使って、プログラム署名PSを検証する(S10)。
S10の検証の結果、そのプログラム署名PSが不当である場合(S11で「不当」へ進む)、本フローは終了する。S10の検証の結果、そのプログラム署名PSが正当である場合(S11で「正当」へ進む」)、デバッグ対象機器20は、デバッグ・解析プログラムPDEからデバッグ機器認証情報DEを取り出す(S12)。
デバッグ対象機器20は、デバッグ機器認証情報DE内の機器固有IDTと、デバッグ対象機器20内の機器固有IDTが一致するかを検証する(S13)。
S13の検証の結果、その機器固有IDTが不一致の場合(S14で「不一致」へ進む)、本フローは終了する。S13の検証の結果、その機器固有IDTが一致する場合(S14で「一致」へ進む」)、デバッグ機器18は、格納装置19に格納されているデバッグ機器認証鍵DKsを使ってデバッグ機器認証子ACを作成し、デバッグ対象機器20に送付する(vii)(S15)。
S13の検証の結果、その機器固有IDTが不一致の場合(S14で「不一致」へ進む)、本フローは終了する。S13の検証の結果、その機器固有IDTが一致する場合(S14で「一致」へ進む」)、デバッグ機器18は、格納装置19に格納されているデバッグ機器認証鍵DKsを使ってデバッグ機器認証子ACを作成し、デバッグ対象機器20に送付する(vii)(S15)。
デバッグ対象機器20は、デバッグ機器認証情報を使って、デバッグ機器認証子ACを検証する(S16)。S16の検証の結果、そのデバッグ機器認証子ACが不当である場合(S17で「不当」へ進む)、本フローは終了する。S16の検証の結果、そのデバッグ機器認証子ACが正当である場合(S17で「正当」へ進む」)、デバッグ対象機器20は、デバッグ機能を有効にする(S18)。
図5は、本実施形態におけるデバッグ解析プログラム管理装置の構成を示す。図6A,図6B,図6Cは、本実施形態におけるデバッグ解析プログラム管理装置のフローチャートを示す。図5を参照しながら、図6A−図6Cについて説明する。
デバッグ申請受付部41は、デバッグ申請装置16から送信されたデバッグ申請データDAと操作者署名OSを受信する(S21)。デバッグ申請受付部41は、操作者署名OS(操作者IDを含む)を、操作者認証部42に渡す(S22)。
操作者認証部42は、操作者署名OSから操作者IDを取得し、その操作者IDに対応する操作者検証鍵OKpを操作者認証鍵テーブル12から取り出す。それから、操作者認証部42は、操作者検証鍵OKpを用いて、操作者署名OSの検証を行う(S23)。
S23の検証の結果、その操作者署名OSが不当である場合(S24で「不当」へ進む)、本フローは終了する。S23の検証の結果、その操作者署名OSが正当である場合(S24で「正当」へ進む」)、デバッグ申請受付部41は、デバッグ申請データDAを、ブート情報作成部43に送る(S25)。
ブート情報作成部43は、デバッグ申請データDAからデバッグ機器IDDと機器固有IDTを取り出す(S26)。ブート情報作成部43は、デバッグ機器IDDをキーとしてデバッグ機器検証鍵テーブル13を検索し、そのデバッグ機器IDDに対応するデバッグ機器検証鍵DKpを得る(S27)。
それから、ブート情報生成部43は、デバッグ機器検証鍵DKpと機器固有IDTとを含む、デバッグ機器認証情報DEを作成し、デバッグ・解析プログラム生成部44に渡す(S28)。
デバッグ・解析プログラム生成部44は、デバッグ・解析プログラムテンプレート格納部14に格納されているデバッグ・解析プログラムテンプレート14aからテンプレートプログラム(デバッグ・解析プログラムP)を取り出す(S29)。
デバッグ・解析プログラム生成部44は、デバッグ・解析プログラムPに、デバッグ機器認証情報DEを埋め込み、デバッグ・解析プログラムPDEを作成する(S30)。デバッグ・解析プログラム生成部44は、デバッグ・解析プログラムPDEを、デバッグ・解析プログラム署名作成部45に渡す(S31)。
デバッグ・解析プログラム署名作成部45は、ブート署名鍵格納部15からブート署名鍵BKsを取り出し、ブート署名鍵BKsを用いてデバッグ・解析プログラムPDEからプログラム署名PSを作成し、プログラム署名PSをデバッグ・解析プログラム生成部44に渡す(S32)。
デバッグ・解析プログラム生成部44は、デバッグ・解析プログラム送信部46にデバック解析・プログラムPDEとプログラム署名PSを渡す(S33)。デバッグ・解析プログラム送信部46は、デバッグ申請装置16に、デバック・解析プログラムPDEとプログラム署名PSを送る(S34)。
図7は、本実施形態におけるデバッグ機器18、デバッグ対象機器20の構成図を示す。図8A,図8B,図8Cは、本実施形態におけるデバッグ機器18、デバッグ対象機器20のフローチャートを示す。図7を参照しながら、図8A−図8Cについて説明する。
デバッグ機器18は、デバッグ申請装置16からデバック・解析プログラムPDEとプログラム署名PSを受信する。そうすると、デバッグ機器18は、デバッグ対象機器20に対して、デバッグ・解析プログラムPDEとプログラム署名PSを送る(S41)。
デバッグ対象機器20は、初期化処理を行う。このとき、バススイッチ(S/W)65をOFFにする(S42)。デバッグ対象機器20のIPL(Initial Program Loader)61は、デバッグ・解析プログラムPDEとプログラム署名PSを受信し、メモリ22上に展開し、ブート検証部62を起動させる(S43)。
ブート検証部62は、ブート検証鍵BKp、デバッグ・解析プログラムPDE、プログラム署名PSを署名検証機構63に渡す(S44)。署名検証機構63は、ブート検証鍵BKpを用いてプログラム署名PSを検証する(S45)。
S45の検証の結果、そのプログラム署名PSが不当である場合(S46で「不当」へ進む)、本フローは終了する。S45の検証の結果、そのプログラム署名PSが正当である場合(S46で「正当」へ進む」)、ブート検証部62は、メモリ22上のデバッグ・解析プログラムPDEから、デバッグ機器認証情報DEを取り出し、さらにその中の機器固有IDを取り出す(S47)。
ブート検証部62は、デバッグ対象機器20内に格納された機器固有IDTを取り出す(S48)。S47で取得した機器固有IDとS48で取得した機器固有IDとが一致するかが判断される(S49)。
S49において、機器固有IDが不一致の場合、本フローは終了する。S49において、機器固有IDが一致する場合、ブート検証部62は、メモリ22上のデバッグ・解析プログラムPDE内にある認証子検証部64を起動する(S50)。
認証子検証部64は、デバッグ・解析機器18に対して、認証子の発行を要求する(認証子要求ARを送信する)(S51)。デバッグ・解析機器18内の認証子生成部51は、認証子要求ARを受信する(S52)。
認証子生成部51は、認証子要求AR、デバッグ機器認証鍵DKs、デバック機器IDDを使って、認証子ACを生成する(S53)。認証子生成部51は、生成した認証子ACをデバッグ対象機器20に送信する(S54)。
デバッグ対象機器20の認証子検証部64は、認証子生成部51から送信された認証子ACを受信する(S55)。認証子検証部64は、メモリ22上にあるデバッグ機器認証情報DE内のデバッグ機器検証鍵DKpを取り出す(S56)。
認証子検証部64は、デバッグ機器検証鍵DKpと認証子ACを署名検証機構63に渡す(S57)。署名検証機構67は、デバッグ機器検証鍵DKpを用いて認証子ACを検証する(S58)。
S58の検証の結果、その認証子ACが不当である場合(S59で「不当」へ進む)、本フローは終了する。S58の検証の結果、その認証子ACが正当である場合(S59で「正当」へ進む」)、認証子検証部64は、バスS/W65をONにする(S60)。
すると、デバッグ対象機器20は、デバッグ機能を有効にする(S61)。すなわち、デバッグポート53,56を介して、デバッグ・解析機器18のデバッグ機構52と、デバッグ対象機器20のCPU20及びメモリ22とが接続される。以降、デバッグ・解析機器18よりデバッグ機構52に指令を出すことで、デバッグ対象機器20のデバッグ・解析を行う。
図9は、本実施形態におけるデバッグ認証システムを携帯電話に適用した場合の実施例を示す。保守作業者は、デバッグ対象機器である携帯電話76にデバッグ機器74を接続し、さらに、デバッグ機器74とデバッグ申請装置73とを接続する。それらか、上述した操作を行って、デバッグ申請装置73から開発元71(デバッグ・解析プログラム解析装置)に、携帯電話のIMEIと、保守作業者の認証鍵による操作者署名を送信する。
そうすると、開発元71では、携帯電話のIMEI及びデバッグ機器認証用の公開鍵が埋め込まれたデバッグ・解析プログラムにデジタル署名を付与し、デバッグ申請装置73に提供する。その提供されたデバッグ・解析プログラムは、デバッグ申請装置73、デバッグ機器74を介して、携帯電話75に送られる。
そして、携帯電話75内において、デバッグ・解析プログラムは、起動時に、デバッグ・解析プログラム内のIMEIと実行された携帯電話内のIMEIとを比較する。IMEIが一致した場合、携帯電話75は、デバッグ機器が提示した認証子をデバッグ・解析プログラム内の公開鍵で検証する。その検証の結果、デバッグ機器73の正当性が検証されれば、携帯電話75はデバッグ機能を有効し、デバッグ機器73より携帯電話75のデバッグ・解析を行う。
もし、デバッグ機器77、デバッグ・解析プログラム、または携帯電話78が不正改造者に渡ったとしても、デバッグ機器77、デバッグ・解析プログラム、及び携帯電話78の全てについて正当性が証明されなければ、デバッグ機構は有効とならない。
本実施形態によれば、特定の端末と、特定のデバッグ機器と、特定のプログラムの組み合わせの場合にのみ、デバッグ・解析をすることができる。よって、例えばデバッグ・解析プログラムが流出しても、他のデバック対象機器や他のデバッグ機器においてそのデバッグ・解析プログラムを実行することができない。また、デバッグ・解析プログラムがどの経路(要員)から流出したか特定することもできる。
なお、本実施形態では、デバッグ機器18内の認証子生成部51により認証子をデバッグ対象機器へ入力していたが、これに限定されず、以下のようにして、デバッグ機器認証鍵の与え方を与えてもよい。例えば、作業員の認証鍵からワンタイムのデバッグ機器認証鍵を生成してもよい。ICEにデバッグ機器認証鍵を持たせていてもよい。また、デバッグ対象機器のキーボードから認証子を入力するようにしてもよい。
また、開発元より暗号化されたデバッグ・解析プログラムが提供されるようにしていてもよい。また、デバッグ・解析プログラムに有効期限を設けておき、有効期限外では当該プログラムが実行できないようにしていてもよい。また、トレースアビリティの向上のために、デバッグ対象機器とデバッグ機器との接続履歴をデバッグ機器内に記録するようにしてもよい。また、デバッグ対象機器とデバッグ機器とを接続する度にデバッグ・解析プログラム管理装置に問い合わせて、デバッグ・解析プログラムの有効性を判断するようにしてもよい。
上述のしたように、従来、デバッグ・解析プログラムに署名だけが付与されていたが、この手法によっては不正改造を完全に防止することはできなかった。しかしながら、本発明のデバッグ認証システムによれば、機器固有ID及びデバッグ機器検証鍵DKpが埋め込まれたデバッグ・解析プログラムを用いることにより、デバッグ機器及びデバッグ対象機器の正当性の判断を行うことができる。これによって、デバッグ・解析プログラム、デバッグ対象機器、及びデバッグ機器のうち、いずれかが流出して不正改造者の手に渡ったとしても、不正な解析を防ぐことができる。
また、開発元が、デバッグ機器認証情報(「デバッグ・解析プログラムの正当性を証明する」、「ブート署名鍵を用いてデバッグ・解析プログラムから生成したデジタル署名」、「このプログラムが動作可能なデバッグ対象機器の機器固有ID」、及び「デバッグ機器検証鍵」を含む情報)を発行しない限り、デバッグ・解析プログラムの実行は不可能である。これによって、開発元が、デバッグ・解析プログラムの管理を容易に実現することができる。
さらに、従来、デバッグ機器内にデバッグ機能の保護を行うためのプログラムを保持していたが、本発明では、デバッグ・解析プログラムがデバッグ機構への接続制御を行い、またその接続制御に必要な情報を保持するようにしている。このため、通常の量産品の動作には必要のないが、デバッグ機構の保護のためには必要となるプログラムを、予め組み込み機器内に用意する必要がない。これによって、コストの大幅な削減を図ることができる。
また、本発明では、外部から入力されたデバッグ・解析プログラムをIPLがRAMもしくはFlash ROM上に書き込むことができる。したがって、ROMには自由なプログラムを書き込むことができる。これによって、利用者によるファームアップデートが可能である。また、一般機器では、ICEを無効にしたプログラムのみを書き込み、販売することで、認証機構そのものを隠すことができる。また、必要に応じて、ICEが有効なプログラムを書き込むことが可能である。
また、本発明では、外部から与えるデバッグプログラム及びそのデバッグ機器認証情報は、デバッグ機器が生成するのではなく、その外側(開発元)が生成する。よって、万が一、デバッグ機器が解析され偽造されたとしても、デバッグ対象機器に接続することができない。すなわち、デバッグ機器、デバッグ対象機器、デバッグ・解析プログラムの全てが流出しない限り、デバッグ機器とデバッグ対象機器とを接続してデバッグ機構を有効にすることは不可能である。
以上より、本発明によれば、デバッグ・解析プログラム、デバッグ機器、及びデバッグ対象機器の正当性をそれぞれ検証し、全ての検証に成功した場合にのみ、デバッグ機能を有効にすることで、不正なデバッグを防止することができる。
Claims (18)
- デバッグ・解析が行われる際に、デバッグ処理に関する認証を行うデバッグ対象機器において、
デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名であるプログラム署名とを受信する受信手段と、
前記デバッグ対象機器の固有情報である機器固有情報が格納されている機器固有情報格納手段と、
前記プログラム署名の正当性を検証するための公開鍵であるブート検証鍵が格納されているブート検証鍵格納手段と、
前記プログラム署名に基づいて、前記プログラムの正当性を検証するプログラム検証手段と、
前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証するデバッグ対象機器検証手段と、
前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証手段と、
前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始するデバッグ開始手段と、
を備えることを特徴とするデバッグ対象機器。 - 前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる
ことを特徴とする請求項1に記載のデバッグ対象機器。 - 前記プログラム検証手段は、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証する
ことを特徴とする請求項1に記載のデバッグ対象機器。 - 前記デバッグ対象機器検証手段は、前記プログラムより第1の機器固有情報を取り出し、前記機器固有情報格納手段より第2の機器固有情報を取り出し、該第1及び第2の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証する
ことを特徴とする請求項1に記載のデバッグ対象機器。 - 前記デバッグ機器検証手段は、
前記デバッグ機器に認証子の発行を要求する認証子要求手段と、
前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証手段と、
を備えることを特徴とする請求項2に記載のデバッグ対象機器。 - 前記デバッグ開始手段は、前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行する
ことを特徴とする請求項1に記載のデバッグ対象機器。 - 請求項1に記載のデバッグ対象機器に対してデバッグ・解析を行うデバッグ機器であって、
外部装置より提供された前記デバッグ・解析プログラムと前記プログラム署名とを前記デバッグ対象機器へ送信するプログラム送信手段と、
前記デバッグ機器を識別するデバッグ機器識別情報が格納されているデバッグ機器識別情報格納手段と、
前記デバッグ機器を認証するための前記秘密鍵であるデバッグ機器認証鍵が格納されているデバッグ機器認証鍵格納手段と、
前記デバッグ対象機器から前記認証子発行要求を取得する認証子要求取得手段と、
前記認証子発行要求と、前記デバッグ機器識別情報と、前記秘密鍵とに基づいて、前記認証子を生成する認証子生成手段と、
前記認証子を送信する認証子送信手段と、
を備えることを特徴とするデバッグ機器。 - デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行う処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラムであって、前記デバッグ機器から送信されたデバッグ・解析プログラムと該プログラムの正当性を証明するための電子署名であるプログラム署名とが受信され、該プログラム署名に基づいて、該プログラムの正当性が検証され、該検証結果に基づいて、該プログラムから所定の機器固有情報が取り出され、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性が検証された後に実行される該デバッグ・解析プログラム起動前認証プログラムであって、
前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証処理と、
前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にするデバッグ通信接続処理と、
をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム。 - 前記デバッグ・解析プログラム起動前認証プログラムは、前記デバッグ対象機器の機器固有情報と前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる
ことを特徴とする請求項8に記載のデバッグ・解析プログラム起動前認証プログラム。 - 前記デバッグ機器検証処理は、
前記デバッグ機器に認証子の発行を要求する認証子要求処理と、
前記公開鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証処理と、
を行うことを特徴とする請求項8に記載のバッグ・解析プログラム起動前認証プログラム。 - デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムをコンピュータにより生成する方法であって、
コンピュータが、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信し、
コンピュータが、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証し、
コンピュータが、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成し、
コンピュータが、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する
ことを特徴とするデバッグ・解析プログラム起動前認証プログラムの生成方法。 - 前記申請情報は、前記デバッグ対象機器を識別する機器固有情報と、前記デバッグ機器を識別する前記デバッグ機器識別情報と、前記操作者を認証するための秘密鍵である操作者認証鍵に基づく前記操作者署名とを含んでいる
ことを特徴とする請求項11に記載のデバッグ・解析プログラム起動前認証プログラムの生成方法。 - 前記デバッグ・解析プログラム起動前認証プログラムを生成する場合、
前記操作者認証鍵に対応する公開鍵である操作者検証鍵を用いて、前記操作者署名の正当性を検証し、
前記検証結果に基づいて、前記機器固有情報と、前記デバッグ機器を認証するための秘密鍵であるデバッグ機器認証鍵に対応する公開鍵であるデバッグ機器検証鍵とを含むデバッグ機器認証情報を生成し、該デバッグ機器認証情報を前記デバッグ・解析プログラムに付与して、前記デバッグ・解析プログラム起動前認証プログラムとする
ことを特徴とする請求項12に記載のデバッグ・解析プログラム起動前認証プログラムの生成方法。 - 前記プログラム署名を生成する場合、前記デバッグ・解析プログラム起動前認証プログラムを認証するための秘密鍵であるブート署名鍵を用いて、該デバッグ・解析プログラム起動前認証プログラムから該プログラム署名を生成する
ことを特徴とする請求項13に記載のデバッグ・解析プログラム起動前認証プログラムの生成方法。 - デバッグ対象機器と、該デバッグ対象機器のデバッグ及び解析を行うデバッグ機器と、操作者がデバッグ・解析プログラムの取得申請を行うデバッグ申請装置と、前記デバッグ申請装置からの申請に基づいて、前記デバッグ・解析プログラムを提供するデバッグ・解析プログラム管理装置と、から構成されるデバッグ認証システムを用いて、該デバッグ対象機器のデバッグ・解析を行う前に前記デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ認証方法であって、
前記デバッグ・解析プログラム管理装置は、前記デバッグ申請装置からの前記取得申請に付与された前記操作者を認証する電子署名である操作者署名の正当性の検証結果に基づいて、前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とが付与された前記デバッグ・解析プログラムと、該デバッグ・解析プログラムに基づく電子署名であるプログラム署名とを提供し、
前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラムと前記プログラム署名とを取得し、該プログラム署名の正当性を検証し、該検証結果に基づいて該デバッグ・解析プログラム内の前記機器固有情報を取得し、該機器固有情報を用いて当該デバッグ対象機器自身の正当性を検証し、該検証結果に基づいて、前記デバッグ・解析プログラムから前記デバッグ機器検証鍵を取得し、該デバッグ機器検証鍵を用いて前記デバッグ機器の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にする
ことを特徴とするデバッグ認証方法。 - 前記デバッグ機器は、前記デバッグ対象機器から取得した該デバッグ対象機器を識別する機器固有情報と、当該デバッグ機器を識別するデバッグ機器識別情報とを前記デバッグ申請装置に送信し、
前記デバッグ申請装置は、前記機器固有情報及び前記デバッグ機器識別情報を含むデバッグ申請データと、前記操作者を認証するための秘密鍵である操作者認証鍵に基づく前記操作者署名とを前記デバッグ・解析プログラム管理装置へ送信し、
前記デバッグ・解析プログラム管理装置は、前記操作者認証鍵に対応する公開鍵である操作者検証鍵により、前記操作者署名の正当性について検証し、該検証結果に基づいて、前記機器固有情報と前記デバッグ機器検証鍵とを含むデバッグ機器認証情報を生成し、該デバッグ機器認証情報を前記デバッグ・解析プログラムに付与し、さらに、該デバッグ・解析プログラムを認証するための秘密鍵であるブート署名鍵を用いて前記プログラム署名を生成して該デバッグ・解析プログラムに付与することにより、デバッグ・解析プログラム起動前認証プログラムを生成して前記デバッグ申請装置へ送信する
ことを特徴とする請求項15に記載のデバッグ認証方法。 - 前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラム起動前認証プログラムを取得し、該デバッグ・解析プログラム起動前認証プログラムについての前記プログラム署名の正当性について検証し、該検証結果に基づいて該デバッグ・解析プログラム起動前認証プログラム内の前記デバッグ機器認証情報を取得し、該デバッグ機器認証情報内の前記機器固有情報と当該デバッグ対象機器自身の有する機器固有情報とが一致するかを検証し、該検証結果に基づいて前記デバッグ機器に対して認証子の発行を要求し、
前記デバッグ機器は、前記デバッグ対象機器からの要求に応じて前記認証子を生成して、該デバッグ対象機器へ返信し、
前記デバッグ対象機器は、前記デバッグ・解析プログラム起動前認証プログラムから取得した前記デバッグ機器検証鍵に基づいて、前記認証子の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にする
ことを特徴とする請求項16に記載のデバッグ認証方法。 - デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムを生成する処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム生成プログラムであって、
前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信する処理と、
前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証する処理と、
前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成する処理と、
前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する処理と、
をコンピュータに実行させることを特徴とするデバッグ・解析プログラム起動前認証プログラム生成プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/000311 WO2008117340A1 (ja) | 2007-03-27 | 2007-03-27 | デバッグ対象機器、該認証プログラム、及びデバッグ認証方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008117340A1 true JPWO2008117340A1 (ja) | 2010-07-08 |
JP4814993B2 JP4814993B2 (ja) | 2011-11-16 |
Family
ID=39788085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009506055A Expired - Fee Related JP4814993B2 (ja) | 2007-03-27 | 2007-03-27 | デバッグ対象機器、該認証プログラム、及びデバッグ認証方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP4814993B2 (ja) |
WO (1) | WO2008117340A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5398845B2 (ja) * | 2009-11-24 | 2014-01-29 | 三菱電機株式会社 | 情報処理装置及びプログラム |
US9942049B2 (en) * | 2014-04-04 | 2018-04-10 | Qualcomm Incorporated | Remote station and method for re-enabling a disabled debug capability in a system-on-a-chip device |
JP7249968B2 (ja) * | 2020-03-09 | 2023-03-31 | 株式会社東芝 | 情報処理装置およびストレージ |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4409056B2 (ja) * | 2000-06-30 | 2010-02-03 | 富士通株式会社 | Lsi,lsiを搭載した電子装置、デバッグ方法、lsiのデバッグ装置 |
JP2003177938A (ja) * | 2001-12-07 | 2003-06-27 | Fujitsu Ltd | 電子装置及びそのデバッグ認証方法 |
JP2007226276A (ja) * | 2004-03-24 | 2007-09-06 | Matsushita Electric Ind Co Ltd | デバッグ許可装置システム |
JP2006004120A (ja) * | 2004-06-17 | 2006-01-05 | Ricoh Co Ltd | デバッグ用画像入出力装置及びデバッグ装置 |
JP2006011987A (ja) * | 2004-06-28 | 2006-01-12 | Ricoh Co Ltd | デバックシステム及びそのデバック方法 |
JP2006126994A (ja) * | 2004-10-27 | 2006-05-18 | Seiko Epson Corp | インサーキットエミュレータ、デバッグ装置、及びそれを用いたデバッグシステム |
JP2007072957A (ja) * | 2005-09-09 | 2007-03-22 | Matsushita Electric Ind Co Ltd | リードライト装置およびデバッグシステム |
-
2007
- 2007-03-27 JP JP2009506055A patent/JP4814993B2/ja not_active Expired - Fee Related
- 2007-03-27 WO PCT/JP2007/000311 patent/WO2008117340A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP4814993B2 (ja) | 2011-11-16 |
WO2008117340A1 (ja) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11880808B2 (en) | Securing in-app purchases | |
US11637707B2 (en) | System and method for managing installation of an application package requiring high-risk permission access | |
US11861372B2 (en) | Integrity manifest certificate | |
JP6719079B2 (ja) | 情報機器、データ処理システム、データ処理方法およびコンピュータプログラム | |
JP4410821B2 (ja) | 保護された処理システムへの初期トラステッド・デバイスのバインディングの検証 | |
TW201732669A (zh) | 受控的安全碼鑑認 | |
JP4818664B2 (ja) | 機器情報送信方法、機器情報送信装置、機器情報送信プログラム | |
CN110535807B (zh) | 一种业务鉴权方法、装置和介质 | |
US20170222813A1 (en) | Method, device, terminal, and server for a security check | |
JP2009175923A (ja) | プラットフォーム完全性検証システムおよび方法 | |
KR20070037782A (ko) | 이동통신 단말기의 소프트웨어 인증 장치 및 그 방법 | |
CN111953634B (zh) | 终端设备的访问控制方法、装置、计算机设备和存储介质 | |
CN112380501B (zh) | 设备运行方法、装置、设备和存储介质 | |
CN111881424A (zh) | 一种基于机器识别码的许可授权方法及装置 | |
JP5183517B2 (ja) | 情報処理装置及びプログラム | |
JP2017011491A (ja) | 認証システム | |
JP4814993B2 (ja) | デバッグ対象機器、該認証プログラム、及びデバッグ認証方法 | |
JP5278495B2 (ja) | 機器情報送信方法、機器情報送信装置、機器情報送信プログラム | |
JP4998314B2 (ja) | 通信制御方法および通信制御プログラム | |
JP4621732B2 (ja) | 車両外部の装置を認証するための方法、制御機器を有する自動車両のバスシステム及び車両外部の装置を認証するためのコンピュータ・プログラム | |
CN116032484A (zh) | 一种通信设备安全启动的方法、装置和电子设备 | |
JP5049179B2 (ja) | 情報処理端末装置及びアプリケーションプログラムの起動認証方法 | |
CN116010904B (zh) | 一种离线授权方法及系统 | |
JP2009260688A (ja) | ワイヤレス広域通信網におけるリモート端末装置のセキュリティシステムとその方法 | |
JP5288173B2 (ja) | プラットフォーム完全性検証システム及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110823 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110826 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140902 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |