[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4283864B1 - User authentication program and user authentication system - Google Patents

User authentication program and user authentication system Download PDF

Info

Publication number
JP4283864B1
JP4283864B1 JP2007315197A JP2007315197A JP4283864B1 JP 4283864 B1 JP4283864 B1 JP 4283864B1 JP 2007315197 A JP2007315197 A JP 2007315197A JP 2007315197 A JP2007315197 A JP 2007315197A JP 4283864 B1 JP4283864 B1 JP 4283864B1
Authority
JP
Japan
Prior art keywords
triplet
data
value
unit
user
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.)
Active
Application number
JP2007315197A
Other languages
Japanese (ja)
Other versions
JP2009140189A (en
Inventor
五十六 加藤
Original Assignee
五十六 加藤
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 五十六 加藤 filed Critical 五十六 加藤
Priority to JP2007315197A priority Critical patent/JP4283864B1/en
Application granted granted Critical
Publication of JP4283864B1 publication Critical patent/JP4283864B1/en
Publication of JP2009140189A publication Critical patent/JP2009140189A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】 キー操作情報を監視して継続的にユーザ認証処理を実行でき、登録ユーザが誤って認証を拒否される確率を低減することができるユーザ認証プログラムおよびユーザ認証システムを提供する。
【解決手段】 トリプレットと第1比率値とを有するユーザ判定用データを記憶するユーザ判定用データ記憶部42と、キー操作情報を取得するキー操作情報取得部51と、トリプレットを抽出するトリプレット抽出部52と、時間データを取得する時間データ取得部53と、第1比率値を算出する比率値算出部55と、トリプレットデータをトリプレットデータ記憶部43に登録するトリプレットデータ登録部57と、判定対象データを取得する判定対象データ取得部64と、評価値を算出する評価値算出部65と、判定対象データの特徴値を算出する特徴値算出部66と、判定対象データを判定するユーザ判定部67としてコンピュータを機能させる。
【選択図】 図1
PROBLEM TO BE SOLVED: To provide a user authentication program and a user authentication system capable of continuously executing user authentication processing by monitoring key operation information and reducing a probability that a registered user is erroneously rejected from authentication.
A user determination data storage unit 42 that stores user determination data having a triplet and a first ratio value, a key operation information acquisition unit 51 that acquires key operation information, and a triplet extraction unit that extracts a triplet. 52, a time data acquisition unit 53 that acquires time data, a ratio value calculation unit 55 that calculates a first ratio value, a triplet data registration unit 57 that registers triplet data in the triplet data storage unit 43, and determination target data A determination target data acquisition unit 64 that acquires the evaluation value, an evaluation value calculation unit 65 that calculates an evaluation value, a feature value calculation unit 66 that calculates a feature value of the determination target data, and a user determination unit 67 that determines the determination target data Make the computer work.
[Selection] Figure 1

Description

本発明は、コンピュータを使用するユーザの認証技術に関し、特に、キーボードからの操作情報を監視して継続的にユーザの認証処理を実行するユーザ認証プログラムおよびユーザ認証システムに関するものである。   The present invention relates to an authentication technique for a user who uses a computer, and more particularly, to a user authentication program and a user authentication system for monitoring operation information from a keyboard and continuously executing a user authentication process.

従来、ユーザの認証技術としては、ユーザIDとパスワードとの組合せによりログイン認証する技術が知られている。しかしながら、このログイン認証技術においては、パスワードが漏洩したり、他人に予測されてしまうと、簡単に突破されてしまうという問題がある。また、コンピュータの使用開始時にのみ認証するだけなので、一旦、ユーザ認証されたシステムが放置されると、誰でも簡単に操作することができてしまうという問題もある。   Conventionally, as a user authentication technique, a technique for performing login authentication by a combination of a user ID and a password is known. However, in this login authentication technique, there is a problem that if a password is leaked or predicted by another person, it can be easily broken. In addition, since authentication is performed only at the start of use of the computer, there is a problem that anyone can easily operate once a user-authenticated system is left.

特に、近年、注目されている電子カルテのように、他人による「なりすまし入力」や改ざんが許されない書類データを取り扱うシステムにおいては、上記のログイン認証だけでは不十分である旨が指摘されている。なぜなら、病院内のシステムにおいて、患者からの緊急呼出を受けた医師や看護婦にログアウト処理を徹底させることは現実的ではなく、ログイン状態のままのシステムが多数放置されているのが現状だからである。   In particular, it has been pointed out that the above-mentioned login authentication alone is not sufficient in a system that handles document data that cannot be “spoofed” or tampered by others, such as an electronic medical chart that has been attracting attention in recent years. Because in hospital systems, it is not realistic for doctors and nurses who have received emergency calls from patients to perform logout processing thoroughly, and there are many systems that remain logged in. is there.

このようなログイン認証技術の問題を解決するものとして、キーボードからの入力操作情報に含まれる癖や特徴に基づき、ユーザを逐次認証する技術(キーストロークダイナミクス技術)が提案されている。例えば、特開2003−58504号公報には、情報処理装置に対する入力手段におけるユーザの操作情報を取得し、該操作情報から個人の操作特徴情報を抽出し、抽出した個人の操作特徴情報と、記憶手段に格納した登録ユーザの操作特徴情報との照合処理を実行し、前記照合処理の結果に基づいて、前記入力手段に対するユーザ操作に対応する前記情報処理装置における処理の実行可否を決定する許可情報を生成し、生成した許可情報を前記情報処理装置に対して出力する構成を有する個人認証処理装置が開示されている(特許文献1)。   In order to solve such a problem of the login authentication technique, a technique (keystroke dynamics technique) for sequentially authenticating a user based on a bag or a feature included in input operation information from a keyboard has been proposed. For example, in Japanese Patent Laid-Open No. 2003-58504, user operation information in an input unit for an information processing apparatus is acquired, personal operation feature information is extracted from the operation information, the extracted individual operation feature information, and storage Permission information for executing collation processing with the operation feature information of the registered user stored in the means, and determining whether or not to execute the process in the information processing apparatus corresponding to the user operation on the input means based on the result of the collation processing And a personal authentication processing device having a configuration for outputting the generated permission information to the information processing device is disclosed (Patent Document 1).

特開2003−58504号公報JP 2003-58504 A

しかしながら、上記特許文献1に記載された発明を含め、従来のキーストロークダイナミクス技術においては、登録ユーザを誤って認証拒否してしまう確率が高く、使い勝手が悪いという問題がある。具体的には、入力された操作情報を何ら選別することなく照合処理に使用するため、シフトキーやスペースキー(変換キー)等の押下によって入力リズムが遅延したり、偶発的に入力操作が中断した場合、あるいは自分の名前等のように頻繁な入力作業によって高速で入力可能となった文字列の場合には、登録ユーザであるにも関わらず認証が拒否されてしまう。   However, in the conventional keystroke dynamics technology including the invention described in Patent Document 1, there is a high probability that a registered user is erroneously rejected for authentication, and the usability is poor. Specifically, since the input operation information is used for collation processing without any selection, the input rhythm is delayed by pressing the shift key or space key (conversion key), or the input operation is accidentally interrupted. In the case of a character string that can be input at high speed by frequent input operations such as the user's name or the like, authentication is rejected even though the user is a registered user.

また、上記特許文献1では、ユーザ照合用の操作情報として、n−1番目のキー押下からn番目のキー押下までの時間(DDn)、n番目のキー押下から開放までの時間(UDn)、あるいはn−1番目のキー開放からn番目のキー押下までの時間(DUn)の平均値を単純に利用している。このため、照合結果がタイプスピードの変動による影響を極めて受けやすく、少しでも入力速度が違うと登録ユーザでも拒否される可能性が高くなるという問題がある。   In Patent Document 1, as operation information for user verification, the time from pressing the (n-1) th key to the nth key (DDn), the time from pressing the nth key to releasing (UDn), Alternatively, the average value of the time (DUn) from the n−1th key release to the nth key press is simply used. For this reason, there is a problem that the collation result is very easily affected by the variation in the type speed, and even if the input speed is slightly different, there is a high possibility that even a registered user will be rejected.

さらに、上記特許文献1では、入力された操作情報がそのまま認証情報データベースに登録されている。このため、操作情報が連続して入力されると、コンピュータやネットワークに高い負荷がかかってしまうおそれがある。また、入力された文字列がそのままの順序で登録されるため、当該データが盗まれたりすると、簡単に入力内容が解析されるおそれがありセキュリティ面にも不安がある。   Furthermore, in Patent Document 1, the input operation information is directly registered in the authentication information database. For this reason, if operation information is continuously input, there is a possibility that a high load is applied to the computer and the network. In addition, since the input character strings are registered in the order as they are, if the data is stolen, there is a risk that the input content may be easily analyzed, and there is also a security concern.

本発明は、このような問題点を解決するためになされたものであって、キーボードからの操作情報を監視して継続的にユーザの認証処理を実行できることはもとより、登録ユーザが誤って認証を拒否される確率を低減することができるユーザ認証プログラムおよびユーザ認証システムを提供することを目的としている。   The present invention has been made in order to solve such problems. In addition to monitoring operation information from a keyboard and continuously executing user authentication processing, a registered user erroneously authenticates. An object of the present invention is to provide a user authentication program and a user authentication system that can reduce the probability of being rejected.

本発明に係るユーザ認証プログラムの特徴は、登録ユーザが操作したキーボードの操作情報から取得した3連続の押下キーの組合せからなるトリプレットと、このトリプレットの操作情報のうち第1キーが押下されてから第2キーが押下されるまでの第1待ち時間(T)と第2キーが押下されてから第3キーが押下されるまでの第2待ち時間(T)の比率として求めた第1比率値(R)とを少なくとも有するユーザ判定用データを前記登録ユーザに対応付けて予め記憶するユーザ判定用データ記憶部と、キーボードが操作されたときのキー操作情報を取得するキー操作情報取得部と、前記キー操作情報から所定のトリプレットを抽出するトリプレット抽出部と、前記トリプレット抽出部が抽出した各トリプレットについて前記第1待ち時間(T)および前記第2待ち時間(T)を取得する時間データ取得部と、前記各トリプレットについて前記第1比率値(R)を算出する比率値算出部と、前記各トリプレットに前記第1比率値(R)を対応付けたトリプレットデータとしてトリプレットデータ記憶部に登録するトリプレットデータ登録部と、前記トリプレットデータ記憶部に登録された前記トリプレットデータを判定対象データとして取得する判定対象データ取得部と、前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の各第1比率値(R)の評価値(V)を算出する評価値算出部と、前記判定対象データに含まれる全てのトリプレットにつき、前記評価値算出部が算出した各評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出する特徴値算出部と、前記特徴値(C)と所定のカットオフ値との大小関係に基づいて、前記判定対象データが前記登録ユーザによって入力されたものか否かを判定するユーザ判定部としてコンピュータを機能させる点にある。 A feature of the user authentication program according to the present invention is that a triplet consisting of a combination of three consecutive press keys acquired from the operation information of the keyboard operated by the registered user and the first key of the triplet operation information is pressed. The first time calculated as the ratio of the first waiting time (T 1 ) until the second key is pressed and the second waiting time (T 2 ) from when the second key is pressed until the third key is pressed. User determination data storage unit that stores in advance user determination data having at least a ratio value (R 1 ) in association with the registered user, and key operation information acquisition for acquiring key operation information when the keyboard is operated A triplet extracting unit that extracts a predetermined triplet from the key operation information, and the first triplet extracted by the triplet extracting unit. And Chi time (T 1) and the second waiting time (T 2) time data acquisition unit that acquires a ratio value calculation unit for calculating a first ratio value (R 1) for each triplet, each triplet A triplet data registration unit that registers the triplet data in the triplet data storage unit as triplet data associated with the first ratio value (R 1 ), and a determination that acquires the triplet data registered in the triplet data storage unit as determination target data Evaluation that calculates an evaluation value (V) of each first ratio value (R 1 ) in the determination target data based on the target data acquisition unit and the user determination data stored in the user determination data storage unit Based on the value calculation unit and each evaluation value (V) calculated by the evaluation value calculation unit for all triplets included in the determination target data The determination target data is input by the registered user based on a feature value calculation unit that calculates a feature value (C) related to the determination target data, and a magnitude relationship between the feature value (C) and a predetermined cutoff value. The point is to make the computer function as a user determination unit for determining whether or not it has been performed.

また、本発明において、前記ユーザ判定用データ記憶部には、トリプレットを構成する3連続の押下キーのうちいずれか2つの押下キーの押下時間の比率として求めた第2比率値(R)がユーザ判定用データとしてさらに記憶されており、前記時間データ取得部は、前記トリプレット抽出部が抽出した各トリプレットにつき、各キーの押下時間(D,D,D)を取得し、前記比率値算出部は、各トリプレットについて前記第2比率値(R)を算出し、前記トリプレットデータ登録部が、各トリプレットに前記第2比率値(R)を対応付けてトリプレットデータとしてトリプレットデータ記憶部に登録し、前記評価算出部は、前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の前記第2比率値(R)に対する評価値(V)を算出し、特徴値算出部は、前記第1比率値(R)および第2比率値(R)に対する評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出するようにコンピュータを機能させることが好ましい。 In the present invention, in the user determination data storage unit, a second ratio value (R 2 ) obtained as a ratio of pressing times of any two pressing keys among three consecutive pressing keys constituting the triplet is stored. Further stored as user determination data, the time data acquisition unit acquires the pressing time (D 1 , D 2 , D 3 ) of each key for each triplet extracted by the triplet extraction unit, and the ratio The value calculation unit calculates the second ratio value (R 2 ) for each triplet, and the triplet data registration unit associates each triplet with the second ratio value (R 2 ) and stores the triplet data as triplet data. The evaluation calculation unit is configured to store the determination target data based on the user determination data stored in the user determination data storage unit. The second ratio value of the inner calculates an evaluation value (V) for (R 2), wherein value calculation unit, an evaluation value for said first ratio value (R 1) and a second ratio value (R 2) (V ), It is preferable to make the computer function so as to calculate the characteristic value (C) regarding the determination target data.

さらに、本発明において、前記時間データ取得部によって取得された各トリプレットにおける前記第1待ち時間(T)および前記第2待ち時間(T)ないし各キーの押下時間(D,D,D)が、所定の制限時間内にあるトリプレットを選別するトリプレット選別部を有しており、このトリプレット選別部により選別された各トリプレットについて、前記比率値算出部が前記第1比率値(R)および前記第2比率値(R)を算出し、前記トリプレットデータ登録部が両者を対応付けてトリプレットデータとしてトリプレットデータ記憶部に登録するようにコンピュータを機能させることが好ましい。 Furthermore, in the present invention, the first waiting time (T 1 ) and the second waiting time (T 2 ) or the pressing time of each key (D 1 , D 2 , D) in each triplet acquired by the time data acquisition unit. D 3 ) includes a triplet sorting unit that sorts triplets within a predetermined time limit. For each triplet sorted by the triplet sorting unit, the ratio value calculation unit uses the first ratio value (R 1 ) and the second ratio value (R 2 ) are calculated, and the triplet data registering unit associates the two and registers them as triplet data in the triplet data storage unit.

また、本発明において、前記評価値算出部が、前記判定対象データに含まれるトリプレットの比率値と、前記ユーザ判定用データ内に記憶されている同一トリプレット群の比率値とを比較して当該トリプレットの比率値に関する順位を求め、当該順位が中央値に近いほど高い評価値(V)を算出し、当該順位が最高値または最低値に近いほど低い評価値(V)を算出するようにコンピュータを機能させることが好ましい。   In the present invention, the evaluation value calculation unit compares the triplet ratio value included in the determination target data with the ratio value of the same triplet group stored in the user determination data. The computer is calculated so that a higher evaluation value (V) is calculated as the ranking is closer to the median value, and a lower evaluation value (V) is calculated as the ranking is closer to the highest value or the lowest value. It is preferable to make it function.

さらに、本発明において、前記評価値算出部が、下記式(1)により前記評価値(V)を算出するようにコンピュータを機能させることが好ましい。
V(R)=a−b×|(L−S)|×(L+S) ・・・式(1)
ただし、
a,b:係数
R:第1比率値または第2比率値
L:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値より大きい比率値を有するトリプレットの数
S:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値以下の比率値を有するトリプレットの数
Furthermore, in this invention, it is preferable that the said evaluation value calculation part makes a computer function so that the said evaluation value (V) may be calculated by following formula (1).
V (R) = a−b × | (LS) | × (L + S) Expression (1)
However,
a, b: Coefficient R: First ratio value or second ratio value L: Among triplets in the user determination data, the same character string as the triplet of the determination target data, and a ratio value larger than the ratio value of the triplet S: Number of triplets in the user determination data having the same character string as the determination target data triplet and having a ratio value less than or equal to the ratio value of the triplet

