JP3977548B2 - ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体 - Google Patents

ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
JP3977548B2
JP3977548B2 JP11305899A JP11305899A JP3977548B2 JP 3977548 B2 JP3977548 B2 JP 3977548B2 JP 11305899 A JP11305899 A JP 11305899A JP 11305899 A JP11305899 A JP 11305899A JP 3977548 B2 JP3977548 B2 JP 3977548B2
Authority
JP
Japan
Prior art keywords
user
user authentication
calculation formula
authentication
password
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.)
Expired - Fee Related
Application number
JP11305899A
Other languages
English (en)
Other versions
JP2000305899A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11305899A priority Critical patent/JP3977548B2/ja
Priority to US09/441,081 priority patent/US7058613B1/en
Publication of JP2000305899A publication Critical patent/JP2000305899A/ja
Application granted granted Critical
Publication of JP3977548B2 publication Critical patent/JP3977548B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1025Identification of user by a PIN code
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4012Verifying personal identification numbers [PIN]
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ユーザ認証を行うユーザ認証装置及び方法と、カードの所有者の認証用に用意されるユーザ認証用カードと、ユーザ認証装置の実現に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体とに関し、特に、ユーザやシステムに負荷をかけることなく高いセキュリティを実現するユーザ認証装置及び方法と、ユーザやシステムに負荷をかけることなく高いセキュリティを実現するユーザ認証用カードと、そのユーザ認証装置の実現に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体とに関する。
【0002】
コンピュータ社会の発達により、様々な情報処理分野で、コンピュータを使ったユーザ認証が行われるようになってきた。このユーザ認証が誤ったり悪用されたりすると、個人に多大な損害を及ぼすとともに、社会に大きな混乱を招くことになる。これから、高いセキュリティを実現するユーザ認証技術の構築が叫ばれている。
【0003】
【従来の技術】
最も広く用いられているユーザ認証技術としては、ユーザに4桁などで定義される暗証番号を登録させる構成を採って、ユーザ認証の必要があるときに、ユーザに自分の暗証番号を入力させ、その入力させた暗証番号と登録されている暗証番号とが一致するのか否かをチェックしていくことで、正規のユーザであるのか否かをチェックしていくという方法がある。
【0004】
しかしながら、従来技術のように、絶対的な数値で定義される絶対的な暗証番号を用いる場合、ユーザが暗証番号を入力しているときに、その暗証番号を他人に見られてしまうと、その暗証番号の秘密性がなくなることで、高いセキュリティを実現できないという問題点がある。
【0005】
更に、従来技術のように、絶対的な数値で定義される絶対的な暗証番号を用いる場合、ユーザは、暗証番号として、電話番号や生年月日や住所番号など自分に関係する覚えやすい数値を用いることが多く、これから、この従来技術に従っていると、他人に暗証番号が知られる可能性が高いことで、高いセキュリティを実現できないという問題点もある。
【0006】
このような問題点の解決を図るために、特開昭63-170764 号で、ユーザに対して、計算式と固有値とを登録させる構成を採るとともに、ユーザ認証時に時間に依存して変化する変数を発生させる構成を採って、ユーザ認証の必要があるときに、発生変数をその計算式に代入した結果がその固有値となる数値をユーザに入力させ、その入力させた数値とシステムの計算結果とが一致するのか否かをチェックしていくことで、正規のユーザであるのか否かをチェックするという技術が開示された。
【0007】
この特開昭63-170764 号で開示されたユーザ認証技術では、例えば、ユーザは、予め計算式「x+y」と固有値「z0 =7」とを登録しておき、時間に依存して変化する変数xの値として「3」が表示されるときには、「x+y=7」を実現する「y=4」を入力していくことで、本人であることを入力できるようになる。
【0008】
【発明が解決しようとする課題】
確かに、特開昭63-170764 号で開示されたユーザ認証技術に従うと、ユーザは、暗証番号のような固定の数値を入力する訳ではないので、入力する数値が他人に見られてしまっても秘密性を保持でき、高いセキュリティを実現できるというメリットが得られる。
【0009】
しかしながら、この特開昭63-170764 号で開示されたユーザ認証技術に従うと、ユーザは、自分の登録した計算式と固有値との両方を覚えていなければならないとともに、固有値から逆算していくという暗算を行わなければならず、大きな負荷を強いられるという問題点がある。
【0010】
更に、システムは、ユーザの登録した計算式と固有値との両方をメモリに記憶しなければならず、大きなメモリ容量を強いられるという問題点がある。
【0011】
本発明はかかる事情に鑑みてなされたものであって、ユーザやシステムに負荷をかけることなく高いセキュリティを実現する新たなユーザ認証装置及び方法の提供と、ユーザやシステムに負荷をかけることなく高いセキュリティを実現する新たなユーザ認証用カードの提供と、そのユーザ認証装置の実現に用いられるプログラムを記録した新たなコンピュータ読み取り可能な記録媒体の提供とを目的とする。
【0012】
【課題を解決するための手段】
〔1〕本発明のユーザ認証装置の構成
上記の目的を達成するために、本発明のユーザ認証装置は、ユーザ認証を行うために、(イ)ユーザIDとユーザ認証対象に対応した計算式との対応関係を記憶する記憶手段と、(ロ)記憶手段の記憶データから、指定されるユーザIDに対応付けられる計算式を特定する特定手段と、(ハ)ユーザに提示される乱数と特定手段の特定した計算式とから、ユーザ認証に用いる数値を算出する算出手段と、(ニ)乱数の提示に応答して入力されてくる数値と、算出手段の算出した数値とが一致するのか否かを判断する判断手段と、(ホ)ユーザから入力されてくる確認用の計算式と、記憶手段に記憶されるそのユーザのIDの指す計算式とが一致することを条件にして、ユーザから入力されてくる更新対象の計算式に従って、記憶手段に記憶される計算式を更新する更新手段とを備えるように構成する。
この構成を採るときに、算出手段は、記憶手段に記憶される計算式が演算子を含まない数字列である場合には、その数字列を算出結果とすることがある。
また、算出手段は、記憶手段に記憶される計算式がユーザ認証時に応じて変化する変数値を含む場合には、ユーザに提示する乱数とユーザ認証対象に対応した計算式とその変数値とから、ユーザ認証に用いる数値を算出することがある。
以上の各処理手段はコンピュータプログラムでも実現できるものであり、このコンピュータプログラムは、フロッピィディスクなどに格納されたり、サーバなどのディスクなどに格納され、それらからユーザ認証装置にインストールされてメモリ上で動作することで、本発明を実現することになる。
このように構成される本発明のユーザ認証装置では、特定手段が、ユーザIDとユーザ認証対象に対応した計算式との対応関係を記憶する記憶手段の記憶データから、指定されるユーザIDに対応付けられる計算式を特定すると、算出手段が、ユーザに提示される乱数と特定手段の特定した計算式とから、ユーザ認証に用いる数値を算出し、これを受けて、判断手段が、乱数の提示に応答して入力されてくる数値と、算出手段の算出した数値とが一致するのか否かを判断する。そして、更新手段が、ユーザから入力されてくる確認用の計算式と、記憶手段に記憶される該ユーザのIDの指す計算式とが一致することを条件にして、ユーザから入力されてくる更新対象の計算式に従って、記憶手段に記憶される計算式を更新する。
〔2〕本発明のユーザ認証用カードの構成
上記の目的を達成するために本発明のユーザ認証用カードは、カードの所有者の認証用に用意されて、コンピュータが読み取り可能なメモリを有するときにあって、そのメモリに、ユーザIDを記録することに加えて、1つ又は複数の変数を持つユーザ認証対象に対応した計算式であって、ユーザに提示される乱数がその変数に代入されるときに算出される数値をユーザ認証に用いる数値として発生する計算式を記録するように構成される。
この構成を採るときに、本発明のユーザ認証用カードは、さらに、計算式に代入される乱数を発生する乱数発生手段を備えることがある。
次に、図1に示す本発明の原理構成図に従って、本発明の概要について説明する。
【0013】
図中、1は本発明を具備するユーザ認証装置であって、ユーザ認証処理を実行するもの、2はユーザ認証装置1の備える端末であって、ユーザとの対話手段となるものである。
【0014】
本発明のユーザ認証装置1は、管理手段10と、登録更新手段11と、乱数発生手段12と、特定手段13と、算出手段14と、判断手段15とを備える。
【0015】
この管理手段10は、ユーザIDとユーザ認証対象に対応した計算式(単なる数字列のこともある)との対応関係を管理する。登録更新手段11は、ユーザと対話することで、管理手段10に計算式を登録したり、管理手段10に登録される計算式を更新する。乱数発生手段12は、規定の数の数字列からなる乱数(1つの数字のこともある)を発生してユーザに提示する。
【0016】
特定手段13は、管理手段10の管理データから、指定されるユーザIDに対応付けられる計算式を特定する。算出手段14は、乱数発生手段12の発生する乱数と特定手段13の特定する計算式とから、ユーザ認証に用いる数値を算出する。判断手段15は、乱数発生手段12の提示する乱数に応答して入力されてくる数値と、算出手段14の算出する数値とが一致するのか否かを判断することでユーザ認証を実行する。
【0017】
ここで、本発明のユーザ認証装置1の持つ機能は具体的にはプログラムで実現されるものであり、このプログラムは、フロッピィディスクなどに格納されたり、サーバなどのディスクなどに格納され、それらからユーザ認証装置1にインストールされてメモリ上で動作することで、本発明を実現することになる。
【0018】
このように構成される本発明のユーザ認証装置1では、登録更新手段11は、端末2から入力されてくる計算式(単なる数字列のこともある)を受け取り、ユーザIDとの対応を取りつつ、その計算式を管理手段10に登録することで、管理手段10に対して、ユーザIDとユーザ認証対象に対応した計算式との対応関係を登録する。そして、管理手段10に登録した計算式の更新要求があるときには、端末2から、その計算式と一致する計算式が入力されてくることを条件にして、その計算式に代わる新たな計算式を受け取り、それに従って管理手段10に登録した計算式を更新する。
【0019】
このようにして、登録更新手段11の処理に従って、管理手段10に、ユーザIDとユーザ認証対象に対応した計算式(単なる数字列のこともある)との対応関係が管理されることになる。
【0020】
この管理手段10の管理データを受けて、ユーザIDを指定してユーザ認証の要求が発行されると、特定手段13は、管理手段10の管理データから、そのユーザIDに対応付けられる計算式を特定する。一方、乱数発生手段12は、乱数を発生して、端末2のディスプレイ画面に表示するとともに、その発生した乱数を算出手段14に通知する。
【0021】
これを受けて、算出手段14は、乱数発生手段12の発生した乱数と特定手段13の特定した計算式とから、ユーザ認証に用いる数値を算出する。そして、判断手段15は、乱数発生手段12の提示した乱数に応答して端末2からの入力されてくる数値と、算出手段14の算出した数値とが一致するのか否かを判断することでユーザ認証を実行する。
【0022】
このときに、算出手段14は、計算式として演算子を含まない数字列が特定される場合には、その数字列を算出結果としていくことで、従来から用いられている数字列の暗証番号の利用を可能にする。
【0023】
また、算出手段14は、計算式がユーザ認証時に応じて変化する変数値(例えば、ユーザ認証時が1月〜12月のときに、それらの月のそれぞれに数字“1”〜“12”を割り付けるような場合)を含む場合には、乱数発生手段12の発生した乱数と特定手段13の特定した計算式とその変数値とから、ユーザ認証に用いる数値を算出することになる。
【0024】
ここで、ユーザ認証時に応じて変化する変数値としては、ユーザ認証時の年月日(yyyy.mm.dd)、時刻(hh.mm.ss)、AM/PM(“AM”=0、“PM”=1など)、曜日(“月曜日”=1、“火曜日”=2、・・・など)の一部又は全てを組み合わせて用いることができる。
【0025】
このようにして、本発明のユーザ認証装置1では、ユーザ認証対象に対応した計算式を登録し、乱数を発生してユーザに提示する構成を採って、暗証番号の代わりに、その乱数の提示に応答してユーザから入力される数値と、その計算式とその乱数とから算出される数値との一致をチェックしていくことでユーザ認証を実行する構成を採ることから、ユーザの入力する数値が他人に見られてしまっても秘密性を保持でき、高いセキュリティを実現できるようになる。
【0026】
そして、ネットワーク環境で使用される場合に、ユーザ認証対象に対応した計算式を転送しない構成を採ることで、暗証番号を転送する従来技術に比べて、高いセキュリティを実現できるようになる。
【0027】
しかも、特開昭63-170764 号で開示されたユーザ認証技術に従うと、ユーザは計算式と固有値との両方を覚えなくてはならないのに対して、本発明では、ユーザは計算式のみを覚えれば足りるとともに、特開昭63-170764 号で開示されたユーザ認証技術に従うと、システムは計算式と固有値との両方をメモリに記憶しなければならないのに対して、本発明では、システムは計算式のみを記憶すれば足り、これにより、ユーザやシステムに負荷をかけることなく高いセキュリティを実現できるようになる。
【0028】
そして、本発明のユーザ認証装置1に合わせて、カードの所有者の認証用に用意される本発明のユーザ認証用カードでは、暗証番号に代えて、ユーザ認証対象に対応した計算式を記録する構成を採り、これにより、従来技術よりも高いセキュリティを実現できるようになる。
【0029】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【0030】
図2に、本発明を具備する情報処理装置20の一実施例を図示する。
【0031】
この実施例に従う本発明を具備する情報処理装置20は、CRTなどのディスプレイ装置21と、マウスなどの入力装置22と、ユーザ認証処理に必要となるデータを格納する認証用管理ファイル23と、フロッピィディスクや回線などを介してインストールされて、認証用管理ファイル23の管理データの登録更新処理を実行する認証用管理プログラム24と、フロッピィディスクや回線などを介してインストールされて、認証用管理ファイル23の管理データを使ってユーザ認証処理を実行する認証プログラム25とを備える。
【0032】
図3に、認証用管理ファイル23の管理データの一実施例を図示する。
【0033】
この図に示すように、認証用管理ファイル23は、ユーザのIDと、そのユーザの登録したパスワードロジック(暗証番号のこともある)との対応関係を管理する。
【0034】
このパスワードロジックは、認証プログラム25の発生する乱数に対する計算式を定義するものであって、この図の例では、例えば、ユーザID“000005”のユーザは、“ABCD”という数字列で表される乱数に対して、数字Aと数字Bとの差分値を算出するというパスワードロジックを定義して、それを認証用管理ファイル23に登録し、また、ユーザID“000004”のユーザは、パスワードロジックの代わりに従前通りの“5384”という数字列で表される暗証番号を定義して、それを認証用管理ファイル23に登録している。
【0035】
図3の実施例では、説明の便宜上、認証用管理ファイル23に格納されるパスワードロジックを一般的な算術式で記載したが、この計算式は、実際には、例えば逆ポーランド法のような記述形式で記憶されることになる。
【0036】
逆ポーランド法の記述形式に従うと、図中に示す「10×A」は「10A*」、「A×A」は「AA*」、「A÷B」は「AB/」、「A−B」は「AB−」、「(B−A)+C」は「BA−C+」、「((A−B)×5)÷2」は「AB−5*2/」と表される。このような記述形式に従う方のが分かり難いので、セキュリティを高めることができる。
【0037】
図4及び図5に、認証用管理プログラム24の実行する処理フローの一実施例、図6及び図7に、認証プログラム25の実行する処理フローの一実施例を図示する。次に、これらの処理フローに従って、図2のように構成される実施例の処理について説明する。
【0038】
認証用管理プログラム24は、ユーザからパスワードロジックの登録要求が発行されると、図4の処理フローに示すように、先ず最初に、ステップ1で、ディスプレイ装置21に、図8に示すようなパスワードロジック登録画面を表示する。
【0039】
続いて、ステップ2で、このパスワードロジック登録画面を使ってユーザと対話することで、ユーザIDを入力し、続くステップ3で、このパスワードロジック登録画面を使ってユーザと対話することで、ユーザの定義するパスワードロジックを入力する。
【0040】
後述するように、認証プログラム25は数字列“ABCD”(各数字は0か自然数)で表される4桁の乱数を発生するので、ユーザは、自分のパスワードロジックとして、これらの数字A/数字B/数字C/数字Dに対する四則演算(全ての数字を使う必要はない。括弧を使うことも許される)を定義することができ、認証用管理プログラム24は、このユーザの定義するパスワードロジックを入力することになる。ここで、ユーザは、従前通りの暗証番号を使用することを希望するときには、4桁で定義される暗証番号を入力するので、このときには、認証用管理プログラム24は、このユーザの定義する暗証番号を入力することになる。
【0041】
続いて、ステップ4で、ユーザがパスワードロジック登録画面の終了ボタン(登録実行を指示するボタン)を操作したのか否かを判断して、終了ボタンではなくてキャンセルボタンを操作したことを判断するときには、そのまま処理を終了し、終了ボタンを操作したことを判断するときには、ステップ5に進んで、そのユーザのパスワードロジックが既に認証用管理ファイル23に登録されているのか否かを判断する。
【0042】
このステップ5の判断処理に従って、そのユーザのパスワードロジックが既に認証用管理ファイル23に登録されていることを判断するときには、ステップ6に進んで、ステップ3で入力したパスワードロジックの登録不可を表示すべく、ディスプレイ装置21に、既にパスワードロジックが登録されている旨を出力して処理を終了する。
【0043】
一方、ステップ5で、そのユーザのパスワードロジックが未だ認証用管理ファイル23に登録されていないことを判断するときには、ステップ7に進んで、ステップ3で入力したパスワードロジックをそのユーザのIDと対応をとりつつ、認証用管理ファイル23に登録して処理を終了する。
【0044】
このようにして、認証用管理プログラム24は、ユーザからパスワードロジックの登録要求が発行されると、ユーザの定義するパスワードロジックを認証用管理ファイル23に登録していくように処理するのである。
【0045】
一方、認証用管理プログラム24は、ユーザから認証用管理ファイル23に登録したパスワードロジックの更新要求が発行されると、図5の処理フローに示すように、先ず最初に、ステップ1で、ディスプレイ装置21に、図8に示したようなパスワードロジック登録画面を表示する。
【0046】
続いて、ステップ2で、このパスワードロジック登録画面を使ってユーザと対話することで、ユーザIDを入力し、続くステップ3で、このパスワードロジック登録画面を使ってユーザと対話することで、そのユーザが前回登録したパスワードロジックを入力する。
【0047】
続いて、ステップ4で、ユーザがパスワードロジック登録画面のOKボタン(前回登録したパスワードロジックの入力完了を示すボタン)を操作するのを待って、OKボタンを操作したことを判断するときには、ステップ5に進んで、認証用管理ファイル23を参照することで、そのユーザが前回登録したパスワードロジックを取得する。
【0048】
続いて、ステップ6で、ステップ5で取得したパスワードロジックと、ステップ3で入力したパスワードロジックとが一致するのか否かを判断して、一致しないことを判断するときには、前回登録のパスワードロジックを知らなかったことで正規のユーザではないと判断して、パスワードロジックの更新を不許可とすべく、そのまま処理を終了する。
【0049】
一方、ステップ6で、2つのパスワードロジックが一致することを判断するときには、ステップ7に進んで、パスワードロジック登録画面を使ってユーザと対話することで、更新する新たなパスワードロジックを入力する。
【0050】
続いて、ステップ8で、ユーザがパスワードロジック登録画面の終了ボタン(登録実行を指示するボタン)を操作したのか否かを判断して、終了ボタンではなくてキャンセルボタンを操作したことを判断するときには、そのまま処理を終了し、終了ボタンを操作したことを判断するときには、ステップ9に進んで、ステップ7で入力した新たなパスワードロジックに従って、認証用管理ファイル23に管理されるそのユーザのパスワードロジックを更新して処理を終了する。
【0051】
このようにして、認証用管理プログラム24は、ユーザからパスワードロジックの更新要求が発行されると、ユーザが認証用管理ファイル23に管理される前回登録したパスワードロジックを知っていることを条件にして、認証用管理ファイル23に管理されるパスワードロジックを更新していくように処理するのである。
【0052】
以上に説明した図4及び図5の処理フローに従って、図3に示したように、認証用管理ファイル23には、ユーザのIDと、そのユーザの登録したパスワードロジック(暗証番号のこともある)との対応関係が登録されることになる。
【0053】
この認証用管理ファイル23の管理データを受けて、ユーザから認証要求要求が発行されると、認証プログラム25は、図6及び7の処理フローに従って、そのユーザの認証処理を実行する。
【0054】
すなわち、認証プログラム25は、ユーザから認証要求が発行されると、図6及び図7の処理フローに示すように、先ず最初に、ステップ1で、数字列“ABCD”で表される4桁の乱数を発生し、続くステップ2で、ディスプレイ装置21に、図9に示すようなパスワード入力画面を表示して、そこに、この発生した乱数をユーザへの提示値として表示する。例えば、“4361”という乱数を発生して、これをパスワード入力画面に表示するのである。
【0055】
続いて、ステップ3で、このパスワード入力画面を使ってユーザと対話することで、ユーザIDとパスワードとを入力する。
【0056】
このときユーザの入力するパスワードは、認証プログラム25の発生した4桁の乱数の持つ数字A/数字B/数字C/数字Dを、そのユーザが認証用管理ファイル23に登録したパスワードロジックに代入することで求められることになる。例えば、認証プログラム25が“4361”という乱数を発生するときに、ユーザが「A+B+C+D」というパスワードロジックを登録しているときには、ユーザは、「4+3+6+1」により求められる“14”というパスワードを求めて、それをパスワード入力画面に入力することになる。
【0057】
このとき、認証プログラム25は、パスワードロジックに分母が“0”となる割算が存在するときには、その割算結果を“0”として扱うという規約にしているので、ユーザは、その規約に従ってパスワードを算出することになる。また、認証プログラム25は、パスワードロジックに剰余のでる割算が存在するときには、小数点以下を切り捨てるという規約にしているので、ユーザは、その規約に従ってパスワードを算出することになる。また、認証プログラム25は、パスワードロジックの演算結果が負となるときには、その演算結果の絶対値をとるという規約にしているので、ユーザは、その規約に従ってパスワードを算出することになる。
【0058】
また、ユーザは、認証用管理ファイル23に従前通りの暗証番号を登録しているときには、その暗証番号をそのままパスワードとして、パスワード入力画面に入力することになる。
【0059】
このようにして、ステップ3で、ユーザからユーザID及びパスワードを入力すると、続いて、ステップ4で、その入力したユーザIDが認証用管理ファイル23に登録されているのか否かを判断して、登録されていることを判断するときには、ステップ5に進んで、認証用管理ファイル23を参照することで、そのユーザの登録したパスワードロジックを取得する。
【0060】
続いて、ステップ6で、ステップ1で発生した乱数を分解することで、数字A/数字B/数字C/数字Dの値を得る。続いて、ステップ7で、その得た値をステップ5で取得したパスワードロジックに代入することで、ユーザの入力したパスワードに対応する演算値を算出する。
【0061】
このとき、認証プログラム25は、パスワードロジックに分母が“0”となる割算が存在するときには、その割算結果を“0”として扱うという規約に従って演算値を算出し、パスワードロジックに剰余のでる割算が存在するときには、小数点以下を切り捨てるという規約に従って演算値を算出し、パスワードロジックの演算結果が負となるときには、その演算結果の絶対値をとるという規約に従って演算値を算出し、パスワードロジックとして従前通りの暗証番号が登録されているときには、その暗証番号をそのまま演算値として算出していくように処理する。
【0062】
続いて、ステップ8で、ステップ3で入力したパスワードと、ステップ7で算出した演算値とを照合することでユーザ認証処理を実行し、続くステップ9で、その照合により2つのパスワードの一致が検出されたのか否かを判断して、2つのパスワードの一致が検出されるときには、ステップ10に進んで、図示しない業務プログラムに対してユーザ認証完了を出力することで、その業務プログラムに対して処理に入ることを指示する。
【0063】
一方、ステップ4で、入力したユーザIDが認証用管理ファイル23に登録されていないことを判断するときと、ステップ9で、2つのパスワードが一致しないことが検出されるときには、ステップ11(図9の処理フロー)に進んで、ユーザ認証処理を規定回数トライしたのか否かを判断して、規定回数トライしたことを判断するときには、ステップ12に進んで、ディスプレイ装置21に、ユーザ認証エラーを出力して処理を終了する。
【0064】
そして、ステップ11で、ユーザ認証処理を規定回数トライしていないことを判断するときには、ステップ13に進んで、トライ回数を1つカウントアップしてから、ステップ1に戻っていくことで、上述のユーザ認証処理を再度実行していく。
【0065】
このようにして、認証プログラム25は、ユーザから認証要求が発行されると、図6及び図7の処理フローに従って、認証用管理ファイル23に登録されたユーザ定義のパスワードロジックとユーザに提示する乱数とから算出される演算値と、その乱数の提示に応答してユーザが入力してくるパスワードとが一致するのか否かをチェックしていくことで、ユーザ認証処理を実行するように処理するのである。
【0066】
このユーザ認証処理に従って、ユーザの入力する数値が他人に見られてしまっても秘密性を保持でき、高いセキュリティを実現できるようになる。そして、ユーザはパスワードロジックのみを覚えれば足りるとともに、システムはパスワードロジックのみを記憶すれば足り、これにより、ユーザやシステムに負荷をかけることなく高いセキュリティを実現できるようになる。
【0067】
しかも、従来技術で用いる暗証番号によるユーザ認証処理もそのまま併用できることから、暗証番号を用いたいと希望するユーザの要望にもそのまま対応できることになる。
【0068】
図10に、本発明の他の実施例を図示する。
【0069】
この実施例は、ネットワーク環境で動作する流通管理システムに対して、本発明を適用したものである。
【0070】
この実施例に従う本発明を具備する流通管理システムは、ユーザ認証処理を実行する認証用サーバ30と、流通側に設置される複数の流通端末40と、認証用サーバ30と流通端末40との間を接続するネットワーク50とで構成されている。
【0071】
この認証用サーバ30は、図2に示した認証用管理ファイル23と同一のデータを管理する認証用管理ファイル31と、フロッピィディスクや回線などを介してインストールされて、認証用管理ファイル31の管理データの登録更新処理を実行する認証用管理プログラム32と、フロッピィディスクや回線などを介してインストールされて、認証用管理ファイル31の管理データを使ってユーザ認証処理を実行する認証プログラム33とを備える。
【0072】
一方、流通端末40は、CRTなどのディスプレイ装置41と、マウスなどの入力装置42と、フロッピィディスクや回線などを介してインストールされて、ユーザ認証処理のための対話処理を実行する対話プログラム43とを備える。
【0073】
図11/図13/図14/図17に、対話プログラム43の実行する処理フローの一実施例、図12/図15/図16に、認証用管理プログラム32の実行する処理フローの一実施例、図18に、認証プログラム33の実行する処理フローの一実施例を図示する。次に、これらの処理フローに従って、図10のように構成される実施例の処理について説明する。
【0074】
先ず最初に、図11及び図12の処理フローに従って、認証用管理ファイル31に対するパスワードロジックの登録処理について説明する。
【0075】
流通端末40に展開される対話プログラム43は、ユーザから認証用管理ファイル31に対するパスワードロジックの登録要求が発行されると、図11の処理フローに示すように、先ず最初に、ステップ1で、ディスプレイ装置41に、図8に示したようなパスワードロジック登録画面を表示する。
【0076】
続いて、ステップ2で、このパスワードロジック登録画面を使ってユーザと対話することで、ユーザIDを入力し、続くステップ3で、このパスワードロジック登録画面を使ってユーザと対話することで、ユーザの定義するパスワードロジック(図2の実施例で入力したパスワードロジックと同じもの)を入力する。
【0077】
続いて、ステップ4で、ユーザがパスワードロジック登録画面の終了ボタン(登録実行を指示するボタン)を操作したのか否かを判断して、終了ボタンではなくてキャンセルボタンを操作したことを判断するときには、そのまま処理を終了し、終了ボタンを操作したことを判断するときには、ステップ5に進んで、入力したユーザIDとパスワードロジックとを認証用管理プログラム32に送信する。
【0078】
後述するように、認証用管理プログラム32は、この送信に応答して、対話プログラム43の送信したパスワードロジックの登録ができたのか否かを示す情報を返信してくるので、続いて、ステップ6で、認証用管理プログラム32からの返信情報を待って、この返信情報を受け取ると、続くステップ7で、この返信情報がパスワードロジックの登録完了を示す情報であるのか否かを判断する。
【0079】
この判断処理に従って、認証用管理プログラム32からパスワードロジックの登録完了を示す情報が返信されてきたことを判断するときには、そのまま処理を終了し、登録できない旨の情報が返信されてきたことを判断するときには、ステップ8に進んで、ディスプレイ装置41に、パスワードロジックを登録できない旨を出力して処理を終了する。
【0080】
この図11の処理フローで示した対話プログラム43の処理を受けて、認証用サーバ30に展開される認証用管理プログラム32は、対話プログラム43がパスワードロジックの登録要求を発行すると、図12の処理フローに示すように、先ず最初に、ステップ1で、対話プログラム43から送られてくるユーザIDと登録要求のパスワードロジックとを受け取る。
【0081】
続いて、ステップ2で、その受け取ったユーザIDの指すユーザのパスワードロジックが既に認証用管理ファイル31に登録されているのか否かを判断して、既に登録されていることを判断するときには、ステップ3に進んで、対話プログラム43に対して、登録要求のパスワードロジックを登録できない旨を返信して処理を終了する。
【0082】
一方、ステップ2で、受け取ったユーザIDの指すユーザのパスワードロジックが認証用管理ファイル31に登録されていないことを判断するときには、ステップ4に進んで、受け取った登録要求のパスワードロジックを受け取ったユーザIDと対応をとりつつ、認証用管理ファイル31に登録し、続くステップ5で、対話プログラム43に対して、登録要求のパスワードロジックの登録を完了した旨を返信して処理を終了する。
【0083】
このようにして、対話プログラム43と認証用管理プログラム32とは、ユーザからパスワードロジックの登録要求が発行されると、ネットワーク50を介して連携処理を実行しつつ、ユーザの定義するパスワードロジックを認証用管理ファイル31に登録していくように処理するのである。
【0084】
次に、図13ないし図16の処理フローに従って、認証用管理ファイル31に管理されるパスワードロジックの更新処理について説明する。
【0085】
流通端末40に展開される対話プログラム43は、ユーザから認証用管理ファイル31に登録したパスワードロジックの更新要求が発行されると、図13の処理フローに示すように、先ず最初に、ステップ1で、ディスプレイ装置41に、図8に示したようなパスワードロジック登録画面を表示する。
【0086】
続いて、ステップ2で、このパスワードロジック登録画面を使ってユーザと対話することで、ユーザIDを入力し、続くステップ3で、このパスワードロジック登録画面を使ってユーザと対話することで、そのユーザが前回登録したパスワードロジックを入力する。
【0087】
続いて、ステップ4で、ユーザがパスワードロジック登録画面のOKボタン(前回登録したパスワードロジックの入力完了を示すボタン)を操作するのを待って、OKボタンを操作したことを判断するときには、ステップ5に進んで、入力したユーザIDとパスワードロジック(ユーザが前回登録したもの)とを認証用管理プログラム32に送信する。
【0088】
後述するように、認証用管理プログラム32は、この送信に応答して、対話プログラム43の発行するパスワードロジックの更新要求が実行できるのか否かを示す情報を返信してくるので、続いて、ステップ6で、認証用管理プログラム32からの返信情報を待って、この返信情報を受け取ると、続くステップ7で、この返信情報がパスワードロジックの更新の可能を示す情報であるのか否かを判断する。
【0089】
この判断処理に従って、認証用管理プログラム32からパスワードロジックの更新不可能を示す情報が返信されてきたことを判断するときには、ステップ8に進んで、ディスプレイ装置41に、パスワードロジックを更新できない旨を出力して処理を終了する。
【0090】
一方、ステップ7で、認証用管理プログラム32からパスワードロジックの更新可能を示す情報が返信されてきたことを判断するときには、ステップ9に進んで、パスワードロジック登録画面を使ってユーザと対話することで、更新する新たなパスワードロジックを入力する。
【0091】
続いて、ステップ10(図14の処理フロー)で、ユーザがパスワードロジック登録画面の終了ボタン(登録実行を指示するボタン)を操作したのか否かを判断して、終了ボタンではなくてキャンセルボタンを操作したことを判断するときには、そのまま処理を終了し、終了ボタンを操作したことを判断するときには、ステップ11に進んで、ユーザIDとステップ9で入力したパスワードロジック(更新要求のもの)とを認証用管理プログラム32に送信する。
【0092】
後述するように、認証用管理プログラム32は、この送信に応答して、対話プログラム43の送信したパスワードロジックの登録ができたことを示す情報を返信してくるので、続いて、ステップ12で、認証用管理プログラム32からの返信情報を待って、この返信情報を受け取ると、処理を終了する。
【0093】
この図13及び図14の処理フローに示した対話プログラム43の処理を受けて、認証用サーバ30に展開される認証用管理プログラム32は、対話プログラム43がパスワードロジックの更新要求を発行すると、図15及び図16の処理フローに示すように、先ず最初に、ステップ1で、対話プログラム43から送られてくるユーザIDと前回登録のパスワードロジックとを受け取る。
【0094】
続いて、ステップ2で、認証用管理ファイル31を参照することで、その受け取ったユーザIDの指すパスワードロジックを取得する。続いて、ステップ3で、ステップ2で取得したパスワードロジックと、ステップ1で受け取ったパスワードロジックとが一致するのか否かを判断して、一致しないことを判断するときには、ステップ4に進んで、対話プログラム43に対して、パスワードロジックを更新できない旨を返信して処理を終了する。
【0095】
一方、ステップ3で、2つのパスワードロジックが一致することを判断するときには、ステップ5に進んで、対話プログラム43に対して、パスワードロジックを更新できる旨を返信する。
【0096】
上述したように、対話プログラム43は、認証用管理プログラム32からパスワードロジックの更新が可能である旨の通知を受け取ると、ユーザIDと更新要求のパスワードロジックとを送信してくるので、続いて、ステップ6で、対話プログラム43から、ユーザIDと更新要求のパスワードロジックとが送られてくるのを待って、それを受け取る。
【0097】
続いて、ステップ7(図16の処理フロー)で、その受け取った更新要求のパスワードロジックに従って、認証用管理ファイル31に管理されるその受け取ったユーザIDの指すパスワードロジックを更新し、続くステップ8で、対話プログラム43に対して、パスワードロジックの更新完了を通知して処理を終了する。
【0098】
このようにして、対話プログラム43と認証用管理プログラム32とは、ユーザからパスワードロジックの更新要求が発行されると、ネットワーク50を介して連携処理を実行しつつ、ユーザが前回登録のパスワードロジックを知っていることを条件にして、認証用管理ファイル31に管理されるパスワードロジックを更新していくように処理するのである。
【0099】
以上に説明した図11ないし図16の処理フローに従って、図3に示したように、認識用サーバ30の備える認証用管理ファイル31には、ユーザのIDと、そのユーザの登録したパスワードロジック(暗証番号のこともある)との対応関係が登録されることになる。
【0100】
この認証用管理ファイル31の管理データを受けて、ユーザから認証要求が発行されると、対話プログラム43と認証用管理プログラム32とは、ネットワーク50を介して連携処理を実行しつつ、そのユーザの認証処理を実行する。
【0101】
次に、図17及び図18の処理フローに従って、このとき実行されるユーザ認証処理について説明する。
【0102】
流通端末40に展開される対話プログラム43は、ユーザからユーザ認証処理の実行要求が発行されると、図17の処理フローに示すように、先ず最初に、ステップ1で、数字列“ABCD”で表される4桁の乱数を発生し、続くステップ2で、ディスプレイ装置41に、図9に示したようなパスワード入力画面を表示して、そこに、この発生した乱数をユーザへの提示値として表示する。例えば、“4361”という乱数を発生して、これをパスワード入力画面に表示するのである。
【0103】
なお、後述することからも分かるように、このとき発生する乱数は4桁である必要はなく、1桁や2桁や3桁であってもよく、更に大きな桁数であってもよい。
【0104】
続いて、ステップ3で、このパスワード入力画面を使ってユーザと対話することで、ユーザIDとパスワードとを入力する。
【0105】
このときユーザの入力するパスワードは、対話プログラム43の発生した4桁の乱数の持つ数字A/数字B/数字C/数字Dを、そのユーザが認証用管理ファイル41に登録したパスワードロジックに代入することで求められることになる。このとき、ユーザは、パスワードロジックに分母が“0”となる割算が存在するときには、その割算結果を“0”として算出するという規約に従ってパスワードを算出し、パスワードロジックに剰余のでる割算が存在するときには、小数点以下を切り捨てるという規約に従ってパスワードを算出し、パスワードロジックの演算結果が負となるときには、その演算結果の絶対値をとるという規約に従ってパスワードを算出することになる。また、ユーザは、認証用管理ファイル41に従前通りの暗証番号を登録しているときには、その暗証番号をそのままパスワードとして、パスワード入力画面に入力することになる。
【0106】
このようにして、ステップ3で、ユーザID及びパスワードを入力すると、続いて、ステップ4で、ステップ1で発生した乱数と、ステップ3で入力したユーザID/パスワードとを認証プログラム33に送信する。
【0107】
後述するように、認証プログラム33は、この送信に応答して、対話プログラム43の発行するパスワードに従ってユーザを認証できたのか否かを示す情報を返信してくるので、続いて、ステップ5で、認証プログラム33からの返信情報を待って、この返信情報を受け取ると、続くステップ6で、この返信情報がユーザ認証の完了を示す情報であるのか否かを判断する。
【0108】
この判断処理に従って、認証プログラム33からユーザ認証の完了を示す情報が返信されてきたことを判断するときには、ステップ7に進んで、図示しない業務プログラムに対してユーザ認証完了を出力することで、その業務プログラムに対して処理に入ることを指示する。
【0109】
一方、ステップ6で、認証プログラム33からユーザ認証の不可能を示す情報が返信されてきたことを判断するときには、ステップ8に進んで、ユーザ認証処理を規定回数トライしたのか否かを判断して、ユーザ認証処理を規定回数トライしたことを判断するときには、ステップ9に進んで、ディスプレイ装置41に、ユーザ認証エラーを出力して処理を終了する。
【0110】
そして、ステップ8で、ユーザ認証処理を規定回数トライしていないことを判断するときには、ステップ10に進んで、トライ回数を1つカウントアップしてから、ステップ1に戻っていくことで、上述のユーザ認証処理を再度実行していく。
【0111】
この図17の処理フローに示した対話プログラム43の処理を受けて、認証用サーバ30に展開される認証プログラム33は、対話プログラム43がユーザ認証処理の実行要求を発行すると、図18の処理フローに示すように、先ず最初に、ステップ1で、対話プログラム43から送られてくる、乱数とユーザIDとパスワードロジックとを受け取る。
【0112】
続いて、ステップ2で、その受け取ったユーザIDが認証用管理ファイル31に登録されているのか否かを判断して、登録されていることを判断するときには、ステップ3に進んで、認証用管理ファイル31を参照することで、そのユーザIDの指すパスワードロジックを取得する。
【0113】
続いて、ステップ4で、ステップ1で受け取った乱数を分解することで、数字A/数字B/数字C/数字Dの値を得る。続いて、ステップ5で、その得た値をステップ3で取得したパスワードロジックに代入することで、ユーザの入力したパスワードに対応する演算値を算出する。
【0114】
このとき、認証プログラム33は、パスワードロジックに分母が“0”となる割算が存在するときには、その割算結果を“0”として扱うという規約に従って演算値を算出し、パスワードロジックに剰余のでる割算が存在するときには、小数点以下を切り捨てるという規約に従って演算値を算出し、パスワードロジックの演算結果が負となるときには、その演算結果の絶対値をとるという規約に従って演算値を算出し、パスワードロジックとして従前通りの暗証番号が登録されているときには、その暗証番号をそのまま演算値として算出していくように処理する。
【0115】
続いて、ステップ6で、ステップ1で受け取ったパスワードと、ステップ5で算出した演算値とを照合することでユーザ認証処理を実行し、続くステップ7で、その照合により2つのパスワードの一致が検出されたのか否かを判断して、2つのパスワードの一致が検出されるときには、ステップ8に進んで、対話プログラム43に対してユーザ認証完了を返信して、処理を終了する。
【0116】
一方、ステップ2で、対話プログラム43から受け取ったユーザIDが認証用管理ファイル31に登録されていないことを判断するときと、ステップ7で、2つのパスワードが一致しないことが検出されるときには、ステップ9に進んで、対話プログラム43に対してユーザ認証エラーを返信して、処理を終了する。
【0117】
このようにして、対話プログラム43と認証プログラム33とは、ユーザから認証要求要求が発行されると、図17及び図18の処理フローに従って、ネットワーク50を介して連携処理を実行しつつ、認証用管理ファイル32に登録されたユーザ定義のパスワードロジックとユーザに提示する乱数とから算出される演算値と、その乱数の提示に応答してユーザが入力してくるパスワードとが一致するのか否かをチェックしていくことで、ユーザ認証処理を実行するように処理するのである。
【0118】
このユーザ認証処理に従って、ユーザの入力する数値が他人に見られてしまっても秘密性を保持でき、高いセキュリティを実現できるようになる。そして、ユーザはパスワードロジックのみを覚えれば足りるとともに、システムはパスワードロジックのみを記憶すれば足り、これにより、ユーザやシステムに負荷をかけることなく高いセキュリティを実現できるようになる。
【0119】
更に、暗証番号に相当するパスワードロジックについては、それが認証用管理ファイル32に登録される場合を除きネットワーク50に転送されることがないことで盗み見られるという危険性がなく、これにより高いセキュリティを実現できるようになる。
【0120】
ここで、図17及び図18の処理フローでは、対話プログラム43が乱数を発生していく構成を採ったが、認証プログラム33が乱数を発生して、それを対話プログラム43に通知していくという構成を採ることも可能である。
【0121】
以上に説明したように、本発明は、ユーザ定義のパスワードロジックを登録し、乱数を発生してユーザに提示する構成を採って、暗証番号の代わりに、その乱数の提示に応答してユーザから入力される数値と、そのパスワードロジックとその乱数とから算出される数値との一致をチェックしていくことでユーザ認証を実行する構成を採ることを、基本的な技術思想としている。
【0122】
この技術思想に従って、本発明では、磁気カードやICカードなどのようなユーザ認証用カードに、暗証番号に代えて、上述したようなユーザ定義のパスワードロジックを記録していく構成を採ることになる。
【0123】
すなわち、従来の磁気カードやICカードなどのユーザ認証用カードでは、ユーザIDと暗証番号とを記録する構成を採るのに対して、本発明を具備するユーザ認証用カードでは、ユーザIDとユーザ定義のパスワードロジックとを記録する構成を採ることになる。
【0124】
図19に、本発明を具備するICカード60の一実施例を図示する。
【0125】
この図に示すように、本発明を具備するICカード60は、メモリ部600に、ユーザIDとユーザ定義のパスワードロジックとを記録するとともに、乱数発生機構601を備える構成を採る。
【0126】
このように構成される本発明を具備するICカード60は、流通端末40の備えるICカードリーダ70にセットされ、一方、流通端末40には、このICカード60に記録されるパスワードロジックを使って、ユーザ認証処理を実行するカード認証プログラム44が備えられることになる。
【0127】
図20及び図21に、このカード認証プログラム44の実行する処理フローの一実施例を図示する。次に、この処理フローに従って、本発明を具備するICカード60に適用されるユーザ認証処理について説明する。
【0128】
流通端末40に展開されるカード認証プログラム44は、本発明を具備するICカード60に対するユーザ認証要求が発行されると、図20及び図21の処理フローに示すように、先ず最初に、ステップ1で、ICカード60に記録されるユーザIDとパスワードロジックとを読み取る。
【0129】
続いて、ステップ2で、ICカード60の乱数発生機構601が発生する4桁の乱数を入力する。続いて、ステップ3で、図9に示すようなパスワード入力画面を表示して、そこに、この入力した乱数をユーザへの提示値として表示する。例えば、“4361”という乱数を発生して、これをパスワード入力画面に表示するのである。
【0130】
続いて、ステップ4で、このパスワード入力画面を使ってユーザと対話することで、パスワードを入力する。
【0131】
このときユーザの入力するパスワードは、乱数発生機構601の発生した4桁の乱数の持つ数字A/数字B/数字C/数字Dを、ICカード60に記録されるパスワードロジックに代入することで求められることになる。このとき、ユーザは、パスワードロジックに分母が“0”となる割算が存在するときには、その割算結果を“0”として算出するという規約に従ってパスワードを算出し、パスワードロジックに剰余のでる割算が存在するときには、小数点以下を切り捨てるという規約に従ってパスワードを算出し、パスワードロジックの演算結果が負となるときには、その演算結果の絶対値をとるという規約に従ってパスワードを算出することになる。また、ユーザは、ICカード60が従前通りの暗証番号を記録しているときには、その暗証番号をそのままパスワードとして、パスワード入力画面に入力することになる。
【0132】
このようにして、ステップ4で、ユーザからパスワードを入力すると、続いて、ステップ5で、ステップ1で読み取った乱数を分解することで、数字A/数字B/数字C/数字Dの値を得る。続いて、ステップ6で、その得た値をステップ1で読み取ったパスワードロジックに代入することで、ユーザの入力したパスワードに対応する演算値を算出する。
【0133】
続いて、ステップ7で、ステップ4で入力したパスワードと、ステップ6で算出した演算値とを照合することでユーザ認証処理を実行し、続くステップ8で、その照合により2つのパスワードの一致が検出されたのか否かを判断して、2つのパスワードの一致が検出されるときには、ステップ9に進んで、図示しない業務プログラムに対してユーザ認証完了を出力することで、その業務プログラムに対して処理に入ることを指示する。
【0134】
一方、ステップ8で、2つのパスワードが一致しないことが検出されるときには、ステップ10に進んで、ユーザ認証処理を規定回数トライしたのか否かを判断して、ユーザ認証処理を規定回数トライしたことを判断するときには、ステップ11(図21の処理フロー)に進んで、ディスプレイ装置41に、ユーザ認証エラーを出力して処理を終了する。
【0135】
そして、ステップ10で、ユーザ認証処理を規定回数トライしていないことを判断するときには、ステップ12(図21の処理フロー)に進んで、トライ回数を1つカウントアップしてから、ステップ1に戻っていくことで、上述のユーザ認証処理を再度実行していく。
【0136】
このようにして、本発明では、磁気カードやICカードなどのようなユーザ認証用カードに、暗証番号に代えて、上述したようなユーザ定義のパスワードロジックを記録する構成を採る。そして、ユーザ認証用カードに記録されたユーザ定義のパスワードロジックとユーザに提示する乱数とから算出される演算値と、その乱数の提示に応答してユーザが入力してくるパスワードとが一致するのか否かをチェックしていくことで、ユーザ認証処理を実行するように処理するのである。
【0137】
このユーザ認証処理に従って、ユーザの入力する数値が他人に見られてしまっても秘密性を保持でき、高いセキュリティを実現できるようになる。
【0138】
なお、図19に示した実施例では、ICカード60に乱数発生機構601を備える構成を採ったが、この乱数発生機能については、カード認証プログラム44の方に備えるという構成を採ることも可能である。
【0139】
以上に説明した実施例では、乱数の持つ数字に対する四則演算で定義されるパスワードロジックを開示したが、この乱数の持つ数字の他に、カレンダー情報や時刻情報などのような全ユーザ及びシステムが一義的に決定できる変数値を含めることも可能である。
【0140】
例えば、1月〜12月に対して、“1”〜“12”という変数値nを割り付けたり、0時〜24時に対して、“0”〜“24”という変数値nを割り付けたりして、例えば、「(A−B)+n」というように、乱数の持つ数字の他に、この変数値nを含める形でパスワードロジックを定義することも可能である。
【0141】
【発明の効果】
以上説明したように、本発明では、ユーザ定義の計算式を登録し、乱数を発生してユーザに提示する構成を採って、暗証番号の代わりに、その乱数の提示に応答してユーザから入力される数値と、その計算式とその乱数とから算出される数値との一致をチェックしていくことでユーザ認証を実行する構成を採ることから、ユーザの入力する数値が他人に見られてしまっても秘密性を保持でき、高いセキュリティを実現できるようになる。
【0142】
そして、ネットワーク環境で使用される場合に、ユーザ定義の計算式を転送しない構成を採ることで、暗証番号を転送する従来技術に比べて、高いセキュリティを実現できるようになる。
【0143】
しかも、特開昭63-170764 号で開示されたユーザ認証技術に従うと、ユーザは計算式と固有値との両方を覚えなくてはならないのに対して、本発明では、ユーザは計算式のみを覚えれば足りるとともに、特開昭63-170764 号で開示されたユーザ認証技術に従うと、システムは計算式と固有値との両方をメモリに記憶しなければならないのに対して、本発明では、システムは計算式のみを記憶すれば足り、これにより、ユーザやシステムに負荷をかけることなく高いセキュリティを実現できるようになる。
【0144】
そして、本発明では、カードの所有者の認証用に用意されるカードに、暗証番号に代えて、ユーザ定義の計算式を記録する構成を採ることで、従来技術よりも高いセキュリティを実現できるようになる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例である。
【図3】認証用管理ファイルの一実施例である。
【図4】認証用管理プログラムの処理フローである。
【図5】認証用管理プログラムの処理フローである。
【図6】認証プログラムの処理フローである。
【図7】認証プログラムの処理フローである。
【図8】パスワードロジック登録画面の一実施例である。
【図9】パスワード入力画面の一実施例である。
【図10】本発明の他の実施例である。
【図11】対話プログラムの処理フローである。
【図12】認証用管理プログラムの処理フローである。
【図13】対話プログラムの処理フローである。
【図14】対話プログラムの処理フローである。
【図15】認証用管理プログラムの処理フローである。
【図16】認証用管理プログラムの処理フローである。
【図17】対話プログラムの処理フローである。
【図18】認証プログラムの処理フローである。
【図19】本発明の一実施例である。
【図20】カード認証プログラムの処理フローである。
【図21】カード認証プログラムの処理フローである。
【符号の説明】
1 ユーザ認証装置
2 端末
10 管理手段
11 登録更新手段
12 乱数発生手段
13 特定手段
14 算出手段
15 判断手段

