JPWO2009028060A1 - 認証システム及び認証装置及び端末装置及びicカード及びプログラム - Google Patents

認証システム及び認証装置及び端末装置及びicカード及びプログラム Download PDF

Info

Publication number
JPWO2009028060A1
JPWO2009028060A1 JP2009529909A JP2009529909A JPWO2009028060A1 JP WO2009028060 A1 JPWO2009028060 A1 JP WO2009028060A1 JP 2009529909 A JP2009529909 A JP 2009529909A JP 2009529909 A JP2009529909 A JP 2009529909A JP WO2009028060 A1 JPWO2009028060 A1 JP WO2009028060A1
Authority
JP
Japan
Prior art keywords
password
authentication
random number
unit
character string
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.)
Granted
Application number
JP2009529909A
Other languages
English (en)
Other versions
JP4959038B2 (ja
Inventor
鐘治 桜井
鐘治 桜井
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2009028060A1 publication Critical patent/JPWO2009028060A1/ja
Application granted granted Critical
Publication of JP4959038B2 publication Critical patent/JP4959038B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • H04L9/3226Cryptographic 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 using a predetermined code, e.g. password, passphrase or PIN

Landscapes

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

Abstract

サーバ装置106は、ユーザのパスワードを1つ以上記憶しており、ユーザ認証に用いる認証用乱数を生成し、認証用乱数を端末装置101に送信し、端末装置101は、認証用乱数を受信し、認証用乱数とユーザからの入力値とに基づき、パスワード候補文字の背景色を設定し、背景色とともにパスワード候補文字を表示し、ユーザは記憶しているパスワードの各文字の背景色が同じになるようにキー操作し、端末装置101は、ユーザ操作に基づきパスワード文字列ごとに認証用乱数に対する応答値を計算し、応答値をサーバ装置106に送信し、サーバ装置106では、応答値を受信し、記憶している各パスワード文字列と認証用乱数と応答値とを用いて、ユーザ認証の成否判断を行う。

Description

本発明は、ユーザ認証を行う認証システム及び認証装置及び端末装置及びIC(Integrated Circuit)カード及びプログラムに関する。
広く普及しているユーザ認証方式としては、ユーザ認証を行う際に、ユーザに自分のID(Identification)とパスワードを入力させ、入力されたパスワードと、ユーザIDに対して登録されているパスワードが一致するか否かにより、正規のユーザであるか否かを判断する方法がある。しかしながら、このように固定のパスワードそのものを入力する方法では、ユーザがパスワードを入力する際に、第三者にその入力を見られてしまうと、正規のユーザに代わって認証される危険性がある。
この問題の解決を図るために、特許文献1では、認証の際にユーザに自身が記憶するパスワードなどの認証情報そのものを入力させることに代えて、画面に表示される提示用パターン(乱数の表)に対して、ユーザに記憶するパスワード導出ルール(乱数表上の所定の場所)に従ってパスワード(所定の場所に位置する数字)を入力させる方法が開示されている。
再公表WO2003/069490号公報 第1頁−65頁、第17図
従来の方式では、ユーザは記憶するパスワード導出ルールに従って画面上に提示される乱数表上の所定の場所に位置する数字を選択し、正規ユーザであることを示す認証データとしてその数字を入力する。
パスワードそのもの(ここでは、パスワード導出ルールそのもの)は入力しないが、画面上の乱数表から数字を選択して入力するため、認証操作を一度でも第三者に盗み見られてしまうと、本人に成りすまされる危険性が高くなり、認証の強度が落ちてしまうという問題点があった。
図25は、特許文献1の図17を簡略化したものである。
例えば、図25に示してあるように乱数表に対してユーザが入力した値が“9893”である場合には、最初と三番目の‘9’についてのパスワード導出ルールの候補は各7つ、二番目の‘8’についてのパスワード導出ルールの候補は9つ、四番目の‘3’についてのパスワード導出ルールの候補は5つで、パスワード導出ルールの候補は、7×7×9×5=2205個の候補が残るが、同じ乱数表に対して、ユーザが入力した値が“5607”であった場合には、2×1×4×2=16個しか候補が残らず、悪意の第三者に成りすまされる確率が高くなり、認証の強度が低下する。
特許文献1には、認証強度の低下を防ぐために、パスワード導出ルールに何を入力してもよいダミーや、入力する値を+1するなど変換法則を登録して第三者に対し導出ルールの推測を難しくする方法が開示されている。
しかしながら、ダミーについては第三者は何を入力しても良いため強度の低下は防ぐことはできない。
また、変換法則についても、同じ入力桁には同じ変換法則が毎回適用されるため、認証を2回以上覗き見た場合には、入力桁毎に乱数表の各値から入力値を引いた値(負になる場合には10を足した値)からなる乱数表を各認証回毎に求めることで変換法則の値が何であってもこの値の影響が結果として得られる乱数表から取り除かれ、結果として得られる乱数表の中で毎回同じ数字が同じ位置にあるものに導出ルールの候補を絞り込めるため、ユーザにおいてはパスワード導出ルールとは別に変換法則も暗記する負担とさらに認証時に変換法則に従った計算の負担とが生じるにも関わらず、導出ルールが悪意の第三者に分かってしまう確率は依然として高い。
また、上記の方法では、認証を行うにあたってユーザが記憶すべき認証のための情報は、一般に広く普及している文字や数字などからなるパスワードとは異なる、「1行2列、2行4列、3行5列、4行8列」といった、提示される乱数表上の位置を示す導出ルールである。
ユーザにとって、このような複雑な情報を記憶するのは、大きな負担となる。
さらに、認証の強度を維持するために、1ヶ月などの一定期間毎にパスワードなどの認証情報の更新を行うシステムにおいては、ユーザは認証情報を更新する度に新しい位置を示す導出ルールを暗記する必要があり、更新前の導出ルールと新たに記憶した導出ルールを区別することは難しく、ユーザにとっての負担はさらに大きくなる。
この発明は上記のような問題点を解決することを主な目的の一つとしており、広く普及している文字や数字などによるパスワードを用いて、認証時のユーザの負担が小さく、かつ、認証の操作を第三者に見られてもパスワードを推測される危険性が低く、高いセキュリティを保持したユーザの認証システム、認証装置、端末装置、ICカードおよび認証方法の提供を目的の一つとする。
本発明に係る認証システムは、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対する認証を行う認証装置とを有する認証システムであって、
前記端末装置は、
前記認証装置より認証用乱数を受信し、認証用乱数に対する応答値を前記認証装置に送信する端末通信部と、
入力値を受け付ける入力部と、
前記端末通信部により受信された認証用乱数と前記入力部により受け付けられた入力値とに基づき、パスワード候補文字の外観を設定する外観設定部と、
前記外観設定部により設定された外観のパスワード候補文字を表示する表示部と、
前記入力部により受け付けられた入力値に基づいて前記応答値を計算する応答値計算部とを有し、
前記認証装置は、
ユーザのパスワード文字列を2つ以上記憶する管理部と、
認証用乱数を生成する認証乱数生成部と、
前記認証乱数生成部より生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記認証用乱数に対する応答値を受信する認証通信部と、
前記管理部に記憶された各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と前記管理部に記憶されている各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部を有することを特徴とする。
前記管理部は、
前記認証判断部による認証順序が指定されている2以上のパスワード文字列を記憶し、
前記認証判断部は、
前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を抽出し、各パスワード文字列に対応する応答値と各パスワード文字列とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、パスワード文字列ごとに、求めた最初のパスワード文字の外観と当該パスワード文字列と前記認証用乱数と当該パスワード文字列に対応する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行うことを特徴とする。
前記管理部は、
パスワード長が相互に一定でない2以上のパスワード文字列を記憶し、
前記認証判断部は、
前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を各パスワード文字列のパスワード長に応じて抽出することを特徴とする。
前記認証判断部は、
パスワード文字列ごとに、前記端末装置により選択された2番目以降のパスワード文字の各々の外観を求め、求めた2番目以降のパスワード文字の各々の外観が最初のパスワード文字の外観に一致するか否かを判定する演算を行うことを特徴とする。
前記外観設定部は、
パスワード候補文字の外観として各文字の背景色を設定することを特徴とする。
前記外観設定部は、
パスワード候補文字の外観として各文字の背景に図柄を設定することを特徴とする。
本発明に係る認証装置は、ユーザが利用する端末装置と通信を行ってユーザに対する認証を行う認証装置であって、
ユーザのパスワード文字列を2つ以上記憶する管理部と、
認証用乱数を生成する認証乱数生成部と、
前記認証乱数生成部により生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記端末装置が入力値を受け付けて当該入力値に基づいて計算した前記認証用乱数に対する応答値を受信する認証通信部と、
前記管理部に記憶された各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と前記管理部に記憶されている各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部を有することを特徴とする。
前記管理部は、
前記認証判断部による認証順序が指定されている2以上のパスワード文字列を記憶し、
前記認証判断部は、
前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を抽出し、各パスワード文字列に対応する応答値と各パスワード文字列とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、パスワード文字列ごとに、求めた最初のパスワード文字の外観と当該パスワード文字列と前記認証用乱数と当該パスワード文字列に対応する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行うことを特徴とする。
前記管理部は、
パスワード長が相互に一定でない2以上のパスワード文字列を記憶し、
前記認証判断部は、
前記認証判断部は、
前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を各パスワード文字列のパスワード長に応じて抽出することを特徴とする。
前記認証判断部は、
パスワード文字列ごとに、前記端末装置により選択された2番目以降のパスワード文字の各々の外観を求め、求めた2番目以降のパスワード文字の各々の外観が最初のパスワード文字の外観に一致するか否かを判定する演算を行うことを特徴とする。
本発明に係る端末装置は、ユーザに対する認証を行う認証装置と通信を行う、ユーザが利用する端末装置であって、
ユーザの変換前パスワード文字列を受け付ける変換前パスワード入力部と、
パスワード変換用乱数を生成する端末乱数生成部と、
前記認証装置による認証に用いられる複数のパスワード候補文字が配列されているパスワード配列を記憶するパスワード配列記憶部と、
前記端末乱数生成部により生成されたパスワード変換用乱数と、前記パスワード配列記憶部に記憶されているパスワード配列とに基づき、前記変換前パスワード入力部により受け付けられた変換前パスワード文字列の変換を行うパスワード変換部とを有することを特徴とする。
前記パスワード配列記憶部は、
それぞれに指定された位置に複数のパスワード候補文字の各文字が配置されているパスワード配列を記憶し、
前記パスワード変換部は、
前記変換前パスワード文字列を構成するパスワード文字ごとに一致するパスワード候補文字が配置されている前記パスワード配列での位置を判断し、判断した各パスワード候補文字の位置と前記パスワード変換用乱数とに基づき、前記変換前パスワード文字列の変換を行うことを特徴とする。
前記パスワード変換部は、
前記変換前パスワード文字列を構成するパスワード文字ごとに一致するパスワード候補文字が配置されている前記パスワード配列での位置を判断し、判断した各パスワード候補文字の位置と前記パスワード変換用乱数とを用いて所定の演算を行い、前記変換前パスワード文字列のパスワード文字を演算結果の値に相当する位置に配置されているパスワード候補文字に置き換えて、前記変換前パスワード文字列の変換を行うことを特徴とする。
前記端末装置は、更に、
前記パスワード変換部により変換された変換後パスワード文字列を前記認証装置に送信する端末通信部を有することを特徴とする。
前記変換前パスワード入力部は、
パスワード変換用乱数の生成用の乱数生成用パスワード文字列を受け付け、
前記端末乱数生成部は、
前記パスワード入力部により受け付けられた乱数生成用パスワード文字列に対して一方向性演算を行って、パスワード変換用乱数を生成することを特徴とする。
前記端末装置は、更に、
入力値を受け付ける入力部と、
パスワード候補文字の外観を変更する規則を示す外観変化パターンと前記パスワード変換用乱数を記憶する端末記憶部と、
前記認証装置より認証用乱数を受信し、認証用乱数に対応する応答値を前記認証装置に送信する端末通信部と、
前記端末通信部により受信された認証用乱数と、前記入力部により受け付けられた入力値と前記端末記憶部により記憶されている外観変化パターンと、前記パスワード配列記憶部に記憶されているパスワード配列とに基づき、パスワード候補文字の外観を設定する外観設定部と、
前記外観設定部により設定された外観のパスワード候補文字を表示する表示部と、
前記入力部により受け付けられた入力値と、前記端末記憶部に記憶されているパスワード変換用乱数とに基づき、前記応答値を計算する応答値計算部とを有することを特徴とする。
前記表示部は、
m行n列(m、nはともに任意の自然数)のマトリックスでパスワード候補文字を表示し、
前記応答値計算部は、
前記入力部により受け付けられた入力値と、前記端末記憶部に記憶されているパスワード変換用乱数と、前記表示部により表示されるマトリックスの行数及び列数とに基づき、前記応答値を計算することを特徴とする。
本発明に係るICカードは、ユーザに対する認証を行う端末装置に挿入して使用され、前記端末装置とのデータの授受を行う集積回路(IC)カードであって、
ユーザの2つ以上のパスワード文字列とパスワード候補文字の外観を記憶する記憶部と、
乱数を生成し、当該乱数を前記端末装置に提供する乱数生成部と、
前記記憶部に記憶された各パスワード文字列とパスワード候補文字の外観と前記乱数部により生成された乱数と前記端末装置から取得した前記端末装置が入力値を受け付けて当該入力値に基づいて計算した前記乱数に対する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部とを有することを特徴とする。
本発明に係るプログラムは、ユーザが利用する端末装置と通信を行ってユーザに対する認証を行うコンピュータである認証装置に、
認証用乱数を生成する認証乱数生成処理と、
前記認証乱数生成処理により生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記端末装置が入力値を受け付けて当該入力値に基づいて計算した前記認証用乱数に対する応答値を受信する認証通信処理と、
前記認証装置の記憶領域に記憶されているユーザの2以上のパスワード文字列の各々と前記認証生成処理により生成された認証用乱数と前記認証通信処理により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と前記記憶領域に記憶されている各パスワード文字列と前記認証乱数生成処理により生成された認証用乱数と前記認証通信処理により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断処理を実行させることを特徴とする。
本発明に係るプログラムは、ユーザに対する認証を行う認証装置と通信を行う、ユーザが利用するコンピュータである端末装置に、
ユーザの変換前パスワード文字列を受け付ける変換前パスワード入力処理と、
パスワード変換用乱数を生成する端末乱数生成処理と、
前記端末乱数生成処理により生成されたパスワード変換用乱数と、前記端末装置の記憶領域に記憶されている、前記認証装置による認証に用いられる複数のパスワード候補文字が配列されているパスワード配列とに基づき、前記変換前パスワード入力処理により受け付けられた変換前パスワード文字列の変換を行うパスワード変換処理とを実行させることを特徴とする。
本発明によれば、広く普及している文字や数字などによるパスワードを用いて、認証時のユーザの負担が小さく、かつ、認証時の操作を第三者に見られてもパスワードを推測される危険性が低く、高いセキュリティを保持した認証システム等が提供できる。
特に、二以上のパスワード文字列を連続させて認証を行うため、第三者にとっては、認証に一体いくつのパスワード文字列が使われているのか、さらに、個々のパスワード文字列の長さも分らないため、認証時の操作を第三者に見られてもパスワードを推測される危険性が低く、高いセキュリティを保持した認証システム等が提供できる。
以下、本発明の実施の形態を図に基づいて説明する。
なお、下記実施の形態1から実施の形態4において、ユーザ認証処理に用いるパスワード文字、パスワード候補文字の外観は、パスワード色(文字の背景色)とする。
パスワード文字、パスワード候補文字の外観とは、各文字及びその周辺部分の視覚的な特徴のことであり、文字の背景色を利用する以外にも、例えば、フォントの種類や大きさ、文字の描画色、文字の背景の模様、文字を囲う図形の種類などを用いることが可能である。
また、複数の文字から構成されるパスワードの文字列をパスワード文字列といい、パスワード文字列を構成する各文字をパスワード文字という。
また、パスワード候補文字とは、パスワード文字の候補であり、ユーザ認証の際にユーザが複数のパスワード候補文字の中からパスワード文字に一致する文字を選択する。パスワード候補文字については、例を図示して後述する。
実施の形態1.
図1は、この発明の実施の形態1に係る認証システムの構成を示すブロック図である。
図1において、端末装置101の端末通信部105とサーバ装置106の認証通信部110は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
サーバ装置106は、認証装置の例である。
サーバ装置106の認証乱数生成部107は、例えば、10桁の乱数を生成する。
認証判断部108は、端末装置101からの応答値に基づきユーザ認証の成否判断を行う。
少なくとも認証乱数生成部107及び認証判断部108は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置(認証装置)106上にロードされCPU(Central Processing Unit)上で実行される。
端末装置101の外観設定部104は、パスワードの候補となるパスワード候補文字から構成されるパスワード配列と色変換テーブルとをあらかじめ保持し、表示部102に表示するパスワードの背景色を設定する。
また、端末装置101の応答値計算部111は、ユーザからの入力値に基づいて、サーバ装置106に応答する応答値を計算する。
少なくとも外観設定部104における外観設定機能及び応答値計算部111は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらから端末装置101上にロードされCPU(Central Processing Unit)上で実行される。
サーバ装置106の管理部109は、本実施の形態ではハードディスク装置からなり、2つ以上のユーザのパスワードをユーザIDと関連付けて記憶する。
また、パスワード配列と色変換テーブルを格納する。
パスワード配列Pは、パスワードに使用できるパスワード候補文字を端末装置101の表示部102に表示する際の文字の並びを示しており、以下に示すようにi行j列に表示する文字のASCIIコードを格納したものである。
Figure 2009028060
つまり、パスワード候補文字は、例えば、図9に示すマトリックスにおける1、2、3・・・=、?、@の各文字のことであり、ユーザ認証の際にユーザが複数のパスワード候補文字の中からパスワード文字に一致する文字を選択する。
そして、パスワード配列Pは、このようなパスワード候補文字の配列である。
色変換テーブルCは、パスワード配列Pを端末装置101の表示部102に表示する際の背景色を示しており、以下に示すように、0から9までの数値に対応する背景色の色指定コードを6桁の16進数(各2桁がRGBの各数値に対応する)で格納するものである。
Figure 2009028060
つまり、色変換テーブルCは、パスワード候補文字の外観を変更する規則を示す外観変化パターンであり、例えば、図9に示すパスワード候補文字の背景色を決定するための規則が示される。
なお、図9の詳細については、後述する。
なお、本実施の形態では、パスワード文字列の合計の長さを最大64として説明するが、長さはこれに限定するものではない。また、パスワード候補文字としては、7行10列のパスワード配列を用いるが、同様に配列の大きさはこれに限定するものではない。
ここで、本実施の形態に係る認証システムの動作の概要を説明する。
サーバ装置106の管理部109は、前述のように、ユーザのパスワード文字列を1つ以上記憶している。以下の説明では、管理部109は、ユーザのパスワード文字列を2つ以上記憶しているものとする。
また、認証乱数生成部107は、端末装置101から認証要求があった場合には、ユーザ認証に用いる10桁の認証用乱数を生成する。
そして、認証通信部110は、認証乱数生成部107より生成された認証用乱数を端末装置101に送信する。
端末装置101では、端末通信部105が、サーバ装置106からの認証用乱数を受信する。
そして、外観設定部104が、端末通信部105により受信された認証用乱数と入力部103により受け付けられたユーザからの入力値とに基づき、パスワード候補文字の外観を設定し、表示部102が、外観設定部104により設定された外観のパスワード候補文字を表示する。
ユーザは、パスワード文字列に含まれる全ての文字について、各文字に対応するパスワード候補文字の外観(背景色)が同じとなるように入力部103のカーソル等を操作し、外観設定部104は、ユーザのカーソル等の操作(ユーザからの入力値)に基づき、パスワード候補文字の外観(背景色)を変化させる。
そして、応答値計算部111は、ユーザからの入力値に基づき、パスワード文字列ごとに、認証用乱数に対する応答値を計算する。
端末通信部105は、応答値計算部111により計算された認証用乱数に対する応答値をサーバ装置106に送信する。
サーバ装置106では、認証通信部110が、端末装置101より認証用乱数に対する応答値を受信する。
そして、認証判断部108が、管理部109に記憶されている各パスワード文字列とパスワード配列と認証乱数生成部107により生成された認証用乱数とを用いて適正なユーザ操作と同様の演算を行って、認証通信部110により受信された応答値と比較してユーザ認証の成否判断を行う。
認証判断部108は、端末装置101により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と管理部109に記憶されている各パスワード文字列と認証乱数生成部107により生成された認証用乱数と認証通信部110により受信された応答値とを用いて演算を行って、ユーザ認証の成否判断を行う。
管理部109に記憶されている2以上のパスワード文字列には、認証判断部108による認証順序が指定されており、認証判断部108は認証通信部110により受信された応答値の中から各パスワード文字列に対応する応答値を抽出する。なお、管理部109に記憶されている2以上のパスワード文字列のパスワード長が相互に一定でない場合がある。このような場合は、認証判断部108は、認証順序に従って、各パスワード文字列のパスワード長に応じて各パスワード文字列に対応する応答値を抽出する。
そして、認証判断部108は、各パスワード文字列に対する応答値と各パスワード文字列とを用いて端末装置101により選択された各パスワード文字列の最初のパスワード文字の外観を求め、パスワード文字列ごとに、求めた最初のパスワード文字の外観と当該パスワード文字列と認証用乱数と当該パスワード文字列に対する応答値とを用いて、所定の演算を行い、ユーザ認証の成否判断を行う。
より具体的には、認証判断部108は、パスワード文字列ごとに、端末装置101により選択された2番目以降のパスワード文字の各々の外観を求め、求めた2番目以降のパスワード文字の各々の外観が最初のパスワード文字の外観に一致するか否かを判定する演算を行う。
次に、本実施の形態に係るユーザ認証システムにおける端末装置101及びサーバ装置106の動作の詳細を図面を参照して説明する。
まず、ユーザ認証を行う際の端末装置101の動作について説明する。
図2及び図3は、端末装置101においてユーザ認証を行う際に実行される処理を示すフローチャートである。
まず、ユーザが端末装置101を使って認証を行う場合に、表示部102にユーザID入力画面を表示し、入力部103よりユーザIDを受け付ける(S101)。
このとき、応答値計算部111が、応答値としてサーバ装置106に返すデータを格納する認証データ配列v[64]とh[64]の要素を0に初期化し、水平移動量mと垂直移動量nと入力カウンタkをそれぞれ0に初期化する(S102)。
ここで、水平移動量mは、図9に例示するパスワード候補文字の背景色を変更させるためにユーザが背景色を水平方向に移動させた量(図9のマス目の数)を示す。
垂直移動量nは、図9に例示するパスワード候補文字の背景色を変更させるためにユーザが背景色を垂直方向に移動させた量(図9のマス目の数)を示す。
入力カウンタkは、ユーザにより背景色を指定するための入力が行われたパスワード長さ(パスワード文字数)をカウントするためのカウンタである。本実施の形態では、パスワード長さを最大64としているので、入力カウンタkの最大値は64である。
なお、本実施の形態及び実施の形態2以降で説明する変数値(水平移動量m、垂直移動量n、入力カウンタk、水平乱数配列RH、垂直乱数配列RV等)は、端末装置又はサーバ装置に含まれている不図示のメインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
次に、サーバ装置106に対して端末通信部105を介してユーザIDを含む認証要求を送信する(S103)。
この後、端末装置101は端末通信部105を介して送信した認証要求に対する7個の10桁の乱数からなる乱数のセットをサーバ装置106より受信し、これを外観設定部104が乱数配列R[i|(0≦i≦6)]として記憶する(S104)。
次に、外観設定部104は、パスワード配列Pの各行各列について、記憶した乱数セットの値と、2つの移動量mとnの値と、色変換テーブルCから所定の演算により色指定コードを求める。
表示部102は、求められた色指定コードにより指定される背景色の上にパスワード文字を描画したユーザ認証画面を表示する(S105)。
背景色の色指定コードを求める演算の詳細は、後で説明する。
表示部102に文字として表示した背景色付のパスワード配列に対して、ユーザの入力キー値(入力値)を入力部103より受け付ける(S106)。
応答値計算部111は、入力キーを受け付けると、入力されたキーの種別を判定する(S107)。
入力されたキーの種別が選択キーの場合には、応答値計算部111は、入力カウンタkの値が64より小さいかをチェックする(S108)。kの値が64より小さい場合には、移動量mとnの値を、それぞれ認証データ配列h[k]とv[k]の値として記憶した後、入力カウンタkの値に1を加算し(S109)、ステップS105からの処理を繰り返す。
一方、ステップS108において、入力カウンタkの値が64以上の場合には、既に確定数がパスワードの最大長に達したことを示す警告を表示し(ステップS110)、ステップS105からの処理を繰り返す。
入力されたキーの種別が左への移動キーであった場合には、応答値計算部111は、水平移動量mから1を減算する(S111)。次に、応答値計算部111は、水平移動量mの値が0より小さくないかをチェックし(S112)、0より小さな値の場合にはmに10を加算し(S113)、ステップS105からの処理を繰り返す。
入力されたキーの種別が右への移動キーであった場合には、応答値計算部111は、水平移動量mに1を加算する(S114)。次に、水平移動量mの値が9より大きくないかをチェックし(S115)、9より大きな値の場合にはmから10を減算し(S116)、ステップS105からの処理を繰り返す。
入力されたキーの種別が上への移動キーであった場合には、応答値計算部111は、垂直移動量nから1を減算する(S117)。次に、垂直移動量nの値が0より小さくないかをチェックし(S118)、0より小さな値の場合にはnに7を加算し(S119)、ステップS105からの処理を繰り返す。
入力されたキーの種別が下への移動キーであった場合には、応答値計算部111は、垂直移動量nに1を加算する(S120)。次に、垂直移動量nの値が6より大きくないかをチェックし(S121)、6より大きな値の場合にはnから7を減算し(S122)、ステップS105からの処理を繰り返す。
入力されたキーの種別がクリアキーであった場合には、応答値計算部111は、認証データ配列h[k]とv[k]の値に0を記憶し(S123)、入力カウンタkの値が0より大きいかをチェックし(S124)、0より大きな値の場合にはkから1を減算し(S125)、ステップS105からの処理を繰り返す。
入力されたキーの種別が認証キーであった場合には、応答値計算部111は、入力カウンタkと認証データ配列h[k]とv[k]の値を認証データとして端末通信部105を介してサーバ装置106へ送信する(S126)。
次に、サーバ装置106から送られてくる認証結果を受信し(S127)、表示部102に対してサーバ装置106から受信した認証結果を表示し(S128)、認証処理を終了する。
次に、図4を参照して、図2のステップS105の詳細動作を説明する。
まず、外観設定部104は、変数xとyをそれぞれ1に初期化する(S201)。次に、変数yの値が7より大きな値でないかチェックする(S202)。
ここで、変数yの値が7以下の場合には、変数xの値が10より大きな値でないかチェックする(S203)。
変数xの値が10以下の場合には、外観設定部104は、次の式(1)を使って画面の上からy行、左からx列の位置のパスワード候補文字に設定する背景色の色指定コードD(x,y)を求める(S204)。
式(1)において、mとnはそれぞれ図2における水平移動量と垂直移動量を示す。
また、式(1)において、%は除余を求める演算を示す(式(2)においても同様)。
Figure 2009028060
次に、外観設定部104は、画面の左上からy行目x列目に、パスワード配列P[y−1,x−1]の文字コードで指定される文字を色指定コードD(x,y)の背景色で表示する(S205)。
次に、変数xを1加算し(S206)、ステップS203からの処理を繰り返す。
一方、ステップS203で、変数xの値が10より大きい場合には、外観設定部104は、変数xに1をセットし、変数yを1加算し(S207)、ステップS202からの処理を繰り返す。
ステップS202において、変数yの値が7より大きな値の場合には処理を終了する。
次に、サーバ装置106において端末装置101からの認証要求を受信した際に実行される処理について説明する。
図5は、サーバ装置106において端末装置101から認証要求を受信した際に実行される処理を示す。
まず、端末装置101からユーザIDを含む認証要求を受信する(S301)と、認証判断部108が、受信した認証要求に含まれているユーザIDが管理部109に登録されているかをチェックする(S302)。
管理部109にユーザIDが登録されている場合には、認証判断部108は、ユーザIDに関連付けて登録されている2つ以上のパスワードを順に取り出し登録パスワード文字列PW[i|(0≦i≦S−1)](Sは登録されているパスワードの個数)の要素として格納する(S303)。
登録パスワード文字列PWの番号であるi(0≦i≦S−1)は、認証判断部108における認証処理の順序となる。
一方、管理部109上にユーザIDが登録されていない場合には、認証の失敗を認証判断部108が記憶する(S304)。
次に、認証乱数生成部107においてユーザの認証に必要な乱数を生成する(S305)。
本実施の形態では、7行10列のパスワード配列を端末の画面上に表示するため、7個の10桁の乱数からなる乱数のセットを生成し、生成した乱数のセットを端末装置101に認証通信部110を介して送信する(S306)。
この後、端末装置101から認証データを受信し(S307)、認証判断部108に認証の失敗が記憶されていないかをチェックする(S308)。
認証判断部108に認証の失敗が記憶されていない場合には、認証判断部108は、認証通信部110を介して送信した乱数のセットと受信した認証データの入力カウンタkと認証データ配列h[k]とv[k]と管理部109より取り出した登録パスワード文字列PWから認証の成否を判定し(S309)、認証データが正しい場合には、認証通信部110を介して端末装置101に認証の成功を通知する認証成功メッセージを返信する(S310)。
一方、認証データが間違っている場合には、認証判断部108は、認証通信部110を介して端末装置101に認証の失敗を通知する認証失敗メッセージを送信する(S311)。
認証の成否の判定を行う演算の詳細は、後で説明する。
また、ステップS308で、認証判断部108に認証の失敗が記録されている場合には、ステップS311で認証失敗メッセージを送信する。
次に、図6を参照して、図5のステップS309の認証判定処理の詳細動作を説明する。
まず、認証判断部108は、変数sを1に、変数kを0に初期化する(S401)。
ここで、変数sは、パスワード文字列の個数をカウントするための変数である。
また、変数kは、パスワード長(パスワード文字の数)をカウントするための変数である。
次に、変数lnに管理部109に登録されている登録パスワード文字列PW[s−1]のパスワード長さを格納し、変数rを1に、変数mとnを0にそれぞれ設定する(S402)。
変数lnは、登録パスワード文字列のパスワード長さ(パスワード文字数)を記録するための変数であり、各登録パスワード文字列のパスワード長が一定でないことに対応させている。また、変数rは、対象としている文字が登録パスワード文字列中の何番目の文字であるかを判別するための変数である。変数m、変数nは、水平移動量m、垂直移動量nに対応する。
次に、認証判断部108は、s番目の登録パスワード文字列PW[s−1]内のパスワードのr番目の文字について、パスワード配列P内の位置を求める(S403)。
パスワード配列P内の位置は、図7に示す変換テーブルを使って求めることができる。
具体的には、図7の変換テーブルに対し、あるパスワード文字のASCIIコードの上位4ビットと下位4ビットより一意に求まる数値tを用いて、パスワード配列P内の位置iとjが求められる。このとき、iはtを10で割った場合の商、jはtを10で割った場合の余りとなる。
次に、認証判断部108は、iとjと認証データ配列の要素h[k]とv[k]とから、次の式(2)を使ってs番目の登録パスワードのr文字目のパスワード文字の背景色として選択された色指定コードE(s,k)を求める(S403)。
Figure 2009028060
ここで、kは、s−1番目までの登録パスワード文字列の長さの総和にr−1を加算した値に等しい。
次に、認証判断部108は、変数rが1に等しいかをチェックし(S405)、等しい場合には色コードE(s,r)を認証判断部108内に一時的に記憶する(S406)。
ステップS405で、変数rが1に等しくない場合には、認証判断部108は、ステップS404で求めた色コードE(s,r)が、認証判断部108内に一時的に記憶している色コードと一致するかをチェックする(S407)。
つまり、認証判断部108は、認証順序に従い、認証通信部110により受信された応答値の中から各パスワード文字列に対応する応答値をパスワード長lnに応じて抽出する。そして、上記の式(2)に示す演算を行って、パスワード文字列ごとに、端末装置101により選択された最初のパスワード文字の外観を求めるとともに、2番目以降のパスワード文字の各々の外観を求め、求めた2番目以降のパスワード文字の各々の外観が最初のパスワード文字の外観に一致するか否かを判定する。
ステップS407において、色コードが一致しない場合には、認証判断部108は、認証を失敗とし(S408)、認証判定処理を終了する。
一方、ステップS407において、色コードと一致する場合には、認証判断部108は、変数rが変数lnと等しいかをチェックする(S409)。
ステップS409において、変数rが変数lnと等しくない場合には、s番目の登録パスワード文字列の全ての文字について色コードが一致するかのチェックが終わっていないため、変数rと変数kをそれぞれ1加算し(S401)、ステップS403からの処理を繰り返す。
一方、ステップS409において、変数rが変数lnに等しい場合には、s番目の登録パスワード文字列の全ての文字について色コードが一致するかのチェックが終わったため、変数sがSに等しいかをチェックする(S411)。
ステップS411で、変数sがSに等しくない場合には、まだすべての登録パスワード文字列について応答値のチェックが終わっていないため、変数sを1加算し(S412)、ステップS402からの処理を繰り返す。
一方、ステップS411で、変数sがSに等しい場合には、全ての登録パスワード文字列について応答値のチェックが終わったため、認証を成功とし(S413)、認証判断部108は認証判定処理を終了する。
図8は、端末装置101でS101においてユーザからの認証要求を受け付ける際に、表示部102に表示されるユーザID入力画面である。
ユーザは認証を開始する際に、入力部103よりユーザID入力画面201のユーザID入力フィールド202にユーザIDを入力し、実行ボタン203を押下することで、S103においてサーバ装置106に対するユーザIDを含む認証要求が送信される。
図9は、端末装置101でS105においてユーザからの応答を受け付ける際に、表示部102に表示されるユーザ認証画面である。
ユーザは認証を行う際に、ユーザ認証画面301上で、自身の記憶する最初の登録パスワード文字列の最初の文字から順にパスワード配列302の中の文字を見つけ出し、各登録パスワード文字列についてパスワード文字の背景が登録パスワード文字毎に全て同じになるように背景を移動キーで操作して背景が同じになったときに選択キーを押下する操作を繰り返すことで、認証操作を行う。
例えば、登録パスワード文字列が「1F」である場合、「1」の背景色と同じ背景色は「C」の位置にあるため、ユーザは、背景全体を右方向に3つ移動させて、「F」に対しても「1」と同じ背景色となるようにする。
また、選択キーを押下し背景を確定した際に、確定表示フィールド303に‘*’が1つ追加表示される。
全ての登録パスワード文字列についての認証操作を実行した後に、ユーザは認証ボタン304を押下することで、ステップS125においてサーバ装置106に対する認証データが送信される。
また、ユーザは認証ボタン304を押下する前であれば、認証操作の誤りを、クリアボタン305を1回押下することで1文字分だけクリアすることができ、この際に確定表示フィールド303に表示されている‘*’は1つ削除される。
このように、各パスワードの背景色を合わせるだけでパスワードそのものを入力せずに認証を行うので、たとえ第三者が認証操作を盗み見ることができても、ユーザがどの文字のどの背景色を合わせているかが分らないため、本人になりすまして認証されることを防ぐことができる。
更に、ユーザは認証の都度、パスワード文字列毎に各文字共通に合わせる背景色を自由に変えることができる。また、認証時には、一以上のパスワード文字列を連続させて認証を行っている。このため、第三者にとっては、認証に一体いくつのパスワード文字列が使われているのか、さらに、個々のパスワード文字列の長さも分らないため、高いセキュリティを保持したユーザ認証が行える。
さらに、従来の方式において複数のパスワードを登録して個々のパスワードについて認証を繰り返した場合には、なりすましを防ぐのに単にパスワードの桁数が長くなった分だけの効果しか得られない。これに対して、本実施の形態に係る端末装置側では複数のパスワードを1回の認証で続けて使用して一連の認証操作を行うようにし、認証装置側では、パスワード最初の文字の背景と残りの文字の背景とが一致した場合にのみ認証が成功するようにしている。これにより、第三者にとっては、一体どこが2つ目以降のパスワードの最初の文字に相当するのかが分からず、このことによりパスワードとして推測される候補の数が増加し、なりすましが難しくなる効果が得られる。
また、ユーザが記憶する認証のためのデータとしては広く普及している従来の文字と数字からなるパスワードを用いることができる。ユーザにとっては、本認証方式に合わせて新たに特殊な形式のデータを憶える負担がなく、セキュリティを維持するためのパスワードの更新時の負荷も小さい。
パスワードには、既に記憶しているものをそのまま使うこともできるし、記憶しているパスワードを途中で2つに分けて登録することもできる。
本実施の形態では、パスワード配列と色変換テーブルは、端末装置101の外観設定部104にあらかじめ保持する構成しているが、サーバ装置106の管理部109に、パスワード配列と色変換テーブルとを格納し、認証の際にこれらを管理部109から取り出してサーバ装置106から端末装置101に送信する構成としても良い。
さらに、ユーザ毎に異なるパスワード配列および色変換テーブルをユーザIDに関連付けて管理部109に記憶するようにすることで、ユーザ認証画面においてユーザ毎に異なるパスワード候補文字や背景色を使用することも可能である。
また、本実施の形態では、パスワードの外観として背景色を使用したが、図柄を含むファイル名を要素とする図柄変換テーブルを色変換テーブルに代えて使用することで、図10に示すようにユーザ認証画面にパスワード候補文字を異なる図柄と一緒に表示するようにすることも可能である。
以上、本実施の形態では、ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対する認証を行う認証装置とを有する認証システムについて説明した。
より具体的には、前記端末装置は、前記認証装置より認証用乱数を受信し、認証用乱数に対する応答値を前記認証装置に送信する端末通信部と、キーからの入力値を受け付ける入力部と、前記端末通信部により受信された認証用乱数と前記入力部からの入力値とを基にパスワード候補文字の外観を設定する外観設定部と、前記外観設定部により設定された外観のパスワード候補文字を表示する表示部とを有し、前記端末装置は、前記入力部が受け付けた入力値に基づいて前記応答値を計算することを説明した。
また、前記認証装置は、ユーザのパスワード文字列を2つ以上記憶する管理部と、認証用乱数を生成する認証乱数生成部と、前記認証乱数生成部より生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記認証用乱数に対する応答値を受信する認証通信部と、前記管理部に記憶された2つ以上のパスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初の外観を求め、求めた各パスワード文字の外観と前記管理部に記憶された各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部を有することを説明した。
また、本実施の形態では、前記外観設定部は、パスワード候補文字の外観として各文字の背景色を設定することを説明した。
更に、本実施の形態では、前記外観設定部は、パスワード候補文字の外観として各文字の背景に図柄を設定することを説明した。
実施の形態2.
以上の実施形態1では、登録パスワード文字列はあらかじめサーバ装置の管理部に登録済みのパスワード文字列を使用するようにしたものであるが、次に端末装置から直接ユーザが自身のパスワード文字列を変更登録する場合の実施の形態を示す。
図11は、この発明の実施の形態2に係る認証システムの構成を示すブロック図である。
図11において、端末装置401の端末通信部405とサーバ装置408の認証通信部412は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
端末装置401の外観設定部404は、パスワードの候補となるパスワード候補文字から構成されるパスワード配列と色変換テーブルとをあらかじめ保持し、表示部402に表示するパスワードの背景色を設定する。本実施の形態では、外観設定部404は、パスワード配列記憶部の例である。
なお、外観設定部404が記憶しているパスワード配列と色変換テーブルは、実施の形態1で説明したものと同様である。
端末乱数生成部406は、パスワード変換用乱数を生成する。
端末記憶部407は、乱数の配列を記憶し、具体的には、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどからなる。
入力部403は、変換前のパスワードである変換前パスワードをユーザから入力する。入力部403は、変換前パスワード入力部の例である。
応答値計算部413は、実施の形態1と同様に、サーバ装置408からの認証用乱数に対する応答値を計算する。
パスワード変換部414は、端末乱数生成部406により生成されたパスワード変換用乱数と、外観設定部404に記憶されているパスワード配列とに基づき、入力部403により受け付けられた変換前パスワード文字列の変換を行う。
サーバ装置408の管理部411は、本実施の形態ではハードディスク装置からなり、1つ以上のユーザのパスワードをユーザIDと関連付けて記憶する。また、パスワード配列と色変換テーブルを格納する。
認証乱数生成部409は、10桁の乱数を生成する。
認証乱数生成部409及び認証判断部410は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置(認証装置)408上にロードされCPU(Central Processing Unit)上で実行される。
次に、本実施の形態に係る認証システムの動作の概要を説明する。
端末装置401において、入力部403が、ユーザの変換前パスワード文字列を受け付ける。この変換前パスワードとは、ユーザが記憶しているパスワードである。
また、端末乱数生成部406が、パスワード変換用乱数を生成する。
外観設定部404が記憶しているパスワード配列は、実施の形態1と同様に、それぞれに指定された位置に複数のパスワード候補文字の各文字が配置されている。
パスワード変換部414は、変換前パスワード文字列を構成するパスワード文字ごとに一致するパスワード候補文字が配置されているパスワード配列での位置を判断し、判断した各パスワード候補文字の位置とパスワード変換用乱数とに基づき、変換前パスワード文字列の変換を行う。
具体的には、パスワード変換部414は、変換前パスワード文字列を構成するパスワード文字ごとに一致するパスワード候補文字が配置されているパスワード配列での位置を判断し、判断した各パスワード候補文字の位置とパスワード変換用乱数とを用いて所定の演算を行い、変換前パスワード文字列のパスワード文字を演算結果の値に相当する位置に配置されているパスワード候補文字に置き換えて、変換前パスワード文字列の変換を行う。
そして、端末通信部405は、パスワード変換部414により変換された変換後パスワード文字列をサーバ装置408に送信する。
サーバ装置408では、認証通信部412が、端末装置401から送信された変換後パスワード文字列を受信し、管理部411がこの変換後パスワード文字列を端末装置401のユーザのパスワード文字列として記憶する。
このように、本実施の形態では、サーバ装置408に登録されるパスワード文字列(変換後パスワード文字列)は、ユーザが記憶しているパスワード文字列(変換前パスワード文字列)とは異なるものとすることができる。
そして、本実施の形態でも、ユーザ認証処理は実施の形態1と同様な手順で行われ、ユーザは記憶しているパスワード文字列(変換前パスワード文字列)の各文字に対してパスワード候補文字の背景を共通にするように入力を行う。
ここで、応答値計算部413の応答値の計算手順が実施の形態1と異なる。本実施の形態では、応答値計算部413は、ユーザの入力値とパスワード変換用乱数とを用いて応答値を計算する。
応答値の計算においてパスワード変換用乱数を用いることで、応答値計算部413は、ユーザが変換前パスワード文字列に対して入力した入力値を、サーバ装置408に登録されている変換後パスワード文字列に対応させて変換して、応答値を計算している。
なお、以下にて本実施の形態に係る認証システムを詳細に説明するにあたり、本実施の形態では、管理部411に新規ユーザの登録後の状態として、ユーザのIDと関連付けて仮パスワードが登録されており、端末装置401の端末記憶部407には、要素が0に値が初期化された長さ64の2つの乱数配列、水平乱数配列RH[64]と垂直乱数配列RV[64]を記憶しているものとする。水平乱数配列RH[64]と垂直乱数配列RV[64]は、パスワード変換用乱数の配列である。
パスワード配列Pと色変換テーブルCには、実施の形態1で使用したものと同じものを用いる。
なお、本実施の形態では、パスワードの合計の長さを最大64として説明するが、長さはこれに限定するものではない。
また、パスワード候補文字としては、7行10列のパスワード配列を用いるが、同様に配列の大きさはこれに限定するものではない。
次に、本実施の形態に係るユーザ認証システムにおける端末装置101及びサーバ装置106の動作の詳細を図面を参照して説明する。
まず、サーバ装置408への新規利用者登録が終了した後に、ユーザは、端末装置401に対して仮パスワードを使ってサーバ装置408との認証操作を行い、認証が成功した後にパスワードの変更登録を行う。
まず、ユーザ認証を行う際の端末装置401の動作について説明する。
図12及び図13は、端末装置401においてユーザ認証を行う際に実行される処理を示すフローチャートである。
まず、ユーザが端末装置401を使って認証を行う場合に、表示部402にユーザID入力画面を表示し、入力部403よりユーザIDを受け付ける(S501)。
このとき、応答値計算部413は、応答値としてサーバ装置408に返すデータを格納する認証データ配列v[64]とh[64]の要素を0に初期化し、水平移動量mと垂直移動量nと入力カウンタkをそれぞれ0に初期化する(S502)。
次に、サーバ装置408に対して端末通信部405を介してユーザIDを含む認証要求を送信する(S503)。
この後、端末装置401は端末通信部405を介して送信した認証要求に対する7個の10桁の乱数からなる乱数のセットをサーバ装置408より受信し、これを外観設定部404が乱数配列R[i|(0≦i≦6)]として記憶する(S504)。
次に、外観設定部404は、パスワード配列の各行各列について、記憶した乱数セットの値と、2つの移動量mとnの値と、色変換テーブルCから所定の演算により色指定コードを求める。
表示部402は、求められた色指定コードにより指定される背景色の上にパスワード候補文字を描画したユーザ認証画面を表示する(S505)。
背景色の色指定コードを求める演算の詳細は、後で説明する。
表示部402に文字として表示した背景色付のパスワード配列に対して、ユーザの入力キー値(入力値)を入力部403より受け付ける(S506)。
入力キーを受け付けると、応答値計算部413は、入力されたキーの種別を判定する(S507)。
入力されたキーの種別が選択キーの場合には、応答値計算部413が、入力カウンタkの値が64より小さいかをチェックする(S508)。
kの値が64より小さい場合には、応答値計算部413が、水平移動量mに水平乱数配列RH[k]を加算した値を認証データ配列h[k]の値として記憶し、垂直移動量nに垂直乱数配列RV[k]を加算した値を認証データ配列v[k]の値として記憶する(S509)。
次に、応答値計算部413は、kの値が0に等しいかをチェックする(S510)。
kの値が0に等しくない場合には、応答値計算部413は、認証データ配列h[k]の値に10加算した値から水平乱数配列RH[k−1]の値を引いた値を認証データ配列h[k]の値として記憶し、認証データ配列v[k]の値に7加算した値から垂直乱数配列RV[k−1]の値を引いた値を認証データ配列v[k]の値として記憶する(S511)。
次に、応答値計算部413は、認証データ配列h[k]の値を10で割った余りを認証データ配列h[k]の値として記憶し、認証データ配列v[k]の値を7で割った余りを認証データ配列v[k]の値として記憶した後、入力カウンタkの値に1を加算し(S512)、ステップS505からの処理を繰り返す。
ステップS510において、kの値が0に等しい場合には、ステップS512からの処理を行う。
ステップS508において、入力カウンタkの値が64以上の場合には、既に確定数がパスワードの最大長に達したことを示す警告を表示し(S513)、ステップS505からの処理を繰り返す。
入力されたキーの種別が左への移動キーであった場合には、応答値計算部413は、水平移動量mから1を減算する(S514)。次に、水平移動量mの値が0より小さくないかをチェックし(S515)、0より小さな値の場合にはmに10を加算し(S516)、ステップS505からの処理を繰り返す。
入力されたキーの種別が右への移動キーであった場合には、応答値計算部413は、水平移動量mに1を加算する(S517)。次に、水平移動量mの値が9より大きくないかをチェックし(S518)、9より大きな値の場合にはmから10を減算し(S519)、ステップS505からの処理を繰り返す。
入力されたキーの種別が上への移動キーであった場合には、応答値計算部413は、垂直移動量nから1を減算する(S520)。次に、垂直移動量nの値が0より小さくないかをチェックし(S521)、0より小さな値の場合にはnに7を加算し(S522)、ステップS505からの処理を繰り返す。
入力されたキーの種別が下への移動キーであった場合には、応答値計算部413は、垂直移動量nに1を加算する(S523)。次に、垂直移動量nの値が6より大きくないかをチェックし(S524)、6より大きな値の場合にはnから7を減算し(S525)、ステップS505からの処理を繰り返す。
入力されたキーの種別がクリアキーであった場合には、応答値計算部413は、認証データ配列h[k]とv[k]の値に0を記憶し(S526)、入力カウンタkの値が0より大きいかをチェックし(S527)、0より大きな値の場合にはkから1を減算し(S528)、ステップS505からの処理を繰り返す。
入力されたキーの種別が認証キーであった場合には、応答値計算部413は、入力カウンタkと認証データ配列h[k]とv[k]の値を認証データとして端末通信部405を介してサーバ装置408へ送信する(S529)。
次に、サーバ装置408から送られてくる認証結果を受信し(S530)、表示部502に対してサーバ装置408から受信した認証結果を表示し(S531)、認証処理を終了する。
なおステップS530で、受信した認証結果が認証成功の場合には認証結果にはセッションID(乱数)が含まれるため、端末装置401ではセッションIDを端末記憶部407に記憶する。
なお、ステップS505の詳細動作は、実施の形態1のステップS105の処理と同様である。
また、サーバ装置408において端末装置401からの認証要求を受信した際に実行される処理は、実施の形態1のサーバ装置106において端末装置101から認証要求を受信した際に実行される処理と同様である。
なお、ステップS310で認証成功メッセージを送信する際には、認証乱数生成部409でセッションID用の乱数を生成し、ユーザIDと関連付けて管理部411に記憶するとともに、認証成功メッセージに含めて送信する。
次に、認証が成功した後にパスワード文字列の変更登録を行う。
図14は、端末装置401で認証が成功した後に、ユーザがパスワード文字列の変更登録を使用する際に表示部102に表示されるパスワード変更登録画面であり、図14(a)はパスワード変更登録画面を起動した直後の画面である。
パスワードの変更登録画面501には、上向きスクロールボタン502、1番目のパスワード文字列の入力フィールド503、1番目のパスワード文字列(確認)の入力フィールド504、下向きスクロールボタン505、追加ボタン506、登録ボタン507が表示される。
ユーザはパスワード文字列の変更登録を行う際に、パスワード変更登録画面の1番目のパスワード文字列の入力フィールド502に1番目のパスワード文字列(変換前パスワード文字列)を入力し、さらに1番目のパスワード文字列(確認)の入力フィールド502に同じく1番目のパスワード文字列(変換前パスワード文字列)を入力する。パスワード文字列を1つしか登録しない場合には、登録ボタン504を押下することでパスワード変更登録が端末装置401からサーバ装置408に対して送信される。
一方、ユーザが2番目のパスワード文字列を登録する際には、追加ボタン506を押下することで、図14(b)に示すように、パスワード文字列の変更登録画面に、2番目のパスワード文字列の入力フィールド508と2番目のパスワード文字列(確認)の入力フィールド509が追加表示される。
ユーザは、パスワード変更登録画面の2番目のパスワード文字列の入力フィールド508に2番目のパスワード文字列(変換前パスワード文字列)を入力し、さらに2番目のパスワード文字列(確認)の入力フィールド509に同じく2番目のパスワード文字列(変換前パスワード文字列)を入力する。
さらに、ユーザが3番目のパスワード文字列(変換前パスワード文字列)を登録する際には、再び追加ボタン506を押下することで、図14(c)に示すように、パスワードの変更登録画面に、3番目のパスワード文字列の入力フィールド510と3番目のパスワード文字列(確認)の入力フィールド511が追加表示される。
ユーザは上向きスクロールボタン502と下向きスクロールボタン505を押下することでパスワード入力フィールドの表示を上下に移動する。
ユーザが全てのパスワード文字列の入力フィールドとパスワード文字列(確認)の入力フィールドにパスワード文字列を入力後に登録ボタン507を押下するとパスワード変更登録が端末装置401からサーバ装置408に対して送信される。
次に、パスワード文字列の変更登録を行う際の端末装置401の動作について説明する。
図15及び図16は、端末装置401においてパスワード文字列の登録変更を行う際に実行される処理を示すフローチャートである。
まず、ユーザが端末装置401を使って登録変更を行う際には、表示部402に表示したメニューから入力部403でパスワード登録変更を選択することによって(画面は省略)パスワード登録変更を受け付ける(S601)。
まず、パスワード変換部414が、パスワード文字列の数をカウントするための変数kを1に初期化する(S602)。
次に、パスワード変換部414は、1番目のパスワードを記憶するための領域ps_1とpc_1を割り当てる(S603)。
次に、図14に示すパスワードの登録変更画面を表示部402に表示し、パスワードの入力フィールドおよびパスワード(確認)の入力フィールドへのキー入力とボタン操作を受け付ける(S604)。ユーザからの入力を受け付けると、パスワード変換部414が、入力の種別を判定する(S605)。
入力が上向きスクロールボタン502または下向きスクロールボタン505の押下の場合には、表示するパスワードの入力フィールドを向きに応じて変更する(S606)。
入力が追加ボタン506の押下の場合には、kを1加算し(S607)、k番目のパスワードを記憶するための領域ps_kとpc_kを割り当て(S608)、ステップS604の処理を繰り返す。
入力が登録ボタン507の押下の場合には、パスワード変換部414は、内部変数iを1に、パスワードの合計の長さを求めるための変数sumを0に初期化する(S609)。
次に、内部変数iがパスワード数のカウンタk以下かをチェックする(S610)。
内部変数iがk以下の場合には、パスワード変換部414は、i番目のパスワードのとパスワード(確認)が一致しているかを確認するためにps_iの値とpc_iの値が等しいかをチェックする(S611)。
ps_iの値とpc_iの値が等しい場合には、パスワード変換部414は、ps_iの長さを変数sumに加算し(S612)、変数sumが64以下かをチェックする(S613)。
変数sumが64以下の場合には、パスワード変換部414は、iを1加算して(S614)、ステップS610からの処理を繰り返す。
一方、ステップS613で変数sumが64より大きい場合には、パスワード変換部414は、表示部402に、入力されたパスワードの合計長が最大値を超えている警告を表示し(S615)、ステップS604からの処理を繰り返す。
また、ステップS610でps_iの値とpc_iの値が等しくない場合には、パスワード変換部414は、表示部402に、i番目のパスワードとパスワード(確認)の入力内容が一致していない警告を表示し(S616)、ステップS604からの処理を繰り返す。
ステップS610において、パスワード変換部414は、内部変数iの値がパスワード数のカウンタkより大きい場合には、入力されたパスワードの変換処理を行う(S617)。変換処理の詳細は、後で説明する。
次に、変換処理ステップS617において使用したパスワード変換用乱数の配列である乱数配列RH[k]とRV[k]を端末記憶部407に記憶し(S618)、パスワード数kと変換後のパスワードps_1からps_kを含むパスワード登録変更を端末装置401の端末通信部405を介してサーバ装置408へ送信し(S619)、パスワードの登録変更処理を終了する。
次に、図17を参照して、図16のステップS617のパスワードの変換処理の詳細動作を説明する。
まず、パスワード変換部414は、水平乱数配列RH[64]と垂直乱数配列RV[64]とを割り当て、要素をすべて0に初期化する(S701)。
次に、パスワード変換部414は、内部変数iを1に、内部変数jを0にそれぞれ初期化し(S702)、iが入力されたパスワードの個数k以下かをチェックする(S703)。iがk以下の場合には、内部変数mを1に初期化し、内部変数lnにi番目のパスワードの長さを記憶する(S704)。内部変数mは、処理の対象となっている文字のパスワード文字列内での位置を示す変数である。内部変数lnは、処理の対象となっているパスワード文字列のパスワード長(パスワード文字数)を示す変数である。
次に、端末乱数生成部406において2つの乱数r1とr2を生成する(S705)。これら2つの乱数r1とr2は、パスワード変換用乱数である。
次に、パスワード変換部414は、r1を10で割った余りをr1とし、さらに水平乱数配列RH[j]に記憶し、r2を7で割った余りをr2とし、さらに垂直乱数配列RV[j]に記憶する(S706)。
次に、パスワード変換部414は、内部変数chにi番目のパスワードのm番目の文字を一時的に記憶し(S707)、図9に示したパスワード配列を用いて内部変数chに記憶している文字がパスワード配列の何番目の文字かを求めて内部変数nに記憶する(S708)。
次に、パスワード変換部414は、パスワード配列Pから、P[(n%10+r2)%7][(n/10+r1)%10]の要素を取得して内部変数chに一時的に記憶し(S709)、i番目のパスワードのm番目の文字を内部変数chに記憶している文字で置き換える(S710)。
次に、パスワード変換部414は、mがln以下かをチェックし(S711)、mがln以下の場合には、mとjをそれぞれ1ずつ加算し(S712)、ステップS705からの処理を繰り返す。
ステップS711において、mがlnより大きい場合には、iを1加算し(S713)、ステップ703からの処理を繰り返す。
ステップS703において、iがkより大きい場合には、パスワード文字列の変換処理を終了する。
このように、パスワード変換部414は、変換前パスワード文字列を構成するパスワード文字ごとに、各パスワード文字に一致するパスワード候補文字が配置されているパスワード配列での位置を判断し、判断した各パスワード候補文字の位置とパスワード変換用乱数とを用いて所定の演算を行い、変換前パスワード文字列のパスワード文字を演算結果の値に相当する位置に配置されているパスワード候補文字に置き換えて、変換前パスワード文字列の変換を行う。
次に、サーバ装置408側でパスワード登録変更を受信した際の処理について図18を参照して説明する。
端末装置401からセッションIDと1つ以上の新しいパスワード文字列を含む登録変更を受信する(S801)と、認証判断部410は、受信したセッションIDがユーザIDと関連付けて管理部411に記憶されているかをチェックする(S802)。
受信したセッションIDがユーザIDと関連付けて管理部411に記憶されていない場合には、認証判断部410は、不正なパスワード登録変更として処理を終了する。
一方、ステップS802で、受信したセッションIDがユーザIDと関連付けて管理部411に記憶されている場合には、認証判断部410は、管理部411よりセッションIDに関連付けて記憶されているユーザIDを取得し(S803)、ユーザIDに関連付けて管理部411に記憶されているパスワードとして受信した1つ以上のパスワード文字列を登録し(S804)、処理を終了する。
なお、図18に示すパスワード登録変更が行われた後のユーザ認証処理は、図12及び図13に示すフローに従って行われる。
上記では、サーバ装置408への新規利用者登録が終了した直後に、仮パスワードを用いてユーザ認証を行う例を図12及び図13のフローに基づいて説明したが、新規利用者登録直後ではない通常の運用時のユーザ認証処理も、図12及び図13のフローに従って行われる。
つまり、実施の形態1と同様に、ユーザは、記憶しているパスワード文字列の各文字に対して共通の背景色となるように移動キーを操作して、選択キーを入力する。選択キーが入力された後は、図13のS508−S512の処理が応答値計算部413により行われ、応答値が計算される。この応答値の計算に用いられる水平乱数配列RH[k]と垂直乱数配列RV[k]は、図16のS618で記憶されたパスワード変換用の乱数配列である。
従って、応答値計算部413は、パスワード変換部414によるパスワード変換処理において利用されたパスワード変換用乱数を用いて応答値の計算を行う。
このように応答値計算部413は、パスワード変換部414によるパスワード変換処理において利用されたパスワード変換用乱数を用いて、パスワード変換処理に対応させた応答値の計算を行うため、サーバ装置408の認証判断部410による認証判断に用いられるパスワード文字列が変換後のパスワード文字列であっても、応答値計算部413による応答値により正しくユーザ認証を行うことができる。
このように、端末装置401からパスワードの登録更新を行う際に、端末側で生成した乱数に基づいてユーザのパスワードを変換し、変換後のパスワードをサーバ装置408に登録するため、例え、サーバ装置408において、変換後のパスワードが管理部411から漏れたとしても、ユーザが実際にどんなパスワードを使用しているかを推測することはできないため、これによって認証システムのセキュリティを強固にすることが可能である。
以上、本実施の形態では、ユーザのパスワードの変更登録とユーザに対する認証を行う認証装置と通信を行ってユーザが利用する端末装置について説明した。
より具体的には、前記端末装置は、認証装置より認証用乱数を受信し、認証用乱数に対応する応答値を前記認証装置に送信し、認証が成功した後に更新用パスワードを前記認証装置に送信する端末通信部と、キーから入力値を受け付ける入力部と、パスワード変換用乱数を生成する端末乱数生成部と、パスワード候補の外観を変更する規則を示す外観変化パターンとパスワード変換用乱数を記憶する端末記憶部と、前記端末通信部により受信された認証用乱数と前記入力部より入力された入力値と前記端末記憶部により記憶されている外観パターンとを基にパスワード候補文字の外観を設定する外観設定部と、前記外観設定部により設定された外観のパスワード候補文字を表示する表示部とを有するとともに、前記入力部が受け付けた入力値と前記端末記憶部が記憶するパスワード変換用乱数に基づいて前記応答値を計算し、認証が成功した後に入力部から入力されたパスワードを端末乱数生成部で生成したパスワード変換用乱数に基づいて前記更新用パスワードに変換することを説明した。
また、本実施の形態では、ユーザの認証に成功した後に、認証通信部で、端末装置からのパスワード変更登録を受信し、管理部に記憶されたパスワード文字列を更新する認証装置について説明した。
実施の形態3.
以上の実施の形態2では、端末装置において乱数を生成し、これを使ってユーザのパスワードを変換することで、ユーザのパスワードの漏えいを防止したものであるが、次に、ユーザが端末装置に入力する変換用パスワードを用いてサーバ装置との認証用のパスワードを変換する場合の実施の形態を示す。
図19は、この発明の実施の形態3に係る認証システムの構成を示すブロック図である。
図19において、端末装置601の端末通信部605とサーバ装置607の認証通信部611は、無線通信や有線通信やインターネットなどのネットワークを介して接続される。
端末装置601の外観設定部604は、パスワードの候補となる文字から構成されるパスワード配列と色変換テーブルとをあらかじめ保持し、表示部602に表示するパスワードの背景色を設定する。外観設定部604は、パスワード配列記憶部の例である。
また、入力部603は、ユーザからの変換前パスワード文字列を受け付けるとともに、起動パスワード文字列を受け付ける。起動パスワード文字列は、パスワード変換用乱数の生成に用いられる乱数生成用パスワード文字列である。また、入力部603は、変換前パスワード入力部の例である。
端末装置のハッシュ値生成部606は、起動パスワード文字列(乱数生成用パスワード文字列)に対してのハッシュ値を生成して、パスワード変換用乱数を生成する。ハッシュ値生成部606は、ハッシュ演算以外の他の種類の一方向性演算を起動パスワード文字列(乱数生成用パスワード文字列)に対して行ってパスワード変換用乱数を生成してもよい。ハッシュ値生成部606は、端末乱数生成部の例である。
パスワード変換部614は、ハッシュ値生成部606により生成されたパスワード変換用乱数を用いて、変換前パスワード文字列の変換を行う。
応答値計算部613は、実施の形態2と同様に、パスワード変換用乱数を用いて、サーバ装置607への応答値を計算する。
サーバ装置607の管理部610は、本実施の形態では、例えばハードディスク装置からなり、1つ以上のユーザのパスワードをユーザIDと関連付けて記憶する。また、パスワード配列と色変換テーブルを格納する。
認証乱数生成部608は、10桁の乱数を生成する。
認証乱数生成部409及び認証判断部410は、本実施の形態では具体的にはプログラムで実現されるものであり、このプログラムは、ハードディスク装置や不揮発性メモリやフレキシブルディスクなどに格納され、これらからサーバ装置(認証装置)408上にロードされCPU(Central Processing Unit)上で実行される。
サーバ装置607の各要素は、実施の形態2に示したものと同様である。
本実施の形態では、管理部610に新規ユーザの登録後の状態として、ユーザのIDと関連付けて仮パスワードが登録されており、端末装置401は、要素が0に値が初期化された長さ64の2つの乱数配列、水平乱数配列RH[64]と垂直乱数配列RV[64]を記憶している。
実施の形態3では、サーバ装置607との認証を開始する際に、端末装置601の表示部602にユーザID入力画面を表示する前に、図20に示す起動パスワード入力画面701が表示される。
ユーザは、起動パスワード入力画面701上で、自身の記憶する起動パスワード文字列の最初の文字から順にパスワード配列702の中の文字を見つけ出し、各登録パスワード文字列についてカーソルがパスワード文字の背景になるように移動キーで操作して選択キーを押下する操作を繰り返すことで、起動パスワード文字列の入力操作を行う。
選択キーを押下すると、入力表示フィールド703に‘*’が1つ追加表示される。全ての起動パスワード文字列についての入力操作を実行した後に、ユーザは確定ボタン704を押下することで、起動パスワード文字列から乱数配列を生成する処理が開始される。
また、ユーザは確定ボタン704を押下する前であれば、入力操作の誤りを、クリアボタン705を1回押下することで1文字分だけクリアすることができ、この際に入力表示フィールド703に表示されている‘*’は1つ削除される。
次に、図21に確定ボタン704が押下された際に開始される乱数配列生成処理を示す。
まず、ハッシュ値生成部606が、2つの乱数配列RH[64]とRV[64]を割り当て、要素を0に初期化する(S901)。
次に、ハッシュ値生成部606は、起動パスワード入力画面でユーザより入力された起動パスワード文字列をSHA−256ハッシュ関数H()でハッシュした値を、変数val1に記憶し、この同じ値を変数val2にも記憶する(S902)。
次に、ハッシュ値生成部606は、内部カウンタiを0に初期化する(S903)。
次に、ハッシュ値生成部606は、val1を10で割った余りを乱数配列RH[i]に、変数val2を7で割った余りを乱数配列RV[i]にそれぞれ記憶し、さらに、変数val1を10で割った商でval1を、変数val2を7で割った商でval2をそれぞれ更新する(S904)。
次に、ハッシュ値生成部606は、カウンタiの値が63以上かをチェックし(S905)、63以上の場合には、処理を終了する。
一方、ステップS905で、カウンタiの値が63より小さい場合にはiを1加算し(S906)、ステップS904からの処理を繰り返す。
このようにして、ハッシュ値生成部606は、ユーザから入力された起動パスワード文字列(乱数生成用パスワード文字列)に対してハッシュ演算を含む所定の演算を行ってパスワード変換用乱数を生成する。
その後の動作は、実施の形態2と同様であり、端末装置601では、パスワード変換部614がパスワード変換用乱数を用いてユーザのパスワード文字列(変換前パスワード文字列)を変換し、変換後のパスワード文字列をサーバ装置607に送信し、サーバ装置607では変換後のパスワード文字列を登録する。
また、端末装置601では、ユーザ認証の際には、上記の手順にてハッシュ値生成部606が起動パスワード文字列(乱数生成用パスワード文字列)を用いてパスワード変換用乱数を生成し、ハッシュ値生成部606が生成したパスワード変換用乱数を用いて応答値計算部613が実施の形態2と同様の応答値の計算を行って、応答値をサーバ装置607に送信する。
このように、本実施の形態では、端末装置601からパスワードの登録更新を行う際に、起動パスワード文字列を基に端末装置601のハッシュ値生成部606で生成したハッシュ値に基づいてユーザのパスワードを変換し、変換後のパスワード文字列をサーバ装置607に登録し、認証の際には起動パスワード文字列を基に端末装置601のハッシュ値生成部606で生成したハッシュ値に基づいて変換後のパスワードに対する応答値に変換するため、例え、サーバ装置607において、変換後のパスワード文字列が管理部610から漏れたとしても、ユーザが実際にどんなパスワードを使用しているかを推測することはできないため、これによって認証システムのセキュリティを強固にすることが可能である。
また、ハッシュ値は起動パスワード文字列から動的に生成されるため、ユーザが端末装置601を紛失したりなくしたりしても別の端末装置を使って認証を行うことができる。
なお、本実施の形態では、起動パスワード文字列を起動パスワード入力画面上でカーソルを移動キーで移動させて入力する方法を示したが、ユーザIDの入力と同様に起動パスワード文字列を直接キーから入力するようにすることも可能である。
以上、本実施の形態では、ユーザのパスワードの変更登録とユーザに対する認証を行う認証装置と通信を行ってユーザが利用する端末装置について説明した。
より具体的には、前記認証装置より認証用乱数を受信し、認証用乱数に対応する応答値を前記認証装置に送信し、認証が成功した後に更新用パスワードを前記認証装置に送信する端末通信部と、キーから入力値を受け付ける入力部と、ハッシュ値を生成するハッシュ値生成部と、パスワード候補の外観を変更する規則を示す外観変化パターンとパスワード変換用乱数を記憶する端末記憶部と、前記端末通信部により受信された認証用乱数と前記入力部より入力された入力値と入力値をハッシュ値生成部でハッシュしたハッシュ値と前記端末記憶部により記憶されている外観パターンとを基にパスワード候補文字の外観を設定する外観設定部と、前記外観設定部により設定された外観のパスワード候補文字を表示する表示部とを有するとともに、前記入力部が受け付けた入力値と入力値をハッシュ値生成部でハッシュしたハッシュ値とに基づいて前記応答値を計算し、認証が成功した後に入力部から入力されたパスワードを前記ハッシュ値に基づいて前記更新用パスワードに変換する端末装置について説明した。
実施の形態4.
本実施の形態では、ユーザが方向キーを操作して1つ以上のパスワード文字列の各文字の背景色を特定の色に合わせることで認証を行うようにした認証方式を用い、端末装置が単体でユーザ認証を行う実施の形態を示す。
なお、本実施の形態では、パスワード文字列には数字とアルファベットおよびと特殊文字を含む記号列のパスワードを用い、パスワード文字列の合計の長さを最大64として説明するが、長さはこれに限定するものではない。また、パスワード候補文字としては、7行10列のパスワード配列を用いるが、同様に配列の大きさはこれに限定するものではない。
図22は、本発明の実施の形態4に係る認証システムの構成を示すブロック図である。
記憶部805と乱数生成部806と認証判断部807は、本実施の形態ではIC(集積回路)カード808内に実装されており、具体的にプログラムで実現されるものであり、
このプログラムはICカード808内のフラッシュメモリ内に格納され、ICカード808内のCPUで実行される。なお、ICカード808は端末装置801から着脱することができる。
表示部802、入力部803及び外観設定部804は、実施の形態1で説明した表示部102、入力部103及び外観設定部104と同様である。
記憶部805は、本実施の形態では不揮発性のメモリからなり、端末装置801により認証を行うユーザの1つ以上のパスワード文字列とパスワード色とユーザの公開鍵と対をなすユーザの秘密鍵と、パスワードの候補からなるパスワード候補文字から構成されるパスワード配列と色変換テーブルをあらかじめ格納する。
パスワード配列Pは、パスワードに使用できる文字を端末装置801の表示部802に表示する際の文字の並びを示しており、以下に示すようにi行j列に表示する文字のASCIIコードを格納したものである。
Figure 2009028060
色変換テーブルCは、パスワード配列Pを端末装置801の表示部802に表示する際の背景色を示しており、以下に示すように、0から9までの数値に対応する背景色の色指定コードを6桁の16進数(各2桁がRGBの各数値に対応する)で格納するものである。
Figure 2009028060
なお、本実施の形態では、パスワードの合計の長さを最大64として説明するが、長さはこれに限定するものではない。
また、パスワードの候補文字としては、7行10列のパスワード配列を用いるが、同様に配列の大きさはこれに限定するものではない。
次に動作について説明する。
図23及び図24は、端末装置801においてユーザ認証処理を行う際に実行される処理を示すフローチャートである。まず、ユーザが端末装置801を使って認証を行う場合に、入力部803より認証要求を受け付ける(S1001)。
このとき、外観設定部804は、応答値を格納する認証データ配列h[64]とv[64]の要素を0に初期化し、水平移動量mと垂直移動量nと入力カウンタkをそれぞれ0に初期化する(S1002)。
次に、ICカード808の乱数生成部806においてユーザの認証に必要な数の乱数のセットを生成する(S1003)。本実施の形態では、7行10列のパスワード配列を端末装置の画面上に表示するため、7個の10桁からなる乱数のセットを生成する。
次に、外観設定部804は、パスワード配列の各行各列について、生成した乱数のセットの値と2つの移動量mとnの値と色変換テーブルCから所定の演算により色指定コードを求める。
表示部802は、求められた色指定コードにより指定される背景色の上にパスワード文字を描画したユーザ認証画面を表示する(S1004)。ステップS1004で背景色の色コードを求める演算は、実施の形態1で示した式(1)の処理と同一である。
表示部802に文字として表示した背景色付のパスワード配列に対して、ユーザの入力キー値(入力値)を入力部803より受け付ける(S1005)。入力キーを受け付けると、認証判断部807が、入力されたキーの種別を判定する(S1006)。
入力されたキーの種別が選択キーの場合には、認証判断部807は、入力カウンタkの値が64より小さいかをチェックする(S1007)。kの値が64より小さい場合には、移動量mとnの値を、それぞれ認証データ配列h[k]とv[k]の値として記憶した後、入力カウンタkの値に1を加算し(S1008)、ステップS1004からの処理を繰り返す。
一方、ステップS1007において、入力カウンタkの値が64以上の場合には、既に確定数がパスワードの最大長に達したことを示す警告を表示し(ステップS1009)、ステップS1004からの処理を繰り返す。
入力されたキーの種別が左への移動キーであった場合には、認証判断部807は、水平移動量mから1を減算する(S1010)。次に、水平移動量mの値が0より小さくないかをチェックし(S1011)、0より小さな値の場合にはmに10を加算し(S1012)、ステップS1004からの処理を繰り返す。
入力されたキーの種別が右への移動キーであった場合には、認証判断部807は、水平移動量mに1を加算する(S1013)。次に、水平移動量mの値が9より大きくないかをチェックし(S1014)、9より大きな値の場合にはmから10を減算し(S1015)、ステップS1004からの処理を繰り返す。
入力されたキーの種別が上への移動キーであった場合には、認証判断部807は、垂直移動量nから1を減算する(S1016)。次に、垂直移動量nの値が0より小さくないかをチェックし(S1017)、0より小さな値の場合にはnに7を加算し(S1018)、ステップS1004からの処理を繰り返す。
入力されたキーの種別が下への移動キーであった場合には、認証判断部807は、垂直移動量nに1を加算する(S1019)。次に、垂直移動量nの値が6より大きくないかをチェックし(S1020)、6より大きな値の場合にはnから7を減算し(S1021)、ステップS1004からの処理を繰り返す。
入力されたキーの種別がクリアキーであった場合には、認証判断部807は、認証データ配列h[k]とv[k]の値に0を記憶し(S1022)、入力カウンタkの値が0より大きいかをチェックし(S1023)、0より大きな値の場合にはkから1を減算し(S1024)、ステップS1004からの処理を繰り返す。
入力されたキーの種別が認証キーであった場合には、認証判断部807は、乱数のセットと認証データ配列h[k]とv[k]と記憶部805に記憶されている1つ以上のパスワード文字列とパスワード色から認証の成否を判定し(S1025)、認証データが正しい場合には、端末装置801及びICカード808へのユーザのアクセスを許可し(S1026)、表示部802に認証の成功を表示する(S1026)。
一方、ステップS1025で認証データが正しくない場合には、表示部802に認証の失敗を表示する(S1027)。
ステップS1025で認証判断を行う演算は、実施の形態1で示した式(2)の処理と同一である。
端末装置801でステップS1005においてユーザからの応答を受け付ける際には、表示部802に実施の形態1と同じく図9に示すユーザ認証画面が表示される。
ユーザ認証画面の操作方法は実施の形態1と同様である。
全ての登録パスワード文字列についての認証操作を実行した後に、ユーザは認証ボタン304を押下することで、ステップS1025において認証データが正しいかがチェックされる。
このように、実施の形態4では、登録済みの各パスワード文字列の背景色を合わせるだけでパスワード文字列そのものを入力せずに認証を行うので、たとえ第三者が認証操作を盗み見ることができても、利用者がどの文字のどの背景色を合わせているかが分らないため、端末装置やICカードを利用する際に本人になりすまして認証されることを防ぐことができる。
また、ユーザは認証の都度、パスワード文字列毎に各文字共通に合わせる背景色を自由に変えることができる。また、認証時には、一以上のパスワード文字列を連続させて認証を行っている。
このため、第三者にとっては、認証に一体いくつのパスワードが使われているのか、さらに、個々のパスワードの長さも分らないため、高いセキュリティを保持したユーザ認証が行える。
また、ユーザが記憶する認証のためのデータとしては広く普及している従来の文字と数字からなるパスワードを用いることができる。ユーザにとっては、本認証方式に合わせて新たに特殊な形式のデータを憶える負担がなく、セキュリティを維持するためのパスワードの更新時の負荷も小さい。パスワードには、既に記憶しているものをそのまま使うこともできるし、記憶しているパスワードを途中で2つに分けて登録することもできる。
本実施の形態では、パスワードの外観として背景色を使用したが、図柄を含むファイル名を要素とする図柄変換テーブルを色変換テーブルに代えて使用することで、図10に示すようにユーザ認証画面にパスワード候補文字を異なる図柄と一緒に表示するようにすることも可能である。
以上、本実施の形態では、ユーザに対する認証を行う端末装置に挿入して使用され、前記端末装置とのデータの授受を行う集積回路(IC)カードについて説明した。
より具体的には、ユーザの1つ以上のパスワード文字列とパスワード文字列の外観を記憶する記憶部と、乱数を生成し、当該乱数を前記端末装置に提供する乱数生成部と、前記記憶部に記憶された各パスワード文字列とパスワード文字の外観と前記乱数部により生成された乱数と前記端末装置から取得した前記端末装置がキーからの入力値を受け付けて当該入力値に基づいて計算した前記乱数に対する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部とを有するICカードについて説明した。
最後に、実施の形態1−4に示した端末装置101、401、601、801及びサーバ装置106、408、607のハードウェア構成例について説明する。
図26は、実施の形態1−4に示す端末装置101、401、601、801及びサーバ装置106、408、607のハードウェア資源の一例を示す図である。
なお、図26の構成は、あくまでも端末装置101、401、601、801及びサーバ装置106、408、607のハードウェア構成の一例を示すものであり、端末装置101、401、601、801及びサーバ装置106、408、607のハードウェア構成は図26に記載の構成に限らず、他の構成であってもよい。
図26において、端末装置101、401、601、801及びサーバ装置106、408、607は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
通信ボード915は、図1に示すように、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、実施の形態1−4の説明において「・・・部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、実施の形態1−4の説明において、「・・・の判断」、「・・・の計算」、「・・・の比較」、「・・・の生成」、「・・・の更新」、「・・・の設定」、「・・・の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「・・・ファイル」や「・・・データベース」の各項目として記憶されている。
「・・・ファイル」や「・・・データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1−4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、実施の形態1−4の説明において「・・・部」として説明しているものは、「・・・回路」、「・・・装置」、「・・・機器」であってもよく、また、「・・・ステップ」、「・・・手順」、「・・・処理」であってもよい。すなわち、「・・・部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1−4の「・・・部」としてコンピュータを機能させるものである。あるいは、実施の形態1−4の「・・・部」の手順や方法をコンピュータに実行させるものである。
このように、実施の形態1−4に示す端末装置101、401、601、801及びサーバ装置106、408、607は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「・・・部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1に係る認証システムの構成例を示す図。 実施の形態1に係る端末装置における動作例を示すフローチャート図。 実施の形態1に係る端末装置における動作例を示すフローチャート図。 実施の形態1に係る端末装置のパスワード配列の外観設定動作の例を示すフローチャート図。 実施の形態1に係るサーバ装置における動作例を示すフローチャート図。 実施の形態1に係るサーバ装置の認証判定動作の例を示す図。 実施の形態1に係るパスワード配列の変換テーブルの例を示す図。 実施の形態1に係るユーザID入力画面の例を示す図。 実施の形態1に係るユーザ認証画面の例を示す図。 実施の形態1に係るユーザ認証画面の例を示す図。 実施の形態2に係る認証システムの構成例を示す図。 実施の形態2に係る端末装置における動作例を示すフローチャート図。 実施の形態2に係る端末装置における動作例を示すフローチャート図。 実施の形態2に係るパスワードの変更登録画面の例を示す図。 実施の形態2に係る端末装置における動作例を示すフローチャート図。 実施の形態2に係る端末装置における動作例を示すフローチャート図。 実施の形態2に係る端末装置における動作例を示すフローチャート図。 実施の形態2に係るサーバ装置における動作例を示すフローチャート図。 実施の形態3に係る認証システムの構成例を示す図。 実施の形態3に係る起動パスワード入力画面の例を示す図。 実施の形態3に係る端末装置における動作例を示すフローチャート図。 実施の形態4に係る認証システムの構成例を示す図。 実施の形態4に係る端末装置における動作例を示すフローチャート図。 実施の形態4に係る端末装置における動作例を示すフローチャート図。 従来技術を説明する図。 実施の形態1−4に係る端末装置及びサーバ装置のハードウェア構成例を示す図。
符号の説明
101 端末装置、102 表示部、103 入力部、104 外観設定部、105 端末通信部、106 サーバ装置、107 認証乱数生成部、108 認証判断部、109 管理部、110 認証通信部、111 応答値計算部、401 端末装置、402 表示部、403 入力部、404 外観設定部、405 端末通信部、406 端末乱数生成部、407 端末記憶部、408 サーバ装置、409 認証乱数生成部、410 認証判断部、411 管理部、412 認証通信部、413 応答値計算部、414 パスワード変換部、601 端末装置、602 表示部、603 入力部、604 外観設定部、605 端末通信部、606 ハッシュ値生成部、607 サーバ装置、608 認証乱数生成部、609 認証判断部、610 管理部、611 認証通信部、613 応答値計算部、614 パスワード変換部、801 端末装置、802 表示部、803 入力部、804 外観設定部、805 記憶部、806 乱数生成部、807 認証判断部、808 ICカード。

Claims (20)

  1. ユーザが利用する端末装置と、前記端末装置と通信を行ってユーザに対する認証を行う認証装置とを有する認証システムであって、
    前記端末装置は、
    前記認証装置より認証用乱数を受信し、認証用乱数に対する応答値を前記認証装置に送信する端末通信部と、
    入力値を受け付ける入力部と、
    前記端末通信部により受信された認証用乱数と前記入力部により受け付けられた入力値とに基づき、パスワード候補文字の外観を設定する外観設定部と、
    前記外観設定部により設定された外観のパスワード候補文字を表示する表示部と、
    前記入力部により受け付けられた入力値に基づいて前記応答値を計算する応答値計算部とを有し、
    前記認証装置は、
    ユーザのパスワード文字列を2つ以上記憶する管理部と、
    認証用乱数を生成する認証乱数生成部と、
    前記認証乱数生成部より生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記認証用乱数に対する応答値を受信する認証通信部と、
    前記管理部に記憶された各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と前記管理部に記憶されている各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部を有することを特徴とする認証システム。
  2. 前記管理部は、
    前記認証判断部による認証順序が指定されている2以上のパスワード文字列を記憶し、
    前記認証判断部は、
    前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を抽出し、各パスワード文字列に対応する応答値と各パスワード文字列とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、パスワード文字列ごとに、求めた最初のパスワード文字の外観と当該パスワード文字列と前記認証用乱数と当該パスワード文字列に対応する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行うことを特徴とする請求項1に記載の認証システム。
  3. 前記管理部は、
    パスワード長が相互に一定でない2以上のパスワード文字列を記憶し、
    前記認証判断部は、
    前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を各パスワード文字列のパスワード長に応じて抽出することを特徴とする請求項1又は2に記載の認証システム。
  4. 前記認証判断部は、
    パスワード文字列ごとに、前記端末装置により選択された2番目以降のパスワード文字の各々の外観を求め、求めた2番目以降のパスワード文字の各々の外観が最初のパスワード文字の外観に一致するか否かを判定する演算を行うことを特徴とする請求項1又は2に記載の認証システム。
  5. 前記外観設定部は、
    パスワード候補文字の外観として各文字の背景色を設定することを特徴とする請求項1又は2に記載の認証システム。
  6. 前記外観設定部は、
    パスワード候補文字の外観として各文字の背景に図柄を設定することを特徴とする請求項1又は2に記載の認証システム。
  7. ユーザが利用する端末装置と通信を行ってユーザに対する認証を行う認証装置であって、
    ユーザのパスワード文字列を2つ以上記憶する管理部と、
    認証用乱数を生成する認証乱数生成部と、
    前記認証乱数生成部により生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記端末装置が入力値を受け付けて当該入力値に基づいて計算した前記認証用乱数に対する応答値を受信する認証通信部と、
    前記管理部に記憶された各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と前記管理部に記憶されている各パスワード文字列と前記認証乱数生成部により生成された認証用乱数と前記認証通信部により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部を有することを特徴とする認証装置。
  8. 前記管理部は、
    前記認証判断部による認証順序が指定されている2以上のパスワード文字列を記憶し、
    前記認証判断部は、
    前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を抽出し、各パスワード文字列に対応する応答値と各パスワード文字列とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、パスワード文字列ごとに、求めた最初のパスワード文字の外観と当該パスワード文字列と前記認証用乱数と当該パスワード文字列に対応する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行うことを特徴とする請求項7に記載の認証装置。
  9. 前記管理部は、
    パスワード長が相互に一定でない2以上のパスワード文字列を記憶し、
    前記認証判断部は、
    前記認証判断部は、
    前記認証順序に従って、前記認証通信部により受信された応答値の中から各パスワード文字列に対応する応答値を各パスワード文字列のパスワード長に応じて抽出することを特徴とする請求項7又は8に記載の認証装置。
  10. 前記認証判断部は、
    パスワード文字列ごとに、前記端末装置により選択された2番目以降のパスワード文字の各々の外観を求め、求めた2番目以降のパスワード文字の各々の外観が最初のパスワード文字の外観に一致するか否かを判定する演算を行うことを特徴とする請求項7又は8に記載の認証装置。
  11. ユーザに対する認証を行う認証装置と通信を行う、ユーザが利用する端末装置であって、
    ユーザの変換前パスワード文字列を受け付ける変換前パスワード入力部と、
    パスワード変換用乱数を生成する端末乱数生成部と、
    前記認証装置による認証に用いられる複数のパスワード候補文字が配列されているパスワード配列を記憶するパスワード配列記憶部と、
    前記端末乱数生成部により生成されたパスワード変換用乱数と、前記パスワード配列記憶部に記憶されているパスワード配列とに基づき、前記変換前パスワード入力部により受け付けられた変換前パスワード文字列の変換を行うパスワード変換部とを有することを特徴とする端末装置。
  12. 前記パスワード配列記憶部は、
    それぞれに指定された位置に複数のパスワード候補文字の各文字が配置されているパスワード配列を記憶し、
    前記パスワード変換部は、
    前記変換前パスワード文字列を構成するパスワード文字ごとに一致するパスワード候補文字が配置されている前記パスワード配列での位置を判断し、判断した各パスワード候補文字の位置と前記パスワード変換用乱数とに基づき、前記変換前パスワード文字列の変換を行うことを特徴とする請求項11に記載の端末装置。
  13. 前記パスワード変換部は、
    前記変換前パスワード文字列を構成するパスワード文字ごとに一致するパスワード候補文字が配置されている前記パスワード配列での位置を判断し、判断した各パスワード候補文字の位置と前記パスワード変換用乱数とを用いて所定の演算を行い、前記変換前パスワード文字列のパスワード文字を演算結果の値に相当する位置に配置されているパスワード候補文字に置き換えて、前記変換前パスワード文字列の変換を行うことを特徴とする請求項11又は12に記載の端末装置。
  14. 前記端末装置は、更に、
    前記パスワード変換部により変換された変換後パスワード文字列を前記認証装置に送信する端末通信部を有することを特徴とする請求項11又は12に記載の端末装置。
  15. 前記変換前パスワード入力部は、
    パスワード変換用乱数の生成用の乱数生成用パスワード文字列を受け付け、
    前記端末乱数生成部は、
    前記パスワード入力部により受け付けられた乱数生成用パスワード文字列に対して一方向性演算を行って、パスワード変換用乱数を生成することを特徴とする請求項11又は12に記載の端末装置。
  16. 前記端末装置は、更に、
    入力値を受け付ける入力部と、
    パスワード候補文字の外観を変更する規則を示す外観変化パターンと前記パスワード変換用乱数を記憶する端末記憶部と、
    前記認証装置より認証用乱数を受信し、認証用乱数に対応する応答値を前記認証装置に送信する端末通信部と、
    前記端末通信部により受信された認証用乱数と、前記入力部により受け付けられた入力値と前記端末記憶部により記憶されている外観変化パターンと、前記パスワード配列記憶部に記憶されているパスワード配列とに基づき、パスワード候補文字の外観を設定する外観設定部と、
    前記外観設定部により設定された外観のパスワード候補文字を表示する表示部と、
    前記入力部により受け付けられた入力値と、前記端末記憶部に記憶されているパスワード変換用乱数とに基づき、前記応答値を計算する応答値計算部とを有することを特徴とする請求項11又は12に記載の端末装置。
  17. 前記表示部は、
    m行n列(m、nはともに任意の自然数)のマトリックスでパスワード候補文字を表示し、
    前記応答値計算部は、
    前記入力部により受け付けられた入力値と、前記端末記憶部に記憶されているパスワード変換用乱数と、前記表示部により表示されるマトリックスの行数及び列数とに基づき、前記応答値を計算することを特徴とする請求項16に記載の端末装置。
  18. ユーザに対する認証を行う端末装置に挿入して使用され、前記端末装置とのデータの授受を行う集積回路(IC)カードであって、
    ユーザの2つ以上のパスワード文字列とパスワード候補文字の外観を記憶する記憶部と、
    乱数を生成し、当該乱数を前記端末装置に提供する乱数生成部と、
    前記記憶部に記憶された各パスワード文字列とパスワード候補文字の外観と前記乱数部により生成された乱数と前記端末装置から取得した前記端末装置が入力値を受け付けて当該入力値に基づいて計算した前記乱数に対する応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断部とを有することを特徴とするICカード。
  19. ユーザが利用する端末装置と通信を行ってユーザに対する認証を行うコンピュータである認証装置に、
    認証用乱数を生成する認証乱数生成処理と、
    前記認証乱数生成処理により生成された認証用乱数を前記端末装置に送信し、前記端末装置より前記端末装置が入力値を受け付けて当該入力値に基づいて計算した前記認証用乱数に対する応答値を受信する認証通信処理と、
    前記認証装置の記憶領域に記憶されているユーザの2以上のパスワード文字列の各々と前記認証生成処理により生成された認証用乱数と前記認証通信処理により受信された応答値とを用いて前記端末装置により選択された各パスワード文字列の最初のパスワード文字の外観を求め、求めた各パスワード文字列の最初のパスワード文字の外観と前記記憶領域に記憶されている各パスワード文字列と前記認証乱数生成処理により生成された認証用乱数と前記認証通信処理により受信された応答値とを用いて所定の演算を行い、ユーザ認証の成否判断を行う認証判断処理を実行させることを特徴とするプログラム。
  20. ユーザに対する認証を行う認証装置と通信を行う、ユーザが利用するコンピュータである端末装置に、
    ユーザの変換前パスワード文字列を受け付ける変換前パスワード入力処理と、
    パスワード変換用乱数を生成する端末乱数生成処理と、
    前記端末乱数生成処理により生成されたパスワード変換用乱数と、前記端末装置の記憶領域に記憶されている、前記認証装置による認証に用いられる複数のパスワード候補文字が配列されているパスワード配列とに基づき、前記変換前パスワード入力処理により受け付けられた変換前パスワード文字列の変換を行うパスワード変換処理とを実行させることを特徴とするプログラム。
JP2009529909A 2007-08-29 2007-08-29 認証システム及び認証装置及び端末装置及びicカード及びプログラム Expired - Fee Related JP4959038B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/066795 WO2009028060A1 (ja) 2007-08-29 2007-08-29 認証システム及び認証装置及び端末装置及びicカード及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2009028060A1 true JPWO2009028060A1 (ja) 2010-11-25
JP4959038B2 JP4959038B2 (ja) 2012-06-20

Family

ID=40386804

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009529909A Expired - Fee Related JP4959038B2 (ja) 2007-08-29 2007-08-29 認証システム及び認証装置及び端末装置及びicカード及びプログラム

Country Status (3)

Country Link
JP (1) JP4959038B2 (ja)
CN (1) CN101779211B (ja)
WO (1) WO2009028060A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2858003B1 (en) 2012-05-29 2018-10-10 Toyota Jidosha Kabushiki Kaisha Authentication system and authentication method
TWI525467B (zh) 2013-10-31 2016-03-11 萬國商業機器公司 動態提供多因次式密碼/盤問鑑定的方法與電腦系統
CN104702580B (zh) * 2013-12-10 2017-12-29 北京安讯奔科技有限责任公司 多通讯渠道认证授权平台系统和方法
CN105279445A (zh) * 2014-06-09 2016-01-27 全宏科技股份有限公司 数据输入及传输方法与系统
CN104010301A (zh) * 2014-06-13 2014-08-27 曾宪钊 用于无线安全通讯的多元随机变码加密算法
CN105357210B (zh) * 2015-11-23 2018-04-13 贾如银 动态密码的生成方法
CN106658093B (zh) * 2016-12-27 2019-07-09 深圳市九洲电器有限公司 机顶盒与服务器的交互方法及系统
CN107423799B (zh) * 2017-08-13 2020-06-05 上海平欣电子科技有限公司 一种二维码生成系统
WO2021245786A1 (ja) * 2020-06-02 2021-12-09 三菱電機株式会社 パスワード認証装置、パスワード認証方法、及びパスワード認証プログラム
CN113111318A (zh) * 2021-03-29 2021-07-13 盛林妹 一种认证方法、实现认证的设备和智能锁

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0818473B2 (ja) * 1985-07-31 1996-02-28 トッパン・ムーア株式会社 機密水準を設定できるicカード
JPS63208150A (ja) * 1987-02-24 1988-08-29 Nec Corp パスワ−ドの管理方式
US5282247A (en) * 1992-11-12 1994-01-25 Maxtor Corporation Apparatus and method for providing data security in a computer system having removable memory
JP3694017B1 (ja) * 2004-06-30 2005-09-14 三菱電機株式会社 認証システム、認証装置、端末装置及びicカード
CN100492966C (zh) * 2004-11-26 2009-05-27 王小矿 基于智能卡和动态密码的身份认证系统

Also Published As

Publication number Publication date
CN101779211B (zh) 2012-12-12
WO2009028060A1 (ja) 2009-03-05
JP4959038B2 (ja) 2012-06-20
CN101779211A (zh) 2010-07-14

Similar Documents

Publication Publication Date Title
JP4959038B2 (ja) 認証システム及び認証装置及び端末装置及びicカード及びプログラム
JP3789462B2 (ja) 認証システム及び認証装置及び端末装置及び認証方法
JP4741629B2 (ja) アイコン暗号を用いた認証方法
KR100847532B1 (ko) 사용자의 행동 패턴 정보를 이용한 사용자 인증에 사용되는사용자 단말기 및 인증 장치
EP2849082B1 (en) Icon password setting apparatus and icon password setting method using keyword of icon
JP2007264929A (ja) ユーザ認証システム、ユーザ認証方法、操作端末及びサーバ等
KR20080011363A (ko) 그래픽 오티피 인증방법 및 이를 이용한 인증 시스템
CN107995158A (zh) 认证装置、认证方法、电子设备以及记录介质
US9858406B2 (en) Image-based user authentication
CN111882719A (zh) 一种基于动态密码的密码防盗方法、装置及智能锁具
JP2007086873A (ja) 認証装置及び認証方法
JP3694017B1 (ja) 認証システム、認証装置、端末装置及びicカード
JP4550513B2 (ja) パスワード生成装置、パスワード生成方法、パスワード生成システム、icカード、認証装置、認証方法及び認証システム
JP3790996B1 (ja) 暗証コード入力装置及びプログラム
JP4523944B2 (ja) パスワード生成装置及びicカード及び認証装置
JP2005092683A (ja) ユーザ認証システム
US9058476B2 (en) Method and image forming apparatus to authenticate user by using smart card
JP4540353B2 (ja) 認証システム及び端末装置
JP2002318904A (ja) 系列入力装置、個人認証システム及び系列照合システム、入力系列生成方法、個人認証方法及び系列照合方法、並びにプログラム
JP5227106B2 (ja) 候補出力プログラム及び候補出力サーバ
JP2007257176A (ja) 情報処理方法、情報処理装置、および情報処理プログラム
KR101647190B1 (ko) 모바일 단말 및 모바일 단말에서의 암호 입력 방법
JPWO2015145786A1 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
KR102574293B1 (ko) 전자 문서에 삽입되는 2차원 코드와의 연동을 통해 상기 전자 문서에 대한 저자 정보의 저장 및 조회를 가능하게 하는 블록체인 기반의 저자 정보 관리 서버 및 그 동작 방법
KR101721807B1 (ko) 모바일 단말 및 모바일 단말에서의 암호 입력 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120320

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4959038

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees