JP2019054466A - 通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム - Google Patents
通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム Download PDFInfo
- Publication number
- JP2019054466A JP2019054466A JP2017178351A JP2017178351A JP2019054466A JP 2019054466 A JP2019054466 A JP 2019054466A JP 2017178351 A JP2017178351 A JP 2017178351A JP 2017178351 A JP2017178351 A JP 2017178351A JP 2019054466 A JP2019054466 A JP 2019054466A
- Authority
- JP
- Japan
- Prior art keywords
- solution
- communication device
- generated
- encryption
- encrypted data
- 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
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/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
- H04L63/0457—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 wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/068—Network architectures or network communication protocols for network security for supporting key management in a packet data network using time-dependent keys, e.g. periodically changing keys
-
- 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/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- 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
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
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)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】送信装置と受信装置とが安全性と利便性とを両立させた上で共通鍵を共有する技術を提供する。【解決手段】クライアントとサーバはともに、同じ初期解に基いて同じ日時に同じ解を生成する機能を持つ。クライアントは、サーバに自己を識別する識別情報を送る(S1002)。クライアントと、サーバは、同じ初期解に基いて、時間同期により同じ解を生成する(S1003、S2002)。クライアントとサーバは同じ解を共通鍵として用いて暗号化通信を行う(S1004、S2003)。【選択図】図6
Description
本発明は、通信技術、より詳細には暗号化通信技術に関する。
暗号化通信には広く知られているように、送信装置と受信装置とがアルゴリズムと鍵を用いる。暗号化通信の技術には、広く知られているように、送信装置と受信装置とが同じ鍵を用いる共通鍵方式と、送信装置と受信装置とが異なる鍵を用いる公開鍵方式とが存在する。
いずれも周知であるから詳しい説明は省略するが、共通鍵方式の暗号化通信は一般に公開鍵方式の暗号化通信よりも処理が軽い。したがって、現在は、暗号化通信の大半は共通鍵方式で実行されており、公開鍵方式の暗号化通信は、共通鍵方式で通信を行うに先立って送信装置と受信装置が安全に同一の共通鍵を共有するためといった限定的な利用がなされているのみである。例えば、インターネットのホームページの閲覧において汎用されているSSL(Secure Sockets Layer)通信の場合においては、送信装置(サーバ)と受信装置(クライアント)とは共通鍵での暗号化通信を行うが、それに先立って受信装置がそもそも持っている共通鍵を受信装置から送信装置へと安全に送信するために、公開鍵方式の暗号化通信が利用されている。
いずれも周知であるから詳しい説明は省略するが、共通鍵方式の暗号化通信は一般に公開鍵方式の暗号化通信よりも処理が軽い。したがって、現在は、暗号化通信の大半は共通鍵方式で実行されており、公開鍵方式の暗号化通信は、共通鍵方式で通信を行うに先立って送信装置と受信装置が安全に同一の共通鍵を共有するためといった限定的な利用がなされているのみである。例えば、インターネットのホームページの閲覧において汎用されているSSL(Secure Sockets Layer)通信の場合においては、送信装置(サーバ)と受信装置(クライアント)とは共通鍵での暗号化通信を行うが、それに先立って受信装置がそもそも持っている共通鍵を受信装置から送信装置へと安全に送信するために、公開鍵方式の暗号化通信が利用されている。
上述の説明からも明らかなように、共通鍵方式の暗号化通信を行うためには送信装置と受信装置とが同じ鍵(共通鍵)を持ち合う必要がある。これは、暗号化の処理と復号化の処理とに、共通したアルゴリズムと鍵とを必要とする共通鍵方式の暗号化通信にとっては不可避の条件となっている。
共通鍵方式の通信に先立って行われるかかる鍵の共有のための処理は、送信装置が持つ鍵を送信装置から受信装置に送信すること、受信装置が持つ鍵を受信装置から送信装置に送信すること、或いは送信装置でも受信装置でもない第3の装置から送信装置と受信装置の双方に同じ鍵を送信すること、のいずれかによって行われる。
共通鍵方式の通信に先立って行われるかかる鍵の共有のための処理は、送信装置が持つ鍵を送信装置から受信装置に送信すること、受信装置が持つ鍵を受信装置から送信装置に送信すること、或いは送信装置でも受信装置でもない第3の装置から送信装置と受信装置の双方に同じ鍵を送信すること、のいずれかによって行われる。
送信装置と受信装置とが共通鍵を共有するための処理においては、上述のように鍵の送受信が不可避である。かかる鍵の送受信を、安全性と利便性とを両立させた上でどのように成立させるのかということが、積年の課題となっている。かかる課題は、共通鍵方式の暗号化通信における「鍵の配送問題」等と称されている。
かかる問題を解決するための1つの手法が、SSLでも採用されている公開鍵方式の暗号化通信であり、その採用により鍵の配送問題は解決されたと少なくとも過去の一時期においては言われていた。しかしながら、公開鍵方式の暗号化通信でもその安全性が完全ではないということが既に判明している。
かかる問題を解決するための1つの手法が、SSLでも採用されている公開鍵方式の暗号化通信であり、その採用により鍵の配送問題は解決されたと少なくとも過去の一時期においては言われていた。しかしながら、公開鍵方式の暗号化通信でもその安全性が完全ではないということが既に判明している。
本願発明は、共通鍵方式の通信における鍵の配送問題を少なくとも部分的には解決するための技術を提供することを課題とする。
かかる課題を解決するために本願発明者は研究を重ねた。その結果、上述の問題は、共通鍵となる鍵をインターネットを介して送信しなければ生じないという極めて簡単でしかも本質的なことに気がついた。
本願発明は、そのような知見に基づくものである。
本願発明は、そのような知見に基づくものである。
上述の課題を解決するための本願発明は、以下のようなものである。
本願発明は、所定のネットワークを介して互いに通信可能とされた第1通信装置と、第2通信装置とを含んでなる通信システムである。
前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
また、前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
本願発明は、所定のネットワークを介して互いに通信可能とされた第1通信装置と、第2通信装置とを含んでなる通信システムである。
前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
また、前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
この通信システムは、ネットワーク(典型的にはインターネット)を介して互いに通信可能な第1通信装置と、第2通信装置とを含んで構成される。
これら第1通信装置と第2通信装置とは、送信対象データの暗号化の処理と他方の装置から送られてきた暗号化データの復号化の処理との少なくとも一方を、或いは暗号化データの送信と受信の少なくとも一方を行うものである。第1通信装置と第2通信装置とは、2つの通信装置の一方と他方程度の位置づけである。第1通信装置は、第2通信装置を兼ねることができ、第2通信装置は、第1通信装置を兼ねることができる。
第1通信装置と、第2通信装置とはそれぞれ、第1初期解記録手段と、第2初期解記録手段とを備えている。第1初期解記録手段と、第2初期解記録手段とにはそれぞれ、同じ初期解が記録されている。初期解は書換えられることもあり得るが、第1初期解記録手段と、第2初期解記録手段とにおいて書換えられた初期解は、互いに同じものとされるようになっている。また、第1通信装置と、第2通信装置とはそれぞれ、同一の処理を実行することができる、第1解生成手段と、第2解生成手段とを備えている。第1解生成手段と、第2解生成手段とはともに、初期解に基づいて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成するものとなっている。このような構成により、第1通信装置と第2通信装置とは、仮に離れた場所に存在しており、それらの間で何らの通信を行わなかったとしても、同じ解を生成することができる。このように離れた場所において同じ解を生成することを可能とする技術として、例えば、近年インターネットバンキング等の分野で広範に普及しているワンタイムパスワードの技術が知られている。ワンタイムパスワードの技術では、各ユーザが持つトークンと、銀行等が管理するサーバとで、同一の初期値に基いて同一のワンタイムパスワード(解)を生成することができるようになっている。本願の通信システムでは、第1通信装置と第2通信装置とが、かかる技術においてトークンとサーバで生成されるのと同じようにして同一の解を生成することが可能となっている。上述のワンタイムパスワードの技術においては、共通の初期値に基いて同一の演算を行うことにより、離れた2つの場所で同じ解を生成する。ワンタイムパスワードの技術において、共通の解を生成するための生成方法として、演算を行った回数が同一である場合には、離れた2つの場所で同じ解が生成されるという手法(イベント同期)と、同じ日時に生成された解であれば同じになるという手法(時刻同期)とが存在する。本願発明では、初期解に基づいて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成するという第1解生成手段と、第2解生成手段とが時刻同期を用いることにより、ワンタイムパスワードの技術における時刻同期と同様の手法を用いて、第1通信装置と第2通信装置とで同一の解を生成することができるようになっている。かかる時刻同期を採用すれば、第1通信装置と第2通信装置との間で、同じ解を生成する目的で何らのデータの送受信をしなくとも、同じ解(同期された解)を生成することが可能となる。
そして、第1通信装置と、第2通信装置とは、その同期された解を、暗号化通信を行う際に、暗号化又は復号化の方法を決定するための一要素として用いる。これにより、第1通信装置と、第2通信装置とは、仮に何らの通信を行わなくとも、対応した、つまり暗号化した送信対象データを復号化できるような、暗号化の方法と、復号化の方法を実行できるようになる。暗号化と復号化の方法は、上述のように、アルゴリズムと、鍵とにより決定される。第1通信装置における第1暗号化復号化手段と、第2通信装置における第2暗号化復号化手段とは、第1解生成手段又は第2解生成手段によって生成された解をそれぞれ用いて、互いに同期した状態で鍵又はアルゴリズムの少なくとも一方を変化させることにより、互いに同期した状態で暗号化と復号化の方法を変更することが可能となる。例えば、第1暗号化復号化手段と第2暗号化復号化手段とは、典型的には、解を鍵として用いる。そうすることで、鍵の配送を行うことなく、第1暗号化復号化手段と第2暗号化復号化手段とは、同期して変化する同じ鍵を用いて、暗号化及び復号化の方法を変化させながら、暗号化通信を行うことが可能となる。
第1暗号化復号化手段と第2暗号化復号化手段とにおいて行われる暗号化の方法及び復号化の方法の変更は、例えば、少なくとも第1通信装置と第2通信装置とが通信を行う度に行うようにすれば良い。第1通信装置と第2通信装置との間で、鍵の配送、或いはそれに類するデータの送受信を行わないのであれば、鍵の配送によって生じるあらゆるリスクを無くすことができるようになる。
なお、第1暗号化復号化手段と、第2暗号化復号化手段とは、暗号化と復号化という文言の双方を含むが、暗号化と復号化の一方しか行わない場合もあり得る。
これら第1通信装置と第2通信装置とは、送信対象データの暗号化の処理と他方の装置から送られてきた暗号化データの復号化の処理との少なくとも一方を、或いは暗号化データの送信と受信の少なくとも一方を行うものである。第1通信装置と第2通信装置とは、2つの通信装置の一方と他方程度の位置づけである。第1通信装置は、第2通信装置を兼ねることができ、第2通信装置は、第1通信装置を兼ねることができる。
第1通信装置と、第2通信装置とはそれぞれ、第1初期解記録手段と、第2初期解記録手段とを備えている。第1初期解記録手段と、第2初期解記録手段とにはそれぞれ、同じ初期解が記録されている。初期解は書換えられることもあり得るが、第1初期解記録手段と、第2初期解記録手段とにおいて書換えられた初期解は、互いに同じものとされるようになっている。また、第1通信装置と、第2通信装置とはそれぞれ、同一の処理を実行することができる、第1解生成手段と、第2解生成手段とを備えている。第1解生成手段と、第2解生成手段とはともに、初期解に基づいて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成するものとなっている。このような構成により、第1通信装置と第2通信装置とは、仮に離れた場所に存在しており、それらの間で何らの通信を行わなかったとしても、同じ解を生成することができる。このように離れた場所において同じ解を生成することを可能とする技術として、例えば、近年インターネットバンキング等の分野で広範に普及しているワンタイムパスワードの技術が知られている。ワンタイムパスワードの技術では、各ユーザが持つトークンと、銀行等が管理するサーバとで、同一の初期値に基いて同一のワンタイムパスワード(解)を生成することができるようになっている。本願の通信システムでは、第1通信装置と第2通信装置とが、かかる技術においてトークンとサーバで生成されるのと同じようにして同一の解を生成することが可能となっている。上述のワンタイムパスワードの技術においては、共通の初期値に基いて同一の演算を行うことにより、離れた2つの場所で同じ解を生成する。ワンタイムパスワードの技術において、共通の解を生成するための生成方法として、演算を行った回数が同一である場合には、離れた2つの場所で同じ解が生成されるという手法(イベント同期)と、同じ日時に生成された解であれば同じになるという手法(時刻同期)とが存在する。本願発明では、初期解に基づいて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成するという第1解生成手段と、第2解生成手段とが時刻同期を用いることにより、ワンタイムパスワードの技術における時刻同期と同様の手法を用いて、第1通信装置と第2通信装置とで同一の解を生成することができるようになっている。かかる時刻同期を採用すれば、第1通信装置と第2通信装置との間で、同じ解を生成する目的で何らのデータの送受信をしなくとも、同じ解(同期された解)を生成することが可能となる。
そして、第1通信装置と、第2通信装置とは、その同期された解を、暗号化通信を行う際に、暗号化又は復号化の方法を決定するための一要素として用いる。これにより、第1通信装置と、第2通信装置とは、仮に何らの通信を行わなくとも、対応した、つまり暗号化した送信対象データを復号化できるような、暗号化の方法と、復号化の方法を実行できるようになる。暗号化と復号化の方法は、上述のように、アルゴリズムと、鍵とにより決定される。第1通信装置における第1暗号化復号化手段と、第2通信装置における第2暗号化復号化手段とは、第1解生成手段又は第2解生成手段によって生成された解をそれぞれ用いて、互いに同期した状態で鍵又はアルゴリズムの少なくとも一方を変化させることにより、互いに同期した状態で暗号化と復号化の方法を変更することが可能となる。例えば、第1暗号化復号化手段と第2暗号化復号化手段とは、典型的には、解を鍵として用いる。そうすることで、鍵の配送を行うことなく、第1暗号化復号化手段と第2暗号化復号化手段とは、同期して変化する同じ鍵を用いて、暗号化及び復号化の方法を変化させながら、暗号化通信を行うことが可能となる。
第1暗号化復号化手段と第2暗号化復号化手段とにおいて行われる暗号化の方法及び復号化の方法の変更は、例えば、少なくとも第1通信装置と第2通信装置とが通信を行う度に行うようにすれば良い。第1通信装置と第2通信装置との間で、鍵の配送、或いはそれに類するデータの送受信を行わないのであれば、鍵の配送によって生じるあらゆるリスクを無くすことができるようになる。
なお、第1暗号化復号化手段と、第2暗号化復号化手段とは、暗号化と復号化という文言の双方を含むが、暗号化と復号化の一方しか行わない場合もあり得る。
本願発明者は、本願発明における通信システムを構成する第1通信装置をも本願発明の通信装置として提案する。第1通信装置による効果は、本願発明における通信システムの効果と同じである。
その第1通信装置は、例えば、所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置である。
第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
前記第1通信装置と組合せられる前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
その第1通信装置は、例えば、所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置である。
第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
前記第1通信装置と組合せられる前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
上述するように、第1通信装置と、第2通信装置とは、それらのそれぞれが有する第1解生成手段と、第2解生成手段とで発生する解を同一のものとするために、或いは同期させて発生させるために、両者の間で何らのデータを送受信する必要はない。他方、両者の間で、データの送受信を行うことも可能である。
例えば、前記第2通信装置の前記第2解生成手段で生成される前記解を、前記第1解生成手段で生成される前記解と一致させるための同期情報を生成する同期情報生成手段を備えており、前記第1送受信手段は、前記第1暗号化復号化手段が前記暗号化データを生成する処理又は前記送信対象データを生成する処理を実行するのに先立って、前記同期情報を前記第2通信装置に送信するようになっていてもよい。その場合、前記第1通信装置と組合せられる前記第2通信装置の前記第2送受信手段は、前記第1通信装置から前記同期情報を受付けるようになっており、前記第2解生成手段は、前記同期情報を用いて、前記第2暗号化復号化手段が前記暗号化データを生成する処理又は前記送信対象データを生成する処理を実行するのに先立って、前記第2初期解記録手段に記録された前記初期解に基き、前記第1通信装置の前記第1解生成手段で生成されたものと同じ前記解を生成するようになっていてもよい。日時は、第1通信装置と第2通信装置が存在する場所で、それら場所が互いに離れていても等しく進んでいく。したがって、「同じ初期解」と、「その時点における日時」とを変数として用いて解を生成する限りにおいて、両者において同期した同じ解を生成することが基本的に可能となる。しかしながら、第1通信装置と第2通信装置とがそれぞれ備える時計に狂いがある場合、第1通信装置と第2通信装置とで実行される処理にある程度以上の時間がかかる場合、第1通信装置と第2通信装置との間で行われる通信にある程度以上の時間がかかる場合には、第1通信装置と第2通信装置とで同期させた状態で同じ解を生成することが困難となることもあり得る。
そのような場合であっても、第1通信装置が、第1解生成手段で解を生成するときに指定される日時を特定するために必要な情報である同期情報を生成し、それを第2通信装置に送信し、第2解生成手段がその同期情報を参照して解を生成することで、第1解生成手段と第2解生成手段で生成される解を確実に同じものとすることができるようになる。この場合には、第三者が第1通信装置と第2通信装置とで生成される解を推定するためのいわば手掛かりとなる同期情報がネットワーク上で送受信されることになるが、仮にそれが第三者の手に渡ったとしても同期情報それ単体では第1通信装置と第2通信装置とで生成される解を第三者が正しく推定することは困難であるから、通信の安全性には特段の問題も生じない。
例えば、前記第2通信装置の前記第2解生成手段で生成される前記解を、前記第1解生成手段で生成される前記解と一致させるための同期情報を生成する同期情報生成手段を備えており、前記第1送受信手段は、前記第1暗号化復号化手段が前記暗号化データを生成する処理又は前記送信対象データを生成する処理を実行するのに先立って、前記同期情報を前記第2通信装置に送信するようになっていてもよい。その場合、前記第1通信装置と組合せられる前記第2通信装置の前記第2送受信手段は、前記第1通信装置から前記同期情報を受付けるようになっており、前記第2解生成手段は、前記同期情報を用いて、前記第2暗号化復号化手段が前記暗号化データを生成する処理又は前記送信対象データを生成する処理を実行するのに先立って、前記第2初期解記録手段に記録された前記初期解に基き、前記第1通信装置の前記第1解生成手段で生成されたものと同じ前記解を生成するようになっていてもよい。日時は、第1通信装置と第2通信装置が存在する場所で、それら場所が互いに離れていても等しく進んでいく。したがって、「同じ初期解」と、「その時点における日時」とを変数として用いて解を生成する限りにおいて、両者において同期した同じ解を生成することが基本的に可能となる。しかしながら、第1通信装置と第2通信装置とがそれぞれ備える時計に狂いがある場合、第1通信装置と第2通信装置とで実行される処理にある程度以上の時間がかかる場合、第1通信装置と第2通信装置との間で行われる通信にある程度以上の時間がかかる場合には、第1通信装置と第2通信装置とで同期させた状態で同じ解を生成することが困難となることもあり得る。
そのような場合であっても、第1通信装置が、第1解生成手段で解を生成するときに指定される日時を特定するために必要な情報である同期情報を生成し、それを第2通信装置に送信し、第2解生成手段がその同期情報を参照して解を生成することで、第1解生成手段と第2解生成手段で生成される解を確実に同じものとすることができるようになる。この場合には、第三者が第1通信装置と第2通信装置とで生成される解を推定するためのいわば手掛かりとなる同期情報がネットワーク上で送受信されることになるが、仮にそれが第三者の手に渡ったとしても同期情報それ単体では第1通信装置と第2通信装置とで生成される解を第三者が正しく推定することは困難であるから、通信の安全性には特段の問題も生じない。
同期情報は、前記第2通信装置の第2解生成手段で生成される前記解を、前記第1解生成手段で生成される前記解と一致させるための情報である。その限りにおいて、同期情報は、どのようなものであっても構わない。例えば、第1解生成手段と第2解生成手段とが、「分」単位で、異なる解を生成する場合を考える。例えば、第1通信装置と第2通信装置とが互いに暗号化通信を開始するための予備的な通信(例えば、通信開始の要求を行う通信)が2017年10月3日20時42分0秒に、第1通信装置から第2通信装置に到達したとする。その前後に第1通信装置の第1解生成手段が解を生成し、その後に第2通信装置の第2解生成手段が解を生成した場合、例えば両者間の通信にタイムラグが存在すると、第1解生成手段は、2017年10月3日20時41分を指定して、第2解生成手段は、2017年10月3日20時42分を指定して、それぞれ異なる解を生成してしまうことがあり得る。そのような場合には、第1解生成手段で生成される解が特定されたときの秒まで含めた日時が、その1分間(60秒間)の前半と後半のどちらに属していたかということを示す情報を、同期情報として第1通信装置から第2通信装置に送ることができる。つまり、予備的な通信が2017年10月3日20時42分0秒に第2通信装置に到達し、第1解生成手段が2017年10月3日20時41分を指定して2017年10月3日20時41分59秒に解を生成した場合には、「後半」という同期情報が第1通信装置から第2通信装置へと送られることになる。最近の技術では、第1通信装置と第2通信装置との通信に30秒も要することはまず無いから、第2通信装置は、「後半」という同期情報を得れば、予備的な通信におけるデータが第2通信装置に到達した日時を勘案すれば、第1解生成手段で用いられた同期情報が、2017年10月3日20時42分の前半ではなく、2017年10月3日20時41分の後半を指定して生成されたたと把握することができる。また、「前半」という同期情報を得れば、第1解生成手段で用いられた同期情報が、2017年10月3日20時42分の前半に生成されたと把握することができる。かくして、第1通信装置と第2通信装置とは、それらの第1解生成手段と第2解生成手段とで、同じ解を生成することができることになる。
他方、前記同期情報は、前記第1暗号化復号化手段で少なくとも最初に使用される解が生成される場合に指定される日時を特定する情報であってもよい。この日時は、必ずしもその時点における日時である必要はない。10年前、或いは10年後の日時を指定したとしても、第1解生成手段と第2解生成手段とは同じ解を生成することができる。もっとも、前記同期情報は、その時点における日時を特定する情報であってもよい。
前記同期情報は、前記第1解生成手段で生成された解の一部であってもよい。この場合、第1解生成手段と第2解生成手段とは、その時点の日時を指定して解を生成するようになっているのが好ましい。解の一部を同期情報として用いることにより第1通信装置と第2通信装置とは、確実に同じ解を用いることができるようになる。というのは、同じ初期解を用いる第1解生成手段と第2解生成手段とは、同じ日時を指定しさえすれば同じ解を必ず生成することができるのであるから、例えば第1通信装置と第2通信装置とが用いる時計にずれが無く、またそれらの間での通信において生じるタイムラグが無視できる程小さいとすれば、両者は同じ日時を指定して同じ解を生成することができる。とすれば、第1解生成手段と、第2解生成手段が生成される解は原則同じになるはずであるから、第2解生成手段は、第1通信装置から送られてきた解の一部を含む解を生成できるはずである。とすれば、第1通信装置から送られてきた解の一部を含む第2解生成手段で生成されてきた解は、第1通信装置で生成された解と同じであることが保証される。このようにして、第1解生成手段と第2解生成手段とで生成された解を同期させつことが可能になるのである。なお、第2解生成手段で生成された解が第1通信装置から送られてきた解の一部を含まない場合には、第1解生成手段で生成された解は、第2解生成手段で生成された解を生成するときに指定された日時の前後幾らかの範囲内の日時を指定して生成されたはずである。第2解生成手段で生成された解が第1通信装置から送られてきた解の一部を含まないのであれば、第2解生成手段は、他の日時を指定して第1通信装置から送られてきた解の一部を含む解の生成を試みれば良い。第2解生成手段で生成した解に、第1通信装置から送られてきた解の一部を含む解が現れたら、その解が第1通信装置の第1解生成手段で生成された解である。
或いは、第2解生成手段は、最初から複数の解を生成するように設計されていても良い。例えば、第1解生成手段と第2解生成手段とが、「分」単位で、異なる解を生成する場合を考える。この場合において、第1通信装置と第2通信装置とが互いに暗号化通信を開始するための予備的な通信を2017年10月3日20時42分0秒に行ったとする。その前後に第1通信装置の第1解生成手段は解を生成し、第1通信装置はその解の一部を取出して第2通信装置に送る。この場合において、第1通信装置の第1解生成手段が、2017年10月3日20時41分という日時を、解を作るために指定したとする。他方、第2通信装置の第2解生成手段は、上述の予備的な通信が2017年10月3日20時42分0秒に行われたのであるから、第1通信装置の第1解生成手段で解が生成されたときに指定された日時は、2017年10月3日20時42分か、その前後の日時であることは把握できている。そこで、第2解生成手段は、例えば、2017年10月3日20時40分、2017年10月3日20時41分、2017年10月3日20時42分、2017年10月3日20時43分を指定して、4つの解を生成する。第1通信装置から送られてきた解の一部は、第2解生成手段で生成された4つの解のどれかの一部に一致する。その一部が一致した解を第1解生成手段で生成された解とすることにより、第1解生成手段で生成される解と、第2解生成手段で生成される解とを同期させる、或いは同一とすることが可能となる。なお、上述の例では第2解生成手段は解を4つ生成したが、これはもちろん例に過ぎない。例えば、第1解生成手段と、第2解生成手段とが秒単位で解を変化させるのであれば、第2解生成手段で生成すべき解はもっと多くなるであろうが、第1解生成手段と第2解生成手段とで解を一致するための原理自体は上述の説明の通りで構わない。なお、この場合には、第1通信装置と第2通信装置との間で、場合によっては暗号化の鍵として用いられることもある文字列の一部が送受信されるから、一見すれば暗号化通信の安全性に問題があるように見えるかもしれない。しかしながら、解の一部を第三者が入手できたところで、解の全体を第三者は推定することができないから、かかる手法によったとしても暗号化通信の安全性には問題が生じない。第1通信装置から第2通信装置へと送られる解の一部は、それが確率的に、第2通信装置で生成される複数の解に含まれることが無い程度の情報量(文字数、或いは桁数)を持つべきである。例えば、解の一部が、「1」、「p」等という1文字或いは一桁の文字或いは数字であった場合には、第2通信装置で生成される解がそのような文字、数字を含む可能性はかなり高い。そのような事態が生じないようにすべきである。
他方、前記同期情報は、前記第1暗号化復号化手段で少なくとも最初に使用される解が生成される場合に指定される日時を特定する情報であってもよい。この日時は、必ずしもその時点における日時である必要はない。10年前、或いは10年後の日時を指定したとしても、第1解生成手段と第2解生成手段とは同じ解を生成することができる。もっとも、前記同期情報は、その時点における日時を特定する情報であってもよい。
前記同期情報は、前記第1解生成手段で生成された解の一部であってもよい。この場合、第1解生成手段と第2解生成手段とは、その時点の日時を指定して解を生成するようになっているのが好ましい。解の一部を同期情報として用いることにより第1通信装置と第2通信装置とは、確実に同じ解を用いることができるようになる。というのは、同じ初期解を用いる第1解生成手段と第2解生成手段とは、同じ日時を指定しさえすれば同じ解を必ず生成することができるのであるから、例えば第1通信装置と第2通信装置とが用いる時計にずれが無く、またそれらの間での通信において生じるタイムラグが無視できる程小さいとすれば、両者は同じ日時を指定して同じ解を生成することができる。とすれば、第1解生成手段と、第2解生成手段が生成される解は原則同じになるはずであるから、第2解生成手段は、第1通信装置から送られてきた解の一部を含む解を生成できるはずである。とすれば、第1通信装置から送られてきた解の一部を含む第2解生成手段で生成されてきた解は、第1通信装置で生成された解と同じであることが保証される。このようにして、第1解生成手段と第2解生成手段とで生成された解を同期させつことが可能になるのである。なお、第2解生成手段で生成された解が第1通信装置から送られてきた解の一部を含まない場合には、第1解生成手段で生成された解は、第2解生成手段で生成された解を生成するときに指定された日時の前後幾らかの範囲内の日時を指定して生成されたはずである。第2解生成手段で生成された解が第1通信装置から送られてきた解の一部を含まないのであれば、第2解生成手段は、他の日時を指定して第1通信装置から送られてきた解の一部を含む解の生成を試みれば良い。第2解生成手段で生成した解に、第1通信装置から送られてきた解の一部を含む解が現れたら、その解が第1通信装置の第1解生成手段で生成された解である。
或いは、第2解生成手段は、最初から複数の解を生成するように設計されていても良い。例えば、第1解生成手段と第2解生成手段とが、「分」単位で、異なる解を生成する場合を考える。この場合において、第1通信装置と第2通信装置とが互いに暗号化通信を開始するための予備的な通信を2017年10月3日20時42分0秒に行ったとする。その前後に第1通信装置の第1解生成手段は解を生成し、第1通信装置はその解の一部を取出して第2通信装置に送る。この場合において、第1通信装置の第1解生成手段が、2017年10月3日20時41分という日時を、解を作るために指定したとする。他方、第2通信装置の第2解生成手段は、上述の予備的な通信が2017年10月3日20時42分0秒に行われたのであるから、第1通信装置の第1解生成手段で解が生成されたときに指定された日時は、2017年10月3日20時42分か、その前後の日時であることは把握できている。そこで、第2解生成手段は、例えば、2017年10月3日20時40分、2017年10月3日20時41分、2017年10月3日20時42分、2017年10月3日20時43分を指定して、4つの解を生成する。第1通信装置から送られてきた解の一部は、第2解生成手段で生成された4つの解のどれかの一部に一致する。その一部が一致した解を第1解生成手段で生成された解とすることにより、第1解生成手段で生成される解と、第2解生成手段で生成される解とを同期させる、或いは同一とすることが可能となる。なお、上述の例では第2解生成手段は解を4つ生成したが、これはもちろん例に過ぎない。例えば、第1解生成手段と、第2解生成手段とが秒単位で解を変化させるのであれば、第2解生成手段で生成すべき解はもっと多くなるであろうが、第1解生成手段と第2解生成手段とで解を一致するための原理自体は上述の説明の通りで構わない。なお、この場合には、第1通信装置と第2通信装置との間で、場合によっては暗号化の鍵として用いられることもある文字列の一部が送受信されるから、一見すれば暗号化通信の安全性に問題があるように見えるかもしれない。しかしながら、解の一部を第三者が入手できたところで、解の全体を第三者は推定することができないから、かかる手法によったとしても暗号化通信の安全性には問題が生じない。第1通信装置から第2通信装置へと送られる解の一部は、それが確率的に、第2通信装置で生成される複数の解に含まれることが無い程度の情報量(文字数、或いは桁数)を持つべきである。例えば、解の一部が、「1」、「p」等という1文字或いは一桁の文字或いは数字であった場合には、第2通信装置で生成される解がそのような文字、数字を含む可能性はかなり高い。そのような事態が生じないようにすべきである。
前記第1解生成手段は、例えば、前記第1暗号化復号化手段に渡される前記解の前に、その時点における日時を指定して生成された前記解或いはその一部である認証用解を生成するようになっているとともに、前記第1送受信手段は前記認証用解を前記第2通信装置に送信するようになっており、前記第1通信装置と組合せられる前記第2通信装置の前記第2送受信手段は、前記認証用解を受信するようになっているとともに、前記第2通信装置は、前記第2解生成手段が前記認証用解と同じ前記解或いはその一部を生成できた場合に、前記認証用解を前記第2通信装置に送ってきた前記第1通信装置が正当なものであると認証する認証手段を備えていてもよい。
この場合に第1通信装置から第2通信装置に送られる解或いはその一部である認証用解は、同期情報とはその性格が異なる。同期情報を送信することなく、第1通信装置から第2通信装置にかかる解或いはその一部の送信がなされても構わない。上述したように、第2解生成手段は、上述の予備的な通信を行った後に、その時点における日時、或いはその前後の幾つかの日時を指定することにより、第1解生成手段で生成されたのと同じ解を生成することができる。逆にいえば、第2解生成手段と第1解生成手段とが結果として同じ解を生成できたということは、第1通信装置と第2通信装置とが同じ初期解を所持しているという証拠となる。かかる理屈により、認証用解を用いることにより、第1通信装置の認証を行い、第三者による第1通信装置へのなりすましを排除することができる。かかる認証は、双方向で行っても構わない。
認証用解は、解そのものでも、解の一部でも構わない。認証用解を解そのものとするよりも、解の一部とした方が、それを第三者に盗まれた場合に、初期解や以後に生成される解を第三者に看破されるおそれを低くすることが可能となる。なお、認証用解は、第1通信装置と第2通信装置とが暗号化通信を行う場合に、第1暗号化復号化手段と第2暗号化復号化手段とが実行する暗号化又は復号化の方法を決定するのに使用しないようにすることもできる。その場合には、第1通信装置の第1解生成手段と、第2解生成手段の第2解生成手段とは、両者間で予め取決めてあった決まりにしたがって新たな共通の解を生成し、それを第1暗号化復号化手段と第2暗号化復号化手段とが、暗号化通信に用いるようにすれば良い。
この場合に第1通信装置から第2通信装置に送られる解或いはその一部である認証用解は、同期情報とはその性格が異なる。同期情報を送信することなく、第1通信装置から第2通信装置にかかる解或いはその一部の送信がなされても構わない。上述したように、第2解生成手段は、上述の予備的な通信を行った後に、その時点における日時、或いはその前後の幾つかの日時を指定することにより、第1解生成手段で生成されたのと同じ解を生成することができる。逆にいえば、第2解生成手段と第1解生成手段とが結果として同じ解を生成できたということは、第1通信装置と第2通信装置とが同じ初期解を所持しているという証拠となる。かかる理屈により、認証用解を用いることにより、第1通信装置の認証を行い、第三者による第1通信装置へのなりすましを排除することができる。かかる認証は、双方向で行っても構わない。
認証用解は、解そのものでも、解の一部でも構わない。認証用解を解そのものとするよりも、解の一部とした方が、それを第三者に盗まれた場合に、初期解や以後に生成される解を第三者に看破されるおそれを低くすることが可能となる。なお、認証用解は、第1通信装置と第2通信装置とが暗号化通信を行う場合に、第1暗号化復号化手段と第2暗号化復号化手段とが実行する暗号化又は復号化の方法を決定するのに使用しないようにすることもできる。その場合には、第1通信装置の第1解生成手段と、第2解生成手段の第2解生成手段とは、両者間で予め取決めてあった決まりにしたがって新たな共通の解を生成し、それを第1暗号化復号化手段と第2暗号化復号化手段とが、暗号化通信に用いるようにすれば良い。
前記第1解生成手段は複数の解を生成するようになっているとともに、前記第1暗号化復号化手段は、1つの前記送信対象データを暗号化する際に前記第1解生成手段が生成した複数の解に基づく複数の暗号化の方法を実行する処理、1つの前記暗号化データを復号化する際に前記第1解生成手段が生成した複数の解に基づく複数の復号化の方法を実行する処理の少なくとも一方を行うようになっていてもかまわない。この場合、前記第1通信装置と組合せられる前記第2通信装置の前記第2解生成手段は複数の解を生成するようになっているとともに、前記第2暗号化復号化手段は、1つの前記送信対象データを暗号化する際に前記第2解生成手段が生成した複数の解に基づく複数の暗号化の方法を実行する処理、1つの前記暗号化データを復号化する際に前記第2解生成手段が生成した複数の解に基づく複数の復号化の方法を実行する処理の少なくとも一方を行うようになっていてもよい。
このように1つの対象データを送受信する間に、暗号化通信の方法を変化させることが可能となる。このようにすることで、暗号化通信の安全性を高めることが可能となる。
このように1つの対象データを送受信する間に、暗号化通信の方法を変化させることが可能となる。このようにすることで、暗号化通信の安全性を高めることが可能となる。
本願発明者は、以上の如き通信システムの第2通信装置をも、本願発明の一態様として提案する。その効果は、上述の通信システムの効果に等しい。
一例となる第2通信装置は、所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置である。
前記第2通信装置と組合せられる前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
一例となる第2通信装置は、所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置である。
前記第2通信装置と組合せられる前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
本願発明者は、以上の如き通信システムの第1通信装置で実行される方法をも、本願発明の一態様として提案する。これによる効果は、本願発明による通信システムの効果に等しい。
一例となるその方法は、所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置にて実行される方法である。
その方法は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段を備えている前記第1通信装置が実行する、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成過程と、前記第1解生成過程で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化過程と、前記第1暗号化復号化過程で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信過程と、を含んでいる。
前記第1通信装置と組合せられる前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
本願発明者は、以上の如き通信システムの第1通信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
一例となるコンピュータプログラムは、所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置として所定のコンピュータを機能させるためのコンピュータプログラムである。
そのコンピュータプログラムは、前記コンピュータを、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、して機能させるためのものである。
前記第1通信装置と組合せられる前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
一例となるその方法は、所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置にて実行される方法である。
その方法は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段を備えている前記第1通信装置が実行する、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成過程と、前記第1解生成過程で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化過程と、前記第1暗号化復号化過程で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信過程と、を含んでいる。
前記第1通信装置と組合せられる前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
本願発明者は、以上の如き通信システムの第1通信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
一例となるコンピュータプログラムは、所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置として所定のコンピュータを機能させるためのコンピュータプログラムである。
そのコンピュータプログラムは、前記コンピュータを、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、して機能させるためのものである。
前記第1通信装置と組合せられる前記第2通信装置は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、を備えている。
本願発明者は、以上の如き通信システムの第2通信装置で実行される方法をも、本願発明の一態様として提案する。これによる効果は、本願発明による通信システムの効果に等しい。
一例となるその方法は、所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置にて実行される方法である。
前記第2通信装置と組合せられる前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
その方法は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段を備えている前記第2通信装置が実行する、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成過程と、前記第2解生成過程で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化過程と、前記第2暗号化復号化過程で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信過程と、を含む。
本願発明者は、以上の如き通信システムの第2通信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
一例となるコンピュータプログラムは、所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置として所定のコンピュータを機能させるためのコンピュータプログラムである。
前記第2通信装置と組合せられる前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
そのコンピュータプログラムは、前記コンピュータを、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、して機能させるための、コンピュータプログラムである。
一例となるその方法は、所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置にて実行される方法である。
前記第2通信装置と組合せられる前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
その方法は、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段を備えている前記第2通信装置が実行する、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成過程と、前記第2解生成過程で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化過程と、前記第2暗号化復号化過程で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信過程と、を含む。
本願発明者は、以上の如き通信システムの第2通信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
一例となるコンピュータプログラムは、所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置として所定のコンピュータを機能させるためのコンピュータプログラムである。
前記第2通信装置と組合せられる前記第1通信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、を備えている。
そのコンピュータプログラムは、前記コンピュータを、前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、して機能させるための、コンピュータプログラムである。
以下、本発明の好ましい一実施形態、及びその変形例について説明する。実施形態、及び各変形例における発明は、特に矛盾がない限りにおいて互いに組合せることができる。
図1に、本願発明の通信システムの好ましい一実施形態としての通信システムの全体構成を概略で示す。
通信システムは、複数のクライアント100−1〜100−N(以後、単に、「クライアント100」と記載する場合もある。)、及びサーバ200を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
この実施形態におけるクライアント100は、本願でいう第1通信装置に相当するものである。また、この実施形態におけるサーバ200は本願でいう第2通信装置に相当する。もっとも本願における第1通信装置と第2通信装置に相当するサーバ200とクライアント100とは、いわゆるサーバとクライアントの関係である必要はなく、2つの互いに対等な通信装置であっても構わない。
これには限られないが、この実施形態における通信システムはインターネットバンキングシステム(の一部)であって、サーバ200は銀行が管理するものとされ、クライアント100−1〜100−Nはインターネットバンキングを利用する各ユーザが所有するものとされる。
通信システムは、複数のクライアント100−1〜100−N(以後、単に、「クライアント100」と記載する場合もある。)、及びサーバ200を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
この実施形態におけるクライアント100は、本願でいう第1通信装置に相当するものである。また、この実施形態におけるサーバ200は本願でいう第2通信装置に相当する。もっとも本願における第1通信装置と第2通信装置に相当するサーバ200とクライアント100とは、いわゆるサーバとクライアントの関係である必要はなく、2つの互いに対等な通信装置であっても構わない。
これには限られないが、この実施形態における通信システムはインターネットバンキングシステム(の一部)であって、サーバ200は銀行が管理するものとされ、クライアント100−1〜100−Nはインターネットバンキングを利用する各ユーザが所有するものとされる。
クライアント100は、コンピュータを含んでいる。より詳細には、この実施形態におけるクライアント100は、汎用のコンピュータにより構成されている。
次に、クライアント100の構成を説明する。各クライアント100−1〜100−Nの構成は、本願発明との関連でいえば同じである。
クライアント100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。それらはすべて、ネットワーク400を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
例えば、クライアント100がスマートフォンかタブレットなのであれば、スマートフォンとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPhoneシリーズの製品で良いし、タブレットとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPadシリーズの製品でよい。以下、これには限られないが、クライアント100がスマートフォンであることとして話を進める。
クライアント100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。それらはすべて、ネットワーク400を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
例えば、クライアント100がスマートフォンかタブレットなのであれば、スマートフォンとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPhoneシリーズの製品で良いし、タブレットとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPadシリーズの製品でよい。以下、これには限られないが、クライアント100がスマートフォンであることとして話を進める。
クライアント100の外観の一例を図2に示す。
クライアント100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。クライアント100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をクライアント100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるクライアント100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、クライアント100がノート型パソコン、デスクトップ型パソコンである場合には、入力装置102はキーボードや、マウス等になるであろう。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
クライアント100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。クライアント100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をクライアント100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるクライアント100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、クライアント100がノート型パソコン、デスクトップ型パソコンである場合には、入力装置102はキーボードや、マウス等になるであろう。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
クライアント100のハードウェア構成を、図3に示す。
ハードウェアには、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に送られるようになっている。
ハードウェアには、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に送られるようになっている。
CPU111がコンピュータプログラムを実行することにより、クライアント100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、クライアント100を本願発明の第1通信装置として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、クライアント100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
クライアント100内には、本願発明の機能との関係で、入力部121、主制御部122、第1解生成部123、第1初期解記録部124、第1暗号化復号化部126、出力部127が生成される。
クライアント100内には、本願発明の機能との関係で、入力部121、主制御部122、第1解生成部123、第1初期解記録部124、第1暗号化復号化部126、出力部127が生成される。
入力部121は、インターフェイス114からの入力を受取るものである。
インターフェイス114からの入力には、例えば、後述する識別情報(ユーザID)や、インターネットバンキングで決済等を行うための情報であるバンキング情報等がある。識別情報は、各ユーザを他のユーザから識別するための各ユーザにユニークな情報であって、一般にユーザID等と称されるものである。これらはいずれも入力装置102から入力され、インターフェイス114を介して入力部121に入力される。
入力部121は、ユーザIDのデータを受取った場合にはそれを主制御部122に送るようになっており、バンキング情報を受取った場合にはそれを第1暗号化復号化部126に送るようになっている。
入力部121は、また、サーバ200から送られてきて送受信機構で受取られた暗号化データを、インターフェイス114を介して受取る場合がある。入力部121は、受取った暗号化データを第1暗号化復号化部126に送るようになっている。
インターフェイス114からの入力には、例えば、後述する識別情報(ユーザID)や、インターネットバンキングで決済等を行うための情報であるバンキング情報等がある。識別情報は、各ユーザを他のユーザから識別するための各ユーザにユニークな情報であって、一般にユーザID等と称されるものである。これらはいずれも入力装置102から入力され、インターフェイス114を介して入力部121に入力される。
入力部121は、ユーザIDのデータを受取った場合にはそれを主制御部122に送るようになっており、バンキング情報を受取った場合にはそれを第1暗号化復号化部126に送るようになっている。
入力部121は、また、サーバ200から送られてきて送受信機構で受取られた暗号化データを、インターフェイス114を介して受取る場合がある。入力部121は、受取った暗号化データを第1暗号化復号化部126に送るようになっている。
主制御部122は、クライアント100内に生成された各機能ブロック全体の制御を行うものである。
主制御部122は、入力部121からユーザIDのデータを受取る場合がある。ユーザIDのデータを受取った場合、主制御部122はそれを出力部127に送るとともに、第1解生成部123に解を生成せよとの指示を送るようになっている。
主制御部122は、入力部121からユーザIDのデータを受取る場合がある。ユーザIDのデータを受取った場合、主制御部122はそれを出力部127に送るとともに、第1解生成部123に解を生成せよとの指示を送るようになっている。
第1解生成部123は、解を生成せよとの指示を受取った場合に解を生成するものである。この実施形態では、第1解生成部123は、解を生成せよとの指示を、主制御部122から受取る。
解の生成の仕方については後述するが、この実施形態における解は、文字、数字、記号の少なくとも1つを所定数羅列したものであり、また、初期解に基いて生成されるようになっている。典型的には、解は擬似乱数であり、各解はこの実施形態では、その桁数乃至文字数が常に一定となるようにして生成されるようになっている。解は、初期解に基づき、ある日時を指定することにより第1暗号化復号化部123によって生成される。
解を生成する場合、第1解生成部123は、第1初期解記録部124に記録されている初期解のデータを用いる。第1解生成部123には、少なくとも初期状態即ち、最初の新たな解が第1暗号化復号化部126で生成される前の状態では、最初の初期解のデータが記録されている。初期解のデータは、後に生成される解に影響を与えるものである。初期解のデータは、解のデータと同じ形式、即ち、文字、数字、記号の少なくとも1つを所定数羅列したものであって、その桁数乃至文字数が解と同数であるものである場合もあるし、そうでない場合もあるが、この実施形態ではこれには限られないが、初期解のデータは解のデータと同じ形式とされている。初期解のデータは、後述するようにして更新されることがあり得る。
第1解生成部123は生成した解を、第1暗号化復号化部126へと送るようになっている。
解の生成の仕方については後述するが、この実施形態における解は、文字、数字、記号の少なくとも1つを所定数羅列したものであり、また、初期解に基いて生成されるようになっている。典型的には、解は擬似乱数であり、各解はこの実施形態では、その桁数乃至文字数が常に一定となるようにして生成されるようになっている。解は、初期解に基づき、ある日時を指定することにより第1暗号化復号化部123によって生成される。
解を生成する場合、第1解生成部123は、第1初期解記録部124に記録されている初期解のデータを用いる。第1解生成部123には、少なくとも初期状態即ち、最初の新たな解が第1暗号化復号化部126で生成される前の状態では、最初の初期解のデータが記録されている。初期解のデータは、後に生成される解に影響を与えるものである。初期解のデータは、解のデータと同じ形式、即ち、文字、数字、記号の少なくとも1つを所定数羅列したものであって、その桁数乃至文字数が解と同数であるものである場合もあるし、そうでない場合もあるが、この実施形態ではこれには限られないが、初期解のデータは解のデータと同じ形式とされている。初期解のデータは、後述するようにして更新されることがあり得る。
第1解生成部123は生成した解を、第1暗号化復号化部126へと送るようになっている。
第1暗号化復号化部126は、暗号化と復号化の処理の少なくとも一方を行うものであり、これには限られないが、この実施形態では暗号化と復号化の処理の双方を行うものとされている。
第1暗号化復号化部126が暗号化の処理を行うのは、入力部121からバンキング情報を受取った場合であり、第1暗号化復号化部126が復号化の処理を行うのは、入力部121から暗号化データを受取った場合である。
暗号化の方法の詳細は後述するので、ここでは簡単に述べる。暗号化を行う場合それに先立って、第1暗号化復号化部126は、第1解生成部123から解を受け取っている。その解が第1暗号化復号化部126における暗号化に用いられ、解に基づき暗号化の方法が変化する。これには限られないが、この実施形態で暗号化されるデータは、入力装置102の操作により生成されたバンキング情報のデータである。入力装置102の操作により生成されたバンキング情報のデータは平文であるが、それが第1暗号化復号化部126で暗号化された結果暗号化データになる。第1暗号化復号化部126で生成された暗号化データは、出力部127に送られるようになっている。
復号化の方法の詳細は後述するので、ここでは簡単に述べる。復号化を行う場合それに先立って、第1暗号化復号化部126は、第1解生成部123から解を受け取っている。その解が第1暗号化復号化部126における復号化に用いられ、解によって復号化の方法が変化する。これには限られないが、この実施形態で復号化されるデータは、サーバ200から送られてきたバンキング情報のデータ(後述)である。サーバ200から送られてきたバンキング情報は暗号化データの状態となっているが、それが第1暗号化復号化部126で復号化された結果、平文のバンキング情報のデータになる。第1暗号化復号化部126で生成された平文のバンキング情報は、出力部127に送られるようになっている。
第1暗号化復号化部126が暗号化の処理を行うのは、入力部121からバンキング情報を受取った場合であり、第1暗号化復号化部126が復号化の処理を行うのは、入力部121から暗号化データを受取った場合である。
暗号化の方法の詳細は後述するので、ここでは簡単に述べる。暗号化を行う場合それに先立って、第1暗号化復号化部126は、第1解生成部123から解を受け取っている。その解が第1暗号化復号化部126における暗号化に用いられ、解に基づき暗号化の方法が変化する。これには限られないが、この実施形態で暗号化されるデータは、入力装置102の操作により生成されたバンキング情報のデータである。入力装置102の操作により生成されたバンキング情報のデータは平文であるが、それが第1暗号化復号化部126で暗号化された結果暗号化データになる。第1暗号化復号化部126で生成された暗号化データは、出力部127に送られるようになっている。
復号化の方法の詳細は後述するので、ここでは簡単に述べる。復号化を行う場合それに先立って、第1暗号化復号化部126は、第1解生成部123から解を受け取っている。その解が第1暗号化復号化部126における復号化に用いられ、解によって復号化の方法が変化する。これには限られないが、この実施形態で復号化されるデータは、サーバ200から送られてきたバンキング情報のデータ(後述)である。サーバ200から送られてきたバンキング情報は暗号化データの状態となっているが、それが第1暗号化復号化部126で復号化された結果、平文のバンキング情報のデータになる。第1暗号化復号化部126で生成された平文のバンキング情報は、出力部127に送られるようになっている。
出力部127は、クライアント100内の機能ブロックで生成されたデータをインターフェイス114に出力するものである。
出力部127には、上述のように主制御部122から識別情報が送られてくる場合がある。出力部127は、かかる識別情報を、インターフェイス114に出力する。この識別情報は、インターフェイス114から送受信機構に送られ、送受信機構から、ネットワーク400を介してサーバ200に送られるようになっている。
出力部127にはまた、第1暗号化復号化部126から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部127は、その暗号化データを、インターフェイス114に出力する。この暗号化データは、インターフェイス114から送受信機構に送られ、送受信機構から、ネットワーク400を介してサーバ200に送られるようになっている。
出力部127にはまた、第1暗号化復号化部126から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はサーバ200で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部127は、そのバンキング情報のデータを、インターフェイス114に出力する。バンキング情報のデータは、ディスプレイ101に送られ、それを受取ったディスプレイ101がバンキング情報に応じた表示を行うようになっている。
出力部127には、上述のように主制御部122から識別情報が送られてくる場合がある。出力部127は、かかる識別情報を、インターフェイス114に出力する。この識別情報は、インターフェイス114から送受信機構に送られ、送受信機構から、ネットワーク400を介してサーバ200に送られるようになっている。
出力部127にはまた、第1暗号化復号化部126から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部127は、その暗号化データを、インターフェイス114に出力する。この暗号化データは、インターフェイス114から送受信機構に送られ、送受信機構から、ネットワーク400を介してサーバ200に送られるようになっている。
出力部127にはまた、第1暗号化復号化部126から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はサーバ200で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部127は、そのバンキング情報のデータを、インターフェイス114に出力する。バンキング情報のデータは、ディスプレイ101に送られ、それを受取ったディスプレイ101がバンキング情報に応じた表示を行うようになっている。
次に、サーバ200の構成について説明する。
サーバ200は、ハードウェアとして見た場合には、既存の公知又は周知のサーバで構わない。また、そのハードウェア構成も一般的なものでよく、大雑把に言えば、CPU111、ROM112、RAM113、インターフェイス114をバス116で接続するという、クライアント100のハードウェア構成を踏襲することができる。もっとも、サーバ200は、HDDその他の大容量記録装置を有するのが一般的であろう。
サーバ200が備えるCPU、ROM、RAM、インターフェイス、バス、及び大容量記録装置の構成、機能は、クライアント100におけるそれらの構成、機能と変わらない。また、サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様の、サーバ200外の機器とネットワーク400を介しての通信を行うための送受信機構が接続されている。サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様のディスプレイ、入力装置が接続されていても構わないが、本願とはあまり関係がないのでその説明は省略する。
サーバ200は、ハードウェアとして見た場合には、既存の公知又は周知のサーバで構わない。また、そのハードウェア構成も一般的なものでよく、大雑把に言えば、CPU111、ROM112、RAM113、インターフェイス114をバス116で接続するという、クライアント100のハードウェア構成を踏襲することができる。もっとも、サーバ200は、HDDその他の大容量記録装置を有するのが一般的であろう。
サーバ200が備えるCPU、ROM、RAM、インターフェイス、バス、及び大容量記録装置の構成、機能は、クライアント100におけるそれらの構成、機能と変わらない。また、サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様の、サーバ200外の機器とネットワーク400を介しての通信を行うための送受信機構が接続されている。サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様のディスプレイ、入力装置が接続されていても構わないが、本願とはあまり関係がないのでその説明は省略する。
サーバ200の内部におけるROM、大容量記録装置等に記録されていたコンピュータプログラムを実行することによって、サーバ200の内部には以下に説明するような機能ブロックが生成される。なお、以下の機能ブロックは、サーバ200を本願発明の第2通信装置として機能させるためのコンピュータプログラム単体の機能により生成されていても良いが、かかるコンピュータプログラムと、サーバ200にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。また、上記コンピュータプログラムは、サーバ200にプリインストールされたものでもよいが、出荷後のサーバ200にインストールされたものでもあってもよい。その場合、上記コンピュータプログラムのサーバ200へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。これらの事情は、クライアント100の場合と同様である。
サーバ200内には、本願発明の機能との関係で、入力部221、主制御部222、第2解生成部223、第2初期解記録部224、第2暗号化復号化部226、及び出力部227が生成される(図5)。
サーバ200内には、本願発明の機能との関係で、入力部221、主制御部222、第2解生成部223、第2初期解記録部224、第2暗号化復号化部226、及び出力部227が生成される(図5)。
入力部221は、インターフェイスからの入力を受取るものである。
インターフェイスからの入力には、例えば、インターネットバンキングでユーザが求めた決済を認めたか等についての情報であるバンキング情報等がある。バンキング情報は、例えばサーバ200外のインターネットバンキングを実行する他の装置から入力され、インターフェイスを介して入力部221に入力される。もっとも、インターネットバンキングを実行するのがサーバ200自体であるのであれば、かかるバンキング情報は、インターフェイスを介さずに、サーバ200内のインターネットバンキングを実行しバンキング情報を生成する図示せぬ機能ブロックから入力部221に入力されることがありうる。
入力部221は、識別情報をインターフェイスから受取る場合がある。識別情報はクライアント100からネットワーク400を介して送られてきたものであり、サーバ200がその送受信機構で受取ったものである。入力部221は、識別情報を受取った場合には、それらを主制御部222に送るようになっている。
同様に、入力部221は、クライアント100からネットワーク400を介して送られてきたものであり、サーバ200がその送受信機構で受取った暗号化データを、インターフェイスを介して受取る場合がある。インターフェイスからかかる暗号化データを受取った場合には、入力部221はそれを第2暗号化復号化部226に送るようになっている。
インターフェイスからの入力には、例えば、インターネットバンキングでユーザが求めた決済を認めたか等についての情報であるバンキング情報等がある。バンキング情報は、例えばサーバ200外のインターネットバンキングを実行する他の装置から入力され、インターフェイスを介して入力部221に入力される。もっとも、インターネットバンキングを実行するのがサーバ200自体であるのであれば、かかるバンキング情報は、インターフェイスを介さずに、サーバ200内のインターネットバンキングを実行しバンキング情報を生成する図示せぬ機能ブロックから入力部221に入力されることがありうる。
入力部221は、識別情報をインターフェイスから受取る場合がある。識別情報はクライアント100からネットワーク400を介して送られてきたものであり、サーバ200がその送受信機構で受取ったものである。入力部221は、識別情報を受取った場合には、それらを主制御部222に送るようになっている。
同様に、入力部221は、クライアント100からネットワーク400を介して送られてきたものであり、サーバ200がその送受信機構で受取った暗号化データを、インターフェイスを介して受取る場合がある。インターフェイスからかかる暗号化データを受取った場合には、入力部221はそれを第2暗号化復号化部226に送るようになっている。
主制御部222は、サーバ200内に生成された各機能ブロック全体の制御を行うものである。
主制御部222は、入力部221から識別情報のデータを受取る場合がある。そのデータを受取った場合、主制御部222は、識別情報に加えて解を生成せよとの指示を第2解生成部223に送るようになっている。
主制御部222は、入力部221から識別情報のデータを受取る場合がある。そのデータを受取った場合、主制御部222は、識別情報に加えて解を生成せよとの指示を第2解生成部223に送るようになっている。
第2解生成部223は、解を生成せよとの指示を受取った場合に解を生成するものである。第2解生成部223は、解を生成せよとの指示を、主制御部222から受取る。
解の生成の仕方については後述するが、第2解生成部223が実行する解の生成は、クライアント100の第1解生成部123が実行する解の生成と同じ方法とされる。
第2解生成部223も、解を生成する場合、第1解生成部123が第1初期解記録部124に記録されていた初期解のデータを用いるのと同じように第2初期解記録部224に記録されている初期解のデータを用いる。第2初期解記録部224に記録されている初期解のデータは、第1初期解記録部124に記録されているものと同じである。ただし、第2解生成部223は、各クライアント100と暗号化通信を行うために、各クライアント100を操作するユーザ用の異なる解を生成する必要がある。したがって、第2解生成部223には、少なくとも初期状態(どのユーザ用の解をも第2解生成部223が発生していない状態)では、各ユーザ用のユーザの数と同数の初期解のデータが記録されており、且つ各ユーザ用の初期解は、各ユーザが持つクライアント100の第1初期解記録部124に記録されている最初の初期解と同一である。この実施形態において、初期解のデータは、各初期解がどのユーザのためのものであるかを把握できるようにするため、各ユーザの識別情報と紐付けられた状態で第2初期解記録部224に記録されている。第2初期解記録部224に記録されている、各識別情報に紐付けられた初期解は、その初期解に紐付けられた識別情報で特定されるユーザが使用することが予定されたクライアント100の第1初期解記録部124に記録される初期解と同じとなるようになっている。各識別情報に紐付けられた初期解はそれぞれ、後述するように、更新される場合がある。各識別情報に紐付けられた初期解は、それが更新されるときには、その初期解に紐付けられた識別情報によって特定されるユーザのクライアント100における第1初期解記録部124に記録されている初期解と、後述するようにして同期して更新される。その結果、各識別情報に紐付けられた初期解は、その初期解に紐付けられた識別情報で特定されるユーザが使用することが予定されたクライアント100の第1初期解記録部124に記録された初期解と常に同一となるようになっている。
第2解生成部223は、上述のように主制御部222から、解を生成せよとの指示と、識別情報とを受取る。かかる指示と識別情報とを受取ると、第2解生成部223は、解を生成する。解を生成するとき、第2解生成部223は、解を生成せよという指示とともに受付けた識別情報と同じ識別情報と紐付けられた初期解のデータを、第2初期解記録部224から読み出すようになっており、そして読み出したその初期解を用いて解を生成するようになっている。第2解生成部223が解を生成する方法は、各クライアント100における第1解生成部123が解を生成する方法と同じであり、第1解生成部123と同様に日時を指定することによりこれを行う。それにより第2解生成部223が生成する解は、各クライアント100における第1解生成部123が生成する解と同じとなるようになっている。
第2解生成部223は生成した解を、第2暗号化復号化部226へと送るようになっている。
解の生成の仕方については後述するが、第2解生成部223が実行する解の生成は、クライアント100の第1解生成部123が実行する解の生成と同じ方法とされる。
第2解生成部223も、解を生成する場合、第1解生成部123が第1初期解記録部124に記録されていた初期解のデータを用いるのと同じように第2初期解記録部224に記録されている初期解のデータを用いる。第2初期解記録部224に記録されている初期解のデータは、第1初期解記録部124に記録されているものと同じである。ただし、第2解生成部223は、各クライアント100と暗号化通信を行うために、各クライアント100を操作するユーザ用の異なる解を生成する必要がある。したがって、第2解生成部223には、少なくとも初期状態(どのユーザ用の解をも第2解生成部223が発生していない状態)では、各ユーザ用のユーザの数と同数の初期解のデータが記録されており、且つ各ユーザ用の初期解は、各ユーザが持つクライアント100の第1初期解記録部124に記録されている最初の初期解と同一である。この実施形態において、初期解のデータは、各初期解がどのユーザのためのものであるかを把握できるようにするため、各ユーザの識別情報と紐付けられた状態で第2初期解記録部224に記録されている。第2初期解記録部224に記録されている、各識別情報に紐付けられた初期解は、その初期解に紐付けられた識別情報で特定されるユーザが使用することが予定されたクライアント100の第1初期解記録部124に記録される初期解と同じとなるようになっている。各識別情報に紐付けられた初期解はそれぞれ、後述するように、更新される場合がある。各識別情報に紐付けられた初期解は、それが更新されるときには、その初期解に紐付けられた識別情報によって特定されるユーザのクライアント100における第1初期解記録部124に記録されている初期解と、後述するようにして同期して更新される。その結果、各識別情報に紐付けられた初期解は、その初期解に紐付けられた識別情報で特定されるユーザが使用することが予定されたクライアント100の第1初期解記録部124に記録された初期解と常に同一となるようになっている。
第2解生成部223は、上述のように主制御部222から、解を生成せよとの指示と、識別情報とを受取る。かかる指示と識別情報とを受取ると、第2解生成部223は、解を生成する。解を生成するとき、第2解生成部223は、解を生成せよという指示とともに受付けた識別情報と同じ識別情報と紐付けられた初期解のデータを、第2初期解記録部224から読み出すようになっており、そして読み出したその初期解を用いて解を生成するようになっている。第2解生成部223が解を生成する方法は、各クライアント100における第1解生成部123が解を生成する方法と同じであり、第1解生成部123と同様に日時を指定することによりこれを行う。それにより第2解生成部223が生成する解は、各クライアント100における第1解生成部123が生成する解と同じとなるようになっている。
第2解生成部223は生成した解を、第2暗号化復号化部226へと送るようになっている。
第2暗号化復号化部226は、暗号化と復号化の処理の少なくとも一方を行うものであり、これには限られないが、この実施形態では暗号化と復号化の処理の双方を行うものとされている。なお、第2暗号化復号化部226は、クライアント100の第1暗号化復号化部126が暗号化のみを行う場合には復号化のみを、第1暗号化復号化部126が復号化のみを行う場合には暗号化のみを行うものとすることができる。
第2暗号化復号化部226が暗号化の処理を行うのは、入力部221からバンキング情報を受取ったときであり、第2暗号化復号化部226が復号化の処理を行うのは、入力部221から暗号化データを受取ったときである。
第2暗号化復号化部226で実行される暗号化の方法、及び復号化の方法は、クライアント100の第1暗号化復号化部126で実行される暗号化、及び復号化の方法に等しい。
暗号化の方法の詳細は後述するので、ここでは簡単に説明する。暗号化を行う場合それに先立って、第2暗号化復号化部226は、第2解生成部223から解を受け取っている。その解が第2暗号化復号化部226において実行される暗号化に用いられ、解に基づき暗号化の方法が変更させられる。これには限られないが、この実施形態で暗号化されるデータは、インターフェイスから入力されたバンキング情報のデータである。バンキング情報は平文のデータであるが、それが第2暗号化復号化部226で暗号化された結果暗号化データになる。第2暗号化復号化部226で生成された暗号化データは、出力部227に送られるようになっている。
復号化の方法の詳細は後述するので、ここでは簡単に説明する。復号化を行う場合それに先立って、第2暗号化復号化部226は、第2解生成部223から解を受け取っているその解が第2暗号化復号化部226における復号化に用いられ、解に基いて復号化の方法が変更させられる。これには限られないが、この実施形態で復号化されるデータは、クライアント100から送られてきたバンキング情報についての暗号化データである。その暗号化データが第2暗号化復号化部226で復号化された結果、平文のバンキング情報のデータになる。第2暗号化復号化部226で生成された平文のバンキング情報は、出力部227に送られるようになっている。
第2暗号化復号化部226が暗号化の処理を行うのは、入力部221からバンキング情報を受取ったときであり、第2暗号化復号化部226が復号化の処理を行うのは、入力部221から暗号化データを受取ったときである。
第2暗号化復号化部226で実行される暗号化の方法、及び復号化の方法は、クライアント100の第1暗号化復号化部126で実行される暗号化、及び復号化の方法に等しい。
暗号化の方法の詳細は後述するので、ここでは簡単に説明する。暗号化を行う場合それに先立って、第2暗号化復号化部226は、第2解生成部223から解を受け取っている。その解が第2暗号化復号化部226において実行される暗号化に用いられ、解に基づき暗号化の方法が変更させられる。これには限られないが、この実施形態で暗号化されるデータは、インターフェイスから入力されたバンキング情報のデータである。バンキング情報は平文のデータであるが、それが第2暗号化復号化部226で暗号化された結果暗号化データになる。第2暗号化復号化部226で生成された暗号化データは、出力部227に送られるようになっている。
復号化の方法の詳細は後述するので、ここでは簡単に説明する。復号化を行う場合それに先立って、第2暗号化復号化部226は、第2解生成部223から解を受け取っているその解が第2暗号化復号化部226における復号化に用いられ、解に基いて復号化の方法が変更させられる。これには限られないが、この実施形態で復号化されるデータは、クライアント100から送られてきたバンキング情報についての暗号化データである。その暗号化データが第2暗号化復号化部226で復号化された結果、平文のバンキング情報のデータになる。第2暗号化復号化部226で生成された平文のバンキング情報は、出力部227に送られるようになっている。
出力部227は、サーバ200内の機能ブロックで生成されたデータをインターフェイスに出力するものである。
出力部227には、第2暗号化復号化部226から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部227は、その暗号化データを、インターフェイスに出力する。この暗号化データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク400を介してクライアント100に送られるようになっている。
出力部227にはまた、第2暗号化復号化部226から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はクライアント100で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部227は、そのバンキング情報のデータを、インターフェイスに出力する。バンキング情報のデータは、インターフェイスから、インターネットバンキングについての処理を実行する他の装置に送られる。もっとも、インターネットバンキングについての処理を実行するのがサーバ200内の他の機能ブロックなのであれば、バンキング情報はインターフェイスを経ずにその図示せぬ機能ブロックに送られることになる。
出力部227には、第2暗号化復号化部226から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部227は、その暗号化データを、インターフェイスに出力する。この暗号化データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク400を介してクライアント100に送られるようになっている。
出力部227にはまた、第2暗号化復号化部226から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はクライアント100で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部227は、そのバンキング情報のデータを、インターフェイスに出力する。バンキング情報のデータは、インターフェイスから、インターネットバンキングについての処理を実行する他の装置に送られる。もっとも、インターネットバンキングについての処理を実行するのがサーバ200内の他の機能ブロックなのであれば、バンキング情報はインターフェイスを経ずにその図示せぬ機能ブロックに送られることになる。
次に、以上で説明した通信システムの使用方法、及び動作について、図6を参照して説明する。
インターネットバンキングを利用しようとするユーザは、まず、自らが所有するクライアント100の入力装置102を操作して、ブラウザを立ち上げる。ブラウザの機能は、クライアント100が通常有する公知又は周知のコンピュータプログラムによる。クライアント100のディスプレイ101には、ブラウザが表示される。
ユーザはブラウザのアドレスバーに、インターネットバンキングを提供するサーバ200のURLを入力する。これにより、ブラウザには、インターネットバンキングのホームページが表示される。
ここで、ユーザは、識別情報であるユーザIDの入力を行う(S1001)。ユーザIDの入力をユーザに促すように、この状態のインターネットバンキングのホームページには、ユーザIDの入力を促す公知、或いは周知の表示がなされていても構わない。ユーザは入力装置102を操作して識別情報を入力する。入力された識別情報のデータは、インターフェイス114を介して入力部121に送られ、入力部121から主制御部122に送られる。
インターネットバンキングを利用しようとするユーザは、まず、自らが所有するクライアント100の入力装置102を操作して、ブラウザを立ち上げる。ブラウザの機能は、クライアント100が通常有する公知又は周知のコンピュータプログラムによる。クライアント100のディスプレイ101には、ブラウザが表示される。
ユーザはブラウザのアドレスバーに、インターネットバンキングを提供するサーバ200のURLを入力する。これにより、ブラウザには、インターネットバンキングのホームページが表示される。
ここで、ユーザは、識別情報であるユーザIDの入力を行う(S1001)。ユーザIDの入力をユーザに促すように、この状態のインターネットバンキングのホームページには、ユーザIDの入力を促す公知、或いは周知の表示がなされていても構わない。ユーザは入力装置102を操作して識別情報を入力する。入力された識別情報のデータは、インターフェイス114を介して入力部121に送られ、入力部121から主制御部122に送られる。
識別情報を受取ると、主制御部122は、識別情報を出力部127に送る。識別情報は、出力部127から、インターフェイス114を経て送受信部へ送られ、送受信部から、ネットワーク400を介して、サーバ200へと送られる(S1002)。
サーバ200は、その送受信機構で、クライアント100から送られてきた識別情報のデータを受取る(S2001)。識別情報のクライアント100からサーバ200への送信が、この実施形態では事実上、クライアント100がサーバ200に対して送信する両者間での通信開始の要求となる。もちろん、通信の要求を行うことを意味する識別情報以外のデータを、公知或いは周知技術にしたがって、クライアント100からサーバ200へ送信することも可能である。
識別情報は、サーバ200において、送受信部からインターフェイスに送られ、インターフェイスから入力部221に送られる。入力部221は、識別情報のデータを主制御部222に送る。
主制御部222は、識別情報のデータを、第2解生成部223へと送る。
識別情報は、サーバ200において、送受信部からインターフェイスに送られ、インターフェイスから入力部221に送られる。入力部221は、識別情報のデータを主制御部222に送る。
主制御部222は、識別情報のデータを、第2解生成部223へと送る。
他方、クライアント100では、解の生成が行われる(S1003)。また、サーバでも、解の生成が行われる(S2002)。
クライアント100で行われる解の生成の処理と、サーバ200で行われる解の生成の処理とは独立して実行され、どちらが先に行われても構わないし、同時に行われても構わない。
クライアント100で行われる解の生成の処理と、サーバ200で行われる解の生成の処理とは独立して実行され、どちらが先に行われても構わないし、同時に行われても構わない。
クライアント100での解の生成の方法について説明する。
クライアント100の主制御部122は、上述のように入力部121から受取った識別情報を出力部127に送る際に、第1解生成部123に対して、解を生成せよとの指示を送る。
かかる指示を受取った第1解生成部123が解を生成する。
解を生成する場合、第1解生成部123は、第1初期解記録部124から、初期解を読み出す。初期解は、上述したように、文字、数字、記号の少なくとも一つを羅列したものである。
解の生成の方法はどのようなものでも構わないが、この実施形態では、これには限られないが、従来からのワンタイムパスワードの技術における時間同期の技術を応用したものとされている。以下、解の生成方法の一例について述べる。
クライアント100の主制御部122は、上述のように入力部121から受取った識別情報を出力部127に送る際に、第1解生成部123に対して、解を生成せよとの指示を送る。
かかる指示を受取った第1解生成部123が解を生成する。
解を生成する場合、第1解生成部123は、第1初期解記録部124から、初期解を読み出す。初期解は、上述したように、文字、数字、記号の少なくとも一つを羅列したものである。
解の生成の方法はどのようなものでも構わないが、この実施形態では、これには限られないが、従来からのワンタイムパスワードの技術における時間同期の技術を応用したものとされている。以下、解の生成方法の一例について述べる。
この実施形態における第1解生成部123は、初めて解を生成するとき(なお、初めて解を生成するときに限らず、解を生成する場合にはいつも初期解が用いられる。)、第1初期解記録部124に最初に記録されている初期解のデータを読み出す。初期解のデータは、例えば、20桁の数字と小文字の英字混じりの文字列であるものとする。かかる初期解は、各クライアント100にユニークなものであり、各クライアント100に対して、サーバ200が、或いはサーバ200の管理者が割り当てたものである。初期解は1つのこともあるが、この実施形態では5つとされる。第1解生成部123は、その5つの初期解のすべてを読み出す。
第1解生成部123は、それら初期解に対して演算を行うことにより、その時点における解を生成する。まず、演算が可能なように、初期解を数字のみに直す。初期解の中に、英字が含まれている場合には、それを2桁の数字に置き換える。置き換えの対象となる数字は、その英字のアルファベット中の順番である。例えば、「a」なら「01」に、「b」なら「02」に、……「z」なら「26」にそれぞれ置き換える。例えば、初期解が「5a6458p6556ff4272149」というものだったとする。この場合、初期解を上述の約束にしたがって数字のみにすると、「501645816655606064272149」となる。数字のみにした場合の桁数は、初期解に含まれていた英字の数に応じて増えることになる。なお、(、)、!、&、:等の記号をも解に含めたいのであれば、「(」に「27」、「)」に「28」、「!」に「29」等の適当な数字の割当てを行うようにすればよい。
次に、数字に対して演算を行う。この演算の結果求められるのは、解の元となる数字の列である。得られる解をXとすると、Xは、その時点における西暦の年、月、日、時、分にしたがって以下のようにして求められる。つまり、この実施形態で時間同期を実現するために指定される日時は、「第1解生成部123が解を生成しようとするその時点における日時」である。以下の数式におけるX1、X2、X3、X4、X5はそれぞれ、5つの初期解を数字に直したものである。この実施形態で初期解を5つとしているのは、西暦の年、月、日、時、分という5つの要素にしたがって解を変化させることにしているからである。
X=X1 P+X2 Q+X3 R+X4 S+X5 T
ここで、P=西暦の年の数字を5で割った余りに1を足したもの、Q=月の数字を5で割った余りに1を足したもの、R=日の数字を5で割った余りに1を足したもの、S=時の数字を5で割った余りに1を足したもの、T=分の数字を5で割った余りに1を足したものである。このようにすることで、そのときの時刻に応じて異なる数列を得ることができる。なお、P〜Tのすべてにおいて、1を足す過程を加えているのは、P〜Tのすべてがたまたま0になった場合に最終的に得られる解Xが5になるが、そのような簡単な数字が頻出することを避けるためである。
なお、例えば、以下のような数式を用いれば、用いる初期解は1つで済む。
X=X1 PX1 Q+X1 RX1 S+X1 T
上述の演算を行った結果、解の元となる数字の列Xが得られる。次いで、その数字の列の中の任意の2桁の中に01〜26という数字が含まれていたら、先ほどの英字から数字への置き換えの約束事とは逆の約束事にしたがい、それらをa〜zの英字に置き換える。
このようにして得られた数字と小文字の英字混じりの文字列は、限りなく100%に近い確率で20桁以上の桁数である。それが20桁以上であるときには、その文字列の例えば前から20文字を抜き出し、それを解とする。上述のようにして得られた数字と小文字の英字混じりの文字列がちょうど20桁の場合には、それをそのまま解とする。また、上述のようにして得られた数字と小文字の英字混じりの文字列が20桁よりも少ない場合には、何らかの決まり事に基いて桁数を増やす。例えば、その文字列の最初の数字又は英字に基いて何らかの数字又は文字を、桁数が20桁に至るまでに、その文字列中に挿入するようにしてもよい。或いは、上述の数式におけるPとTとを入れ替えて演算を行って得られる数字の列に対して数字を英字に置き換える上述の過程を実行することによって新たな数字と小文字の英字混じりの文字列を生成して、それを元の数字と小文字の英字混じりの後に繋げるというような作業を、その桁数が少なくとも20桁になるまで繰り返して、その前から20文字を抜き出して解とする、というような方法も採用しうる。
いずれにせよ、これにより、その時点の日時に対応した解が生成される。
第1解生成部123は生成した解を、第1暗号化復号化部126へ送る。
第1解生成部123は、それら初期解に対して演算を行うことにより、その時点における解を生成する。まず、演算が可能なように、初期解を数字のみに直す。初期解の中に、英字が含まれている場合には、それを2桁の数字に置き換える。置き換えの対象となる数字は、その英字のアルファベット中の順番である。例えば、「a」なら「01」に、「b」なら「02」に、……「z」なら「26」にそれぞれ置き換える。例えば、初期解が「5a6458p6556ff4272149」というものだったとする。この場合、初期解を上述の約束にしたがって数字のみにすると、「501645816655606064272149」となる。数字のみにした場合の桁数は、初期解に含まれていた英字の数に応じて増えることになる。なお、(、)、!、&、:等の記号をも解に含めたいのであれば、「(」に「27」、「)」に「28」、「!」に「29」等の適当な数字の割当てを行うようにすればよい。
次に、数字に対して演算を行う。この演算の結果求められるのは、解の元となる数字の列である。得られる解をXとすると、Xは、その時点における西暦の年、月、日、時、分にしたがって以下のようにして求められる。つまり、この実施形態で時間同期を実現するために指定される日時は、「第1解生成部123が解を生成しようとするその時点における日時」である。以下の数式におけるX1、X2、X3、X4、X5はそれぞれ、5つの初期解を数字に直したものである。この実施形態で初期解を5つとしているのは、西暦の年、月、日、時、分という5つの要素にしたがって解を変化させることにしているからである。
X=X1 P+X2 Q+X3 R+X4 S+X5 T
ここで、P=西暦の年の数字を5で割った余りに1を足したもの、Q=月の数字を5で割った余りに1を足したもの、R=日の数字を5で割った余りに1を足したもの、S=時の数字を5で割った余りに1を足したもの、T=分の数字を5で割った余りに1を足したものである。このようにすることで、そのときの時刻に応じて異なる数列を得ることができる。なお、P〜Tのすべてにおいて、1を足す過程を加えているのは、P〜Tのすべてがたまたま0になった場合に最終的に得られる解Xが5になるが、そのような簡単な数字が頻出することを避けるためである。
なお、例えば、以下のような数式を用いれば、用いる初期解は1つで済む。
X=X1 PX1 Q+X1 RX1 S+X1 T
上述の演算を行った結果、解の元となる数字の列Xが得られる。次いで、その数字の列の中の任意の2桁の中に01〜26という数字が含まれていたら、先ほどの英字から数字への置き換えの約束事とは逆の約束事にしたがい、それらをa〜zの英字に置き換える。
このようにして得られた数字と小文字の英字混じりの文字列は、限りなく100%に近い確率で20桁以上の桁数である。それが20桁以上であるときには、その文字列の例えば前から20文字を抜き出し、それを解とする。上述のようにして得られた数字と小文字の英字混じりの文字列がちょうど20桁の場合には、それをそのまま解とする。また、上述のようにして得られた数字と小文字の英字混じりの文字列が20桁よりも少ない場合には、何らかの決まり事に基いて桁数を増やす。例えば、その文字列の最初の数字又は英字に基いて何らかの数字又は文字を、桁数が20桁に至るまでに、その文字列中に挿入するようにしてもよい。或いは、上述の数式におけるPとTとを入れ替えて演算を行って得られる数字の列に対して数字を英字に置き換える上述の過程を実行することによって新たな数字と小文字の英字混じりの文字列を生成して、それを元の数字と小文字の英字混じりの後に繋げるというような作業を、その桁数が少なくとも20桁になるまで繰り返して、その前から20文字を抜き出して解とする、というような方法も採用しうる。
いずれにせよ、これにより、その時点の日時に対応した解が生成される。
第1解生成部123は生成した解を、第1暗号化復号化部126へ送る。
他方、サーバ200の第2解生成部223でも解が生成される。
上述したように、第2解生成部223は、主制御部222から解を生成せよという指示と、識別情報とを受け取っている。第2解生成部223は、受取った識別情報と同じ識別情報が存在するか否かの検索を、第2初期解記録部224に対して行う。第2解生成部223は、第2初期解記録部224内で、主制御部222から受取った識別情報と同じ識別情報を発見したら、その識別情報に紐付けられている初期解を読み出す。この初期解は、その識別情報を送って来たクライアント100の第1初期解記録部124に記録されており、第1解生成部123で解を生成するときに使用された解と同じものである。
次いで、第2解生成部223は、解を生成するために指定される日時を決定する。かかる日時は、クライアント100で解を生成する場合と同じく、「第2解生成部223が解を生成しようとするその時点における日時」である。
第2解生成部223は、第1解生成部123が解を生成するときに用いた上述の数式及び規則と同じ数式及び規則を用いて新たな解を生成する。
上述の数式が、年、月、日、時間、分を用いていたことから明らかなように、同じ初期解を用いていても、時刻の「分」が1分進むと、クライアント100とサーバ200でそれぞれ生成される解は異なるものとなっている。もっとも、今の技術水準であれば、クライアント100とサーバ200で使用される時計の双方を、例えばグリニッジ標準時に0.1秒のずれもなく一致させることは容易であるし、また、クライアント100から識別情報を送出した後にクライアント100内で解の生成を開始するタイミングから、識別情報をネットワーク400を介して受取ったサーバ200が解の生成を開始するタイミングは、クライアント100からサーバ200に識別情報が届くまでのタイムラグを考慮しても、1分はかからない。したがって、例えば、本実施形態におけるサーバ200とクライアント100を同国内で使用することに限定する等の制限を設けた場合は特に、よほどのことがない限り、サーバ200の第2解生成部223で生成される解は、クライアント100の第1解生成部223で生成される解と一致する。
もし、これが一致しないとすれば、両者の間で後述する暗号化通信を行えないということであるから、その場合には、もう一度最初から処理をやり直せという指示を、サーバ200からクライアント100へネットワーク400を介して送信することにより、S1001から処理をやり直せば良い。そのような負担をユーザにかけるのを避けたい場合には、サーバ200の第2解生成部223で、例えば、その時点の日時である2017年9月17日18時12分を指定して解を生成しようとした場合に、例えばその前後5分を指定した、2017年9月17日18時7分から、2017年9月17日18時17分までの11個の解を生成すれば良い。幾ら通信におけるタイムラグが大きくても、或いは多少クライアント100とサーバ200が使用する時計にずれがあったとしても、さすがにサーバ200が生成する11個の解の中には、クライアント100で生成されたのと同じ解が存在するはずである。
第2解生成部223は解を1つだけ生成する場合も複数生成する場合も、生成した解を第2暗号化復号化部226へと送る。
上述したように、第2解生成部223は、主制御部222から解を生成せよという指示と、識別情報とを受け取っている。第2解生成部223は、受取った識別情報と同じ識別情報が存在するか否かの検索を、第2初期解記録部224に対して行う。第2解生成部223は、第2初期解記録部224内で、主制御部222から受取った識別情報と同じ識別情報を発見したら、その識別情報に紐付けられている初期解を読み出す。この初期解は、その識別情報を送って来たクライアント100の第1初期解記録部124に記録されており、第1解生成部123で解を生成するときに使用された解と同じものである。
次いで、第2解生成部223は、解を生成するために指定される日時を決定する。かかる日時は、クライアント100で解を生成する場合と同じく、「第2解生成部223が解を生成しようとするその時点における日時」である。
第2解生成部223は、第1解生成部123が解を生成するときに用いた上述の数式及び規則と同じ数式及び規則を用いて新たな解を生成する。
上述の数式が、年、月、日、時間、分を用いていたことから明らかなように、同じ初期解を用いていても、時刻の「分」が1分進むと、クライアント100とサーバ200でそれぞれ生成される解は異なるものとなっている。もっとも、今の技術水準であれば、クライアント100とサーバ200で使用される時計の双方を、例えばグリニッジ標準時に0.1秒のずれもなく一致させることは容易であるし、また、クライアント100から識別情報を送出した後にクライアント100内で解の生成を開始するタイミングから、識別情報をネットワーク400を介して受取ったサーバ200が解の生成を開始するタイミングは、クライアント100からサーバ200に識別情報が届くまでのタイムラグを考慮しても、1分はかからない。したがって、例えば、本実施形態におけるサーバ200とクライアント100を同国内で使用することに限定する等の制限を設けた場合は特に、よほどのことがない限り、サーバ200の第2解生成部223で生成される解は、クライアント100の第1解生成部223で生成される解と一致する。
もし、これが一致しないとすれば、両者の間で後述する暗号化通信を行えないということであるから、その場合には、もう一度最初から処理をやり直せという指示を、サーバ200からクライアント100へネットワーク400を介して送信することにより、S1001から処理をやり直せば良い。そのような負担をユーザにかけるのを避けたい場合には、サーバ200の第2解生成部223で、例えば、その時点の日時である2017年9月17日18時12分を指定して解を生成しようとした場合に、例えばその前後5分を指定した、2017年9月17日18時7分から、2017年9月17日18時17分までの11個の解を生成すれば良い。幾ら通信におけるタイムラグが大きくても、或いは多少クライアント100とサーバ200が使用する時計にずれがあったとしても、さすがにサーバ200が生成する11個の解の中には、クライアント100で生成されたのと同じ解が存在するはずである。
第2解生成部223は解を1つだけ生成する場合も複数生成する場合も、生成した解を第2暗号化復号化部226へと送る。
これにて、暗号化通信の準備が整った。この状態で、クライアント100とサーバ200との間で暗号化通信が行われる(S1004、S2003)。
まず、クライアント100からサーバ200へ暗号化データが送信される場合について説明する。
なお、クライアント100からサーバ200への暗号化データの送信と、後述するサーバ200からクライアント100への暗号化データの送信とは、その先後を問わない、というよりともに必要に応じて行われるものである。また、後述する第1解生成部123での新たな解の生成と、第2解生成部223での新たな解の生成も、その先後を問わない。クライアント100とサーバ200の双方で行われる新たな解の生成は、独立して実行される。
ユーザは、クライアント100の入力装置102を操作して、バンキング情報を入力する。バンキング情報は、例えば、残額を照会したいという意思表示、残額を照会したい銀行口座を特定する情報、他の口座に送金を行いたいという意思表示、送金したい金額を特定する情報、送金先の口座を特定する情報等である。これらについてのバンキング情報は、入力装置102の操作によって生成される。バンキング情報についてのデータは平文のデータである。
バンキング情報のデータは、インターフェイス114から入力部121に送られ、更には第1暗号化復号化部126に送られる。バンキング情報のデータは暗号化されるが、そのために、先程説明した、第1解生成部123から受け取っている解が用いられる。
この場合の解の用い方は自由である。解を用いることで、第1暗号化復号化部126が実行する暗号化の方法が変わる。暗号化の方法は一般に、アルゴリズムと、鍵によって決定されるから、解によってアルゴリズムと、鍵の少なくとも一方を変化させる。これには限られないが、この実施形態では、解によって鍵を変化させるものとする。たとえば、アルゴリズムを変化させるのであれば、解によって複数種類の予め準備されたアルゴリズムの一つを選択する、という手法が考えられる。解によって鍵を変化させるには、解自体を鍵としても良いし、解を鍵の一部にする、或いは解に対して何らかの決まった演算を行うことにより鍵とするといった手法がある。この実施形態では、解をそのまま鍵として用いることにする。
いずれにせよ、平文のバンキング情報は第1暗号化復号化部126で暗号化され、暗号化データにされる。
生成された暗号化データは、第1暗号化復号化部126から出力部127へと送られる。
なお、クライアント100からサーバ200への暗号化データの送信と、後述するサーバ200からクライアント100への暗号化データの送信とは、その先後を問わない、というよりともに必要に応じて行われるものである。また、後述する第1解生成部123での新たな解の生成と、第2解生成部223での新たな解の生成も、その先後を問わない。クライアント100とサーバ200の双方で行われる新たな解の生成は、独立して実行される。
ユーザは、クライアント100の入力装置102を操作して、バンキング情報を入力する。バンキング情報は、例えば、残額を照会したいという意思表示、残額を照会したい銀行口座を特定する情報、他の口座に送金を行いたいという意思表示、送金したい金額を特定する情報、送金先の口座を特定する情報等である。これらについてのバンキング情報は、入力装置102の操作によって生成される。バンキング情報についてのデータは平文のデータである。
バンキング情報のデータは、インターフェイス114から入力部121に送られ、更には第1暗号化復号化部126に送られる。バンキング情報のデータは暗号化されるが、そのために、先程説明した、第1解生成部123から受け取っている解が用いられる。
この場合の解の用い方は自由である。解を用いることで、第1暗号化復号化部126が実行する暗号化の方法が変わる。暗号化の方法は一般に、アルゴリズムと、鍵によって決定されるから、解によってアルゴリズムと、鍵の少なくとも一方を変化させる。これには限られないが、この実施形態では、解によって鍵を変化させるものとする。たとえば、アルゴリズムを変化させるのであれば、解によって複数種類の予め準備されたアルゴリズムの一つを選択する、という手法が考えられる。解によって鍵を変化させるには、解自体を鍵としても良いし、解を鍵の一部にする、或いは解に対して何らかの決まった演算を行うことにより鍵とするといった手法がある。この実施形態では、解をそのまま鍵として用いることにする。
いずれにせよ、平文のバンキング情報は第1暗号化復号化部126で暗号化され、暗号化データにされる。
生成された暗号化データは、第1暗号化復号化部126から出力部127へと送られる。
出力部127は、暗号化データをインターフェイス114を介して送受信機構へと送る。暗号化データは、ネットワーク400を介してサーバ200へと送られる。
サーバ200は、その送受信機構でクライアント100から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部221へと送られる。入力部221は、第2暗号化復号化部226へ暗号化データを送る。
暗号化データを受取った第2暗号化復号化部226は暗号化データを復号化する。そのために、第2暗号化復号化部226は、先程説明したように第2解生成部223から先に受取っている解を用いる。
第2暗号化復号化部226は、解を用いて、暗号化データを復号化する。解を用いることにより、第2暗号化復号化部226で実行される復号化の方法が変わる。
この場合の解の用い方は、クライアント100の第1暗号化復号化部126での解の用いられ方に倣う。この実施形態では、クライアント100とサーバ200が共通鍵方式の暗号化通信の共通鍵として解を用いる。
いずれにせよ、第2暗号化復号化部226で、暗号化データは復号化され、元の平文のバンキング情報のデータに戻される。
上述したように、第2暗号化復号化部226には、第2解生成部223から複数の解が送られてくる場合がある。その場合には、第2暗号化復号化部226は、暗号化データに対して、すべての解を用いて復号化を試みる。11個の解が第2暗号化復号化部226に存在するのであれば、そのうちの1つだけがクライアント100でその暗号化データを生成するときに使用されたいわば「正しい」解であり、他の解は「誤った解」である。すべての解を用いて総当り的に復号化を試みた結果、暗号化データを正しく復号化することができた解が、正しい解である。第2暗号化復号化部226は、正しい解を残し、その他の解を削除する。そうすることで、第2暗号化復号化部226は、以後、正しい解を用いて、復号化の処理を実行することができるようになる。
バンキング情報のデータは、第2暗号化復号化部226から、出力部227に送られ、出力部227からインターフェイスを介して、インターネットバンキングの処理を行う他の装置へと送られ適当に使用される。
サーバ200は、その送受信機構でクライアント100から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部221へと送られる。入力部221は、第2暗号化復号化部226へ暗号化データを送る。
暗号化データを受取った第2暗号化復号化部226は暗号化データを復号化する。そのために、第2暗号化復号化部226は、先程説明したように第2解生成部223から先に受取っている解を用いる。
第2暗号化復号化部226は、解を用いて、暗号化データを復号化する。解を用いることにより、第2暗号化復号化部226で実行される復号化の方法が変わる。
この場合の解の用い方は、クライアント100の第1暗号化復号化部126での解の用いられ方に倣う。この実施形態では、クライアント100とサーバ200が共通鍵方式の暗号化通信の共通鍵として解を用いる。
いずれにせよ、第2暗号化復号化部226で、暗号化データは復号化され、元の平文のバンキング情報のデータに戻される。
上述したように、第2暗号化復号化部226には、第2解生成部223から複数の解が送られてくる場合がある。その場合には、第2暗号化復号化部226は、暗号化データに対して、すべての解を用いて復号化を試みる。11個の解が第2暗号化復号化部226に存在するのであれば、そのうちの1つだけがクライアント100でその暗号化データを生成するときに使用されたいわば「正しい」解であり、他の解は「誤った解」である。すべての解を用いて総当り的に復号化を試みた結果、暗号化データを正しく復号化することができた解が、正しい解である。第2暗号化復号化部226は、正しい解を残し、その他の解を削除する。そうすることで、第2暗号化復号化部226は、以後、正しい解を用いて、復号化の処理を実行することができるようになる。
バンキング情報のデータは、第2暗号化復号化部226から、出力部227に送られ、出力部227からインターフェイスを介して、インターネットバンキングの処理を行う他の装置へと送られ適当に使用される。
次に、サーバ200からクライアント100へ暗号化データが送信される場合について説明する。簡単にいうと、この処理は、クライアント100からサーバ200へ暗号化データが送信されるときの処理の逆である。
サーバ200には、バンキング情報のデータが入力される。バンキング情報のデータは、インターネットバンキングの処理を実行するサーバ200外の装置で作られサーバ200に入力される。バンキング情報は、例えば、ある口座の残額を示す情報、どの口座に幾ら送金を行ったという情報、過去の口座の取引履歴等についての情報である。これらについてのバンキング情報は、生成された段階では平文のデータである。
バンキング情報のデータは、インターフェイスから入力部221に送られ、更には第2暗号化復号化部226に送られる。バンキング情報のデータは暗号化されるが、そのために第2暗号化復号化部226が既に持っている上述の解が用いられる。ここで用いられる解は、先ほどと同じ解で構わない。
第2暗号化復号化部226は、第1暗号化復号化部126がバンキング情報を暗号化したのと同じ方法で、バンキング情報を暗号化して暗号化データとする。生成された暗号化データは、第2暗号化復号化部226から出力部227へと送られる。
サーバ200には、バンキング情報のデータが入力される。バンキング情報のデータは、インターネットバンキングの処理を実行するサーバ200外の装置で作られサーバ200に入力される。バンキング情報は、例えば、ある口座の残額を示す情報、どの口座に幾ら送金を行ったという情報、過去の口座の取引履歴等についての情報である。これらについてのバンキング情報は、生成された段階では平文のデータである。
バンキング情報のデータは、インターフェイスから入力部221に送られ、更には第2暗号化復号化部226に送られる。バンキング情報のデータは暗号化されるが、そのために第2暗号化復号化部226が既に持っている上述の解が用いられる。ここで用いられる解は、先ほどと同じ解で構わない。
第2暗号化復号化部226は、第1暗号化復号化部126がバンキング情報を暗号化したのと同じ方法で、バンキング情報を暗号化して暗号化データとする。生成された暗号化データは、第2暗号化復号化部226から出力部227へと送られる。
出力部227は、暗号化データをインターフェイスを介して送受信機構へと送る。暗号化データは、ネットワーク400を介してクライアント100へと送られる。
クライアント100は、その送受信機構でサーバ200から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部121へと送られる。入力部121は、第1暗号化復号化部126へ暗号化データを送る。
暗号化データを受取った第1暗号化復号化部126は暗号化データを復号化する。そのために、第1暗号化復号化部126は、第1解生成部123が生成した解を用いる。この場合の解は、第1解生成部123が既に持っている解のままで良い。
第1暗号化復号化部126は、例えば共通鍵方式で暗号化データを復号化する際の鍵として解を用いて、暗号化データを復号化し、暗号化データを元の平文のバンキング情報のデータに戻す。
バンキング情報のデータは、第1暗号化復号化部126から、出力部127に送られ、出力部127からインターフェイス114を介して、ディスプレイ101に送られる。ディスプレイ101には、サーバ200から送られてきたバンキング情報に基いて、ユーザの口座の残額、ある口座に幾ら送金されたか、或いはユーザの口座の過去の取引履歴等が表示される。
クライアント100は、その送受信機構でサーバ200から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部121へと送られる。入力部121は、第1暗号化復号化部126へ暗号化データを送る。
暗号化データを受取った第1暗号化復号化部126は暗号化データを復号化する。そのために、第1暗号化復号化部126は、第1解生成部123が生成した解を用いる。この場合の解は、第1解生成部123が既に持っている解のままで良い。
第1暗号化復号化部126は、例えば共通鍵方式で暗号化データを復号化する際の鍵として解を用いて、暗号化データを復号化し、暗号化データを元の平文のバンキング情報のデータに戻す。
バンキング情報のデータは、第1暗号化復号化部126から、出力部127に送られ、出力部127からインターフェイス114を介して、ディスプレイ101に送られる。ディスプレイ101には、サーバ200から送られてきたバンキング情報に基いて、ユーザの口座の残額、ある口座に幾ら送金されたか、或いはユーザの口座の過去の取引履歴等が表示される。
暗号化通信を行う必要がなくなったら、暗号化通信が終了する。
なお、この実施形態における通信システムでは、暗号化通信を行うS1004、S2003の過程で用いられる解は1つだけ、或いは固定であった。これに代えて、解を変化させながら複数の解を用いて暗号化通信を行うことも可能である。その場合、クライアント100とサーバ200とは、同期させながら解を変更させることが必要となる。
なお、この実施形態における通信システムでは、暗号化通信を行うS1004、S2003の過程で用いられる解は1つだけ、或いは固定であった。これに代えて、解を変化させながら複数の解を用いて暗号化通信を行うことも可能である。その場合、クライアント100とサーバ200とは、同期させながら解を変更させることが必要となる。
例えば、クライアント100からサーバ200へ、2回目の暗号化データの送信を行う場合を考える。
この場合、上述したように、入力部121から第1暗号化復号化部126へとバンキング情報のデータが送られてくる。第1暗号化復号化部126は、第1解生成部123に対して解を生成せよとの指示を送る。第1解生成部123は、この指示を受けると新たな解を生成する。ここで解を生成する場合には、例えば、新たな日時を指定する。どのような日時を指定するかというルールは、クライアント100の第1解生成部123とサーバ200の第2解生成部223とで共有されている。
第1解生成部123は、第1解生成部123から初期解を読出し、例えば、先程指定した日時である2017年9月17日18時12分に「+1分」した日時を、解を生成するための時刻として指定する。この時刻は、その時点における時刻である必要はない。もちろん、「+1分」は例示であり、これは「+1日」でも、「−1月」でも、何でも良い。
第1解生成部123は、新たに生成した解を、第1暗号化復号化部126に送る。この解を用いて第1暗号化復号化部126は暗号化の方法を決定し、バンキング情報を暗号化する。これによって、バンキング情報は暗号化データに変わる。
この暗号化データは、既に述べたようにしてクライアント100からサーバ200へと送られ、サーバ200内の第2暗号化復号化部226へと送られる。
暗号化データを受取った第2暗号化復号化部226は、第2解生成部223に対して解を生成せよとの指示を出す。第2解生成部223は、この指示を受けると新たな解を生成する。ここで解を生成する場合には、例えば、新たな日時を指定する。上述したように、どのような日時を指定するかというルールは、クライアント100の第1解生成部123とサーバ200の第2解生成部223とで共有されている。したがって、上述した例に倣えば、サーバ200で生成される解は、上述した2017年9月17日18時12分に「+1分」した日時を指定して生成されることになる。サーバ200の第2解生成部223が複数の解を生成するようになっているのであれば、その場合には、上述した「正しい」解を生成するときに指定された日時に「+1分」した日時を指定して、第2解生成部223は、新しい解を生成する。このようにして第2解生成部223で生成された新しい解は、当然に、クライアント100で生成された新しい解と同じものとなる。
この解を、第2解生成部223は第2暗号化復号化部226へと送る。第2暗号化復号化部226は、この新しい解を用いて復号化の方法を決定し、暗号化データを復号化する。この新しい解は、クライアント100で生成されその暗号化データを生成するときに第1暗号化復号化部126で使用するときに用いられたた解と同じであるから、第2暗号化復号化部226は、暗号化データを正しく復号化することができる。
この場合、上述したように、入力部121から第1暗号化復号化部126へとバンキング情報のデータが送られてくる。第1暗号化復号化部126は、第1解生成部123に対して解を生成せよとの指示を送る。第1解生成部123は、この指示を受けると新たな解を生成する。ここで解を生成する場合には、例えば、新たな日時を指定する。どのような日時を指定するかというルールは、クライアント100の第1解生成部123とサーバ200の第2解生成部223とで共有されている。
第1解生成部123は、第1解生成部123から初期解を読出し、例えば、先程指定した日時である2017年9月17日18時12分に「+1分」した日時を、解を生成するための時刻として指定する。この時刻は、その時点における時刻である必要はない。もちろん、「+1分」は例示であり、これは「+1日」でも、「−1月」でも、何でも良い。
第1解生成部123は、新たに生成した解を、第1暗号化復号化部126に送る。この解を用いて第1暗号化復号化部126は暗号化の方法を決定し、バンキング情報を暗号化する。これによって、バンキング情報は暗号化データに変わる。
この暗号化データは、既に述べたようにしてクライアント100からサーバ200へと送られ、サーバ200内の第2暗号化復号化部226へと送られる。
暗号化データを受取った第2暗号化復号化部226は、第2解生成部223に対して解を生成せよとの指示を出す。第2解生成部223は、この指示を受けると新たな解を生成する。ここで解を生成する場合には、例えば、新たな日時を指定する。上述したように、どのような日時を指定するかというルールは、クライアント100の第1解生成部123とサーバ200の第2解生成部223とで共有されている。したがって、上述した例に倣えば、サーバ200で生成される解は、上述した2017年9月17日18時12分に「+1分」した日時を指定して生成されることになる。サーバ200の第2解生成部223が複数の解を生成するようになっているのであれば、その場合には、上述した「正しい」解を生成するときに指定された日時に「+1分」した日時を指定して、第2解生成部223は、新しい解を生成する。このようにして第2解生成部223で生成された新しい解は、当然に、クライアント100で生成された新しい解と同じものとなる。
この解を、第2解生成部223は第2暗号化復号化部226へと送る。第2暗号化復号化部226は、この新しい解を用いて復号化の方法を決定し、暗号化データを復号化する。この新しい解は、クライアント100で生成されその暗号化データを生成するときに第1暗号化復号化部126で使用するときに用いられたた解と同じであるから、第2暗号化復号化部226は、暗号化データを正しく復号化することができる。
このようにして、クライアント100からサーバ200へ、暗号化データの送信を行う度に、新しい解を用いることができる。
同様に、サーバ200からクライアントへ暗号化データを送信する場合にも、暗号化データを送信する度に、新しく生成された解を用いることができる。
このようにすれば、クライアント100とサーバ200の間で行われる一回の通信の最中であっても、暗号化、復号化の方法を変えることが可能となる。これにより、暗号化通信の安全性がより高くなる。
更にいえば、暗号化、復号化の方法を変えるタイミングは、暗号化データをクライアント100とサーバ200の一方から他方へ送る度とする必要はない。例えば、暗号化データがクライアント100とサーバ200の一方から他方へ所定の回数送信される度に解を変えるとか、最初の解を生成するときに第1解生成部123と第2解生成部223とで指定された日時から、所定の時間経過する度に解を変える等としても良い。
同様に、サーバ200からクライアントへ暗号化データを送信する場合にも、暗号化データを送信する度に、新しく生成された解を用いることができる。
このようにすれば、クライアント100とサーバ200の間で行われる一回の通信の最中であっても、暗号化、復号化の方法を変えることが可能となる。これにより、暗号化通信の安全性がより高くなる。
更にいえば、暗号化、復号化の方法を変えるタイミングは、暗号化データをクライアント100とサーバ200の一方から他方へ送る度とする必要はない。例えば、暗号化データがクライアント100とサーバ200の一方から他方へ所定の回数送信される度に解を変えるとか、最初の解を生成するときに第1解生成部123と第2解生成部223とで指定された日時から、所定の時間経過する度に解を変える等としても良い。
また、上述の例では、基本的に、あるクライアント100内の第1初期解記録部124に記録された初期解と、第2初期解記録部224に記録されたそのクライアント100を持つユーザの識別情報と紐付けられた初期解とは、常に固定であった。かかる初期解は、クライアント100とサーバ200とで同期しつつ、つまり、同じであるという条件を保ちつつ、クライアント100とサーバ200とで書換えることが可能である。
例えば、第1解生成部123は、第1初期解記録部124から初期解を読み出して解を生成した場合は常に、新たに生成した解で、第1初期解記録部124に記録されていた初期解を上書きすることが可能である。この場合、第2解生成部223は、第2初期解記録部224から初期解を読み出して解を生成した場合は常に、新たに生成した解で、第2初期解記録部224に記録されていた解のうち、読出した初期解を上書きする。
また、クライアント100とサーバ200が、上述したように、暗号化データをその一方から他方に送信する度に新たな解を生成するようになっているのであれば、第1解生成部123は、その通信の間に最後に生成した解で、第1初期解記録部124に記録されていた初期解を上書きすることが可能である。この場合、第2解生成部223は、その通信の間に最後に生成した解で、第2初期解記録部224に記録されていた初期解を上書きする。
これらは勿論例示であるが、クライアント100とサーバ200とで初期解の更新のための何らかのルールを共有することで、初期解も変化させることが可能となる。これも暗号化通信の安全性を高めることは自明であろう。
例えば、第1解生成部123は、第1初期解記録部124から初期解を読み出して解を生成した場合は常に、新たに生成した解で、第1初期解記録部124に記録されていた初期解を上書きすることが可能である。この場合、第2解生成部223は、第2初期解記録部224から初期解を読み出して解を生成した場合は常に、新たに生成した解で、第2初期解記録部224に記録されていた解のうち、読出した初期解を上書きする。
また、クライアント100とサーバ200が、上述したように、暗号化データをその一方から他方に送信する度に新たな解を生成するようになっているのであれば、第1解生成部123は、その通信の間に最後に生成した解で、第1初期解記録部124に記録されていた初期解を上書きすることが可能である。この場合、第2解生成部223は、その通信の間に最後に生成した解で、第2初期解記録部224に記録されていた初期解を上書きする。
これらは勿論例示であるが、クライアント100とサーバ200とで初期解の更新のための何らかのルールを共有することで、初期解も変化させることが可能となる。これも暗号化通信の安全性を高めることは自明であろう。
<変形例1>
変形例1の通信システムについて説明する。
変形例1の通信システムは、殆ど上述の実施形態における通信システムと変わらない。変形例1の通信システムも上述の実施形態の場合と同様、多数のクライアント100と、サーバ200とにより構成される。
クライアント100もサーバ200も、それらのハードウェア構成及びそれらの内部に生成される機能ブロックとも、上述の実施形態の場合と同じである。
唯一異なるのは、変形例1のクライアント100とサーバ200は、同期情報を扱うという点である。かかる相違点により、変形例1のクライアント100とサーバ200における機能ブロックのうちの一部の機能ブロックは、その機能が上述の実施形態の場合とやや異なる。
変形例1の通信システムについて説明する。
変形例1の通信システムは、殆ど上述の実施形態における通信システムと変わらない。変形例1の通信システムも上述の実施形態の場合と同様、多数のクライアント100と、サーバ200とにより構成される。
クライアント100もサーバ200も、それらのハードウェア構成及びそれらの内部に生成される機能ブロックとも、上述の実施形態の場合と同じである。
唯一異なるのは、変形例1のクライアント100とサーバ200は、同期情報を扱うという点である。かかる相違点により、変形例1のクライアント100とサーバ200における機能ブロックのうちの一部の機能ブロックは、その機能が上述の実施形態の場合とやや異なる。
変形例1のクライアント100で、上述の実施形態と機能が異なるのは、主に第1解生成部123である。変形例1のサーバ200で、上述の実施形態と機能が異なるのは、主に第2解生成部223である。
それを踏まえて、変形例1の通信システムの使用方法と、動作を説明する。
それを踏まえて、変形例1の通信システムの使用方法と、動作を説明する。
インターネットバンキングを利用しようとするユーザは、識別情報であるユーザIDの入力を行う(S1001)。これは上述の実施形態と同じでよい。識別情報のデータは、インターフェイス114を介して入力部121に送られ、入力部121から主制御部122に送られる。
識別情報を受取ると、主制御部122は、識別情報を出力部127に送る。
他方、クライアント100の主制御部122は、入力部121から受取った識別情報を出力部127に送る際に、第1解生成部123に対して、解を生成せよとの指示を送る。かかる指示を受取った第1解生成部123が解を生成する(S1003)。解の生成の方法は、上述の実施形態の場合と変わらない。解を生成する際に第1解生成部123で指定される日時は、「第1解生成部123が解を生成しようとするその時点における日時」である。変形例1でも、生成された解は、第1暗号化復号化部126へと送られる。
ここで、変形例1の第1解生成部123は、上述の実施形態では行わなかった処理を行う。第1解生成部123は、「第1解生成部123が解を生成しようとするその時点における日時」を特定する情報を同期情報として生成し、それを出力部127に送る。上述の実施形態を例に取るなら、2017年9月17日18時12分という日時を特定する情報が同期情報となる。
識別情報を受取ると、主制御部122は、識別情報を出力部127に送る。
他方、クライアント100の主制御部122は、入力部121から受取った識別情報を出力部127に送る際に、第1解生成部123に対して、解を生成せよとの指示を送る。かかる指示を受取った第1解生成部123が解を生成する(S1003)。解の生成の方法は、上述の実施形態の場合と変わらない。解を生成する際に第1解生成部123で指定される日時は、「第1解生成部123が解を生成しようとするその時点における日時」である。変形例1でも、生成された解は、第1暗号化復号化部126へと送られる。
ここで、変形例1の第1解生成部123は、上述の実施形態では行わなかった処理を行う。第1解生成部123は、「第1解生成部123が解を生成しようとするその時点における日時」を特定する情報を同期情報として生成し、それを出力部127に送る。上述の実施形態を例に取るなら、2017年9月17日18時12分という日時を特定する情報が同期情報となる。
出力部127は、先に受け取っていた識別情報のみならず同期情報をも、サーバ200に送る。この過程は、同期情報が識別情報と一緒に送信されるという点で、識別情報のみが送られる上述の実施形態におけるS1002の処理と若干異なるものとなる。なお、上述の実施形態では、S1002の処理とS1003の処理の先後は問わないが、変形例1ではS1002の処理は、S1003の処理の後に実行されることになる。
サーバ200は、識別情報と同期情報とを受取る。ここでも、サーバ200が識別情報のみならず、同期情報をも受取る分だけ、上述の実施形態におけるS2001の処理とは異なる処理となる。
識別情報と同期情報とを受け取ったら、サーバ200は、解を生成する。識別情報と同期情報は、入力部221から主制御部222を経て、解を生成せよという指示とともに第2解生成部223へと送られる。
これを受取った第2解生成部223は、解を生成する(S2002)。第2解生成部223が実行する解の生成の処理は、基本的に上述の実施形態の場合と同じである。唯一異なるのが、第2解生成部223が解を生成するときに指定する日時である。上述の実施形態では第2解生成部223は、「第2解生成部223が解を生成しようとするその時点における日時」或いはその前後数分の日時を、解を生成するときに指定する日時として選択するようになっていた。これと異なり、第2解生成部223は、「同期情報で特定された日時」を、解を生成するときに指定する日時として選択するようになっている。
勿論、第2解生成部223においてこれにより指定される日時は、第1解生成部123において解を生成するときに指定された日時と必ず一致することになる。これにより、第2解生成部223は、1つしか解を生成しないとしても、第1解生成部123と同じ解を必ず生成できることになる。このような同期情報を用いるのであれば、解は分単位どころか、秒単位或いは0.01秒単位で変化するようなものとなっていても一向に構わない。
生成された解は、第2解生成部223から第2暗号化復号化部226へと送られる。
サーバ200は、識別情報と同期情報とを受取る。ここでも、サーバ200が識別情報のみならず、同期情報をも受取る分だけ、上述の実施形態におけるS2001の処理とは異なる処理となる。
識別情報と同期情報とを受け取ったら、サーバ200は、解を生成する。識別情報と同期情報は、入力部221から主制御部222を経て、解を生成せよという指示とともに第2解生成部223へと送られる。
これを受取った第2解生成部223は、解を生成する(S2002)。第2解生成部223が実行する解の生成の処理は、基本的に上述の実施形態の場合と同じである。唯一異なるのが、第2解生成部223が解を生成するときに指定する日時である。上述の実施形態では第2解生成部223は、「第2解生成部223が解を生成しようとするその時点における日時」或いはその前後数分の日時を、解を生成するときに指定する日時として選択するようになっていた。これと異なり、第2解生成部223は、「同期情報で特定された日時」を、解を生成するときに指定する日時として選択するようになっている。
勿論、第2解生成部223においてこれにより指定される日時は、第1解生成部123において解を生成するときに指定された日時と必ず一致することになる。これにより、第2解生成部223は、1つしか解を生成しないとしても、第1解生成部123と同じ解を必ず生成できることになる。このような同期情報を用いるのであれば、解は分単位どころか、秒単位或いは0.01秒単位で変化するようなものとなっていても一向に構わない。
生成された解は、第2解生成部223から第2暗号化復号化部226へと送られる。
変形例1以降における暗号化通信に関するS1004、S2003の処理は、上述の実施形態の場合と変わらない。
なお、変形例1における同期情報は、「第1解生成部123が解を生成しようとするその時点における日時」であったが、同期情報はそうである必要がない。
例えば、同期情報は、遥か昔でも遥か将来でも構わない適当な日時を特定するものとすることができる。第1解生成部123と第2解生成部223とが同期した状態で同一の解を生成できるようにするためには、指定される日時はいつだとしても構わないが、解を生成する際に同一の日時を指定することのみが必要である。したがって、例えば第1解生成部123は、例えばランダムにその日時を指定して解を生成するとともに、そのランダムに指定された日時を特定する情報を同期情報とすることができる。その同期情報を識別情報とともに受取ったサーバ200の第2解生成部223は、その同期情報で特定される日時を指定して解を生成することで、第1解生成部123が生成したのと同一の解を生成することができる。
また、同期情報は、必ずしもある日時を特定する情報である必要はない。
例えば、第1解生成部123と第2解生生成部223とが、「分」単位で、異なる解を生成する場合であり、クライアント100とサーバ200の時計が正確で且つ両者間での通信のタイムラグが略ないことが保証されているとする。そのような場合には、既に述べたように、問題が生じるのは、クライアント100の第1解生成部123で解が2017年10月3日20時41分59秒に、2017年10月3日20時41分を指定して生成され、且つサーバ200の第2解生成部223で解が2017年10月3日20時42分2秒に、2017年10月3日20時42分2秒を指定して生成されるような場合のみである。このように、クライアント100で解が生成されるタイミングが、分を跨ぐタイミングとほど近い場合には、クライアント100とサーバ200で生成される解は異なるものとなる可能性がある。そのような場合、クライアント100からサーバ200へ送られる同期情報は、「前半」或いは「後半」という情報のいずれかとすることができる。「前半」とは、ある分の前半30秒の間に解が生成されたということを特定し、「前半」とは、ある分の後半30秒の間に解が生成されたということを特定する情報である。かかる情報を受取ったサーバ200の第2解生成部223は、その同期情報から、クライアント100の第1解生成部123で解を生成するときに特定された日時が、2017年10月3日20時41分なのか、2017年10月3日20時42分なのかを把握することができる。サーバ200が識別情報と同期情報とをクライアント100から受取るタイミングは、2017年10月3日20時41分から2017年10月3日20時42分に切り換わる狭間のタイミングであろうが、同期情報が「前半」であれば、第1解生成部123で指定された日時は2017年10月3日20時42分であり、同期情報が「後半」であれば、第1解生成部123で指定された日時は2017年10月3日20時41分であると特定できる。
例えば、同期情報は、遥か昔でも遥か将来でも構わない適当な日時を特定するものとすることができる。第1解生成部123と第2解生成部223とが同期した状態で同一の解を生成できるようにするためには、指定される日時はいつだとしても構わないが、解を生成する際に同一の日時を指定することのみが必要である。したがって、例えば第1解生成部123は、例えばランダムにその日時を指定して解を生成するとともに、そのランダムに指定された日時を特定する情報を同期情報とすることができる。その同期情報を識別情報とともに受取ったサーバ200の第2解生成部223は、その同期情報で特定される日時を指定して解を生成することで、第1解生成部123が生成したのと同一の解を生成することができる。
また、同期情報は、必ずしもある日時を特定する情報である必要はない。
例えば、第1解生成部123と第2解生生成部223とが、「分」単位で、異なる解を生成する場合であり、クライアント100とサーバ200の時計が正確で且つ両者間での通信のタイムラグが略ないことが保証されているとする。そのような場合には、既に述べたように、問題が生じるのは、クライアント100の第1解生成部123で解が2017年10月3日20時41分59秒に、2017年10月3日20時41分を指定して生成され、且つサーバ200の第2解生成部223で解が2017年10月3日20時42分2秒に、2017年10月3日20時42分2秒を指定して生成されるような場合のみである。このように、クライアント100で解が生成されるタイミングが、分を跨ぐタイミングとほど近い場合には、クライアント100とサーバ200で生成される解は異なるものとなる可能性がある。そのような場合、クライアント100からサーバ200へ送られる同期情報は、「前半」或いは「後半」という情報のいずれかとすることができる。「前半」とは、ある分の前半30秒の間に解が生成されたということを特定し、「前半」とは、ある分の後半30秒の間に解が生成されたということを特定する情報である。かかる情報を受取ったサーバ200の第2解生成部223は、その同期情報から、クライアント100の第1解生成部123で解を生成するときに特定された日時が、2017年10月3日20時41分なのか、2017年10月3日20時42分なのかを把握することができる。サーバ200が識別情報と同期情報とをクライアント100から受取るタイミングは、2017年10月3日20時41分から2017年10月3日20時42分に切り換わる狭間のタイミングであろうが、同期情報が「前半」であれば、第1解生成部123で指定された日時は2017年10月3日20時42分であり、同期情報が「後半」であれば、第1解生成部123で指定された日時は2017年10月3日20時41分であると特定できる。
また、同期情報は、解の一部であってもよい。
上述の例では、同期情報を生成するのは第1解生成部123であった。同様に、同期情報が解の一部であるときにおいても、同期情報は第1解生成部123が生成する。この場合においても、識別情報がクライアント100からサーバ200へと送信される前に、クライアント100の第1解生成部123が解を生成する。このときクライアント100の第1解生成部123では、「第1解生成部123が解を生成しようとするその時点における日時」を指定して解が生成される。第1解生成部123が生成した解は、既に説明したように第1暗号化復号化部126へと送られる。他方、第1解生成部123は、生成した解から一部解を生成する。一部解は、解からその一部を抜き出したものである。一部解は、変形例2で追って説明するものと同じ方法で生成することができ、変形例2で追って説明するものと同じものとすることができる。一部解を生成するために、変形例1のクライアント100の機能ブロック中に、変形例2で説明する第1一部解生成部125を設けることも当然に可能である。
識別情報をクライアント100からサーバ200へと送信するときに、第1解生成部123が生成した一部解を、クライアント100は、識別情報とともにサーバ200へと送る。サーバ200はそれらを受取る。一部解は識別情報とともに、入力部221から主制御部222へと送られ、主制御部222から第2解生成部223へと送られる。それらを受取った第2解生成部223は、上述の実施形態の場合と同じ方法で解を生成する。この場合第2解生成部223は、識別情報をサーバ200が受取った日時の前後のある程度の範囲の日時を指定して、複数の解を生成する。それら複数の解の中には、一部解を含んでいるものが存在する。その一部解を含んでいる解を、第2解生成部223は選択し、残りの解を削除する。第2解生成部223は、その選択した解を第2暗号化復号化部226へと送る。
これにより、クライアント100の第1暗号化復号化部126と、サーバ200の第2暗号化復号化部226は同じ解を共有したこととなった。第1実施形態において説明した、暗号化通信に関するS1004、S2003の処理と同じ処理が以後行われる。
ネットワーク400を送信されてきた一部解を含む解を暗号化通信に用いることに安全上の懸念があるのであれば、クライアント100とサーバ200とは同期させて新たな解を生成し、それを暗号化通信に用いることができる。
上述の例では、同期情報を生成するのは第1解生成部123であった。同様に、同期情報が解の一部であるときにおいても、同期情報は第1解生成部123が生成する。この場合においても、識別情報がクライアント100からサーバ200へと送信される前に、クライアント100の第1解生成部123が解を生成する。このときクライアント100の第1解生成部123では、「第1解生成部123が解を生成しようとするその時点における日時」を指定して解が生成される。第1解生成部123が生成した解は、既に説明したように第1暗号化復号化部126へと送られる。他方、第1解生成部123は、生成した解から一部解を生成する。一部解は、解からその一部を抜き出したものである。一部解は、変形例2で追って説明するものと同じ方法で生成することができ、変形例2で追って説明するものと同じものとすることができる。一部解を生成するために、変形例1のクライアント100の機能ブロック中に、変形例2で説明する第1一部解生成部125を設けることも当然に可能である。
識別情報をクライアント100からサーバ200へと送信するときに、第1解生成部123が生成した一部解を、クライアント100は、識別情報とともにサーバ200へと送る。サーバ200はそれらを受取る。一部解は識別情報とともに、入力部221から主制御部222へと送られ、主制御部222から第2解生成部223へと送られる。それらを受取った第2解生成部223は、上述の実施形態の場合と同じ方法で解を生成する。この場合第2解生成部223は、識別情報をサーバ200が受取った日時の前後のある程度の範囲の日時を指定して、複数の解を生成する。それら複数の解の中には、一部解を含んでいるものが存在する。その一部解を含んでいる解を、第2解生成部223は選択し、残りの解を削除する。第2解生成部223は、その選択した解を第2暗号化復号化部226へと送る。
これにより、クライアント100の第1暗号化復号化部126と、サーバ200の第2暗号化復号化部226は同じ解を共有したこととなった。第1実施形態において説明した、暗号化通信に関するS1004、S2003の処理と同じ処理が以後行われる。
ネットワーク400を送信されてきた一部解を含む解を暗号化通信に用いることに安全上の懸念があるのであれば、クライアント100とサーバ200とは同期させて新たな解を生成し、それを暗号化通信に用いることができる。
<変形例2>
変形例2の通信システムについて説明する。
変形例2の通信システムは、殆ど上述の実施形態における通信システムと変わらない。変形例2の通信システムも上述の実施形態の場合と同様、多数のクライアント100と、サーバ200とにより構成される。
クライアント100もサーバ200も、それらのハードウェア構成は上述の実施形態と変わらない。ただし、変形例2では、クライアント100もサーバ200も、その内部に生成される機能ブロックが、上述の実施形態の場合と異なる。
変形例2の通信システムについて説明する。
変形例2の通信システムは、殆ど上述の実施形態における通信システムと変わらない。変形例2の通信システムも上述の実施形態の場合と同様、多数のクライアント100と、サーバ200とにより構成される。
クライアント100もサーバ200も、それらのハードウェア構成は上述の実施形態と変わらない。ただし、変形例2では、クライアント100もサーバ200も、その内部に生成される機能ブロックが、上述の実施形態の場合と異なる。
変形例2のクライアント100には、上述の実施形態の場合には存在しなかった第1一部解生成部125が、変形例2のサーバ200には、上述の実施形態の場合には存在しなかった第2一部解生成部225と、認証部228とがそれぞれ存在している。
これらが存在することで、変形例2の通信システムは、後述する一部解を用いた認証の処理を実行することができる。その点を踏まえて、以上の機能ブロックの機能にも言及しつつ、変形例2の通信システムの使用方法と、動作を図9を参照して説明する。
これらが存在することで、変形例2の通信システムは、後述する一部解を用いた認証の処理を実行することができる。その点を踏まえて、以上の機能ブロックの機能にも言及しつつ、変形例2の通信システムの使用方法と、動作を図9を参照して説明する。
インターネットバンキングを利用しようとするユーザは、識別情報であるユーザIDの入力を行う(S1001)。これは上述の実施形態と同じでよい。識別情報のデータは、インターフェイス114を介して入力部121に送られ、入力部121から主制御部122に送られる。
識別情報を受取ると、主制御部122は、識別情報を出力部127に送る。
他方、クライアント100の主制御部122は、入力部121から受取った識別情報を出力部127に送る際に、第1解生成部123に対して、解を生成せよとの指示を送る。かかる指示を受取った第1解生成部123が解を生成する(S1003)。解の生成の方法は、上述の実施形態の場合と変わらない。上述の実施形態では、生成された解が第1暗号化復号化部126へと送られたが、変形例2では、上述の実施形態の場合と異なり、生成された解は第1解生成部123から、第1暗号化復号化部126と第1一部解生成部125との双方へと送られる。
第1第1一部解生成部125は、解を受取ると一部解を生成する(S1005)。一部解は、解を構成する文字等から、適当な数の文字等を抜き出したものである。第1一部解生成部125が解から一部解を生成する方法はどのようなものであってもよいし、また、常に同じである必要はない。もっとも、解を生成する方法は、第2一部解生成部225と共有されている必要がある。解から一部解を生成する方法は例えば、解が20桁(20文字)で生成されると仮定した場合に、解の最初の10桁を取出す、奇数桁目のみを取出す、2〜9桁目を取出す、或いは英数字混じりの解から数字のみを取出す等とすることができる。
第1一部解生成部125は、一部解を生成したら、それを出力部127へと送る。
識別情報を受取ると、主制御部122は、識別情報を出力部127に送る。
他方、クライアント100の主制御部122は、入力部121から受取った識別情報を出力部127に送る際に、第1解生成部123に対して、解を生成せよとの指示を送る。かかる指示を受取った第1解生成部123が解を生成する(S1003)。解の生成の方法は、上述の実施形態の場合と変わらない。上述の実施形態では、生成された解が第1暗号化復号化部126へと送られたが、変形例2では、上述の実施形態の場合と異なり、生成された解は第1解生成部123から、第1暗号化復号化部126と第1一部解生成部125との双方へと送られる。
第1第1一部解生成部125は、解を受取ると一部解を生成する(S1005)。一部解は、解を構成する文字等から、適当な数の文字等を抜き出したものである。第1一部解生成部125が解から一部解を生成する方法はどのようなものであってもよいし、また、常に同じである必要はない。もっとも、解を生成する方法は、第2一部解生成部225と共有されている必要がある。解から一部解を生成する方法は例えば、解が20桁(20文字)で生成されると仮定した場合に、解の最初の10桁を取出す、奇数桁目のみを取出す、2〜9桁目を取出す、或いは英数字混じりの解から数字のみを取出す等とすることができる。
第1一部解生成部125は、一部解を生成したら、それを出力部127へと送る。
出力部127は、上述のように、主制御部122から識別情報を受取り、また、第1一部解生成部125から一部解を受取る。これらを受取った出力部127は、一部解と識別情報とを、ひとまとめにして同時にサーバ200に送るべく、それらのデータをインターフェイス114に送る。
それらのデータはインターフェイス114から送受信機構に送られ、通常のインターネットの通信で用いられている技術にしたがって送受信機構でヘッダ等を付された上で、送受信機構からネットワーク400を介してサーバ200に送られる(S1006)。
それらのデータはインターフェイス114から送受信機構に送られ、通常のインターネットの通信で用いられている技術にしたがって送受信機構でヘッダ等を付された上で、送受信機構からネットワーク400を介してサーバ200に送られる(S1006)。
サーバ200は、その送受信機構で、クライアント100から送られてきた一部解と識別情報とのデータを受取る(S2004)。より詳細には、サーバ200は、その送受信機構で、クライアント100から送られてきた一部解と識別情報とをまとめて同時に受取る。
それらは、サーバ200のインターフェイスに送られ、インターフェイスから入力部221に送られる。入力部221は、一部解と識別情報のデータをインターフェイスから受取ると、それらを主制御部222に送る。
主制御部222は、入力部221から一部解と識別情報のデータを受取ると、一部解のデータを認証部228に送り、識別情報と解を生成せよとの指示とを第2解生成部223に送る。
それらは、サーバ200のインターフェイスに送られ、インターフェイスから入力部221に送られる。入力部221は、一部解と識別情報のデータをインターフェイスから受取ると、それらを主制御部222に送る。
主制御部222は、入力部221から一部解と識別情報のデータを受取ると、一部解のデータを認証部228に送り、識別情報と解を生成せよとの指示とを第2解生成部223に送る。
第2解生成部223は、識別情報とともに、解を生成せよとの指示を受取ると解を生成する(S2002)。
第2解生成部223が解を生成する方法は、上述の実施形態の場合と同様で良い。場合によっては、上述の実施形態の場合と同様に、第2解生成部223は複数の解を生成する。
第2解生成部223は、生成した解を、第2暗号化復号化部226と、第2一部解生成部225の双方へ送る。
第2一部解生成部225は、解を受取ると、解から一部解を生成する(S2005)。第2一部解生成部225が解から一部解を生成する方法は、クライアント100の第1一部解生成部125が解から一部解を生成する方法と同じである。
第2一部解生成部225が解から一部解を生成した場合、第2一部解生成部225は、その一部解を認証部228に送る。第2一部解生成部225は、複数の解を第2解生成部223から受取った場合には複数の一部解を生成し、それらのすべてを認証部228に送る。
第2解生成部223が解を生成する方法は、上述の実施形態の場合と同様で良い。場合によっては、上述の実施形態の場合と同様に、第2解生成部223は複数の解を生成する。
第2解生成部223は、生成した解を、第2暗号化復号化部226と、第2一部解生成部225の双方へ送る。
第2一部解生成部225は、解を受取ると、解から一部解を生成する(S2005)。第2一部解生成部225が解から一部解を生成する方法は、クライアント100の第1一部解生成部125が解から一部解を生成する方法と同じである。
第2一部解生成部225が解から一部解を生成した場合、第2一部解生成部225は、その一部解を認証部228に送る。第2一部解生成部225は、複数の解を第2解生成部223から受取った場合には複数の一部解を生成し、それらのすべてを認証部228に送る。
認証部228は、主制御部222から、クライアント100で生成された一部解を、第2一部解生成部225から、サーバ200で生成された一部解を、それぞれ受取る。
認証部228は、それら一部解を用いて認証を行う(S2006)。
認証部228は、クライアント100で生成された一部解を、サーバ200で生成された一部解と比較し、前者が後者と一致した場合には、一部解を送ってきたクライアント100が適正なものであると認証し、前者が後者と一致しなかった場合には、一部解を送ってきたクライアント100が適正なものであるとの認証を行わない。認証部228が複数の一部解を第2一部解生成部225から受け取った場合には、認証部228は、クライアント100で生成された一部解を、サーバ200で生成された複数の一部解と比較し、前者が後者のうちの1つと一致した場合には、一部解を送ってきたクライアント100が適正なものであると認証し、前者が後者のいずれとも一致しなかった場合には、一部解を送ってきたクライアント100が適正なものであるとの認証を行わない。
これで認証を行えるのは、クライアント100の第1解生成部123と、サーバ200の第2解生成部223とは、同じ初期値と、同じ指定された日時を用いれば、必ず同じ解、或いは同じ解に基いて生成される同じ一部解を生成することができるということが保証されているからである。クライアント100がサーバ200が生成するのと同じ一部解を生成できたということは、クライアント100が真正であるということを意味するため、上述の認証方式が成立しうる。しかもかかる認証方式では、解の一部のみをネットワーク400を介して送信するものであり、解の全体をネットワーク400を介して送信しないので、悪意の第三者にその一部解を盗まれたとしても、その被害は限定的であり、解の生成の手法を第三者に看破される可能性は低い。もっとも、安全性に多少目を瞑るのであれば、クライアント100からサーバ200へ送るのは一部解でなく解であってもよい。その場合には、第1一部解生成部125と第2一部解生成部225は不要になり、認証部228はクライアント100から送られてきた解と、サーバ200で生成された解とを比較することになる。
なお、変形例1で説明した同期情報を用いれば、サーバ200が生成する解は、1つで済む。
認証が行われた場合には、認証部228は、そのクライアント100について認証が行われたということを示すデータである認証データを生成し、それを主制御部222と出力部227とに送る。認証が行われなかった場合には、クライアント100とサーバ200との間の通信はそこで終了となる。ユーザは、クライアント100を操作して、再度ユーザIDである識別情報の入力を行う処理に戻る。
認証部228は、それら一部解を用いて認証を行う(S2006)。
認証部228は、クライアント100で生成された一部解を、サーバ200で生成された一部解と比較し、前者が後者と一致した場合には、一部解を送ってきたクライアント100が適正なものであると認証し、前者が後者と一致しなかった場合には、一部解を送ってきたクライアント100が適正なものであるとの認証を行わない。認証部228が複数の一部解を第2一部解生成部225から受け取った場合には、認証部228は、クライアント100で生成された一部解を、サーバ200で生成された複数の一部解と比較し、前者が後者のうちの1つと一致した場合には、一部解を送ってきたクライアント100が適正なものであると認証し、前者が後者のいずれとも一致しなかった場合には、一部解を送ってきたクライアント100が適正なものであるとの認証を行わない。
これで認証を行えるのは、クライアント100の第1解生成部123と、サーバ200の第2解生成部223とは、同じ初期値と、同じ指定された日時を用いれば、必ず同じ解、或いは同じ解に基いて生成される同じ一部解を生成することができるということが保証されているからである。クライアント100がサーバ200が生成するのと同じ一部解を生成できたということは、クライアント100が真正であるということを意味するため、上述の認証方式が成立しうる。しかもかかる認証方式では、解の一部のみをネットワーク400を介して送信するものであり、解の全体をネットワーク400を介して送信しないので、悪意の第三者にその一部解を盗まれたとしても、その被害は限定的であり、解の生成の手法を第三者に看破される可能性は低い。もっとも、安全性に多少目を瞑るのであれば、クライアント100からサーバ200へ送るのは一部解でなく解であってもよい。その場合には、第1一部解生成部125と第2一部解生成部225は不要になり、認証部228はクライアント100から送られてきた解と、サーバ200で生成された解とを比較することになる。
なお、変形例1で説明した同期情報を用いれば、サーバ200が生成する解は、1つで済む。
認証が行われた場合には、認証部228は、そのクライアント100について認証が行われたということを示すデータである認証データを生成し、それを主制御部222と出力部227とに送る。認証が行われなかった場合には、クライアント100とサーバ200との間の通信はそこで終了となる。ユーザは、クライアント100を操作して、再度ユーザIDである識別情報の入力を行う処理に戻る。
認証データは、上述のように、出力部227に送られる。出力部227は、認証データを受取ると、それをインターフェイスに出力する。この認証データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク400を介してクライアント100に送られる(S2007)。
クライアント100は、サーバ200から送られてきた認証データを受取る。より詳細には、クライアント100は、その送受信機構で認証データを受取る(S1007)。
認証データは、送受信機構からインターフェイス114を経て、入力部121に送られる。入力部121は、認証データを主制御部122へと送る。認証データを受取った主制御部122は、第1暗号化復号化部126に暗号化と、復号化を行って良い、との指示を行う。
クライアント100は、サーバ200から送られてきた認証データを受取る。より詳細には、クライアント100は、その送受信機構で認証データを受取る(S1007)。
認証データは、送受信機構からインターフェイス114を経て、入力部121に送られる。入力部121は、認証データを主制御部122へと送る。認証データを受取った主制御部122は、第1暗号化復号化部126に暗号化と、復号化を行って良い、との指示を行う。
この状態で、クライアント100とサーバ200との間で暗号化通信が行われる(S1004、S2003)。
この状態で、第1暗号化復号化部126と、第2暗号化復号化部226とは、上述の実施形態の場合と同様に同じ解を持っているから、上述の実施形態の場合と同様に、暗号化通信を行うことが可能である。つまり、変形例2における以降の処理は、上述の実施形態の場合と同じでよい。
もっとも、変形例2では、第1暗号化復号化部126と、第2暗号化復号化部226が共通して持っている、場合によっては共通鍵方式の暗号化通信で鍵として用いられる解は、その一部が一部解として、ネットワーク400上を送信されたものである。したがって、第1暗号化復号化部126と、第2暗号化復号化部226が持っている解により、両者における暗号化と復号化の方法を決定するのが安全性の面から見て問題だとも考え得る。そのような問題を避けるのであれば、既に説明したのと同じ方法で、第1暗号化復号化部126には第1解生成部123から、第2暗号化復号化部226には第2解生成部223から、同期された同じ解を提供するようにすれば良い。
この状態で、第1暗号化復号化部126と、第2暗号化復号化部226とは、上述の実施形態の場合と同様に同じ解を持っているから、上述の実施形態の場合と同様に、暗号化通信を行うことが可能である。つまり、変形例2における以降の処理は、上述の実施形態の場合と同じでよい。
もっとも、変形例2では、第1暗号化復号化部126と、第2暗号化復号化部226が共通して持っている、場合によっては共通鍵方式の暗号化通信で鍵として用いられる解は、その一部が一部解として、ネットワーク400上を送信されたものである。したがって、第1暗号化復号化部126と、第2暗号化復号化部226が持っている解により、両者における暗号化と復号化の方法を決定するのが安全性の面から見て問題だとも考え得る。そのような問題を避けるのであれば、既に説明したのと同じ方法で、第1暗号化復号化部126には第1解生成部123から、第2暗号化復号化部226には第2解生成部223から、同期された同じ解を提供するようにすれば良い。
100 クライアント
101 ディスプレイ
102 入力装置
121 入力部
122 主制御部
123 第1解生成部
124 第1初期解記録部
125 第1一部解生成部
126 第1暗号化復号化部
127 出力部
221 入力部
222 主制御部
223 第2解生成部
224 第2初期解記録部
225 第2一部解生成部
226 第2暗号化復号化部
227 出力部
228 認証部
101 ディスプレイ
102 入力装置
121 入力部
122 主制御部
123 第1解生成部
124 第1初期解記録部
125 第1一部解生成部
126 第1暗号化復号化部
127 出力部
221 入力部
222 主制御部
223 第2解生成部
224 第2初期解記録部
225 第2一部解生成部
226 第2暗号化復号化部
227 出力部
228 認証部
Claims (13)
- 所定のネットワークを介して互いに通信可能とされた第1通信装置と、第2通信装置とを含んでなる通信システムであって、
前記第1通信装置は、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、
前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、
を備えており、
前記第2通信装置は、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、
前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、
前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、
を備えている、
通信システム。 - 所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置であって、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、
前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、
を備えており、
前記第1通信装置と組合せられる前記第2通信装置は、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、
前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、
前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、
を備えている、
第1通信装置。 - 前記第2通信装置の前記第2解生成手段で生成される前記解を、前記第1解生成手段で生成される前記解と一致させるための同期情報を生成する同期情報生成手段を備えており、
前記第1送受信手段は、前記第1暗号化復号化手段が前記暗号化データを生成する処理又は前記送信対象データを生成する処理を実行するのに先立って、前記同期情報を前記第2通信装置に送信するようになっているとともに、
前記第1通信装置と組合せられる前記第2通信装置の前記第2送受信手段は、前記第1通信装置から前記同期情報を受付けるようになっており、
前記第2解生成手段は、前記同期情報を用いて、前記第2暗号化復号化手段が前記暗号化データを生成する処理又は前記送信対象データを生成する処理を実行するのに先立って、前記第2初期解記録手段に記録された前記初期解に基き、前記第1通信装置の前記第1解生成手段で生成されたものと同じ前記解を生成するようになっている、
請求項2記載の第1通信装置。 - 前記同期情報は、前記第1暗号化復号化手段で少なくとも最初に使用される解が生成される場合に指定される日時を特定する情報である、
請求項3記載の第1通信装置。 - 前記同期情報は、その時点における日時を特定する情報である、
請求項4記載の第1通信装置。 - 前記同期情報は、前記第1解生成手段で生成された解の一部である、
請求項4記載の第1通信装置。 - 前記第1解生成手段は、その時点における日時を指定して生成された前記解或いはその一部である認証用解を生成するようになっているとともに、前記送信手段は認証用解を前記第2通信装置に送信するようになっており、
前記第1通信装置と組合せられる前記第2通信装置の前記第2送受信手段は、前記認証用解を受信するようになっているとともに、前記第2通信装置は、前記第2解生成手段が前記認証用解と同じ前記解或いはその一部を生成できた場合に、前記認証用解を前記第2通信装置に送ってきた前記第1通信装置が正当なものであると認証する認証手段を備えている、
請求項1記載の第1通信装置。 - 前記第1解生成手段は複数の解を生成するようになっているとともに、前記第1暗号化復号化手段は、1つの前記送信対象データを暗号化する際に前記第1解生成手段が生成した複数の解に基づく複数の暗号化の方法を実行する処理、1つの前記暗号化データを復号化する際に前記第1解生成手段が生成した複数の解に基づく複数の復号化の方法を実行する処理の少なくとも一方を行うようになっており、
前記第1通信装置と組合せられる前記第2通信装置の前記第2解生成手段は複数の解を生成するようになっているとともに、前記第2暗号化復号化手段は、1つの前記送信対象データを暗号化する際に前記第2解生成手段が生成した複数の解に基づく複数の暗号化の方法を実行する処理、1つの前記暗号化データを復号化する際に前記第2解生成手段が生成した複数の解に基づく複数の復号化の方法を実行する処理の少なくとも一方を行うようになっている、
請求項2記載の第1通信装置。 - 所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置であって、
前記第2通信装置と組合せられる前記第1通信装置は、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、
前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、
を備えており、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、
前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、
前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、
を備えている、
第2通信装置。 - 所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置にて実行される方法であって、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段を備えている前記第1通信装置が実行する、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成過程と、
前記第1解生成過程で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化過程と、
前記第1暗号化復号化過程で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信過程と、
を含んでおり、
前記第1通信装置と組合せられる前記第2通信装置は、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、
前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、
前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、
を備えている、
方法。 - 所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置にて実行される方法であって、
前記第2通信装置と組合せられる前記第1通信装置は、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、
前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、
を備えており、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段を備えている前記第2通信装置が実行する、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成過程と、
前記第2解生成過程で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化過程と、
前記第2暗号化復号化過程で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信過程と、
を含んでいる、
方法。 - 所定のネットワークを介して互いに通信可能とされた第2通信装置との組合せにより、通信システムを構成する第1通信装置として所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータを、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、
記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、
前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、
して機能させるためのものであり、
前記第1通信装置と組合せられる前記第2通信装置は、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、
前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、
前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、
を備えている、
コンピュータプログラム。 - 所定のネットワークを介して互いに通信可能とされた第1通信装置との組合せにより、通信システムを構成する第2通信装置として所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記第2通信装置と組合せられる前記第1通信装置は、
文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を記録する第1初期解記録手段と、
前記第1初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解を生成する第1解生成手段と、
前記第1解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第2通信装置で生成された暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第1暗号化復号化手段と、
前記第1暗号化復号化手段で生成された前記暗号化データを前記第2通信装置に送信する処理、前記第2通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第1送受信手段と、
を備えており、
前記コンピュータを、
前記第1通信装置の前記第1初期解記録手段に記録された前記初期解と同一の初期解を記録する第2初期解記録手段と、
前記第2初期解記録手段に記録された前記初期解に基いて、同じ日時を指定して生成されたものが常に同じものとなる新たな解であって、前記第1通信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段と、
前記第2解生成手段で生成された前記解に基いて暗号化又は復号化の方法を変化させるようになっているとともに、送信の対象となる送信対象データを暗号化して暗号化データを生成する処理、前記第1通信装置で生成された前記暗号化データを復号化して送信対象データを生成する処理の少なくとも一方を実行する第2暗号化復号化手段と、
前記第2暗号化復号化手段で生成された前記暗号化データを前記第1通信装置に送信する処理、前記第1通信装置から前記暗号化データを受信する処理の少なくとも一方を実行する第2送受信手段と、
して機能させるための、
コンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017178351A JP2019054466A (ja) | 2017-09-15 | 2017-09-15 | 通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム |
US16/647,144 US11356253B2 (en) | 2017-09-15 | 2018-09-18 | Communication system, first communication device, second communication device, method, and computer program |
EP18855811.8A EP3684006B1 (en) | 2017-09-15 | 2018-09-18 | Communication system, first communication device, second communication device, method, and computer program |
PCT/JP2018/034321 WO2019054518A2 (ja) | 2017-09-15 | 2018-09-18 | 通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017178351A JP2019054466A (ja) | 2017-09-15 | 2017-09-15 | 通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019054466A true JP2019054466A (ja) | 2019-04-04 |
Family
ID=65723303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017178351A Pending JP2019054466A (ja) | 2017-09-15 | 2017-09-15 | 通信システム、第1通信装置、第2通信装置、方法、コンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US11356253B2 (ja) |
EP (1) | EP3684006B1 (ja) |
JP (1) | JP2019054466A (ja) |
WO (1) | WO2019054518A2 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01212041A (ja) * | 1988-02-18 | 1989-08-25 | Hitachi Ltd | 暗号化通信システム |
JPH08204700A (ja) * | 1995-01-26 | 1996-08-09 | Nippon Telegr & Teleph Corp <Ntt> | 暗号通信装置及び暗号通信方法 |
JP2004109420A (ja) * | 2002-09-18 | 2004-04-08 | Sony Corp | 乱数生成装置及び乱数生成方法 |
JP2009253650A (ja) * | 2008-04-04 | 2009-10-29 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2018026631A (ja) * | 2016-08-08 | 2018-02-15 | 株式会社 エヌティーアイ | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム |
JP2018046521A (ja) * | 2016-09-16 | 2018-03-22 | 株式会社 エヌティーアイ | 送受信システム、送信装置、受信装置、方法、コンピュータプログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6307940B1 (en) * | 1997-06-25 | 2001-10-23 | Canon Kabushiki Kaisha | Communication network for encrypting/deciphering communication text while updating encryption key, a communication terminal thereof, and a communication method thereof |
US7945776B1 (en) * | 2006-09-29 | 2011-05-17 | Emc Corporation | Securing a passphrase |
JP6093664B2 (ja) * | 2013-07-05 | 2017-03-08 | Kddi株式会社 | 秘密鍵発行装置、公開鍵暗号システム、電子署名システム、秘密鍵発行方法およびコンピュータプログラム |
JP6190538B2 (ja) * | 2014-09-01 | 2017-08-30 | パスロジ株式会社 | ユーザ認証方法及びこれを実現するためのシステム |
JP6927981B2 (ja) * | 2015-12-30 | 2021-09-01 | ワンスパン インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング | パスコード検証のためのフォワードセキュア型暗号技術を使用した方法、システム、及び装置。 |
JP7152765B2 (ja) * | 2016-06-29 | 2022-10-13 | 株式会社プロスパークリエイティブ | 通信システム、それに用いる通信装置、管理装置及び情報端末 |
SG11202009997QA (en) * | 2018-04-10 | 2020-11-27 | Visa Int Service Ass | Method, system, and computer program product for authenticating a device |
-
2017
- 2017-09-15 JP JP2017178351A patent/JP2019054466A/ja active Pending
-
2018
- 2018-09-18 US US16/647,144 patent/US11356253B2/en active Active
- 2018-09-18 WO PCT/JP2018/034321 patent/WO2019054518A2/ja unknown
- 2018-09-18 EP EP18855811.8A patent/EP3684006B1/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01212041A (ja) * | 1988-02-18 | 1989-08-25 | Hitachi Ltd | 暗号化通信システム |
JPH08204700A (ja) * | 1995-01-26 | 1996-08-09 | Nippon Telegr & Teleph Corp <Ntt> | 暗号通信装置及び暗号通信方法 |
JP2004109420A (ja) * | 2002-09-18 | 2004-04-08 | Sony Corp | 乱数生成装置及び乱数生成方法 |
JP2009253650A (ja) * | 2008-04-04 | 2009-10-29 | N-Crypt Lab Inc | 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム |
JP2018026631A (ja) * | 2016-08-08 | 2018-02-15 | 株式会社 エヌティーアイ | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム |
JP2018046521A (ja) * | 2016-09-16 | 2018-03-22 | 株式会社 エヌティーアイ | 送受信システム、送信装置、受信装置、方法、コンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
WO2019054518A2 (ja) | 2019-03-21 |
EP3684006B1 (en) | 2024-06-19 |
EP3684006A2 (en) | 2020-07-22 |
EP3684006A4 (en) | 2021-06-23 |
US11356253B2 (en) | 2022-06-07 |
WO2019054518A3 (ja) | 2019-05-16 |
US20200366475A1 (en) | 2020-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6399382B2 (ja) | 認証システム | |
EP2747361B1 (en) | Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method | |
US10848304B2 (en) | Public-private key pair protected password manager | |
WO2018025991A1 (ja) | 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム | |
CN101278538A (zh) | 用于用户认证的方法和设备 | |
JP6627043B2 (ja) | Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム | |
CN108199847A (zh) | 数字安全处理方法、计算机设备及存储介质 | |
US20100005519A1 (en) | System and method for authenticating one-time virtual secret information | |
JP2006522507A (ja) | セキュア通信システム及びセキュア通信方法 | |
EP3289724B1 (en) | A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products | |
JP7002767B2 (ja) | 署名付きメッセージを用いるトークンベースの認証 | |
JP2007317095A (ja) | 自動取引装置の認証システム | |
EP3684006B1 (en) | Communication system, first communication device, second communication device, method, and computer program | |
JP2008027381A (ja) | 認証システム、認証サーバ及び認証方法 | |
US11394545B2 (en) | Communication system, server device, user device, method, and computer program | |
WO2018052090A1 (ja) | 送受信システム、送信装置、受信装置、方法、コンピュータプログラム | |
JP6165044B2 (ja) | 利用者認証装置、システム、方法及びプログラム | |
WO2018079708A2 (ja) | 送受信システム、送信装置、受信装置、方法、コンピュータプログラム | |
US20240214198A1 (en) | User device, method, and computer program | |
JP6844788B2 (ja) | 情報通信システム | |
EP3641217A2 (en) | Execution device, command device, methods executed by same, and computer program | |
WO2021038804A1 (ja) | データ送受信システム及び共通鍵の配布方法 | |
JPWO2015137404A1 (ja) | 認証装置、認証システム及びプログラム | |
JP2018174485A (ja) | 通信システム、第1通信装置、第2通信装置、方法、コンピュータ装置、コンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211102 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20220405 |