Claims (7)

  1. ユーザ認証を行うユーザ認証装置であって、
    ユーザIDとユーザ認証対象に対応した計算式との対応関係を記憶する記憶手段と、
    上記記憶手段の記憶データから、指定されるユーザIDに対応付けられる計算式を特定する特定手段と、
    ユーザに提示される乱数と上記特定手段の特定した計算式とから、ユーザ認証に用いる数値を算出する算出手段と、
    上記乱数の提示に応答して入力されてくる数値と、上記算出手段の算出した数値とが一致するのか否かを判断する判断手段と、
    ユーザから入力されてくる確認用の計算式と、上記記憶手段に記憶される該ユーザのIDの指す計算式とが一致することを条件にして、ユーザから入力されてくる更新対象の計算式に従って、上記記憶手段に記憶される計算式を更新する更新手段とを備えることを、
    特徴とするユーザ認証装置。
  2. 請求項1に記載のユーザ認証装置において、
    上記算出手段は、上記記憶手段に記憶される計算式が演算子を含まない数字列である場合には、その数字列を算出結果とすることを、
    特徴とするユーザ認証装置。
  3. 請求項1又は2に記載のユーザ認証装置において、
    上記算出手段は、上記記憶手段に記憶される計算式がユーザ認証時に応じて変化する変数値を含む場合には、ユーザに提示する乱数とユーザ認証対象に対応した計算式と該変数値とから、ユーザ認証に用いる数値を算出することを、
    特徴とするユーザ認証装置。
  4. 特定手段と算出手段と判断手段と更新手段とを備えて、ユーザ認証を行うユーザ認証装置で実行されるユーザ認証方法であって、
    上記特定手段が、ユーザIDとユーザ認証対象に対応した計算式との対応関係を記憶する記憶手段の記憶データから、指定されるユーザIDに対応付けられる計算式を特定し、
    上記算出手段が、ユーザに提示される乱数と上記特定手段の特定した計算式とから、ユーザ認証に用いる数値を算出し、
    上記判断手段が、上記乱数の提示に応答して入力されてくる数値と、上記算出手段の算出した数値とが一致するのか否かを判断し、
    上記更新手段が、ユーザから入力されてくる確認用の計算式と、上記記憶手段に記憶される該ユーザのIDの指す計算式とが一致することを条件にして、ユーザから入力されてくる更新対象の計算式に従って、上記記憶手段に記憶される計算式を更新することを、
    特徴とするユーザ認証方法。
  5. カードの所有者の認証用に用意されて、コンピュータが読み取り可能なメモリを有するユーザ認証用カードであって、
    上記メモリに、ユーザIDを記録することに加えて、1つ又は複数の変数を持つユーザ認証対象に対応した計算式であって、ユーザに提示される乱数がその変数に代入されるときに算出される数値をユーザ認証に用いる数値として発生する計算式を記録するように構成されることを、
    特徴とするユーザ認証用カード。
  6. 請求項5に記載のユーザ認証用カードにおいて、
    上記計算式に代入される乱数を発生する乱数発生手段を備えることを、
    特徴とするユーザ認証用カード。
  7. ユーザ認証を行うユーザ認証装置の実現に用いられるプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
    コンピュータを、
    ユーザIDとユーザ認証対象に対応した計算式との対応関係を記憶する記憶手段の記憶データから、指定されるユーザIDに対応付けられる計算式を特定する特定手段と、
    ユーザに提示される乱数と上記特定手段の特定した計算式とから、ユーザ認証に用いる数値を算出する算出手段と、
    上記乱数の提示に応答して入力されてくる数値と、上記算出手段の算出した数値とが一致するのか否かを判断する判断手段と、
    ユーザから入力されてくる確認用の計算式と、上記記憶手段に記憶される該ユーザのIDの指す計算式とが一致することを条件にして、ユーザから入力されてくる更新対象の計算式に従って、上記記憶手段に記憶される計算式を更新する更新手段として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP11305899A 1999-04-21 1999-04-21 ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体 Expired - Fee Related JP3977548B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11305899A JP3977548B2 (ja) 1999-04-21 1999-04-21 ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体