また、本発明において、前記特徴値算出部が、下記式(2)により前記特徴値(C)を算出するようにコンピュータを機能させることが好ましい。
C={Σ[W×V(R)]}/N ・・・式(2)
ただし、
W:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列のトリプレット数に基づいて定められる重み値
N:被評価単位のトリプレット数
In the present invention, it is preferable that the feature value calculation unit causes the computer to function so as to calculate the feature value (C) by the following equation (2).
C = {Σ [W × V (R)]} / N (2)
However,
W: Weight value determined based on the number of triplets of the same character string as the triplet of the determination target data among the triplets in the user determination data N: Number of triplets of the unit to be evaluated

さらに、本発明において、前記時間データ取得部が、さらに前記トリプレット抽出部により抽出された各トリプレットにつき、第1キーが押下されてから第3キーが解放されるまでの総トリプレット時間を取得するとともに、前記トリプレット選別部が、取得した前記総トリプレット時間のうち所定の制限時間内にあるトリプレットだけを選別するようにコンピュータを機能させることが好ましい。   Furthermore, in the present invention, the time data acquisition unit further acquires, for each triplet extracted by the triplet extraction unit, a total triplet time from when the first key is pressed until the third key is released. The triplet sorting unit preferably causes the computer to function so as to sort only triplets within a predetermined time limit from the acquired total triplet time.

また、本発明において、前記トリプレット抽出部によって抽出されたトリプレットのトリプレットデータをトリプレットデータ記憶部に登録する前に、所定数のトリプレット群ごとに抽出順序をランダムに並べ替える抽出順序ランダマイズ部としてコンピュータを機能させることが好ましい。   Further, in the present invention, before registering the triplet data of the triplets extracted by the triplet extraction unit in the triplet data storage unit, the computer is used as an extraction order randomizing unit that randomly rearranges the extraction order for each predetermined number of triplet groups. It is preferable to make it function.

さらに、本発明において、前記トリプレットデータ記憶部に記憶された前記トリプレットデータから所定の登録ユーザに関するユーザ判定用データを作成するための基本データを取得する基本データ取得部と、前記基本データに含まれる同一文字列のトリプレットの数を算出するトリプレット数算出部と、前記トリプレット数算出部が算出したトリプレットの数に応じて重み値を各トリプレットに対して設定する重み値設定部と、前記各トリプレットごとに、前記第1比率値(R)乃至前記第2比率値(R)の変動係数(標準偏差/平均値)を算出する変動係数算出部と、前記重み値設定部が設定した重み値が所定値以上であって、前記変動係数算出部が算出した変動係数が所定値以下のトリプレットデータだけを前記ユーザ判定用データとして再選別するトリプレット再選別部としてコンピュータを機能させることが好ましい。 Furthermore, in the present invention, a basic data acquisition unit that acquires basic data for creating user determination data related to a predetermined registered user from the triplet data stored in the triplet data storage unit, and included in the basic data A triplet number calculating unit for calculating the number of triplets of the same character string, a weight value setting unit for setting a weight value for each triplet according to the number of triplets calculated by the triplet number calculating unit, and for each triplet In addition, a variation coefficient calculation unit that calculates a variation coefficient (standard deviation / average value) of the first ratio value (R 1 ) to the second ratio value (R 2 ), and a weight value set by the weight value setting unit Is a predetermined value or more, and only the triplet data whose variation coefficient calculated by the variation coefficient calculation unit is equal to or smaller than the predetermined value is used as the user determination data. It is preferable to make the computer function as a triplet re-sorting unit that re-sorts as a data.

また、本発明に係るユーザ認証システムは、登録ユーザが操作したキーボードの操作情報から取得した3連続の押下キーの組合せからなるトリプレットと、このトリプレットの操作情報のうち第1キーが押下されてから第2キーが押下されるまでの第1待ち時間(T)と第2キーが押下されてから第3キーが押下されるまでの第2待ち時間(T)の比率として求めた第1比率値(R)とを少なくとも有するユーザ判定用データを前記登録ユーザに対応付けて予め記憶するユーザ判定用データ記憶部と、キーボードが操作されたときのキー操作情報を取得するキー操作情報取得部と、前記キー操作情報から所定のトリプレットを抽出するトリプレット抽出部と、前記トリプレット抽出部が抽出した各トリプレットについて前記第1待ち時間(T)および前記第2待ち時間(T)を取得する時間データ取得部と、前記各トリプレットについて前記第1比率値(R)を算出する比率値算出部と、前記各トリプレットに前記第1比率値(R)を対応付けたトリプレットデータとしてトリプレットデータ記憶部に登録するトリプレットデータ登録部と、前記トリプレットデータ記憶部に登録された前記トリプレットデータを判定対象データとして取得する判定対象データ取得部と、前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の各第1比率値(R)の評価値(V)を算出する評価値算出部と、前記判定対象データに含まれる全てのトリプレットにつき、前記評価値算出部が算出した各評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出する特徴値算出部と、前記特徴値(C)と所定のカットオフ値との大小関係に基づいて、前記判定対象データが前記登録ユーザによって入力されたものか否かを判定するユーザ判定部とを有する点にある。 In addition, the user authentication system according to the present invention includes a triplet composed of a combination of three consecutive press keys acquired from the operation information of the keyboard operated by the registered user, and the first key of the triplet operation information is pressed. The first time calculated as the ratio of the first waiting time (T 1 ) until the second key is pressed and the second waiting time (T 2 ) from when the second key is pressed until the third key is pressed. User determination data storage unit that stores in advance user determination data having at least a ratio value (R 1 ) in association with the registered user, and key operation information acquisition for acquiring key operation information when the keyboard is operated A triplet extracting unit that extracts a predetermined triplet from the key operation information, and each triplet extracted by the triplet extracting unit. Time (T 1) and the second waiting time (T 2) time data acquisition unit that acquires a ratio value calculation unit for calculating a first ratio value (R 1) for each triplet, the each triplet A triplet data registration unit that registers in the triplet data storage unit as triplet data associated with the first ratio value (R 1 ), and a determination target that acquires the triplet data registered in the triplet data storage unit as determination target data An evaluation value for calculating an evaluation value (V) of each first ratio value (R 1 ) in the determination target data based on the data acquisition unit and the user determination data stored in the user determination data storage unit Based on each evaluation value (V) calculated by the evaluation value calculation unit for all triplets included in the calculation unit and the determination target data The determination target data is input by the registered user based on a feature value calculation unit that calculates a feature value (C) related to the determination target data, and a magnitude relationship between the feature value (C) and a predetermined cutoff value. And a user determination unit that determines whether or not the device is a device.

本発明によれば、キーボードからの操作情報を監視して継続的にユーザの認証処理を実行できることはもとより、登録ユーザが誤って認証を拒否される確率を低減することができる。   According to the present invention, the operation information from the keyboard can be monitored and the user authentication process can be continuously executed, and the probability that the registered user is mistakenly rejected for authentication can be reduced.

以下、本発明に係るユーザ認証プログラムおよびユーザ認証システムの実施形態について図面を用いて説明する。   Embodiments of a user authentication program and a user authentication system according to the present invention will be described below with reference to the drawings.

図1は、本発明に係るユーザ認証プログラム1aを搭載したユーザ認証システム1の全体構成を示すブロック図である。図1に示すように、本実施形態のユーザ認証システム1は、主として、キーボードやマウス等からなる入力手段2と、液晶ディスプレイ等からなる表示手段3と、本実施形態のユーザ認証プログラム1aや各種のデータ等を記憶する記憶手段4と、これら各構成手段を制御するとともに各種のデータを取得して演算処理を実行する演算処理手段5とから構成されている。   FIG. 1 is a block diagram showing the overall configuration of a user authentication system 1 equipped with a user authentication program 1a according to the present invention. As shown in FIG. 1, a user authentication system 1 according to the present embodiment mainly includes an input unit 2 including a keyboard and a mouse, a display unit 3 including a liquid crystal display, a user authentication program 1a according to the present embodiment, and various types. Storage means 4 for storing the above-described data and the like, and arithmetic processing means 5 for controlling each of these constituent means and acquiring various data and executing arithmetic processing.

記憶手段4は、ハードディスクやRAM(Random Access Memory)等から構成されており、図1に示すように、プログラム記憶部41と、ユーザ判定用データ記憶部42と、トリプレットデータ記憶部43とを有している。   The storage means 4 is composed of a hard disk, a RAM (Random Access Memory), etc., and has a program storage unit 41, a user determination data storage unit 42, and a triplet data storage unit 43 as shown in FIG. is doing.

以下、記憶手段4の各構成部についてより詳細に説明する。プログラム記憶部41には、本実施形態のユーザ認証プログラム1aがインストールされている。そして、演算処理手段5によって実行されることにより、コンピュータを本実施形態のユーザ認証システム1として機能させるようになっている。なお、本実施形態では、ユーザ認証プログラム1aによって、後述する全ての機能を実現しているが、これに限られるものではなく、各機能ごとに別個のプログラムとして独立させるようにしてもよい。   Hereinafter, each component of the storage unit 4 will be described in more detail. The user authentication program 1a of this embodiment is installed in the program storage unit 41. And it is made to function as the user authentication system 1 of this embodiment by being performed by the arithmetic processing means 5. In the present embodiment, all functions to be described later are realized by the user authentication program 1a. However, the present invention is not limited to this, and each function may be made independent as a separate program.

ユーザ判定用データ記憶部42は、キーボードからのキー操作が登録ユーザに由来するものであるか否かを判定するためのユーザ判定用データを予め記憶するものである。このユーザ判定用データは、登録ユーザのタイピングの癖や特徴を示すものであり、後述するように、登録ユーザのキー操作情報からサンプリングされたトリプレットデータに基づいて作成される。   The user determination data storage unit 42 stores in advance user determination data for determining whether or not the key operation from the keyboard is derived from the registered user. The user determination data indicates the typing habits and characteristics of the registered user, and is created based on triplet data sampled from the registered user's key operation information, as will be described later.

また、ユーザ判定用データを構成するデータ単位としては、3連続の押下キーの組合せ(本発明において「トリプレット」という)を採用した。なぜなら、本願発明者による多数のサンプリング調査の結果、2連続の押下キーの組合せを用いた場合、パラメータが安定せず、登録ユーザを誤って拒否する確率が高かったからである。一方、4連続の押下キーの組合せを用いた場合、データが膨大になり、データの作成処理および判定処理に時間がかかり過ぎることがわかったからである。よって3連続の押下キーの組合せを使って認証判定するのが好ましいとの知見に至った。   Further, a combination of three consecutive pressed keys (referred to as “triplet” in the present invention) is adopted as a data unit constituting the user determination data. This is because, as a result of numerous sampling investigations by the inventor of the present application, when a combination of two consecutive press keys is used, the parameter is not stable and the probability of erroneously refusing a registered user is high. On the other hand, when the combination of four consecutive press keys is used, it has been found that the data becomes enormous and it takes too much time to create and determine the data. Therefore, the inventors have found that it is preferable to perform authentication determination using a combination of three consecutive pressed keys.

また、本実施形態において、トリプレットとしては、26種類の小文字アルファベットキー(a〜z)のみからなる3連続の押下キーの組合せを対象とした。アルファベットキー以外のキー、例えばシフトキー、スペースキー、リターンキー、数字キー、記号キー等を含むトリプレットについては、タッチタイピングにおけるホームポジションから逸脱していたり、かな漢字変換システムを操作している可能性があり、登録ユーザに固有のタイピングの癖や特徴を示すデータとしては不適切と考えられるからである。   Further, in the present embodiment, the triplet is a combination of three consecutive press keys consisting of only 26 types of lowercase alphabet keys (az). Keys other than alphabet keys, such as shift keys, space keys, return keys, number keys, symbol keys, etc., may deviate from the home position in touch typing or operate the Kana-Kanji conversion system. This is because it is considered inappropriate as data indicating typing habits and features unique to registered users.

図2は、本実施形態におけるユーザ判定用データの一例を示す図である。本実施形態において、ユーザ判定用データは、認証しようとする登録ユーザに対応付けて、3連続の押下キーの組合せ(第1キー,第2キーおよび第3キー)からなるトリプレットと、当該トリプレットの操作情報のうち、第1キーが押下されてから第2キーが押下されるまでの第1待ち時間(T)と第2キーが押下されてから第3キーが押下されるまでの第2待ち時間(T)の比率として求めた第1比率値(R)と、第2キーの押下時間(D)と第3キーの押下時間(D)の比率として求めた第2比率値(R)とから構成されている。 FIG. 2 is a diagram illustrating an example of user determination data in the present embodiment. In this embodiment, the user determination data is associated with a registered user to be authenticated, a triplet composed of a combination of three consecutive press keys (first key, second key, and third key), and the triplet Of the operation information, the first waiting time (T 1 ) from when the first key is pressed to when the second key is pressed and the second time from when the second key is pressed until the third key is pressed The first ratio value (R 1 ) obtained as the ratio of the waiting time (T 2 ), and the second ratio obtained as the ratio of the pressing time (D 2 ) of the second key and the pressing time (D 3 ) of the third key. Value (R 2 ).

なお、本実施形態において、ユーザ判定用データは、第1比率値(R)と第2比率値(R)との両方を有しているが、これに限られるものではなく、少なくとも第1比率値(R)を有していれば所定の作用効果が得られる。また、第2比率値(R)としては、第2キーの押下時間(D)と第3キーの押下時間(D)の比率を使用しているが、第1キーの押下時間(D)と第2キーの押下時間(D)の比率、あるいは第1キーの押下時間(D)と第3キーの押下時間(D)の比率を使用してもよい。さらに、本実施形態では、後述するように、入力された回数が10回以下のトリプレットはサンプルの信頼性を確保する観点から除外されている。 In the present embodiment, the user determination data includes both the first ratio value (R 1 ) and the second ratio value (R 2 ), but the present invention is not limited to this. If it has 1 ratio value (R 1 ), a predetermined effect can be obtained. As the second ratio value (R 2 ), the ratio of the second key pressing time (D 2 ) to the third key pressing time (D 3 ) is used. A ratio of D 1 ) and the second key pressing time (D 2 ) or a ratio of the first key pressing time (D 1 ) and the third key pressing time (D 3 ) may be used. Furthermore, in this embodiment, as will be described later, triplets whose number of inputs is 10 or less are excluded from the viewpoint of ensuring the reliability of the sample.

トリプレットデータ記憶部43は、登録ユーザのキー操作情報からサンプリングしたトリプレットデータを記憶するものである。このトリプレットデータは、ユーザ判定用データを作成するための基本データとして用いられる。また、本実施形態において、トリプレットデータは、後述するように、登録ユーザか否かを判定するための判定対象データとしても用いられる。したがって、トリプレットデータは、前述したユーザ判定用データと同様、トリプレットと、第1比率値(R)と、第2比率値(R)とから構成されている。 The triplet data storage unit 43 stores triplet data sampled from the key operation information of the registered user. This triplet data is used as basic data for creating user determination data. In the present embodiment, the triplet data is also used as determination target data for determining whether or not the user is a registered user, as will be described later. Therefore, the triplet data is composed of a triplet, a first ratio value (R 1 ), and a second ratio value (R 2 ), as with the user determination data described above.

つぎに、演算処理手段5は、CPU(Central Processing Unit)等から構成されており、プログラム記憶部41にインストールされたユーザ認証プログラム1aを実行させることにより、主として、キー操作情報からトリプレットデータを採取するためのトリプレットデータ採取機能と、ユーザ判定用データを作成するためのユーザ判定用データ作成機能と、キー操作しているユーザを判定するためのユーザ判定機能とを実現するようになっている。   Next, the arithmetic processing means 5 is composed of a CPU (Central Processing Unit) and the like, and mainly collects triplet data from key operation information by executing the user authentication program 1a installed in the program storage unit 41. A triplet data collection function for performing the user determination, a user determination data generation function for generating user determination data, and a user determination function for determining the user who operates the key are realized.

以下、各機能を実現するための各構成部についてより詳細に説明する。まず、トリプレットデータ採取機能は、図1に示すように、主として、キー操作情報取得部51と、トリプレット抽出部52と、時間データ取得部53と、トリプレット選別部54と、比率値算出部55と、抽出順序ランダマイズ部56と、トリプレットデータ登録部57としてコンピュータを機能させることにより実現されるものである。 Hereinafter, each component for realizing each function will be described in more detail. First, as shown in FIG. 1, the triplet data collection function mainly includes a key operation information acquisition unit 51, a triplet extraction unit 52, a time data acquisition unit 53, a triplet selection unit 54, and a ratio value calculation unit 55. , an extraction sequence run Damaizu unit 56 are realized by causing a computer to function as triplet data registration unit 57.

以下、トリプレットデータ採取機能を実現させる各構成部についてより詳細に説明する。   Hereinafter, each component that realizes the triplet data collection function will be described in more detail.

