JP2006101284A - 認証方法、被認証機器、認証機器及びプログラム - Google Patents

認証方法、被認証機器、認証機器及びプログラム Download PDF

Info

Publication number
JP2006101284A
JP2006101284A JP2004286005A JP2004286005A JP2006101284A JP 2006101284 A JP2006101284 A JP 2006101284A JP 2004286005 A JP2004286005 A JP 2004286005A JP 2004286005 A JP2004286005 A JP 2004286005A JP 2006101284 A JP2006101284 A JP 2006101284A
Authority
JP
Japan
Prior art keywords
signature
authenticated
unit
structured document
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004286005A
Other languages
English (en)
Inventor
Hayato Ikebe
早人 池部
Yoshinori Hatayama
佳紀 畑山
Kazuya Ogawa
和也 小川
Koji Takemura
浩司 武村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2004286005A priority Critical patent/JP2006101284A/ja
Priority to CN200510106472.6A priority patent/CN1756157A/zh
Publication of JP2006101284A publication Critical patent/JP2006101284A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

【課題】 署名を算出する時間を短縮するとともに、メッセージの正規化を必要としない
構造化文書について認証する認証方法を提供する。
【解決手段】 被認証機器10は、少なくとも1つの属性を含む少なくとも1つの要素を
含む構造化文書を受信する工程Aと、所定のルールで、工程Aにおいて受信した構造化文
書に含まれる属性について並び替えを行う工程Bと、工程Bにおいて並び替えた順序で属
性の値である属性値を連結する工程Cと、前記工程Cにおいて連結した属性値を所定のハ
ッシュ関数に入力することによって署名を算出する工程Dと、工程Dにおいて算出した署
名を構造化文書に付加して認証機器に送信する工程Eとを有する。
【選択図】 図8

Description

