JP2004274134A - 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント - Google Patents

通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント Download PDF

Info

Publication number
JP2004274134A
JP2004274134A JP2003058470A JP2003058470A JP2004274134A JP 2004274134 A JP2004274134 A JP 2004274134A JP 2003058470 A JP2003058470 A JP 2003058470A JP 2003058470 A JP2003058470 A JP 2003058470A JP 2004274134 A JP2004274134 A JP 2004274134A
Authority
JP
Japan
Prior art keywords
authentication data
client
server
nonce
encryption key
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
JP2003058470A
Other languages
English (en)
Inventor
Senju Horibe
千壽 堀部
Shinji Hamai
信二 浜井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003058470A priority Critical patent/JP2004274134A/ja
Publication of JP2004274134A publication Critical patent/JP2004274134A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】クライアント側にサーバと共通の認証データ生成用のプログラムを予め組み込む手間を省き、クライアント認証を行うことができる通信方法を提供する。
【解決手段】サーバ1002はクライアント2002からの通信要求M01に従って、認証データ生成プログラムM02とノンスM03をクライアント2001に送信する。クライアント2001はパスワード200とノンスM03を認証データ生成プログラムM02に入力して認証データM04を生成し、サーバ1001に送信する。サーバ1001はクライアント2001に送信したノンスM03とパスワード100を認証データ生成プログラムM02に入力して確認用データM05を生成する。クライアント2001が生成した認証データM04と確認用認証データM05を比較し、同じであれば通信を許可(認証)する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、認証方法等に関し、特にクライアント・サーバ方式の通信システムに用いられるクライアントの認証及び認証後の暗号化通信等に関する。
【0002】
【従来の技術】
近年、インターネットなどのネットワークが急速に普及し、データの配信など様々なサービスが提供されている。しかし、その一方で正当なユーザになりすましてデータを不当に取得したり、インターネットを通して通信されるデータを盗聴したり、改ざんするなどの種々の問題も発生してきた。このため、クライアント・サーバ方式の通信システムにおいては、データの通信に当たってクライアントが正当な機器か否かを確認するクライアント認証を行ったり、暗号通信したりする方策がとられている。
【0003】
例えば、デジタル著作物を第1の機器(サーバ)から第2の機器(クライアント)に転送する際に、不正取得による著作権侵害を防止するために、転送に先立ち、第1の機器が第2の機器を認証することが行われる。つまり、通信相手が確かに自分が意図している相手かどうかを確認することが行われる。このようなクライアント・サーバ方式の通信システムにおけるクライアントを認証する従来技術としては、チャレンジレスポンス方式がある(非特許文献1参照。)。また、クライアントが正当な機器であると認証された場合の従来の暗号化通信に関しては、Secure Sockets Layer(SSL)方式(非特許文献2参照。)や、特許文献1に記載されたものが知られている。
【0004】
図11は従来のクライアント・サーバ方式の通信システムにおけるチャレンジレスポンス方式のクライアント認証の構造を示している。
クライアント2101とサーバ1101は、共通の変換関数F( )300、400をそれぞれ持っている。始めにクライアント2101がサーバ1101に向けて通信要求M20を送信する。サーバ1101は、クライアント2101からの通信要求M20を受信すると、乱数をもとにノンスCを生成し、当該ノンスCをサーバ1101のチャレンジコードM21として、クライアント2101に対して送信する。クライアント2101は、チャレンジコードM21を受信した後に上記関数F( )400にチャレンジコードM21を入力し、チャレンジコードM21の変換結果R(認証データ)を取得し、変換結果Rをクライアント2101のレスポンスM22としてサーバへ送信する。サーバ1101は、レスポンスM22を受信した後に、クライアント2101とは独立に関数F( )300にノンスCを入力して確認用データM23(確認用認証データ)を生成し、レスポンスM22と前記確認用データM23を比較し、同じ物であれば認証する認証方式である。
【0005】
図12は、従来のクライアント・サーバ方式の通信システムにおけるSSLによる認証、暗号化通信の構造を示している。
始めにクライアント2102は、乱数から生成したノンス、セッションID、使用可能暗号などの情報を書き込んだClient helloメッセージM101をサーバ1102に送信する。サーバ1102は、このメッセージM101を受信すると、サーバ1102側の乱数から生成したノンス、セッションID、使用可能暗号などの情報を書き込んだServer helloメッセージM102をクライアント2102に送信する。また、サーバ1102は、さらに公開鍵情報を含むサーバ証明書301などを必要に応じてクライアント2102に送信する。クライアント2102は、暗号化通信に使用する対称暗号用の暗号鍵402をサーバ1102に送信する。さらにクライアント証明書401などを必要に応じてサーバ1102に送信する。クライアント2102は対称暗号による通信の準備が完了すると、Change_cipher_specメッセージM110と、finishedメッセージM111をサーバに送信する。サーバ1102は、クライアント2102からのM110、M111の2つのメッセージを受信後、対称暗号による通信の準備が完了すると、Change_cipher_specメッセージM112と、finishedメッセージM113をクライアント2102に送信する。これ以降、クライアント2102とサーバ1102は対称暗号による暗号化通信を行う暗号通信方式である。
【0006】
図13は、さらに他の従来の暗号化通信システムの構成を示している(特許文献1参照。)。
ネットワーク装置501においては、鍵生成部514で生成した暗号鍵を記憶部515に記憶する一方、暗号処理を行うプログラムと、当該暗号処理に使用する暗号鍵またはその暗号鍵の格納場所を示す参照アドレスとを含むプログラムデータをプログラムデータ生成部513が生成し、このプログラムデータを通信部511がホスト装置520に送信する。一方、ホスト装置520はネットワーク装置510から送信されたプログラムデータを受信し、受信したプログラムデータを実行して、データを暗号化した後にネットワーク装置510に向けて暗号化データを送信する。ネットワーク装置510は暗号化データを受け取ると、復号部512でデータを復号することでデータを受け取る。以降、ネットワーク装置510とホスト装置520はネットワーク装置510が生成したプログラムデータを利用して暗号化通信を行う。このシステムでは対称鍵方式、非対称鍵(公開鍵)方式の暗号を使用することができる。
【0007】
【非特許文献1】
HTTプロトコル Stephen Thomas著 葛西重夫訳 ソフトバンクパブリッシング 2002.3.28 ISBN4−7973−1833−3
【0008】
【非特許文献2】
インターネット暗号化技術 岩田彰監修 鈴木春洋他 ソフト・リサーチ・センター 2002.5.25 ISBN4−88373−166−9 P123 第4章 SSL
【0009】
【特許文献1】
特開2002−64479号公報(第1頁、第1図)
【0010】
【発明が解決しようとする課題】
しかしながら、従来のクライアントの認証及び認証後の暗号化通信においては、次のような問題がある。
【0011】
図11のクライアント・サーバ方式の通信システムにおけるチャレンジレスポンス方式のクライアント認証においては、クライアント2101にサーバ1101と共通の変換関数F( )400を予め組み込んでおく必要があった。また、変換関数F( )300、400の変更を行う場合には、サーバ1101だけでなく、クライアント2101でも組み込み作業を行わなければならなかった。
【0012】
また、図12のクライアント・サーバ方式の通信システムにおけるSSLによる認証、暗号化通信においては、公開鍵を利用して暗号通信に必要な鍵の共有を行うが、公開鍵の情報はInternational Telecommunication Union(ITU)で定義されたX.509標準仕様の証明書フォーマットに基づいて通知されるため、証明書フォーマットの解読や証明書の正統性を保証する認証局が必要になる。そのため、システム全体の維持コストが高く、しかも証明書の解読作業が複雑であるという問題があった。
【0013】
また、図13の特開2002−64479号公報に記載された暗号化通信システムにおいては、通信時に暗号鍵または暗号鍵の格納場所を示す参照アドレスがネットワーク上を流れるため、暗号鍵が漏洩し、暗号データの内容が盗み見られる可能性があった。
【0014】
本発明は、クライアント・サーバ方式の認証において、クライアント側にサーバと共通の認証データ生成用のプログラムを予め組み込む手間を省き、クライアント認証を行うことができる通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアントを提供することを第1の目的とする。
【0015】
また、認証局を不要とし、しかもネットワーク上に暗号鍵を流さないで、安全性の高い暗号化通信を実現できる通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアントを提供することを第2の目的とする。
【0016】
【課題を解決するための手段】
上記第1の目的を達成するために、本発明に係る通信方法は、ネットワークを介して通信要求を送信するクライアントと、通信要求に従って当該クライアントを認証するための処理を行うサーバとからなる通信システムにおける通信方法であって、前記クライアント及び前記サーバは、前記認証に用いられる第1情報を共通に予め保持する第1情報保持手段をそれぞれ備え、前記サーバは、さらに、認証データを生成するための認証データ生成プログラムを予め保持する認証データ生成プログラム保持手段を備え、前記サーバは、前記通信要求を受信するごとに乱数を表すノンスを新たに生成するノンス生成ステップと、前記ノンス生成ステップで生成されたノンスをノンス記憶手段に記憶させるノンス記憶ステップと、前記ノンス記憶手段に記憶されたノンスと、前記認証データ生成プログラム保持手段に保持された認証データ生成プログラムとを前記クライアントに送信する第1送信ステップとを含み、前記クライアントは、前記サーバから受信した前記認証データ生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて認証データを生成する認証データ生成ステップと、前記認証データ生成ステップで生成された認証データを前記サーバに送信する認証データ送信ステップとを含み、前記サーバは、さらに前記クライアントから認証データを受信すると、前記認証データ生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される第1情報とに基づいて確認用の認証データを生成する確認用認証データ生成ステップと、前記クライアントから受信した認証データと、確認用認証データ生成ステップで生成された確認用の認証データとを比較し、一致するか否かでクライアントを認証する認証ステップとを含むことを特徴とする。
【0017】
具体的には、本願の第1の発明は、クライアント・サーバ型の通信システムにおける、クライアント認証手順についての通信方法の発明である。認証を行う前に、前記クライアントと、前記サーバの間で同一のパスワード(第1情報)を予め共有しておく。前記クライアントは、前記サーバとの通信を行う通信手段を用いて前記サーバに通信要求を送信する。前記サーバは、前記クライアントからの前記通信要求を前記クライアントとの通信手段で受信し、受信した前記通信要求に従って、認証データ生成プログラム記憶手段に記憶されている認証データ生成プログラムと、乱数発生手段により発生させた乱数から生成したノンスを前記クライアントに送信する。前記認証データ生成プログラムは、入力を一定の法則で変換する変換関数にパスワードと前記ノンスを入力し変換結果を認証データとして出力するプログラムである。前記ノンスは、認証を行うたびに生成するため毎回異なる値となる。前記クライアントは、前記認証データ生成プログラムと前記ノンスを受信し、パスワード記憶手段に記憶されているパスワードと前記ノンスを前記認証データ生成プログラムに入力して認証データを生成し、前記認証データを前記サーバに送信する。前記ノンスが毎回異なるため、前記パスワードが毎回同じ値であっても認証データは毎回異なる値になる。これにより、前記認証データが盗聴されて再送された場合でも、同じ認証データは二度と生成されないので、同じ認証データが前記サーバに送信されてきた場合、なりすましを検出することができる。前記サーバは前記クライアントに送信した前記ノンスと前記サーバのパスワード記憶手段に予め登録されている前記クライアントのパスワードを前記認証データ生成プログラムに入力して確認用認証データを生成し、前記サーバは前記クライアントから送信されてきた前記認証データと前記確認用認証データを認証データ比較手段により比較する。前記ノンスが共通であり、前記パスワードも同じ物であれば、前記認証データと前記確認用認証データは同一の物になるため、前記ノンスが改竄されたり、不正なパスワードによる認証が行われた場合、前記認証データと前記確認用認証データが同一でなくなるため、不正ユーザの認証を検出することができる。前記認証データと前記確認用認証データが、同じであれば前記クライアントは前記サーバと同一の前記パスワードを持ち、正しい前記ノンスを受け取っていることから、正規のクライアント判断し、前記サーバ間の通信を許可(認証)する。
【0018】
このような発明の構成によれば、サーバからクライアントに認証データ生成プログラムが送られるので、クライアントに認証データ生成プログラムを予め保持しておく必要がなく、認証プログラムを保持していなくともクライアント認証を行うことができる。しかもクライアントとサーバの認証データ生成プログラムの同期をとるためのアップデート作業を個々に行わなくてよくなり、通信システムの保守が容易になる。
【0019】
また、上記第2の目的を達成するために、本発明に係る通信方法は、前記第1送信ステップでは、さらに暗号鍵を生成するための暗号鍵生成プログラムと、当該暗号鍵でネットワーク上の通信データを暗号化するための暗号化プログラムとを送信し、前記クライアントは、さらに前記認証データを送信した後に、前記サーバから受信した暗号鍵生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて暗号鍵を生成する第1暗号鍵生成ステップと、前記サーバから受信した暗号化プログラムを実行し、第1暗号鍵生成ステップで生成された暗号鍵を用いて前記サーバと暗号通信する第1暗号通信ステップとを含み、前記サーバは、さらに前記認証ステップにおける比較の結果、前記クライアントから受信した認証データと、自己が生成した確認用の認証データとが一致する場合に、前記第1送信ステップで送信される暗号鍵生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて暗号鍵を生成する第2暗号鍵生成ステップと、前記第1送信ステップで送信される暗号化プログラムを実行し、前記第2暗号鍵生成ステップで生成された暗号鍵を用いて前記クライアントと暗号通信する第2暗号通信ステップとを含むことを特徴とする。
【0020】
具体的には、本願の第2の発明は、第1の発明に記載された通信システムにおける、クライアント認証手順であって、前記サーバは、前記認証データ生成プログラムと前記ノンスと一緒に、暗号化プログラム記憶手段に記憶された暗号化プログラムと、暗号鍵生成プログラム記憶手段に記憶された暗号鍵生成プログラムを前記クライアントへ送信する。前記クライアントは、受信したデータ内の前記認証データ生成プログラムと前記ノンスと前記クライアントの持つパスワードから前記認証データを生成し、前記認証データを前記サーバに送信する。その後に、前記クライアントは、前記クライアントの持つ前記パスワードと前記ノンスを前記暗号鍵生成プログラムに入力してクライアントの暗号鍵を生成する。受信するたびに値が異なる前記ノンスを用いて暗号鍵を生成するので、毎回異なる暗号鍵が生成されるので、暗号鍵が漏洩しても被害を最小限にとどめることができる。前記サーバは前記認証データと前記確認用認証データを比較して同じであれば、前記サーバにおいて前記ノンスと前記クライアントのパスワードを前記暗号鍵生成プログラムに入力してサーバの暗号鍵を生成する。同一のパスワードと同一の前記ノンスを用いて前記暗号鍵生成プログラムで暗号鍵を生成するため、前記クライアントで生成された暗号鍵と同一の暗号鍵を生成することができる。この暗号鍵を用いることで対称暗号方式の暗号化通信が可能になる。また、暗号鍵そのもののデータがネットワーク上を流れることが無いので、ネットワークの盗聴による暗号鍵の漏洩を防ぐことができる。前記クライアントは前記サーバから受信した前記暗号化プログラムと、前記クライアントの暗号鍵を用いて前記サーバとの通信を行うデータの暗号化を行い、前記サーバは前記暗号化プログラムと、前記サーバの暗号鍵を用いて暗号化し、前記クライアントと暗号化通信を行う。
【0021】
したがって、この発明の構成によれば、鍵生成プログラムと暗号化プログラムをクライアントに送る場合は、通信システムの保守が容易になることと、クライアントが各プログラムを保持していなくとも暗号化通信を行うことができることの他に、暗号化通信に必要な暗号鍵を直接ネットワーク上に流さないため、ネットワークの盗聴による暗号鍵の漏洩を防ぐことが出来、より安全な暗号化通信を行うことができるという効果がある。すなわち、証明書を用いないため認証局を不要とすることができ、しかもネットワーク上に暗号鍵を流さないで、安全性の高い暗号化通信を実現できる通信方法を提供することができる。
【0022】
また、上記第2の目的を達成するために、本発明に係る通信方法は、前記認証データ生成プログラムは、暗号鍵を生成する機能を含み、前記第1送信ステップでは、ネットワーク上の通信データを暗号鍵で暗号化するための暗号化プログラムをさらに送信し、前記クライアントは、さらに前記認証データをサーバに送信した後、認証データ生成プログラムを再度実行し、前記認証データに基づいて暗号鍵を生成する第1暗号鍵生成ステップと、前記サーバから受信した暗号化プログラムを実行し、第1暗号鍵生成ステップで生成された暗号鍵を用いて前記サーバと暗号通信する第1暗号通信ステップとを含み、前記サーバは、前記認証ステップにおける比較の結果、前記クライアントから受信した認証データと、自己が生成した確認用の認証データとが一致する場合に、前記第1送信ステップで送信される認証データ生成プログラムを再度実行し、前記確認用認証データに基づいて暗号鍵を生成する第2暗号鍵生成ステップと、前記第1送信ステップで送信される暗号化プログラムを実行し、前記第2暗号鍵生成ステップで生成された暗号鍵を用いて前記クライアントと暗号通信する第2暗号通信ステップとを含むことを特徴とすることもできる。
【0023】
具体的には、本願の第3の発明は、第1の発明に記載された通信システムにおける、クライアント認証・暗号化通信手順であって、前記サーバは前記クライアントからの通信要求に従って前記認証データ生成プログラム、前記暗号化プログラム、前記ノンスを前記クライアントに送信し、前記サーバは前記クライアントから送信されてきた前記認証データと前記確認用認証データを比較して同じであれば、前記クライアントは前記認証データを前記認証データ生成プログラムに入力して生成されたデータをクライアントの暗号鍵とし、前記サーバにおいても前記認証データを前記認証データ生成プログラムに入力して生成されたデータをサーバの暗号鍵として、前記サーバと前記クライアントの間で暗号化通信を行う。
【0024】
このような構成によれば、証明書を用いないため認証局を不要とすることができ、しかもネットワーク上に暗号鍵を流さないで、安全性の高い暗号化通信を実現できる通信方法を提供することができるという効果に加え、さらに、前記認証データ生成プログラムを前記暗号鍵生成プログラムと共通にすることで、前記サーバから前記クライアントに送信されるデータの量を軽減することができるという効果を得ることができる。
【0025】
また、本願の第4の発明に係る通信方法は、前記認証データ送信ステップでは、さらに前記サーバから受信したノンスをサーバに送信し、前記認証ステップでは、前記クライアントに送信した前記ノンスと前記クライアントから送信されてきた前記ノンスとを比較し、比較の結果両者が一致する場合に前記クライアントから送信されてきた前記認証データと前記確認用認証データを比較することを特徴とすることができる。
【0026】
具体的には、本願の第4の発明は、第1の発明に記載された通信システムにおける、クライアント認証手順であって、前記クライアントは前記認証データと前記認証データ作成に使用した前記ノンスを前記サーバに送信する。前記サーバは前記クライアントから送信されてきた前記ノンスと前記サーバが前記クライアントに送信した前記ノンスを比較する。その結果、同一でない場合は正しいクライアントではないクライアントからのアクセスであるか第三者に前記クライアントからの通信データが改竄されたかのいずれかであることが判定できる。この場合は前記確認用認証データを計算する必要が無いので、サーバ側のリソースを節約できる。前記ノンスの比較結果が同一の場合は、前記サーバは前記クライアントから送信されてきた前記認証データと前記確認用認証データを比較する。比較の結果、前記認証データと前記確認用認証データが同一であれば前記クライアントと前記サーバ間の通信を許可(認証)する。
【0027】
したがって、この発明の構成によれば、クライアントから送信されてきたノンスでいわゆるプレ認証を行うことができ、不正なクライアントを大まかに振る落とすことができ、確認用認証データを計算する無駄を省くことができる。
【0028】
また、本発明に係る通信方法は、前記第1情報は、前記クライアントおよびサーバに共通のパスワードであり、認証データ生成ステップでは、前記クライアントは、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持されるパスワードとに基づいて認証データを生成し、前記確認用認証データ生成ステップでは、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持されるパスワードとに基づいて確認用の認証データを生成することを特徴としてもよい。
【0029】
また、本発明に係る通信方法は、前記第1情報は、複数のクライアントに固有のIDと、各IDにそれぞれ対応するパスワードとから構成され、認証データ生成ステップでは、各前記クライアントは、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持されるパスワードと、IDとに基づいて認証データを生成し、前記確認用認証データ生成ステップでは、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される全クライアントのパスワードとIDとに基づいて各クライアント確認用の認証データを複数生成し、前記認証ステップでは、前記クライアントから受信した認証データと、自己が生成した複数の確認用の認証データとを1つずつ比較し、一致するものがあるか否かで各前記クライアントを認証することを特徴とすることができる。
【0030】
具体的には、本願の第5の発明は、第1の発明に記載された通信システムにおける、クライアント認証手順であって、前記サーバに接続する可能性がある前記クライアントが複数存在する場合、予め各クライアントにIDを割り振り、各IDについてパスワードを設定し、前期サーバと各々の前記クライアントで共有しておく。前記クライアントは、前記クライアントが持つIDとパスワードと前記ノンスを前記認証データ生成プログラムに入力して認証データを生成し、前記サーバに送信する。前記クライアントは前記IDをそのままネットワーク上に送信しないので、IDを用いたパスワード類推攻撃などを防ぐことができる。前記サーバは前記ノンスと前記サーバに予め登録されている全クライアントのIDとパスワードをそれぞれ前記認証データ生成プログラムに入力して全クライアント分の確認用認証データを生成する。前記サーバは前記クライアントから送信されてきた前記認証データと前記全確認用認証データを比較し、同じ確認データがあれば前記クライアントと前記サーバ間の通信を許可(認証)する。
【0031】
したがって、このような構成によれば、IDで複数のクライアントを区別して認証することができ、さらに複数のクライアントをIDで管理する場合に、認証時にクライアントのIDが直接ネットワーク上に流さないため、ネットワークの盗聴によるID漏洩によるパスワード推測による攻撃や、有効なIDに対するブルートフォース攻撃を行いにくくすることができるなど、多くの顕著な効果が得られる。
【0032】
また、本発明に係る通信方法は、前記認証データ生成プログラムは、入力を一定の法則で変換する関数にハッシュ関数を含むことを特徴とする構成としても良い。
【0033】
具体的には、本願の第6の発明は、上記発明に記載された通信システムにおける、クライアント認証手順であって、前記認証データ生成プログラムの変換関数に不可逆関数であるハッシュ関数を使用する。
【0034】
このような構成によると、ハッシュ関数を用いることにより、認証データからパスワードを類推することを困難にすることができ、しかも、暗号鍵を利用しないため、暗号鍵の漏洩によるデータ盗聴を防ぐことができる。
【0035】
なお、本発明は、このような通信システムにおける通信方法として実現することができるだけでなく、このような通信システムを構成するサーバにおける通信方法として実現したり、通信システムを構成するクライアントにおける通信方法として実現したりすることもできる。そして、これらの通信システムにおける通信方法や、サーバにおける通信方法、クライアントにおける通信方法が含む特徴的なステップを手段とする通信システムや、サーバや、クライアントとして実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのはいうまでもない。
【0036】
【発明の実施の形態】
(実施の形態1)
以下、本発明の実施の形態1に係る通信システムについて、図面を参照しながら説明する。
【0037】
図1は、本実施の形態1に係る通信システムの全体構成を示す機能ブロック図である。
本実施の形態1に係る通信システムは、図1に示されるように、ネットワーク3000を介して相互に通信可能に接続されるサーバ1001と、クライアント2001とから構成される。
【0038】
サーバ1001は、通信部110と、パスワード記憶部111と、乱数発生部120と、ノンス記憶部121と、認証データ生成プログラム記憶部130と、認証データ生成プログラム実行部131と、認証データ比較部132とを備える。
【0039】
通信部110は、クライアント2001と通信を行う。パスワード記憶部111は、クライアント2001と共通のパスワード100を予め保持する。乱数発生部120は、クライアントから通信要求があった際に乱数(ノンス)M03を生成する。ノンス記憶部121は、乱数発生部120が生成したノンスM03を記憶する。認証データ生成プログラム記憶部130は、クライアント2001からの通信要求M01の応答として送信するための認証データ生成プログラムM02を保持する。認証データ生成プログラム実行部131は、パスワード記憶部111に保持されるパスワード100とノンス記憶部121に保持されるノンスM03とを認証データ生成プログラムM02に入力し、当該プログラムM02を実行することにより確認用認証データM05を生成する。認証データ比較部132は、クライアント2001から送られてきた認証データM04と確認用認証データM05を比較判定を行う。
【0040】
なお、このようなサーバ1001を構成する各部は、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0041】
クライアント2001は、通信部210と、パスワード記憶部211と、認証データ生成プログラム実行部231とを備える。
通信部210は、サーバ1001と通信を行う。パスワード記憶部211は、サーバ1001と共通のパスワード200を予め保持する。認証データ生成プログラム実行部231は、サーバ1001から認証データ生成プログラムM02とノンスM03とが送られてくると、この応答として、パスワード記憶部211に保持されるパスワード200と送られてきたノンスM03とを認証データ生成プログラムM02に入力し、当該プログラムM02を実行することにより認証データM04を生成する。
【0042】
なお、このようなクライアント2001を構成する各部は、サーバ1001の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0043】
次いで、図2を用いて本実施の形態1のクライアント・サーバ間のデータの流れを説明する。
図2は、本実施の形態1の通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【0044】
まず始めにクライアント2001は通信部210を用いて接続したいサーバ1001に対して通信要求M01のメッセージを送信する。
サーバ1001は、通信要求M01に対して乱数発生部120で乱数を発生させ、ノンスM03を生成する。生成したノンスM03はノンス記憶部121に記憶される。通信部110は、通信要求M01の応答として、認証データ生成プログラム記憶部130に保持されている認証データ生成プログラムM02と、ノンス記憶部121によって記憶されているノンスM03とを、クライアント2001に送信する。なお、ノンスM03は、通信要求があるたびに新たに生成される。
【0045】
クライアント2001は、パスワード記憶部211に予め保持しているパスワード200と、サーバ1001から受信したノンスM03とをプログラム実行部231で実行される認証データ生成プログラムM02に入力し、認証データM04を生成する。そして認証データM04をM02とM03の応答として通信部210を使ってサーバ1001に送信する。
【0046】
サーバ1001は、パスワード記憶部111に保持されているパスワード100とノンス記憶部121に保持されているノンスM03を認証データ生成プログラム実行部131で実行される認証データ生成プログラムM02に入力し、確認用認証データM05を生成する。
【0047】
この認証データ生成プログラムは、パスワードとノンスから認証データを生成するが、その認証データは、
M04=CauthData(N,Pc)
M05=CauthData(N,Ps)
でそれぞれ表される。
【0048】
ここで、Nはノンス、Pcはクライアントが保持するパスワード、Psはサーバが保持するパスワード、CauthData()は認証データ生成プログラムで用いられる変換式である。
【0049】
双方のパスワードが一致すれば、認証データM04及びM05もまた一致する。CauthDataには逆変換が困難なハッシュ関数が用いられる。ハッシュ関数としてはSHA−1,MD5などが知られている。従って、ネットワーク上を流れる認証データM04及びノンスNが盗聴されたとしても、パスワードPcを逆演算によって知ることは困難である。また、ノンスNが通信要求があるごとに変更されるため、認証データM04を盗聴してもそのまま次の接続で使用しても、サーバが認証することはない。
【0050】
サーバ1001は、クライアント2001から送信されてきた認証データM04と確認用認証データM05を認証データ比較部132で比較し、同じ物であればクライアント2001がサーバ1001と共通のパスワードを持つ正当な通信クライアントとして認証し、以後の通信を続行する。
【0051】
以上のように本実施の形態1に係るシステムによれば、サーバ1001から認証データ生成プログラムM02をクライアント2001に送るようにしているので、クライアント2001とサーバ1001の認証プログラムの同期をとるためのアップデート作業を個々に行わなくてよくなり、通信システムの保守が容易になる。また、クライアント2001は、認証を行うごとに認証データ生成プログラムM02が送信されてくるため、認証プログラムを保持していなくとも認証を受けることができる。
【0052】
なお、クライアント2001は、パスワード記憶部211にパスワード200を保持せず、クライアント使用者が直接認証データ生成プログラム実行部231に入力してもよい。
【0053】
また、クライアント2001は、認証データ生成プログラムM02を保持し、サーバ1001側で認証データ生成プログラムM02の更新が無ければ、サーバ1001はノンスのみを送信し、クライアント2001は保持している認証データ生成プログラムM02を使用して認証データM04を生成してもよい。
【0054】
また、サーバ1001のパスワード記憶部111、ノンス記憶部121、認証データ生成プログラム記憶部130は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0055】
また、認証データ生成プログラムM02の変換関数はパスワード100、200を暗号鍵とするDESなどの対称鍵暗号関数を使用してもよい。
また、認証データ生成プログラムM02の変換関数はパスワード100、200を暗号鍵とするRSAなどの非対称鍵暗号関数を使用してもよい。
【0056】
また、サーバ1001はノンスM03に有効期限を設け、期限が過ぎたノンスM3により生成された確認用認証データM05を強制的に廃棄するようにしてもよい。これにより、認証が途中で失敗した場合に確認用認証データが廃棄されずに残るのを防ぐことができる。
【0057】
さらに、本実施の形態のサーバまたはクライアントのいずれかの各動作ステップを実行させる作用を記述したプログラムコード及びそのプログラムを記録したソフトウェアの蓄積媒体を用いて、コンピュータを搭載する装置上でこれを実行し、サーバまたはクライアントとして動作させてもよい。
【0058】
(実施の形態2)
次に、本発明の実施の形態2に係る通信システムについて、図面を参照しながら説明する。
【0059】
図3は、本実施の形態2に係る通信システムの全体構成を示す機能ブロック図である。なお、実施の形態1に係る通信システムの構成と対応する構成部分に同じ番号を付し、その説明を省略する。
【0060】
本実施の形態2に係る通信システムは、図3に示されるように、ネットワーク3000を介して相互に通信可能に接続されるサーバ1002と、クライアント2002とから構成される。
【0061】
ここで、この実施の形態2に係る通信システムにおいては認証後の暗号通信を含めて構成されている点が、認証後の暗号通信機能を含まない実施の形態1に係る通信システムの構成と大きく異なっている。
【0062】
サーバ1002は、サーバ1001が備える通信部110、パスワード記憶部111、乱数発生部120、ノンス記憶部121、認証データ生成プログラム記憶部130、認証データ生成プログラム実行部131及び認証データ比較部132の他、さらに、暗号鍵生成プログラム記憶部140と、鍵生成プログラム実行部141と、暗号鍵記憶部142と、暗号化プログラム記憶部150とを備える。
【0063】
暗号鍵生成プログラム記憶部140は、暗号鍵生成プログラムM06を記憶する。鍵生成プログラム実行部141は、暗号鍵M08を生成する。暗号鍵記憶部142は、クライアント2002と暗号化通信を行う際に使用する暗号鍵を記憶する。暗号化プログラム記憶部150は、暗号化プログラムM07を記憶する。暗号化プログラム実行部151は、暗号化コードM09を生成する。
【0064】
なお、このようなサーバ1002を構成する各部は、サーバ1001の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0065】
クライアント2002は、クライアント2001が備える通信部210、パスワード記憶部211及び認証データ生成プログラム実行部231の他、さらに鍵生成プログラム実行部241と、暗号鍵記憶部242と、暗号化プログラム記憶部250と、暗号化プログラム実行部251とを備える。
【0066】
鍵生成プログラム実行部241は、サーバ1002と暗号化通信を行うために、サーバ1002から送られてくる鍵生成プログラムM06を実行する。暗号鍵記憶部242は、鍵生成プログラムM06により生成された暗号鍵を記憶する。暗号化プログラム記憶部250は、サーバ1002から送られてくる暗号化プログラムM07を記憶する。暗号化プログラム実行部251は、暗号化プログラムM07と暗号鍵を使って暗号化を実行する。
【0067】
なお、このようなクライアント2002を構成する各部は、クライアント2001の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0068】
次いで、図4を用いて本実施の形態2のクライアント・サーバ間のデータの流れを説明する。
図4は、本実施の形態2の通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【0069】
まず始めにクライアント2002は、通信部210を用いて接続したいサーバ1002に対して通信要求M01のメッセージを送信する。
サーバ1002は、通信要求M01に対して乱数発生部120で乱数を発生させ、ノンスM03を生成させる。生成されたノンスM03はノンス記憶部121に記憶される。通信部110は、通信要求M01の応答として、クライアント2002に対し、暗号鍵生成プログラム記憶部140に保持されている暗号鍵生成プログラムM06と、暗号化プログラム記憶部150に保持されている暗号化プログラムM07と、認証データ生成プログラム記憶部130に保持されている認証データ生成プログラムM02と、ノンス記憶部121によって記憶されているノンスM03とを、順次送信する。なお、ノンスM03は通信要求があるたびに新たに生成される。
【0070】
クライアント2002は、パスワード記憶部211に予め保持しているパスワード200と、サーバ1002から受信したノンスM03とを認証データ生成プログラム実行部231で実行される認証データ生成プログラムM02に入力し、認証データM04を生成する。そして認証データM04をM02とM03の応答として通信部210を使ってサーバ1002に送信する。
【0071】
サーバ1002は、パスワード記憶部111に保持されているパスワード100とノンス記憶部121に保持されているノンスM03とを認証データ生成プログラム実行部131で実行される認証データ生成プログラムM02に入力し、確認用認証データM05を生成する。
【0072】
この認証データ生成プログラムは、パスワードとノンスから認証データを生成するが、その認証データは、
M04=CauthData(N,Pc)
M05=CauthData(N,Ps)
で表される。
【0073】
ここで、Nはノンス、Pcはクライアントが保持するパスワード、Psはサーバが保持するパスワード、CauthData()は変換式である。
双方のパスワードが一致すれば、認証データM04及びM05もまた一致する。CauthDataには逆変換が困難なハッシュ関数を用いる。ハッシュ関数にはSHA−1,MD5などが知られている。従って、ネットワーク上を流れる認証データM04及びノンスNが盗聴されたとしてもパスワードPcを逆演算によって知ることは困難である。また、ノンスNは接続ごとに変更されるため、認証データM04を盗聴してもそのまま次の接続で使用しても認証できない。
【0074】
サーバ1002は、クライアント2002から送信されてきた認証データM04と確認用認証データM05を認証データ比較部132で比較し、同じ物であればクライアント2002がサーバ1002と共通のパスワードを持つ正当な通信クライアントとして認証し、以後の通信を続行する。なお、認証データM04と確認用認証データM05は、クライアント2002が認証された際に廃棄される。
【0075】
認証が終わると、サーバ1002は、パスワード記憶部111に保持されているパスワード100とノンス記憶部121に保持されているノンスM03とを鍵生成プログラム実行部141で実行される暗号鍵生成プログラムM06に入力し、暗号鍵M08を生成する。生成された暗号鍵M08は暗号鍵記憶部142に保持される。暗号鍵M08の生成が終わると、ノンス記憶部121に記憶されたノンスM03は廃棄される。
【0076】
一方、クライアント2002においても、サーバ1002と同様に暗号鍵M08の生成が行われる。すなわち、クライアント2002は、認証データM04の生成が終わると、サーバ1002から送られてきた暗号化プログラムM07を暗号化プログラム記憶部250に記憶する。そして、クライアント2002は、パスワード記憶部211に保持されているパスワード200とサーバ1002から送られてきたノンスM03とを鍵生成プログラム実行部241で実行される暗号鍵生成プログラムM06に入力し、暗号鍵M08を生成する。生成された暗号鍵M08は暗号鍵記憶部242に保持される。
【0077】
この暗号鍵生成プログラムは、パスワードとノンスから暗号鍵を生成するが、その暗号鍵は、
M08=CEncKey(N,Pc)
で表される。
【0078】
ここで、Nはノンス、Pcはクライアントが保持するパスワード、Psはサーバが保持するパスワード、CEncKey()は変換式である。
暗号鍵M08の生成が終わると、ノンスM03がそれぞれ廃棄され、サーバ1002とクライアント2002の間で暗号化通信が行われる。
【0079】
暗号化通信については、クライアント2002に対してデータを送信する場合は、サーバ1002は、暗号鍵記憶部142に保持されている暗号鍵M08とクライアント2002に送信するデータを暗号化プログラム実行部151で実行される暗号化プログラムM07に入力し、暗号化データM09を生成する。生成された暗号化データM09は、通信部110を用いてクライアント2002に送信される。クライアント2002から暗号化データM09が送られてきた場合は、1002は、暗号鍵記憶部142に保持されている暗号鍵M08とクライアント2002から送られてきた暗号化データM09とを暗号化プログラム実行部151で実行される暗号化プログラムM07に入力し、暗号化されたデータを復号する。
【0080】
一方、サーバ1002に対してデータを送信する場合は、クライアント2002は、暗号鍵記憶部242に保持されている暗号鍵M08とサーバ1002に送信するデータを暗号化プログラム実行部251で実行される暗号化プログラムM07に入力し、暗号化データM09を生成する。生成された暗号化データM09は、通信部210を用いてサーバ1002に送信される。サーバ1002から暗号化データM09が送られてきた場合は、クライアント2002は、暗号鍵記憶部242に保持されている暗号鍵M08と、サーバ1002から送られてきた暗号化データM09とを暗号化プログラム実行部251で実行される暗号化プログラムM07に入力し、暗号化されたデータを復号する。
【0081】
この暗号化プログラムは、データと暗号鍵から暗号化データを生成するが、その暗号化データは、
M09=Enc(Data,Key)
で表される。
【0082】
ここで、Dataはデータ、Keyはクライアント及びサーバが共通に保持する暗号鍵(セッション鍵)、Enc()は変換式である。この暗号化プログラムM07にはDESなどの対称鍵暗号を使用し、暗号鍵をネットワーク3000上に流さないことにより、ネットワーク3000上での暗号鍵の漏洩を防ぐことができるので、より安全な暗号化通信を実現できる。
【0083】
暗号化データM09の通信が終わると、暗号鍵M08はその暗号化通信終了時に破棄される。
以上のように本実施の形態2に係る通信システムによれば、鍵生成プログラムM06と暗号化プログラムM07をクライアント2002に送るので、クライアント2002とサーバ1002の各プログラムの同期をとるためのアップデート作業を個々に行わなくてよくなり、通信システムの保守が容易になる。また、クライアント2002は認証を行うごとに暗号鍵生成プログラムM06と暗号化プログラムM07が送信されてくるため、各プログラムを保持していなくとも暗号化通信を行うことができる。ただし、暗号化プログラムM07は、暗号化通信を行っている間は記憶しておく必要がある。
【0084】
なお、クライアント2002は、パスワード記憶部211でパスワード200を保持せず、クライアント使用者が直接認証データ生成プログラム実行部231に入力してもよい。
【0085】
また、クライアント2002は、認証データ生成プログラムM02、暗号鍵生成プログラムM06そして暗号化プログラムM07を保持し、サーバ1002側で認証データ生成プログラムM02、暗号鍵生成プログラムM06そして暗号化プログラムM07の更新が無ければ、サーバ1002はノンスM03のみを送信し、クライアント2002は保持している認証データ生成プログラムM02、暗号鍵生成プログラムM06そして暗号化プログラムM07を使用して認証データM04を生成、暗号鍵M08の生成そして暗号化通信を行ってもよい。
【0086】
また、サーバ1002のパスワード記憶部111、ノンス記憶部121、認証データ生成プログラム記憶部130、暗号鍵生成プログラム記憶部140、暗号鍵記憶部142、暗号化プログラム記憶部150は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0087】
また、クライアント2002のパスワード記憶部211、暗号鍵記憶部242、暗号化プログラム記憶部250は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0088】
また、サーバ1002の認証データ生成プログラム実行部131、鍵生成プログラム実行部141、暗号化プログラム実行部151は共通のプログラム実行部を使用してもよい。
【0089】
また、クライアント2002の認証データ生成プログラム実行部231、鍵生成プログラム実行部241、暗号化プログラム実行部251は共通のプログラム実行部を使用してもよい。
【0090】
また、認証データ生成プログラムM02中の変換関数はパスワード100、200を暗号鍵とするDESなどの対称鍵暗号関数を使用してもよい。
また、認証データ生成プログラムM02中の変換関数はパスワード100、200を暗号鍵とするRSAなどの非対称鍵暗号関数を使用してもよい。
【0091】
また、サーバ1002はノンスM03に有効期限を設け、期限が過ぎたノンスM3により生成された確認用認証データM05を強制的に廃棄するようにしてもよい。これにより、認証が途中で失敗した場合に確認用認証データが廃棄されずに残るのを防ぐことができる。
【0092】
さらに、本実施の形態2のサーバまたはクライアントのいずれかの各動作ステップを実行させる作用を記述したプログラムコード及びそのプログラムを記録したソフトウェアの蓄積媒体を用いて、コンピュータを搭載する装置上でこれを実行し、サーバまたはクライアントとして動作させてもよい。
【0093】
(実施の形態3)
次に、本発明の実施の形態3に係る通信システムについて、図面を参照しながら説明する。
【0094】
図5は、本実施の形態3に係る通信システムの全体構成を示す機能ブロック図である。なお、実施の形態1及び2に係る通信システムの構成と対応する構成部分に同じ番号を付し、その説明を省略する。
【0095】
ここで、この実施の形態3に係る通信システムにおいては、認証後の暗号通信を含めて構成されている点では実施の形態2に係る通信システムと同じであるが、認証と暗号鍵の生成とを兼用するように機能構成される点が実施の形態2の通信システムの構成と大きく異なっている。
【0096】
サーバ1003は、サーバ1002と同様、通信部110、パスワード記憶部111、乱数発生部120、ノンス記憶部121、認証データ比較部132、暗号鍵記憶部142、暗号化プログラム記憶部150、暗号化プログラム実行部151を含む他、サーバ1002の認証データ生成プログラム記憶部130及び暗号鍵生成プログラム記憶部140、認証データ生成プログラム実行部131及び鍵生成プログラム実行部141に代えて、認証データ・鍵生成プログラム記憶部160と、認証データ・鍵生成プログラム実行部161とを備える。
【0097】
認証データ・鍵生成プログラム記憶部160は、クライアント2003からの通信要求M01の応答として送信するプログラムであって、認証データを生成するとともに暗号鍵を生成するための認証データ・鍵生成プログラムM10を保持する。認証データ・鍵生成プログラム実行部161は、認証データ・鍵生成プログラムM10を実行し、確認用認証データM05を生成するとともに暗号鍵M10を生成する。
【0098】
なお、このようなサーバ1003を構成する各部は、サーバ1001,1002の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0099】
一方、クライアント2003は、クライアント2002と同様、通信部210、パスワード記憶部211、暗号鍵記憶部242、暗号化プログラム記憶部250及び暗号化プログラム実行部251を含む他、クライアント2002の鍵生成プログラム実行部241に代えて、認証データ・鍵生成プログラム実行部261を備える。この認証データ・鍵生成プログラム実行部261は、サーバ1003から受信した認証データ・鍵生成プログラムM09を実行し、認証データM04を生成するとともに、暗号鍵M10を生成する。
【0100】
なお、このようなクライアント2003を構成する各部は、クライアント2001,2002の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0101】
ここで、認証データ生成プログラム兼暗号鍵生成プログラムM10内の変換関数にはMD5やSHA−1などのセキュリティを考慮したハッシュ関数を用いることにより認証データM04の安全性を確保する。認証データ生成プログラムM10中の変換関数にハッシュ関数を用いることにより、認証データからパスワードを類推することを困難にしている。また、ハッシュ関数は暗号鍵を利用しないため、暗号鍵の漏洩によるデータ盗聴を防ぐことができる。また、暗号化プログラムM07にはDESなどの対称鍵暗号を使用し、暗号鍵をネットワーク3000上に流さないことにより、ネットワーク3000上での暗号鍵の漏洩を防ぐことができるので、より安全な暗号化通信を実現できる。
【0102】
次いで、図6を用いて本実施の形態3の通信システムにおけるクライアント・サーバ間のデータの流れを説明する。
図6は、本実施の形態3の通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【0103】
まず始めにクライアント2003は通信部210を用いて接続したいサーバ1003に対して通信要求M01のメッセージを送信する。
サーバ1003は、通信要求M01に対して、乱数発生部120で乱数を発生させ、ノンスM03を生成させる。生成されたノンスM03は、ノンス記憶部121に記憶される。通信部110は、通信要求M01の応答として、クライアント2003に対し、暗号化プログラム記憶部150に保持されている暗号化プログラムM07と、認証データ・鍵生成プログラム記憶部160に保持されている認証データ・鍵生成プログラムM10と、ノンス記憶部121に記憶されているノンスM03とを順次送信する。なお、ノンスM03は通信要求があるたびに新たに生成される。
【0104】
クライアント2003は、パスワード記憶部211に予め保持しているパスワード200と、サーバ1003から受信したノンスM03とを、認証データ・鍵生成プログラム実行部261で実行される認証データ・鍵生成プログラムM10に入力し、認証データM04を生成する。そして認証データM04をM07,M10,M03の応答として通信部210を使ってサーバ1003に送信する。
【0105】
サーバ1003は、パスワード記憶部111に保持されているパスワード100とノンス記憶部121に保持されているノンスM03とを認証データ・鍵生成プログラム実行部161で実行される認証データ・鍵生成プログラムM10に入力し、確認用認証データM05を生成する。
【0106】
この認証データ・鍵生成プログラムの認証データの生成部分は、パスワードとノンスから認証データを生成するが、その認証データは、
M04=CauthData(N,Pc)
M05=CauthData(N,Ps)
で表される。
【0107】
ここで、Nはノンス、Pcはクライアントが保持するパスワード、Psはサーバが保持するパスワード、CauthData()は変換式である。
双方のパスワードが一致すれば、認証データM04及びM05もまた一致する。CauthDataには逆変換が困難なハッシュ関数を用いる。ハッシュ関数にはSHA−1,MD5などが知られている。従って、ネットワーク上を流れる認証データM04及びノンスNが盗聴されたとしてもパスワードPcを逆演算によって知ることは困難である。また、ノンスNは接続ごとに変更されるため、認証データM04を盗聴してもそのまま次の接続で使用しても認証できない。
【0108】
サーバ1003は、クライアント2003から送信されてきた認証データM04と確認用認証データM05を認証データ比較部132で比較し、同じ物であればクライアント2003はサーバ1003と共通のパスワードを持つ正当な通信クライアントとして認証し、以後の通信を続行する。なお、認証データM04と確認用認証データM05は、クライアント2002が認証された際に廃棄される。
【0109】
認証が終わるとサーバ1003は、パスワード記憶部111に保持されているパスワード100と、ノンス記憶部121に記憶されているノンスM03とを、認証データ・鍵生成プログラム実行部161で実行される認証データ・鍵生成プログラムM10に入力し、暗号鍵M11を生成する。生成された暗号鍵M11は暗号鍵記憶部142に保持される。暗号鍵の生成が終わると、ノンス記憶部121に記憶されたノンスM03は廃棄される。
【0110】
一方、クライアント2003において、サーバ1003と同様に暗号鍵M11の生成が行われる。すなわち、クライアント2003は、認証データM04の生成が終わると、サーバ1003から送られてきた暗号化プログラムM07を暗号化プログラム記憶部250に格納する。そして、クライアント2003は、パスワード記憶部211に保持されているパスワード200とサーバ1003から送られてきたノンスM03とを認証データ・鍵生成プログラム実行部261で実行される認証データ・鍵生成プログラムM10に入力し、暗号鍵M11を生成する。生成された暗号鍵M11は暗号鍵記憶部242に保持される。
【0111】
この認証データ・鍵生成プログラムの暗号鍵生成の部分は、パスワードとノンスから暗号鍵を生成するが、その暗号鍵は、
M11=CAuthData(Check)
Check=AData
AData=CAuthData(N,Pc)
AData=CAuthData(N,Ps)
で表される。
【0112】
ここで、Nはノンス、Pcはクライアントが保持するパスワード、Psはサーバが保持するパスワード、CAuthData()及びCAuthData()は変換式である。なお、このCAuthData()については、認証の部分が含まれているので実施の形態2の場合と表現上異なっているが実質的には同じである。つまり、認証データ・鍵生成プログラムM10は、暗号鍵を生成する機能を含んでいる。そして、認証データ・鍵生成プログラムM10に認証データを入力すれば、暗号鍵M11が生成される。
【0113】
暗号鍵M11の生成が終わると、ノンスM03がそれぞれ廃棄され、サーバ1003とクライアント2003の間で暗号化通信が行われる。
暗号化通信については、クライアント2003に対してデータを送信する場合には、サーバ1003は、暗号鍵記憶部142に保持されている暗号鍵M11とクライアント2003に送信するデータとを暗号化プログラム実行部151で実行される暗号化プログラムM07に入力し、暗号化データM09を生成する。生成された暗号化データM09は、通信部110を用いてクライアント2003に送信される。クライアント2003から暗号化データM09が送られてきた場合は、サーバ1003は、暗号鍵記憶部142に保持されている暗号鍵M11とクライアント2003から送られてきた暗号化データM09とを暗号化プログラム実行部151で実行される暗号化プログラムM07に入力し、暗号鍵M11で暗号化されたデータを復号する。
【0114】
一方、クライアント2003は、サーバ1003に対してデータを送信する場合には、暗号鍵記憶部242に保持されている暗号鍵M11と、サーバ1003に送信するデータとを暗号化プログラム実行部251で実行される暗号化プログラムM07に入力し、暗号化データM09を生成する。生成された暗号化データM09は、通信部210を用いてサーバ1003に送信される。サーバ1003から暗号化データM09が送られてきた場合は、クライアント2003は、暗号鍵記憶部242に保持されている暗号鍵M11とサーバ1003から送られてきた暗号化データM09を暗号化プログラム実行部251で実行される暗号化プログラムM07に入力し、暗号化されたデータを復号する。
【0115】
この暗号化データは、データと暗号鍵から暗号化プログラムで生成されるが、その暗号化データは、
M09=Enc(Data,Key)
で表される。
【0116】
ここで、Dataはデータ、Keyはクライアント及びサーバが共通に保持する暗号鍵(セッション鍵)、Enc()は変換式である。この暗号化プログラムM07にはDESなどの対称鍵暗号を使用し、暗号鍵をネットワーク3000上に流さないことにより、ネットワーク3000上での暗号鍵の漏洩を防ぐことができるので、より安全な暗号化通信を実現できる。
【0117】
暗号化データM09の通信が終わると、暗号鍵M11はその暗号化通信の終了時に破棄される。
以上のように本実施の形態3に係る通信システムによれば、認証データ生成プログラムと鍵生成プログラムとを兼任する認証データ・鍵生成プログラムM10と暗号化プログラムM07とをクライアント2003に送るので、クライアント2003とサーバ1003の各プログラムの同期をとるためのアップデート作業を個々に行わなくてよくなり、通信システムの保守が容易になる。また、クライアント2003は認証を行うごとに認証データ生成プログラム兼暗号鍵生成プログラムM10と暗号化プログラムM07が送信されてくるため、各プログラムを保持していなくとも暗号化通信を行うことができる。ただし、暗号化プログラムM07は、暗号化通信を行っている間は記憶しておく必要がある。
【0118】
なお、クライアント2003は、パスワード記憶部211でパスワード200を保持せず、クライアント使用者が直接認証データ生成プログラム実行部261に入力してもよい。
【0119】
また、クライアント2003は、認証データ生成プログラム兼暗号鍵生成プログラムM10と暗号化プログラムM07を保持し、サーバ1003側で認証データ生成プログラム兼暗号鍵生成プログラムM10と暗号化プログラムM07の更新が無ければ、サーバ1003はノンスM03のみを送信し、クライアント2003は保持している認証データ生成プログラム兼暗号鍵生成プログラムM10と暗号化プログラムM07を使用して認証データM04を生成、暗号鍵M11の生成そして暗号化通信を行ってもよい。
【0120】
また、サーバ1003のパスワード記憶部111、ノンス記憶部121、認証データ・鍵生成プログラム記憶部160、暗号鍵記憶部142、暗号化プログラム記憶部150は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0121】
また、クライアント2003のパスワード記憶部211、暗号鍵記憶部242、暗号化プログラム記憶部250は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0122】
また、サーバ1003の認証データ・鍵生成プログラム実行部161と、暗号化プログラム実行部151は共通のプログラム実行部を使用してもよい。
また、クライアント2003の認証データ・鍵生成プログラム実行部261と、暗号化プログラム実行部251は共通のプログラム実行部を使用してもよい。
【0123】
また、認証データ生成プログラムM02内の変換関数はパスワード100、200を暗号鍵とするDESなどの対称鍵暗号関数を使用してもよい。
また、認証データ生成プログラムM02内の変換関数はパスワード100、200を暗号鍵とするRSAなどの非対称鍵暗号関数を使用してもよい。
【0124】
また、サーバ1003はノンスM03に有効期限を設け、期限が過ぎたノンスM3により生成された確認用認証データM05を強制的に廃棄するようにしてもよい。これにより、認証が途中で失敗した場合に確認用認証データが廃棄されずに残るのを防ぐことができる。
【0125】
さらに、本実施の形態3のサーバまたはクライアントのいずれかの各動作ステップを実行させる作用を記述したプログラムコード及びそのプログラムを記録したソフトウェアの蓄積媒体を用いて、コンピュータを搭載する装置上でこれを実行し、サーバまたはクライアントとして動作させてもよい。
【0126】
(実施の形態4)
次に、本発明の実施の形態4に係る通信システムについて、図面を参照しながら説明する。
【0127】
図7は、本実施の形態4に係る通信システムの全体構成を示す機能ブロック図である。なお、実施の形態1の通信システムの構成と対応する構成部分に同じ番号を付し、その説明を省略する。
【0128】
本実施の形態4に係る通信システムは、図7に示されるように、ネットワーク3000を介して相互に通信可能に接続されるサーバ1004と、クライアント2004とから構成される。
【0129】
ここで、この実施の形態4に係る通信システムにおいては、認証データに加えてノンスを送り返させ、この両者で認証するように構成されている点が、認証データだけで認証する実施の形態1の通信システムの構成と異なっている。
【0130】
サーバ1004は、サーバ1001が備える通信部110、パスワード記憶部111、乱数発生部120、ノンス記憶部121、認証データ生成プログラム記憶部130、認証データ生成プログラム実行部131及び認証データ比較部132の他、ノンス比較部122をさらに備える。このノンス比較部122は、クライアント2004から送り返されてきたノンスM12とサーバ1004が保持しているノンスM03の比較判定を行う。
【0131】
なお、このようなサーバ1004を構成する各部は、サーバ1001の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0132】
クライアント2004は、クライアント2001が備える通信部210、パスワード記憶部211及び認証データ生成プログラム実行部231の他、ノンス記憶部222をさらに備える。このノンス記憶部222は、サーバ1004へ送り返すため、ノンスM12を保持する。
【0133】
なお、このようなクライアント2004を構成する各部は、クライアント2001の場合と同様に、CPU、CPUによって実行されるプログラムを格納するROM、プログラム実行の際にワークエリアを提供したり、入力された種々のデータ等を格納するメモリ等により実現される。
【0134】
次に、図8を用いて本実施の形態のクライアント・サーバ間のデータの流れを説明する。
図8は、本実施の形態4の通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【0135】
まず始めにクライアント2004は通信部210を用いて接続したいサーバ1004に対して通信要求M01のメッセージを送信する。
サーバ1004は、通信要求M01に対して乱数発生部120で乱数を発生させ、ノンスM03を生成する。生成されたノンスM03は、ノンス記憶部121に記憶される。通信部110は、通信要求M01の応答として、認証データ生成プログラム記憶部130に保持されている認証データ生成プログラムM02と、ノンス記憶部121に記憶されているノンスM03とを、クライアント2004に送信する。なお、ノンスM03は通信要求があるたびに新たに生成される。
【0136】
クライアント2004は、パスワード記憶部211に予め保持しているパスワード200と、サーバ1004から受信したノンスM03とを認証データ生成プログラム実行部231で実行される認証データ生成プログラムM02に入力し、認証データM04を生成する。また、クライアント2004は、サーバ1004から送られてきたノンスM03を返信用ノンスM12としてノンス記憶部222に格納する。そして認証データM04とノンス記憶部222に記憶されているノンスM12とをM02とM03の応答として通信部210を使ってサーバ1004に送信する。
【0137】
サーバ1004は、まず、クライアント2004から送り返されてきたノンスM12とノンス記憶部121に保持しているノンスM03をノンス比較部122で比較し、同じと判定された場合は確認用認証データM05の生成を行う。ノンスM03とノンスM12が異なると判定された場合はクライアント2004が正当なクライアントではないと判断し、認証を中止し、ノンスM03を破棄する。
【0138】
確認用認証データM05の生成は、パスワード記憶部111に保持されているパスワード100と、ノンス記憶部121に保持されているノンスM03とを認証データ生成プログラム実行部131で実行される認証データ生成プログラムM02に入力することで行われる。そして認証データ比較部132で比較した結果、クライアント2004から送信されてきた認証データM04と確認用認証データM05とが同じ物であればクライアント2004はサーバ1004と共通のパスワードを持つ正当な通信クライアントとして認証し、以後の通信を続行する。
【0139】
なお、認証が終わると、ノンス記憶部121に記憶されているノンスM03と、ノンス記憶部222に記憶されているノンスM12とは、それぞれ廃棄される。
【0140】
以上のように本実施形態4に係る通信システムによれば、クライアント2004が、ノンスM12と認証データM04をサーバ1004に送信することで、確認用認証データを生成する前にクライアント2004が正当なクライアントであるかを判定することが出来、サーバ1004に余分な計算をさせなくて済む。また、DOS攻撃の一種である再送攻撃に対しても、ノンスをチェックすることでサーバ1004への負荷を抑えることができる。なぜなら、再送攻撃で送られてくるデータのノンスはすべて同一の値であり、サーバ1004の生成するノンスは毎回異なり、古いノンスは破棄されるため、同一のノンスを持つデータによる認証は受け付けないためである。
【0141】
なお、クライアント2004は、パスワード記憶部211でパスワード200を保持せず、クライアント使用者が直接認証データ生成プログラム実行部231に入力してもよい。
【0142】
また、クライアント2004は、認証データ生成プログラムM02を保持し、サーバ1004側で認証データ生成プログラムの更新が無ければ、サーバ1004はノンスM03のみを送信し、クライアント2004は保持している認証データ生成プログラムM02を使用して認証データM04を生成してもよい。
【0143】
また、サーバ1004のパスワード記憶部111、ノンス記憶部121、認証データ生成プログラム記憶部130は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0144】
また、クライアント2004のパスワード記憶部211とノンス記憶部222は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0145】
また、認証データ生成プログラムM02内の変換関数はパスワード100、200を暗号鍵とするDESなどの対称鍵暗号関数を使用してもよい。
また、認証データ生成プログラムM02内の変換関数はパスワード100、200を暗号鍵とするRSAなどの非対称鍵暗号関数を使用してもよい。
【0146】
また、サーバ1004はノンスM03に有効期限を設け、期限が過ぎたノンスM3により生成された確認用認証データM05を強制的に廃棄するようにしてもよい。これにより、認証が途中で失敗した場合に確認用認証データが廃棄されずに残るのを防ぐことができる。
【0147】
さらに、本実施の形態4のサーバまたはクライアントのいずれかの各動作ステップを実行させる作用を記述したプログラムコード及びそのプログラムを記録したソフトウェアの蓄積媒体を用いて、コンピュータを搭載する装置上でこれを実行し、サーバまたはクライアントとして動作させてもよい。
【0148】
(実施の形態5)
次に、本発明の実施の形態5に係る通信システムについて、図面を参照しながら説明する。
【0149】
図9は、本実施の形態5に係る通信システムの全体構成を示す機能ブロック図である。なお、実施の形態1の通信システムの構成と対応する構成部分に同じ番号を付し、その説明を省略する。
【0150】
本実施の形態5に係る通信システムは、図9に示されるように、ネットワーク3000を介して相互に通信可能に接続されるサーバ1005と、クライアント2005とから構成される。
【0151】
ここで、この実施の形態6に係る通信システムにおいては、複数のクライアントの認証に対応するように構成されている点が、一対一だけで認証する実施の形態1の通信システムの構成と異なっている。
【0152】
サーバ1005は、サーバ1001が備える通信部110、乱数発生部120、ノンス記憶部121及び認証データ比較部132を含む他、複数ユーザID記憶部112と、複数パスワード記憶部113と、認証データ生成プログラム記憶部170と、認証データ記憶部172とを備える。
【0153】
複数ユーザID記憶部112は、複数のクライアントを区別するために、クライアント2005ごとにユニークなID101を保持する。複数パスワード記憶部113は、ID101に対応するパスワード102を保持する。認証データ生成プログラム記憶部170は、クライアント2005からの通信要求M01の応答として送信する認証データ生成プログラムM13を保持する。認証データ生成プログラム実行部171は、確認用認証データM15を生成する。認証データ記憶部172は、クライアントから送られてきた認証データM14を記憶する。
【0154】
クライアント2005は、クライアント2001が備える通信部210及びパスワード記憶部211の他、ユーザID記憶部212と、データ生成プログラム実行部271とを備える。
【0155】
ユーザID記憶部212は、サーバ1005の複数ユーザID記憶部に登録されているIDの内の1つであって、他のクライアントと共通でないID201を記憶する。認証データ生成プログラム実行部271は、サーバ1005から認証データ生成プログラムM13とノンスM03とを受信した応答として、認証データM14を生成する。
【0156】
ここで、認証データ生成プログラムM13内の変換関数には、MD5やSHA−1などのセキュリティを考慮したハッシュ関数が用いられている。これにより認証データM14の安全性が確保される。
【0157】
次いで、図10を用いて本実施の形態5のクライアント・サーバ間のデータの流れを説明する。
図10は、本実施の形態5の通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【0158】
まず始めにクライアント2005は通信部210を用いて接続したいサーバ1005に対して通信要求M01のメッセージを送信する。
サーバ1005は、通信要求M01に対し、乱数発生部120で乱数を発生させ、ノンスM03を生成する。生成されたノンスM03は、ノンス記憶部121に格納される。通信部110は、通信要求M01の応答として、認証データ生成プログラム記憶部170に保持されている認証データ生成プログラムM13と、ノンス記憶部121によって記憶されているノンスM03とをクライアント2005に送信する。なお、ノンスM03は通信要求があるたびに新たに生成される。
【0159】
クライアント2005は、ユーザID記憶部212に予め保持しているユーザID201と、パスワード記憶部211に予め保持しているパスワード202と、サーバ1005から受信したノンスM03とを認証データ生成プログラム実行部271で実行される認証データ生成プログラムM13に入力し、認証データM14を生成する。そして認証データM14をM13とM03の応答として通信部210を使ってサーバ1005に送信する。
【0160】
サーバ1005は、複数ユーザID記憶部112に記憶されている全ユーザIDと、それぞれのユーザID101に対応する複数パスワード記憶部113に記憶されているパスワード102と、ノンス記憶部121に保持されているノンスM03とを認証データ生成プログラム実行部171で実行される認証データ生成プログラムM13に入力し、各ユーザID101ごとの確認用認証データM15を生成する。
【0161】
この認証データ生成プログラムM13は、パスワードとIDとノンスとから認証データを生成するが、その認証データは、
M14=CauthData(N,IDi,Pci)
M15=CauthData(N,IDi,Psi)
で表される。
【0162】
ここで、Nはノンス、Pciはクライアントが保持するパスワード、Psiはサーバが保持するパスワード、IDiはクライアント及びサーバが保持するパスワード、CauthData()は変換式である。また、M15についてはiを1〜nに変化させ、n個の認証データが生成される。
【0163】
双方のパスワード及びIDに一致するものがあれば、認証データM15の中にM14と一致するものがある。CauthDataには逆変換が困難なハッシュ関数を用いる。ハッシュ関数にはSHA−1,MD5などが知られている。従って、ネットワーク上を流れる認証データM14及びノンスNが盗聴されたとしてもパスワードPci及びIDiを逆演算によって知ることは困難である。また、ノンスNは接続ごとに変更されるため、認証データM14を盗聴してもそのまま次の接続で使用しても認証できない。
【0164】
そして、サーバ1005は、クライアント2005から送信されてきた認証データM14を認証データ記憶部172に一旦記憶させ、認証データ比較部132で各ユーザID101ごとの確認用認証データM15と認証データM14を比較し、同じ物があればクライアント2005がサーバ1005に登録されている正しいユーザIDとパスワードを持つ正当なクライアントとして認証し、以後の通信を続行する。M14とM15が一致しない場合は、次のユーザIDと対応するパスワードとノンスM03を用いて生成した確認用認証データを生成し、比較を続ける。M14とM15の比較は一致する確認用認証データM15が現れるか、全ユーザIDの確認用認証データを生成、比較し終わるまで続けられる。一致する確認用認証データが存在しなかった場合は、クライアント2005は正当なユーザID101とパスワード102を持たないクライアントとして、認証を拒否する。
【0165】
以上のように本実施の形態5に係る通信システムによれば、認証データ生成プログラムM13の入力にユーザID201とパスワード202を含めることにより、ネットワーク3000上にユーザID201が直接流れないようになっている。これにより、ユーザID201がわからないため、ユーザID201からパスワード202を推測するようなパスワード推測によるパスワードクラックや、有効なユーザIDに対して総当りや、辞書によるパスワードクラック攻撃(ブルートフォース攻撃)の成功率を下げることができる。これにより、より安全性の高い通信システムが構築できる。
【0166】
なお、クライアント2005は、パスワード記憶部211でパスワード202を保持せず、クライアント使用者が直接認証データ生成プログラム実行部271に入力してもよい。
【0167】
また、クライアント2005は、認証データ生成プログラムM13を保持し、サーバ1005側で認証データ生成プログラムM13の更新が無ければ、サーバ1005はノンスM03のみを送信し、クライアント2005は保持している認証データ生成プログラムM13を使用して認証データM14を生成してもよい。
【0168】
また、サーバ1005の複数ユーザID記憶部112、複数パスワード記憶部113、ノンス記憶部121、認証データ生成プログラム記憶部170は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0169】
また、クライアント2005のユーザID記憶部212とパスワード記憶部211は共通の記憶部を使用し、各記憶部は共通の記憶部上のアドレスを保持するようにしてもよい。
【0170】
また、認証データ生成プログラムM13の中の変換関数はユーザID201とパスワード202を暗号鍵とするDESなどの対称鍵暗号関数を使用してもよい。
【0171】
また、認証データ生成プログラムM13の中の変換関数はユーザID201、パスワード202を暗号鍵とするRSAなどの非対称鍵暗号関数を使用してもよい。
【0172】
また、サーバ1005はノンスM03に有効期限を設け、期限が過ぎたノンスM03により生成された確認用認証データM15を強制的に廃棄するようにしてもよい。これにより、認証が途中で失敗した場合に確認用認証データが廃棄されずに残るのを防ぐことができる。
【0173】
さらに、本実施の形態のサーバまたはクライアントのいずれかの各動作ステップを実行させる作用を記述したプログラムコード及びそのプログラムを記録したソフトウェアの蓄積媒体を用いて、コンピュータを搭載する装置上でこれを実行し、サーバまたはクライアントとして動作させてもよい。
【0174】
【発明の効果】
以上の説明から明らかなように、本発明に係る通信方法および通信装置によれば、サーバからクライアントに認証データ生成プログラムが送られるので、クライアントに認証データ生成プログラムを予め保持しておく必要がなく、認証プログラムを保持していなくともクライアント認証を行うことができる。しかもクライアントとサーバの認証データ生成プログラムの同期をとるためのアップデート作業を個々に行わなくてよくなり、通信システムの保守が容易になる。
【0175】
また、サーバからクライアントに鍵生成プログラムと暗号化プログラムが送られて、サーバ、クライアントのそれぞれで暗号鍵が生成されるので、証明書を用いないため認証局を不要とすることができ、しかもネットワーク上に暗号鍵を流さないで、安全性の高い暗号化通信を実現できる通信方法を提供することができる。
【0176】
また、認証データ生成プログラムが暗号鍵を生成する機能を含み、サーバからクライアントに暗号化プログラムが送られて、サーバ、クライアントのそれぞれで暗号鍵が生成されるので、証明書を用いないため認証局を不要とすることができ、しかもネットワーク上に暗号鍵を流さないで、安全性の高い暗号化通信を実現できる通信方法を提供することができるという効果に加え、さらに、前記認証データ生成プログラムを前記暗号鍵生成プログラムと共通にすることで、前記サーバから前記クライアントに送信されるデータの量を軽減することができるという効果を得ることができる。
【0177】
また、サーバからクライアントに送信されたノンスがサーバに送られるので、クライアントから送信されてきたノンスでいわゆるプレ認証を行うことができ、不正なクライアントを大まかに振る落とすことができ、確認用認証データを計算する無駄を省くことができる。
【0178】
また、各クライアントが第1情報としてパスワードとIDとを保持し、サーバが各クライアントのパスワードとIDとを保持するので、複数のクライアントを区別して認証することができ、認証時にクライアントのパスワードおよびIDが直接ネットワーク上に流れないため、ネットワークの盗聴によるID漏洩によるパスワード推測による攻撃や、有効なIDに対するブルートフォース攻撃を行いにくくすることができるなど、多くの顕著な効果が得られる。
【0179】
よって、本発明により、認証データ生成プログラムや、暗号鍵生成プログラム、暗号化プログラムをクライアントが予め保持していなくてもこのプログラムがサーバからクライアントに送信され、第一情報、暗号鍵をネット上に流さない状態で認証データを送受信したり、暗号通信したりすることができるため、ネットワーク通信が普及してきた今日における本発明の実用的価値は極めて高い。
【図面の簡単な説明】
【図1】本実施の形態1に係る通信システムの全体構成を示す機能ブロック図である。
【図2】図1に示される通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【図3】本実施の形態2に係る通信システムの全体構成を示す機能ブロック図である。
【図4】図3に示される通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【図5】本実施の形態3に係る通信システムの全体構成を示す機能ブロック図である。
【図6】図5に示される通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【図7】本実施の形態4に係る通信システムの全体構成を示す機能ブロック図である。
【図8】図7に示される通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【図9】本実施の形態5に係る通信システムの全体構成を示す機能ブロック図である。
【図10】図9に示される通信システムにおけるクライアント・サーバ間のデータの流れを示すシーケンス図である。
【図11】従来のチャレンジレスポンス方式よるクライアント認証のデータの流れを示す図である。
【図12】従来のSSL方式によるクライアント認証のデータの流れを示す図である。
【図13】従来のプログラムをクライアント側に送信する方式の暗号通信システムのシステム構成図である。
【符号の説明】
100,102,200,202 パスワード
101,201 ユーザID
110,210 通信部
111,211 パスワード記憶部
112 複数ユーザID記憶部
113 複数パスワード記憶部
120 乱数発生部
121,222 ノンス記憶部
122 ノンス比較部
130 認証データ生成プログラム記憶部
131 認証データ生成プログラム実行部
132 認証データ比較部
140 暗号鍵生成プログラム記憶部
141,241 鍵生成プログラム実行部
142,242 暗号鍵記憶部
150,250 暗号化プログラム記憶部
151,251 暗号化プログラム実行部
160 認証データ・鍵生成プログラム記憶部
161,261 認証データ・鍵生成プログラム実行部
170 認証データ生成プログラム記憶部
171,231,271 認証データ生成プログラム実行部
172 認証データ記憶部
212 ユーザID記憶部
1001,1002,1003,1004,1005 サーバ
2001,2002,2003,2004,2005 クライアント
3000 ネットワーク
M01 通信要求
M02,M13 認証データ生成プログラム
M03,M12 ノンス
M04,M05,M14,M15 認証データ
M06 暗号鍵生成プログラム
M07 暗号化プログラム
M08,M11 暗号鍵
M09 暗号通信データ
M10 認証データ・鍵生成プログラム

Claims (28)

  1. ネットワークを介して通信要求を送信するクライアントと、通信要求に従って当該クライアントを認証するための処理を行うサーバとからなる通信システムにおける通信方法であって、
    前記クライアント及び前記サーバは、前記認証に用いられる第1情報を共通に予め保持する第1情報保持手段をそれぞれ備え、
    前記サーバは、さらに、認証データを生成するための認証データ生成プログラムを予め保持する認証データ生成プログラム保持手段を備え、
    前記サーバは、
    前記通信要求を受信するごとに乱数を表すノンスを新たに生成するノンス生成ステップと、
    前記ノンス生成ステップで生成されたノンスをノンス記憶手段に記憶させるノンス記憶ステップと、
    前記ノンス記憶手段に記憶されたノンスと、前記認証データ生成プログラム保持手段に保持された認証データ生成プログラムとを前記クライアントに送信する第1送信ステップとを含み、
    前記クライアントは、
    前記サーバから受信した前記認証データ生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて認証データを生成する認証データ生成ステップと、
    前記認証データ生成ステップで生成された認証データを前記サーバに送信する認証データ送信ステップとを含み、
    前記サーバは、さらに
    前記クライアントから認証データを受信すると、前記認証データ生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される第1情報とに基づいて確認用の認証データを生成する確認用認証データ生成ステップと、
    前記クライアントから受信した認証データと、確認用認証データ生成ステップで生成された確認用の認証データとを比較し、一致するか否かでクライアントを認証する認証ステップとを含む
    ことを特徴とする通信方法。
  2. 前記第1送信ステップでは、さらに暗号鍵を生成するための暗号鍵生成プログラムと、当該暗号鍵でネットワーク上の通信データを暗号化するための暗号化プログラムとを送信し、
    前記クライアントは、さらに
    前記認証データを送信した後に、前記サーバから受信した暗号鍵生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて暗号鍵を生成する第1暗号鍵生成ステップと、
    前記サーバから受信した暗号化プログラムを実行し、第1暗号鍵生成ステップで生成された暗号鍵を用いて前記サーバと暗号通信する第1暗号通信ステップとを含み、
    前記サーバは、さらに
    前記認証ステップにおける比較の結果、前記クライアントから受信した認証データと、自己が生成した確認用の認証データとが一致する場合に、前記第1送信ステップで送信される暗号鍵生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて暗号鍵を生成する第2暗号鍵生成ステップと、
    前記第1送信ステップで送信される暗号化プログラムを実行し、前記第2暗号鍵生成ステップで生成された暗号鍵を用いて前記クライアントと暗号通信する第2暗号通信ステップとを含む
    ことを特徴とする請求項1記載の通信方法。
  3. 前記認証データ生成プログラムは、暗号鍵を生成する機能を含み、
    前記第1送信ステップでは、ネットワーク上の通信データを暗号鍵で暗号化するための暗号化プログラムをさらに送信し、
    前記クライアントは、さらに
    前記認証データをサーバに送信した後、認証データ生成プログラムを再度実行し、前記認証データに基づいて暗号鍵を生成する第1暗号鍵生成ステップと、
    前記サーバから受信した暗号化プログラムを実行し、第1暗号鍵生成ステップで生成された暗号鍵を用いて前記サーバと暗号通信する第1暗号通信ステップとを含み、
    前記サーバは、
    前記認証ステップにおける比較の結果、前記クライアントから受信した認証データと、自己が生成した確認用の認証データとが一致する場合に、前記第1送信ステップで送信される認証データ生成プログラムを再度実行し、前記確認用認証データに基づいて暗号鍵を生成する第2暗号鍵生成ステップと、
    前記第1送信ステップで送信される暗号化プログラムを実行し、前記第2暗号鍵生成ステップで生成された暗号鍵を用いて前記クライアントと暗号通信する第2暗号通信ステップとを含む
    ことを特徴とする請求項1記載の通信方法。
  4. 前記認証データ送信ステップでは、さらに前記サーバから受信したノンスをサーバに送信し、
    前記認証ステップでは、前記クライアントに送信した前記ノンスと前記クライアントから送信されてきた前記ノンスとを比較し、比較の結果両者が一致する場合に前記クライアントから送信されてきた前記認証データと前記確認用認証データを比較する
    ことを特徴とする請求項1〜3のいずれか1項記載の通信方法。
  5. 前記第1情報は、前記クライアントおよびサーバに共通のパスワードであり、
    認証データ生成ステップでは、前記クライアントは、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持されるパスワードとに基づいて認証データを生成し、
    前記確認用認証データ生成ステップでは、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持されるパスワードとに基づいて確認用の認証データを生成する
    ことを特徴とする請求項1〜4のいずれか1項記載の通信方法。
  6. 前記第1情報は、複数のクライアントに固有のIDと、各IDにそれぞれ対応するパスワードとから構成され、
    認証データ生成ステップでは、各前記クライアントは、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持されるパスワードと、IDとに基づいて認証データを生成し、
    前記確認用認証データ生成ステップでは、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される全クライアントのパスワードとIDとに基づいて各クライアント確認用の認証データを複数生成し、
    前記認証ステップでは、前記クライアントから受信した認証データと、自己が生成した複数の確認用の認証データとを1つずつ比較し、一致するものがあるか否かで各前記クライアントを認証する
    ことを特徴とする請求項1〜4のいずれか1項記載の通信方法。
  7. 前記認証データ生成プログラムは、入力を一定の法則で変換する関数にハッシュ関数を含む
    ことを特徴とする請求項1〜6のいずれか1項記載の通信方法。
  8. ネットワークを介して受信するクライアントからの通信要求に従って当該クライアントを認証するための処理を行うサーバにおける通信方法であって、
    前記サーバは、
    前記認証に用いられる第1情報を前記クライアントと共通に予め保持する第1情報保持手段と、
    認証データを生成するための認証データ生成プログラムを予め保持する認証データ生成プログラム保持手段とを備え、
    前記通信要求を受信するごとに乱数を表すノンスを新たに生成するノンス生成ステップと、
    前記ノンス生成ステップで生成されたノンスをノンス記憶手段に記憶させるノンス記憶ステップと、
    前記ノンス記憶手段に記憶されたノンスと、前記認証データ生成プログラム保持手段に保持された認証データ生成プログラムとを前記クライアントに送信する第1送信ステップと、
    前記クライアントから認証データを受信すると、前記認証データ生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される第1情報とに基づいて確認用の認証データを生成する確認用認証データ生成ステップと、
    前記クライアントから受信した認証データと、確認用認証データ生成ステップで生成された確認用の認証データとを比較し、一致するか否かでクライアントを認証する認証ステップとを含む
    ことを特徴とする通信方法。
  9. 前記第1送信ステップでは、さらに暗号鍵を生成するための暗号鍵生成プログラムと、当該暗号鍵でネットワーク上の通信データを暗号化するための暗号化プログラムとを送信し、
    前記サーバは、さらに
    前記認証ステップにおける比較の結果、前記クライアントから受信した認証データと、自己が生成した確認用の認証データとが一致する場合に、前記第1送信ステップで送信される暗号鍵生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて暗号鍵を生成する第2暗号鍵生成ステップと、
    前記第1送信ステップで送信される暗号化プログラムを実行し、前記第2暗号鍵生成ステップで生成された暗号鍵を用いて前記クライアントと暗号通信する第2暗号通信ステップとを含む
    ことを特徴とする請求項8記載の通信方法。
  10. 前記認証データ生成プログラムは、暗号鍵を生成する機能を含み、
    前記第1送信ステップでは、ネットワーク上の通信データを暗号鍵で暗号化するための暗号化プログラムをさらに送信し、
    前記サーバは、さらに
    前記認証ステップにおける比較の結果、前記クライアントから受信した認証データと、自己が生成した確認用の認証データとが一致する場合に、前記第1送信ステップで送信される認証データ生成プログラムを再度実行し、前記確認用認証データに基づいて暗号鍵を生成する第2暗号鍵生成ステップと、
    前記第1送信ステップで送信される暗号化プログラムを実行し、前記第2暗号鍵生成ステップで生成された暗号鍵を用いて前記クライアントと暗号通信する第2暗号通信ステップとを含む
    ことを特徴とする請求項8記載の通信方法。
  11. 前記認証ステップでは、前記クライアントに送信した前記ノンスと前記クライアントから送信されてきた前記ノンスとを比較し、比較の結果両者が一致する場合に前記クライアントから送信されてきた前記認証データと前記確認用認証データを比較する
    ことを特徴とする請求項8〜10のいずれか1項記載の通信方法。
  12. 前記第1情報は、前記クライアントおよびサーバに共通のパスワードであり、
    前記確認用認証データ生成ステップでは、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持されるパスワードとに基づいて確認用の認証データを生成する
    ことを特徴とする請求項8〜11のいずれか1項記載の通信方法。
  13. 前記第1情報は、複数のクライアントに固有のIDと、各IDにそれぞれ対応するパスワードとから構成され、
    前記確認用認証データ生成ステップでは、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される全クライアントのパスワードとIDとに基づいて各クライアント確認用の認証データを複数生成し、
    前記認証ステップでは、前記クライアントから受信した認証データと、自己が生成した複数の確認用の認証データとを1つずつ比較し、一致するものがあるか否かで各前記クライアントを認証する
    ことを特徴とする請求項8〜11のいずれか1項記載の通信方法。
  14. 前記認証データ生成プログラムは、入力を一定の法則で変換する関数にハッシュ関数を含む
    ことを特徴とする請求項8〜13のいずれか1項記載の通信方法。
  15. ネットワークを介して通信要求をサーバに送信し、当該サーバとの応答に基づいて認証を受けるクライアントにおける通信方法であって、
    前記クライアントは、前記認証に用いられる第1情報を前記サーバと共通に予め保持する第1情報保持手段を備え、
    前記通信要求をサーバに送信するごとに乱数を表すノンスと、認証データを生成するための認証データ生成プログラムとを前記サーバから受信する第1受信ステップと、
    前記サーバから受信した認証データ生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて認証データを生成する認証データ生成ステップと、
    前記認証データ生成ステップで生成された認証データを前記サーバに送信する認証データ送信ステップとを含む
    ことを特徴とする通信方法。
  16. 前記第1受信ステップでは、さらに暗号鍵を生成するための暗号鍵生成プログラムと、当該暗号鍵でネットワーク上の通信データを暗号化するための暗号化プログラムとを受信し、
    さらに、
    前記認証データを送信した後に、前記サーバから受信した暗号鍵生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて暗号鍵を生成する第1暗号鍵生成ステップと、
    前記サーバから受信した暗号化プログラムを実行し、第1暗号鍵生成ステップで生成された暗号鍵を用いて前記サーバと暗号通信する第1暗号通信ステップとを含む
    ことを特徴とする請求項15記載の通信方法。
  17. 前記認証データ生成プログラムは、暗号鍵を生成する機能を含み、
    前記第1受信ステップでは、ネットワーク上の通信データを暗号鍵で暗号化するための暗号化プログラムをさらに受信し、
    さらに、
    前記認証データをサーバに送信した後、認証データ生成プログラムを再度実行し、前記認証データに基づいて暗号鍵を生成する第1暗号鍵生成ステップと、
    前記サーバから受信した暗号化プログラムを実行し、第1暗号鍵生成ステップで生成された暗号鍵を用いて前記サーバと暗号通信する第1暗号通信ステップとを含む
    ことを特徴とする請求項15記載の通信方法。
  18. 前記認証データ送信ステップでは、さらに前記サーバから受信したノンスをサーバに送信する
    ことを特徴とする請求項15〜17のいずれか1項記載の通信方法。
  19. 前記第1情報は、前記クライアントおよびサーバに共通のパスワードであり、
    認証データ生成ステップでは、前記クライアントは、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持されるパスワードとに基づいて認証データを生成する
    ことを特徴とする請求項15〜18のいずれか1項記載の通信方法。
  20. 前記第1情報は、複数のクライアントに固有のIDと、各IDにそれぞれ対応するパスワードとから構成され、
    認証データ生成ステップでは、各前記クライアントは、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持されるパスワードと、IDとに基づいて認証データを生成する
    ことを特徴とする請求項15〜19のいずれか1項記載の通信方法。
  21. 前記認証データ生成プログラムは、入力を一定の法則で変換する関数にハッシュ関数を含む
    ことを特徴とする請求項15〜20のいずれか1項記載の通信方法。
  22. ネットワークを介して通信要求を送信するクライアントと、通信要求に従って当該クライアントを認証するための処理を行うサーバとからなる通信システムであって、
    前記クライアント及び前記サーバは、前記認証に用いられる第1情報を共通に予め保持する第1情報保持手段をそれぞれ備え、
    前記サーバは、さらに、
    認証データを生成するための認証データ生成プログラムを予め保持する認証データ生成プログラム保持手段と、
    前記通信要求を受信するごとに乱数を表すノンスを新たに生成するノンス生成手段と、
    前記ノンス生成手段で生成されたノンスを記憶するノンス記憶手段と、
    前記ノンス記憶手段に記憶されたノンスと、前記認証データ生成プログラム保持手段に保持された認証データ生成プログラムとを前記クライアントに送信する第1送信手段とを備え、
    前記クライアントは、さらに、
    前記サーバから受信した前記認証データ生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて認証データを生成する認証データ生成手段と、
    前記認証データ生成手段で生成された認証データを前記サーバに送信する認証データ送信手段とを備え、
    前記サーバは、さらに
    前記クライアントから認証データを受信すると、前記認証データ生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される第1情報とに基づいて確認用の認証データを生成する確認用認証データ生成手段と、
    前記クライアントから受信した認証データと、確認用認証データ生成ステップで生成された確認用の認証データとを比較し、一致するか否かでクライアントを認証する認証手段とを備える
    ことを特徴とする通信システム。
  23. ネットワークを介して受信するクライアントからの通信要求に従って当該クライアントを認証するための処理を行うサーバであって、
    前記認証に用いられる第1情報を前記クライアントと共通に予め保持する第1情報保持手段と、
    認証データを生成するための認証データ生成プログラムを予め保持する認証データ生成プログラム保持手段と、
    前記通信要求を受信するごとに乱数を表すノンスを新たに生成するノンス生成手段と、
    前記ノンス生成手段で生成されたノンスを記憶するノンス記憶手段と、
    前記ノンス記憶手段に記憶されたノンスと、前記認証データ生成プログラム保持手段に保持された認証データ生成プログラムとを前記クライアントに送信する第1送信手段と、
    前記クライアントから認証データを受信すると、前記認証データ生成プログラムを実行し、前記ノンス記憶手段に記憶されたノンスと自己の第1情報記憶手段に保持される第1情報とに基づいて確認用の認証データを生成する確認用認証データ生成手段と、
    前記クライアントから受信した認証データと、確認用認証データ生成ステップで生成された確認用の認証データとを比較し、一致するか否かでクライアントを認証する認証手段とを備える
    ことを特徴とするサーバ。
  24. ネットワークを介して通信要求をサーバに送信し、当該サーバとの応答に基づいて認証を受けるクライアントであって、
    前記認証に用いられる第1情報を前記サーバと共通に予め保持する第1情報保持手段と、
    前記通信要求をサーバに送信するごとに乱数を表すノンスと、認証データを生成するための認証データ生成プログラムとを前記サーバから受信する第1受信手段と、
    前記サーバから受信した認証データ生成プログラムを実行し、前記サーバから受信したノンスと、自己の第1情報記憶手段に保持される第1情報とに基づいて認証データを生成する認証データ生成手段と、
    前記認証データ生成手段で生成された認証データを前記サーバに送信する認証データ送信手段とを備える
    ことを特徴とするクライアント。
  25. 請求項8に記載の方法が含む全てのステップをコンピュータに実行させるプログラム。
  26. 請求項15に記載の方法が含む全てのステップをコンピュータに実行させるプログラム。
  27. 請求項25に記載のプログラムを記録した記録媒体。
  28. 請求項26に記載のプログラムを記録した記録媒体。
