(57)【要約】  本出願はエンティティの認証方法及び装置を開示し、エンティティＡエンティティＢに第１ＩＤ 認証メッセージを送信し、エンティティＢが第１ＩＤ 認証メッセージを受信した後エンティティＡ証明書の有効性を検査し、エンティティＢはエンティティＡに第２ＩＤ 認証メッセージを送信し、エンティティＡが第２ＩＤ 認証メッセージを受信した後フィールドデータの正確性を検査し、エンティティＡは、自分の私有鍵及びエンティティＢの臨時公開鍵を利用して秘密情報及びメッセージ認証コードを計算し、第３ＩＤ 認証メッセージをエンティティＢに送信する。エンティティＢは第３ＩＤ 認証メッセージを受信した後フィールドデータの正確性を検査し、エンティティＢは自分の私有鍵及びエンティティＡの臨時公開鍵を利用して秘密情報及びメッセージ認証コードを計算し、第４ＩＤ 認証メッセージをエンティティＡに送信し、エンティティＡは、第４ＩＤ 認証メッセージを受信し、エンティティＢの正当性を検査する。こうして、本出願は、ＮFC機器が含まれる無線インターフェース通信機器のために、ＩＤ 認証メカニズムを提供し、通信双方ＩＤの正当性及び確実性を確保する。
2017517915.tif 000002
【特許請求の範囲】
【請求項１】
エンティティＡは、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信するステップ１であって、前記ＮＡはエンティティＡにより生成された乱数であり、ＣｅｒｔＡはエンティティＡの証明書である前記ステップ１と、
エンティティＢは、エンティティＡから第１ＩＤ 認証メッセージを受信した後、第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止するステップ２と、
エンティティＢは、乱数ＮＢを生成し、自分の私有鍵ＣＳＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算し、エンティティＢはエンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信するステップ３であって、前記ＳＩＧはデジタル署名のアルゴリズムであり、ＩＤＡ及びＩＤＢそれぞれはエンティティＡ及びエンティティＢの識別子情報であり、ＱＢはエンティティＢの臨時公開鍵であり、其中ＣｅｒｔＢはエンティティＢの証明書である前記ステップ３と、
エンティティＡは、エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップ４と、
エンティティＡは、自分の私有鍵ＣＳＡを利用してエンティティＡのデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算し、エンティティＡは、エンティティＢの臨時公開鍵ＱＢがすでに格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止するステップ５であって、前記ＱＡはエンティティＡの臨時公開鍵である前記ステップ５と、
エンティティＡは、ＥＣＤＨ鍵交換プロトコルにより、エンティティＡにより事前に生成された臨時私有鍵ｄＡ及びエンティティＢの臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、エンティティＡは算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ)を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージをエンティティＢに送信するステップ６であって、前記ｆは鍵演算関数であり、前記ＫＤＦは鍵導出アルゴリズムであり、前記ＭＡＣ１はメッセージ認証コードの演算方法である前記ステップ６と、
エンティティＢは、エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップ７と、
エンティティＢは、エンティティＡの臨時公開鍵ＱＡがすでに格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止するステップ８と、
エンティティＢは、ＥＣＤＨ鍵交換プロトコルにより、エンティティＢにより事前に生成された臨時私有鍵ｄＢ及びエンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、エンティティＢは算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、受信したエンティティＡからの第３ＩＤ 認証メッセージに含まれるＭａｃＴａｇＡと比較して、等しくなければ、認証を終止し、等しければ、エンティティＢは、エンティティＡが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、ＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージをエンティティＡに送信するステップ９と、
エンティティＡは、エンティティＢから第４ＩＤ 認証メッセージを受信した後、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算して、受信した第４ＩＤ 認証メッセージに含まれるＭａｃＴａｇＢと比較して、等しくなければ、エンティティＢが非法であるとみなし、等しければ、エンティティＢが正当であるとみなすステップ１０とを備えることを特徴とするエンティティの認証方法。
【請求項２】
前記ステップ４において、エンティティＡが、エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、
エンティティＡは、受信した前記第２ＩＤ 認証メッセージに含まれる乱数ＮＡが自分がエンティティＢに送信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではないステップ４.１と、
エンティティＡは、前記第２ＩＤ 認証メッセージに含まれるＣｅｒｔＢの有効性を検査し、無効であれば、検証は正確ではないステップ４.２と、
エンティティＡは、エンティティＢの公開鍵ＣＰＢを利用してＳｉｇＢを検証し、エンティティＢが正当であるかを検査し、非法であれば、検証は正確ではないステップ４.３であって、前記エンティティＢの公開鍵ＣＰＢはエンティティＢの証明書ＣｅｒｔＢに含まれる前記ステップ４.３とを備え、
ここで、いずれかの１項の検証が正確ではなければ、エンティティＡが受信したＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢに対する検査結果が正確ではないとみなすことを特徴とする請求項１に記載のエンティティの認証方法。
【請求項３】
前記ステップ７において、エンティティＢが、エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、
エンティティＢは、検証受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＡが前回受信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではないステップ７.１と、
エンティティＢは、検証受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＢが自分からエンティティＡに送信した乱数ＮＢと一致するかを検査し、一致しなければ、検証は正確ではないステップ７.２と、
エンティティＢは、エンティティＡの公開鍵ＣＰＡを利用してＳｉｇＡを検証し、エンティティＡが正当であるかを検査し、非法であれば、検証は正確ではないステップ７.３であって、前記エンティティＡの公開鍵ＣＰＡはエンティティＡの証明書ＣｅｒｔＡに含まれるステップ７.３とを備え、
ここで、いずれかの１項の検証が正確ではなければ、エンティティＢが受信したが含まれるＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡに対する検査結果が正確ではないとみなすことを特徴とする請求項１に記載のエンティティの認証方法。
【請求項４】
乱数ＮＡを生成し、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信するステップであって、前記ＣｅｒｔＡはエンティティＡの証明書である前記送信ステップと、
エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップと、
自分の私有鍵ＣＳＡ及び臨時公開鍵ＱＡを利用してデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算し、エンティティＢの臨時公開鍵ＱＢがすでに格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止するステップと、
ＥＣＤＨ鍵交換プロトコルにより、事前に生成された臨時私有鍵ｄＡ及びエンティティＢの臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージをエンティティＢに送信するステップであって、前記ＫＤＦは鍵導出アルゴリズムである送信ステップと、
エンティティＢから第４ＩＤ 認証メッセージを受信した後、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、受信した第４ＩＤ 認証メッセージに含まれるＭａｃＴａｇＢと比較して、等しくなければ、エンティティＢが非法であるとみなし、等しければ、エンティティＢが正当であるとみなすステップとを備え、
ここで、前記ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡはエンティティＡのＩＤ識別子であり、ＩＤＢはエンティティＢのＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法であることを特徴とするエンティティＡとエンティティＢのエンティティ認証場合の、エンティティＡの動作方法。
【請求項５】
前記エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、
受信した前記第２ＩＤ 認証メッセージに含まれる乱数ＮＡが自分がエンティティＢに送信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではないステップと、
受信した前記第２ＩＤ 認証メッセージに含まれるＣｅｒｔＢの有効性を検査し、無効であれば、検証は正確ではないステップと、
エンティティＢの公開鍵ＣＰＢを利用してＳｉｇＢを検証し、エンティティＢが正当であるかを検査し、非法であれば、検証は正確ではないステップであって、前記エンティティＢの公開鍵ＣＰＢはエンティティＢの証明書ＣｅｒｔＢに含まれる前記ステップとを備え、
ここで、いずれかの１項の検証が正確ではなければ、受信したＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢに対する検査結果が正確ではないとみなすことを特徴とする請求項４に記載のエンティティＡとエンティティＢのエンティティ認証場合の、エンティティＡの動作方法。
【請求項６】
エンティティＡからＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを受信した後、第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止し、乱数ＮＢを生成し、自分の私有鍵ＣＳＢ及び臨時公開鍵ＱＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算し、エンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信するステップであって、前記ＣｅｒｔＢは証明書である前記ステップと、
エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップと、 
エンティティＡの臨時公開鍵ＱＡがすでに格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止するステップと、
ＥＣＤＨ鍵交換プロトコルにより、事前に生成された臨時私有鍵ｄＢ及びエンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、受信したエンティティＡからの第３ＩＤ 認証メッセージに含まれるＭａｃＴａｇＡと比較して、等しくなければ、認証を終止し、等しければ、エンティティＡが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、ＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージをエンティティＡに送信するステップとを、備え、
ここで、前記ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡはエンティティＡのＩＤ識別子であり、ＩＤＢはエンティティＢのＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法であることを特徴とするエンティティＡとエンティティＢのエンティティ認証場合の、エンティティＢの動作方法。
【請求項７】
前記エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、
受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＡが前回受信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではないステップと、
受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＢが自分からエンティティＡに送信した乱数ＮＢと一致するかを検査し、一致しなければ、検証は正確ではないステップと、
エンティティＡの公開鍵ＣＰＡを利用してＳｉｇＡを検証し、エンティティＡが正当であるかを検査し、非法であれば、検証は正確ではないステップであって、エンティティＡの公開鍵ＣＰＡはエンティティＡの証明書にＣｅｒｔＡ含まれる前記ステップとを備え、
ここで、いずれかの１項の検証が正確ではなければ、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡに対する検査結果が正確ではないとみなすことを特徴とする請求項６に記載のエンティティＡとエンティティＢのエンティティ認証場合の、エンティティＢの動作方法。
【請求項８】
他の装置とのエンティティ認証のための装置であって、
前記装置は、格納ユニットと、プロセスユニットと、送受信ユニットとを備え、
前記格納ユニットは、前記装置の証明書ＣｅｒｔＡと、私有鍵ＣＳＡとを格納し、
前記プロセスユニットは、乱数ＮＡと、臨時私有鍵ｄＡと、臨時公開鍵ＱＡとを生成し、
前記送受信ユニットは、前記他の装置にＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信し、前記他の装置からＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信し、
さらに、プロセスユニットは、受信した、前記他の装置からのＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを検証し、正確ではないとの検査結果の場合、認証を終止し、
さらに、プロセスユニットは、私有鍵ＣＳＡ及び臨時公開鍵ＱＡを利用してデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ)を計算し、
さらに、プロセスユニットは、前記他の装置の臨時公開鍵ＱＢが格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止し、
前記プロセスユニットは、ＥＣＤＨ鍵交換プロトコルにより、臨時私有鍵ｄＡ及び前記他の装置の臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算が正確である場合、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、
前記送受信ユニットは、前記他の装置にＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを送信し、前記他の装置からＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージを受信し、
前記プロセスユニットは、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、算出したＭａｃＴａｇＢを前記他の装置からのＭａｃＴａｇＢと比較して、等しければ、前記他の装置ＩＤが正当であるとみなし、
前記ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡは前記装置のＩＤ識別子であり、ＩＤＢは前記他の装置のＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法であることを特徴とする装置。
【請求項９】
前記プロセスユニットが、受信した、前記他の装置からのＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを検証することは、
プロセスユニットは、受信した前記第２ＩＤ 認証メッセージに含まれる乱数ＮＡが自分が前記他の装置に送信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではなく、
プロセスユニットは、受信した前記第２ＩＤ 認証メッセージに含まれるＣｅｒｔＢの有効性を検査し、無効であれば、検証は正確ではなく、
プロセスユニットは、前記他の装置の公開鍵ＣＰＢを利用してＳｉｇＢを検証し、前記他の装置が正当であるかを検査し、非法であれば、検証は正確ではなく、前記他の装置の公開鍵ＣＰＢは前記他の装置の証明書ＣｅｒｔＢに含まれる、ことであり、
ここで、いずれかの１項の検証が正確ではなければ、受信したＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢに対する検査結果が正確ではないとみなすことを特徴とする請求項8に記載の装置。
【請求項１０】
他の装置とのエンティティ認証のための装置であって、前記装置は、格納ユニットと、プロセスユニットと、送受信ユニットとを備え、
前記格納ユニットは、前記装置の証明書ＣｅｒｔＢと、私有鍵ＣＳＢとを格納し、
前記プロセスユニットは、乱数ＮＢと、臨時私有鍵ｄＢと、臨時公開鍵ＱＢとを生成し、
前記送受信ユニットは、前記他の装置からのＮＡ||ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを受信し、
前記プロセスユニットは、受信した前記他の装置からの第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止し、私有鍵ＣＳＢ及び臨時公開鍵ＱＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算し、
前記送受信ユニットは、前記他の装置にＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信し、前記他の装置からＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信し、
前記プロセスユニットは、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを検証し、正確ではないとの検査結果の場合、認証を終止し、 
前記プロセスユニットは、前記他の装置の臨時公開鍵ＱＡが格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止し、
前記プロセスユニットは、ＥＣＤＨ鍵交換プロトコルにより、臨時私有鍵ｄＢ及び前記他の装置の臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算が正確である場合、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、算出したＭａｃＴａｇＡを前記他の装置からのＭａｃＴａｇＡと比較して、等しければ、前記他の装置ＩＤが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、
前記送受信ユニットは、前記他の装置にＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージを送信し、
前記ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡは前記他の装置のＩＤ識別子であり、ＩＤＢは前記装置のＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法であることを特徴とする装置。
【請求項１１】
前記プロセスユニットが、受信した、前記他の装置からの包括ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを検証することは、
プロセスユニットは、受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＡが前回受信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではない、
プロセスユニットは、受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＢが自分が前記他の装置に送信した乱数ＮＢと一致するかを検査し、一致しなければ、検証は正確ではない、
プロセスユニットは前記他の装置の公開鍵ＣＰＡを利用してＳｉｇＡを検証し、前記他の装置が正当であるかを検査し、非法であれば、検証は正確ではない、前記他の装置の公開鍵ＣＰＡは前記他の装置の証明書ＣｅｒｔＡに含まれることであり、
ここで、いずれかの１項の検証が正確ではなければ、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡに対する検査結果が正確ではないとみなすことを特徴とする請求項１０に記載の装置。
【請求項１２】
前記第１ＩＤ 認証メッセージは、ＡCT_REＱプロトコルデータユニットにて埋め込まれた後に伝送されたものであり、前記第２ＩＤ 認証メッセージはＡCT_RESプロトコルデータユニットにて埋め込まれた後に伝送されたものであり、前記第３ＩＤ 認証メッセージはＶＦＹ＿ＲＥＱプロトコルデータユニットにて埋め込まれた後に伝送されたものであり、前記第４ＩＤ 認証メッセージはＶＦＹ＿ＲＥＳプロトコルデータユニットにて埋め込まれた後に伝送されたものであり、前記ＡＣＴ＿ＲＥＱ、ＡＣＴ＿ＲＥＳ、ＶＦＹ＿ＲＥＱ及びＶＦＹ＿ＲＥＳはＩＳＯスラッシュＩＥＣ １３１５７-１により定義されたプロトコルデータユニットフォーマットに適合することを特徴とする請求項１ないし請求項１１のいずれか１項に記載の前記方法または前記装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願はネットワークセキュリティ技術分野に関し、特にエンティティの認証方法及び装置に関する。 
【背景技術】
【０００２】
近距離無線通信（Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ、ＮＦＣ）技術は、無線インターフェースを介して通信するが、いかなる物理または有形な接続が要らないものであり、広く汎用される一方、攻撃者による通信双方の情報盗聴または違法収集、複製または偽造手法で正規カードを偽るか、高周波電力でカードリーダー内の秘密情報を遠隔に読み出して、バックエンドサーバにより復号してカード内の情報を不正取得する目的を達成するなどの多様なセキュリティ問題も起こしている。このような攻撃に対し、ＮFC技術は、偽造防止性が不可欠となり、通信双方のＩＤ 認証メカニズムを採用して、カードリーダーとのＩＤ 認証機能を提供し、通信双方ＩＤの的正当性及び確実性を確保する。しかし、従来のＮFC無線インターフェース通信技術にはＩＤ 認証メカニズムが設定されておらず、セキュリティリスクが高い。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本出願は、背景技術で指摘された問題点を解決するため、エンティティの認証方法及び装置を提供するものである。
【課題を解決するための手段】
【０００４】
エンティティの認証方法は、
エンティティＡは、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信するステップ１であって、ＮＡはエンティティＡにより生成された乱数であり、ＣｅｒｔＡはエンティティＡの証明書である前記ステップ１と、
エンティティＢは、エンティティＡから第１ＩＤ 認証メッセージを受信した後、第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止するステップ２と、
エンティティＢは、ＮＢを生成し、自分の私有鍵ＣＳＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ)を計算し、エンティティＢは、エンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信するステップ３であって、ＳＩＧはデジタル署名のアルゴリズムであり、ＩＤＡ及びＩＤＢそれぞれはエンティティＡ及びエンティティＢの識別子情報であり、ＱＢはエンティティＢの臨時公開鍵であり、ＣｅｒｔＢはエンティティＢの証明書である前記ステップ３と、
エンティティＡは、エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップ４と、
エンティティＡは、自分の私有鍵ＣＳＡを利用してエンティティＡのデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算し、エンティティＡは、エンティティＢの臨時公開鍵ＱＢがすでに格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止するステップ５であって、前記ＱＡはエンティティＡの臨時公開鍵である前記ステップ５と、
エンティティＡは、ＥＣＤＨ鍵交換プロトコルにより、エンティティＡにより事前に生成された臨時私有鍵ｄＡ及びエンティティＢの臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、前記ｆは鍵演算関数であり、計算間違いがあれば、認証を終止し、計算が正確であれば、エンティティＡは算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージをエンティティＢに送信するステップ６であって、前記ＫＤＦは鍵導出アルゴリズムであり、前記ＭＡＣ１はメッセージ認証コードの演算方法である前記ステップ６と、
エンティティＢは、エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップ７と、
エンティティＢは、エンティティＡの臨時公開鍵ＱＡがすでに格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止するステップ８と、
エンティティＢは、ＥＣＤＨ鍵交換プロトコルにより、エンティティＢにより事前に生成された臨時私有鍵ｄＢ及びエンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、エンティティＢは算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ)を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、受信したエンティティＡからの第３ＩＤ 認証メッセージに含まれるＭａｃＴａｇＡと比較して、等しくなければ、認証を終止し、等しければ、エンティティＢは、エンティティＡが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、ＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージをエンティティＡに送信するステップ９と、
エンティティＡは、エンティティＢから第４ＩＤ 認証メッセージを受信した後、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、受信した第４ＩＤ 認証メッセージに含まれるＭａｃＴａｇＢと比較して、等しくなければ、エンティティＢが非法であるとみなし、等しければ、エンティティＢが正当であるとみなすステップ１０とを備える。
【０００５】
エンティティＡとエンティティＢのエンティティ認証場合の、エンティティＡの動作方法は、
乱数ＮＡを生成し、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信するステップであって、ＣｅｒｔＡはエンティティＡの証明書である前記送信ステップと、
エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップと、
自分の私有鍵ＣＳＡ及び臨時公開鍵ＱＡを利用してデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算し、エンティティＢの臨時公開鍵ＱＢがすでに格納されているかを検証し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止するステップと、
ＥＣＤＨ鍵交換プロトコルにより、事前に生成された臨時私有鍵ｄＡ及びエンティティＢの臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージをエンティティＢに送信するステップと、
エンティティＢから第４ＩＤ 認証メッセージを受信した後、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、受信した第４ＩＤ 認証メッセージに含まれるＭａｃＴａｇＢと比較して、等しくなければ、エンティティＢが非法であるとみなし、等しければ、エンティティＢが正当であるとみなすステップとを備える。
【０００６】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡはエンティティＡのＩＤ識別子であり、ＩＤＢはエンティティＢのＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【０００７】
エンティティＡとエンティティＢのエンティティ認証場合の、エンティティＢの動作方法は、
エンティティＡからＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを受信した後、第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止し、乱数ＮＢを生成し、自分の私有鍵を利用してＣＳＢ及び臨時公開鍵ＱＢデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算し、エンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信するステップであって、ＣｅｒｔＢ証明書である前記送信ステップと、
エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止するステップと、 
エンティティＡの臨時公開鍵ＱＡ、がすでに格納されている場合ＱＡがすでに格納されているかを検査し、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止するステップと、
ＥＣＤＨ鍵交換プロトコルにより、事前に生成された臨時私有鍵ｄＢ及びエンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ)を計算し、受信したエンティティＡからの第３ＩＤ 認証メッセージに含まれるＭａｃＴａｇＡと比較して、等しくなければ、認証を終止し、等しければ、エンティティＡが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、ＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージをエンティティＡに送信するステップとを備える。
【０００８】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡはエンティティＡのＩＤ識別子であり、ＩＤＢはエンティティＢのＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【０００９】
他の装置とのエンティティ認証のための装置であって、前記装置は、格納ユニットと、プロセスユニットと、送受信ユニットとを備える。
【００１０】
前記格納ユニットは、前記装置の証明書ＣｅｒｔＡと、私有鍵ＣＳＡとを格納し、
前記プロセスユニットは、乱数ＮＡと、臨時私有鍵ｄＡと、臨時公開鍵ＱＡとを生成し、
前記送受信ユニットは、前記他の装置にＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信し、前記他の装置からＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信し、
前記プロセスユニットは、受信した、前記他の装置からのＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを検証し、正確ではないとの検査結果の場合、認証を終止し、
さらに、前記プロセスユニットは、私有鍵ＣＳＡ及び臨時公開鍵ＱＡを利用してデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ)を計算し、
さらに、プロセスユニットは、前記他の装置の臨時公開鍵ＱＢが格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し無効であれば、認証を終止し、
さらに、前記プロセスユニットは、ＥＣＤＨ鍵交換プロトコルにより、ｄＡ及び前記他の装置の臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算が正確である場合、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、
さらに、前記送受信ユニットは、前記他の装置にＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを送信しを送信し、前記他の装置からＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージを受信し、
さらに、前記プロセスユニットは、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、算出したＭａｃＴａｇＢを前記他の装置からのＭａｃＴａｇＢと比較して、等しければ、前記他の装置ＩＤが正当であるとみなす。
【００１１】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡは前記装置のＩＤ識別子であり、ＩＤＢは前記他の装置のＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【００１２】
他の装置とのエンティティ認証のための装置であって、前記装置は、格納ユニットと、プロセスユニットと、送受信ユニットとを備える。
【００１３】
前記格納ユニットは、前記装置の証明書ＣｅｒｔＢと、私有鍵ＣＳＢとを格納し、
前記プロセスユニットは、乱数ＮＢと、臨時私有鍵ｄＢと、臨時公開鍵ＱＢとを生成し、
前記送受信ユニットは、前記他の装置からのＮＡ||ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを受信しし、
前記プロセスユニットは、受信した前記他の装置からの第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止し、私有鍵ＣＳＢ及び臨時公開鍵ＱＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算し、
さらに、前記送受信ユニットは、前記他の装置にＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信し、前記他の装置からＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信し、
さらに、プロセスユニットは、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを検証し、正確ではないとの検査結果の場合、認証を終止し、
さらに、前記プロセスユニットは、前記他の装置の臨時公開鍵ＱＡが格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止し、
さらに、プロセスユニットは、ＥＣＤＨ鍵交換プロトコルにより、臨時私有鍵ｄＢ及び前記他の装置の臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ)を計算し、計算が正確である場合、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ)を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ)を計算し、算出したＭａｃＴａｇＡを前記他の装置からのＭａｃＴａｇＡと比較して、等しければ、前記他の装置ＩＤが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、
さらに、送受信ユニットは、前記他の装置にＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージを送信する。
【００１４】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡは前記他の装置のＩＤ識別子であり、ＩＤＢは前記装置のＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【発明の効果】
【００１５】
本出願の発明の効果は以下とおりである。
【００１６】
ＮFC機器が含まれる無線インターフェース通信機器のために、ＩＤ 認証メカニズムを提供し、通信双方ＩＤの的正当性及び確実性を確保でき、かつ広い範囲で適用できる。
【図面の簡単な説明】
【００１７】
ここでの図面への説明は、本出願の一部とであり、本出願を理解させるためのものであり、本出願を限定するためのものではない。
【図１】は本出願に係るエンティティの認証方法のローチャートである
【図２】は本出願に係るエンティティＡに対応する装置の構造図である。
【図３】は本出願に係るエンティティＢに対応する装置の構造図である。
【発明を実施するための形態】
【００１８】
本出願はエンティティの認証方法及び装置を提供する。本出願はエンティティＡ及びエンティティＢを監視、認証の前に、通信双方のエンティティＡ及びエンティティＢそれぞれは、自分の証明書ＣｅｒｔＡ及びＣｅｒｔＢと、私有鍵ＣＳＡ及びＣＳＢを有し、相手の証明書正当性の能力を認証し、相手の識別子情報を取得する。図１に示すように、本出願に係るエンティティの認証方法は以下のステップを備える。
【００１９】
ステップ１において、エンティティＡは、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信する。前記ＮＡはエンティティＡにより生成された乱数であり、ＣｅｒｔＡはエンティティＡの証明書である。ここで、「||」はフィールド間の連結（ｃｏｎｃａｔｅｎａｔｅ）を示し、フィールドの順番を制限。以下も同様である。また、本出願において、「||」により連結（ｃｏｎｃａｔｅｎａｔｅ）された後のフィールドは、「フィールドグルプ」になるとみなすことができる。説明したいのは、本出願における「フィールドグルプ」は開放型であり、本出願に係る実施例の「フィールドグルプ」に含まれるフィールドの以外、他のフィールドも「フィールドグルプ」に含まれる可能性がある。
【００２０】
ステップ２において、エンティティＢは、エンティティＡから第１ＩＤ 認証メッセージを受信した後、第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止する。
【００２１】
ステップ３において、エンティティＢは乱数ＮＢを生成し、自分の私有鍵ＣＳＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算する。ここで、ＳＩＧはデジタル署名のアルゴリズムであり、ＩＤＡ及びＩＤＢそれぞれはエンティティＡ及びエンティティＢの識別子情報であり、ＱＢはエンティティＢの臨時公開鍵であり、エンティティＢはエンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信する。ここで、ＣｅｒｔＢはエンティティＢの証明書である。
【００２２】
ステップ４において、エンティティＡは、エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信した後、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止する。
【００２３】
ステップ５において、エンティティＡは、自分の私有鍵ＣＳＡを利用してエンティティＡのデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算する。ここで、ＱＡはエンティティＡの臨時公開鍵である。エンティティＡは、エンティティＢの臨時公開鍵ＱＢがすでに格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止する。
【００２４】
ステップ６において、エンティティＡは、ＥＣＤＨ鍵交換プロトコルにより、エンティティＡにより事前に生成された臨時私有鍵を利用してｄＡ及びエンティティＢの臨時公開鍵ＱＢ秘密情報を計算しｚ=ｆ(ｄＡ, ＱＢ)、其中ｆは鍵演算関数であり、計算間違いがあれば、認証を終止し、計算が正確であれば、エンティティＡは算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算しする。ここで、ＫＤＦは鍵導出アルゴリズムであり、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算する。ここで、ＭＡＣ１はメッセージ認証コードの演算方法である。ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージをエンティティＢに送信する。
【００２５】
ステップ７において、エンティティＢは、エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止する。
【００２６】
ステップ８において、エンティティＢは、エンティティＡの臨時公開鍵ＱＡがすでに格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止する。
【００２７】
ステップ９において、エンティティＢは、ＥＣＤＨ鍵交換プロトコルにより、エンティティＢにより事前に生成された臨時私有鍵ｄＢ及びエンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、エンティティＢは算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、受信したエンティティＡからの第３ＩＤ 認証メッセージに含まれるＭａｃＴａｇＡと比較して、等しくなければ、認証を終止し、等しければ、エンティティＢは、エンティティＡが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、ＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージをエンティティＡに送信する。
【００２８】
ステップ１０において、エンティティＡは、エンティティＢから第４ＩＤ 認証メッセージを受信した後、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、受信した第４ＩＤ 認証メッセージに含まれるＭａｃＴａｇＢと比較して、等しくなければ、エンティティＢが非法であるとみなし、等しければ、エンティティＢが正当であるとみなす。
【００２９】
ここで、認証は終了する。
【００３０】
具体的に、上述ののステップ４においてエンティティＡが、エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信し、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップはさらに以下のステップによりなる。
【００３１】
ステップ４.１において、エンティティＡは、受信した前記第２ＩＤ 認証メッセージに含まれる乱数ＮＡが自分がエンティティＢに送信した乱数ＮＡと一致するかを検査し、一致しなければ、認証は正確ではない。
【００３２】
ステップ４.２において、エンティティＡは、前記第２ＩＤ 認証メッセージに含まれるＣｅｒｔＢの有効性を検査し、無効であれば、認証は正確ではない。
【００３３】
ステップ４.３において、エンティティＡは、エンティティＢの公開鍵ＣＰＢを利用してＳｉｇＢを認証し、エンティティＢが正当であるかを検査し、非法であれば、認証は正確ではない。ここで、エンティティＢの公開鍵ＣＰＢはエンティティＢの証明書ＣｅｒｔＢに含まれる。
【００３４】
説明すべきのは、上記の検査には厳しい順番要求がなく、かついずれの１つの検証が正確ではなければ、エンティティＡが受信したＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢに対する検査結果が正確ではないとみなす。
【００３５】
具体的に、上述のステップ７において、エンティティＢが、エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、以下のステップをさらに備える。
【００３６】
ステップ７.１において、エンティティＢは、受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＡが前回受信した乱数ＮＡと一致するかを検査し、一致しなければ、認証は正確ではない。
【００３７】
ステップ７.２において、エンティティＢは、検証受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＢが自分からエンティティＡに送信した乱数ＮＢと一致するかを検査し、一致しなければ、検証は正確ではない。
【００３８】
ステップ７.３において、エンティティＢは、エンティティＡの公開鍵ＣＰＡを利用してＳｉｇＡを検証し、エンティティＡが正当であるかを検査し、非法であれば、検証は正確ではない。ここで、エンティティＡの公開鍵ＣＰＡはエンティティＡの証明書ＣｅｒｔＡに含まれる説明すべきのは、上記の検査には厳しい順番要求がなく、かついずれの１つの検証が正確ではなければ、エンティティＢが受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれるに対する検査結果が正確ではないとみなす。
【００３９】
上述のエンティティの認証方法に基づいて、本出願は上述の方法を実施するエンティティＡの動作方法を提供し。以下、詳細に説明する。
【００４０】
乱数ＮＡを生成し、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信する。ここで、ＣｅｒｔＡはエンティティＡの証明書である。
【００４１】
エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信し、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止する。
【００４２】
自分の私有鍵ＣＳＡ及び臨時公開鍵を利用してＱＡデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算しエンティティＢの臨時公開鍵ＱＢがすでに格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止する。
【００４３】
ＥＣＤＨ鍵交換プロトコルにより、事前に生成された臨時私有鍵ｄＡ及びエンティティＢの臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージをエンティティＢに送信する。
【００４４】
エンティティＢから第４ＩＤ 認証メッセージを受信した後、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算し、受信した第４ＩＤ 認証メッセージに含まれるＭａｃＴａｇＢと比較して、等しくなければ、エンティティＢが非法であるとみなし、等しければ、エンティティＢが正当であるとみなす。
【００４５】
ここで、認証は終了する。
【００４６】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡはエンティティＡのＩＤ識別子であり、ＩＤＢはエンティティＢのＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【００４７】
具体的に、上述のエンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信し、第２ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、以下で詳細に説明する。
【００４８】
受信した前記第２ＩＤ 認証メッセージに含まれる乱数ＮＡが自分がエンティティＢに送信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではない。
【００４９】
受信した前記第２ＩＤ 認証メッセージに含まれるＣｅｒｔＢの有効性を検査し、無効であれば、検証は正確ではない。
【００５０】
エンティティＢの公開鍵ＣＰＢを利用してＳｉｇＢを検証し、エンティティＢが正当であるかを検査し、非法であれば、検証は正確ではない。ここで、エンティティＢの公開鍵ＣＰＢはエンティティＢの証明書ＣｅｒｔＢに含まれる。
【００５１】
説明すべきのは、上記の検査には厳しい順番要求がなく、かついずれの１つの検証が正確ではなければ、受信したＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢに対する検査結果が正確ではないとみなす。
【００５２】
上述のエンティティの認証方法に基づいて、本出願は、上述の方法を実施するエンティティＢの動作方法を提供し、以下で説明する。
【００５３】
エンティティＡからＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを受信した後、第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止する。乱数ＮＢを生成し、自分の私有鍵ＣＳＢ及び臨時公開鍵ＱＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ) を計算し、エンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信する。ここで、ＣｅｒｔＢは証明書である。
【００５４】
エンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査し、正確ではないとの検査結果の場合、認証を終止する。 
【００５５】
エンティティＡの臨時公開鍵ＱＡがすでに格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止する。
【００５６】
ＥＣＤＨ鍵交換プロトコルにより、事前に生成された臨時私有鍵ｄＢ及びエンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算間違いがあれば、認証を終止し、計算が正確であれば、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、受信したエンティティＡからの第３ＩＤ 認証メッセージに含まれるＭａｃＴａｇＡと比較して、等しくなければ、認証を終止し、等しければ、エンティティＡが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算し、ＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージをエンティティＡに送信する。
【００５７】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡはエンティティＡのＩＤ識別子であり、ＩＤＢはエンティティＢのＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【００５８】
具体的に、上述のエンティティＡからＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信した後、第３ＩＤ 認証メッセージに含まれるフィールドデータの正確性を検査するステップは、以下で詳細に説明する。
【００５９】
受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＡが前回受信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではない。
【００６０】
受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＢが自分からエンティティＡに送信した乱数ＮＢと一致するかを検査し、一致しなければ、検証は正確ではない。
【００６１】
エンティティＡの公開鍵ＣＰＡを利用してをＳｉｇＡ検証し、エンティティＡが正当であるかを検査し、非法であれば、検証は正確ではない。ここで、エンティティＡの公開鍵ＣＰＡはエンティティＡの証明書ＣｅｒｔＡに含まれる。
【００６２】
説明すべきのは、上記の検査には厳しい順番要求がなく、かついずれの１つの検証が正確ではなければ、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡに対する検査結果が正確ではないとみなす。
【００６３】
図２に示すように、上述のエンティティの認証方法に基づいて、本出願は上述の方法を実施するエンティティＡに対応する装置を提供し、当該装置は格納ユニット２０１と、プロセスユニット２０２と、送受信ユニット２０３とを備える。
【００６４】
前記格納ユニット２０１は、証明書ＣｅｒｔＡと、私有鍵ＣＳＡとを格納する。
【００６５】
前記プロセスユニット２０２は、乱数ＮＡと、臨時私有鍵ｄＡと、臨時公開鍵ＱＡとを生成する。
【００６６】
前記送受信ユニット２０３は、エンティティＢにＮＡ｜｜ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを送信しし、エンティティＢからＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを受信する。
【００６７】
さらに、前記プロセスユニット２０２は、受信したエンティティＢからのＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを検証し、正確ではないとの検査結果の場合、認証を終止する。
【００６８】
さらに、前記プロセスユニット２０２は、私有鍵ＣＳＡ及び臨時公開鍵ＱＡを利用してデジタル署名ＳｉｇＡ=ＳＩＧ(ＣＳＡ, ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＡ) を計算する。
【００６９】
さらに、前記プロセスユニット２０２は、前記他の装置の臨時公開鍵ＱＢが格納されているかを検査し、ＱＢがすでに格納されている場合、すでに格納されたＱＢを利用し、格納されていなければ、受信した第２ＩＤ 認証メッセージに含まれるＱＢの有効性を検査し、有効であれば、受信した第２ＩＤ 認証メッセージに含まれるＱＢを受信し、無効であれば、認証を終止する。
【００７０】
さらに、前記プロセスユニット２０２は、ＥＣＤＨ鍵交換プロトコルにより、ｄＡ及びエンティティＢの臨時公開鍵ＱＢを利用して秘密情報ｚ=ｆ(ｄＡ, ＱＢ) を計算し、計算が正確である場合、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算する。
【００７１】
さらに、前記送受信ユニット２０３は、エンティティＢにＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを送信し、エンティティＢからＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージを受信する。
【００７２】
さらに、プロセスユニット２０２は、ＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ)を計算して、算出したＭａｃＴａｇＢをエンティティＢからのＭａｃＴａｇＢと比較して、等しければ、ンティティＢＩＤが正当であるとみなす。
【００７３】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡは前記装置のＩＤ識別子であり、ＩＤＢは前記他の装置のＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【００７４】
具体的に、上述の的プロセスユニット２０２は、受信したエンティティＢからのＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを検証する。以下、詳細に説明する。
【００７５】
プロセスユニット２０２は、受信した前記第２ＩＤ 認証メッセージに含まれる乱数ＮＡが自分がエンティティＢに送信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではない。
【００７６】
プロセスユニット２０２は、受信した前記第２ＩＤ 認証メッセージに含まれるＣｅｒｔＢの有効性を検査し、無効であれば、検証は正確ではない。
【００７７】
プロセスユニット２０２は、エンティティＢの公開鍵ＣＰＢを利用してＳｉｇＢを検証し、エンティティＢが正当であるかを検査し、非法であれば、検証は正確ではない。ここで、エンティティＢの公開鍵ＣＰＢはエンティティＢの証明書ＣｅｒｔＢに含まれる。
【００７８】
説明すべきのは、上記の検査には厳しい順番要求がなく、かついずれの１つの検証が正確ではなければ、受信したＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢに対する検査結果が正確ではないとみなす。
【００７９】
図３に示すように、上述のエンティティの認証方法に基づいて、本出願は、上述の方法を実施するエンティティＢに対応する装置を提供し、前記装置は、格納ユニット３０１と、プロセスユニット３０２と、送受信ユニット３０３とを備える。
【００８０】
格納ユニット３０１は、証明書ＣｅｒｔＢと、私有鍵ＣＳＢとをを格納する。
【００８１】
プロセスユニット３０２は、乱数ＮＢと、臨時私有鍵ｄＢと、臨時公開鍵ＱＢとを生成する。
【００８２】
送受信ユニット３０３は、エンティティＡからのＮＡ||ＣｅｒｔＡが含まれる第１ＩＤ 認証メッセージを受信する。
【００８３】
プロセスユニット３０２は、受信したエンティティＡからの第１ＩＤ 認証メッセージに含まれる証明書ＣｅｒｔＡの有効性を検査し、証明書が無効であれば、認証を終止する。また、私有鍵ＣＳＢ及び臨時公開鍵ＱＢを利用してデジタル署名ＳｉｇＢ=ＳＩＧ(ＣＳＢ、ＩＤＡ||ＩＤＢ||ＮＡ||ＮＢ||ＱＢ)を計算する。
【００８４】
送受信ユニット３０３は、エンティティＡにＮＡ||ＮＢ||ＣｅｒｔＢ||ＱＢ||ＳｉｇＢが含まれる第２ＩＤ 認証メッセージを送信し、エンティティＡからのＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを受信する。
【００８５】
さらに、前記プロセスユニット３０２は、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを検証し、正確ではないとの検査結果の場合、認証を終止する。
【００８６】
さらに、前記プロセスユニット３０２は、前記他の装置の臨時公開鍵ＱＡが格納されているかを検査し、ＱＡがすでに格納されている場合、すでに格納されたＱＡを利用し、格納されていなければ、第３ＩＤ 認証メッセージに含まれるＱＡの有効性を検査し、有効であれば、受信した第３ＩＤ 認証メッセージに含まれるＱＡを利用し、無効であれば、認証を終止する。
【００８７】
さらに、プロセスユニット３０２は、ＥＣＤＨ鍵交換プロトコルにより、臨時私有鍵ｄＢ及び前記エンティティＡの臨時公開鍵ＱＡを利用して秘密情報ｚ=ｆ(ｄＢ,ＱＡ) を計算し、計算が正確である場合、算出した秘密情報ｚをキャラクター列Ｚに転換し、鍵ＭＫ= ＫＤＦ(ＮＡ, ＮＢ, Ｚ, ＩＤＡ, ＩＤＢ) を計算し、メッセージ認証コードＭａｃＴａｇＡ=ＭＡＣ１(ＭＫ, ＩＤＡ, ＩＤＢ, ＱＡ, ＱＢ) を計算し、算出したＭａｃＴａｇＡをエンティティＡからのＭａｃＴａｇＡと比較して、等しければ、エンティティＡのＩＤが正当であるとみなし、メッセージ認証コードＭａｃＴａｇＢ=ＭＡＣ１(ＭＫ, ＩＤＢ, ＩＤＡ, ＱＢ, ＱＡ) を計算する。
【００８８】
さらに、前記送受信ユニット３０３は、前記エンティティＡにＭａｃＴａｇＢが含まれれる第４ＩＤ 認証メッセージを送信する。
【００８９】
ここで、ＳＩＧはデジタル署名アルゴリズムであり、ＩＤＡは前記他の装置のＩＤ識別子であり、ＩＤＢは前記装置のＩＤ識別子であり、ｆは鍵演算関数であり、ＫＤＦは鍵導出アルゴリズムであり、ＭＡＣ１はメッセージ認証コードの演算方法である。
【００９０】
具体的に、さらに、上述の的プロセスユニット３０２は、エンティティＡからを受信した、ＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡが含まれる第３ＩＤ 認証メッセージを検証する。以下、詳しく説明する。
【００９１】
プロセスユニット３０２は、受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＡが前回受信した乱数ＮＡと一致するかを検査し、一致しなければ、検証は正確ではない。
【００９２】
プロセスユニット３０２は、受信した前記第３ＩＤ 認証メッセージに含まれる乱数ＮＢが自分からエンティティＡに送信した乱数ＮＢと一致するかを検査し、一致しなければ、検証は正確ではない。
【００９３】
プロセスユニット３０２は、エンティティＡの公開鍵ＣＰＡを利用してＳｉｇＡを検証し、エンティティＡが正当であるかを検査し、非法であれば、検証は正確ではない。ここで、エンティティＡの公開鍵ＣＰＡはエンティティＡの証明書ＣｅｒｔＡに含まれる。
【００９４】
説明すべきのは、上記の検査には厳しい順番要求がなく、かついずれの１つの検証が正確ではなければ、受信したＮＡ||ＮＢ||ＱＡ||ＳｉｇＡ||ＭａｃＴａｇＡに対する検査結果が正確ではないとみなす。
【００９５】
総じて、本出願は対称鍵アルゴリズムにより鍵協調機能を果たすエンティティ間のＩＤ 認証を実施できるようにして、広い範囲で適用できる。本出願は無線周波数識別（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ，ＲＦＩＤ）、センサネットワーク（Ｗｉｒｅｌｅｓｓ Ｓｅｎｓｏｒ Ｎｅｔｗｏｒｋ，ＷＳＮ）、近距離無線通信（Ｎｅａｒ Ｆｉｅｌｄ Ｃｏｍｍｕｎｉｃａｔｉｏｎ，ＮＦＣ）、非接触型カード、無線LAＮ（ＷＬＡＮ）などの無線インターフェースを介する通信分野に適用することができる。エンティティＡ及びエンティティＢは、RFＩＤ分野のカードリーダー及びタグ、センサネットワーク中のノード、ＮFC分野の端末装置、非接触型カード技術分野のカードリーダー及びカード、無線LAＮにおける端末及び接続ポイントであることができる。
【００９６】
または、本出願に係る好ましい実施形態において、本出願の発明がＮFC分野のものである場合、エンティティＡからエンティティＢに送信した第１ＩＤ 認証メッセージはＡCT_REＱプロトコルデータユニットにて埋め込まれてから伝送されたものである。エンティティＢからエンティティＡに送信した第２ＩＤ 認証メッセージはＡCT_RESプロトコルデータユニットにて埋め込まれてから伝送されたものである。エンティティＡからエンティティＢに送信した第３ＩＤ 認証メッセージは、VFY_REＱプロトコルデータユニットにて埋め込まれてから伝送されたものである。エンティティＢからエンティティＡに送信した第４ＩＤ 認証メッセージは、VFY_RESプロトコルデータユニットにて埋め込まれてから伝送されたものである。ここで、ＡＣＴ＿ＲＥＱ、ＡＣＴ＿ＲＥＳ、ＶＦＹ＿ＲＥＱ及びＶＦＹ＿ＲＥＳは、ＩＳＯスラッシュＩＥＣ １３１５７-１により定義されたプロトコルデータユニットフォーマットに適合する。このように埋め込まれた後、本出願の技術は、従来のＮFCの他のセキュリティメカニズムとの交換性をさらに向上する。
【００９７】
本分野の技術者として、本発明の実施形態が、方法、システム或いはコンピュータプログラム製品を提供できるため、本発明は完全なハードウェア実施形態、完全なソフトウェア実施形態、またはソフトウェアとハードウェアの両方を結合した実施形態を採用できることがかわるはずである。さらに、本発明は、一つ或いは複数のコンピュータプログラム製品の形式を採用できる。当該製品はコンピュータ使用可能なプログラムコードを含むコンピュータ使用可能な記憶媒体（ディスク記憶装置と光学記憶装置等を含むがそれとは限らない）において実施する。
【００９８】
以上は本発明の実施形態の方法、装置（システム）、およびコンピュータプログラム製品のフロー図および／またはブロック図によって、本発明を記述した。理解すべきことは、コンピュータプログラム指令によって、フロー図および／またはブロック図における各フローおよび／またはブロックと、フロー図および／またはブロック図におけるフローおよび／またはブロックの結合を実現できる。プロセッサはこれらのコンピュータプログラム指令を、汎用コンピュータ、専用コンピュータ、組込み式処理装置、或いは他のプログラム可能なデータ処理装置設備の処理装置器に提供でき、コンピュータ或いは他のプログラム可能なデータ処理装置のプロセッサは、これらのコンピュータプログラム指令を実行し、フロー図における一つ或いは複数のフローおよび／またはブロック図における一つ或いは複数のブロックに指定する機能を実現する。  
【００９９】
これらのコンピュータプログラム指令は又、コンピュータ或いは他のプログラム可能なデータ処理装置を特定方式で動作させるコンピュータ読取記憶装置に記憶できる。これによって、指令を含む装置は当該コンピュータ読取記憶装置内の指令を実行でき、フロー図における一つ或いは複数のフローおよび／またはブロック図における一つ或いは複数のブロックに指定する機能を実現する。
【０１００】
これらコンピュータプログラム指令はさらに、コンピュータ或いは他のプログラム可能なデータ処理装置設備に実装もできる。コンピュータプログラム指令が実装されたコンピュータ或いは他のプログラム可能設備は、一連の操作ステップを実行することによって、関連の処理を実現し、コンピュータ或いは他のプログラム可能な設備において実行される指令によって、フロー図における一つ或いは複数のフローおよび／またはブロック図における一つ或いは複数のブロックに指定する機能を実現する。  
【０１０１】
上述した実施形態に記述された技術的な解決手段を改造し、或いはその中の一部の技術要素を置換することもできる。そのような、改造と置換は本発明の各実施形態の技術の範囲から逸脱するとは見なされない。
【０１０２】
無論、当業者によって、上述した実施形態に記述された技術的な解決手段を改造し、或いはその中の一部の技術要素を置換することもできる。そのような、改造と置換は本発明の各実施形態の技術の範囲から逸脱するとは見なされない。そのような改造と置換は、すべて本発明の請求の範囲に属する。
【０１０３】
本出願は、２０１４年３月３１日に中国特許局に提出し、出願番号が２０１４１０１２６３２８．８であり、発明名称が「エンティティの認証方法及び装置」との中国特許出願を基礎とする優先権を主張し、その開示の総てをここに取り込む。
【図１】
2017517915.tif 000003
【図２】
2017517915.tif 000004
【図３】
2017517915.tif 000005
【国際調査報告】
2017517915.tif 000006
2017517915.tif 000007
2017517915.tif 000008
2017517915.tif 000009