本発明は、認証機器が被認証機器から送信された構造化文書について認証する認証方法
、及び、かかる認証方法に用いられる認証機器、被認証機器及びプログラムに関する。
一般的に、ネットワークに接続された複数の機器間で通信を行う場合、受信機器(認証
機器)が送信機器(被認証機器)から送信されたメッセージを認証する必要がある。
従来の認証方法では、送信機器が、受信機器との間の共通鍵(検証鍵)を用いて署名を
生成し、生成した署名をメッセージに付加して送信しており、当該受信機器が、受信した
メッセージに付加されている署名に基づいて当該メッセージの正当性について確認してい
る。
「Extensible Markup Language(XML) 1.0(Third Edition)」、2004年2月4日、W3C勧告、インターネット<URL:http://www.w3.org/TR/2004/REC-xml-20040204> 「Canonical XML Version 1.0」、2001年3月15日、W3C勧告、インターネット<URL:http://www.w3.org/TR/xml-c14n> 特開2001-42768号公報
しかしながら、上述のような従来の認証方法では、送信機器(及び、受信機器)が、メ
ッセージ全体を所定のハッシュ関数に入力することによって上述の署名を算出していたた
め、メッセージが長い場合、かかる署名を算出するのに長い時間が必要になってしまうと
いう問題点があった。
また、従来の認証方法では、XML(Extensible Markup Lang
uage)文書等の構造化文書がメッセージとして用いられている場合、XMLの規格上
、属性の順序の違いが認められているため、同じメッセージでも異なる形式で取り扱われ
ることにより、各機器によって算出される署名が異なってしまう可能性があるため、必ず
メッセージの正規化が必要であるという問題点があった。
そこで、本発明は、以上の点に鑑みてなされたもので、署名を算出する時間を短縮する
とともに、メッセージの正規化を必要としない構造化文書についての認証方法、及び、か
かる認証方法に用いられる認証機器、被認証機器及びプログラムを提供することを目的と
する。
本発明の第1の特徴は、認証機器が、被認証機器から送信された構造化文書について認
証する認証方法であって、前記被認証機器が、少なくとも1つの属性を含む少なくとも1
つの要素を含む構造化文書を生成する工程Aと、前記被認証機器が、所定のルールで、前
記工程Aにおいて生成した前記構造化文書に含まれる前記属性について並び替えを行う工
程Bと、前記被認証機器が、前記工程Bにおいて並び替えた順序で、前記属性の値である
属性値を連結する工程Cと、前記被認証機器が、前記工程Cにおいて連結した前記属性値
を所定のハッシュ関数に入力することによって署名を算出する工程Dと、前記被認証機器
が、前記工程Dにおいて算出した前記署名を前記構造化文書に付加して前記認証機器に送
信する工程Eと、前記認証機器が、前記所定のルールで、前記被認証機器から送信された
前記構造化文書に含まれる前記属性について並び替えを行う工程Fと、前記認証機器が、
前記工程Fにおいて並び替えた順序で、前記属性の値である属性値を連結する工程Gと、
前記認証機器が、前記工程Gにおいて連結した前記属性値を前記所定のハッシュ関数に入
力することによって署名を算出する工程Hと、前記認証機器が、前記被認証機器から送信
された前記構造化文書に付加されている署名を取得する工程Iと、前記認証機器が、前記
工程Hにおいて算出した前記署名と前記工程Iにおいて取得した前記署名とを比較する工
程Jと、前記認証機器が、前記工程Jにおける比較結果に基づいて、前記被認証機器から
送信された前記構造化文書が正当な文書であるか否かについて判断する工程Kとを有する
ことを要旨とする。
かかる発明によれば、被認証機器及び認証機器は、送信される構造化文書が長い場合で
あっても、当該構造化文書に含まれる属性の値である属性値のみに基づいて署名を算出す
ることができるため、署名を算出する時間を短縮することができ、当該構造化文書につい
ての認証に掛かる時間を短縮することができる。
本発明の第1の特徴において、前記工程Dで、前記被認証機器が、前記工程Cにおいて
連結した前記属性値と前記認証機器との間の共通鍵とを連結して前記所定のハッシュ関数
に入力することによって前記署名を算出し、前記工程Hで、前記認証機器が、前記工程G
において連結した前記属性値と前記共通鍵とを連結して前記所定のハッシュ関数に入力す
ることによって前記署名を算出してもよい。
かかる発明によれば、被認証機器と認証機器との間の共通鍵を用いて署名を算出するた
め、当該共通鍵を有していない第3者によって不正な署名が付加された構造化文書を検出
することができる。
本発明の第1の特徴において、前記工程Bで、前記被認証機器が、前記工程Aにおいて
生成した前記構造化文書に含まれる前記属性について、該属性の識別子のアルファベット
順に並び替えを行い、前記工程Dで、前記認証機器が、前記被認証機器から送信された前
記構造化文書に含まれる前記属性について、該属性の識別子のアルファベット順に並び替
えを行ってもよい。
かかる発明によれば、被認証機器及び認証機器は、各属性の識別子のアルファベット順
に各属性を並び替えるため、署名を算出するにあたって連結する属性値の順序が一意に決
まり、構造化文書の正規化を行わなくても、被認証機器及び認証機器において構造化文書
に付加される署名が異なる可能性があるという不具合を解決することができる。
本発明の第1の特徴において、前記工程Dで、前記被認証機器が、前記工程Cにおいて
連結した前記属性値と前記被認証機器によって管理されているシーケンス番号とを連結し
て前記所定のハッシュ関数に入力することによって前記署名を算出し、前記工程Hで、前
記認証機器が、前記工程Gにおいて連結した前記属性値と前記シーケンス番号とを連結し
て前記所定のハッシュ関数に入力することによって前記署名を算出してもよい。
かかる発明によれば、被認証機器及び認証機器は、当該被認証機器(送信側)で管理さ
れているシーケンス番号を用いて署名を算出するため、第3者が、当該被認証機器から送
信された構造化文書を不正に取得して、取得した構造化文書を当該認証機器に送信した場
合であっても、かかるシーケンス番号を参照することによって当該構造化文書が正当な文
書ではないと判断することができる。
本発明の第1の特徴において、前記工程Dで、前記被認証機器が、前記工程Cにおいて
連結した前記属性値と該被認証機器の識別子とを連結して前記所定のハッシュ関数に入力
することによって前記署名を算出し、前記工程Hで、前記認証機器が、前記工程Gにおい
て連結した前記属性値と前記被認証機器の識別子とを連結して前記所定のハッシュ関数に
入力することによって前記署名を算出してもよい。
かかる発明によれば、被認証機器の識別子を用いて署名を算出することによって、被認
証機器と認証機器との間で、同一の構造化文書に対して算出する署名が同一になることを
考慮して、受信した構造化文書をそのまま使用するといった事態を回避し、認証方法にお
ける不測の事態の発生を回避することができる。
本発明の第1の特徴において、前記工程Bで、前記被認証機器が、所定の要素に含まれ
ている属性についてのみ並び替えを行い、前記工程Cで、前記被認証機器が、前記工程B
において並び替えた順序で、前記所定の要素に含まれている前記属性の値である属性値の
みを連結し、前記工程Fで、前記認証機器が、前記所定の要素に含まれている属性につい
てのみ並び替えを行い、前記工程Gで、前記認証機器は、前記工程Fにおいて並び替えた
順序で、前記所定の要素に含まれている前記属性の値である属性値のみを連結してもよい
かかる発明によれば、重要な要素に含まれている属性の値である属性値のみを用いて署
名を算出するため、署名の算出に掛かる時間をより短縮することができる。
本発明の第2の特徴は、少なくとも1つの属性を含む少なくとも1つの要素を含む構造
化文書を生成する生成部と、所定のルールで、前記生成部によって生成された前記構造化
文書に含まれる前記属性について並び替えを行う並び替え部と、前記並び替え部によって
並び替えられた順序で、前記属性の値である属性値を連結する連結部と、前記連結部によ
って連結された前記属性値を所定のハッシュ関数に入力することによって署名を算出する
署名算出部と、前記署名算出部によって算出された前記署名を前記構造化文書に付加する
署名付加部と、前記署名付加部によって前記署名が付加された前記構造化文書を認証機器
に対して送信する送信部とを具備する被認証機器であることを要旨とする。
本発明の第3の特徴は、被認証機器から、少なくとも1つの属性を含む少なくとも1つ
の要素を含む構造化文書を受信する受信部と、所定のルールで、前記受信部によって受信
された前記構造化文書に含まれる属性について並び替えを行う並び替え部と、前記並び替
え部によって並び替えられた順序で、前記属性の値である属性値を連結する連結部と、前
記連結部によって連結された前記属性値を前記所定のハッシュ関数に入力することによっ
て署名を算出する署名算出部と、前記受信部によって受信された前記構造化文書に付加さ
れている署名を取得する署名取得部と、前記署名算出部によって算出された前記署名と前
記署名取得部によって取得された前記署名とを比較する署名比較部と、前記署名比較部に
よる比較結果に基づいて、前記被認証機器から送信された前記構造化文書が正当な文書で
あるか否かについて判断する判断部とを具備する認証機器であることを要旨とする。
本発明の第4の特徴は、コンピュータに、少なくとも1つの属性を含む少なくとも1つ
の要素を含む構造化文書を生成する工程Aと、所定のルールで、前記工程Aにおいて生成
した前記構造化文書に含まれる前記属性について並び替えを行う工程Bと、前記工程Bに
おいて並び替えた順序で、前記属性の値である属性値を連結する工程Cと、前記工程Cに
おいて連結した前記属性値を所定のハッシュ関数に入力することによって署名を算出する
工程Dと、前記工程Dにおいて算出した前記署名を前記構造化文書に付加して認証機器に
送信する工程Eとを実行させるためのプログラムであることを要旨とする。
本発明の第5の特徴は、コンピュータに、被認証機器から、少なくとも1つの属性を含
む少なくとも1つの要素を含む構造化文書を受信する工程Aと、所定のルールで、前記工
程Aにおいて受信した前記構造化文書に含まれる前記属性について並び替えを行う工程B
と、前記工程Bにおいて並び替えた順序で、前記属性の値である属性値を連結する工程C
と、前記工程Cにおいて連結した前記属性値を前記所定のハッシュ関数に入力することに
よって署名を算出する工程Dと、前記工程Aにおいて受信した前記構造化文書に付加され
ている署名を取得する工程Eと、前記工程Dにおいて算出した前記署名と前記工程Eにお
いて取得した前記署名とを比較する工程Fと、前記工程Fにおける比較結果に基づいて、
前記被認証機器から送信された前記構造化文書が正当な文書であるか否かについて判断す
る工程Gとを実行させるためのプログラムであることを要旨とする。
以上説明したように、本発明によれば、署名を算出する時間を短縮するとともに、メッ
セージの正規化を必要としない構造化文書についての認証方法、及び、かかる認証方法に
用いられる認証機器、被認証機器及びプログラムを提供することができる。
(本発明の第1の実施形態に係る認証システムの構成)
図1乃至図3を参照して、本発明の第1の実施形態に係る認証システムの構成について
説明する。本実施形態に係る認証システムでは、認証機器30が、ネットワークを介して
被認証機器10から送信された署名付きメッセージ1について認証するように構成されて
いる。
なお、本実施形態では、メッセージとして、XML文書等の構造化文書を用いるものと
して説明する。
図2に、本実施形態に係る認証システムにおける被認証機器10の主な機能を示し、図
3に、本実施形態に係る認証システムにおける認証機器30の主な機能を示す。
図2に示すように、被認証機器10は、制御部101と、メッセージ生成部102と、
演算部分取得部103と、公開鍵記憶部104と、乱数生成部105と、秘密鍵記憶部1
06と、乱数取得部107と、公開鍵取得部108と、検証鍵生成部110と、検証鍵記
憶部111と、検証鍵取得部112と、署名算出部113と、署名付加部114と、送信
部115と、受信部116とを具備している。
制御部101は、被認証機器10の各機能を制御するものである。
メッセージ生成部102は、ネットワークを介して認証機器10に送信するメッセージ
を生成するものである。
生成されたメッセージについて認証が不要である場合、メッセージ生成部102は、送
信部115に対して、当該メッセージを認証機器30に送信するように依頼する。また、
生成されたメッセージについて認証が必要である場合、メッセージ生成部102は、演算
部分取得部103に対して署名の算出を依頼すると共に、署名付加部114に対して当該
メッセージを送信する。
ここで、メッセージ生成部102によって生成されたメッセージは、少なくとも1つの
要素(例えば、「hcsp」や「auth」や「action」等)を含むように構成さ
れており、各要素は、少なくとも1つの属性(例えば、「hcsp」の場合、「xmln
s」や「to」や「from」等)を含むように構成されている(図9参照)。
なお、メッセージ生成部102は、必要に応じて、送信部115に対して、公開鍵記憶
部104から送信された被認証機器10の公開鍵や乱数生成部105から送信された被認
証機器10の乱数を送信するように依頼する。
演算部分取得部103は、メッセージ生成部102からの依頼に応じて、生成されたメ
ッセージから、署名の算出に使用する文字列を取得して、署名算出部113に対して署名
の算出を依頼するものである。
具体的には、演算部分取得部103は、生成されたメッセージから、認証が必要とされ
ている所定の要素に含まれている属性を取得して、署名算出部113に対して署名の算出
を依頼する。なお、演算部分取得部103は、各要素について認証が必要であるか否かに
ついて管理しているものとする(図10参照)。
公開鍵記憶部104は、被認証機器10の公開鍵を記憶するものである。公開鍵記憶部
104は、必要に応じて、被認証機器10の公開鍵をメッセージ生成部102に送信する
乱数生成部105は、検証鍵(認証機器30との間の共通鍵)を生成するために用いら
れる被認証機器10の乱数を生成するものである。乱数生成部105は、必要に応じて、
被認証機器10の乱数をメッセージ生成部102及び検証鍵生成部110に送信する。
秘密鍵記憶部106は、被認証機器10の秘密鍵を記憶するものである。秘密鍵記憶部
106は、必要に応じて、被認証機器10の秘密鍵を検証鍵生成部110に送信する。
乱数取得部107は、受信部116を介して認証機器30から受信した認証機器30の
乱数を取得して検証鍵生成部110に送信するものである。
公開鍵取得部108は、受信部116を介して認証機器30から受信した認証機器30
の公開鍵を取得して検証鍵生成部110に送信するものである。
検証鍵生成部110は、被認証機器10の秘密鍵及び乱数と認証機器30の公開鍵及び
乱数とを用いて、検証鍵を生成するものである。なお、検証鍵生成部110は、任意の検
証鍵生成方法を用いて、認証機器30の検証鍵生成部310(後述)によって生成される
検証鍵と同一の検証鍵を生成するように構成されている。
検証鍵記憶部111は、検証鍵生成部110によって生成された検証鍵を記憶するもの
である。検証鍵記憶部111は、必要に応じて、検証鍵取得部112に送信する。
検証鍵取得部112は、検証鍵記憶部111から取得した検証鍵を署名算出部113に
送信するものである。
署名算出部113は、演出部分取得部103からの依頼に応じて、署名を算出するもの
である。
具体的には、第1に、署名算出部113は、演出部分取得部103から送信された属性
について、所定のルールで(例えば、属性の識別子のアルファベット順に)並び替えを行
う。第2に、署名算出部113は、並び替えられた順序で、属性の値である属性値を連結
する。第3に、署名算出部113は、連結した文字列を所定のハッシュ関数に入力するこ
とによって署名を算出する。
なお、署名算出部113は、連結された属性値と、検証鍵取得部112から送信された
検証鍵と、被認証機器10によって管理されているシーケンス番号と、被認証機器10の
識別子(単に、被認証機器10が、クライアント端末であるか、又は、サーバ端末である
かについて識別するためのクライアントサーバ識別子であってもよい)を連結するように
構成されていてもよい。
署名付加部114は、署名算出部113によって算出された署名を、メッセージ生成部
102によって生成されたメッセージに付加するものである。
送信部115は、署名付加部114からの依頼に応じて、署名が付加されたメッセージ
(署名付きメッセージ)1を認証機器30に対して送信するものである。また、送信部1
15は、メッセージ生成部102からの依頼に応じて、署名が付加されていないメッセー
ジを認証機器30に対して送信する。なお、送信部115は、必要に応じて、メッセージ
生成部102から送信された被認証機器10の公開鍵や乱数を認証機器30に送信する。
受信部116は、認証機器30から、認証機器30の公開鍵及び乱数を受信するもので
ある。受信部116は、受信した認証機器30の公開鍵を公開鍵取得部108に送信し、
受信した認証機器30の乱数を乱数取得部107に送信する。
図3に示すように、認証機器30は、制御部301と、演算部分取得部303と、公開
鍵記憶部304と、乱数生成部305と、秘密鍵記憶部306と、乱数取得部307と、
公開鍵取得部308と、署名取得部309と、検証鍵生成部310と、検証鍵記憶部31
1と、検証鍵取得部312と、署名算出部313と、送信部315と、受信部316と、
受信処理部317と、署名比較部318とを具備している。
制御部301は、認証機器30の各機能を制御するものである。
演算部分取得部303は、受信処理部317からの依頼に応じて、受信したメッセージ
から、署名の算出に使用する文字列を取得して、署名算出部313に対して署名の算出を
依頼するものである。
具体的には、演算部分取得部303は、受信処理部317から送信されたメッセージか
ら、認証が必要とされている所定の要素に含まれている属性を取得して、署名算出部31
3に対して署名の算出を依頼する。なお、演算部分取得部303は、各要素について認証
が必要であるか否かについて管理しているものとする(図10参照)。
公開鍵記憶部304は、認証機器30の公開鍵を記憶するものである。公開鍵記憶部3
04は、必要に応じて、認証機器30の公開鍵を送信部315に送信する。
乱数生成部305は、検証鍵を生成するために用いられる認証機器30の乱数を生成す
るものである。乱数生成部305は、必要に応じて、認証機器30の乱数を送信部315
及び検証鍵生成部310に送信する。
秘密鍵記憶部306は、認証機器30の秘密鍵を記憶するものである。秘密鍵記憶部3
06は、必要に応じて、認証機器30の秘密鍵を検証鍵生成部310に送信する。
乱数取得部307は、受信部316を介して被認証機器10から受信した被認証機器1
0の乱数を取得して検証鍵生成部310に送信するものである。
公開鍵取得部308は、受信部316を介して被認証機器10から受信した被認証機器
10の公開鍵を取得して検証鍵生成部310に送信するものである。
検証鍵生成部310は、認証機器30の秘密鍵及び乱数と被認証機器10の公開鍵及び
乱数とを用いて、検証鍵を生成するものである。なお、検証鍵生成部310は、任意の検
証鍵生成方法を用いて、被認証機器10の検証鍵生成部110によって生成される検証鍵
と同一の検証鍵を生成するように構成されている。
検証鍵記憶部311は、検証鍵生成部310によって生成された検証鍵を記憶するもの
である。検証鍵記憶部311は、必要に応じて、検証鍵取得部312に送信する。
検証鍵取得部312は、検証鍵記憶部311から取得した検証鍵を署名算出部313に
送信するものである。
署名算出部313は、演出部分取得部303からの依頼に応じて、署名を算出するもの
である。
具体的には、第1に、署名算出部313は、演出部分取得部303から送信された属性
について、所定のルールで(例えば、属性の識別子のアルファベット順に)並び替えを行
う。第2に、署名算出部313は、並び替えられた順序で、属性の値である属性値を連結
する。第3に、署名算出部313は、連結した文字列を所定のハッシュ関数に入力するこ
とによって署名を算出する。
なお、署名算出部313は、認証機器10の署名算出部113と同一の方法で署名を算
出するために、連結された属性値と、検証鍵取得部312から送信された検証鍵と、被認
証機器10によって管理されているシーケンス番号と、被認証機器10の識別子(単に、
被認証機器10が、クライアント端末であるか、又は、サーバ端末であるかについて識別
するためのクライアントサーバ識別子であってもよい)を連結するように構成されていて
もよい。
送信部315は、公開鍵記憶部304から送信された認証機器30の公開鍵や、乱数生
成部305から送信された認証機器30の乱数を、被認証機器10に送信するものである
受信部316は、被認証機器10から、署名付きメッセージや被認証機器10の公開鍵
及び乱数を受信して、受信処理部317に送信するものである。
受信処理部317は、受信した被認証機器10の公開鍵を公開鍵取得部308に送信し
、受信した被認証機器10の乱数を乱数取得部307に送信するものである。また、受信
処理部317は、受信した署名付きメッセージを解析して、メッセージ全体を演出部分取
得部303に送信し、署名を署名取得部309に送信する。
署名取得部309は、受信処理部317から署名を取得して、署名比較部318に送信
するものである。
署名比較部318は、署名算出部313によって算出された署名と署名取得部309に
よって取得された署名とを比較して、かかる比較結果に基づいて、被認証機器10から送
信された署名付きメッセージが正当な文書であるか否かについて判断するものである。
(本発明の第1の実施形態に係る認証方法)
図4乃至図14を参照して、本発明の第1の実施形態に係る認証方法について説明する
図4に示すように、ステップS1001において、認証機器30の乱数生成部305が
、認証機器30の乱数を生成して送信部315に送信し(図5のステップS1001a)
、送信部315は、公開鍵記憶部304から認証機器30の公開鍵を取得する(図5のス
テップS1001b)。
ステップS1002において、送信部315は、取得した認証機器30の公開鍵及び乱
数を、被認証機器10に対して送信する。
なお、既に、被認証機器10が、認証機器30の公開鍵及び乱数を保持している場合、
ステップS1001及びS1002は、省略可能である。
次に、図6を参照して、上述の認証機器30の公開鍵及び乱数を受信した被認証機器1
0のステップS1003における動作について詳述する。
図6に示すように、ステップS1003aにおいて、被認証機器10の検証鍵生成部1
10は、認証機器30の公開鍵及び乱数を取得する。
ステップS1003bにおいて、検証鍵生成部110は、秘密鍵記憶部106から被認
証機器10の秘密鍵を取得する。
ステップS1003cにおいて、検証鍵生成部110は、乱数生成部105によって生
成された被認証機器10の乱数を取得する。
ステップS1003dにおいて、検証鍵生成部110は、認証機器30の公開鍵及び乱
数と、被認証機器10の秘密鍵及び乱数とを用いて、認証機器30との間の共通鍵である
検証鍵を生成する。
ステップS1003eにおいて、検証鍵生成部110は、生成した検証鍵を検証鍵記憶
部111に格納する。
ステップS1003fにおいて、メッセージ生成部102は、公開鍵記憶部104から
、被認証機器10の公開鍵を取得する。
ステップS1003gにおいて、メッセージ生成部102は、認証機器30に送信する
メッセージ(XML文書等の構造化文書)を生成する。
ステップS1003hにおいて、署名算出部113は、メッセージ生成部102によっ
て生成されたメッセージに付加する署名を算出する。かかるステップS1003hの動作
について、図8を参照して詳述する。なお、ステップS1003hの動作では、図9にお
いて「signature」に該当する署名が算出されるものとする。
図8に示すように、ステップS2001において、署名算出部113は、所定のルール
で、認証が必要な要素の全ての属性を並び替える。
例えば、図9に示すメッセージの場合、署名算出部113は、「hcsp」要素及び「
action」要素に含まれる属性を、属性の識別子(hcspやaction)のアル
ファベット順に並び替える。図11のステップS2001に、「hcsp」要素に含まれ
る属性の並び替えの例を示し、図12のステップS2001に、「hcsp」要素に含ま
れる属性の並び替えの例を示す。
この際、署名算出部113は、図10に示すテーブルを参照して、各要素において認証
が必要であるか否かについて判断する。
なお、上述のアルファベット順は、属性の識別子を構成する文字列についての昇順であ
ってもよいし降順であってもよい。また、上述のアルファベット順では、数字を英字より
も前に来る文字として取り扱ってもよいし、英字を数字よりも前に来る文字として取り扱
ってもよい。
ステップS2002において、署名算出部113は、並び替えた順序で、各要素に含ま
れる属性の値である属性値を連結する。
例えば、署名算出部113は、図11のステップS2002に示すように、「hcsp
」要素に含まれる属性の属性値を連結し、図12のステップS2002に示すように、「
hcsp」要素に含まれる属性の属性値を連結する。
ステップS2003において、署名算出部113は、認証が必要な全ての要素について
、上述の属性の並び替え処理及び属性値の連結処理を完了したか否かについて判断する。
完了したと判断された場合、本動作は、ステップS2004に進み、完了していないと判
断された場合、本動作は、全ての要素について上述の属性の並び替え処理及び属性値の連
結処理を完了するまで、ステップS2001及びS2002の処理を繰り返す。
ステップS2004において、署名算出部113は、各要素に含まれる属性の属性値を
連結した後、全ての要素に含まれる属性の属性値同士を連結する。
ステップS2005において、署名算出部113は、検出鍵と、シーケンス番号と、ク
ライアントサーバ識別子(又は、被認証機器10の識別子)と、連結された属性値とを連
結する(図13参照)。
ステップS2006において、署名算出部113は、ステップS2005において連結
した文字列を所定のハッシュ関数(図13の例では「SHA-1」)に入力して、署名を
算出する。
次に、図6に示すように、ステップS1003iにおいて、署名付加部114は、署名
算出部113によって算出された署名を、メッセージ生成部102から送信されたメッセ
ージに対して付加する(図9参照)。
次に、図4に示すように、ステップS1004において、送信部115は、署名付加部
114から取得した署名付きメッセージ1を、認証機器30に送信する。なお、必要に応
じて、送信部115は、被認証機器10の公開鍵及び乱数を、認証機器30に送信する。
ここで、図14(a)に、エアコンに対するメッセージの一例を示し、図14(b)に
、玄関ドアに対するメッセージの一例を示す。両メッセージにおいて、「action」
要素については認証が必要であり、「query」要素については認証が不要である。
次に、図7を参照して、上述の署名付きメッセージ1(及び、被認証機器10の公開鍵
及び乱数)を受信した認証機器30のステップS1005における動作について詳述する
図7に示すように、ステップS1005aにおいて、認証機器30の受信部316は、
被認証機器10から送信された署名付きメッセージ1を受信する。
ステップS1005bにおいて、署名取得部309は、受信して署名付きメッセージ1
に付加されている署名を取得する。
ステップS1005cにおいて、検証鍵生成部310は、被認証機器10の公開鍵及び
乱数を取得する。
ステップS1005dにおいて、検証鍵生成部310は、秘密鍵記憶部306から認証
機器30の秘密鍵を取得し、乱数生成部305から認証機器30の乱数を取得する。
ステップS1005eにおいて、検証鍵生成部310は、被認証機器10の公開鍵及び
乱数と、認証機器30の秘密鍵及び乱数とを用いて、被認証機器10との間の共通鍵であ
る検証鍵を生成する。
ステップS1005fにおいて、検証鍵生成部310は、生成した検証鍵を検証鍵記憶
部311に格納する。
ステップS1005gにおいて、署名算出部313は、被認証機器10におけるステッ
プS1003hの処理と同じ方法で、被認証機器10から送信された署名付きメッセージ
1に対する署名を算出する(図8参照)。
ステップS1005hにおいて、署名比較部318は、署名算出部313によって算出
された署名と、署名取得部309によって取得された署名とが一致するか否かについて判
断する。
一致すると判断された場合、ステップS1005iにおいて、署名比較部318は、被
認証機器10から送信された署名付きメッセージ1が正当なメッセージと判断する。
一方、一致しないと判断された場合、ステップS1005jにおいて、署名比較部31
8は、被認証機器10から送信された署名付きメッセージ1が不正なメッセージと判断し
、かかる署名付きメッセージ1を破棄する。
本発明の第1の実施形態に係る認証システムの全体構成図である。 本発明の第1の実施形態に係る認証システムにおける被認証機器の機能ブロック図である。 本発明の第1の実施形態に係る認証システムにおける認証機器の機能ブロック図である。 本発明の第1の実施形態に係る認証方法を示すシーケンス図である。 本発明の第1の実施形態に係る認証方法のステップS1001の動作を示すフローチャートである。 本発明の第1の実施形態に係る認証方法のステップS1003の動作を示すフローチャートである。 本発明の第1の実施形態に係る認証方法のステップS1005の動作を示すフローチャートである。 本発明の第1の実施形態に係る認証方法の署名算出動作(ステップS1003h及びS1005g)を示すフローチャートである。 本発明の第1の実施形態に係る認証方法において、被認証機器から認証機器に送信される署名付きメッセージの一例を示す図である。 本発明の第1の実施形態に係る認証方法において、各要素に含まれる属性についての並び替えの要否を設定するテーブルを示す図である。 本発明の第1の実施形態に係る認証方法の署名算出動作において、各属性についての並び替え動作(ステップS2001)及び各属性値の連結動作(ステップS2002)の一例を示す図である。 本発明の第1の実施形態に係る認証方法の署名算出動作において、各属性についての並び替え動作(ステップS2001)及び各属性値の連結動作(ステップS2002)の一例を示す図である。 本発明の第1の実施形態に係る認証方法の署名算出動作において、連結された検証鍵とクライアントサーバ識別子とシーケンス番号と属性値の一例を示す図である。 本発明の第1の実施形態に係る認証方法において、被認証機器から認証機器に送信される署名付きメッセージの一例を示す図である。
符号の説明
1…署名付きメッセージ、10…被認証機器、101…制御部、102…メッセージ生成
部、103…演算部分取得部、104…公開鍵記憶部、105…乱数生成部、106…秘
密鍵記憶部、107…乱数取得部、108…公開鍵取得部、110…検証鍵生成部、11
1…検証鍵記憶部、112…検証鍵取得部、113…署名算出部、114…署名付加部、
115…送信部、116…受信部、30…認証機器、301…制御部、303…演算部分
取得部、304…公開鍵記憶部、305…乱数生成部、306…秘密鍵記憶部、307…
乱数取得部、308…公開鍵取得部、309…署名取得部、310…検証鍵生成部、31
1…検証鍵記憶部、312…検証鍵取得部、313…署名算出部、315…送信部、31
6…受信部、317…受信処理部、318…署名比較部

