(57)【特許請求の範囲】
【請求項１】
生産機械を含む生産施設において、セキュアな製品識別子で生産工程における製品の生産をセキュアに制御するプロセスの初期化方法であって、
制御モジュールによって、電子データストアから生産工程のための構成データを電子的に受け取るステップと、
前記制御モジュールによって、製品の生産において使用するパラメータを指定する、前記生産工程のための前記構成データを電子的に記憶するステップであり、前記指定されたパラメータは、開始値と終了値を持つ製品識別子の範囲、生産機械、生産ライン、工場、生産する製品、及び生産量を含むグループ内の１又は２以上のパラメータから選択される、ステップと、
前記制御モジュールによって、前記生産工程のための前記構成データを認可モジュールに送信するステップと、
を含み、
前記認可モジュールにおいて、
前記認可モジュールによって、前記構成データにおける前記指定されたパラメータに従って前記生産工程が認可されているか否かを判定するステップと、
前記生産工程において構成データを受信し、前記構成データに従って前記生産工程において製品を生産するステップと、
を含み、
前記認可モジュールにおいて、前記生産工程が認可されている場合、セキュリティトークンを生成して該トークンを前記構成データに関連付け、暗号鍵を含む認証済み構成データと、複数の認可済み製品識別子の表現と、前記セキュリティトークンとを生成するステップと、
前記認可モジュールによって、前記認証済み構成データを署名モジュールに送信するステップと、
前記署名モジュールにおいて、前記構成データを含むデジタル署名を生成して該デジタル署名を前記構成データに関連付けることによって、前記認証済み構成データにデジタル署名するステップと、
を含むことを特徴とし、
前記方法はさらに、
前記署名モジュールによって、前記デジタル署名された認証済み構成データと前記デジタル署名とを前記生産機械に送信するステップと、
前記生産機械において、前記デジタル署名された認証済み構成データに関連する前記デジタル署名を検証するステップと、
前記生産機械によって、前記デジタル署名された認証済み構成データに基づいて、一連のセキュアな製品識別子を算出するステップと、
を含み、
前記方法はさらに、
前記生産工程において製品を生産するステップは、前記製品は、前記生産工程において、前記デジタル署名された認証済み構成データに従って生産され、
プリンタモジュールによって、前記デジタル署名された認証済み構成データに従って、前記製品上に一連のセキュアな製品識別子を印刷するステップを含む方法。
【請求項２】
前記生産施設における前記生産機械によって生産される製品をセキュアに識別するコードを生成するステップをさらに含み、該ステップは、
識別モジュールにおいて、製品識別子を求める要求を受け取り、該要求に応答して製品識別子を生成するステップと、
前記製品識別子を前記識別モジュールから署名モジュールに送信するステップと、
前記署名モジュールにおいて、前記製品識別子にデジタル署名するステップと、
前記デジタル署名された製品識別子を前記プリンタモジュールに送信するステップと、
を含み、
前記デジタル署名された製品識別子は、製品をセキュアに識別するためのコードとして使用される、
請求項１に記載の方法。
【請求項３】
前記要求は、識別子の範囲を求めるものである、
請求項２に記載の方法。
【請求項４】
前記構成データは、前記生産施設における前記生産機械によって生産すべき製品の範囲を表す、
請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記構成データは、認可される製品の範囲、機械、工場、範囲又は製品量を表す、
請求項１から４のいずれか１項に記載の方法。
【請求項６】
前記生産工程のための前記構成データが認可されているかどうかを、ライセンスマネージャを参照することによって判定するステップをさらに含む、
請求項１から５のいずれか１項の方法。
【請求項７】
製品の範囲のためのセキュリティトークンを生成するステップと、
前記セキュリティトークンを前記製品の範囲に関連付けるステップと、
をさらに含む請求項１から６のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に製品にセキュアな識別コードをマーク付けしてこれらのコードを検証する技術に関し、具体的には、セキュアな生産構成命令の配布を管理してセキュアな製品識別子を生成するシステム及び方法に関する。
【背景技術】
【０００２】
通常、既存の製品識別方法は、梱包時に製品に一意の識別子を付与するものである。これらのシステムは、複数の生産施設を有する組織、又は非常に高速での梱包が可能な生産ラインでは効率良く適応しない。また、既存の識別子の方法は、識別子がセキュアな生産構成命令に関連付けられておらず、監督官庁及び業者の助けになる追加の製品情報を有していないので、十分にセキュアではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
製造品目の生産をセキュアに制御して認可するとともに、製造品目に、特に製造品目の税務検証、生産量の検証及び認証に使用できるセキュアな製品識別子をマーク付けする改善された方法及び装置に対するニーズが存在する。
【課題を解決するための手段】
【０００４】
本開示の１つの態様では、製品の生産を認証する方法であって、製品の生産において使用するパラメータを指定する、生産工程のための構成データを電子的に記憶するステップと、生産工程のための構成データが認可されているかどうかを判定するステップと、生産工程が認可されている場合、セキュリティトークンを生成して構成データに関連付けるステップと、デジタル署名を生成して構成データに関連付けることによって構成データにデジタル署名するステップと、生産機械において、デジタル署名された構成データとデジタル署名とを受け取るステップと、生産機械において、デジタル署名された構成データに関連するデジタル署名を検証するステップと、デジタル署名された構成データに基づいて、一連のセキュアな製品識別子を算出するステップと、生産工程において、デジタル署名された構成データに従って製品を生産するステップと、デジタル署名された構成データに従って、製品上に一連のセキュアな製品識別子を印刷するステップと、を含む方法を提供する。
【０００５】
以下の実施形態の説明では、特許請求の範囲の主題の特定の実施形態を例示として示す、本明細書の一部を成す添付図面を参照する。他の実施形態を使用することも、構造変更などの変更又は修正を行うこともできると理解されたい。このような実施形態、変更又は修正は、意図する特許請求の範囲の主題に関する範囲から必ずしも逸脱するものではない。以下ではステップを特定の順序で示すこともあるが、場合によっては、説明するシステム及び方法の機能を変更することなく異なる時点又は異なる順序で特定の入力が行われるように、これらの順序を変更することもできる。後述する、コードの初期化手続き、生成手続き及び認証手続きなどにおける様々な計算は、開示する順序で実行する必要はなく、別の計算順を使用する他の実施形態を容易に実装することもできる。これらの計算は、順序変更に加えて、同じ結果の下位計算に分解することもできる。
【０００６】
本明細書で使用するエンティティとは、ｉ）製品の消費者などの人物、ｉｉ）小売業者などの共通の利害を有する団体などの団体、ｉｉｉ）コンピュータ装置、ｉｖ）ネットワークシステム内の計算ノード、ｖ）文書を記憶するメモリ記憶ユニットなどの記憶位置、及び、ｖｉ）企業内の業務などを表すネットワーク内の仮想点などを意味することができる。また、エンティティは、該当するワークフローの側面を担当する個人、又は自動処理を提供するコンピュータ装置が実行できる、認可などのためのワークフロー内の点を表すこともできる。エンティティという用語は、これらの例のいずれか１つに限定されるものではなく、本明細書で説明する概念に一致する他の状況にまで及ぶこともできる。
【０００７】
以下、添付図面を参照しながら本発明の実施形態をほんの一例として説明する。
【図面の簡単な説明】
【０００８】
【図１】例示的なコード初期化方法を示す図である。
【図２】例示的なコード生成方法を示す図である。
【図３】例示的なコード認可方法を示す図である。
【発明を実施するための形態】
【０００９】
システムモジュール
以下、様々なモジュールについて説明する。これらのモジュールは、いずれかを物理的に同じ場所に配置することも、或いは互いに離して配置することもできる。また、本発明の範囲から逸脱することなく、これらのモジュールのいずれかを論理的又は物理的に組み合わせて単一のモジュールにすることもできる。
【００１０】
制御モジュール
図１を参照すると、（「オーケストレータ」としても知られている）制御モジュール（１１０）は、他のモジュール又は外部ソースのいずれかから入力を受け取り、事前構成プログラム及び／又はシステムへのオペレータ入力に基づいて、システム内の他のモジュールに命令を与えることができる。制御モジュールは、システム状況のダッシュボード概要を生成することもできる。
【００１１】
制御モジュールへの入力は、一部又は全部の構成データ（１０５）を含むことができる。供給される構成データは、以下に限定されるわけではないが、生産機械、生産ライン、工場、生産する製品及び生産量を含むパラメータの一部又は全部を示すことができる。構成データは、どの品目（例えば、製品）にセキュアな識別子をマーク付けすべきか、及びこれらの品目をどのように生産できるかを示すこともできる。構成データは、開始製品識別子及び終了製品識別子などの製品の範囲を示すこともできる。いくつかの実施形態では、この範囲を一連の製品識別子とすることができる。構成データは、システムのオペレータが提供することも、或いは動的又は自動的に生成することもできる。構成データは、さらなる実行可能命令又は解釈可能なアルゴリズムを含むこともできる。構成データは、オペレータ入力に基づくことも、或いは製造実行システム、又は何をどのように生産すべきかを命令する他の集中型システムの出力に基づくこともできる。
【００１２】
制御モジュール（１１０）は、以下に限定されるわけではないが、認可モジュール（１３０）、識別モジュール（１４０）及び署名モジュール（１４５）を含むいずれかのモジュールに構成データを送信することができる。
【００１３】
制御モジュールは、生産作業を実行する認可を認可モジュールに要求することができる。このプロセスは、認可モジュールに（構成データの一部又は全部を含む）要求を送信し、署名又は暗号化された構成データを受け取るステップを含む。いくつかの実施形態では、認可モジュールが、デジタル署名が付与された構成データを制御モジュールに戻すことができる。認可モジュールは、受け取ったデータに基づいて、制御モジュールからの要求を認可すべきかどうかを決定する。また、認可モジュールによって戻された構成データに含まれている情報を使用して、与えられた認可によってコードの生成範囲を制限することもできる。このデータには、認可モジュールによる署名が行われているので、システムが構成データを修正するのを防ぐことができる。非限定的な例として、別のブランドの代わりに１つのブランドを生産し続ける要求の修正を制御し、許可し、又は拒否することができる。
【００１４】
認可モジュールから受け取った認可は、後でこれらの認可に照らして検証要求を処理できるように検証モジュールに送信することもできる。検証モジュールに送信されるデータは、いずれかの構成データに加えてセキュアな識別子を含むことができる。いくつかの例では、認可モジュールに送られる構成データが、製品範囲情報を含むことができる。
【００１５】
署名又は検証された構成データは、認可モジュールによって検証され認証された、生産中に効力を維持する制御モジュールの一連の入力パラメータの一部又は全部とすることができる。認可モジュールからの出力及び／又は制御モジュールの入力パラメータは、セキュリティトークンとすることができる。このセキュリティトークンは、製品識別子が認証済みの構成データに、従って認可された生産に対応する旨の証明とすることができる。セキュリティトークンは、単一の製品識別子のための署名、又は単一の製品識別子、又は製品識別子自体、或いは製品の範囲又は製品識別子の署名を生成するための、署名モジュールへの入力とすることができる。セキュリティトークンは、一意のコード、ランダムコード又は擬似ランダムコードとすることができる。セキュリティトークンは、あらゆる数字、アルファベット文字、又は数字とアルファベット文字との組み合わせとすることができる。
【００１６】
認可モジュール
認可モジュールは、識別システム内で行動をとる認可を求める要求を認証するように動作する。いくつかの実施形態では、認可モジュールがライセンスマネージャとして動作することができる。
【００１７】
認可モジュールは、構成データを受け取ることができる。認可モジュールは、範囲情報及び／又はアルゴリズム情報を受け取ることもできる。いくつかの実施形態では、認可モジュールが、制御モジュールから入力された構成データを受け取ることができる。出力範囲は、認可された製品の範囲、機械、工場、範囲又は製品量を任意に識別することができる。出力は、範囲情報を含むことも、及び／又はセキュリティトークンを生成するために使用される一連の実行可能命令又は解釈可能命令を含むアルゴリズムを含むこともできる。認可モジュールは、工場レベルで集中化することも、又は各生産ライン上に分散化することも、或いはこれら両方の組み合わせとすることもできる。
【００１８】
認可モジュールは、１又は２以上の暗号化鍵を記憶及び／又は生成することができる。いくつかの実施形態では、認可モジュールが記憶する鍵を、公開鍵基盤（ＰＫＩ）に従う秘密・公開暗号化鍵とすることができる。いくつかの実施形態では、認可モジュールが、秘密鍵のコピーのみを記憶する。他の実施形態では、認可モジュールが、互いに鍵を複製する複数のインスタンスにわたって分散する。ＰＫＩの場合、認可モジュールは、署名された構成データを出力することができる。いくつかの実施形態では、認可モジュールが、構成データを暗号化し、及び／又は構成データ出力に署名することができる。
【００１９】
いくつかの実施形態では、システムが、セキュリティトークンの生成に必要な制御モジュールのセキュアな入力パラメータを認可モジュールのみが読み込むことができるように構成される。いくつかの実施形態では、鍵が別のソースから認可モジュールに提供される。
【００２０】
認可モジュールは、ハードウェアセキュリティモジュール（ＨＳＭ）として具体化することも、或いは厳密な認証、及び暗号処理の提供のためにデジタル鍵を保護して管理する別のタイプの物理的コンピュータ装置として具体化することもできる。認可モジュールの機能は、暗号化鍵又はＰＫＩ秘密鍵を含む埋め込み基板を有するコンピュータによって実行することができる。このモジュールは、データにアクセスしようとしても読み取り又はアクセスができないような特徴を備えることができる。
【００２１】
認可モジュールへの入力が範囲及びアルゴリズムである場合、認可モジュールは、認可範囲内のアイデンティティと、識別子のセキュリティトークンとを出力することができる。例えば、出力されるアイデンティティは、０〜１，０００の範囲と、この範囲内の各品目のためのセキュリティトークンとすることができる。
【００２２】
認可モジュールは、制御モジュール内で使用されるあらゆるパラメータから鍵を生成することができる。いくつかの実施形態では、認可モジュールが、制御モジュール内で使用されるいずれかのパラメータからの既存の鍵から鍵を生成又は導出し、特定の認可モジュールのみがこの鍵を使用することができる。この公開鍵技術を実装する設備及びソフトウェアは、非対称暗号システムにおいて具体化することができる。
【００２３】
認可モジュールの出力は、署名モジュールによってデジタル署名を提供された構成データ、及び任意に１又は２以上のセキュリティトークンなどの情報とすることができる。或いは、認可モジュールの出力は、認可モジュールが保持する鍵に暗号化された構成データとすることもできる。認可モジュールの出力は、制御モジュールに提供することができる。
【００２４】
１つの実施形態によれば、製品の生産を認証する方法が、製品の生産において使用するパラメータを指定する、生産工程のための構成データを電子的に記憶するステップと、生産工程のための構成データが認可されているかどうかを判定するステップと、生産工程が認可されている場合、セキュリティトークンを生成して構成データに関連付けるステップと、デジタル署名を生成して構成データに関連付けることによって構成データにデジタル署名するステップと、生産機械において、デジタル署名された構成データとデジタル署名とを受け取るステップと、生産機械において、デジタル署名された構成データに関連するデジタル署名を検証するステップと、デジタル署名された構成データに基づいて、一連のセキュアな製品識別子を算出するステップと、生産工程において、デジタル署名された構成データに従って製品を生産するステップと、デジタル署名された構成データに従って、製品上に一連のセキュアな製品識別子を印刷するステップとを含む。
【００２５】
さらなる実施形態では、構成データが、生産すべき製品の範囲を表す。さらなる実施形態では、構成データが、認可される製品の範囲、機械、工場、範囲又は製品量を表す。さらなる実施形態は、製品識別子を含む検証要求を受け取るステップと、ライセンスマネージャを参照することによって生産工程のための構成データが認可されているかどうかを判断するステップとを含む。さらなる実施形態は、製品範囲のためのセキュリティトークンを生成するステップと、セキュリティトークンを製品範囲に関連付けるステップとを含む。
【００２６】
署名モジュール
署名モジュールは、構成データ、認可鍵、セキュリティトークン、又はこれらのいずれかの組み合わせと、識別モジュールによって生成された一意の製品識別子とを受け取ることができる。いくつかの実施形態では、署名モジュールが、１又は２以上の機械及び／又は製品の固有の特徴、及び／又は製品品目の特徴をさらに受け取ることができる。署名モジュールは、本明細書では一般に構成データと呼ぶ入力の一部又は全部に基づいてデジタル署名を作成することができる。
【００２７】
いくつかの実施形態では、署名モジュールが、デジタル署名を生成するために、最初に構成データの要約又はその他の表現を生成することができる。いくつかの実施形態では、この要約を、デジタル署名アルゴリズムを実行する署名モジュールによって提供されるデジタル署名アルゴリズムに従って構成データの暗号ハッシュ値を算出することによって生成することができる。非限定的な例として、このハッシュは、ＭＤ５関数、ＳＨＡ−１関数、ＳＨＡ−２関数、ＳＨＡ−３／Ｋｅｃｃａｋ関数に従って算出することができる。次に、署名モジュールが取得した秘密鍵を用いてこの要約を暗号化してデジタル署名を生成することができる。
【００２８】
いくつかの実施形態では、デジタル署名が、公開鍵基盤（ＰＫＩ）技術を使用して構成データの真正性を確立することができる。ＰＫＩシステムは、証明書及び鍵を使用してエンティティ、個人又は組織を識別する。認可モジュールは、秘密鍵を用いて構成データに署名し、この構成データを、認可モジュールが使用する公開鍵を含む証明書に関連付ける。
【００２９】
受信者モジュールが公開鍵を用いてデジタル署名を検証し、これによって署名入り構成データの真正性を検証する。支援技術を用いて、署名の時間及び署名鍵の状態などの他の否認防止の特徴を確立することもできる。公開鍵は、受信者エンティティに直接提供することも、或いは公開によってオンラインリポジトリ又はディレクトリ内に提供することもできる。
【００３０】
識別モジュール
識別モジュールは、構成データを受け取って、マーク付けすべき品目のための識別子を生成することができる。識別モジュールは、署名モジュールによって生成されたデジタル署名を受け取り、これを一意の識別子と組み合わせて一意の複合識別子を生成することができる。
【００３１】
これらの識別子は、マーク付けすべき製品の生産日及び／又は生産時間と、署名モジュールから受け取ったデジタル署名とを含み、又はこれらに基づくことができる。いくつかの実施形態では、生成されるセキュアな識別子を、一意又は実質的に一意とすることができる。いくつかの実施形態では、セキュアな識別子をセキュリティトークンとすることができる。
【００３２】
範囲の場合、識別モジュールは、範囲識別子と、生成された範囲内の一連の識別子とを生成することができる。
【００３３】
作成された識別子は、製品上に直接印刷できるように印刷制御モジュールに出力することも、又は製品パッケージ上に印刷される別のコードを生成するさらなる処理に入力することもできる。
【００３４】
検証モジュール
図３を参照すると、検証モジュール（１５０）は、検証済みの構成データを受け取り、この認証済みの構成データに基づいて、報告された工場、機械、製品又は生産量の認可（３０５）を求める要求を認証することができる。検証モジュールへの入力は、検証済みの構成データ、署名モジュールからの出力、識別子、セキュリティトークン及び／又は範囲情報のうちの一部又は全部を含むことができる。検証モジュールは、製品識別子を検証／認証するために、これらのパラメータを含む情報を認可モジュールのために生成することができる。
【００３５】
検証モジュールは、１又は２以上の識別子又は識別子範囲（３１５）と、１又は２以上のセキュリティトークンを含む署名データ（３１０）とを含む、要求の解読（３２０）を生成することができる。
【００３６】
セキュリティトークンが検証モジュールに入力された場合、検証モジュールは、認可、構成データ及び／又は範囲に関する情報を戻すことができる。様々な製品に単一のセキュリティトークンが使用されている場合には、このセキュリティトークンを検証モジュールに提供して、個々の製品ではなくこれらの様々な製品に関連するパラメータを検証することができる。この実施形態は、輸出規制の状況において特に有用となり得る。
【００３７】
システムプロセス
識別コードの初期化
認可及びパラメータを認証するために、識別コードの初期化を実行することができる。いくつかの実施形態では、性能上の理由によって、生産の開始時に１度この初期化を実行することができる。図１を参照すると、制御モジュール（１１０）は、追加パラメータを求めてデータストア（１１５）にアクセスすることができ、又はモジュールに追加パラメータを提供することができる。パラメータ及び構成データは、認可モジュールによって署名されると認証済み構成データ（１３５）を形成する。制御モジュールは、その認可モジュール（１３０）への要求に応答して、上述したような検証済み構成データを受け取る。
【００３８】
認可は、製品を生産する認可、製品に特定のＩＤをマーク付けする認可、又は両方の認可とすることができる。構成データ及び追加パラメータは認可モジュールに送信され、認可モジュールがセキュリティトークンを生成するために使用する。認可モジュールは、構成データ及び追加パラメータに署名して、署名入り構成データを形成することができる。上述したように、構成データは、特定の生産工程又は他の製品及び活動を指定することができる。認可モジュールは、鍵と、認可された識別子と、セキュリティトークンとを含む認可ブロックを生成することができる。いくつかの実施形態では、認可モジュールが鍵を生成することができ、又は認可モジュールに鍵を提供することもできる。認可モジュールは、認可ブロックを制御モジュールに送信することができる。制御モジュールは、認証済みの構成データと、識別子のリスト、識別子の範囲、及び／又は１又は２以上のセキュリティトークンなどの他の情報とを署名モジュール（１４５）に送信することができる。署名モジュールは、データに署名して署名入りデータと署名とを制御モジュールに送ることができる。その後、識別モジュール（１４０）は、製品の識別子及び／又は識別子の範囲を含む初期化ブロックを制御モジュールから受け取ることができる。
【００３９】
本発明の１つの実施形態は、生産施設をセキュアに制御するプロセスの初期化方法であって、電子データストアから構成データを電子的に受け取るステップと、製品の生産において使用するパラメータを指定する、生産工程のための構成データを電子的に記憶するステップと、構成データを認可モジュールに送信するステップと、認可モジュールにおいて、生産工程が認可されているか否かを判定するステップと、鍵を含む認証済み構成データと、複数の認可済み製品識別子の表現と、セキュリティトークンとを生成するステップと、認証済み構成データを署名モジュールに送信するステップと、署名モジュールにおいて、認証済み構成データに署名するステップと、を含む方法を含む。
【００４０】
さらなる実施形態は、生産工程のための構成データが認可されているかどうかを判定するステップと、生産工程が認可されている場合、セキュリティトークンを生成して構成データに関連付けるステップと、デジタル署名を生成して構成データに関連付けることによって構成データにデジタル署名するステップと、を含むことができる。
【００４１】
さらなる実施形態は、生産機械において、デジタル署名された構成データとデジタル署名とを受け取るステップと、生産機械において、デジタル署名された構成データに関連するデジタル署名を検証するステップと、デジタル署名された構成データに基づいて、一連のセキュアな製品識別子を算出するステップと、を含むことができる。
【００４２】
さらなる実施形態は、生産工程において、デジタル署名された構成データに従って製品を生産するステップと、デジタル署名された構成データに従って、製品上に一連のセキュアな製品識別子を印刷するステップと、を含むことができる。
【００４３】
さらなる実施形態では、生産工程が認可されているかどうかを判定するステップが、ライセンスサーバからライセンスデータを取り出すステップをさらに含むことができる。
【００４４】
識別コードの生成
図２を参照すると、コード生成プロセスは、生産プロセス中にコードを生成する。識別コード生成プロセスは、識別モジュール（１４０）に識別子又は識別子の範囲を要求し、これらが制御モジュール（１１０）に戻されることによって開始することができる。次に、これらの識別子が署名モジュール（１４５）に送られ、署名モジュール（１４５）が識別子に署名して署名入りの識別子を制御モジュールに戻す。署名モジュールは、セキュリティトークンを受け取ることができる。いくつかの実施形態では、署名モジュールを外部命令によって制御する必要がなく、いずれかの識別コードをカウントすべき場合には、コードを単一のセキュリティトークンに関連付けることができる。署名モジュールは、認可モジュールによって制御することができる。次に、制御モジュールは、プリンタモジュール（２１０）内の印刷制御部に出力データを送ることができる。印刷制御部に送られる出力データは、送信前に暗号化することができる。構成データは、その後の検証要求の処理のために検証モジュール（１５０）に送信することができる。
【００４５】
本発明の１つの実施形態は、生産施設において生産される製品をセキュアに識別するコードの生成方法であって、電子データストアから構成データを電子的に受け取るステップと、製品の生産において使用するパラメータを指定する、生産工程のための構成データを電子的に記憶するステップと、構成データを認可モジュールに送信するステップと、認可モジュールにおいて、生産工程が認可されているか否かを判定するステップと、鍵を含む認証済み構成データと、複数の認可済み製品識別子の表現と、セキュリティトークンとを生成するステップと、認証済み構成データを署名モジュールに送信するステップと、署名モジュールにおいて、認証済み構成データに署名するステップと、識別モジュールにおいて、製品識別子を求める要求を受け取り、この要求に応答して製品識別子を生成するステップと、製品識別子を識別モジュールから署名モジュールに送信するステップと、署名モジュールにおいて、製品識別子にデジタル署名するステップと、デジタル署名された製品識別子をプリンタモジュールに送信するステップと、を含む方法を含む。
【００４６】
さらなる実施形態は、電子データストアから構成データを電子的に受け取るステップと、製品の生産において使用するパラメータを指定する、生産工程のための構成データを電子的に記憶するステップと、構成データを認可モジュールに送信するステップと、認可モジュールにおいて、生産工程が認可されているか否かを判定するステップと、鍵を含む認証済み構成データと、複数の認可済み製品識別子の表現と、セキュリティトークンとを生成するステップと、認証済み構成データを署名モジュールに送信するステップと、署名モジュールにおいて、認証済み構成データに署名するステップと、を含むことができる。
【００４７】
さらなる実施形態では、要求が、識別子の範囲を求めるものである。さらなる実施形態は、生産工程のための構成データが認可されているかどうかを判定するステップと、生産工程が認可されている場合、セキュリティトークンを生成して構成データに関連付けるステップと、デジタル署名を生成して構成データに関連付けることによって構成データにデジタル署名するステップと、を含むことができる。
【００４８】
識別コードの検証
検証モジュールは、検証要求を受け取ることができる。この要求は、１又は２以上の識別コードを含むことができる。検証モジュールは、受け取った識別子コードを暗号解読し、又は別様に難読化を解除することができる。結果として得られる暗号解読された情報は、署名成分と識別子とを含むことができる。その後、結果として得られた識別子を、この識別子に関連して以前に記憶されていた元々の構成データに関連付けることができる。この関連付けられたデータは、一定範囲内の他の識別子、セキュリティトークン、及びこの識別コードを有する製品の生産に関連して記憶されている他の情報を含むことができる。
【００４９】
いくつかの実施形態は、検証モジュールに提供された識別子を、コードの検証を要求する団体に基づいて処理する追加機能を含むことができる。異なる団体に、検証モジュールにアクセスする異なる手段を提供することができる。例えば、小売業者又はその他の形態の商人に、消費者とは異なるポータル又は通信チャネルを提供することができる。小売業者が、検証モジュールに対して小売業者自体を認証することを必要とすることもできる。
【００５０】
いくつかの実施形態では、システムを、消費者による検証の結果、識別子が検証済みとしてマーク付けされるように構成することができる。システムは、消費者によって検証が要求されたコードを記憶するようにさらに構成することができる。これらの既に検証済みのコードの検証を求めるあらゆる後続の要求を拒否し、又は別様に処理することができる。
【００５１】
エクスポート機能
本発明の実施形態は、第三者にコードをエクスポートする状況において適用することができる。これらの実施形態は、この目的で別個のコードを生成するように構成されたエクスポート機能を含むことができる。エクスポートされるコードは、１又は２以上の製品識別子及び／又はセキュリティトークンを収集してこれらの識別子及び／又はトークンに署名することによって生成することができる。これらの識別子及び／又はトークンは、生産プロセスのいずれかの時点で収集することができる。このエクスポートされるコードの形の署名入り識別子及び／又はトークンを、これらを記憶してこれらの識別子及び／又はトークンの妥当性検証を行うことができる第三者に提供することができる。
【００５２】
システムアーキテクチャ
本明細書で説明したシステム及び方法は、ソフトウェア、ハードウェア、又はこれらのいずれかの組み合わせで実装することができる。本明細書で説明したシステム及び方法は、互いに物理的又は論理的に分離されたもの、又はそうでないものとすることができる１又は２以上のコンピュータ装置を用いて実装することができる。また、本明細書で説明した方法の様々な態様は、他の機能に組み合わせ又は統合することもできる。いくつかの実施形態では、図示のシステム要素を単一のハードウェア装置に組み合わせることも、又は複数のハードウェア装置に分離することもできる。複数のハードウェア装置を使用する場合、これらのハードウェア装置は、互いに物理的に近くに配置することも、又は遠くに配置することもできる。
【００５３】
方法は、コンピュータ又はいずれかの命令実行システムが使用する、又はこれらに関連するプログラムコードを提供する、コンピュータ使用可能記憶媒体又はコンピュータ可読記憶媒体からアクセス可能なコンピュータプログラム製品に実装することができる。コンピュータ使用可能記憶媒体又はコンピュータ可読記憶媒体は、コンピュータ、或いは命令実行システム、装置又は装置が使用する、又はこれらに関連するプログラムを含み又は記憶できるあらゆる装置とすることができる。
【００５４】
対応するプログラムコードの記憶及び／又は実行に適したデータ処理システムは、メモリ要素などのコンピュータ化されたデータ記憶装置に直接的又は間接的に結合された少なくとも１つのプロセッサを含むことができる。システムには、（限定するわけではないが、キーボード、ディスプレイ、ポインティング装置などを含む）入力／出力（Ｉ／Ｏ）装置を結合することもできる。システムには、介在する私的又は公的ネットワークを介してデータ処理システムを他のデータ処理システム、リモートプリンタ又は記憶装置に結合できるようにするネットワークアダプタを結合することもできる。ユーザとの相互作用をもたらすために、コンピュータには、ＣＲＴ（ブラウン管）、ＬＣＤ（液晶ディスプレイ）、又はユーザに情報を表示する別のタイプのモニタなどのディスプレイ装置と、ユーザがコンピュータに入力を提供できるようにするキーボード、及びマウス又はトラックボールなどの入力装置とを含む機能を実装することもできる。
【００５５】
コンピュータプログラムは、コンピュータ内で直接的又は間接的に使用できる一連の命令とすることができる。本明細書で説明したシステム及び方法は、コンパイル型又はインタープリタ型言語を含む、Ｆｌａｓｈ（商標）、ＪＡＶＡ（商標）、Ｃ＋＋、Ｃ、Ｃ＃、Ｖｉｓｕａｌ  Ｂａｓｉｃ（商標）、ＪａｖａＳｃｒｉｐｔ（商標）、ＰＨＰ、ＸＭＬ、ＨＴＭＬなどのプログラミング言語、又はプログラミング言語の組み合わせを用いて実装することができ、スタンドアロンプログラム、或いはモジュール、コンポーネント、サブルーチン、又はコンピュータ環境内での使用に適した他のユニットとしてのものを含むあらゆる形で展開することができる。ソフトウェアは、限定するわけではないが、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むことができる。プログラミングモジュール間のインターフェイスの実装には、ＳＯＡＰ／ＨＴＴＰなどのプロトコルを使用することができる。本明細書で説明したコンポーネント及び機能は、以下に限定されるわけではないが、異なるバージョンのＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（商標）、Ａｐｐｌｅ（商標）Ｍａｃ（商標）、ｉＯＳ（商標）、Ｕｎｉｘ（商標）／Ｘ−Ｗｉｎｄｏｗｓ（商標）、Ｌｉｎｕｘ（商標）を含む、ソフトウェア開発に適したいずれかのプログラミング言語を用いて仮想環境又は非仮想環境で実行されるあらゆるデスクトップオペレーティングシステム上に実装することができる。
【００５６】
命令プログラムの実行に適したプロセッサは、以下に限定されるわけではないが、汎用及び専用マイクロプロセッサ、及びいずれかのタイプのコンピュータの単一のプロセッサ、或いは複数のプロセッサ又はコアのうちの１つを含む。プロセッサは、リードオンリメモリ、ランダムアクセスメモリ、これらの両方、又は本明細書で説明したデータ記憶装置のいずれかの組み合わせなどのコンピュータ化されたデータ記憶装置から命令及びデータを受け取って記憶することができる。プロセッサは、電子装置の動作及び実行を制御するあらゆる処理回路又は制御回路を含むことができる。
【００５７】
プロセッサは、データを記憶する１又は２以上のデータ記憶装置を含み、或いはこれらと通信するように動作可能に結合することもできる。このようなデータ記憶装置は、非限定的な例として、（内蔵ハードディスク及び取り外し可能ディスクを含む）磁気ディスク、光磁気ディスク、光ディスク、リードオンリメモリ、ランダムアクセスメモリ、及び／又はフラッシュストレージを含むことができる。コンピュータプログラム命令及びデータを有形的に具体化するのに適した記憶装置は、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリデバイスなどの半導体メモリデバイス、内蔵ハードディスク及び取り外し可能ディスクなどの磁気ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭディスク及びＤＶＤ−ＲＯＭディスクを含む全ての形態の不揮発性メモリを含むこともできる。プロセッサ及びメモリは、ＡＳＩＣ（特定用途向け集積回路）によって補完し、又はＡＳＩＣに組み込むことができる。
【００５８】
本明細書で説明したシステム、モジュール及び方法は、ソフトウェア要素又はハードウェア要素のあらゆる組み合わせを用いて実装することができる。本明細書で説明したシステム、モジュール及び方法は、単独で又は互いに組み合わせて動作する１又は２以上の仮想マシンを用いて実装することもできる。あらゆる適用可能な仮想化ソリューションを使用して、物理的コンピュータマシンプラットフォームを、ハードウェアコンピュータプラットフォーム又はホスト上で動作する仮想ソフトウェアの制御下で実行される仮想マシンにカプセル化することができる。仮想マシンは、仮想システムハードウェア及びゲストオペレーティングシステムソフトウェアの両方を有することができる。
【００５９】
本明細書で説明したシステム及び方法は、データサーバなどのバックエンドコンポーネント、アプリケーションサーバ又はインターネットサーバなどのミドルウェアコンポーネント、グラフィカルユーザインターフェイス又はインターネットブラウザを有するクライアントコンピュータなどのフロントエンドコンポーネント、或いはこれらのいずれかの組み合わせを含むコンピュータシステムに実装することができる。システムのコンポーネントは、通信ネットワークなどのあらゆる形のデジタルデータ通信又はこれらの媒体によって接続することができる。通信ネットワークの例は、例えば、ＬＡＮ、ＷＡＮ、並びにインターネットを形成するコンピュータ及びネットワークを含む。
【００６０】
本発明の１又は２以上の実施形態は、ハンドヘルド装置、マイクロプロセッサシステム、マイクロプロセッサベースの又はプログラム可能な消費者電子機器、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成を用いて実施することができる。本発明は、ネットワークを介してリンクされた遠隔処理装置によってタスクが行われる分散コンピュータ環境で実施することもできる。
【００６１】
本発明の１又は２以上の実施形態を説明したが、これらの様々な修正物、追加物、置換物及び同等物も本発明の範囲に含まれる。
【符号の説明】
【００６２】
１０５  構成データ
１１５  データストア
１１０  制御モジュール
１３０  認可モジュール
１３５  認証済み構成データ
１４５  署名モジュール
１４０  識別モジュール
【図１】
0006789225.tif 000002
【図２】
0006789225.tif 000003
【図３】
0006789225.tif 000004