偽造された物品の流通経路への混入を抑止するための方法であって、符号の階層を再帰的に生成するステップであって、各符号が、物品の階層の中の異なる物品と関連付けられ、符号の前記階層の中のより下層の符号とより上層の符号のいずれかに基づく、ステップと、符号の前記階層の中の各符号を暗号によって結びつけて、対応する偽造防止タグを得るステップと、符号の前記階層からの異なる符号と、対応する偽造防止タグとを、符号の前記階層および物品の前記階層における対応する位置に従って、物品の前記階層の中の各物品に対して付加するステップとを含む、方法。符号の前記階層の中の各符号を暗号によって結びつけるステップが、各符号を秘密鍵によって署名して前記偽造防止タグを得るステップを含み、前記秘密鍵が、前記偽造防止タグの検証に使われる対応する公開鍵を有する、請求項1に記載の方法。物品の前記階層の中の複数の物品に対する前記偽造防止タグを生成するために、同じ秘密鍵が使われる、請求項2に記載の方法。物品の前記階層の中の前記物品に対する前記偽造防止タグを生成するために、少なくとも2つの異なる秘密鍵が使われる、請求項2に記載の方法。符号の前記階層の中の前記より下層の符号が、符号の前記階層のすぐ下のレベルの符号であり、符号の前記階層の中の前記より上層の符号が、符号の前記階層のすぐ上のレベルの符号である、請求項1に記載の方法。符号の前記階層の中の前記より下層の符号が、符号の前記階層の少なくとも2つ下のレベルの符号であり、符号の前記階層の中の前記より上層の符号が、符号の前記階層の少なくとも2つ上のレベルの符号である、請求項1に記載の方法。物品の前記階層の特定のレベルにある物品を、物品の前記階層のより上層のレベルとより下層のレベルとのいずれかにある物品内に格納するステップをさらに含む、請求項1に記載の方法。物品の前記階層の特定のレベルにある物品を、物品の前記階層のより上層のレベルとより下層のレベルとのいずれかにある物品内に格納するステップが、第1の物理的な物品を第1の容器に格納するステップと、複数の第1の容器をより大きな第2の容器に格納するステップとを含む、請求項7に記載の方法。物品の前記階層の特定のレベルにある物品を、物品の前記階層のより上層のレベルとより下層のレベルとのいずれかにある物品内に格納するステップが、物品の前記階層の第1のレベルにある1つまたは複数の第1の物品を、物品の前記階層の中の第2の物品に格納するステップと、物品の前記階層の第2のレベルにある1つまたは複数の第2の物品を、物品の前記階層の中の第3の物品に格納するステップと、物品の前記階層の第3のレベルにある1つまたは複数の第3の物品を、物品の前記階層の中の第4の物品に格納するステップとを含む、請求項1に記載の方法。物品の前記階層の中の前記物品を、流通経路に沿ってユニットとして流通させるステップをさらに含む、請求項1に記載の方法。物品の前記階層の中の前記物品が、物理的な製品である、請求項1に記載の方法。物品の前記階層の中の前記物品が、薬品および薬品のパッケージであり、前記薬品が、丸薬、錠剤、またはカプセルのうちの少なくとも1つを含む、請求項1に記載の方法。符号の前記階層が、第1の関係者と関連付けられる符号の第1の階層と、第2の関係者と関連付けられる符号の第2の階層とを含み、符号の前記第2の階層の中の少なくとも1つの符号が、符号の前記第1の階層の中の少なくとも1つの符号に基づく、請求項1に記載の方法。符号の前記第1の階層の中の符号と関連付けられる前記偽造防止タグが、第1の公開鍵を使って検証可能であり、符号の前記第2の階層の中の符号が、第2の公開鍵を使って検証可能である、請求項13に記載の方法。前記流通経路の間に、符号の前記階層に対して追加の符号を生成するステップであって、各々の追加の符号が、物品の前記階層の中の異なる追加の物品と関連付けられ、符号の前記階層の中のより下層の符号とより上層の符号のいずれかに基づく、ステップをさらに含む、請求項1に記載の方法。前記流通経路の間に、符号の前記階層に対して1つまたは複数の新たな符号を生成することによって、符号の前記階層の中の符号を置き換えるステップをさらに含む、請求項1に記載の方法。前記階層の中での対応する位置に従って、異なる符号を各物品に付加するステップが、符号の前記階層の第1のレベルにある第1の符号を、物品の前記階層の第1のレベルにある第1の物品と照合するステップと、符号の前記階層の第2のレベルにある第2の符号を、物品の前記階層の第2のレベルにある第2の物品と照合するステップと、符号の前記階層の第3のレベルにある第3の符号を、物品の前記階層の第3のレベルにある第3の物品と照合するステップとを含む、請求項1に記載の方法。符号の階層を再帰的に生成するステップが、第1の符号を、物品の前記階層の中の第1の物品を識別するために生成するステップと、第2の符号を、物品の前記階層の中の第2の物品を識別するために前記第1の符号に基づいて生成するステップであって、前記第2の物品が1つまたは複数の第1の物品を格納する、ステップと、第3の符号を、物品の前記階層の中の第3の物品を識別するために前記第2の符号に基づいて生成するステップであって、前記第3の物品が1つまたは複数の第2の物品を格納する、ステップとを含む、請求項1に記載の方法。符号の前記階層が、符号の間の下から上への関係を定義し、各符号が、符号の前記階層の中のすぐ下の符号を特定して、物品の前記階層の中の対応する物品の間の検証可能な関係を確立する、請求項1に記載の方法。前記検証可能な関係が、第1の符号を有する第1の物品が第2の符号を有する第2の物品内から来たものであることを特定し、前記第2の符号が前記第1の符号を特定し、各符号が、暗号によるそれぞれの偽造防止タグによって認証可能である、請求項19に記載の方法。符号の階層を再帰的に生成するステップが、第1の符号を、物品の前記階層の中の第1の物品を識別するために生成するステップと、第2の符号を、物品の前記階層の中の第2の物品を識別するために前記第1の符号に基づいて生成するステップであって、前記第1の物品が1つまたは複数の第2の物品を格納する、ステップと、第3の符号を、物品の前記階層の中の第3の物品を識別するために前記第2の符号に基づいて生成するステップであって、前記第2の物品が1つまたは複数の第3の物品を格納する、ステップとを含む、請求項1に記載の方法。符号の前記階層が、符号の間の上から下への関係を定義し、各符号が、符号の前記階層の中ですぐ上の符号を特定して、物品の前記階層の中の対応する物品の間の検証可能な関係を確立する、請求項1に記載の方法。前記検証可能な関係が、第1の符号を有する第1の物品が第2の符号を有する第2の物品内から来たものであることを特定し、前記第1の符号が前記第2の符号を特定し、各符号が、暗号によるそれぞれの偽造防止タグによって認証可能である、請求項22に記載の方法。偽造された物品の流通経路への混入を抑止するように適合される装置であって、符号生成器と暗号による偽造防止タグ生成器とを含む処理回路であって、前記符号生成器が、符号の階層を再帰的に生成するように適合され、各符号が、物品の階層の中の異なる物品と関連付けられ、符号の前記階層の中のより下層の符号とより上層の符号のいずれかに基づき、前記暗号による偽造防止タグ生成器が、符号の前記階層の中の各符号を暗号によって結びつけて、対応する暗号による偽造防止タグを得るように適合される、処理回路と、符号の前記階層からの異なる符号と、対応する暗号による偽造防止タグとを、符号の前記階層および物品の前記階層における対応する位置に従って、物品の前記階層の中の各物品に対して付加するように適合される、プリンタとを含む、装置。物品の前記階層のある特定のレベルにある物品が、物品の前記階層のすぐ上のレベルにある物品の中に格納される、請求項24に記載の装置。物品の前記階層の中の前記物品がその後、前記流通経路に沿ってユニットとして流通する、請求項24に記載の装置。符号の前記階層が、符号の間の下から上への関係と上から下への関係のいずれかを定義し、各符号が、符号の前記階層の中のすぐ上の符号またはすぐ下の符号をそれぞれ特定して、物品の前記階層の中の対応する物品の間の検証可能な関係を確立する、請求項24に記載の装置。偽造された物品の流通経路への混入を抑止するように適合される装置であって、符号の階層を再帰的に生成するための手段であって、各符号が、物品の階層の中の異なる物品と関連付けられ、符号の前記階層の中のより下層の符号とより上層の符号のいずれかに基づく、手段と、符号の前記階層の中の各符号を暗号によって結びつけて、対応する暗号による偽造防止タグを得るための手段と、符号の前記階層からの異なる符号と、対応する暗号による偽造防止タグとを、符号の前記階層および物品の前記階層における対応する位置に従って、物品の前記階層の中の各物品に対して付加するための手段とを含む、装置。偽造された物品の流通経路への混入を抑止するための命令を記録するコンピュータ可読記録媒体であって、前記命令が、プロセッサによって実行されると、前記プロセッサに、符号の階層を再帰的に生成させ、このとき各符号が、物品の階層の中の異なる物品と関連付けられ、符号の前記階層の中のより下層の符号とより上層の符号のいずれかに基づき、符号の前記階層の中の各符号を暗号によって結びつけさせて、対応する暗号による偽造防止タグを得させ、符号の前記階層からの異なる符号と、対応する暗号による偽造防止タグとを、前記階層における対応する位置に従って、物品の前記階層の中の各物品に対して付加させ、物品の前記階層のある特定のレベルにある物品が、符号の前記階層および物品の前記階層のすぐ上のレベルにある物品の中に格納される、コンピュータ可読記録媒体。符号の階層に基づいて第1の物品を認証するための方法であって、第1の物品の符号を、前記第1の物品から取得するステップと、第2の物品の符号を、第2の物品から取得するステップであって、前記第2の物品が、前記第1の物品を格納するか、または前記第1の物品によって格納される、ステップと、前記第1の物品を、前記第2の物品の符号を使うことによって認証するステップであって、前記第1の物品の符号と前記第2の物品の符号との間の暗号による関係が立証されれば、前記第1の物品の認証が成功する、ステップとを含む、方法。前記第1の物品の認証が成功したかどうかのインジケータを提供するステップをさらに含む、請求項30に記載の方法。前記第1および前記第2の物品の符号が、符号の前記階層の一部であり、符号の前記階層のある特定のレベルにある符号が、符号の前記階層のすぐ下のレベルとすぐ上のレベルのいずれかにある、別の符号を使って認証される、請求項30に記載の方法。前記第1の物品の符号と前記第2の物品の符号との間の前記暗号による関係が、前記第1の物品の符号が前記第2の物品の符号に少なくとも一部基づく場合に立証される、請求項30に記載の方法。第1の偽造防止タグを前記第1の物品から取得するステップであって、前記第1の偽造防止タグが、前記第1の物品の符号と関連付けられる、ステップと、前記第1の物品の符号の信頼性を、前記第1の偽造防止タグに基づいて検証するステップとをさらに含む、請求項30に記載の方法。前記第1の物品の符号と前記第2の物品の符号との間の前記関係、および、各物品の対応する暗号による偽造防止タグによって、前記第1の物品が流通の間に偽造から守られる、請求項30に記載の方法。第3の物品の符号を、第3の物品から取得するステップであって、前記第3の物品が、前記第2の物品を格納するか、または前記第2の物品によって格納される、ステップと、前記第2の物品を、前記第3の物品の符号を使うことによって認証するステップであって、前記第2の物品の符号と前記第3の物品の符号との間の暗号による関係が立証されれば、前記第2の物品の認証が成功する、ステップとを含む、請求項30に記載の方法。符号の階層に基づいて第1の物品を認証するように適合される装置であって、第1の物品の符号を、前記第1の物品から取得し、第2の物品の符号を、第2の物品から取得するように適合される入力デバイスであって、このとき前記第2の物品が、前記第1の物品を格納するか、または前記第1の物品によって格納される、入力デバイスと、前記入力デバイスに結合された処理回路であって、前記第1の物品を、前記第2の物品の符号を使うことによって認証するように適合され、前記第1の物品の符号と前記第2の物品の符号との間の暗号による関係が立証されれば、前記第1の物品の認証が成功する、処理回路とを含む、装置。前記処理回路に結合される出力デバイスをさらに含み、前記出力デバイスが、前記第1の物品の認証が成功したかどうかのインジケータを提供するように適合される、請求項37に記載の装置。前記第1および前記第2の符号が、符号の前記階層の一部であり、符号の前記階層のある特定のレベルにある符号が、符号の前記階層のすぐ下のレベルとすぐ上のレベルのいずれかにある、別の符号を使って認証される、請求項37に記載の装置。前記第1の物品の符号と前記第2の物品の符号との間の前記暗号による関係が、第1の物品の符号が前記第2の物品の符号に少なくとも一部基づく場合に立証される、請求項37に記載の装置。前記入力デバイスがさらに、第1の偽造防止タグを前記第1の物品から取得するように適合され、前記第1の偽造防止タグが、前記第1の物品の符号と関連付けられ、前記処理回路がさらに、前記第1の物品の符号の信頼性を、前記第1の偽造防止タグに基づいて検証するように適合される、請求項37に記載の装置。前記第1の物品の符号と前記第2の物品の符号との間の前記関係、および、各物品の対応する暗号による偽造防止タグによって、前記第1の物品が流通の間に偽造から守られる、請求項37に記載の装置。符号の階層に基づいて第1の物品を認証するように適合される装置であって、第1の物品の符号を、前記第1の物品から取得するための手段と、第2の物品の符号を、第2の物品から取得するための手段であって、前記第2の物品が、前記第1の物品を格納するか、または前記第1の物品によって格納される、手段と、前記第1の物品を、前記第2の物品の符号を使うことによって認証するための手段であって、前記第1の物品の符号と前記第2の物品の符号との間の暗号による関係が立証されれば、前記第1の物品の認証が成功する、手段とを含む、装置。符号の階層に基づいて第1の物品を認証するための命令を含むコンピュータ可読記録媒体であって、前記命令が、プロセッサによって実行されると、前記プロセッサに、第1の物品の符号を、前記第1の物品から取得させ、第2の物品の符号を、第2の物品から取得させ、このとき前記第2の物品が、前記第1の物品を格納するか、または前記第1の物品によって格納され、前記第1の物品を、前記第2の物品の符号を使うことによって認証させ、このとき前記第1の物品の符号と前記第2の物品の符号との間の暗号による関係が立証されれば、前記第1の物品の認証が成功する、コンピュータ可読記録媒体。複数の関連する物品を偽造から守るための方法であって、第1の物品を識別するために第1の符号を生成するステップと、前記第1の符号を前記第1の物品に付加するステップと、第2の符号を、第2の物品を識別するために前記第1の符号に基づいて生成するステップであって、前記第2の物品が1つまたは複数の第1の物品を格納する、ステップと、前記第2の符号を前記第2の物品に付加するステップとを含む、方法。前記第1の符号を認証するために、第1の暗号による偽造防止タグを生成するステップと、前記第1の暗号による偽造防止タグを、前記第1の物品に付加するステップと、前記第2の符号を認証するために、第2の暗号による偽造防止タグを生成するステップと、前記第2の暗号による偽造防止タグを、前記第2の物品に付加するステップとをさらに含む、請求項45に記載の方法。1つまたは複数の第1の物品を格納する前記第2の物品を流通させるステップをさらに含む、請求項46に記載の方法であって、前記第1の符号と前記第2の符号との間の相互関係、および、対応する暗号による偽造防止タグによって、前記第1の物品および前記第2の物品が流通の間に偽造から守られる、方法。前記第2の符号および第2の暗号による偽造防止タグを、前記第2の物品から取得し、前記第2の符号の信頼性を、前記第2の暗号による偽造防止タグを使って検証し、前記第1の符号および第1の暗号による偽造防止タグを、前記第1の物品から取得し、前記第1の符号の信頼性を、前記第1の暗号による偽造防止タグを使って検証し、前記第2の符号が前記第1の符号を特定することを立証することによって、前記第1の物品および第2の物品を流通の間に認証するステップをさらに含む、請求項47に記載の方法。複数の関連する物品を偽造から守るための方法であって、第1の物品を識別するために第1の符号を生成するステップと、前記第1の符号を前記第1の物品に付加するステップと、第2の符号を、第2の物品を識別するために前記第1の符号に基づいて生成するステップであって、前記第1の物品が1つまたは複数の第2の物品を格納する、ステップと、前記第2の符号を前記第2の物品に付加するステップとを含む、方法。前記第1の符号を認証するために、第1の暗号による偽造防止タグを生成するステップと、前記第1の暗号による偽造防止タグを、前記第1の物品に付加するステップと、前記第2の符号を認証するために、第2の暗号による偽造防止タグを生成するステップと、前記第2の暗号による偽造防止タグを、前記第2の物品に付加するステップとをさらに含む、請求項49に記載の方法。1つまたは複数の第2の物品を格納する前記第1の物品を流通させるステップをさらに含み、前記第1の符号と前記第2の符号との間の相互関係、および、各符号の対応する暗号による偽造防止タグによって、前記第1の物品および前記第2の物品が流通の間に偽造から守られる、請求項50に記載の方法。前記第1の符号および第1の暗号による偽造防止タグを、前記第1の物品から取得し、前記第1の符号の信頼性を、前記第1の暗号による偽造防止タグを使って検証し、前記第2の符号および第2の暗号による偽造防止タグを、前記第2の物品から取得し、前記第2の符号の信頼性を、前記第2の暗号による偽造防止タグを使って検証し、前記第2の符号が前記第1の符号を特定することを立証することによって、前記第1の物品および第2の物品を流通の間に認証するステップをさらに含む、請求項51に記載の方法。しかし、これらの従来技術による手法は、任意のそのような符号化データが、偽造された製品において再現され得ることを考慮しない。加えて、これらの従来技術による手法は、流通経路のどの段階で偽造品が混入した可能性があるかを特定するための方法を提供しない。これらの従来技術による技法は、製品の製造元、組成、届け先などに関する、自由な形式の、暗号化された、認証された情報の混入を許す。したがって、偽造された製品が流通経路に混入するのを抑止または防止するための方法が必要である。偽造された物品の流通経路への混入を抑止するための方法が、提供される。符号の階層が再帰的に生成されてよく、各符号は、物品の階層の中の異なる物品と関連付けられ、符号の階層の中のより下層の符号とより上層の符号のいずれかに基づく。次いで、符号の階層の中の各符号は、暗号によって結びつけられ、対応する偽造防止タグを得る。次いで、符号の階層からの異なる符号と、その対応する偽造防止タグとが、符号の階層および物品の階層における対応する位置に従って、物品の階層の中の各物品に対して付加される。次いで、物品の階層の特定のレベルにある物品が、物品の階層のより上層のレベルとより下層のレベルとのいずれかにある物品内に格納され得る。そして、物品の階層の中の物品が、流通経路に沿ってユニットとして流通し得る。符号の階層の中の各符号を暗号によって結びつけるステップは、各符号を秘密鍵によって署名して偽造防止タグを得るステップを含んでよく、秘密鍵は、偽造防止タグの検証に使われる対応する公開鍵を有する。一実装形態では、物品の階層の中の複数の物品に対する偽造防止タグを生成するために、同じ秘密鍵が使われる。別の実装形態では、物品の階層の中のその複数の物品に対する偽造防止タグを生成するために、少なくとも2つの異なる秘密鍵が使われる。一例では、符号の階層の中のより下層の符号は、符号の階層のすぐ下のレベルの符号であってよく、符号の階層の中のより上層の符号は、符号の階層のすぐ上のレベルの符号であってよい。別の例では、符号の階層の中のより下層の符号は、符号の階層において少なくとも2つ下のレベルの符号であってよく、符号の階層の中のより上層の符号は、符号の階層において少なくとも2つ上のレベルの符号であってよい。一例では、物品の階層の特定のレベルにある物品を、物品の階層のより上層のレベルとより下層のレベルのいずれかにある物品内に格納するステップは、第1の物理的な物品を第1の容器内に格納するステップ、およびまたは、複数の第1の容器を、より大きな第2の容器に格納するステップを含み得る。別の例では、物品の階層の特定のレベルにある物品を、物品の階層のより上層のレベルとより下層のレベルのいずれかにある物品内に格納するステップは、物品の階層の第1のレベルにある1つまたは複数の第1の物品を、物品の階層の中の第2の物品の中に格納するステップ、物品の階層の第2のレベルにある1つまたは複数の第2の物品を、物品の階層の中の第3の物品に格納するステップ、およびまたは物品の階層の第3のレベルにある1つまたは複数の第3の物品を、物品の階層の中の第4の物品に格納するステップを含み得る。様々な例によれば、物品の階層の中の物品は、薬品およびその容器を含む、物理的な製品である。薬品は、丸薬、錠剤、またはカプセルのうちの少なくとも1つを含み得る。1つの特徴によれば、符号の階層は、第1の関係者と関連付けられる符号の第1の階層と、第2の関係者と関連付けられる符号の第2の階層とを含んでよく、符号の第2の階層の中の少なくとも1つの符号は、符号の第1の階層の中の少なくとも1つの符号に基づく。符号の第1の階層の中の符号と関連付けられる偽造防止タグは、第1の公開鍵を使って検証可能であり、符号の第2の階層の中の符号は、第2の公開鍵を使って検証可能である。方法はさらに、流通経路の間に、符号の階層に対して追加の符号を生成するステップを含んでよく、各々の追加の符号は、物品の階層の中の異なる追加の物品と関連付けられ、符号の階層の中のより下層の符号とより上層の符号のいずれかに基づく。符号の階層の中の符号は、流通経路の間に、符号の階層に対して1つまたは複数の新たな符号を生成することによって、置き換えられ得る。階層の中での各物品の対応する位置に従って、各物品に異なるコードを付加するステップは、符号の階層の第1のレベルにある第1の符号を、物品の階層の第1のレベルにある第1の物品と照合するステップ、符号の階層の第2のレベルにある第2の符号を、物品の階層の第2のレベルにある第2の物品と照合するステップ、およびまたは符号の階層の第3のレベルにある第3の符号を、物品の階層の第3のレベルにある第3の物品と照合するステップを含み得る。別の特徴は、符号の階層を再帰的に生成するための、内から外へのセキュリティ方式を提供する。たとえば、第1の符号が、物品の階層の中の第1の物品を識別するために生成され得る。次いで、第2の符号が、物品の階層の中の第2の物品を識別するために第1の符号に基づいて生成されてよく、第2の物品は1つまたは複数の第1の物品を格納する。次いで、第3の符号が、物品の階層の中の第3の物品を識別するために第2の符号に基づいて生成され、第3の物品は1つまたは複数の第2の物品を格納する。内から外へのセキュリティ方式では、符号の階層は、符号の間の下から上への関係を定義することができ、各符号は、符号の階層の中ですぐ下の符号を特定して、物品の階層の中の対応する物品の間の検証可能な関係を確立する。検証可能な関係によって、第1の符号を有する第1の物品が、第2の符号を有する第2の物品の中から来たものであると特定することができ、第2の符号は第1の符号を特定し、各符号は暗号によるそれぞれの偽造防止タグによって認証可能である。さらに別の特徴は、符号の階層を再帰的に生成するための、外から内へのセキュリティ方式を提供する。第1の符号が、物品の階層の中の第1の物品を識別するために生成され得る。次いで、第2の符号が、物品の階層の中の第2の物品を識別するために第1の符号に基づいて生成されてよく、第1の物品は1つまたは複数の第2の物品を格納する。次いで、第3の符号が、物品の階層の中の第3の物品を識別するために第2の符号に基づいて生成されてよく、第2の物品は1つまたは複数の第3の物品を格納する。外から内へのセキュリティ方式では、符号の階層は、符号の間の上から下への関係を定義することができ、各符号は、符号の階層の中ですぐ上の符号を特定して、物品の階層の中の対応する物品の間の検証可能な関係を確立する。検証可能な関係によって、第1の符号を有する第1の物品が、第2の符号を有する第2の物品の中から来たものであると特定することができ、第1の符号は第2の符号を特定し、各符号は暗号によるそれぞれの偽造防止タグによって認証可能である。同様に、装置は、流通経路における偽造された物品の混入を抑止するように適合され得る。この装置は、処理回路とプリンタとを含み得る。処理回路は、符号生成器と暗号による偽造防止タグ生成器とを含み得る。符号生成器は、符号の階層を再帰的に生成するように適合されてよく、各符号は、物品の階層の中の異なる物品と関連付けられ、符号の階層の中のより下層の符号とより上層の符号とのいずれかに基づく。暗号による偽造防止タグ生成器は、符号の階層の中の各符号を暗号によって結びつけて、対応する暗号による偽造防止タグを得るように適合され得る。プリンタは、符号の階層からの異なる符号と、その対応する暗号による偽造防止タグとを、符号の階層および物品の階層における対応する位置に従って、物品の階層の中の各物品に対して付加するように適合され得る。符号の階層は、符号の間の下から上への関係と上から下への関係のいずれかを定義することができ、各符号は、符号の階層の中ですぐ上の符号またはすぐ下の符号をそれぞれ特定して、物品の階層の中の対応する物品の間の検証可能な関係を確立する。符号の階層に基づいて第1の物品を認証するための方法も、提供される。第1の物品の符号は、第1の物品から取得される。次いで、第2の物品の符号が第2の物品から取得され、第2の物品は、第1の物品を格納するか、または第1の物品によって格納される。第1の物品は、第2の物品の符号を使うことによって認証されてよく、第1の物品の符号と第2の物品の符号との間の暗号による関係が立証されれば、第1の物品の認証は成功する。次いで、第1の物品の認証が成功したかどうかのインジケータが、提供され得る。第1および第2の物品の符号は、符号の階層の一部であってよく、符号の階層のある特定のレベルにある符号は、符号の階層のすぐ下のレベルとすぐ上のレベルのいずれかにある、別の符号を使って認証される。第1の物品の符号と第2の物品の符号との間の暗号による関係は、第1の物品の符号が第2の物品の符号に少なくとも一部基づく場合に、立証される。同様に、第3の物品の符号は第3の物品から取得することができ、第3の物品は、第2の物品を格納するか、または第2の物品によって格納される。第2の物品は、第3の物品の符号を使うことによって認証されてよく、第2の物品の符号と第3の物品の符号との間の暗号による関係が立証されれば、第2の物品は認証が成功する。認証処理の一部として、第1の偽造防止タグが第1の物品から取得されてよく、第1の偽造防止タグは、第1の物品の符号と関連付けられる。次いで、第1の物品の符号の信頼性が、第1の偽造防止タグに基づいて検証され得る。第1の物品の符号と第2の物品の符号との間の関係、および、各物品の対応する暗号による偽造防止タグによって、第1の物品は流通の間に偽造から守られることに留意されたい。同様に、装置は、符号の階層に基づいて、第1の物品を認証するように適合され得る。装置は、入力デバイス、処理回路、およびまたは出力デバイスを含み得る。入力デバイスは、第1の物品から第1の物品の符号を取得し、かつまたは、第2の物品から第2の物品の符号を取得するように適合されてよく、第2の物品は、第1の物品を格納するか、または第1の物品によって格納される。処理回路は、第2の物品の符号を使うことによって第1の物品を認証するように適合されてよく、第1の物品の符号と第2の物品の符号との間の暗号による関係が立証されれば、第1の物品の認証は成功する。出力デバイスは、第1の物品の認証に成功したかどうかのインジケータを提供するように適合され得る。第1および第2の符号は、符号の階層の一部であり、符号の階層のある特定のレベルにある符号は、符号の階層のすぐ下のレベルとすぐ上のレベルのいずれかにある、別の符号を使って認証される。第1の物品の符号と第2の物品の符号との間の暗号による関係は、第1の物品の符号が第2の物品の符号に少なくとも一部基づく場合に、立証され得る。入力デバイスはさらに、第1の物品から第1の偽造防止タグを取得するように適合されてよく、第1の偽造防止タグは第1の物品の符号と関連付けられる。処理回路はさらに、第1の偽造防止タグに基づいて、第1の物品の符号の信頼性を検証するように適合され得る。第1の物品の符号と第2の物品の符号との間の関係、および、各物品の対応する暗号による偽造防止タグによって、第1の物品は流通の間に偽造から守られ得る。さらに別の特徴によれば、複数の関連する物品を偽造から守るための、内から外への階層的なセキュリティ方法が提供される。第1の符号が、第1の物品を識別するために生成される。第1の符号は、第1の物品に付加される。第2の符号が、第2の物品を識別するために第1の符号に基づいて生成され、第2の物品は1つまたは複数の第1の物品を格納する。第2の符号は、第2の物品に付加される。同様に、第1の暗号による偽造防止タグが、第1の符号を認証するために生成される。第1の暗号による偽造防止タグも、第1の物品に付加され得る。第2の暗号による偽造防止タグも、第2の符号を認証するために生成され得る。次いで、第2の暗号による偽造防止タグが、第2の物品に対して生成され得る。次いで、1つまたは複数の第1の物品を格納する第2の物品が、流通し得る。第1の符号と第2の符号との間の相互関係、および、対応する暗号による偽造防止タグによって、第1の物品および第2の物品は流通の間に偽造から守られる。第1の物品および第2の物品は、第2の物品から第2の符号および第2の暗号による偽造防止タグを取得し、第2の暗号による偽造防止タグを使って第2の符号の信頼性を検証し、第1の物品から第1の符号および第1の暗号による偽造防止タグを取得し、第1の暗号による偽造防止タグを使って第1の符号の信頼性を検証し、かつまたは第1の符号を特定する第2の符号を検証することによって、流通の間に認証され得る。さらに別の特徴によれば、複数の関連する物品を偽造から守るための、外から内への階層的なセキュリティ方法が提供される。第1の符号が、第1の物品を識別するために生成される。第1の符号は、第1の物品に付加される。第2の符号が、第2の物品を識別するために第1の符号に基づいて生成され、第1の物品は1つまたは複数の第2の物品を格納する。第2の符号は、第2の物品に付加される。同様に、第1の暗号による偽造防止タグが、第1の符号を認証するために生成され、第1の物品に付加される。第2の暗号による偽造防止タグが、第2の符号を認証するために生成され、第2の物品に付加される。次いで、1つまたは複数の第2の物品を格納する第1の物品を流通させることができ、第1の符号と第2の符号との間の相互関係、および、各符号に対する対応する暗号による偽造防止タグによって、第1の物品および第2の物品は流通の間に偽造から守られる。第1の物品および第2の物品は、第1の物品から第1の符号および第1の暗号による偽造防止タグを取得し、第1の暗号による偽造防止タグを使って第1の符号の信頼性を検証し、第2の物品から第2の符号および第2の暗号による偽造防止タグを取得し、第2の暗号による偽造防止タグを使って第2の符号の信頼性を検証し、かつまたは第1の符号を特定する第2の符号を検証することによって、流通の間に認証され得る。以下の説明では、実施形態を完全に理解することができるように具体的な詳細を与える。ただし、実施形態はこれらの具体的な詳細なしに実施され得ることを当業者は理解されよう。たとえば、実施形態を不要な詳細で不明瞭にしないように、回路をブロック図で示すことがあり、またはまったく示さないことがある。他の場合には、これらの実施形態を不明瞭にしないように、よく知られている回路、構造および技法を詳細に示さないことがある。また、実施形態は、フローチャート、流れ図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。さらに、動作の順序は並び替えられ得る。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、プロセスの終了は、関数呼出しまたはメイン関数に対する関数のリターンに対応する。概観1つの特徴によれば、流通経路の間での製品認証を支援する、内から外への、または外から内への暗号による符号化のためのシステムが提供される。内側の物品と外側の物品との間の、認証され保護された符号の関連付けが生成される。たとえば、第1の物品と関連付けられる内側の符号が、1つまたは複数の第1の物品を格納する第2の物品と関連付けられる、外側の符号を生成するために使われる。このプロセスは複数回繰り返されてよく、外側の物品の符号は、内側の物品の符号に応じたものである。物品の序列は、物品のコード間の従属関係によって認証され得る。代替的な実装形態では、第1の物品と関連付けられる外側の符号が、第1の物品内に格納される1つまたは複数の第2の物品と関連付けられる、内側の符号を生成するために使われる。このプロセスは複数回繰り返されてよく、内側の物品の内側の符号は、外側の物品の外側の符号に応じたものである。物品の序列は、物品のコード間の従属関係によって認証され得る。これらの物品の偽造または模倣は、物品の符号の間の従属関係によって、阻止または抑止される。偽造者または模倣者が、特定の物品を複製するには、符号の全体の序列を偽造しなければならない。各物品は、符号の異なる序列と関連付けられ得るので、偽造者は単に、1組の本物の符号を複製することができない。つまり、一部のコードは、特定の届け先または小売業者と関連付けられ得るので、外側の符号および符号の序列が、その特定の届け先または小売業者と一致しなければ、偽造された製品の出荷を検出できる。加えて、外側の符号は、その届け先または小売業者において追跡され得るので、その符号は一度しか使えない。前に検出された外側の符号のあらゆるその後の検出は、偽造または模倣された、物品または製品であると考えられ得る。たとえば、流通経路中の通関手続地において、通関業者が、パレットおよびまたはパレット中の他の物品の1つまたは複数の符号を検証して、そうした符号が以前に検出されたことがあるかどうかを判定することができる。同じ符号が以前に検出されたことがある場合、それは、パレットおよびまたはパレット中の物品の偽造を示し得る。製品認証システム製薬産業およびその顧客は、限定はされないが、医薬物質の期限切れおよび模倣の後の薬品の流通を含む、多くの脅威の影響を受ける。製品を保護するために使われるいくつかのセキュリティ対策は、本物の製品を入手して、複製し、偽造し、かつまたはセキュリティ対策を再現することによって、回避されることがある。このことは、大量の偽造された薬品または他の製品が、合法なものとして、市場へ混入しかつまたは流通するのを許し得る。図1は、エンドツーエンド認証が薬品の模倣を抑止するために実施され得る、薬品の例示的な流通経路を示す。この薬品流通システム100では、複数の1回分の薬品102が製造され、容器104に格納され得る。次いで、複数の容器104が、箱106へと梱包され得る。次いで、複数の箱106が、たとえば荷主または流通業者110による、1つまたは複数の小売業者112への流通のために、パレット108へと梱包され得る。模倣、偽造、およびまたは異物混入から薬品を保護するために、暗号によるセキュリティ対策が実施され、その対策では、内側の物品と外側の物品との間のエンドツーエンドの関連付けに基づいて、符号が生成される。内側の符号および外側の符号という用語は、物品もしくは製品、または、そのような物品もしくは製品と関連付けられる特性を特定するために、物品または製品に対して使われる、符号または識別子を指し、内側の符号は、第1の物品、または、第2の物品の内側もしくはその中にある製品、または、外側の符号と物理的にかつもしくは論理的に関連付けられる製品と、物理的にかつまたは論理的に関連付けられる。したがって、内側の符号および外側の符号という用語は、そうした符号と関連する物品または製品の間の相対的な関係を示唆する。図1を再び参照すると、1つまたは複数の符号生成器114、116、118、およびまたは120を使って、1回分の薬品102、容器104、箱106、およびまたはパレット108へそれぞれ付加される符号を生成することができる。偽造または模倣は、規模の経済に依存する。すなわち、1つの本物の製品を入手し、それを複製し、複製したものを本物の製品として売れることに依存する。しかし、本明細書で説明されるエンドツーエンドの符号の関連付けは、同じ製品または物品の複数の例に対して、同じ関連付けを再使用するのを防ぐことによって、そのような規模の経済を抑止する。内から外への製品認証システム図2は、内側の符号が外側の符号を生成するために使われる、内から外への暗号によるセキュリティ方式の例を示す。内から外への暗号によるセキュリティ方式は、上から下への符号化方式、または、複数層の再帰的な符号化方式とも呼ばれ得る。一般に、物品の間のエンドツーエンドの関連付けは、外側の符号が内側の符号に依存するように、生成され得る。これらの符号を認証するために、公開鍵と秘密鍵のペアを使うことができ、各符号は、公開鍵および暗号学的ハッシュ関数と結びつけられ、偽造防止タグを生成する。公開鍵と秘密鍵のペアの特性は、偽造防止タグが対応する公開鍵を使った場合にのみ復号できるというものである。公開鍵は、符号とともに与えられてよく、または、たとえば信頼できるソースから、独立に与えられてもよい。その結果、エンドツーエンドの符号と、各符号に対する偽造防止タグの使用との間の従属関係によって、偽造が抑止される。いくつかの実装形態では、よく知られているPublicKeyInfrastructureが、様々な偽造防止タグの検証に使われ得る。たとえば、第1の符号生成器A114は、1つまたは複数のパラメータA204に基づく第1の符号を生成することができ、第1の符号は、製造業者の符号、製造日、製品1回分の薬品の識別子などを含み得る。つまり、Codedose202は、1つまたは複数のパラメータA204の関数f1であってよく、またはパラメータA204に等しくてよい。このCodedose202は、1回分の薬品102に付加され得る。個々の1回分の薬品のサイズは限られているので、ビット効率の高い暗号による技法を使って、Codedose202を生成することができる。つまり、1回分の薬品102のサイズは小さいので、Codedose202は小さくてよい。いくつかの場合には、Codedose202は、特定の種類の1回分の薬品102のすべてに対して、同じ符号であってよい。たとえば、特定の容器104の中の1回分の薬品102のすべては、1回分の薬品のすべてが名目上同一である場合には、同じCodedose202を有してよい。たとえば、製造中に、Codedose202は、1回分の薬品120の製造日、組成、ロット番号、製品識別子、ならびにまたは、製品およびもしくは製造業者と関連付けられる他の情報に基づいて、生成され得る。次いで、Codedose202は、たとえば、バーコードまたは他の形態の表現物として、1回分の薬品102に追加または付加され得る。加えて、Codedose202を偽造者または模倣者から保護するために、Codedose202は、秘密鍵および暗号学的ハッシュ関数を使って結びつけられ、第1の暗号による署名SigPrvK203のような第1の偽造防止タグを生成する。この第1の偽造防止タグSigPrvK203も、1回分の薬品102に付加され得る。その後Codedose202は、対応する公開鍵を使って第1の偽造防止タグSigPrvK203を検証することによって、認証され得る。次いで、複数の1回分の薬品102が、容器104へと梱包され得る。そのような容器104は、袋、瓶、錠剤包装などであってよい。第2の符号生成器B116は、Codedose202と、任意選択で1つまたは複数のパラメータB206とに基づく、第2の符号を生成することができる。1つまたは複数のパラメータB206は、製造業者の符号、製造日、製品1回分の薬品の識別子、容器サイズなどを含み得る。つまり、Codecontainer208は、Codedose202および1つまたは複数のパラメータB206の関数f2であってよく、またはそれらに等しくてよい。加えて、Codecontainer208を偽造者または模倣者から保護するために、Codecontainer208は、秘密鍵および暗号学的ハッシュ関数を使って結びつけられ、第2の暗号による署名SigPrvK209のような第2の偽造防止タグを生成することができる。このCodecontainer208は、その後の認証のために容器104に付加され得る。この第2の偽造防止タグSigPrvK209も、容器104に付加され得る。その後Codecontainer208は、対応する公開鍵を使って第2の偽造防止タグSigPrvK209を検証することによって、認証され得る。通常、容器104は、製造業者から個別に出荷されない。代わりに、複数の容器104が、箱106へと梱包され得る。第3の符号生成器C118は、Codecontainer208と、任意選択で1つまたは複数のパラメータC210とに基づく、第3の符号を生成することができる。1つまたは複数のパラメータC210は、製造業者梱包業者の符号または公開鍵、製造梱包日、1回分の薬品の識別子、容器箱サイズなどを含み得る。つまり、Codebox212は、Codecontainer208および1つまたは複数のパラメータC210の関数f3であってよく、またはそれらに等しくてよい。加えて、Codebox212を偽造者または模倣者から保護するために、Codebox212は、秘密鍵および暗号学的ハッシュ関数を使って結びつけられ、第3の暗号による署名SigPrvK213のような第3の偽造防止タグを生成することができる。Codebox212および第3の偽造防止タグSigPrvK213は、その後の認証のために箱106に付加され得る。その後Codebox212は、対応する公開鍵を使って第3の偽造防止タグSigPrvK213を検証することによって、認証され得る。出荷およびまたは流通の目的で、複数の箱106はパレット108へと梱包され得る。第4の符号生成器D120は、Codebox212と、任意選択で1つまたは複数のパラメータD214とに基づく、第4の符号を生成することができる。1つまたは複数のパラメータD214はまた、製造業者梱包業者の符号または公開鍵、製造梱包日、1回分の薬品の識別子、容器箱サイズなどを含み得る。つまり、Codepallet216は、Codebox212および1つまたは複数のパラメータD214の関数f4であってよく、またはそれらに等しくてよい。加えて、Codepallet216を偽造者または模倣者から保護するために、Codepallet216は、秘密鍵および暗号学的ハッシュ関数を使って結びつけられ、第4の暗号による署名SigPrvK217のような第4の偽造防止タグを生成することができる。Codepallet216および第4の偽造防止タグSigPrvK217は、その後の認証のためにパレット108に付加され得る。その後Codepallet216は、対応する公開鍵を使って第4の偽造防止タグSigPrvK217を検証することによって、認証され得る。最も小さい1回分の薬品102から最も大きいパッケージサイズまでに対して使われる符号には従属関係があるので、薬品のエンドツーエンドの関係は、たとえば荷主流通業者110または小売業者112において付加された符号を使って、流通経路の間に検証され得る。加えて、付加された符号の信頼性は、符号を付加された偽造防止タグを使って検証され得る。たとえば、流通業者または通関業者がパレット108を検査して、パレット108中の薬品の信頼性を確認することができる。パレット108の信頼性は、Codepallet216がCodebox212およびまたはパラメータD214に基づくかどうかを判定し、第4の偽造防止符号SigPrvK217を使ってCodepallet216を認証することによって、検証され得る。同様に、箱106の信頼性は、Codebox212がCodecontainer208およびまたはパラメータC210に基づくかどうかを判定し、第3の偽造防止符号SigPrvK213を使ってCodebox212を認証することによって、検証され得る。容器104の信頼性は、Codecontainer208がCodedose202およびまたはパラメータB206に基づくかどうかを判定し、第2の偽造防止符号SigPrvK208を使ってCodecontainer208を認証することによって、同様に検証され得る。最後に、第1の符号Codedose202が、第1の偽造防止符号SigPrvK203を使って認証され得る。任意の段階において、内側の符号と外側の符号との間の従属関係が立証できない場合、または符号が認証できない場合、認証は失敗する。図3は、エンドツーエンドの製品または物品の認証のための、内から外への暗号による符号化方法を示す図である。符号の階層が再帰的に生成されてよく、各符号は、物品の階層の中の異なる物品と関連付けられ、符号の階層におけるより下層の符号に基づく。たとえば、符号の階層は、Codedose202、Codecontainer208、Codebox212、およびCodepallet216を含んでよく、Codedose202は階層の最も下のレベルにあり、Codepallet216は階層の最も上のレベルにある。同様に、物品の対応する階層は、物品に1回分の薬品102、容器104、箱106、およびパレット108を含んでよく、1回分の薬品102は階層の最も下のレベルにあり、パレット108は階層の最も上のレベルにある。その結果、Codepallet216はCodebox212の関数であり、Codebox212はCodecontainer208の関数であり、Codecontainer208はCodedose202の関数である。符号の階層における各符号は、暗号によって他の符号およびまたはパラメータと結びつけられ、暗号による偽造防止タグを得る。符号の階層からの符号と、その対応する暗号による偽造防止タグとが、符号の階層および物品の階層における対応する位置に従って、物品の階層の中の各物品に対して付加される。たとえば、Codedose202およびSig203は、1回分の薬品102に付加され、Codecontainer208およびSig209は、容器104に付加され、Codebox212およびSig213は、箱106に付加され、Codepallet216およびSig217は、パレット108に付加される。符号の階層および物品の階層における対応する位置とは、符号の階層のレベルKにある符号が、物品の階層の同じレベルKにある物品に対応することを意味する。物品の階層のある特定のレベルにある物品は、物品の階層のすぐ上のレベルにある物品の中に格納され、またはその物品と関連付けられる。たとえば、1つまたは複数の1回分の薬品102は容器104内に格納され、1つまたは複数の容器104は箱106内に格納され、1つまたは複数の箱はパレット108内に格納される。そして、物品の階層の中の物品がユニットとして流通し得る。たとえば、パレット108は、流通経路を通じて送られ得る。その後、小売業者、届け先、または検問所において、物品の階層の中の物品は、対応する符号を用いて認証されてよく、符号の階層のある特定のレベルにある符号は、符号の階層のより下層のレベルにある符号を用いて認証される。つまり、出荷されたユニットは、Codebox212に基づいてCodepallet216を検証または認証することによって、Codecontainer208に基づいてCodebox212を認証することによって、および、Codedose202に基づいてCodecontainer208を認証することによって、認証され得る。各符号はまた、対応する暗号による偽造防止タグを使うことによって、認証され得る。図1および図2および本明細書の他の例は、各物品が認証のための符号を含むことを示し得るが、一部の物品は符号化されず、または認証のために使われなくてもよいことも考えられることに、留意されたい。しかし、そのような符号化されない物品は、物品の階層から除外される。図4は、暗号による偽造防止タグおよび階層の依存関係を用いる、2つの種類のエンドツーエンドの認証方式を示す。一例では、物品の階層は、容器の中に1階分の薬品を、箱の中に容器を、パレットの中に箱を含み得る。符号の階層404は複数の符号を含んでよく、各符号は、物品の階層402の同じ階層レベルにある対応する物品と関連付けられる。加えて、各符号は、符号を認証するために用いられる、関連する暗号による偽造防止タグ406を有し得る。内から外への認証方式408では、内側の物品を識別する符号を使って、外側の物品を識別する符号を生成する。たとえば、レベルN1において、符号CodeN1は、すぐ下のレベルの符号、その特定の階層レベルにある物品と関連付けられる1つまたは複数のパラメータParamsN1、および、CodeN1の暗号による偽造防止タグを特定することができる。このことは、物品間のエンドツーエンドの関連付けを生成するために、複数のレベルにわたって繰り返される。外から内への検証方式410では、外側の物品を識別する符号を使って、内側の物品を識別する符号を生成する。たとえば、レベルN1において、符号CodeN1は、すぐ上のレベルの符号、その特定の階層レベルにある物品と関連付けられる1つまたは複数のパラメータParamsN1、および、CodeN1の暗号による偽造防止タグを特定することができる。このことは、物品間のエンドツーエンドの関連付けを生成するために、複数のレベルにわたって繰り返される。暗号による偽造防止タグは、対応する公開鍵を有する秘密鍵を使って生成され得る。公開鍵は、物品とともに与えられてよく、または、独立の経路を介して信頼できる鍵提供者から取得され得る。いくつかの実装形態では、製造業者は、データ固有のまたは製品固有の鍵414および416を生成するために使われる、ルート鍵412を有し得る。たとえば、所与の期間、製造業者は、暗号による偽造防止タグを生成して認証するために、ある特定の公開秘密鍵のペアを使うことができる。その後、暗号による鍵のペアは、古い鍵を使ったすべての偽造された製品が検出されるように、交換され得る。あるいは、製造業者は、異なる製品または異なる種類の製品に対して、異なる暗号による鍵のペアを使うことができる。加えて、パッケージング418は、どのように、1つまたは複数の1回分の薬品が容器に格納され、1つまたは複数の容器が箱に格納され、1つまたは複数の箱がパレットに格納されるかを示す。いくつかの例で、薬品が認証されることを説明することがあるが、本明細書で説明される認証方式は、任意の種類の製品または物品を包含するように広く理解されるべきであることに留意されたい。図4および本明細書の他の例は、各物品が認証のための符号を含むことを示し得るが、一部の物品は符号化されず、または認証のために使われなくてもよいことも考えられることにも、留意されたい。しかし、そのような符号化されない物品は、物品の階層から除外される。したがって、物品の階層の中の符号化された物品は、互いに不連続であってよく、または近接していなくてもよい。より一般的には、各符号が、物品の階層の中の異なる物品と関連付けられ、符号の階層におけるより下層の符号とより上層の符号のいずれかに基づくように、符号の階層は生成され得る。図4は、符号が階層の中のすぐ上の符号に基づく、第1の符号階層408と、符号が階層の中のすぐ下の符号に基づく、第2符号階層410とを示すが、他の種類の符号階層も本明細書において考慮される。一般に、符号は、階層における任意のより上層のまたはより下層の符号に基づき得る。たとえば、レベルKにある符号階層の中の特定の符号は、符号の階層のレベルK2またはK2にある別の符号に基づいてよい。他の実装形態によれば、符号の階層は、第1の関係者と関連付けられる符号の第1の階層と、第2の関係者と関連付けられる符号の第2の階層とを含んでよく、符号の第2の階層の中の少なくとも1つの符号は、符号の第1の階層の中の少なくとも1つの符号に基づく。符号の第1の階層の中の符号と関連付けられる偽造防止タグは、第1の公開鍵を使って検証可能であってよく、符号の第2の階層の中の符号は、第2の公開鍵を使って検証可能である。いくつかの実装形態では、符号の第1の階層および第2の階層は、同じ暗号による符号化方式を利用することができる。他の実装形態では、符号の第1の階層は、内から外への暗号による符号化方式を利用し得るが、符号の第2の階層は、外から内への暗号による符号化方式を利用し得る。さらに別の特徴によれば、追加の符号が、流通経路の間に符号の階層のために生成され得る。各々の追加の符号は、物品の階層の中の異なる追加の物品と関連付けられてよく、符号の階層の中のより下層の符号とより上層の符号のいずれかに基づいてよい。たとえば、物品およびまたは符号の階層の第1の部分は、製造業者によって生成され得るが、物品およびまたは符号の階層の第2の部分は、流通経路の間に流通業者によって生成され得る。これによって、様々な関係者が、認証または検証のための自身の秘密鍵公開鍵を使って、階層に符号およびまたは物品を追加できるようになり得る。さらに、符号の階層の中の一部の符号は、流通経路の間に、符号の階層に対して1つまたは複数の新たな符号を生成することによって、置き換えられ得る。たとえば、物品およびまたは符号の階層のいくつかの物品およびまたは符号はそれぞれ、製造業者によって生成され得る。その後、流通業者が、物品の階層の中の物品の一部の、再梱包を望むことがある。流通業者はまず、置き換えられる物品符号を認証して、物品が偽造されたものではないことを確認することができる。そして、流通業者は、物品の階層の中の物品の一部およびまたは符号の階層の中の符号を、置き換えることができる。これによって、様々な関係者が、認証または検証のための自身の秘密鍵公開鍵を使って、階層に符号およびまたは物品を追加できるようになり得る。たとえば、流通業者は、物品の全体のパレットをより小さなパッケージに再梱包し、個々のより小さなパッケージを認証することができる。符号の階層は再帰的に生成され得るが、その階層の中の符号は、並列にまたは同時に生成される必要はない。つまり、1つまたは複数の符号は、たとえば製造業者によって生成されてよく、一方他の符号は、流通業者または小売業者によってその後で生成されてよい。さらに別の特徴によれば、符号の階層は、流通の間のある特定の時点で部分的に再生成され得る。たとえば、小売業者は、複数の箱をその中に有する箱のパレットを、取得することがある。小売業者は、符号の階層を箱までは維持するが、パレットに対する符号を廃棄することができる。そして、小売業者は、箱を部分パレットへと再梱包し、容器および箱に対する元の符号を維持しつつ部分パレットを含めるように、符号の階層を再生成することができる。図5Aおよび図5Bを含む図5は、エンドツーエンドの認証を支援する、内から外への符号生成のための方法を示す。第1の符号が、第1の物品を識別するために生成される。次いで、第1の暗号による偽造防止タグ203が、第1の符号を認証するために生成され得る。たとえば、第1の暗号による偽造防止タグは、秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第1の符号および第1の暗号による偽造防止タグが、第1の物品に付加される。第2の符号が、第2の物品を識別するために第1の符号に基づいて生成され、第2の物品は1つまたは複数の第1の物品を格納する。たとえば、第2の符号は、第1の符号との関連付け、または第2の物品と第1の物品との間の関係を、示すことができる。次いで、第2の暗号による偽造防止タグ209が、第2の符号を認証するために生成され得る。たとえば、第2の暗号による偽造防止タグは、同じ秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第2の符号および第2の暗号による偽造防止タグが、第2の物品に付加される。第3の符号が、第3の物品を識別するために第2の符号に基づいて生成され、第3の物品は1つまたは複数の第2の物品を格納する。たとえば、第3の符号は、第2の符号との関連付け、または第3の物品と第2の物品との間の関係を、示すことができる。次いで、第3の暗号による偽造防止タグ213が、第3の符号を認証するために生成され得る。たとえば、第3の暗号による偽造防止タグは、同じ秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第3の符号および第3の暗号による偽造防止タグが、第3の物品に付加される。第4の符号が、第4の物品を認証するために第3の符号に基づいて生成され、第4の物品は1つまたは複数の第3の物品を格納する。たとえば、第4の符号は、第3の符号との関連付け、または第4の物品と第3の物品との間の関係を、示すことができる。次いで、第4の暗号による偽造防止タグ217が、第4の符号を認証するために生成され得る。たとえば、第4の暗号による偽造防止タグは、同じ秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第4の符号および第4の暗号による偽造防止タグが、第4の物品に付加される。図6Aおよび図6Bを含む図6は、内から外への暗号による符号化方式を使って符号化された、物品を認証する方法を示す。第4の符号および第4の偽造防止タグ217は、第4の物品から取得される。第4の符号は、第4の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第4の偽造防止タグを検証し、内容物が第4の符号と一致するかどうかを判定する。そのような公開鍵は、第4の物品自体から取得されてよく、または、第4の物品の製造業者梱包業者から提供されてよい。一致しない場合、第4の符号の認証は失敗する。一致する場合、第4の符号の認証は成功する。第3の符号および第3の偽造防止タグ212は、第4の物品の中の第3の物品から取得される。第3の符号は、第3の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第3の偽造防止タグを検証し、内容物が第3の符号と一致するかどうかを判定する。一致しない場合、第3の符号の認証は失敗する。一致する場合、第3の符号の認証は成功する。次いで、第4の物品と第3の物品との間の関係が、第4の符号および第3の符号に基づいて検証される。つまり、第4の符号は第3の符号に基づくので、第4の符号と第3の符号との間の関連付けが確認され得る。第4の符号と第3の符号との間の関連付けが確認できない場合、第4の物品の認証は失敗する。確認できる場合、第4の物品の認証は成功する。次に、第2の符号および第2の偽造防止タグが、第3の物品の中の第2の物品から取得される。第2の符号は、第2の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第2の偽造防止タグを検証し、内容物が第2の符号と一致するかどうかを判定する。一致しない場合、第2の符号の認証または検証は失敗する。一致する場合、第2の符号の認証は成功する。次いで、第3の物品と第2の物品との間の関係が、第3の符号および第2の符号に基づいて検証される。つまり、第3の符号は第2の符号に基づくので、第3の符号と第2の符号との間の関連付けが確認され得る。第3の符号と第2の符号との間の関連付けが確認できない場合、第3の物品の認証は失敗する。確認できる場合、第3の物品の認証は成功する。同様に、第1の符号および第1の偽造防止タグが、第2の物品の中の第1の物品から取得される。第1の符号は、第1の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第1の偽造防止タグを検証し、内容物が第1の符号と一致するかどうかを判定する。一致しない場合、第1の符号の認証は失敗する。一致する場合、第1の符号の認証は成功する。次いで、第2の物品と第1の物品との間の関係が、第2の符号および第1の符号に基づいて検証される。つまり、第2の符号は第1の符号に基づくので、第2の符号と第1の符号との間の関連付けが確認され得る。第2の符号と第1の符号との間の関連付けが確認できない場合、第2の物品の認証は失敗する。確認できる場合、第2の物品の認証は成功し、エンドツーエンドの認証が確立される。外から内への製品認証システム図7は、外側の符号が内側の符号を生成するために使われる、外から内への暗号によるセキュリティ対策の例を示す。外から内への暗号によるセキュリティ方式は、下から上への符号化方式、または、複数層の再帰的な符号化方式とも呼ばれ得る。一般に、物品の間のエンドツーエンドの関連付けは、内側の符号が外側の符号に依存するように、生成され得る。これらの符号を認証するために、公開鍵と秘密鍵のペアを使うことができ、各符号は、公開鍵および暗号学的ハッシュ関数によって署名され、偽造防止タグを生成する。公開鍵と秘密鍵のペアの特性は、偽造防止タグが、対応する公開鍵を使った場合にのみ検証可能であるというものである。公開鍵は、符号とともに与えられてよく、または、たとえば信頼できるソースから、独立に与えられてもよい。その結果、エンドツーエンドの符号と、各符号に対する偽造防止タグの使用との間の従属関係によって、偽造が抑止される。この手法では、外側の物品の中へ内側の物品を梱包する前に、内側の符号が外側の符号と関連付けられ得るように、1回分の薬品、容器、箱、およびまたはパレットについての何らかの情報が、事前に知られていてよい。ここで、1つまたは複数の1回分の薬品102は容器104内に梱包され、1つまたは複数の容器104は箱108内に梱包され、1つまたは複数の箱106はパレット108内に梱包される。符号間の外から内への関連付けは、たとえば、より小さなユニット物品のための符号または識別子が、より小さなユニット物品を格納するより大きなユニットのための符号または識別子に基づくということを、意味し得る。たとえば、第4の符号生成器D120は、1つまたは複数のパラメータD704に基づく第1の符号を生成することができ、第1の符号は、製造業者梱包業者の符号、製造梱包日、1回分の薬品の識別子、容器箱サイズなどを含み得る。つまり、Codepallet702は、1つまたは複数のパラメータD704の関数g1であってよく、またはパラメータD704に等しくてよい。加えて、Codepallet702を偽造者または模倣者から保護するために、Codepallet702は、秘密鍵および暗号学的ハッシュ関数を使って署名され、第1の偽造防止タグSigPrvK703を生成することができる。第1の符号Codepallet702および第1の偽造防止タグSigPrvK703も、パレット108に付加され得る。その後Codepallet702は、対応する公開鍵を使って第2の偽造防止タグSigPrvK703を検証することによって、認証され得る。次に、第3の符号生成器C118は、Codepallet702と、任意選択で1つまたは複数のパラメータC706とに基づく、第2の符号を生成することができる。1つまたは複数のパラメータC706は、製造業者梱包業者の符号、製造梱包日、1回分の薬品の識別子、容器箱サイズなどを含み得る。つまり、Codebox708は、Codepallet702および1つまたは複数のパラメータC706の関数g2であってよく、またはそれらに等しくてよい。加えて、Codebox708を偽造者または模倣者から保護するために、Codebox708は、秘密鍵および暗号学的ハッシュ関数を使って署名され、第2の偽造防止タグSigPrvK709を生成することができる。第2の符号Codebox708および第2の偽造防止タグSigPrvK709は、その後の認証のために箱106に付加され得る。その後第2の符号Codebox708は、対応する公開鍵を使って第2の偽造防止タグSigPrvK709を検証することによって、認証され得る。次いで、第2の符号生成器B116は、Codebox708と、任意選択で1つまたは複数のパラメータB712とに基づく、第3の符号を生成することができる。1つまたは複数のパラメータB712は、製造業者の符号または公開鍵、製造日、1回分の薬品の識別子、容器サイズなどを含み得る。つまり、第3の符号Codecontainer710は、第2の符号Codebox708および1つまたは複数のパラメータB712の関数g3であってよく、またはそれらに等しくてよい。加えて、Codecontainer710を偽造者または模倣者から保護するために、Codecontainer710は、秘密鍵および暗号学的ハッシュ関数を使って署名され、第3の偽造防止タグSigPrvK711を生成することができる。第3の符号Codecontainer708および第3の偽造防止タグSigPrvK711は、その後の認証のために容器104に付加され得る。その後第3の符号Codecontainer710は、対応する公開鍵を使って第3の偽造防止タグSigPrvK711を検証することによって、認証され得る。一実装形態では、第1の符号生成器A114は、Codepallet714と、任意選択で1つまたは複数のパラメータA716とに基づく、第4の符号を生成することができ、第4の符号は、製造業者の符号または公開鍵、製造日、1回分の薬品の識別子などを含み得る。つまり、Codedose714は、Codedose714および1つまたは複数のパラメータA716の関数g4であってよく、またはそれらに等しくてよい。加えて、Codedose714を偽造者または模倣者から保護するために、Codedose714は、秘密鍵および暗号学的ハッシュ関数を使って署名され、第4の偽造防止タグSigPrvK715を生成することができる。第4の符号Codedose714および第4の偽造防止タグSigPrvK715は、その後の認証のために1回分の薬品102に付加され得る。特定の容器104の中の1回分の薬品102のすべては、1回分の薬品のすべてが名目上同一である場合には、同じCodedose714を有してよい。たとえば、製造中に、1回分の薬品102は第4の符号Codedose714によって印を付けられてよく、第4の符号は、製造日、組成、ロット番号、ならびにまたは、製品およびもしくは製造業者と関連付けられる他の情報の関数であってよく、またはそれらに等しくてよい。第4の符号Codedose714は、たとえば、バーコードまたは、他の形態のアルファベット、数字、およびもしくは記号による表現として、1回分の薬品102に付加され得る。第2の実装形態では、第1の符号生成器A114は単に、容器104の中の各々の1回分の薬品102のための第4の符号として、符号または識別子の順次的な列を生成することができる。個々の1回分の薬品のサイズは限られているので、ビット効率の高い暗号による技法を使って、Codedose714を生成することができる。つまり、1回分の薬品102のサイズは小さいので、Codedose714は小さくてよい。最も大きいパッケージサイズから最も小さい1回分の薬品102までに対して使われる符号には従属関係があるので、薬品のエンドツーエンドの関係は、たとえば荷主流通業者110または小売業者112において付加された符号を使って、流通経路の間に検証され得る。加えて、付加された符号の信頼性は、符号を付加された偽造防止タグを使って検証され得る。たとえば、流通業者または通関業者がパレット108を検査して、パレット108中の薬品の信頼性を確認することができる。1回分の薬品102の信頼性は、Codedose714がCodecontainer710およびまたはパラメータA716に基づくかどうかを判定し、第4の偽造防止タグSigPrvK715を使ってCodedose714を認証することによって、検証され得る。同様に、容器104の信頼性は、Codecontainer710がCodebox708およびまたはパラメータB712に基づくかどうかを判定し、第3の偽造防止タグSigPrvK711を使ってCodecontainer710を認証することによって、検証され得る。箱106の信頼性は、Codebox708がCodepallet702およびパラメータC706に基づくかどうかを判定し、第2の偽造防止タグSigPrvK709を使ってCodebox708を認証することによって、検証され得る。最後に、第4の符号Codepallet702が、第4の偽造防止タグSigPrvK703を使って認証され得る。任意の段階において、内側の符号と外側の符号との間の従属関係が立証できない場合、または符号が認証できない場合、認証は失敗する。図8は、エンドツーエンドの製品または物品の認証のための、外から内への暗号による符号化方法を示す。符号の階層が再帰的に生成されてよく、各符号は、物品の階層の中の異なる物品と関連付けられ、符号の階層におけるより上層の符号に基づく。たとえば、符号の階層は、Codedose714、Codecontainer710、Codebox708、およびCodepallet702を含んでよく、Codedose714は階層の最も下のレベルにあり、Codepallet702は階層の最も上のレベルにある。同様に、物品の対応する階層は、物品に1回分の薬品102、容器104、箱106、およびパレット108を含んでよく、1回分の薬品102は階層の最も下のレベルにあり、パレット108は階層の最も上のレベルにある。その結果、Codedose714はCodecontainer710の関数であり、Codecontainer710はCodebox708の関数であり、Codebox708はCodepallet702の関数である。符号の階層における各符号は、対応する偽造防止タグを取得するために、暗号によって他の符号およびまたはパラメータと結びつけられる。符号の階層からの符号と、その対応する偽造防止タグとが、符号の階層および物品の階層における対応する位置に従って、物品の階層の中の各物品に対して付加される。たとえば、Codedose714およびタグSig715は、1回分の薬品102に付加され、Codecontainer710およびタグSig711は、容器104に付加され、Codebox708およびタグSig709は、箱106に付加され、Codepallet702およびタグSig703は、パレット108に付加される。符号の階層および物品の階層における対応する位置とは、符号の階層のレベルKにある符号が、物品の階層の同じレベルKにある物品に対応することを意味する。物品の階層のある特定のレベルにある物品は、物品の階層のすぐ上のレベルにある物品の中に格納され、またはその物品と関連付けられる。たとえば、1つまたは複数の1回分の薬品102は容器104内に格納され、1つまたは複数の容器104は箱106内に格納され、1つまたは複数の箱はパレット108内に格納される。そして、物品の階層の中の物品がユニットとして流通する。たとえば、パレット108は、流通経路を通じて送られ得る。その後、小売業者、届け先、または検問所において、物品の階層の中の物品は、対応する符号を用いて認証されてよく、符号の階層のある特定のレベルにある符号は、符号の階層のより上層のレベルにある符号を用いて認証される。たとえば、箱106は、Codepallet702に基づいてCodebox708を検証または認証することによって、Codebox708に基づいてCodecontainer710を認証することによって、および、Codecontainer710に基づいてCodedose714を認証することによって、認証され得る。各符号はまた、対応する偽造防止タグを使うことによって、認証または検証され得る。図9Aおよび図9Bを含む図9は、エンドツーエンドの認証を支援する、外から内への符号生成のための方法を示す。第1の符号が、第1の物品を識別するために生成される。次いで、第1の偽造防止タグ703が、第1の符号を認証するために生成され得る。たとえば、第1の偽造防止タグは、秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能または認証可能である。そして、第1の符号および第1の偽造防止タグが、第1の物品に付加される。第2の符号が、第2の物品を識別するために第1の符号に基づいて生成され、第1の物品は1つまたは複数の第2の物品を格納する。たとえば、第2の符号は、第1の符号との関連付け、または第2の物品と第1の物品との間の関係を、示すことができる。第2の偽造防止タグ709が、第2の符号を認証するために生成され得る。たとえば、第2の偽造防止タグは、同じ秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第2の符号および第2の偽造防止タグが、第2の物品に付加される。第3の符号が、第3の物品を識別するために第2の符号に基づいて生成され、第2の物品は1つまたは複数の第3の物品を格納する。たとえば、第3の符号は、第2の符号との関連付け、または第3の物品と第2の物品との間の関係を、示すことができる。次いで、第3の偽造防止タグ711が、第3の符号を認証するために生成され得る。たとえば、第3の偽造防止タグは、同じ秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第3の符号および第3の偽造防止タグが、第3の物品に付加される。第4の符号が、第4の物品を認証するために第3の符号に基づいて生成され、第3の物品は1つまたは複数の第4の物品を格納する。たとえば、第4の符号は、第3の符号との関連付け、または第4の物品と第3の物品との間の関係を、示すことができる。次いで、第4の偽造防止タグ715が、第4の符号を認証するために生成され得る。たとえば、第4の偽造防止タグは、同じ秘密鍵および暗号関数を使って生成されてよく、対応する公開鍵を使って検証可能である。そして、第4の符号および第4の暗号による偽造防止タグが、第4の物品に付加される。図10Aおよび図10Bを含む図10は、外から内への暗号による符号化方式を使って符号化された、物品を認証する方法を示す。第4の符号および第4の偽造防止タグ703は、第4の物品から取得される。第4の符号は、第4の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第4の偽造防止タグを検証または認証し、内容物が第4の符号と一致するかどうかを判定する。そのような公開鍵は、第4の物品自体から取得されてよく、または、第4の物品の製造業者梱包業者から提供されてよい。一致しない場合、第4の符号の認証は失敗する。一致する場合、第4の符号の認証は成功する。第3の符号および第3の偽造防止タグ709は、第4の物品の中の第3の物品から取得される。第3の符号は、第3の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第3の偽造防止タグを検証し、内容物が第3の符号と一致するかどうかを判定する。一致しない場合、第3の符号の認証は失敗する。一致する場合、第3の符号の認証は成功する。次いで、第3の物品と第4の物品との間の関係が、第4の符号および第3の符号に基づいて検証される。つまり、第3の符号は第4の符号に基づくので、第3の符号と第4の符号との間の関連付けが確認され得る。第3の符号と第4の符号との間の関連付けが確認できない場合、第3の物品の認証は失敗する。確認できる場合、第3の物品の認証は成功する。次に、第2の符号および第2の偽造防止タグが、第3の物品の中の第2の物品から取得される。第2の符号は、第2の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第2の偽造防止タグを検証し、内容物が第2の符号と一致するかどうかを判定する。一致しない場合、第2の符号の認証は失敗する。一致する場合、第2の符号の認証は成功する。次いで、第2の物品と第3の物品との間の関係が、第2の符号および第3の符号に基づいて検証される。つまり、第2の符号は第3の符号に基づくので、第2の符号と第3の符号との間の関連付けが確認され得る。第2の符号と第3の符号との間の関連付けが確認できない場合、第2の物品の認証は失敗する。確認できる場合、第2の物品の認証は成功する。同様に、第1の符号および第1の偽造防止タグが、第2の物品の中の第1の物品から取得される。第1の符号は、第1の偽造防止タグを使って認証され得る。たとえば、公開鍵を使って、第1の偽造防止タグを検証し、内容物が第1の符号と一致するかどうかを判定する。一致しない場合、第1の符号の認証は失敗する。一致する場合、第1の符号の認証は成功する。次いで、第1の物品と第2の物品との間の関係が、第1の符号および第2の符号に基づいて検証される。つまり、第1の符号は第2の符号に基づくので、第1の符号と第2の符号との間の関連付けが確認され得る。第1の符号と第2の符号との間の関連付けが確認できない場合、第1の物品の認証は失敗する。確認できる場合、第1の物品の認証は成功し、エンドツーエンドの認証が確立される。別の特徴によれば、製品の流通を追跡して、本物の製品の符号の再使用を防ぐことができる。たとえば、パレット108が届け先に到達すると、パレット108の符号は読み取られ、データベースに記録される。その後に同一の符号を有する任意の製品が届けば、それは少なくとも、偽造が発生したことを示す。いくつかの場合には、元の製品または本物の製品が、すでに出荷されデータベースに最初に記録されている。したがって、同一の符号を有するその後の製品は、偽造されたものと考えることができる。しかし、いくつかの場合には、偽造された製品が最初に記録されていることがあり、偽造として検出されない。この状況においても、その後の偽造は検出され、それによって、偽造者による本物の製品の複製が採算に乗る原因である、規模の経済が抑止される。つまり、偽造者が、本物の製品を何とか取得しても、せいぜい単一の偽造された製品しか流通しない。したがって、通常はこれによって、本物の製品の複製は採算が取れなくなる。物品の階層的な符号化のための例示的な装置図11は、物品の階層に対して符号およびまたは暗号による偽造防止タグを再帰的に生成して、流通経路における偽造された物品の混入を抑止するように適合された、装置を示すブロック図である。装置は、エンドツーエンドの暗号方式に従って、符号およびその暗号による偽造防止タグを生成するように適合される、処理回路およびモジュールを含み得る。たとえば、処理回路は、符号生成器1104と暗号による偽造防止タグ生成器1106とを含み得る。符号生成器1104は、内側の物品と外側の物品のいずれかの符号1108と、任意選択で1つまたは複数の物品パラメータ1110を受け取るように適合される。内側の物品の符号は、内から外への方式とともに使うことができ、外側の物品の符号は、外から内への方式とともに使うことができる。1つまたは複数のパラメータ1110は、現在の物品、その製造段階もしくは製造日、製造業者もしくはパッケージ、物品サイズ、およびまたは他の現在の物品の特性を特定することができる。次いで、符号生成器1104が、内側外側の物品の符号1108およびまたは追加の物品パラメータ1110に基づいて、現在の物品の符号1112を生成する。たとえば、符号生成器1104は単に、内側外側の物品の符号1108およびまたは追加の物品パラメータ1110を、新たな現在の物品の符号1112へと組み合わせてよい。あるいは、符号生成器1104は、内側外側の物品の符号1108との関係を示し、または内側外側の物品の符号1108を特定するために、現在の物品の符号1112を生成することができる。暗号による偽造防止タグ生成器1106は、現在の物品の符号1112と、現在の物品もしくはその製造業者、流通業者、およびまたは梱包業者と関連付けられる秘密鍵1116とを、受け取ることができる。暗号による偽造防止タグ生成器1106は、秘密鍵1116および暗号関数を使って、現在の物品の符号1112の現在の物品の偽造防止タグ1114を生成する。現在の物品の符号1112および現在の物品の偽造防止タグ1114は、流通のために、現在の物品に付加され、または場合によっては現在の物品と関連付けられ得る。装置はさらに、現在の物品の符号1112およびまたは現在の物品の偽造防止タグ1114を、物品1120へ付加するように適合される、プリンタ1118を含んでよく、またはプリンタ1118に結合される。プリンタ1118は、物品1120に付加されるラベルを生成することができ、またはプリンタ1118は、符号1112および偽造防止タグ1114を、丸薬へ直接付すことができる。階層的に符号化された物品の検証認証のための例示的な装置図12は、符号の階層の中の少なくとも1つの物品およびまたは暗号による偽造防止タグを検証して、複数の物品の間の関係を認証するように適合された、装置を示すブロック図である。装置は、エンドツーエンドの認証方式に従って、物品の符号およびその暗号による偽造防止タグを認証するように適合される、処理回路およびモジュールを含み得る。たとえば、処理回路は、符号検証器1204と符号認証器1206とを含み得る。装置は、1つまたは複数の物品から、1つまたは複数の物品の符号およびまたは暗号による偽造防止タグを取得するために、物品スキャナ1222を含み得る。符号検証器1204は、現在の物品の符号1208、および、内側の物品と外側の物品のいずれかの符号1210を、受け取りまたは取得するように適合される。内側の物品の符号は、内から外への方式とともに使うことができ、外側の物品の符号は、外から内への方式とともに使うことができる。符号検証器1204は、現在の物品の符号1208が、内側の物品または外側の物品の符号1210との関係、関連付け、およびまたは従属関係を、特定するかどうかまたは示すかどうかを判定する。たとえば、符号検証器1204は単に、現在の物品の符号1208の一部が、内側外側の物品の符号1210を含むかどうかを判定してよい。現在の物品の符号と内側外側の物品の符号との間の関係、特定、または関連付けが立証されると、現在の物品の検証は成功する。現在の物品が検証される前か検証される後のいずれかにおいて、符号認証器1206が、取得された現在の物品の符号1208の信頼性を確認することができる。符号認証器1206は、現在の物品の符号1208、現在の物品の暗号による偽造防止タグ1216、および対応する公開鍵1218を取得する。公開鍵は、製造業者または現在の物品と関連付けられる鍵であってよい。符号認証器1206は、公開鍵を使って現在の物品の偽造防止タグ1216の内容を入手して、偽造防止タグの内容の少なくとも一部を現在の物品の符号1208と比較することによって、現在の物品を認証する。現在の物品の符号1208が、その内容または内容の少なくとも一部と一致すれば、現在の物品の符号1208の認証は成功する。物品の階層的な符号化に基づく物品の検証および認証図13は、物品の階層的な符号化に基づく、物品の検証およびまたは認証を示すブロック図である。ここで、検証デバイス1302を使って、物品の容器と物品の内容物とのいずれかに対して、物品を検証およびまたは認証することができる。この例については、物品A1306が物品B1304を格納すると仮定しよう。ユーザは、物品A1306およびまたは物品B1304が本物であり偽造品ではないことを確かめるために、物品A1306およびまたは物品B1304を認証しようとし得る。ここで、検証デバイス1302は、入力デバイス1314、符号認証器1316、符号検証器1318、および出力デバイス1320を含み得る。入力デバイス1314は、物品A1306から、物品の符号Aおよびまたは対応する偽造防止タグA1312を、取得または記録することができる。同様に、入力デバイス1314は、物品B1304から、物品の符号Bおよびまたは対応する偽造防止タグB1310を、取得または記録することができる。物品の符号が本物であるかどうかを判定するために、入力デバイス1314は、物品の符号とその対応する偽造防止タグを、符号認証器1316に送ることができる。次いで、符号認証器1316は、偽造防止タグを使うことによって、物品の符号を認証することができる。たとえば、符号認証器1316は、物品の製造業者、梱包業者、または流通業者と関連付けられる公開鍵を、取得することができる。そのような公開鍵は、第3者のネットワークデバイスから、または、製造業者もしくは流通業者から、取得され得る。次いで、公開鍵を使って、偽造防止タグの内容を入手する。偽造防止タグの内容が対応する物品の符号と一致する場合、物品の符号の認証は成功する。一致しない場合、物品の符号の認証は失敗する。この処理は、物品の符号Aおよびまたは物品の符号Bに対して実行され得る。そのような認証の結果1322は、出力デバイス1320を介してユーザに提供され得る。物品B1306が本当に物品Aに属しているかどうかを判定するために、符号検証器1318は、物品の符号Aと物品の符号Bとの間に関係があるかどうかを判定しようとする。符号検証器1318は、物品の符号Bが物品の符号Aに基づくかどうかを判定するためのアルゴリズムを使うことによって、この判定を行うことができる。あるいは、符号検証器1318は、別のエンティティによって検証されるように、通信インターフェース1326を介して物品の符号AおよびBのすべてまたは一部を送信することができる。内から外への階層的な符号化方式では、物品の符号Aの検証が成功した場合、物品の符号の検証結果1324が提供される。外から内への階層的な符号化方式では、物品の符号Bの検証が成功した場合、物品の符号の検証結果1324が提供される。そのような検証の結果1324は、出力デバイス1320を介してユーザに提供され得る。この処理は、物品の階層に沿って各物品の信頼性を確認するために、複数の他の物品1308に対して繰り返され得ることに留意されたい。これによって、販売者、流通業者、およびまたは最終消費者が、購入または消費の前に、物品の信頼性を検証できるようになり得る。符号検証器1318および符号認証器1316は、検証デバイス1302内の処理回路1330で動作するソフトウェアとして実装され得ることに留意されたい。図14は、符号の階層に基づいて第1の物品を認証するための方法を示す。第1の物品の符号は、第1の物品から取得される。第1の偽造防止タグも第1の物品から取得され、第1の偽造防止タグは、第1の物品の符号と関連付けられる。第2の物品の符号は第2の物品から取得されてよく、第2の物品は、第1の物品を格納するか、または第1の物品によって格納される。まず、第1の物品の符号の信頼性が、第1の偽造防止タグに基づいて検証され得る。第1の物品の符号の認証に成功しない場合、認証は失敗する。成功した場合、第1の物品はさらに、第2の物品の符号を使うことによって認証されてよく、第1の物品の符号と第2の物品の符号との間の暗号による関係が立証されれば、第1の物品は認証が成功する。第1の物品の符号の認証に成功した場合、認証は成功する。1つの特徴によれば、第1の物品の認証が成功したかしなかったかのインジケータが、提供され得る。一例では、第1の物品の符号と第2の物品の符号との間の暗号による関係は、第1の物品の符号が第2の物品の符号に少なくとも一部基づく場合に、立証される。第1および第2の物品の符号は、符号の階層の一部であってよく、符号の階層のある特定のレベルにある符号は、符号の階層のすぐ下のレベルとすぐ上のレベルのいずれかにある、別の符号を使って認証されることに留意されたい。第1の物品の符号と第2の物品の符号との間の関係、および、各物品の対応する暗号による偽造防止タグによって、第1の物品は流通の間に偽造から守られ得る。この認証方式はさらに、追加の物品に拡張され得る。たとえば、第3の物品の符号は第3の物品から取得することができ、第3の物品は、第2の物品を格納するか、または第2の物品によって格納される。第2の物品は、第3の物品の符号を使うことによって認証されてよく、第2の物品の符号と第3の物品の符号との間の暗号による関係が立証されれば、第2の物品は認証が成功する。図11、図12、および図13に示される装置は、図1~図10および図14に示される方法およびまたは特徴のいずれをも実装するように適合され得る。本明細書で説明された、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムのステップは、電子ハードウェア、ソフトウェア、またはこれら両方の組合せとして、実装または実行され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。構成は、フローチャート、流れ図、構造図またはブロック図として示されるプロセスとして説明され得ることに留意されたい。フローチャートは動作を逐次プロセスとして説明し得るが、動作の多くは並行してまたは同時に実行され得る。さらに、動作の順序は並び替えられ得る。プロセスは、その動作が完了したときに終了する。プロセスは、方法、関数、手順、サブルーチン、サブプログラムなどに対応し得る。プロセスが関数に対応するとき、プロセスの終了は、関数呼出しまたはメイン関数に対する関数のリターンに対応する。ハードウェアで実装される場合、様々な例は、汎用プロセッサ、デジタルシグナルプロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ信号もしくは他のプログラマブル論理デバイス、個別ゲート回路もしくはトランジスタ論理回路、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを、利用することができる。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。ソフトウェアで実装される場合、様々な例は、ファームウェア、ミドルウェア、またはマイクロコードを利用することができる。必要なタスクを実行するためのプログラムコードまたはコードセグメントは、記憶媒体または他の記憶装置のような、機械可読媒体またはコンピュータ可読媒体に記憶され得る。1つまたは複数のプロセッサは、必要なタスクを実行し得る。コードセグメントは、手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェアパッケージ、クラス、または、命令、データ構造、もしくはプログラムステートメントの任意の組合せを表し得る。コードセグメントは、情報、データ、引数、パラメータ、またはメモリ内容を渡し、かつまたは受け取ることによって、別のコードセグメントまたはハードウェア回路に結合され得る。情報、引数、パラメータ、データなどは、メモリ共有、メッセージパッシング、トークンパッシング、ネットワーク送信などを含む、任意の好適な手段を介してパス、転送、または送信され得る。本出願で使用される場合、構成要素、モジュール、システムなどの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、実行中のソフトウェアを問わず、コンピュータ関連のエンティティを指すことが意図されている。たとえば構成要素は、限定はされないが、プロセッサ上で作動しているプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラムおよびまたはコンピュータであってよい。例として、コンピューティングデバイス上で実行されるアプリケーションと、そのコンピューティングデバイスの両方が、構成要素であり得る。1つまたは複数の構成要素は、プロセスおよびまたは実行スレッド内に常駐することができ、1つの構成要素は、1つのコンピュータ上に配置されてよく、かつまたは2つ以上のコンピュータ間に分散されてよい。さらに、これらの構成要素は、様々なデータ構造を記憶している様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケットを有する信号に従うなどして、ローカルプロセスおよびまたはリモートプロセスの方法によって通信することができる。本明細書の1つまたは複数の例では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されてよく、またはコンピュータ可読媒体を介して送信されてよい。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CDROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または、命令もしくはデータ構造の形態の所望のプログラムコードを搬送または記憶するために使用でき、コンピュータによってアクセスできる、任意の他の媒体を含み得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線、または、赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または、赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義内に含まれる。本明細書で使用する場合、ディスクおよびディスクは、コンパクトディスク、レーザディスク、光ディスク、デジタル多用途ディスク、フレキシブルディスク、およびブルーレイディスクを含み、ディスクは、通常、磁気的にデータを再生し、ディスクは、レーザで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。ソフトウェアは、単一の命令、または多数の命令を含んでよく、いくつかの異なるコードセグメント、異なるプログラム、および複数の記憶媒体にわたって分散されてよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合され得る。代替として、記憶媒体はプロセッサと一体であり得る。本明細書で開示される方法は、記載の方法を達成するための1つまたは複数のステップまたは動作を含む。方法ステップおよびまたは動作は、特許請求の範囲から逸脱することなく、互いに交換され得る。言い換えれば、説明されている実施形態の適切な操作のために、ステップまたは動作の特定の順序が必要とされない限り、特定のステップおよびまたは動作の、順序およびまたは使用は、特許請求の範囲から逸脱することなく修正され得る。図面に示された構成要素、ステップ、およびまたは機能の1つまたは複数は、本明細書で説明された特徴を伴うことなく、単一の構成要素、ステップ、機能へと再構成およびもしくは結合されてよく、または、いくつかの構成要素、ステップ、または機能に組み込まれてもよい。また、本発明から逸脱することなく追加の要素、構成要素、ステップ、およびまたは機能が追加され得る。本明細書で説明される新規のアルゴリズムは、ソフトウェアで効率的に実装されてよく、かつまたはハードウェアに組み込まれてもよい。さらに、本明細書で開示される実施形態に関して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることを当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。実施形態の説明は、例示的なものであり、特許請求の範囲を限定するものではない。したがって、本教示は、他のタイプの装置、ならびに多くの代替形態、変更形態、および変形形態に容易に適用され得ることが、当業者に明らかであろう。