Claims (20)

  1. 認証機器が、被認証機器から送信された構造化文書について認証する認証方法であって

    前記被認証機器が、少なくとも1つの属性を含む少なくとも1つの要素を含む構造化文
    書を生成する工程Aと、
    前記被認証機器が、所定のルールで、前記工程Aにおいて生成した前記構造化文書に含
    まれる前記属性について並び替えを行う工程Bと、
    前記被認証機器が、前記工程Bにおいて並び替えた順序で、前記属性の値である属性値
    を連結する工程Cと、
    前記被認証機器が、前記工程Cにおいて連結した前記属性値を所定のハッシュ関数に入
    力することによって署名を算出する工程Dと、
    前記被認証機器が、前記工程Dにおいて算出した前記署名を前記構造化文書に付加して
    前記認証機器に送信する工程Eと、
    前記認証機器が、前記所定のルールで、前記被認証機器から送信された前記構造化文書
    に含まれる前記属性について並び替えを行う工程Fと、
    前記認証機器が、前記工程Fにおいて並び替えた順序で、前記属性の値である属性値を
    連結する工程Gと、
    前記認証機器が、前記工程Gにおいて連結した前記属性値を前記所定のハッシュ関数に
    入力することによって署名を算出する工程Hと、
    前記認証機器が、前記被認証機器から送信された前記構造化文書に付加されている署名
    を取得する工程Iと、
    前記認証機器が、前記工程Hにおいて算出した前記署名と前記工程Iにおいて取得した
    前記署名とを比較する工程Jと、
    前記認証機器が、前記工程Jにおける比較結果に基づいて、前記被認証機器から送信さ
    れた前記構造化文書が正当な文書であるか否かについて判断する工程Kとを有することを
    特徴とする認証方法。
  2. 前記工程Dにおいて、前記被認証機器は、前記工程Cにおいて連結した前記属性値と前
    記認証機器との間の共通鍵とを連結して前記所定のハッシュ関数に入力することによって
    前記署名を算出し、
    前記工程Hにおいて、前記認証機器は、前記工程Gにおいて連結した前記属性値と前記
    共通鍵とを連結して前記所定のハッシュ関数に入力することによって前記署名を算出する
    ことを特徴とする請求項1に記載の認証方法。
  3. 前記工程Bにおいて、前記被認証機器は、前記工程Aにおいて生成した前記構造化文書
    に含まれる前記属性について、該属性の識別子のアルファベット順に並び替えを行い、
    前記工程Dにおいて、前記認証機器は、前記被認証機器から送信された前記構造化文書
    に含まれる前記属性について、該属性の識別子のアルファベット順に並び替えを行うこと
    を特徴とする請求項1に記載の認証方法。
  4. 前記工程Dにおいて、前記被認証機器は、前記工程Cにおいて連結した前記属性値と前
    記被認証機器によって管理されているシーケンス番号とを連結して前記所定のハッシュ関
    数に入力することによって前記署名を算出し、
    前記工程Hにおいて、前記認証機器は、前記工程Gにおいて連結した前記属性値と前記
    シーケンス番号とを連結して前記所定のハッシュ関数に入力することによって前記署名を
    算出することを特徴とする請求項1に記載の認証方法。
  5. 前記工程Dにおいて、前記被認証機器は、前記工程Cにおいて連結した前記属性値と該
    被認証機器の識別子とを連結して前記所定のハッシュ関数に入力することによって前記署
    名を算出し、
    前記工程Hにおいて、前記認証機器は、前記工程Gにおいて連結した前記属性値と前記
    被認証機器の識別子とを連結して前記所定のハッシュ関数に入力することによって前記署
    名を算出することを特徴とする請求項1に記載の認証方法。
  6. 前記工程Bにおいて、前記被認証機器は、所定の要素に含まれている属性についてのみ
    並び替えを行い、
    前記工程Cにおいて、前記被認証機器は、前記工程Bにおいて並び替えた順序で、前記
    所定の要素に含まれている前記属性の値である属性値のみを連結し、
    前記工程Fにおいて、前記認証機器は、前記所定の要素に含まれている属性についての
    み並び替えを行い、
    前記工程Gにおいて、前記認証機器は、前記工程Fにおいて並び替えた順序で、前記所
    定の要素に含まれている前記属性の値である属性値のみを連結することを特徴とする請求
    項1に記載の認証方法。
  7. 少なくとも1つの属性を含む少なくとも1つの要素を含む構造化文書を生成する生成部
    と、
    所定のルールで、前記生成部によって生成された前記構造化文書に含まれる前記属性に
    ついて並び替えを行う並び替え部と、
    前記並び替え部によって並び替えられた順序で、前記属性の値である属性値を連結する
    連結部と、
    前記連結部によって連結された前記属性値を所定のハッシュ関数に入力することによっ
    て署名を算出する署名算出部と、
    前記署名算出部によって算出された前記署名を前記構造化文書に付加する署名付加部と

    前記署名付加部によって前記署名が付加された前記構造化文書を認証機器に対して送信
    する送信部とを具備することを特徴とする被認証機器。
  8. 前記署名算出部は、前記連結部により連結された前記属性値と前記認証機器との間の共
    通鍵とを連結して前記所定のハッシュ関数に入力することによって前記署名を算出するこ
    とを特徴とする請求項7に記載の被認証機器。
  9. 前記並び替え部は、前記生成部によって生成された前記構造化文書に含まれる前記属性
    について、該属性の識別子のアルファベット順に並び替えを行うことを特徴とする請求項
    7に記載の被認証機器。
  10. 前記署名算出部は、前記連結部によって連結された前記属性値と前記被認証機器によっ
    て管理されているシーケンス番号とを連結して前記所定のハッシュ関数に入力することに
    よって前記署名を算出することを特徴とする請求項7に記載の被認証機器。
  11. 前記署名算出部は、前記連結部によって連結された前記属性値と該被認証機器の識別子
    とを連結して前記所定のハッシュ関数に入力することによって前記署名を算出することを
    特徴とする請求項7に記載の被認証機器。
  12. 前記並び替え部は、所定の要素に含まれている属性についてのみ並び替えを行い、
    前記連結部は、前記並び替え部によって並び替えられた順序で、前記所定の要素に含ま
    れる前記属性の値である属性値のみを連結することを特徴とする請求項7に記載の被認証
    機器。
  13. 被認証機器から、少なくとも1つの属性を含む少なくとも1つの要素を含む構造化文書
    を受信する受信部と、
    所定のルールで、前記受信部によって受信された前記構造化文書に含まれる属性につい
    て並び替えを行う並び替え部と、
    前記並び替え部によって並び替えられた順序で、前記属性の値である属性値を連結する
    連結部と、
    前記連結部によって連結された前記属性値を前記所定のハッシュ関数に入力することに
    よって署名を算出する署名算出部と、
    前記受信部によって受信された前記構造化文書に付加されている署名を取得する署名取
    得部と、
    前記署名算出部によって算出された前記署名と前記署名取得部によって取得された前記
    署名とを比較する署名比較部と、
    前記署名比較部による比較結果に基づいて、前記被認証機器から送信された前記構造化
    文書が正当な文書であるか否かについて判断する判断部とを具備することを特徴とする認
    証機器。
  14. 前記署名算出部は、前記連結部によって連結された前記属性値と前記被認証機器との間
    の共通鍵とを連結して前記所定のハッシュ関数に入力することによって前記署名を算出す
    ることを特徴とする請求項13に記載の認証機器。
  15. 前記並び替え部は、前記受信部によって受信された前記構造化文書に含まれる前記属性
    について、該属性の識別子のアルファベット順に並び替えを行うことを特徴とする請求項
    13に記載の認証機器。
  16. 前記署名算出部は、前記連結部によって連結された前記属性値と前記被認証機器によっ
    て管理されているシーケンス番号とを連結して前記所定のハッシュ関数に入力することに
    よって前記署名を算出することを特徴とする請求項13に記載の認証機器。
  17. 前記署名算出部は、前記連結部によって連結された前記属性値と前記被認証機器の識別
    子とを連結して前記所定のハッシュ関数に入力することによって前記署名を算出すること
    を特徴とする請求項13に記載の認証機器。
  18. 前記並び替え部は、所定の要素に含まれている属性についてのみ並び替えを行い、
    前記連結部は、前記並び替え部によって並び替えられた順序で、前記所定の要素に含ま
    れる前記属性の値である属性値のみを連結することを特徴とする請求項13に記載の認証
    機器。
  19. コンピュータに、
    少なくとも1つの属性を含む少なくとも1つの要素を含む構造化文書を生成する工程A
    と、
    所定のルールで、前記工程Aにおいて生成した前記構造化文書に含まれる前記属性につ
    いて並び替えを行う工程Bと、
    前記工程Bにおいて並び替えた順序で、前記属性の値である属性値を連結する工程Cと

    前記工程Cにおいて連結した前記属性値を所定のハッシュ関数に入力することによって
    署名を算出する工程Dと、
    前記工程Dにおいて算出した前記署名を前記構造化文書に付加して認証機器に送信する
    工程Eとを実行させるためのプログラム。
  20. コンピュータに、
    被認証機器から、少なくとも1つの属性を含む少なくとも1つの要素を含む構造化文書
    を受信する工程Aと、
    所定のルールで、前記工程Aにおいて受信した前記構造化文書に含まれる前記属性につ
    いて並び替えを行う工程Bと、
    前記工程Bにおいて並び替えた順序で、前記属性の値である属性値を連結する工程Cと

    前記工程Cにおいて連結した前記属性値を前記所定のハッシュ関数に入力することによ
    って署名を算出する工程Dと、
    前記工程Aにおいて受信した前記構造化文書に付加されている署名を取得する工程Eと

    前記工程Dにおいて算出した前記署名と前記工程Eにおいて取得した前記署名とを比較
    する工程Fと、
    前記工程Fにおける比較結果に基づいて、前記被認証機器から送信された前記構造化文
    書が正当な文書であるか否かについて判断する工程Gとを実行させるためのプログラム。