US09/441,081 US7058613B1 (en) 1999-04-21 1999-11-16 Device and method for user identification check based on user-specific formula

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11305899A JP3977548B2 (ja) 1999-04-21 1999-04-21 ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体

Publications (2)

Publication Number Publication Date
JP2000305899A JP2000305899A (ja) 2000-11-02
JP3977548B2 true JP3977548B2 (ja) 2007-09-19

Family

ID=14602444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11305899A Expired - Fee Related JP3977548B2 (ja) 1999-04-21 1999-04-21 ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体

Country Status (2)

Country Link
US (1) US7058613B1 (ja)
JP (1) JP3977548B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2475822C (en) * 2002-02-13 2016-08-23 Hideharu Ogawa User verification method and user verification system
WO2004025488A1 (ja) * 2002-09-12 2004-03-25 Mitsubishi Denki Kabushiki Kaisha 認証システム及び認証装置及び端末装置及び認証方法
JP2006185060A (ja) * 2004-12-27 2006-07-13 Fujitsu Ltd パスワード入力方法
CN101496344B (zh) * 2006-07-20 2014-08-20 黄金富 网上银钱支付和身份确认的带自设认证算式的方法和系统
JP4309447B2 (ja) * 2006-12-05 2009-08-05 シャープ株式会社 認証装置、認証方法、認証プログラム及びこれを記録したコンピュータ読み取り可能な記録媒体
US20090144162A1 (en) * 2007-11-29 2009-06-04 Neil Milne Transaction Security Method and Apparatus
US20100083370A1 (en) * 2008-09-26 2010-04-01 Mitac Technology Corp. System and method for dynamic cypher authentication
CN101729649A (zh) * 2008-10-22 2010-06-09 鸿富锦精密工业(深圳)有限公司 移动终端及其身份认证的方法
KR101222199B1 (ko) 2012-05-03 2013-01-14 주식회사 엔에스에이치씨 암호 인증 장치 및 암호 인증 방법
US10515363B2 (en) 2012-06-12 2019-12-24 Square, Inc. Software PIN entry
US9773240B1 (en) 2013-09-13 2017-09-26 Square, Inc. Fake sensor input for passcode entry security
US9613356B2 (en) 2013-09-30 2017-04-04 Square, Inc. Secure passcode entry user interface
US9928501B1 (en) 2013-10-09 2018-03-27 Square, Inc. Secure passcode entry docking station
US9467443B2 (en) * 2013-12-09 2016-10-11 Ram Balasubramaniam MOHAN Authentication utilizing a dynamic passcode from a user-defined formula based on a changing parameter value
JP6464870B2 (ja) * 2015-03-26 2019-02-06 富士通株式会社 認証方法、認証プログラム、および認証装置
WO2018170192A1 (en) * 2017-03-15 2018-09-20 Redpine Signals, Inc Two-factor authentication with user-selected passcode modification
US11005971B2 (en) 2018-08-02 2021-05-11 Paul Swengler System and method for user device authentication or identity validation without passwords or matching tokens

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63170764A (ja) 1987-01-08 1988-07-14 Nippon Rotsukusaabisu:Kk 認証装置
US5163097A (en) * 1991-08-07 1992-11-10 Dynamicserve, Ltd. Method and apparatus for providing secure access to a limited access system
US5604489A (en) * 1992-10-09 1997-02-18 Medeco Security Locks, Inc. Alphanumeric input terminal
US5754652A (en) * 1994-12-14 1998-05-19 Lucent Technologies Inc. Method and apparatus for secure pin entry