JP2003058470A 2003-03-05 2003-03-05 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント Pending JP2004274134A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003058470A JP2004274134A (ja) 2003-03-05 2003-03-05 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003058470A JP2004274134A (ja) 2003-03-05 2003-03-05 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント

Publications (1)

Publication Number Publication Date
JP2004274134A true JP2004274134A (ja) 2004-09-30

Family

ID=33121575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003058470A Pending JP2004274134A (ja) 2003-03-05 2003-03-05 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント

Country Status (1)

Country Link
JP (1) JP2004274134A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006108903A (ja) * 2004-10-01 2006-04-20 Hiromi Fukaya 暗号化データ配布方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム
JP2007058633A (ja) * 2005-08-25 2007-03-08 Kddi Corp ユーザ認証システム、認証装置、端末装置及びコンピュータプログラム
JP2008177824A (ja) * 2007-01-18 2008-07-31 Kddi Corp 鍵交換システムおよび鍵交換方法
KR101407373B1 (ko) 2006-09-21 2014-06-13 이르데토 비.브이. 서버와 클라이언트 시스템 간의 통신 세션에서 상태 추적메커니즘을 수행하는 방법
JP2015176156A (ja) * 2014-03-12 2015-10-05 株式会社リコー システムおよび情報処理装置
JP2017183932A (ja) * 2016-03-29 2017-10-05 Kddi株式会社 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体
JP2019176360A (ja) * 2018-03-29 2019-10-10 富士通株式会社 アクセス制御装置、アクセス制御プログラムおよびアクセス制御システム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006108903A (ja) * 2004-10-01 2006-04-20 Hiromi Fukaya 暗号化データ配布方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム
JP2007058633A (ja) * 2005-08-25 2007-03-08 Kddi Corp ユーザ認証システム、認証装置、端末装置及びコンピュータプログラム
JP4704148B2 (ja) * 2005-08-25 2011-06-15 Kddi株式会社 ユーザ認証システム、認証装置、端末装置及びコンピュータプログラム
KR101407373B1 (ko) 2006-09-21 2014-06-13 이르데토 비.브이. 서버와 클라이언트 시스템 간의 통신 세션에서 상태 추적메커니즘을 수행하는 방법
JP2008177824A (ja) * 2007-01-18 2008-07-31 Kddi Corp 鍵交換システムおよび鍵交換方法
JP2015176156A (ja) * 2014-03-12 2015-10-05 株式会社リコー システムおよび情報処理装置
JP2017183932A (ja) * 2016-03-29 2017-10-05 Kddi株式会社 暗号化通信チャネル確立システム、方法、プログラム及びコンピュータ読取り可能なプログラム記録媒体
JP2019176360A (ja) * 2018-03-29 2019-10-10 富士通株式会社 アクセス制御装置、アクセス制御プログラムおよびアクセス制御システム
JP7040215B2 (ja) 2018-03-29 2022-03-23 富士通株式会社 アクセス制御装置、アクセス制御プログラムおよびアクセス制御システム

