(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-01
(45)【発行日】2022-04-11
(54)【発明の名称】認証装置及び認証方法
(51)【国際特許分類】
G06F 21/31 20130101AFI20220404BHJP
【FI】
G06F21/31
(21)【出願番号】P 2019045423
(22)【出願日】2019-03-13
【審査請求日】2021-05-14
(73)【特許権者】
【識別番号】395013603
【氏名又は名称】三菱電機マイコン機器ソフトウエア株式会社
(74)【代理人】
【識別番号】110002941
【氏名又は名称】特許業務法人ぱるも特許事務所
(74)【代理人】
【識別番号】100073759
【氏名又は名称】大岩 増雄
(72)【発明者】
【氏名】菅 靖則
【審査官】平井 誠
(56)【参考文献】
【文献】特開2010-122890(JP,A)
【文献】特開2007-087313(JP,A)
【文献】特開2015-102967(JP,A)
【文献】特開平08-161351(JP,A)
【文献】特開2016-001426(JP,A)
【文献】特開2012-014338(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
入力装置と、前記入力装置から入力されたパスワード及び前記パスワードの前又は後に入力された偽装文字からなる入力文字列のうち、認証に利用する位置を指定する認証開始位置指定手段と、前記入力文字列のうち、認証に利用する文字数を指定する文字数制御部と、前記入力文字列から前記認証開始位置指定手段で指定された位置及び前記文字数制御部で指定された文字数に基づき認証用文字列を切り出す認証用文字列切り出し部と、前記認証用文字列切り出し部で切り出した認証用文字列から入力ハッシュ値を算出するためのハッシュ値算出手段と、あらかじめ登録されたパスワードから生成された登録ハッシュ値を記憶したハッシュ値記憶部と、前記ハッシュ値算出手段により算出された入力ハッシュ値が、前記ハッシュ値記憶部に記憶されている登録ハッシュ値と一致するか否かを確認する認証情報比較手段とを備え、
前記認証情報比較手段による比較結果が不一致であった場合に、前記認証開始位置指定手段で指定する位置を順次所定の文字数分移動させ、又は前記文字数制御部で指定する文字数を順次所定の文字数分変更して、前記認証用文字列を切り出し、前記認証情報比較手段により、前記入力ハッシュ値が前記登録ハッシュ値と一致するか否かを繰り返すことを特徴とした認証装置。
【請求項2】
前記入力文字列のうち、パスワードに相当する文字数は3文字以上にしたことを特徴とする請求項1に記載の認証装置。
【請求項3】
前記認証用文字列から、あらかじめ指定した特定のマスクパターンで文字を削除するためのパターンを設定する切り出しパターン設定情報部を備え、
前記認証用文字列切り出し部は、前記パスワードの所定の位置に所定の文字を偽装文字として混入させたパスワード文字列を認証用文字列として切り出し、前記切り出した認証用文字列から前記切り出しパターン設定情報部で指定されたマスクパターンで前記偽装文字を削除して、本来の認証用文字列を抽出するようにしたことを特徴とする請求項1または請求項2に記載の認証装置。
【請求項4】
前記文字数制御部により指定される文字数は、前記パスワード文字列の文字数と同じにしたことを特徴とする請求項3に記載の認証装置。
【請求項5】
前記認証開始位置指定手段は、前記入力文字列の入力開始から、あらかじめ指定された文字数入力後の位置を、認証に利用する認証用文字列を切り出す開始位置として指定することを特徴とする請求項1から請求項4のいずれか1項に記載の認証装置。
【請求項6】
前記パスワードの前に入力された先行偽装文字列の末尾に入力された文字列を、切り出し先行パターン情報として保持する切り出し先行パターン情報部を備え、
前記認証用文字列切り出し部は、前記認証用文字列として切り出した文字列が前記切り出し先行パターン情報と一致した場合、前記認証開始位置指定手段が指定している位置に前記切り出し先行パターン情報の文字数を加算した位置を、パスワード文字列の先頭として特定することを特徴とする請求項1から請求項4のいずれか1項に記載の認証装置。
【請求項7】
前記入力装置は、タッチパネル部の画面上に複数のドットが表示されたパターン図形表示部と、前記パターン図形表示部に表示された複数のドットをタッチすることでパターンを入力させ、前記パターンが通過したドットの位置をそれぞれ異なる文字として変換する入力値変換手段を備え、前記入力値変換手段が変換した文字列を入力文字列としたことを特徴とする請求項1から請求項6のいずれか1項に記載の認証装置。
【請求項8】
入力装置から入力されたパスワード及び前記パスワードの前又は後に入力された偽装文字からなる入力文字列から、認証に利用する開始位置または認証に利用する文字数を指定して認証用文字列を切り出す認証用文字列切り出し処理ステップと、前記認証用文字列切り出し処理ステップで切り出した認証用文字列から入力ハッシュ値を算出するハッシュ値算出処理ステップと、前記ハッシュ値算出処理ステップにより算出された入力ハッシュ値が、あらかじめ登録されたパスワードから生成された登録ハッシュ値と一致するか否かを確認する認証情報比較処理ステップとを備え、
前記認証情報比較処理ステップによる比較結果が不一致であった場合に、前記認証に利用する開始位置を順次所定の文字数分移動させ、又は前記認証に利用する文字数を順次所定の文字数分変更して、前記認証用文字列を切り出し、前記認証情報比較処理ステップにより、前記入力ハッシュ値が前記登録ハッシュ値と一致するか否かを繰り返すことを特徴とした認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、利用者がパスワードを入力することで認証を行う、認証装置及び認証方法に関するものである。
【背景技術】
【0002】
認証装置に設けられた、テンキー又はキーボードなどの入力装置へ、パスワードを入力することで、利用者の認証を実施する認証装置は、建物の入室管理等、多くの場面で使用されている。しかしながら、この様な場面で認証装置に入力するパスワードは、パスワードを入力する者が確実に記憶でき、忘れてしまわない程度の長さであることが必要であり、実際には、4桁程度の数字をテンキーより入力する形で運用されることが多い。
【0003】
特に、多くの利用者が、同一のパスワードを用いて認証を行うシステム、例えばビルの入館のための認証では、多くの利用者が同一のパスワードを繰り返し入力する場合があり、入力装置に設けられたテンキーのうち、入力するパスワードに対応する特定の数字キー部分の、指紋の採取、キー表面部分の汚れ、または摩耗具合などの観察、利用者のキー入力の様子の窃視により、入力されているパスワードが類推できてしまうという状態が生じる。
【0004】
不特定多数の利用者が、それぞれ異なったパスワードを利用するATM(現金自動預け支払機)のようなシステムにおいても、現金引き出し中の利用者の後ろに並んだ者が、操作中の利用者の手元を覗き見ることで、パスワードを知られてしまうという、いわゆる、ショルダーハッキングの被害を受ける可能性があった。
【0005】
このような問題に対する対策として、特許文献1では、パスワードのみを入力するのではなく、パスワードの構成要素ではない複数の文字を入力し、これらの文字の入力途中に、利用者の触覚、聴覚、および視覚のいずれかへの報知手段により、利用者に通知されたタイミングから、本来のパスワードを入力することが開示されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1による方法では、利用者に対して、本来のパスワードを入力するタイミングを通知する手段として、視覚、聴覚等の合図が利用された場合に、操作中の利用者の後ろに並んでいる第三者にも、正しいパスワードを入力するタイミングを知らせる合図が知覚できてしまう。また、触覚を利用して合図をしたとしても、場合によっては、触覚としてタッチ画面を振動させるときに音が発生し、その音が第三者に知覚され、結果としてパスワードを容易に類推されてしまう可能性があるという課題があった。
【0008】
本願は、上記のような課題を解決するためになされたものであり、認証のためのパスワードが第三者からの窃視又は観察等により容易に類推されるセキュリティリスクの軽減を目的とした認証装置及び認証方法を提供するものである。
【課題を解決するための手段】
【0009】
本願による認証装置は、入力装置から入力されたパスワード及びパスワードの前又は後に入力された偽装文字からなる入力文字列のうち、認証に利用する位置を指定する認証開始位置指定手段と、入力文字列のうち、認証に利用する文字数を指定する文字数制御部と、入力文字列から認証開始位置指定手段で指定された位置及び文字数制御部で指定された文字数に基づき認証用文字列を切り出す認証用文字列切り出し部と、認証用文字列切り出し部で切り出した認証用文字列から入力ハッシュ値を算出するためのハッシュ値算出手段と、あらかじめ登録されたパスワードから生成された登録ハッシュ値を記憶したハッシュ値記憶部と、ハッシュ値算出手段により算出された入力ハッシュ値が、ハッシュ値記憶部に記憶されている登録ハッシュ値と一致するか否かを確認する認証情報比較手段とを備え、認証情報比較手段による比較結果が不一致であった場合に、認証開始位置指定手段で指定する位置を順次所定の文字数分移動させ、又は文字数制御部で指定する文字数を順次所定の文字数分変更して、認証用文字列を切り出し、認証情報比較手段により、入力ハッシュ値が登録ハッシュ値と一致するか否かを繰り返すものである。
【0010】
本願による認証方法は、入力装置から入力されたパスワード及びパスワードの前又は後に入力された偽装文字からなる入力文字列から、認証に利用する開始位置または認証に利用する文字数を指定して認証用文字列を切り出す認証用文字列切り出し処理ステップと、認証用文字列切り出し処理ステップで切り出した認証用文字列から入力ハッシュ値を算出するハッシュ値算出処理ステップと、ハッシュ値算出処理ステップにより算出された入力ハッシュ値が、あらかじめ登録されたパスワードから生成された登録ハッシュ値と一致するか否かを確認する認証情報比較処理ステップとを備え、認証情報比較処理ステップによる比較結果が不一致であった場合に、認証に利用する開始位置を順次所定の文字数分移動させ、又は認証に利用する文字数を順次所定の文字数分変更して、認証用文字列を切り出し、認証情報比較処理ステップにより、入力ハッシュ値が登録ハッシュ値と一致するか否かを繰り返すものである。
【発明の効果】
【0011】
本願は、認証を受けようとする利用者が、入力装置上の機器を操作してパスワードによる認証を実施する様々な認証装置において、第三者により、利用者の認証時の操作を覗き見され、その内容を模倣されることにより、認証情報が暴露されるというセキュリティ上の懸念を軽減することができる。
【図面の簡単な説明】
【0012】
【
図1】実施の形態1に係る認証装置を示す構成図である。
【
図2】実施の形態1における認証用文字列切り出し部の動作を説明する図である。
【
図3】実施の形態1に係る認証動作を示したフローチャート図である。
【
図4】実施の形態1における認証用文字列切り出し部の他の動作を説明する図である。
【
図5】実施の形態2に係る認証装置を示す構成図である。
【
図6】実施の形態2における認証用文字列切り出し部の動作を説明する図である。
【
図7】実施の形態2に係る認証動作を示したフローチャート図である。
【
図8】実施の形態3に係る認証装置の構成図及び認証用文字列切り出し部の動作を説明する図である。
【
図9】実施の形態3に係る認証動作を示したフローチャート図である。
【
図10】実施の形態4に係る認証装置を示す構成図である。
【
図11】実施の形態4に係る認証装置の入力装置の構成を示す図である。
【発明を実施するための形態】
【0013】
実施の形態1.
以下、本願の実施の形態1における認証装置を
図1から
図4に基づいて説明する。
図1は実施の形態1に係る認証装置の基本的な構成例を示す構成図、
図2は実施の形態1における文字列切り出し部の動作を説明する図、
図3は実施の形態1に係る認証装置の処理の流れを示すフローチャート図、
図4は実施の形態1における文字列切り出し部の他の動作を説明する図である。
【0014】
図1において、認証装置は、認証を実施する利用者がパスワードを入力するための、入力装置1を備え、入力装置1には、テンキー又はキーボードといった、入力文字列2を入力するための手段(図示せず)が備えられている。入力装置1から入力された入力文字列2のうち、認証に利用する位置を指定する認証開始位置指定手段3と、入力文字列2のうち、認証に利用する文字数を指定する文字数制御部4を有した認証用文字列切り出し指定処理部5を備えている。
【0015】
更に、認証装置は、入力文字列2から認証開始位置指定手段3で指定された位置及び文字数制御部4で指定された文字数に基づき認証用文字列7を切り出す認証用文字列切り出し部6と、認証用文字列切り出し部6で切り出した認証用文字列7から入力ハッシュ値9を算出するためのハッシュ値算出手段8と、あらかじめ登録されたパスワードから生成された登録ハッシュ値を記憶したハッシュ値記憶部10と、ハッシュ値算出手段8により算出された入力ハッシュ値9が、ハッシュ値記憶部10に記憶されている登録ハッシュ値と一致するか否かを確認する認証情報比較手段11とを備え、認証情報比較手段11はハッシュ値が一致した場合にその結果を保持する認証結果保持部12を有する。
【0016】
認証情報比較手段11による比較結果が不一致であった場合に、認証開始位置指定手段3で指定する位置を順次所定の文字数分移動しながら、または文字数制御部4で指定する文字数を順次所定の文字数分変更しながら、認証情報比較手段11を利用した比較を行い、入力ハッシュ値9がハッシュ値記憶部10に記憶された登録ハッシュ値と一致するか否かを繰り返す。認証情報比較手段11は、認証用文字列7として、所定のすべての切り出し方法の組み合わせについて、認証情報比較を繰り返す。
【0017】
利用者は、入力文字列2を入力するに当たり、
図2に示すように、パスワード文字列102の部分で示される文字列“DEFG”の前に、先行偽装文字列101として、“ABC”を、後ろに、付加偽装文字列103として、“HIJKL”を結合した、一連の12文字を入力文字列2として入力する。
【0018】
利用者により、入力装置1から入力された入力文字列2は、認証用文字列切り出し部6において、認証開始位置指定手段3により指定された位置から、文字数制御部4により指定された文字数分が、認証用文字列7として切り出される。
ここで、文字数制御部4は、パスワード文字列の最低の長さとして別途指定されている文字(ここでは3文字とする)から、入力文字列2の文字数12文字までを順に増加しながら、文字数を指定する。
【0019】
認証開始位置指定手段3は、入力文字列2から、文字数制御部4で指定された文字数の文字を、順次切り出す開始位置を指定するが、ここでは、入力文字列2の先頭文字から順に1文字ずつ、後ろにずらしていく処理として実施している。
図2では、入力文字列2の内容が、認証開始位置指定手段3と、文字数制御部4のそれぞれの指定値の変化により、認証用文字列切り出し部6で切り出した結果得られる認証用文字列7が、順次変化する様子を符号104a~104eとして、時系列に示している。
【0020】
まず、認証開始位置指定手段3は、入力文字列2のうち、1文字目を指定する。文字数制御部4は、事前に初期値として決定された、パスワード最低文字列として保持している3文字を指定する。つまり、認証用文字列切り出し部6が入力文字列2から最初に切り出す文字列は、入力文字列2の1文字目から3文字目までの文字列となる。その結果得られる認証用文字列7は、符号104aで示される文字列“ABC”となる。
【0021】
図1の認証用文字列切り出し部6で実施される処理は、
図3の認証用文字列切り出し処理ステップS500に対応する。以降の処理を
図3のフローチャート図に基づいて説明する。
まず、最初の切り出し結果として、
図2の符号104aで示す文字列が得られた場合を説明する。認証用文字列切り出し処理ステップS500で得られた文字列は、次のハッシュ値算出処理ステップS502の入力値となり、ハッシュ値算出処理ステップS502で、
図2中の符号104aに示す文字列“ABC”を入力値として、事前に決定されているハッシュ値生成多項式による演算をした結果である、入力ハッシュ値9を得ることになる。
【0022】
次の認証情報比較処理ステップS503において、
図1で示したハッシュ値記憶部10に保持されている値を利用する。ここで保持されている値は、事前に登録された本来のパスワード文字列“DEFG”を、ハッシュ値算出処理ステップS502で利用したものと同じハッシュ値生成多項式を用いて演算した結果である登録ハッシュ値である。
【0023】
認証情報比較処理ステップS503にて、ハッシュ値記憶部10に保持されている登録ハッシュ値と、ハッシュ値算出手段8で算出された入力ハッシュ値9の比較を行い、一致していたかを確認する。ハッシュ値の比較の結果、一致していた場合は結果一致出力処理ステップS506を実行し、認証処理は終了となる。
【0024】
認証情報比較処理ステップS503の結果が不一致の場合、入力文字列終了確認ステップS504に進み、すべての入力文字列から切り出された認証用文字列7に対して処理が終わったかを確認する。まだ、文字列が切り出し可能な場合(No)は、認証用文字列切り出し指定処理ステップS505に進み、認証開始位置指定手段3で指定される位置、文字数制御部4で指定される文字数を変更し、認証用文字列切り出し処理ステップS500で入力文字列2から認証用文字列7を切り出す。
入力文字列終了確認ステップS504において、認証開始位置指定手段3で指定される位置と、文字数制御部4で指定される文字数の組合せのうち、すべての切り出し可能な組み合わせが終わった場合(Yes)は、結果不一致出力処理ステップS507を実行して、認証処理を失敗として終了する。
【0025】
入力文字列終了確認ステップS504において、更に文字列が切り出し可能な場合、認証用文字列切り出し指定処理ステップS505で、次の切り出し文字指定処理を行う。具体的には、前回取得した、認証用文字列7が、
図2の符号104aで示した、入力文字列2の先頭から3文字の取得であった場合、認証開始位置指定手段3で指定する位置を1文字分後ろに移動し、先頭文字を2文字目からとし、文字数制御部4で指定する文字数は、3文字のままとする。この場合に得られる認証用文字列7の結果は、符号104bで示される、“BCD”の3文字となる。
【0026】
同様に、次に認証用文字列切り出し指定処理ステップS505に処理が来た場合には、先頭文字を3文字目からとし、ここから3文字分を取得するというように、先頭からの文字数を順次後ろにずらしながら、認証用文字列切り出し処理ステップS500、ハッシュ値算出処理ステップS502、認証情報比較処理ステップS503を繰り返し実行する。
ここで、文字数制御部4で指定される文字数が3文字の場合、入力文字列2から切り出すことのできる、最後尾の位置は、符号104cで示される、先頭から10文字目のときの“JKL”である。これ以上は3文字での切り出しができないので、この時点までに繰り返された認証情報比較処理ステップS503の結果が不一致であった場合には、文字数制御部4で指定する文字数の値を1進めて、4文字とする。
【0027】
文字数制御部4で指定する文字数の値が1進んだタイミングで、認証開始位置指定手段3の指定値は、入力文字列2の先頭を設定するものとする。このようにして取得された認証用文字列7の値は、符号104dで示される“ABCD”の文字列となる。
以後同様に、文字数制御部4で指定する文字数の値が4の状態で、認証開始位置指定手段3の指定値を1文字ずつ後ろに進めながら、認証用文字列切り出し処理ステップS500、ハッシュ値算出処理ステップS502、認証情報比較処理ステップS503の処理を繰り返すことになる。
【0028】
この実施例では、パスワード文字列102が4文字であるので、認証開始位置指定手段3で指定された値が4となった時に、認証用文字列7の内容が符号104eで示される文字列“DEFG”となり、パスワード文字列102の内容と一致する。
この時、認証情報比較処理ステップS503で比較される内容は、ハッシュ値記憶部10に記憶されている、パスワード文字列102に対応する登録ハッシュ値と同一となるので、結果一致出力処理ステップS506が実行されて認証が承認され、終了する。
【0029】
以上で述べたように、実施の形態1では、認証開始位置指定手段3で指定した入力文字列2の切り出し開始位置を順次移動しながら、それぞれの切り出し開始位置に対して、文字数制御部4で指定した文字数だけ、入力文字列2の文字列を切り出す処理を行ったが、これは逆の順でもよい。例えば、認証開始位置指定手段3で指定する文字列切り出し開始位置を先に固定しながら、文字数制御部4で指定する切り出し文字数を順次増加させ、切り出しができなくなったら、次に切り出し開始位置を進めるという順での処理でもよい。
【0030】
切り出し開始位置を固定しながら、切り出し文字数を順次増加させた場合の、文字列の切り出しの様子を、
図4に示す。
図4中の符号200aから符号200cでは、切り出し先頭文字が1文字目で、切り出し文字数が、パスワード利用最低文字数として事前に決定されている3文字から順に1文字ずつ増加している様子を示している。切り出し文字数が、入力文字列2の長さと同じになった状態が符号200cで示す図で表わされている。この後、認証開始位置指定手段3で指定される先頭文字が2文字目のBとなり、再び文字数制御部4で指定する切り出し文字数を3文字から順に増加していくという流れとなる。
【0031】
この場合は、パスワード文字列“DEFG”が認証用文字列7として出現するまでの比較回数が、切り出し文字数を先に固定する場合より多くなるが、どちらの手法を選択するかは、システム設計上の決定事項であり、どちらを選択しても得られる結果に違いはないし、ここで示した2種類の手法だけではなく、入力文字列2を先頭からではなく、後ろから順に切り出すという構成としてもよい。また、パスワード文字列102に、例えば3文字以上の偶数文字数または奇数文字数という限定を加えることにより、文字数変更の処理が半分となり、認証処理に要する時間を削減することができる。ここで限定を加える文字数又は並び順を変更することは、設計的事項であり、本願の本質に影響するものではない。
【0032】
さらに本願においては、事前に登録されたパスワードを、登録されたパスワードそのものとして認証装置内に保存するのではなく、ハッシュ値として保存することによって、第三者により認証装置を分解、解析されることにより、パスワードの内容が漏えいしてしまうというセキュリティ上のリスクも解消することができるという特徴を備えている。
この部分を、ハッシュ値を用いるのではなく、通常の文字列として保存、比較することも可能である。この場合は、セキュリティリスクとしては、ハッシュ値を用いた場合より高くなるが、その分処理量を削減することができるので、高速な認証処理を必要とする場合には、ハッシュ値を用いない方法とすることもできる。
【0033】
この実施例では、パスワード文字列102の前の先行偽装文字列101として3文字、パスワード文字列102の後の付加偽装文字列103として5文字を付加するものとしているが、これらの文字列の長さ又は内容は任意であり、また、先行または付加のいずれか一方のみ偽装文字列を追加する構成としても構わない。
様々な機器への認証として、パスワードを入力する際に、第三者からの窃視又は観察があっても、パスワードを容易に類推されないようにするという目的を、本来のパスワードの前後またはどちらか一方にパスワードの構成要素ではない任意の文字列を入力可能で、本来のパスワードの入力タイミングを変更可能とすることで実現した。
【0034】
具体的には、入力装置1から入力された、パスワードの構成要素ではない文字を含む入力文字列の中から、認証を開始する位置と、認証に利用する文字数とを、それぞれ順次変更しながら、認証に利用する部分を認証用文字列として切り出すという操作を、入力文字列全体に渡って繰り返す構成とするものである。このように構成することで、パスワードの構成要素ではない文字を含む入力文字列を入力する途中で、パスワード文字列を入力するタイミングを利用者に通知するために、第三者に知覚可能な通知手段を利用する必要なく、認証を可能とするものである。
【0035】
このように構成することで、入力文字列の入力操作に対する、第三者による窃視によっても、どのキー入力操作で、パスワード文字列が入力されているのか、という推測を困難にすることができ、また、認証装置上に備えられたキーボード上の指紋を観察された場合であっても、パスワード文字列とは関係のないキートップにも指紋が付着していることになるので、パスワード文字列に使用されたキーの推測を、困難とすることができる。
【0036】
なお、認証装置において、入力文字列から認証用文字列を切り出すための指定は、入力文字列に含まれる文字列から、認証用文字列として使用する、頭の文字を指定する認証開始位置指定手段3と、この認証に利用する文字数を指定する文字数制御部4によって決定されている。
しかしながら、パスワードの文字数が決まっている場合は、認証用文字列を切り出すための指定は、認証開始位置指定手段3による位置を順次所定の文字数分移動させるだけでよい。また、入力文字列のうち、パスワードの先頭位置が決まっている場合は、認証用文字列を切り出すための指定は、文字数制御部4による文字数を順次所定の文字数分変更するだけでよい。
【0037】
さらに、文字数制御部4は、事前に決定されている、パスワードの最低文字数から、入力文字列の文字数まで、順次1文字ずつ増加させながら、切り出す対象の文字列を指定することができるが、この指定方法に限らず、入力文字列を構成する文字の組合せのうち、パスワードとしての条件を満たす文字の全ての組み合わせを、順に指定できる方法であればよいし、切り出す対象が、順に並んでいる必要もなく、入力文字列から、あらかじめ指定したパターンで、飛び飛びの文字列を抜き出し、結果的に連続した認証用文字列として指定することができればどのような方法でもよい。
【0038】
実施の形態2.
次に、本願の実施の形態2における認証装置を
図5から
図7に基づいて説明する。
図5は実施の形態2に係る認証装置の構成例を示す構成図、
図6は実施の形態2における認証装置の認証用文字列切り出し部の動作を説明する図、
図7は実施の形態3に係る認証装置の処理の流れを示すフローチャート図である。
実施の形態2における認証装置は、認証用文字列切り出し部6で切り出した認証用文字列7内の任意の位置に、更に利用者による任意の文字を混入させることで、第三者による窃視等によるセキュリティリスク対策を施した例を示すものである。
【0039】
図5に示す構成は、実施の形態1で示した
図1の構成に、更に認証用文字列切り出し部6に対して、切り出しパターン設定情報部13を追加したものである。この切り出しパターン設定情報部13は、切り出した認証用文字列から、あらかじめ指定した特定のマスクパターンで文字を削除するためのパターンを設定したものである。その他の構成は実施の形態1の
図1と同じに付き、同じまたは相当部分には同じ符号を付して説明を省略する。
【0040】
この実施の形態2は、実施の形態1と同様に入力文字列2から順に、認証用文字列切り出し部6において、認証開始位置指定手段3で指定された位置から、文字数制御部4で指定された文字数分の文字列を切り出した後、この切り出された文字列に対してさらに、切り出しパターン設定情報部13で設定されたパターンでマスク処理を施す構成としたものである。
【0041】
図6では、先行偽装文字列101として、“ABC”を、パスワード文字列102として、本来のパスワード文字列“DEFG”に加えて、一文字おきに、偽装文字として、“H”,“I”,“J”、“K”を加えた結果得られる文字列である“DHEIFJGK”をパスワード文字列102として入力する。さらに、付加偽装文字列103として、利用者の任意の文字列“LMNO”を入力した例を示す。
【0042】
ここで例示した入力文字列2の内容は、“ABCDHEIFJGKLMNO”となる。この中から、認証開始位置指定手段3と文字数制御部4とにより認証用文字列切り出し部6が切り出す処理は、
図7における処理の流れを示すフローチャート図の認証用文字列切り出し処理ステップS500に対応する。
図7のフローチャート図では、実施の形態1の
図3に示すフローチャート図に、切り出しパターン設定情報マスク処理ステップS501を追加している。その他の構成は実施の形態1の
図3と同じに付き、同じまたは相当部分には同じ符号を付して説明を省略する。
【0043】
切り出しパターン設定情報マスク処理ステップS501の処理の内容を、
図6を用いて説明する。
図6において、認証用文字列切り出し部6により切り出された、認証用文字列7の例として、
図6中の符号104部分の文字列“DHEIFJGK”が切り出された場合を示している。これは、認証用文字列切り出し部6の処理において、認証開始位置指定手段3で指定される値が4、文字数制御部で指定される値が8である場合に相当する。これは、
図6において入力されたパスワード文字列102と同一であるが、本来のパスワードとして利用する部分は、“DEFG”であり、パスワード文字列102として入力された文字列“DHEIFJGK”には、余分な文字が1文字おきに挿入されていることになる。
【0044】
ここで、切り出しパターン設定情報部13で設定されたパターン情報を利用して、マスク処理を実行するのが、切り出しパターン設定情報マスク処理ステップS501である。切り出しパターン設定情報マスク処理ステップS501では、切り出しパターン設定情報部13に事前に設定されているマスクパターン130と、認証用文字列7の内容(符号104部分)とで、AND処理を行い、本来認証に使用する部分のみを抜き出す。ここで、切り出しパターン設定情報部13における
図6で示しているマスクパターン130の内容は○部分が本来のパスワードとして利用する部分、×部分がマスクして本来のパスワードとして利用しない部分を示している。これは、認証用文字列7のうち、1,3,5,7文字目をそれぞれ抜き出し、2,4,6,8文字目を抜き出さないという意味になる。この処理で抜き出された結果が符号202で示される文字列であり、マスクされた部分の空白を削除することで、結果的に符号203で示す本来の認証用文字列“DEFG”を得ることができる。
【0045】
以降の処理は実施の形態1の内容と同様であるが、注意を要する点としては、文字数制御部4で指定する文字数が、本来のパスワード文字列の文字数ではなく、パスワード文字列102に入力された文字数、ここでは8文字である点であり、切り出しパターン設定情報マスク処理ステップS501でマスク処理を実行するためには、文字数制御部4で指定される文字数は、実施の形態1で示したように変化させるものではなく、8文字の固定となる点である。
【0046】
ただし、切り出しパターン設定情報部13で指定する、マスクパターン130は、事前にシステムの構成に合わせて任意に決定できるので、これを4文字として、すべての文字を抜き出すこととした場合、実施の形態1と同等の構成とすることができる。
また、この実施の形態2においては、認証用文字列7の内容に対して、文字単位でマスク処理を行うこととしたが、これはビット単位でのマスク処理としてもよく、その場合には、認証用文字列切り出し部6による切り出し処理と、認証開始位置指定手段3と、文字数制御部4とが、それぞれ指定する情報をすべて、ビット単位として扱うこととすることもできる。
【0047】
以上に述べたように実施の形態2においては、パスワード文字列102として、本来のパスワードに加えて、任意の位置に任意のランダムな偽装文字を入力できるように構成することで、パスワードを盗もうとする第三者が、利用者のパスワードの入力の様子を、複数回窃視した場合、またはパスワード文字列がたとえば4文字に限定されている場合であっても、4つの連続した同一のキー入力の部分を見つけることができなくなるため、セキュリティリスクを削減することができるという効果が得られる。
【0048】
実施の形態3.
次に、本願の実施の形態3における認証装置を
図8および
図9に基づいて説明する。
図8は実施の形態3における認証装置の構成図の一部を示す図及び認証用文字列切り出し部の動作を説明する図、
図9は実施の形態3に係る認証装置の処理の流れを示すフローチャート図である。
実施の形態3では、本来のパスワード文字列102を入力する直前で、先行偽装文字列101の末尾に該当する部分に、特定の事前に決定した文字列パターンを入力する。事前に決定した文字列パターンは、
図8に示す切り出し先行パターン情報部14にパターン情報として保持しておく。その他の構成は実施の形態1の
図1と同じに付き、同じまたは相当部分には同じ符号を付して説明を省略する。
【0049】
実施の形態3においては、切り出し先行パターン情報部14は、先行偽装文字列101の末尾に該当する部分に、特定の事前に決定した文字列パターン“XXYZ”を保持している。したがって、先行偽装文字列101は“ABCXXYZ”となっている。
認証用文字列切り出し部6は、入力文字列2の中から、切り出し先行パターン情報部14のパターン情報“XXYZ”を順次検索し、入力文字列2の中の、切り出し先行パターン情報“XXYZ”が見つかった位置のパターンの末尾の、次の文字を認証用文字列7が格納されている位置として、抽出する。
【0050】
この切り出し先行パターン情報部14のパターン情報“XXYZ”が入力文字列2の中から見つかるまでは、文字数制御部4で指定する値は、切り出し先行パターン情報部14の文字列の長さである4のまま固定し、認証開始位置指定手段3を、入力文字列2の先頭から順に1ずつ増加することで、切り出し先行パターン情報を見つける処理を行う。
認証用文字列切り出し部6が切り出す処理は、
図9における処理の流れを示すフローチャート図の認証用文字列切り出し処理ステップS500に対応する。
【0051】
図9のフローチャート図では、実施の形態1の
図3に示すフローチャート図に、切り出し先行パターン情報検出処理ステップS508から切り出し文字列終了確認ステップS511を追加している。その他の構成は実施の形態1の
図3と同じに付き、同じまたは相当部分には同じ符号を付して説明を省略する。
【0052】
図9において、切り出し先行パターン情報検出処理ステップS508は、認証用文字列切り出し処理ステップS500で切り出した認証用文字列7に対して、切り出し先行パターン情報部14に保持されているパターン情報“XXYZ”の文字列を順次検出する処理を行う。
切り出しパターン発見ステップS509において、認証用文字列切り出し部6で切り出した文字列が、切り出し先行パターン情報部14に保持されているパターン情報“XXYZ”と一致した場合(Yes)、パスワード文字列格納位置算出処理ステップS510に進んで、その時点で、認証開始位置指定手段3が指定している位置に、切り出し先行パターン情報部14の内容の文字数、ここでは4文字分を加えた位置が、入力文字列2中での、パスワード文字列102が格納されている場所(8文字目)として算出する。
【0053】
よって、認証用文字列切り出し部6が切り出した認証用文字列7に、切り出し先行パターン情報部14のパターン情報内容と同じものが見つかった場合、認証用文字列切り出し指定処理ステップS505に進んで、認証用文字列切り出し部6は、これ以後認証開始位置指定手段3の値を、ここで算出した値(8文字目)に固定した上で、文字数制御部4で指定する文字数を、別途指定したパスワード文字列最低文字数から順に1ずつ増加させて認証用文字列7を切り出し、ハッシュ値算出処理ステップS502に進む。ハッシュ値算出処理ステップS502では、実施の形態1に示したと同様に、認証用文字列7を入力値として、事前に決定されているハッシュ値生成多項式による演算をした結果である、入力ハッシュ値9を算出する。
【0054】
次の認証情報比較処理ステップS503において、ハッシュ値記憶部10に保持されている登録ハッシュ値と、ハッシュ値算出処理ステップS502で算出した入力ハッシュ値9とを順次比較し、一致していたかを確認する。もし、ハッシュ値の比較の結果、一致していた場合は結果一致出力処理ステップS506を実施し、認証処理は終了となる。
【0055】
認証情報比較処理ステップS503の結果が不一致の場合、入力文字列終了確認ステップS504に進み、切り出された認証用文字列7に対して処理が終わったかを確認する。まだ、文字列が切り出し可能な場合(No)は、認証用文字列切り出し指定処理ステップS505に戻り、文字数制御部4で指定される文字数を変更し、入力文字列2から認証用文字列7を切り出す。
入力文字列終了確認ステップS504において、文字数制御部4で指定される文字数の組合せのうち、すべての切り出し可能な組み合わせが終わった場合(Yes)は、結果不一致出力処理ステップS507を実施して、認証処理を失敗として終了する。
【0056】
なお、切り出しパターン発見ステップS509において、認証用文字列切り出し部6で切り出した文字列が、切り出し先行パターン情報部14に保持されているパターン情報“XXYZ”と不一致の場合(No)、切り出し文字列終了確認ステップS511に進む。
切り出し文字列終了確認ステップS511において、更に文字列が切り出し可能な場合(No)、認証用文字列切り出し指定処理ステップS505に進んで、次の切り出し文字指定処理を行う。
【0057】
認証用文字列切り出し指定処理ステップS505では、実施の形態1と同様に、認証開始位置指定手段3で指定する位置を1文字分ずつ後ろに移動させ、すべての位置の移動が終わった場合は、文字数制御部4で指定する文字数を順次変更する指示を認証用文字列切り出し部6に出力する。そして認証用文字列切り出し部6は、認証用文字列切り出し処理ステップS500において、認証用文字列7を切り出す。
【0058】
このように構成することで、入力文字列2の中から、パスワード文字列102と同一の内容を見つけることで、パスワード文字列102が格納されている位置を、パスワード文字列102の長さがわからない場合でも、素早く特定することができ、パスワード文字列102の先頭の位置を固定しながら、パスワード文字列として、文字数制御部4から指定する文字数のみを順次変化させながら、認証処理を実行することができる。
【0059】
この実施の形態3では、切り出し先行パターン情報部14における先行パターン情報の文字列の長さを4としたが、これは任意の長さに設定することができる。さらには、切り出し先行パターン情報の文字列として、任意の文字でもよいという、ワイルドカード情報として指定できるように構成し、先行偽装文字列をこのワイルドカードのみとすれば、これは、入力文字列2の先頭から、切り出し先行パターン文字列として設定した長さ分だけ進んだ部分が、かならず認証用文字列7として指定されることになる。つまり、入力文字列2のうち、先頭から、パスワード文字列102が開始されるまでの文字数のみを指定した場合とみなすこともできる。
【0060】
入力文字列2の中から、認証用文字列を切り出す部分の、先頭位置の指定方法としては、入力文字列2の内容に関係なく、認証開始位置指定手段3は、入力装置1への、入力文字列の入力開始から、あらかじめ指定された文字数入力後の位置を、認証に利用する認証用文字列7を切り出す位置として指定する構成としたことになる。この場合は認証開始位置指定手段3による位置指定は固定となり、順次移動させる必要がない。
【0061】
実施の形態4.
次に、本願の実施の形態4における認証装置を
図10及び
図11に基づいて説明する。
図10は実施の形態4における認証装置の構成を示す構成図、
図11は実施の形態4における認証装置に使用される入力装置の一例を示す図である。
図10において、入力文字列2を入力するための入力装置1は、タッチパネル部15の画面上に複数のドットが表示されたパターン図形表示部16と、パターン図形表示部16に表示された複数のドットをタッチすることでパターンを入力させ、パターンが通過したドットの位置をそれぞれ異なる文字として変換する入力値変換部17を備えている。その他の構成は実施の形態2の
図5と同じに付き、同じ又は相当部分には同じ符号を付して説明を省略する。
【0062】
図11に示すように、入力装置1として、キーボードによる文字入力ではなく、入力装置上に配設されたパターン図形表示部16のタッチパネル部15の画面上に表示された複数のドットの上をタッチパネル上から指でなぞる等タッチする方法を利用して入力する。
利用者は、事前に決定したパスワードに相当するパターンを入力するための通過ポイントとして、複数のドットが表示されている画面を、画面上に配設されたタッチパネル部15を利用して入力文字列2を入力する。
【0063】
利用者が、指等でなぞりながら、入力値を指定する入力画面の一例を示す
図11では、画面上に、9つのドット(点)が表示されており、これらの9つの点のうち、利用者が事前に決定したパターン図形として、これらの点のうち、事前に決定した点を、事前に決定した順に、入力軌跡600のとおり、指などで、なぞりながら入力値を指定するものである。
【0064】
入力軌跡600のように入力された場合、入力値変換部17では、入力軌跡600が通過した点を、それぞれ一意に特定可能な値として変換し、それぞれが通過した順に、数値が入力されたものとしている。
図11の例では、入力軌跡600が通過した点の順に、パターン入力結果601で示されるように、パスワード文字列102に相当する数値1、2、6、9が利用者により順に入力されたものと変換する。
【0065】
パスワード文字列の前の先行偽装文字列101、パスワード文字列の後の付加偽装文字列103の入力は、タッチパネル部15の画面上に表示された複数のドットの上を任意にタッチパネルの上から指でなぞることで行う。
以後の処理は、実施の形態1で示した処理と同様とすることにより、入力装置1上に通常のテンキー又はキーボードを配設し、これを利用してパスワードを入力する場合に比べ、特定のキーのみが摩耗したり、特定のキーのみに指紋が付着したりすることによるセキュリティリスクを、防ぐことができる。
【0066】
この実施の形態4の場合、全体の構成としては、入力装置1として含まれる、
図1では図示していないキーボード又はテンキーの代わりにタッチパネル部15を有したパターン図形表示部16が、
図1の内容に追加され、タッチパネル部15の入力パターンから、入力文字列に変換する入力値変換部17を経由して、入力文字列2の中身が設定される点が、実施の形態1と異なる。
【0067】
ここで、入力装置1から入力される入力文字列は、キーボード又はテンキーから入力される文字列だけではなく、入力装置上に備えられた表示画面にドットパターン等の特定の図形を表示し、この表示画面上でタッチ入力できるように構成されたタッチパネルに対して、表示画面上に表示されているドットパターンの特定の部分を特定の順で通過するようになぞることで得られた経路情報に対し、経路上で通過したそれぞれの通過点を一意に特定可能な文字列に変換し、結合したものを入力文字列として利用する。
【0068】
なお、これまで述べたそれぞれの実施の形態による構成は、この実施の形態4にも適用可能であり、更に、ここで述べた、パターン図形を入力するための表示内容は、利用者が入力すべきポイントを特定できればよく、9つの点による表示には限らないし、入力できる文字列の長さも、これまでの実施の形態と同様、パスワード文字列に対応したパターン入力の前後に、偽装のためのパターン入力を付加することもできる。また、パスワード文字列開始位置の直前に、特定のパスワード先行パターンとして、特定のパターンを入力することができ、入力値変換部17で変換する値も通過したポイントが特定できるのであれば、どのような手法をも用いることができる。
【0069】
本開示は、様々な例示的な実施の形態及び実施例が記載されているが、1つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。
従って、例示されていない無数の変形例が、本願に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
【産業上の利用可能性】
【0070】
本願による認証装置は、ソフトウェア的に構成することも可能であり、物理的なテンキー又はキーボードを備えた認証装置のみでなく、パソコン又はスマートフォンなどの携帯機器において、画面上に表示されるテンキー、又はそれ以外のパターン認識等を利用した認証手段等、幅広い機器において導入することが可能である。
【符号の説明】
【0071】
1:入力装置、2:入力文字列、3:認証開始位置指定手段、4:文字数制御部、
5:認証用文字列切り出し指定処理部、6:認証用文字列切り出し部、
7:認証用文字列、8:ハッシュ値算出手段、9:入力ハッシュ値、
10:ハッシュ値記憶部、11:認証情報比較手段、12:認証結果保持部、
13:切り出しパターン設定情報部、14:切り出し先行パターン情報部、
15:タッチパネル部、16:パターン図形表示部、17:入力値変換部、
101:先行偽装文字列、102:パスワード文字列、103:付加偽装文字列。