以下、本発明のいくつかの例示的な実施形態を図面に基づいて詳細に説明する。
<本発明の第1実施形態>
まず、図1(a)および図2を参照するに、本発明の例示的な第1実施形態に従う自転車レンタル・システム10は、各々、複数台の自転車12を保管する複数のステーション20(図1(a)には、それらステーション20のうちの代表的なステーション20のみが図示されている)においてそれら自転車12の貸出および返却をユーザに対して行うサービスを提供するためのシステムである。各ステーション20は、対応する駐輪場22に割り当てられる。
この自転車レンタル・システム(以下、単に「システム」という。)20は、複数のステーション20にそれぞれ設置される複数のステーション側ユニット(前述の「レンタル装置」および「自転車レンタル装置」のそれぞれの一例である)30と、複数のステーション20を遠隔的にかつ集中的に管理する管理センタ40に設置されるセンタ側ユニット50とを備えている。複数のステーション20はそれぞれ、固有のステーションIDを予め割り当てられている。各ステーション側ユニット30は、対応するステーション20において、そこに保管される複数台の自転車12に共通に使用される。
図1(b)に示すように、各自転車12のうちの特定の部位には、各自転車12に予め割り当てられた固有の車台番号60が表示されている。いくつかの例においては、その車台番号60が、ユーザが直接視認可能な文字・数字列またはコンピュータ読み取り可能な表示物(例えば、バーコード、2次元コード)という形態で、印刷によって不動的に、各自転車12のうちの特定の部位(例えば、自転車12においてサドル62を下方から支持する三角フレーム64の最上頂点部近傍に装着されたパネル)上に表示される。
後に詳述するが、ステーション側ユニット30は、現在時刻を時々刻々計測し、その計測された現在時刻と、対応するステーションに固有のステーションIDとをそれぞれ、ステーションIDについては、同じステーションについてのものでありながら、時々刻々変化するように暗号化し、それら暗号化された現在時刻およびステーションIDを2つの暗号として、互いに視覚的に区別されるか否かを問わず、表示する。
その結果、図1(c)に示す一例におけるように、それら2つの暗号が、互いに視覚的に区分されないように一連一体に合体されて成る暗号66(「時刻に関してもステーションの位置に関しても動的であるデータ」の一例)として、所定の時間間隔(図示の例においては、15分間隔)で、その暗号66のうち、現在時刻が暗号化された部分も、ステーションIDが暗号化された部分も、時間に関して動的に変化するように、画面68上に表示される。ここに、「暗号」とは、ユーザは解読できないが権限を有する特定の者は解読できる可視化データを意味する。
図1(a)に示すように、このシステム10は、各ステーション20において、いずれも1つの駐輪場22に設置された固着物としての、上述のステーション側ユニット30と、複数台の自転車12を保管するための自転車ラック(自転車収容装置)70とを備えている。その自転車ラック70は、自転車12を1台ずつ収容するための自転車ストール(小区画)72を複数備えている。一例においては、駐輪場22に設置されたフレーム74により、自転車ラック70が複数の自転車ストール72に仕切られている。
ユーザへの貸出しに先立ち、各自転車12が各自転車ストール72に収容されており、この収容状態においては、自転車12が自転車ストール72の個別フレームに、図1(d)に示すダイヤル錠式ワイヤ・ロック80を用いて繋ぎ止められている。そのダイヤル錠式ワイヤ・ロック80は、よく知られているように、フレキシブルな1本のワイヤ82の両端がダイヤル錠84を介して互いに連結されることによって構成されている。
管理センタ40によって管理される複数のステーション20に収容される複数台の自転車12は、それぞれ互いに異なる暗証番号によって解錠されるダイヤル錠84を割り当てられる。したがって、1つの暗証番号によって解錠できる自転車12は1台のみである。
図2に示すように、このシステム10においては、後に詳述するが、ユーザが 利用可能な通信機器(例えば、ユーザが携帯可能な移動電話機または通信機能を有するデバイス(例えば、携帯電話機、スマートフォン、ラップトップ型コンピュータ、タブレット型コンピュータ、PDA)や、ステーション20に設置されている固定電話機、ステーション20の近傍に設置されている公衆電話機など)90を用いて、画面68に表示されている暗号66を管理センタ40に送信する。
暗号66が、図示の例のように、ユーザが識別可能な(例えば、発音可能な)形象として表現される場合には、ユーザは、その暗号66を通信機器90に手で入力したり、音声で入力することが可能である。これに対し、暗号66が、ユーザが識別不能な形象として表現される場合には、ユーザは、その暗号66を通信機器90のスキャナで読み取って入力することが可能である。
管理センタ40におけるセンタ側ユニット50は、ユーザから暗号66を受信すると、その暗号66を解読し、その結果、そのユーザが、前記暗号化された現在時刻が解読されることによって復元された時刻に、前記暗号化されたステーションIDが解読されることによって復元されたステーションIDを有するステーション20に実際に居ると認識する。
図3には、1つのステーション20に設置されている1つのステーション側ユニット30が機能ブロック図で示されている。
このステーション側ユニット30は、プロセッサ100およびそのプロセッサ100によって実行されるプログラムを記憶するメモリ102を有するコンピュータ104を主体として構成されている。具体的には、このステーション側ユニット30は、時計110と、暗号化部112と、表示部114とを備えている。
時計110は、現在時刻を時々刻々計測する。暗号化部112は、その時計110によって計測された現在時刻と、このステーション側ユニット30に対応するステーション20に固有のステーションIDとをそれぞれ暗号化する。この暗号化部112は、ステーションIDについては、同じステーション20についてのものでありながら、時々刻々変化する暗号に暗号化する。表示部114は、それら暗号化された現在時刻およびステーションIDを暗号66として時々刻々変化するように画面68上に表示する。
暗号66は、それが生成されると、実質的にリアルタイムで画面68上に表示され、その結果、最新の暗号66が生成された後に古い暗号66が画面68上に表示されてしまうことが防止される。その結果、ある回の暗号66が、実際には時間的に見て無効になっているにもかかわらず、画面68上に表示されてしまうことが防止される。
本実施形態においては、暗号66が複数桁の文字・数字列(例えば、複数の文字から成る列、複数の数字から成る列、文字と数字とが入り混じった列)で構成されており、そのうちの上位桁が、現在時刻が暗号化された部分であり、また、下位桁が、ステーションIDが暗号化された部分である。
本実施形態においては、画面68上に表示されるデータであって、ユーザが管理センタ40に送信することが必要であるものは、暗号66、すなわち、現在時刻が暗号化された部分と、ステーションIDが暗号化された部分との組合せであるが、そのデータは、その組合せに追加される他の情報、例えば、他の暗号を含んでもよい。
本実施形態においては、ステーションIDが、ステーション位置に関しては動的である(ステーション20ごとに異なる)が時刻に関しては静的である(時間と共に変化しない)ステーションIDであり、暗号化部112は、そのステーションIDを、ステーション位置に関しては静的であるが時刻に関しては動的である暗号化アルゴリズムであって複数のステーション20に共通であるものを用いることにより、時々刻々変化する暗号(正確には、暗号66のうち、ステーションIDに関連する部分であり、以下、これを「ステーションID関連部分暗号」という。)に暗号化する。
このシステム10においては、ステーション20ごとに、異なるステーションIDが割り当てられている。各ステーションIDは、時刻に関しては静的であるステーションIDであるが、このステーションIDが、時刻に関して動的である暗号化アルゴリズムによって時々刻々暗号化されることにより、ステーションID関連部分暗号が、ステーション位置に関しても時刻に関しても動的である動的暗号として取得される。
具体的には、このシステム10においては、暗号化の対象であるステーションIDが、ステーション20の位置に関しては動的であるのに対し、時刻に関しては静的であり、また、ステーションIDのための暗号化アルゴリズムは、ステーション20の位置に関しては静的である(ステーションIDのための暗号化アルゴリズムは、複数のステーション20に共通である)のに対し、時刻に関しては動的である。その結果、暗号化の結果であるステーションID関連部分暗号は、ステーション20の位置に関しても時刻に関しても動的となる。
すなわち、このステーションID関連部分暗号は、ステーション位置に関して動的であるステーションIDを、時刻に関して動的である(すなわち、時間と共に変換する)暗号に暗号化することによって生成されたものである。
したがって、時刻と、そのときのステーションID関連部分暗号とが特定されれば、そのステーションID関連部分暗号が取得されたステーションを同定できる。また、ステーションID関連部分暗号が時刻に関して動的であるため、ユーザが、自転車12の貸出し時の暗号66と同じ暗号66(ステーションID関連部分暗号を一部に含む)を返却時にも使用することにより、貸出し時と同じステーション20において返却を行ったユーザになりすますことが阻止され、それにより、不正行為が抑止される。
なお、暗号66のうち、現在時刻に関連する現在時刻関連部分暗号は、暗号化の対象がそもそも時間的に動的な情報である現在時刻であるため、暗号化の結果である現在時刻関連部分暗号が時間的に動的となることは当業者であれば容易に想到し得る。よって、この点は特記するに値しない。しかし、暗号66のうち、ステーションID関連部分暗号は、暗号化の対象が時間的に静的な情報であるステーション20の位置であるため、暗号化の結果であるステーションID関連部分暗号を時間的に動的なものとすることは、当業者といえども容易に想到し得ない。
また、本実施形態においては、ステーションID関連部分暗号と現在時刻関連部分暗号とが結合されて1つの暗号66が生成される。その結果、同じ暗号66に着目する限り、ステーションIDに関する情報と、現在時刻に関する情報とが紐づけされ、それにより、ユーザがいずれかの時刻(例えば、現在時刻か過去のいずれかの時刻)にいずれかのステーション20に居ることを推定することが可能となる。
また、本実施形態においては、暗号66が、ユーザにとり、無意味な文字・数字列暗号66であると視認されるため、ユーザが暗号66を解読して悪用しようとすることを思いとどまらせられることが期待される。さらに、暗号66が、現在時刻関連部分暗号である文字・数字列(図1に示す例においては、下位4桁分の数字列)と、ステーションID関連部分暗号である文字・数字列とが合体されて一連一体に構成されているため、それら2つの関連部分暗号が、視覚的に互いに区分されるように画面68上に表示される場合より、ユーザが暗号66を悪用しようとすることをより強く思いとどまらせられることも期待される。
図4には、図3に示すステーション側ユニット(複数のステーション20のうち今回注目しているものに設置されているステーション側ユニット)30のコンピュータ104によって実行される暗号化・表示プログラムが概念的にフローチャートで表されている。この暗号化・表示プログラムは、後述の他のプログラムと同様に、メモリ102に予め記憶されており、必要に応じ、プロセッサ100により、そのメモリ102から読み出されて実行される。
この暗号化・表示プログラムの実行は、例えば、15分という時間間隔で反復される。この暗号化・表示プログラムの各回の実行はステップS401において開始され、このステップS401においては、時計110を用いて現在時刻が計測される。次に、ステップS402において、時刻用の暗号化アルゴリズムであってステーション20の位置に関しても時刻に関しても静的であるものがメモリ102から読み出され、その静的な暗号化アルゴリズムを用いることにより、前記計測された現在時刻が暗号化される。
続いて、ステップS403において、今回のステーション側ユニット30に対応するステーション20に割り当てられたステーションIDがメモリ102から読み出される。その後、ステップS404において、ステーションID用の暗号化アルゴリズムであってステーション20の位置に関しては静的であるが時刻に関しては動的であるものがメモリ102から読み出される。
上述のように、ステーションID用の暗号化アルゴリズムは、時刻に関して動的であり、具体的には、時刻ごとに使い分けられる複数の個別アルゴリズムの集まりとして構成されている。メモリ202には、それら個別アルゴリズムが時刻(例えば、15分置きに経過する複数の時刻)に関連付けて記憶されており、このステップS404においては、それら個別アルゴリズムのうち、現在時刻(復元された貸出時刻でも可)に対応するものがメモリ202において選択されて読み出される。
続いて、ステップS405において、その選択された個別アルゴリズムを用いることにより、前記読み出されたステーションIDが暗号化される。
その後、ステップS406において、前記暗号化された現在時刻と、前記暗号化されたステーションIDとが合体されて暗号66が生成され、その生成された暗号66が実質的にリアルタイムで、画面68上に表示される。画面68上に表示された暗号66は、対応するステーション20に居るユーザ(画面68を覗き込んでいるユーザ)によって直接的に知得される。
以上で、この暗号化・表示プログラムの一回の実行が終了する。暗号66は、画面68上での表示が開始されると、この暗号化・表示プログラムの次回の実行が開始されるまで、画面68上に保持される。
本実施形態においては、後述の他のいくつかの実施形態と同様に、現在時刻およびステーションIDの暗号化が一定の時間間隔で間欠的に行われる。そのため、1つの暗号66を生成するための各回の暗号化イベントにおいては、暗号化に用いられる現在時刻(すなわち、その暗号化イベントの開始時刻)が、狭義の現在時刻を意味する。しかし、その生成された暗号66が次回の暗号化イベントの開始時点まで有効にされることに着目すると、暗号化に用いられる現在時刻(すなわち、前回の暗号化イベントの開始時刻)が、広義の時刻であるタイムゾーン(前回の暗号化イベントの開始時刻から終了時刻までの期間)の開始時刻を意味する。よって、暗号化に用いられる現在時刻(すなわち、前回の暗号化イベントの開始時刻)自身が、広義の時刻であるタイムゾーンを意味すると解釈することも可能である。
図5および図6には、管理センタ40に設置されているセンタ側ユニット50が機能ブロック図で示されている。ただし、図5には、センタ側ユニット50が、自転車貸出し時に機能する部分に注目されて示され、一方、図6には、センタ側ユニット50が、自転車返却時に機能する部分に注目されて示されている。
このセンタ側ユニット50は、プロセッサ200およびそのプロセッサ200によって実行されるプログラムを記憶するメモリ202を有するコンピュータ204を主体として構成されている。そのコンピュータ204によって実現されるハードウエア構成が、図5および図6に機能ブロック図で表されている。
そのハードウエア構成を具体的に説明するに、このセンタ側ユニット50は、図5に示すように、自転車貸出しのために、受信部210と、暗号解読部212と、貸出許可部214と、時計216と、暗証番号取得部220と、送信部222とを作動させる。
さらに、このセンタ側ユニット50は、図6に示すように、自転車返却のために、受信部210と、暗号解読部212と、時計216と、返却許可部230と、読出部232と、レンタル料金計算部234と、決済処理部236と、送信部222とを作動させる。
したがって、このセンタ側ユニット50においては、受信部210と、暗号解読部212と、時計216と、送信部222とが、自転車貸出しのためと自転車返却のためとの双方に作動させられる。
このように構成されたハードウエア構成により、後述の貸出し・返却プログラムによって表される貸出し・返却方法すなわち自転車レンタル方法(前述の「レンタル方法」の一例である)が実行される。
前記ハードウエア構成を自転車貸出しという処理に注目してさらに具体的に説明するに、図5に示すように、受信部210は、ユーザから、貸出し時に表示部114の画面68上に表示されている暗号66と、ユーザがこれから借りようとする自転車12の車台番号60とを受信する。
暗号解読部212は、その受信された貸出し時の暗号66のうちの上位桁を、前記時刻用の暗号化アルゴリズムを用いることにより、現在時刻(正確には、ユーザが暗号66を管理センタ40に向けて送信した時刻)を復元し、それを貸出時刻として取り扱う。
正確には、その暗号化アルゴリズムは、今回は、暗号化のためにではなく、暗号解読のために用いられることに注目すれば、暗号解読アルゴリズムと称すべきであるかもしれない。しかし、その暗号化アルゴリズムが、暗号化前の情報と、暗号化後の情報との対応関係を表すテーブルという性質を有することから、暗号化という場面であるか、暗号解読という場面であるかを問わず、説明の便宜上、暗号化アルゴリズムと称することとする。
さらに、暗号解読部212は、その受信された貸出し時の暗号66のうちの下位桁を、前記ステーションID用の暗号化アルゴリズムを用いて解読することにより、ステーションIDを復元し、それを貸出ステーションIDとして取り扱う。
貸出許可部214は、前記貸出時刻と、時計216によって計測された現在時刻との差が許容値(それら貸出時刻と現在時刻との差が、ユーザの操作に不正がなく、通常である限り、統計的に発生し得ない長さ)以下であり、かつ、前記貸出ステーションIDが真正であり、かつ、前記受信された車台番号60が真正であることを条件に、今回のユーザに自転車12を貸し出すことを許可する。
前記貸出ステーションIDが真正であるか否かの判定を行うために、前記複数のステーション20にそれぞれ割り当てられた複数のステーションIDが第1テーブルとしてメモリ202に予め記憶されており、今回の貸出ステーションIDが、第1テーブル内の複数のステーションIDのいずれかと一致するときに、今回の貸出ステーションIDが真正であると判定される。
同様に、車台番号60が真正であるか否かの判定を行うために、前記複数のステーション20にそれぞれ保管されている複数台の自転車12にそれぞれ割り当てられた複数の車台番号60が第2テーブルとしてメモリ202に予め記憶されており、今回の車台番号60が、第2テーブル内の複数の車台番号60のいずれかと一致するときに、今回の車台番号60が真正であると判定される。
保存部218は、後の使用に備えて、貸出時刻と貸出ステーションIDとを、車台番号60に関連付けてメモリ202に保存する。
暗証番号取得部220は、貸出許可部214から貸出許可が出されると、今回の車台番号60に対応する自転車12に使用されているダイヤル錠84を解錠するための暗証番号が第3テーブルから読み出される。その第3テーブルにおいては、複数の車台番号60と複数の暗証番号とが互いに関連付て予め記憶されている。
送信部222は、貸出開始が行われたことを告知するためのメッセージを、前記読み出された暗証番号と共に、ユーザの通信機器90に向けて送信する。その暗証番号を用いることにより、ユーザは、これから借りようとする自転車12のダイヤル錠84を解錠し、その自転車12を自転車ストール72から解放することが可能となる。
前記ハードウエア構成を自転車返却という処理に注目してさらに具体的に説明するに、図6に示すように、受信部210は、ユーザから、返却時に表示部114の画面68上に表示されている暗号66と、ユーザがこれから返却しようとする自転車の車台番号60とを受信する。
暗号解読部212は、その受信された返却時の暗号66のうちの上位桁を、前記時刻用の暗号化アルゴリズムを用いて解読することにより、現在時刻(正確には、ユーザが暗号66を管理センタ40に向けて送信した時刻)を復元し、それを返却時刻として取り扱う。さらに、暗号解読部212は、その受信された返却時の暗号66のうちの下位桁を、前記ステーションID用の暗号化アルゴリズムを用いて解読することにより、ステーションIDを復元し、それを返却ステーションIDとして取り扱う。
返却許可部230は、前記返却時刻と、時計216によって計測された現在時刻との差が前記許容値以下であり、かつ、前記返却ステーションIDが真正であり、かつ、前記受信された車台番号60が真正であることを条件に、今回のユーザに自転車12を返却することを許可する。
返却許可部230は、今回の返却ステーションIDが、前記第1テーブル内の複数のステーションIDのいずれかと一致するときに、今回の返却ステーションIDが真正であると判定する。返却許可部230は、今回の車台番号60が、前記第2テーブル内の複数の車台番号60のいずれかと一致するときに、今回の車台番号60が真正であると判定する。
読出部232は、今回の車台番号60に関連付けて保存されている貸出時刻と貸出ステーションIDとをメモリ202から読み出す。
レンタル料金計算部234は、前記貸出時刻から前記返却時刻までの経過時間の長さを、ユーザが自転車12を利用した利用時間(レンタル時間)の長さとして計算する。レンタル料金の額は、その利用時間の長さに応じて増額するとともに、前記返却ステーションIDが前記貸出ステーションIDと一致しない場合には、一致する場合より増額するように設定されており、その関係が第4テーブルとしてメモリ202に予め記憶されている。レンタル料金計算部234は、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かを判定し、その判定結果と、前記計算された利用時間の長さとに基づき、前記第4テーブルを参照することにより、今回のレンタル料金の額を計算する。
決済処理部236は、今回のユーザに対して銀行決済、クレジット決済、プリペイド方式の決済などを行うことにより、今回のレンタル料金をユーザから徴収する。
送信部222は、返却が完了したことを表すメッセージを、今回のレンタル料金についての支払明細と共に、ユーザの通信機器90に向けて送信する。その後、ユーザは、これから返却しようとする自転車12を、使用されていないいずれかの自転車ストール72にワイヤ・ロック80を用いて繋ぎ止め、その後、そのワイヤ・ロック80のダイヤル錠84を施錠する。
図7および図8には、センタ側ユニット50のプロセッサ200によって実行される貸出し・返却プログラムであってメモリ202に予め記憶されているものが概念的にフローチャートで表されている。
この貸出し・返却プログラムの各回の実行は図7に示すステップS701において開始され、そのステップS701においては、ユーザから、通信機器90を介して、管理センタ40に対して出される今回のリクエストの種別が貸出しと返却とのいずれであるかを特定するための情報と、車台番号60と、暗号66とを、今回のユーザについて予め割り当てられた会員IDおよびパスワードと共に受信する。
このシステム10によって提供される自転車レンタル・サービスを享受するために、ユーザは、会員として事前に登録することを要求されており、その際、事後的な個人認証に必要なパスワードも併せて登録することを要求されている。
次に、ステップS702において、前記受信した会員IDおよびパスワードと、前記登録されている情報との照合結果から、今回のユーザについての個人認証が成功したか否かが判定される。その個人認証が成功すると、ステップS703において、ユーザからの今回のリクエストが貸出リクエストであるか否かが判定される。今回のリクエストが返却リクエストである場合には、判定がNOとなり、続いて、図8に示すステップ群に移行するが、今回のリクエストが貸出リクエストである場合には、判定がYESとなり、ステップS704に移行する。
このステップS704においては、前記受信した暗号66のうちの上位桁が、前記時刻用の暗号化アルゴリズムを用いて解読され、それにより、貸出時刻が復元される。続いて、ステップS705において、その貸出時刻と、時計216によって計測される現在時刻との差が前記許容値以下であるか否かが判定される。その差が前記許容値より大きい場合には、ユーザから今回受信したデータに何らかの異常があるとして、今回のサービスをユーザに提供することなく、この貸出し・返却プログラムの実行が終了する。
これに対し、貸出時刻と現在時刻との差が前記許容値以下である場合には、ステップS705の判定がYESとなり、続いて、ステップS706において、メモリ202において、前記ステーションID用の暗号化アルゴリズムを構成する複数の個別アルゴリズム(前述の、ステーション側ユニット30のメモリ102に記憶されている複数の個別アルゴリズムと同じもの)のうち現在時刻(復元された貸出時刻でも可)に対応するものが選択されて、それがメモリ202から読み出される。
続いて、ステップS707において、前記受信した暗号66のうちの下位桁が、その読み出された個別アルゴリズムを用いて解読され、それにより、貸出ステーションIDが復元される。
続いて、ステップS708において、その貸出ステーションIDが前記第1テーブル内の複数のステーションIDのいずれかと一致するか否かを判定することにより、今回の貸出ステーションIDが真正であるか否かが判定される。今回の貸出ステーションIDが真正ではない場合には、ユーザから今回受信したデータに何らかの異常があるとして、今回のサービスをユーザに提供することなく、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の貸出ステーションIDが真正である場合には、ステップS708の判定がYESとなり、続いて、ステップS709において、今回の車台番号60が前記第2テーブル内の複数の車台番号のいずれかと一致するか否かを判定することにより、今回の車台番号60が真正であるか否かが判定される。今回の車台番号60が真正ではない場合には、ユーザから今回受信したデータに何らかの異常があるとして、今回のサービスをユーザに提供することなく、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の車台番号60が真正である場合には、ステップS709の判定がYESとなり、続いて、ステップS710において、車台番号60を有する自転車12をユーザに貸し出すことが許可される。その前提として、ユーザが、前記復元された貸出時刻に、前記復元されたステーションIDを有するステーション20に実際に居ると認識される。その後、ステップS711において、後の使用に備えて、今回の貸出時刻と貸出ステーションとが、今回の車台番号60に関連付けてメモリ202に保存される。
続いて、ステップS712において、前記第3テーブルを参照することにより、今回の車台番号60に対応する暗証番号、すなわち、今回の自転車12において施錠されているダイヤル錠84をユーザが自ら解錠するためにそのダイヤル錠84に与えるべき番号(例えば、複数桁の数字)が取得される。
その後、ステップS713において、その取得された暗証番号と、自転車12の貸出しを開始することを表すメッセージとが、ユーザの通信機器90に向かって送信される。以上で、この貸出し・返却プログラムのうち、自転車12の貸出しを行う部分の実行が終了する。
これに対し、ユーザから出された今回のリクエストが返却リクエストである場合には、ステップS703の判定がNOとなり、図8に示すステップS801に移行する。このステップS801においては、返却時に受信した暗号66のうちの上位桁が、前記時刻用の暗号化アルゴリズムを用いて解読され、それにより、返却時刻が復元される。
続いて、ステップS802において、その返却時刻と現在時刻との差が前記許容値以下であるか否かが判定される。その差が前記許容値より大きい場合には、ユーザから今回受信したデータに何らかの異常があるとして、今回のサービスをユーザに提供することなく、この貸出し・返却プログラムの実行が終了する。
これに対し、返却時刻と現在時刻との差が前記許容値以下である場合には、ステップS802の判定がYESとなり、続いて、ステップS803において、メモリ202においてステーションID用の暗号化アルゴリズムが選択されて、それがメモリ202から読み出される。具体的には、前述のように、前記ステーションID用の暗号化アルゴリズムを構成する複数の個別アルゴリズムのうち、現在時刻(復元された返却時刻でも可)に対応するものがメモリ202において選択されて読み出される。
続いて、ステップS804において、返却時に受信した暗号66のうちの下位桁が、その読み出された暗号化アルゴリズム(個別アルゴリズム)を用いて解読され、それにより、返却ステーションIDが復元される。
続いて、ステップS804において、その返却ステーションIDが前記第1テーブル内の複数のステーションIDのいずれかと一致するか否かを判定することにより、今回の返却ステーションIDが真正であるか否かが判定される。今回の返却ステーションIDが真正ではない場合には、ユーザから今回受信したデータに何らかの異常があるとして、今回のサービスをユーザに提供することなく、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の返却ステーションIDが真正である場合には、ステップS805の判定がYESとなり、続いて、ステップS806において、今回の車台番号60が前記第2テーブル内の複数の車台番号のいずれかと一致するか否かを判定することにより、今回の車台番号60が真正であるか否かが判定される。今回の車台番号60が真正ではない場合には、ユーザから今回受信したデータに何らかの異常があるとして、今回のサービスをユーザに提供することなく、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の車台番号60が真正である場合には、ステップS806の判定がYESとなり、続いて、ステップS807において、車台番号60を有する自転車12をユーザが今回のステーション20に返却することが許可される。その前提として、ユーザが、前記復元された返却時刻に、前記復元されたステーションIDを有するステーション20に実際に居ると認識される。その後、ステップS808において、今回の返却対象である自転車12についての貸出時刻と貸出ステーションとが、今回の車台番号60に関連付けてメモリ202から読み出される。
続いて、ステップS809において、前記貸出時刻から前記返却時刻までの経過時間の長さが、ユーザが自転車12を利用した前記利用時間の長さとして計算される。その後、ステップS810において、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かが判定される。
続いて、ステップS811において、前記計算された利用時間の長さと、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かの判定結果とに基づき、前記第4テーブルを参照することにより、今回のレンタル料金の額が計算される。その後、ステップS812において、その計算されたレンタル料金につき、今回のユーザに対して決済が行われ、それにより、今回のレンタル料金がユーザから徴収される。
続いて、ステップS813において、返却が完了したことを表すメッセージと、今回のレンタル料金についての支払明細とがユーザの通信機器90に向けて送信される。以上で、この貸出し・返却プログラムのうち、自転車12の返却を行う部分の実行が終了する。
本実施形態においては、前述のように、ステーションIDが、ステーション20の位置に関しては動的であるが、時刻に関しては静的であるステーションIDであり、図3に示す暗号化部112は、そのステーションIDを、ステーション20の位置に関しては静的であるが、時刻に関しては動的である暗号化アルゴリズムであって複数のステーション20に共通であるものを用いることにより、ステーション20の位置に関しても時刻に関しても動的である暗号に暗号化する。
これに対し、一変形例においては、各ステーションIDが、ステーション20の位置に関しても時刻に関しても動的であるステーションIDである。暗号化部112は、このステーションIDを、ステーション20の位置に関しても時刻に関しても静的である暗号化アルゴリズムによって時々刻々暗号化することにより、ステーション20の位置に関しても時刻に関しても動的である暗号66を取得する。
具体的には、ステーション20の位置に関しても時刻に関しても動的であるステーションIDを実現するために、複数の個別ステーションIDがそれぞれ異なる時刻に関連付けてメモリ202に記憶される。それら個別ステーションIDを一日分集めたものは、ステーション20ごとに異なる。暗号化部112は、それら個別ステーションIDから、現在時刻に対応するものを選択し、その選択された個別ステーションIDをメモリ202から読み出し、その読み出された今回の個別ステーションIDを、ステーション20の位置に関しても時刻に関しても静的である暗号化アルゴリズムを用いて暗号化する。
具体的には、この変形例においては、暗号化の対象であるステーションIDが、ステーション20の位置に関しても時刻に関しても動的であり、これに対し、暗号化アルゴリズムは、ステーション20の位置に関しても時刻に関しても静的である。その結果、暗号化の結果である暗号66は、ステーション20の位置に関しても時間に関しても動的となる。
したがって、時刻と、そのときの暗号66とが特定されれば、その暗号66が取得されたステーション20を同定できる。また、暗号66が時刻に関して動的であるため、ユーザが、自転車12の貸出し時の暗号66と同じ暗号を返却時にも使用することにより、貸出し時と同じステーション20において返却を行ったユーザになりすますことが阻止され、それにより、不正行為が抑止される。
以上の説明から明らかなように、本実施形態に従うシステム10においては、ステーション20を特定するための固有情報、すなわち、ステーションID(静的であるか動的であるかを問わない)が、同じステーション20についてのものでありながら、時々刻々変化する暗号66に暗号化される。
ただし、その暗号66のうち、前記ステーションID関連部分暗号のみが、ステーション20の位置に関しても時刻に関しても動的である暗号であり、これに対し、前記現在時刻関連部分暗号は、ステーション20の位置に関しては静的であるが、時刻に関しては動的である暗号である。
よって、同じステーション20を特定するための固有情報が、互いに異なる複数の時刻において、互いに異なる複数の暗号66に暗号化される。したがって、返却時の暗号66は、返却時刻が貸出時刻とは異なる以上、実際には、同じステーション20についての暗号であっても、貸出し時の暗号66とは一致しない。
それにもかかわらず、ユーザが、暗号のスキームがユーザに対して秘匿化されているために、安易な気持ちで、貸出し時に画面68上に表示されていた暗号66と同じ暗号を、別のステーション20における返却時に使用してしまうと、その返却時の暗号はその時刻に存在し得ない不正な暗号であるから、その返却時の暗号をユーザから受信した管理センタ40は、その返却時の暗号を解読できない。
管理センタ40が、返却時の暗号を解読できない場合に、その返却時の暗号は不正なものであることをユーザに報告するようにすれば、その報告を受けたユーザは、不正行為の有無を監視されていたこと、および、自身の不正行為が見破られたことを知る。よって、ユーザには、以後、同じ不正行為を二度と行わないようにしたいという意識が生まれ、それにより、ユーザの不正行為に対する抑止効果が得られる。
一方、管理センタ40は、動的暗号66をユーザから携帯通信機器90を介して受信するという手法を採用するおかげで、ユーザの現在位置を時々刻々測定する測位機能(例えば、GPS機能)をユーザの携帯通信機器90において発動させることなく、貸出し時および返却時にユーザが真に位置するステーション20を認識することが可能となる。
さらに、動的暗号66をユーザから携帯通信機器90を介して受信するという手法を採用するおかげで、貸出しまたは返却が行われるステーション20を特定するための信号をそのステーション20から管理センタ40に送信するための通信設備を各ステーション20に設置することを必要とすることなく、貸出し時および返却時にユーザが真に位置するステーション20を認識することが可能となる。これにより、各ステーション20の設備コストが削減でき、ひいては、その設備の維持管理コストも削減できる。
さらに、本実施形態によれば、ユーザに、借りた自転車12の返却時に、貸出時刻と貸出ステーションとを含む貸出情報をも管理センタ40に送信することを要求することなく、自転車利用時間の長さの計算と、貸出ステーションと返却ステーションとの間の一致・不一致の判定とを行うことが可能となる。よって、ユーザに課される負担が軽減される。
<本発明の第2実施形態>
次に、図9ないし図11を参照することにより、本発明の例示的な第2実施形態に従う自転車レンタル・システム300を説明する。ただし、この自転車レンタル・システム300は、前述の第1実施形態に従う自転車レンタル・システム10に対し、共通する要素が多いため、異なる要素のみについて詳細に説明し、共通する要素については、同じ名称または符号を付して引用することにより、重複した説明を省略する。
まず概略的に説明するに、この自転車レンタル・システム(以下、単に「システム」という。)300は、前述の第1実施形態に従う自転車レンタル・システム10に対し、ステーション側ユニット30については、全体的に共通するが、センタ側ユニット50については、図9および図10に機能ブロック図で示すように、保存部218および読出部232を有しない点を除き、共通する。また、このシステム300においては、それら保存部218および読出部232を有しない代わりに、ユーザが、貸し出した自転車12の返却時に、返却時の暗号66と共に、貸出時の暗号66も管理センタ40に送信することを要求される。
そのため、図6に示すように、受信部210は、返却時に、ユーザから、返却時の暗号66と、貸出し時の暗号66との双方を受信する。暗号解読部212は、第1実施形態と同様に、動的な暗号化アルゴリズムを用いることにより、貸出し時の暗号66から、貸出時刻と貸出ステーションIDとを復元し、さらに、返却時の暗号66から、貸出時刻と貸出ステーションIDとを復元する。本実施形態においては、第1実施形態と同様に、各ステーションに割り当てられる固有のステーションIDは、時間と共に変化しない静的なものである。
したがって、センタ側ユニット50のコンピュータ204によって実行される貸出し・返却プログラムは、第1実施形態について図7および図8に示す貸出し・返却プログラムと基本的に共通する。
具体的には、本実施形態における貸出し・返却プログラムを表すフローチャートは、貸出しのための処理において、貸出時刻および貸出ステーションIDを車台番号60に関連付けてメモリ202に保存することを行わない点を除き、第1実施形態について図7に示すフローチャートと共通する。
さらに、本実施形態における貸出し・返却プログラムを表すフローチャートは、返却のための処理において、貸出時刻および貸出ステーションIDを車台番号60に関連付けてメモリ202から読み出すことを行わない点と、既に貸し出された自転車12の返却をこれから行おうとするユーザに、貸出時の暗号66を入力することを要求する一方で、車台番号60を入力することを要求しない点とを除き、第1実施形態について図8に示すフローチャートと共通する。
本実施形態における貸出し・返却プログラムを表すフローチャートのうち、図7に示すフローチャートに対応する部分は、図示および文章によるさらなる説明を省略し、一方、図8に示すフローチャートに対応する部分は、図11を参照することにより、図8のフローチャートとの比較において説明する。
ユーザから出されたリクエストが返却リクエストである場合には、図7に示すステップS703に相当するステップ(図示しない)の判定がNOとなり、図11に示すステップS1101に移行する。このステップS1101においては、図7に示すステップS704と同様にして、貸出時の暗号66のうちの上位桁が、前記時刻用の暗号化アルゴリズムを用いて解読され、それにより、貸出時刻が復元される。
その後、ステップS1102において、図8に示すステップS801と同様にして、返却時の暗号66のうちの上位桁が、前記時刻用の暗号化アルゴリズムを用いて解読され、それにより、返却時刻が復元される。
続いて、ステップS1103において、前記ステップS802と同様にして、その返却時刻と現在時刻との差が前記許容値以下であるか否かが判定される。その差が前記許容値より大きい場合には、直ちに、この貸出し・返却プログラムの実行が終了する。
これに対し、返却時刻と現在時刻との差が前記許容値以下である場合には、ステップS1103の判定がYESとなる。
続いて、ステップS1104において、図8に示すステップS803と同様にして、前記ステーションID用の暗号化アルゴリズムを構成する複数の個別アルゴリズム(暗号66を生成するためにステーション側ユニット30のメモリ102に記憶されている前記複数の個別アルゴリズムと同じ)のうち、貸出時刻に対応するもの(貸出時の暗号66を生成するためにステーション側ユニット30において使用された個別アルゴリズムと同じ)がメモリ202において選択されて読み出される。
続いて、ステップS1105において、貸出時の暗号66のうちの下位桁が、その読み出された個別アルゴリズムを用いて解読され、それにより、貸出ステーションIDが復元される。
その後、ステップS1106において、前記ステーションID用の暗号化アルゴリズムを構成する複数の個別アルゴリズムのうち、現在時刻(復元された返却時刻でも可)に対応するものがメモリ202において選択されて読み出される。
続いて、ステップS1107において、返却時の暗号66のうちの下位桁が、その読み出された個別アルゴリズムを用いて解読され、それにより、返却ステーションIDが復元される。
その後、ステップS1108において、その返却ステーションIDが前記第1テーブル内の複数のステーションIDのいずれかと一致するか否かを判定することにより、今回の返却ステーションIDが真正であるか否かが判定される。今回の返却ステーションIDが真正ではない場合には、直ちに、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の返却ステーションIDが真正である場合には、ステップS1108の判定がYESとなり、続いて、ステップS1109において、前記貸出時刻から前記返却時刻までの経過時間の長さが、ユーザが自転車12を利用した前記利用時間の長さとして計算される。その後、ステップS1110において、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かが判定される。
続いて、ステップS1111において、前記計算された利用時間の長さと、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かの判定結果とに基づき、前記第4テーブルを参照することにより、今回のレンタル料金の額が計算される。その後、ステップS1112において、その計算されたレンタル料金につき、今回のユーザに対して決済が行われ、それにより、今回のレンタル料金がユーザから徴収される。
続いて、ステップS1113において、返却が完了したことを表すメッセージと、今回のレンタル料金についての支払明細とがユーザの通信機器90に向けて送信される。以上で、この貸出し・返却プログラムのうち、自転車12の返却を行う部分の実行が終了する。
以上の説明から明らかなように、本実施形態によれば、センタ側ユニット50が、貸出時刻と貸出ステーションとを含む貸出情報を車台番号60に関連付けてメモリ202に保存することを要求することも、返却時に、その貸出情報を車台番号60に関連付けてメモリ202から読み出すことを要求することもなく、自転車利用時間の長さの計算と、前記貸出ステーションと前記返却ステーションとの間の一致・不一致の判定とを行うことが可能となる。よって、センタ側ユニット50に課される負担が軽減される。
<本発明の第3実施形態>
次に、図12ないし図17を参照することにより、本発明の例示的な第3実施形態に従う自転車レンタル・システム400を説明する。ただし、この自転車レンタル・システム400は、前述の第1実施形態に従う自転車レンタル・システム10に対し、共通する要素が多いため、異なる要素のみについて詳細に説明し、共通する要素については、同じ名称または符号を付して引用することにより、重複した説明を省略する。
まず概略的に説明するに、この自転車レンタル・システム(以下、単に「システム」という。)400は、前述の第1実施形態に従う自転車レンタル・システム10に対し、ステーション側ユニット30については、図12には機能ブロック図で、図13にはフローチャートでそれぞれ示すように、現在時刻を暗号化するために用いられる暗号化アルゴリズムがステーション20ごとに異なる点、すなわち、ステーション20の位置に関して動的である点と、ステーションIDを暗号化しない点とを除き、共通する。
また、このシステム400は、システム10に対し、センタ側ユニット50については、図14および図15に機能ブロック図で、図16および図17にフローチャートでそれぞれ示すように、ステーションIDを復元するための暗号解読を行わない点を除き、共通する。
図13には、図12に示すステーション側ユニット30のコンピュータ104によって実行される暗号化・表示プログラムが概念的にフローチャートで表されている。
この暗号化・表示プログラムの各回の実行はステップS1301において開始され、このステップS1301においては、時計110を用いて現在時刻が計測される。次に、ステップS1302において、時刻用の暗号化アルゴリズムであってステーション20ごとに異なるものがメモリ102から読み出され、その暗号化アルゴリズムを用いることにより、前記計測された現在時刻が暗号化される。
続いて、ステップS1303において、前記暗号化された現在時刻が暗号66として画面68上に表示される。以上で、この暗号化・表示プログラムの一回の実行が終了する。
図16および図17には、図14および図15に示すセンタ側ユニット50のプロセッサ200によって実行される貸出し・返却プログラムであってメモリ202に予め記憶されているものが概念的にフローチャートで表されている。
ところで、現在時刻を時々刻々暗号化する場合、現在時刻を、時間に関して静的な暗号化アルゴリズムを用いて暗号化しても、暗号化の対象が時間に関して動的であるため、その暗号化によって取得される暗号は、時間に関して動的な暗号となる。
一方、同じ時刻に、その時刻を表す数字列を、互いに異なる複数の暗号化アルゴリズムを用いてそれぞれ暗号化すると、互いに異なる複数の暗号が取得される。
また、ステーション20ごとに異なる暗号化アルゴリズムを割り当てて時刻の暗号化を行えば、各ステーション20においては、同じ時刻に、他のステーション20とは異なる暗号が取得される。その暗号は、結局、時間に関してのみならず、ステーション20の位置に関しても動的な暗号となる。
よって、時刻を共通にすれば、暗号化アルゴリズムの種類と、暗号との間に既知の関係が成立し、その関係は、時刻に関連付けられる。また、暗号化アルゴリズムの種類とステーション20の位置とは1対1に対応する。
したがって、時刻と、そのときの暗号とが判明すれば、その暗号を取得するために用いられた暗号化アルゴリズムの種類を推定でき、ひいては、その暗号が取得されたステーション20の位置を推定できる。
このような知見に基づき、まず概略的に説明するに、このシステム400においては、ユーザが 通信機器90を用いて、今回のステーション20に設置された表示部114の画面68上に表示された暗号66を管理センタ40のセンタ側ユニット50に送信する。
そのセンタ側ユニット50は、ユーザから暗号66を受信すると、その受信が行われた時刻を受信時刻として計測し、前記受信した暗号を解読し、それにより、前記時刻を復元する。
このセンタ側ユニット50は、さらに、その復元された時刻と前記受信時刻とを互いに比較し、それにより、ステーション20ごとに異なる前記複数の暗号化アルゴリズム(以下、説明の便宜上、「複数の候補暗号化アルゴリズム」という。)EAのうち、それを用いて前記受信した暗号を解読すると、その解読によって復元された時刻と前記受信時刻との差が基準値以下である候補暗号化アルゴリズムEAを、ユーザが実際に居るステーションに対応する真正暗号化アルゴリズムとして選択する。
このセンタ側ユニット50は、さらに、そのユーザが、その選択された真正暗号化アルゴリズムを用いた解読によって復元された時刻に、前記選択された真正暗号化アルゴリズムに対応するステーションに実際に居ると認識する。
このように、このシステム400によれば、時刻のための暗号化アルゴリズムの種類すなわち暗号化方法をステーション20ごとに変えること、すなわち、時刻のための暗号化アルゴリズムの種類をステーション20の位置に関して動的なものとすることにより、ステーション20ごとに割り当てられた固有のステーションIDを用いることも、そのステーションIDを広義の動的暗号に暗号化することもなく、暗号66から今回のステーション20を同定できる。
また、暗号66が時間に関して動的であるため、ユーザが、自転車の貸出し時の暗号66と同じ暗号を返却時にも使用することにより、貸出し時と同じステーション20において返却を行ったユーザになりすますことが阻止され、それにより、不正行為が抑止される。
本実施形態における貸出し・返却プログラムの各回の実行は図16に示すステップS1601において開始され、そのステップS1601においては、ユーザから、通信機器90を介して、管理センタ40に対して出される今回のリクエストの種別が貸出しと返却とのいずれであるかを特定するための情報と、車台番号60と、暗号66とを、今回のユーザについて予め割り当てられた会員IDおよびパスワードと共に受信する。
次に、ステップS1602において、前記受信した会員IDおよびパスワードと、前記登録されている情報との照合結果から、今回のユーザについての個人認証が成功したか否かが判定される。個人認証が成功すると、ステップS1603において、ユーザからの今回のリクエストが貸出リクエストであるか否かが判定される。今回のリクエストが返却リクエストである場合には、判定がNOとなり、続いて、図17に示すステップ群に移行するが、今回のリクエストが貸出リクエストである場合には、判定がYESとなり、ステップS1604に移行する。
このステップS1604においては、今回選択されるべき候補暗号化アルゴリズムEAを特定するための番号iが1にセットされる。続いて、ステップS1605において、メモリ202において、前記複数の候補暗号化アルゴリズムEAのうち、番号iの現在値が割り当てられたものが選択される。
その後、ステップS1606において、その選択された候補暗号化アルゴリズムEAiがメモリ202から読み出され、その読み出された候補暗号化アルゴリズムEAiを用いることにより、前記受信した暗号66が解読され、それにより、候補貸出時刻が復元される。
続いて、ステップS1607において、その候補貸出時刻と現在時刻との差が前記基準値以下であるか否かが判定される。その差が前記基準値より大きい場合には、判定がNOとなり、その後、ステップS1608において、番号iが1だけインクリメントされる。続いて、ステップS1605に戻る。
これに対し、候補貸出時刻と現在時刻との差が前記基準値以下である場合には、ステップS1607の判定がYESとなり、続いて、ステップS1609において、今回の候補暗号化アルゴリズムEAiが、今回の暗号66を解読するのに適した真正暗号化アルゴリズムとして選択される。
その後、ステップS1610において、今回の候補貸出時刻が真正貸出時刻として選択される。続いて、ステップS1611において、ステーションIDと真正暗号化アルゴリズムの番号iとの間に予め定められた関係であってメモリ202に予め記憶されているものに従い、今回の真正暗号化アルゴリズムの番号iに対応する貸出ステーションIDが決定される。
その後、ステップS1612において、その貸出ステーションIDが前記第1テーブル内の複数のステーションIDのいずれかと一致するか否かを判定することにより、今回の貸出ステーションIDが真正であるか否かが判定される。今回の貸出ステーションIDが真正ではない場合には、直ちに、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の貸出ステーションIDが真正である場合には、ステップS1612の判定がYESとなり、続いて、ステップS1613において、今回の車台番号60が前記第2テーブル内の複数の車台番号のいずれかと一致するか否かを判定することにより、今回の車台番号60が真正であるか否かが判定される。今回の車台番号60が真正ではない場合には、直ちに、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の車台番号60が真正である場合には、ステップS1613の判定がYESとなり、続いて、ステップS1614において、車台番号60を有する自転車12をユーザに貸し出すことが許可される。その後、ステップS1615において、後の使用に備えて、今回の貸出時刻と貸出ステーションとが今回の車台番号60に関連付けてメモリ202に保存される。
続いて、ステップS1616において、前記第3テーブルを参照することにより、今回の車台番号60に対応する暗証番号、すなわち、今回の自転車12において施錠されているダイヤル錠84をユーザが自ら解錠するためにそのダイヤル錠84に与えるべき番号(例えば、複数桁の数字)が取得される。
その後、ステップS1617において、その取得された暗証番号と、自転車12の貸出しを開始することを表すメッセージとが、ユーザの通信機器90に向かって送信される。以上で、この貸出し・返却プログラムのうち、自転車12の貸出しを行う部分の実行が終了する。
これに対し、ユーザから出された今回のリクエストが返却リクエストである場合には、ステップS1603の判定がNOとなり、図17に示すステップS1701に移行する。
このステップS1701においては、今回選択されるべき候補暗号化アルゴリズムEAを特定するための番号jが1にセットされる。続いて、ステップS1702において、メモリ202において、前記複数の候補暗号化アルゴリズムEAのうち、番号jの現在値が割り当てられたものが選択される。
その後、ステップS1703において、その選択された候補暗号化アルゴリズムEAjがメモリ202から読み出され、その読み出された候補暗号化アルゴリズムEAjを用いることにより、前記受信した暗号66が解読され、それにより、候補返却時刻が復元される。
続いて、ステップS1704において、その候補返却刻と現在時刻との差が前記基準値以下であるか否かが判定される。その差が前記基準値より大きい場合には、判定がNOとなり、その後、ステップS11705において、番号jが1だけインクリメントされる。続いて、ステップS1702に戻る。
これに対し、候補返却時刻と現在時刻との差が前記基準値以下である場合には、ステップS1704の判定がYESとなり、続いて、ステップS1706において、今回の候補暗号化アルゴリズムEAjが、今回の暗号66を解読するのに適した真正暗号化アルゴリズムとして選択される。
その後、ステップS1707において、今回の候補返却時刻が真正返却時刻として選択される。続いて、ステップS1708において、ステーションIDと真正暗号化アルゴリズムの番号jとの間に予め定められた関係であってメモリ202に予め記憶されているものに従い、今回の真正暗号化アルゴリズムの番号jに対応する返却ステーションIDが決定される。
その後、ステップS1709において、その返却ステーションIDが前記第1テーブル内の複数のステーションIDのいずれかと一致するか否かを判定することにより、今回の返却ステーションIDが真正であるか否かが判定される。今回の返却ステーションIDが真正ではない場合には、直ちに、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の返却ステーションIDが真正である場合には、ステップS1709の判定がYESとなり、続いて、ステップS1710において、今回の車台番号60が前記第2テーブル内の複数の車台番号のいずれかと一致するか否かを判定することにより、今回の車台番号60が真正であるか否かが判定される。今回の車台番号60が真正ではない場合には、直ちに、この貸出し・返却プログラムの実行が終了する。
これに対し、今回の車台番号60が真正である場合には、ステップS1710の判定がYESとなり、続いて、ステップS1711において、車台番号60を有する自転車12をユーザが今回のステーション20に返却することが許可される。その後、ステップS1712において、今回の返却対象である自転車12についての貸出時刻と貸出ステーションとが、今回の車台番号60に関連付けてメモリ202から読み出される。
続いて、ステップS1713において、前記貸出時刻から前記返却時刻までの経過時間の長さが、ユーザが自転車12を利用した前記利用時間の長さとして計算される。その後、ステップS1714において、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かが判定される。
続いて、ステップS1715において、前記計算された利用時間の長さと、前記返却ステーションIDが前記貸出ステーションIDと一致するか否かの判定結果とに基づき、前記第4テーブルを参照することにより、今回のレンタル料金の額が計算される。その後、ステップS1716において、その計算されたレンタル料金につき、今回のユーザに対して決済が行われ、それにより、今回のレンタル料金がユーザから徴収される。
続いて、ステップS1717において、返却が完了したことを表すメッセージと、今回のレンタル料金についての支払明細とがユーザの通信機器90に向けて送信される。以上で、この貸出し・返却プログラムのうち、自転車12の返却を行う部分の実行が終了する。
以上説明したいくつかの実施形態についての具体的な説明から明らかなように、それら実施形態においては、各ステーション20に設置されたステーション側ユニット30のうちの暗号化部112が、暗号化前の情報(例えば、ステーションID、現在時刻)を暗号化アルゴリズムを用いて暗号化することにより、暗号66を時々刻々生成する。
ここに、暗号化というプロセスは、説明を簡単にするために、暗号化前の情報と暗号化アルゴリズムとの掛け算というプロセスに例えることが可能である。そうすると、その掛け算の結果値である暗号が、時刻に関してもステーション位置に関しても動的であるためには、それら暗号化前の情報および暗号化アルゴリズムのうちの一方は少なくとも時刻に関して動的であるが、他方は少なくともステーション位置に関して動的であるか、または、それら暗号化前の情報および暗号化アルゴリズムのうちの少なくとも一方が時刻に関してもステーション位置に関しても動的であることが要求される。
よって、前記暗号化前の情報は、時刻とステーション位置との少なくとも一方に関する情報を含いんでいる。前記暗号化前の情報および前記暗号化アルゴリズムの組合せは、それら暗号化前の情報および暗号化アルゴリズムのうちの一方は少なくとも時刻に関して動的であるが、他方は少なくともステーション位置に関して動的であるか、または、それら暗号化前の情報および暗号化アルゴリズムのうちの少なくとも一方が時刻に関してもステーション位置に関しても動的であるように構成されている。
暗号66は、その性質上、ユーザは解読できないという性質を有している。この暗号66は、さらに、時刻に関してもステーション位置に関しても動的であるように構成されているため、ユーザがいずれかの時刻にいずれかのステーション20に実際に居る場合に、まさにその時刻にまさにそのステーション20に実際に居ない限り、ユーザは真正の暗号66を取得できないという性質と、ユーザがまさにその時刻にまさにそのステーション20に実際に居ることを管理センタ40のセンタ側ユニット50であれば暗号66を解読して推定できるという性質とを有している。
そのセンタ側ユニット50は、暗号化アルゴリズムの種類が複数のステーション20に共通である場合には、生成可能な複数の暗号と複数の解読結果と複数のステーション20の位置(例えば、複数のステーション20に予め割り当てられた複数の固有のステーションID)との間に予め定められた関係に従い、または、暗号化アルゴリズムの種類が各ステーション20に固有である場合には、生成可能な複数の暗号と複数の解読結果と複数の暗号化アルゴリズムの種類と複数のステーション20の位置(例えば、複数のステーション20に予め割り当てられた複数の固有のステーションID)との間に予め定められた関係に従い、ユーザから受信した暗号66を解読し、それにより、ユーザが実際に居るステーション20とそのステーション20に実際に居る時刻とを推定する。
ここで、暗号66のうち、前記ステーションID関連部分暗号に注目すると、そのステーションID関連部分暗号は、時刻に関してもステーションIDに関しても動的である。このことは、同じステーションについてでありながら、時刻と共にステーションID関連部分暗号が変化することを意味する。しかし、それぞれのステーションにつき、各時刻にステーションID関連部分暗号が取る数字は、既知であるから、そのステーションID関連部分暗号が有効である時刻(例えば、画面68上に表示される時刻)が判明すれば、対応するステーションIDを推定できる。
管理センタ40が前記ステーションID関連部分暗号を受信した時刻が前記現在時刻関連部分暗号の助けなしで判明する場合(例えば、前記貸出しの場面においては、その貸出し時刻が、管理センタ40が前記ステーションID関連部分暗号を受信した時刻と実質的に同じ時刻である)には、前記ステーションID関連部分暗号につき、前記現在時刻関連部分暗号の助けなしで、前記判明した時刻に関連付けて暗号解読を行えば、対応するステーションIDを推定できる。
これに対し、管理センタ40が前記ステーションID関連部分暗号を受信した時刻が前記現在時刻関連部分暗号の助けなしでは判明しない場合(例えば、前記返却の場面において、その貸出し時刻より先行する前記貸出し時刻が必要となる場合)には、まず前記現在時刻関連部分暗号の解読によって前記貸出し時刻を復元したうえで、前記ステーションID関連部分暗号につき、前記復元された時刻に関連付けて暗号解読を行えば、対応するステーションIDを推定できる。
<本発明の第4実施形態>
次に、図18ないし図22を参照することにより、本発明の例示的な第4実施形態に従う自転車レンタル・システム500を説明する。ただし、この自転車レンタル・システム500は、前述の第1実施形態に従う自転車レンタル・システム10に対し、共通する要素が多いため、異なる要素のみについて詳細に説明し、共通する要素については、同じ名称または符号を付して引用することにより、重複した説明を省略する。
まず概略的に説明するに、この自転車レンタル・システム(以下、単に「システム」という。)500は、前述の第1実施形態に従う自転車レンタル・システム10に対し、ステーション側ユニット30については、図19に機能ブロック図で示すように、少なくとも暗号化部112が削除される代わりに、管理センタ40との通信を行う通信機器510が追加される点を除き、共通し、また、センタ側ユニット50については、図21に機能ブロック図で示すように、暗号化部112と同じ機能を有する暗号化部520が追加される点を除き、共通する。
このシステム500においては、システム10とは異なり、ステーション側ユニット30において、対応するステーション20に関連付けて、現在時刻およびステーションIDの暗号化が行われるのではなく、センタ側ユニット50において、各ステーション20に関連付けて、現在時刻およびステーションIDの暗号化が行われる。センタ側ユニット50においては、新たな暗号66が生成されると、その暗号66が、実質的にリアルタイムで、対応するステーション20に送信される。
センタ側ユニット50から各ステーション20への暗号66の送信は、例えば、無線送信として実現され、例えば、電話回線を利用した無線送信、グローバル・ネットワークの一例としてのインターネットを利用した無線送信として実現される。一例においては、インターネット上において、各ステーション20ごとに、各ステーション20に固有の宛先アドレスが割り当てられており、センタ側ユニット50は、各ステーション20ごとに、対応する宛先アドレスを特定して、各ステーション20に固有の暗号66を、宛先であるステーション20に個別に送信する(例えば、モノキャスト方式)。
さらに、このシステム500においては、ステーション側ユニット30において、暗号66が受信されると、その暗号66が実質的にリアルタイムで画面68上に表示され、それにより、その暗号66が、対応するステーション20に居るユーザに直接的に知得されるとともに、同じ暗号66が、実質的にリアルタイムで、対応するステーション20に居るユーザの通信機器90にローカル・エリア・ネットワークを利用して送信され、それにより、暗号66が、通信機器90を介してユーザに間接的に知得される。
前記ローカル・エリア・ネットワークは、ユーザが、対応するステーション20に実際に居ない限り、ステーション側ユニット30から送信された信号がユーザの通信機器90に到達しないように構成される。例えば、ステーション側ユニット30から送信される信号の到達範囲が実質的に、対応するステーション20のエリアを超えないように設定される。
そのようなローカル・エリア・ネットワークにおいては、通信方式として、例えば、対応するステーション20のエリア(例えば、ステーション20によって物理的に占有される地理的エリア、ステーション20からの信号を正常に受信可能なエリア(例えば、前記地理的エリアと少なくとも部分的にオーバラップするように位置する))内に居る不特定多数または特定多数のユーザに対してデータを送信する方式(例えば、ブロードキャストまたはマルチキャスト)が非排他的に採用される。また、通信規格としては、例えば、イーサネット(登録商標)、トークンリング、シリアル転送(例えば、IrDA(赤外線による光無線データ通信)、USB、IEEE 1394など)などが非排他的に採用される。
このシステム500においては、ステーション側ユニット30において、システム10とは異なり、同じ暗号66が、画面68を用いた表示と、データ送信との双方を介してユーザに提供されるが、それら2種類の方式のうち少なくとも一方が採用されれば足りる。
図19には、管理センタ40によって遠隔的にかつ集中的に管理される複数のステーション20のうちの一つにつき、代表的に、対応するステーション側ユニット30が機能ブロック図で示されている。
このステーション側ユニット30は、前述の画面68、コンピュータ104および表示部114(例えば、画面68を構成する複数の素子(例えば、発光素子としてのLED)を駆動するためのドライバおよびコントローラ)を有し、さらに、通信機器510を有する。
通信機器510は、送信部512と、受信部514と、コントローラ516とを有する。コントローラ516は、例えば、インタフェース、MAC、メモリなどを有する。受信部514は、管理センタ40から送信された暗号66を受信する。送信部512は、その受信した暗号66を、対応するステーション30に居るユーザの通信機器90に送信する。
図20には、図19に示すステーション側ユニット(複数のステーション20のうち今回注目しているものに設置されているステーション側ユニット)30のコンピュータ104によって実行される暗号提供プログラムが概念的にフローチャートで表されている。この暗号提供プログラムは、前述の他のプログラムと同様に、メモリ102に予め記憶されており、必要に応じ、プロセッサ100により、そのメモリ102から読み出されて実行される。
この暗号提供プログラムの実行は、センタ側ユニット50における後述の暗号化プログラムの実行サイクルの周期を超えない長さの時間間隔、例えば、5分という時間間隔で反復される。この暗号提供プログラムの各回の実行はステップS2001において開始され、このステップS2001においては、管理センタ40から最新の暗号66が受信部514を介して受信される。
次に、ステップS2002において、その受信した暗号66が画面68上に表示される。この表示は、システム10と同様にして行われる。これにより、対応するステーション20に居るユーザは、最新の暗号66を直接的に知覚することが可能である。
続いて、ステップS2003において、その受信した暗号66を表す信号が、実質的にリアルタイムで、送信部512を介して、対応するステーション20に居るユーザの通信機器90に向かって送信される。これにより、対応するステーション20に居るユーザは、最新の暗号66を、自身の通信機器90を介して間接的に知覚することが可能である。
以上で、この暗号提供プログラムの一回の実行が終了する。暗号66は、画面68上での表示および送信部512からの送信が開始されると、この暗号提供プログラムの次回の実行が開始されるまで、表示状態および送信状態が保持される。
図21ならびに図5および図6には、管理センタ40に設置されているセンタ側ユニット50が機能ブロック図で示されている。ただし、図21には、センタ側ユニット50が、現在時刻およびステーションIDの暗号化および送信を反復的に行うために作動する部分に注目されて示され、また、図5には、センタ側ユニット50が、自転車貸出し時に機能する部分(図7にフローチャートで表されている)に注目されて示され、また、図6には、センタ側ユニット50が、自転車返却時に機能する部分(図8にフローチャートで表されている)に注目されて示されている。
このシステム500においては、センタ側ユニット50が、自転車貸出し時に機能する部分と、自転車返却時に機能する部分とに関して、システム10と共通するため、重複した文章での説明および図示を省略し、現在時刻およびステーションIDの暗号化および送信を反復的に行うために作動する部分のみに関して詳細に説明する。
前述のように、センタ側ユニット50は、プロセッサ200およびそのプロセッサ200によって実行されるプログラムを記憶するメモリ202を有するコンピュータ204を主体として構成されている。そのコンピュータ204によって実現されるハードウエア構成が、図21ならびに図5および図6に機能ブロック図で表されている。
そのハードウエア構成を具体的に説明するに、このセンタ側ユニット50は、図21に示すように、現在時刻およびステーションIDの暗号化および送信のために、時計216と、送信部222と、暗号化部520とを作動させる。
また、センタ側ユニット50は、図5に示すように、自転車貸出しのために、受信部210と、暗号解読部212と、貸出許可部214と、時計216と、暗証番号取得部220と、送信部222とを作動させる。
さらに、センタ側ユニット50は、図6に示すように、自転車返却のために、受信部210と、暗号解読部212と、時計216と、返却許可部230と、読出部232と、レンタル料金計算部234と、決済処理部236と、送信部222とを作動させる。
したがって、このセンタ側ユニット50においては、時計216と、送信部222とが、現在時刻およびステーションIDの暗号化および送信のためと自転車貸出しのためと自転車返却のためとに作動させられる。また、受信部210と、暗号解読部212と、時計216と、送信部222とが、自転車貸出しのためと自転車返却のためとの双方に作動させられる。
図21ならびに図5および図6に示すハードウエア構成により、後述の暗号化プログラムによって表される暗号化・送信工程と、図7に示す複数のステップ(前述の貸出し・返却プログラムのうち自転車の貸出しに関係する部分)によって表される自転車貸出し工程と、図8に示す複数のステップ(前述の貸出し・返却プログラムのうち自転車の返却に関係する部分)によって表される自転車返却工程とを含む自転車レンタル方法(前述の「レンタル方法」の一例である)が実行される。
図22には、センタ側ユニット50において実行される前記暗号化プログラムが概念的にフローチャートで表されている。
この暗号化プログラムの実行は、例えば、15分という時間間隔で反復される。この暗号化プログラムの各回の実行はステップS2201において開始され、このステップS2201においては、複数のステーション20のうち、今回の実行対象である1つのステーション20に割り当てられた番号iが「1」にセットされる。メモリ202には、各番号iに関連付けてステーションIDが予め記憶されている。
次に、ステップS2202において、時計216を用いて現在時刻が計測される。
その後、ステップS2203において、時刻用の暗号化アルゴリズムであってステーション20の位置に関しても時刻に関しても静的であるものがメモリ202から読み出され、その静的な暗号化アルゴリズムを用いることにより、前記計測された現在時刻が暗号化される。
続いて、ステップS2204において、番号iの現在値を参照することにより、今回のステーション20に割り当てられたステーションIDがメモリ202から読み出される。
その後、ステップS2205において、ステーションID用の暗号化アルゴリズムであってステーション20の位置に関しては静的であるが時刻に関しては動的であるものがメモリ202から読み出される。
前述のように、ステーションID用の暗号化アルゴリズムは、時刻に関して動的であり、具体的には、時刻ごとに使い分けられる複数の個別アルゴリズムの集まりとして構成されている。メモリ202には、それら個別アルゴリズムが時刻(例えば、15分置きに経過する複数の時刻)に関連付けて記憶されており、このステップS2205においては、それら個別アルゴリズムのうち、現在時刻に対応するものがメモリ202において選択されて読み出される。
続いて、ステップS2206において、その選択された個別アルゴリズムを用いることにより、前記読み出されたステーションIDが暗号化される。
その後、ステップS2207において、前記暗号化された現在時刻と、前記暗号化されたステーションIDとが合体されて暗号66が生成され、その生成された暗号66を表す信号が、今回のステーション20に向けて個別に(固有の宛先アドレスを指定することにより)送信される。
ある回の暗号66の送信が開始されると、この暗号化プログラムの次回の実行によって次回の暗号66の送信が開始されるまで、前回の暗号66の送信が継続される。
続いて、ステップS2208において、番号iの現在値がしきい値i0 以上となったか否かが判定される。前記複数のステーション20のすべてにつき、それぞれに固有の暗号66を生成して各ステーション20に送信する処理が終了したか否かが判定されるのである。
今回は、番号iの現在値がしきい値i0 より小さいと仮定すると、ステップS2208の判定がNOとなり、その後、ステップS2209において、番号iが「1」だけインクリメントされる。続いて、ステップS2202に戻り、次のステーション20について前記処理と同じ処理が行われる。
ステップS2202ないしS2209の実行が何回か反復された結果、番号iの現在値がしきい値i0 以上となると、ステップS2208の判定がYESとなり、以上で、この暗号化プログラムの一回の実行が終了する。
以上、本発明のいくつかの実施形態を、レンタル対象が自転車である場合を例にとり、図面に基づいて詳細に説明したが、本発明は、他のレンタル対象に適用することも可能である。
例えば、レンタル対象が自動二輪車(例えば、前記暗証番号はその自動二輪車のエンジン・キーに適用される)、自動車(前記暗証番号は、例えば、その自動車のドア・キーまたはエンジン・キーに適用される)、エンジン付きボートまたはジェットスキー(前記暗証番号は、例えば、そのボートまたはジェットスキーのエンジン・キーに適用される)、または特定のコース内を走るゴーカート(前記暗証番号は、例えば、そのゴーカートのドア・キーまたはエンジン・キーに適用される)である場合にも、本発明を適用することが可能である。
さらに、レンタル対象が家具(前記暗証番号は、例えば、その家具を保管する閉じた空間のドア・キーに適用される)、電気製品(前記暗証番号は、例えば、その電気機器を保管する閉じた空間のドア・キーに適用される)、電気製品に着脱可能に装着される付属品(前記暗証番号は、例えば、その付属品を保管する閉じた空間のドア・キーに適用される)、または視聴覚コンテンツが記録されている記録媒体(例えば、CD)であってユーザが再生可能なもの(前記暗証番号は、例えば、その記憶媒体を保管する閉じた空間のドア・キーに適用される)場合にも、本発明を適用することが可能である。
さらに、レンタル対象がユーザが居住可能なホテルやアパートの部屋(前記暗証番号は、例えば、その部屋のドア・キーに適用される)、コインロッカー内の個別保管スペース(前記暗証番号は、例えば、そのコインロッカの各室のドア・キーに適用される)、または駐車場内の個別駐車スペース(前記暗証番号は、例えば、その駐車場の貸出しを個別駐車スペースごとに管理する装置に、その個別駐車スペースに関連付けてユーザによって入力される)である場合にも、本発明を適用することが可能である。
以上、本発明のいくつかの実施形態を図面に基づいて詳細に説明したが、これらは例示であり、前記[発明の概要]の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。