Similar Documents

Publication Publication Date Title
CN109728909B (zh) 基于USBKey的身份认证方法和***
US20210367753A1 (en) Trusted measurement and control network authentication method based on double cryptographic values and chaotic encryption
JP5345675B2 (ja) トークンとベリファイアとの間の認証のためのネットワーク・ヘルパー
JP4746333B2 (ja) コンピューティングシステムの効率的かつセキュアな認証
JP4599852B2 (ja) データ通信装置および方法、並びにプログラム
CN103763356B (zh) 一种安全套接层连接的建立方法、装置及***
CN101212293B (zh) 一种身份认证方法及***
US7653713B2 (en) Method of measuring round trip time and proximity checking method using the same
US20080034216A1 (en) Mutual authentication and secure channel establishment between two parties using consecutive one-time passwords
CN111030814A (zh) 秘钥协商方法及装置
CN113806772A (zh) 基于区块链的信息加密传输方法及装置
CN112351037B (zh) 用于安全通信的信息处理方法及装置
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和***
CN114513339A (zh) 一种安全认证方法、***及装置
CN112713995A (zh) 一种用于物联网终端的动态通信密钥分发方法及装置
WO2022135391A1 (zh) 身份鉴别方法、装置、存储介质、程序、及程序产品
KR20090012013A (ko) 커버로스를 이용한 상호 인증 방법 및 그 시스템
CN114499837A (zh) 一种报文防泄露方法、装置、***和设备
JP2004274134A (ja) 通信方法並びにこの通信方法を用いた通信システム、サーバおよびクライアント
CN114928503B (zh) 一种安全通道的实现方法及数据传输方法
KR101256114B1 (ko) 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템
TWI761243B (zh) 群組即時通訊的加密系統和加密方法
WO2023151427A1 (zh) 量子密钥传输方法、装置及***
TWI751433B (zh) 安全通訊金鑰協商方法