JP6627043B2 - Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム - Google Patents
Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP6627043B2 JP6627043B2 JP2016155832A JP2016155832A JP6627043B2 JP 6627043 B2 JP6627043 B2 JP 6627043B2 JP 2016155832 A JP2016155832 A JP 2016155832A JP 2016155832 A JP2016155832 A JP 2016155832A JP 6627043 B2 JP6627043 B2 JP 6627043B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- client
- solution
- certificate
- encryption
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims description 173
- 238000000034 method Methods 0.000 title claims description 116
- 238000004590 computer program Methods 0.000 title claims description 47
- 230000005540 biological transmission Effects 0.000 claims description 81
- 230000008569 process Effects 0.000 claims description 50
- 230000007246 mechanism Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 30
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L9/3247—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 involving digital signatures
-
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- 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/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or 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
-
- 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
- H04L9/3263—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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Description
暗号化通信の技術の1つとしてSSL(secure sockets layer)と呼ばれる技術が実用化されている。なお、本願でSSLと言う場合には、SSLを標準化したものであるTLS(transport layer security)も当然にSSLに含まれる。
この例では、クライアントとサーバ間でSSL通信が実行されるものとする。
(1)前提処理
a.サーバは、一対の秘密鍵と公開鍵を生成する。秘密鍵と公開鍵とは、周知のように、そのいずれもが平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、それらの他方で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。他方、サーバには、自己の正当性を相手方が確認するためのデータであるサーバ証明書であって、自己の公開鍵を含み、且つそのサーバ証明書の正当性を示すための電子署名が付されているものがインストールされる。なお、サーバ証明書の電子署名のみではサーバ証明書の、ひいてはサーバの正当性を立証できない場合には、サーバ証明書の電子署名の正当性を示すための、その電子署名を行った認証局(後述)よりも更に上位の認証局(ルート認証局を含む)によるSSL証明書(ルート証明書を含む)もサーバにインストールされる。
b.クライアントは、共通鍵を準備する。共通鍵は、周知のように、平文のデータを暗号化して暗号化データとすることが可能なものであるとともに、同じ共通鍵で暗号化された暗号化データを復号化して平文のデータに戻すことができるものとされる。
c.クライアントには、SSL証明書(ルート証明書を含む)がインストールされる。SSL証明書は、認証局が作成したものである。認証局は、上述のサーバ証明書を作成する者でもあり、サーバ証明書に電子署名を付す者でもある。クライアントは、SSL証明書とサーバ証明書に付された電子署名の組合せにより、サーバ証明書の正当性を確認することができる。
(2)サーバとクライアントでの共通鍵の共有
a.クライアントがサーバにSSL通信の要求を行う。
b.サーバがクライアントに対して上記サーバ証明書を送信する。場合によってはこのとき、SSL証明書も同時に送られる。上述のように、サーバ証明書には、サーバが用いる公開鍵が含まれ、電子署名が付されている。
c.クライアントは、自己が所有するSSL証明書とサーバ証明書に付された電子署名とを用いてサーバ証明書の正当性を検証し、サーバ証明書が正当であれば自分が通信しているサーバが正当であると認証し、サーバ証明書が不当であればサーバが正当であるとの認証を行わない。サーバ証明書に付された電子署名の正当性をそれ単独では評価できない場合には、クライアントはサーバ証明書に付された電子署名の正当性を示すサーバ証明書からのSSL証明書に付された電子署名の正当性を、自己の持つSSL証明書により立証できるか試み、それができた場合のみサーバが正当であるとの認証を行う。
d.クライアントはサーバを認証した場合には、自己が所有する共通鍵を、サーバから受取ったサーバ証明書に含まれていた公開鍵で暗号化して、サーバに送る。
e.サーバは、クライアントから受取った暗号化された共通鍵を自己が所有する秘密鍵で復号化する。これにて、クライアントの共通鍵は、クライアントとサーバで共有されることになる。
(3)サーバとクライアント間での暗号化通信
サーバとクライアントとはともに、自分が持つ共通鍵で暗号化した暗号化データを相手方に送る。サーバとクライアントはともに、相手から受取った暗号化データを自分が持つ共通鍵で復号化する。これにて、サーバとクライアントとの間では暗号化通信が可能となる。
乱暴であることを承知で言うと、SSL通信で実行したいのは、上記(3)のサーバとクライアント間での暗号化通信のみである。これを、共通鍵を用いて行いたいというのがSSL通信の要点である。なぜ共通鍵でかかる暗号化通信を行いたいかといえば、共通鍵での暗号化通信は、特に公開鍵と秘密鍵とを用いた暗号化通信に較べてその処理が格段に軽いからである。
もっとも、そのためには、共通鍵をサーバとクライアントとの間で共有しなければならない。それを実現するために、サーバが持つ公開鍵と秘密鍵とを用いてクライアントからサーバに共通鍵が送信されるというのが、SSL通信についての上記(2)の処理である。公開鍵と秘密鍵を使った暗号化通信では、暗号化と復号化に用いられる鍵が上述のように異なる。したがって、公開鍵で暗号化されたクライアントの共通鍵が仮に、クライアントからサーバに送られている途中で悪意のある第三者に盗まれたとしても、当該第三者は秘密鍵を持たないのでクライアントの共通鍵そのものが第三者に盗まれるということはない。この結果には、公開鍵が公開されていることはまったく影響しない。
クライアントから第三者に共通鍵を送る際には、上述したように、サーバからクライアントに送られてきた公開鍵が用いられる。しかしながら、ここでその公開鍵自体の正当性、ひいては公開鍵を送って来た者(サーバ)の正当性が問題となる。たとえば、悪意のある第三者が公開鍵をクライアントに送ってくることがあるからである。公開鍵乃至それを送ってきた者の正当性を担保するのが、SSL通信についての上記(1)、(2)の処理である。これら処理により、クライアントが、サーバの正当性を確認(認証)することで、SSL通信の正当性が保証されることになる。
そのようなことが生じる原因は複数あるが、例えば、クライアントにある上述したSSL証明書が例えばハッキングや、コンピュータウィルスを用いる等の手法によって改竄されることがその一因となる。また、ルート証明書には通常有効期限があるにもかかわらず、多くのユーザは自らのクライアントにおいてルート証明書の更新をしていない。そうすると、クライアント内にあるルート証明書は改竄されたのと同様の状態となることがあり得る。サーバの管理者は、サーバ証明書、SSL証明書に対する第三者からの攻撃に十分に備えるだけの技術を備えていることが多く、また、サーバの管理者はルート証明書の更新を正しく行うのが通常なので、上述の如き問題は主にクライアント側の問題となる。
クライアントにおけるルート証明書が改竄された場合には、悪意のある第三者は、改竄されたSSL証明書によって自らの正当性がクライアントにおいて認証されるような偽のサーバ証明書を自ら作り、ユーザが正当なサーバへとSSL通信の要求を行ったときに、正当なサーバになりすまして、クライアントと正当なサーバとの間に入り込んでその要求を受取る。そしてその正当なサーバになりすました偽のサーバは、自らが作った、偽のサーバ証明書をクライアントへと送信する。そうするとクライアントは、改善されたルート証明書を使ってその偽のサーバ証明書を正当なものと判断し、ひいては偽のサーバを正当なものと認証する。そうすると、クライアントは自らが持つ共通鍵を偽のサーバ証明書に含まれていた偽の公開鍵で暗号化して、偽のサーバへと送信する。それを受取った偽のサーバは自らが持つ上述の偽の公開鍵と対となった秘密鍵でその暗号化された共通鍵を復号化する。これをもって、クライアントが持っていた共通鍵は、悪意の第三者の手に渡るのである。以降においては、そのクライアントとサーバとの間の通信が仮に共通鍵による暗号化通信であったとしても、その暗号化通信のために必要な共通鍵を所有している悪意の第三者は、その解読を自由に行えるようになる。
このような、クライアントとサーバの間に悪意の第三者が入り込んで行う攻撃を中間者攻撃(man-in-the-middle attack:MITMA)と称するが、他の暗号化通信の場合と同様、SSLの場合にもこれを防げていない。
上述したようにSSL通信では最終的に共通鍵方式の通信を行うが、それに先立って、クライアントが持つ共通鍵をどうやって安全にサーバに配送するのかという点が問題となる。SSL通信では上述のように、秘密鍵方式の暗号化通信を初段に用い、且つサーバ証明書とルート証明書とを用いた認証技術を組合せることで、クライアントが持つ共通鍵を安全にサーバに配送せんとしているが、その試みは上述のように、完璧に成し遂げられているとは言えないのである。
つまり従来のSSL通信では、サーバ証明書等を用いてクライアントがサーバの適正さの認証を行っている。しかしながら、上述のようにクライアントは悪意ある第三者からの攻撃を完全に防ぐのは難しい。他方、従来のSSL通信ではサーバは、クライアントの適正さの認証を行っていない。これこそが、上述の問題が発生する原因だと本願発明者は考えている。
クライアントよりは、第三者からの攻撃に強いサーバの方がかかる認証を正しく行える可能性が高いと思われるし、また、サーバの方がクライアントよりも相手方の認証を正しく行える可能性が高いかどうかをひとまず置くとしても、クライアントとサーバの双方が相手方の認証を行った方が通信の安全性が高まるのは自明であろう。したがって、サーバにおいても、クライアントの認証を行うべきだというのが本願発明者の考えである。しかしながら、従来のSSLは、サーバ証明書、ルート証明書等を用いてサーバの認証を行うという方向で長年発展してきているため、かかる仕組みを変える或いは壊すのはあまりにも手間、コストがかかる。他方、かかる仕組みに簡単に応用することができるサーバにおけるクライアントの認証の仕組みというのは今のところ提案されていない。
本願発明者が提案する本願発明は、そのような仕組みに関する。
本願発明は、所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、を含んで構成されるSSL通信システムで実行されるSSL通信方法である。かかる通信方法は、現在普及しているSSL通信の進化版或いは改良版と捉えることができる。なお、本願におけるネットワークは、典型的にはインターネットである。
そして、本願発明は、以下の過程を含む。
本願発明は、前記クライアントが、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信する過程、前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取る過程、前記サーバが、その解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証する過程、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信する過程、前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取る過程、前記クライアントが、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、前記サーバ証明書が正当なものと認証された場合に、前記クライアントが、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、前記クライアントが、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、前記サーバが、前記暗号化された共通鍵を受取る過程、前記サーバが、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバと、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程、を含んでいる。
本願発明における上述の過程のうちの最後の過程、つまり、「以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバと、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程」は、現在のSSL通信の場合における(3)の処理に相当する。
また、本願発明に含まれる各過程のうち、最後の過程の前に位置する「前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取る過程、」、「前記クライアントが、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、」、「前記サーバ証明書が正当なものと認証された場合に、前記クライアントが、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、」、「前記クライアントが、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、」、「前記サーバが、前記暗号化された共通鍵を受取る過程、」、「前記サーバが、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、」という過程は、現在のSSL通信の場合における(2)のb〜eに相当する。
現在のSSL通信と共通する上述の過程は、必ずしもそうする必要はないが、現在用いられているSSL通信における処理を、完全に踏襲することが可能である。特に、現在非常に大きな金銭が動くビジネスとして大きく広まっている公開鍵が埋め込まれたサーバ証明書、或いはサーバ証明書の正当性を判断するためのSSL証明書(ルート証明書を含む)をそのまま使用するということまで考慮すれば、本願発明は、現在のSSL通信と親和性が高く、現在のSSL通信に応用するのが容易である。
他方、本願発明は、そのセキュリティ性が高い。その理由について説明する。
本願発明では、クライアントが、その解生成手段で解を生成させ、その解を前記ネットワークを介してサーバに送信する。その解はサーバにより受取られる。この解は、サーバにおけるクライアントの認証に使用される。
具体的には、サーバは、クライアントから解を受取ると、その解生成手段でクライアントの解生成手段で解が生成されたのと同一条件下で解を生成させる。そして、サーバの解生成手段で生成した解と、クライアントから受取った解とを比較して、両者が一致した場合には、クライアントを正当なものと認証する。上述したように、サーバとクライアントにある解生成手段は、少なくとも、共通条件下で生成されたもの同士を比較すれば同じものとなる解を連続して生成することのできるものである。したがって、解を生成する際の条件が、サーバとクライアントとの間で、或いはサーバの解生成手段とクライアントの解生成手段との間で共有されているのであれば、サーバの解生成手段とクライアントの解生成手段とは、同じ解を生成することができ、言葉を変えれば生成される解を同期させることができる。
本願発明では、そのような解の同期がなされていれば、クライアントは正当なものであると認証するわけである。
サーバにおけるクライアントの正当性の認証は、従来のSSL通信の場合と同様に、サーバ証明書とSSL証明書とによって行える。解生成手段という簡単な仕組みをサーバとクライアントに配し、サーバによるクライアントの認証をも行うことにより、SSL通信は、サーバとクライアントとが双方向で相手方を認証できるものに進化する。しかも、サーバとクライアントとがどのような条件下で解を生成するのかということは、基本的に悪意の第三者にはわからない。したがって、本願のこのSSL通信による暗号化通信は、従来よりもより安全性の高いものとなる。
その方法は例えば、所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、を含んで構成される暗号化通信システムの前記クライアントで実行されるSSL通信方法である。
そしてこの通信方法は、前記クライアントが実行する、以下の過程を含む。
その過程は、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信する過程、前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取り、その解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するとともに、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信した場合に、前記サーバ証明書及び前記SSL証明書を受取る過程、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、前記サーバ証明書が正当なものと認証された場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、前記サーバが、前記暗号化された共通鍵を受取り、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する処理を実行することにより前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバとの間で、共通鍵方式の暗号化通信を行う過程、である。
その方法は例えば、所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、を含んで構成される暗号化通信システムの前記サーバで実行されるSSL通信方法である。
そしてこの通信方法は、前記サーバが実行する、以下の過程を含む。
その過程は、前記クライアントが、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、前記サーバの解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証する過程、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信する過程、前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取り、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書を正当なものと認証した場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化して、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する処理を行った場合に、前記暗号化された共通鍵を受取る過程、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程、である。
クライアントは例えば、所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできるサーバ解生成手段と、公開鍵による暗号化がなされたデータに対して秘密鍵による復号化を行うことができる秘密鍵復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるサーバ第2暗号化復号化手段と、を有しているものと、の組合せにより、SSL暗号化通信システムを構成するための、前記ネットワークに接続可能とされたクライアントである。
そして、クライアントは、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバ解生成手段で生成されたものと同じものとなる解を連続して生成することのできるクライアント解生成手段と、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みることのできるクライアント認証手段と、前記公開鍵を用いて暗号化を行うことのできる公開鍵暗号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるクライアント第2暗号化復号化手段と、を備えている。
そして、このクライアントは、前記クライアント解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信するようになっており、前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取り、前記サーバ解生成手段で前記クライアント解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバ解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するとともに、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信した場合に、前記サーバ証明書及び前記SSL証明書を受取るようになっており、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記クライアント認証手段が前記サーバから送られてきた前記サーバ証明書を正当なものと認証した場合には、前記公開鍵暗号化手段は、前記クライアントが持つ共通鍵を暗号化するようになっているとともに、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信するようになっており、前記サーバが、受取った前記暗号化された共通鍵を前記秘密鍵を用いて前記秘密鍵復号化手段により復号化するようになっており、以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバ第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記クライアント第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記サーバとの間で共通鍵方式の暗号化通信を行うようになっている。
その場合、前記サーバは、前記サーバ解生成手段で生成された解を用いた暗号化を行うことができるサーバ第1暗号化復号化手段を備えているとともに、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信するに先立って、前記サーバ解生成手段で予め定められた条件下で2つ目或いはそれ以降の解を生成するとともに、前記サーバ解生成手段で生成された前記解を用いて、前記サーバ第1暗号化復号化手段により、前記サーバ証明書及び前記SSL証明書を暗号化させ、その暗号化された前記サーバ証明書及び前記SSL証明書を、前記クライアントに送信するようになっている。
そして、そのようなサーバと組合せて用いられるクライアントは、前記クライアント解生成手段で生成された解を用いて、同じ解が用いられる場合には前記サーバ第1暗号化復号化手段で暗号化されたデータを復号化することができるクライアント第1暗号化復号化手段を備えており、前記クライアント解生成手段は、前記クライアントが暗号化された前記サーバ証明書及び前記SSL証明書を受取った場合には、前記サーバで前記サーバ証明書及び前記SSL証明書を暗号化するときに用いられた解が前記サーバ解生成手段で生成されたときと同じ条件下で2つ目或いはそれ以降の解を生成するようになっているとともに、前記クライアント第1暗号化復号化手段は、前記クライアント解生成手段が生成した前記2つ目或いはそれ以降の解を用いて、暗号化された前記サーバ証明書及び前記SSL証明書を復号化するようになっている。
このクライアントでは、サーバ証明書及びSSL証明書は、サーバからクライアントへ送られるときに、暗号化された状態で送られる。これにより、このサーバ及びクライアントを用いて実行される暗号化通信は、より第三者による盗聴の可能性が低いものとなる。その理屈について説明する。
この場合のサーバは、サーバ解生成手段で生成された解を用いた暗号化を行うことができるサーバ第1暗号化復号化手段を備えている。また、この場合のサーバでは、クライアントが正当だとの認証がサーバ認証手段で行われた場合に、サーバのサーバ解生成手段で予め定められた条件下で2つ目或いはそれ以降の解が生成されるようになっている。サーバ第1暗号化復号化手段は、上記解を用いてサーバ証明書及びSSL証明書を暗号化する。
他方、この場合のクライアントは、クライアント解生成手段で生成された解を用いて、同じ解が用いられる場合にはサーバ第1暗号化復号化手段で暗号化されたデータを復号化することができるクライアント第1暗号化復号化手段を備えている。クライアントが暗号化されたサーバ証明書及びSSL証明書をサーバから受取った場合、クライアント解生成手段は、サーバでサーバ証明書及び前記SSL証明書を暗号化するときに用いられた解がサーバ解生成手段で生成されたときと同じ条件下で2つ目或いはそれ以降の解を生成するようになっている。そして、それにより生成された解を用いて、クライアント第1暗号化復号化手段は、暗号化されたサーバ証明書及びSSL証明書を復号化する。
上述のように、クライアント解生成手段で生成される解は、サーバ証明書及びSSL証明書を暗号化するためにサーバ解生成手段で生成された解と同条件下で生成されたものであるから、サーバ解生成手段でサーバ証明書及びSSL証明書を暗号化するために生成された解と、クライアント第1暗号化復号化手段で暗号化されたサーバ証明書及びSSL証明書を復号化するためにクライアント解生成手段で生成される解とは同じものとなる。他方、クライアント第1暗号化復号化手段は、同じ解が用いられる場合にはサーバ第1暗号化復号化手段で暗号化されたデータを復号化することができるようになっているので、暗号化された解との同一性が担保された解を用いる限り、クライアント第1暗号化復号化手段は、暗号化されたサーバ証明書及びSSL証明書を復号化することができる。これは、第三者による何らかの妨害がない限り、保証される。
ところで、サーバにおけるサーバ第1暗号化復号化手段による暗号化、及びクライアントにおけるクライアント第1暗号化復号化手段による復号化はともに、解によってその結果が変わる。つまり、これら暗号化と復号化には解依存性がある。したがって、第三者が、暗号化された状態でネットワーク上を送信されているサーバ証明書及びSSL証明書の内容を知ろうと思うのであれば、その解の内容を知る必要がある。しかしながら、上述のように、暗号化、復号化の際に用いられる上述の解は、サーバ又はクライアントの中にのみ存在し、ネットワーク上を送信されない。したがって、悪意のある第三者は、暗号化、復号化の際に用いられる上述の解を知ることができず、結果として、暗号化された状態でネットワーク上を送信されているサーバ証明書及びSSL証明書の内容を知ることができない。従来のSSL通信における悪意のある第三者によるサーバ証明書及びSSL証明書の改竄の典型的なものは、送信途中のサーバ証明書及びSSL証明書を盗むことによるものである。それを防げるため、この発明による暗号化通信の強度は極めて高いと言える。
なお、この発明では、上述のように、サーバにおけるサーバ第1暗号化復号化手段による暗号化、及びクライアントにおけるクライアント第1暗号化復号化手段による復号化はともに、解依存性がある。かかる解依存性を上記暗号化、復号化に持たせるには、解を例えば、暗号化、復号化の際の鍵として用いることができる。
本願発明では、サーバとクライアントとが、クライアントからサーバに送られた解の後に、どのような条件下で生成された解(例えば、幾つめの解)をサーバ証明書及びSSL証明書の暗号化と復号化に用いるかは、サーバとクライアントの間で最初から決定しておけばよい。例えば、クライアントからサーバに送られた解の次に両者で発生された解を用いるとか、5番目に発生した解を用いるとか、そういう取極めを両者の間で予めしておくことができる。暗号化と復号化とに、共通の複数の解を用いることも可能であり、それにより第三者にサーバ証明書及びSSL証明書を盗まれる可能性をより低くすることができるようになる。
サーバからクライアントへ、暗号化した状態でサーバ証明書及びSSL証明書を送るようにする場合には、更に暗号化していない状態のサーバ証明書をもサーバからクライアントへ送るようにすることができる。
その場合、前記サーバは、前記サーバ第1暗号化復号化手段により暗号化された前記サーバ証明書を前記クライアントに送信するようになっているのに加えて、暗号化されていない状態の前記サーバ証明書を前記クライアントに送信するようになっている。この場合、前記クライアント第1暗号化復号化手段により復号化された前記サーバ証明書と、前記サーバから暗号化されずに送信されてきた前記サーバ証明書とが同一であった場合にのみ、前記クライアント認証手段は、前記サーバから送られてきた前記サーバ証明書が正当なものか否かの認証を実行するようになっていてもよい。第三者の攻撃がなければ、暗号化されてサーバからクライアントへ送られたサーバ証明書と暗号化しないでサーバからクライアントへ送られたサーバ証明書とは一致するはずである。両者が一致した場合にのみクライアント認証手段がサーバ証明書の正当性の認証を改めて行うこととすれば、第三者による改竄のないサーバ証明書のみをクライアントは認証の対象とすることができるようになる。なお、この場合には、暗号化していないサーバ証明書に加えて暗号化していないSSL証明書をもサーバからクライアントへ送り、且つ暗号化してサーバからクライアントへ送られたサーバ証明書とSSL証明書のすべてが、暗号化せずにサーバからクライアントへ送られたサーバ証明書とSSL証明書のすべてと一致した場合のみ、クライアント認証手段がサーバ証明書の適正さについての認証を実行するようになっていても構わない。
サーバは例えば、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできるサーバ解生成手段と、公開鍵による暗号化がなされたデータに対して秘密鍵による復号化を行うことができる秘密鍵復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるサーバ第2暗号化復号化手段と、を有しており、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバ解生成手段で生成されたものと同じものとなる解を連続して生成することのできるクライアント解生成手段と、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みることのできるクライアント認証手段と、前記公開鍵を用いて暗号化を行うことのできる公開鍵暗号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるクライアント第2暗号化復号化手段と、を有している、前記ネットワークに接続可能とされたクライアントと、の組合せにより、SSL暗号化通信システムを構成するための、前記ネットワークに接続可能とされたサーバである。
そして、このサーバは、前記クライアントの正当性を認証するためのサーバ認証手段を備えており、前記クライアントは、前記クライアント解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信するようになっており、前記サーバ解生成手段は、前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取ったときに、前記クライアント解生成手段で解が生成されたのと同一条件下で解を生成するようになっているとともに、前記サーバ認証手段は、前記サーバ解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するようになっており、前記クライアントが正当だとの認証が前記サーバ認証手段で行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信するようになっており、前記クライアントは、前記サーバ証明書及び前記SSL証明書を受取るとともに、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記クライアント認証手段により前記サーバから送られてきた前記サーバ証明書が正当か否か判定し、前記サーバ証明書を正当なものと認証した場合には、前記公開鍵暗号化手段で、前記クライアントが持つ共通鍵を暗号化して、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信するようになっており、前記サーバが、受取った前記暗号化された共通鍵を前記秘密鍵を用いて前記秘密鍵復号化手段により復号化するようになっており、以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバ第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記クライアント第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記クライアントとの間で共通鍵方式の暗号化通信を行うようになっている。
この場合のサーバは、前記サーバ解生成手段で生成された解を用いた暗号化と復号化を行うことができるサーバ第1暗号化復号化手段を備えているとともに、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信するに先立って、前記サーバ解生成手段で予め定められた条件下で2つ目或いはそれ以降の解を生成するとともに、前記サーバ解生成手段で生成された前記解を用いて、前記サーバ第1暗号化復号化手段により、前記サーバ証明書及び前記SSL証明書を暗号化させ、その暗号化された前記サーバ証明書及び前記SSL証明書を、前記クライアントに送信するようになっている。
かかるサーバは、前記クライアントは、前記クライアント解生成手段で生成された解を用いて、同じ解が用いられる場合には前記サーバ第1暗号化復号化手段で暗号化されたデータを復号化することができるクライアント第1暗号化復号化手段を備えており、前記クライアント解生成手段は、クライアントが暗号化された前記サーバ証明書及び前記SSL証明書を受取った場合には、前記サーバで前記サーバ証明書及び前記SSL証明書を暗号化するときに用いられた解が前記サーバ解生成手段で生成されたときと同じ条件下で2つ目或いはそれ以降の解を生成するようになっているとともに、前記クライアント第1暗号化復号化手段は、前記クライアント解生成手段が生成した前記2つ目或いはそれ以降の解を用いて、暗号化された前記サーバ証明書及び前記SSL証明書を復号化するようになっている、クライアントと組合せて用いられる。
かかるサーバは、上述したサーバ証明書及びSSL証明書を暗号化してサーバからクライアントに送る場合におけるサーバであり、その効果は既に述べたとおりである。
この場合のサーバは、前記サーバ第1暗号化復号化手段により暗号化された前記サーバ証明書を前記クライアントに送信するようになっているのに加えて、暗号化されていない状態の前記サーバ証明書を前記クライアントに送信するようになっていてもよい。この場合、前記クライアントでは、前記クライアント第1暗号化復号化手段により復号化された前記サーバ証明書と、前記サーバから暗号化されずに送信されてきた前記サーバ証明書とが同一であった場合にのみ、前記クライアント認証手段が、前記サーバから送られてきた前記サーバ証明書が正当なものか否かの認証を実行するようになっていてもよい。これは、サーバからクライアントへ、暗号化した状態でサーバ証明書及びSSL証明書を送るようにするのに加えて、更に暗号化していない状態のサーバ証明書をもサーバからクライアントへ送るようにすることに相当する。これによる効果は既に述べた通りである。
そのコンピュータプログラムは例えば、所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、を含んで構成される暗号化通信システムの前記クライアントとして、コンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに以下の過程を実行させるためのものである。
その過程は、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信する過程、前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取り、その解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するとともに、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信した場合に、前記サーバ証明書及び前記SSL証明書を受取る過程、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、前記サーバ証明書が正当なものと認証された場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、前記サーバが、前記暗号化された共通鍵を受取り、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する処理を実行することにより前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバとの間で、共通鍵方式の暗号化通信を行う過程、である。
そのコンピュータプログラムは例えば、所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、を含んで構成される暗号化通信システムの前記サーバとして、コンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータに以下の過程を実行させるためのものである。
その過程は、前記クライアントが、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、前記サーバの解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証する過程、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信する過程、前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取り、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書を正当なものと認証した場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化して、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する処理を行った場合に、前記暗号化された共通鍵を受取る過程、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程、である。
現在のSSL通信のコンピュータプログラムは、アプリケーションと、TCP/IPとの間で暗号化と復号化とを行うようになっている。上述の如きコンピュータプログラムであれば、現在のSSL通信用のコンピュータプログラムに置換するのが容易である。
これによっても、本願発明の上記コンピュータプログラムで、現在のSSL通信用のコンピュータプログラムを置換するのが容易になる。
図1に、第1実施形態のSSL通信システムの全体構成を概略で示す。
SSL通信システムは、複数のクライアント100−1〜100−N(以後、単に、「クライアント100」と記載する場合もある。)、及びサーバ200を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
クライアント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をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。クライアント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を介して入力される場合がある。
また、主制御部122Bは、予めインストールされた、SSL証明書を保持している。SSL証明書は、従来からのものと同じでよく、認証局の情報が記載され、その認証局の公開鍵が埋め込まれており、またそのSSL証明書の正当性を証明するための、そのSSL証明書を発行した認証局の電子署名(SSL証明書がルート証明書である場合には、ルート認証局自体の電子署名)が付されている。SSL証明書は、後述するようなタイミングで認証部122Hに送られるようになっている。SSL証明書は、アプリケーション(例えばブラウザ)にプリインストールされているか、或いは各ユーザが自分でアプリケーションに組込む。なお、主制御部122Bに存在するSSL証明書は、従来のSSL通信の場合と同様1つとは限らない。
主制御部122Bは、また、共通鍵を生成できるようになっている。共通鍵は、必要になる都度主制御部122Bが生成する。主制御部122Bが共通鍵を生成する方法は、周知又は公知技術によれば良い。主制御部122Bは、生成した共通鍵を、公開鍵暗号化部122Iに送るようになっている。この実施形態における主制御部122Bは、後述のように認証部122Hから公開鍵を受取る場合がある。公開鍵を受取った主制御部122Bは、共通鍵を、公開鍵とともに公開鍵暗号化部122Iに送るようになっている。なお、主制御部122Bは、共通鍵を必要となる度に生成するのではなく、1つの固定の共通鍵を持っており必要となる度に公開鍵暗号化部122Iに送るようになっていても構わない。
クライアント解生成部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は、復号化したサーバ証明書及びSSL証明書のデータを、認証部122Hに送るようになっている。
かかる認証をどのように行うかについては追って説明を行うこととするが、いずれにせよかかる認証の方法は既存のSSL通信における、SSL証明書を用いたサーバ証明書の認証の方法に倣うことができ、この実施形態ではそうしている。かかる部分を変えなければ、この実施形態のSSL通信システムで実行される暗号化通信は、SSL通信に僅かな変更を加えるだけで実施できるものとなる。
認証部122Hは、サーバ証明書が正当なものであると認証したら、そのサーバ証明書に含まれていた公開鍵をサーバ証明書から取出し、主制御部122Bに送るようになっている。
従来のSSL通信においても、クライアントは自らが持つ共通鍵を公開鍵を用いて暗号化してサーバに送るようになっている。公開鍵暗号化部122Iは、その従来から存在するSSL通信における機能を用いて実現することができる。
なお、公開鍵暗号化部122Iは、暗号化した共通鍵のデータを出力部222Gに送るようになっている。
クライアント第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は、また、公開鍵暗号化部122Iから、暗号化された共通鍵のデータを受取る場合がある。公開鍵暗号化部122Iから送られてきた暗号化された共通鍵のデータは、上述の解等と同じようにしてサーバ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とが生成される(図6)。
もっとも、これらのうちアプリケーション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は、サーバ証明書と、SSL証明書とを保有している。これらは、通常は、サーバ200の管理者が、サーバ証明書、或いはSSL証明書を発行する認証局から入手し、サーバ200にインストールする。サーバ証明書、SSL証明書とも、現在のSSL通信で用いられている通常のものでよく、この実施形態ではそうされている。SSL証明書はクライアント100の説明の中で説明した通りのものであり、サーバ証明書は、サーバ200の情報が記載され、そのサーバの公開鍵が埋め込まれており、またそのサーバ証明書の正当性を証明するための、そのサーバ証明書を発行した認証局の電子署名が付されている。サーバ証明書は1つであるが、SSL証明書は1つとは限らない。これも従来からのSSL通信の場合と同様である。主制御部222Bは、サーバ証明書及びSSL証明書を後述のタイミングでサーバ第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にあるクライアント解生成部122Cのそれぞれとは、解を同期させられるようにされている。
サーバ解生成部222Cは、解を生成した場合、それをサーバ第1暗号化復号化部222Eか又は認証部222Hに送るようになっている。サーバ解生成部222Cが解を認証部222Hに送るときには、解データ記録部222Dに記録されていたものであり、その解を生成する際に参照された、クライアント100を特定するためのデータをも認証部222Hに送るようになっている。
サーバ第1暗号化復号化部222Eは、暗号化したサーバ証明書及びSSL証明書のデータを出力部222Gに送るようになっている。
秘密鍵復号化部222Iには、主制御部222Bから、クライアント100から送られてきた、公開鍵で暗号化された共通鍵のデータが送られてくる場合がある。秘密鍵復号化部222Iは、秘密鍵を用いて暗号化された共通鍵のデータを復号化して元の共通鍵のデータに戻せるようになっている。
従来のSSL通信においても、クライアントは自らが持つ共通鍵を公開鍵を用いて暗号化してサーバに送るようになっている。そして、サーバはその暗号化された共通鍵を秘密鍵を用いて復号化するようになっている。したがって、秘密鍵復号化部222Iは、その従来から存在するSSL通信における機能を用いて実現することができる。
秘密鍵復号化部222Iは、上記復号化の処理によって得られた共通鍵のデータを、サーバ第2暗号化復号化部222Fに送るようになっている。
サーバ第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は、また、サーバ第1暗号化復号化部222Eから、暗号化されたサーバ証明書及びSSL証明書のデータを受取る場合がある。このデータも、上記の場合と同様に、クライアント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へ送られる。
解のデータは、送受信機構から、ネットワーク400を介して、サーバ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は、サーバ証明書及びSSL証明書を、上記IPアドレスと紐付けた状態でサーバ第1暗号化復号化部222Eに送るとともに、新たな解を生成せよとの指示をサーバ解生成部222Cに送る。サーバ解生成部222Cは、少なくとも1つの解を生成する(S2004)。生成された解は、その解を生成する指示のきっかけとなったIPアドレスとともにサーバ第1暗号化復号化部222Eに送られる。ここで、サーバ解生成部222Cでどのような条件で解を生成するのか、例えば幾つの解を生成するのか、またそのうちのどれを(例えば、2番目に生成されたものを、或いは100番目に生成されたものを)サーバ第1暗号化復号化部222Eに送るのかは、予め決定されており、その情報はクライアント100と共有されている。
上述したように、サーバ第1暗号化復号化部222Eは、受取ったサーバ証明書及びSSL証明書のデータを暗号化する(S2005)。かかる暗号化には、サーバ解生成部222Cから送られてきた解が使われる。サーバ証明書及びSSL証明書を暗号化する際に用いる解は、それらに互いに紐付けられたIPアドレスが同じものを選択すればよい。ここで、サーバ第1暗号化復号化部222Eで行われる暗号化は、暗号化の結果得られるデータが解に依存したものとなる。解の使い方は暗号化の結果得られるデータが解に依存する限りどのようなものでも良いが、例えば解を暗号化の鍵として用いてもよい。なお、このときそのサーバ証明書及びSSL証明書のデータと紐付けられていたIPアドレスのデータは暗号化しない。
暗号化されたサーバ証明書及びSSL証明書のデータは、暗号化される前のサーバ証明書及びSSL証明書のデータと紐付けられていたIPアドレスのデータとともに出力部222Gへと送られる。
入力部122Aは、暗号化されたサーバ証明書及びSSL証明書のデータをクライアント第1暗号化復号化部122Eへと送る。他方、入力部122Aは、暗号化されたサーバ証明書及びSSL証明書のデータを受取った旨の通知を主制御部122Bへ送る。これを受取った主制御部122Bは、クライアント解生成部122Cに対して新たな解を生成せよとの指示を送る。
ここで、クライアント解生成部122Cでどのような条件下で解を生成するのか、例えば幾つの解を生成するのか、また、そしてそのうちのどれを(例えば、2番目に生成されたものを、或いは100番目に生成されたものを)クライアント第1暗号化復号化部122Eに送るのかは、予め決定されており、その情報はサーバ200と共有されている。クライアント解生成部122Cは、共通の条件下ではサーバ解生成部222Cと共通の解を連続して生成できるものとなっているのであるから、結果として、サーバ第1暗号化復号化部222Eが共通鍵のデータを暗号化するのに使用する解としてサーバ解生成部222Cが生成してサーバ第1暗号化復号化部222Eに送った解とまったく同じ解が、クライアント解生成部122Cからクライアント第1暗号化復号化部122Eへと送られることになる。
この解を用いて、クライアント第1暗号化復号化部122Eは、暗号化されたサーバ証明書及びSSL証明書のデータを復号化して、暗号化されていないサーバ証明書及びSSL証明書のデータに戻す(S1006)。クライアント第1暗号化復号化部122Eにおける復号化の処理は、解に依存するものであり、且つ同じ解を用いた場合には、サーバ解生成部222Cで暗号化されたデータを復号化して元の平文のデータに戻すことが可能な処理である。したがって、暗号化された共通鍵のデータは、サーバ200の主制御部222Bが生成した通りのサーバ証明書及びSSL証明書のデータに戻る。
クライアント第1暗号化復号化部122Eは、サーバ証明書及びSSL証明書を認証部122Hへ送る。他方、サーバ証明書及びSSL証明書を受取った認証部122Hは、主制御部122BにSSL証明書を送れとの指示を送り、主制御部122Bから、元々主制御部122Bが持っていたSSL証明書を受取る。
かかる処理は、従来のSSL通信で行われていたサーバ証明書の適正性の認証と同様の処理として実行することができる。
例えば、クライアント100が持っていたSSL証明書と、サーバ200から送られてきたSSL証明書とが、完全に一致したものであったとする。この状態で、サーバ200は、自己が所有していたSSL証明書或いはそれに付されていた公開鍵は適正なものであると判断している。ここで、クライアント100の認証部122Hは、サーバ証明書の例えば全体に対してハッシュを行って得たそのハッシュ値と、サーバ証明書に付されていた電子署名をSSL証明書に付されていた公開鍵で復号化したもの(得られた値)とを比較する。サーバ証明書に付されている電子署名は、そのサーバ証明書を発行した認証局が、サーバ証明書の例えば全体に対してハッシュを行って得たハッシュ値をその認証局が有する秘密鍵で暗号化したものとされている。したがって、電子署名を含めてそのサーバ証明書に、そのサーバ証明書が認証局で発行されて以降、悪意の第三者による改竄を含むいかなる変更もなかった場合には、上述の2つの値は必ず一致する。これにより、サーバ証明書は適正なものであると認証されるのである。
実際のSSL通信では、自己のSSL証明書(ルート証明書)に自己の電子署名を行うことによりそのSSL証明書の適正性を証明できるとされるルート認証局を頂点として、認証局にはその信用性の度合いにより様々なレベルのものがあり、SSL証明書にもその信用性の度合いにより様々なレベルのものがある。SSL通信のかかる認証では、場合により複数のSSL証明書を多段に用い、クライアント100の認証部122Hが信用できるとしているSSL証明書を用いて、サーバ証明書の適正さを認証する。本願の認証部122Hも、そのような処理を実行することができる。
いずれにせよ、認証部122Hがサーバ証明書を適正なものだと認証した場合には、認証部122Hは、サーバ証明書からそれに埋め込まれていた公開鍵を抜き出してそれを主制御部122Bに送る。主制御部122Bは、その公開鍵を、主制御部122Bが持っていた共通鍵とともに、公開鍵暗号化部122Iに送る。
他方、主制御部122Bは、共通鍵のデータをクライアント第2暗号化復号化部122Fに送る。この共通鍵は、もちろん暗号化されていない。これにより、クライアント第2暗号化復号化部122Fは、共通鍵方式の暗号化通信を行うために必要となる共通鍵を持った状態となる。
暗号化された共通鍵は、公開鍵暗号化部122Iから出力部122Gへと送られる。
サーバ200は、その送受信機構で暗号化された共通鍵のデータを受取る(S2007)。暗号化された共通鍵のデータは、インターフェイス、送受信部223を経て、入力部222Aへ送られ、入力部222Aから主制御部222Bを経て、秘密鍵復号化部222Iへと送られる。
上述したように、秘密鍵復号化部222Iは、秘密鍵を有しており、その秘密鍵と対になった公開鍵で暗号化されたデータを復号化できるようなものとされている。そして、暗号化された共通鍵を暗号化するときに用いられた公開鍵、つまりサーバ200からクライアント100へ送られたサーバ証明書に埋め込まれていた公開鍵は、サーバ200における秘密鍵復号化部222Iが持っていた秘密鍵と対になったものなのであるから、秘密鍵復号化部222Iは、主制御部222Bから受取った暗号化された共通鍵を復号化することができる。
秘密鍵復号化部222Iは秘密鍵を用いて暗号化されていた共通鍵を復号化する(S2008)。
復号化された共通鍵は、秘密鍵復号化部222Iからサーバ第2暗号化復号化部222Fへと送られる。
かかる暗号化通信は、必要に応じてクライアント100からサーバ200に、或いはサーバ200からクライアント100に、暗号化したデータが送られることにより実現される(S1010、S2009)。
例えば、クライアント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との間の暗号化通信が終了する。
第2実施形態におけるSSL通信システムについて説明する。
第2実施形態におけるSSL通信システムは、概ね第1実施形態におけるそれと同様である。異なるのは、第1実施形態におけるSSL通信システムにおけるクライアント100とサーバ200との間の通信では、サーバ200からクライアント100へとサーバ証明書及びSSL証明書を送る際に、サーバ証明書及びSSL証明書が暗号化されていたのに対して、第2実施形態ではサーバ証明書及びSSL証明書は暗号化されずにサーバ200からクライアント100へ送信されるという点である。
その違いは、第2実施形態におけるクライアント100の暗号化復号化部122の中には、第1実施形態の場合に存在したクライアント第1暗号化復号化部122Eが存在せず、第2実施形態におけるサーバ200の暗号化復号化部222の中には、第1実施形態の場合に存在したサーバ第1暗号化復号化部222Eが存在しない、という点である(図9、図10)。
かかるSSL通信システムで実行される方法は、概ね第1実施形態の場合と同じであるので、その差分を中心として説明することにする(図11)。もっともその差分は、第2実施形態では、第1実施形態において存在したクライアント100におけるS1005、及びS1006の処理が存在せず、第1実施形態において存在したサーバ200におけるS2004、及びS2005の処理が存在しないというものである。
具体的に説明する。
クライント100で実行される、第1実施形態におけるS1001〜S1003の処理、及びサーバ200で実行される、第1実施形態におけるS2001〜S2003までの処理は、第2実施形態でも同じである。
第2実施形態でも、サーバ200の認証部222Hで、クライアント100が正当であるとの認証が行われる(S2003)。かかる認証が行われると、第2実施形態でも、第1実施形態の場合と同様に認証データが生成される。
第1実施形態の場合、認証部222Hが認証データを生成すると、それは主制御部222Bに送られ、続けて新たな解の生成(S2004)の処理、新たな解を用いた共通鍵の暗号化(S2005)の処理が行われた。しかしながら、第2実施形態の場合には、主制御部222Bは、認証データを受取ると、認証データに付されていたクライアント100のIPアドレスのデータと紐付けた状態で、サーバ証明書及びSSL証明書を、暗号化することなくそのまま出力部222Gへと送るようになっている。
IPアドレスのデータと紐付けられたサーバ証明書及びSSL証明書のデータは、出力部222Gから、送受信部223へと送られる。サーバ証明書及びSSL証明書のデータは、必要に応じて第1実施形態の場合と同様にしてヘッダが付されてから、インターフェイスを介して送受信機構に送られ、そこからネットワーク400を介してクライアント100へと送られる(S2006A)。
サーバ証明書及びSSL証明書のデータは、送受信機構から、インターフェイス114を介して主制御部122Bへと送られる。主制御部122Bは、入力部122Aから受取ったサーバ証明書及びSSL証明書を、元々自己が持っていたSSL証明書とともに認証部122Hと送る。
この状態で、認証部122Hは、サーバ200の或いはサーバ証明書が適正か否かの認証の処理を行う(S1007)。
以後の処理は、第1実施形態と同じである。
第3実施形態におけるSSL通信システムについて説明する。第3実施形態におけるSSL通信システムの構成及び動作は概ね第1実施形態におけるSSL通信システムにおけるそれらと同じである。第3実施形態のSSL通信システムが第1実施形態におけるSSL通信システムと異なるのは、第1実施形態では、サーバ200からクライアント100に暗号化された状態のサーバ証明書及びSSL証明書が送られるようになっていたが、第3実施形態にはそれに加えて、第2実施形態のときのように、暗号化されていないサーバ証明書及びSSL証明書が送られるようになっている、という点である。
もっとも、上述の変更点に基づき、第3実施形態におけるクライアント100及びサーバ200の中に生成される機能ブロックの機能は、第1実施形態の場合と若干異なる点がある。その点については後述する。
かかるSSL通信システムで実行される方法は、概ね第1実施形態の場合と同じであるので、その差分を中心として説明することにする(図12)。
まず、クライント100で実行される、第1実施形態におけるS1001〜S1003の処理、及びサーバ200で実行される、第1実施形態におけるS2001〜S2005までの処理は、第3実施形態でも同じである。
第3実施形態でも、サーバ第1暗号化復号化部222Eで、サーバ証明書及びSSL証明書のデータが暗号化される(S2005)。第1実施形態では、この後、暗号化されたサーバ証明書及びSSL証明書のデータが暗号化される前のサーバ証明書及びSSL証明書のデータと紐付けられていたIPアドレスのデータとともに出力部222Gへと送られたが、第3実施形態では、暗号化されたサーバ証明書及びSSL証明書のデータと、暗号化されていないサーバ証明書及びSSL証明書のデータとが、暗号化される前のサーバ証明書及びSSL証明書のデータと紐付けられていたIPアドレスのデータとともに出力部222Gへと送られる。
具体的には、出力部222Gに送られた、暗号化されたサーバ証明書及びSSL証明書のデータと、暗号化されていないサーバ証明書及びSSL証明書のデータと、暗号化される前のサーバ証明書及びSSL証明書のデータと紐付けられていたIPアドレスのデータは、出力部222Gから送受信部223へ送られる。暗号化されたサーバ証明書及びSSL証明書のデータと、暗号化されていないサーバ証明書及びSSL証明書のデータは、必要に応じて第1実施形態の場合と同様にしてヘッダが付されてからインターフェイスを介して送受信機構に送られ、そこからネットワーク400を介してクライアント100へと送られる(S2006B)。
暗号化されたサーバ証明書及びSSL証明書のデータは、クライアント第1暗号化復号化部122Eへと送られ、第1実施形態の場合と同様のS1005の処理によってクライアント解生成部122Cで生成された解を用いて第1実施形態の場合と同様にして復号化される(S1006)。
他方、暗号化されていないサーバ証明書及びSSL証明書のデータは、送受信機構からインターフェイス114、及び送受信部123を経て入力部122Aへ送られ、入力部122Aから主制御部122Bを経て、認証部122Hへと送られる。
この状態で、認証部122Hには、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたサーバ証明書及びSSL証明書と、サーバ200からクライアント100へ暗号化されることなく送られてきたサーバ証明書及びSSL証明書とが、ともに存在することになる。いずれのサーバ証明書及びSSL証明書も、平文になっている。認証部122Hは、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたサーバ証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたサーバ証明書を対比し、また、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたSSL証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたSSL証明書とを対比する(S1011)。
認証部122Hは、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたサーバ証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたサーバ証明書とが互いに一致し、且つ、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたSSL証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたSSL証明書とが互いに一致した場合にのみ、それらサーバ証明書及びSSL証明書に、それらがサーバ200からクライアント100に送られる間にいかなる改竄もなかった、と判定する。
そのようなポジティブな判定がなされた場合にのみ、第3実施形態における認証部122Hは、サーバ証明書の認証についての第1実施形態におけるS1007の過程に進むことになる。もちろん上記のポジティブな判定がなされなかったら、サーバ200とクライアント100との間の通信はそこで終了する。
以後の処理は、第1実施形態と同じである。
また、この実施形態では上述のように、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたサーバ証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたサーバ証明書とが互いに一致し、且つ、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたSSL証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたSSL証明書とが互いに一致することが、認証部122Hが、サーバ証明書及びSSL証明書に対していかなる改竄もなかった、と判定するための条件となっていた。しかしながら、ここで認証部122Hが確認を行うべき最低限は、サーバ証明書に改竄がないことなのであるから、認証部122Hは、暗号化されてサーバ200から送られて来た後にクライアント第1暗号化復号化部122Eで復号化されたサーバ証明書とサーバ200からクライアント100へ暗号化されることなく送られてきたサーバ証明書とが互いに一致することのみを、認証部122Hが、サーバ証明書に対していかなる改竄もなかった、と判定するための条件とすることも可能である。この場合には、暗号化しないでサーバ200からクライアント100に送信する対象を、サーバ証明書及びSSL証明書から、サーバ証明書のみとすることも当然に可能である。
101 ディスプレイ
102 入力装置
121 アプリケーション
122 暗号化復号化部
122A 入力部
122B 主制御部
122C クライアント解生成部
122D 解データ記録部
122E クライアント第1暗号化復号化部
122F クライアント第2暗号化復号化部
122G 出力部
122H 認証部
122I 公開鍵暗号化部
123 送受信部
221 アプリケーション
222 暗号化復号化部
222A 入力部
222B 主制御部
222C サーバ解生成部
222D 解データ記録部
222E サーバ第1暗号化復号化部
222F サーバ第2暗号化復号化部
222G 出力部
222H 認証部
222I 秘密鍵復号化部
223 送受信部
Claims (13)
- 所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、
所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、
を含んで構成されるSSL通信システムで実行される通信方法であって、
前記クライアントが、その解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信する過程、
前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取る過程、
前記サーバが、その解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証する過程、
前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信する過程、
前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取る過程、
前記クライアントが、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、
前記サーバ証明書が正当なものと認証された場合に、前記クライアントが、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、
前記クライアントが、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、
前記サーバが、前記暗号化された共通鍵を受取る過程、
前記サーバが、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、
以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバと、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、SSL通信方法。 - 所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、
所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、
を含んで構成される暗号化通信システムの前記クライアントで実行されるSSL通信方法であって、
前記クライアントが実行する、
その解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信する過程、
前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取り、その解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するとともに、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信した場合に、前記サーバ証明書及び前記SSL証明書を受取る過程、
前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、
前記サーバ証明書が正当なものと認証された場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、
前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、
前記サーバが、前記暗号化された共通鍵を受取り、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する処理を実行することにより前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバとの間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、SSL通信方法。 - 所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、
所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、
を含んで構成される暗号化通信システムの前記サーバで実行されるSSL通信方法であって、
前記サーバが実行する、
前記クライアントが、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、
前記サーバの解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証する過程、
前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信する過程、
前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取り、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書を正当なものと認証した場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化して、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する処理を行った場合に、前記暗号化された共通鍵を受取る過程、
前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、
以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程、
を含んでなる、SSL通信方法。 - 所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできるサーバ解生成手段と、公開鍵による暗号化がなされたデータに対して秘密鍵による復号化を行うことができる秘密鍵復号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるサーバ第2暗号化復号化手段と、を有しているものと、
の組合せにより、SSL暗号化通信システムを構成するための、前記ネットワークに接続可能とされたクライアントであって、
前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、
共通条件下で生成されたもの同士を比較すれば前記サーバ解生成手段で生成されたものと同じものとなる解を連続して生成することのできるクライアント解生成手段と、
前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みることのできるクライアント認証手段と、
前記公開鍵を用いて暗号化を行うことのできる公開鍵暗号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるクライアント第2暗号化復号化手段と、
を備えており、
前記クライアント解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信するようになっており、
前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取り、前記サーバ解生成手段で前記クライアント解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバ解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するとともに、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信した場合に、前記サーバ証明書及び前記SSL証明書を受取るようになっており、
前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記クライアント認証手段が前記サーバから送られてきた前記サーバ証明書を正当なものと認証した場合には、前記公開鍵暗号化手段は、前記クライアントが持つ共通鍵を暗号化するようになっているとともに、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信するようになっており、
前記サーバが、受取った前記暗号化された共通鍵を前記秘密鍵を用いて前記秘密鍵復号化手段により復号化するようになっており、
以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバ第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記クライアント第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記サーバとの間で共通鍵方式の暗号化通信を行うようになっている、
クライアント。 - 前記サーバは、前記サーバ解生成手段で生成された解を用いた暗号化を行うことができるサーバ第1暗号化復号化手段を備えているとともに、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信するに先立って、前記サーバ解生成手段で予め定められた条件下で2つ目或いはそれ以降の解を生成するとともに、前記サーバ解生成手段で生成された前記解を用いて、前記サーバ第1暗号化復号化手段により、前記サーバ証明書及び前記SSL証明書を暗号化させ、その暗号化された前記サーバ証明書及び前記SSL証明書を、前記クライアントに送信するようになっているとともに、
前記クライアント解生成手段で生成された解を用いて、同じ解が用いられる場合には前記サーバ第1暗号化復号化手段で暗号化されたデータを復号化することができるクライアント第1暗号化復号化手段を備えており、
前記クライアント解生成手段は、前記クライアントが暗号化された前記サーバ証明書及び前記SSL証明書を受取った場合には、前記サーバで前記サーバ証明書及び前記SSL証明書を暗号化するときに用いられた解が前記サーバ解生成手段で生成されたときと同じ条件下で2つ目或いはそれ以降の解を生成するようになっているとともに、
前記クライアント第1暗号化復号化手段は、前記クライアント解生成手段が生成した前記2つ目或いはそれ以降の解を用いて、暗号化された前記サーバ証明書及び前記SSL証明書を復号化するようになっている、
請求項4記載のクライアント。 - 前記サーバは、前記サーバ第1暗号化復号化手段により暗号化された前記サーバ証明書を前記クライアントに送信するようになっているのに加えて、暗号化されていない状態の前記サーバ証明書を前記クライアントに送信するようになっており、
前記クライアント第1暗号化復号化手段により復号化された前記サーバ証明書と、前記サーバから暗号化されずに送信されてきた前記サーバ証明書とが同一であった場合にのみ、前記クライアント認証手段は、前記サーバから送られてきた前記サーバ証明書が正当なものか否かの認証を実行するようになっている、
請求項5記載のクライアント。 - 秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、
前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、
解を連続して生成することのできるサーバ解生成手段と、
公開鍵による暗号化がなされたデータに対して秘密鍵による復号化を行うことができる秘密鍵復号化手段と、
共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるサーバ第2暗号化復号化手段と、
を有しており、
前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバ解生成手段で生成されたものと同じものとなる解を連続して生成することのできるクライアント解生成手段と、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みることのできるクライアント認証手段と、前記公開鍵を用いて暗号化を行うことのできる公開鍵暗号化手段と、共通鍵を用いた共通鍵方式での暗号化と復号化とを行うことのできるクライアント第2暗号化復号化手段と、を有している、前記ネットワークに接続可能とされたクライアントと、
の組合せにより、SSL暗号化通信システムを構成するための、前記ネットワークに接続可能とされたサーバであって、
前記クライアントの正当性を認証するためのサーバ認証手段を備えており、
前記クライアントは、前記クライアント解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信するようになっており、
前記サーバ解生成手段は、前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取ったときに、前記クライアント解生成手段で解が生成されたのと同一条件下で解を生成するようになっているとともに、
前記サーバ認証手段は、前記サーバ解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するようになっており、
前記クライアントが正当だとの認証が前記サーバ認証手段で行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信するようになっており、
前記クライアントは、前記サーバ証明書及び前記SSL証明書を受取るとともに、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記クライアント認証手段により前記サーバから送られてきた前記サーバ証明書が正当か否か判定し、前記サーバ証明書を正当なものと認証した場合には、前記公開鍵暗号化手段で、前記クライアントが持つ共通鍵を暗号化して、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信するようになっており、
前記サーバが、受取った前記暗号化された共通鍵を前記秘密鍵を用いて前記秘密鍵復号化手段により復号化するようになっており、
以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバ第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うとともに、前記クライアント第2暗号化復号化手段が送受信の対象となるデータに対して暗号化と復号化を行うことで、前記クライアントとの間で共通鍵方式の暗号化通信を行うようになっている、
サーバ。 - 前記サーバ解生成手段で生成された解を用いた暗号化を行うことができるサーバ第1暗号化復号化手段を備えているとともに、
前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信するに先立って、前記サーバ解生成手段で予め定められた条件下で2つ目或いはそれ以降の解を生成するとともに、前記サーバ解生成手段で生成された前記解を用いて、前記サーバ第1暗号化復号化手段により、前記サーバ証明書及び前記SSL証明書を暗号化させ、その暗号化された前記サーバ証明書及び前記SSL証明書を、前記クライアントに送信するようになっているとともに、
前記クライアントは、前記クライアント解生成手段で生成された解を用いて、同じ解が用いられる場合には前記サーバ第1暗号化復号化手段で暗号化されたデータを復号化することができるクライアント第1暗号化復号化手段を備えており、前記クライアント解生成手段は、クライアントが暗号化された前記サーバ証明書及び前記SSL証明書を受取った場合には、前記サーバで前記サーバ証明書及び前記SSL証明書を暗号化するときに用いられた解が前記サーバ解生成手段で生成されたときと同じ条件下で2つ目或いはそれ以降の解を生成するようになっているとともに、前記クライアント第1暗号化復号化手段は、前記クライアント解生成手段が生成した前記2つ目或いはそれ以降の解を用いて、暗号化された前記サーバ証明書及び前記SSL証明書を復号化するようになっている、
請求項7記載のサーバ。 - 前記サーバ第1暗号化復号化手段により暗号化された前記サーバ証明書を前記クライアントに送信するようになっているのに加えて、暗号化されていない状態の前記サーバ証明書を前記クライアントに送信するようになっており、
前記クライアントでは、前記クライアント第1暗号化復号化手段により復号化された前記サーバ証明書と、前記サーバから暗号化されずに送信されてきた前記サーバ証明書とが同一であった場合にのみ、前記クライアント認証手段が、前記サーバから送られてきた前記サーバ証明書が正当なものか否かの認証を実行するようになっている、
請求項8記載のサーバ。 - 所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、
所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、
を含んで構成される暗号化通信システムの前記クライアントとして、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
その解生成手段で解を生成させ、その解を前記ネットワークを介して前記サーバに送信する過程、
前記サーバが、前記クライアントから前記ネットワークを介して前記解を受取り、その解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証するとともに、前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信した場合に、前記サーバ証明書及び前記SSL証明書を受取る過程、
前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書が正当なものかの認証を試みる過程、
前記サーバ証明書が正当なものと認証された場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化する過程、
前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する過程、
前記サーバが、前記暗号化された共通鍵を受取り、前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する処理を実行することにより前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記サーバとの間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 所定のネットワークに接続可能なサーバであり、秘密鍵と、前記秘密鍵と対になる公開鍵を含む電子署名が付された当該サーバの正当性を証明するためのサーバ証明書と、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、解を連続して生成することのできる解生成手段と、を有しているものと、
所定のネットワークに接続可能なクライアントであり、前記サーバ証明書に付された電子署名の正当性を証明するためのSSL証明書と、共通条件下で生成されたもの同士を比較すれば前記サーバの解生成手段で生成されたものと同じものとなる解を連続して生成することのできる解生成手段を備えるものと、
を含んで構成される暗号化通信システムの前記サーバとして、コンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記クライアントが、その解生成手段で解を生成させ、前記ネットワークを介して送ってきた前記解を受取る過程、
前記サーバの解生成手段で前記クライアントの前記解生成手段で解が生成されたのと同一条件下で解を生成させ、前記サーバの解生成手段で生成した解と、前記クライアントから受取った解とを比較して、両者が一致した場合には、前記クライアントを正当なものと認証する過程、
前記クライアントが正当だとの認証が前記サーバで行われた場合に、前記サーバが持っていた前記サーバ証明書及び前記SSL証明書を、前記ネットワークを介して前記クライアントに送信する過程、
前記クライアントが、前記サーバから前記ネットワークを介して前記サーバ証明書及び前記SSL証明書を受取り、前記サーバから送られてきた前記SSL証明書と、前記クライアントが持っていた前記SSL証明書とを用いて、前記サーバから送られてきた前記サーバ証明書を正当なものと認証した場合に、前記サーバ証明書に含まれていた前記公開鍵を用いて、前記クライアントが持つ共通鍵を暗号化して、前記暗号化された共通鍵を前記ネットワークを介して前記サーバに送信する処理を行った場合に、前記暗号化された共通鍵を受取る過程、
前記暗号化された共通鍵を前記サーバが持っている前記秘密鍵により復号化する過程、
以上により前記サーバと前記クライアントで共有されることになった前記共通鍵を用いて、前記クライアントとの間で、共通鍵方式の暗号化通信を行う過程、
を実行させるためのコンピュータプログラム。 - 前記共通鍵方式の暗号化通信を行う場合の暗号化と復号化を、クライアントを構成する前記コンピュータ上における、前記コンピュータ上で実行される暗号化の対象となる平文のデータを扱う所定のアプリケーションと、TCP/IPとの間で実行させるようになっているとともに、
前記アプリケーションで生成された平文を暗号化してから前記サーバに送信するために前記TCP/IPに渡し、前記TCP/IPから渡された前記サーバから送られてきた暗号化されたデータを平文に復号化してから前記アプリケーションに渡すようになっている、
請求項10記載のコンピュータプログラム。 - 前記共通鍵方式の暗号化通信を行う場合の暗号化と復号化を、サーバを構成する前記コンピュータ上における、前記コンピュータ上で実行される暗号化の対象となる平文のデータを扱う所定のアプリケーションと、TCP/IPとの間で実行させるようになっているとともに、
前記アプリケーションで生成された平文を暗号化してから前記クライアントに送信するために前記TCP/IPに渡し、前記TCP/IPから渡された前記クライアントから送られてきた暗号化されたデータを平文に復号化してから前記アプリケーションに渡すようになっている、
請求項11記載のコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016155832A JP6627043B2 (ja) | 2016-08-08 | 2016-08-08 | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム |
PCT/JP2017/028392 WO2018030289A1 (ja) | 2016-08-08 | 2017-08-04 | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム |
US16/322,530 US20220029819A1 (en) | 2016-08-08 | 2017-08-04 | Ssl communication system, client, server, ssl communication method, and computer program |
EP17839360.9A EP3499794A4 (en) | 2016-08-08 | 2017-08-04 | SSL COMMUNICATION SYSTEM, CLIENT, SERVER, SSL COMMUNICATION METHOD, AND COMPUTER PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016155832A JP6627043B2 (ja) | 2016-08-08 | 2016-08-08 | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018026631A JP2018026631A (ja) | 2018-02-15 |
JP6627043B2 true JP6627043B2 (ja) | 2020-01-08 |
Family
ID=61162157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016155832A Active JP6627043B2 (ja) | 2016-08-08 | 2016-08-08 | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220029819A1 (ja) |
EP (1) | EP3499794A4 (ja) |
JP (1) | JP6627043B2 (ja) |
WO (1) | WO2018030289A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6644037B2 (ja) * | 2017-09-08 | 2020-02-12 | 株式会社東芝 | 通信制御システム |
JP2019054466A (ja) | 2017-09-15 | 2019-04-04 | 株式会社 エヌティーアイ | 通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム |
KR102086739B1 (ko) * | 2018-06-27 | 2020-03-09 | 주식회사 수산아이앤티 | 보안 소켓 계층 복호화 장치에서 다양한 전자 서명 알고리즘을 지원하기 위한 전자 재서명 방법 |
CN110049007B (zh) * | 2019-03-08 | 2021-09-10 | 视联动力信息技术股份有限公司 | 视联网传输方法和装置 |
CN110445802A (zh) * | 2019-08-16 | 2019-11-12 | 国家计算机网络与信息安全管理中心 | 基于数字证书的威胁发现模型构建技术 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002091662A1 (en) * | 2001-05-01 | 2002-11-14 | Vasco Data Security, Inc. | Use and generation of a session key in a secure socket layer connection |
JP2004254027A (ja) * | 2003-02-19 | 2004-09-09 | Toshiba Corp | サーバ装置、鍵管理装置、暗号通信方法及びプログラム |
JP2006253746A (ja) * | 2005-03-08 | 2006-09-21 | N-Crypt Inc | データ処理装置、データ処理システム、及びデータ処理方法 |
JP4175572B2 (ja) * | 2007-03-16 | 2008-11-05 | クオリティ株式会社 | 電子ファイル管理システムおよび電子ファイル管理プログラム |
JP2009253650A (ja) * | 2008-04-04 | 2009-10-29 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2009294945A (ja) * | 2008-06-05 | 2009-12-17 | Sony Corp | 受信装置、コンテンツ再生方法、および供給装置 |
CN103716280B (zh) * | 2012-09-28 | 2018-09-04 | 腾讯科技(深圳)有限公司 | 数据传输方法、服务器及系统 |
JP2015115893A (ja) * | 2013-12-13 | 2015-06-22 | 富士通株式会社 | 通信方法、通信プログラム、および中継装置 |
JP6363897B2 (ja) * | 2014-07-10 | 2018-07-25 | キヤノン株式会社 | 通信装置および通信方法、ならびに通信システム |
US9838205B2 (en) * | 2014-09-16 | 2017-12-05 | Keypasco Ab | Network authentication method for secure electronic transactions |
-
2016
- 2016-08-08 JP JP2016155832A patent/JP6627043B2/ja active Active
-
2017
- 2017-08-04 WO PCT/JP2017/028392 patent/WO2018030289A1/ja unknown
- 2017-08-04 US US16/322,530 patent/US20220029819A1/en active Pending
- 2017-08-04 EP EP17839360.9A patent/EP3499794A4/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2018030289A1 (ja) | 2018-02-15 |
US20220029819A1 (en) | 2022-01-27 |
EP3499794A4 (en) | 2020-02-26 |
EP3499794A1 (en) | 2019-06-19 |
JP2018026631A (ja) | 2018-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018025991A1 (ja) | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム | |
CN109088889B (zh) | 一种ssl加解密方法、系统及计算机可读存储介质 | |
US8407475B2 (en) | Augmented single factor split key asymmetric cryptography-key generation and distributor | |
US7689828B2 (en) | System and method for implementing digital signature using one time private keys | |
US8719952B1 (en) | Systems and methods using passwords for secure storage of private keys on mobile devices | |
US8800018B2 (en) | Method and system for verifying user instructions | |
US5418854A (en) | Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system | |
US7840993B2 (en) | Protecting one-time-passwords against man-in-the-middle attacks | |
WO2019020051A1 (zh) | 一种安全认证的方法及装置 | |
JP6627043B2 (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
JP2011515961A (ja) | クライアント側証明書認証情報の認証保存方法と認証保存システム | |
US8397281B2 (en) | Service assisted secret provisioning | |
EP1766848A1 (en) | Method, system and computer program for protecting user credentials against security attacks | |
US11438316B2 (en) | Sharing encrypted items with participants verification | |
JP5186648B2 (ja) | 安全なオンライン取引を容易にするシステム及び方法 | |
CN109412799B (zh) | 一种生成本地密钥的系统及其方法 | |
Raddum et al. | Security analysis of mobile phones used as OTP generators | |
JP2010028689A (ja) | 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム | |
JP2021111925A (ja) | 電子署名システム | |
JP6165044B2 (ja) | 利用者認証装置、システム、方法及びプログラム | |
US20220329412A1 (en) | Network arrangement for secure use of a private key remotely accessed through an open network | |
Kleppmann et al. | Strengthening Public Key Authentication Against Key Theft (Short Paper) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190805 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191023 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191025 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6627043 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |