JP2019004353A - 実行装置、指示装置、それらで実行される方法、コンピュータプログラム - Google Patents

実行装置、指示装置、それらで実行される方法、コンピュータプログラム Download PDF

Info

Publication number
JP2019004353A
JP2019004353A JP2017118373A JP2017118373A JP2019004353A JP 2019004353 A JP2019004353 A JP 2019004353A JP 2017118373 A JP2017118373 A JP 2017118373A JP 2017118373 A JP2017118373 A JP 2017118373A JP 2019004353 A JP2019004353 A JP 2019004353A
Authority
JP
Japan
Prior art keywords
instruction
encryption
data
execution
execution device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017118373A
Other languages
English (en)
Inventor
中村 貴利
Takatoshi Nakamura
貴利 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTI CORP
Original Assignee
NTI CORP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTI CORP filed Critical NTI CORP
Priority to JP2017118373A priority Critical patent/JP2019004353A/ja
Priority to PCT/JP2018/023123 priority patent/WO2018230742A2/ja
Priority to EP18818241.4A priority patent/EP3641217A4/en
Priority to US16/622,341 priority patent/US20200313870A1/en
Publication of JP2019004353A publication Critical patent/JP2019004353A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

【課題】中間者攻撃を防ぐ技術を提案する。
【解決手段】インターネットバンキングシステムは、ネットワークを介して通信可能なユーザ端末と決済装置からなる。ユーザ端末は、決済装置に実行される指示についての指示データを含む元データを生成し(S802)、それを暗号化して暗号化指示データ(S803)とした上で、決済装置に送る(S805、901)。決済装置は暗号化指示データを復号化して元データに戻し(S902)、元データに含まれる指示データで特定される動作を実行する(S904)。
【選択図】図9

Description

本発明は、例えばインターネットバンキングに応用することができる、認証技術に関する。
認証技術が、例えば、電子錠前に応用されており、また、電子錠前は様々な対象、例えば、自動車の鍵に応用されている。
自動車に用いられている電子錠前は、次のようなものである。
自動車用の電子錠前は、自動車側に設けられた錠装置と、ユーザが保持する鍵装置とからなる。鍵装置は、一般的な錠前における鍵に相当する鍵データを生成することが可能となっている。また、鍵装置は、その鍵データを錠装置に例えば無線で送信することができるようになっている。錠装置は鍵装置から鍵データを受取り、鍵データが真正なものであるか判定する。かかる判定は「認証」の処理であると把握することも可能であるが、いずれにせよ鍵データが真正なものであると判定されたのであれば、錠装置は、自動車の扉の錠を解錠する。
電子錠前が登場した頃は、鍵装置が生成する(或いは、鍵装置に保存された)鍵データは1種類のみであった。したがって、そのような電子錠前においては、常に同一の鍵データが鍵装置から錠装置に引渡され、その鍵データの真正性の判定(例えば、鍵装置から錠装置に提供された鍵データと、錠装置が当初から持っていた鍵データとが一致した場合には、鍵装置から錠装置に提供された鍵データが真正なものであると判定する。)によって自動車の扉の錠の解錠がなされていた。もちろん、鍵データが常に同一であれば、悪意の第三者が鍵データを知得すること、及び鍵データを送信することのできる鍵装置を複製することが容易であるから、そのような複製された鍵装置を使用して不正に自動車の扉の錠が解錠されることによる自動車の盗難の問題が生じていた。
そのような問題を防止するため、鍵装置の中に多数の鍵データを予め保存しておき、多数の鍵データの中の一つを自動車の扉の錠の解錠が必要となる度に鍵装置から錠装置へと送信する技術が後に開発されたが、それなりに多数であるとはいえ鍵装置に予め記録された鍵データの数が有限である以上、鍵装置に記録された鍵データのすべてを悪意の第三者に盗まれた場合にはやはり、自動車の盗難の問題が生じた。
更には、鍵装置に鍵データを保存しておくということを行わず、鍵装置の中に、異なる鍵データを次々と生成する鍵データ生成装置を内蔵させておくとともに、自動車の扉の錠の解錠が必要となる度に、鍵データ生成装置で新たに生成した鍵データを、鍵装置から錠装置に送信するという技術も既に実用化されている。
この場合の鍵データは、それが鍵装置の中で発生させられてから例えばしばらくの間しか使用できないワンタイムパスワードの如きものである。このような鍵データを用いる場合には、仮に悪意の第三者にそれを盗難されたとしても、その鍵データはすぐに有効でなくなるので、盗難された鍵データを利用して悪意の第三者が自動車を盗難できる可能性は殆ど無い。少なくとも従来はそう信じられていた。特に、このような鍵データを用いる場合には、鍵装置に上述した如き鍵データ生成装置を内蔵させるとともに、錠装置側にも、鍵装置に内蔵された鍵データ生成装置で生成されるのと同じ鍵データを次々に生成することのできる上述のものとは異なる鍵データ生成装置を設けることが必要となるが、鍵装置と、錠装置とにそれぞれ含まれた鍵データ生成装置で鍵データを生成するために用いられる方法を複雑化することにより、悪意のある第三者が次に使用される鍵データを事実上知得することができなくなるから、これにより、不正な鍵データによって自動車の扉の錠が解錠されることによる自動車の盗難は理論上発生しないはず、と信じられていた。
ところが、上述のワンタイムパスワードの如き鍵データを用いることとしても、不正に自動車の扉の錠が解錠され、自動車を盗難されるという事態が生じている。それは、以下のように極めて簡単な方法によって行われている。
例えば、自動車から離れた場所に鍵装置が存在するとする。悪意の第三者は、その鍵装置を操作すること等によって、それに内蔵された鍵データ生成装置に鍵データを生成させ、例えば電波に乗って鍵装置から発信された鍵データをそのまま入手する。
そして、その鍵データの乗った電波を適当な装置を用いて、目的となる自動車の傍で発信する。そうすると、その電波を受信することにより鍵データを受け取った自動車に搭載の錠装置は、その鍵データを真正なものと判定して、自動車の扉に設けられた錠を解錠してしまう。これにより自動車が盗難されるのである。
この自動車の窃盗方法の特徴的なことは、悪意ある第三者は、正規の鍵装置で正規に作られた鍵データを丸々盗むことにより、鍵データの内容をまったく知らなくとも自動車を盗むことができる、という点である。つまり、この窃盗方法を実行する悪意の第三者は、鍵データの内容も知る必要がないし、鍵データがどのように生成されるのかということも知る必要がない。そればかりか、鍵装置から錠装置に引渡される鍵データが仮に暗号化されていたとしても、そしてその暗号化に用いる処理が高度であり悪意の第三者がそれを復号化できなかったとしても、悪意の第三者が自動車を窃盗できるという結論には影響がない。
このような、正規の装置で正規に作られた正規の認証用のデータを丸々盗むことにより悪事を働く方法を一般に中間者攻撃(man in the middle attack : MITM)という。
中間者攻撃は、認証におけるなりすましを可能とするための手法であり、一般に、認証する側、及び認証される側で実行される処理、例えば、上述した鍵データを生成する際の処理をどれだけ複雑にしても、また、認証される側から認証する側に認証のために渡されるデータをどれだけ高度に暗号化しても防ぐことができない、という極めて厄介な性質を持つ。
もちろん、中間者攻撃は、自動車の電子錠前に固有の問題ではない。例えば、近年のビルディングにおいては、ICチップが埋め込まれた入館証を用いたセキュリティチェックをその入口で行うのが一般的になっている。典型的な例では、このような用途に用いられるセキュリティゲートシステムは、各ユーザが持つICチップを内臓の入館証と、ビルディングの入口に通常配される、入館証のICチップを読取るカードリーダを備えた認証装置、及びカードリーダで読取ったデータが真正なものであったときに認証装置により開かれるゲートと、からなる。このようなセキュリティチェックの仕組みでは、真正な入館証がカードリーダにかざされ、入館証のICチップからカードリーダに渡された認証用のデータが真正なものであると認証装置が判定したらゲートが開いて入館証の所有者がゲートを通過することができるようになる。しかしながら、入館証が例えば盗難により悪意の第三者の手に渡った場合においては、ICチップに記録された、或いはICチップ内で発生させられる認証用のデータにどれほど工夫を凝らしても、カードリーダを備えた認証装置にどれほど工夫を凝らしても、また、入館証のICチップから認証装置のカードリーダに認証用のデータを送る際にどれほど高度な暗号技術を用いても、悪意の第三者はゲートを通過することができる。
また、インターネットバンキングでも、同様の問題が生じている。インターネットバンキングのシステムは、多数のユーザがそれぞれ用いるユーザ装置と、銀行等が管理等するものであり、ユーザ装置とインターネット等のネットワークを介して通信可能なサーバ装置とから構成される。
インターネットバンキングの場合も、中間者は、ユーザ装置と、サーバ装置との間に入り込む。この場合、中間者はユーザ装置にはサーバ装置として、サーバ装置にはユーザ装置としてそれぞれ振る舞う。典型的な例では、中間者は以下のようにして、悪事を働く。
例えば、ユーザ装置と、サーバ装置とが、共通鍵方式での暗号化通信を行おうとしているとする。ユーザ装置、共通鍵方式での暗号化通信により、サーバ装置に、例えば、そのユーザ装置を所有するユーザの口座であって、サーバ装置が管理するものから、ユーザの指定する第三者への支払をサーバ装置に促す指示データが暗号化して送る。そして、その暗号化された指示データをサーバ装置は受取り、それを復号化してから、平文に戻った指示データの内容を把握し、指示データで指示された処理を実行する。この場合、ユーザ装置と、サーバ装置とは、ユーザ装置がサーバ装置に指示を行う前に、同一の共通鍵を共に持った状態とならないと共通鍵方式での通信ができない。そのため、共通鍵方式での暗号化通信に先立って、公開鍵方式での暗号化通信が、ユーザ装置とサーバ装置との間で実行される。
正常にその処理が行われる場合、ユーザ装置はまず、自らが持つ認証情報と公開鍵とをサーバ装置に送る。サーバ装置は、認証情報とその公開鍵を受取り、認証情報でそのユーザを認証するとともに、そのユーザ装置との間で後に用いる共通鍵をユーザから受取った公開鍵で暗号化してユーザ装置に返送する。ユーザ装置は、ユーザ装置の公開鍵と対になるユーザ装置が持つ秘密鍵を用いてサーバ装置から受取った共通鍵を復号化する。それにより、ユーザ装置とサーバ装置とは、同一の共通鍵を持った状態となる。
中間者は、上述の場合に、ユーザ装置がサーバ装置に送った、認証情報、及びユーザ装置の公開鍵を、サーバ装置になりすまして受取る。そして、中間者は、サーバ装置に対して、ユーザ装置になりすまして、ユーザから窃取した認証情報と、ユーザ装置から送られてきた公開鍵の代わりの自らの公開鍵とを送信する。サーバ装置は、中間者から送られてきた認証情報と、公開鍵とを受取る。そして、サーバ装置は、認証情報を用いて認証の処理を行う。認証情報は、元々ユーザ装置から送られてきた正規のものであるから、認証情報を用いた認証では、サーバ装置は、中間者がユーザ装置になりすましていることを見抜けない。そしてサーバ装置は、自らが持つ共通鍵を、ユーザ装置の公開鍵ではなく、中間者から受取った中間者の公開鍵で暗号化して中間者へと送る。中間者は、中間者の公開鍵と対になる中間者が持つ秘密鍵を用いてサーバ装置から受取った共通鍵を復号化する。それにより、中間者とサーバ装置とは、同一の共通鍵を持った状態となる。この状態でも、サーバ装置は中間者をユーザ装置であると誤認している。
他方、中間者は、自らが持つ適当な共通鍵を、ユーザ装置から受取ったユーザ装置の公開鍵で暗号化してユーザ装置に対して送信する。それを受取ったユーザ装置は、自らが持つ秘密鍵で中間者から受取った共通鍵を復号化する。それにより、中間者とユーザ装置とは、同一の共通鍵を持った状態となる。この状態で、ユーザ装置は中間者をサーバ装置であると誤認している。
以後、中間者は、サーバ装置との間ではサーバ装置と共有した共通鍵を用いて暗号化通信を行うことが可能となり、ユーザ装置との間でもユーザ装置と共有した共通鍵を用いて暗号化通信を行うことが可能となる。中間者は、ユーザ装置になりすまして、上述した指示データをサーバ装置に対して送信することが可能となる。その場合、中間者は、指示データの送信を中間者に依頼する等して、ユーザ装置から何らかの指示データを受取る場合もある。中間者は、ユーザ装置から上述した如き第三者への送金に関する指示データを受取ったら、そのうちの送金先のデータを書換える。そして、送金先のデータを書換えたら、その指示データをサーバ装置に対して送信する。サーバ装置は、中間者の送ってきた改竄された指示データによる指示にしたがって、ユーザ装置を所有するユーザが意図しない第三者に対してユーザの口座から送金を行う。この場合、ユーザ装置と中間者との間の通信も、中間者とサーバ装置との間の通信もともに、共通鍵によって暗号化されているが、ユーザ装置との間で同一の共通鍵を持ち、また、サーバ装置との間で同一の共通鍵を持っている中間者にとっては、どちらの通信も暗号化されていないと同じである。
このようにして、中間者は、ユーザ装置の所有者であるユーザにも、サーバ装置の管理者等にも気づかれないまま、まんまと金をせしめるのである。このようにして窃取されている金額は、日本だけでも年間数十億円規模であると言われているが、公表されている金額は氷山の一角であるとも言われている。
実際のところ、中間者攻撃に対応する術は無い。セキュリティの専門家の間でも、中間者攻撃は防ぐことができない攻撃であるとして、無視をする、或いはその可能性について口を閉ざすというのが暗黙の了解となっている。
本願発明は、ある特定の場合についてではあるが、中間者攻撃を防御することのできる技術を提供することをその課題とする。
かかる課題を解決する発明について説明する前に、本願発明者がした考察について説明する。
なお、以下の説明において、データを渡して何らかの処理の実行を要求する側の装置を指示装置、データを受取りそのデータの受取をきっかけに何らかの処理を実行する装置を実行装置、と称することにする。背景技術等で説明した例でいえば、電子錠前の場合であれば、鍵装置が指示装置に、錠装置が実行装置にそれぞれ相当し、セキュリティゲートシステムの場合であれば、入館証が指示装置に、認証装置が実行装置にそれぞれ相当し、インターネットバンキングのシステムの場合であれば、ユーザ装置が指示装置に、サーバ装置が実行装置にそれぞれ相当する。
本願発明者の考察によれば、実行装置は、1種類の動作しか行わないものと複数種類の動作を行うものに分けて考えるべきである。そして、実行装置が1種類の動作しか行わないものである場合は特に、中間者攻撃を防ぐことは殆ど不可能である。
1種類の動作というのは例えば、実行装置が指示装置からの指示によって行う動作が、「認証により真正と認める」、「錠を解錠する」といったものであり、複数種類のなかから1種類の動作を選択するようなものではない動作である。
例えば、インターネットバンキングにおいて、ユーザが、自らの銀行口座から、他人の銀行口座に、支払いを行う場合を考える。この場合、ユーザは、自らのユーザ端末(例えば、スマートフォンであり、これは本願発明でいう指示装置に相当する。)によって、決済を行う銀行サーバ(これは本願発明でいう実行装置に相当する。)に対して指示を送る。この場合、銀行サーバの行う処理はもちろん1通りではない。もっといえば、ユーザ端末からの指示によって銀行サーバが行う処理は、上述の如き支払いに限らず、残高の照会や、明細履歴の照会等があるから、銀行サーバが行う処理はより多岐にわたる。話を戻す。支払いのために銀行サーバの行う処理は、少なくとも支払元、支払先、及び支払額について、様々なバリエーションがある。つまり、この場合には、支払を依頼するユーザ或いは支払元となるそのユーザの銀行口座が既に特定されていると仮定しても、ユーザ端末から銀行へと送られる指示には、少なくとも支払先を特定する情報と、支払金額を特定する情報が含まれる。これら2つの情報によって銀行サーバが行う処理が変化するのであるから、この例では、実行装置の一例たる銀行サーバが行う動作は1種類には限られない。
ところで、本願発明者の考えによれば、このような処理においては、中間者攻撃を防ぐことが場合によっては可能となる。それは、上記指示についての指示データが完全に(破ることが不可能に)暗号化されている場合である。悪意の第三者がインターネット上を送信される上記指示のデータを盗み取り悪用しようとする場合には、少なくとも、上記指示に含まれる支払先を特定する情報を自分に都合の良い支払先に書換える必要があり、上記指示に含まれる支払額の金額をも自分に都合の良い金額に書換えられればより好ましい。発明が解決しようとする課題で述べたインターネットバンキングのシステムの例では、中間者がまず、ユーザ装置と、サーバ装置との双方と、それぞれ同一の共通鍵を持つことに成功していたからこのようなデータの書換えが可能であった。
しかしながら、悪意ある第三者が、上記指示に含まれる支払先を特定する情報を自分に都合の良い支払先に書換えてから、ユーザ端末と銀行サーバとの間で使用されている暗号手法にのっとって暗号化することは、その暗号化が完全なのであれば、不可能である。このように、実行装置で実行される動作にバリエーションが存在する場合には、中間者攻撃を排除できる可能性がある。言葉を変えれば、実行装置で実行される動作にバリエーションが存在し、指示装置が実行装置に動作を行わせるための指示の中に、動作のバリエーションの中から実行装置が実行すべき動作を特定するための情報が含まれている場合には、悪意の第三者がその指示についてのデータを盗んでそれを実行装置にそのまま渡しただけでは、悪意の第三者が望む動作を実行装置に行わせることができないことがあり得ると考えられる。上述したように、中間者攻撃は盗んだ情報をそのまま用いるものであるから防御が難しいのであって、盗んだ情報をそのまま用いることができない、実行装置で実行される動作にバリエーションが存在するような場合には、まだ防げる可能性があるのである。
他方、指示装置の指示により実行装置が実行する動作が1種類のみの場合には、指示装置から実行装置に渡されるデータに何か含まれていたとしても、そのデータを悪意の第三者に盗まれ、且つそのデータを悪意の第三者が実行装置に引き渡した場合に実行装置が実行する動作は必ず、予定されていた1種類の動作となる。データの書換えが不要なこのような場合には、一般的に、中間者攻撃を防御する術はない。
本願発明は以上のような考察に基づいたものであり、特には実行装置において実行される処理にバリエーションが存在するような場合についての中間者攻撃を防ぐものである。説明の便宜上、本願発明を第1発明と第2発明とに分ける。
第1発明による本願発明は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置である。
そして、かかる実行装置と組合せて用いられる前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
他方、前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
かかる第1発明による実行装置は、指示データを受取り、その指示データにしたがった指示を実行する。指示データによって実行される動作は複数種類でありバリエーションが存在する。この実行装置に渡される指示データは、より正確には指示データを少なくとも含む元データは、暗号化して暗号化指示データとされた状態で実行装置に渡されるようになっている。実行装置は、暗号化指示データを復号化する。本願発明の実行装置では、かかる復号化を行えたか否かにより事実上の認証を行うようになっている。つまり、真正な指示装置が渡してきた真正な暗号化指示データでなければ実行装置の実行装置復号化手段は、それを復号化することができないはずである。つまり、暗号化指示データを実行装置復号化手段が復号化できれば、それを渡してきた指示装置は真正なものであると認証し、それを復号化できなければ、それを渡してきた指示装置は真正なものであると認証しないことになる。この実行装置は、暗号化指示データの復号化により暗号化指示データを渡してきた指示装置が真正なものであると認証した場合に、その復号化された元データに含まれている指示データによって特定される動作を実行する。
上述のように、暗号化指示データが完全に暗号化されていれば、指示データ(暗号化指示データ)によって特定される実行装置が実行する動作は、中間者に書換えられない。仮に中間者が、指示装置が実行装置に渡そうとしている暗号化指示データを窃取して、指示装置になりすましてそれを実行装置に渡したとしても、暗号化指示データが書換えられていないのであれば、実行装置が実行する動作は指示装置が実行装置に動作させようと予定していた動作のままである。したがって、本願発明の実行装置によれば、中間者攻撃を防ぐ、或いは中間者攻撃がなされた場合であってもそれを無害化することができる。
本願第1発明で、中間者攻撃を少なくとも無害化できる理由は、もう1つある。例えば、発明が解決しようとする課題で例示したインターネットバンキングのシステムの場合のように、従来は、実行装置が指示装置の認証を先に行い、かかる認証を行った後に、実行装置は、指示装置から受取った指示データに基づく動作を実行する、という2段階の処理がなされていた。この場合だと、認証の処理で実行装置を騙すことができた中間者は、自分に都合の良い指示データを実行装置に渡すことが可能となる。他方、指示データを暗号化したデータを用いて認証をも行うようにすることにより、つまり上述の認証データの受渡しによる認証と、指示データの受渡しによる指示という2段階の処理を1段階にすることにより、中間者攻撃を行う機会を事実上無くすことが可能となる。これにより、本願発明によれば、中間者攻撃を少なくとも無害化できるようになる。
なお、中間者攻撃を避けるためには、指示装置の指示装置暗号化手段と実行装置の実行装置復号化手段で用いられる暗号化と復号化のための手法は共通鍵を用いた共通鍵暗号方式を採用するのが好ましい。
また、上述したように、本願第1発明における実行装置では、暗号化指示データを復号化することができたことにより事実上、暗号化指示データを渡してきた指示装置が真正なものであるということについての認証を行うこととしていたが、他の認証をも実行装置で行うようにすることも可能である。その場合には、例えば、指示装置は、暗号化指示データの元となる元データに適当な認証データを含め、指示データと認証データとを含んだ元データを指示装置暗号化手段で暗号化して暗号化指示データとし、それを実行装置に渡すようになっていても良い。この場合、実行装置は、受取手段で暗号化指示データを受取り、実行装置復号化手段でそれを復号化し、それを復号化できたという事実で事実上の認証を行うのに加えて、元データに含まれる認証データによって認証を行う手段である認証手段で認証を行い(例えば、実行装置が保持していた認証データとの一致を見て認証を行い)、実行装置復号化手段で復号化を行えたことと、認証データによる認証を行えたことという2つの条件がともに充足されていた場合に、実行手段が指示データにより特定される動作を実行するようになっていても良い。
第1発明における実行装置は、以下のようなものとすることができる。
その場合の前記指示装置は、初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、を備えており、前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっている。
かかる指示装置と組合せて使用される前記実行装置は、前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、を備えており、前記実行装置復号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、復号化する際に異なる鍵で復号化するようになっている。
この場合、指示装置と、実行装置とは、少なくとも指示装置から実行装置へと指示がなされるたびに生成される共通する解を用いて、共通する鍵を生成し、その共通する鍵を用いて共通鍵暗号方式での通信を行う。これは、上述した完全な暗号化の一例であり、これによれば、第三者は次々に変わる鍵を盗まない限り暗号化指示データの改竄を行えないのであるから、中間者攻撃が成功する余地は殆ど無くなる。
なお、この場合、前記実行装置鍵生成手段は、前記実行装置解生成手段で生成された解をそのまま前記鍵にするようになっていてもよい。これは言い換えれば、鍵生成手段を省略しても良い、ということである。
指示装置解生成手段と、実行装置解生成手段とは、離れた場所で同じ解を生成することができるようになっている。これは、従来から用いられているワンタイムパスワードの仕組みを流用することで実現することができる。この事情は、第2発明の場合でも同様である。
例えば、指示装置解生成手段と、実行装置解生成手段は、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。これにより、離れた場所にある2つの独立した装置における指示装置解生成手段と、実行装置解生成手段は、同期した解を生成できることになる。これは、インターネットバンキング等の分野で広く実用化されているトークン等で既に実用化されている時間同期と称される同期の方法に程近いものである。
他方、指示装置解生成手段と、実行装置解生成手段で解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。これは、上述の如きトークン等で既に実用化されているイベント同期と称される同期の方法に程近いものである。イベント同期が採用される場合、指示装置解生成手段と、実行装置解生成手段で生成される解は、同じ順番で生成されたもの同士を比較すると同じになるようになっている。例えば、指示装置解生成手段と、実行装置解生成手段は、解をXとして、Xn+1=f(X)という関数により、次の解を生成するというアルゴリズムにより解を生成するようなものとなっていてもよい。この場合、指示装置解生成手段と、実行装置解生成手段は、直前に作った解を保持しておき、その前に生成した解をすべて削除するようになっていてもよい。つまり、次の解を生成するために必要な解のみを指示装置解生成手段と、実行装置解生成手段が保持するようにすることが可能である。この場合、指示装置解生成手段と、実行装置解生成手段は、例えば、4番目の解を生成するのであれば、保持していた3番目の解であるXをXn+1=f(X)の式にX=f(X)のように代入することにより、4番目の解を生成する。なお、過去の複数の解を用いて、例えば、Xn+1=f(X)+f(Xn−1)の如き数式を用いるのであれば、指示装置解生成手段と、実行装置解生成手段が保持すべき解は、その直前に使われた2つの解となる。このように新しい解を生成するために指示装置解生成手段と、実行装置解生成手段で使用される解は、必ずしも1つとは限らない。そして、この場合における初期解は、2つとなる。このように初期解は必ずしも1つとは限らず、複数である場合がある。
前記指示装置は複数であり、前記指示装置における前記初期解は、前記指示装置のそれぞれにおいて異なるものとされており、前記実行装置解生成手段は、前記指示装置のそれぞれにおいて異なる前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置のそれぞれが持つ前記指示装置解生成手段で生成される前記解と同じ、前記指示装置のそれぞれの前記指示装置解生成手段で生成されるものと同期された前記解を生成することができるようになっており、前記実行装置鍵生成手段は、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記暗号化指示データを送ってきた前記指示装置の前記指示装置鍵生成手段で生成されるのと同じ鍵を生成するようになっていてもよい。これにより、実行装置は複数の指示装置との間で、上述した如き共通鍵としての共通する鍵を、指示の度に交換しながらの暗号化通信を行えることになる。
第2発明による本願発明は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置である。
そして、かかる実行装置と組合せて用いられる前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
他方、前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
かかる第2発明による実行装置は、基本的な部分は第1発明における実行装置と同じである。
第2発明による実行装置が第1発明による実行装置と異なる点は、第2発明による実行装置は、複数の動作である予定動作の中から選択された動作を行うようになっているという点である。第1発明の実行装置も、複数の動作である予定動作の中から選択された動作を行うようになっていても良いが、第2発明の実行装置はそのようなものに限定されている。つまり、第1発明の場合においては、動作の種類の数、或いはバリエーションには特に制限がないが、第2発明の場合には、予め5種類とか、10種類とかに予定動作が決められており(当然に、その5種類とか、10種類とかの予定動作は、指示装置と実行装置とで共有されている。)、その予め決められている予定動作の中から選択された動作を実行装置が実行するようになっている。そのため、この実行装置も暗号化指示データを指示装置から受取るようになっているが、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化したものである。
第2発明における実行装置は、指示装置から受取った暗号化指示データを復号化しない。したがって、第2発明における実行装置は、第1発明における実行装置が持っていた実行装置復号化手段を有さず、その代わりに実行装置暗号化手段を備えている。実行装置暗号化手段は、指示装置の指示装置暗号化手段で行われる暗号化の処理と同じ暗号化の処理を行えるようになっている。実行装置暗号化手段で暗号化されるのは、すべての指示のパターンについての元データである。上述した通り、第2発明における実行装置で実行される動作の数、種類は有限である。したがって、指示のパターンの数も指示を行うための元データの数、種類も有限である。上述のように予定動作は、指示装置と実行装置とで共有されている。したがって、実行装置暗号化手段ですべての指示のパターンにそれぞれ対応した元データのすべてを順次暗号化して暗号化指示データにしていけば、その中の1つは、指示装置から受取った暗号化指示データに改竄がない限り、指示装置から受取った暗号化指示データと一致するはずである。第2発明による実行手段は、実行装置暗号化手段によって生成された複数の暗号化指示データのうちの1つが、受取手段で受取られた暗号化指示データと一致した場合に、当該暗号化指示データの元となった元データに含まれる指示データによって特定された動作を実行する。
第2発明の場合においては、指示装置から渡されてきた暗号化指示データと同じ暗号化指示データを実行装置で生成できたか否かにより事実上の認証を行うようになっている。つまり、真正な指示装置が渡してきた真正な暗号化指示データでなければ、実行装置の実行装置暗号化手段は、それと同じ暗号化指示データを生成することができないはずである。つまり、指示装置から渡された暗号化指示データと同じ暗号化指示データを実行装置暗号化手段が生成できれば、暗号化指示データを渡してきた指示装置は真正なものであると認証することができるし、そうでなければ、それを渡してきた指示装置は真正なものであると認証しないことになる。
上述のように、第2発明の場合でも、暗号化指示データが完全に暗号化されていれば、指示データ(暗号化指示データ)によって特定される実行装置が実行する動作は、中間者に書換えられない。これに加えて、第2発明でも、認証データの受渡しによる認証と、指示データの受渡しによる指示という2段階の処理を1段階にすることで、中間者攻撃を防ぐ、或いは中間者攻撃がなされた場合であってもそれを無害化することができる。
第2発明の場合でも、中間者攻撃を避けるためには、指示装置の指示装置暗号化手段と実行装置の実行装置暗号化手段で用いられる暗号化のための手法は共通鍵を用いた共通鍵暗号方式を採用するのが好ましい。
なお、第2発明における「暗号化」という文言は、第三者がそのデータを見ても特別な知識なしでは読めない(理解できない)ようにそのデータを変換することを言い、第1発明の場合の如き復号化できる変換のみでなく、ハッシュ値をとる場合のように、不可逆に変換する場合をも含む。例えば、指示装置から実行装置に渡される暗号化指示データは、指示装置の指示装置暗号化手段で元データを復号可能に暗号化したデータから、例えば、前半分を抜き出した、後半分を抜き出した、偶数文字目、或いは3の倍数文字目を抜き出した、英字数字記号混じりの文字列から数字のみを抜き出したもの等であっても良い。この場合おいても、実行装置の実行装置暗号化手段が行う暗号化の処理は、元データに対して上記と同一の処理を行うものとなる。
第2発明の実行装置における実行装置暗号化手段は、上述のように、「すべての指示のパターンについて指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる」ようになっている。また、第2発明の実行装置の実行手段は、上述のように「実行装置暗号化手段によって生成された複数の暗号化指示データのうちの1つが、受取手段で受取られた暗号化指示データと一致した場合に、動作として、当該暗号化指示データの元となった元データに含まれる指示データによって特定された動作を実行する」ようになっている。つまり、第2発明の実行装置では、複数の暗号化指示データを生成するという処理(ここでは第1処理と称する。)と、実行装置で生成した暗号化指示データを指示装置から渡された暗号化指示データと比較して、実行装置で生成した暗号化指示データの中から指示装置から渡された暗号化指示データと同一のものを探す処理(ここでは第2処理と称する。)と、実行手段が動作を行う処理(ここでは第3処理と称する。)とが実行される。ここで、第2処理は、第1処理がすべて終わってから実行されても構わない。この場合には第1処理において、すべての指示のパターンについて指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、「指示パターンの数と同数の」暗号化指示データが生成されることになる。他方、第2処理は、第1処理が終了する前に、つまり、「指示パターンの数と同数の」暗号化指示データの生成が終了する前に、例えば、実行装置暗号化手段で暗号化指示データが生成される度に、実行されても構わない。第2処理を、第1処理が終了する前に実行する場合には、第1処理が終了する前に第2処理が終了する、つまり、実行装置で生成した暗号化指示データの中から指示装置から渡された暗号化指示データと同一のものが発見されることになる。この場合には、第3処理を実行するとともに、第1処理を途中で打ち切ることが可能である。この場合には、「指示パターンの数よりも少ない数の」暗号化指示データが生成されることになる。つまり、上述の第1処理と第2処理とは、指示装置から送られてきた暗号化指示データと一致するものを見つけるために、指示装置から送られてきた暗号化指示データと、実行装置で生成される複数の暗号化指示データとを総当りで比較することが原則であるが、かかる総当たりはそのすべてについて行われる必要はない。「すべての指示のパターンについて指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる」と、「実行装置暗号化手段によって生成された複数の暗号化指示データのうちの1つが、受取手段で受取られた暗号化指示データと一致した場合に、動作として、当該暗号化指示データの元となった元データに含まれる指示データによって特定された動作を実行する」という記載は、上述に例示した場合のすべてを含む意味である。
また、上述したように、第2発明における実行装置では、指示装置から渡された暗号化指示データと同じ暗号化指示データを実行装置暗号化手段が生成できたことにより事実上、暗号化指示データを渡してきた指示装置が真正なものであるということについての認証を行うこととしていたが、他の認証をも実行装置で行うようにすることも可能である。その場合には、例えば、指示装置は、暗号化指示データの元となる元データに適当な認証データを含め、指示データと認証データとを含んだ元データを指示装置暗号化手段で暗号化して暗号化指示データとし、それを実行装置に渡すようになっていても良い。
前記指示データは、前記予定動作のそれぞれと紐付けられた符号であってもよい。そうすることで、中間者は、予定動作と符号との紐付け方、或いは両者の対応関係を知ることが通常できないから、自分が望む動作を実行装置にさせるのがより殆ど不可能となる。
第2発明における実行装置は、以下のようなものとすることができる。
その場合の前記指示装置は、初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、を備えており、前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっている。
かかる指示装置と組合せて使用される前記実行装置は、前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、を備えており、前記実行装置復号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、暗号化する際に異なる鍵で暗号化するようになっている。
この場合、指示装置と、実行装置とは、少なくとも指示装置から実行装置へと指示がなされるたびに生成される共通する解を用いて、共通する鍵を生成し、その共通する鍵を用いて、それらの指示装置暗号化手段と、実行装置暗号化手段とで、元データを暗号化する。これは、上述した完全な暗号化の一例であり、これによれば、第三者は次々に変わる鍵を盗まない限り暗号化指示データの改竄を行えないのであるから、中間者攻撃が成功する余地は殆ど無くなる。
なお、この場合、前記実行装置鍵生成手段は、前記実行装置解生成手段で生成された解をそのまま前記鍵にするようになっていてもよい。これは言い換えれば、鍵生成手段を省略しても良い、ということである。
第2発明の場合においても、第1発明の場合と同様に、指示装置を複数とすることができる。より具体的には、前記指示装置は複数であり、前記指示装置における前記初期解は、前記指示装置のそれぞれにおいて異なるものとされており、前記実行装置解生成手段は、前記指示装置のそれぞれにおいて異なる前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置のそれぞれが持つ前記指示装置解生成手段で生成される前記解と同じ、前記指示装置のそれぞれの前記指示装置解生成手段で生成されるものと同期された前記解を生成することができるようになっており、前記実行装置鍵生成手段は、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記暗号化指示データを送ってきた前記指示装置の前記指示装置鍵生成手段で生成されるのと同じ鍵を生成するようになっていてもよい。これにより、実行装置は複数の指示装置との間で、上述した如き共通鍵としての共通する鍵を、指示の度に交換しながらの暗号化通信を行えることになる。
第1発明の場合、第2発明の場合のいずれの場合であっても、実行装置は以下のようなものとすることができる。
実行装置の受取手段は、指示装置から暗号化指示データを受取るようになっている。例えば、背景技術で述べた電子錠前システムに本願第1発明、第2発明を応用するのであれば、受取手段はインターネット等のネットワークを介さない無線の通信により指示装置から暗号化データを受取る。これに対して、実行装置の前記受取手段は、前記暗号化指示データを、インターネットその他のネットワークを介して前記指示装置から受取るようになっていても良い。本願第1発明、第2発明をインターネットバンキングのシステムに応用するのであれば、受取手段はこのようなものとなるであろう。
また、前記指示装置は、ユーザが用いる端末装置であるとともに、前記指示データは、当該ユーザの口座から他の口座への送金の指示であり、前記実行装置は、前記ユーザの口座から他の口座への送金を指示することのできる、インターネットバンキングサーバであってもよい。もちろん、第1発明と第2発明とには様々な応用分野があり、指示データによる指示の内容も上述の限りではないが、第1発明と第2発明とは、インターネットバンキングのシステムに応用することができる。
本願発明者は、第1発明の実行装置で実行される方法をも第1発明の一態様として提案する。その効果は、第1発明による実行装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置にて実行される方法である。
前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、その方法は、前記実行装置が実行する、前記暗号化指示データを受取る受取過程と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を含む。
本願発明者は、第1発明の実行装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、第1発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムである。
前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、そのコンピュータプログラムは、前記コンピュータに、前記暗号化指示データを受取る受取過程と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を実行させるためのコンピュータプログラムである。
本願発明者は、第2発明の実行装置で実行される方法をも第2発明の一態様として提案する。その効果は、第2発明による実行装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置にて実行される方法である。
前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、その方法は、前記実行装置が実行する、前記暗号化指示データを受取る受取過程と、前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの1つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を含む。
本願発明者は、第2発明の実行装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、第2発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムである。
前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、そのコンピュータプログラムは、前記コンピュータに、前記暗号化指示データを受取る受取過程と、前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの1つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を実行させるためのコンピュータプログラムである。
本願発明者は、第1発明による実行装置と組合せて用いられる指示装置をも本願発明の一態様として提案する。第1発明による指示装置による効果は、第1発明による実行装置による効果と同じである。
一例となる指示装置は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置である。前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、を備えている指示装置である。
かかる第1発明の指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第1発明の指示装置で実行される方法をも第1発明の一態様として提案する。その効果は、第1発明による指示装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置にて実行される方法である。
そして、その方法は、前記指示装置が実行する、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を含む。
かかる第1発明による方法を実行する指示装置と組合せて用いられる 前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第1発明の指示装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置、として所定のコンピュータを機能させるためのコンピュータプログラムである。
そのコンピュータプログラムは、前記コンピュータに、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を実行させるためのコンピュータプログラムである。
そして、かかる第1発明によるコンピュータプログラムによってコンピュータを機能させることにより実現される指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第2発明による実行装置と組合せて用いられる指示装置をも本願発明の一態様として提案する。第2発明による指示装置による効果は、第2発明による実行装置による効果と同じである。
一例となる指示装置は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置である。前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、を備えている指示装置である。
かかる第2発明の指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第2発明の指示装置で実行される方法をも第2発明の一態様として提案する。その効果は、第2発明による指示装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置にて実行される方法である。
そして、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を含む。
かかる第2発明による方法を実行する指示装置と組合せて用いられる 前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第2発明の指示装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置として、所定のコンピュータを機能させるためのコンピュータプログラムである。
そのコンピュータプログラムは、前記コンピュータに、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を実行させるためのコンピュータプログラムである。
そして、かかる第2発明によるコンピュータプログラムによってコンピュータを機能させることにより実現される指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
第1実施形態によるインターネットバンキングシステムの全体構成を概略的に示す図。 図1に示したインターネットバンキングシステムにおけるユーザ端末の外観を示す斜視図。 図1に示したインターネットバンキングシステムにおけるユーザ端末のハードウェア構成を示す図。 図1に示したインターネットバンキングシステムにおけるユーザ端末の内部に生成される機能ブロックを示すブロック図。 図1に示したインターネットバンキングシステムにおけるユーザ端末の第1記録部内に記録されるデータの一例を概念的に示す図。 図1に示したインターネットバンキングシステムにおける決済装置のハードウェア構成を示す図。 図1に示したインターネットバンキングシステムにおける決済装置の内部に生成される機能ブロックを示すブロック図。 図1に示したインターネットバンキングシステムにおける決済装置の第2記録部内に記録されるデータの一例を概念的に示す図。 図1に示したインターネットバンキングシステムで実行される処理の流れを示す図。 図2に示したユーザ端末のディスプレイに表示される画像の一例を示す図。 変形例1によるユーザ端末の内部に生成される機能ブロックを示すブロック図。 変形例1による決済装置の内部に生成される機能ブロックを示すブロック図。 第2実施形態による決済装置の内部に生成される機能ブロックを示すブロック図。 第2実施形態におけるインターネットバンキングシステムで実行される処理の流れを示す図。 図2に示したユーザ端末のディスプレイに表示される画像の他の例を示す図。
以下、本発明の第1、第2実施形態、及びそれらの変形例について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。また、特に矛盾なき場合、各実施形態及び変形例は、他の実施形態及び変形例とも組合せることができる。
≪第1実施形態≫
図1に、第1実施形態によるインターネットバンキングシステムの全体構成を概略で示す。
インターネットバンキングシステムは、複数のユーザ端末100−1〜100−N(以後、単に、「ユーザ端末100」と記載する場合もある。)、決済装置200を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
ユーザ端末100は、広く言えば本願発明の指示装置の一例であり、より詳細には、本願発明におけるインターネットバンキングシステムにおける端末装置の一例である。決済装置200は、広く言えば、本願発明の実行装置の一例であり、より詳細には、本願発明におけるインターネットバンキングシステムにおけるインターネットバンキングサーバの一例にそれぞれ相当する。
後述するように、よく知られているインターネットバンキングシステムの場合と同様に、ユーザは自らのユーザ端末100を用いて、ネットワーク400を介して決済装置200にアクセスすることにより、自らの口座から他人の口座へ送金を行ったり、自らの口座の残高や、自らの入出金記録を見たりすることができる。
通常、ユーザ端末100は各ユーザの所有物である。ユーザ端末100は、コンピュータを含んでいる。ユーザ端末100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。これらはいずれも汎用のもので良い。スマートフォンは例えば、Apple Japan合同会社が製造、販売を行うiPhoneである。タブレットの例はApple Japan合同会社が製造、販売を行うiPadである。以下、これには限られないが、ユーザ端末がスマートフォンであることとして話を進める。
ユーザ端末100は少なくとも、決済装置200に対してデータの送信をすることが可能であることが必要であるが、決済装置200からのデータの受信をもできるものであっても良い。この実施形態におけるユーザ端末100はスマートフォンであるから、当然に、相手方が決済装置200であるか否かに関わらず、ネットワーク400を介してのデータの受信と送信の双方が可能である。
次に、ユーザ端末100の構成を説明する。各ユーザ端末100−1〜100−Nの構成は、本願発明との関連でいえば同じである。
ユーザ端末100の外観の一例を図2に示す。
ユーザ端末100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。ユーザ端末100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をユーザ端末100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
入力装置102から入力されるデータは、いずれもその詳細を追って説明するが、例えば、支払情報、残高閲覧情報、入出金記録閲覧情報、選択情報、ユーザID、開始情報である。
ユーザ端末100のハードウェア構成を、図3に示す。
ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の端末装置(指示装置)としてこのユーザ端末100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末100にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末100へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムは、これに限られず、ユーザ端末100がスマートフォンであれば、ユーザ端末100をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。
インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容は、インターフェイス114からバス116に入力されるようになっているとともに、後述する画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。インターフェイス114は、また、図示を省略する送受信部に接続されている。
送受信部は、インターネットであるネットワーク400を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末100がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク400から受取ったデータは、インターフェイス114により受取られるようになっており、インターフェイス114から送受信部に渡されたデータ(例えば後述する暗号化指示データ)は、送受信部によって、ネットワーク400を介して外部、例えば、決済装置200に送られるようになっている。
CPU111がコンピュータプログラムを実行することにより、ユーザ端末100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末100を本願発明の端末装置(指示装置)として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
ユーザ端末100内には、本願発明の機能との関係で、以下のような制御部120が生成される。制御部120には、主制御部121、データ入出力部122、第1記録部123、暗号化部124が存在する。
制御部120は、以下に説明するような情報処理を実行する。
主制御部121は、制御部120内の全体的な制御を行う。例えば、主制御部121は、追って詳述するデータ入出力部122から受取った後述する開始データに基づいて、後述する処理を実行するべく他の機能ブロックを制御する。
例えば、また、主制御部121は、開始データを受付けたことを契機に、第1記録部123から、後述するユーザIDを読み出すようになっている。
主制御部121は、支払情報、残高閲覧情報、入出金記録閲覧情報を受取った場合には、それらにユーザIDのデータを付して暗号化部124に送るようになっている。ユーザIDの付された支払情報、残高閲覧情報、入出金記録閲覧情報は、本願発明の元データの一例となる。
また、主制御部121は、選択情報を受け取る場合がある。選択情報は、後述する符号の1つを選択する情報である。選択情報を受付けた場合、主制御部121はそれによって選択された符号を、第1記録部123から読み出すようになっている。主制御部121は、ユーザIDが付された符号のデータを暗号化部124に送るようになっている。ユーザIDが付された符号のデータは、本願発明の元データの一例となる。
また、主制御部121は、暗号化部124から後述する暗号化指示データを受取る場合がある。それを受取った場合にはそれに平文のユーザIDを付してから、ユーザIDの付された暗号化指示データをデータ入出力部122に送るようになっている。
データ入出力部122は、制御部120へのデータの入出力を行うものである。
具体的には、データ入出力部122は、インターフェイス114を介して、上述の入力装置102から入力された、開始情報、支払情報等を受付けるようになっている。それら入力装置102からのデータを受付けた場合には、データ入出力部122は、開始データを主制御部121に送るようになっている。
また、データ入出力部122には、主制御部121からユーザIDの付された暗号化指示データが送られてくることがある。これを受取ったデータ入出力部122は、それを、インターフェイス114に送るようになっている。ユーザIDの付された暗号化指示データは、送受信部から、ネットワーク400を介して決済装置200へと送られるようになっている。
第1記録部123は、データを記録するものである。第1記録部123には、上述したように、主制御部121によってユーザIDが記録される。また、第1記録部123には、後述するような符号と、複数の予定動作とが互いに対応付けて記録されている。符号は互いにユニークな、有限個の識別子である。予定動作は、互いに異なり、それらのいずれもが実行装置で実行され得る動作である。第1記録部123に記録された符号と予定動作とは、例えば、図5に示されたようなものとなっている。これには限られないが、この例では、符号は、1〜4の4つである。そして、符号1には、「A口座へ100万円を送金」、符号2には、「A口座へ10万円を送金」、符号3には、「B口座へ100万円を送金」、符号3には、「B口座へ10万円を送金」という予定動作がそれぞれ紐付けられている。各ユーザ端末100において第1記録部123に記録されているこれら符号と、予定動作とは、それらの対応関係も含めて、後述するようにして、決済装置200と共有されている。なお、各ユーザ端末100と、決済装置200との上記情報の共有は、ネットワーク400を介しての両者間の通信により行っても良いし、例えばユーザが銀行に出向いて所定の用紙を銀行に提出することにより行っても良いし、その実現方法には特に制限はない。
また、第1記録部123には、上述のようにユーザIDが記録されている。ユーザIDは、各ユーザ毎に、或いは各ユーザが使用するユーザ端末100毎にユニークな識別子であり、各ユーザを識別するためのものである。ユーザIDを用いることにより、決済装置200は各ユーザを区別することができるようになっている。
これには限られないが、第1記録部123は、ハードウェアとして捉えた場合、RAM113の一部により構成されている。
また、第1記録部123に記録されているユーザID等は、後述するようなタイミングで主制御部121により読み出される。
暗号化部124は、主制御部121から元データを受取る場合があり、元データを受取った場合に、それを暗号化して、暗号化指示データを生成するものである。元データの内容となるのは、上述した支払情報等、符号、ユーザID等であるが、元データの詳細については後述する。
暗号化部124が行う暗号化は、各ユーザ端末100毎に異なるものであっても良いし、そうでなくとも良い。これには限られないがこの実施形態では、各ユーザ端末100における暗号化部124で行われる暗号化の手法は異なるものとされているとする。より具体的には、この実施形態では、各ユーザ端末100における暗号化部124で行われる暗号化は、同じアルゴリズムを用いるものの、鍵が異なるものとする。ただし、各ユーザ端末100の暗号化部124で行われる暗号化は、それには限られないが、常に同一のアルゴリズムと、常に同一の鍵を用いた、常に同一の手法によるものとする。
暗号化部124は、生成した暗号化指示データを主制御部121に送るようになっている。
次に、決済装置200について説明する。
決済装置200は一般的なコンピュータであり、この実施形態ではより詳細には一般的なサーバ装置である。ハードウェア構成としては、従来のインターネットバンキングシステムにおける決済装置、或いはインターネットバンキングのシステムで用いられている、銀行等によって管理等されているサーバと同等のもので良い。
決済装置200のハードウェア構成を、図5に示す。
ハードウェアには、CPU211、ROM212、RAM213、インターフェイス214、この実施形態ではHDD(hard disk drive)215である大容量記録媒体が含まれており、これらはバス216によって相互に接続されている。
CPU211は、演算を行う演算装置である。CPU211は、例えば、ROM212に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明のインターネットバンキングサーバ(実行装置)としてこの決済装置200を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、決済装置200にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済装置200へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ROM212は、CPU211が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM212に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
RAM213は、CPU211が処理を行うために必要なワーク領域を提供する。
インターフェイス214は、バス216で接続されたCPU211やRAM213等と外部との間でデータのやり取りを行うものである。インターフェイス214は、少なくとも送受信部に接続されている。送受信部がネットワーク400から受取ったデータは、インターフェイス214により受取られるようになっており、インターフェイス214から送受信部にわたされたデータは、送受信部によって、ネットワーク400を介して外部、例えば、ユーザ端末100に送られるようになっている。
HDD215は上述のように大容量記録媒体であり、データを記録する。CPU211が後述する処理を実行するために必要なコンピュータプログラムやデータの少なくとも一部は、ROM212でなくHDD215に記録されていてもよいし、その大部分がHDD215に記録されている方が実際的であろう。
CPU211がコンピュータプログラムを実行することにより、決済装置200内部には、図7で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済装置200を本願発明のインターネットバンキングサーバ(実行装置)として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済装置200にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
決済装置200内には、本願発明の機能との関係で、以下のような制御部220が生成される。制御部220内には、データ入出力部221、主制御部222、復号化部223、判定部224、第2記録部225が生成される。
データ入出力部221は、制御部220へのデータの入出力を行うものである。具体的には、データ入出力部221は、主制御部222から後述するデータを受付けるようになっている。
例えば、データ入出力部221は、主制御部222から後述する結果データ、及び実行データを受付けるようになっている。受取られた結果データは、データ入出力部221から、送受信部に送られ、ネットワーク400を介してユーザ端末100に送られるようになっている。実行データは、後述する図外の実行部に送られるようになっている。
データ入出力部221は、また、ネットワーク400を介してユーザ端末100から送受信部が受取ったデータを送受信部から受取り、受取ったそのデータを主制御部222に送るようになっている。例えば、データ入出力部221は、送受信部からユーザIDの付された暗号化指示データを受取る場合があり、それを受取ったデータ入出力部221はそれを主制御部222に送るようになっている。
主制御部222は、制御部220内の全体的な制御を行う。
例えば、主制御部222には、データ入出力部221からユーザIDの付された暗号化指示データが入力される場合がある。それを受取った主制御部222は、ユーザIDの付された暗号化指示データを復号化部223へと送るようになっている。
また、主制御部222は、上述した判定部224から後述する判定データを受取る場合がある。判定データには、指示データ又は符号が付されている場合がある。判定データは後述のように2種類存在するが、後述する肯定的な判定データには指示データ又は符号が付されている。肯定的な判定データを、受取った場合であって判定データに付されていたのが指示データである場合には、主制御部222は、指示データで特定される動作を実行させるための実行データを生成するようになっている。肯定的な判定データを、受取った場合であって判定データに付されていたのが符号のデータである場合には、主制御部222は、後述するようにして第2記録部225に記録されている予定動作についてのデータを、ユーザID及び符号データに基いて読み出して、その予定動作についてのデータで特定される動作を実行させるための実行データを生成するようになっている。いずれの場合であっても、主制御部222は、生成した実行データを、データ入力部221に送るようになっている。
また、主制御部222は、判定データが肯定的であるか否定的であるかを問わず、結果データを生成し、それをデータ入出力部221に送るようになっている。
復号化部223は、主制御部222からユーザIDの付された暗号化指示データを受取った場合に暗号化指示データを復号化する機能を有している。復号化部223には、多数のユーザ端末100からの暗号化指示データが送られてくる。多数のユーザ端末100から送られてくる暗号化指示データは、それを暗号化する際に用いられたアルゴリズムは同じであるが、上述したように暗号化に用いられた鍵が異なる。それを復号化するために、復号化部223は、すべてのユーザ端末100の第1記録部123に記録されたユーザIDと、それらユーザIDが付されたユーザ端末100において暗号化部124で用いられる鍵とを互いに紐付けた状態で記録している。復号化部223がどのようにして暗号化指示データを復号化するかについては後述するが、復号化部223が復号化を行う場合には、互いに紐付けたユーザIDと、鍵のデータが利用される。
復号化部223が暗号化指示データを復号化すると暗号化指示データは、元データに戻る。上述したように、元データは、暗号化指示データに付されていたユーザIDとともに判定部224へと送られるようになっている。
判定部224は、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正なものか否か、つまり暗号化指示データを送ってきたユーザが真正なユーザか否かについての判定を行うものである。この判定を認証判定と称することにする。
判定部224には上述のように、復号化部223から、暗号化指示データを復号化して得られた元データと、暗号化指示データに付されて復号化部223に送られてきて、復号化部223から転送されてきたユーザIDとが送られてくる。それらデータを用いて、復号化部223は認証判定を行う。
判定部224が実行する認証判定の詳細については後述することとするが、判定部224は、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正であるという肯定的な判定か、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正でないという否定的な判定のいずれかを行う。その結果に基いて、判定部224は肯定的な、或いは否定的な判定データを生成し、いずれにせよ生成した判定データを主制御部222に送るようになっている。なお、主制御部222に送られる判定データには、それが肯定的なものである場合には、指示データ又は符号のデータが付されることになる。
第2記録部225は、各ユーザ端末100に記録されていた、互いに紐付けられていた符号と予定動作とを、その符号と予定動作とが記録されているユーザ端末100のユーザIDと更に紐付けて、すべてのユーザ端末100の分について記録している。
第2記録部225に記録されたデータは、例えば、図8に示したようなものである。要するに、第2記録部225には、第1記録部123に記録された符号と予定動作とがそっくりそのまま、それが記録された第1記録部123を持つユーザ端末100に割り当てられたユーザIDと紐付けて記録されているのである。この実施形態では、これには限られないが、ユーザIDは、1から始まる整数の通し番号であることとしている。図8にはユーザID:4までの4人のユーザ分の符号と予定動作とが示されているが、通常はユーザの数はもっと多い。図8ではユーザID:5以降のユーザ分の符号と予定動作とは、記載を省略している。また、ユーザID:3のユーザについては、符号と予定動作との記録が無いが、それは当該ユーザのユーザ端末100の第1記録部123にも、符号と予定動作との記録が無いことを示している。このように、ユーザ端末100においては、第1記録部123における符号と予定動作との記録が省略される場合がある。
次に以上のようなインターネットバンキングシステムの使用方法、及び動作について図9を参照しながら説明する。
まず、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行う。
ユーザIDは、各ユーザ端末100を識別するための、各ユーザ端末100においてユニークなIDであり、一般的には英字、数字、記号の羅列である。多数のユーザIDが重複しないようにするために、各ユーザ端末100に対するユーザIDを決済装置200が発行するようにしてもよい。或いは、ユーザ端末100のハードウェアに出荷時から埋め込まれている個体識別番号をユーザIDとして利用することもできる。
各ユーザ端末100の管理者は、その入力装置102を操作することにより当該ユーザ端末100についてのユーザIDの入力を行う。なお、個体識別番号をユーザIDとして用いる場合には、かかる入力は不要である。ユーザIDのデータは、入力装置102から、インターフェイス114に送られ、インターフェイス114から制御部120に送られる。制御部120のデータ入出力部122はこれを受取り、主制御部121に送る。主制御部121は、それを保持する、或いは主制御部121内に記録する。
他方、主制御部121は、ユーザIDのデータをデータ入出力部122へと送る。ユーザIDのデータは、そこから送受信部へと送られ、ネットワーク400を介して決済装置200へと送られる。
決済装置200は、その送受信部でユーザIDのデータを受取る。ユーザIDのデータは、送受信部からインターフェイス214に送られ、インターフェイス214から制御部220に送られる。制御部220のデータ入出力部221はこれを受取り、主制御部222に送る。主制御部222は、それを保持する、或いは主制御部222内に記録する。この処理をすべてのユーザ端末100が行うことにより、主制御部222は、すべてのユーザ端末100についてのユーザIDのリストを持つことになる。
他方、各ユーザ端末100の第1記録部123には、図5に示した如き、互いに紐付けられた状態の符号と予定動作のデータが記録される。また、決済装置200の第2記録部225には、図8に示した如き、各ユーザ端末100に記録された互いに紐付けられた状態の符号と予定動作のデータが、それら符号と予定動作が記録された第1記録部123を持つユーザ端末100のユーザIDと紐付けた状態で記録されることになる。
インターネットバンキングシステムを利用するユーザは、自らが持つユーザ端末100の入力装置102を操作して開始情報を生成する(S801)。開始情報は、例えば、ユーザ端末100のディスプレイ101に表示されたトップ画面に含まれているインターネットバンキングシステムのソフトウェアを起動させるためのアイコンをユーザがタッチすることによって生成される。
開始情報は、入力装置102からインターフェイス114を介して、制御部120中にあるデータ入出力部122に送られる。データ入出力部122は、開始情報を主制御部121へと送る。
主制御部121は、開始情報を受け取ると、第1記録部123からユーザIDのデータを読み出し、それを保持する。なお、ユーザIDのデータの第1記録部123からの読み出しは、後述する元データの生成までの適当なタイミングで行われれば良い。
次いで、ディスプレイ101に、ユーザに、入力を促す画像が表示される。かかる画像の表示は、主制御部121が行う。主制御部121は、ディスプレイ101に表示されるべき画像についての画像データを生成し、それをデータ入出力部122へと送る。かかる画像データが、データ入出力部122から、インターフェイス114を経てディスプレイ101に送られることによって、ディスプレイ101には、ユーザに入力を促す画像が表示される。
ここでユーザが入力を行うのは、支払情報、残高閲覧情報、入出金記録閲覧情報、選択情報のいずれかである。これらのうち、支払情報、残高閲覧情報、入出金記録閲覧情報と、選択情報とは、その入力の仕方が異なる。支払情報、残高閲覧情報、入出金記録閲覧情報は、ユーザがその内容を直接入力する(かかる入力形式を、便宜上、「直接入力」と呼ぶこととする。)。他方、選択情報は第1記録部123に記録されていた予定動作の中からユーザが選択する(かかる入力形式を、便宜上、「選択入力」と呼ぶこととする。)。ディスプレイ101に表示される上述のユーザに入力を促す画像は、例えば、ユーザに直接入力と選択入力のいずれかを選択させるものとなる。
ユーザは、支払情報、残高閲覧情報、入出金記録閲覧情報の入力を選択するのであれば、直接入力を選択すれば良いし、選択情報の入力を希望するなら、選択入力を選択すれば良い。かかる選択は、入力装置102の操作によって行われる。上述の場合と同様、かかる選択を行うための操作内容は、インターフェイス114からデータ入出力部122を経て主制御部121へと送られる。
例えば、直接入力が選択されたこととする。直接入力が選択された場合、今度は主制御部121は、支払情報、残高閲覧情報、入出金記録閲覧情報のうちのどれの入力を希望させるかをユーザに選択させるための、かかる選択をユーザに促す画像をディスプレイ101に表示させる。ディスプレイ101に表示される画像の制御は、ユーザに入力を促す画像がディスプレイ101に表示されたときと同様に、主制御部121が画像データを生成することにより行う。
例えば、支払情報を入力することがユーザにより選択されたとする。支払情報は、ユーザが自分の口座から他の口座へと支払いを行うための指示を決済装置200に行うための情報であり、送金先の口座を特定する情報(銀行名、支店名、及び口座番号と、その口座の名義人)と、送金金額を特定する情報と、を含む。この場合、ディスプレイ101に表示される画像は、例えば、図10に示すようなものとなるであろう。図10に示された、銀行名、支店名、口座番号、名義人、及び送金金額という文字の下の枠内に、ユーザがそれぞれ該当する内容を記載することにより、支払情報の入力が行われることになる。例えば、残高閲覧情報を入力することがユーザにより選択されたとする。残高閲覧情報は、ユーザが自分の口座の現時点における残高の閲覧を要求する指示を決済装置200に行うための情報である。この場合には、残高閲覧情報の入力をユーザが選択した時点で残高閲覧情報が生成されることになる。例えば、入出金記録閲覧情報を入力することがユーザにより選択されたとする。入出金記録閲覧情報は、ユーザが自分の口座についての入出金記録の閲覧を要求する指示を決済装置200に行うための情報であり、自分が閲覧を望む入出金記録の期間(例えば、始期と終期)を特定する情報を含む。この場合には、閲覧を望む入出金記録の期間を特定する入力をユーザが行うことにより、入出金記録閲覧情報の入力がなされることになる。これら支払情報、残高閲覧情報、入出金記録閲覧情報は、本願発明における指示データの一例である。
例えば、支払情報の入力がユーザによって行われると、その入力内容は、入力装置102から、インターフェイス114、データ入出力部122を経て、主制御部121へと送られる。主制御部121は、これにユーザIDのデータを付す。このようにして、支払情報にユーザIDが付されたデータが、元データとなる。なお、残高閲覧情報、又は入出金記録閲覧情報が主制御部121に入力された場合においても、主制御部121は、入力された残高閲覧情報、又は入出金記録閲覧情報にユーザIDのデータを付す。これらの場合には、残高閲覧情報にユーザIDの付されたデータ、又は入出金記録閲覧情報にユーザIDの付されたデータが、元データとなる。
ユーザによって、選択入力が選択されたとする。そうすると、ディスプレイ101には、第1記録部123に記録された符号及び予定動作のすべてが、例えば、図5に示された内容が第1記録部123に記録されているのであれば、符号とそれに紐付けられた予定動作4組すべての表示がなされる。かかる表示を行う場合、主制御部121は、符号及び予定動作のデータを第1記録部123から読み出し、それに基いてディスプレイ101に表示する画像についての画像データを生成する。かかる画像データを、主制御部121が、データ入出力部122、インターフェイス114を介してディスプレイ101に送ることにより、ディスプレイ101に図5に示されたが如き、符号及び予定動作が表示されることになる。
ユーザは、表示された予定動作の内容を確認した上で、対になっている符号及び予定動作のうちの1つ、或いは符号を選択する。かかる選択は、ユーザが入力装置102を操作することによって行う。入力装置102からのデータは、上述のごとく主制御部121に送られる。主制御部121は、そのデータにより選択された符号を第1記録部123から読み出す。例えば、「符号1」が選択されたとする。主制御部121は、その「符号1」或いは「1」というデータに対して、ユーザIDのデータを付す。このようにして、符号にユーザIDが付されたデータが、この場合の元データとなる。なお、符号1或いは1というデータに代えて、或いはそれに加えて、符号1という符号で特定される動作内容そのものも元データに含めることも可能である。
いずれにせよ、主制御部121は元データを生成する(S802)。主制御部121は、生成した元データを、暗号化部124へと送る。
暗号化部124は、主制御部121から元データを受け取ると、それを暗号化して、暗号化指示データにする(S803)。
この実施形態では、暗号化部124が行う暗号化は、各ユーザ端末100毎に異なるものとなっている。これには限られないが、この実施形態では、各ユーザ端末100における暗号化部124で行われる暗号化は、同じアルゴリズムを用いるものの、鍵が異なる。暗号化部124は、そのユーザ端末100で用いられる暗号化の過程で用いられるアルゴリズムと鍵とを保持している。そのアルゴリズムと鍵とを用いて、暗号化部124は、元データを暗号化する。それにより生成されるのが、暗号化指示データである。
暗号化部124は、生成した暗号化指示データを主制御部121に送る。
主制御部121は、暗号化部124から暗号化指示データを受取る。暗号化指示データを受け取ったら、主制御部121は、それに平文のユーザIDを付す(S804)。ユーザIDの付された暗号化指示データは、主制御部121からデータ入出力部122に送られる。
ユーザIDの付された暗号化指示データは、インターフェイス114、送受信部、更にはネットワーク400を介して決済装置200に送られる(S805)。
決済装置200は、その送受信部でユーザIDの付された暗号化指示データを受け取る(S901)。
ユーザIDの付された暗号化指示データは、インターフェイス214を介して、制御部220のデータ入出力部221に送られる。データ入出力部221は、ユーザIDの付された暗号化指示データを主制御部222に送る。
主制御部222は、ユーザIDの付された暗号化指示データを受け取ると、自らが持つ、すべてのユーザ端末100についてのユーザIDのリストに含まれているユーザIDのうちの1つと、暗号化指示データに付されたユーザIDとが一致するか否かを判定する。これも後述する認証判定の一部と考えることもできるが、仮に暗号化指示データに付されていたユーザIDが、リストに含まれているユーザIDのいずれとも一致しなかった場合には、かかるユーザIDが付された暗号化指示データを送ってきたユーザ端末100が真正なものでないとして、主制御部222は以後の処理を中止する。他方、主制御部222は、暗号化指示データに付されていたユーザIDが、リストに含まれているユーザIDのいずれかと一致した場合には、ユーザIDの付された暗号化指示データをそのまま復号化部223に送る。
復号化部223は、主制御部222からユーザIDの付された暗号化指示データを受取った場合に、暗号化指示データを復号化する(S902)。
復号化部223には、多数のユーザ端末100からの暗号化指示データが送られてくる。多数のユーザ端末100から送られてくる暗号化指示データは、それを暗号化する際に用いられたアルゴリズムは同じであるが、暗号化に用いられた鍵が異なる。復号化部223は、復号化に必要なアルゴリズム(これは、この実施形態では1つである。)を保存している。他方、復号化部223は、暗号化指示データを復号化するために用いる鍵を特定しなければならない。復号化部223には上述のように、すべてのユーザ端末100の第1記録部123に記録されたユーザIDと、それらユーザIDが付されたユーザ端末100において暗号化部124で用いられる鍵とが互いに紐付けられた状態で記録されている。復号化部223は、暗号化指示データとともに主制御部222から送られてきたユーザIDと同じ復号化部223に記録されていたユーザIDと紐付けられていた鍵を、その暗号化指示データを復号化するための鍵であると特定する。
そして、復号化部223は、暗号化指示データを、上述のアルゴリズムと、上述の如くユーザIDを用いて特定された鍵とを用いて復号化する。その結果得られるのが元データである。復号化部223は、暗号化指示データを送って来たユーザ端末100における暗号化部124と同一の鍵を用いるので、ユーザ端末100と決済装置200との間で行われる暗号化通信は、共通鍵暗号方式の通信と捉えることが可能である。
元データは、暗号化指示データに付されていたユーザIDとともに判定部224へと送られる。
なお、復号化部223で暗号化指示データを復号化できなかった場合には、復号化部223は、その旨を判定部224に通知する。
判定部224は、暗号化指示データに付されていたユーザIDとともに、元データを復号化部223から受け取る。それらデータを用いて、判定部224は、認証判定を行う(S903)。
この実施形態では、元データに含まれているユーザIDと、元データに付されて復号化部223から送られてきたユーザIDとが一致するか否かを判定する。これにより、両ユーザIDが一致した場合には、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正であるという肯定的な判定を判定部224はなす。上述したように、元データにはユーザIDが含まれている。元データはその後暗号化されて暗号化指示データになるが、その暗号化指示データには元データに含まれていたユーザIDが暗号化した状態で含まれている。ユーザ端末100から送られてきた暗号化指示データを復号化して得られた元データに含まれているユーザIDが、そもそも平文の状態で暗号化指示データに付されてユーザ端末100から決済装置200に送られてきて、送受信部、インターフェイス214、データ入出力部221、主制御部222、復号化部223を経て判定部224に送られてきたユーザIDと一致すれば、暗号化指示データには改竄等の不正が行われていないと推定することができる。このような原理により、判定部224は、両ユーザIDが一致した場合には、肯定的な判定をなすのである。他方、両ユーザIDが一致しなかった場合には、判定部224は、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正でないという否定的な判定をなす。なお、判定部224は、復号化部223から、暗号化指示データを復号化できなかったとの通知を得た場合においても、否定的な判定をなす。
以上の判定の結果、判定部224は、肯定的な判定データ、或いは否定的な判定データを生成する。
判定データが肯定的な場合であっても、否定的な場合であっても、判定部224は、ユーザ端末100から暗号化指示データに付されてきたユーザIDを付して、判定データを主制御部222に送る。また、判定データが肯定的な場合には、元データの中に含まれていた、本願発明における指示データの例となる、支払情報、残高閲覧情報、或いは入出金記録閲覧情報、又は符号を、主制御部222に送る。
もっとも、暗号化指示データを復号化部223で復号化できたという事実自体によっても、暗号化指示データに改竄がなかった、或いはユーザ端末100から決済装置200に送られてきた暗号化指示データが真正であるという証明ができているとみなすことも可能である。もしそのような取扱をするのであれば、判定部224及び判定部224で行われた認証判定の処理を省略することも可能である。その場合には、復号化部223は、判定部224に送る上述のデータを主制御部222に送るようにすれば良い。
主制御部222には、上述のように、判定データがその他のデータとともに送られてくる。
判定データが肯定的なものであったとする。肯定的な判定データには、ユーザIDに加えて、支払情報、残高閲覧情報、或いは入出金記録閲覧情報である指示データか、又は符号が付されている。これらに基いて、主制御部222は、図外の実行部に、指示データ等によって特定される動作を実行させる(S904)。
肯定的な判定データに付されていたのが指示データである場合には、主制御部222は、その指示データによって特定される動作を図外の実行部に実行させるためのデータを生成し、データ入出力部221を介して実行部に送る。実行部は、決済装置200外の装置内に存在しても良いが、各ユーザの銀行口座の管理一般を行う機能を有している。受取ったデータに基いて、実行部は、例えば指示データが支払情報であった場合にはユーザが指定した口座へ、ユーザが指定した金額の送金を行い、指示データが残高閲覧情報であった場合には、ユーザ端末100へ、ユーザ端末100のディスプレイ101にその時点のユーザの口座の残高を表示させるに必要なデータを送信し、指示データが入出金記録閲覧情報である場合には、ユーザ端末100へ、ユーザ端末100のディスプレイ101に、ユーザが指定した期間におけるそのユーザの口座の入出金記録を表示させるに必要なデータを送信する。このとき、どのユーザのためにかかる処理を行うかは、肯定的な判定データに付されていたユーザIDによって決定される。
他方、肯定的な判定データに付されていたのがユーザIDと符号とである場合には、主制御部222は、第2記録部225からそのユーザIDで特定される予定動作についてのデータのうち、その符号と紐付けられたものを読み出す。これにより、予定動作のデータを得た主制御部222は、指示データを判定部224から得た上述の場合と同様に、その予定動作のデータによって特定される動作を図外の実行部に実行させるためのデータを生成し、データ入出力部221を介して実行部に送る。そのデータを受取った実行部は、そのデータにより特定される動作を実行する。
主制御部222は、判定データが否定的なものであれば、上述の如き動作を実行しない。
また、主制御部222は、判定データが肯定的であるか否定的であるかを問わず、結果データを生成する(S905)。主制御部222は、結果データをデータ入出力部221に送る。結果データは、ユーザの指示が決済装置200で実行されたか否かを示すものである。結果データは、肯定的な場合と否定的な場合があり、それが肯定的であるか否定的であるかは、判定データが肯定的か否定的かに倣う。
主制御部222は、生成した結果データを、判定データに付されていたユーザIDとともに、データ入出力部221、インターフェイス214を介して送受信部へと送る。送受信部は、ユーザIDで特定されるユーザ端末100へと、ネットワーク400を介して結果データを送る(S906)。
ユーザ端末100は、結果データをその送受信部で受け取る(S806)。
送受信部で受付けられた結果データは、インターフェイス114、データ入出力部122を介して主制御部121へと送られる。
これを受付けた主制御部121は、ユーザの指示した動作が決済装置200で実行されたか否かを示す画像を結果データに基いて生成し、その画像データを上述の場合と同様にしてディスプレイ101に送ることによって、その画像データに基づく画像をディスプレイ101に表示させる。その画像を見ることによってユーザは、自分の指示した動作が決済装置200で実行されたか否かを知ることができる。
また、決済装置200からユーザ端末100には上述のように、ユーザ端末100のディスプレイ101にその時点のユーザの口座の残高を表示させるに必要なデータや、ユーザが指定した期間におけるそのユーザの口座の入出金記録を表示させるに必要なデータが送られてくる場合がある。かかるデータも主制御部222に送られ、これらデータを受取った主制御部222はそれらデータに基づく適当な画像をディスプレイ101に表示させる。
なお、以上で説明したインターネットバンキングシステムにおいては、上述した直接入力によるデータと、選択入力によるデータとの双方を取り扱えるようになっていたが、ユーザ端末100と決済装置200とは、それらの一方のみを扱えるように構成されていても構わない。
<変形例1>
変形例1によるインターネットバンキングシステムは、第1実施形態によるインターネットバンキングシステムと殆ど同じである。ユーザ端末100と、決済装置200との構成、及びそこで実行される処理は、後述する部分を除いて、第1実施形態におけるそれらと変わるところがない。
第1実施形態のインターネットバンキングシステムでは、複数のユーザ端末100のそれぞれの暗号化部124で実行される元データを暗号化する場合における暗号化の手法はいずれも、常に、同一のアルゴリズムと同一の鍵を用いた同一のものであった。加えて、決済装置200の復号化部223において実行される復号化の手法も、同一のユーザ端末100から送られてきた暗号化指示データに関して言えば、常に、同一のアルゴリズムと同一の鍵を用いた同一のものであった。
変形例1では、複数のユーザ端末100のそれぞれの暗号化部124で実行される暗号化の手法はいずれも、その暗号化の手法が、元データを暗号化して暗号化指示データを生成する度に異なるものとされる。各暗号化部124で暗号化の手法を変化させるには、アルゴリズムを変化させることも可能であるが、変形例1では、暗号化を行う度に鍵を変化させることとする。他方、変形例1では、決済装置200の復号化部223において実行される復号化の手法も、同一のユーザ端末100から送られてきた暗号化指示データの復号化に着目した場合において、復号化がなされる度に変化させられることになる。
かかる仕組みを実現させるには、あるユーザ端末100の暗号化部124と、決済装置200の復号化部223とに着目した場合に、いわば同期した状態で、鍵を変化させて行くことが必要である。変形例1のユーザ端末100と、決済装置200とは、暗号化部124と復号化部223との間で、同期した状態で変化していく鍵を用いて暗号化又は復号化の処理を実行するための仕組みを備えている。
以下、その仕組について説明する。
変形例1のユーザ端末100でも、第1実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部120が生成される。図11に示したように、変形例1における制御部120内に生成される機能ブロックは第1実施形態の場合と略同じであり、同一の機能ブロックが担う機能は暗号化部124を除けば、第1実施形態の場合と同じである。変形例1における制御部120内に生成される機能ブロックには、第1実施形態の場合には存在しなかった、鍵生成部125と鍵データ記録部126とが含まれており、その点でのみ第1実施形態と異なる。
鍵生成部125は暗号化に使用される鍵を生成するものであり、鍵を暗号化部124に提供するものとなっている。また、鍵データ記録部126は、鍵生成部125が鍵を生成するために使用されるデータを記録するものである。
鍵生成部125における鍵の生成の方法、及び鍵を暗号化部124に提供するタイミングについて説明する。
鍵生成部125が暗号化部124に鍵を供給するタイミングは、暗号化部124が暗号化の処理を行うタイミングである。上述したように、暗号化部124には、元データが送られてくる。このタイミングで、暗号化部124は、鍵生成部125に対して鍵を生成することを依頼するためのデータを送信する。それを受取ると、鍵生成部125は鍵を生成し、生成した鍵のデータを暗号化部124に送る。暗号化部124は、不変のアルゴリズムと、提供された鍵とを用いて、元データを暗号化することにより、第1実施形態の場合と同様に、暗号化指示データを得る。
鍵生成部125は、例えば鍵を以下のようにして生成する。鍵は、以下の説明における「解」として生成され、英字、数字、記号の少なくとも1つの羅列として生成される。解は例えば、ある条件下では常に同じものが生成される、初期値依存性のある擬似乱数列のようなものとすることができる。ある初期値から連続してワンタイムパスワードを生成するという、公知、周知のワンタイムパスワードの発生方法が、その一例となる。
この実施形態では、解を生成するために、ある初期値(2つ以上の場合もある)を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を解が必要となる度に実行する。そうすることにより、上記「値」である解を連続して生成することができる。このような解は、初期値依存性のある擬似乱数となる。
上述の「解」を作るのに使われる関数の例として、以下の(a)〜(c)を挙げる。以下の(a)〜(c)はいずれも、N番目の「解」であるXを作るための式である。また、P、Q、R、Sは自然数である。
(a)(X)=(XN−1+(XN−2
(b)(X)=(XN−1
(c)(X)=(XN−1(XN−2(XN-3R(XN−4S
(a)は、過去の「解」2つを用い、それらをそれぞれP乗とQ乗したものを足し合わせることにより、新しい「解」を生成する。なお、正確には、過去の「値」2つを用い、それらをP乗とQ乗したものを足し合わせると、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい「解」を生成する。
(b)は、過去の「解」1つを用い、それをP乗したものの桁数を上述のように整理したものを新しい「解」とするものである。
(c)は、過去の「解」4つを用い、それらをそれぞれP乗、Q乗、R乗、S乗したものの積を取り、その後上述したように桁数を整理したものを新しい「解」とするものである。
上述の(a)〜(c)は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の(a)〜(c)を順番に用いる等の変化を加えることも可能である。
このような手法で解を生成することとすれば、ある初期値に基いて1番目に生成される解は常に同じであり、2番目に生成される解も常に同じであり、同様にN番目に生成される解も常に同じである。これが初期値依存性ということである。
鍵データ記録部126には当初1つ目の解を生成するのに必要な初期値としての解、例えば、上記式(a)が用いられるのであれば、(X)と(X−1)が、上記式(b)が用いられるのであれば、(X)が、上記式(c)が用いられるのであれば、(X)、(X−1)、(X−2)、(X-3)、が、それぞれ記録されている。なお、初期値とは、各ユーザ端末100毎にユニークである。
鍵生成部125は、1つ目の解を生成する場合には、その初期値を鍵データ記録部126から読み出し、1つ目の解である(X)を生成する。それとともに、鍵生成部125は、生成した解を、鍵データ記録部126に送り、上記初期値を+1ずつ繰り上げる。つまり、鍵データ記録部126には、1番目の解が鍵生成部125で作られた後の状態では、上記式(a)が用いられるのであれば、(X)と(X)が、上記式(b)が用いられるのであれば、(X)が、上記式(c)が用いられるのであれば、(X)、(X)、(X−1)、(X−2)が、それぞれ記録されることになる。
式(a)〜(c)のいずれを用いる場合であっても、2つ目の解である(X)を作るときは、1番目の解が生成された後の鍵データ記録部126に記録された上記解を用いれば良い。そうすれば、同じ順番で作られた解(X)は常に同じものとなる。
上述のように生成された解が、鍵生成部125から暗号化部124に提供される。その解を鍵として用いることにより暗号化部124は、元データを暗号化して、暗号化指示データを生成する。これにより、暗号化部124は、元データを暗号化する度に異なる鍵を用いて、暗号化の処理を実行することができることになる。
ユーザ端末100における他の処理はすべて第1実施形態と同一でよく、変形例1ではそうなっている。
変形例1の決済装置200には、第1実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部220が生成される。図12に示したように、変形例1における制御部220内に生成される機能ブロックは第1実施形態の場合と略同じであり、同一の機能ブロックが担う機能は復号化部223を除けば、第1実施形態の場合と同じである。変形例1における制御部220内に生成される機能ブロックには、第1実施形態の場合には存在しなかった、鍵生成部226と鍵データ記録部227とが含まれており、その点でのみ第1実施形態と異なる。
鍵生成部226は復号化に使用される鍵を生成するものであり、鍵を復号化部223に提供するものとなっている。また、鍵データ記録部227は、鍵生成部226が鍵を生成するために使用されるデータを記録するものである。
鍵生成部226における鍵の生成の方法、及び鍵を復号化部223に提供するタイミングについて説明する。
鍵生成部226が復号化部223に鍵を供給するタイミングは、復号化部223が復号化の処理を行うタイミングである。上述したように、復号化部223には、ユーザIDの付された暗号化指示データが送られてくる。このタイミングで、復号化部223は、鍵生成部226に対して鍵を生成することを依頼するためのデータを送信する。それを受取ると、鍵生成部226は鍵を生成し、生成した鍵のデータを復号化部223に送る。復号化部223は、不変のアルゴリズムと、提供された鍵とを用いて、暗号化指示データを復号化することにより、第1実施形態の場合と同様に、元データを得る。
鍵生成部226が鍵を生成する方法は、ユーザ端末100における鍵生成部125が鍵を生成する方法と同じである。それを可能とするために、決済装置200の鍵データ記録部227には、ユーザ端末100における鍵データ記録部126に記録されていたのと同一のデータが記録されている。
もっとも、ユーザ端末100の鍵生成部125はそのユーザ端末100で用いる鍵のみを生成すれば良かったが、決済装置200は、各ユーザ端末100の鍵生成部125で生成される鍵と同じ鍵を、各ユーザ端末100の鍵生成部125で生成される鍵と同期して生成できねばならない。
そのため、決済装置200における鍵データ記録部227には、当初、各ユーザ端末100における鍵データ記録部126に当初記録されていた上述の初期値と同じ初期値が記録されている。それら初期値は、どの初期値がどのユーザ端末100についての初期値かを鍵生成部226が把握できるように、初期値毎にユーザIDと紐付けて、鍵データ記録部227に記録されている。
鍵生成部226が、復号化部223から、鍵生成部226に対して鍵を生成することを依頼するためのデータを受け取るとき、そのデータには、これから復号化しようとしていた暗号化指示データに付されていたユーザIDが付されている。鍵生成部226はそのユーザIDに付されていた初期値(或いはその時点で鍵データ記録部227に記録されている最新の解であって、次の解を生成するために必要なもの)を読み出す。その読み出した初期値又は解を用いて、鍵生成部226は、ユーザ端末100の鍵生成部125で生成されたのと同じ方法で新たな解を生成する。その解(鍵)は、今から復号化部223が復号化しようとしている暗号化指示データを生成する際に、ユーザ端末100での暗号化部124で使用された解(鍵)と同じものとなる。
鍵生成部226は、解を生成する度に、読み出された初期値又は解を、上述のように、+1して更新する。
上述のように生成された解が、鍵生成部226から復号化部223に提供される。その解を鍵として用いることにより復号化部223は、暗号化指示データを復号化する度に、その暗号化指示データを決済装置200に送ってきたユーザ端末100の暗号化部124で使用されたのと同じ、変化する鍵を用いることができることになる。
決済装置200における他の処理はすべて第1実施形態と同一でよく、変形例1ではそうなっている。
<変形例2>
変形例2におけるインターネットバンキングシステムは、基本的に第1実施形態におけるそれと同じである。
異なる点のみを説明するが、異なるのは以下の点である。
第1実施形態では、S805、S901の処理において、ユーザ端末100から決済装置200に対して、ユーザIDの付された暗号化指示データが、インターネットであるネットワーク400によって提供されることとなっていた。変形例1では、ユーザIDの付された暗号化指示データを決済装置200に提供する方法がそれと異なる。
変形例2おいては、ユーザ端末100の中に生成される機能ブロックは第1実施形態の場合と同一である。ただし、その主制御部121とデータ入出力部122の機能が、第1実施形態の場合と僅かに異なる。
第1実施形態では、S804において、ユーザIDの付された暗号化指示データが主制御部121で生成された。第1実施形態では、主制御部121は、それをデータ入出力部122に送り、ネットワーク400を介して決済装置200に送信することとしていたが、変形例2の主制御部121は、ユーザIDの付された暗号化指示データを生成した後、それとは異なる処理を行う。
この場合、主制御部121は、ユーザIDの付された暗号化指示データを特定することのできる画像である暗号化画像についてのデータである暗号化画像データを生成する。暗号化画像は、所定の規則に従って暗号化画像から暗号化指示データを特定することができる画像であればどのようなものでもよく、例えば、二次元バーコードとすることができる。主制御部121は、かかる暗号化画像データを、データ入出力部122、インターフェイスを介してディスプレイ101に送る。ディスプレイ101には、例えば、図15に示したようにして、暗号化画像101Xが表示される。
変形例2では、この暗号化画像101Xを用いて、ユーザIDの付された暗号化指示データを決済装置200に引き渡す。
例えば、決済装置200は、銀行、販売店、飲食店等に置かれた読み取り装置とインターネット、或いは専用線を介して通信可能となっている。読み取り装置は、スマートフォンのディスプレイ101に表示された暗号化画像101Xを読取ることができるものであり、例えばカメラ、或いはバーコードリーダーである。画像を介して読み取り装置で読取られたデータは、インターネット、或いは専用線を介して決済装置200に送られる。決済装置200に送られるデータは、暗号化画像101Xそのものについての画像データであってもよく、読取り装置が、暗号化画像101Xから、ユーザIDの付された暗号化指示データを抽出する、或いは再構築する機能を有しているのであれば、ユーザIDの付された暗号化指示データであってもよい。
それらいずれの場合でも、決済装置200は、その送受信部やインターフェイス214でそれらデータを受け取る。それらデータは、データ入出力部221を介して主制御部222に送られる。
仮に、決済装置200に送られるデータが、ユーザIDの付された暗号化指示データである場合には、それ以降の処理は第1実施形態の場合と同じである。
また、決済装置200に送られるデータが、上述の如き画像データである場合には、決済装置200の主制御部222は、その画像データによって特定される暗号化画像101Xから、ユーザIDの付された暗号化指示データを抽出する、或いは再構築する。それ以降の処理は第1実施形態の場合と同じである。
このように、ユーザ端末100から決済装置200には、暗号化指示データそのものが送られる必要は必ずしもなく、それを例えば、二次元バーコード、一次元バーコード等の識別子に変換して、データの送信を伴わずに、決済装置200に引き渡すことができる。
≪第2実施形態≫
第2実施形態で説明するのもインターネットバンキングシステムである。
第2実施形態におけるインターネットバンキングシステムも、第1実施形態の場合と同様に、多数のユーザ端末100と、決済装置200とをネットワーク400経由で接続して構成される。そして、第2実施形態におけるユーザ端末100の構成と、決済装置200の構成は、概ね第1実施形態におけるユーザ端末100と、決済装置200の構成と概ね同じである。
例えば、ハードウェア構成に関して言えば、ユーザ端末100、決済装置200とも、第1実施形態と第2実施形態とで変わりはない。
端的に言うと、第1実施形態におけるインターネットバンキングシステムと第2実施形態におけるインターネットバンキングシステムにおける相違は、第1実施形態では、上述した直接入力によるデータと、選択入力によるデータとの双方を取り扱えるようになっていたが、第2実施形態におけるユーザ端末100と決済装置200とは、選択入力によるデータしか扱わない、という点である。
また、第1実施形態における決済装置200は、ユーザ端末100から送られてきた暗号化指示データをその復号化部223で復号化するようになっていたが、第2実施形態における決済装置200は、ユーザ端末100から送られてきた暗号化指示データを復号化しない。
第1実施形態におけるインターネットバンキングシステムと、第2実施形態におけるインターネットバンキングシステムとの間には、かかる相違点に基づく、構成、及び動作についての相違が存在する。
以下、両者の間の相違点に着目して説明を行う。
第2実施形態においても、第1実施形態の場合と同様に、コンピュータプログラムが実行されることにより、ユーザ端末100の中に機能ブロックが生成される。第2実施形態においてユーザ端末100の中に生成される機能ブロックは第1実施形態の場合と同一である。
ただし、第1実施形態におけるユーザ端末100における第1記録部123には、上述のように符号及び予定動作が互いに対応付けた状態で記録されているのが基本であるものの、場合によっては符号及び予定動作が記録されていないこともあったが、この実施形態では、すべてのユーザ端末100における第1記録部123のそれぞれに、符号及び予定動作の複数の組が、互いに対応付けた状態で記録されている。また、後述するように、ユーザ端末100で生成される元データは、上述した選択入力により生成されるもののみである。
他方、第2実施形態においても、第1実施形態の場合と同様に、コンピュータプログラムが実行されることにより、決済装置200の中に機能ブロックが生成される。図13に示したように、第2実施形態において決済装置200の中に生成される機能ブロックは、基本的に第1実施形態の場合と同一である。第1実施形態と第2実施形態とで異なるのは、第1実施形態では存在していた復号化部223が存在しないことと、その代わりに第1実施形態では存在していなかった暗号化部228が存在すること、である。
暗号化部228は、元データを暗号化する機能を有している。暗号化部228は、元データを主制御部222から提供されるようになっている。主制御部222から提供される元データは通常複数であり、暗号化部228は例えば、複数提供された元データのすべてを暗号化するようになっている。それを可能とするために、第2実施形態における主制御部222は、暗号化部228に提供する元データを生成する機能を有している。主制御部222は、後述するようにして、ユーザIDと、第2記録部225に記録されている符号とを用いて元データを生成するようになっている。主制御部222で実行される具体的な元データの生成方法については後述することにする。
暗号化部228は元データを暗号化することによって、暗号化指示データを得る。暗号化部228で生成された暗号化指示データを暗号化部228は、判定部224に送るようになっている。
なお、判定部224は、暗号化部228から送られてきた上述の暗号化指示データに加えて、主制御部222から送られてきた決済装置200がユーザ端末100から受け取った暗号化指示データをも受け取るようになっている。判定部224は、これら2種類の暗号化指示データを用いて認証判定を行う。判定部224が認証判定を行うこと自体は第1実施形態及び第2実施形態で変わりはないが、認証判定の方法が、両実施形態で異なるのである。
次に以上のようなインターネットバンキングシステムの使用方法、及び動作について図14を参照しながら説明する。
第2実施形態のインターネットバンキングシステムにおいても第1実施形態の場合と同様に、かかるシステムを使用するための準備として、各ユーザ端末100において、ユーザIDの設定を行う。決済装置200の主制御部222が、すべてのユーザ端末100についてのユーザIDのリストを持つことになるのも第1実施形態と同様である。
また、各ユーザ端末100の第1記録部123には、図5に示した如き、互いに紐付けられた状態の符号と予定動作のデータが記録される。決済装置200の第2記録部225には、図8に示した如き、各ユーザ端末100に記録された互いに紐付けられた状態の符号と予定動作のデータが、それら符号と予定動作が記録された第1記録部123を持つユーザ端末100のユーザIDと紐付けた状態で記録される。これにて、インターネットバンキングシステムの使用の準備が終わる。
インターネットバンキングシステムを利用するユーザは、自らが持つユーザ端末100の入力装置102を操作して開始情報を生成する(S801)。これは第1実施形態と同じである。第1実施形態では、ユーザに入力を促す画像として、ディスプレイ101に、直接入力と選択入力のいずれかの選択をユーザに促す画像がまず表示された。しかしながら、第2実施形態では上述したように選択入力しかそもそも行えないから、ディスプレイ101に表示される画像は、第1実施形態でいえば、選択入力を行うことをユーザが選択した後の画像となる。つまり、ディスプレイ101には、第1記録部123に記録された符号及び予定動作のすべてが表示される。
第1実施形態の場合と同様に、ユーザは、表示された予定動作の内容を確認した上で、対になっている符号及び予定動作のうちの1つ、或いは符号を選択する。例えば、「符号1」が選択されたとする。主制御部121は、その「符号1」或いは「1」というデータに対して、ユーザIDのデータを付す。このようにして、符号にユーザIDが付されたデータが、この場合の元データとなる。
このように、第2実施形態における元データの生成は、選択入力しか行えないことを除き、第1実施形態の場合のS802の処理と変わらない。
生成された元データを、主制御部121は暗号化部124へと送る。
暗号化部124は、主制御部121から元データを受け取ると、それを暗号化して、暗号化指示データにする(S803)。この処理は、第1実施形態と変わらない。変形例1で説明したようにして、暗号化の手法を変化させることも可能ではあるが、第2実施形態でも第1実施形態の場合と同様に、暗号化部124が行う暗号化は、各ユーザ端末100毎に異なるけれども、各ユーザ端末100毎に見た場合には常に同一であるものとする。
暗号化部124は、生成した暗号化指示データを主制御部121に送る。
主制御部121は、暗号化部124から暗号化指示データを受取る。暗号化指示データを受け取ったら、主制御部121は、それに平文のユーザIDを付す(S804)。ユーザIDの付された暗号化指示データは、主制御部121からデータ入出力部122に送られる。
ユーザIDの付された暗号化指示データは、インターフェイス114、送受信部、更にはネットワーク400を介して決済装置200に送られる(S805)。また、決済装置200は、その送受信部でユーザIDの付された暗号化指示データを受け取る(S901)。この過程は、第1実施形態と同じである。
ユーザIDの付された暗号化指示データは、インターフェイス214を介して、制御部220のデータ入出力部221に送られる。データ入出力部221は、ユーザIDの付された暗号化指示データを主制御部222に送る。
主制御部222は、ユーザIDの付された暗号化指示データを受け取ると、自らが持つ、すべてのユーザ端末100についてのユーザIDのリストに含まれているユーザIDのうちの1つと、暗号化指示データに付されたユーザIDとが一致するか否かを判定する。これも後述する認証判定の一部と考えることもできるが、仮に暗号化指示データに付されていたユーザIDが、リストに含まれているユーザIDのいずれとも一致しなかった場合には、かかるユーザIDが付された暗号化指示データを送ってきたユーザ端末100が真正なものでないとして、主制御部222は以後の処理を中止する。
他方、主制御部222は、暗号化指示データに付されていたユーザIDが、リストに含まれているユーザIDのいずれかと一致した場合には、ユーザIDの付された暗号化指示データをそのまま判定部224に送る。第1実施形態では、主制御部222からの、かかるユーザ端末100から送られて来た暗号化指示データの送り先は復号化部223であった。ユーザ端末100から送られて来た暗号化指示データの送り先が第1実施形態と第2実施形態とで異なる。
他方、主制御部222は、元データを生成して、暗号化部228に送る。主制御部222における元データの生成方法は、以下のようなものである。
主制御部222は、ユーザIDとともに暗号化指示データを送ってきたユーザ端末100における主制御部121と同じ方法で元データを生成する。ユーザ端末100の主制御部121では、1回の指示を決済装置200に行うにあたって1つの元データが生成されるが、主制御部222は1回の指示についての暗号化指示データをユーザ端末100から受取ると、原則として複数個の元データを生成する。
主制御部222は、ユーザ端末100から暗号化指示データとともに送られてきたユーザIDと同じユーザIDに紐付けられていた、第2記録部225に記録されていた符号及びそれに紐付けられていた予定動作のうち、元データを生成するためにユーザ端末100の主制御部121で使用されたものと同じもの(符号のみ、或いは符号と予定動作)を用いて、元データを生成する。例えば、図8に例示された例でいえば、主制御部222が暗号化指示データとともにユーザ端末100から受取ったユーザIDが4であったとした場合、主制御部222は、「符号1(又は「1」)」、「符号2(又は「2」)」、「符号3(又は「3」)」「符号4(又は「4」)」のそれぞれに、ユーザIDである「4」を付したものを、元データとして生成する、又は生成することがある。「生成する、又は生成することがある。」という文言の意義については後述する。
要するに、主制御部222は、暗号化指示データを送ってきたユーザ端末100の主制御部121が、第1記録部123に記録されていたデータを使って生成しうる元データのすべてを、第2記録部225に記録されていたデータを使って生成する、又は生成することがあるのである。
この実施形態では、とりあえず、主制御部222は、暗号化指示データを送ってきたユーザ端末100の主制御部121が、第1記録部123に記録されていたデータを使って生成しうる元データのすべてをまず生成し、それら元データのすべてを暗号化部228に送るものとする。ユーザIDが4の場合であれば、上述のように、主制御部222で4つの元データが生成され、それらがユーザIDとともに暗号化部228に送られる。
暗号化部228は、主制御部222からユーザIDとともに元データを受取った場合に、元データを暗号化する(S907)。
暗号化部228には、多数のユーザ端末100からの暗号化指示データが送られてくる。暗号化部228は、その暗号化指示データを送ってきたユーザ端末100における暗号化部124で行われた暗号化の手法と同じ方法で、主制御部222から送られて来た元データを暗号化する。多数のユーザ端末100から送られてくる暗号化指示データは、それを暗号化する際に用いられたアルゴリズムは同じであるが、暗号化に用いられた鍵が異なるから、暗号化部228は、主制御部222から送られてきた元データを暗号化するに当たり、各ユーザ端末100で暗号化を行うために使用された鍵を把握する必要がある。かかる鍵の把握は、第1実施形態の復号化部223において、復号化に用いる鍵を把握する場合と同様に、主制御部222から送られてきたユーザIDによって行うことができる。暗号化部228は、暗号化に必要なアルゴリズムに加え、すべてのユーザ端末100の第1記録部123に記録されたユーザIDと、それらユーザIDが付されたユーザ端末100において暗号化部124で用いられる鍵とが互いに紐付けられた状態で記録されている。暗号化部228は、元データとともに主制御部222から送られてきたユーザIDと同じ暗号化部228に記録されていたユーザIDと紐付けられていた鍵を、その元データを暗号化するための鍵として特定する。
そして、暗号化部228は、主制御部222から受取った元データを、上述のアルゴリズムと、上述の如くユーザIDを用いて特定された鍵とを用いて暗号化する。その結果得られるのが暗号化指示データである。暗号化部228は、主制御部222から複数の元データを受け取っている場合があるが、この実施形態における暗号化部228は、複数の元データを受け取った場合には、複数の元データをすべて暗号化するようになっている。上述の例の場合であれば、4つの元データを受取った暗号化部228は、それらをそれぞれ暗号化して4つの暗号化指示データを生成する。
生成された複数の暗号化指示データは、それら暗号化指示データを生成する元となった元データと互いに紐付けられた状態で、暗号化部228から判定部224へと送られる。
判定部224は、既に簡単に述べたように、暗号化部228から送られてきた上述の暗号化指示データと、主制御部222から送られてきた、決済装置200がユーザ端末100から受け取った暗号化指示データとを用いて認証判定を行う(S903)。
第2実施形態における判定部224は、暗号化部228からまとめて受取った複数の暗号化指示データの1つと、主制御部222から送られてきた暗号化指示データとが一致するか否かの判定を行う。前者のうちの1つと後者とが一致したのであれば、判定部224は、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正であるという肯定的な判定をなす。
上述したように、暗号化部228で生成される暗号化指示データは、ユーザ端末100の主制御部121で生成され得るすべての元データのそれぞれと等しい、主制御部222で生成された複数の元データに基いて生成されたものであるから、暗号化部228で生成された暗号化指示データのうちの1つは、改竄等の不正がない限り、ユーザ端末100から送られてきた暗号化指示データと一致するはずである。このような原理により、暗号化部228からまとめて受取った複数の暗号化指示データの1つと、主制御部222から送られてきた暗号化指示データとが一致した場合に、判定部224は肯定的な判定をなすのである。
他方、暗号化部228からまとめて受取った複数の暗号化データのすべてが、主制御部222から送られてきた暗号化指示データと一致しなかった場合には、判定部224は、ユーザ端末100から決済装置200に送られてきた暗号化指示データが真正でないという否定的な判定をなす。
以上の判定の結果、判定部224は、肯定的な判定データ、或いは否定的な判定データを生成する。
判定データが肯定的な場合であっても、否定的な場合であっても、判定部224は、主制御部222から送られてきたユーザIDを付して、判定データを主制御部222に送る。また、判定データが肯定的な場合には、判定部224は、主制御部222から送られてきた暗号化指示データと一致した、暗号化部228から送られてきた指示データと紐付けられた状態で暗号化部228から送られてきた元データに含まれていた符号についてのデータを、判定データに付して主制御部222に送る。
主制御部222には、上述のように、判定データが送られてくる。
判定データが肯定的なものであったとする。肯定的な判定データには、ユーザIDに加えて、符号が付されている。かかるユーザID、及び符号に基いて、主制御部222は、図外の実行部に、指示データ等によって特定される動作を実行させる(S904)。かかる処理は、肯定的な判定データに付されていたのがユーザIDと符号とである場合において第1実施形態で実行された処理に同じである。
他方、主制御部222は、判定データが否定的なものであれば、上述の如き動作を実行しない。
また、主制御部222は、判定データが肯定的であるか否定的であるかを問わず、結果データを生成する(S905)。生成された結果データは、ユーザ端末100へと、ネットワーク400を介して送られる(S906)。ユーザ端末100は、結果データを受け取る(S806)。これらの処理、及びユーザ端末100で行われる以降の処理は、第1実施形態と同様である。
なお、第2実施形態における上述の説明において、判定部224は、暗号化部228からまとめて送られてきた複数の暗号化指示データと、主制御部222から送られてきた1つの暗号化指示データとを比較して、前者のうちの1つと後者とが一致するか否かによって判定を行うこととしていた。ユーザ端末100から送られてきた暗号化指示データに対して、決済装置200で生成したユーザ端末100で生成しうるすべての暗号化指示データを、いわゆる総当りで比較することを前提とした手法である。言い換えれば、かかる手法は、決済装置200で生成される複数の暗号化指示データがすべて出揃うのを待ってから、判定部224で認証判定を行うというバッチ処理的な手法であるともいえる。
もちろん、総当りを行えば、ユーザ端末100から送られてきた暗号化指示データに改竄等の不正がない限り、暗号化部228からまとめて送られてきた複数の暗号化指示データのうちの1つと、主制御部222から送られてきた暗号化指示データとは一致するはずである。
しかしながら、総当りを行うまでもなく、例えば、暗号化部228で生成された1つ目の暗号化指示データが判定部224に送られて来て、判定部224でその暗号化指示データと主制御部222から送られてきた暗号化指示データとが一致してしまったのであれば、主制御部222から送られて来た暗号化指示データと一致するはずのない、その後に暗号化部228から送られてくる暗号化指示データと、主制御部222から送られてきた暗号化指示データとを比較する利益は無い。したがって、判定部224で行われる認証判定の処理は、暗号化部228から送られて来る暗号化指示データと、主制御部222から送られてきた暗号化指示データとを、一対一で、いわゆるリアルタイム処理の形式で比較しても構わない。
その場合、暗号化部228は、主制御部222から受取った元データを1つ暗号化して暗号化指示データとする度に、判定部224に送るようにすれば良い。そして、判定部224は、1つ暗号化部228から暗号化指示データを受取る度に、それを主制御部222から受け取っていた暗号化指示データと比較して、両者が一致するか否かにより判定データをその都度生成すれば良い。もちろん、両者が一致した場合に生成される判定データは肯定的な判定データとなり、両者が一致しない場合に生成される判定データは否定的な判定データとなる。
判定部224が、上述のように、リアルタイム処理的な処理として認証判定を実行する場合には、上述したように、暗号化部228は、暗号化指示データを1つ生成する度に、それを判定部224に送る。このような処理を暗号化部228が行うのであれば、暗号化部228は主制御部222が生成しうる複数の元データのすべてを主制御部222から受け取ってから、元データの暗号化を開始する必要はない。言い換えれば、既に説明した暗号化部228は、主制御部222から複数の元データのすべてを受け取ってから、バッチ処理的に、元データを暗号化する処理を行うようになっていたが、暗号化部228は、主制御部222から元データを1つ受取るたびに、元データの暗号化を行うようになっていても構わない。上述の説明では、主制御部222は、ユーザ端末100で生成され得るすべての元データを生成してからそれを暗号化部228に送るようになっていたが、暗号化部228がリアルタイム処理的に元データの暗号化の処理を実行するのであれば、主制御部222は、元データを1つ作る度に暗号化部228にそれを送るようになっていればよい。
判定部224は、主制御部222から送られてきた暗号化指示データと、暗号化部228から1つずつ送られて来た暗号化指示データとが一致した時点で、肯定的な判定データを生成してそれを主制御部222に送る。主制御部222はそれを受取った時点で、元データの生成を中止すれば良い。また、肯定的な判定データを受取った主制御部222は、暗号化部228に以後の元データの暗号化の処理を中止させ、判定部224に以後の認証判定を中止させるようにすることができる。
なお、第2実施形態におけるユーザ端末100で生成される暗号化指示データは、決済装置200で復号化されることはない。
したがって、ユーザ端末100の暗号化部123で行われる暗号化の手法と、それと同じ手法の暗号化の手法である決済装置200の暗号化部228で行われる暗号化の手法とは、復号化を行えないような暗号化の手法であっても良い。
例えば、暗号化部123、及び暗号化部228で行われる暗号化の手法は、不可逆な変換である、元データについてのハッシュ値をとる処理とすることが可能である。また、暗号化部123、及び暗号化部228で行われる暗号化の手法は、元データを復号可能に暗号化したデータから、例えば、前半分を抜き出した、後半分を抜き出した、偶数文字目、或いは3の倍数文字目を抜き出した、或いは、英字数字記号混じりの文字列から数字のみを抜き出したもの等であっても良い。もっとも、このように、データ量を減らすばあいには、データ量の欠損に起因した誤判定が、判定部224における認証判定で生じないように留意する必要がある。例えば、前半分を抜きだしたデータ列を十分に長くすることで、確率的に誤判定が生じないようにすべきである。
100 ユーザ端末
120 制御部
121 主制御部
122 データ入出力部
123 第1記録部
124 暗号化部
200 決済装置
220 制御部
221 データ入出力部
222 主制御部
223 復号化部
224 判定部
225 第2記録部

Claims (19)

  1. 動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置であり、
    前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
    前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    実行装置。
  2. 動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置であり、
    前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
    前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    実行装置。
  3. 前記受取手段は、前記暗号化指示データを、ネットワークを介して前記指示装置から受取るようになっている、
    請求項1又は2記載の実行装置。
  4. 前記指示装置は、
    初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、
    前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、
    を備えており、
    前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっているとともに、
    前記実行装置は、
    前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、
    前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、
    を備えており、
    前記実行装置復号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、復号化する際に異なる鍵で復号化するようになっている、
    請求項1に記載の実行装置。
  5. 前記指示装置は、
    初期解に基づいて、文字、数字、記号の少なくとも1つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、
    前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、
    を備えており、
    前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっているとともに、
    前記実行装置は、
    前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、
    前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、
    を備えており、
    前記実行装置暗号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、暗号化する際に異なる鍵で暗号化するようになっている、
    請求項2に記載の実行装置。
  6. 前記指示装置は複数であり、前記指示装置における前記初期解は、前記指示装置のそれぞれにおいて異なるものとされており、
    前記実行装置解生成手段は、前記指示装置のそれぞれにおいて異なる前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置のそれぞれが持つ前記指示装置解生成手段で生成される前記解と同じ、前記指示装置のそれぞれの前記指示装置解生成手段で生成されるものと同期された前記解を生成することができるようになっており、
    前記実行装置鍵生成手段は、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記暗号化指示データを送ってきた前記指示装置の前記指示装置鍵生成手段で生成されるのと同じ鍵を生成するようになっている、
    請求項4又は5記載の実行装置。
  7. 前記実行装置鍵生成手段は、前記実行装置解生成手段で生成された解をそのまま前記鍵にするようになっている、
    請求項4又は5記載の実行装置。
  8. 前記指示データは、前記予定動作のそれぞれと紐付けられた符号である、
    請求項2記載の実行装置。
  9. 前記指示装置は、ユーザが用いる端末装置であるとともに、前記指示データは、当該ユーザの口座から他の口座への送金の指示であり、
    前記実行装置は、前記ユーザの口座から他の口座への送金を指示することのできる、インターネットバンキングサーバである、
    請求項1又は2記載の実行装置。
  10. 動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置にて実行される方法であって、
    前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
    前記実行装置が実行する、
    前記暗号化指示データを受取る受取過程と、
    前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、
    前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
    を含む、
    方法。
  11. 動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置にて実行される方法であって、
    前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
    前記実行装置が実行する、
    前記暗号化指示データを受取る受取過程と、
    前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、
    前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの1つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
    を含む、
    方法。
  12. 動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
    前記指示装置は、前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
    前記コンピュータに、
    前記暗号化指示データを受取る受取過程と、
    前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、
    前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
    を実行させるためのコンピュータプログラム。
  13. 動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
    前記指示装置は、前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
    前記コンピュータに、
    前記暗号化指示データを受取る受取過程と、
    前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、
    前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの1つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
    を実行させるためのコンピュータプログラム。
  14. 動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置であり、
    前記指示装置は、
    前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、
    前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、
    を備えており、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
    前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    指示装置。
  15. 動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置であり、
    前記指示装置は、
    前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、
    前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、
    を備えており、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
    前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    指示装置。
  16. 動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置にて実行される方法であって、
    前記指示装置が実行する、
    前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
    前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
    を含んでおり、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
    前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    方法。
  17. 動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置にて実行される方法であり、
    前記指示装置が実行する、
    前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
    前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
    を含んでおり、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
    前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    方法。
  18. 動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置、として所定のコンピュータを機能させるためのコンピュータプログラムであって、
    前記コンピュータに、
    前記実行装置が行いうる動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
    前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
    を実行させるためのコンピュータプログラムであり、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
    前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    コンピュータプログラム。
  19. 動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
    前記コンピュータに、
    前記実行装置が行いうる前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
    前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
    を実行させるためのコンピュータプログラムであり、
    前記実行装置は、
    前記暗号化指示データを受取る受取手段と、
    前記予定動作の中から1つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
    前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの1つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
    を有する、
    コンピュータプログラム。
JP2017118373A 2017-06-16 2017-06-16 実行装置、指示装置、それらで実行される方法、コンピュータプログラム Pending JP2019004353A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017118373A JP2019004353A (ja) 2017-06-16 2017-06-16 実行装置、指示装置、それらで実行される方法、コンピュータプログラム
PCT/JP2018/023123 WO2018230742A2 (ja) 2017-06-16 2018-06-18 実行装置、指示装置、それらで実行される方法、コンピュータプログラム
EP18818241.4A EP3641217A4 (en) 2017-06-16 2018-06-18 EXECUTION DEVICE, COMMAND DEVICE, METHODS EXECUTED THEREOF, AND COMPUTER PROGRAM
US16/622,341 US20200313870A1 (en) 2017-06-16 2018-06-18 Execution device, command device, methods executed by same, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017118373A JP2019004353A (ja) 2017-06-16 2017-06-16 実行装置、指示装置、それらで実行される方法、コンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2019004353A true JP2019004353A (ja) 2019-01-10

Family

ID=64660990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017118373A Pending JP2019004353A (ja) 2017-06-16 2017-06-16 実行装置、指示装置、それらで実行される方法、コンピュータプログラム

Country Status (4)

Country Link
US (1) US20200313870A1 (ja)
EP (1) EP3641217A4 (ja)
JP (1) JP2019004353A (ja)
WO (1) WO2018230742A2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126916A (ja) * 2002-10-02 2004-04-22 Japan Research Institute Ltd 債権譲渡システム、債権売却装置、債権買取装置、債権譲渡方法、債権売却方法および債権買取方法
JP2009253650A (ja) * 2008-04-04 2009-10-29 N-Crypt Lab Inc 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム
JP2013122684A (ja) * 2011-12-12 2013-06-20 Seiko Epson Corp 金融取引システム、金融機関端末、金融取引システムの取引方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6399382B2 (ja) * 2014-01-08 2018-10-03 パナソニックIpマネジメント株式会社 認証システム
US9485231B1 (en) * 2015-05-26 2016-11-01 Dell Software Inc. Securing internet of things communications across multiple vendors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004126916A (ja) * 2002-10-02 2004-04-22 Japan Research Institute Ltd 債権譲渡システム、債権売却装置、債権買取装置、債権譲渡方法、債権売却方法および債権買取方法
JP2009253650A (ja) * 2008-04-04 2009-10-29 N-Crypt Lab Inc 送受信システム、送信装置、受信装置、認証装置、ユーザ装置、それらで実行される方法、並びにプログラム
JP2013122684A (ja) * 2011-12-12 2013-06-20 Seiko Epson Corp 金融取引システム、金融機関端末、金融取引システムの取引方法およびプログラム

Also Published As

Publication number Publication date
WO2018230742A2 (ja) 2018-12-20
EP3641217A2 (en) 2020-04-22
US20200313870A1 (en) 2020-10-01
WO2018230742A3 (ja) 2019-02-07
EP3641217A4 (en) 2021-04-21

Similar Documents

Publication Publication Date Title
US20180144114A1 (en) Securing Blockchain Transactions Against Cyberattacks
KR101878149B1 (ko) 패스워드의 보안 입력 및 처리 장치, 시스템 및 방법
US9590978B2 (en) Verification of password using a keyboard with a secure password entry mode
JP5066827B2 (ja) 移動装置を用いる認証サービスのための方法及び装置
US9117324B2 (en) System and method for binding a smartcard and a smartcard reader
CN102638447B (zh) 基于用户自主产生的动态口令对系统登录的方法和装置
WO2018025991A1 (ja) 通信システム、通信用クライアント、通信用サーバ、通信方法、プログラム
US20070223685A1 (en) Secure system and method of providing same
JP2008269610A (ja) リモートアプリケーションを対象とした機密データの保護
CN101286848A (zh) 登录认证方法和登录签名程序
CN101278538A (zh) 用于用户认证的方法和设备
EP2758922A2 (en) Securing transactions against cyberattacks
KR20080087917A (ko) 일회용 비밀번호 생성방법과 키 발급 시스템 및 일회용비밀번호 인증 시스템
JP2018026631A (ja) Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
Jeong et al. Utilizing a Bluetooth remote lock system for a smartphone
JP2000188594A (ja) 認証システム及び指紋照合装置並びに認証方法
Wong et al. An enhanced user authentication solution for mobile payment systems using wearables
CN101547098B (zh) 公共网络数据传输安全认证方法及系统
WO2011058629A1 (ja) 情報管理システム
WO2018230742A2 (ja) 実行装置、指示装置、それらで実行される方法、コンピュータプログラム
US20200084035A1 (en) Transmission and reception system, transmission device, reception device, method, and computer program
WO2018079708A2 (ja) 送受信システム、送信装置、受信装置、方法、コンピュータプログラム
JP4655459B2 (ja) 暗証番号照合システム及び暗証番号照合方法及び暗証番号照合プログラム及び暗証番号照合システムを用いたカード決済システム及び暗証番号照合システムを用いた扉管理システム
WO2007092429A2 (en) Secure system and method for providing same
WO2015110037A1 (zh) 一种双通道身份认证的方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220308