JP4013413B2 - 情報処理装置、及び記憶媒体 - Google Patents
情報処理装置、及び記憶媒体 Download PDFInfo
- Publication number
- JP4013413B2 JP4013413B2 JP22164399A JP22164399A JP4013413B2 JP 4013413 B2 JP4013413 B2 JP 4013413B2 JP 22164399 A JP22164399 A JP 22164399A JP 22164399 A JP22164399 A JP 22164399A JP 4013413 B2 JP4013413 B2 JP 4013413B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- processing
- value
- function
- return
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、ユーザ定義のログイン情報を用いて、ユーザ認証を含むシステムの起動処理を実行する情報処理装置、及び記憶媒体に関する。
【0002】
【従来の技術】
現在、パーソナルコンピュータやサーバ等のコンピュータ・システムはあらゆる状況で使用されている。そのため、そのコンピュータ・システムが安全で、且つ信頼できるようにし、また、そのコンピュータ・システムに蓄えられたデータの改竄や盗難などに備えることがとても重要になっている。そこで、コンピュータ・システムのセキュリティ対策として、コンピュータ・システムの起動時に、ユーザがユーザ名やパスワード等を入力し、コンピュータ・システム側でそれらの照合をする方法が主に採用されている。
【0003】
一般に、上述したコンピュータ・システムの起動時のセキュリティ管理において、ユーザ名やパスワード等の入力は、図6に示すようなコンピュータ・システムの標準のログインダイアログ画面10aを使用して行い、且つこれらの管理もコンピュータ・システムの標準のシステム起動処理関数で行っている。
【0004】
図6に示すように、コンピュータ・システムの標準のログインダイアログ画面10aには、ユーザ名を入力するためのユーザ入力欄10b、パスワードを入力するためのパスワード入力欄10c、ユーザ名とパスワード入力後、ユーザ認証処理を開始するためのOKボタン10d、ユーザ認証処理を行わずキャンセルするためのキャンセルボタン10eが設けられている。
【0005】
コンピュータ・システムを起動する際、ユーザは、この標準のログインダイアログ画面10aのユーザ入力欄10b、パスワード入力欄10cに対して、それぞれユーザ名、パスワードを入力するといったログイン処理を行う。そして、コンピュータ・システムにおける標準のシステム起動処理関数は、これらのユーザ名やパスワードが予め設定されているものと一致するか否かを判定し、一致する場合のみ、コンピュータ・システムへのログインを可能とする。
【0006】
一方、コンピュータ・システムは、様々な用途に使用されるようになってきている。例えば、個人用に使用する頻度の高い携帯型のパーソナルコンピュータ等においては、ユーザがより自己の機器を利用しやすくするため、適度にカスタマイズすることが可能である。そして、上述のログイン処理は、自己の機器の起動時毎に実行するものであるため、その実行頻度が高く、ログインダイアログ画面についても、ユーザ独自のものに変更して、使用しやすくしたいという要望があった。
【0007】
【発明が解決しようとする課題】
しかしながら、コンピュータ・システムにおいて、ユーザが独自にコンピュータ・システムの起動時のログインダイアログ画面を作成することは、セキュリティ管理という性質から困難である。その上、仮にユーザ独自のログインダイアログ画面を作成でき、且つユーザ定義のログイン情報を用いてシステムへのログイン処理が行えたとしても、ユーザ定義のログイン情報に基づいて行われるユーザ認証が不十分となり、却ってコンピュータ・システムのセキュリティを確保することが困難になる可能性があった。
【0008】
つまり、パスワードに、ユーザ自身の名前や生年月日に関連する番号など、ユーザ自信が忘れにくい文字列を設定した場合には、そのパスワードが容易に他者によって盗用される可能性がある。逆に、複雑なパスワードを設定した場合にも、文字列の組み合わせを変えて繰り返しログイン操作することによって、パスワードが盗用されてしまう可能性があったり、ユーザ自身が忘れてしまうのを防ぐために残したメモ等によって簡単に盗難されてしまう可能性がある。そして、ユーザ定義のログイン情報を用いてシステムへのログイン処理を行う場合には、ユーザ定義のログイン情報のセキュリティ管理が十分に確保されていない可能性も生じる。
【0009】
そこで、本発明の課題は、ユーザ定義のログイン情報を用いて、ユーザ認証を含むシステムの起動処理を実行する際に、十分なセキュリティ機能を確保することを可能とする情報処理装置、及び記憶媒体を提供することである。
【0010】
【課題を解決するための手段】
請求項1記載の発明は、
ユーザにより定義され、ユーザ認証を含むユーザ関数ルーチンを記憶する第1の記憶手段(例えば、図1に示すユーザ関数ライブラリ3UL)と、
処理値算出関数を記憶する第2の記憶手段(例えば、図1に示す標準関数ライブラリ3SL)と、
前記第1の記憶手段に記憶された前記ユーザ関数ルーチンを読み出して、当該ユーザ関数ルーチンにおいてユーザ認証を実行し、前記処理値算出関数に引数として渡される認証結果値(例えば、処理フラグ“Flg”)を取得するとともに、取得した認証結果値及びユーザによる設定が不可能な所定値(例えば、起動処理値“sRt”)を引数として、前記第2の記憶手段に記憶された処理値算出関数を呼び出し、当該呼び出した処理値算出関数により前記ユーザ認証の正当性を確認するための第1の戻り値を演算する第1の演算手段(例えば、図1に示すCPU2;図5に示すパスワード入力ユーザ関数処理)と、
前記第1の演算手段において使用する引数と同一の値を引数として、前記第2の記憶手段に記憶された処理値算出関数を呼び出し、当該呼び出した処理値算出関数により前記ユーザ認証の正当性を確認するための第2の戻り値を演算する第2の演算手段(例えば、図1に示すCPU2;図4に示す処理値算出関数処理)と、
前記第1の演算手段により演算された第1の戻り値(例えば、戻り値“uRt”)と、前記第2の演算手段により演算された第2の戻り値(例えば、戻り値“srOk”、“srCan”)と、を比較する比較手段(図1に示すCPU2;図4に示す“Ru”と“Rs”との比較)と、
この比較手段による比較結果に応じて、システム起動処理、キャンセル、セキュリティ処理を実行する起動処理手段(例えば、図1に示すCPU2;図4に示すシステム起動処理、セキュリティ処理)と、
を備えたことを特徴としている。
【0013】
請求項2記載の発明は、
システムを起動する都度、乱数を発生させる乱数発生手段(例えば、図1に示すCPU2;図4に示すステップS110)を更に備え、
前記第1及び第2の演算手段において演算される前記処理値算出関数の引数である前記所定値には、前記乱数発生手段によって発生された乱数を使用することを特徴としている。
【0016】
請求項3記載の発明は、
前記ユーザ関数ルーチンにおけるユーザ認証は、ユーザから入力されるログイン情報(例えば、パスワード等)を用いて行われることを特徴とする。
【0019】
請求項4記載の発明は、
前記ユーザ関数ルーチンにおけるユーザ認証の結果が正当なものである場合は、前記第1の演算手段による演算結果には、前記第1の戻り値及びシステム起動の際のログイン処理に必要なユーザ名(例えば、ユーザ名“uUser”)が含まれ、
前記比較手段は、第1の演算手段により演算された第1の戻り値と第2の演算手段により演算された第2の戻り値とを比較し、
前記起動処理手段は、この比較手段によって、前記第1の演算手段により演算された第1の戻り値と前記第2の演算手段により演算された第2の戻り値とが一致すると判定された場合に、前記システム起動の際のログイン処理に必要なユーザ名を使用して、システムの起動処理を実行することを特徴としている。
【0022】
【発明の実施の形態】
以下、図1〜図5を参照して本発明の情報処理装置の実施の形態について説明する。
【0023】
この情報処理装置1は、ユーザ定義のログイン情報を用いて、システムの起動処理を行う際にも十分なセキュリティを確保するために、ユーザにより定義され、ユーザ認証を含むログイン関数ルーチン(パスワード入力ユーザ関数)を記憶しているユーザ関数ライブラリ3ULと、処理値算出関数を記憶している標準関数ライブラリ3SLとを備えている。そして、システムを起動する際は、前記ユーザ関数ライブラリ3ULから、パスワード入力ユーザ関数を呼び出し、当該パスワード入力ユーザ関数内でユーザにより入力されるログイン情報(パスワード等のログインダイアログに入力されるログインコード)を用いたユーザ認証を行い、そのユーザ認証結果値(処理フラグ“Flg”)を取得し、取得したユーザ認証結果値及びユーザにより設定が不可能な起動処理値(sRt;例えば、システムの起動の都度、発生される乱数等)を引数として、処理値算出関数を演算し、この演算結果を戻り値(uRt)として取得する。また、システム側でも同一の値(起動処理値“sRt”、処理フラグ“Flg”)を引数として、前記処理値算出関数を演算し、この演算結果を戻り値(srOkまたはsrCan)として取得する。これら戻り値として取得した両演算結果を比較することにより、両演算結果が一致しているかを否かを判別し、この判別結果に応じた起動処理(システム起動、キャンセル、セキュリティ処理)を行う。
【0024】
詳細は後述するが、ユーザにより定義され、システム起動処理実行時にユーザにより入力されるログイン情報は、パスワード等のログインコードを含んでいる。パスワード入力ユーザ関数は、後述するユーザ関数ライブラリ3ULのパスワードDLL内に記憶されている。また、処理値算出関数は、後述する標準関数ライブラリ3SLの起動処理値算出関数DLL内に記憶されている。
【0025】
まず構成を説明する。
図1は、本実施の形態における情報処理装置1の内部構成を示すブロック図である。
【0026】
この図1において、情報処理装置1は、CPU2、RAM3、ROM4、表示部5、操作子部6、メモリカード7、及び通信部8によって構成されており、各部はバス9によって接続されている。
【0027】
CPU(Central Processing Unit)2は、記憶媒体であるメモリカード7内のメモリに記憶されている当該情報処理装置1に対応する各種プログラムの中から指定されたプログラムや、操作子部6から入力される各種指示信号に応じた各種データ等をRAM3内に格納し、この入力指示及び入力データに応じてRAM3内に格納したアプリケーションプログラムに従って各種処理を実行し、その処理結果をRAM3内に格納するとともに、表示部5に出力して表示する。そして、CPU2は、RAM3内に格納した処理結果を操作子部6から入力指示されるメモリカード7内のメモリの保存先に保存する。
【0028】
また、CPU2は、後述するシステムの起動処理を実行する際には、記憶媒体であるメモリカード7内のメモリからインストールされ、RAM3内に格納されている、システムの起動処理(図4参照)、に係わるプログラムを読み出して、読み出したプログラムに従って、各処理を実行する。このシステムの起動処理には、ユーザ定義のパスワード入力ユーザ関数の処理(図5参照)が含まれる。
【0029】
各処理については詳細を後述するが、ここで概略を説明する。CPU2はシステムの起動の際に、記憶媒体であるメモリカード7内のメモリからインストールされ、RAM3内に格納されたシステムの起動処理(図4参照)を行うが、予めユーザが定義したパスワード入力ユーザ関数をDLL(Dynamic Link Library)の形式で作成している場合には必ず、ユーザ定義のパスワード入力ユーザ関数の処理(図5参照)を実行する。
【0030】
ここで、DLL(Dynamic Link Library)とは、OSが持つ機能であり、ルーチンをいくつかの“.DLL”という拡張子を持つファイルに分けておき、必要なDLLファイルだけをメモリにロードして使用する。修正も対象となるDLLファイルだけに対して行え、たとえ別のルーチンであっても同じDLLファイルを使用することが可能であるため、メモリを節約することにもなる。
【0031】
CPU2は、予めユーザにより定義されたパスワード入力ユーザ関数を呼び出す前に、ユーザによる設定が不可能な起動処理値を算出する。本実施の形態では、この起動処理値としてシステム起動毎に発生する乱数を使用する。
【0032】
パスワード入力ユーザ関数とは、ユーザ関数ライブラリ3ULのパスワードDLL内に記憶されている関数であり、ユーザ認証を行うための関数である。パスワード入力ユーザ関数では、このユーザから入力されるユーザ定義のログイン情報によるユーザ認証の結果値及び前記算出された起動処理値とを引数として、起動処理値算出DLLから呼びだされる処理値算出関数を演算し、ユーザ認証結果を含むその演算結果を戻り値として取得する。
【0033】
処理値算出関数とは、標準関数ライブラリ3SLの起動処理値算出DLL内に記憶されている関数であり、パスワード入力ユーザ関数の正当性認証を行う関数である。CPU2は、システムの起動処理(図4参照)とパスワード入力ユーザ関数処理(図5参照)とにおいて、同一の引数を用いて、処理値算出関数を演算し、その演算結果を戻り値として取得する。
【0034】
そして、CPU2は、パスワード入力ユーザ関数において演算された前記処理値算出関数の戻り値と、システムの起動処理側で演算された前記処理値算出関数の戻り値とを比較し、これらの戻り値が一致した場合で、且つシステム起動に必要な情報であるユーザ名を取得していす場合には正常なログイン処理が行われたと判断し、これら戻り値が一致しなかった場合には正常なログイン処理が行われなかったと判断する。その判断結果に応じて、システム起動処理のうちログイン処理、キャンセル処理、あるいはセキュリティ処理などを行う。
【0035】
RAM(Random Access Memory)3は、本情報処理装置1に対応したアプリケーションプログラム(例えば、アプリケーションプログラム1(AP1)、AP2、及びAP3)や、システムスペックファイル3SF、アプリケーションスペックファイル3AF、標準関数ライブラリ3SL、ユーザ関数ライブラリ3UL等を格納するメモリエリアを有する。また、入力指示、入力データ及び処理結果を格納するワークメモリエリアも有する。
【0036】
RAM3内に格納されているアプリケーションプログラム(以下、「AP」と呼ぶ。)は、メモリカード7を介してインストールされ、情報処理装置1で使用可能なプログラムである。
【0037】
システムスペックファイル3SFは、情報処理装置1のシステムの定義や設定を行うために必要な情報を有するファイルである。
【0038】
アプリケーションスペックファイル3AFは、情報処理装置1におけるアプリケーションに対応して設定されるファイルである。
【0039】
標準関数ライブラリ3SLは、情報処理装置1がシステムの標準として持っている各種関数を格納したライブラリであり、標準的な起動処理を行うための処理関数やパスワード入力ユーザ関数の正当性認証を行うための処理値算出関数等を格納しているライブラリである。
【0040】
ユーザ関数ライブラリ3ULは、ユーザにより定義された各種関数を格納したライブラリであり、このユーザ関数ライブラリ3UL内のパスワードDLL内には、パスワード入力ユーザ関数等を格納している。
【0041】
ROM(Read Only Memory)4は、本情報処理装置1に対応したオペレーティングシステム(OS)プログラム等を記憶している。
【0042】
表示部5は、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)により構成され、CPU2から入力される表示データを表示する。
【0043】
操作子部6は、カーソルキーや数字入力キー等を備えたキーボード及びマウス等のポインティングデバイス等の入力装置を含み、キーボードにおいて押下されたキーの押下信号やマウスの位置信号をCPU2に出力する。
【0044】
メモリカード7は、プログラムやデータ等が予め記憶されているメモリを有しており、このメモリは磁気的、光学的メモリ、若しくは半導体メモリで構成されている。このメモリカード7のメモリには、当該情報処理装置1に対応する各種アプリケーションプログラムや、各種処理プログラムで処理されたデータ等が記憶され、この記憶されているアプリケーションプログラムやデータ等は、RAM3にインストールされる。
【0045】
また、このメモリカード7に記憶するプログラムやデータ等は、後述する通信部8を介して他の装置から受信して記憶する構成としてもよく、更に、通信部8を介して接続された他の装置側に上記メモリカード7を設け、このメモリカード7に記憶されているプログラムやデータ等を通信部8を介して使用する構成にしてもよい。
【0046】
通信部8は、モデム(MODEM:MOdulator / DEModulator )、ターミナルアダプタ(TA:Terminal Adapter)、あるいはルータ等によって構成され、電話回線、ISDN回線、あるいは専用線等の通信回線を介して外部機器との通信を行うための制御を行う。
【0047】
ここで、図2を参照して、各情報処理装置1とメインコンピュータ11間のデータ交換の例を説明する。図2に記載されている携帯端末1A、携帯端末1B、携帯端末1Cは、本発明を適用した携帯端末型の情報処理装置である。
【0048】
携帯端末1Aはメモリカード7Aに対して、携帯端末1Bはメモリカード7Bに対して、そして携帯端末1Cはメモリカード7Cに対してデータを記憶し、各メモリカード7A、7B、7Cに記憶されたそれぞれの内容が、カードリーダ/ライタ12によってリードされる。そして、リードされた各内容が、カードリーダ/ライタ12に接続されているメインコンピュータ11へ転送される。また、このカードリーダ/ライタ12は、メインコンピュータ11のアプリケーションファイル11AFやデータファイル11DFをメモリカード7A、7B、7Cへライトする。そして、携帯端末1A、携帯端末1B、そして携帯端末1Cでは、各メモリカード7A、7B、7Cに記憶されているアプリケーションやデータを読み出し、各々のRAM3へインストールする。
【0049】
次に図3を参照して、ユーザ定義のログイン情報を入力するためのログインダイアログ画面を例を挙げて説明する。
【0050】
図3は、ユーザ定義のログイン情報を用いてシステムの起動処理を行うためのログインダイアログ画面5aの例であり、このログインダイアログ画面5aは表示部5に表示される。図3に示すように、情報処理装置1のログインダイアログ画面5aには、パスワードを入力するためのパスワード入力欄5b、パスワード入力後、ユーザ認証処理を開始させるためのOKボタン5c、ユーザ認証処理を行わずキャンセルさせるためのキャンセルボタン5dが設けられている。
【0051】
この図3に示す、ログインダイアログ画面5aでは、ユーザ個人を認証するための情報として、パスワードのみが入力される。パスワードのみの入力で、十分なセキュリティを確保するために、CPU2は、以下に示すシステム起動処理(図4参照)及びユーザ定義のパスワード入力ユーザ関数の処理(図5参照)を実行する。
【0052】
次に動作を説明する。
まず、図4を参照して情報処理装置1におけるシステムの起動処理の動作を説明する。図4は、CPU2により実行されるシステム起動処理の動作を示すフローチャートである。
【0053】
図4において、情報処理装置1が起動すると、CPU2は、記憶媒体であるメモリカード7内のメモリに記憶されており、そのメモリ内からRAM3内にインストールされシステム起動処理プログラムを読み出して、システム起動処理プログラムを開始する。そしてまず、CPU2は、ユーザ関数ライブラリ内のユーザ定義のパスワード入力ユーザ関数が記憶されているパスワードDLL(Dynamic Link Library)があるか否かを判定し(ステップS101)、パスワードDLLが無い場合(ステップS101;NO)には、ステップS102〜ステップS108の標準のシステム起動処理を実行する。
【0054】
一方、ユーザにより定義されたパスワード入力ユーザ関数が記憶されているパスワードDLLがある場合(ステップS101;YES)には、パスワードDLL内に記憶されているパスワード入力ユーザ関数を呼び出し(図5参照)、ステップS110〜ステップS119のユーザ定義のシステム起動処理を実行する。予めユーザにより定義されたパスワード入力ユーザ関数については、後で詳細に説明する。
【0055】
まず、パスワード入力ユーザ関数が記憶されているパスワードDLLが無い場合(ステップS101;NO)について説明する。ユーザにより定義されたパスワード入力ユーザ関数が無い場合には、情報処理装置1の標準のシステム起動処理(ステップS102〜S108)を実行する。
【0056】
標準のシステム起動処理では、パスワード等を入力する標準のログインダイアログ(Log-in Dialog)画面(DLG)を表示する(ステップS102)。そして、カウンタ“C”を“0”に初期化した後(ステップS103)、ユーザが入力したパスワードが、ユーザ個人の登録パスワードと一致するか否かを判定する(ステップS104)。このカウンタ“C”は、ユーザにより、パスワード誤入力あるいはパスワード不正入力が連続して何回行われたかを計数し、このカウンタ“C”によるカウント値がある一定値“m”と一致し、ユーザにより一定回数以上パスワード誤入力あるいはパスワード不正入力が行われた場合には、情報処理装置1のセキュリティ処理(ステップS119)を実行する。
【0057】
ユーザが入力したパスワードがユーザ個人の登録パスワードと一致すると判定されると(ステップS104;YES)、ステップS107に移行し、ユーザ名が設定され、ログイン処理を実行し(ステップS107)、情報処理装置1のシステムを起動する(ステップS108)。ユーザが入力したパスワードがユーザ個人の登録パスワードと一致しないと判定されると(ステップS104;NO)、カウンタ“C”に“1”加算し(ステップS105)、その加算されたカウンタ“C”のカウント値がある一定値“m”と一致すか否かを判定する(ステップS106)。カウンタ“C”が“m”と一致しない場合(ステップS106;NO)には、ステップS102に移行し、もう一度、標準のログインダイアログ画面におけるパスワードの入力から処理を開始する。カウンタ“C”が“m”と一致する場合(ステップS106;YES)には、ステップS119に移行し(矢印▲1▼)、情報処理装置1のセキュリティ処理を行い(ステップS119)、情報処理装置1におけるシステム起動処理を終了する。
【0058】
次に、パスワード入力ユーザ関数が記憶されているパスワードDLLがある場合(ステップS101;YES)について説明する。ユーザにより定義されたパスワード入力ユーザ関数がある場合には、このパスワード入力ユーザ関数を呼び出し、ユーザ定義のシステム起動処理(ステップS110〜S119)を実行する。
【0059】
パスワードDLL内に記憶されているパスワード入力ユーザ関数を呼び出す前に、情報処理装置1は、パスワード入力ユーザ関数と処理値算出関数に引数として渡す起動処理値“sRt”を取得する(ステップS110)。この起動処理値“sRt”は、情報処理装置1のシステムを起動する都度、発生する乱
数であり、ユーザによる設定が不可能な数である。
【0060】
起動処理値“sRt”が取得されると、CPU2はパスワードDLL内に記憶されている、ユーザにより定義されたパスワード入力ユーザ関数を呼び出す(ステップS111)。この際、このパスワード入力ユーザ関数の引数として、先程算出した起動処理値“sRt”を渡す。本実施の形態において使用するパスワード入力ユーザ関数の形式を式(1)に示す。
【0061】
Int Msv_Pw_Input(HWND hWnd, int sRt) …(1)
【0062】
この式(1)において、引数はアプリケーションハンドル“hWnd”、処理値算出関数“sRt”であり、戻り値は式(1)で算出される値である。
【0063】
なお、このパスワード入力ユーザ関数が一例であり、これに限られるものではなく、DLL形式で作成された関数であればよい。
【0064】
ここで呼び出されるパスワード入力ユーザ関数(1)により、情報処理装置1におけるシステム起動処理をユーザが予め定義したログインダイアログ画面等を利用して実行する。
【0065】
図5は、CPU2により実行されるユーザ定義のパスワード入力ユーザ関数(1)における処理の動作を説明するフローチャートである。
【0066】
図5において、パスワード入力ユーザ関数(1)が図4のステップS111で呼びだされると、CPU2は、記憶媒体であるメモリカード7内のメモリに記憶されており、そのメモリ内からRAM3にインストールされたパスワード入力ユーザ関数処理プログラムを読み出す。そして、ユーザ定義のパスワード入力ユーザ関数処理プログラムを開始する。
【0067】
ユーザ定義のパスワード入力ユーザ関数(1)における処理は、ユーザが予め定義したパスワード等のログイン情報を入力するログインダイアログ(Log-in Dialog)画面5a(DLG)(図3参照)を表示する(ステップS120)。そして、この表示されたログインダイアログ画面5aに対して、パスワード等の予めユーザが設定したログイン情報を入力し(ステップS121)、ユーザ認証処理を実行するか否かを、“Ok”ボタン、あるいは“キャンセル”ボタンを操作することで決定する(ステップS122)。ユーザ認証処理を実行する場合には、ステップS123〜S128の処理を実行し、ユーザ認証処理をキャンセルする場合には、ステップS129の処理を実行する。
【0068】
ステップS122において、“Ok”ボタンが選択されると(ステップS122;OK)、カウンタ“C”を“0”に初期化する(ステップS123)。カウンタ“C”は、図4のステップS103の場合と同様、ユーザ認証処理(ステップS124)が連続して正しく実行されなかった回数を計数し、システムのセキュリティ処理(図4、ステップS119)を実行するか否かの判断基準となる値である。
【0069】
次に、ユーザ認証処理を行い(ステップS124)、正しくユーザ認証処理が行われたと判定されると(ステップS124;YES)、ユーザ認証結果値として処理フラグ“Flg=0”を取得し、起動処理値“sRt”と処理フラグ“Flg=0”とを引数として起動処理値算出関数DLL内の処理値算出関数を呼び出す(ステップS125)。本実施の形態においては、処理値算出関数の形式を式(2)に示す。
【0070】
Int Msv_User_Deal(int sRt, int Flg) …(2)
【0071】
この式(2)において、引数は、起動処理値“sRt”と処理フラグ“Flg”とであり、その戻り値は、“uRt”として取得する。
【0072】
なお、この処理値算出関数は一例であり、これに限られるものではなく、DLL形式で作成された関数であればよい。
【0073】
起動処理値“sRt”と処理フラグ“Flg=0”を引数として処理値算出関数を演算し、戻り値“uRt”を得る。更に、ステップS124において正しくユーザ認証処理が行われたと判定されているので、ログイン処理に必要な情報であるユーザ名“uUser”を取得する(ステップS126)。その後、戻り値“uRt”及びユーザ名“uUser”を取得すると、図4のステップS111に戻り、ユーザ定義のシステム起動処理に復帰する。
【0074】
ユーザ認証処理を行い(ステップS124)、正しくユーザ認証処理が行われなかったと判定されると(ステップS124;NO)、上述したカウンタ“C”に“1”加算し(ステップS127)、その加算されたカウンタ“C”のカウント値がある一定値“n”と一致するか否かを判定する(ステップS128)。カウント値が“n”と一致しない場合(ステップS128;NO)には、ステップS121に移行し、もう一度、パスワード等のログインコードの入力から処理を開始する。カウント値が“n”と一致する場合(ステップS128;YES)には、図4のステップS119に移行し(矢印▲1▼)、情報処理装置1のセキュリティ処理を行い(ステップS119)、情報処理装置1におけるシステム起動処理を終了する。
【0075】
ステップS122において、“キャンセル”ボタンが選択されると(ステップS122;キャンセル)、ユーザ認証結果値として処理フラグ“Flg=1”を取得し、起動処理値“sRt”と処理フラグ“Flg=1”とを引数として起動処理値算出DLL内の処理値算出関数(2)を呼び出す(ステップS129)。その結果、戻り値として“uRt”を取得し、図4のステップS111に戻り、ユーザ定義のシステム起動処理に復帰する。
【0076】
図5を参照して上述した、ユーザ定義のパスワード入力ユーザ関数(1)の処理が終了すると、ユーザ定義のシステム起動処理へ復帰し、戻り値“uRt”、ユーザ名“uUser”を各々レジスタ“Ru”、レジスタ“Rn”に確保する(ステップS112)。 パスワード入力ユーザ関数(1)における戻り値“Ru”及び“Rn”を取得すると、図5に示すパスワード入力ユーザ関数(1)処理において、ユーザ認証処理が正しく行われ、正しいユーザ名が取得されたかどうか(ステップS113〜S115)、あるいはユーザ認証処理がキャンセルされ、キャンセル処理が行われたかどうか(ステップS116〜S118)を、パスワード入力ユーザ関数(1)の正当性認証を行うため、起動処理値算出DLLから処理値算出関数(2)を呼び出して、この演算結果を判断する。
【0077】
上述した処理値算出関数(2)に引数として渡される処理フラグ“Flg”は、パスワード入力ユーザ関数(1)処理においてユーザ認証処理が正しく行われたか否かを判断するための基準となる戻り値を得るために、処理フラグ“Flg=0”、あるいは処理フラグ“Flg=1”にセットされる。処理値算出関数(2)において、この処理フラグ“Flg”を“Flg=0”にセットすると、パスワード入力ユーザ関数(1)処理においてユーザ認証処理が正しく行われたか否かを判断するための基準となる戻り値“srOk”を取得することができる。一方、処理値算出関数(2)において、この処理フラグ“Flg”を“Flg=1”にセットすると、パスワード入力ユーザ関数(1)処理においてユーザ認証処理がキャンセルされたか否かを判断するための基準となる戻り値“srCan”を取得することができる。
【0078】
まず、上述したパスワード入力ユーザ関数(1)処理において、ユーザ認証処理が正しく行われたか否かを判断する。ステップS113で、パスワード入力ユーザ関数(1)処理において、ユーザ認証処理が正しく行われたか否かを判断するために、処理フラグ“Flg=0”にセットし、この処理フラグ“Flg=0”及び起動処理値“sRt”を引数として、処理値算出関数(2)を演算し、演算結果として戻り値“srOk”を取得する。そして戻り値“srOk”をレジスタ“Rs”に確保する(ステップS114)。ステップS114において戻り値“srOk”を取得すると、ステップS112において取得したレジスタ“Ru”に確保した戻り値“uRt”と一致するか否かを判定する(ステップS115)。
【0079】
レジスタ“Ru”とレジスタ“Rs”とにそれぞれ確保されている戻り値が一致する場合、すなわち、ステップS112においてパスワード入力ユーザ関数(1)から取得した戻り値“uRt”と、ステップS114において処理値算出関数(2)から取得した戻り値“srOk”とが一致する場合(ステップS115;YES)には、パスワード入力ユーザ関数(1)における処理がユーザ認証処理の正当性が確認され、ステップS107に移行する。そして、パスワード入力ユーザ関数(1)処理において取得したユーザ名“uUser”をレジスタ“Rn”から読み出し、情報処理装置1に設定し、情報処理装置1へログインし(ステップS107)、情報処理装置1のシステムを起動する(ステップS108)。逆に、レジスタ“Ru”とレジスタ“Rs”とにそれぞれ確保されている戻り値が一致しない場合(ステップS115;NO)には、ステップS116の処理に移行する。
【0080】
上述したパスワード入力ユーザ関数(1)処理において、ユーザ認証処理が正しく行われなかったと判断されると、次に、パスワード入力ユーザ関数(1)処理において、ユーザ認証処理がキャンセルされたか否かを判断する。ステップS116で、パスワード入力ユーザ関数(1)処理において、ユーザ認証処理がキャンセルされたか否かを判断するために、ステップS113の処理の場合とは異なり、“Flg=1”にセットし、この処理フラグ“Flg=1”及び起動処理値“sRt”を引数として、処理値算出関数(2)を演算して、演算結果として戻り値“srCan”を取得する(ステップS117)。そして戻り値“srCan”をレジスタ“Rs”に確保する。ステップS117において戻り値“srCan”を取得すると、ステップS112においてレジスタ“Ru”に確保した戻り値“uRt”と一致するか否かを判定する(ステップS118)。
【0081】
レジスタ“Ru”とレジスタ“Rs”とにそれぞれ確保されている戻り値が一致する場合、すなわち、ステップS112においてパスワード入力ユーザ関数(1)から取得した戻り値“uRt”と、ステップS117において処理値算出関数(2)から取得した戻り値“srCan”とが一致する場合(ステップS118;YES)には、パスワード入力ユーザ関数(1)処理がキャンセル処理を行ったと判断し、情報処理装置1のシステム起動処理を終了する。逆に、レジスタ“Ru”とレジスタ“Rs”とにそれぞれ確保されている戻り値が一致しない場合(ステップS118;NO)には、ユーザ認証が正しく行われず、キャンセルもされていないものと判断して、ステップS119の処理に移行する。
【0082】
ステップS119では情報処理装置1のセキュリティ処理を行い(ステップS119)、情報処理装置1におけるシステム起動処理を終了する。ステップS119におけるセキュリティ処理とは、情報処理装置1を使用不可にしたり、強制終了させたりする処理のことである。
【0083】
以上のように、本発明を適用した実施の形態における情報処理装置1は、ユーザにより予め定義されたパスワード入力ユーザ関数をユーザ関数ライブラリ3ULに記憶しているとともに、処理値算出関数を標準関数ライブラリ3SLに記憶している。システムを起動する際には、このパスワード入力ユーザ関数において、ユーザにより入力されたログイン情報を利用したユーザ認証を実行し、そのユーザ認証の結果値として処理フラグ“Flg”を取得し、この処理フラグと、乱数である起動処理値とを引数として前記処理値算出関数の戻り値を算出する。また、システム側では、前記パスワード入力関数において使用した引数と同一の引数を用いて、前記処理値算出関数の戻り値を算出する。そして、前記両戻り値を比較することによって、ユーザ定義のシステム起動処理が正しく実行されるか否かを判別する。
【0084】
したがって、パスワード入力ユーザ関数において、ユーザ認証結果と乱数である起動処理値とを引数として処理値算出関数を演算し、システムの起動処理において、同一の引数を用いて処理値算出関数を演算し、これらの演算結果を比較することによって、ユーザ認証の正当性を判定することができる。そのため、ユーザ定義のログインダイアログ画面に対して、ユーザが入力するログイン情報を用いてシステムを起動する場合にも、これらユーザ定義のログイン情報のセキュリティ管理やシステムのセキュリティを確実に確保することが可能となる。
【0085】
また、システムを起動する都度乱数発生させ、発生した乱数をユーザ認証のための演算の引数とすることによって、意図的にユーザ認証の結果を操作されることを防ぐことができる。そのため、ユーザにより自由に定義されたシステムのセキュリティを更に強化することが可能となる。
【0086】
そして、上述したユーザ認証に、ユーザにより入力されるログイン情報を用いることによって、ユーザは自己の利用しやすいパスワード等を用いてログイン時の処理を実行することができる。そのため、ユーザにより正しいログイン情報が入力されない限り、正しくユーザ認証されず、ユーザにより自由に定義されたシステムのセキュリティを確保することが可能となる。
【0087】
さらに、システム起動に必要な情報は、ユーザ認証の結果が正当で、且つ所定の関数の演算を経た後取得されるので、他人に盗用されたり改竄されたりすることを少なくすることができる。また、ユーザ認証の結果から、ログインに必要な情報を取得していおり、且つログイン関数ルーチン側とシステム側とにおける処理値算出関数の演算結果が一致するという双方の条件を満たす場合のみ、システムが起動されるので、ユーザにより自由に定義されたログイン関数ルーチンを使用したシステム起動時のセキュリティをより一層強化することが可能となる。
【0088】
なお、本発明は、上記実施の形態の内容に限られるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。例えば、ユーザにより定義されるパスワード入力ユーザ関数や起動処理値算出DLL内の処理値算出関数を、C++言語形式で作成したが、これに限られるものではなく、DLL形式でメモリに記憶可能な言語形式の関数であるばよい。
【0089】
また、本実施の形態においては、記憶媒体としてメモリカードを利用したが、フロッピーディスクや、DVD−ROMなどの他の記憶媒体であってもよい。
【0090】
【発明の効果】
請求項1記載の発明の情報処理装置及び請求項5記載の記憶媒体によれば、ユーザにより自由に定義されたユーザ関数ルーチンを用いてユーザ認証を行い、そのユーザ認証の正当性を判定することができる。その結果、ユーザ定義のログインダイアログ画面に対して、ユーザが入力するログイン情報を用いてシステムを起動する場合にも、これらユーザ定義のログイン情報のセキュリティ管理やシステムのセキュリティを確実に確保することが可能となる。
【0091】
請求項2記載の発明の情報処理装置によれば、システムを起動する都度乱数を発生させ、発生した乱数をユーザ認証のための演算の引数とするため、ある一定値をユーザ認証のための演算の引数とした場合とは異なり、演算結果を予測されたり、意図的にユーザ認証の結果を操作されることを防ぐことができる。その結果、ユーザにより自由に定義されたシステムのセキュリティを更に強化することが可能となる。
【0092】
請求項3記載の発明の情報処理装置によれば、ユーザ関数ルーチンにおけるユーザ認証には、ユーザから入力されるログイン情報を用いるので、ユーザは自己の使用しやすいパスワード等を用いてログイン時の処理を実行することができる一方、ユーザにより正しいログイン情報が入力されない限り、正しくユーザ認証されず、ユーザにより自由に定義されたシステムのセキュリティを確保することが可能となる。
【0093】
請求項4記載の発明の情報処理装置によれば、システム起動に必要な情報は、ユーザ認証の結果が正当で、且つ所定の関数の演算を経た後、取得されるので、他人に盗用されたり改竄されたりすることを少なくすることができる。また、ユーザ認証の結果からログインに必要な情報を取得し、且つユーザ関数ルーチン側とシステム側とにおける処理値算出関数の演算結果が一致するという双方の条件を満たす場合のみ、システムが起動されるので、ユーザにより自由に定義されたユーザ関数ルーチンを使用したシステム起動時のセキュリティをより一層強化することが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態の情報処理装置1の内部構成を示すブロック図である。
【図2】複数の情報処理装置1とメインコンピュータ11のデータ交換の例を示す図である。
【図3】情報処理装置1において、ユーザ定義のログイン情報を用いて、システムの起動処理を実行するためのログインダイアログ画面5aの例を示す図である。
【図4】情報処理装置1における、システム起動処理の動作を説明するフローチャートである。
【図5】情報処理装置1における、ユーザ定義のパスワード入力ユーザ関数処理の動作を説明するフローチャートである。
【図6】コンピュータ・システムにおいて、一般に使用されている標準のシステム起動処理を行うための、標準のログインダイアログ画面10aの例を示す図である。
【符号の説明】
1 情報処理装置
1A 携帯端末型情報処理装置
1B 携帯端末型情報処理装置
1C 携帯端末型情報処理装置
2 CPU
3 RAM
3SF システムスペックファイル
3AF アプリケーションスペックファイル
3SL 標準関数ライブラリ
3UL ユーザ関数ライブラリ
4 ROM
5 表示部
5a ユーザ定義のログインダイアログ画面
5b パスワード入力欄
5c OKボタン
5d キャンセルボタン
6 操作子部
7 メモリカード
7A メモリカード
7B メモリカード
7C メモリカード
8 通信部
9 バス
10a 標準のログインダイアログ画面
10b ユーザ入力欄
10c パスワード入力欄
10d OKボタン
10e キャンセルボタン
11 メインコンピュータ
11AF アプリケーションファイル
11DF データファイル
12 カードリーダ/ライタ
AP1 アプリケーションプログラム
AP2 アプリケーションプログラム
AP3 アプリケーションプログラム
Claims (5)
- ユーザにより定義され、ユーザ認証を含むユーザ関数ルーチンを記憶する第1の記憶手段と、
処理値算出関数を記憶する第2の記憶手段と、
前記第1の記憶手段に記憶された前記ユーザ関数ルーチンを読み出して、当該ユーザ関数ルーチンにおいてユーザ認証を実行し、前記処理値算出関数に引数として渡される認証結果値を取得するとともに、取得した認証結果値及びユーザによる設定が不可能な所定値を引数として、前記第2の記憶手段に記憶された処理値算出関数を呼び出し、当該呼び出した処理値算出関数により前記ユーザ認証の正当性を確認するための第1の戻り値を演算する第1の演算手段と、
前記第1の演算手段において使用する引数と同一の値を引数として、前記第2の記憶手段に記憶された処理値算出関数を呼び出し、当該呼び出した処理値算出関数により前記ユーザ認証の正当性を確認するための第2の戻り値を演算する第2の演算手段と、
前記第1の演算手段により演算された第1の戻り値と、前記第2の演算手段により演算された第2の戻り値と、を比較する比較手段と、
この比較手段による比較結果に応じて、システム起動処理、キャンセル、セキュリティ処理を実行する起動処理手段と、
を備えたことを特徴とする情報処理装置。 - システムを起動する都度、乱数を発生させる乱数発生手段を更に備え、
前記第1及び第2の演算手段において演算される前記処理値算出関数の引数である前記所定値には、前記乱数発生手段によって発生された乱数を使用することを特徴とする請求項1記載の情報処理装置。 - 前記ユーザ関数ルーチンにおけるユーザ認証は、ユーザから入力されるログイン情報を用いて行われることを特徴とする請求項1記載の情報処理装置。
- 前記ユーザ関数ルーチンにおけるユーザ認証の結果が正当なものである場合は、前記第1の演算手段による演算結果には、前記第1の戻り値及びシステム起動の際のログイン処理に必要なユーザ名が含まれ、
前記比較手段は、第1の演算手段により演算された第1の戻り値と第2の演算手段により演算された第2の戻り値とを比較し、
前記起動処理手段は、この比較手段によって、前記第1の演算手段により演算された第1の戻り値と前記第2の演算手段により演算された第2の戻り値とが一致すると判定された場合に、前記システム起動の際のログイン処理に必要なユーザ名を使用して、システムの起動処理を実行することを特徴とする請求項1記載の情報処理装置。 - コンピュータが実行可能なプログラムを格納した記憶媒体であって、
ユーザにより定義され、ユーザ認証を含むユーザ関数ルーチンを第1の記憶手段に記憶するためのコンピュータが実行可能なプログラムコードと、
処理値算出関数を第2の記憶手段に記憶するためのコンピュータが実行可能なプログラムコードと、
前記第1の記憶手段に記憶された前記ユーザ関数ルーチンを読み出して、当該ユーザ関数ルーチンにおいてユーザ認証を実行し、前記処理値算出関数に引数として渡される認証結果値を取得するとともに、取得した認証結果値及びユーザによる設定が不可能な所定値を引数として、前記第2の記憶手段に記憶された処理値算出関数を呼び出し、当該呼び出した処理値算出関数により前記ユーザ認証の正当性を確認するための第1の戻り値を演算するためのコンピュータが実行可能なプログラムコードと、
前記ユーザ関数ルーチンにおいて使用する引数と同一の値を引数として、前記第2の記憶手段に記憶された処理値算出関数を呼び出し、当該呼び出した処理値算出関数により前記ユーザ認証の正当性を確認するための第2の戻り値を演算するためのコンピュータが実行可能なプログラムコードと、
前記第1の戻り値と前記第2の戻り値とを比較するためのコンピュータが実行可能なプログラムコードと、
前記第1の戻り値と前記第2の戻り値とが一致するかを比較し、当該比較結果に応じて、システム起動処理、キャンセル、セキュリティ処理を実行するためのコンピュータが実行可能なプログラムコードと、
を含むプログラムを格納したことを特徴とする記憶媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22164399A JP4013413B2 (ja) | 1999-08-04 | 1999-08-04 | 情報処理装置、及び記憶媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22164399A JP4013413B2 (ja) | 1999-08-04 | 1999-08-04 | 情報処理装置、及び記憶媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001051945A JP2001051945A (ja) | 2001-02-23 |
| JP4013413B2 true JP4013413B2 (ja) | 2007-11-28 |
Family
ID=16770005
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22164399A Expired - Fee Related JP4013413B2 (ja) | 1999-08-04 | 1999-08-04 | 情報処理装置、及び記憶媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4013413B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6962345B2 (ja) * | 2019-03-22 | 2021-11-05 | オムロン株式会社 | 情報処理装置、情報処理方法、および情報処理プログラム |
-
1999
- 1999-08-04 JP JP22164399A patent/JP4013413B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001051945A (ja) | 2001-02-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4219561B2 (ja) | 信頼できる計算プラットフォームのためのスマートカード・ユーザインターフェイス | |
| JP5992457B2 (ja) | オペレーティングシステムのコンフィグレーション値の保護 | |
| US6988250B1 (en) | Trusted computing platform using a trusted device assembly | |
| US8176324B1 (en) | Method and system for a secure virtual keyboard | |
| EP0443423B1 (en) | Method and apparatus for executing trusted-path commands | |
| US7380136B2 (en) | Methods and apparatus for secure collection and display of user interface information in a pre-boot environment | |
| US7770002B2 (en) | Multi-factor authentication | |
| US9571487B2 (en) | Systems and methods for providing a covert password manager | |
| US9582656B2 (en) | Systems for validating hardware devices | |
| US20080301462A1 (en) | System for protecting a user's password | |
| US20060161790A1 (en) | Systems and methods for controlling access to data on a computer with a secure boot process | |
| US8190916B1 (en) | Methods and systems for modifying an integrity measurement based on user authentication | |
| JP2003507785A (ja) | コンピュータ・プラットフォームおよびその運用方法 | |
| KR20030057565A (ko) | 스프핑 방지 패스워드 보호 방법 및 장치 | |
| US20050257272A1 (en) | Information processing unit having security function | |
| CN1894882B (zh) | 认证系统 | |
| US20070192580A1 (en) | Secure remote management of a TPM | |
| CN104834840A (zh) | 基于映射漂移技术的密码保护方法 | |
| US7085933B2 (en) | Computer system apparatus and method for improved assurance of authentication | |
| US8171530B2 (en) | Computer access security | |
| JP4242847B2 (ja) | スクリーンセーバ表示方法及び情報処理システム | |
| JP4013413B2 (ja) | 情報処理装置、及び記憶媒体 | |
| WO2017166359A1 (zh) | 用户域的访问方法、访问装置及移动终端 | |
| JP4247216B2 (ja) | 情報処理装置および認証制御方法 | |
| JP2011154445A (ja) | 認証装置、認証方法、および認証プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061101 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061107 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070104 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070821 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070903 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130921 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |