説明

リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ

【課題】認証専用のハードウェアを持たない安価なリムーバブル・デバイスで、複数のパスワードを1つのデバイスに記憶させ、ユーザの利便性とセキュリティを同時に向上させる認証方法を提供する。
【解決手段】公開鍵211を用いてパスワード201を暗号化して認証情報31を生成し、リムーバブル・デバイス127に格納した後に、暗号化に使用した公開鍵を管理者PCから破棄する。秘密鍵213を格納したユーザPC11に、リムーバブル・デバイスを接続して認証情報を読み取り、秘密鍵を用いて認証情報を復号化することによってパスワードを獲得する。リムーバブル・デバイスの固有情報219を認証情報に含めること、および秘密鍵をユーザの個人情報207によって暗号化することによって、さらにセキュリティを向上させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、リムーバブル・デバイスを用いてコンピュータのセキュリティを確保する技術に関し、さらに詳細にはセキュリティを確保しつつユーザによるパスワード入力の負担を軽減する技術に関する。
【背景技術】
【0002】
パーソナル・コンピュータ(以下PCという。)は、正当なユーザによる利用だけを許容するために、使用に際してユーザに対してパスワードを要求して本人の認証をすることができる。そしてユーザに要求されるパスワードの数は複数に及ぶ場合がある。たとえば、PCを起動するときには、BIOS(Basic Input/Output System)に設定したパワー・オン・パスワード(以下POPという。)、および磁気ディスク装置に設定したパスワード(以後HDPという。)の入力を要求される場合がある。POPおよびHDPのうち、いずれかが誤って入力されるとPCは起動しない。PCが起動して、オペレーティング・システム(以後OSという)が立ち上がった後は、ユーザがOSにログオンするためのユーザIDおよびパスワード(以後ログオン・パスワードという)の入力を要求される場合がある。ログオン・パスワードが誤って入力されると、ユーザはOSを利用することができず、OS上で動作するアプリケーション・プログラムを利用した作業を行うことができない。さらに、ネットワーク上の共有資源(共有ドライブ、共有フォルダ、共有プリンタなど)を利用する場合にも、ユーザはネットワーク・パスワードの入力を求められることがある。正しいネットワーク・パスワードを入力しない限り、ユーザは該当する共有資源を利用することができない。
【0003】
他にも、インターネットへの接続、電子メールの利用、特定のウェブサイトの利用、特定のオンライン・サービスの利用などのたびに、それぞれに対して設定されたユーザIDおよびパスワードの入力が要求される場合がある。いずれの場合も、利用したいサービスに対するユーザIDおよびパスワードが誤って入力されると、ユーザはそのサービスを利用することができない。
【0004】
近年は特に、ウェブログ、SNS、オンライン・ショップ、インターネット・バンキングなどのように、ユーザIDおよびパスワードを入力して利用するウェブサイトおよびオンライン・サービスが増えている。その一方で、PCに搭載された磁気ディスク装置の中に記憶されたり、ネットワークを介して交換されたりする情報の中には、機密性の高いものが多くなっている。機密性の高い情報とは、たとえば個人のプライバシーに関わる情報、業務上の機密に関わる情報、あるいはユーザ認証が必要なネットワークもしくはオンライン・サービスなどにアクセスするための認証情報などが該当する。これらの情報が、悪意のある第三者に漏洩して悪用もしくは改竄などをされると、その被害は重大なものとなる。つまり、ユーザの認証に係るセキュリティの向上が求められている状況のもとで、ユーザが覚えなければならないパスワードの個数が増加し、これがユーザの負担になっている。
【0005】
なお、パスワードもしくは暗号化鍵を利用する技術としては、以下のような文献がある。特許文献1は、着脱可能な記憶手段をトークンとして暗号化鍵を記憶し、それを安全に処理する方法について開示している。特許文献2は、記録媒体のシリアル・ナンバをシステム本体が持つ暗号化鍵で暗号化して記録媒体に記録し、復号化して不正使用か否かを判断するという技術について開示している。特許文献3は、暗号化されたデジタルコンテンツを別の記録媒体に転送する際、転送が完了すると暗号化に使用した秘密鍵を消去するという技術について開示している。また非特許文献1は、複数のパスワードを記憶し、パスワードなどによる認証を1回行うだけで記憶された複数のパスワードを入力することが可能になるというソフトウェアについて記載している。
【特許文献1】特表2000−516373号公報
【特許文献2】特開2005−301339号公報
【特許文献3】特開2005−346401号公報
【非特許文献1】WoodenSoldier、「パスワード管理ツール ID Manager」、[online]、[平成18年9月5日検索]、インターネット<URL: http://www.woodensoldier.info/soft/idm.htm>
【発明の開示】
【発明が解決しようとする課題】
【0006】
PCに設定したパスワードは、攻撃者に盗まれないように管理する必要がある。そのためには、パスワードをユーザの記憶の中だけに留め、メモを残さないことが望ましい。しかし、人間が長時間記憶することができるパスワードの桁数には限界がある。また、記憶しなければならないパスワードの数が増えるに従ってユーザの負担は増大する。この場合、ユーザはパスワードを桁数の少ない文字列や数字列またはその組み合わせに設定したり、パスワードを意味のある単語に設定したり、複数のパスワードを同一に設定したり、あるいは設定したパスワードを記録したメモをPCの近辺に残したりする。
【0007】
桁数を少なくすると試行錯誤法による攻撃に対する平均攻撃空間が狭くなり、意味のある単語に設定すると辞書攻撃で解読されやすくなり、ユーザの記憶の外に残す場合は保管が負担になったりするためにセキュリティの耐性が低下する。また、複数のパスワードを設定する必要がある場合にすべて同じパスワードに設定すると個別に設定することの意義も失われる。
【0008】
しかし、大きな桁数のランダムな文字・数字列で構成された複数のパスワードをユーザが記憶し、さらにそれを定期的に更新するようなことは一般的には困難であるといえる。この問題を解決するために、パスワードをいわゆるトークンという特別な認証デバイスに記憶させて管理する技術がある。トークンに記憶させるパスワードの桁数には実質的に制約がなく、また、PCを使用してランダムな文字・数字列をパスワードとして記憶させることもできるので、ユーザはトークンを管理するだけでセキュリティを強化することができる。トークンは、通常PIN(Private Identification Number)とともに使用されるので、トークンが盗まれてもPINが盗まれなければ安全である。また、トークンは情報としてのパスワードに比べて盗まれたことをユーザが認識しやすいので、盗まれたあとの対応がしやすい。
【0009】
しかし、トークンは一般的に高価であり、PINは通常4桁程度の数字であるため盗まれる場合もある。トークンをたとえばUSBフラッシュ・メモリ、SDメモリーカード、コンパクトフラッシュ(登録商標)、メモリースティック(登録商標)などのような安価で着脱可能な記憶装置(以後、リムーバブル・デバイスという。)で構成し、リムーバブル・デバイスにパスワードを暗号化して生成した認証情報を格納することが考えられる。
【0010】
しかし、このようなリムーバブル・デバイスを利用した認証デバイスでは、同一のアルゴリズムを使用して認証情報を生成して、偽物の認証デバイスが製作される危険性がある。さらに、真正のリムーバブル・デバイスに格納された認証情報を、他のリムーバブル・デバイスにコピーすることによって、同一の認証情報を格納した認証デバイスが多数複製される危険性もある。同一の認証情報を格納した認証デバイスが多数存在すると、悪意のある第三者によりそれらの認証デバイスを不正に入手される危険性が高まるので、望ましいことではない。
【0011】
認証デバイスを利用する際に生ずるこのような危険性を排除するには、パスワードのかわりに指紋、静脈、虹彩などのような生体情報によるユーザ認証(バイオメトリクス認証)方式を利用するという方法もある。しかし、生体情報を利用した認証を行うには、認証デバイスがユーザ認証専用の高価なハードウェアを持つことを必要とする。
【0012】
そこで本発明の目的は、再生不可能なパスワードをリムーバブル・デバイスに格納する方法およびそのようなパスワードが格納されたリムーバブル・デバイスの製造方法を提供することにある。さらに本発明の目的は、ユーザのパスワード管理の負担を軽減しながらセキュリティを強化したユーザの認証方法を提供することにある。さらに本発明の目的は、ユーザのパスワード管理の負担を軽減しながらセキュリティを強化したコンピュータを提供することにある。さらに本発明の目的は、そのようなコンピュータを実現するコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0013】
本発明の第1の側面は、コンピュータがリムーバブル・デバイスに認証情報を格納する方法を提供する。コンピュータは、ユーザからユーザ認証に使用するパスワードを受け取ると、内部で一対の公開鍵と秘密鍵とを生成し、その公開鍵を用いて受け取ったパスワードを暗号化して認証情報を生成する。ここで、暗号化に使用した公開鍵を他に転送したり内部に格納したりすることなくコンピュータから消去して破棄することにより、それ以降はコンピュータが同一パスワードを受け取っても同じ認証情報を生成することができないようになっている。生成された認証情報をリムーバブル・デバイスに格納することで、ユーザ・コンピュータに接続して認証作業に利用できるようになる。ユーザは、リムーバブル・デバイスに格納された認証情報に含まれるパスワードを記憶する必要はない。認証情報に含まれるパスワードはユーザが記憶する場合のような桁数の制約はなく、また複数個でもよい。パスワードはPOP、HDP、ログオン・パスワード、ネットワーク・パスワードを含むグループの中から選択されたいずれか1つまたは複数のパスワードを含むものとすることができる。
【0014】
リムーバブル・デバイスには通常、シリアル・ナンバなどのような固有情報が製造時に外部から与えられ、シリアル・ナンバはユーザによる書き込みができない領域に格納されている。異なるリムーバブル・デバイスが同じ固有情報を持つことはない。さらに、固有情報を外部から書き換えることも不可能である。この固有情報を公開鍵で暗号化して認証情報の中に含めるようにすれば、認証情報を真正のリムーバブル・デバイス以外のリムーバブル・デバイスにコピーして利用することを禁止することができる。
【0015】
また、破棄された公開鍵によって暗号化されたパスワードを復号化するために必要な秘密鍵を、外部からユーザの個人情報を受け取り、それによって秘密鍵を暗号化するようにすれば、その個人情報を持つユーザ以外にはパスワードを復号化することができなくなるので、認証情報が格納されたリムーバブル・デバイスが盗難にあって第三者に利用されるなどのような危険性を低減することができる。ここでいう暗号化は、秘密鍵と個人情報とをXOR演算するなどのような方法でよい。さらに、秘密鍵をユーザの個人情報とリムーバブル・デバイスの固有情報によって、二重に暗号化して、リムーバブル・デバイスの中に固有情報を格納しないようにするという方法もある。リムーバブル・デバイスを使用してユーザ認証をするために、認証情報を生成したコンピュータにおいてユーザ・コンピュータで実行されるユーザ認証モジュールも生成すると、暗号化された秘密鍵と同時にユーザ・コンピュータに送り、ユーザ・コンピュータに容易にリムーバブル・デバイスによる認証環境を構築することができる。
【0016】
本発明の第2の側面は、リムーバブル・デバイスに格納された認証情報を使用してユーザ・コンピュータがユーザ認証を行う方法を提供する。ユーザ認証は、管理者コンピュータで生成された認証情報を用いて行われる。認証情報は、管理者コンピュータが秘密鍵と対の公開鍵を用いてパスワードを暗号化しその後公開鍵を管理者コンピュータから破棄することによって生成され、リムーバブル・デバイスに格納される。なお、管理者コンピュータは、ユーザの認証を行うユーザ・コンピュータと同一であっても別であってもよい。ユーザ・コンピュータでは、リムーバブル・デバイスから読み取った認証情報を、秘密鍵を用いて復号化することによってパスワードを獲得すると、獲得したパスワードをコンピュータ内部にあらかじめ格納されたパスワードと比較することにより、ユーザの認証を行うことができる。
【0017】
ユーザ認証を行うユーザ・コンピュータに格納された秘密鍵をユーザの個人情報を用いて暗号化されたものとして構成し、認証時にユーザからユーザの個人情報を受け取って暗号化された秘密鍵を復号化するようにすれば、その個人情報を持つユーザ以外には認証情報を復号化することができなくなるので、認証情報が格納されたリムーバブル・デバイスが盗難にあって利用されるなどのような危険性を低減することができる。また、リムーバブル・デバイスの固有情報を公開鍵を用いて暗号化したものを認証情報に含め、秘密鍵を用いて認証情報を復号化することにより獲得した固有情報とリムーバブル・デバイスから直接読み取った固有情報を比較するようにすれば、認証情報だけが別のリムーバブル・デバイスにコピーされて利用される危険性を排除することができる。
【0018】
本発明の第3の側面は、認証情報および秘密鍵を生成する管理者コンピュータにおける処理と、管理者コンピュータで生成された認証情報および秘密鍵を利用してユーザの認証を行うユーザ・コンピュータにおける処理とを合わせた、ユーザの認証方法を提供する。管理者コンピュータは、本発明の第1の側面として述べたものと同一の方法で、認証情報および秘密鍵を生成する。生成された認証情報はリムーバブル・デバイスに格納される。そして生成された秘密鍵と、ユーザが認証情報に含めたパスワードとが、ユーザ・コンピュータに格納される。ユーザ・コンピュータは、本発明の第2の側面として述べたものと同一の方法で、ユーザの認証を行う。
【0019】
本発明の第4の側面は、認証情報および秘密鍵を生成する管理者コンピュータとして使用される、リムーバブル・デバイスへ認証情報を格納することが可能なコンピュータを提供する。このコンピュータは、プロセッサと、リムーバブル・デバイスを接続可能なインターフェースと、コンピュータ・プログラムを格納した記憶装置とを備える。コンピュータ・プログラムはプロセッサに、外部からユーザ・コンピュータのパスワードを受け取る機能と、一対の公開鍵と秘密鍵とを生成する機能と、公開鍵を用いてパスワードを暗号化して認証情報を生成する機能と、暗号化に使用した公開鍵をコンピュータから破棄する機能と、認証情報をリムーバブル・デバイスに格納する機能とを実現させる。
【0020】
本発明の第5の側面は、管理者コンピュータによって生成された認証情報および秘密鍵によってユーザの認証を行うユーザ・コンピュータとして使用されるコンピュータを提供する。このコンピュータは、プロセッサと、パスワードと秘密鍵とを格納する記憶部と、秘密鍵と対の公開鍵を用いてパスワードを暗号化しその後公開鍵を管理者コンピュータから破棄することによって生成した認証情報を格納したリムーバブル・デバイスを接続可能なインターフェースと、リムーバブル・デバイスから認証情報を読み取る読み取り部と、読み取った認証情報を秘密鍵で復号化し記憶部に格納されたパスワードと比較する認証部とを備える。認証部がBIOSとSMRAMを含むようにすれば、OSが起動する前の処理で使用されるPOPやHDPによる認証やOS起動後の認証を安全に行うことができる。また、記憶部をリード/ライト保護が可能なメモリで構成すれば、より安全性が高まる。
【0021】
また本発明は、本発明の第1の側面として述べたものと同一の方法によって、認証情報が格納されたリムーバブル・デバイスを製造する方法を提供することもできる。さらに、本発明の第1および第2の側面として述べたものと同一の方法をコンピュータに実現させるコンピュータ・プログラムを提供することもできる。
【発明の効果】
【0022】
本発明により、再生不可能なパスワードをリムーバブル・デバイスに格納する方法およびそのようなパスワードが格納されたリムーバブル・デバイスの製造方法を提供することができた。さらに本発明により、ユーザのパスワード管理の負担を軽減しながらセキュリティを強化したユーザの認証方法を提供することができた。さらに本発明により、ユーザのパスワード管理の負担を軽減しながらセキュリティを強化したコンピュータを提供することができた。さらに本発明により、そのようなコンピュータを実現するコンピュータ・プログラムを提供することができた。
【発明を実施するための最良の形態】
【0023】
図1は、本発明の実施形態に係る認証システムの全体構成を示す図である。本実施形態の認証システムでは、管理者PC10とユーザPC11、12、13がセキュアなチャネルを有するネットワークで接続されていることを想定している。ただし、本発明は、管理者PC10とユーザPC11、12、13がネットワークで接続されていない場合も含む。管理者PC10では、OS上で動作する新規なソフトウェアである認証データ作成ツール51が動作する。認証データ作成ツール51は、ユーザの認証情報として使用される暗号化データ31、32、33と、暗号化データ31、32、33を使ってユーザPC11、12、13で認証作業を行うときに必要な秘密鍵データを登録するための鍵登録ツール21、22、23を作成する。秘密鍵データは秘密鍵を暗号化して生成した情報であり鍵登録ツール21、22、23の中に含まれる。
【0024】
鍵登録ツール21、22、23は、ユーザPC11、12、13において1度だけ実行することが可能なコンピュータ・プログラムとして作成され、1度実行されるとユーザPC11、12、13のすべての記憶領域から消去される。鍵登録ツール21、22、23がそれぞれのユーザPC11、12、13で実行されることによって秘密鍵データが各々のユーザPCが持つセキュアな記憶領域(詳細は後述)に記憶されリムーバブル・デバイス41、42、43を用いたユーザ認証が可能になる。管理者PC10にリムーバブル・デバイス41、42、43が接続されて、各々のユーザPC11、12、13に対応した暗号化データ31、32、33が格納される。各々のリムーバブル・デバイス41、42、43を、ユーザPC11、12、13に接続すると、後述のユーザ認証の処理が行われる。なお、管理者PC10とユーザPC11は同一であってもよい。つまり、管理者PC10で使用される秘密鍵データおよび暗号化データを、管理者PC10で作成することも可能である。鍵登録ツール21、22、23は、ネットワークのセキュアなチャネルを通じてユーザPC11、12、13に転送される。
【0025】
図2は、本発明の実施形態に適用するPC100のシステム構成を示す概略ブロック図である。本実施形態では、管理者PC10も、ユーザPC11、12、13も、筐体内部に搭載されているデバイスの構成を同一にすることができるため両者をPC100として説明する。CPU111は、PCの中枢機能を担う演算処理装置で、OS、BIOS、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。CPU111は、PC100が管理者PC10の場合は図1で説明した認証データ作成支援ツール51を実行し、ユーザPC11、12、13の場合は鍵登録ツール21、22、23と図4に示すユーザ認証モジュール157を実行する。CPU111は、SMI(System Management Interrupt)入力ピン(SMI#)がアサートされることによって、システム管理用の動作モードであるSMM(System Management Mode)で動作することが可能である。SMMでは、特別に割り当てられたメモリ空間において、米国インテル社製のCPUに存在する割り込み制御ハンドラであるSMIハンドラが実行される。SMMは主にサスペンド、レジューム、電源管理およびセキュリティ関連の操作などに利用される特権実行モードである。
【0026】
CPUブリッジ113は、メイン・メモリ115へのアクセス動作を制御するためのメモリ・コントローラ機能や、接続されるデバイス間のデータ転送速度の差を吸収するデータ・バッファ機能などを含んだ構成となっている。メイン・メモリ115は、CPU111が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用される書き込み可能メモリである。同時にメイン・メモリ115はSMRAM(System Management RAM)としての領域を含むが、これについては後述する。ビデオ・カード117は、ビデオ・チップ(図示せず)およびVRAM(図示せず)を有し、CPU111からの描画命令を受けて描画すべきイメージを生成しVRAMに書き込み、VRAMから読み出されたイメージを描画データとしてディスプレイ119に送る。
【0027】
I/Oブリッジ121は、CPUブリッジ113と同様にチップセットを構成するデバイス・コントローラである。I/Oブリッジ121は、IDE(Integrated Device Electronics)インターフェース機能を備えており、磁気ディスク装置(HDD)123およびCDドライブ、DVDドライブ等の光学ドライブ(図示せず)が接続される。HDD123には、OS、デバイス・ドライバ、アプリケーション・プログラムなどがインストールされている。PC100が管理者PC10である場合には、認証データ作成ツール51がHDD123に格納される。HDD123を使用可能にするために必要なHDPに関する取り扱いは、IDEインターフェースの仕様の中に含まれており、設定されたHDPは磁気ディスク装置の管理領域の中に保存される。また、I/Oブリッジ121はUSBインターフェース125を介して、USB規格に対応した各種周辺機器を接続することが可能である。管理者PC10およびユーザPC11、12、13のいずれにおいても、リムーバブル・デバイス41の一種であるUSBフラッシュ・メモリ127がここに接続される。
【0028】
さらにI/Oブリッジ121は、LPCバス129を介して、高速なデータ転送を要求しないデバイスに接続される。LPCバス129には、BIOSフラッシュROM131、セキュアNVRAM(Non-Volatile RAM、不揮発性RAM)133、I/Oコントローラ135が接続されている。BIOSフラッシュROM131およびセキュアNVRAM133については後述する。I/Oコントローラ135にはキーボード137を始めとする入出力機器(図示せず)が接続される。
【0029】
なお、図2は本実施形態を説明するために必要なハードウェアの構成および接続関係を簡素化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、たとえばCardBus、miniPCIなどのインターフェースおよびそれらを介して接続される周辺機器、有線LANアダプタ、無線LANモジュール、電源装置、温度などの動作環境を制御するエンベデッド・コントローラなど、PC100を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であり本発明の理解のために特に説明を必要としないので、ここでは詳しく言及しない。もちろん、図で記載した複数のブロックを1個の集積回路もしくは装置としたり、逆に1個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
【0030】
図3は、PC100を構成するBIOSフラッシュROM131、セキュアNVRAM133、およびメイン・メモリ115の内部構成を示す図である。図3(A)に示すBIOSフラッシュROM131は、不揮発性で記憶内容の電気的な書き替えが可能なメモリであり、システムの起動および管理に使われる基本プログラムであるシステムBIOS151、電源および温度などの動作環境を管理するソフトウェアである各種ユーティリティ153、PCの起動時にハードウェアのテストを行うソフトウェアであるPOST(Power-On Self Test)155、本発明の実施の形態に係るソフトウェアであるユーザ認証モジュール157、SMRAM171に記憶されたパスワードを取得するサービス・ルーチン(詳しくは後述)であるパスワード・サービス・ルーチン158、CPU111がSMMで動作するときにSMIサービス・ルーチンを起動するSMIハンドラ159、HDD123にアクセスするINT13Hハンドラ160などが記憶されている。ユーザ認証モジュール157は、PC100がユーザPC11、12、13である場合にBIOSフラッシュROM131に格納される。
【0031】
図3(B)に示すセキュアNVRAM133は、PCの電源を切っても消失しないように電池でバックアップされ、記憶された内容をシステムBIOS151による操作によって読み書き禁止に設定することのできるRAMである。セキュアNVRAM133がシステムBIOS151の操作によって一度読み書き禁止に設定されると、PCの電源がリセットされるまでは読み書き禁止は解除されない。BIOSは、起動ルーチンを終了して制御をOSに移行するときにセキュアNVRAM133の読み書きを禁止する。よって、読み書き禁止にされたセキュアNVRAM133に記録された内容を外部から読み取ったり、OSの動作環境下でセキュアNVRAM133の記憶内容を読み取ったりすることは困難である。セキュアNVRAM133は、PCのデバイス・コントローラ(CPUブリッジ113およびI/Oブリッジ121)の設定情報161、および秘密鍵データ163を記憶している。設定情報161の内容としては、主にディスク装置の起動順序やドライブ番号、各周辺機器の接続方法やデータ転送に関するパラメータ、およびPOPなどがある。本実施形態では、このセキュアNVRAM133を、秘密鍵データ163を記憶するセキュアな記憶領域として使用する。
【0032】
POPが設定されているPCを起動する際、システムBIOS151はユーザに対してPOPの入力を要求し、入力されたパスワードを設定情報161にあらかじめ格納されているPOPと比較する。両者が等しければ起動の動作が続行され、等しくなければそこで起動のシーケンスが打ち切られる。また、HDPが設定されているPCを起動する際、システムBIOS151はユーザに対してHDPの入力を要求し、入力されたパスワードをIDEインターフェースを介してHDD123に送る。HDD123は、IDEインターフェースを介して送られたパスワードを、自らの中にあらかじめ格納していたHDPと比較する。両者が等しければHDD123に対するアクセスが可能になりOSを起動することができるが、等しくなければHDD123に対してアクセスすることができないのでOSを起動することができない。
【0033】
図3(C)に示すメイン・メモリ115には、PC100の通常の動作で使用されるユーザ領域173の他に、SMRAM(System Management RAM)171としての領域が確保されている。システムBIOS151がSMMへの移行を要求した場合、またはハードウェアによってSMI#がアサートされた場合、CPU111はSMMに入り、SMIハンドラ159が呼び出され、CPU111はシングル・タスクでの動作となる。SMMで動作するCPU111では、SMIハンドラ159がすべての割り込みを無効にすることにより、他のタスクに制御が渡ることがなくなる。さらに、SMRAM171はSMMで動作するCPU111のみが独占的に使用可能となる。従って、CPU111がSMMで動作している間、SMIハンドラ159の制御下で動作している単一のタスク以外のプログラムが動作することもなく、また当該プログラム以外のプロセスからSMRAM領域171にアクセスされることもない。
【0034】
図4は、本発明の実施の形態における鍵登録ツール21および暗号化データ31の生成について説明するブロック図である。図5は、図4のブロック図に基づいて管理者PC10において認証データ作成ツール51が実行する、鍵登録ツール21および暗号化データ31の生成の手順について書き表したフローチャートである。この手順では、管理者PC10上で、OS上で動作するソフトウェアである認証データ作成ツール51を動作させて、秘密鍵データ163とユーザ認証モジュール157で構成される鍵登録ツール21を作成する。また、認証データ作成ツール51は、暗号化データ31を作成してリムーバブル・デバイス41に格納する。他のユーザPCに対する鍵登録ツールおよび暗号化データも同様の手順で生成することができる。リムーバブル・デバイス41としては、USBフラッシュ・メモリ127を使用する。リムーバブル・デバイス41は、管理者PC10およびユーザPC11に対して有線のインターフェースを有するものだけでなく、無線のインターフェースを有するものであってもよい。なお、認証データ作成ツール51はOS上で動作するが、管理者PC10はセキュリティが十分に確保されているので、たとえばユーザが入力した内容がキー・ロガーやスパイウェアなどによって漏洩する可能性は、ここでは特に考えなくてもよいものとする。
【0035】
管理者PC10にUSBフラッシュ・メモリ127を接続して、認証データ作成ツール51を起動した後に(ブロック301)、管理者はユーザPC11で認証に使用するPOP201、HDP203、およびその他のパスワード205を管理者PC10に入力する(ブロック303)。その他のパスワード205は、ログオン・パスワード、およびインターネットへの接続、電子メールの利用、共有ドライブおよび共有プリンタなどの利用、特定のオンライン・サービスの利用などの場面ごとに必要なパスワードで構成される。その他のパスワード205として登録される情報には、USBフラッシュ・メモリ127を使用するユーザのユーザID、パスワードやユーザIDの入力を要求するソフトウェアの名称、ウェブ・ページのURL、またはサイトの名称などを含んでもよい。さらに管理者は、ユーザPC11がユーザを認証する時に入力するPIN207を入力する(ブロック305)。本実施の形態では、ユーザ認証に必要なパスワードはすべてUSBフラッシュ・メモリ127に格納するので、PIN207はユーザが長期間記憶できる程度の比較的簡単な数字列や文字列に設定することができる。
【0036】
認証データ作成ツール51は、USBフラッシュ・メモリ127のシリアル・ナンバ219を読み取る(ブロック307)。シリアル・ナンバ219は、メーカーや機種などを問わず、製造段階でほとんどすべてのリムーバブル・デバイスに固有に与えられている番号であり、異なるリムーバブル・デバイスが同じシリアル・ナンバを持つことはない。本実施の形態では、リムーバブル・デバイスが必ずしもシリアル・ナンバ219のような固有情報を保有していなくてもよい。そして、認証データ作成ツール51は非対称鍵生成部209によって、非対称鍵暗号(公開鍵暗号)方式で使用される一対の公開鍵211と秘密鍵213とを生成する(ブロック309)。非対称鍵暗号方式ではRSA暗号、楕円曲線暗号、El Gamal暗号などのアルゴリズムが採用される。そして、非対称鍵生成部209によって複数組の公開鍵211と秘密鍵213との対を連続して生成した場合、同一の鍵の対が複数個生成される確率は実質上ゼロに等しい。
【0037】
認証データ作成ツール51は、公開鍵211を利用してPOP201、HDP203、およびその他のパスワード205を暗号化して暗号化データ31を生成し(ブロック311)、USBフラッシュ・メモリ127上に格納する(ブロック313)。暗号化データ31には、POP201が暗号化された暗号化POP201’、HDP203が暗号化された暗号化HDP203’、その他のパスワード205が暗号化された暗号化その他のパスワード205’と、シリアル・ナンバ219が暗号化された暗号化シリアル・ナンバ219’とが含まれる。シリアル・ナンバ219が存在しないリムーバブル・デバイスを利用する場合は、認証データ作成ツール51はあらかじめ定められた情報を暗号化シリアル・ナンバ219’として設定して暗号化データ31に含める。そして認証データ作成ツール51は、暗号化データ31をUSBフラッシュ・メモリ127上に格納した後、暗号化に使用した公開鍵211を管理者PC10のどこにも残らないように消去することによって破棄する(ブロック315)。これによって、同一のPOP201、HDP203、その他のパスワード205、およびシリアル・ナンバ219から暗号化データを生成しようとしても、非対称鍵生成部209によって生成される公開鍵211は毎回異なるので、USBフラッシュ・メモリ127上に格納された暗号化データ31と同一の暗号化データを後から生成することはできない。そして、この暗号化データ31を復号化できるのは、公開鍵211と一対の非対称鍵として生成された秘密鍵213だけである。
【0038】
そして認証データ作成ツール51は、ユーザPC11のセキュアNVRAM133に秘密鍵データ163を格納するための鍵登録ツール21を生成する(ブロック317)。鍵登録ツール21は、秘密鍵データ163とユーザ認証モジュール157、およびパスワード・サービス・ルーチン158を含む。ユーザ認証モジュール157は、ユーザPC11のBIOSフラッシュROM131に記憶されて動作する本発明の実施の形態にかかるソフトウェアである。秘密鍵データ163は、秘密鍵213と、ユーザが入力したPIN207とをXOR演算して暗号化した情報である。秘密鍵データ163を秘密鍵213をPIN207で暗号化して生成する理由は、ユーザPC11で認証作業を行うときにPIN207の入力がない場合には、秘密鍵データ163を復号化できないようにするためである。したがって、認証データ作成ツール51はPIN207を鍵にした他の暗号方式で秘密鍵213を暗号化して秘密鍵データ163を生成するようにしてもよい。鍵登録ツール21が生成されたら、同一の秘密鍵データ163が複数回作成されないよう、管理者PC10から秘密鍵213を消去することができる(ブロック319)。鍵登録ツール21は、ユーザPC11に格納されてUSBフラッシュ・メモリ127とともにユーザ認証に使用される。したがって、鍵登録ツール21はUSBフラッシュ・メモリ127で認証するユーザPCに対応した数だけ作成することになるが、本実施の形態ではUSBフラッシュ・メモリ127を使用して認証するのはユーザPC11だけであるとして説明する。以上で、鍵登録ツール21および暗号化データ31の生成の処理は終了する(ブロック321)。
【0039】
図6は、ユーザPC11において鍵登録ツール21が実行する、秘密鍵データ163の登録の手順について書き表したフローチャートである。鍵登録ツール21は実行形式のコンピュータ・プログラムであり、フロッピー・ディスク(登録商標)やネットワーク、あるいはリムーバブル・デバイス(暗号化データ31が記録されたものと同一であってもなくてもよい)などによって、管理者PC10からユーザPC11にセキュアな環境下で移動し、ユーザPC11上で実行される(ブロック401)。なお、ユーザPC11には、あらかじめ真正なPOP201、HDP203、およびその他のパスワード205が所定の場所に格納されているものとする。鍵登録ツール21は、ユーザPC11のBIOSフラッシュROM131にユーザ認証モジュール157およびパスワード・サービス・ルーチン158をインストールし(ブロック403)、セキュアNVRAM133に秘密鍵データ163を格納する(ブロック405)。その後で、鍵登録ツール21は自らを実行不可能にして(ブロック407)、処理を終了する(ブロック409)。このことにより、鍵登録ツール21がユーザPC11以外の意図しない他のユーザPCにおいて実行されることによって同一の秘密鍵データが複数台のユーザPCに登録されることを防止している。または、鍵登録ツール21が生成されてから実行されるまでの時間を制限する方法や、実行の際にパスワード(PIN207と同一であっても異なっていてもよい)の入力を要求する方法などによって、正当なユーザ以外に鍵登録ツール21を実行できないようにする対策を含めてもよい。なお、ユーザPC11には、鍵登録ツール21とは別個に、パスワード管理ユーティリティ251(詳細は後述)がインストールされる。
【0040】
図7は、鍵登録ツール21を実行したユーザPC11におけるユーザ認証について説明するブロック図である。図8は、ユーザPC11においてユーザ認証モジュール157が実行する、ユーザ認証の手順について書き表したフローチャートである。図6に示した手順によってユーザ認証モジュール157がインストールされ、秘密鍵データ163が格納されたユーザPC11にUSBフラッシュ・メモリ127を接続して電源を入れると、システムBIOS151によるハードウェアの初期化が行われた後、ユーザ認証モジュール157が起動する(ブロック501)。このときにセキュアNVRAM133の読み書き禁止はBIOS151により解除される。ユーザ認証モジュール157は、USBフラッシュ・メモリ127自体からシリアル・ナンバ219を読み取り、さらにそこに格納された暗号化データ31を読み取る(ブロック503)。そして、ユーザは図4で管理者が入力したのと同じPIN207を入力する(ブロック505)。
【0041】
それからユーザ認証モジュール157は、セキュアNVRAM133に記憶された秘密鍵データ163を読み取り(ブロック507)、読み取った秘密鍵データ163とブロック505で入力されたPIN207とをXOR演算する(ブロック509)。前述のように、秘密鍵データ163は、秘密鍵213とPIN207とをXOR演算したデータである。秘密鍵データ163の作成時にユーザが入力したPIN207とブロック505でユーザが入力したPIN207とが一致していれば、秘密鍵データ163とPIN207とをXOR演算することで秘密鍵213を得ることができる。
【0042】
そしてユーザ認証モジュール157は、USBフラッシュ・メモリ127から読み取った暗号化データ31を、秘密鍵213によって復号化し(ブロック511)、復号化された暗号化データ31に含まれるシリアル・ナンバ219を、USBフラッシュ・メモリ127から読み取ったシリアル・ナンバ219と比較する(ブロック513)。秘密鍵213がPIN207によって復号化されていれば、暗号化データ31は正しく復号化されるので、復号化されたシリアル・ナンバ219は、USBフラッシュ・メモリ127から読み取ったシリアル・ナンバ219と等しくなる。つまり、ブロック513で、復号化されたシリアル・ナンバ219がUSBフラッシュ・メモリ127自体から読み取ったシリアル・ナンバ219と等しければ、暗号化データ31、秘密鍵データ163、シリアル・ナンバ219、そしてPIN207の全てが正当なものであると判断できるので、ユーザPC11は、USBフラッシュ・メモリ127を接続してPIN207を入力したユーザを正当なユーザであると認証する。
【0043】
ユーザが正しく認証されたら、ユーザ認証モジュール157はユーザPC11の起動に係る処理を続行する。ユーザ認証モジュール157は、暗号化データ31を復号化して獲得したPOP201をシステムBIOS151に入力し(ブロック515)、HDP203をHDD123に入力し(ブロック517)、その他のパスワード205をSMRAM171に記憶する(ブロック519)。POP201およびHDP203が正しいことがシステムBIOS151およびHDD123によって確認されれば、システムBIOS151はBIOSフラッシュROM131に格納されたPOST155を起動してハードウェアのテストを行い、セキュアNVRAM133を読み書き禁止にし、INT13Hハンドラ160を呼び出すことによりHDD123を起動してOSの起動を開始する(ブロック521)。以上でBIOS段階でのユーザ認証の処理を終了する(ブロック523)。ブロック513で、復号化されたシリアル・ナンバ219がUSBフラッシュ・メモリ127から読み取られたシリアル・ナンバ219と等しくなければ、ユーザ認証モジュール157はOSを起動しないでユーザ認証の処理を打ち切って終了する(ブロック525)。なお、パスワード管理ユーティリティ251は、ユーザ認証が正常に完了してOSが立ち上がった後にOS上で動作し、SMRAM171に記憶されたその他のパスワード205を受け取って認証作業を行う周知のソフトウェアであるが、詳細は後述する。
【0044】
図7および図8で示した認証処理で、たとえばユーザがPIN207の入力を間違えた場合は、ブロック509の処理で得られる鍵は、正しい秘密鍵213にならない。従って、ブロック511の処理で誤った鍵を利用して復号化されたシリアル・ナンバ219は、USBフラッシュ・メモリ127から読み取られたシリアル・ナンバ219と等しくならないので、ブロック513の処理でユーザは認証されない。従って、悪意のある第三者がUSBフラッシュ・メモリ127を盗んでも、PIN207を入手しない限り、暗号化データ31に含まれる情報を利用して認証することはできない。PIN207はユーザが記憶できる範囲の数字・文字列に設定することができるので、ユーザはPIN207の秘密を保持することは比較的容易である。ここで、一定の回数連続して正しく認証されなかった場合に暗号化データ31を無効にするようにして、試行錯誤法や辞書攻撃によってPIN207を割り出される可能性を低減させるようにしてもよい。
【0045】
また、USBフラッシュ・メモリ127に格納された暗号化データ31を、他のUSBフラッシュ・メモリにコピーしようと試みる場合、コピーできるのは格納されているデータだけでありシリアル・ナンバはコピーできない。したがって、コピーされたUSBフラッシュ・メモリから読み取られたシリアル・ナンバは、真正のUSBフラッシュ・メモリ127に附属するシリアル・ナンバ219と等しくならない。つまり、PIN207を盗んで正しい秘密鍵213を得て、コピーされたUSBフラッシュ・メモリからシリアル・ナンバ219を復号化したとしても、復号化されたシリアル・ナンバ219は、真正のUSBフラッシュ・メモリ127から読み取られたシリアル・ナンバと等しくならないので、ブロック513の処理でユーザは認証されない。従って、悪意のある第三者がUSBフラッシュ・メモリ127に記憶された暗号化データ31を他のUSBフラッシュ・メモリにコピーして、しかもPIN207を割り出すことができたとしても、正当なユーザになりすましてユーザPC11にアクセスすることはできない。
【0046】
図9は、BIOSの動作環境下でユーザの認証が正常に完了した後に、パスワード管理ユーティリティ251によって実行されるOSにログインするためのユーザ認証について書き表したフローチャートである。パスワード管理ユーティリティ251は、図6および図7で説明したユーザ認証が正常に完了してOSが立ち上がった後で、ユーザPC11のOS上で動作するソフトウェアである。図9(A)は、OSが立ち上がり、ログオン・パスワードの入力を受け付ける段階で実行される処理である。OSが立ち上がるとパスワード管理ユーティリティ251の実行が開始され(ブロック601)、パスワード管理ユーティリティ251はCPU111の動作をSMMに移行させる(ブロック603)。ここで、BIOS段階で動作するパスワード・サービス・ルーチン158がSMIハンドラ159を介して呼び出される。パスワード・サービス・ルーチン158は、SMRAM171に記憶されたその他のパスワード205を読み取り、読み取ったその他のパスワード205をパスワード管理ユーティリティ251に渡す。(ブロック605)。
【0047】
パスワード管理ユーティリティ251は、SMRAM171およびパスワード・サービス・ルーチン158を介して暗号化データ31から復号化されたその他のパスワード205を受け取るので、マルチ・タスクを実現するOS環境下での処理であってもキー・ロガーやスパイウェアなどによってその他のパスワード205が第三者に読み取られる可能性は低い。ブロック605でその他のパスワード205を読み込んだ後、パスワード・サービス・ルーチン158はSMRAM171に記憶されたその他のパスワード205を消去してもよい。
【0048】
パスワード管理ユーティリティ251はSMMを終了してOSのログオン・パスワードの入力を受け付ける状態に戻り(ブロック607)、その他のパスワード205の中にログオンに使用するユーザIDおよびログオン・パスワードが存在するか否かを判断する(ブロック609)。ユーザIDおよびログオン・パスワードが存在すれば、ユーザIDおよびログオン・パスワードをOSへのログオン処理を行う周知の認証モジュール(図示せず)に対して入力して終了する(ブロック611〜613)。その他のパスワード205の中にユーザIDおよびログオン・パスワードが存在しなければ、その時点で終了する(ブロック615)。ログオン・パスワードはOSの中に暗号化されて保持されている。たとえば米国マイクロソフト社のWindows(登録商標)シリーズにおけるGINA(Graphical Identification and Authentication)などのようなログオン処理をする認証モジュールを介して入力されたユーザIDおよびログオン・パスワードと、あらかじめユーザにより登録されてOSの中に暗号化されて保持されているユーザIDおよびログオン・パスワードとを比較することによってユーザ認証が行われる。なお、ログオン・パスワードの認証が終了した後も、パスワード管理ユーティリティ251は常駐プログラムとして、OSの動作が終了するまで動作を続ける。
【0049】
図9(B)は、ユーザがOSにログオンした後の状態で実行される処理である。パスワード管理ユーティリティ251は常駐しているので、ユーザは、たとえば右クリック・メニューや特定のホット・キーなどの操作によって、パスワード管理ユーティリティ251のパスワード入力の機能を呼び出すことができる。または、パスワード管理ユーティリティ251がOSの動作状態の中からユーザIDおよびパスワード(もしくはパスワードのみ)の入力を必要とする特定の状態を検出し、それに応じてパスワード入力の機能を呼び出すこともできる。パスワード管理ユーティリティ251が検出する対象としては、たとえば特定のソフトウェアを実行している状態、ネットワーク上の特定の共有資源にアクセスしている状態、ウェブ・ブラウザで特定のURLを開いている状態などが該当する。
【0050】
パスワード管理ユーティリティ251がパスワード入力の機能を呼び出すと(ブロック651)、パスワード管理ユーティリティ251はあらかじめユーザにより入力されOSの中に格納しておいたその他のパスワード205の中に、入力の対象に該当するユーザIDおよびパスワード(もしくはパスワードのみ)が存在するか否かを判断する(ブロック659)。該当するユーザIDおよびパスワード(もしくはパスワードのみ)が存在すれば、それらを該当するソフトウェアなどの入力対象に入力して終了する(ブロック661〜663)。その他のパスワード205の中に該当するユーザIDおよびパスワード(もしくはパスワードのみ)が存在しなければ、そのまま終了する(ブロック665)。
【0051】
図10は、本発明の実施形態における鍵登録ツールおよび暗号化データの生成についての他の例を説明するブロック図である。図11は、図10のブロック図に基づいて管理者PC10において認証データ作成ツール751が実行する、鍵登録ツール721および暗号化データ731の生成の手順について書き表したフローチャートである。
【0052】
図10に示す鍵登録ツール721および暗号化データ731の生成において、図4で説明した方法と異なる点は、第1に暗号化データ731はシリアル・ナンバ219を公開鍵211によって暗号化したデータは含まない点である。第2に、鍵登録ツール721に含まれる秘密鍵データ763は、秘密鍵213とシリアル・ナンバ219とをXOR演算して得たデータとユーザが入力したPIN207とをXOR演算したデータである点である。第3に、鍵登録ツール721に含まれるユーザ認証モジュール757が、後で述べる認証の処理に対応したものである点である。
【0053】
また、図11のフローチャートが図5で説明したフローチャートと異なる点は、第1はブロック811で作成されてブロック813でUSBフラッシュ・メモリ127に記録される暗号化データ731が、図10に示した通りの内容になる点である。第2は、ブロック817で作成される鍵登録ツール721に含まれる秘密鍵データ763が、図10に示した通りの内容になる点である。これらの相違点以外は、図10および図11に示す構成は図4および図5で説明した内容と共通するので、同一のものは参照番号も同一として説明を省略する。また、鍵登録ツール721のユーザPC11上での処理も、鍵登録ツール721に含まれる秘密鍵データ763とユーザ認証モジュール757が異なる点以外は図6で示した内容と同一であるので、説明を省略する。
【0054】
図12は、図10、図11に示した手順で作成された鍵登録ツール721を実行したユーザPC11が暗号化データ731を使用して行うユーザ認証について説明するブロック図である。図13はユーザ認証モジュール757が実行する、ユーザ認証の手順について書き表したフローチャートである。図12のブロック図が図7のブロック図と異なる点は、USBフラッシュ・メモリ127から読み出されたシリアル・ナンバ219が、秘密鍵データ763の復号化に使われる点である。より具体的には、秘密鍵データ763とユーザにより入力されたPIN207とをXOR演算したデータに対して、さらにシリアル・ナンバ219をXOR演算することによって秘密鍵213を得て暗号化データ731を復号化する点である。
【0055】
そして、図13のフローチャートが図8のフローチャートと異なる点は、第1に秘密鍵213を得る処理が前述のように秘密鍵データ763と入力されたPIN207とをXOR演算し、さらにそれにシリアル・ナンバ219をXOR演算する処理になる(ブロック909)点である。第2に、シリアル・ナンバを比較するブロック513の処理がなく、そのかわりに、暗号化データ731を復号化して得られたPOP201およびHDP203をシステムBIOS151およびHDD123に入力し、それによってOSが正しく起動できる状態になったか否かを判断するブロック918の処理がある点である。正しく復号化されたPOP201およびHDP203によってOSが起動できる状態になれば、秘密鍵213が正しかったことになり、ひいては暗号化データ731、秘密鍵データ763、シリアル・ナンバ219、そしてPIN207の全てが正当なものであったと判断できる。これら以外は、図11および図12に示す構成は図7および図8で説明した内容と共通するので、同一のものは参照番号も同一として説明を省略する。また、ユーザの認証が正常に完了した後でパスワード管理専用ユーティリティ251によって実行される処理についても、図9で示した内容と同一であるので、説明を省略する。
【0056】
ここまでで示した本発明の実施の形態には、いくつかの変型が考えられる。たとえば、セキュリティを強化するためのモジュールであるTPM(Trusted Platform Module)というセキュリティ・チップを搭載したノートPCで、TPM内に標準的に装備されている不揮発性メモリを前述の実施の形態におけるセキュアNVRAM133の代替として使用することができる。TPMの不揮発性メモリは読み書きを禁止することが可能であるので、本発明を実施するのに適している。これら以外でも、PCに内蔵され、読み書きを禁止することが可能な不揮発性メモリであれば、本発明における秘密鍵データを記憶するセキュアな記憶領域として利用できる。
【0057】
また、PCによっては、POPをセキュアNVRAM133の設定情報161内ではなく、I/Oブリッジ121のレジスタ内に記憶しているものもある。この場合も、前述の実施形態と全く同じようにして本発明を実施できる。本発明によれば、ユーザはPOP、HDPなどを記憶する必要がないので、桁数が大きくランダムな文字列や数字列を採用することができるため、ユーザPCに格納されたパスワードが第三者から攻撃されて解読される危険性が低下する。しかも、ユーザは負担にならない程度の桁数のPINだけを記憶してその秘密を確保しておけば、リムーバブル・デバイスが盗まれてもユーザPCが危険に晒されることはない。本発明によれば、リムーバブル・デバイスとして安価な記憶媒体を採用したとしても、格納する暗号化データのセキュリティが十分に確保されているので安全である。
【0058】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
【産業上の利用可能性】
【0059】
パスワードによる認証を行うコンピュータにおいて利用可能である。
【図面の簡単な説明】
【0060】
【図1】本発明の認証システムの全体構成を示す図である。
【図2】本発明の実施形態に係るPCのシステム構成を示す概略ブロック図である。
【図3】本発明の実施形態に係るPCの中で、BIOSフラッシュROM、セキュアNVRAM、メイン・メモリの内部構成を示す図である。
【図4】本発明の実施形態に係る鍵登録ツールおよび暗号化データの生成について示すブロック図である。
【図5】本発明の実施形態に係る鍵登録ツールおよび暗号化データの生成の手順について書き表したフローチャートである。
【図6】本発明の実施形態に係る秘密鍵データの登録の手順について書き表したフローチャートである。
【図7】本発明の実施形態に係るユーザの認証について示すブロック図である。
【図8】本発明の実施形態に係るユーザの認証の手順について書き表したフローチャートである。
【図9】本発明の実施形態に係るパスワード管理ユーティリティによって実行される手順について書き表したフローチャートである。
【図10】本発明の実施形態に係る鍵登録ツールおよび暗号化データの生成についての他の実施例を示すブロック図である。
【図11】図10に係る実施例において行われる、鍵登録ツールおよび暗号化データの生成の手順について書き表したフローチャートである。
【図12】図10に係る実施例において行われるユーザの認証について示すブロック図である。
【図13】図10にかかる実施例において行われるユーザ認証の手順について書き表したフローチャートである。
【符号の説明】
【0061】
10…管理者PC
11、12、13…ユーザPC
21、22、23、721…鍵登録ツール
31、32、33、731…暗号化データ
41、42、43…リムーバブル・デバイス
51、751…認証データ作成ツール
125…USBインターフェース
127…USBフラッシュ・メモリ
131…BIOSフラッシュROM
133…セキュアNVRAM
151…システムBIOS
157、757…ユーザ認証モジュール
163、763…秘密鍵データ
171…SMRAM
201…POP
203…HDP
205…その他のパスワード
207…PIN
209…非対称鍵生成部
211…公開鍵
213…秘密鍵
219…シリアル・ナンバ

【特許請求の範囲】
【請求項1】
コンピュータがリムーバブル・デバイスに認証情報を格納する方法であって、
前記コンピュータに前記リムーバブル・デバイスを接続するステップと、
外部からユーザ・コンピュータのパスワードを受け取るステップと、
一対の公開鍵と秘密鍵とを生成するステップと、
前記公開鍵を用いて前記パスワードを暗号化し前記認証情報を生成するステップと、
前記暗号化に使用した公開鍵を前記コンピュータから破棄するステップと、
前記認証情報を前記リムーバブル・デバイスに格納するステップと
を有する格納方法。
【請求項2】
前記パスワードが、パワー・オン・パスワード、ハードディスク・パスワード、ログオン・パスワード、ネットワーク・パスワードを含むグループの中から選択されたいずれか1つまたは複数のパスワードを含む請求項1記載の格納方法。
【請求項3】
前記リムーバブル・デバイスの固有情報を読み取るステップと、
前記公開鍵を用いて前記固有情報を暗号化するステップと
を有し、前記認証情報が前記暗号化された固有情報を含む請求項1記載の格納方法。
【請求項4】
外部からユーザの個人情報を受け取るステップと、
前記秘密鍵を前記個人情報を用いて暗号化するステップと
を有する請求項1記載の格納方法。
【請求項5】
前記個人情報を用いて暗号化するステップが前記秘密鍵と前記個人情報とをXOR演算するステップを含む請求項4記載の格納方法。
【請求項6】
前記リムーバブル・デバイスを使用してユーザ認証をするためにユーザ・コンピュータで実行されるユーザ認証モジュールを生成するステップを有する請求項4記載の格納方法。
【請求項7】
外部からユーザの個人情報を受け取るステップと、
前記秘密鍵を前記リムーバブル・デバイスの固有情報を用いて暗号化し、さらに該暗号化された前記秘密鍵を前記個人情報を用いて暗号化するステップと
を有する請求項1記載の格納方法。
【請求項8】
リムーバブル・デバイスに格納された認証情報を使用してユーザ・コンピュータがユーザ認証を行う方法であって、
パスワードと管理者コンピュータで生成された秘密鍵を前記ユーザ・コンピュータに格納するステップと、
前記秘密鍵と対で生成された公開鍵を用いて前記パスワードを暗号化しその後前記公開鍵を前記管理者コンピュータから破棄することによって生成した認証情報を格納しているリムーバブル・デバイスを前記ユーザ・コンピュータに接続するステップと、
前記リムーバブル・デバイスから前記認証情報を読み取るステップと、
前記秘密鍵を用いて前記認証情報を復号化し前記パスワードを獲得するステップと、
前記復号化されたパスワードを前記ユーザ・コンピュータに格納されたパスワードと比較するステップと
を有する認証方法。
【請求項9】
前記コンピュータに格納された秘密鍵が前記管理者コンピュータにおいてユーザの個人情報を用いて暗号化されており、前記パスワードを獲得するステップが前記暗号化された秘密鍵を外部から前記ユーザの個人情報を受け取って復号化するステップを含む請求項8記載の認証方法。
【請求項10】
前記認証情報が前記公開鍵を用いて暗号化された前記リムーバブル・デバイスの固有情報を含み、前記秘密鍵を用いて前記認証情報を復号化することにより獲得した前記固有情報と前記リムーバブル・デバイスから読み取った固有情報を比較するステップを有する請求項8記載の認証方法。
【請求項11】
管理者コンピュータとユーザ・コンピュータにおけるユーザの認証方法であって、
前記管理者コンピュータが外部からパスワードを受け取るステップと、
前記管理者コンピュータが一対の公開鍵と秘密鍵とを生成するステップと、
前記管理者コンピュータが前記公開鍵を用いて前記パスワードを暗号化し認証情報を生成するステップと、
前記暗号化に使用した公開鍵を前記管理者コンピュータから破棄するステップと、
前記認証情報を前記リムーバブル・デバイスに格納するステップと、
前記ユーザ・コンピュータに前記パスワードと前記秘密鍵とを格納するステップと、
前記ユーザ・コンピュータが前記認証情報を前記リムーバブル・デバイスから読み取るステップと、
前記ユーザ・コンピュータが前記秘密鍵を用いて前記認証情報を復号化し前記パスワードを獲得するステップと、
前記ユーザ・コンピュータが前記復号化されたパスワードを前記ユーザ・コンピュータに格納されたパスワードと比較するステップと
を有する認証方法。
【請求項12】
前記管理者コンピュータが外部からユーザの個人情報を受け取るステップと、
前記管理者コンピュータが前記個人情報を用いて前記秘密鍵を暗号化するステップと、
前記ユーザ・コンピュータが前記暗号化された秘密鍵を格納するステップとを有し、前記パスワードを獲得するステップが前記暗号化された秘密鍵を外部から前記ユーザの個人情報を受け取って復号化するステップを含む請求項11記載の認証方法。
【請求項13】
リムーバブル・デバイスへ認証情報を格納することが可能なコンピュータであって、
プロセッサと、
前記リムーバブル・デバイスの接続が可能なインターフェースと、
前記コンピュータに
外部からユーザ・コンピュータのパスワードを受け取る機能と、
一対の公開鍵と秘密鍵とを生成する機能と、
前記公開鍵を用いて前記パスワードを暗号化し前記認証情報を生成する機能と、
前記暗号化に使用した公開鍵を前記コンピュータから破棄する機能と、
前記認証情報を前記リムーバブル・デバイスに格納する機能と
を実現させるコンピュータ・プログラムを格納した記憶装置と
を有するコンピュータ。
【請求項14】
前記コンピュータ・プログラムが前記コンピュータに、
前記リムーバブル・デバイスの固有情報を読み取る機能と、
前記公開鍵を用いて前記固有情報を暗号化する機能と、
前記暗号化された固有情報を前記認証情報に含める機能と
を実現させる請求項13記載のコンピュータ。
【請求項15】
リムーバブル・デバイスを利用してユーザ認証をするコンピュータであって、
プロセッサと、
パスワードと秘密鍵とを格納する記憶部と、
前記秘密鍵と対で生成された公開鍵を用いて前記パスワードを暗号化しその後前記公開鍵を管理者コンピュータから破棄することによって生成した認証情報を格納したリムーバブル・デバイスの接続が可能なインターフェースと、
前記リムーバブル・デバイスから前記認証情報を読み取る読み取り部と、
前記読み取った認証情報を前記秘密鍵で復号化し前記記憶部に格納されたパスワードと比較する認証部と
を有するコンピュータ。
【請求項16】
前記認証部がBIOSとSMRAMを含む請求項15記載のコンピュータ。
【請求項17】
前記記憶部がリード/ライト保護が可能なメモリで構成されている請求項15記載のコンピュータ。
【請求項18】
管理者コンピュータにより認証情報が格納されたリムーバブル・デバイスを製造する方法であって、
管理者コンピュータに前記リムーバブル・デバイスを接続するステップと、
外部からパスワードを受け取るステップと、
一対の公開鍵と秘密鍵とを生成するステップと、
前記公開鍵を用いて前記パスワードを暗号化し前記認証情報を生成するステップと、
前記暗号化に使用した公開鍵を前記管理者コンピュータから破棄するステップと、
前記認証情報を前記リムーバブル・デバイスに格納するステップと
を有する製造方法。
【請求項19】
コンピュータに、
外部からユーザ・コンピュータのパスワードを受け取る機能と、
一対の公開鍵と秘密鍵とを生成する機能と、
前記公開鍵を用いて前記パスワードを暗号化し前記認証情報を生成する機能と、
前記暗号化に使用した公開鍵を前記コンピュータから破棄する機能と、
前記認証情報を前記リムーバブル・デバイスに格納する機能と
を実現させるコンピュータ・プログラム。
【請求項20】
ユーザ・コンピュータに、
パスワードと管理者コンピュータで生成された秘密鍵とを格納する機能と、
前記秘密鍵と対で生成された公開鍵を用いて前記パスワードを暗号化しその後前記公開鍵を前記管理者コンピュータから破棄することによって生成した認証情報をリムーバブル・デバイスから読み取る機能と、
前記秘密鍵を用いて前記認証情報を復号化し前記パスワードを獲得する機能と、
前記復号化されたパスワードを前記ユーザ・コンピュータに格納されたパスワードと比較する機能と
を実現させるコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−160325(P2008−160325A)
【公開日】平成20年7月10日(2008.7.10)
【国際特許分類】
【出願番号】特願2006−345007(P2006−345007)
【出願日】平成18年12月21日(2006.12.21)
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【Fターム(参考)】