(57)【要約】  発明にかかるデバッグ対象機器は、デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名（プログラム署名）とを受信し、前記プログラム署名に基づいて、前記プログラムの正当性を検証し、該プログラムより取得した機器固有情報と自身の有する機器固有情報とを比較して、当該デバッグ対象機器自身の正当性を検証し、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証し、全ての検証が成功すれば、デバッグ機能を有効にすることにより、不正なデバッグが行われるのを防止する。
2008117340.tif 000002
【特許請求の範囲】
【請求項１】
デバッグ・解析が行われる際に、デバッグ処理に関する認証を行うデバッグ対象機器において、
デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名であるプログラム署名とを受信する受信手段と、
前記デバッグ対象機器の固有情報である機器固有情報が格納されている機器固有情報格納手段と、
前記プログラム署名の正当性を検証するための公開鍵であるブート検証鍵が格納されているブート検証鍵格納手段と、
前記プログラム署名に基づいて、前記プログラムの正当性を検証するプログラム検証手段と、
前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証するデバッグ対象機器検証手段と、
前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証手段と、
前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始するデバッグ開始手段と、
を備えることを特徴とするデバッグ対象機器。
【請求項２】
前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項３】
前記プログラム検証手段は、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証する
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項４】
前記デバッグ対象機器検証手段は、前記プログラムより第１の機器固有情報を取り出し、前記機器固有情報格納手段より第２の機器固有情報を取り出し、該第１及び第２の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証する
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項５】
前記デバッグ機器検証手段は、
前記デバッグ機器に認証子の発行を要求する認証子要求手段と、
前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証手段と、
を備えることを特徴とする請求項２に記載のデバッグ対象機器。
【請求項６】
前記デバッグ開始手段は、前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行する
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項７】
請求項１に記載のデバッグ対象機器に対してデバッグ・解析を行うデバッグ機器であって、
外部装置より提供された前記デバッグ・解析プログラムと前記プログラム署名とを前記デバッグ対象機器へ送信するプログラム送信手段と、
前記デバッグ機器を識別するデバッグ機器識別情報が格納されているデバッグ機器識別情報格納手段と、
前記デバッグ機器を認証するための前記秘密鍵であるデバッグ機器認証鍵が格納されているデバッグ機器認証鍵格納手段と、
前記デバッグ対象機器から前記認証子発行要求を取得する認証子要求取得手段と、
前記認証子発行要求と、前記デバッグ機器識別情報と、前記秘密鍵とに基づいて、前記認証子を生成する認証子生成手段と、
前記認証子を送信する認証子送信手段と、
を備えることを特徴とするデバッグ機器。
【請求項８】
デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行う処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラムであって、前記デバッグ機器から送信されたデバッグ・解析プログラムと該プログラムの正当性を証明するための電子署名であるプログラム署名とが受信され、該プログラム署名に基づいて、該プログラムの正当性が検証され、該検証結果に基づいて、該プログラムから所定の機器固有情報が取り出され、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性が検証された後に実行される該デバッグ・解析プログラム起動前認証プログラムであって、
前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証処理と、
前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にするデバッグ通信接続処理と、
をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム。
【請求項９】
前記デバッグ・解析プログラム起動前認証プログラムは、前記デバッグ対象機器の機器固有情報と前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる
ことを特徴とする請求項８に記載のデバッグ・解析プログラム起動前認証プログラム。
【請求項１０】
前記デバッグ機器検証処理は、
前記デバッグ機器に認証子の発行を要求する認証子要求処理と、
前記公開鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証処理と、
を行うことを特徴とする請求項８に記載のバッグ・解析プログラム起動前認証プログラム。
【請求項１１】
デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムをコンピュータにより生成する方法であって、
コンピュータが、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信し、
コンピュータが、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証し、
コンピュータが、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成し、
コンピュータが、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する
ことを特徴とするデバッグ・解析プログラム起動前認証プログラムの生成方法。
【請求項１２】
前記申請情報は、前記デバッグ対象機器を識別する機器固有情報と、前記デバッグ機器を識別する前記デバッグ機器識別情報と、前記操作者を認証するための秘密鍵である操作者認証鍵に基づく前記操作者署名とを含んでいる
ことを特徴とする請求項１１に記載のデバッグ・解析プログラム起動前認証プログラムの生成方法。
【請求項１３】
前記デバッグ・解析プログラム起動前認証プログラムを生成する場合、
前記操作者認証鍵に対応する公開鍵である操作者検証鍵を用いて、前記操作者署名の正当性を検証し、
前記検証結果に基づいて、前記機器固有情報と、前記デバッグ機器を認証するための秘密鍵であるデバッグ機器認証鍵に対応する公開鍵であるデバッグ機器検証鍵とを含むデバッグ機器認証情報を生成し、該デバッグ機器認証情報を前記デバッグ・解析プログラムに付与して、前記デバッグ・解析プログラム起動前認証プログラムとする
ことを特徴とする請求項１２に記載のデバッグ・解析プログラム起動前認証プログラムの生成方法。
【請求項１４】
前記プログラム署名を生成する場合、前記デバッグ・解析プログラム起動前認証プログラムを認証するための秘密鍵であるブート署名鍵を用いて、該デバッグ・解析プログラム起動前認証プログラムから該プログラム署名を生成する
ことを特徴とする請求項１３に記載のデバッグ・解析プログラム起動前認証プログラムの生成方法。
【請求項１５】
デバッグ対象機器と、該デバッグ対象機器のデバッグ及び解析を行うデバッグ機器と、操作者がデバッグ・解析プログラムの取得申請を行うデバッグ申請装置と、前記デバッグ申請装置からの申請に基づいて、前記デバッグ・解析プログラムを提供するデバッグ・解析プログラム管理装置と、から構成されるデバッグ認証システムを用いて、該デバッグ対象機器のデバッグ・解析を行う前に前記デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ認証方法であって、
前記デバッグ・解析プログラム管理装置は、前記デバッグ申請装置からの前記取得申請に付与された前記操作者を認証する電子署名である操作者署名の正当性の検証結果に基づいて、前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とが付与された前記デバッグ・解析プログラムと、該デバッグ・解析プログラムに基づく電子署名であるプログラム署名とを提供し、
前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラムと前記プログラム署名とを取得し、該プログラム署名の正当性を検証し、該検証結果に基づいて該デバッグ・解析プログラム内の前記機器固有情報を取得し、該機器固有情報を用いて当該デバッグ対象機器自身の正当性を検証し、該検証結果に基づいて、前記デバッグ・解析プログラムから前記デバッグ機器検証鍵を取得し、該デバッグ機器検証鍵を用いて前記デバッグ機器の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にする
ことを特徴とするデバッグ認証方法。
【請求項１６】
前記デバッグ機器は、前記デバッグ対象機器から取得した該デバッグ対象機器を識別する機器固有情報と、当該デバッグ機器を識別するデバッグ機器識別情報とを前記デバッグ申請装置に送信し、
前記デバッグ申請装置は、前記機器固有情報及び前記デバッグ機器識別情報を含むデバッグ申請データと、前記操作者を認証するための秘密鍵である操作者認証鍵に基づく前記操作者署名とを前記デバッグ・解析プログラム管理装置へ送信し、
前記デバッグ・解析プログラム管理装置は、前記操作者認証鍵に対応する公開鍵である操作者検証鍵により、前記操作者署名の正当性について検証し、該検証結果に基づいて、前記機器固有情報と前記デバッグ機器検証鍵とを含むデバッグ機器認証情報を生成し、該デバッグ機器認証情報を前記デバッグ・解析プログラムに付与し、さらに、該デバッグ・解析プログラムを認証するための秘密鍵であるブート署名鍵を用いて前記プログラム署名を生成して該デバッグ・解析プログラムに付与することにより、デバッグ・解析プログラム起動前認証プログラムを生成して前記デバッグ申請装置へ送信する
ことを特徴とする請求項１５に記載のデバッグ認証方法。
【請求項１７】
前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラム起動前認証プログラムを取得し、該デバッグ・解析プログラム起動前認証プログラムについての前記プログラム署名の正当性について検証し、該検証結果に基づいて該デバッグ・解析プログラム起動前認証プログラム内の前記デバッグ機器認証情報を取得し、該デバッグ機器認証情報内の前記機器固有情報と当該デバッグ対象機器自身の有する機器固有情報とが一致するかを検証し、該検証結果に基づいて前記デバッグ機器に対して認証子の発行を要求し、
前記デバッグ機器は、前記デバッグ対象機器からの要求に応じて前記認証子を生成して、該デバッグ対象機器へ返信し、
前記デバッグ対象機器は、前記デバッグ・解析プログラム起動前認証プログラムから取得した前記デバッグ機器検証鍵に基づいて、前記認証子の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にする
ことを特徴とする請求項１６に記載のデバッグ認証方法。
【請求項１８】
デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムを生成する処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム生成プログラムであって、
前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信する処理と、
前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証する処理と、
前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成する処理と、
前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する処理と、
をコンピュータに実行させることを特徴とするデバッグ・解析プログラム起動前認証プログラム生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み機器のデバッグ認証技術に関する。
【背景技術】
【０００２】
従来、携帯電話、車載機器、ネットワーク機器、ネット家電、ゲーム機等の組み込み機器は、開発時のデバッグ及び販売後の故障解析などのために、必ずデバッグ機構を有している。【０００３】
このデバッグ機構の仕組み、またはデバッグ・解析プログラムが何らかの形で流出し不正改造者が入手すると、このデバッグ・解析プログラムを用いることで組み込み機器の内部の解析が行われ、改造プログラムの作成が行われてしまう。このため、デバッグ機構の不正利用を防ぐための技術が望まれている。【０００４】
デバッグ機構は、主として、組み込み機器の量産時、開発時、及び運用時で利用される。組み込み機器の量産時では、工場でデバッグ機能が無効な正規プログラムを量産端末に書き込む時に利用する。組み込み機器の開発時では、デバッグ用プログラムを開発者が開発端末に書き込み、動作解析する際に利用する。組み込み機器の運用時では、サポート要員が解析プログラムを故障端末に書き込んで、不良解析する際に利用する。【０００５】
従来技術では、デバッグ機構は、通常の量産機器では無効にしておく。そして、開発時のデバッグや、故障解析の際には、デバッグ・解析専用のプログラムをロードし、デバッグ機能を有効にした上で、内部動作解析や、内部プログラム・パラメータの変更を行う。【０００６】
また、Ｓｅｃｕｒｅ  Ｂｏｏｔ機構を利用することもできる。Ｓｅｃｕｒｅ  Ｂｏｏｔ機能は、ロードされるプログラムに署名を付与し、ロード時にＣＰＵ（中央演算処理装置）がｍａｓｋ内の公開鍵でその署名を検証し、署名検証の結果、その署名が正当ならば、プログラムを実行する。このＳｅｃｕｒｅ  Ｂｏｏｔ機能によって、不正改造されたプログラムの実行を防ぐことが出来る。また、この技術は、不正改造者の作成した解析プログラムの実行も抑止することもできる。【０００７】
しかしながら、Ｓｅｃｕｒｅ  Ｂｏｏｔ機構に対する脅威は、デバッグ・解析プログラムの漏洩である。組み込み機器、特に携帯電話やゲーム機器の不正改造は、開発元が作成したデバッグ・解析プログラムが流出し、これを不正改造者が入手することで行われる。【０００８】
デバッグ・解析プログラムとは、ＩＣＥ（Ｉｎ  Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒ）等を使って、組み込み機器内部の実行状態を簡単に確認できるプログラムである。また、デバッグ・解析プログラムを用いて、内部のプログラムを簡単に取得することができる。さらに、デバッグ・解析プログラムは、内部のプログラム及びパラメータを自由に書き換えることができる。このようなデバッグ・解析プログラムが攻撃者の手に渡ることで、攻撃者が悪用する。【０００９】
図１に示すように、不正改造者は、入手したデバッグ・解析プログラム（ＩＣＥ有効プログラム）を用いて、デバッグ機構を有効にし、組み込み機器の動作解析を行うことで、不正改造を実現する。しかしながら、開発元が作成したデバッグ・解析プログラムは、正規のプログラムであり、その実行をＳｅｃｕｒｅ  Ｂｏｏｔ機構で防ぐことは出来ない。【００１０】
また、デバッグ・解析プログラムを厳格に管理することは非常に難しく、流出防止は困難である。多くの場合、図１に示すように、開発元からではなく、開発元から供与された関連会社のプログラム管理の不徹底や、故障解析後の端末の放置または売却、故障の解析を行うサービスマンから流出することが多い。【００１１】
ところで、本願に関係する発明として特許文献１が存在する。特許文献１には、第３者の不正な逆解析を防止することができる電子装置が開示されている。この電子装置には、デバッグ機能の利用を許可するかどうかを判定する認証機能が設けられている。認証機能は、電子装置の内部回路の所定のアドレス範囲の指定を含むデバッグ要求に基づいて、コマンドデータを、電子装置に接続する外部装置に送信し、当該コマンドデータと、外部装置から受信する当該コマンドデータに対する応答データとに基づいた第１の認証を行い、さらに、応答データに続いて外部装置から受信するユーザコードに基づいた第２の認証を行い、第１の認証と第２の認証とに基づいて、デバッグ機能の利用を許可するものである。【００１２】
しかしながら、特許文献１では、認証処理プログラムがＲＯＭとしてターゲットに含まれているために、ＲＯＭを書き換えられた場合、デバッグ認証機構を回避される恐れがある。また、ＲＯＭを取り外し、読み出すことで、デバッグ認証機構そのものを解析される恐れがある。【００１３】
また、特許文献１では、デバッグプログラムはデバッグ機器により生成されるが、悪意ある攻撃者にデバッガ（もしくはデバッグ機器）自体が分析された場合、デバッガの悪用を防ぐことができない。また、デバッガ自体を偽造される恐れがある。
【特許文献１】特開２００３−１７７９３８号公報
【発明の開示】
【００１４】
本発明では、デバッグ・解析プログラム、デバッグ・解析機器、及びデバッグ対象機器の全てが正当な場合にのみデバッグ機能を有効にすることを目的とする。
本発明における、デバッグ・解析が行われる際に、デバッグ処理に関する認証を行うデバッグ対象機器は、デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名であるプログラム署名とを受信する受信手段と、前記デバッグ対象機器の固有情報である機器固有情報が格納されている機器固有情報格納手段と、前記プログラム署名の正当性を検証するための公開鍵であるブート検証鍵が格納されているブート検証鍵格納手段と、前記プログラム署名に基づいて、前記プログラムの正当性を検証するプログラム検証手段と、前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証するデバッグ対象機器検証手段と、前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証手段と、前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始するデバッグ開始手段と、を備える。
【００１５】
このように構成することにより、デバッグ・解析プログラム、デバッグ機器、及びデバッグ対象機器の正当性をそれぞれ検証し、全ての検証に成功した場合にのみ、デバッグ機能を有効にすることで、不正なデバッグを防止することができる。
【００１６】
前記デバッグ機器において、前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいることを特徴とする。
【００１７】
前記デバッグ機器において、前記プログラム検証手段は、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証することを特徴とする。
【００１８】
このように構成することにより、外部より提供されたデバッグ・解析プログラムの正当性を検証できる。
前記デバッグ機器において、前記デバッグ対象機器検証手段は、前記プログラムより第１の機器固有情報を取り出し、前記機器固有情報格納手段より第２の機器固有情報を取り出し、該第１及び第２の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証することを特徴とする。
【００１９】
このように構成することにより、デバッグ対象機器の正当性を検証できる。
前記デバッグ機器において、前記デバッグ機器検証手段は、前記デバッグ機器に認証子の発行を要求する認証子要求手段と、前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器の正当性を検証する認証子検証手段と、を備えることを特徴とする。
【００２０】
このように構成することにより、デバッグ機器の正当性を検証できる。
前記デバッグ機器において、前記デバッグ開始手段は、前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行することを特徴とする。
【００２１】
このように構成することにより、デバッグ・解析プログラム、デバッグ・解析機器、及びデバッグ対象機器の全てが正当な場合にのみデバッグ機能を有効にすることができる。
本発明にかかる、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムをコンピュータにより生成する方法は、コンピュータが、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信し、コンピュータが、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証し、コンピュータが、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成し、コンピュータが、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与することを特徴とする。
【００２２】
このように構成することにより、正規の操作者からのデバッグ・解析プログラムの申請の場合にのみ、デバッグ・解析プログラムを提供することができる。
本発明にかかる、デバッグ対象機器と、該デバッグ対象機器のデバッグ及び解析を行うデバッグ機器と、操作者がデバッグ・解析プログラムの取得申請を行うデバッグ申請装置と、前記デバッグ申請装置からの申請に基づいて、前記デバッグ・解析プログラムを提供するデバッグ・解析プログラム管理装置と、から構成されるデバッグ認証システムを用いて、該デバッグ対象機器のデバッグ・解析を行う前に前記デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ認証方法は、前記デバッグ・解析プログラム管理装置は、前記デバッグ申請装置からの前記取得申請に付与された前記操作者を認証する電子署名である操作者署名の正当性の検証結果に基づいて、前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とが付与された前記デバッグ・解析プログラムと、該デバッグ・解析プログラムに基づく電子署名であるプログラム署名とを提供し、前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラムと前記プログラム署名とを取得し、該プログラム署名の正当性を検証し、該検証結果に基づいて該デバッグ・解析プログラム内の前記機器固有情報を取得し、該機器固有情報を用いて当該デバッグ対象機器自身の正当性を検証し、該検証結果に基づいて、前記デバッグ・解析プログラムから前記デバッグ機器検証鍵を取得し、該デバッグ機器検証鍵を用いて前記デバッグ機器の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にすることを特徴とする。
【００２３】
このように構成することにより、正規の操作者からのデバッグ・解析プログラムの申請の場合にのみ、デバッグ・解析プログラムが提供され、かつ、デバッグ・解析プログラム、デバッグ・解析機器、及びデバッグ対象機器の全てが正当な場合にのみデバッグ機能を有効にすることができるので、不正なデバッグを防止することができる。
【００２４】
本発明にかかる、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムを生成する処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム生成プログラムは、前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信する処理と、前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証する処理と、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成する処理と、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する処理と、をコンピュータに実行させることを特徴とする。
【００２５】
このように構成することにより、正規の操作者からのデバッグ・解析プログラムの申請の場合にのみ、デバッグ・解析プログラムを生成することができる。
【図面の簡単な説明】
【００２６】
【図１】従来における不正なデバッグの実施例を示す。
【図２】本発明にかかるデバッグ認証システを構成するデバッグ対象機器及びデバッグ機器を示す。
【図３】本実施形態にかかるデバック認証システムの概要を示す。
【図４Ａ】本実施形態におけるデバッグ認証システムの認証機構の全体フローチャート（その１）を示す。
【図４Ｂ】本実施形態におけるデバッグ認証システムの認証機構の全体フローチャート（その２）を示す。
【図４Ｃ】本実施形態におけるデバッグ認証システムの認証機構の全体フローチャート（その３）を示す。
【図５】本実施形態におけるデバッグ解析プログラム管理装置の構成を示す。
【図６Ａ】本実施形態におけるデバッグ解析プログラム管理装置のフローチャート（その１）を示す。
【図６Ｂ】本実施形態におけるデバッグ解析プログラム管理装置のフローチャート（その２）を示す。
【図６Ｃ】本実施形態におけるデバッグ解析プログラム管理装置のフローチャート（その３）を示す。
【図７】本実施形態におけるデバッグ機器１８、デバッグ対象機器２０の構成図を示す。
【図８Ａ】本実施形態におけるデバッグ機器１８、デバッグ対象機器２０のフローチャート（その１）を示す。
【図８Ｂ】本実施形態におけるデバッグ機器１８、デバッグ対象機器２０のフローチャート（その２）を示す。
【図８Ｃ】本実施形態におけるデバッグ機器１８、デバッグ対象機器２０のフローチャート（その３）を示す。
【図９】本実施形態におけるデバッグ認証システムを携帯電話に適用した場合の実施例を示す。
【発明を実施するための最良の形態】
【００２７】
図２は、本発明にかかるデバッグ認証システを構成するデバッグ対象機器及びデバッグ機器を示す。デバッグ対象機器１は、デバッグ機器２から送信されたデバッグ・解析プログラムに基づいて、デバッグ・解析が行われる際に、デバッグ処理に関する認証を行う。【００２８】
デバッグ対象機器１は、受信手段１ａ、機器固有情報格納手段１ｄ、ブート検証鍵格納手段１ｈ、プログラム検証手段１ｂ、デバッグ対象機器検証手段１ｃ、デバッグ機器検証手段１ｅ、デバッグ開始手段１ｉから構成される。【００２９】
受信手段１ａは、デバッグ機器２から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名（プログラム署名）とを受信する。前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる。【００３０】
機器固有情報格納手段１ｄには、前記デバッグ対象機器の固有情報である機器固有情報が格納されている。ブート検証鍵格納手段１ｈには、前記プログラム署名の正当性を検証するための公開鍵（ブート検証鍵）が格納されている。【００３１】
プログラム検証手段１ｂは、前記プログラム署名に基づいて、前記プログラムの正当性を検証する。より具体的には、プログラム検証手段１ｂは、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証する。【００３２】
デバッグ対象機器検証手段１ｃは、前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証する。【００３３】
より具体的には、デバッグ対象機器検証手段１ｃは、前記プログラムより第１の機器固有情報を取り出し、前記機器固有情報格納手段より第２の機器固有情報を取り出し、該第１及び第２の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証する。【００３４】
デバッグ機器検証手段１ｅは、前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証する。【００３５】
デバッグ機器検証手段１ｅは、認証子要求手段１ｆ、認証子検証手段１ｇから構成される。認証子要求手段１ｆは、前記デバッグ機器２に認証子の発行を要求する。認証子検証手段１ｇは、前記デバッグ機器検証鍵を用いて、前記認証子の発行要求に応じて前記デバッグ機器より作成されて送信された前記認証子を検証することにより、該デバッグ機器２の正当性を検証する。【００３６】
デバッグ開始手段１ｉは、前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始する。より具体的には、デバッグ開始手段１ｉは、前記デバッグ機器２の正当性の検証結果に基づいて、前記デバッグ機器２のデバッグ機構と当該デバッグ対象機器１との間の通信を可能にして、前記プログラムによるデバッグ・解析処理を実行する。【００３７】
一方、デバッグ機器２は、デバッグ対象機器１に対してデバッグ・解析を行う。デバッグ機器２は、プログラム送信手段２ａ、デバッグ機器識別情報格納手段２ｂ、デバッグ機器認証鍵格納手段２ｃ、認証子要求取得手段２ｄ、認証子生成手段２ｅ、認証子送信手段２ｆから構成される。【００３８】
プログラム送信手段２ａは、外部装置より提供された前記デバッグ・解析プログラムと前記プログラム署名とを前記デバッグ対象機器へ送信する。
デバッグ機器識別情報格納手段２ｂには、前記デバッグ機器を識別するデバッグ機器識別情報が格納されている。デバッグ機器認証鍵格納手段２ｃには、前記デバッグ機器を認証するための前記秘密鍵であるデバッグ機器認証鍵が格納されている。【００３９】
認証子要求取得手段２ｄは、前記デバッグ対象機器から前記認証子発行要求を取得する。認証子生成手段２ｅは、前記認証子発行要求と、前記デバッグ機器識別情報と、前記秘密鍵とに基づいて、前記認証子を生成する。認証子送信手段２ｆは、前記認証子を送信する。【００４０】
ここで、デバッグ・解析プログラムについて説明する。このデバッグ・解析プログラムは、デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムである。【００４１】
このデバッグ・解析プログラムは、デバッグ対象機器と接続されているデバッグ機器と接続されているデバッグ申請装置を用いて、操作者がデバッグ・解析プログラム管理装置にデバッグ・解析プログラムの発行申請を行うと、デバッグ・解析プログラム管理装置より提供される。【００４２】
デバッグ・解析プログラム管理装置は、まず、前記発行申請情報に付与された前記操作者を認証する電子署名（操作者署名）の正当性を検証する。それから、前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵（デバッグ機器検証鍵）とを付与して、前記デバッグ・解析プログラム起動前認証プログラムを生成する。それから、前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名（プログラム署名）を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する。デバッグ・解析プログラム管理装置は、こうして得られたデバッグ・解析プログラム起動前認証プログラムを提供する。【００４３】
それでは、以下に本発明の実施の形態について詳述する。
図３は、本実施形態にかかるデバック認証システムの概要を示す。本実施形態では、デバッグ・解析プログラムに、デバッグ対象機器の機器固有ＩＤ（例えば携帯電話のＩＭＥＩ（International Mobile Equipment Identity serial number）など）とデバッグ機能接続認証用の公開鍵とを含め、さらにそのデバッグ・解析プログラムにデジタル署名を付与する。そして、デバッグ・解析プログラムは、デバッグ対象機器内での起動時にプログラム内の機器固有ＩＤと実行された機器固有ＩＤとを比較し、デバッグ機能接続が提示した認証子を公開鍵で検証する。【００４４】
同図において、デバッグ認証システムは、主として、デバッグ・解析プログラム管理装置１１、デバッグ申請装置１６、デバッグ機器１８、デバッグ対象機器２０から構成される。【００４５】
デバッグ・解析プログラム管理装置１１は、デバック・解析プログラムの管理をするサーバ装置である。デバッグ・解析プログラム管理装置１１は、操作者検証鍵テーブル１２ａが格納された操作者検証鍵テーブル格納部１２、デバッグ機器検証鍵テーブル１３ａが格納されたデバッグ機器検証鍵テーブル格納部１３、デバッグ・解析プログラムのテンプレート１４ａが格納されたデバッグ・解析プログラムテンプレート格納部１４、ブート署名鍵ＢＫsが格納されたブート署名鍵格納部１５を備える。【００４６】
操作者検証鍵テーブル１２ａは、「操作者ＩＤ」と、その操作者ＩＤに対応する「操作者検証鍵ＯＫp」とが格納されたテーブルである。デバッグ機器検証鍵テーブル１３ａは、「デバッグ機器ＩＤ」と、そのデバッグ機器ＩＤに対応する「デバッグ機器検証鍵ＤＫp」とが格納されたテーブルである。【００４７】
デバッグ申請装置（デバッグ申請・作成・送受信装置）１６は、デバッグ対象機器２０に接続されたデバッグ機器と接続されて、デバッグ申請データを作成してデバッグ・解析プログラム管理装置１１へ送信したり、デバッグ・解析プログラム管理装置１１から提供されたデバッグ・解析プログラムを受信したりする。デバッグ申請装置１６は、例えば、パーソナルコンピュータであってもよい。【００４８】
デバッグ申請装置１６は、「操作者ＩＤ」及び「操作者認証鍵ＯＫs」が格納された操作者認証鍵格納部１７を備える。「操作者ＩＤ」は、デバッグ申請装置１６を操作する操作者を識別するためのＩＤである。操作者認証鍵ＯＫsは、操作者の正当性を証明するための秘密鍵である。【００４９】
デバッグ機器（デバッグ・解析機器）１８は、デバッグ対象機器のデバッグを行う。デバッグ機器１８は、「デバッグ機器ＩＤD」及び「デバッグ機器認証鍵ＤＫs」が格納された格納部１９を備える。デバッグ機器ＩＤDは、デバッグ機器を識別するためのＩＤである。デバッグ機器認証鍵は、デバッグ機器の正当性を証明するための秘密鍵である。【００５０】
デバッグ対象機器２０は、故障等などによりデバッグが必要となった組み込み機器である。デバッグ対象機器２０は、「ブート検証鍵ＢＫp」及び「機器固有ＩＤT」が格納された格納手段２１、メモリ２２、ＣＰＵ（中央演算装置）２３を備える。「機器固有ＩＤT」は、デバッグ対象機器２０固有のＩＤである。【００５１】
ここで、「操作者認証鍵ＯＫs」、「操作者検証鍵ＯＫp」はそれぞれ、ペアの秘密鍵、公開鍵である。「デバッグ機器認証鍵ＤＫs」、「デバッグ機器検証鍵ＤＫp」はそれぞれ、ペアの秘密鍵、公開鍵である。「ブート署名鍵ＢＫs」、「ブート検証鍵ＢＫp」はそれぞれ、ペアの秘密鍵、公開鍵である。【００５２】
図４Ａ，図４Ｂ，図４Ｃは、本実施形態におけるデバッグ認証システムの認証機構の全体フローチャートである。図３を参照しながら、図４Ａ−図４Ｃについて説明する。
まず、デバッグ機器１８は、デバッグ対象機器２０から機器固有ＩＤTを採取する（i）。それから、デバッグ機器１８は、機器固有ＩＤTとデバッグ機器ＩＤDとを、デバッグ申請装置１６に渡す（ii）（ステップ１。以下、ステップを「Ｓ」と称する）。【００５３】
デバッグ申請装置１６は、機器固有ＩＤTとデバッグ機器ＩＤDを含むデバッグ申請データＤＡを作成する。それから、デバッグ申請装置１６は、操作者認証鍵ＯＫsを使って、操作者を認証するためのデジタル署名情報（操作者署名ＯＳ）を作成する（Ｓ２）。【００５４】
デバッグ申請装置１６は、デバッグ申請データＤＡと、操作者署名ＯＳ（操作者ＩＤが付与されている）を、デバッグ・解析プログラム管理装置１１に送信する（iii）（Ｓ３）。【００５５】
デバッグ・解析プログラム管理装置１１は、デバッグ申請データＤＡと、操作者署名ＯＳ（操作者ＩＤが付与されている）を受信する。それから、デバッグ・解析プログラム管理装置１１は、操作者ＩＤをキーにして操作者検証鍵テーブル１２ａを検索し、その操作者ＩＤに対応する操作者検証鍵ＯＫpを取得する。デバッグ・解析プログラム管理装置１１は、その操作者検証鍵ＯＫpを使って、操作者署名ＯＳの正当性を検証する（Ｓ４）。【００５６】
Ｓ４の検証の結果、その操作者署名ＯＳが不当である場合（Ｓ５で「不当」へ進む）、本フローは終了する。Ｓ４の検証の結果、その操作者署名ＯＳが正当である場合（Ｓ５で「正当」へ進む」）、デバッグ・解析プログラム管理装置１１は、デバッグ申請データＤＡにデバッグ機器検証鍵ＤＫpを付与する（デバッグ機器認証情報ＤＥ）（Ｓ６）。【００５７】
デバッグ・解析プログラム管理装置１１は、デバッグ・解析プログラムテンプレート格納部１４のデバッグ・解析プログラムテンプレート１４ａ（デバッグ・解析プログラムＰ）を取り出し、デバッグ・解析プログラムＰにデバッグ機器認証情報ＤＥを埋め込む（デバッグ機器認証情報ＤＥを埋め込んだデバッグ・解析プログラムをＰDEで表す）。【００５８】
それから、デバッグ・解析プログラム管理装置１１は、ブート署名鍵格納部１５からブート署名鍵ＢＫsを取得する。デバッグ・解析プログラム管理装置１１は、ブート署名鍵ＢＫsを用いてデバッグ・解析プログラムＰDEからプログラム署名ＰＳを作成し、そのデバッグ・解析プログラムＰDEにプログラム署名ＰＳを付与する（Ｓ７）。【００５９】
デバッグ・解析プログラム管理装置１１は、プログラム署名ＰＳが付与されたデバッグ・解析プログラムＰDEをデバッグ申請装置１６へ送付する（iv）。デバッグ申請装置１６は、プログラム署名ＰＳが付与されたデバッグ・解析プログラムＰDEを受け取り、デバッグ機器１８に渡す（v）（Ｓ８）。【００６０】
デバッグ機器１８は、デバッグ対象機器２０に、プログラム署名ＰＳが付与されたデバッグ・解析プログラムＰDEを渡す（vi）（Ｓ９）。デバッグ対象機器２０は、格納部２１に格納されたブート検証鍵ＢＫpを使って、プログラム署名ＰＳを検証する（Ｓ１０）。【００６１】
Ｓ１０の検証の結果、そのプログラム署名ＰＳが不当である場合（Ｓ１１で「不当」へ進む）、本フローは終了する。Ｓ１０の検証の結果、そのプログラム署名ＰＳが正当である場合（Ｓ１１で「正当」へ進む」）、デバッグ対象機器２０は、デバッグ・解析プログラムＰDEからデバッグ機器認証情報ＤＥを取り出す（Ｓ１２）。【００６２】
デバッグ対象機器２０は、デバッグ機器認証情報ＤＥ内の機器固有ＩＤTと、デバッグ対象機器２０内の機器固有ＩＤTが一致するかを検証する（Ｓ１３）。
Ｓ１３の検証の結果、その機器固有ＩＤTが不一致の場合（Ｓ１４で「不一致」へ進む）、本フローは終了する。Ｓ１３の検証の結果、その機器固有ＩＤTが一致する場合（Ｓ１４で「一致」へ進む」）、デバッグ機器１８は、格納装置１９に格納されているデバッグ機器認証鍵ＤＫsを使ってデバッグ機器認証子ＡＣを作成し、デバッグ対象機器２０に送付する（vii）（Ｓ１５）。【００６３】
デバッグ対象機器２０は、デバッグ機器認証情報を使って、デバッグ機器認証子ＡＣを検証する（Ｓ１６）。Ｓ１６の検証の結果、そのデバッグ機器認証子ＡＣが不当である場合（Ｓ１７で「不当」へ進む）、本フローは終了する。Ｓ１６の検証の結果、そのデバッグ機器認証子ＡＣが正当である場合（Ｓ１７で「正当」へ進む」）、デバッグ対象機器２０は、デバッグ機能を有効にする（Ｓ１８）。【００６４】
図５は、本実施形態におけるデバッグ解析プログラム管理装置の構成を示す。図６Ａ，図６Ｂ，図６Ｃは、本実施形態におけるデバッグ解析プログラム管理装置のフローチャートを示す。図５を参照しながら、図６Ａ−図６Ｃについて説明する。【００６５】
デバッグ申請受付部４１は、デバッグ申請装置１６から送信されたデバッグ申請データＤＡと操作者署名ＯＳを受信する（Ｓ２１）。デバッグ申請受付部４１は、操作者署名ＯＳ（操作者ＩＤを含む）を、操作者認証部４２に渡す（Ｓ２２）。【００６６】
操作者認証部４２は、操作者署名ＯＳから操作者ＩＤを取得し、その操作者ＩＤに対応する操作者検証鍵ＯＫpを操作者認証鍵テーブル１２から取り出す。それから、操作者認証部４２は、操作者検証鍵ＯＫpを用いて、操作者署名ＯＳの検証を行う（Ｓ２３）。【００６７】
Ｓ２３の検証の結果、その操作者署名ＯＳが不当である場合（Ｓ２４で「不当」へ進む）、本フローは終了する。Ｓ２３の検証の結果、その操作者署名ＯＳが正当である場合（Ｓ２４で「正当」へ進む」）、デバッグ申請受付部４１は、デバッグ申請データＤＡを、ブート情報作成部４３に送る（Ｓ２５）。【００６８】
ブート情報作成部４３は、デバッグ申請データＤＡからデバッグ機器ＩＤDと機器固有ＩＤTを取り出す（Ｓ２６）。ブート情報作成部４３は、デバッグ機器ＩＤDをキーとしてデバッグ機器検証鍵テーブル１３を検索し、そのデバッグ機器ＩＤDに対応するデバッグ機器検証鍵ＤＫpを得る（Ｓ２７）。【００６９】
それから、ブート情報生成部４３は、デバッグ機器検証鍵ＤＫpと機器固有ＩＤTとを含む、デバッグ機器認証情報ＤＥを作成し、デバッグ・解析プログラム生成部４４に渡す（Ｓ２８）。【００７０】
デバッグ・解析プログラム生成部４４は、デバッグ・解析プログラムテンプレート格納部１４に格納されているデバッグ・解析プログラムテンプレート１４ａからテンプレートプログラム（デバッグ・解析プログラムＰ）を取り出す（Ｓ２９）。【００７１】
デバッグ・解析プログラム生成部４４は、デバッグ・解析プログラムＰに、デバッグ機器認証情報ＤＥを埋め込み、デバッグ・解析プログラムＰDEを作成する（Ｓ３０）。デバッグ・解析プログラム生成部４４は、デバッグ・解析プログラムＰDEを、デバッグ・解析プログラム署名作成部４５に渡す（Ｓ３１）。【００７２】
デバッグ・解析プログラム署名作成部４５は、ブート署名鍵格納部１５からブート署名鍵ＢＫsを取り出し、ブート署名鍵ＢＫsを用いてデバッグ・解析プログラムＰDEからプログラム署名ＰＳを作成し、プログラム署名ＰＳをデバッグ・解析プログラム生成部４４に渡す（Ｓ３２）。【００７３】
デバッグ・解析プログラム生成部４４は、デバッグ・解析プログラム送信部４６にデバック解析・プログラムＰDEとプログラム署名ＰＳを渡す（Ｓ３３）。デバッグ・解析プログラム送信部４６は、デバッグ申請装置１６に、デバック・解析プログラムＰDEとプログラム署名ＰＳを送る（Ｓ３４）。【００７４】
図７は、本実施形態におけるデバッグ機器１８、デバッグ対象機器２０の構成図を示す。図８Ａ，図８Ｂ，図８Ｃは、本実施形態におけるデバッグ機器１８、デバッグ対象機器２０のフローチャートを示す。図７を参照しながら、図８Ａ−図８Ｃについて説明する。【００７５】
デバッグ機器１８は、デバッグ申請装置１６からデバック・解析プログラムＰDEとプログラム署名ＰＳを受信する。そうすると、デバッグ機器１８は、デバッグ対象機器２０に対して、デバッグ・解析プログラムＰDEとプログラム署名ＰＳを送る（Ｓ４１）。【００７６】
デバッグ対象機器２０は、初期化処理を行う。このとき、バススイッチ（Ｓ／Ｗ）６５をＯＦＦにする（Ｓ４２）。デバッグ対象機器２０のＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）６１は、デバッグ・解析プログラムＰDEとプログラム署名ＰＳを受信し、メモリ２２上に展開し、ブート検証部６２を起動させる（Ｓ４３）。【００７７】
ブート検証部６２は、ブート検証鍵ＢＫp、デバッグ・解析プログラムＰDE、プログラム署名ＰＳを署名検証機構６３に渡す（Ｓ４４）。署名検証機構６３は、ブート検証鍵ＢＫpを用いてプログラム署名ＰＳを検証する（Ｓ４５）。【００７８】
Ｓ４５の検証の結果、そのプログラム署名ＰＳが不当である場合（Ｓ４６で「不当」へ進む）、本フローは終了する。Ｓ４５の検証の結果、そのプログラム署名ＰＳが正当である場合（Ｓ４６で「正当」へ進む」）、ブート検証部６２は、メモリ２２上のデバッグ・解析プログラムＰDEから、デバッグ機器認証情報ＤＥを取り出し、さらにその中の機器固有ＩＤを取り出す（Ｓ４７）。【００７９】
ブート検証部６２は、デバッグ対象機器２０内に格納された機器固有ＩＤTを取り出す（Ｓ４８）。Ｓ４７で取得した機器固有ＩＤとＳ４８で取得した機器固有ＩＤとが一致するかが判断される（Ｓ４９）。【００８０】
Ｓ４９において、機器固有ＩＤが不一致の場合、本フローは終了する。Ｓ４９において、機器固有ＩＤが一致する場合、ブート検証部６２は、メモリ２２上のデバッグ・解析プログラムＰDE内にある認証子検証部６４を起動する（Ｓ５０）。【００８１】
認証子検証部６４は、デバッグ・解析機器１８に対して、認証子の発行を要求する（認証子要求ＡＲを送信する）（Ｓ５１）。デバッグ・解析機器１８内の認証子生成部５１は、認証子要求ＡＲを受信する（Ｓ５２）。【００８２】
認証子生成部５１は、認証子要求ＡＲ、デバッグ機器認証鍵ＤＫs、デバック機器ＩＤDを使って、認証子ＡＣを生成する（Ｓ５３）。認証子生成部５１は、生成した認証子ＡＣをデバッグ対象機器２０に送信する（Ｓ５４）。【００８３】
デバッグ対象機器２０の認証子検証部６４は、認証子生成部５１から送信された認証子ＡＣを受信する（Ｓ５５）。認証子検証部６４は、メモリ２２上にあるデバッグ機器認証情報ＤＥ内のデバッグ機器検証鍵ＤＫpを取り出す（Ｓ５６）。【００８４】
認証子検証部６４は、デバッグ機器検証鍵ＤＫpと認証子ＡＣを署名検証機構６３に渡す（Ｓ５７）。署名検証機構６７は、デバッグ機器検証鍵ＤＫpを用いて認証子ＡＣを検証する（Ｓ５８）。【００８５】
Ｓ５８の検証の結果、その認証子ＡＣが不当である場合（Ｓ５９で「不当」へ進む）、本フローは終了する。Ｓ５８の検証の結果、その認証子ＡＣが正当である場合（Ｓ５９で「正当」へ進む」）、認証子検証部６４は、バスＳ／Ｗ６５をＯＮにする（Ｓ６０）。【００８６】
すると、デバッグ対象機器２０は、デバッグ機能を有効にする（Ｓ６１）。すなわち、デバッグポート５３，５６を介して、デバッグ・解析機器１８のデバッグ機構５２と、デバッグ対象機器２０のＣＰＵ２０及びメモリ２２とが接続される。以降、デバッグ・解析機器１８よりデバッグ機構５２に指令を出すことで、デバッグ対象機器２０のデバッグ・解析を行う。【００８７】
図９は、本実施形態におけるデバッグ認証システムを携帯電話に適用した場合の実施例を示す。保守作業者は、デバッグ対象機器である携帯電話７６にデバッグ機器７４を接続し、さらに、デバッグ機器７４とデバッグ申請装置７３とを接続する。それらか、上述した操作を行って、デバッグ申請装置７３から開発元７１（デバッグ・解析プログラム解析装置）に、携帯電話のＩＭＥＩと、保守作業者の認証鍵による操作者署名を送信する。【００８８】
そうすると、開発元７１では、携帯電話のＩＭＥＩ及びデバッグ機器認証用の公開鍵が埋め込まれたデバッグ・解析プログラムにデジタル署名を付与し、デバッグ申請装置７３に提供する。その提供されたデバッグ・解析プログラムは、デバッグ申請装置７３、デバッグ機器７４を介して、携帯電話７５に送られる。【００８９】
そして、携帯電話７５内において、デバッグ・解析プログラムは、起動時に、デバッグ・解析プログラム内のＩＭＥＩと実行された携帯電話内のＩＭＥＩとを比較する。ＩＭＥＩが一致した場合、携帯電話７５は、デバッグ機器が提示した認証子をデバッグ・解析プログラム内の公開鍵で検証する。その検証の結果、デバッグ機器７３の正当性が検証されれば、携帯電話７５はデバッグ機能を有効し、デバッグ機器７３より携帯電話７５のデバッグ・解析を行う。【００９０】
もし、デバッグ機器７７、デバッグ・解析プログラム、または携帯電話７８が不正改造者に渡ったとしても、デバッグ機器７７、デバッグ・解析プログラム、及び携帯電話７８の全てについて正当性が証明されなければ、デバッグ機構は有効とならない。【００９１】
本実施形態によれば、特定の端末と、特定のデバッグ機器と、特定のプログラムの組み合わせの場合にのみ、デバッグ・解析をすることができる。よって、例えばデバッグ・解析プログラムが流出しても、他のデバック対象機器や他のデバッグ機器においてそのデバッグ・解析プログラムを実行することができない。また、デバッグ・解析プログラムがどの経路（要員）から流出したか特定することもできる。【００９２】
なお、本実施形態では、デバッグ機器１８内の認証子生成部５１により認証子をデバッグ対象機器へ入力していたが、これに限定されず、以下のようにして、デバッグ機器認証鍵の与え方を与えてもよい。例えば、作業員の認証鍵からワンタイムのデバッグ機器認証鍵を生成してもよい。ＩＣＥにデバッグ機器認証鍵を持たせていてもよい。また、デバッグ対象機器のキーボードから認証子を入力するようにしてもよい。【００９３】
また、開発元より暗号化されたデバッグ・解析プログラムが提供されるようにしていてもよい。また、デバッグ・解析プログラムに有効期限を設けておき、有効期限外では当該プログラムが実行できないようにしていてもよい。また、トレースアビリティの向上のために、デバッグ対象機器とデバッグ機器との接続履歴をデバッグ機器内に記録するようにしてもよい。また、デバッグ対象機器とデバッグ機器とを接続する度にデバッグ・解析プログラム管理装置に問い合わせて、デバッグ・解析プログラムの有効性を判断するようにしてもよい。【００９４】
上述のしたように、従来、デバッグ・解析プログラムに署名だけが付与されていたが、この手法によっては不正改造を完全に防止することはできなかった。しかしながら、本発明のデバッグ認証システムによれば、機器固有ＩＤ及びデバッグ機器検証鍵ＤＫpが埋め込まれたデバッグ・解析プログラムを用いることにより、デバッグ機器及びデバッグ対象機器の正当性の判断を行うことができる。これによって、デバッグ・解析プログラム、デバッグ対象機器、及びデバッグ機器のうち、いずれかが流出して不正改造者の手に渡ったとしても、不正な解析を防ぐことができる。【００９５】
また、開発元が、デバッグ機器認証情報（「デバッグ・解析プログラムの正当性を証明する」、「ブート署名鍵を用いてデバッグ・解析プログラムから生成したデジタル署名」、「このプログラムが動作可能なデバッグ対象機器の機器固有ＩＤ」、及び「デバッグ機器検証鍵」を含む情報）を発行しない限り、デバッグ・解析プログラムの実行は不可能である。これによって、開発元が、デバッグ・解析プログラムの管理を容易に実現することができる。【００９６】
さらに、従来、デバッグ機器内にデバッグ機能の保護を行うためのプログラムを保持していたが、本発明では、デバッグ・解析プログラムがデバッグ機構への接続制御を行い、またその接続制御に必要な情報を保持するようにしている。このため、通常の量産品の動作には必要のないが、デバッグ機構の保護のためには必要となるプログラムを、予め組み込み機器内に用意する必要がない。これによって、コストの大幅な削減を図ることができる。【００９７】
また、本発明では、外部から入力されたデバッグ・解析プログラムをＩＰＬがＲＡＭもしくはＦｌａｓｈ  ＲＯＭ上に書き込むことができる。したがって、ＲＯＭには自由なプログラムを書き込むことができる。これによって、利用者によるファームアップデートが可能である。また、一般機器では、ＩＣＥを無効にしたプログラムのみを書き込み、販売することで、認証機構そのものを隠すことができる。また、必要に応じて、ＩＣＥが有効なプログラムを書き込むことが可能である。【００９８】
また、本発明では、外部から与えるデバッグプログラム及びそのデバッグ機器認証情報は、デバッグ機器が生成するのではなく、その外側（開発元）が生成する。よって、万が一、デバッグ機器が解析され偽造されたとしても、デバッグ対象機器に接続することができない。すなわち、デバッグ機器、デバッグ対象機器、デバッグ・解析プログラムの全てが流出しない限り、デバッグ機器とデバッグ対象機器とを接続してデバッグ機構を有効にすることは不可能である。【００９９】
以上より、本発明によれば、デバッグ・解析プログラム、デバッグ機器、及びデバッグ対象機器の正当性をそれぞれ検証し、全ての検証に成功した場合にのみ、デバッグ機能を有効にすることで、不正なデバッグを防止することができる。
【図１】
2008117340.tif 000003
【図２】
2008117340.tif 000004
【図３】
2008117340.tif 000005
【図４Ａ】
2008117340.tif 000006
【図４Ｂ】
2008117340.tif 000007
【図４Ｃ】
2008117340.tif 000008
【図５】
2008117340.tif 000009
【図６Ａ】
2008117340.tif 000010
【図６Ｂ】
2008117340.tif 000011
【図６Ｃ】
2008117340.tif 000012
【図７】
2008117340.tif 000013
【図８Ａ】
2008117340.tif 000014
【図８Ｂ】
2008117340.tif 000015
【図８Ｃ】
2008117340.tif 000016
【図９】
2008117340.tif 000017
【手続補正書】
【提出日】平成21年4月15日(2009.4.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デバッグ・解析が行われる際に、デバッグ処理に関する認証を行うデバッグ対象機器において、
デバッグ機器から、デバッグ・解析プログラムと、該プログラムの正当性を証明するための電子署名であるプログラム署名とを受信する受信手段と、
前記デバッグ対象機器の固有情報である機器固有情報が格納されている機器固有情報格納手段と、
前記プログラム署名の正当性を検証するための公開鍵であるブート検証鍵が格納されているブート検証鍵格納手段と、
前記プログラム署名に基づいて、前記プログラムの正当性を検証するプログラム検証手段と、
前記プログラムの正当性の検証結果に基づいて、該プログラムより所定の機器固有情報を取り出し、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性を検証するデバッグ対象機器検証手段と、
前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証手段と、
前記デバッグ機器の正当性の検証結果に基づいて、前記プログラムによるデバッグ・解析処理が開始するデバッグ開始手段と、
を備えることを特徴とするデバッグ対象機器。
【請求項２】
前記デバッグ・解析プログラムは、前記デバッグ対象機器の機器固有情報と、前記デバッグ機器に格納されている秘密鍵に対応する公開鍵であるデバッグ機器検証鍵とを含んでいる
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項３】
前記プログラム検証手段は、前記ブート検証鍵を用いて前記プログラム署名を検証することにより、前記プログラムの正当性を検証する
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項４】
前記デバッグ対象機器検証手段は、前記プログラムより第１の機器固有情報を取り出し、前記機器固有情報格納手段より第２の機器固有情報を取り出し、該第１及び第２の機器固有情報が一致するかを検証することにより、当該デバッグ対象機器の正当性を検証する
ことを特徴とする請求項１に記載のデバッグ対象機器。
【請求項５】
請求項１に記載のデバッグ対象機器に対してデバッグ・解析を行うデバッグ機器であって、
外部装置より提供された前記デバッグ・解析プログラムと前記プログラム署名とを前記デバッグ対象機器へ送信するプログラム送信手段と、
前記デバッグ機器を識別するデバッグ機器識別情報が格納されているデバッグ機器識別情報格納手段と、
前記デバッグ機器を認証するための前記秘密鍵であるデバッグ機器認証鍵が格納されているデバッグ機器認証鍵格納手段と、
前記デバッグ対象機器から前記認証子発行要求を取得する認証子要求取得手段と、
前記認証子発行要求と、前記デバッグ機器識別情報と、前記秘密鍵とに基づいて、前記認証子を生成する認証子生成手段と、
前記認証子を送信する認証子送信手段と、
を備えることを特徴とするデバッグ機器。
【請求項６】
デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行う処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラムであって、前記デバッグ機器から送信されたデバッグ・解析プログラムと該プログラムの正当性を証明するための電子署名であるプログラム署名とが受信され、該プログラム署名に基づいて、該プログラムの正当性が検証され、該検証結果に基づいて、該プログラムから所定の機器固有情報が取り出され、該機器固有情報に基づいて、当該デバッグ対象機器自身の正当性が検証された後に実行される該デバッグ・解析プログラム起動前認証プログラムであって、
前記デバッグ対象機器の正当性の検証結果に基づいて、前記デバッグ機器に認証子の発行を要求し、該デバッグ機器より送信された認証子に基づいて、該デバッグ機器の正当性を検証するデバッグ機器検証処理と、
前記デバッグ機器の正当性の検証結果に基づいて、前記デバッグ機器のデバッグ機構と当該デバッグ対象機器との間の通信を可能にするデバッグ通信接続処理と、
をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム。
【請求項７】
デバッグ対象機器と、該デバッグ対象機器のデバッグ及び解析を行うデバッグ機器と、操作者がデバッグ・解析プログラムの取得申請を行うデバッグ申請装置と、前記デバッグ申請装置からの申請に基づいて、前記デバッグ・解析プログラムを提供するデバッグ・解析プログラム管理装置と、から構成されるデバッグ認証システムを用いて、該デバッグ対象機器のデバッグ・解析を行う前に前記デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ認証方法であって、
前記デバッグ・解析プログラム管理装置は、前記デバッグ申請装置からの前記取得申請に付与された前記操作者を認証する電子署名である操作者署名の正当性の検証結果に基づいて、前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とが付与された前記デバッグ・解析プログラムと、該デバッグ・解析プログラムに基づく電子署名であるプログラム署名とを提供し、
前記デバッグ対象機器は、前記デバッグ申請装置及び前記デバッグ機器を介して、前記デバッグ・解析プログラムと前記プログラム署名とを取得し、該プログラム署名の正当性を検証し、該検証結果に基づいて該デバッグ・解析プログラム内の前記機器固有情報を取得し、該機器固有情報を用いて当該デバッグ対象機器自身の正当性を検証し、該検証結果に基づいて、前記デバッグ・解析プログラムから前記デバッグ機器検証鍵を取得し、該デバッグ機器検証鍵を用いて前記デバッグ機器の正当性を検証し、該検証結果に基づいて前記デバッグ機器によるデバッグ・解析処理を有効にする
ことを特徴とするデバッグ認証方法。
【請求項８】
デバッグ対象機器内でデバッグ・解析プログラムが起動する際に、該デバッグ・解析プログラムを実行させてもよいかの認証を行うデバッグ・解析プログラム起動前認証プログラムを生成する処理をコンピュータに実行させるデバッグ・解析プログラム起動前認証プログラム生成プログラムであって、
前記デバッグ対象機器のデバッグ・解析を行うデバッグ機器と接続されて操作者が前記デバッグ・解析プログラムの発行申請を行うデバッグ申請装置から該発行申請情報を受信する処理と、
前記発行申請情報に付与された前記操作者を認証する電子署名である操作者署名の正当性を検証する処理と、
前記検証結果に基づいて、前記デバッグ・解析プログラムに前記デバッグ対象機器の機器固有情報と前記デバッグ機器の正当性を検証するための公開鍵であるデバッグ機器検証鍵とを付与することにより、前記デバッグ・解析プログラム起動前認証プログラムを生成する処理と、
前記デバッグ・解析プログラム起動前認証プログラムに基づく電子署名であるプログラム署名を生成し、該デバッグ・解析プログラム起動前認証プログラムに該プログラム署名を付与する処理と、
をコンピュータに実行させることを特徴とするデバッグ・解析プログラム起動前認証プログラム生成プログラム。
【国際調査報告】
2008117340.tif 000018
2008117340.tif 000019
2008117340.tif 000020
2008117340.tif 000021