JP2004286005A 2004-09-30 2004-09-30 認証方法、被認証機器、認証機器及びプログラム Withdrawn JP2006101284A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004286005A JP2006101284A (ja) 2004-09-30 2004-09-30 認証方法、被認証機器、認証機器及びプログラム
CN200510106472.6A CN1756157A (zh) 2004-09-30 2005-09-26 认证方法、被认证设备、认证设备和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004286005A JP2006101284A (ja) 2004-09-30 2004-09-30 認証方法、被認証機器、認証機器及びプログラム

Publications (1)

Publication Number Publication Date
JP2006101284A true JP2006101284A (ja) 2006-04-13

Family

ID=36240662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004286005A Withdrawn JP2006101284A (ja) 2004-09-30 2004-09-30 認証方法、被認証機器、認証機器及びプログラム

Country Status (2)

Country Link
JP (1) JP2006101284A (ja)
CN (1) CN1756157A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009212570A (ja) * 2008-02-29 2009-09-17 Toshiba Corp 証跡管理システム、送信装置、および受信装置
US9292665B2 (en) 2007-02-01 2016-03-22 Microsoft Technology Licensing, Llc Secure serial number

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292665B2 (en) 2007-02-01 2016-03-22 Microsoft Technology Licensing, Llc Secure serial number
JP2009212570A (ja) * 2008-02-29 2009-09-17 Toshiba Corp 証跡管理システム、送信装置、および受信装置

Also Published As

Publication number Publication date
CN1756157A (zh) 2006-04-05

Similar Documents

Publication Publication Date Title
US7437551B2 (en) Public key infrastructure scalability certificate revocation status validation
JP7228977B2 (ja) 情報処理装置及び認可システムと検証方法
US8499339B2 (en) Authenticating and communicating verifiable authorization between disparate network domains
US11539690B2 (en) Authentication system, authentication method, and application providing method
RU2434340C2 (ru) Инфраструктура верификации биометрических учетных данных
US7240192B1 (en) Combining a browser cache and cookies to improve the security of token-based authentication protocols
US7500099B1 (en) Method for mitigating web-based “one-click” attacks
CN108259502B (zh) 用于获取接口访问权限的鉴定方法、服务端及存储介质
US20050021975A1 (en) Proxy based adaptive two factor authentication having automated enrollment
RU2008114665A (ru) Защищенная обработка мандата клиентской системы для доступа к ресурсам на основе web
US11979392B2 (en) Systems and methods for managing device association
JP2006525563A (ja) ユーザとウェッブ・サイトの認証方法及び装置
CN113297560A (zh) 基于区块链的身份认证方法、装置、设备及可读存储介质
US20210234858A1 (en) Authentication system, authentication method and authentication apparatus
KR102387865B1 (ko) 패스워드 생성 디바이스 및 패스워드 검증 디바이스
JP2007529935A (ja) 匿名認証方法
JP2008242926A (ja) 認証システム、認証方法および認証プログラム
WO2021107755A1 (en) A system and method for digital identity data change between proof of possession to proof of identity
EP1398903B1 (en) Digital signature validation and generation
CN112035813B (zh) 区块链中基于指纹识别分层生成分布式身份的方法和计算机可读介质
KR101803535B1 (ko) 일회용 토큰을 이용한 싱글 사인온 서비스 인증방법
US11627135B2 (en) Method and system for delivering restricted-access resources using a content delivery network
CN108965335B (zh) 防止恶意访问登录接口的方法、电子设备及计算机介质
CN115567271B (zh) 鉴权方法和装置、页面跳转方法和装置、电子设备及介质
JP2021002717A (ja) 証明書発行装置、検証装置、通信機器、証明書発行システム、証明書発行方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070208

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20081204