(57)【要約】      （修正有）【課題】不揮発性メモリであるＭＲＡＭにおいて、秘密を保持すべきデータの不正読み出しを防止する。【解決手段】秘密保持のために暗号化されたデータファイルは、正規のユーザによってアクセスされるとＭＲＡＭ内のワーク領域に復号化して展開されるので、正規のユーザはデータを閲覧または編集することができる。そして、作業終了時には正規のユーザがコンピュータの使用を終了するときに起動されるログオフルーチンにおいて、このワーク領域を他のデータで上書きする。【選択図】図４
2006323552.tif 000002
【特許請求の範囲】
【請求項１】
暗号化データを格納したデータファイルを記憶する不揮発性のファイル領域と、不揮発性のワーク領域とを有するコンピュータの処理装置に実行させるプログラムであって、
ユーザによって前記データファイルが指定されると、前記データファイルに格納された暗号化データを復号化し、その復号化の結果である復号化データを前記ワーク領域に記憶させる過程と、
ユーザからコンピュータの使用を終了させる旨のログオフ指示を受信すると、権限を有しない者が前記復号化データを閲覧できないように、前記ワーク領域内の前記復号化データを格納するアドレスに対して他のデータを上書きする上書き過程と
を有することを特徴とするプログラム。
【請求項２】
前記上書き過程は、前記復号化データを格納するアドレスに対して、該復号化データを暗号化して成るデータを上書きするものであることを特徴とする請求項１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリを主記憶装置とするコンピュータに用いて好適なプログラムに関する。
【背景技術】
【０００２】
従来より、例えば特許文献１に開示されているように、不揮発性メモリに記憶されるデータを暗号化し、第三者が不正にデータにアクセスすることを防止する技術が知られている。特許文献１は主としてコンピュータのシリアルインタフェースに接続される外付けの不揮発性メモリに関するものであるが、この技術はコンピュータ内部のハードディスク、その他不揮発性メモリにも適用できるものである。コンピュータ内に記録するデータを暗号化しておくと、コンピュータが盗難されたときや、不正使用されたときに、コンピュータ内のハードディスク等に記憶されたデータの漏洩を防ぐことが可能である。
【０００３】
【特許文献１】特表２００５−５０５０２６（ＷＯ２００３／００３２８３）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、今日、コンピュータの主記憶装置として使用されているメモリは、揮発性メモリである半導体ＲＡＭが主流であるが、不揮発性メモリであるＭＲＡＭ（Magnetoresistive Random Access Memory）の実用化が期待されている。ＭＲＡＭは、今日実用化されているフラッシュメモリ等とは異なり、アクセス速度が速いために、特に主記憶装置としての実用化が期待されている。ＭＲＡＭが不揮発性メモリであることは、コンピュータの使いやすさを向上させる点で利点であるとされているが、情報セキュリティの面に鑑みれば、不揮発性であることは欠点にもなりうる。すなわち、秘密データにアクセスする正当権限を有しない者であっても、ＭＲＡＭをコンピュータのソケットから抜き出して内容を読み出すと、秘密情報が漏洩する危険がある。また、正当権限を有する者がファイルの編集などを行っている際に、従来技術で述べたような方法でデータを暗号化／復号化すると、コンピュータの処理速度が遅くなるという問題が生じる。
この発明は上述した事情に鑑みてなされたものであり、主記憶装置として不揮発性メモリを用いたときに情報のセキュリティを確保できるプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するため本発明にあっては、下記構成を具備することを特徴とする。なお、括弧内は例示である。
請求項１記載のプログラムにあっては、暗号化データを格納したデータファイルを記憶する不揮発性のファイル領域（１４）と、不揮発性のワーク領域（１６）とを有するコンピュータの処理装置（６）に実行させるプログラムであって、ユーザによって前記データファイルが指定されると、前記データファイルに格納された暗号化データを復号化し、その復号化の結果である復号化データを前記ワーク領域（１６）に記憶させる過程（ＳＰ２）と、ユーザからコンピュータの使用を終了させる旨のログオフ指示を受信すると、権限を有しない者が前記復号化データを閲覧できないように、前記ワーク領域（１６）内の前記復号化データを格納するアドレスに対して他のデータを上書きする上書き過程（ＳＰ６、ＳＰ８、ＳＰ１２）とを有することを特徴とする。
さらに、請求項２記載の構成にあっては、請求項１記載のプログラムにおいて、前記上書き過程は、前記復号化データを格納するアドレスに対して、該復号化データを暗号化して成るデータを上書きするものであることを特徴とする。
【発明の効果】
【０００６】
このように、本発明によれば、暗号化データを復号化してワーク領域に記憶させ、しかる後にユーザからログオフ指示を受信すると、権限を有しない者が前記復号化データを閲覧できないように、復号化データを格納するアドレスに対して他のデータを上書きするから、不正に復号化データを得ようとする者がワーク領域の記憶素子を抜き出したとしても、情報のセキュリティを確保することが可能である。
【発明を実施するための最良の形態】
【０００７】
1．実施例の構成
次に、本発明の一実施例のコンピュータの構成を図１を参照し説明する。
図において、２は入力装置であり、文字入力用のキーボードおよびマウス等から構成されている。４はディスプレイであり、ユーザに対して各種情報を表示する。６はＣＰＵであり、後述するプログラムに基づいて、バス８を介して他の構成要素を制御する。１０は不揮発性のＲＡＭ（例えばＭＲＡＭ）であり、イニシャルプログラムローダ領域１２と、ファイル領域１４と、ワーク領域１６とから構成されている。ここで、イニシャルプログラムローダ領域１２には、コンピュータを起動するためのイニシャルプログラムローダ等が記憶されている。また、ファイル領域１４には、コンピュータのオペレーティングシステム、各種アプリケーションプログラム、データ等のファイルが記憶されている。
【０００８】
また、ワーク領域１６は、これらファイルの編集操作を行う際にデータを一時的に記憶するために用いられ、ワーク領域１６内にはコンピュータを使用しているｎ人のユーザ毎に、複数のユーザ領域１６−１〜１６−ｎが確保される。２０はインタフェース部であり、外部機器との間でデータ通信を行うものである。ファイル領域１４に格納されているファイルは、必要に応じて暗号化されている。
【０００９】
2．実施例の動作
次に、本実施例の動作を説明する。
まず、ユーザがコンピュータ上で各種アプリケーションプログラムを用いてデータファイルを編集する場合には、マウスおよびキーボードによるイベントが発生する。これらのイベントが発生すると、図２に示すイベント処理ルーチンが起動される。図２において処理がステップＳＰ２に進むと、発生したマウスまたはキーボードイベントに対応する処理が実行される。ここで、適当なアプリケーションプログラムを用いてファイル領域１４内の暗号化されたファイルを開くようにユーザが操作を行うと、オペレーティングシステムにおいては、当該ユーザがこのファイルを閲覧または編集する権限を有しているか否かが判定される。そして、権限を有している旨が判定されると、対応するユーザ領域１６−ｋ（但しｋは１〜ｎのうち何れか）内にファイル対応領域が確保され、ここに当該ファイルの内容が復号化されて格納される。この格納されたデータを復号化データという。
【００１０】
ファイル対応領域に復号化データが展開されると、ユーザはその内容を閲覧することができる。さらに、ユーザが編集権限を有していた場合においては、復号化データを必要に応じて編集することができる。復号化データが編集された場合にユーザが所定の保存操作を行うと、編集された復号化データが再び暗号化され、ファイル領域１４に保存される。次に、ファイルの閲覧または編集が終了したとき、ユーザが所定の「クローズ」操作を行うと、ユーザ領域１６−ｋ内においてファイル対応領域が解放される。ここで「解放される」とは、当該ファイル対応領域の使用が終了したことをオペレーティングシステムに通知し、当該領域を他の目的のために使うことができるようにすることをいう。但し、当該ファイル対応領域として割り当てられていたＲＡＭ１０内の各アドレスには、各アドレスが他の目的に使用されるときに初めて他のデータが書き込まれるのであり、ファイル対応領域が単に解放されただけでは、復号化データの内容はそのままＲＡＭ１０内に残存することになる。
【００１１】
次に、ユーザが所定の複数のキーを同時に押下した旨が検出されると、図３に示すログオフウィンドウ３０がディスプレイ４に表示される。ログオフウィンドウ３０の内部において３２はドロップダウンリストボックスであり、ユーザはこのリストボックス３２を操作して、ログオフの態様として以下の態様の中から任意のものを選択することができる。
（１）シャットダウン（クリア）
（２）シャットダウン（サスペンド）
（３）ユーザのログオフ
【００１２】
３４はＯＫボタンであり、選択されたログオフの態様を確定させるためのものである。３６はキャンセルボタンであり、ログオフをキャンセルするためのものである。リストボックス３２においてログオフの態様が選択された後にＯＫボタン３４がマウスでクリックされると、図４に示すログオフルーチンが起動される。図において処理がステップＳＰ４に進むと、ログオフの態様に応じて処理が分岐される。まず、ログオフの態様として「（１）シャットダウン（クリア）」が選択された場合は処理はステップＳＰ６に進み、ワーク領域１６内の全データに対して、“０”がオーバーライトされる。
【００１３】
また、ログオフの態様として「（２）シャットダウン（サスペンド）」が選択された場合は、処理はステップＳＰ８に進み、ワーク領域に記憶されている全データが暗号化され、暗号化されたデータによって、ワーク領域内の元々のデータが上書きされる。ステップＳＰ６またはＳＰ８の処理が終了すると処理はステップＳＰ１０に進み、コンピュータの電源がオフ状態にされる。また、ログオフの態様として「（３）ユーザのログオフ」が選択された場合は、処理はステップＳＰ１２に進み、ワーク領域１６内の当該ユーザのユーザ領域１６−ｋに対して、“０”がオーバーライトされる。但し、この「（３）ユーザのログオフ」が使用される場合は複数のユーザがコンピュータを使用していることを想定しているため、ワーク領域１６のうちユーザ領域１６−ｋ以外の部分については上書きは行われず、コンピュータの電源もオン状態のままにされる。
【００１４】
次に、コンピュータの電源が投入された場合の処理を説明する。コンピュータの電源が投入されると、ディスプレイ４に図５に示すログインウィンドウ４０が表示される。ログインウィンドウ４０の内部において４２はユーザ名入力ボックスであり、４４はパスワード入力ボックス、４６はＯＫボタン、４８はキャンセルボタンである。ユーザがユーザ名入力ボックス４２にユーザ名を入力し、パスワード入力ボックス４４にパスワードを入力した後にＯＫボタン４６をマウスでクリックすると、図６に示すログインルーチンが起動される。図において処理がステップＳＰ２２に進むと、先に入力されたユーザ名およびパスワードが正当なものであるか否かが認証される。
【００１５】
ここで、ユーザ名またはパスワードが正当なものでなければ処理はステップＳＰ３０に進み、所定のエラー表示が行われ、本ルーチンの処理が終了する。一方、ユーザ名またはパスワードが正当なものであれば処理はステップＳＰ２４に進む。ここでは、ユーザが前回にログオフを行った際、その態様として「(２)シャットダウン（サスペンド）」が選択されたか否かが判定される。ここで「ＹＥＳ」と判定されると、処理はステップＳＰ２６に進み、ワーク領域１６に記憶されている暗号化されたデータが復号化され、この復号化された結果であるデータがワーク領域１６内の暗号化されたデータに上書きされる。一方、ステップＳＰ２４において「ＮＯ」と判定されると、処理はステップＳＰ２８に進み、ログインしたユーザに対して新たなユーザ領域１６−ｋがワーク領域１６内に確保される。
【００１６】
以上のように、本実施例によれば、ユーザがログオフする際、ユーザ領域１６−ｋに残存するデータが“０”によって上書きされ、あるいはユーザ領域１６−ｋに残存するデータを暗号化したデータによって上書きされる。これにより、正当な権限を有しない者がＲＡＭ１０をソケットから抜き出して内容を読み出したとしても秘密情報を読出すことは不可能であり、秘密情報が漏洩することを防止することが可能である。
【００１７】
3．変形例
本発明は上述した実施例に限定されるものではなく、例えば以下のように種々の変形が可能である。
(1)上記実施例においては、コンピュータ上で動作するプログラムによって各種処理を行ったが、上述したプログラムのみをＣＤ−ＲＯＭ、フレキシブルディスク等の記録媒体に格納して頒布し、あるいは伝送路を通じて頒布することもできる。
【００１８】
(2)上記実施例においては、ＲＡＭ１０内にイニシャルプログラムローダ領域１２、ファイル領域１４およびワーク領域１６を確保したが、イニシャルプログラムローダ領域１２およびファイル領域１４はＲＡＭ１０以外の記録媒体内に確保してもよい。例えば、図１の構成に対してＲＯＭとハードディスクとを追加し、イニシャルプログラムローダ領域１２はＲＯＭ内に設けるとともに、ファイル領域１４はハードディスク内に確保するようにしてもよい。ハードディスクはＲＡＭ１０よりもアクセス速度が遅くなるが、１ビットあたりの単価が低くすることができる。
【００１９】
(3)上記実施例のステップＳＰ６およびＳＰ１２においては、ワーク領域１６またはユーザ領域１６−ｋを“０”で上書きしたが、上書きするデータは“０”に限られるものではなく、所定の繰り返しパターンやランダムな数値であってもよい。要するに、ワーク領域１６またはユーザ領域１６−ｋに記憶されていたデータを読み出し不可能にするような値であれば、上書きする値はどのようなものであってもよい。
【００２０】
(4)上記実施例においては、ユーザから入力されるユーザ名およびパスワードによってユーザの認証を行ったが、例えば指紋などの生物測定学的情報を用いてユーザを認証してもよい。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施例のコンピュータのブロック図である。
【図２】イベント処理ルーチンのフローチャートである。
【図３】ログオフウィンドウ３０を示す図である。
【図４】ログオフルーチンのフローチャートである。
【図５】ログインウィンドウ４０を示す図である。
【図６】ログインルーチンのフローチャートである。
【符号の説明】
【００２２】
２：入力装置、４：ディスプレイ、６：ＣＰＵ、８：バス、１０：ＲＡＭ、１２：イニシャルプログラムローダ領域、１４：ファイル領域、１６：ワーク領域、１６−１〜１６−ｎ：ユーザ領域、２０：インタフェース部、３０：ログオフウィンドウ、３２：リストボックス、３２：ドロップダウンリストボックス、３４：ＯＫボタン、３６：キャンセルボタン、４０：ログインウィンドウ、４２：ユーザ名入力ボックス、４４：パスワード入力ボックス、４６：ＯＫボタン、４８：キャンセルボタン。
【図１】
2006323552.tif 000003
【図２】
2006323552.tif 000004
【図３】
2006323552.tif 000005
【図４】
2006323552.tif 000006
【図５】
2006323552.tif 000007
【図６】
2006323552.tif 000008