Also Published As

Publication number Publication date
JP2000305899A (ja) 2000-11-02
US7058613B1 (en) 2006-06-06

Similar Documents

Publication Publication Date Title
JP3977548B2 (ja) ユーザ認証装置、ユーザ認証方法、ユーザ認証用カードおよびコンピュータ読み取り可能な記録媒体
US10565809B2 (en) Method, system and device for securing and managing access to a lock and providing surveillance
US9869978B2 (en) System, method and apparatus for creating and maintaining biometric secure safe deposit boxes, and similar containers and facilities
JP4388039B2 (ja) ネット決済システム
JPH0981519A (ja) ネットワーク上の認証方法
JP5715384B2 (ja) カードレス現金引出しシステムおよびカードレス現金引出し処理方法
CN107656959A (zh) 一种留言方法、装置及留言设备
US10304266B1 (en) System, method and apparatus for creating and maintaining biometric secure safe deposit boxes, and similar containers and facilities
WO2018232443A1 (en) METHOD AND SYSTEM FOR IDENTITY CONFIRMATION
CN104103107A (zh) 时变密码和一种时变密码锁
US20240086519A1 (en) System and method for distributed management of consumer data
JP5355502B2 (ja) 生体情報貸出しシステム及び生体情報貸出し方法
JP7450569B2 (ja) 来訪者管理システム及び来訪者管理方法
Tripathy et al. Advanced e-voting system using blockchain
JP7408882B2 (ja) 認証システム、認証装置、認証方法、及びプログラム
JP2002324050A (ja) 個人認証用データ提供システム及び方法
KR20150063896A (ko) 숫자와 패턴을 조합한 스마트폰 잠금해제 입력장치 및 제어방법
JP7242020B2 (ja) コンピュータシステム、その端末装置および出退勤情報の蓄積方法
JP7522507B2 (ja) 情報処理システム
JPH0778783B2 (ja) 扱者認証システム
JP2006039679A (ja) 認証方法、認証システム、および認証プログラム、ならびに乱数表カード提供方法、乱数表カード提供システム、および乱数表カード提供プログラム
EP4456475A1 (en) A digitally secured method of conducting votes using a digital hardware wallet, a system of devices containing a digital hardware wallet for conducting votes and a digital hardware wallet
WO2024171368A1 (ja) 情報処理装置、情報処理システム、情報処理方法、記憶媒体
JP2023047392A (ja) サービスログインユーザと電子署名者との同一性判定方法およびコンピュータシステム
JP2023039447A (ja) プログラム、システムおよび情報処理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070427

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: 20070619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070621

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

Free format text: PAYMENT UNTIL: 20100629

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110629

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120629

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130629

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140629

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees