JP2003249919A - 双方向通信方法 - Google Patents

双方向通信方法

Info

Publication number
JP2003249919A
JP2003249919A JP2002350379A JP2002350379A JP2003249919A JP 2003249919 A JP2003249919 A JP 2003249919A JP 2002350379 A JP2002350379 A JP 2002350379A JP 2002350379 A JP2002350379 A JP 2002350379A JP 2003249919 A JP2003249919 A JP 2003249919A
Authority
JP
Japan
Prior art keywords
message
reception
request
response
signature
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.)
Pending
Application number
JP2002350379A
Other languages
English (en)
Inventor
Yoshihide Nomura
佳秀 野村
Hirotaka Hara
裕貴 原
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002350379A priority Critical patent/JP2003249919A/ja
Priority to US10/320,347 priority patent/US20030158961A1/en
Publication of JP2003249919A publication Critical patent/JP2003249919A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Bidirectional Digital Transmission (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 片方向通信プロトコルで、双方向の送達確認
を可能にし、送受信事実の否認を防止し、メッセージの
一意性を保証する処理の自動化を容易にする。 【解決手段】 リクエスト側11からの片方向のリクエ
スト/レスポンス型の同期通信のみを用いるシステムに
おいて、レスポンス側12からリクエスト側11に向け
てメッセージを送信する際は、リクエスト側がメッセー
ジの受信要求を行ない、リクエスト側がメッセージを受
信したことを、新たな通信でレスポンス側に受信通知す
るまで、レスポンス側は署名とIDを含む同じメッセー
ジをリクエスト側に送信し続ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は双方向通信方法に関
し、より詳細にはリクエスト側からレスポンス側への片
方向のリクエストとそのリクエストに対するレスポンス
側からリクエスト側へのレスポンスを行うリクエスト/
レスポンス型の同期通信のみを用いるシステムにおい
て、双方向でメッセージを送受信すること、信頼性を保
証すること、及び送受信の否認を防止することを可能に
した双方向通信手法に関する。
【0002】
【従来の技術】図1はリクエスト/レスポンス型の同期
通信のみを用いる従来のシステムの構成を示すブロック
図である。図において、11はリスエスト側であるクラ
イアント、12はレスポンス側であるサーバ、13はク
ライアント11の入口に設けられたファイアウオールで
ある。このように、ファイアウオール13が設けられて
いると、その内部とその外側との通信は、片方向のリク
エスト/レスポンス型の同期通信を用いることが多い。
【0003】
【発明が解決しようとする課題】片方向のリクエスト/
レスポンス型の同期通信のみを用いた場合、従来のHT
TPなどのプロトコルでは、図1に示すようにメッセー
ジ送達とその確認はリクエスト側11からレスポンス側
12への1方向しか実現できなかった。サーバ側12か
らクライアント側11にメッセージを送信しようとして
も、ファイアウオール13によりブロックされるので、
クライアント側11には到達しないという問題があっ
た。
【0004】また、送受信の記録を相手側に提示するだ
けでは、確かに送受信をしたという証拠とならないの
で、送信事実を受信側が否認したり、受信事実を送信側
が否認したりすることができてしまうという問題もあっ
た。このような、送信事実の否認、受信事実の否認は、
特にインターネットを介して金銭取引を行う場合等にお
いて重大である。
【0005】本発明の目的は、上記従来技術における問
題に鑑み、片方向のリクエスト/レスポンス型の通信プ
ロトコルを用いて、後述する再送手順により双方向の送
達確認を可能にする通信方法を提供することにある。
【0006】本発明の他の目的は、上記通信方法におい
て、メッセージに一意の識別子を付加したり、送受信さ
れたメッセージに対して署名を作成し、これを交換する
ことにより、送受信が確かに行なわれたことを証拠とし
て残し、それにより、送信事実、受信事実の否認を防止
することにある。
【0007】本発明のさらに他の目的は、XML(Exten
sive Markup Language)を用いてメッセージを構築する
ことにより、メッセージの一意性を保証する処理の自動
化を容易にすることにある。
【0008】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明の第1の態様により、レスポンス側からリ
クエスト側に向けてメッセージを送信する際は、リクエ
スト側がメッセージの受信要求を行ない、リクエスト側
がメッセージを受信したことを、新たな通信でレスポン
ス側に受信通知するまで、レスポンス側は同じメッセー
ジをリクエスト側に送信し続けることにより、双方向で
メッセージの送受信を可能にした双方向通信手法が提供
される。
【0009】リクエスト側からの受信要求に応じてであ
れば、レスポンス側はメッセージをリクエスト側に送信
できるので、リクエスト側からとレスポンス側からの双
方向からメッセージの送信が可能になる。
【0010】本発明の第2の態様により、上記第1の態
様において、送信するメッセージ内に一意の識別子を付
加し、受信側で重複チェックを行なうことにより、同じ
メッセージを重複して受信することを防ぐようにした。
【0011】本発明の第3の態様により、上記第2の態
様において、メッセージの形式にXMLを利用し、メッ
セージとは異なる特定のネームスペースでメッセージ内
に識別子を付加することで、メッセージの形式を変更せ
ずに、同じメッセージを重複して受信することを防ぐよ
うにした。
【0012】本発明の第4の態様により、上記第1の態
様において、メッセージの一意性は任意の形で実現し、
メッセージの一意性を検証する際に、メッセージのダイ
ジェスト値を利用することで、同じメッセージを重複し
て受信することを防ぐようにした。
【0013】上記第2から第4の態様により、同じメッ
セージを重複して受信することを防ぐことができるの
で、通信効率を向上させることができる。
【0014】本発明の第5の態様により、上記第2から
第4の態様のいずれかにおいて、メッセージの送信側が
送信するメッセージに対して送信メッセージ用電子署名
を付加し、この送信メッセージ用署名を受信側が保管す
ることによって送信側による送信事実の否認を防止する
ことができるようにすることと、メッセージの受信側が
メッセージの受信に応答して送信するメッセージ受信通
知に、受信通知用電子署名を付加し、この受信通知用電
子署名を、送信側が保管することによって受信側による
受信事実の否認を防止することができるようにすること
と、の少なくとも一方を採用する。
【0015】これにより、送信側による送信事実の否認
や受信側による受信事実の否認を防止することができ
る。
【0016】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照しながら説明する。以下の説明で同一参照番号は
同一のものを表し、図1に示したファイアウオール13
は図面の簡単化のために図示を省略してある。
【0017】図2は、本発明の第1の実施の形態により
リクエスト側11からレスポンス側12にメッセージの
送信する場合のデータの流れを示すブロック図である。
リクエスト側11の例としては、商品の売主や買主等、
サーバを持たないクライアントがある。レスポンス側1
2の例としては、申し込み書等をデータベースに保管し
ているセンタの役割を果たすサーバがある。
【0018】図3は図2に示したメッセージを送信する
場合の処理の流れを説明するフローチャートである。
【0019】図2および図3で説明するメッセージの送
信自体は、従来の片方向通信で行われていたものであ
る。
【0020】図2及び図3において、リクエスト側11
では、ステップS31で1つ又は複数のメッセージを作
成し、ステップS32でそのメッセージを保管し、ステ
ップS33で送信したいメッセージ21をレスポンス側
12に送信する。メッセージ21には受信通知の返信を
要求するリクエストが含まれている。
【0021】レスポンス側12では、ステップS34で
そのメッセージを受信し、ステップS35で受信したメ
ッセージ中のID(識別子)と同じIDがレスポンス側
12に存在するかを検索する。その検索の結果ステップ
S36で同じIDがレスポンス側12に存在しなけれ
ば、今回受信したメッセージは新たなメッセージなの
で、ステップS37にて受信メッセージを保管し、ステ
ップS38で受信通知を作成する。ステップS36の検
索の結果、同じIDがレスポンス側12に存在すれば、
受信済みのメッセージなので、今回受信したメッセージ
は保管せずに、ステップS38にて受信通知を作成す
る。次いでステップS39にて受信通知22をリクエス
ト側11に向けて返信する。受信通知22には、リクエ
ストに対するレスポンスである旨の情報が含まれてい
る。
【0022】リクエスト側11ではステップS40にて
所定時間間隔毎に上記受信通知22の受信を監視し、ス
テップS41にて対応するメッセージを送信したか、即
ちステップS33にてリクエスト側11から送信された
メッセージがレスポンス側12に正常に受信されたかを
受信通知22の有無により判断し、未だ受信通知22を
受信していない場合は対応するメッセージ21を送信し
ていないと判断してステップS33に戻りメッセージ2
1をレスポンス側12に再送する。
【0023】ステップS41の判断でメッセージ21が
送信済みと判定された場合は、ステップS42にてリク
エスト側11に保管されている対応するメッセージ21
を削除する。
【0024】上記図2及び図3により説明した、リクエ
スト側11からレスポンス側12側への片方向メッセー
ジの送信自体は従来から可能であった。
【0025】図4は本発明の第1の実施の形態により双
方向通信を可能にする場合のデータの流れを示すブロッ
ク図であり、図5は図4に示したメッセージを送信する
場合の処理の流れを説明するフローチャートである。
【0026】図4及び図5において、レスポンス側12
では、ステップS51で1つ又は複数のメッセージを作
成し、ステップS52でそのメッセージを保管してお
く。
【0027】リクエスト側11では、ステップS53に
て受信要求41をレスポンス側12に送信する。レスポ
ンス側12はステップS54でこの受信要求41を受信
し、ステップS55でその受信要求に応ずるメッセージ
42を保管されているメッセージの中から検索する。受
信要求に応ずるメッセージ42が存在すればステップS
56にてそのメッセージ42をリクエスト側11に送信
する。
【0028】リクエスト側11ではそのメッセージ42
をステップS57で受信し、ステップS58で受信した
メッセージ中のID(識別子)と同じIDがリクエスト
側11に存在するかを検索する。検索した結果、ステッ
プS59で同じIDがリクエスト側11に存在しなけれ
ば、今回受信したメッセージは新たなメッセージなの
で、ステップS60にて受信メッセージを保管し、ステ
ップS61で受信通知43を作成する。ステップS59
の検索の結果、同じIDがリクエスト側11に存在すれ
ば、受信済みのメッセージなので、今回受信したメッセ
ージは保管せずに、ステップS61にて受信通知43を
作成する。次いでステップS62にて受信通知43をレ
スポンス側12に向けて返信する。
【0029】レスポンス側12ではステップS63にて
所定時間間隔毎に上記受信通知43の受信を監視し、ス
テップS64にて対応するメッセージを送信したか、即
ちステップS63にてレスポンス側12から返信された
メッセージがリクエスト側11に正常に受信されたかを
受信通知43の有無により判断し、受信通知43が受信
されていればメッセージ42がリクエスト側11からレ
スポンス側12に送信済みと判定され、ステップS65
にてレスポンス側12に保管されている、受信要求41
に対応するメッセージ42を削除する。
【0030】未だ受信通知43を受信していない場合は
ステップS66にて処理を終了する。
【0031】リクエスト側11からレスポンス側12に
は受信要求41が定期的に送信されるので、このメッセ
ージ42の送信はリクエスト側11から受信通知43が
到着するまで、定期的に繰り返し行われる。受信通知4
3がリクエスト側11から送られなければ、レスポンス
側12ではメッセージ42が確かにリクエスト側11に
届いたかどうか不明であるが、本発明の実施の形態によ
り、メッセージ42の受信に応答して受信通知43をリ
クエスト側11からレスポンス側12に返信するように
したことにより、レスポンス側12では確実にメッセー
ジ42がリクエスト側に届いたことを認識でき、結果的
に双方向のメッセージの遣り取りが可能になる。
【0032】このように、リクエスト側11に設けられ
たフィアウオールでリクエスト側11からのみ外部にメ
ッセージを送ることができるシステムにおいて、レスポ
ンス側12からリクエスト側11にメッセージを送信す
る必要性及びレスポンス側12から送られたメッセージ
がリクエスト側11に確実に受信されたことを認識でき
る必要性は、特に金融に関する通信や企業内のクライア
ントと企業外の別の企業との間の文書の通信や、レスポ
ンス側12で発行する何らかの申し込み書等で必要にな
る。例えば、申し込み書の配信等のように、レスポンス
側12から送られるウェブブラウザの画面中にメッセー
ジを含ませたいという要求がある。従来ではこの場合、
レスポンス側12からリクエスト側11へのメッセージ
の配信は不可能であったが、本発明の実施の形態によれ
ば上記のように確実にメッセージをレスポンス側12か
らリクエスト側11に配信することが可能になる。
【0033】尚、メッセージの送受信にはSOAP(Si
mple Object Access Protocol)等のプロトコルを用い
て実現できる。
【0034】図6は本発明の第2の実施の形態によりメ
ッセージ中の定まったフォーマットの中の特定の場所に
メッセージの識別子(ID)を埋め込む方法を説明する
図である。図において、ルートタグ<Order>からルー
トタグ</Order>までが定まったフォーマットの注文書
のメッセージであり、このメッセージ中のmessageIdと
いう2つのタグの間にIDとして"12345678"が埋め込ま
れている。受信側ではこのメッセージのフォーマットを
知っているので受信メッセージ中のIDを自分が持つI
Dと照合することにより受信済みメッセージかどうかを
判断する。図示例はXMLで記載された注文書のメッセ
ージを例としてあげてあるが、定まったフォーマットの
メッセージであればどのような言語で記載されていても
よい。これにより、受信側ではプログラムが解釈可能な
フォーマットからメッセージIDを検索可能になる。
【0035】図7は本発明の第3の実施の形態によりメ
ッセージ内にメッセージ内容とは別にネームスペースで
メッセージIDを埋め込む方法を説明する図である。図
において、ルートタグ<Order>からルートタグ</Orde
r>までは図6と同じく注文書のメッセージであるが、
このメッセージ中のプレフィックスssrs:とその後の属
性名messageIdの後に="12345678"というメッセージID
を埋め込んである。これにより、受信側ではプログラム
によりプレフィックスの属性を探せば、IDを見つける
ことができ、メッセージの一意性を検証することができ
る。
【0036】図7の例では、ルートタグとして<Order
>を用いているが、プレフィクスとその属性ssrs:messa
geId=の後にメッセージIDを埋め込めばよいので、ル
ートタグが何であってもIDを見つけることができる。
また、メッセージのフォーマットが何であってもよい。
【0037】図8は本発明の第4の実施の形態により、
メッセージのダイジェストを利用してメッセージの一意
性を検証する方法を説明する図である。この場合は、ル
ートタグ<Order>からルートタグ</Order>までのメ
ッセージの中の任意の場所に<orderId>order01234567
8</orderId>というIDを含む記号を挿入した後に、
SHA1,MD5等のアルゴリズムに従ってこのメッセ
ージをダイジェストに圧縮して送信する。受信側でこの
ダイジェストを所定のアルゴリズムを用いて計算する。
受信メッセージの内容及びIDのいずれかが、既に受信
したメッセージの内容及びIDのいずれかと異なれば、
ダイジェストの計算値も異なる、受信メッセージの内容
及びIDのいずれもが、既に受信したメッセージの内容
及びIDのいずれもと一致していれば、ダイジェストの
計算値も一致する。これによっても、受信メッセージの
一意性の検証が可能になる。図8においても、メッセー
ジは注文書に限定されずどのような内容でもよい。ま
た、メッセージのフォーマットも任意でよい。
【0038】図9は本発明の第5の実施の形態により送
信者による送信の事実を後に送信者が否認することを防
止する方法におけるデータの流れを説明するブロック図
であり、図10は図9に示したシステムにおいて、リク
エスト側11からレスポンス側12にメッセージを送信
する場合において、送信事実の送信者による否認を防止
する処理の流れを説明するフローチャートである。
【0039】図10と図3との相違点は、図10におい
てはリクエスト側11でステップS102にて送信署名
を作成し、レスポンス側12でステップS106及びス
テップS107で送信署名の検証をし、ステップS11
1でメッセージの外に署名も保管し、リクエスト側11
でステップS115にて送信署名エラーが返信されたか
を判断することが追加されていることである。
【0040】より詳細には、図9及び図10において、
リクエスト側11では、ステップS101で1つ又は複
数のメッセージを作成し、ステップS102で送信者だ
けが作成できる送信者署名を作成し、ステップS103
でその署名をメッセージとともに保管し、ステップS1
04で送信したいメッセージ21aをレスポンス側12
に送信する。メッセージ21には受信通知の返信を要求
するリクエストと署名とが含まれている。
【0041】レスポンス側12では、ステップS105
でそのメッセージを受信し、ステップS106で送信署
名を送信者の公開鍵で検証する。ステップS107でそ
の検証結果が不正な署名であれば、ステップS108に
進んで署名検証エラーを受信通知22に載せてリクエス
ト側11に返信する。ステップS107で署名の検証結
果が正しければ、ステップS109にて図6から図8の
いずれかの方法により、受信したメッセージ中のID
(識別子)と同じIDがレスポンス側12に存在するか
を検索する。その検索の結果ステップS110にて同じ
IDがレスポンス側12に存在しなければ、今回受信し
たメッセージは新たなメッセージなので、ステップS1
11にて受信メッセージと共に送信者の署名90をデー
タベース91に保管し、ステップS112で受信通知を
作成する。ステップS110の検索の結果、受信メッセ
ージがレスポンス側12に存在すれば、受信済みのメッ
セージなので、今回受信したメッセージは保管せずに、
ステップS112にて受信通知を作成する。次いでステ
ップS113にて受信通知22をリクエスト側11に向
けて返信する。受信通知22には、リクエストに対する
レスポンスである旨の情報が含まれている。
【0042】リクエスト側11ではステップS114に
て所定時間間隔毎に上記受信通知22の受信を監視し、
ステップS115にて送信署名エラーが返信されたかを
判定し、送信署名エラーが返信された場合はステップS
116にてエラー処理をする。
【0043】ステップS115の判断で送信署名エラー
でないと判定されると、ステップS117にて対応する
メッセージを送信したかに正常に受信されたか、即ちス
テップS104にてリクエスト側11から送信されたメ
ッセージがレスポンス側12を受信通知22の有無によ
り判断し、未だ受信通知22を受信していない場合は対
応するメッセージ21aを送信していないと判断してス
テップS104に戻りメッセージ21aをレスポンス側
12に再送する。
【0044】ステップS117の判断でメッセージ21
aが送信済みと判定された場合は、ステップS118に
てリクエスト側11に保管されている対応するメッセー
ジ21を削除する。
【0045】これにより、リクエスト側11が送信した
事実を否認しても、レスポンス側12のデータベース9
1にはリクエスト側11でのみ作成可能な署名が格納さ
れているので、リクエスト側11による送信事実の否認
をレスポンス側12は拒否できる。
【0046】図11は、図9に示したシステムにおい
て、レスポンス側12からリクエスト側11にメッセー
ジを送信する場合において、送信事実の送信者による否
認を防止する処理の流れを説明するフローチャートであ
る。
【0047】図11と図5との相違点は、図11におい
ては、レスポンス側12でステップS122にて送信署
名を作成し、リクエスト側11ではステップS129、
ステップS130及びステップS131で送信署名検証
を行い、ステップS134でメッセージの外に署名も保
管し、レスポンス側12ではステップS138及びステ
ップS139で送信署名エラーかを判断し処理すること
が追加されていることである。
【0048】より詳細には、図9及び図11において、
レスポンス側12では、ステップS121で1つ又は複
数のメッセージを作成し、ステップS122で送信者の
みが作成できる送信書名を作成する。次いでステップS
123でその送信署名をメッセージとともに保管してお
く。
【0049】リクエスト側11では、ステップS124
にて受信要求41をレスポンス側12に送信する。レス
ポンス側12はステップS125でこの受信要求41を
受信し、ステップS126でその受信要求に応ずるメッ
セージ42を保管されているメッセージの中から検索す
る。受信要求に応ずるメッセージ42aが存在すればス
テップS127にてそのメッセージ42aに署名92を
含ませてリクエスト側11に送信する。
【0050】リクエスト側11ではそのメッセージ42
aをステップS128で受信し、ステップS129で受
信したメッセージ中の送信署名が正しいかどうかを送信
者の公開鍵で検証する。正しくなければステップS13
1で署名検証エラーをレスポンス側12に返信する。正
しければステップS132及びステップS133にて受
信メッセージ中のID(識別子)と同じIDがリクエス
ト側11に存在するかを検索する。検索した結果、同じ
IDがレスポンス側12に存在しなければ、今回受信し
たメッセージは新たなメッセージなので、ステップS1
34にて受信メッセージを署名92とともにデータベー
ス93に保管し、ステップS135で受信通知43を作
成する。ステップS133の検索の結果、同じIDがリ
クエスト側11に存在すれば、受信済みのメッセージな
ので、今回受信したメッセージは保管せずに、ステップ
S135にて受信通知43を作成する。次いでステップ
S136にてその受信通知をレスポンス側12に向けて
返信する。
【0051】レスポンス側12ではステップS137に
て所定時間間隔毎に上記受信通知43の受信を監視し、
ステップS138にて送信署名がエラーかを判断する。
エラーであれば、ステップS139にてエラー処理をす
る。エラーでなければステップS140にて対応するメ
ッセージを送信したか、即ちステップS127にてレス
ポンス側12から返信されたメッセージがリクエスト側
11に正常に受信されたかを受信通知43の有無により
判断し、メッセージ42aが送信済みと判定された場合
は、ステップS141にてレスポンス側12に保管され
ている対応するメッセージ42aを削除する。
【0052】未だ受信通知43を受信していない場合は
ステップS142にて処理を終了する。
【0053】これにより、レスポンス側12が送信した
事実を否認しても、リクエスト側11のデータベース9
2にはレスポンス側12でのみ作成可能な署名92が格
納されているので、レスポンス側12による送信事実の
否認をリクエスト側11は拒否できる。
【0054】図12は本発明の第6の実施の形態により
受信者による受信の事実を後に受信者が否認することを
防止する方法におけるデータの流れを説明するブロック
図であり、図13は図12に示したシステムにおいて、
リクエスト側11からレスポンス側12にメッセージを
送信する場合において、受信事実の受信者による否認を
防止する処理の流れを説明するフローチャートである。
【0055】図13と図3との相違点は、図13におい
てはレスポンス側12でステップS158にて受信署名
を作成し、リクエスト側11でステップS163及びス
テップS164で受信署名の検証をし、ステップS16
5で受信署名を保管することが追加されていることであ
る。
【0056】より詳細には、図12及び図13におい
て、リクエスト側11では、ステップS151で1つ又
は複数のメッセージを作成し、ステップS152でメッ
セージを保管し、ステップS153で送信したいメッセ
ージ21をレスポンス側12に送信する。メッセージ2
1には受信通知の返信を要求するリクエストが含まれて
いる。
【0057】レスポンス側12では、ステップS154
でそのメッセージを受信し、ステップS155で図6か
ら図8のいずれかの方法により、受信したメッセージ中
のID(識別子)と同じIDがレスポンス側12に存在
するかを検証する。その検証の結果ステップS156に
て同じIDがレスポンス側12に存在しなければ、今回
受信したメッセージは新たなメッセージなので、ステッ
プS157にて受信メッセージを保管し、ステップS1
58で受信者だけが作成できる受信署名120を作成す
る。ステップS156の判断の結果、同じIDがレスポ
ンス側12に存在すれば、受信済みのメッセージなの
で、今回受信したメッセージは保管せずに、ステップS
159にて受信通知を作成する。次いでステップS16
0にて受信通知22aをリクエスト側11に向けて返信
する。受信通知22aには、リクエストに対するレスポ
ンスである旨の情報に加えて受信署名120も含まれて
いる。
【0058】リクエスト側11ではステップS161に
て所定時間間隔毎に上記受信通知22の受信を監視し、
ステップS162にて対応するメッセージを送信した
か、即ち、ステップS153にてリクエスト側11から
送信したメッセージがレスポンス側に正常に受信された
かを受信通知22aの有無により判断し、未だ受信通知
22aを受信していない場合は対応するメッセージ21
を送信していないと判断してステップS153に戻りメ
ッセージ21をレスポンス側12に再送する。
【0059】ステップS164の判断でメッセージ21
が送信済みと判定された場合は、ステップS165にて
受信署名をデータベース121に補完し、ステップS1
66にてリクエスト側11に保管されている対応するメ
ッセージ21を削除する。
【0060】これにより、レスポンス側12が受信した
事実を否認しても、リクエスト側11のデータベース1
21にはレスポンス側12でのみ作成可能な署名が格納
されているので、レスポンス側12による受信事実の否
認をリクエスト側11は拒否できる。
【0061】図14は、図12に示したシステムにおい
て、レスポンス側12からリクエスト側11にメッセー
ジを送信する場合において、受信事実の受信者による否
認を防止する処理の流れを説明するフローチャートであ
る。
【0062】図14と図5との相違点は、図14におい
ては、リクエスト側11でステップS181にて受信署
名を作成し、レスポンス側12ではステップS186及
びステップS187で送信署名検証を行い、ステップS
188で受信署名を保管することである。
【0063】より詳細には、図12及び図14におい
て、レスポンス側12では、ステップS171で1つ又
は複数のメッセージを作成し、ステップS172でその
メッセージを保管しておく。
【0064】リクエスト側11では、ステップS173
にて受信要求41をレスポンス側12に送信する。レス
ポンス側12はステップS174でこの受信要求41を
受信し、ステップS175でその受信要求に応ずるメッ
セージ42を保管されているメッセージの中から検索す
る。受信要求に応ずるメッセージ42が存在すればステ
ップS176にてそのメッセージ42をリクエスト側1
1に送信する。
【0065】リクエスト側11ではそのメッセージ42
をステップS177で受信し、ステップS178で受信
したメッセージ中のID(識別子)と同じIDがリクエ
スト側11に存在するかを検証する。検証した結果、ス
テップS179で同じIDがレスポンス側12に存在し
なければ、今回受信したメッセージは新たなメッセージ
なので、ステップS180にて受信メッセージを保管
し、ステップS181で受信者のみが作成できる受信書
名122を作成し、ステップS184で受信署名122
を含む受信通知43aを作成する。ステップS179の
検索の結果、同じIDがリクエスト側11に存在すれ
ば、受信済みのメッセージなので、今回受信したメッセ
ージは保管せずに、ステップS181で受信者のみが作
成できる受信書名122を作成し、ステップS184で
受信署名122を含む受信通知43aを作成する。次い
でステップS183にてその受信通知43aをレスポン
ス側12に向けて返信する。
【0066】レスポンス側12ではステップS184に
て所定時間間隔毎に上記受信通知43aの受信を監視
し、ステップS185にて対応するメッセージを送信し
たか、即ち、ステップS176にてレスポンス側12か
ら送信されたメッセージがリクエスト側11に正常に受
信されたかを受信通知43aの有無により判断し、メッ
セージ42が送信済みと判定された場合は、ステップS
186にて受信署名を受信者の公開鍵で検証する。ステ
ップS187の判断で正しい受信署名であると判定され
ると、ステップS188にて受信署名をデータベース1
23に保管し、ステップS189にてレスポンス側12
に保管されている対応するメッセージ42を削除する。
【0067】ステップS185の判断で未だ受信通知4
3を受信していない場合、又はステップS187の判断
で正しい受信署名ではないと判定された場合はステップ
S190にて処理を終了する。
【0068】これにより、リクエスト側11が受信した
事実を否認しても、レスポンス側12のデータベース1
23にはリクエスト側11でのみ作成可能な受信署名1
32が格納されているので、リクエスト側11による受
信事実の否認をレスポンス側12は拒否できる。
【0069】図15は本発明の第7の実施の形態により
送受信者による送受信の事実を後に送受信者が否認する
ことを防止する方法におけるデータの流れを説明するブ
ロック図であり、図16は図15に示したシステムにお
いて、リクエスト側11からレスポンス側12にメッセ
ージを送信する場合の処理の流れを説明するフローチャ
ートである。
【0070】図16は図10と図13とを融合したもの
である。
【0071】より詳細には、図15及び図16におい
て、リクエスト側11では、ステップS191で1つ又
は複数のメッセージを作成し、ステップS192で送信
者だけが作成できる送信署名を作成し、ステップS19
3でその送信署名をメッセージとともにを保管し、ステ
ップS194で送信したいメッセージ21aをレスポン
ス側12に送信する。メッセージ21aには受信通知の
返信を要求するリクエストと送信署名とが含まれてい
る。
【0072】レスポンス側12では、ステップS195
でそのメッセージを受信し、ステップS196で送信署
名を送信者の公開鍵で検証する。ステップS197でそ
の検証結果が不正な署名であれば、ステップS198に
進んで署名検証エラーを受信通知22aに載せてリクエ
スト側11に返信する。ステップS197で著名の検証
結果が正しければ、ステップS199にて図6から図8
のいずれかの方法により、受信したメッセージ中のID
(識別子)と同じIDがレスポンス側12に存在するか
を検索する。その検索の結果ステップS200にて同じ
IDがレスポンス側12に存在しなければ、今回受信し
たメッセージは新たなメッセージなので、ステップS2
01にて受信メッセージと共に送信者の署名90をデー
タベース91に保管し、ステップS202で受信者のみ
が作成できる受信書名120を作成する。次いでステッ
プS204にて受信通知22aをリクエスト側11に向
けて返信する。受信通知22aには、リクエストに対す
るレスポンスである旨の情報と受信署名とが含まれてい
る。
【0073】リクエスト側11ではステップS205に
て所定時間間隔毎に上記受信通知22aの受信を監視
し、ステップS206にて送信署名エラーが返信された
かを判定し、送信署名エラーが返信された場合はステッ
プS207にてエラー処理をする。
【0074】ステップS206の判断で送信署名エラー
でないと判定されると、ステップS208にて対応する
メッセージを送信したか、即ち、ステップS194にて
リクエスト側11から送信したメッセージがレスポンス
側12に正常に受信されたかを受信通知22aの有無に
より判断し、未だ受信通知22aを受信していない場合
は対応するメッセージ21aを送信していないと判断し
てステップS194に戻りメッセージ21aをレスポン
ス側12に再送する。
【0075】ステップS206の判断でメッセージ21
aが送信済みと判定された場合は、ステップS209に
て受信通知22a内の受信署名を受信者の公開鍵で検証
する。この検証の結果ステップS210で正しくない受
信署名であると判定されると、リクエスト側11からレ
スポンス側12にメッセージ21aが未だ送信されてい
ないものと判断して、ステップS194に戻りメッセー
ジ21aをレスポンス側12に再送する。
【0076】ステップS210の検証で正しい受信署名
であると判定されると、ステップS211にて受信署名
をデータベース121に保管し、次いでステップS21
2にてリクエスト側11に保管されている対応するメッ
セージ21を削除する。
【0077】これにより、リクエスト側11が送信した
事実を否認しても、レスポンス側12のデータベース9
1にはリクエスト側11でのみ作成可能な送信署名が格
納されているので、リクエスト側11による送信事実の
否認をレスポンス側12は拒否できるとともに、レスポ
ンス側12が受信した事実を否認しても、リクエスト側
11のデータベース121にはレスポンス側12でのみ
作成可能な受信署名が格納されているので、レスポンス
側12による受信事実の否認をリクエスト側11は拒否
できる。
【0078】図17は、図15に示したシステムにおい
て、レスポンス側12からリクエスト側11にメッセー
ジを送信する場合において、送受信事実の送受信者によ
る否認を防止する処理の流れを説明するフローチャート
である。
【0079】図17は図11と図11と図14を融合し
たものである。
【0080】より詳細には、図15及び図17におい
て、レスポンス側12では、ステップS220で1つ又
は複数のメッセージを作成し、ステップS221で送信
者のみが作成できる送信書名を作成する。次いでステッ
プS222でその送信署名をメッセージとともに保管し
ておく。
【0081】リクエスト側11では、ステップS223
にて受信要求41をレスポンス側12に送信する。レス
ポンス側12はステップS224でこの受信要求41を
受信し、ステップS225でその要求に応ずるメッセー
ジ42aを保管されているメッセージの中から検索す
る。受信要求に応ずるメッセージ42aが存在すればス
テップS226にてそのメッセージ42aに署名92を
含ませてリクエスト側11に送信する。
【0082】リクエスト側11ではそのメッセージ42
aをステップS227で受信し、ステップS228で受
信したメッセージ中の送信署名が正しいかどうかを送信
者の公開鍵で検証する。正しくなければステップS23
0で署名検証エラーをレスポンス側12に返信する。正
しければステップS231及びステップS232にてメ
ッセージ42a中のID(識別子)と同じIDがリクエ
スト側11に存在するかを検索する。検索した結果、同
じIDがレスポンス側12に存在しなければ、今回受信
したメッセージは新たなメッセージなので、ステップS
233にて受信メッセージを署名92とともにデータベ
ース93に保管し、ステップS234で受信者のみが作
成できる受信署名122を作成し、ステップS235で
受信署名122を含む受信通知43aを作成する。次い
でステップS236で受信通知43aをレスポンス側1
2に送信する。
【0083】ステップS232の検索の結果、同じID
がリクエスト側11に存在すれば、受信済みのメッセー
ジなので、今回受信したメッセージは保管せずに、ステ
ップS235にて受信署名を作成する。
【0084】レスポンス側12ではステップS237に
て所定時間間隔毎に上記受信通知43aの受信を監視
し、ステップS238にて送信署名がエラーかを判断す
る。エラーであれば、ステップS239にてエラー処理
をする。エラーでなければステップS240にて対応す
るメッセージを送信したか、即ち、ステップS226に
てレスポンス側12から送信したメッセージがリクエス
ト側11に正常に受信されたかを受信通知43aの有無
により判断し、メッセージ42aが送信済みと判定され
た場合は、ステップS241にて受信者の公開鍵により
受信署名を検証し、ステップS242で正しい署名であ
ればステップS243で受信署名122をデータベース
151に保管し、ステップS244でレスポンス側12
に保管されている対応するメッセージ42aを削除す
る。
【0085】ステップS240にて未だ対応するメッセ
ージを送信していないと判定された場合又はステップS
242にて正しい受信署名ではないと判定された場合
は、ステップS245にて処理を終了する。
【0086】これにより、レスポンス側12が送信した
事実を否認しても、リクエスト側11のデータベース9
3にはレスポンス側12でのみ作成可能な送信署名が格
納されているので、レスポンス側12による送信事実の
否認をリクエスト側11は拒否できるとともに、リクエ
スト側11が受信した事実を否認しても、レスポンス側
12のデータベース151にはリクエスト側11でのみ
作成可能な受信署名が格納されているので、リクエスト
側11による受信事実の否認をレスポンス側12は拒否
できる。以上に記載した各実施の形態において、受信し
たメッセージ及び署名の少なくとも一方の保管が正常に
完了しない場合がある。その原因としては、メッセージ
や署名を保管するバッファの領域が不足している場合
や、そのバッファに書き込み禁止フラグが立てられてい
る等によりそのバッファへの書き込み権がない場合や、
保存先を間違えた場合や、保存先がデータベースの場合
でそのデータベースが起動していない場合等がある。バ
ッファの領域が不足しているためにメッセージや署名の
保管ができなかった場合は、以下に記載する本発明の第
8及び第9の実施の形態により保管可能になる場合があ
る。図18は、図3におけるステップS37又は図5に
おけるステップS60におけるメッセージの保管が成功
しなかった場合の本発明の第8の実施の形態によるメッ
セージ保管方法を説明するフローチャートである。同図
において、ステップS250にて署名がない受信メッセ
ージの保管動作を行う。このステップは図3におけるス
テップS37又は図5におけるステップS60の動作で
ある。次いでステップS251にてメッセージ保存エラ
ーかどうかを判定し、エラーであればステップS252
に進んでエラーの原因がメッセージ保存用バッファの領
域不足かどうかを判定する。領域不足であればステップ
S253にてそのメッセージ保存領域の中の最も古いメ
ッセージから順に少なくとも一つのメッセージを削除
し、ステップS254にて再度領域不足かを判定する。
この判定で依然として領域不足であれば、メッセージ保
存に失敗したことを示すメッセージ保存エラーをメッセ
ージの送信側に返信する。ステップS254にて領域不
足でなければステップS250に戻りメッセージを保管
する。ステップS251にてメッセージ保存エラーでな
ければステップS255にて受信通知を作成する。ステ
ップS255は図3におけるステップS38又は図5に
おけるステップS61に相当する。図18に示したメッ
セージ保管エラーの救済方法は、図13におけるステッ
プS157又は図14におけるステップS180のメッ
セージ保管が出来なかった場合にも同様に適用できる。
また、メッセージに替えて受信した署名の保管が出来な
かった場合にも同様に適用できる。即ち、図13のステ
ップS165、図14のステップS188、図16のス
テップS211、図17のステップS243において受
信署名の保管に失敗した場合に、図18に示したフロー
チャートにおける「メッセージ」を「署名」に変更した
フローチャート(図示省略)により、署名保管のエラー
を救済できる場合がある。図19は、図16におけるス
テップS201又は図17におけるステップS233に
おけるメッセージ及び署名の保管が成功しなかった場合
の本発明の第9の実施の形態によるメッセージ及び署名
の保管方法を説明するフローチャートである。同図にお
いて、ステップS260にて受信メッセージ及び署名の
保管動作を行う。このステップは図16におけるステッ
プS201又は図17におけるステップS233の動作
である。次いでステップS261にてメッセージ及び署
名の少なくとも一方の保存エラーかどうかを判定し、エ
ラーであればステップS262に進んでエラーの原因が
メッセージ及び署名の保存領域の領域不足かどうかを判
定する。領域不足であればステップS263にてそのメ
ッセージ及び署名の保存領域の中の最も古いメッセージ
から順に少なくとも一つのメッセージを削除し、ステッ
プS264にて再度領域不足かを判定する。この判定で
依然として領域不足であれば、ステップS265にてそ
のメッセージ及び署名の保存領域の中の最も古い署名を
削除し、ステップS266にて再度領域不足かを判定す
る。この判定で依然として領域不足であれば、署名検証
エラーであることを示すメッセージを送信側に返信す
る。ステップS266にて領域不足でなければステップ
S260に戻りメッセージ及び署名を保管する。ステッ
プS261にてメッセージ又は署名の保存エラーでなけ
ればステップS268受信署名を作成し、ステップS2
69にて受信通知を作成する。ステップS268及びス
テップS269は図16におけるステップS202及び
ステップS203又は図17におけるステップS234
及びステップS235に相当する。図19に示した署名
付きメッセージ保管エラーの救済方法は、図10におけ
るステップS111、図11におけるステップS13
4、図16におけるステップS201にも同様に適用で
きる。上記のように、バッファの容量不足により受信し
たメッセージや署名の保管に失敗した場合にも、古いメ
ッセージや署名をバッファから削除することにより確実
に受信メッセージや署名を保存できる。以上に記載した
各実施の形態において用いられるメッセージの形式の一
例を以下に記載する。以下の例ではメッセージはアプリ
ケーション間通信の取り決めを定義したExtensible Mar
kup Language(XML)形式によりSOAP の標準に従って作成
されている。図20はリクエスト側からレスポンス側に
対してメッセージの送信要求をする場合のメッセージの
内容の一例である。このメッセージではヘッダ内にメッ
セージタイプとして送信要求を示すRequestを記述す
る。このメッセージは図5のステップS53、図11の
ステップS124、図14のステップS173又は図1
7のステップS223で使用される。図20において、
<SOAP:Envelope と</SOAP:ENVELOPE>との間の情報の中
で、最初の行にxmls:SOAP=…と記載されているのは、こ
のメッセージが SOAP を標準とする XML 形式で記載さ
れたものであることを示している。<SOAP:Header> と <
/SOAP:Header> との間の <rm:Message Header…と</rm:
Message Header>の間がこのメッセージのヘッダであ
る。メッセージヘッダには、メッセージの送信元と、送
信先と、メッセージのサービスの種類と、メッセージの
種類とが記載されている。この例では送信元は<rm:From
>で始まる行に記載されているように requester@anyur
i.com となっておりリクエスト側である。また、送信先
は<rm:To>で始まる行に記載されているようにresponder
@someeuri.comとなっておりレスポンス側である。ま
た、サービスの種類は<rm:Service>で始まる行にItem Q
uote Service と記載されているように、問い合わせの
サービスである。さらにメッセージの種類は<rm: Messa
ge Type>で始まる行に Request と記載されているよう
に要求メッセージである。このメッセージの送信要求に
はメッセージ本体の情報がないので、<SOAP:Body>と</S
OAP:Body>との間には何も記載されていない。図21は
署名無し送信メッセージの一例を示す図である。このメ
ッセージは図3のステップS33におけるリクエスト側
からのメッセージ送信に使用される。同図において、<S
OAP:Envelope と</SOAP:ENVELOPE>との間の情報の中
で、最初の行は図20と同じである。また、<rm:Messag
e Header…>と</rm:Message Header>との間のヘッダに
おける、送信元、送信先、サービスの種類も図20の例
と同じである。この他にメッセージ種類、メッセージI
D、送信日時等が記載されている。メッセージの種類は
<rm: Message Type>で始まる行にMessage と記載されて
いるようにメッセージである。また、メッセージIDと
して<rm: Message Id>の行に20020907-045261-0450@any
uri.com が記載されている。さらに、送信日時として<r
m: Timestamp>の行に 2002-09-07T10:19:07 と記載され
ている。<rm:Reliable Message…>と</rm:Reliable Mes
sage>の間のヘッダには、送信メッセージの信頼性を確
保するための情報が記載されている。即ち、<rm:AckReq
uested SOAP:must understand...は確認メッセージの形
式が SOAP の標準に準拠すべきことを記述したものであ
る。また、<rm:Duplicate Elimination/>は重複受信を
したメッセージを削除するものである。<SOAP:BODY>と<
/SOAP:BODY>との間にはアプリケーションに依存する情
報本体の内容が記載される。図5におけるステップS5
6で送信されるメッセージも、送信元と送信先が図22
に示したものと逆になるだけで図22と同様の形式で作
成される。図22は署名無し受信確認メッセージの一例
を示す図である。このメッセージは図3のステップS3
9で使用される。メッセージの形式は図21に示したも
のと同様であるので詳細な説明は省略する。サービスの
種類が Item Filing Service となっていてファイルス
ルサービスであること、及びメッセージの種類が Ackno
wledgement となっていて確認のメッセージであること
に着目される。本例では送信元がレスポンス側であり送
信先がリクエスト側であるが、送信元をリクエスト側に
し送信先をレスポンス側にすれば図5のステップS62
で使用するメッセージとなる。図23から図25は署名
有りの送信メッセージの一例を示す図である。このメッ
セージは図10のステップS104で使用される。この
メッセージにおいて、第1行の<SOAP:Envelope>から第
19行の</rm:Reliable Message>までは図21に示した
署名無し送信メッセージと同じである。本例では、その
次の行に<wsse:Security xmls:wsse=”から</wsse:Bina
rySecurity Token>までのタグが存在する。ここでは、
ウェブ・サービス・セキュリティ(Web Service Securi
ty )(wsse)によりセキュリティを確保している。次の
タグである<ds:Signature xmls…から</ds:SignatureVa
lue>までの間で、署名がXML形式で記載されている。署
名の対象は、<ds:Xpath>のタグに記載されているよう
に、メッセージヘッダと、リライアブルメッセージ(Rel
iable Message)と、情報本体(SOAP Body)である。これ
により、メッセージヘッダと、リライアブルメッセージ
と、情報本体に対する改竄を防止できる。このように、
送信メッセージに WS-Security 形式の署名を付けるこ
とにより、送信者の否認を防止できる。本例において
も、送信元をレスポンス側とし送信先をリクエスト側と
すれば、図11のステップS126で使用するメッセー
ジとなる。図26から図28は署名有りの受信確認メッ
セージの一例を示す図である。このメッセージは図10
のステップS113、図13のステップS160、又は
図16のステップS204で使用される。メッセージの
形式は図23から図25に示したものと同様であるので
詳細な説明は省略する。サービスの種類が Item Filing
Service となっていてファイルスルサービスであるこ
と、及びメッセージの種類が Acknowledgement となっ
ていて確認のメッセージであることに着目される。この
例においても、受信確認メッセージに WS-Security 形
式の署名を付けることにより、メッセージヘッダと、リ
ライアブルメッセージと、情報本体に対する改竄を防止
できる。本例においても、送信元をリクエスト側とし、
送信先をレスポンス側とすることにより図11のステッ
プS136、図14のステップS183、又は図17の
ステップS236で使用するメッセージとなる。
【0087】
【発明の効果】上記の通り、本発明によれば、片方向の
リクエスト/レスポンス型の通信プロトコルを用いて、
双方向の送達確認を実現することができるという効果が
得られる。
【0088】また、送受信されたメッセージに対して署
名を作成し、これを交換することで、送受信が確かに行
なわれたことを証拠として残し、送信事実、受信事実の
否認を防止することができるという効果が得られる。
【0089】さらに、XML を用いてメッセージを構
築することにより、メッセージの一意性を保証する処理
の自動化を容易にすることができるという効果が得られ
る。さらに、受信メッセージの保存がバッファの容量不
足によりエラーとなった場合でも、古いメッセージや古
い署名を削除することにより、エラーを回避できるとい
う利点もある。
【図面の簡単な説明】
【図1】リクエスト/レスポンス型の同期通信のみを用
いる従来のシステムの構成を示すブロック図である。
【図2】本発明の第1の実施の形態によりリクエスト側
からレスポンス側にメッセージの送信する場合のデータ
の流れを示すブロック図である。
【図3】図2に示したメッセージを送信する場合の処理
の流れを説明するフローチャートである。
【図4】本発明の第1の実施の形態により双方向通信を
可能にする場合のデータの流れを示すブロック図であ
る。
【図5】図4に示したメッセージを送信する場合の処理
の流れを説明するフローチャートである。
【図6】本発明の第2の実施の形態によりメッセージ中
の定まったフォーマットの中の特定の場所にメッセージ
の識別子(ID)を埋め込む方法を説明する図である。
【図7】本発明の第3の実施の形態によりメッセージ内
にメッセージ内容とは別にネームスペースでメッセージ
IDを埋め込む方法を説明する図である。
【図8】本発明の第4の実施の形態により、メッセージ
のダイジェストを利用してメッセージの一意性を検証す
る方法を説明する図である。
【図9】本発明の第5の実施の形態により送信者による
送信の事実を後に送信者が否認することを防止する方法
におけるデータの流れを説明するブロック図である。
【図10】図9に示したシステムにおいて、リクエスト
側11からレスポンス側12にメッセージを送信する場
合において、送信事実の送信者による否認を防止する処
理の流れを説明するフローチャートである。
【図11】図9に示したシステムにおいて、レスポンス
側12からリクエスト側11にメッセージを送信する場
合において、送信事実の送信者による否認を防止する処
理の流れを説明するフローチャートである。
【図12】本発明の第6の実施の形態により受信者によ
る受信の事実を後に受信者が否認することを防止する方
法におけるデータの流れを説明するブロック図である。
【図13】図12に示したシステムにおいて、リクエス
ト側11からレスポンス側12にメッセージを送信する
場合において、受信事実の受信者による否認を防止する
処理の流れを説明するフローチャートである。
【図14】図12に示したシステムにおいて、レスポン
ス側12からリクエスト側11にメッセージを送信する
場合において、受信事実の受信者による否認を防止する
処理の流れを説明するフローチャートである。
【図15】本発明の第7の実施の形態により送受信者に
よる送受信の事実を後に送受信者が否認することを防止
する方法におけるデータの流れを説明するブロック図で
ある。
【図16】図15に示したシステムにおいて、リクエス
ト側11からレスポンス側12にメッセージを送信する
場合の処理の流れを説明するフローチャートである。
【図17】図15に示したシステムにおいて、レスポン
ス側12からリクエスト側11にメッセージを送信する
場合において、送受信事実の送受信者による否認を防止
する処理の流れを説明するフローチャートである。
【図18】図3におけるステップS37又は図5におけ
るステップS60におけるメッセージの保管が成功しな
かった場合の本発明の第8の実施の形態によるメッセー
ジ保管方法を説明するフローチャートである。
【図19】図16におけるステップS201又は図17
におけるステップS233におけるメッセージ及び署名
の保管が成功しなかった場合の本発明の第9の実施の形
態によるメッセージ及び署名の保管方法を説明するフロ
ーチャートである。
【図20】リクエスト側からレスポンス側に対してメッ
セージの送信要求をする場合のメッセージの内容の一例
である。
【図21】署名無し送信メッセージの一例を示す図であ
る。
【図22】署名無し受信確認メッセージの一例を示す図
である。
【図23】署名有りの送信メッセージの一例の一部を示
す図である。
【図24】署名有りの送信メッセージの一例の他の一部
を示す図である。
【図25】署名有りの送信メッセージの一例の更に他の
一部を示す図である。
【図26】署名有りの受信確認メッセージの一例の一部
を示す図である。
【図27】署名有りの受信確認メッセージの一例の他の
一部を示す図である。
【図28】署名有りの受信確認メッセージの一例の更に
他の一部を示す図である。
【符号の説明】
11…リクエスト側 12…レスポンス側 13…ファイアウォール 21…メッセージ 21a…メッセージ 22…受信通知 22a…受信通知 41…受信要求 42…メッセージ 42a…メッセージ 43…受信通知 43a…受信通知 90…署名 91…データベース 92…署名 93…データベース 120…署名 121…データベース 122…署名 151…データベース
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5K018 BA03 FA02 5K034 AA06 DD01 EE10 HH01 HH02 HH11 MM05

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 リクエスト側からレスポンス側への片方
    向のリクエストと該リクエストに対する前記レスポンス
    側から前記リクエスト側へのレスポンスを行うリクエス
    ト/レスポンス型の同期通信のみを用いるシステムにお
    いて、 前記リクエスト側から前記レスポンス側に向けてメッセ
    ージを送信する際は、前記レスポンス側がメッセージを
    受信したことを、前記リクエスト側に返信するまで、同
    じメッセージを前記レスポンス側に送信し続け、 前記レスポンス側から前記リクエスト側に向けてメッセ
    ージを送信する際は、前記リクエスト側がメッセージの
    受信要求を行ない、前記リクエスト側がメッセージを受
    信したことを、新たな通信で前記レスポンス側に受信通
    知するまで、前記レスポンス側は同じメッセージを前記
    リクエスト側に送信し続け、 それにより、双方向でメッセージの送受信を可能にした
    双方向通信手法。
  2. 【請求項2】 送信するメッセージ内に一意の識別子を
    付加し、受信側で重複チェックを行なうことにより、同
    じメッセージを重複して受信することを防ぐようにした
    請求項1記載の双方向通信手法。
  3. 【請求項3】 前記メッセージの形式にXMLを利用
    し、前記メッセージとは異なる特定のネームスペースで
    メッセージ内に前記識別子を付加することで、メッセー
    ジの形式を変更せずに、同じメッセージを重複して受信
    することを防ぐようにした請求項2記載の双方向通信手
    法。
  4. 【請求項4】 前記メッセージの一意性は任意の形で実
    現し、メッセージの一意性を検証する際に、該メッセー
    ジのダイジェスト値を利用することで、同じメッセージ
    を重複して受信することを防ぐようにした請求項1記載
    の双方向通信手法。
  5. 【請求項5】 受信メッセージをバッファに保管完了し
    た後にメッセージを受信したことをメッセージ送信側に
    通知するようにし、前記バッファの容量不足により前記
    受信メッセージの保管に失敗した場合は前記バッファ内
    の古いメッセージを削除することにより受信メッセージ
    を前記バッファに保管するようにした請求項1記載の双
    方向通信方法。
  6. 【請求項6】 前記メッセージの送信側が送信するメッ
    セージに送信メッセージ用電子署名を付加し、該送信メ
    ッセージ用電子署名を受信側が保管することによって送
    信側による送信事実の否認を防止することができるよう
    にすることと、 前記メッセージの受信側が前記メッセージの受信に応答
    して送信するメッセージ受信通知に、受信通知用電子署
    名を付加し、該受信通知用電子署名を、送信側が保管す
    ることによって受信側による受信事実の否認を防止する
    ことができるようにすることと、のすくなくとも一方を
    採用した請求項2から4のいずれか一項記載の双方向通
    信手法。
  7. 【請求項7】 前記署名付きの受信メッセージを受信側
    のバッファに保管完了した後にメッセージを受信したこ
    とをメッセージ送信側に通知するようにし、前記バッフ
    ァの容量不足により前記受信メッセージ及び前記署名の
    少なくとも一方の保管に失敗した場合は前記バッファ内
    の古いメッセージを削除した後に前記バッファの容量が
    依然として不足の場合は前記バッファ内の古い署名を削
    除することにより前記署名付きの受信メッセージを前記
    バッファに保管するようにした請求項6記載の双方向通
    信方法。
JP2002350379A 2001-12-17 2002-12-02 双方向通信方法 Pending JP2003249919A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002350379A JP2003249919A (ja) 2001-12-17 2002-12-02 双方向通信方法
US10/320,347 US20030158961A1 (en) 2001-12-17 2002-12-16 Two-way communication method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001383324 2001-12-17
JP2001-383324 2001-12-17
JP2002350379A JP2003249919A (ja) 2001-12-17 2002-12-02 双方向通信方法

Publications (1)

Publication Number Publication Date
JP2003249919A true JP2003249919A (ja) 2003-09-05

Family

ID=27736402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002350379A Pending JP2003249919A (ja) 2001-12-17 2002-12-02 双方向通信方法

Country Status (2)

Country Link
US (1) US20030158961A1 (ja)
JP (1) JP2003249919A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007087171A (ja) * 2005-09-22 2007-04-05 Fuji Xerox Co Ltd 電子メール送受信装置、プログラム、方法
KR100712655B1 (ko) 2004-04-26 2007-05-02 트렉 2000 인터네셔널 엘티디. 암호화 시스템을 구비한 휴대용 데이터 저장 장치
JP2008544713A (ja) * 2005-06-28 2008-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・サービスにおける秘密データ通信

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US20040205770A1 (en) * 2003-02-11 2004-10-14 International Business Machines Corporation Duplicate message elimination system for a message broker
US7693952B2 (en) * 2003-03-27 2010-04-06 Microsoft Corporation Availability and scalability in a messaging system in a manner transparent to the application
US7685301B2 (en) * 2003-10-20 2010-03-23 Sony Computer Entertainment America Inc. Redundancy lists in a peer-to-peer relay network
US8090940B1 (en) 2004-06-01 2012-01-03 Cisco Technology, Inc. Method and system for verifying identification of an electronic message
US7437558B2 (en) * 2004-06-01 2008-10-14 Cisco Technology, Inc. Method and system for verifying identification of an electronic mail message
US7812983B2 (en) * 2005-03-25 2010-10-12 Microsoft Corporation Methods and systems for transferring binary data
US8315988B2 (en) * 2006-08-31 2012-11-20 Sap Ag Systems and methods for verifying a data communication process
US7519614B2 (en) * 2006-08-31 2009-04-14 Sap Ag Data verification systems and methods using business objects
US8484167B2 (en) * 2006-08-31 2013-07-09 Sap Ag Data verification systems and methods based on messaging data
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
US7856501B2 (en) 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
JP5341198B2 (ja) * 2008-10-30 2013-11-13 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 通信インタフェースにおけるビット反転
WO2014192419A1 (ja) * 2013-05-28 2014-12-04 ソニー株式会社 情報処理装置、通信システム、通信方法およびプログラム
SE544340C2 (en) * 2019-11-19 2022-04-12 Assa Abloy Ab Secure configuration of a target device performed by a user device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807118A (en) * 1987-01-14 1989-02-21 Hewlett-Packard Company Method for handling slot requests over a network
DE69535927D1 (de) * 1994-09-01 2009-04-16 Echelon Corp Verfahren und Gerät zur Erkennung von doppelte Nachrichten
US5799012A (en) * 1995-08-11 1998-08-25 Motorola, Inc. System controlled asymmetrical automatic repeat request protocol method
US6115744A (en) * 1996-07-30 2000-09-05 Bea Systems, Inc. Client object API and gateway to enable OLTP via the internet
US6820202B1 (en) * 1998-11-09 2004-11-16 First Data Corporation Account authority digital signature (AADS) system
US6473829B1 (en) * 1999-05-28 2002-10-29 International Business Machines Corporation Data storage device providing communication between processing units
US6654892B1 (en) * 1999-06-08 2003-11-25 Sun Microsystems, Inc. Methods and apparatus for permitting transactions across firewalls
US6757717B1 (en) * 1999-09-16 2004-06-29 Proxyconn, Inc. System and method for data access
US20020055963A1 (en) * 2000-11-06 2002-05-09 Yasuhiko Kanemasa Data interchange system, data interchange instrument and method thereof
EP1378092B1 (en) * 2001-02-22 2008-06-25 Bea Systems, Inc. System and method for message encryption and signing in a transaction processingsystem

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100712655B1 (ko) 2004-04-26 2007-05-02 트렉 2000 인터네셔널 엘티디. 암호화 시스템을 구비한 휴대용 데이터 저장 장치
US8037309B2 (en) 2004-04-26 2011-10-11 Trek 2000 International Ltd. Portable data storage device with encryption system
JP2008544713A (ja) * 2005-06-28 2008-12-04 インターナショナル・ビジネス・マシーンズ・コーポレーション ウェブ・サービスにおける秘密データ通信
JP2007087171A (ja) * 2005-09-22 2007-04-05 Fuji Xerox Co Ltd 電子メール送受信装置、プログラム、方法

Also Published As

Publication number Publication date
US20030158961A1 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
JP2003249919A (ja) 双方向通信方法
CN108681965B (zh) 离线节点的区块链网络交易处理方法和装置
US7359920B1 (en) Communication protocol for synchronization of personal information management databases
US7895349B2 (en) Messaging protocol in enterprise applications
US9524327B2 (en) Method and system for data synchronization, and apparatus thereof
AU2003225818B2 (en) Data replication system and method
US6757717B1 (en) System and method for data access
US7359919B2 (en) Reliable request-response messaging over a request-response transport
US9143358B2 (en) Electronic document communication system and electronic document communication method
US20140279936A1 (en) Method for data retrieval from a distributed data storage system
US20040010543A1 (en) Cached resource validation without source server contact during validation
US7149898B2 (en) Self-monitoring and trending service system with a cascaded pipeline with enhanced authentication and registration
US20060239197A1 (en) Flower-petal resolutions for PNRP
US6920476B2 (en) Messaging system for computers
CN106657269B (zh) 文件传输方法
TW200402961A (en) Data communication method
US6581175B1 (en) Apparatus and method of requesting retransmission of a message across a network
JP4765731B2 (ja) 文書管理システム、文書管理サーバ、文書の提供方法、及びプログラム
CN109688204B (zh) 基于ndn网络的文件下载方法、节点、终端
JP6932961B2 (ja) 電文送受信システム、電文送信装置、電文送受信方法およびプログラム
JP2005109849A (ja) 送信サーバ用データ交換処理プログラムおよび受信サーバ用データ交換処理プログラム
US20230308521A1 (en) Management device, management method, and recording medium
US9781131B2 (en) Systems and methods for securing remote configuration
CN112953835B (zh) 数据传输方法、装置及系统
CN113821710B (zh) 全域搜索方法、装置、电子设备和计算机存储介质

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050606

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050921

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20051004

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20051209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090420