JP2018023029A - 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム - Google Patents
通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム Download PDFInfo
- Publication number
- JP2018023029A JP2018023029A JP2016153699A JP2016153699A JP2018023029A JP 2018023029 A JP2018023029 A JP 2018023029A JP 2016153699 A JP2016153699 A JP 2016153699A JP 2016153699 A JP2016153699 A JP 2016153699A JP 2018023029 A JP2018023029 A JP 2018023029A
- Authority
- JP
- Japan
- Prior art keywords
- communication device
- solution
- common key
- encrypted
- generated
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/606—Protecting data by securing the transmission between two devices or processes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Abstract
Description
暗号化通信の技術の1つとしてSSL(secure sockets layer)と呼ばれる技術が実用化されている。なお、本願でSSLと言う場合には、SSLを標準化したものであるTLS(transport layer security)も当然にSSLに含まれる。
この例では、クライアントとサーバ間でSSL通信が実行されるものとする。
(1)前提処理
a.サーバは、一対の秘密鍵と公開鍵を生成する。秘密鍵と公開鍵とは、周知のように、そのいずれもが平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、それらの他方で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。他方、サーバには、自己の正当性を相手方が確認するためのデータであるサーバ証明書であって、自己の公開鍵を含み、且つそのサーバ証明書の正当性を示すための電子署名が付されているものがインストールされる。
b.クライアントは、共通鍵を準備する。共通鍵は、周知のように、平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、同じ共通鍵で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。
c.クライアントには、ルート証明書がインストールされる。ルート証明書は、ルート認証局が作成したものである。ルート認証局は、上述のサーバ証明書を作成する者でもあり、サーバ証明書に電子署名を付す者でもある。クライアントは、ルート証明書とサーバ証明書に付された電子署名の組合せにより、サーバ証明書の正当性を確認することができる。
(2)サーバとクライアントでの共通鍵の共有
a.クライアントがサーバにSSL通信の要求を行う。
b.サーバがクライアントに対して上記サーバ証明書を送信する。上述のように、サーバ証明書には、サーバが用いる公開鍵が含まれ、電子署名が付されている。
c.クライアントは、自己が所有するルート証明書とサーバ証明書に付された電子署名とを用いてサーバ証明書の正当性を検証し、サーバ証明書が正当であれば自分が通信しているサーバが正当であると認証し、サーバ証明書が不当であればサーバが正当であるとの認証を行わない。
d.クライアントはサーバを認証した場合には、自己が所有する共通鍵を、サーバから受取ったサーバ証明書に含まれていた公開鍵で暗号化して、サーバに送る。
e.サーバは、クライアントから受取った暗号化された公開鍵を自己が所有する秘密鍵で復号化する。これにて、クライアントの共通鍵は、クライアントとサーバで共有されることになる。
(3)サーバとクライアント間での暗号化通信
サーバとクライアントとはともに、自分が持つ共通鍵で暗号化した暗号化データを相手方に送る。サーバとクライアントはともに、相手から受取った暗号化データを自分が持つ共通鍵で復号化する。これにて、サーバとクライアントとの間では暗号化通信が可能となる。
乱暴であることを承知で言うと、SSL通信で実行したいのは、上記(3)のサーバとクライアント間での暗号化通信のみである。これを、共通鍵を用いて行いたいというのがSSL通信の要点である。なぜ共通鍵でかかる暗号化通信を行いたいかといえば、共通鍵での暗号化通信は、特に公開鍵と秘密鍵とを用いた暗号化通信に較べてその処理が格段に軽いからである。
もっとも、そのためには、共通鍵をサーバとクライアントとの間で共有しなければならない。それを実現するために、サーバが持つ公開鍵と秘密鍵とを用いてクライアントからサーバに共通鍵が送信されるというのが、SSL通信についての上記(2)の処理である。公開鍵と秘密鍵を使った暗号化通信では、暗号化と復号化に用いられる鍵が上述のように異なる。したがって、公開鍵で暗号化されたクライアントの共通鍵が仮に、クライアントからサーバに送られている途中で悪意のある第三者に盗まれたとしても、当該第三者は秘密鍵を持たないのでクライアントの共通鍵そのものが第三者に盗まれるということはない。この結果には、公開鍵が公開されていることはまったく影響しない。
クライアントから第三者に共通鍵を送る際には、上述したように、サーバからクライアントに送られてきた公開鍵が用いられる。しかしながら、ここでその公開鍵自体の正当性、ひいては公開鍵を送って来た者(サーバ)の正当性が問題となる。たとえば、悪意のある第三者が公開鍵をクライアントに送ってくることがあるからである。公開鍵乃至それを送ってきた者の正当性を担保するのが、SSL通信についての上記(1)、(2)の処理である。これら処理により、クライアントが、サーバの正当性を確認(認証)することで、SSL通信の正当性が保証されることになる。
そのようなことが生じる原因は複数あるが、例えば、クライアントにある上述したルート証明書が例えばハッキングや、コンピュータウィルスを用いる等の手法によって改竄されることがその一因となる。また、ルート証明書には通常有効期限があるにもかかわらず、多くのユーザは自らのクライアントにおいてルート証明書の更新をしていない。そうすると、クライアント内にあるルート証明書は改竄されたのと同様の状態となることがあり得る。
ルート証明書が改竄された場合には、悪意のある第三者は、改竄されたルート証明書によって自らの正当性がクライアントにおいて認証されるような偽のサーバ証明書を自ら作り、ユーザが正当なサーバへとSSL通信の要求を行ったときに、正当なサーバになりすまして、クライアントと正当なサーバとの間に入り込んでその要求を受取る。そしてその正当なサーバになりすました偽のサーバは、自らが作った、偽のサーバ証明書をクライアントへと送信する。そうするとクライアントは、改竄されたルート証明書を使ってその偽のサーバ証明書を正当なものと判断し、ひいては偽のサーバを正当なものと認証する。そうすると、クライアントは自らが持つ共通鍵を偽のサーバ証明書に含まれていた偽の公開鍵で暗号化して、偽のサーバへと送信する。それを受取った偽のサーバは自らが持つ上述の偽の公開鍵と対となった秘密鍵でその暗号化された共通鍵を復号化する。これをもって、クライアントが持っていた共通鍵は、悪意の第三者の手に渡るのである。以降においては、そのクライアントとサーバとの間の通信が仮に共通鍵による暗号化通信であったとしても、その暗号化通信のために必要な共通鍵を所有している悪意の第三者は、その解読を自由に行えるようになる。
このような、クライアントとサーバの間に悪意の第三者が入り込んで行う攻撃を中間者攻撃(man-in-the-middle attack:MITMA)と称するが、他の暗号化通信の場合と同様、SSLの場合にもこれを防げていない。
上述したようにSSL通信では最終的に共通鍵方式の通信を行うが、それに先立って、クライアントが持つ共通鍵をどうやって安全にサーバに配送するのかという点が問題となる。SSL通信では上述のように、秘密鍵方式の暗号化通信を初段に用い、且つサーバ証明書とルート証明書とを用いた認証技術を組合せることで、クライアントが持つ共通鍵を安全にサーバに配送せんとしているが、その試みは上述のように、完璧に成し遂げられているとは言えないのである。
本願発明は、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムで実行される通信方法である。かかる通信方法は、現在普及しているSSL通信の一態様であっても良いし、そうでなくても良い。言い換えれば、かかる通信方法は、SSL通信の進化版或いは改良版と捉えることもできるし、SSL通信とは無関係のものと捉えることもできる。本願発明をSSL通信の進化版或いは改良版と捉える(SSLの代替として応用するのであれば、第1通信装置は従来のサーバ、第2通信装置は従来のクライアントという位置づけとなる。なお、本願におけるネットワークは、典型的にはインターネットである。
そして、本願発明は、以下の過程を含む。
本願発明は、前記第2通信装置が、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取る過程、前記第1通信装置が、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理か、又は前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理の一方を行う過程、前記第1通信装置が前記共通鍵を暗号化した場合には、前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信するとともに、暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、前記第2通信装置が前記共通鍵を暗号化した場合には、前記第2通信装置から前記第1通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信するとともに、暗号化された前記共通鍵を受取った前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置と、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、を含んでいる。
本願発明における上述の最後の過程、つまり、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置と、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程は、現在のSSL通信の場合でいうのであれば、上記(3)の処理に相当する。つまり、共通鍵方式の暗号化通信自体は極めて一般的であるから必ずしもそうする必要はないが、この部分はSSL通信で現在用いられている上記(3)の処理をそのまま踏襲することが可能である。
背景技術の欄で説明したように、SSL通信では、共通鍵の配送と、通信相手の認証を如何にして行うかというのが重要である。そして、この課題は他の暗号化通信でも同様に重要である。それらを本願発明では、上述の「以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置と、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程」の前に実現しているのである。以下、その仕組について説明する。
また、この発明における第2通信装置と第1通信装置とは、同じ解を用いた場合には同じ暗号化と復号化の処理を実行できるようになっている。この場合における、解は事実上、通常の暗号化と復号化の処理における共通鍵として機能する。典型的には、第2通信装置と第1通信装置とは、同じアルゴリズムを用いて、暗号化と復号化の処理を実行できるようになっている。なお、かかる暗号化と復号化の処理は、現在のSSL通信の場合における(2)の処理に相当するものであり、現在のSSL通信の場合における(3)の処理、即ち、「以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置と、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程」で実行される暗号化と復号化とは異なる。
第1通信装置と第2通信装置とが実行する具体的な処理内容について説明する。
まず、第2通信装置と第1通信装置との間で暗号化通信を行うにあたり、まず、第2通信装置が、その解生成手段で解を生成させ、その解をネットワークを介して第1通信装置に送信する過程が実行される。
次に、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取る過程、が実行される。続けて、第1通信装置にて、認証の処理が行われる。認証の処理は、具体的には以下のようにして行われる。第1通信装置は、第1通信装置の解生成手段で解を生成させ、第1通信装置の解生成手段で生成した解と、第2通信装置から受取った解とを比較する。その結果、第1通信装置は、両者が一致した場合には、解を送ってきた第2通信装置を正当なものと認証し、両者が一致しなかった場合には、第2通信装置は正当なものでないと判断する。上述したように、第1通信装置が持つ解生成手段は、共通条件下で生成されたものを比較すれば第2通信装置で生成された解と同じものとなる解を連続して生成することのできるものとなっている。したがって、正当な第2通信装置から送られてきた解と同じ解を第1通信装置の解生成手段は作ることができるのであるから、上述の如き認証は可能である。
第1通信装置で、第2通信装置が正当なものと認証された後の処理には2つの場合がある。簡単に言うと、共通鍵を最初に持っているのが第1通信装置の場合と第2通信装置の場合の2つの場合があるのである。前者の場合には、第1通信装置から第2通信装置へ暗号化された共通鍵が送られることにより、共通鍵が第1通信装置と第2通信装置で共有される。後者の場合には、第2通信装置から第1通信装置へと暗号化された共通鍵が送られることにより共通鍵が第1通信装置と第2通信装置で共有される。
具体的には、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理が実行される。この処理が実行された場合には、つまり、前記第1通信装置が前記共通鍵を暗号化した場合には、前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信するとともに、暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下(例えば、共通鍵を暗号化するために使われた第1通信装置における解の作られた順番と、その解の第2通信装置内で作られた順番とが同じこと)で生成された解を用いて暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程が実行される。上述したように、第1通信装置と第2通信装置はともに、互いに共通する同じ解を連続して発生するための解生成手段を備えている。そして、第1通信装置と第2通信装置とはその解を用いて、同じアルゴリズムで暗号化と復号化を行えるようになっている。したがって、第2通信装置は、第1通信装置である解を用いて暗号化された共通鍵のデータを第1通信装置から受取った場合には、暗号化されたその共通鍵を自ら生成した解を用いて復号化することができる。ここで、重要なのは、第1通信装置が暗号化に用いる解、及び第2通信装置が復号化に用いる解はともに、第2通信装置の認証に使われた解ではなく、第1通信装置及び第2通信装置の解生成手段で生成された解であるということである。これらの解は、第1通信装置又は第2通信装置の内部にのみ存在するものであって、ネットワークを経由して送信されない。したがって、第三者はこの解を盗み取ることが事実上できない。それは即ち、暗号化してネットワーク上を送信される共通鍵のデータを悪意の第三者が盗んだとしても、その復号化を行えないということを意味する。本願発明では、第1通信装置と第2通信装置とが、第2通信装置から第1通信装置に送られた解の後に生成された幾つめの解を共通鍵の暗号化と復号化に用いるかは、第1通信装置と第2通信装置の間で最初から決定しておくことができる。例えば、第2通信装置から第1通信装置に送られた解の次に両者で発生された解を用いるとか、5番目に発生した解を用いるとか、そういう取極めを両者の間で予めしておくことができる。また、第2通信装置から第1通信装置に送られた解或いはそれと一緒に送られたデータ等に依存させるようにして、何番目に発生した解を第1通信装置での共通鍵の暗号化と第2通信装置での共通鍵の復号化に用いるかを変化させることも可能である。更にいえば、第1通信装置が暗号化に使う解と、第2通信装置が復号化に用いる解とは、それぞれ複数であっても良い。この場合には例えば、第1通信装置が共通鍵の暗号化に用いる鍵を、第2通信装置から第1通信装置に送られた解の後の1番目と4番目に発生したもの、第2通信装置が共通鍵の復号化に用いる解も、第2通信装置から第1通信装置に送られた解の後の1番目と4番目に発生したもの、といった取極めを予めしておくことができる。つまり、第1通信装置と第2通信装置で用いられる解は、その数とそれが生成された順番とが共通するものである必要があり、その数と順番についての取極めを第1通信装置と第2通信装置との間で予めしておく必要がある。第1通信装置が暗号化に使う解と、第2通信装置が復号化に用いる解とを複数にすれば、第三者が暗号化された共通鍵を復号化することが益々難しくなる。
他方、前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理を実行した場合、つまり、前記第2通信装置が前記共通鍵を暗号化した場合には、前記第2通信装置から前記第1通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信するとともに、暗号化された前記共通鍵を受取った前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程を実行するようにすることも可能である。この場合において、第2通信装置が暗号化に用いる解、及び第1通信装置が復号化に用いる解はともに、第2通信装置の認証に使われた解ではなく、その後に第1通信装置及び第2通信装置の解生成手段で生成された解である。これらの解は、第1通信装置又は第2通信装置の内部にのみ存在するものであって、ネットワークを経由して送信されない。したがって、この場合においても、第三者はこの解を盗み取ることが事実上できない。
以上、2つの処理のいずれかが実行されることにより、前記第1通信装置と前記第2通信装置で共通鍵が共有されることになる。共有されることになった前記共通鍵を用いて、前記第1通信装置と、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程が最後に実行される。かかる過程は、既に述べた通り、SSL通信で現在用いられている上記(3)の処理をそのまま踏襲することが可能である。第三者に共通鍵が盗み取られていないのであれば、この暗号化通信は安全である。
この場合、第1通信装置が第2通信装置に送信する解は、第1通信装置又は第2通信装置で共通鍵を暗号化し、また暗号化された共通鍵を復号化するのに用いられる解としては用いられない。第1通信装置が第2通信装置に送信する解は、第1通信装置又は第2通信装置で共通鍵を暗号化し、また暗号化された共通鍵を復号化するのに用いられる解より先に生成された解でも良いし、それらよりも後に生成された解でも良いが、いずれにせよ第2通信装置が第1通信装置に送った解よりも後に生成された解とすることができる。
その方法は例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置で実行される通信方法である。
そしてこの通信方法は、前記第2通信装置が実行する、以下の過程を含む。
その過程は、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理が実行された後に、前記第1通信装置から暗号化された前記共通鍵を前記ネットワークを介して受取る過程、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
かかる通信方法では、上述の通り、前記第1通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、前記第2通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いてもよい。
その方法は例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置で実行される通信方法である。
そしてこの通信方法は、前記第2通信装置が実行する、以下の過程を含む。
その過程は、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置から前記第2通信装置が正当なものだと認証されたという通知を前記ネットワークを介して受取る過程、前記通知を受取った後に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、暗号化した共通鍵を、前記第1通信装置へと前記ネットワークを介して送信する過程、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
かかる通信方法では、上述の通り、前記第2通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、前記第1通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いてもよい。
その方法は例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置で実行される通信方法である。
そしてこの通信方法は、前記第1通信装置が実行する、以下の過程を含む。
その過程は、前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信する過程、暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
かかる通信方法では、上述の通り、前記第1通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、前記第2通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いてもよい。
その方法は例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置で実行される通信方法である。
そしてこの通信方法は、前記第1通信装置が実行する、以下の過程を含む。
その過程は、前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送る過程、前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理を行った後に、前記第2通信装置から前記ネットワークを介して送信された暗号化された前記共通鍵を受取る過程、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、前記第2通信装置から受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
かかる通信方法では、上述の通り、前記第2通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、前記第1通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いてもよい。
第2通信装置は例えば、解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いた暗号化を行うことができる第1通信装置第1暗号化復号化手段と、認証手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、を備えており、所定のネットワークと接続可能とされている第1通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第2通信装置である。
そして、第2通信装置は、前記第1通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第1通信装置第1暗号化復号化手段で行われるのと同じ復号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えている。
また、第2通信装置は、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して前記第1通信装置に送るようになっているとともに、前記第1通信装置は、前記第2通信装置から前記ネットワークを介して前記解を受取り、前記第1通信装置解生成手段で解を生成させ、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第1通信装置解生成手段が2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて自らが持つ共通鍵を前記第1通信装置第1暗号化復号化手段で暗号化する処理を実行して、暗号化された前記共通鍵を前記ネットワークを介して前記第2通信装置に送るようになっており、前記第2通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第2通信装置解生成手段によって生成された解を用いて、前記第1通信装置から受取った暗号化された前記共通鍵を前記第2通信装置第1暗号化復号化手段で復号化するようになっており、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第1通信装置との間で共通鍵方式の暗号化通信を行うようになっている。
その第2通信装置は例えば、解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いた復号化を行うことができる第1通信装置第1暗号化復号化手段と、認証手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、を備えており、所定のネットワークと接続可能とされている第1通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第2通信装置である。
そして、第2通信装置は、前記第1通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第1通信装置第1暗号化復号化手段で行われるのと同じ暗号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えている。
また、第2通信装置は、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して前記第1通信装置に送るようになっているとともに、前記第1通信装置は、前記第2通信装置から前記ネットワークを介して前記解を受取り、前記第1通信装置解生成手段で解を生成させ、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送るようになっており、前記通知を前記第1通信装置から受けた前記第2通信装置の前記第2通信装置解生成手段が2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を前記第2通信装置第1暗号化復号化手段で暗号化するとともに暗号化された前記共通鍵を前記ネットワークを介して前記第1通信装置に送るようになっており、前記第1通信装置は、前記第1通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第1通信装置との間で共通鍵方式の暗号化通信を行うようになっている。
第1通信装置は例えば、解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いた復号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えており、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して前記第1通信装置に送るようになっている、所定のネットワークと接続可能とされている第2通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第1通信装置である。
そして、第1通信装置は、前記第2通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第2通信装置第1暗号化復号化手段で行われるのと同じ暗号化を行うことができる第1通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するようになっている認証手段と、を備えている。
また、第1通信装置は、前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第1通信装置解生成手段が2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて自らが持つ共通鍵を前記第1通信装置第1暗号化復号化手段で暗号化する処理を実行して、暗号化された前記共通鍵を前記ネットワークを介して前記第2通信装置に送るようになっており、前記第2通信装置は、前記第2通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第2通信装置解生成手段によって生成された解を用いて、前記第1通信装置から受取った暗号化された前記共通鍵を前記第2通信装置第1暗号化復号化手段で復号化するようになっており、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第2通信装置との間で共通鍵方式の暗号化通信を行うようになっている。
第1通信装置は例えば、解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いた暗号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えており、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して前記第1通信装置に送るようになっている、所定のネットワークと接続可能とされている第2通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第1通信装置である。
そして、第1通信装置は、前記第2通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第2通信装置第1暗号化復号化手段で行われるのと同じ復号化を行うことができる第1通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するようになっている認証手段と、を備えている。
また、第1通信装置は、前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送るようになっており、前記第2通信装置は、前記通知を前記第1通信装置から受けたら、前記第2通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を前記第2通信装置第1暗号化復号化手段で暗号化するとともに暗号化された前記共通鍵を前記ネットワークを介して前記第1通信装置に送るようになっており、前記第1通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第2通信装置との間で共通鍵方式の暗号化通信を行うようになっている。
そのコンピュータプログラムは例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置として、コンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに以下の過程を実行させるためのものである。
その過程は、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理が実行された後に、前記第1通信装置から暗号化された前記共通鍵を前記ネットワークを介して受取る過程、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
そのコンピュータプログラムは例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置として、コンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに以下の過程を実行させるためのものである。
その過程は、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置から前記第2通信装置が正当なものだと認証されたという通知を前記ネットワークを介して受取る過程、前記通知を受取った後に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、暗号化した共通鍵を、前記第1通信装置へと前記ネットワークを介して送信する過程、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
そのコンピュータプログラムは例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置として、コンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに以下の過程を実行させるためのものである。
その過程は、前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信する過程、暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を復号化することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
そのコンピュータプログラムは例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置として、コンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに以下の過程を実行させるためのものである。
その過程は、前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送る過程、前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理を行った後に、前記第2通信装置から前記ネットワークを介して送信された暗号化された前記共通鍵を受取る過程、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、第2通信装置から受取った暗号化された前記共通鍵を復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、である。
現在のSSL通信のコンピュータプログラムは、アプリケーションと、TCP/IPとの間で暗号化と復号化とを行うようになっている。上述の如きコンピュータプログラムであれば、現在のSSL通信用のコンピュータプログラムに置換するのが容易である。
これによっても、本願発明の上記コンピュータプログラムで、現在のSSL通信用のコンピュータプログラムを置換するのが容易になる。
これに代えて、第2通信装置から第1通信装置に対して、第1通信装置で上述の認証が行われる前に、解と暗号化された鍵を送ってしまうことも可能である。本願の第3の態様とでもいうべき以下に説明する発明はすべてそのような発明である。
その方法は、例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置で実行される通信方法である。
そしてその方法は、前記第2通信装置が実行する、その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものと、を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するとともに、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、を含んでなる。
その方法は、例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置で実行される通信方法である。
そしてその方法は、前記第1通信装置が実行する、前記第2通信装置が、その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して送ってきた場合に前記解と暗号化された共通鍵とを受取る過程、前記第1通信装置の解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、を含んでなる。
第2通信装置は、例えば、解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いた暗号化と復号化を行うことができる第1通信装置第1暗号化復号化手段と、認証手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、を備えており、所定のネットワークと接続可能とされている第1通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第2通信装置であって、前記第1通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第1通信装置第1暗号化復号化手段で行われるのと同じ暗号化と復号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えている。
そして、第2通信装置は、前記第2通信装置解生成手段で生成した複数の解のうちの1つと、前記第2通信装置解生成手段で生成した解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して前記第1通信装置に送るようになっているとともに、前記第1通信装置は、前記第2通信装置から前記ネットワークを介して前記解と暗号化された前記共通鍵とを受取り、前記第1通信装置解生成手段で複数の解を生成させ、前記第1通信装置解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第1通信装置解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第1通信装置との間で共通鍵方式の暗号化通信を行うようになっている。
第1通信装置は、例えば、解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いた暗号化と復号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えており、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して第1通信装置に送るようになっている、所定のネットワークと接続可能とされている第2通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第1通信装置であって、前記第2通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第2通信装置第1暗号化復号化手段で行われるのと同じ暗号化と復号化を行うことができる第1通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するようになっている認証手段と、を備えている。
そして、第1通信装置は、前記第2通信装置が、前記第2通信装置解生成手段で生成した複数の解のうちの1つと、前記第2通信装置解生成手段で生成した解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して前記第1通信装置に送ってきた場合に、それらを受取るようになっているとともに、前記第1通信装置解生成手段で複数の解を生成させ、前記第1通信装置解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第2通信装置との間で共通鍵方式の暗号化通信を行うようになっている。
そのコンピュータプログラムは、例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置として、コンピュータを機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータに、その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものと、を前記ネットワークを介して前記第1通信装置に送信する過程、前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するとともに、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、を実行させるためのものとなっている。
そのコンピュータプログラムは、例えば、所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置として、コンピュータを機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータに、前記第2通信装置が、その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して送ってきた場合に前記解と暗号化された共通鍵とを受取る過程、前記第1通信装置の解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、を実行させるためのものとなっている。
図1に、第1実施形態の通信システムの全体構成を概略で示す。
通信システムは、複数のクライアント100−1〜100−N(以後、単に、「クライアント100」と記載する場合もある。)、及びサーバ200を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
この実施形態におけるクライアント100は、本願でいう第2通信装置に相当するものである。また、この実施形態におけるサーバ200は本願でいう第2通信装置に相当する。もっとも本願における第1通信装置と第2通信装置に相当するサーバ200とクライアント100とは、いわゆるサーバとクライアントの関係である必要はなく、2つの互いに対等な通信装置であっても構わない。
クライアント100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。それらはすべて、ネットワーク400を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
例えば、クライアント100がスマートフォンかタブレットなのであれば、スマートフォンとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPhoneで良いし、タブレットとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPadでよい。以下、これには限られないが、クライアント100がスマートフォンであることとして話を進める。
クライアント100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。クライアント100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をクライアント100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるクライアント100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、クライアント100がノート型パソコン、デスクトップ型パソコンである場合には、入力装置102はキーボードや、マウス等になるであろう。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112、或いはRAM113に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。図示をしていないが、ハードウェアはHDD(hard disk drive)その他の大容量記録装置を備えていてもよく、コンピュータプログラムは大容量記録装置に記録されていても構わない。
ここでいうコンピュータプログラムには、本願発明のクライアントとしてこのクライアント100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、クライアント100にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのクライアント100へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。
ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムとしては、これに限られず、クライアント100がスマートフォンであれば、クライアントをスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。クライアント100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。
インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容は、インターフェイス114からバス116に入力されるようになっている。また、周知のようにディスプレイ101に画像を表示するための画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。インターフェイス114は、また、インターネットであるネットワーク400を介して外部と通信を行うための公知の手段である送受信機構(図示を省略)に接続されており、それにより、クライアント100は、ネットワーク400を介してデータを送信することと、ネットワーク400を介してデータを受信することとが可能になっている。かかるネットワーク400を介してのデータの送受信は、有線で行われる場合もあるが無線で行われる場合もある。例えば、クライアント100がスマートフォンである場合には、かかる通信は無線で行われるのが通常であろう。それが可能な限り、送受信機構の構成は、公知或いは周知のものとすることができる。送受信機構がネットワーク400から受取ったデータは、インターフェイス114により受取られるようになっており、インターフェイス114から送受信機構にわたされたデータは、送受信機構によって、ネットワーク400を介して外部、例えば、サーバ200に送られるようになっている。
クライアント100内には、本願発明の機能との関係で、アプリケーション121と、暗号化復号化部122と、送受信部123とが生成される。
もっとも、これらのうちアプリケーション121は、公知のブラウザのソフトウェア、電子メールのソフトウェア等であり、また、送受信部123はネットワーク400を介してのデータの送受信を行うソフトウェアであって、いずれもが本願発明でいうコンピュータプログラムの機能によって生成されるものではない。
アプリケーション121は、クライアント100からサーバ200に暗号化して送られるデータの元となる暗号化されていないデータを生成するものであり、またサーバ200からクライアント100へ暗号化して送られたデータを復号化してから使用するものである。そのようなものである限り、アプリケーション121は上で例示したものに限られない。アプリケーション121はインターフェイス114と接続されており、インターフェイス114を介して受取る入力装置102からの操作内容に関するデータにしたがって動作する。アプリケーション121はその動作の結果、暗号化してネットワーク400を介してサーバ200に送るべき平文のデータを生成する。このデータは暗号化復号化部122に送られるようになっている。アプリケーション121は、また、動作の結果、例えば上述した画像データを生成する。画像データはインターフェイス114に送られ、そこからディスプレイ101に送られるようになっている。
また、送受信部123は、サーバ200等とネットワーク400を介して送受信を行う機能ブロックであって、例えば相手装置の宛先を決定したり、送信されるデータに所定の内容を書き込んだりという、公知、周知の機能を有している。送受信部123は、少なくともTCP/IPを用いてネットワーク400を介しての通信を行えるようになっている。送受信部123は、送受信機構がネットワーク400から受取ったデータをインターフェイス114を介して受取る。送受信部123は、インターフェイス114を介して送受信機構から受取ったデータを暗号化復号化部122へ送るようになっている。また、送受信部123は、暗号化復号化部122からデータを受取る場合がある。送受信部123はその暗号化復号化部122から受取ったデータをインターフェイス114に送り、送受信機構からネットワーク400を介してサーバ200へ送るようになっている。
また、暗号化復号化部122には、入力装置102から入力された操作内容についてのデータが、インターフェイス114を介して入力される場合がある。
クライアント解生成部122Cとサーバ解生成部で解を生成する方法が、上述の条件が充足される限りどのようなものでもよいのは既に述べたとおりである。そのような技術は既に、ワンタイムパスワードの生成の技術として完成し、実用されている。クライアント解生成部122C及びサーバ解生成部では、そのような技術を流用することができる。サーバ解生成部でも同じであるからクライアント解生成部122Cについてのみに言及するが、より詳細には、クライアント解生成部122Cは、例えば、ある初期値に対して決められた演算を行うことで解を得て、次いでその解に対して再び決められた演算を行うことで次の解を得て、次いでその解に対して再び決められた演算を行うことで次の解を得て…、という処理を繰り返すことで、連続して解を生成するものとすることができる。このような技術は、擬似乱数を生成するための技術として周知である。
解を生成するより具体的な方法について説明する。
解を生成するには、ある初期値(以下の、(a)、(c)のように2つ以上の場合もある)を用い、過去の値を所定の関数に代入することにより、新しい値を順次作るという方法を、解が必要となる度に実行すれば良い。そうすることにより、上記解を連続して生成することができる。この場合の解は、初期値依存性のある擬似乱数となる。
上述の解を作るのに使われる関数の例として、以下の(a)〜(c)を挙げる。以下の(a)〜(c)はいずれも、N番目の解であるXNを作るための式である。また、P、Q、R、Sは自然数である。
(a)(XN)=(XN−1)P+(XN−2)Q
(b)(XN)=(XN−1)P
(c)(XN)=(XN−1)P(XN−2)Q(XN-3)R(XN−4)S
(a)は、過去の解2つを用い、それらをそれぞれP乗とQ乗したものを足し合わせることにより、新しい解を生成する。なお、正確には、過去の解2つを用い、それらをP乗とQ乗したものを足し合わせると通常、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい解を生成する。
(b)は、過去の解1つを用い、それをP乗したものの桁数を上述のように整理したものを新しい解とするものである。
(c)は、過去の解4つを用い、それらをそれぞれP乗、Q乗、R乗、S乗したものの積を取り、その後上述したように桁数を整理したものを新しい解とするものである。
上述の(a)〜(c)は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の(a)〜(c)を順番に用いる等の変化を加えることも可能である。また、上述の解に、時間依存性を与えれば、つまりそのときの時刻に合わせた変化を加えるようにすることもできる。
いずれにせよ、サーバ200にあるサーバ解生成部と、クライアント解生成部122Cとは、上述の如く、解を同期させられるようにされている。
これには限られないが、この実施形態のクライアント解生成部122Cは上記(a)のアルゴリズムを用いて解を生成することとしている。その場合、新しい解を生成するには、初期値乃至過去の解が必要となる。解データ記録部122Dには当初初期値が記録されており、クライアント解生成部122Cが新しい解を生成するたびに、初期値が新しい解により上書きされ、その新しい解が更に新しい解により上書きされるようになっている。解データ記録部122Dには、このように初期値又は解が記録されており、クライアント解生成部122Cは新しい解を生成するたびに、解データ記録部122Dから新しい解を読みだすようになっている。
クライアント解生成部122Cは、また、解を生成した場合、それをクライアント第1暗号化復号化部122E又は出力部122Gに送るようになっている。
クライアント第1暗号化復号化部122Eは、復号化した共通鍵のデータを、クライアント第2暗号化復号化部122Fに送るようになっている。
クライアント第2暗号化復号化部122Fで行われる暗号化、復号化の処理は共通鍵を用いて行われる共通鍵方式の暗号化、復号化であればどのようなものでもよく、例えばSSLの本願の背景技術で述べた(3)の通信で用いられている公知或いは周知の手法をこれに応用することができる。例えば、クライアント第2暗号化復号化部122Fは、DES暗号法を実行するものとすることができる。
クライアント第2暗号化復号化部122Fは、アプリケーション121から送られてきたデータを暗号化したものを出力部122Gに送るようになっているとともに、サーバ200から送られてきた暗号化されたデータを復号化したものを出力部122Gに送るようになっている。
出力部122Gには、クライアント解生成部122Cから解が送られてくる場合があり、またクライアント第2暗号化復号化部122Fから、アプリケーション121から送られてきたデータをクライアント第2暗号化復号化部122Fで暗号化したものと、サーバ200から送られてきた暗号化されたデータをクライアント第2暗号化復号化部122Fで復号化したものとが送られてくる場合がある。
出力部122Gは、これらのうち、解と、アプリケーション121から送られてきたデータをクライアント第2暗号化復号化部122Fで暗号化したものとを送受信部123を介してインターフェイス114に送るようになっている。インターフェイス114に送られたこれらデータは、送受信機構、ネットワーク400を介してサーバ200に送られるようになっている。出力部122Gは、また、サーバ200から送られてきた暗号化されたデータをクライアント第2暗号化復号化部122Fで復号化したものをアプリケーション121に送るようになっている。それらデータは、アプリケーション121で使用される。
サーバ200は、ハードウェアとして見た場合には、既存の公知又は周知のサーバで構わない。また、そのハードウェア構成も一般的なものでよく、大雑把に言えば、CPU111、ROM112、RAM113、インターフェイス114をバス116で接続するという、クライアント100のハードウェア構成を踏襲することができる。もっとも、サーバ200は通常、HDDその他の大容量記録装置を有するのが一般的であろう。
サーバ200が備えるCPU、ROM、RAM、インターフェイス、バス、及び大容量記録装置の構成、機能は、クライアント100におけるそれらの構成、機能と変わらない。また、サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様の、サーバ200外の機器とネットワーク400を介しての通信を行うための送受信機構が接続されている。サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様のディスプレイ、入力装置が接続されていても構わないが、本願とはあまり関係がないのでその説明は省略する。
サーバ200内には、本願発明の機能との関係で、アプリケーション221と、暗号化復号化部222と、送受信部223とが生成される。
もっとも、これらのうちアプリケーション221は、クライアント100のブラウザに所望の画像を表示させるための公知のソフトウェア、クライアント100を操作するユーザの意思決定に基いてインターネットバンキングでの決済を実行するソフトウェア等であり、また、送受信部223はネットワーク400を介してのデータの送受信を行うソフトウェアであって、いずれもが本願発明でいうコンピュータプログラムの機能によって生成されるものではない。この事情は、クライアント100の場合と同様である。
アプリケーション221は、サーバ200からクライアント100に暗号化して送られるデータの元となる暗号化されていないデータを生成するものであり、またクライアント100からサーバ200へ暗号化して送られたデータを復号化してから使用するものである。そのようなものである限り、アプリケーション221は上で例示したものに限られない。アプリケーション221はインターフェイスと接続されており、インターフェイスを介して受取る入力装置からの操作内容に関するデータにしたがって、或いは予め作成されたプログラムにしたがって自動的に動作する。アプリケーション221はその動作の結果、暗号化してネットワーク400を介してクライアント100に送るべき平文のデータを生成する。このデータは暗号化復号化部222に送られるようになっている。アプリケーション221は、また、動作の結果、例えば画像データを生成する場合がある。画像データはインターフェイスに送られ、そこから、サーバ200のディスプレイに送られて画像を表示する。
また、送受信部223は、クライアント100等とネットワーク400を介して送受信を行う機能ブロックであって、例えば相手装置の宛先を決定したり、送信されるデータに所定の内容を書き込んだりという、公知、周知の機能を有している。送受信部223は、少なくともTCP/IPを用いてネットワーク400を介しての通信を行えるようになっている。送受信部223は、送受信機構がネットワーク400から受取ったデータをインターフェイスを介して受取る。送受信部223は、インターフェイスを介して送受信機構から受取ったデータを暗号化復号化部222へ送るようになっている。また、送受信部223は、暗号化復号化部222からデータを受取る場合がある。送受信部223はその暗号化復号化部222から受取ったデータをインターフェイスに送り、送受信機構からネットワーク400を介してクライアント100へ送るようになっている。
また、暗号化復号化部222には、入力装置から入力された操作内容についてのデータが、インターフェイスを介して入力される場合がある。
主制御部222Bは、共通鍵を保有しているか、新たに作り出す機能を有している。この実施形態では主制御部222Bは共通鍵を必要になる度に作ることができるようになっている。共通鍵を製造する方法は、周知又は公知技術によればよい。主制御部222Bは、上述の認証データを受取った場合、生成した共通鍵のデータをサーバ第1暗号化復号化部222Eに送るようになっている。
解データ記録部222Dには、新たな解を生成するためのデータ、つまり、クライアント100の解データ記録部122Dに記録されていたのと同様の初期値、或いは過去の解のデータが記録されている。もっとも、サーバ200は、多数のクライアント100の認証を行う必要がある。したがって、サーバ200は、各クライアント100を識別するためのデータ(この実施形態では各クライアント100のIPアドレスを、各クライアント100を識別するためのデータとして利用することとしているが、他のデータ例えば各クライアント100が販売された段階から各クライアント100に割り振られている、クライアント100の販売業者や認証を行うための組織等により厳格に管理されている各クライアント100にユニークな識別子等を、かかるデータとして利用することもできる。)と各クライアント100毎の新たな解を生成するためのデータとを、互いに紐付けた状態で記録している。つまり、この実施形態では、各クライアント100のクライアント解生成部122Cで連続して生成される解の列はそれぞれ異なるものとなっているが、サーバ200の側では、各クライアント100で生成されるそれぞれ異なる解の列と同じ解の列を、各クライアント100に対応して生成することができるようになっている。言い換えれば、サーバ200にあるサーバ解生成部222Cと、各クライアント100にあるクライアント解生成部222Cのそれぞれとは、解を同期させられるようにされている。
サーバ解生成部222Cは、解を生成した場合、それをサーバ第1暗号化復号化部222Eか又は認証部222Hに送るようになっている。解生成部222Cが解を認証部222Hに送るときには、解データ記録部222Dに記録されていたものであり、その解を生成する際に参照された、クライアント100を特定するためのデータをも認証部222Hに送るようになっている。
サーバ第1暗号化復号化部222Eは、暗号化していない共通鍵のデータを、サーバ第2暗号化復号化部222Fに送るようになっている。また、サーバ第1暗号化復号化部222Eは、暗号化した共通鍵のデータを出力部222Gに送るようになっている。
サーバ第2暗号化復号化部222Fで行われる暗号化、復号化の処理は共通鍵を用いて行われる共通鍵方式の暗号化、復号化であればどのようなものでもよいが、同じ共通鍵を用いた場合には、ここで暗号化されたデータはクライアント第2暗号化復号化部122Fで復号化でき、クライアント第2暗号化復号化部122Fで暗号化されたデータは、ここで復号化できるものとされる。
サーバ第2暗号化復号化部222Fは、アプリケーション221から送られてきたデータを暗号化したものを出力部222Gに送るようになっているとともに、クライアント200から送られてきた暗号化されたデータを復号化したものを出力部222Gに送るようになっている。
かかる認証が行われた場合には、認証部222Hは認証データを生成し、その認証データを主制御部222Bに送るようになっている。
出力部222Gには、サーバ第2暗号化復号化部222Fから、アプリケーション221から送られてきたデータをサーバ第2暗号化復号化部222Fで暗号化したものと、クライアント100から送られてきた暗号化されたデータをサーバ第2暗号化復号化部222Fで復号化したものとが送られてくる場合がある。
出力部222Gは、これらのうち、アプリケーション221から送られてきたデータをサーバ第2暗号化復号化部222Fで暗号化したものを、送受信部223を介してインターフェイスに送るようになっている。インターフェイスに送られたこれらデータは、送受信機構、ネットワーク400を介してクライアント100に送られるようになっている。出力部222Gは、また、クライアント100から送られてきた暗号化されたデータをサーバ第2暗号化復号化部222Fで復号化したものをアプリケーション221に送るようになっている。それらデータは、アプリケーション221で使用される。
かかる説明には、主に図8を用いる。
そのために、ユーザはまず、クライアント100上のアプリケーション121を立ち上げる(S1001)。ウェブサイトを閲覧するためのアプリケーション121であれば、通常は周知のブラウザを立ち上げることになろう。ユーザは、入力装置102を適宜操作してブラウザを立ち上げる。ブラウザを立ち上げるための操作内容は、入力装置102からインターフェイス114を介してアプリケーション121に送られる。それによりアプリケーション121が動作し、画像データがインターフェイス114を介してディスプレイ101に送られることにより、ブラウザがクライアント100のディスプレイ101上に表示される。
クライアント解生成部122Cが解を生成する方法は上述した通りである。クライアント解生成部122Cが解を生成するのが初めてなのであれば、クライアント解生成部122Cは解データ記録部122Dから初期値を読出し、また、解を生成するのが初めてでないのであれば、クライアント解生成部122Cは解データ記録部122Dから過去に生成した解を読みだす。そのいずれかに基いて、クライアント解生成部122Cは新たな解を生成する。生成された解は、クライアント解生成部122Cから、出力部122Gへ送られる。
解のデータは、送受信機構から、インターネットを介して、サーバ200に送られる(S1003)。なお、解のデータをクライアント100で暗号化してからサーバ200に送ることも可能であるが、この実施形態では暗号化しないままで解をサーバ200に送ることとしている。
主制御部222Bは、互いに紐付けた状態で解及びIPアドレスのデータを認証部222Hに送る。
他方、主制御部222Bは、そのIPアドレスのデータをサーバ解生成部222Cに送るとともに、サーバ解生成部222Cに解を生成せよとの指示を送る。これを受けたサーバ解生成部222Cは、解を生成する(S2002)。サーバ解生成部222Cは、解データ記録部222Dに記録されている各クライアント100についての新たな解を生成するためのデータ(初期値か過去の解のデータ)のうち、主制御部222Bから受取ったIPアドレスと紐付けられていたものを読みだす。そして、その初期値か過去の解のデータを用いて、既に述べた方法で新たな解を生成する。サーバ解生成部222Cは、生成した解と、その解を送ってきたクライアント100を特定するIPアドレスとをそれらを互いに紐付けた状態で認証部222Hへと送る。
上述したように、サーバ解生成部222Cで生成される解は、各クライアント100のクライアント解生成部122Cで生成される解と同期させられている。したがって、クライアント100が正当なものであれば、対比の対象となる上述の2つの解は一致するはずである。両者が一致した場合には、認証部222Hは、その解を送ってきたクライアント100が正当なものであると認証し、その旨を示す認証データを生成する(S2003)。
認証データは、それにより認証されたクライアント100のIPアドレスと紐付けた状態で、主制御部222Bへと送られる。2つの解が一致しなかったら、認証部222Hはクライアント100が正当でないという旨を主制御部222Bへ通知し、そこでクライアント100とサーバ200の間の通信を打ち切ることが可能であり、この実施形態ではそうしている。このときサーバ200はそのクライアント100に、クライアント100が認証されなかったということを通知するようになっていてももちろん良い。
主制御部222Bは、その共通鍵を、上記IPアドレスと紐付けた状態でサーバ第1暗号化復号化部222Eに送るとともに、新たな解を生成せよとの指示をサーバ解生成部222Cに送る。サーバ解生成部222Cは、少なくとも1つの解を生成する(S2004)。生成された解は、その解を生成する指示のきっかけとなったIPアドレスとともにサーバ第1暗号化復号化部222Eに送られる。ここで、サーバ解生成部222Cでどのような条件で解を生成するのか、例えば幾つの解を生成するのか、またそのうちのどれを(例えば、2番目に生成されたものを、或いは100番目に生成されたものを)サーバ第1暗号化復号化部222Eに送るのかは、予め決定されており、その情報はクライアント100と共有されている。
上述したように、サーバ第1暗号化復号化部222Eは、受取った共通鍵のデータを暗号化する(S2005)。かかる暗号化には、サーバ解生成部222Cから送られてきた解が使われる。共通鍵を暗号化する際に用いる解は、それらに互いに紐付けられたIPアドレスが同じものを選択すればよい。ここで、サーバ第1暗号化復号化部222Eで行われる暗号化は、暗号化の結果得られるデータが解に依存したものとなる。解の使い方は暗号化の結果得られるデータが解に依存する限りどのようなものでも良いが、例えば解を暗号化の鍵として用いてもよい。なお、このときその共通鍵のデータと紐付けられていたIPアドレスのデータは暗号化しない。
暗号化された共通鍵のデータは、暗号化される前の共通鍵のデータと紐付けられていたIPアドレスのデータとともに出力部222Gへと送られる。
他方、サーバ第1暗号化復号化部222Eは、暗号化していない状態の共通鍵のデータをサーバ第2暗号化復号化部222Fに送る。これにより、サーバ第2暗号化復号化部222Fは、共通鍵方式の暗号化通信を行うために必要となる共通鍵を持った状態となる。
入力部122Aは、暗号化された共通鍵のデータをクライアント第1暗号化復号化部122Eへと送る。他方、入力部122Aは、暗号化された共通鍵のデータを受取った旨の通知を主制御部122Bへ送る。これを受取った主制御部122Bは、クライアント解生成部122Cに対して新たな解を生成せよとの指示を送る。
ここで、クライアント解生成部122Cでどのような条件下で解を生成するのか、例えば幾つの解を生成するのか、また、そしてそのうちのどれを(例えば、2番目に生成されたものを、或いは100番目に生成されたものを)クライアント第1暗号化復号化部122Eに送るのかは、予め決定されており、その情報はサーバ200と共有されている。クライアント解生成部122Cは、共通の条件下ではサーバ解生成部222Cと共通の解を連続して生成できるものとなっているのであるから、結果として、サーバ第1暗号化復号化部222Eが共通鍵のデータを暗号化するのに使用する解としてサーバ解生成部222Cが生成してサーバ第1暗号化復号化部222Eに送った解とまったく同じ解が、クライアント解生成部122Cからクライアント第1暗号化復号化部122Eへと送られることになる。
この解を用いて、クライアント第1暗号化復号化部122Eは、暗号化された共通鍵のデータを復号化して、暗号化されていない共通鍵のデータに戻す(S1006)。クライアント第1暗号化復号化部122Eにおける復号化の処理は、解に依存するものであり、且つ同じ解を用いた場合には、サーバ解生成部222Cで暗号化されたデータを復号化して元の平文のデータに戻すことが可能な処理である。したがって、暗号化された共通鍵のデータは、サーバ200の主制御部222Bが生成した通りの共通鍵のデータに戻る。
そして、共通鍵のデータは、クライアント第1暗号化復号化部122Eから、クライアント第2暗号化復号化部122Fに送られる。これにより、クライアント第2暗号化復号化部122Fは、共通鍵方式の暗号化通信を行うために必要な共通鍵を持った状態となる。
つまり、以上の処理により、サーバ200におけるサーバ第2暗号化復号化部222Fと、クライアント100におけるクライアント第2暗号化復号化部122Fとは、共通の共通鍵を持った状態となる。この実施形態では、元々サーバ200内に存在した共通鍵がサーバ200からクライアント100に提供されている。そして、サーバ200からクライアント100に提供される暗号共通鍵は、サーバ200で暗号化してからクライアント100に提供される。サーバ200で共通鍵を暗号化するために、また、クライアント100で暗号化された共通鍵を復号化するために、サーバ200とクライアント100とでそれぞれ生成された同じ解が用いられている。しかも、その解は、サーバ200とクライアント100の内部にのみ存在し、ネットワーク400を介してサーバ200とクライアント100との間を送信されることがない。つまり、以上の処理においては、悪意の第三者から見れば、共通鍵を暗号化し、復号化するために必要な解を盗む機会がない。
かかる暗号化通信は、必要に応じてクライアント100からサーバ200に、或いはサーバ200からクライアント100に、暗号化したデータが送られることにより実現される(S1007、S2007)。
例えば、クライアント100のアプリケーション121で、暗号化してサーバ200に送るべきデータが生成され、そのデータがアプリケーション121から、暗号化復号化部122に送られる。暗号化復号化部122の入力部122Aがそのデータを受取ると、そのデータはクライアント第2暗号化復号化部122Fに送られ、そこで共通鍵を用いて暗号化される。暗号化されたそのデータは、出力部122Gから、送受信部123へ送られ、上述のようなヘッダを付す処理が必要に応じて行われた上で、インターフェイス114から送受信機構に送られ、そこからネットワーク400を介して、サーバ200に送られる。
サーバ200は、その送受信機構でそのデータを受取る。そのデータは、サーバ200の送受信機構からインターフェイスに送られ、そして送受信部223を経て、入力部222Aに送られる。その暗号化されたデータは、サーバ第2暗号化復号化部222Fで共通鍵を用いて復号化され、出力部222Gへと送られる。出力部222Gは復号化されたそのデータを、アプリケーション221に送り、アプリケーション221はそのデータを適宜用いる。
他方、サーバ200のアプリケーション221が、暗号化してクライアント100に送るべき平文のデータを生成する場合がある。アプリケーション221がそのようなデータを生成した場合、そのデータは、暗号化復号化部222中の入力部222Aに送られる。そのデータは、入力部222Aからサーバ第2暗号化復号化部222Fへと送られ、そこで共通鍵を用いて暗号化される。サーバ第2暗号化復号化部222Fで暗号化されたそのデータは、出力部222Gを介して送受信部223に送られる。送受信部223では、その暗号化されたデータにヘッダを付す上述の如き処理が必要に応じて行われる。かかる処理が行われたそのデータは、送受信部223からインターフェイスを介してサーバ200の送受信機構に送られ、そこからネットワーク400を介してクライアント100に送られる。
クライアント100は、その送受信機構でそのデータを受取る。そのデータは、クライアント100の送受信機構からインターフェイス114に送られ、そして送受信部123を経て、入力部122Aに送られる。その暗号化されたデータは、クライアント第2暗号化復号化部122Fで共通鍵を用いて復号化され、出力部122Gへと送られる。出力部122Gは復号化されたそのデータを、アプリケーション121に送り、アプリケーション121はそのデータを適宜用いる。
以上のようにして、サーバ200とクライアント100との間で共通鍵を用いた共通鍵方式の暗号化通信が行われる。
上述の暗号化通信において暗号化、復号化が行われるのは、サーバ200においては、アプリケーション221と、TCP/IPの通信を行う送受信部223との間にある暗号化復号化部222であり、クライアント100においては、アプリケーション121と、TCP/IPの通信を行う送受信部123との間にある暗号化復号化部122である。アプリケーションと、TCP/IPとの間で暗号化と復号化の処理を実行するというのは、従来からのSSL通信のプロトコルに共通するものであるので、この実施形態の発明を既存のSSL通信に応用するのは比較的簡単である。もっとも、本願発明は、暗号化と復号化の処理を必ずしも、アプリケーションと、TCP/IPとの間で行うには及ばない。
通信を行う必要がなくなれば、サーバ200とクライアント100との間の暗号化通信が終了する。
変形例1における通信システムについて説明する。
変形例1における通信システムは、概ね第1実施形態におけるそれと同様である。異なるのは、第1実施形態における通信システムにおけるクライアント100とサーバ200との間の通信では、通信する相手方が正当であるということについての認証を、サーバ200がクライアント100が正当であるということをサーバ200における認証部222Hで行うのみであったが、変形例1では、クライアント100も、サーバ200が正当であるということを認証するようにしている、という点である。
変形例1におけるサーバ200は、機能ブロックでいえば第1実施形態の場合と変わらないが、一部の機能ブロックの機能が第1実施形態の場合と異なる。サーバ200の各機能ブロックの機能のうちのどこが第1実施形態の場合と異なっているのかについては追って説明する。
かかる通信システムで実行される方法は、概ね第1実施形態の場合と同じであるので、その差分を中心として説明することにする(図10)。
まず、クライント100で実行される、第1実施形態におけるS1001〜S1003の処理、及びサーバ200で実行される、第1実施形態におけるS2001〜S2003までの処理は、変形例1でも同じである。
変形例1でも、サーバ200の認証部222Hで、クライアント100が正当であるとの認証が行われる(S2003)。かかる認証が行われると、変形例1でも、第1実施形態の場合と同様に認証データが生成される。
第1実施形態の場合、認証部222Hが認証データを生成すると、それは主制御部222Bに送られ、続けて新たな解の生成(S2004)の処理、新たな解を用いた共通鍵の暗号化(S2005)の処理が行われた。しかしながら、変形例1の場合には、認証部222Hが認証データを生成した後に、クライアント100でサーバ200を認証する処理が実行されることになる。
認証部222Hが認証データを生成すると、認証データは、その認証データを生成するきっかけとなった解を送って来たクライアント100を特定するためのIPアドレスとともに、主制御部222Bに送られる。認証データを受取ると、主制御部222Bは、その認証データとIPアドレスとをサーバ解生成部222Cに送るとともに、サーバ解生成部222Cに対して新たな解を生成せよとの指示を送る。以上のデータ及び指示を受けると、サーバ解生成部222CはそのIPアドレスについての解を少なくとも1つ生成し、生成した解の中の1つを出力部222Gに送る(S2003A)。この解は、追ってクライアント100でサーバ200の認証が行われるときに使用されるものである。サーバ200において、何番目の解がサーバ解生成部222Cから出力部222Gに送られるのかということ、つまり何番目の解がサーバ200の認証のためにクライアント100で使用されるのかということは、予め定められており、サーバ200とクライアント100との間で共有されている。新たに生成された解は、IPアドレスのデータとともに、サーバ解生成部222Cから出力部222Gへと送られる。
出力部222Gは、受取った解とIPアドレスのデータを、送受信部223に送る。送受信部223は、上述したようにヘッダを生成し、ヘッダの付された新たに生成された解のデータをインターフェイスを介してサーバ200の送受信機構に送る。新たに生成された解のデータは、サーバ200から、上記IPアドレスで特定されるクライアント100へと送られることになる(S2003B)。
具体的には、クライアント100は、その解のデータを、その送受信機構にて受取る。受取られた解のデータは、送受信機構から、インターフェイス114を介して送受信部123に送られ、入力部122Aに送られる。入力部122Aは、その解のデータを主制御部122Bに送る。
主制御部122Bは、サーバ200から送られてきた新たに生成された解を受取ると、それを認証部122Hに送るとともに、クライアント解生成部122Cに対して新たな解を生成せよとの指示を送る。かかる指示を受取るとクライアント解生成部122Cは、少なくとも1つの解を生成し、生成した解のいずれかを認証部122Hに送る(S1003B)。クライアント解生成部122Cが幾つの解を生成し、どの解をクライアント解生成部122Cに送るかという条件乃至それについての情報は、上述のようにサーバ200のサーバ解生成部222Cと共有されている。
この状態では、クライアント100の認証部122Hには、サーバ200から送られてきた解と、クライアント100のクライアント解生成部122Cで生成された解との双方が存在している。認証部122Hでは、それら2つの解を対比する。その結果、2つの解が一致した場合には認証部122Hは、その解を送ってきたサーバ200が正当なものであると認証する(S1003C)。繰り返しになるが、サーバ200のサーバ解生成部222Cとクライアント100のクライアント解生成部122Cとは、共通の条件下では共通の解を連続して生成することができるようになっている。したがって、連続して生成される解のうちどの解をサーバ200の認証に用いるのかという条件をサーバ200とクライアント100との間で共有しているのであれば、サーバ200が正当なものである限り、サーバ200から送られてきた解は、クライアント解生成部122Cで生成された解と一致するはずである。他方、悪意の第三者がサーバ200になりすまそうとしても、当該悪意の第三者はサーバ解生成部222Cでどのように解が生成されるかを知らないので、仮にクライアント100からサーバ200に先に送られたクライアント100で生成された解を不正に入手していたとしても、サーバ200からクライアント100へ送られた上述のサーバ解生成部222Cで生成された解と同じ解を生成することができない。つまり、クライアント100でサーバ200が適正なものか否かの認証を行う場合には、悪意のある第三者はサーバ200になりすますことが事実上不可能となる。
サーバ200が適正なものであると認証した場合、認証部122Hはその旨を示す情報であるクライアント認証データを生成する。クライアント認証データは主制御部122Bに送られ、そこから出力部122Gに送られる。クライアント認証データには主制御部122Bから出力部122Gに送られる間に特に処理を行う必要はないので、主制御部122Bから出力部122Gにクライアント認証データが送られる際のその経路は自由である。
出力部122Gはクライアント認証データを送受信部123に送る。送受信部123は、上述の如き処理により必要に応じてクライアント認証データに対してヘッダを付し、それをインターフェイス114からクライアント100の送受信機構に送る。クライアント認証データは、送受信機構からネットワーク400を介してサーバ200へと送られる(S1003D)。
かかるクライアント認証データは、クライアント認証データを送ってきたクライアント100のIPアドレスとともに、サーバ200の送受信機構から、インターフェイス、送受信部223を介して入力部222Aへと送られる。入力部222Aは、クライアント認証データを上記IPアドレスとともに主制御部222Bへ送る。
これを受取ると、主制御部222Bは共通鍵を生成する。主制御部222Bは、生成したその共通鍵を、受取った上記IPアドレスと紐付けた状態でサーバ第1暗号化復号化部222Eに送るとともに、新たな解を生成せよとの指示をサーバ解生成部222Cに送る。サーバ解生成部222Cは、少なくとも1つの解を生成する(S2004)。
変形例1におけるここから先の処理は、第1実施形態の場合と同様である。
第2実施形態における通信システムについて説明する。第2実施形態における通信システムの構成及び動作は概ね第1実施形態における通信システムにおけるそれらと同じである。第2実施形態の通信システムが第1実施形態における通信システムと異なるのは、第1実施形態では、サーバ200内に元々存在した共通鍵を、暗号化した状態でサーバ200からクライアント100へと提供することにより共通鍵をサーバ200とクライアント100とで共有することにしていたが、第2実施形態ではこれとは逆に、クライアント100内に元々存在している共通鍵を、暗号化した状態でクライアント100からサーバ200へと提供することにより共通鍵をサーバ200とクライアント100とで共有するようにしている、という点である。
その内部に生成される機能ブロック自体は、第1実施形態のクライアント100においても第2実施形態のクライアント100においても変わらない。同様に、その内部に生成される機能ブロック自体は、第1実施形態のサーバ200においても第2実施形態のサーバ200においても変わらない。もっとも、第2実施形態におけるクライアント100内の、或いはサーバ200内の機能ブロックの機能は、第1実施形態の場合のそれらと若干異なる場合がある。その相違については後述する。
かかる通信システムで実行される方法は、概ね第1実施形態の場合と同じであるので、その差分を中心として説明することにする(図13)。
まず、クライント100で実行される、第1実施形態におけるS1001〜S1003の処理、及びサーバ200で実行される、第1実施形態におけるS2001〜S2003までの処理は、第2実施形態でも同じである。
第2実施形態でも、サーバ200の認証部222Hで、クライアント100が正当であるとの認証が行われる(S2003)。かかる認証が行われると、第2実施形態でも、第1実施形態の場合と同様に認証データが生成される。
第1実施形態の場合、認証部222Hが認証データを生成すると、それは主制御部222Bに送られ、続けて新たな解の生成(S2004)の処理、新たな解を用いた共通鍵の暗号化(S2005)の処理が行われた。しかしながら、第2実施形態の場合には、認証部222Hが認証データを生成すると、認証データはクライアント100に送られ、クライアント100で共通鍵が暗号化されることになる。以下、詳述する。
出力部222Gに認証データが送られると、出力部222Gは認証データを送受信部223に送る。送受信部223は、上述の如きヘッダを必要に応じて生成し、ヘッダを付した認証データをインターフェイスを介してサーバ200の送受信機構に送る。送受信機構は、ネットワーク400を介して認証データをクライアント100へ送信する(S2008)。
認証データを受取ると、主制御部122Bは、共通鍵を生成するようになっている。第1実施形態では、サーバ200の主制御部222Bが共通鍵を生成する機能を有していたが、第2実施形態ではその機能をクライアント100の主制御部122Bに移している。したがって、クライアント100の主制御部122Bは、必要になる都度共通鍵を生成するようになっていても良いが、第1実施形態におけるサーバ200の主制御部222Bのように、当初から固定の共通鍵を持っているようにしてもよい。とりあえずこの実施形態における主制御部122Bは、必要になる都度、言い換えれば認証データを受取る都度、共通鍵のデータを生成することとしている。
生成された共通鍵のデータは、クライアント第1暗号化復号化部122Eへと送られる。他方、主制御部122Bは、クライアント解生成部122Cに対して、新たな解を生成せよとの指示を送る。かかる指示を受取ったクライアント解生成部122Cは、少なくとも1つの新たな解を生成する(S1009)。生成された解のうち予め定められたものが、クライアント解生成部122Cからクライアント第1暗号化復号化部122Eに送られる。かかる解は、上述の共通鍵を暗号化する際に、クライアント第1暗号化復号化部122Eで用いられるものである。そして、どの解が共通鍵を暗号化する際に用いられるかということは予め決定されており、且つその情報はサーバ200のサーバ第1暗号化復号化部222Eと共有されている。
いずれにせよ、クライアント第1暗号化復号化部122Eには、共通鍵のデータと、クライアント解生成部122Cが生成した解のデータが存在する状態となる。
暗号化された共通鍵のデータは、クライアント第1暗号化復号化部122Eから、出力部122Gへと送られる。かかる暗号化された共通鍵のデータは、出力部122Gから、送受信部123へと送られ、そこで上述した如きヘッダが必要に応じて付される。そして、ヘッダが必要に応じて付された暗号化された共通鍵のデータは、インターフェイス114からクライアント100の送受信機構に送られ、そこからネットワークを介してサーバ200へ送られる(S1011)。
他方、クライアント第1暗号化復号化部122Eは、暗号化していない共通鍵のデータを、クライアント第2暗号化復号化部122Fに送る。
それらを受取った主制御部222Bは、暗号化された共通鍵のデータを、サーバ第1暗号化復号化部222Eに送る。また、主制御部222Bは、受取ったIPアドレスのデータをサーバ解生成部222Cへと送るとともに、新たな解を生成せよとの指示をもサーバ解生成部222Cに送る。
IPアドレスのデータと上述の指示を受取ったサーバ解生成部222Cは、そのIPアドレスと紐付けられていた新たな解を生成するために必要な情報を解データ記録部222Dから読出し、それを用いて少なくとも1つの新しい解を生成して、それをサーバ第1暗号化復号化部222Eへと送る(S2010)。サーバ解生成部222Cが、新しく生成された解のデータのうちのどの解をサーバ第1暗号化復号化部222Eへと送るかは、上述したように、クライアント解生成部122Cとの間で共有された条件によって決定される。結果、悪意のある第三者による介入がなければ、クライアント解生成部122Cがクライアント第1暗号化復号化部122Eに送った解と、サーバ解生成部222Cがサーバ第1暗号化復号化部222Eに送った解とは完全に一致したものとなる。
以上により、サーバ第1暗号化復号化部222Eは、クライアント100から送られてきた暗号化された共通鍵のデータと、サーバ解生成部222Cで生成された解とを持った状態となる。サーバ第1暗号化復号化部222Eは、クライアント100から送られてきた暗号化された共通鍵のデータを、解を用いて復号化する(S2011)。かかる復号化の処理は、第1実施形態におけるクライアント第1暗号化復号化部122Eで行われた処理と、同様のものとなる。サーバ第1暗号化復号化部222Eは、同じ解を用いれば、クライアント100のクライアント第1暗号化復号化部122Eで暗号化されたデータを復号化できるものとなっており、且つクライアント第1暗号化復号化部122Eで共通鍵を暗号化するときに用いられた解と、サーバ第1暗号化復号化部222Eにサーバ解生成部222Cから送られてきた解とは、上述のように同一のものとなっている。したがって、サーバ第1暗号化復号化部222Eは、クライアント100から送られてきた暗号化された共通鍵のデータを、暗号化されていない元の共通鍵のデータに戻すことが可能である。
なお、以上の説明で明らかなように、第2実施形態のクライアント第1暗号化復号化部122Eとサーバ第1暗号化復号化部222Eでそれぞれ実行される処理は、第1実施形態の場合と逆転している。したがって、第1実施形態の場合とは逆に、第2実施形態におけるクライアント第1暗号化復号化部122Eは、暗号化の処理だけを行えれば足り、第2実施形態におけるサーバ第1暗号化復号化部222Eは、復号化の処理だけを行えれば足りる、といえる。
サーバ第1暗号化復号化部222Eは、復号化された共通鍵のデータをサーバ第2暗号化復号化部222Fに送る。
サーバ200におけるサーバ第2暗号化復号化部222Fと、クライアント100におけるクライアント第2暗号化復号化部122Fとが、共通の共通鍵を持った状態となったのであれば、サーバ200とクライアント100とは、従来のSSL通信の上記(3)の過程で実行していたと同様の暗号化通信を行えるようになる。かかる処理は、第1実施形態のS1007、S2007の処理に同じである。
次に、本願発明の第3実施形態について説明する。第3実施形態の通信システムは、本願における第3の態様とでもいうべき発明に相当するものである。
第3の発明は概ね第1実施形態の通信システムに同じであり、ネットワーク400に接続可能なクライアント100とサーバ200とから構成される。第3実施形態のクライアント100が備えるハードウェア構成、及びその内部に生成される機能ブロックは第1実施形態の場合と変わらず、サーバ200についても同様である。
かかる説明には、主に図14を用いる。
ユーザは、サーバ200が提供するウェブサイトを閲覧しようとする。サーバ200のウェブアドレスをユーザがブラウザ上で指定すると、クライアント解生成部122Cは、複数の解を生成する(S1102)。
複数の解の生成方法は、第1実施形態の場合と同様である。そのうちの1つの解は、クライアント第1暗号化復号化部122Eに送られる。また、主制御部122Bからサーバ第1暗号化復号化部122Eには共通鍵が送られる。クライアント第1暗号化復号化部122Eは、共通鍵を暗号化する(S1102)。かかる暗号化には、クライアント解生成部122Cから送られた解が用いられる。どの解がクライアント第1暗号化復号化部122Eに送られるか、即ちどの解がかかる暗号化に用いられるかは第1実施形態の場合と同様、サーバ第1暗号化復号化部222Eと共有されている。
他方、クライアント第1暗号化復号化部122Eは、暗号化していない状態の共通鍵を、クライアント第2暗号化復号化部122Fに送る。
複数生成された解のうちの、共通鍵を暗号化するために用いられなかったもの1つが、クライアント解生成部122Cから、出力部122Gに送られる。この解は後述するようにサーバ200に送られるが、ここで、どの解が出力部122Gに送られるか、ひいてはサーバ200に送られるかは、予め決定されており、その情報はサーバ200と共有されている。また、暗号化された共通鍵もクライアント第1暗号化復号化部122Eから出力部122Gに送られる。
出力部122Gに送られた解と暗号化された共通鍵のデータは、サーバ200に送られる(S1103)。それらの送信の仕方は第1実施形態に倣う。
解と暗号化された共通鍵のデータは、入力部222Aから、主制御部222Bに送られる。主制御部222Bは、解を認証部222Hに送るとともに、暗号化された共通鍵をサーバ第1暗号化復号化部222Eに送る。他方、主制御部222Bは、サーバ解生成部222Cに解を生成するように指示する。それにより、サーバ解生成部222Cは複数の解を生成する(S2102)。なお、解は、以下の認証と、暗号化された共通鍵の復号化が行われる前に少なくとも2つ存在していれば足り、必要となる都度生成されるようになっていてもよい。
生成された複数の解のうち、クライアント100からサーバ200へ送られてきた解と共通条件下(この実施形態では、同じ順番)で生成された解は、サーバ解生成部222Cから認証部222Hへ送られる。認証部222Hは、クライアント100から送られてきた解と、サーバ解生成部222Cから送られてきた解とを対比して、第1実施形態の場合と同様の方法で認証を行う。即ち、両者が一致した場合には、その解を送ってきたクライアント100が正当なものであるとの認証を行う(S2103)。
かかる認証が行われると次に、サーバ解生成部222Cからサーバ第1暗号化復号化部222Eに対して解が送られる。サーバ第1暗号化復号化部222Eは、サーバ解生成部222Cから送られた解を用いて暗号化された共通鍵を復号化する(S2104)。サーバ解生成部222Cからサーバ第1暗号化復号化部222Eに送られる解は、クライアント第1暗号化復号化部122Eで共通鍵を暗号化するために使用された解と共通条件下(この実施形態では同じ順番)で生成されたものである。したがって、クライアント第1暗号化復号化部122Eで共通鍵を暗号化する際に使われた解と、サーバ第1暗号化復号化部222Eが暗号化された共通鍵を復号化する際に使用する鍵とは、クライアント100が正当なものであるのであれば同じであるはずである。したがって、第三者による何らかの妨害がない限り、第1実施形態の場合と同様の理屈で、暗号化された共通鍵の鍵は復号化される。もっとも、暗号化された共通鍵の復号化がクライアント100の認証の前に行われても構わない。この場合には、暗号化された共通鍵が復号化できても、上述のクライアント100の認証ができなかった場合にはその復号化された共通鍵は使用されない。
サーバ第1暗号化復号化部222Eは復号化された共通鍵のデータをサーバ第2暗号化復号化部222Fに送る。
以上の処理により、サーバ200におけるサーバ第2暗号化復号化部222Fと、クライアント100におけるクライアント第2暗号化復号化部122Fとは、共通の共通鍵を持った状態となる。
101 ディスプレイ
102 入力装置
121 アプリケーション
122 暗号化復号化部
122A 入力部
122B 主制御部
122C クライアント解生成部
122D 解データ記録部
122E クライアント第1暗号化復号化部
122F クライアント第2暗号化復号化部
122G 出力部
122H 認証部
123 送受信部
221 アプリケーション
222 暗号化復号化部
222A 入力部
222B 主制御部
222C サーバ解生成部
222D 解データ記録部
222E サーバ第1暗号化復号化部
222F サーバ第2暗号化復号化部
222G 出力部
222H 認証部
223 送受信部
Claims (25)
- 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムで実行される通信方法であって、
前記第2通信装置が、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取る過程、
前記第1通信装置が、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理か、又は前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理の一方を行う過程、
前記第1通信装置が前記共通鍵を暗号化した場合には、前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信するとともに、暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、
前記第2通信装置が前記共通鍵を暗号化した場合には、前記第2通信装置から前記第1通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信するとともに、暗号化された前記共通鍵を受取った前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置と、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置で実行される通信方法であって、
前記第2通信装置が実行する、
その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理が実行された後に、前記第1通信装置から暗号化された前記共通鍵を前記ネットワークを介して受取る過程、
その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置で実行される通信方法であって、
前記第2通信装置が実行する、
その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置から前記第2通信装置が正当なものだと認証されたという通知を前記ネットワークを介して受取る過程、
前記通知を受取った後に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、
暗号化した共通鍵を、前記第1通信装置へと前記ネットワークを介して送信する過程、
前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置で実行される通信方法であって、
前記第1通信装置が実行する、
前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、
前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、
前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信する過程、
暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、暗号化された前記共通鍵を、前記第1通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置で実行される通信方法であって、
前記第1通信装置が実行する、
前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、
前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送る過程、
前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理を行った後に、前記第2通信装置から前記ネットワークを介して送信された暗号化された前記共通鍵を受取る過程、
その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、前記第2通信装置から受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いた暗号化を行うことができる第1通信装置第1暗号化復号化手段と、認証手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、を備えており、所定のネットワークと接続可能とされている第1通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第2通信装置であって、
前記第1通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第2通信装置解生成手段と、
前記第2通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第1通信装置第1暗号化復号化手段で行われるのと同じ復号化を行うことができる第2通信装置第1暗号化復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、
を備えており、
前記第2通信装置解生成手段で生成した解を前記ネットワークを介して前記第1通信装置に送るようになっているとともに、
前記第1通信装置は、前記第2通信装置から前記ネットワークを介して前記解を受取り、前記第1通信装置解生成手段で解を生成させ、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第1通信装置解生成手段が2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて自らが持つ共通鍵を前記第1通信装置第1暗号化復号化手段で暗号化する処理を実行して、暗号化された前記共通鍵を前記ネットワークを介して前記第2通信装置に送るようになっており、
前記第2通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第2通信装置解生成手段によって生成された解を用いて、前記第1通信装置から受取った暗号化された前記共通鍵を前記第2通信装置第1暗号化復号化手段で復号化するようになっており、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第1通信装置との間で共通鍵方式の暗号化通信を行うようになっている、
第2通信装置。 - 解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いた復号化を行うことができる第1通信装置第1暗号化復号化手段と、認証手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、を備えており、所定のネットワークと接続可能とされている第1通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第2通信装置であって、
前記第1通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第2通信装置解生成手段と、
前記第2通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第1通信装置第1暗号化復号化手段で行われるのと同じ暗号化を行うことができる第2通信装置第1暗号化復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、
を備えており、
前記第2通信装置解生成手段で生成した解を前記ネットワークを介して前記第1通信装置に送るようになっているとともに、
前記第1通信装置は、前記第2通信装置から前記ネットワークを介して前記解を受取り、前記第1通信装置解生成手段で解を生成させ、前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送るようになっており、
前記通知を前記第1通信装置から受けた前記第2通信装置の前記第2通信装置解生成手段が2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を前記第2通信装置第1暗号化復号化手段で暗号化するとともに暗号化された前記共通鍵を前記ネットワークを介して前記第1通信装置に送るようになっており、
前記第1通信装置は、前記第1通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第1通信装置との間で共通鍵方式の暗号化通信を行うようになっている、
第2通信装置。 - 解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いた復号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えており、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して第1通信装置に送るようになっている、所定のネットワークと接続可能とされている第2通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第1通信装置であって、
前記第2通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第1通信装置解生成手段と、
前記第1通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第2通信装置第1暗号化復号化手段で行われるのと同じ暗号化を行うことができる第1通信装置第1暗号化復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、
前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するようになっている認証手段と、
を備えており、
前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第1通信装置解生成手段が2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて自らが持つ共通鍵を前記第1通信装置第1暗号化復号化手段で暗号化する処理を実行して、暗号化された前記共通鍵を前記ネットワークを介して前記第2通信装置に送るようになっており、
前記第2通信装置は、前記第2通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第2通信装置解生成手段によって生成された解を用いて、前記第1通信装置から受取った暗号化された前記共通鍵を前記第2通信装置第1暗号化復号化手段で復号化するようになっており、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第2通信装置との間で共通鍵方式の暗号化通信を行うようになっている、
第1通信装置。 - 解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いた暗号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えており、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して第1通信装置に送るようになっている、所定のネットワークと接続可能とされている第2通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第1通信装置であって、
前記第2通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第1通信装置解生成手段と、
前記第1通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第2通信装置第1暗号化復号化手段で行われるのと同じ復号化を行うことができる第1通信装置第1暗号化復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、
前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するようになっている認証手段と、
を備えており、
前記第2通信装置が正当だとの認証が前記認証手段で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送るようになっており、
前記第2通信装置は、前記通知を前記第1通信装置から受けたら、前記第2通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を前記第2通信装置第1暗号化復号化手段で暗号化するとともに暗号化された前記共通鍵を前記ネットワークを介して前記第1通信装置に送るようになっており、
前記第1通信装置解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で前記第1通信装置解生成手段によって生成された解を用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第2通信装置との間で共通鍵方式の暗号化通信を行うようになっている、
第1通信装置。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理が実行された後に、前記第1通信装置から暗号化された前記共通鍵を前記ネットワークを介して受取る過程、
その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
その解生成手段で解を生成させ、その解を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証し、前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第1通信装置から前記第2通信装置が正当なものだと認証されたという通知を前記ネットワークを介して受取る過程、
前記通知を受取った後に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、
暗号化した共通鍵を、前記第1通信装置へと前記ネットワークを介して送信する過程、
前記第1通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、
前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する過程、
前記第1通信装置から前記第2通信装置に暗号化された前記共通鍵を前記ネットワークを介して送信する過程、
暗号化された前記共通鍵を受取った前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて暗号化された前記共通鍵を復号化することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記第2通信装置が、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、
前記第1通信装置の解生成手段で解を生成させ、前記第1通信装置の解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第2通信装置が正当だとの認証が前記第1通信装置で行われた場合に、前記第2通信装置を正当なものと認証したとの通知を前記ネットワークを介して前記第2通信装置に送る過程、
前記第2通信装置を正当なものと認証したとの通知を前記第1通信装置から受けた前記第2通信装置が、その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて自らが持つ共通鍵を暗号化する処理を行った後に、前記第2通信装置から前記ネットワークを介して送信された暗号化された前記共通鍵を受取る過程、
その解生成手段で2つ目或いはそれ以降の解を生成するとともに、2つ目以降の予め定められた条件下で生成された解を用いて、第2通信装置から受取った暗号化された前記共通鍵を復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置で実行される通信方法であって、
前記第2通信装置が実行する、
その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものと、を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するとともに、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置で実行される通信方法であって、
前記第1通信装置が実行する、
前記第2通信装置が、その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して送ってきた場合に前記解と暗号化された共通鍵とを受取る過程、
前記第1通信装置の解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、通信方法。 - 解を連続して生成することのできる第1通信装置解生成手段と、前記第1通信装置解生成手段で生成された解を用いた暗号化と復号化を行うことができる第1通信装置第1暗号化復号化手段と、認証手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、を備えており、所定のネットワークと接続可能とされている第1通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第2通信装置であって、
前記第1通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第2通信装置解生成手段と、
前記第2通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第1通信装置第1暗号化復号化手段で行われるのと同じ暗号化と復号化を行うことができる第2通信装置第1暗号化復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、
を備えており、
前記第2通信装置解生成手段で生成した複数の解のうちの1つと、前記第2通信装置解生成手段で生成した解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して前記第1通信装置に送るようになっているとともに、
前記第1通信装置は、前記第2通信装置から前記ネットワークを介して前記解と暗号化された前記共通鍵とを受取り、前記第1通信装置解生成手段で複数の解を生成させ、前記第1通信装置解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第1通信装置解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第1通信装置との間で共通鍵方式の暗号化通信を行うようになっている、
第2通信装置。 - 解を連続して生成することのできる第2通信装置解生成手段と、前記第2通信装置解生成手段で生成された解を用いた暗号化と復号化を行うことができる第2通信装置第1暗号化復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第2通信装置第2暗号化復号化手段と、を備えており、前記第2通信装置解生成手段で生成した解を前記ネットワークを介して第1通信装置に送るようになっている、所定のネットワークと接続可能とされている第2通信装置との組合せにより、暗号化通信システムを構成するための、前記ネットワークに接続可能とされた第1通信装置であって、
前記第2通信装置解生成手段で生成されたものと共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる第1通信装置解生成手段と、
前記第1通信装置解生成手段で生成された解を用いて、同じ解が用いられる場合には前記第2通信装置第1暗号化復号化手段で行われるのと同じ暗号化と復号化を行うことができる第1通信装置第1暗号化復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできる第1通信装置第2暗号化復号化手段と、
前記第1通信装置解生成手段で生成した解と、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するようになっている認証手段と、
を備えており、
前記第2通信装置が、前記第2通信装置解生成手段で生成した複数の解のうちの1つと、前記第2通信装置解生成手段で生成した解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して前記第1通信装置に送ってきた場合に、それらを受取るようになっているとともに、
前記第1通信装置解生成手段で複数の解を生成させ、前記第1通信装置解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記認証手段で前記第2通信装置を正当なものと認証するようになっているとともに、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を前記第1通信装置第1暗号化復号化手段で復号化するようになっており、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記第2通信装置第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記第2通信装置との間で共通鍵方式の暗号化通信を行うようになっている、
第1通信装置。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第2通信装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものと、を前記ネットワークを介して前記第1通信装置に送信する過程、
前記第1通信装置が、前記第2通信装置から前記ネットワークを介して前記解を受取り、その解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証するとともに、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から前記第1通信装置が受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する処理を実行することによって、前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第1通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 所定のネットワークにそれぞれ接続可能とされると共に、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできる解生成手段をともに備える第1通信装置と第2通信装置とを含んで構成される暗号化通信システムの前記第1通信装置として、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記第2通信装置が、その解生成手段で複数の解を生成させ、その解のうちの1つと、その解のうちの他の1つを用いて自らが持つ共通鍵を暗号化したものとを前記ネットワークを介して送ってきた場合に前記解と暗号化された共通鍵とを受取る過程、
前記第1通信装置の解生成手段で複数の解を生成させ、前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた解が前記第2通信装置の解生成手段で生成されたときと共通条件下で生成されたものと、前記第2通信装置から受取った解とを比較して、両者が一致した場合には、前記第2通信装置を正当なものと認証する過程、
前記第1通信装置の解生成手段で生成した解であって前記第2通信装置から送られてきた暗号化された前記共通鍵を暗号化する際に使用された解が前記第2通信装置の解生成手段で生成されたときと共通条件下で作成されたものを用いて、前記第2通信装置から受取った暗号化された前記共通鍵を、前記第2通信装置が前記共通鍵を暗号化したのと同じアルゴリズムを用いて復号化する過程、
以上により前記第1通信装置と前記第2通信装置で共有されることになった前記共通鍵を用いて、前記第2通信装置との間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 前記第1通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、
前記第2通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いる、
請求項2記載の通信方法。 - 前記第2通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、
前記第1通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いる、
請求項3記載の通信方法。 - 前記第1通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、
前記第2通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いる、
請求項4記載の通信方法。 - 前記第2通信装置が、自らが持つ共通鍵を暗号化する処理を実行するために、その解生成手段で生成された解を複数用いるとともに、
前記第1通信装置が、暗号化された前記共通鍵を復号化する処理を実行するために、その解生成手段で生成された解を複数用いる、
請求項5記載の通信方法。 - 前記共通鍵方式の暗号化通信を行う場合の暗号化と復号化を、第2通信装置を構成する前記コンピュータ上における、前記コンピュータ上で実行される暗号化の対象となる平文のデータを扱う所定のアプリケーションと、TCP/IPとの間で実行させるようになっているとともに、
前記アプリケーションで生成された平文を暗号化してから前記第1通信装置に送信するために前記TCP/IPに渡し、前記TCP/IPから渡された前記第1通信装置から送られてきた暗号化されたデータを平文に復号化してから前記アプリケーションに渡すようになっている、
請求項10、11又は18記載のコンピュータプログラム。 - 前記共通鍵方式の暗号化通信を行う場合の暗号化と復号化を、第1通信装置を構成する前記コンピュータ上における、前記コンピュータ上で実行される暗号化の対象となる平文のデータを扱う所定のアプリケーションと、TCP/IPとの間で実行させるようになっているとともに、
前記アプリケーションで生成された平文を暗号化してから前記第2通信装置に送信するために前記TCP/IPに渡し、前記TCP/IPから渡された前記第2通信装置から送られてきた暗号化されたデータを平文に復号化してから前記アプリケーションに渡すようになっている、
請求項12、13又は19記載のコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016153699A JP2018023029A (ja) | 2016-08-04 | 2016-08-04 | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム |
US16/322,508 US20190238334A1 (en) | 2016-08-04 | 2017-08-04 | Communication system, communication client, communication server, communication method, and program |
EP17837092.0A EP3496328A4 (en) | 2016-08-04 | 2017-08-04 | COMMUNICATION SYSTEM, COMMUNICATION CLIENT, COMMUNICATION SERVER, COMMUNICATION PROCEDURE AND PROGRAM |
PCT/JP2017/028391 WO2018025991A1 (ja) | 2016-08-04 | 2017-08-04 | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016153699A JP2018023029A (ja) | 2016-08-04 | 2016-08-04 | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018023029A true JP2018023029A (ja) | 2018-02-08 |
Family
ID=61073357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016153699A Pending JP2018023029A (ja) | 2016-08-04 | 2016-08-04 | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20190238334A1 (ja) |
EP (1) | EP3496328A4 (ja) |
JP (1) | JP2018023029A (ja) |
WO (1) | WO2018025991A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108780548B (zh) | 2016-02-23 | 2022-08-05 | 区块链控股有限公司 | 将椭圆曲线加密用于个人装置安全以共享秘密 |
MX2018010048A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Sistema universal de tokenizacion para criptomonedas basadas en cadena de bloques. |
SG11201806784UA (en) | 2016-02-23 | 2018-09-27 | Nchain Holdings Ltd | System and method for controlling asset-related actions via a blockchain |
CN116739778A (zh) | 2016-02-23 | 2023-09-12 | 区块链控股有限公司 | 具有令牌化的基于区块链的交换 |
US11308486B2 (en) | 2016-02-23 | 2022-04-19 | nChain Holdings Limited | Method and system for the secure transfer of entities on a blockchain |
WO2017145006A1 (en) | 2016-02-23 | 2017-08-31 | nChain Holdings Limited | Agent-based turing complete transactions integrating feedback within a blockchain system |
AU2017222470B2 (en) | 2016-02-23 | 2023-01-12 | nChain Holdings Limited | Tokenisation method and system for implementing exchanges on a blockchain |
CN109314636B (zh) | 2016-02-23 | 2022-01-11 | 区块链控股有限公司 | 用于从区块链中安全提取数据的密码方法和系统 |
JP6515246B2 (ja) * | 2016-02-23 | 2019-05-15 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定 |
CN114282928A (zh) | 2016-02-23 | 2022-04-05 | 恩链控股有限公司 | 基于区块链系统结合钱包管理系统的加密密钥存储和转移 |
SG11201806713SA (en) | 2016-02-23 | 2018-09-27 | Nchain Holdings Ltd | Blockchain-implemented method for control and distribution of digital content |
MX2018010056A (es) | 2016-02-23 | 2019-01-21 | Nchain Holdings Ltd | Un metodo y sistema para asegurar software de computadora usando un cuadro hash distribuido y una cadena de bloques. |
JP6511201B1 (ja) | 2016-02-23 | 2019-05-15 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | ブロックチェーンにより施行される洗練された取引のためのレジストリ及び自動管理方法 |
BR112018016805A2 (pt) | 2016-02-23 | 2018-12-26 | Nchain Holdings Ltd | método e sistema para transferência eficiente de criptomoeda associada com um pagamento em um blockchain que leva a um pagamento automatizado, método e sistema com base em contratos inteligentes |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749839A (ja) * | 1993-08-06 | 1995-02-21 | Nri & Ncc Co Ltd | カオスを利用した認証システム、認証装置、被認証装置、および認証方法 |
JP2003218866A (ja) * | 2002-01-28 | 2003-07-31 | Communication Research Laboratory | 認証システム、認証装置、被認証装置、認証方法、被認証方法、プログラム、ならびに、情報記録媒体 |
JP2008234048A (ja) * | 2007-03-16 | 2008-10-02 | Quality Kk | 電子ファイル管理システムおよび電子ファイル管理プログラム |
JP2009177684A (ja) * | 2008-01-28 | 2009-08-06 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム |
JP2009253650A (ja) * | 2008-04-04 | 2009-10-29 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2015072511A (ja) * | 2013-10-01 | 2015-04-16 | さくら情報システム株式会社 | ワンタイムパスワード装置、方法及びプログラム |
JP2015130633A (ja) * | 2014-01-08 | 2015-07-16 | パナソニックIpマネジメント株式会社 | 認証システム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5839125B2 (ja) * | 2012-07-23 | 2016-01-06 | 富士通株式会社 | ノードおよび通信方法 |
CZ2013373A3 (cs) * | 2013-05-22 | 2014-12-03 | Anect A.S. | Způsob autentizace bezpečného datového kanálu |
-
2016
- 2016-08-04 JP JP2016153699A patent/JP2018023029A/ja active Pending
-
2017
- 2017-08-04 EP EP17837092.0A patent/EP3496328A4/en not_active Withdrawn
- 2017-08-04 US US16/322,508 patent/US20190238334A1/en not_active Abandoned
- 2017-08-04 WO PCT/JP2017/028391 patent/WO2018025991A1/ja unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0749839A (ja) * | 1993-08-06 | 1995-02-21 | Nri & Ncc Co Ltd | カオスを利用した認証システム、認証装置、被認証装置、および認証方法 |
JP2003218866A (ja) * | 2002-01-28 | 2003-07-31 | Communication Research Laboratory | 認証システム、認証装置、被認証装置、認証方法、被認証方法、プログラム、ならびに、情報記録媒体 |
JP2008234048A (ja) * | 2007-03-16 | 2008-10-02 | Quality Kk | 電子ファイル管理システムおよび電子ファイル管理プログラム |
JP2009177684A (ja) * | 2008-01-28 | 2009-08-06 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、それらで実行される方法、並びにプログラム |
JP2009253650A (ja) * | 2008-04-04 | 2009-10-29 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2015072511A (ja) * | 2013-10-01 | 2015-04-16 | さくら情報システム株式会社 | ワンタイムパスワード装置、方法及びプログラム |
JP2015130633A (ja) * | 2014-01-08 | 2015-07-16 | パナソニックIpマネジメント株式会社 | 認証システム |
Also Published As
Publication number | Publication date |
---|---|
US20190238334A1 (en) | 2019-08-01 |
WO2018025991A1 (ja) | 2018-02-08 |
EP3496328A4 (en) | 2020-03-18 |
EP3496328A1 (en) | 2019-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018025991A1 (ja) | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム | |
KR101999188B1 (ko) | 비밀 공유를 위한 타원 곡선 암호를 사용하는 개인용 장치 보안 | |
US8132020B2 (en) | System and method for user authentication with exposed and hidden keys | |
WO2018030289A1 (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
JPWO2007066542A1 (ja) | 認証システム及び認証方法 | |
US20170118015A1 (en) | Method for managing smart home environment, method for joining smart home environment and method for connecting communication session with smart device | |
KR20130131682A (ko) | 웹 서비스 사용자 인증 방법 | |
KR100860573B1 (ko) | 사용자 인증 방법 | |
US11438316B2 (en) | Sharing encrypted items with participants verification | |
Lee et al. | Two factor authentication for cloud computing | |
CN108599926A (zh) | 一种基于对称密钥池的HTTP-Digest改进型AKA身份认证系统和方法 | |
JP5324813B2 (ja) | 鍵生成装置、証明書生成装置、サービス提供システム、鍵生成方法、証明書生成方法、サービス提供方法およびプログラム | |
CN110866754A (zh) | 一种基于动态口令的纯软件dpva身份认证方法 | |
CN106230840A (zh) | 一种高安全性的口令认证方法 | |
EP3292654A1 (en) | A security approach for storing credentials for offline use and copy-protected vault content in devices | |
TW202231014A (zh) | 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組 | |
Mishra et al. | Authenticated content distribution framework for digital rights management systems with smart card revocation | |
JP6165044B2 (ja) | 利用者認証装置、システム、方法及びプログラム | |
Tsai et al. | Cloud encryption using distributed environmental keys | |
CN112751858B (zh) | 数据加密通信终端方法、装置、终端、服务器及存储介质 | |
Guo et al. | 2FA Communication Protocol to Secure Metro Control Devices | |
Pérez | Working from Home and Data Protection | |
JP2008165612A (ja) | 認証システム、認証装置、認証方法、ユーザ装置、およびデータ処理方法 | |
Haunts et al. | Final Summary | |
WO2018079708A2 (ja) | 送受信システム、送信装置、受信装置、方法、コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190805 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191023 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20191220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200225 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20200526 |