キー操作情報取得部51は、キーボードが操作されたときのキー操作情報を取得するものである。本実施形態において、ユーザ認証システム1は、キーボードの各キーが押下されたり、解放される度に内部的なメッセージデータを作成するように構成されている。したがって、キー操作情報取得部51は、これらのメッセージデータを横取り(hooking)し、キー操作情報として取得するようになっている。   The key operation information acquisition unit 51 acquires key operation information when the keyboard is operated. In this embodiment, the user authentication system 1 is configured to create internal message data each time a key on the keyboard is pressed or released. Therefore, the key operation information acquisition unit 51 hooks these message data and acquires them as key operation information.

トリプレット抽出部52は、キー操作情報から所定のトリプレットを抽出するものである。具体的には、トリプレット抽出部52は、キー操作情報取得部51が取得したキー操作情報の中から、3連続の押下キーのうち全てが有効キー群からなるトリプレットを抽出するようになっている。本実施形態では、26種類の小文字アルファベットキー(a〜z)のみが有効キー群に設定され、これ以外のキーは無効キー群に設定されている。   The triplet extraction unit 52 extracts a predetermined triplet from the key operation information. Specifically, the triplet extraction unit 52 extracts a triplet in which all of three consecutive pressed keys are composed of valid key groups from the key operation information acquired by the key operation information acquisition unit 51. . In the present embodiment, only 26 types of lowercase alphabet keys (az) are set as the valid key group, and other keys are set as the invalid key group.

例えば、「Keystroke dynamics」というキー操作情報からは、図3に示すように、「eys」「yst」「str」「tro」「rok」「oke」「dyn」「yna」「nam」「ami」「mic」「ics」という12個のトリプレットが抽出される。この場合、最初の「K」は大文字であるため、キー操作情報「Key」はトリプレットとして抽出されない。また、この例では、スペースキー(空白部)を含むキー操作情報「ke_」「e_d」「_dy」はトリプレットとして抽出されない。   For example, from the key operation information “Keystroke dynamics”, as shown in FIG. 3, “eys” “yst” “str” “tro” “rok” “oke” “dyn” “yna” “nam” “ami” Twelve triplets “mic” and “ics” are extracted. In this case, since the first “K” is a capital letter, the key operation information “Key” is not extracted as a triplet. In this example, key operation information “ke_”, “e_d”, and “_dy” including a space key (blank part) are not extracted as a triplet.

時間データ取得部53は、トリプレットを構成する各押下キーに関し、所定の時間データを取得するものである。具体的には、時間データ取得部53は、トリプレット抽出部52が抽出した各トリプレットにつき、図4に示すように、第1キーの押下時間(D)と、第2キーの押下時間(D)と、第3キーの押下時間(D)と、第1キーが押下されてから第2キーが押下されるまでの第1待ち時間(T)と、第2キーが押下されてから第3キーが押下されるまでの第2待ち時間(T)とを取得する。 The time data acquisition unit 53 acquires predetermined time data for each pressed key constituting the triplet. Specifically, for each triplet extracted by the triplet extraction unit 52, the time data acquisition unit 53, as shown in FIG. 4, the first key pressing time (D 1 ) and the second key pressing time (D 2 ), the pressing time (D 3 ) of the third key, the first waiting time (T 1 ) from when the first key is pressed until the second key is pressed, and the second key is pressed And the second waiting time (T 2 ) until the third key is pressed.

また、本実施形態において、時間データ取得部53は、トリプレット抽出部52が抽出した各トリプレットにつき、図4に示すように、第1キーが押下されてから第3キーが解放されるまでの総トリプレット時間(T)をも取得するようになっている。 Further, in the present embodiment, the time data acquisition unit 53, for each triplet extracted by the triplet extraction unit 52, totals from when the first key is pressed until the third key is released, as shown in FIG. The triplet time (T A ) is also acquired.

トリプレット選別部54は、例外的なトリプレットを除外し有効なトリプレットだけを選別するものである。具体的には、トリプレット選別部54は、時間データ取得部53が取得した各時間データ(D,D,D,T,T,T)を取得し、各時間データが所定の制限時間内に含まれているか否かを判定する。そして、全ての時間データが制限時間内にあるトリプレットだけを適切なトリプレットとして選別するようになっている。一方、いずれかの時間データが制限時間を逸脱している場合、当該トリプレットは例外的なデータであるとして採用しない。 The triplet sorting unit 54 sorts only effective triplets by excluding exceptional triplets. Specifically, the triplet sorting unit 54 acquires each time data (D 1 , D 2 , D 3 , T 1 , T 2 , T A ) acquired by the time data acquiring unit 53, and each time data is predetermined. It is determined whether it is included within the time limit. Only triplets whose time data are within the time limit are selected as appropriate triplets. On the other hand, when any time data deviates from the time limit, the triplet is not adopted as exceptional data.

なお、本実施形態において、制限時間としては、各キーの押下時間(D,D,D)に対する上限値および下限値、各待ち時間(T,T)に対する上限値および下限値、および第1キーが押下されてから第3キーが解放されるまでの総トリプレット時間(T)に対する上限値を設定しているがこれに限られるものではなく、少なくとも、第1待ち時間(T)および第2待ち時間(T)ないし各キーの押下時間(D,D,D)に制限時間を設定し、トリプレットを選別するようにしてもよい。 In the present embodiment, as the time limit, an upper limit value and a lower limit value for each key pressing time (D 1 , D 2 , D 3 ), and an upper limit value and a lower limit value for each waiting time (T 1 , T 2 ). , And an upper limit value for the total triplet time (T A ) from when the first key is pressed until the third key is released, but is not limited to this, and at least the first waiting time ( A time limit may be set for T 1 ) and the second waiting time (T 2 ) or each key press time (D 1 , D 2 , D 3 ), and the triplets may be selected.

比率値算出部55は、各トリプレットについて、上述した第1比率値(R)および第2比率値(R)を算出するものである。具体的には、比率値算出部55は、トリプレット選別部54により選別された各トリプレットについて、時間データ取得部53が取得した第1待ち時間(T)および第2待ち時間(T)を取得し、第1比率値(R=T/T)を算出する。同様に、比率値算出部55は、時間データ取得部53が取得した各キー押下時間(D,D,D)の押下時間のうちいずれか2つを取得し、第2比率値(R=D/D,D/D,D/D)を算出する。 The ratio value calculation unit 55 calculates the above-described first ratio value (R 1 ) and second ratio value (R 2 ) for each triplet. Specifically, the ratio value calculation unit 55 calculates the first waiting time (T 1 ) and the second waiting time (T 2 ) acquired by the time data acquisition unit 53 for each triplet selected by the triplet selection unit 54. To obtain a first ratio value (R 1 = T 1 / T 2 ). Similarly, the ratio value calculation unit 55 acquires any two of the pressing times of the key pressing times (D 1 , D 2 , D 3 ) acquired by the time data acquisition unit 53 and obtains the second ratio value ( R 2 = D 2 / D 3 , D 1 / D 2 , D 1 / D 3 ).

なお、本実施形態において、比率値算出部55は、内部的処理として、一方を256倍してから他方で除算し、小数点以下を切り捨てて得られる整数を比率値として算出するようになっている。これにより、計算の高速化が図られている。   In the present embodiment, the ratio value calculation unit 55 calculates, as an internal process, an integer obtained by multiplying one by 256 and then dividing by the other and rounding off the decimal part as the ratio value. . This speeds up the calculation.

抽出順序ランダマイズ部56は、キー押下された文字列を再現し難くするため、トリプレットの抽出順序をランダムに並べ替えるものである。本実施形態において、抽出順序ランダマイズ部56は、トリプレット選別部54が選別した各トリプレットのトリプレットデータをトリプレットデータ記憶部43に登録する前に、各トリプレットにタイムスタンプ(秒単位)を含むヘッダを付し、順次、記憶手段4のRAMに一時的に蓄積させる。そして、所定数のトリプレット群が蓄積したところで、トリプレット抽出部52による抽出順序をランダムに並べ替えるようになっている。 Extraction sequence run Damaizu 56 for difficult to reproduce keypress string, it is intended to sort the extracted sequence of triplets randomly. In this embodiment, the extraction order randomizing unit 56 attaches a header including a time stamp (in seconds) to each triplet before registering the triplet data of each triplet selected by the triplet selection unit 54 in the triplet data storage unit 43. Then, sequentially, the data is temporarily stored in the RAM of the storage unit 4. Then, when a predetermined number of triplet groups are accumulated, the extraction order by the triplet extraction unit 52 is randomly rearranged.

なお、本実施形態では、再現の困難性と処理速度とのバランスを考慮して、ランダマイズする際のトリプレット蓄積数を50〜300個に設定しているが、適宜増減してもよい。また、抽出順序ランダマイズ部56は、オプション的に備えられるものであり、別途、暗号化処理プログラム等によってセキュリティ性を向上させてもよい。 In this embodiment, the number of triplets accumulated during randomization is set to 50 to 300 in consideration of the balance between the difficulty of reproduction and the processing speed, but may be increased or decreased as appropriate. The extraction sequence run Damaizu unit 56 are those provided Optionally, separately, it may be improved security the encryption processing program.

トリプレットデータ登録部57は、トリプレットデータをトリプレットデータ記憶部43に登録するものである。具体的には、トリプレット選別部54が選別した各トリプレットについて、比率値算出部55が算出した第1比率値(R)および第2比率値(R)を取得し、これら両者を対応付けたトリプレットデータとしてトリプレットデータ記憶部43に登録するようになっている。 The triplet data registration unit 57 registers triplet data in the triplet data storage unit 43. Specifically, for each triplet selected by the triplet selection unit 54, the first ratio value (R 1 ) and the second ratio value (R 2 ) calculated by the ratio value calculation unit 55 are acquired, and these are associated with each other. Further, it is registered in the triplet data storage unit 43 as triplet data.

本実施形態において、トリプレットデータ登録部57は、ユーザ判定用データを作成するための基本データとしてトリプレットデータを登録する場合、ユーザの特徴を示すものとしての信頼性を担保しうる充分なトリプレット数(7000〜10000程度)を確保し、当該ユーザに対応付けて登録する。また、本実施形態において、トリプレットデータ登録部57は、ユーザ判定時の判定対象データとしてトリプレットデータを登録する場合、一回判定分に好適なトリプレット数(50〜400程度)を確保する。   In this embodiment, the triplet data registration unit 57, when registering triplet data as basic data for creating user determination data, has a sufficient number of triplets that can guarantee the reliability as indicating the user characteristics ( Secure about 700-10000) and register it in association with the user. Moreover, in this embodiment, the triplet data registration part 57 ensures the triplet number (about 50-400) suitable for one determination, when registering triplet data as determination object data at the time of user determination.

つぎに、ユーザ判定用データ作成機能を実現する各構成部について説明する。このユーザ判定用データ作成機能は、図1に示すように、主として、基本データ取得部58と、トリプレット数算出部59と、重み値設定部60と、変動係数算出部61と、トリプレット再選別部62と、ユーザ判定用データ登録部63としてコンピュータを機能させることにより実現されるものである。   Next, each component that implements the user determination data creation function will be described. As shown in FIG. 1, the user determination data creation function mainly includes a basic data acquisition unit 58, a triplet number calculation unit 59, a weight value setting unit 60, a variation coefficient calculation unit 61, and a triplet re-sorting unit. 62, and by causing the computer to function as the user determination data registration unit 63.

以下、ユーザ判定用データ作成機能を実現させる各構成部についてより詳細に説明する。   Hereinafter, each component that implements the user determination data creation function will be described in more detail.

基本データ取得部58は、ユーザ判定用データを作成するための基本データを取得するものである。具体的には、基本データ取得部58は、トリプレットデータ記憶部43に登録されたトリプレットデータのうち、ユーザ判定用データを作成しようとする所定の登録ユーザについて採取されたトリプレットデータを基本データとして取得する。なお、基本データとして蓄積されたトリプレットの数が多いほど、ユーザ判定用データの精度が高くなるため、本実施形態では、少なくとも7000個以上のトリプレットを有するトリプレットデータを基本データとして使用する。   The basic data acquisition unit 58 acquires basic data for creating user determination data. Specifically, the basic data acquisition unit 58 acquires, as basic data, triplet data collected for a predetermined registered user who wants to create user determination data among the triplet data registered in the triplet data storage unit 43. To do. Note that, as the number of triplets stored as basic data increases, the accuracy of the user determination data increases. In this embodiment, triplet data having at least 7000 or more triplets is used as basic data.

トリプレット数算出部59は、同一文字列からなるトリプレットの数を算出するものである。具体的には、トリプレット数算出部59は、基本データ取得部58が取得した基本データに含まれる全トリプレットを読み込み、異なる文字列のトリプレットごとに、当該トリプレットと同一文字列のトリプレットの出現回数をカウントし、トリプレット数として算出するようになっている。   The triplet number calculation unit 59 calculates the number of triplets made of the same character string. Specifically, the triplet number calculation unit 59 reads all triplets included in the basic data acquired by the basic data acquisition unit 58, and for each triplet of different character strings, the number of occurrences of triplets of the same character string as the triplet is calculated. It is counted and calculated as the triplet number.

重み値設定部60は、各トリプレットに対する重み値を設定するものである。本実施形態において、重み値設定部60は、各トリプレットについてトリプレット数算出部59が算出したトリプレット数を取得し、当該トリプレット数に応じて重み値を設定する。具体的には、トリプレット数の多いトリプレットは、登録ユーザの特徴をより正確かつ安定的に示す可能性が高いためより高い重み値を付与し、トリプレット数の少ないトリプレットは、パラメータとして安定しないためより低い重み値を付与する。   The weight value setting unit 60 sets a weight value for each triplet. In this embodiment, the weight value setting unit 60 acquires the triplet number calculated by the triplet number calculation unit 59 for each triplet, and sets the weight value according to the triplet number. Specifically, a triplet with a large number of triplets gives a higher weight value because it is more likely to indicate the characteristics of a registered user more accurately and stably, and a triplet with a small number of triplets is less stable as a parameter. Give a low weight value.

なお、本実施形態では、トリプレット数が11個以上のトリプレットには重み値として「1」を付与し、トリプレット数が10個以下のトリプレットには重み値として「0」を付与しているが、これに限られるものではなく、トリプレット数に比例した重み値を付与するようにしてもよい。   In the present embodiment, a triplet having a triplet number of 11 or more is given a weight value of “1”, and a triplet having a triplet number of 10 or less is given a weight value of “0”. However, the present invention is not limited to this, and a weight value proportional to the number of triplets may be given.

トリプレット再選別部62は、ユーザ判定用データとして好適なトリプレットデータを再選別するものである。本実施形態において、トリプレット再選別部62は、重み値設定部60によって設定された重み値が所定の閾値以上であるか否かを判定する。そして、当該重み値が所定値以上となるトリプレットデータをユーザ判定用データに好適な情報として選択する。一方、当該重み値が所定値よりも小さいトリプレットデータは、ユーザ判定用データとしては不適な情報として除外する。   The triplet re-sorting unit 62 re-sorts triplet data suitable as user determination data. In the present embodiment, the triplet re-sorting unit 62 determines whether or not the weight value set by the weight value setting unit 60 is greater than or equal to a predetermined threshold value. Then, triplet data in which the weight value is equal to or greater than a predetermined value is selected as information suitable for user determination data. On the other hand, triplet data whose weight value is smaller than a predetermined value is excluded as information inappropriate for user determination data.

変動係数算出部61は、各トリプレットについて、第1比率値(R)および第2比率値(R)の変動係数(標準偏差/平均値)を算出するものである。具体的には、変動係数算出部61は、トリプレット再選別部62によって再選別された各トリプレットについて、第1比率値(R)および第2比率値(R)を取得し、各比率値の平均値および標準偏差を算出する。そして、当該標準偏差を平均値で除した値を変動係数(標準偏差/平均値)として算出するようになっている。 The variation coefficient calculation unit 61 calculates a variation coefficient (standard deviation / average value) of the first ratio value (R 1 ) and the second ratio value (R 2 ) for each triplet. Specifically, the coefficient of variation calculation unit 61 acquires the first ratio value (R 1 ) and the second ratio value (R 2 ) for each triplet re-sorted by the triplet re-sorting unit 62, and each ratio value Calculate the mean and standard deviation. A value obtained by dividing the standard deviation by the average value is calculated as a coefficient of variation (standard deviation / average value).

また、本実施形態において、トリプレット再選別部62は、上述した重み値による再選別に加えて、変動係数による再選別をも実行するようになっている。具体的には、トリプレット再選別部62は、変動係数算出部61によって算出された変動係数が所定の閾値以下であるか否かを判定する。そして、当該変動係数が所定値以下のトリプレットデータをユーザ判定用データとして再選別するようになっている。一方、当該変動係数が所定値よりも大きいトリプレットデータは、ユーザ判定用データとしては不適であると判定して除外する。これは、変動係数が大きいほど各比率値のばらつきが大きく、ユーザ判定用データとしての信頼性が低いからである。   Further, in the present embodiment, the triplet re-sorting unit 62 executes re-sorting by a coefficient of variation in addition to the above-described re-sorting by the weight value. Specifically, the triplet re-sorting unit 62 determines whether or not the variation coefficient calculated by the variation coefficient calculation unit 61 is equal to or less than a predetermined threshold. Then, triplet data having the variation coefficient equal to or smaller than a predetermined value is re-sorted as user determination data. On the other hand, triplet data in which the variation coefficient is larger than a predetermined value is determined to be inappropriate as user determination data, and is excluded. This is because the larger the variation coefficient, the larger the variation of each ratio value, and the lower the reliability as the data for user determination.

ユーザ判定用データ登録部63は、ユーザ判定用データをユーザ判定用データ記憶部42に登録するものである。具体的には、ユーザ判定用データ登録部63は、基本データの中からトリプレット再選別部62によって再選別されたトリプレットデータだけをユーザ判定用データとしてユーザ判定用データ記憶部42に登録するようになっている。   The user determination data registration unit 63 registers user determination data in the user determination data storage unit 42. Specifically, the user determination data registration unit 63 registers only the triplet data rescreened by the triplet rescreening unit 62 from the basic data in the user determination data storage unit 42 as user determination data. It has become.

つぎに、ユーザ判定機能を実現する各構成部について説明する。このユーザ判定機能は、図1に示すように、主として、判定対象データ取得部64と、評価値算出部65と、特徴値算出部66と、ユーザ判定部67と、後処理実行部68としてコンピュータを機能させることにより実現されるものである。   Next, each component that realizes the user determination function will be described. As shown in FIG. 1, this user determination function mainly includes a determination target data acquisition unit 64, an evaluation value calculation unit 65, a feature value calculation unit 66, a user determination unit 67, and a post-processing execution unit 68 as a computer. It is realized by making the function.

以下、ユーザ判定機能を実現させる各構成部についてより詳細に説明する。   Hereinafter, each component that realizes the user determination function will be described in more detail.

判定対象データ取得部64は、キー操作しているユーザが登録ユーザであるか否か判定するための判定対象データを取得するものである。本実施形態において、判定対象データ取得部64は、判定しようとする登録ユーザについてサンプリングされたトリプレットデータのうち、一回判定分のトリプレットデータを逐次、判定対象データとしてトリプレットデータ記憶部43から取得する。なお、本実施形態において、判定対象データ取得部64は、リアルタイムでの常時監視性と処理速度とのバランスを考慮して、50〜400個のトリプレットからなるトリプレットデータを一回判定分の判定対象データとして取得するようになっている。   The determination target data acquisition unit 64 acquires determination target data for determining whether or not the user operating the key is a registered user. In the present embodiment, the determination target data acquisition unit 64 sequentially acquires triplet data for one determination from the triplet data storage unit 43 as determination target data among the triplet data sampled for the registered user to be determined. . In the present embodiment, the determination target data acquisition unit 64 considers a balance between real-time constant monitoring and processing speed, and determines the triplet data including 50 to 400 triplets as a determination target for one determination. It comes to get as data.

評価値算出部65は、各トリプレットについての評価値(V)を算出するものである。この評価値算出部65は、判定対象データ取得部64が取得した判定対象データに含まれる各トリプレットにつき、ユーザ判定用データ記憶部42に記憶されたユーザ判定用データに基づいて、第1比率値(R)および第2比率値(R)の評価値(V)を算出するようになっている。 The evaluation value calculator 65 calculates an evaluation value (V) for each triplet. The evaluation value calculation unit 65 calculates the first ratio value based on the user determination data stored in the user determination data storage unit 42 for each triplet included in the determination target data acquired by the determination target data acquisition unit 64. An evaluation value (V) of (R 1 ) and the second ratio value (R 2 ) is calculated.

具体的には、評価値算出部65は、ユーザ判定用データ記憶部42内のユーザ判定用データのうち、判定対象データに含まれるトリプレットと同一文字列の全トリプレット(同一トリプレット群)を参照する。そして、判定対象データに含まれるトリプレットの比率値と、当該同一トリプレット群の各比率値とを比較し、当該トリプレットの比率値に関する順位を求める。そして、当該順位が中央値に近いほど高い評価値(V)を算出し、当該順位が最高値または最低値に近いほど低い評価値(V)を算出するようになっている。   Specifically, the evaluation value calculation unit 65 refers to all triplets (same triplet group) of the same character strings as the triplets included in the determination target data in the user determination data in the user determination data storage unit 42. . Then, the ratio value of the triplet included in the determination target data is compared with each ratio value of the same triplet group, and the rank relating to the ratio value of the triplet is obtained. A higher evaluation value (V) is calculated as the ranking is closer to the median value, and a lower evaluation value (V) is calculated as the ranking is closer to the highest value or the lowest value.

図5は、この評価値算出部65による評価方法を示すグラフである。横軸に比率値をとり、縦軸にトリプレット数を取った場合、比率値が実線で表示するような分布を示したとする。この場合、比率値の大小に関する順位に換算すると、当該順位における中央値が求められる。したがって、図中の点線で示すように、当該中央値となる比率値を有するトリプレットには、最も高い評価値を付与し、当該中央値から順位が離れるに従って評価値を減少するように設定されている。   FIG. 5 is a graph showing an evaluation method by the evaluation value calculation unit 65. Suppose that the ratio value is plotted on the horizontal axis and the triplet number is plotted on the vertical axis, the distribution shows the ratio value displayed as a solid line. In this case, when converted into a rank regarding the ratio value, a median value in the rank is obtained. Therefore, as shown by the dotted line in the figure, the triplet having the ratio value that is the median value is assigned the highest evaluation value, and the evaluation value is set to decrease as the rank goes away from the median value. Yes.

また、本実施形態において、評価値算出部65は、下記式(1)を用いることにより、上述した順位に応じた評価値(V)を算出するようになっている。
V(R)=a−b×|(L−S)|×(L+S) ・・・式(1)
ただし、
a,b:係数
R:第1比率値または第2比率値
L:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値より大きい比率値を有するトリプレットの数
S:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値以下の比率値を有するトリプレットの数
Moreover, in this embodiment, the evaluation value calculation part 65 calculates the evaluation value (V) according to the order | rank mentioned above by using following formula (1).
V (R) = a−b × | (LS) | × (L + S) Expression (1)
However,
a, b: Coefficient R: First ratio value or second ratio value L: Among triplets in the user determination data, the same character string as the triplet of the determination target data, and a ratio value larger than the ratio value of the triplet S: Number of triplets in the user determination data having the same character string as the determination target data triplet and having a ratio value less than or equal to the ratio value of the triplet

なお、本実施形態では、トリプレットの比率値分布の歪みを考慮して、上述した順位に応じた評価値(V)を採用しているが、これに限られるものではない。例えば、後述するように、前記比率値分布が正規分布に近い場合には、標準偏差を基準とし、平均値からの距離を評価値(V)として採用するようにしてもよい。   In the present embodiment, the evaluation value (V) corresponding to the above-described rank is adopted in consideration of the distortion of the triplet ratio value distribution. However, the present invention is not limited to this. For example, as will be described later, when the ratio value distribution is close to a normal distribution, the standard deviation may be used as a reference, and the distance from the average value may be adopted as the evaluation value (V).

特徴値算出部66は、判定対象データに関する特徴値(C)を算出するものである。この特徴値(C)は、判定対象データが登録ユーザに由来するものか否かを判定するための指標となるものである。本実施形態において、特徴値算出部66は、判定対象データに含まれる全てのトリプレットにつき、評価値算出部65が算出した各評価値(V)を取得する。そして、これらの評価値(V)に基づいて、判定対象データの特徴値(C)を算出するようになっている。   The feature value calculation unit 66 calculates a feature value (C) related to the determination target data. This feature value (C) serves as an index for determining whether the determination target data is derived from the registered user. In the present embodiment, the feature value calculation unit 66 acquires each evaluation value (V) calculated by the evaluation value calculation unit 65 for all triplets included in the determination target data. Based on these evaluation values (V), the characteristic value (C) of the determination target data is calculated.

具体的には、特徴値算出部66は、下記式(2)により特徴値(C)を算出するようになっている。
C={Σ[W×V(R)]}/N ・・・式(2)
ただし、
W:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列のトリプレット数に基づいて定められる重み値
N:被評価単位のトリプレット数
Specifically, the feature value calculation unit 66 calculates the feature value (C) by the following equation (2).
C = {Σ [W × V (R)]} / N (2)
However,
W: Weight value determined based on the number of triplets of the same character string as the triplet of the determination target data among the triplets in the user determination data N: Number of triplets of the unit to be evaluated

なお、本実施形態において、上記式(2)における重み値(W)は、上述した重み値設定部60により算出される重み値と同様に設定されている。具体的には、ユーザ判定用データ内に同一トリプレットが多いトリプレットについては、判定対象データの特徴をより正確かつ安定的に示す可能性が高いため高い重み値が設定され、同一トリプレットが少ないトリプレットについては、パラメータとして安定しないため低い重み値が設定される。   In the present embodiment, the weight value (W) in the above equation (2) is set in the same manner as the weight value calculated by the weight value setting unit 60 described above. Specifically, for triplets with many identical triplets in the data for user determination, a high weight value is set because there is a high possibility that the characteristics of the determination target data are more accurately and stably indicated, and for triplets with few identical triplets. Is not stable as a parameter, so a low weight value is set.

また、上記式(2)における被評価単位のトリプレット数(N)は、1つのトリプレットであっても、第1比率値(R)に対する評価値と、第2比率値(R)に対する評価値を用いた場合、N=2とする。 Moreover, even if the number of triplets (N) of the unit to be evaluated in the above formula (2) is one triplet, the evaluation value for the first ratio value (R 1 ) and the evaluation for the second ratio value (R 2 ) If a value is used, N = 2.

ユーザ判定部67は、判定対象データが登録ユーザに由来するものであるか否かを判定するものである。本実施形態において、ユーザ判定部67は、特徴値算出部66により算出された特徴値(C)を取得し、この特徴値(C)と所定のカットオフ値との大小関係を比較する。そして、当該特徴値(C)がカットオフ値よりも大きい場合、当該判定対象データは登録ユーザに由来するものであると判定する。一方、当該特徴値(C)がカットオフ値以下の場合、当該判定対象データは登録ユーザによって入力されたものではないと判定する。   The user determination unit 67 determines whether the determination target data is derived from the registered user. In the present embodiment, the user determination unit 67 acquires the feature value (C) calculated by the feature value calculation unit 66, and compares the magnitude relationship between the feature value (C) and a predetermined cutoff value. When the feature value (C) is larger than the cutoff value, it is determined that the determination target data is derived from the registered user. On the other hand, when the feature value (C) is equal to or less than the cutoff value, it is determined that the determination target data is not input by the registered user.

なお、カットオフ値は、登録ユーザを正しく登録ユーザとして判定する確率(特異度:specificity)と、登録ユーザとは異なる他人を正しく他人として判定する確率(感度:sensitivity)とのバランスに基づいて設定される。本実施形態では、常時監視による継続的なユーザ認証を前提としているため、特異度が高くなるように、つまり登録ユーザを誤って他人として判定する確率が低くなるようにカットオフ値を設定する。   The cut-off value is set based on a balance between the probability of correctly determining a registered user as a registered user (specificity: specificity) and the probability of correctly determining another person different from the registered user as a stranger (sensitivity: sensitivity). Is done. Since this embodiment is based on the premise of continuous user authentication by constant monitoring, the cutoff value is set so that the specificity is high, that is, the probability that the registered user is erroneously determined as another person is low.

後処理実行部68は、ユーザ判定部67の判定結果に応じて、所定の後処理を実行するものである。本実施形態において、後処理実行部68は、ユーザ判定部67によって登録ユーザであると判定された場合、そのまま当該ユーザによるキー操作を許可する。一方、ユーザ判定部67によって登録ユーザでないと判定された場合、所定の後処理を実行する。   The post-processing execution unit 68 executes predetermined post-processing according to the determination result of the user determination unit 67. In the present embodiment, when the user determination unit 67 determines that the post-processing execution unit 68 is a registered user, the post-processing execution unit 68 permits the key operation by the user as it is. On the other hand, when the user determination unit 67 determines that the user is not a registered user, predetermined post-processing is executed.

具体的な後処理としては、本システム1の管理者等に対し、その旨の警告レポートを発行するようにしてもよいし、入力されたデータに疑義が生じるまで何もしないようにしてもよい。以上の場合、当該ユーザによるキー操作自体は続行される。これに対し、後処理実行部68は、キー操作中のユーザに別途、パスワードの入力や指紋認証を要求するようにしてもよく、キー操作を禁止するようにしてもよい。ただし、判定精度を100%にすることは困難であるため、医療現場における事情を考慮すればキー操作を禁止するには充分な根拠が必要である。   As specific post-processing, a warning report to that effect may be issued to the administrator of the system 1, or nothing may be done until the input data is questionable. . In the above case, the key operation itself by the user is continued. On the other hand, the post-processing execution unit 68 may separately request the user who is operating the key to input a password or perform fingerprint authentication, or may prohibit the key operation. However, since it is difficult to set the determination accuracy to 100%, a sufficient ground is necessary to prohibit the key operation in consideration of the circumstances in the medical field.

つぎに、本実施形態のユーザ認証プログラム1aによって実行されるユーザ認証システム1の作用につき、トリプレットデータ採取機能、ユーザ判定用データ作成機能、およびユーザ判定機能のそれぞれについて図面を参照しつつ説明する。   Next, regarding the operation of the user authentication system 1 executed by the user authentication program 1a of the present embodiment, each of the triplet data collection function, the user determination data creation function, and the user determination function will be described with reference to the drawings.

『トリプレットデータ採取機能』による作用
図6は、トリプレットデータ採取機能によって実行される処理を示すフローチャート図である。まず、本実施形態のユーザ認証システム1によって、基本データあるいは判定対象データとしてのトリプレットデータを採取する場合、ユーザが入力手段2であるキーボードを操作するのを待機する。そして、キーボードが操作されたとき、キー操作情報取得部51が、そのキー操作情報を取得する(ステップS1)。なお、本実施形態において、基本データ用のトリプレットデータを採取する場合、キー操作開始時に、ユーザIDの入力を促し、キー操作情報の採取について同意を確認するように構成されている。
Operation by “triplet data collection function” FIG. 6 is a flowchart showing processing executed by the triplet data collection function. First, when triplet data as basic data or determination target data is collected by the user authentication system 1 of the present embodiment, the user waits for the user to operate the keyboard as the input means 2. When the keyboard is operated, the key operation information acquisition unit 51 acquires the key operation information (step S1). In the present embodiment, when triplet data for basic data is collected, the user ID is prompted to be input at the start of key operation, and consent is confirmed for collection of key operation information.

つづいて、トリプレット抽出部52が、キー操作情報の中から、小文字アルファベットキー(a〜z)のみからなるトリプレットを抽出する(ステップS2)。これにより、大文字を入力しようとしてシフトキーを押下した場合や、漢字変換しようとしてスペースキーを押下した場合等のように、ユーザ本来の入力リズムとは異なるリズムで入力された可能性の高いトリプレットを排除できるため、認証精度が向上する。   Subsequently, the triplet extraction unit 52 extracts a triplet consisting only of lowercase alphabetic keys (az) from the key operation information (step S2). This eliminates triplets that are likely to be input with a rhythm that is different from the user's original input rhythm, such as when the shift key is pressed to input capital letters or the space key is pressed to convert kanji. This improves authentication accuracy.

つぎに、抽出された各トリプレットにつき、時間データ取得部53が、図4に示す各種の時間データ(D,D,D,T,T,T)を取得すると(ステップS3)、トリプレット選別部54が、これらの時間データに基づき、有効なトリプレットを選別する(ステップS4)。 Next, for each extracted triplet, the time data acquisition unit 53 acquires various time data (D 1 , D 2 , D 3 , T 1 , T 2 , T A ) shown in FIG. 4 (step S3). ), The triplet selection unit 54 selects an effective triplet based on the time data (step S4).

具体的には、図7に示すように、各キー(第1キー、第2キー、第3キー)の押下時間(D,D,D)、各待ち時間(T,T)および総トリプレット時間(T)のそれぞれが、所定の制限時間内に含まれるているか否かを判定する(ステップS41〜S43)。そして、各時間データの全てが制限時間内に含まれるトリプレットだけを選別する(ステップS41〜S43:全てYES)。一方、いずれかの時間データが制限時間を逸脱している場合(ステップS41〜S43:いずれかNO)、当該トリプレットを除外する(ステップS44)。 Specifically, as shown in FIG. 7, the pressing time (D 1 , D 2 , D 3 ) of each key (first key, second key, third key) and each waiting time (T 1 , T 2). ) and the respective total triplet time (T a) is, determines whether or not included within the predetermined time limit (step S41 to S43). Then, only triplets in which all the time data are included within the time limit are selected (steps S41 to S43: all YES). On the other hand, if any time data deviates from the time limit (steps S41 to S43: any NO), the triplet is excluded (step S44).

