(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-16
(54)【発明の名称】未接続状態のオブジェクトおよびその位置を安全に認証するためのコンピュータ実施方法およびシステム
(51)【国際特許分類】
H04L 9/32 20060101AFI20221109BHJP
G06F 21/31 20130101ALI20221109BHJP
G06F 21/62 20130101ALI20221109BHJP
H04W 12/06 20210101ALI20221109BHJP
H04W 12/77 20210101ALI20221109BHJP
H04W 12/037 20210101ALI20221109BHJP
H04W 12/12 20210101ALI20221109BHJP
【FI】
H04L9/32 200A
H04L9/32 200F
G06F21/31
G06F21/62
H04W12/06
H04W12/77
H04W12/037
H04W12/12
H04L9/32 100B
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022513575
(86)(22)【出願日】2020-09-04
(85)【翻訳文提出日】2022-04-15
(86)【国際出願番号】 IB2020058245
(87)【国際公開番号】W WO2021044356
(87)【国際公開日】2021-03-11
(31)【優先権主張番号】102019000015701
(32)【優先日】2019-09-05
(33)【優先権主張国・地域又は機関】IT
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】522075069
【氏名又は名称】フーディア ラブ エス.アール.エル.
(74)【代理人】
【識別番号】100091683
【氏名又は名称】▲吉▼川 俊雄
(74)【代理人】
【識別番号】100179316
【氏名又は名称】市川 寛奈
(72)【発明者】
【氏名】コレサント,アンジェロ
(72)【発明者】
【氏名】メレン,ファビオ
【テーマコード(参考)】
5K067
【Fターム(参考)】
5K067AA21
5K067DD11
5K067EE02
5K067EE16
5K067HH22
5K067HH23
5K067HH36
(57)【要約】
特定の位置に紐づけられたデバイスを安全に認証するためのコンピュータ実施方法であって、インターネットに未接続のデバイスが位置する特定の位置での処理を、ユーザが有効化できるようにする方法であり、前記方法は、モバイルデバイスで作動するアプリケーションによって実行される登録プロセスであって、デバイスハードウェアパラメータを特定の位置に紐づけ、これらのデータを、中央システムで作動するバックエンドアプリケーションに記録・格納する登録プロセスと、デバイスで実行される生成プロセスであって、有効期限の付きのOTPベースのグラフィックコードを生成し、それを前記デバイスに表示する生成プロセスと、OTPベースのグラフィックコードの検証プロセスと、を備え、受信済のOTPベースのグラフィックコードが有効である場合、ユーザが、自身のモバイルデバイスで、特定の位置での処理を有効化することを許可する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
特定の位置に紐づけられたデバイスを安全に認証するためのコンピュータ実施方法であって、インターネットに未接続の前記デバイスが位置する特定の位置での処理を、ユーザが有効化できるようにする方法であり、前記方法は、
モバイルデバイスで作動するアプリケーションによって実行される登録プロセスであって、デバイスハードウェアパラメータを特定の位置に紐づけ、これらのデータを、中央システムで作動するバックエンドアプリケーションに記録・格納する登録プロセスと、
デバイスで実行される生成プロセスであって、有効期限の付きのOTPベースのグラフィックコードを生成し、それを前記デバイスに表示する生成プロセスと、
前記OTPベースのグラフィックコードの検証プロセスであって、
ユーザが、前記モバイルデバイスで作動する前記アプリケーションを介し、前記OTPベースのグラフィックコードを取得することで、前記ユーザが、前記デバイスが位置する前記特定の位置に近接している証明を得ること(18)と、
前記モバイルデバイスを介して、前記OTPベースのグラフィックコードを、暗号化を組み合わせた生成列に変換し、インターネット接続を介して、前記中央システムで作動する前記バックエンドアプリケーションに送信すること(19)と、
OTP列に一度変換された、受信済の前記OTPベースのグラフィックコードが有効かどうかを、前記中央システムで作動する前記バックエンドアプリケーションにおいて、OTP検証アルゴリズム(20)によって判定することと、
受信済の前記OTPベースのグラフィックコードが有効である場合、前記ユーザが、前記デバイスが位置する前記特定の位置に近接していることを判定し、前記グラフィックコードを認証し、前記ユーザが、自身のモバイルデバイスで、前記特定の位置での前記処理を有効化することを許可することと、
を含む検証プロセスと、
からなる工程を備え、
前記登録プロセスは、
前記未接続状態のデバイスのランダム登録時間およびランダムシードを生成すること(1,2)と、
前記デバイスのハードウェア構成に基づき、前記ハードウェアが同じものであれば、変更されることのない、固有のハードウェアIDを取得すること(3)と、
前記ハードウェアID、前記シード、および前記登録時間の値を組み合わせて、登録列を取得すること(4)と、
前記登録列を暗号化すること(6)と、
暗号化された前記登録列をグラフィックコードに変換し、その登録グラフィックコードを表示すること(7)と、
からなる、前記デバイス上で実行される工程をさらに備え、
前記登録プロセスは、
前記モバイルデバイスを介して、前記登録グラフィックコードを取得すること(8)と、
前記登録グラフィックコードを、暗号化された前記登録列に変換して、インターネット接続を介して、前記中央システムで作動する前記バックエンドアプリケーションに送信すること(9)と、
前記ユーザデバイスによって、特定の位置データを取得することと、
からなる、前記モバイルデバイス上で実行される工程をさらに備え、
前記登録プロセスは、
暗号化された前記登録列を受信し、復号化(10)し、前記ハードウェアID、前記シード、前記登録時間の値に分割すること(11)と、
前記中央システムのローカル時間から登録時間を引くことで得られる、時間の差分を計算すること(12)と、
前記ハードウェアID、前記シード、前記登録時間と、前記時間の差分とを紐づけて格納すること(13)と、
からなる、前記中央システムで作動する前記バックエンドアプリケーション上で実行される工程をさらに備え、
前記生成プロセスは、
前記シードと、前記ランダム登録時間に前記デバイスの実行時間を足すことで得られる、デバイスの時間と、に基づいて、OTP生成列を生成すること(14)と、
前記OTP生成列を、前記デバイスの前記ハードウェアIDと組み合わせ、組み合わせた生成列を取得すること(15)と、
前記組み合わせた生成列を暗号化して、暗号化を組み合わせた生成列を取得すること(16)と、
前記暗号化を組み合わせた生成列に対応する、OTPベースのグラフィックコードを生成すること(17)と、
からなる工程をさらに備え、
前記検証プロセスの判定工程は、
前記暗号化を組み合わせた生成列を受信し、復号化(21)し、前記ハードウェアID(23)およびOTP生成列の値(23’)に分割すること(22)と、
前記時間の差分(25)、前記シード(27)、および前記ハードウェアIDの値、そして前記中央システムの前記ローカル時間の値(26)を取得することと、
OTP検証アルゴリズムを利用し、さらに、受信した前記OTP生成列、前記シード、および、中央システムのローカル時間から前記時間の差分を引いたことで得られる、第2の時間の差分の入力を利用することで、OTP列が有効かどうかを判定(20)し、前記OTP生成列が有効である場合は、前記デバイスの認証、および前記デバイスの生成時間に応じた、前記中央システムの前記ローカル時間における、その位置の確認を許可し、前記中央システムの前記ローカル時間に応じた、前記デバイスの前記生成時間に、前記デバイスが位置する位置での処理を、前記ユーザが有効化できるようにすることと、
からなる、前記中央システムで作動する前記バックエンドアプリケーション上で実行される工程をさらに備える、ことを特徴とする、コンピュータ実施方法。
【請求項2】
特定の位置に紐づけられたデバイスを安全に認証するためのコンピュータ実施方法であって、インターネットに未接続の前記デバイスが位置する特定の位置での処理を、ユーザが有効化できるようにする方法であり、前記方法は、
モバイルデバイスで作動するアプリケーションによって実行される登録プロセスであって、デバイスハードウェアパラメータを特定の位置に紐づけ、これらのデータを、前記モバイルデバイスで作動するアプリケーションに記録・格納する登録プロセスと、
デバイスで実行される生成プロセスであって、有効期限の付きのOTPベースのグラフィックコードを生成し、それを前記デバイスに表示する生成プロセスと、
前記OTPベースのグラフィックコードの検証プロセスであって、
ユーザが、前記モバイルデバイスで作動する前記アプリケーションを介し、前記OTPベースのグラフィックコードを取得することで、前記ユーザが、前記デバイスが位置する前記特定の位置に近接している証明を得ることと、
前記モバイルデバイスを介して、前記OTPベースのグラフィックコードを、暗号化を組み合わせた生成列に変換することと、
OTP列に一度変換された、受信済の前記OTPベースのグラフィックコードが有効かどうかを、前記モバイルデバイスで作動する前記アプリケーションにおいて、OTP検証アルゴリズムによって判定することと、
受信済の前記OTPベースのグラフィックコードが有効である場合、前記ユーザが、前記デバイスが位置する前記特定の位置に近接していることを判定し、前記グラフィックコードを認証し、前記ユーザが、自身のモバイルデバイスで、前記特定の位置での前記処理を有効化することを許可することと、
を含む検証プロセスと、
からなる工程を備え、
前記登録プロセスは、
前記未接続状態のデバイスのランダム登録時間およびランダムシードを生成することと、
前記デバイスのハードウェア構成に基づき、前記ハードウェアが同じものであれば、変更されることのない、固有のハードウェアIDを取得することと、
前記ハードウェアID、前記シード、および前記登録時間の値を組み合わせて、登録列を取得することと、
前記登録列を暗号化することと、
暗号化された前記登録列をグラフィックコードに変換し、その登録グラフィックコードを表示することと、
からなる、前記デバイス上で実行される工程をさらに備え、
前記登録プロセスは、
前記登録グラフィックコードを取得することと、
前記登録グラフィックコードを、暗号化された前記登録列に変換することと、
前記ユーザデバイスによって、特定の位置データを取得することと、
暗号化された前記登録列を復号化し、前記ハードウェアID、前記シード、前記登録時間の値に分割することと、
前記モバイルデバイスのローカル時間から登録時間を引くことで得られる、時間の差分を計算することと、
前記ハードウェアID、前記シード、前記登録時間と、前記時間の差分とを紐づけて格納することと、
からなる、前記モバイルデバイスで作動する前記バックエンドアプリケーション上で実行される工程をさらに備え、
前記生成プロセスは、
前記シードと、前記ランダム登録時間に前記デバイスの実行時間を足すことで得られる、デバイスの時間と、に基づいて、OTP生成列を生成することと、
前記OTP生成列を、前記デバイスの前記ハードウェアIDと組み合わせ、組み合わせた生成列を取得することと、
前記組み合わせた生成列を暗号化して、暗号化を組み合わせた生成列を取得することと、
前記暗号化を組み合わせた生成列に対応する、OTPベースのグラフィックコードを生成することと、
からなる工程をさらに備え、
前記検証プロセスの判定工程は、
前記暗号化を組み合わせた生成列を受信し、復号化し、前記ハードウェアIDおよびOTP生成列の値に分割することと、
前記時間の差分、前記シード、および前記ハードウェアIDの値、そして前記モバイルデバイスの前記ローカル時間の値を取得することと、
OTP検証アルゴリズムを利用し、さらに、受信した前記OTP生成列、前記シード、および、モバイルデバイスのローカル時間から前記時間の差分を引いたことで得られる、第2の時間の差分の入力を利用することで、OTP列が有効かどうかを判定し、前記OTP生成列が有効である場合は、前記デバイスの認証、および前記デバイスの生成時間に応じた、前記モバイルデバイスの前記ローカル時間における、その位置の確認を許可し、前記モバイルデバイスの前記ローカル時間に応じた、前記デバイスの前記生成時間に、前記デバイスが位置する位置での処理を、前記ユーザが有効化できるようにすることと、
からなる工程をさらに備える、ことを特徴とする、コンピュータ実施方法。
【請求項3】
前記登録プロセスに関し、
前記デバイスで実行される、ランダム制御コードを生成すること(5)と、
前記デバイスで前記登録列を得た、前記ハードウェアID、前記シード、前記登録時間の値に組み合わせることと、
前記登録列が前記バックエンドアプリケーションによって復号化されると、前記中央システムで登録制御コードとして使用される前記制御コードを分割し、前記登録制御コードを、前記中央システムでの、前記ハードウェアID、前記シード、前記時間の差分等のその他パラメータに紐づけるとともに、それらを格納することと、
前記検証プロセスに関し、
前記中央システムで、前記制御コードをも含む、生成された前記登録列を復号化することと、
制御コードが、前記登録プロセス時に共有された前記登録制御コードと同一である場合、前記バックエンドアプリケーションによって認証を行い、それらのコードが異なる場合は、プロセスを終了して、前記デバイスの新たな登録プロセスを要請し、両制御コードが同一の場合は、プロセスを続行し、前記デバイスが予期せず再登録されても、認証されるようにすることと、
からなる工程をさらに備える、ことを特徴とする、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記登録プロセスは、
前記モバイルデバイスで作動する前記アプリケーションで、入力として、前記ユーザの名前とパラメータを取得することと、
前記中央システムで作動する前記バックエンドアプリケーションで、前記ユーザの名前とパラメータを取得し、前記ハードウェアID、前記シード、前記登録制御コード、前記時間の差分といった、その他パラメータと紐づけて格納することと、
からなる工程をさらに備える、ことを特徴とする、請求項1乃至3のいずれか一項に記載のコンピュータ実施方法。
【請求項5】
前記登録プロセスに関し、
前記デバイスで実行される、ランダム制御コードを生成することと、
前記デバイスで前記登録列を得た、前記ハードウェアID、前記シード、前記登録時間の値に組み合わせることと、
前記登録列が前記モバイルデバイスで作動する前記アプリケーションによって復号化されると、前記モバイルデバイスで登録制御コードとして使用される前記制御コードを分割し、前記登録制御コードを、前記中央モバイルデバイスでの、前記ハードウェアID、前記シード、前記時間の差分等のその他パラメータに紐づけるとともに、それらを格納することと、
前記検証プロセスに関し、
前記モバイルデバイスで、前記制御コードをも含む、生成された前記登録列を復号化することと、
制御コードが、前記登録プロセス時に共有された前記登録制御コードと同一である場合、前記モバイルデバイスで作動する前記アプリケーションによって認証を行い、それらのコードが異なる場合は、プロセスを終了して、前記デバイスの新たな登録プロセスを要請し、両制御コードが同一の場合は、プロセスを続行し、前記デバイスが予期せず再登録されても、認証されるようにすることと、
からなる工程をさらに備える、ことを特徴とする、請求項2に記載のコンピュータ実施方法。
【請求項6】
前記登録プロセスは、
前記モバイルデバイスで作動する前記アプリケーションで、入力として、前記ユーザの名前とパラメータを取得し、前記ハードウェアID、前記シード、前記登録制御コード、前記時間の差分といった、その他パラメータと紐づけて格納すること、
からなる工程をさらに備える、ことを特徴とする、請求項2乃至5のいずれか一項に記載のコンピュータ実施方法。
【請求項7】
前記ユーザは、事前に、前記モバイルデバイス(100)の前記アプリケーション上で権限を与えられている、ことを特徴とする、請求項1乃至6のいずれか一項に記載のコンピュータ実施方法。
【請求項8】
前記グラフィックコードは、QRコード(登録商標)である、ことを特徴とする、請求項1乃至7のいずれか一項に記載のコンピュータ実施方法。
【請求項9】
前記OTPベースのグラフィックコードを認証することにより、前記ユーザは、自身のモバイルデバイスから、食事が配達される特定の場所を識別するための、注文アプリケーションにアクセスすることができ、
前記デバイスは、食事を注文する店舗内の特定の場所に接続され、前記デバイスは一元的に紐づけられ、前記デバイスは、前記ユーザが注文をしたいと思う前記特定の場所に接続されている、ことを特徴とする、請求項1乃至8のいずれか一項に記載のコンピュータ実施方法。
【請求項10】
前記OTPベースのグラフィックコードを認証することにより、前記ユーザは、自身のモバイルデバイスで、レンタルプロセスを開始・終了することができ、
前記デバイスは、レンタル店の特定の場所において、レンタルしたい商品に接続され、前記デバイスは、前記ユーザがレンタルした商品を返却しなければならない特定の場所にある、前記商品と一元的に紐づけられ、接続されている、ことを特徴とする、請求項1乃至9のいずれか一項に記載のコンピュータ実施方法。
【請求項11】
前記OTPベースのグラフィックコードを認証することにより、前記ユーザは、自身のモバイルデバイスで、予約番号、優先権、待ち時間等の情報を受信することができ、
前記デバイスは、ユーザが順番待ちをしたり、待機リストに名前を加えたりする特定の場所に接続され、前記デバイスは、前記特定の場所に一元的に紐づけられ、接続されている、ことを特徴とする、請求項1乃至10のいずれか一項に記載のコンピュータ実施方法。
【請求項12】
前記OTPベースのグラフィックコードを認証することにより、前記ユーザは、自身のモバイルデバイスで、ドアやゲートを開閉することができ、
前記デバイスは、ユーザが開閉する特定のドアやゲートに接続され、前記デバイスは、前記特定のドアやゲートに一元的に紐づけられ、接続されている、ことを特徴とする、請求項1乃至11のいずれか一項に記載のコンピュータ実施方法。
【請求項13】
特定の位置に紐づけられたデバイスを安全に認証するためのシステムであって、インターネットに未接続のデバイスが位置する特定の位置での処理を、ユーザが有効化できるようにするシステムであり、前記システムは、
モバイルデバイスと、
中央システムと、
前記デバイスと、
を備え、
前記モバイルデバイス、前記中央システム、前記デバイスは、それぞれ、
インターフェイスデバイスと、
前記インターフェイスデバイスに接続されるプロセッサと、
前記プロセッサに接続されるメモリと、
を備え、
前記メモリは、コンピュータによって実行可能な命令を格納しており、それら命令が実行された際、前記プロセッサが、請求項1乃至12のいずれか一項に記載の方法が含む対応する工程を実行する、ことを特徴とするシステム。
【請求項14】
特定の位置に紐づけられたデバイスであって、インターネットに未接続のデバイスが位置する特定の位置での処理を、ユーザが有効化できるように構成されたデバイスであり、前記デバイスは、
ディスプレイと、
前記ディスプレイに接続されるプロセッサと、
前記プロセッサに接続されるメモリと、
を備え、
前記メモリは、コンピュータによって実行可能な命令を格納しており、それら命令が実行された際、前記プロセッサが、請求項1乃至12のいずれか一項に記載の方法が含む対応する工程を実行する、ことを特徴とする、デバイス。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、OTP技術で実現されるグラフィック(または多次元)コードに基づいて、未接続状態のオブジェクトおよびその位置を安全に認証するためのコンピュータ実施方法およびシステムに関する。
【背景技術】
【0002】
ワンタイムパスワード(OTP)技術は、公知の技術であり、その目的は、サーバ、一般的には、プライベートネットワークにアクセスするための、デジタルIDの安全な認証を目的としている。パブリックネットワークを介する、プライベートネットワークへのアクセス権を与えるための技術であり、パブリックネットワークを介して、ユーザの演算装置およびプライベートネットワーク間で、メッセージやデータがやりとりされる際、それらを暗号化して送信する。
【0003】
プライベートネットワークは、アクセス権限のないユーザが、プライベートネットワークにアクセスすることを防ぐとともに、アクセス権限を有するユーザのみが、プライベートネットワーク、および/または、プライベートネットワークに格納された情報にアクセスできるよう、構成されている場合がある。一般的に、アクセス権限を有するユーザを識別する際、一般的には、ユーザIDの確認、つまり、ネットワークに対するユーザの認証が必要となる。
【0004】
通常、プライベートネットワークへの認証アクセスの際、ユーザは、ユーザネームおよびOTP(場合によっては、パスワードやPINと組み合わせられる)の提示を求められる。
【0005】
特許文献1には、ユーザネームおよびパスワードに基づく標準的な方法よりも、高いセキュリティレベルを実現可能なユーザ認証の代替案が提示されている。当該ユーザ認証方法では、認証時に、ユーザ自身が所有する、信頼性を有する登録済のデバイスから、ユーザIDを証明するコードを送信する。
【0006】
さらに、モバイルアプリケーションにおける、オフラインプロセスの接続または有効化時に、多次元コード(例えば、QRコード(登録商標))が広く一般に適用されており、当該コードは、一般的には、特定の場所に位置し、ある機能と接続した永久的な、固定値あるいはタグ/ラベル(
図2参照)である。これにより、例えば、特定の機能を有効化することができる。このように、多次元コードは変化しない固定性を有するため、こうした技術に基づいた認証セキュリティは、重要なプロセスを有効化する際に、リスクを孕んでいる。例えば、コードを予測し、遠隔操作でシステムを有効化しようとしたり、あるいは、コードを写真におさめ、時間をおいて使用しようとしたりする者が現れる可能性があり、処理が予期しない形で有効化する恐れがある。
【0007】
セキュリティを担保するため、多次元コードは、一定の頻度で変更する必要があり、固定パスワードと同様のパラダイムに陥る。
【0008】
こうした制約を取り除く試みとして、特許文献2には、モバイルデバイス(またはユーザデバイス)の安全な認証のための方法が開示されている。ここで、物理的なグラフィック固定トークンを、ユーザデバイスに接続された、画像データを撮影する動作を行う撮像装置によって得られた、一時データと組み合わせる。当該一時データは、(i)撮像装置の任意のパラメータと、(ii)撮像装置またはユーザデバイスの位置情報と、(iii)画像データの特徴と、を備え得る。ユーザは、物理トークンの識別情報およびユーザデバイスの一時データに基づいて、認証される。さらに、物理トークンを一時データと組み合わせることで、2回分の処理における一時データを比較して、最初の処理で一時データが既に採用されていた場合は、2回目の処理を認証しないことにより、アンチリプレイ攻撃を防ぐ。
【0009】
近年、ネットワーク上の脅威が急激に増加したことにより、固定パスワードが、インターネット上の主要な認証手段としては、不十分であることがさらに浮き彫りになってきた。
【0010】
こうした中、ワンタイムパスワードが、ネットワークアクセスの安全性を高めるうえで、最もシンプルかつ一般的な二要素認証形態の一つであることは、確実であろう。例えば、大企業等では、バーチャル私設ネットワークアクセスにおいて、遠隔ユーザ認証に際し、ワンタイムパスワードトークンの使用が必要となることが多い。多くの場合、ワンタイムパスワードが好まれるが、これは、当該技術が、ユーザ使用機器上に、いかなるクライアント・デスクトップ・ソフトウェアのインストールも必要としないためである。これにより、自宅コンピュータ、デバイス、携帯情報端末といった、複数の機器でローミングすることが可能になる。
【0011】
さらに、通常のプロセスでは、強力な認証のために、OTPが使用される。こうしたプロセスでは、固定証明事項(例えば、ユーザネームおよびパスワードまたはPIN等、ユーザが知り得る事項)に追加するかたちで、認証の第2ファクタ(ユーザの持ち物)である所有証明として、OTPが物理デバイスまたはソフトウェアから生成される。
【0012】
アプリケーションまたはシステムで認証を得るまでを示した、
図1のフローチャートにあるように、第1工程では、ユーザが証明事項の提示を求められる。そして、証明事項欄を埋めたのち、OTPシステムがOTP列を生成し、ユーザに表示する。次いで、ユーザは、証明事項およびOTPを、アプリケーション/システムに送信し、アプリケーション/システムがそれらを確認する。確認の結果、その有効性が認められた場合、ユーザは、プライベートネットワークへの次回セッションの権限が与えられえる。また、有効性が認められなかった場合、ユーザは認証されない。
【0013】
昨今、OTP独立型デバイスは、一般的に、強力な認証システムの第2ファクタとして使用され、特定の位置にある場合は識別されることができず、また、特定の位置にある、紐づけられたIDやオブジェクトを識別することができない。OTP検証アルゴリズムは、OTPが紐づけられたユーザを事前に把握しておく必要がある。事前に把握できない場合、検証アルゴリズムは、全ての想定される有効値に対して、OTPを検証しなければならなくなるが、ユーザ数が増加すると、こうした方法は非効率(または不可能)である。さらに、OTPが、HMAC(つまり、アルゴリズムの元の値から、より短い列が生成される)の場合、他の有効OTPと生成された値が重複してしまうことを回避できず、完全一致の判定が不可能となってしまう。それゆえ、デバイス自体の位置を識別できないという、上記と同様の問題が発生する。さらに、認証サーバと、顧客が提供するワンタイムパスワードとの時間同期に基づくOTPシステムの場合(この場合、OTPは、あらかじめ決められた、一般的には周知の時間のみ有効性が認められている)、検証時間が短ければ短いほど、攻撃をしかけようとする者がOTPを予測できる時間も短縮することができるため、より安全性が高まる。一方、ユーザの使い勝手や、未接続状態のデバイスのバッテリ消費は、検証時間が長いほど向上するが、同時にシステムの安全性が脆弱な状態にさらされる。
【0014】
実際、タイムベースドOTPシステムは、通常、ワンタイムパスワード、つまり、周期的に変更される数字を生成することが可能な、セキュリティトークンと呼ばれるハードウェア(または同等のソフトウェア実装)と繋がっている。このトークンには、専用の認証サーバのクロックと同期された、精密なクロックが内蔵されている。こうしたOTPシステム上では、前述のパスワードやシークレットキー(シードとも呼ばれる)に替わって、あるいは、それらに追加の形で、現在時刻に基づいて、新しいパスワードが生成されるため、時間がパスワードアルゴリズムの一部に組み込まれている。こうしたトークンは、専用ソフトウェア、フリーウェア、オープンソースのソフトウェア等のソフトウェアを実行する、専用デバイス、携帯電話、その他モバイルデバイスであり得る。
【0015】
時間同期型OTP標準の例として、タイムベースドワンタイムパスワード(TOTP)アルゴリズムが挙げられる。
【0016】
それゆえ、上述した安全性の課題に取り組み、認証プロセスを向上させる必要ある。
【先行技術文献】
【特許文献】
【0017】
【特許文献1】米国特許出願公開第2016/036809号明細書
【特許文献2】国際公開第2018/022993号
【発明の概要】
【発明が解決しようとする課題】
【0018】
本発明の第1形態によれば、その目的の一つは、未接続状態のデバイスが特定の位置にある場合、そのデバイスを認証およびローカライズ可能な、コンピュータ実施方法を得ることにある。
【0019】
本発明の第2の目的は、こうした認証を、安全なもの、かつ悪意のある攻撃に対する脆弱性を排除したものにし、グローバルな安全性を高めることにある。
【0020】
さらなる目的は、オペレーションの際、コンピュータ実施方法を実行するデバイスのバッテリ消費を抑えるため、コンピュータ実施方法を最適化することにある。
【0021】
本発明のさらなる目的は、コンピュータ実施方法を実行するデバイスであって、セキュリティに問題が生じても、容易に復旧可能なデバイスを提供することにある。
【0022】
本発明の目的はまた、ユーザにとっての使い勝手を容易なものとし、広く迅速な適用のため、携帯電話では利用不可能な技術の使用を必要としないことにある。
【0023】
システムは、低コストのモバイルデバイスにおいて、容易に実行可能でなければならず、BLE(ブルートゥース(登録商標)・ロー・エナジー:Blue Tooth Low Energy)等の特定の近距離無線通信技術、非接触技術(例えば、NFC)、その他類似の技術を必要とせず、カメラのみを必要とする。
【課題を解決するための手段】
【0024】
第1の形態によれば、本発明は、特定の位置に紐づけられたデバイスを安全に認証するためのコンピュータ実施方法であって、インターネットに未接続のデバイスが位置する特定の位置での処理を、ユーザが有効化できるようにする方法に関し、前記方法は、以下の工程を含む。
・デバイスハードウェアパラメータを特定の位置に紐づけ、これらのデータを、中央システムで作動するバックエンドアプリケーションに記録・格納するため、モバイルデバイスで作動するアプリケーションよって、登録プロセスを実行すること。
・有効期限の付きのOTPベースのグラフィックコードを、デバイス上で生成・表示すること。
・ユーザが、モバイルデバイスで作動するアプリケーションを介して、グラフィックコードを取得することで、ユーザが、デバイスが位置する特定の位置に近接している証明を得ること。
・アプリケーションおよびインターネット接続を介して、取得したグラフィックコードを、中央システムで作動するバックエンドアプリケーションに送信すること。
・OTP列に一度変換された、受診済のOTPベースのグラフィックコードが有効化どうかを、中央システムで作動するバックエンドアプリケーションにおいて、OTP検証アルゴリズムによって判定すること。
・受信済のOTPベースのグラフィックコードが有効である場合、ユーザが、デバイスが位置する特定の位置に近接していることを判定し、グラフィックコードを認証して、ユーザが、特定の位置での処理を有効化することを許可すること。
【0025】
こうしたコンピュータ実施方法により、デバイスおよびその位置を安全に認証することができる。デバイスは、特定の位置に一元的に紐づけられ、インターネットに未接続の状態である。これにより、ユーザは、自身のモバイルデバイスで、デバイスのある特定の位置に接続された処理を有効化することができる。
【0026】
第2の形態によれば、本発明は、以下のプロセスを含むコンピュータ実施方法に関する。
登録プロセスは、デバイス上で実行される以下の工程を備える。
・未接続状態のデバイスのランダム登録時間およびランダムシードを生成すること。
・ハードウェアID等のパラメータの値を組み合わせて、登録列を取得すること。
・登録列を暗号化すること。
・暗号化した登録列をグラフィックコードに変換すること。
・登録グラフィックコードを表示すること。
登録プロセスは、モバイルデバイス上で実行される以下の工程を備える。
・モバイルデバイスを介して、登録グラフィックコードを取得すること。
・登録グラフィックコードを、暗号化された登録列に変換すること。
・登録グラフィックコードを、インターネット接続を介して、中央システムで作動するバックエンドアプリケーションに送信すること。
・ユーザデバイスで特定の位置データを取得すること。
登録プロセスは、中央システムのバックエンドアプリケーション上で実行される以下の工程を備える。
・暗号化された登録列を受信し、復号化すること。
・ハードウェアID、シード、登録時間の値を分割すること。
・時間の差分を計算すること。時間の差分は、中央システムのローカル時間から登録時間を引いて求められる。
・ハードウェアID、シード、登録時間、時間の差分、デバイスに関する特定の位置データといった値を紐づけ、格納すること。
デバイス上で実行される生成プロセスは、以下の工程を備える。
・シードおよびデバイス時間に基づいてOTP生成列を生成し、OTP生成列を、デバイスのハードウェアIDの値と組み合わせ、組み合わせた生成列を取得すること。
・組み合わせた生成列を暗号化し、暗号化を組み合わせた列を取得すること。
・暗号化を組み合わせた生成列に対応するグラフィックコードを生成すること。
検証プロセスは、モバイルデバイス上で実行される以下の工程を備える。
・モバイルデバイスで作動するアプリケーションで、生成されたグラフィックコードを取得すること。
・暗号化を組み合わせた生成列のグラフィックコードを生成し、それを、インターネット接続を介して、中央システムで作動するバックエンドアプリケーションに送信すること。
検証プロセスは、中央システムで作動するバックエンドアプリケーション上で実行される以下の工程を備える。
・暗号化を組み合わせた生成列を受信し、復号化すること。
・ハードウェアIDとOTP生成列の値を分割すること。
・時間の差分、シード、ハードウェアIDの値、および中央システムのローカル時間値を取得すること。
・OTP検証アルゴリズムを利用し、さらに、受信したOTP生成列、シード、および、中央システムのローカル時間から時間の差分を引いたことで得られる、第2の時間の差分の入力を利用することで、OTP列が有効かどうかを判定し、OTP生成列が有効である場合は、デバイスの認証、およびデバイスの生成時間に応じた、中央システムのローカル時間における、その位置の確認を許可し、中央システムのローカル時間に応じた、デバイスの生成時間に、デバイスが位置する位置での処理を、ユーザが有効化できるようにすること。
【0027】
これにより、デバイスのバッテリ寿命を延ばし、システムにおけるグローバルな安全性を高めることができる。実際に、デバイスが作動する時間窓(登録時間)は、登録プロセス時にランダムな値として定義され、バックエンドアプリケーションに共有される。
【0028】
第3の形態によれば、本発明は、登録制御コードを生成する工程を備えるコンピュータ実施方法に関し、これにより、予期しない再登録プロセスが起こった場合、中央システムでの認証が可能となる。
【0029】
第4の形態によれば、本発明は、データを、本方法実施時に取得したその他パラメータに紐づけるため、さらにユーザデータを取得し、当該ユーザを認証する工程を備えるコンピュータ実施方法に関する。
【0030】
第5の形態によれば、本発明は、低コストのモバイルデバイスで容易に実行でき、カメラのみを必要とするシステムを実現するため、各グラフィックコードが、QRコード(登録商標)あるいは類似のコードであるコンピュータ実施方法に関する。
【0031】
第6の形態および第7の形態によれば、本発明は、システムおよびデバイスに関する。このシステムおよびデバイスは、特定の位置に紐づけられたデバイスを安全に認証可能であり、デバイスが位置する特定の位置で、ユーザが処理を有効化できるようにする、開示のコンピュータ実施方法を実行するよう構成されている。第8の形態によれば、本発明は、デバイスのセキュリティに問題が生じた場合に、デバイスをリセットするためのリセットスイッチを備えるデバイスに関する。
【0032】
最終形態によれば、本発明は、食事を注文する店舗での、コンピュータ実施方法の使用に関する。こうした店舗では、デバイスが店舗のテーブルや座席と接続されていることで、ユーザが注文をするテーブルや座席と一元的に紐づけられ、接続される。これにより、ユーザは、自身のモバイルデバイスでグラフィックコードをスキャンすることができ、一度認証されれば、ユーザは、食事が運ばれるテーブルや座席を識別する注文アプリケーションにアクセスすることができる。
【0033】
本発明の構成および機能的特徴、そして既知の先行技術と比較した際の利点を、添付の図面を参照しながら、以下の請求項、特に、以下の説明に関する検討から、より明らかにしていく。図面は、本発明によるコンピュータ実施方法、システム、およびデバイスの好ましい実施形態を示しながら、その模式的な実施形態には制限されない。図面は以下の通りである。
【図面の簡単な説明】
【0034】
【
図1】
図1は、最新のコンピュータ実施方法によるOTPを利用した、サーバ上での顧客認証の一般的な枠組みを示す。
【
図2】
図2は、最新の多次元(またはグラフィック)コードを利用して、機能を有効化するための一般的な枠組みを示す。
【
図3】
図3は、本発明によるコンピュータ実施方法で生成したワンタイムのグラフィックコードを利用した、デバイス認証および特定の場所でのデバイスのローカライズ化の枠組みを示す。
【
図4】
図4は、本発明によるコンピュータ実施方法で使用されるデバイスのハードウェア構成を示す。
【
図5】
図5は、本発明によるコンピュータ実施方法における、グラフィックコード生成工程のフローチャートを示す。
【
図6】
図6は、本発明によるコンピュータ実施方法における、グラフィックコード検証工程のフローチャートを示す。
【
図7】
図7は、本発明によるコンピュータ実施方法における、登録工程のフローチャートを示す。
【発明を実施するための形態】
【0035】
本開示は、全体として、ワンタイムパスワード(OTP)、特に、ワンタイムのグラフィックコード(好ましくは、QRコード(登録商標)等)を利用して、コンピュータ実施方法およびシステムについて記載している。コンピュータ実施方法により、デバイスの識別や特定の場所にあるデバイスのローカライズ化が可能になる。
【0036】
デバイス属性の少なくとも一部として、デバイスは、ワンタイムのグラフィックコードを生成するよう構成される。デバイス属性は、ハードウェア特徴ID、システム属性、デバイス設定(ソフトウェアおよびハードウェアの両方)を、非制限的に含んでいてもよい。
【0037】
一般的に、デバイス属性は、デバイス固有のものであり、他のデバイスでは複製できない。
【0038】
本発明によるシステムは、デバイスと中央システムと、モバイルデバイスとを備える。デバイスは、正確な位置にあるオブジェクト、あるいは、通常は特定の位置のあるオブジェクトと物理的に接続されている。中央システムは、デバイスおよびその位置を識別するよう構成される。
【0039】
本発明によるコンピュータ実施方法において、起動段階で、コンピュータ実施方法の一部を実行するデバイスは、登録プロセス(登録プロセスは後述の通り)を必要とする。これにより、デバイスが物理的に接続しているオブジェクトや、デバイスが実際に載置されている位置に、デバイスを紐づけることができる。
【0040】
図3に示す通り、登録プロセスが実行されると、本発明によるコンピュータ実施方法は、(アプリケーションから要求があった場合は(任意で))、前回認証されたユーザから開始されてもよい。ここで、ユーザは、オブジェクト、またはデバイスが置かれた位置(本発明の中央システムが把握しているオブジェクトまたは位置)での処理の有効化を希望する。
【0041】
次いで、デバイスは、QRコード(登録商標)や類似のコードといったグラフィックコードを生成する。グラフィックコードは、処理の実行が望まれる間にユーザがデバイスの近くにいることを証明するため、有効期限が付いている。
【0042】
デバイスによってグラフィックコードが生成されると、ユーザは、例えば、その近辺にいることの証明として、自身のモバイルデバイスのカメラ機能でグラフィックコードを取得し、そのコードを、モバイルデバイスで作動するアプリケーションを介して、中央システムで作動するバックエンドアプリケーションに送信する。これにより、グラフィックコードが判定される。
【0043】
続いて、グラフィックコードが有効だと判断されると、ユーザは、オブジェクト/デバイスが物理的に存在する位置に紐づけられる。逆に、有効だと判断されなかった場合は、ユーザは、オブジェクト/デバイスが物理的に存在する位置には紐づけられない。
【0044】
グラフィックコードには、有効期限が付いており、デバイスが物理的に接続される、またはデバイスが実際に存在する、特定のオブジェクトや位置に対して、固有のコードとなっている。
【0045】
上述の通り、デバイスは、物理的なオブジェクトまたは位置に接続されている必要がある。
【0046】
オブジェクトまたは位置への紐づけは、登録プロセス時に実行される、つまり、本発明のシステム内で実行されるものである。
【0047】
デバイスは、要求された全ての情報を生成し、グラフィック登録コードとして、それらの情報を中央システムに提供する。グラフィック登録コードは、モバイルデバイスで作動するアプリケーションによって読み取られ、中央システムに送られる。デバイスおよびオブジェクト/位置間の紐づけは、中央システムで保存される。
【0048】
登録プロセスは、その実行にネットワーク接続を必要とせず、それにより、デバイスは、
図7に示す本発明のシステムにおいて、オブジェクト/位置に紐づけられる。登録プロセスは、以下の工程を備える。
・デバイスが、以下の値を計算すること。
-デバイスハードウェア構成に基づく、固有のハードウェアID値であって、デバイスが再登録されても、ハードウェアが同一である限りは、不変の値
-OTPアルゴリズムのランダムシード
-ランダム登録時間値
-ランダム制御コード(任意)
・デバイスが、上記の算出値を全てローカルで格納すること。
・デバイスが、全ての算出値を組み合わせ、登録列を取得すること。
・デバイスが、構築/構成時間にデバイスと共有されたパブリックキーを利用し、非対称アルゴリズムによって登録列を暗号化すること。
・デバイスが、暗号化された登録列をグラフィック登録コードとして変換すること。
・デバイスが、グラフィック登録コードを表示すること。
・ユーザが、モバイルデバイスでグラフィック登録コードをスキャンすること。
・アプリケーションが、グラフィック登録コードを暗号化された登録列に変換し、それを中央システムで作動するバックエンドアプリケーションに送信すること。
・バックエンドアプリケーションが、暗号化された登録列を復号化し、デバイスによって算出された値を抽出・分割すること。
・受信済の制御コード値を登録制御コードとして使用すること(任意)。
・バックエンドアプリケーションが、登録プロセス時に共有された中央システムのローカル時間およびデバイスの登録時間の差分として、時間差分を算出すること。
・アプリケーションが、デバイスおよびデバイスの特定の位置データに割り当てるための、名称およびパラメータをユーザに要求すること(任意)。
・バックエンドアプリケーション定義済の名称およびパラメータをデバイスによって算出された値に紐づけ、格納すること(任意)(名称、パラメータ、デバイスの特定の位置データ)(ハードウェアID、シード、時間差分、登録制御コード(任意))。
【0049】
本書類の全てのデータおよび時間値は、GMTタイムゾーンのepoch/unixフォーマット(1/1/1970から開始される秒数)で表される。ハードウェアIDがシードで利用できる可能性がある一方で、ハードウェアIDや、それに由来するいかなるものも、シードとして利用することは、推奨されていない。これは、ハードウェア由来のものだと、同一のハードウェアメーカーにおいて、連続していたり、連続した列が割当られていたりすることがあり、推測されやすいためである。さらに、シードにセキュリティに問題が生じた際、ハードウェアIDを利用している場合は、ハードウェアの交換が必要となる。これらの理由により、ハードウェアから完全に切り離されたランダムシードを割り当てて使用することが強く推奨される。これにより、セキュリティに問題が生じても、また、異なる範囲で使用されても、新しいシードを生成するだけで済む。
【0050】
デバイスのセキュリティに問題が生じた場合、リセットスイッチを押して、安全な状態に戻さなければならない。デバイスの「リセット」が行われる度、デバイスは、ランダムな値で生成され、中央システムの登録プロセス時に共有される、新たなシードを利用した、新たな登録プロセスを実行する。
【0051】
デバイスで実行されるグラフィックコードの生成プロセスについて、
図5に示したが、当該コードは、任意のプログラミング言語で表されていてもよく、以下では、疑似コード(実際に有効化されていることを意図されていない、または、実際のソースコードとして意図されていないコード)を利用して、参照実装を示す。ここで、QuIDは、クイック識別子(Quick Identifier)のことであり、本明細書では、コードと称される。
【0052】
【0053】
グラフィックコード/QuID生成プロセスは、デバイス上で、一定間隔で実行され、以下の工程を備える。
・デバイスが、登録プロセス時に定義したシードの格納値、ハードウェアID、および制御コード(任意)を取得すること。
・デバイスが、デバイス時間値を取得すること。動作時、デバイス時間値は、実際にはランダムである。
・登録工程時に算出したに経過時間を追加して、値(デバイス時間=登録時間+デバイス実行時間(秒数))を生成すること。
・デバイスが、シード値およびデバイス時間値に基づいてOTP生成列を生成するためのOTPアルゴリズムを利用すること。
・デバイスが、OTP生成列を、登録プロセス時に生成した、組み合わせた生成列を生成するためのその他の固定情報(ハードウェアID、制御コード(任意))と組み合わせること。
・デバイスが、構築/構成時間に、ローカルに格納された情報から、(中央システムで作動する)バックエンドアプリケーションのプライベートキーに接続されたパブリックキーを取得すること。
・デバイスが、非対称暗号化アルゴリズムにより、ハードウェアIDおよび制御コード(任意)を有する、組み合わせた生成列を暗号化し、固定値に対する保護レベルを高めながら、最終的に、暗号化を組み合わせた生成列を取得すること。
・暗号化を組み合わせた生成列を、デバイスのディスプレイ上に、グラフィック生成コードとして表示させること。ここで、コードは、QRコード(登録商標)であることが好ましい(QRコード(登録商標)が広く一般的であるため)。
【0054】
識別対象のデバイスがインターネット接続を必要としないため、デバイスは、インターネットに未接続の状態であるが、もし可能であれば(継続的に、または、間欠的に)、ネットワークタイムプロトコル(NTP:Network Time Protocol)を利用して、デバイスの時間ドリフトを補正したり、認証用に認証されたグラフィックコード/QuIDを利用して、中央システムから安全に更新・情報を引き出したりするために、インターネット接続を利用してもよい。デバイスはバッテリを備える。これにより、バッテリ寿命を延ばすことができる。コンピュータ実施方法で実装されるOTP時間窓を拡張することでも、1時間あたりに生成されるOTPの数を減少させて、よりバッテリ寿命を延ばしてもよい。しかし、この構成は、グローバルシステムにおける安全性の問題につながりかねない。実際、OTPの時間窓を拡大して、バッテリ消費を抑えることで、安全性の潜在リスクが高まり、攻撃を試みる人間により、シードが強制される時間が多くなってしまう。こうしたリスクを減らすには、長い列をシードとして利用することに加え、登録プロセス時に、デバイスが動作する時間窓(登録時間)をランダムな値として定義し、バックエンドアプリケーションと共有する。これにより、通常の値(シード)を推測することに加えて、攻撃を試みる人間は、デバイスの登録時間も把握しなければならない。これにより、グローバルな安全性を高めることができる。
【0055】
任意のOTPアルゴリズムをプロセスにおいて使用可能であるが、使用のおける大半のケースのいては、TOTP実装が推奨され、なかでも、IETF-RFC6238が適切な選択肢である。効率的なリソース消費を目的として推奨される暗号化アルゴリズムとしては、楕円曲線暗号(ECC:Elliptic-curve cryptography)/楕円曲線統合暗号化スキーム(ECIES:Elliptic Curve Integrated Encryption Scheme)がある。例えば、RSAといった、任意の非対称暗号化アルゴリズムが使用可能である。16進列として暗号化した値を表示することも、HTTPを介した送信に適切である。
【0056】
さらに、状況によっては、純粋なワンタイム検証および時限検証の両方を利用してもよい。ワンタイム検証の場合、現在時間窓の設定において、第1有効OTPが受信されると、中央システムは、現在の有効OTPを使用済みとし、同一OTPに対する次回検証を拒否する内容の情報を格納してもよい。時限検証の場合、現在の時間窓で有効ないかなるOTPも、認証される。
【0057】
生成プロセスがどのようにデバイス上で動作するかの例を、疑似コード(実際に有効化されていることを意図されていない、または、実際のソースコードとして意図されていないコード)を利用して示す。ここで、QuIDは、クイック識別子(Quick Identifier)のことであり、本明細書では、グラフィックコードと称される。
【0058】
【0059】
【0060】
グラフィックコード検証プロセスがどのようにバックエンドアプリケーション上で動作するかの例を
図6に示したが、当該コードは、任意のプログラミング言語で表されていてもよく、以下では、疑似コード(実際に有効化されていることを意図されていない、または、実際のソースコードとして意図されていないコード)を利用して、参照実装を示す。ここで、QuIDは、クイック識別子(Quick Identifier)のことであり、本明細書では、グラフィックコードと称される。
【0061】
【0062】
バックエンドアプリケーション上で実行される、グラフィックコード/QuIDの検証プロセスは、以下の工程を備える。
・ユーザが、グラフィック生成コードを、モバイルデバイスで作動するアプリケーションでスキャンすること。
・アプリケーションが、グラフィックコードを、暗号化を組み合わせた生成列に変換し、バックエンドアプリケーションに送信すること。
・バックエンドアプリケーションが、ローカルで格納された情報から、プライベートキー(構築/構成時間にデバイスで共有された、対応するパブリックキーに接続されるプライベートキー)を取得すること。
・バックエンドアプリケーションが、暗号化されたグラフィックコードの、暗号化を組み合わせた生成列を復号化すること。この復号化は、非対称暗号化アルゴリズムにより、プライベートキーを利用して実行される。
・バックエンドアプリケーションが、ハードウェアID、OTP生成列、および制御コード値(任意)を取得する復号化された値を、分割すること。
・制御コードが、(登録プロセス時に共有された)登録制御コードと同一の場合、バックエンドアプリケーションが認証する(任意)ことと、コードが一致しない場合、プロセスが終了し、デバイスの新たな登録プロセスが必要になること、もしくは、二つの制御コードが同一の場合、プロセスが継続すること。
・バックエンドアプリケーションが、ローカルで格納された情報から、シード値およびハードウェアIDに紐づけられた時間差分値を取得し、中央システムのローカル時間値(ローカル時間)を取得すること。
・(選択された実装に合わせて、OTP検証アルゴリズムを利用することで)入力された受信済OTP生成列値、(ハードウェアIDの)シード値、および中央システムのローカルタイムから格納された時間差分を引いて求められる時間の差分(秒)を利用し、OTPが認証された場合、バックエンドアプリケーションが認証すること。
【0063】
デバイスが再登録された際の識別のため、コンピュータ実施方法は、登録プロセス時に、ランダム制御コードの生成を実行する。中央システムに格納された制御コード(登録制御コード)が、前回受信した制御コードと異なる場合、予期せず再登録されたデバイスを識別する(任意)。
【0064】
検証プロセスがどのようにバックエンドアプリケーション上で動作するかの例を、疑似コード(実際に有効化されていることを意図されていない、または、実際のソースコードとして意図されていないコード)を利用して示す。ここで、QuIDは、クイック識別子(Quick Identifier)のことであり、本明細書では、グラフィックコードと称される。
【0065】
【0066】
【0067】
【0068】
中央システムで作動するバックエンドアプリケーションで実行されるであろう、全ての実行内容および機能は、モバイルデバイスで作動するアプリケーションで実行・実現されてもよい。
【0069】
上述のように、
図4は、本発明によるコンピュータ実施方法で使用されるデバイスのハードウェア構成を示す。
【0070】
デバイスは、コア(好ましくは、32ビットまたは64ビットのCPU)と、メモリ(RAMおよびROM、好ましくは、520KiBのRAM)と、バッテリ寿命を、好ましくは、より延ばすことが可能なバッテリと、グラフィックコードを可視化するためのディスプレイと、を備える。さらに、コンピュータ実施方法は、LCDディスプレイ、好ましくは、eペーパー(eインク)ディスプレイを備えるデバイスで実行できる。グラフィックコード表示後、デバイスをシャットダウンし、スリープモードにすることで、バッテリ消費をおさえつつ、インターバルの終わりにグラフィックコードを算出するまで待機させる。
【0071】
さらに、デバイスは、性能を最適化させるため、暗号ハードウェア加速システムを備えることが好ましい。同様に、セキュアハッシュアルゴリズム機能(SHA:Secure Hash Algorithm)、高度暗号化標準機能(AES:Advance Encryption Standard)、楕円曲線暗号機能(ECC:Elliptic-curve cryptography)、および乱数発生プログラム機能(RNG:Random Number Generator)を備えることが好ましい。
【0072】
デバイスは、(ディープスリープモード搭載の)RTCコントローラを任意に備えていてもよい。RTCコントローラは、電源管理ユニット(PMU:Power Management Unit)、超低電力(ULP:Ultra Low Power)コプロセッサ、リカバリメモリ等の、シャットダウンさせるハードウェア構成を選択的に識別することができる。
【0073】
本発明によるコンピュータ実施方法、システム、およびデバイスの、想定される利用シーンとしては、以下のものが非制限的に含まれる。
・(テーブル、デスク、座席等での)食事の注文:デバイスを、ユーザが注文しようとするレストラン等の料理店内のテーブルや座席に接続することで、特定のテーブルや座席を識別することができる。ユーザは、グラフィックコードをスキャンし、食事を運んでもらうテーブルまたは座席を識別する注文アプリケーションにアクセスする。
・順番待ち/待機リスト:デバイスを、順番待ち・待機リストに名前を加える場所にある目標物に接続することができる。ユーザは、グラフィックコードをスキャンし、順番待ち管理アプリケーションが、前記ユーザに、予約番号、優先権、待ち時間等の情報を提供する。
・車両(車、バイク、スクーター等)または商品のレンタル全般:デバイスが、車両(または商品全般)に接続されることで、車両(または商品全般)をレンタルする際のチェックイン・チェックアウトが可能になる。ユーザは、グラフィックコードをスキャンして、車両管理アプリケーションがレンタルプロセスを開始・終了する。
・ドアまたはゲートの開錠(家、ホテル、倉庫、駐車場等):デバイスがドアやゲートに接続されることで、その開閉や、ロッジ、家、駐車場等をレンタルするときのチェックイン・チェックアウトが可能となる。ユーザは、グラフィックコードをスキャンして、ドアまたはゲート管理アプリケーションが、ドアまたはゲートを開閉したり、レンタルプロセス(チェックイン/チェックアウト)を開始・終了したりする。
【国際調査報告】