これにより、偶発的にキー操作が遅くなったり中断した場合、いずれかの時間データが制限時間の上限値を超えるため、当該トリプレットは除外される。また、自分の名前等のように、頻繁に入力している文字列であるためにユーザ本来の入力速度よりも高速で入力されるトリプレットについては、いずれかの時間データが制限時間の下限値を下回るため、同様に除外される。また、コンピュータのOS(Operating System)に起因して不自然な時間データが取得されたとしても、制限時間を逸脱するため当該トリプレットは除外される。   As a result, when the key operation is accidentally delayed or interrupted, any time data exceeds the upper limit of the time limit, and thus the triplet is excluded. Also, for triplets that are input at a speed higher than the user's original input speed because they are frequently input character strings such as their own names, any time data will have the lower limit of the time limit. Because it is below, it is excluded as well. Even if unnatural time data is acquired due to the OS (Operating System) of the computer, the triplet is excluded because it deviates from the time limit.

以上のように、登録ユーザのタイピングの癖や特徴を示す確率の高いトリプレットだけが選別されるため、認証精度が向上する。なお、本実施形態では、選別精度を高めるため、各キーの押下時間(D,D,D)、各待ち時間(T,T)および総トリプレット時間(T)のそれぞれについて判定しているが、これに限られるものではなく、各キーの押下時間(D,D,D)または各待ち時間(T,T)のいずれかだけを判定して選別するようにしてもよい。 As described above, since only the triplets having a high probability of showing the typing habits and characteristics of the registered user are selected, the authentication accuracy is improved. In the present embodiment, in order to increase the selection accuracy, each key pressing time (D 1 , D 2 , D 3 ), each waiting time (T 1 , T 2 ), and the total triplet time (T A ). Although it is determined, the present invention is not limited to this, and only the pressing time (D 1 , D 2 , D 3 ) or the waiting time (T 1 , T 2 ) of each key is determined and selected. You may do it.

つづいて、比率値算出部55が、選別された各トリプレットについて第1比率値(R=T/T)および第2比率値(R=D/D)を算出する(ステップS5)。なお、第2比率値として、第1キーの押下時間(D)と第2キーの押下時間(D)の比率(D/D)、あるいは第1キーの押下時間(D)と第3キーの押下時間(D)の比率(D/D)を算出するようにしてもよい。 Subsequently, the ratio value calculation unit 55 calculates the first ratio value (R 1 = T 1 / T 2 ) and the second ratio value (R 2 = D 2 / D 3 ) for each selected triplet (step) S5). As the second ratio value, the first key depression time (D 1) and the ratio of the second key depression time (D 2) (D 1 / D 2), or the first key depression time (D 1) And the ratio (D 1 / D 3 ) of the pressing time (D 3 ) of the third key may be calculated.

つづいて、比率値が算出された各トリプレットは、抽出順序ランダマイズ部56によって、順次、記憶手段4のRAMに一時的に蓄積される。そして、所定数のトリプレット群が蓄積されたとき、トリプレット抽出部52による抽出順序をランダムに並べ替える(ステップS6)。これにより、キーストロークごとにコンピュータやネットワークに大きな負荷をかけることが防止される。また、抽出順序をランダマイズすることで、キー操作情報の文字列が再現され難くなるため、機密性の高い情報が漏洩するのを防止し、セキュリティ性が向上する。 Subsequently, each triplet ratio value is calculated by extracting the sequence run Damaizu unit 56 sequentially and temporarily stored in the storage means 4 RAM. When a predetermined number of triplet groups are accumulated, the extraction order by the triplet extraction unit 52 is randomly rearranged (step S6). This prevents a heavy load on the computer or network for each keystroke. Also, by randomizing the extraction order, it becomes difficult to reproduce the character string of the key operation information, so that leakage of highly confidential information is prevented and security is improved.

そして、トリプレットデータ登録部57が、各トリプレットに対応付けて第1比率値(R)および第2比率値(R)をトリプレットデータとしてトリプレットデータ記憶部43に登録する(ステップS7)。 Then, the triplet data registration unit 57 registers the first ratio value (R 1 ) and the second ratio value (R 2 ) in association with each triplet in the triplet data storage unit 43 as triplet data (step S7).

以上のようにして得られたトリプレットデータは、ユーザ判定用データを作成するための基本データ、あるいは、キー操作するユーザを判定するための判定対象データとして使用される。したがって、トリプレットデータとして比率値を採用することで、タイプスピードの変動が判定結果に及ぼす影響を低減している。さらに、上述したランダマイズ処理と合わせて、キー操作情報の文字列を再現するための手がかりを無くして、セキュリティ面を強化している。   The triplet data obtained as described above is used as basic data for creating user determination data or determination target data for determining a user who operates a key. Therefore, by adopting the ratio value as the triplet data, the influence of the variation in the type speed on the determination result is reduced. Further, in conjunction with the above-described randomization processing, a clue for reproducing the character string of the key operation information is eliminated, thereby enhancing the security aspect.

なお、本実施形態では、抽出順序のランダマイズ処理(ステップS6)を比率値算出ステップ(ステップS5)の後に実行しているが、これに限られるものではなく、トリプレットデータ登録ステップ(ステップS7)の前であれば、比率値算出ステップ(ステップS5)の前に実行してもよい。   In this embodiment, the randomization process (step S6) of the extraction order is executed after the ratio value calculation step (step S5). However, the present invention is not limited to this, and the triplet data registration step (step S7) is performed. If it is before, it may be executed before the ratio value calculating step (step S5).

『ユーザ判定用データ作成機能』による作用
図8は、ユーザ判定用データ作成機能によって実行される処理を示すフローチャート図である。まず、本実施形態のユーザ認証システム1によって、ユーザ判定用データを作成する場合、基本データ取得部58が、ユーザ判定用データを作成しようとする登録ユーザについて採取されたトリプレットデータを基本データとしてトリプレットデータ記憶部43から取得する(ステップS11)。
Action by “User Determination Data Creation Function” FIG. 8 is a flowchart showing processing executed by the user determination data creation function. First, when creating user determination data by the user authentication system 1 of the present embodiment, the basic data acquisition unit 58 uses the triplet data collected for the registered user who wants to create user determination data as the basic data. Obtained from the data storage unit 43 (step S11).

つぎに、トリプレット数算出部59が、基本データに含まれる全トリプレットを読み込み、同一文字列のトリプレットごとに、そのトリプレットの数を算出する(ステップS12)。そして、重み値設定部60が、当該トリプレット数に応じた重み値を設定する(ステップS13)。   Next, the triplet number calculation unit 59 reads all triplets included in the basic data, and calculates the number of triplets for each triplet of the same character string (step S12). Then, the weight value setting unit 60 sets a weight value corresponding to the number of triplets (step S13).

つづいて、トリプレット再選別部62が、各トリプレットに付与された重み値を取得し、当該重み値が所定の閾値以上であるか否かを判定する(ステップS14)。そして、当該重み値が所定値以上のトリプレットデータをユーザ判定用データとして再選別する(ステップS14:YES)。一方、当該重み値が所定値よりも小さい場合(ステップS14:NO)、当該トリプレットデータは、ユーザ判定用データとして不適であるとして除外する(ステップS15)。これにより、トリプレット数の多いトリプレットは、登録ユーザの特徴をより正確かつ安定的に示す可能性が高いため採用される。一方、トリプレット数の少ないトリプレットは、パラメータとして安定しないため除外される。   Subsequently, the triplet re-sorting unit 62 acquires the weight value assigned to each triplet and determines whether or not the weight value is equal to or greater than a predetermined threshold value (step S14). Then, the triplet data having the weight value equal to or greater than the predetermined value is rescreened as user determination data (step S14: YES). On the other hand, when the weight value is smaller than the predetermined value (step S14: NO), the triplet data is excluded as being unsuitable as user determination data (step S15). As a result, a triplet having a large number of triplets is employed because it is highly likely to show the characteristics of the registered user more accurately and stably. On the other hand, triplets with a small number of triplets are excluded because they are not stable as parameters.

つぎに、重み値によって再選別された各トリプレットデータにつき、変動係数算出部61が、第1比率値(R)および第2比率値(R)の平均値および標準偏差を求め、その変動係数(標準偏差/平均値)を算出する(ステップS16)。そして、トリプレット再選別部62は、当該変動係数が所定の閾値以下であるか否かを判定する(ステップS17)。 Next, for each triplet data reselected by the weight value, the variation coefficient calculation unit 61 obtains an average value and a standard deviation of the first ratio value (R 1 ) and the second ratio value (R 2 ), and the variation A coefficient (standard deviation / average value) is calculated (step S16). Then, the triplet re-sorting unit 62 determines whether or not the variation coefficient is equal to or less than a predetermined threshold (step S17).

この判定の結果、当該変動係数が所定値以下の場合(ステップS17:YES)、ユーザ判定用データ登録部63が、当該トリプレットデータをユーザ判定用データとしてユーザ判定用データ記憶部42に登録する(ステップS18)。一方、当該変動係数が所定値よりも大きい場合(ステップS17:NO)、当該トリプレットデータは、ユーザ判定用データとして不適であるとして除外される(ステップS15)。これにより、ユーザ判定用データには、各比率値のばらつきが小さく、登録ユーザの本来的な特徴を示すトリプレットデータが採用される。   As a result of this determination, if the variation coefficient is equal to or smaller than the predetermined value (step S17: YES), the user determination data registration unit 63 registers the triplet data as user determination data in the user determination data storage unit 42 ( Step S18). On the other hand, when the variation coefficient is larger than the predetermined value (step S17: NO), the triplet data is excluded as being unsuitable as user determination data (step S15). As a result, triplet data indicating the original characteristics of the registered user is employed as the user determination data with small variations in the ratio values.

そして、全てのトリプレットデータについて、上記ステップS12からステップS18までの選別処理が繰り返される(ステップS19)。以上のようなユーザ判定用データ作成機能を実行することにより、登録ユーザか否かを判定するための基準として使用するのに相応しいユーザ判定用データが作成される。   The sorting process from step S12 to step S18 is repeated for all triplet data (step S19). By executing the user determination data creation function as described above, user determination data suitable for use as a reference for determining whether or not the user is a registered user is created.

『ユーザ判定機能』による作用
図9は、ユーザ判定機能によって実行される処理を示すフローチャート図である。まず、本実施形態のユーザ認証システム1によって、キー操作しているユーザが登録ユーザ本人であるか否かを判定する場合、判定対象データ取得部64が、判定しようとするユーザについて採取された一回判定分のトリプレットデータを判定対象データとしてトリプレットデータ記憶部43から取得する(ステップS21)。
Action by “User Determination Function” FIG. 9 is a flowchart showing processing executed by the user determination function. First, when it is determined by the user authentication system 1 of this embodiment whether or not the user who is operating the key is the registered user himself / herself, the determination target data acquisition unit 64 collects one of the users to be determined. The triplet data for the number of times of determination is acquired from the triplet data storage unit 43 as determination target data (step S21).

つぎに、評価値算出部65が、判定対象データに含まれる各トリプレットにつき、ユーザ判定用データ記憶部42に記憶されたユーザ判定用データに基づいて、第1比率値(R)および第2比率値(R)に対する評価値(V)を算出する(ステップS22)。本実施形態において、評価値算出部65は、ユーザ判定用データのうち、判定対象トリプレットと同一文字列のトリプレットを全て参照し、当該判定対象トリプレットの比率値に関する順位を求める。そして、当該順位が中央値に近いほど高い評価値(V)を付与し、当該順位が最高値または最低値に近いほど低い評価値(V)を付与する。 Next, the evaluation value calculation unit 65 uses the first ratio value (R 1 ) and the second value for each triplet included in the determination target data based on the user determination data stored in the user determination data storage unit 42. An evaluation value (V) for the ratio value (R 2 ) is calculated (step S22). In the present embodiment, the evaluation value calculation unit 65 refers to all triplets of the same character string as the determination target triplet in the user determination data, and obtains a rank regarding the ratio value of the determination target triplet. A higher evaluation value (V) is assigned as the ranking is closer to the median value, and a lower evaluation value (V) is assigned as the ranking is closer to the highest value or the lowest value.

これにより、各トリプレットの比率値分布が極端に歪んでいるような場合であっても、正確な評価値が付与される。この点につき、より具体的に説明すると、まず、図10に示すように、比率値分布が正規分布に近い場合には、従来のように、標準偏差を基準とし平均値からの距離に応じて設定される評価関数f(x)を用いても問題はない。   Thereby, even when the ratio value distribution of each triplet is extremely distorted, an accurate evaluation value is given. This point will be described in more detail. First, as shown in FIG. 10, when the ratio value distribution is close to the normal distribution, according to the distance from the average value based on the standard deviation as in the conventional case. There is no problem even if the set evaluation function f (x) is used.

この場合、平均値の近傍は、当該ユーザにより入力されたトリプレットの比率値としてよく出現するため高い評価値が付与され、平均値から離れるにつれて、あまり出現しない比率値であるため低い評価値が付与される。これにより、図11に示すように、登録ユーザの確率分布P(x)と、他人の確率分布Q(x)には大きなずれが生じるため、1つのトリプレットに対する登録ユーザの評価値の期待値∫(f(x)・P(x))は、他人の評価値の期待値∫(f(x)・Q(x))よりも大きくなり、正しい評価を下すことができる。   In this case, a high evaluation value is given in the vicinity of the average value because it frequently appears as a ratio value of a triplet input by the user, and a low evaluation value is given because it is a ratio value that does not appear much as the distance from the average value increases. Is done. As a result, as shown in FIG. 11, since there is a large difference between the probability distribution P (x) of the registered user and the probability distribution Q (x) of others, the expected value 登録 of the evaluation value of the registered user for one triplet (F (x) · P (x)) is larger than the expected value 他 (f (x) · Q (x)) of the other person's evaluation value, and a correct evaluation can be made.

一方、図12に示すように、比率値分布が極端に歪んでいる場合、上述の評価関数f(x)を用いると問題が生じる。具体的には、図中の黒丸で示すデータについては、本来であれば、分布の端部なので低い評価を与えたいところである。しかしながら、図12の比率値分布は左よりのピークで、かつ右に長く延びる分布であるから、標準偏差および平均値は図11の比率値分布と同じになる。このため、上記評価関数f(x)を用いると、黒丸データは平均値近傍に近いため、高い評価値が付与されてしまうことになる。   On the other hand, as shown in FIG. 12, when the ratio value distribution is extremely distorted, a problem arises when the above-described evaluation function f (x) is used. Specifically, the data indicated by the black circles in the figure is intended to give a low evaluation because it is the end of the distribution. However, since the ratio value distribution of FIG. 12 is a distribution with a peak from the left and extending to the right, the standard deviation and the average value are the same as the ratio value distribution of FIG. For this reason, when the evaluation function f (x) is used, since the black circle data is close to the average value vicinity, a high evaluation value is given.

これに対し、本実施形態の評価値算出部65によれば、図5でも説明したように、比率値の大小に関する順位の中央値となる比率値を有するトリプレットには、最も高い評価値が付与されるとともに、当該中央値から順位が離れたトリプレットには、低い評価値が付与される。したがって、黒丸データについても、平均値には近くても、順位としては最後尾付近であるため、正しく低い評価値が付与されることとなる。   On the other hand, according to the evaluation value calculation unit 65 of the present embodiment, as described with reference to FIG. 5, the highest evaluation value is assigned to the triplet having the ratio value that is the median of the ranks regarding the ratio value. In addition, a low evaluation value is given to a triplet whose rank is far from the median. Therefore, even for the black circle data, even if it is close to the average value, it is in the vicinity of the tail as the rank, and therefore a correctly low evaluation value is given.

図9に戻り、評価値算出部65によって各トリプレットの評価値(V)が算出されると(ステップS22)、特徴値算出部66が、判定対象データに含まれる全てのトリプレットの評価値(V)を取得し、当該判定対象データの特徴値(C)を算出する(ステップS23)。そして、ユーザ判定部67が、当該特徴値(C)を所定のカットオフ値と比較する(ステップS24)。   Returning to FIG. 9, when the evaluation value (V) of each triplet is calculated by the evaluation value calculation unit 65 (step S22), the feature value calculation unit 66 calculates the evaluation values (V of all triplets included in the determination target data). ) And the feature value (C) of the determination target data is calculated (step S23). Then, the user determination unit 67 compares the feature value (C) with a predetermined cutoff value (step S24).

この比較の結果、ユーザ判定部67によって、当該特徴値(C)がカットオフ値以下であると判定された場合(ステップS24:NO)、当該判定対象データは登録ユーザとは異なる他人によってキー操作されたものであると判定される(ステップS25)。これにより、後処理実行部68が、本システム1の管理者等に対し、その旨の警告レポートを発行する等の後処理を実行する(ステップS26)。そして、処理はステップS21へ戻り、キー操作されている限り、キー操作情報を常時監視し、継続的にユーザの認証処理を実行するようになっている。なお、キー操作を禁止する場合には、本フローを終了させる。   As a result of this comparison, when the user determination unit 67 determines that the feature value (C) is equal to or lower than the cutoff value (step S24: NO), the determination target data is key-operated by another person different from the registered user. It is determined that this has been done (step S25). Thereby, the post-processing execution unit 68 executes post-processing such as issuing a warning report to that effect to the administrator of the system 1 (step S26). Then, the process returns to step S21, and as long as the key is operated, the key operation information is constantly monitored and the user authentication process is continuously executed. If the key operation is prohibited, this flow is terminated.

一方、ユーザ判定部67によって、当該特徴値(C)がカットオフ値よりも大きいと判定された場合(ステップS24:YES)、当該判定対象データは登録ユーザに由来するものであると判定される(ステップS27)。この場合も、処理はステップS21へ戻り、判定対象データ取得部64が、新たな判定対象データを取得する。そして、登録ユーザがキー操作している限り、キー操作情報を常時監視し、継続的にユーザの認証処理を実行するようになっている。   On the other hand, when the user determination unit 67 determines that the feature value (C) is greater than the cutoff value (step S24: YES), it is determined that the determination target data is derived from the registered user. (Step S27). Also in this case, the process returns to step S21, and the determination target data acquisition unit 64 acquires new determination target data. As long as the registered user operates the key, the key operation information is constantly monitored, and the user authentication process is continuously executed.

以上のような本実施形態によれば、
1.キーボードからのキー操作情報を常時監視して、継続的にユーザの認証処理を逐次実行することができる。
2.キー操作情報からユーザ判定用データや判定対象データに適したデータだけを選別することができ、認証精度を向上することができる。
3.キー操作情報が解析されるのを防止してセキュリティ性を向上することができる。
4.比率値分布が極端に歪んでいるような場合であっても、各トリプレットに正確な評価値を付与することができる等の効果を奏する。
According to this embodiment as described above,
1. It is possible to constantly monitor key operation information from the keyboard and continuously execute user authentication processing.
2. Only data suitable for user determination data and determination target data can be selected from the key operation information, and the authentication accuracy can be improved.
3. It is possible to improve security by preventing key operation information from being analyzed.
4). Even when the ratio value distribution is extremely distorted, there is an effect that an accurate evaluation value can be given to each triplet.

つぎに、本発明に係るユーザ認証プログラム1aおよびユーザ認証システム1の具体的な実施例について説明する。本実施例1では、本発明に係るユーザ認証システム1を病院内の情報システムに適用することを想定し、研究者および病院の従業員からなる8名(28歳〜61歳)の被験者について、ユーザ判定用データを作成し、このユーザ判定用データに基づいて、他人の判定対象データを判定する実験を行った。   Next, specific examples of the user authentication program 1a and the user authentication system 1 according to the present invention will be described. In the first embodiment, assuming that the user authentication system 1 according to the present invention is applied to an information system in a hospital, eight subjects (28 to 61 years old) consisting of researchers and hospital employees, User determination data was created, and an experiment was performed to determine other person's determination target data based on the user determination data.

まず、本実施例1では、各被検者のパーソナルコンピュータPC(Personal Computer)に本発明に係るユーザ認証プログラム1aをインストールし、上述したトリプレットデータ採取機能を用いて、日常作業の中でトリプレットデータを収集した。本実施例1において、充分な基本データ(1万トリプレット)を採取するのに4日から40日を要した。   First, in the first embodiment, the user authentication program 1a according to the present invention is installed in the personal computer PC (Personal Computer) of each subject, and the triplet data is collected in daily work using the above-described triplet data collection function. Collected. In Example 1, it took 4 to 40 days to collect sufficient basic data (10,000 triplets).

なお、本実施例1のユーザ認証プログラム1aは、プログラミング言語C++(VisualStudio2005:登録商標)を用いて記述され、Windows PC(Windows98, Windows2000 and WindowsXP:いずれも登録商標)のバックグランドで動作するものである。また、本実施例1において、ユーザ認証プログラム1aは、グローバルフックをダイナミックリンクライブラリにセットすることによって、全てのキー操作情報を採取可能に構成されている。また、採取されたトリプレットデータは、ローカルハードディスクや、病院内のネットワークに接続されたNAS(Network Attached Storage:ネットワーク接続ストレージ)に蓄積した。   The user authentication program 1a according to the first embodiment is written using the programming language C ++ (VisualStudio2005: registered trademark) and operates in the background of a Windows PC (Windows 98, Windows 2000 and Windows XP: registered trademarks). is there. In the first embodiment, the user authentication program 1a is configured to collect all key operation information by setting a global hook in the dynamic link library. The collected triplet data was accumulated in a local hard disk or NAS (Network Attached Storage) connected to a hospital network.

また、本実施例1において、トリプレットデータ採取機能を実行するにあたっては、各キーの押下時間(D,D,D)および各待ち時間(T,T)の制限時間について、下限値を5ms、上限値を250msに設定した。また、総トリプレット時間(T)については、上限値のみを600msに設定し、トリプレット選別部54による選別を実施した。また、抽出順序ランダマイズ部による1回分のトリプレット処理数は、100〜300トリプレットに設定した。 In the first embodiment, when the triplet data collection function is executed, the lower limit is set for the time for pressing each key (D 1 , D 2 , D 3 ) and the time limit for each waiting time (T 1 , T 2 ). The value was set to 5 ms and the upper limit value was set to 250 ms. For the total triplet time (T A ), only the upper limit value was set to 600 ms, and the triplet sorting unit 54 performed sorting. Moreover, the triplet processing number for one time by the extraction order randomizing unit was set to 100 to 300 triplets.

また、ユーザ判定用データ作成機能を実行するにあたっては、7000トリプレット分の基本データを読み込んだ。そして、重み値設定部60では、トリプレット数が11個以上のトリプレットに重み値として「1」を付与し、10個以下のトリプレットには重み値として「0」を付与した。そして、トリプレット再選別部62では、重み値が正の値であって、かつ、比率値の変動係数が0.357以下となるトリプレットだけを再選別した。なお、変動係数の制限値は、本願発明者による試行錯誤で決定された。   In executing the user determination data creation function, 7000 triplets of basic data were read. The weight value setting unit 60 assigns “1” as a weight value to triplets having 11 or more triplets, and assigns “0” as a weight value to 10 or less triplets. The triplet re-sorting unit 62 re-sorts only triplets whose weight values are positive and whose ratio coefficient of variation is 0.357 or less. The limit value of the coefficient of variation was determined by trial and error by the present inventors.

さらに、ユーザ判定機能を実行するにあたっては、評価値算出部65が、上記式(1)を用いて評価値を算出した。なお、上記式(1)における係数としては、a=7,b=11を使用した。また、特徴値算出部66では、上記式(2)を用いて特徴値を算出した。なお、上記式(2)における重み値としては、トリプレット数が11個以上のトリプレットに「1」を付与し、10個以下のトリプレットには「0」を付与した。   Furthermore, when executing the user determination function, the evaluation value calculation unit 65 calculates an evaluation value using the above equation (1). Note that a = 7 and b = 11 were used as the coefficients in the above equation (1). In addition, the feature value calculation unit 66 calculates the feature value using the above equation (2). As the weight value in the above formula (2), “1” is assigned to a triplet having 11 or more triplets, and “0” is assigned to 10 or less triplets.

以上において、本実施例1では、まず、ある被検者の基本データ(7000トリプレット)から、当該被検者に関するユーザ判定用データを作成した。一方、当該被検者とは異なる被検者の基本データを判定対象データとして細分化し(テスト長:150トリプレット)、各判定対象データを判定することで、いわゆる仮想上の「他人挑戦(imposters' challenge)」を実施した。そして、この「他人挑戦」を他の被検者全員について繰り返し、その結果を統合して図13の「他人」のヒストグラムとした。   As described above, in the first embodiment, first, user determination data related to a subject is created from basic data (7000 triplet) of a subject. On the other hand, by subdividing basic data of a subject different from the subject as determination target data (test length: 150 triplets) and determining each determination target data, a so-called virtual “imposters '(imposters' challenge) ”. And this "other person challenge" was repeated about all the other subjects, and the result was integrated and it was set as the histogram of "other person" of FIG.

また、仮想的な本人認証は、当該被検者の基本データでユーザ判定用データを作成した後に判定した。この場合、判定対象データと同一部分が基本データに含まれないように、かつ、公平な学習条件を満たすために基本データのトリプレット数は両方のシリーズで同一となるように調整された。そして、この結果を統合して図13の「本人」のヒストグラムとした。なお、図13においては、各ヒストグラムのピークで正規化している。   Further, the virtual identity authentication is determined after the user determination data is created from the basic data of the subject. In this case, the number of triplets of the basic data is adjusted to be the same in both series so that the same part as the determination target data is not included in the basic data and the fair learning condition is satisfied. Then, these results are integrated into a histogram of “person” in FIG. In FIG. 13, normalization is performed with the peaks of each histogram.

図13に示すように、本人認証では、他人よりも高い特徴値が出る傾向が確認できる。ただし、「本人」および「他人」のヒストグラムは、いずれも右端近傍まで伸びているので、感度(他人を正しく他人として判定する確率)を極めて高くするのは困難である。一方、グラフの左側では、各ヒストグラムの終端が離れており、特異度(登録ユーザを正しく登録ユーザとして判定する確率)を極めて高くすることが可能であることが示されている。   As shown in FIG. 13, in the personal authentication, it can be confirmed that there is a tendency for a higher feature value than other people to appear. However, since the histograms of “person” and “others” both extend to the vicinity of the right end, it is difficult to increase the sensitivity (probability of correctly determining others as others). On the other hand, on the left side of the graph, the end of each histogram is separated, indicating that the specificity (probability of correctly determining a registered user as a registered user) can be extremely high.

以上のように、本実施例1によれば、本発明に係るユーザ認証プログラム1aおよびユーザ認証システム1において、カットオフ値を適切に設定することで、特異度を高くすること、すなわち、登録ユーザが誤って他人と判定されてしまう確率を低減できることが示された。   As described above, according to the first embodiment, in the user authentication program 1a and the user authentication system 1 according to the present invention, it is possible to increase specificity by appropriately setting a cutoff value, that is, a registered user. It has been shown that the probability of being mistakenly determined as someone else can be reduced.

つぎに、本実施例2では、本発明に係るユーザ認証プログラム1aおよびユーザ認証システム1の性能を分析するため、上述した実施例1において、1回に判定する判定対象データのトリプレット数を変えながらROC(Receiver Operating Characteristics:受信者操作特性)曲線を作成した。   Next, in the second embodiment, in order to analyze the performance of the user authentication program 1a and the user authentication system 1 according to the present invention, in the above-described first embodiment, the number of triplets of determination target data to be determined at one time is changed. ROC (Receiver Operating Characteristics) curves were created.

ここで、ROC曲線とは、「他人」と判定することを「陽性」としたとき、図14に示すように、横軸に「偽陽性率(1−特異度):本人を誤って他人と判定してしまう確率」をとり、縦軸に「感度(他人を正しく他人として判定する確率)」をとった場合にプロットされるグラフである。このROC曲線には、選択しうる全てのカットオフ値での感度および偽陽性率が示され、任意のカットオフ値におけるユーザ判定性能を知ることができるようになっている。   Here, the ROC curve means that when “positive” is determined to be “other”, as shown in FIG. 14, the horizontal axis indicates “false positive rate (1-specificity): It is a graph plotted when “probability of determination” is taken and “sensitivity (probability of correctly determining another person as another person)” is taken on the vertical axis. This ROC curve shows the sensitivity and false positive rate at all selectable cut-off values, so that the user judgment performance at any cut-off value can be known.

また、ROC曲線は、図13に示したような「本人」と「他人」のヒストグラムが、どのように重なるかによって変化する。具体的には、両方のヒストグラムが完全に一致する場合、偽陽性率と感度は常に等しくなる。このため、図14に示すように、ROC曲線は、左下(偽陽性率:0%,感度0%)から右上(偽陽性率:100%,感度100%)への対角線に一致し、ユーザ判定能力のないことが示される。   Further, the ROC curve changes depending on how the histograms of “person” and “others” as shown in FIG. 13 overlap. Specifically, if both histograms match exactly, the false positive rate and sensitivity are always equal. For this reason, as shown in FIG. 14, the ROC curve coincides with the diagonal line from the lower left (false positive rate: 0%, sensitivity 0%) to the upper right (false positive rate: 100%, sensitivity 100%). Shows no ability.

一方、各ヒストグラムの重なり具合が少ないほど、感度が高くなるとともに、偽陽性率が低くなるため、図14に示すように、ROC曲線は左上の隅(偽陽性率:0%,感度100%)に近く描かれる。したがって、ROC曲線が左上に近いほどユーザ判定性能が高いことが示されることとなる。   On the other hand, the smaller the degree of overlapping of the histograms, the higher the sensitivity and the lower the false positive rate. Therefore, as shown in FIG. 14, the ROC curve has an upper left corner (false positive rate: 0%, sensitivity 100%). Drawn close to. Therefore, the closer the ROC curve is to the upper left, the higher the user determination performance.

本実施例2において、判定対象データのトリプレット数を50,100,150,200に設定した場合の、各ROC曲線を図15に示す。図15に示すように、判定対象データのトリプレット数が多いほど、ROC曲線は左上に移行し、より高いユーザ判定性能を発揮することが示された。   FIG. 15 shows ROC curves when the number of triplets of the determination target data is set to 50, 100, 150, and 200 in the second embodiment. As shown in FIG. 15, it is shown that the ROC curve shifts to the upper left as the number of triplets of the determination target data increases, and exhibits higher user determination performance.

また、ここで、本発明に係るユーザ認証システム1に要求されるユーザ判定性能を検討する。まず、従来の使用開始時におけるログイン認証では、極めて低い「偽陰性率(他人を誤って本人として判定する確率)」が要求される一方、比較的高い「偽陽性率(本人を誤って他人として判定する確率)」が許容されている。なぜなら、本人が誤って拒否されたとしても、すぐに再トライすれば済む一方、他人が一旦、誤って認証されてしまうと、その後に認証する機会がないからである。したがって、従来、ユーザを認証するシステムを評価する際には、ROC曲線において感度が高く、特異度の低い部分が注目されている。   Here, the user judgment performance required for the user authentication system 1 according to the present invention is examined. First of all, the conventional login authentication at the start of use requires a very low “false negative rate (probability of judging another person as the wrong person)”, while the relatively high “false positive rate (who is wrong as the wrong person). "Probability of determination)" is allowed. This is because even if the principal is rejected by mistake, it can be retried immediately. On the other hand, once another person is mistakenly authenticated, there is no opportunity for subsequent authentication. Therefore, conventionally, when evaluating a system for authenticating a user, attention is focused on a portion with high sensitivity and low specificity in the ROC curve.

しかしながら、本発明のように、常時監視による継続的なユーザ認証処理を目的とする場合、偽陽性率(本人を誤って他人として判定する確率)が低いことが重要となる。なぜなら、例えば、偽陽性率が0.01%という極めて優秀な認証システムであっても、500人の組織において、全員が1日に平均100回のユーザ認証を受けると、平均して毎日5回の誤警報が出てしまうこととなり、使い勝手が悪いからである。一方、本発明では、従来のログイン認証とは異なり、偽陰性率(他人を誤って本人として判定する確率)が、多少高くても問題ない。なぜなら、キー操作している限り、ユーザ認証処理が繰り返し実行されるため、いずれかの判定処理で他人と判定できればよいからである。   However, as in the present invention, when aiming at continuous user authentication processing by continuous monitoring, it is important that the false positive rate (the probability of erroneously determining the person as another person) is low. This is because, for example, even in an extremely excellent authentication system with a false positive rate of 0.01%, in an organization of 500 people, if everybody receives an average of 100 user authentications per day, an average of 5 times a day This is because a false alarm is issued and the usability is poor. On the other hand, in the present invention, unlike the conventional login authentication, there is no problem even if the false negative rate (the probability of erroneously determining another person as the person) is somewhat high. This is because the user authentication process is repeatedly executed as long as the key operation is performed, and it is only necessary to be able to determine the other person by any one of the determination processes.

以上のように、常時監視型のユーザ認証システム1においては、偽陽性率(本人を誤って他人と判定してしまう確率)の低い部分が特に重要である。このため、図15における横軸のスケールだけを20倍に拡大したものを図16に示す。図16に示すように、本実施例2では、例えば、判定対象データのトリプレット数が150の場合、39%という許容できる偽陰性率において、0.5%という極めて低い偽陽性率が達成されている。   As described above, in the always-monitoring type user authentication system 1, a portion with a low false positive rate (probability that a person is erroneously determined to be another person) is particularly important. For this reason, FIG. 16 shows an enlarged scale of only the horizontal axis in FIG. As shown in FIG. 16, in the second embodiment, for example, when the number of triplets of the determination target data is 150, an extremely low false positive rate of 0.5% is achieved at an allowable false negative rate of 39%. Yes.

以上のように、本実施例2によれば、本発明に係るユーザ認証プログラム1aおよびユーザ認証システム1は、判定対象データのトリプレット数が多いほど、より高いユーザ判定性能を発揮すること、および許容できる偽陰性率において、高い特異度が得られることが示された。したがって、本発明に係るユーザ認証プログラム1aおよびユーザ認証システム1は、電子カルテのように、他人による「なりすまし入力」や改ざんが許されない書類データを取り扱う病院等の情報システムへ適用するユーザ認証技術として好適であることが示された。   As described above, according to the second embodiment, the user authentication program 1a and the user authentication system 1 according to the present invention exhibit higher user determination performance as the number of triplets of determination target data increases, and allowance. It has been shown that a high specificity can be obtained at a possible false negative rate. Therefore, the user authentication program 1a and the user authentication system 1 according to the present invention are user authentication technologies that are applied to information systems such as hospitals that handle document data that is not allowed to be “spoofed” or tampered by others, such as electronic medical records. It has been shown to be preferred.

なお、本発明に係るユーザ認証プログラム1aおよびユーザ認証システム1は、前述した実施形態に限定されるものではなく、適宜変更することができる。   The user authentication program 1a and the user authentication system 1 according to the present invention are not limited to the above-described embodiment, and can be changed as appropriate.

例えば、上述した本実施形態では、ユーザ認証プログラム1aによって、トリプレットデータ採取機能、ユーザ判定用データ作成機能およびユーザ判定機能の全機能が実行されているが、これに限られるものではない。例えば、各機能ごとに、トリプレットデータ採取プログラム、ユーザ判定用データ作成プログラム、およびユーザ判定プログラムとして独立したプログラムにしてもよい。   For example, in the above-described embodiment, all functions of the triplet data collection function, the user determination data creation function, and the user determination function are executed by the user authentication program 1a. However, the present invention is not limited to this. For example, each function may be an independent program as a triplet data collection program, a user determination data creation program, and a user determination program.

また、上述した本実施形態では、キー操作情報から得られたトリプレットデータをリアルタイムで逐次判定しているが、これに限られるものではない。例えば、入力されたキー操作情報にトリプレットデータを対応付けて記憶させておき、当該キー操作情報の信頼性に疑義が生じた場合に、当該トリプレットデータを判定するようにしてもよい。   In the above-described embodiment, the triplet data obtained from the key operation information is sequentially determined in real time. However, the present invention is not limited to this. For example, triplet data may be stored in association with the input key operation information, and the triplet data may be determined when there is doubt about the reliability of the key operation information.

本発明に係るユーザ認証プログラムおよびユーザ認証システムの実施形態を示すブロック図である。It is a block diagram which shows embodiment of the user authentication program and user authentication system which concern on this invention. 本実施形態のユーザ判定用データの一例を示す図である。It is a figure which shows an example of the data for user determination of this embodiment. 本実施形態において、キー操作情報から抽出されるトリプレットを説明する図である。In this embodiment, it is a figure explaining the triplet extracted from key operation information. 本実施形態において、トリプレットについて取得される時間データを説明する図である。In this embodiment, it is a figure explaining the time data acquired about a triplet. 本実施形態において、評価値算出部65による評価方法を示すグラフである。In this embodiment, it is a graph which shows the evaluation method by the evaluation value calculation part 65. 本実施形態において、トリプレットデータ採取機能により実行される処理を示すフローチャート図である。It is a flowchart figure which shows the process performed by the triplet data collection function in this embodiment. 本実施形態において、トリプレット選別部による選別処理を示すフローチャート図である。In this embodiment, it is a flowchart figure which shows the selection process by a triplet selection part. 本実施形態において、ユーザ判定用データ作成機能により実行される処理を示すフローチャート図である。It is a flowchart figure which shows the process performed by the data creation function for user determination in this embodiment. 本実施形態において、ユーザ判定機能により実行される処理を示すフローチャート図である。It is a flowchart figure which shows the process performed by the user determination function in this embodiment. 本実施形態において、正規分布に近い比率値分布と、標準偏差を基準とする評価関数を示すグラフである。In this embodiment, it is a graph which shows the ratio value distribution close | similar to normal distribution, and the evaluation function on the basis of a standard deviation. 図10において、登録ユーザの確率分布P(x)と、他人の確率分布Q(x)とを比較するグラフである。FIG. 10 is a graph comparing the probability distribution P (x) of registered users with the probability distribution Q (x) of others. 本実施形態において、比率値分布が極端に歪んでいる場合を示すグラフである。In this embodiment, it is a graph which shows the case where ratio value distribution is distorted extremely. 本実施例1において、「本人」および「他人」の特徴値を示すヒストグラムである。In the present Example 1, it is a histogram which shows the characteristic value of "person" and "others". ROC曲線を説明するためのグラフである。It is a graph for demonstrating a ROC curve. 本実施例2において、判定対象データのトリプレット数を変更したときのROC曲線を示すグラフである。In Example 2, it is a graph which shows a ROC curve when the number of triplets of determination object data is changed. 図15において、横軸のスケールだけを20倍に拡大したグラフである。In FIG. 15, it is the graph which expanded only the scale of the horizontal axis 20 times.

符号の説明Explanation of symbols

1 ユーザ認証システム
1a ユーザ認証プログラム
2 入力手段
3 表示手段
4 記憶手段
5 演算処理手段
41 プログラム記憶部
42 ユーザ判定用データ記憶部
43 トリプレットデータ記憶部
51 キー操作情報取得部
52 トリプレット抽出部
53 時間データ取得部
54 トリプレット選別部
55 比率値算出部
56 抽出順序ランダマイズ部
57 トリプレットデータ登録部
58 基本データ取得部
59 トリプレット数算出部
60 重み値設定部
61 変動係数算出部
62 トリプレット再選別部
63 ユーザ判定用データ登録部
64 判定対象データ取得部
65 評価値算出部
66 特徴値算出部
67 ユーザ判定部
68 後処理実行部
DESCRIPTION OF SYMBOLS 1 User authentication system 1a User authentication program 2 Input means 3 Display means 4 Storage means 5 Arithmetic processing means 41 Program storage part 42 User determination data storage part 43 Triplet data storage part 51 Key operation information acquisition part 52 Triplet extraction part 53 Time data Acquisition unit 54 Triplet selection unit 55 Ratio value calculation unit 56 Extraction order randomization unit 57 Triplet data registration unit 58 Basic data acquisition unit 59 Triplet number calculation unit 60 Weight value setting unit 61 Fluctuation coefficient calculation unit 62 Triplet reselection unit 63 User judgment Data registration unit 64 Determination target data acquisition unit 65 Evaluation value calculation unit 66 Feature value calculation unit 67 User determination unit 68 Post-processing execution unit

Claims (18)

登録ユーザが操作したキーボードの操作情報から取得した任意の3連続の押下キーの組合せからなるトリプレットと、このトリプレットの操作情報のうち第1キーが押下されてから第2キーが押下されるまでの第1待ち時間(T)と第2キーが押下されてから第3キーが押下されるまでの第2待ち時間(T)の比率として求めた第1比率値(R)とを少なくとも有するユーザ判定用データを前記登録ユーザに対応付けて予め記憶するユーザ判定用データ記憶部と、
キーボードが操作されたときのキー操作情報を継続的に取得するキー操作情報取得部と、
前記キー操作情報から所定のトリプレットを抽出するトリプレット抽出部と、
前記トリプレット抽出部が抽出した各トリプレットについて前記第1待ち時間(T)および前記第2待ち時間(T)を取得する時間データ取得部と、
前記各トリプレットについて前記第1比率値(R)を算出する比率値算出部と、
前記各トリプレットに前記第1比率値(R)を対応付けたトリプレットデータとしてトリプレットデータ記憶部に登録するトリプレットデータ登録部と、
前記トリプレットデータ記憶部に登録された前記トリプレットデータのうち1回判定分のトリプレットデータを判定対象データとして取得する判定対象データ取得部と、
前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の各第1比率値(R)の評価値(V)を算出する評価値算出部と、
前記判定対象データに含まれる全てのトリプレットにつき、前記評価値算出部が算出した各評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出する特徴値算出部と、
前記特徴値(C)と所定のカットオフ値との大小関係に基づいて、前記判定対象データが前記登録ユーザによって入力されたものか否かを判定するユーザ判定部として
コンピュータを機能させることを特徴とするユーザ認証プログラム。
A triplet consisting of a combination of any three consecutive press keys obtained from the operation information of the keyboard operated by the registered user, and from the time when the first key is pressed to the time when the second key is pressed among the operation information of this triplet. first rate value determined as a ratio of the second waiting time from the first wait time (T 1) a second key is pressed until the third key is pressed (T 2) and (R 1) at least A user determination data storage unit that stores in advance user determination data associated with the registered user;
A key operation information acquisition unit for continuously acquiring key operation information when the keyboard is operated;
A triplet extraction unit for extracting a predetermined triplet from the key operation information;
A time data acquisition unit for acquiring the first waiting time (T 1 ) and the second waiting time (T 2 ) for each triplet extracted by the triplet extraction unit;
A ratio value calculation unit for calculating the first ratio value (R 1 ) for each triplet;
A triplet data registration unit for registering in the triplet data storage unit as triplet data in which the first ratio value (R 1 ) is associated with each triplet;
A determination target data acquisition unit that acquires triplet data for one determination out of the triplet data registered in the triplet data storage unit as determination target data;
An evaluation value calculation unit that calculates an evaluation value (V) of each first ratio value (R 1 ) in the determination target data based on the user determination data stored in the user determination data storage unit;
A feature value calculation unit that calculates a feature value (C) related to the determination target data based on each evaluation value (V) calculated by the evaluation value calculation unit for all triplets included in the determination target data;
A computer is caused to function as a user determination unit that determines whether the determination target data is input by the registered user based on a magnitude relationship between the feature value (C) and a predetermined cut-off value. User authentication program.
請求項1において、前記ユーザ判定用データ記憶部には、トリプレットを構成する3連続の押下キーのうちいずれか2つの押下キーの押下時間の比率として求めた第2比率値(R)がユーザ判定用データとしてさらに記憶されており、
前記時間データ取得部は、前記トリプレット抽出部が抽出した各トリプレットにつき、各キーの押下時間(D,D,D)を取得し、
前記比率値算出部は、各トリプレットについて前記第2比率値(R)を算出し、
前記トリプレットデータ登録部が、各トリプレットに前記第2比率値(R)を対応付けてトリプレットデータとしてトリプレットデータ記憶部に登録し、
前記評価算出部は、前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の前記第2比率値(R)に対する評価値(V)を算出し、
前記特徴値算出部は、前記第1比率値(R)および第2比率値(R)に対する評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出するようにコンピュータを機能させることを特徴とするユーザ認証プログラム。
2. The user determination data storage unit according to claim 1, wherein the second ratio value (R 2 ) obtained as a ratio of pressing times of any two pressing keys among three consecutive pressing keys constituting the triplet is a user. It is further stored as judgment data,
The time data acquisition unit acquires the pressing time (D 1 , D 2 , D 3 ) of each key for each triplet extracted by the triplet extraction unit,
The ratio value calculation unit calculates the second ratio value (R 2 ) for each triplet,
The triplet data registration unit associates the second ratio value (R 2 ) with each triplet and registers it as triplet data in the triplet data storage unit,
The evaluation value calculation unit calculates an evaluation value (V) for the second ratio value (R 2 ) in the determination target data based on the user determination data stored in the user determination data storage unit. ,
The feature value calculation unit calculates a feature value (C) related to the determination target data based on an evaluation value (V) for the first ratio value (R 1 ) and the second ratio value (R 2 ). A user authentication program for causing a computer to function.
請求項1または請求項2において、前記時間データ取得部によって取得された各トリプレットにおける前記第1待ち時間(T)および前記第2待ち時間(T)ないし各キーの押下時間(D,D,D)が、所定の制限時間内にあるトリプレットを選別するトリプレット選別部を有しており、
このトリプレット選別部により選別された各トリプレットについて、前記比率値算出部が前記第1比率値(Rと、各キーの押下時間のうちいずれか2つの比率である第2比率値(R)を算出し、前記トリプレットデータ登録部が両者を対応付けてトリプレットデータとしてトリプレットデータ記憶部に登録するようにコンピュータを機能させることを特徴とするユーザ認証プログラム。
3. The first waiting time (T 1 ) and the second waiting time (T 2 ) to the key pressing time (D 1 , D 2 ) in each triplet acquired by the time data acquisition unit. D 2 , D 3 ) have a triplet sorting unit that sorts triplets within a predetermined time limit,
For each triplet selected by the triplet selection unit, the ratio value calculation unit calculates a second ratio value (R 2 ) that is a ratio between the first ratio value (R 1 ) and the pressing time of each key. ) And the triplet data registration unit causes the computer to function such that both are associated with each other and registered as triplet data in the triplet data storage unit.
請求項1から請求項3のいずれかにおいて、前記評価値算出部が、前記判定対象データに含まれるトリプレットの比率値と、前記ユーザ判定用データ内に記憶されている同一トリプレット群の比率値とを比較して当該トリプレットの比率値に関する順位を求め、当該順位が中央値に近いほど高い評価値(V)を算出し、当該順位が最高値または最低値に近いほど低い評価値(V)を算出するようにコンピュータを機能させることを特徴とするユーザ認証プログラム。   The evaluation value calculation unit according to any one of claims 1 to 3, wherein a ratio value of a triplet included in the determination target data and a ratio value of the same triplet group stored in the user determination data To obtain a rank regarding the ratio value of the triplet, the higher the rank is closer to the median value, the higher the evaluation value (V) is calculated, and the lower the rank is, the lower the evaluation value (V) is. A user authentication program for causing a computer to function to calculate. 請求項4において、前記評価値算出部が、下記式(1)により前記評価値(V)を算出するようにコンピュータを機能させることを特徴とするユーザ認証プログラム。
V(R)=a−b×|(L−S)|×(L+S) ・・・式(1)
ただし、
a,b:係数
R:第1比率値または第2比率値(トリプレットを構成する3連続の押下キーのうちいずれか2つの押下キーの押下時間の比率)
L:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値より大きい比率値を有するトリプレットの数
S:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値以下の比率値を有するトリプレットの数
5. The user authentication program according to claim 4, wherein the evaluation value calculation unit causes a computer to function so as to calculate the evaluation value (V) by the following equation (1).
V (R) = a−b × | (LS) | × (L + S) Expression (1)
However,
a, b: Coefficient R: First ratio value or second ratio value ( ratio of pressing times of any two pressing keys among three consecutive pressing keys constituting a triplet)
L: Number of triplets in the user-determination data having the same character string as that of the determination target data and having a ratio value larger than the ratio value of the triplet S: Of triplets in the user-determination data The number of triplets having the same character string as the triplet of the determination target data and having a ratio value equal to or lower than the ratio value of the triplet
請求項において、前記特徴値算出部が、下記式(2)により前記特徴値(C)を算出するようにコンピュータを機能させることを特徴とするユーザ認証プログラム。
C={Σ[W×V(R)]}/N ・・・式(2)
ただし、
W:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列のトリプレット数に基づいて定められる重み値
N:被評価単位のトリプレット数
6. The user authentication program according to claim 5 , wherein the feature value calculation unit causes a computer to function so as to calculate the feature value (C) by the following equation (2).
C = {Σ [W × V (R)]} / N (2)
However,
W: Weight value determined based on the number of triplets of the same character string as the triplet of the determination target data among the triplets in the user determination data N: Number of triplets of the unit to be evaluated
請求項3から請求項6のいずれかにおいて、
前記時間データ取得部が、さらに前記トリプレット抽出部により抽出された各トリプレットにつき、第1キーが押下されてから第3キーが解放されるまでの総トリプレット時間を取得するとともに、
前記トリプレット選別部が、取得した前記総トリプレット時間のうち所定の制限時間内にあるトリプレットだけを選別するようにコンピュータを機能させることを特徴とするユーザ認証プログラム。
In any one of Claims 3-6,
The time data acquisition unit further acquires, for each triplet extracted by the triplet extraction unit, a total triplet time from when the first key is pressed until the third key is released,
The user authentication program, wherein the triplet selection unit causes a computer to select only triplets within a predetermined time limit from the acquired total triplet time.
請求項1から請求項7のいずれかにおいて、
前記トリプレット抽出部によって抽出されたトリプレットのトリプレットデータをトリプレットデータ記憶部に登録する前に、その抽出順序に従って、順次、RAMに一時的に蓄積し、所定数のトリプレット群が蓄積されたとき、前記RAM内に蓄積された各トリプレットの順序をランダムに並べ替える抽出順序ランダマイズ部としてコンピュータを機能させることを特徴とするユーザ認証プログラム。
In any one of Claims 1-7,
Before registering the triplet data of the triplet extracted by the triplet extraction unit in the triplet data storage unit, the triplet data is temporarily stored in the RAM sequentially in accordance with the extraction order, and when a predetermined number of triplet groups are stored, A user authentication program that causes a computer to function as an extraction order randomizing unit that randomly rearranges the order of each triplet stored in a RAM .
請求項1から請求項8のいずれかにおいて、
前記トリプレットデータ記憶部に記憶された前記トリプレットデータから所定の登録ユーザに関するユーザ判定用データを作成するための基本データを取得する基本データ取得部と、
前記基本データに含まれる同一文字列のトリプレットの数を算出するトリプレット数算出部と、
前記トリプレット数算出部が算出したトリプレットの数に応じて重み値を各トリプレットに対して設定する重み値設定部と、
前記各トリプレットごとに、少なくとも前記第1比率値(R)の変動係数(標準偏差/平均値)を算出する変動係数算出部と、
前記重み値設定部が設定した重み値が所定値以上であって、前記変動係数算出部が算出した変動係数が所定値以下のトリプレットデータだけを前記ユーザ判定用データとして再選別するトリプレット再選別部として
コンピュータを機能させることを特徴とするユーザ認証プログラム。
In any one of Claims 1-8,
A basic data acquisition unit that acquires basic data for creating user determination data related to a predetermined registered user from the triplet data stored in the triplet data storage unit;
A triplet number calculating unit for calculating the number of triplets of the same character string included in the basic data;
A weight value setting unit that sets a weight value for each triplet according to the number of triplets calculated by the triplet number calculating unit;
A coefficient of variation calculation unit that calculates at least a coefficient of variation (standard deviation / average value) of the first ratio value (R 1 ) for each triplet;
A triplet re-sorting unit that re-sorts only triplet data in which the weight value set by the weight value setting unit is greater than or equal to a predetermined value and the variation coefficient calculated by the variation coefficient calculation unit is less than or equal to a predetermined value as the user determination data A user authentication program characterized by causing a computer to function.
登録ユーザが操作したキーボードの操作情報から取得した任意の3連続の押下キーの組合せからなるトリプレットと、このトリプレットの操作情報のうち第1キーが押下されてから第2キーが押下されるまでの第1待ち時間(T)と第2キーが押下されてから第3キーが押下されるまでの第2待ち時間(T)の比率として求めた第1比率値(R)とを少なくとも有するユーザ判定用データを前記登録ユーザに対応付けて予め記憶するユーザ判定用データ記憶部と、
キーボードが操作されたときのキー操作情報を継続的に取得するキー操作情報取得部と、
前記キー操作情報から所定のトリプレットを抽出するトリプレット抽出部と、
前記トリプレット抽出部が抽出した各トリプレットについて前記第1待ち時間(T)および前記第2待ち時間(T)を取得する時間データ取得部と、
前記各トリプレットについて前記第1比率値(R)を算出する比率値算出部と、
前記各トリプレットに前記第1比率値(R)を対応付けたトリプレットデータとしてトリプレットデータ記憶部に登録するトリプレットデータ登録部と、
前記トリプレットデータ記憶部に登録された前記トリプレットデータのうち1回判定分のトリプレットデータを判定対象データとして取得する判定対象データ取得部と、
前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の各第1比率値(R)の評価値(V)を算出する評価値算出部と、
前記判定対象データに含まれる全てのトリプレットにつき、前記評価値算出部が算出した各評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出する特徴値算出部と、
前記特徴値(C)と所定のカットオフ値との大小関係に基づいて、前記判定対象データが前記登録ユーザによって入力されたものか否かを判定するユーザ判定部と
を有することを特徴とするユーザ認証システム。
A triplet consisting of a combination of any three consecutive press keys obtained from the operation information of the keyboard operated by the registered user, and from the time when the first key is pressed to the time when the second key is pressed among the operation information of this triplet. first rate value determined as a ratio of the second waiting time from the first wait time (T 1) a second key is pressed until the third key is pressed (T 2) and (R 1) at least A user determination data storage unit that stores in advance user determination data associated with the registered user;
A key operation information acquisition unit for continuously acquiring key operation information when the keyboard is operated;
A triplet extraction unit for extracting a predetermined triplet from the key operation information;
A time data acquisition unit for acquiring the first waiting time (T 1 ) and the second waiting time (T 2 ) for each triplet extracted by the triplet extraction unit;
A ratio value calculation unit for calculating the first ratio value (R 1 ) for each triplet;
A triplet data registration unit for registering in the triplet data storage unit as triplet data in which the first ratio value (R 1 ) is associated with each triplet;
A determination target data acquisition unit that acquires triplet data for one determination out of the triplet data registered in the triplet data storage unit as determination target data;
An evaluation value calculation unit that calculates an evaluation value (V) of each first ratio value (R 1 ) in the determination target data based on the user determination data stored in the user determination data storage unit;
A feature value calculation unit that calculates a feature value (C) related to the determination target data based on each evaluation value (V) calculated by the evaluation value calculation unit for all triplets included in the determination target data;
A user determination unit that determines whether or not the determination target data is input by the registered user based on a magnitude relationship between the feature value (C) and a predetermined cut-off value. User authentication system.
請求項10において、前記ユーザ判定用データ記憶部には、トリプレットを構成する3連続の押下キーのうちいずれか2つの押下キーの押下時間の比率として求めた第2比率値(R)がユーザ判定用データとしてさらに記憶されており、
前記時間データ取得部は、前記トリプレット抽出部が抽出した各トリプレットにつき、各キーの押下時間(D,D,D)を取得し、
前記比率値算出部は、各トリプレットについて前記第2比率値(R)を算出し、
前記トリプレットデータ登録部が、各トリプレットに前記第2比率値(R)を対応付けてトリプレットデータとしてトリプレットデータ記憶部に登録し、
前記評価算出部は、前記ユーザ判定用データ記憶部に記憶されたユーザ判定用データに基づいて、前記判定対象データ内の前記第2比率値(R)に対する評価値(V)を算出し、
前記特徴値算出部は、前記第1比率値(R)および第2比率値(R)に対する評価値(V)に基づいて、前記判定対象データに関する特徴値(C)を算出することを特徴とするユーザ認証システム。
11. The second ratio value (R 2 ) obtained as a ratio of pressing times of any two pressing keys among the three consecutive pressing keys constituting the triplet is stored in the user determination data storage unit according to claim 10. It is further stored as judgment data,
The time data acquisition unit acquires the pressing time (D 1 , D 2 , D 3 ) of each key for each triplet extracted by the triplet extraction unit,
The ratio value calculation unit calculates the second ratio value (R 2 ) for each triplet,
The triplet data registration unit associates the second ratio value (R 2 ) with each triplet and registers it as triplet data in the triplet data storage unit,
The evaluation value calculation unit calculates an evaluation value (V) for the second ratio value (R 2 ) in the determination target data based on the user determination data stored in the user determination data storage unit. ,
The feature value calculation unit calculates a feature value (C) related to the determination target data based on an evaluation value (V) for the first ratio value (R 1 ) and the second ratio value (R 2 ). A featured user authentication system.
請求項10または請求項11において、前記時間データ取得部によって取得された各トリプレットにおける前記第1待ち時間(T)および前記第2待ち時間(T)ないし各キーの押下時間(D,D,D)が、所定の制限時間内にあるトリプレットを選別するトリプレット選別部を有しており、
このトリプレット選別部により選別された各トリプレットについて、前記比率値算出部が前記第1比率値(Rと、各キーの押下時間のうちいずれか2つの比率である第2比率値(R)第2比率値(R)を算出し、前記トリプレットデータ登録部が両者を対応付けてトリプレットデータとしてトリプレットデータ記憶部に登録することを特徴とするユーザ認証システム。
In Claim 10 or Claim 11, the first waiting time (T 1 ) and the second waiting time (T 2 ) in each triplet acquired by the time data acquisition unit or the key pressing time (D 1 , D 2 , D 3 ) have a triplet sorting unit that sorts triplets within a predetermined time limit,
For each triplet selected by the triplet selection unit, the ratio value calculation unit calculates a second ratio value (R 2 ) that is a ratio between the first ratio value (R 1 ) and the pressing time of each key. ) A user authentication system characterized in that a second ratio value (R 2 ) is calculated, and the triplet data registration unit associates the two and registers them as triplet data in the triplet data storage unit.
請求項10から請求項12のいずれかにおいて、前記評価値算出部が、前記判定対象データに含まれるトリプレットの比率値と、前記ユーザ判定用データ内に記憶されている同一トリプレット群の比率値とを比較して当該トリプレットの比率値に関する順位を求め、当該順位が中央値に近いほど高い評価値(V)を算出し、当該順位が最高値または最低値に近いほど低い評価値(V)を算出することを特徴とするユーザ認証システム。   In any one of Claims 10-12, the said evaluation value calculation part is the ratio value of the triplet contained in the said determination object data, and the ratio value of the same triplet group memorize | stored in the said data for user determinations. To obtain a rank regarding the ratio value of the triplet, the higher the rank is closer to the median value, the higher the evaluation value (V) is calculated, and the lower the rank is, the lower the evaluation value (V) is. A user authentication system characterized by calculating. 請求項13において、前記評価値算出部が、下記式(1)により前記評価値(V)を算出することを特徴とするユーザ認証システム。
V(R)=a−b×|(L−S)|×(L+S) ・・・式(1)
ただし、
a,b:係数
R:第1比率値または第2比率値(トリプレットを構成する3連続の押下キーのうちいずれか2つの押下キーの押下時間の比率)
L:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値より大きい比率値を有するトリプレットの数
S:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列であって、当該トリプレットの比率値以下の比率値を有するトリプレットの数
14. The user authentication system according to claim 13, wherein the evaluation value calculation unit calculates the evaluation value (V) by the following equation (1).
V (R) = a−b × | (LS) | × (L + S) Expression (1)
However,
a, b: Coefficient R: First ratio value or second ratio value ( ratio of pressing times of any two pressing keys among three consecutive pressing keys constituting a triplet)
L: Number of triplets in the user-determination data having the same character string as that of the determination target data and having a ratio value larger than the ratio value of the triplet S: Of triplets in the user-determination data The number of triplets having the same character string as the triplet of the determination target data and having a ratio value equal to or lower than the ratio value of the triplet
請求項14において、前記特徴値算出部が、下記式(2)により前記特徴値(C)を算出することを特徴とするユーザ認証システム。
C={Σ[W×V(R)]}/N ・・・式(2)
ただし、
W:ユーザ判定用データ内のトリプレットのうち、判定対象データのトリプレットと同一文字列のトリプレット数に基づいて定められる重み値
N:被評価単位のトリプレット数
15. The user authentication system according to claim 14 , wherein the feature value calculation unit calculates the feature value (C) by the following equation (2).
C = {Σ [W × V (R)]} / N (2)
However,
W: Weight value determined based on the number of triplets of the same character string as the triplet of the determination target data among the triplets in the user determination data N: Number of triplets of the unit to be evaluated
請求項12から請求項15のいずれかにおいて、
前記時間データ取得部が、さらに前記トリプレット抽出部により抽出された各トリプレットにつき、第1キーが押下されてから第3キーが解放されるまでの総トリプレット時間を取得するとともに、
前記トリプレット選別部が、取得した前記総トリプレット時間のうち所定の制限時間内にあるトリプレットだけを選別することを特徴とするユーザ認証システム。
In any one of Claims 12-15,
The time data acquisition unit further acquires, for each triplet extracted by the triplet extraction unit, a total triplet time from when the first key is pressed until the third key is released,
The user authentication system, wherein the triplet sorting unit sorts only triplets within a predetermined time limit from the acquired total triplet time.
請求項10から請求項16のいずれかにおいて、
前記トリプレット抽出部によって抽出されたトリプレットのトリプレットデータをトリプレットデータ記憶部に登録する前に、その抽出順序に従って、順次、RAMに一時的に蓄積し、所定数のトリプレット群が蓄積されたとき、前記RAM内に蓄積された各トリプレットの順序をランダムに並べ替える抽出順序ランダマイズ部を有していることを特徴とするユーザ認証システム。
In any one of Claims 10-16,
Before registering the triplet data of the triplet extracted by the triplet extraction unit in the triplet data storage unit, the triplet data is temporarily stored in the RAM sequentially in accordance with the extraction order, and when a predetermined number of triplet groups are stored, A user authentication system comprising an extraction order randomizing unit that randomly rearranges the order of each triplet stored in a RAM .
請求項10から請求項17のいずれかにおいて、
前記トリプレットデータ記憶部に記憶された前記トリプレットデータから所定の登録ユーザに関するユーザ判定用データを作成するための基本データを取得する基本データ取得部と、
前記基本データに含まれる同一文字列のトリプレットの数を算出するトリプレット数算出部と、
前記トリプレット数算出部が算出したトリプレットの数に応じて重み値を各トリプレットに対して設定する重み値設定部と、
前記各トリプレットごとに、少なくとも前記第1比率値(R)の変動係数(標準偏差/平均値)を算出する変動係数算出部と、
前記重み値設定部が設定した重み値が所定値以上であって、前記変動係数算出部が算出した変動係数が所定値以下のトリプレットデータだけを前記ユーザ判定用データとして再選別するトリプレット再選別部と
を有していることを特徴とするユーザ認証システム。
In any one of Claims 10-17,
A basic data acquisition unit that acquires basic data for creating user determination data related to a predetermined registered user from the triplet data stored in the triplet data storage unit;
A triplet number calculating unit for calculating the number of triplets of the same character string included in the basic data;
A weight value setting unit that sets a weight value for each triplet according to the number of triplets calculated by the triplet number calculating unit;
A coefficient of variation calculation unit that calculates at least a coefficient of variation (standard deviation / average value) of the first ratio value (R 1 ) for each triplet;
A triplet re-sorting unit that re-sorts only triplet data in which the weight value set by the weight value setting unit is greater than or equal to a predetermined value and the variation coefficient calculated by the variation coefficient calculation unit is less than or equal to a predetermined value as the user determination data And a user authentication system.
JP2007315197A 2007-12-05 2007-12-05 User authentication program and user authentication system Active JP4283864B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007315197A JP4283864B1 (en) 2007-12-05 2007-12-05 User authentication program and user authentication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007315197A JP4283864B1 (en) 2007-12-05 2007-12-05 User authentication program and user authentication system

Publications (2)

Publication Number Publication Date
JP4283864B1 true JP4283864B1 (en) 2009-06-24
JP2009140189A JP2009140189A (en) 2009-06-25

Family

ID=40870743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007315197A Active JP4283864B1 (en) 2007-12-05 2007-12-05 User authentication program and user authentication system

Country Status (1)

Country Link
JP (1) JP4283864B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043291A (en) * 2010-08-20 2012-03-01 Nec Corp Electronic device, method of creating authentication code for electronic device, method of authenticating authentication code for electronic device, and telecommunication system
JP6139719B1 (en) * 2016-02-09 2017-05-31 レノボ・シンガポール・プライベート・リミテッド Information processing device

Also Published As

Publication number Publication date
JP2009140189A (en) 2009-06-25

Similar Documents

Publication Publication Date Title
Kambourakis et al. Introducing touchstroke: keystroke‐based authentication system for smartphones
JP5012092B2 (en) Biometric authentication device, biometric authentication program, and combined biometric authentication method
Li et al. Unobservable re-authentication for smartphones.
El-Abed et al. RHU Keystroke: A mobile-based benchmark for keystroke dynamics systems
Traore et al. Combining mouse and keystroke dynamics biometrics for risk-based authentication in web environments
US20100115610A1 (en) Method and system for providing authentication through aggregate analysis of behavioral and time patterns
Bours et al. A login system using mouse dynamics
Syed et al. Effects of user habituation in keystroke dynamics on password security policy
Trojahn et al. Authentication with keystroke dynamics on touchscreen keypads-effect of different n-graph combinations
JP2001516474A (en) User identification confirmation method for data processing device that generates alphabetic characters by keyboard operation
JP2019008369A (en) Information processing apparatus, authentication system, authentication method and program
Ngugi et al. Typing biometrics: impact of human learning on performance quality
US7706574B1 (en) Identifying and protecting composed and transmitted messages utilizing keystroke dynamics
Stylios et al. BioPrivacy: Development of a keystroke dynamics continuous authentication system
Wu et al. It's All in the Touch: Authenticating Users with HOST Gestures on Multi-Touch Screen Devices
Bhardwaj et al. A novel behavioural biometric technique for robust user authentication
Wahab et al. Utilizing Keystroke Dynamics as Additional Security Measure to Protect Account Recovery Mechanism.
JP3589579B2 (en) Biometric authentication device and recording medium on which processing program is recorded
JP4283864B1 (en) User authentication program and user authentication system
US7529389B2 (en) Device for verifying individual, and method for verifying individual
Jagadamba et al. A secured authentication system using an effective keystroke dynamics
JP2003296282A (en) Password conversion processor
Neal et al. Using associative classification to authenticate mobile device users
JP2008181231A (en) System, method and program for preventing use of computer by spoofing
Mondal et al. Continuous authentication using behavioural biometrics

Legal Events

Date Code Title Description
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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090319

R150 Certificate of patent or registration of utility model

Ref document number: 4283864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120327

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150327

Year of fee payment: 6

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

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