(57)【要約】【課題】端末内のデータの暗号化・復号化のための暗号鍵の合理的な管理を実現する。【解決手段】携帯型端末１４内で自動生成したデータの暗号鍵を、ユーザ入力の外部鍵Ａによって暗号化したものと、鍵管理サーバ１１が管理する外部鍵Ｂの公開鍵によってユーザ識別情報とあわせて暗号化したものと、それぞれを端末内に保存する。暗号鍵を取り出す方法は、オフラインもしくは外部鍵Ａに変更のない場合には、ユーザ入力の外部鍵Ａによって暗号鍵を復号化する方法をとり、オンラインかつ外部鍵Ａに変更のあった場合には、鍵管理サーバに外部鍵Ｂの公開鍵で暗号化した暗号鍵の復号化を依頼して暗号鍵を受け取るようにする。【選択図】  図３
2006333164.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続される端末とサーバを備え、前記端末は、暗号鍵を使用してデータを暗号化して保存する情報処理装置において、
前記端末は、ユーザから与えられたパスワードなどのユーザしか知りえない情報（外部鍵Ａ）を使用して暗号鍵を暗号化した外部鍵Ａ暗号済鍵を保存する第１の手段Ａと、前記サーバによって与えられる外部鍵Ｂを使用してユーザ識別情報と暗号鍵を暗号化した外部鍵Ｂ暗号済鍵を保存する第２の手段Ｂと、ユーザが外部鍵Ａを失った場合には、端末から外部鍵Ｂ暗号済鍵の復号化を前記サーバに依頼し、前記サーバから返される暗号鍵を取得する第３の手段を備え、
前記サーバは、端末から外部鍵Ｂ暗号済鍵に基づいて復号化したユーザ識別情報によってユーザの正当性を確認したうえで端末に暗号鍵を返す手段を備えたことを特徴とする情報処理装置。
【請求項２】
ネットワークを介してサーバに接続可能な情報処理端末において、
データの暗号化に使用する鍵（暗号鍵）を保存するために、ユーザから与えられたパスワードなどのユーザしか知りえない情報（外部鍵Ａ）を使用して暗号鍵を暗号化して外部鍵Ａ暗号済鍵として保存する第１の手段Ａと、ネットワーク接続状態において前記サーバから与えられる外部鍵Ｂを使用してユーザ識別情報と暗号鍵を暗号化した外部鍵Ｂ暗号済鍵を保存する第２の手段Ｂと、ユーザが外部鍵Ａを失ったときに、端末内に保持している外部鍵Ｂ暗号済鍵の復号化をネットワークを介して前記サーバに依頼して前記サーバから復号化した暗号鍵を取得する第３の手段を備えたことを特徴とする情報処理装置。
【請求項３】
請求項１において、外部鍵Ｂに非対称鍵を用いる場合には、外部鍵Ｂの公開鍵を事前にサーバから端末に配布することでユーザ識別情報と暗号鍵を暗号化する処理は端末内で行い、外部鍵Ｂの秘密鍵は前記サーバ内に保持して端末からの復号化の依頼はネットワーク上の秘匿化された通信経路を経由して行うことを特徴とする情報処理装置。
【請求項４】
請求項１において、外部鍵Ｂに対称鍵を用いる場合には、サーバに外部鍵Ｂを保持し、ユーザ識別情報と暗号鍵を暗号化する処理および外部鍵Ｂ暗号済鍵の復号化は、ネットワーク上の秘匿化された通信経路を経由して、端末から前記サーバに依頼して行うことを特徴とする情報処理装置。
【請求項５】
請求項１において、外部鍵Ｂにサーバに代えてシステム管理者によって示されたパスワードなどのシステム管理者しか知りえない情報を外部鍵Ｂとして用いてのデータの暗号化・復号化は、システム管理者が端末に外部鍵Ｂを入力することによって行うようにしたことを特徴とする情報処理装置。
【請求項６】
請求項１において、前記暗号鍵およびデータの暗号アルゴリズムは、複数の端末によって異なるものを使用可能な構成としたことを特徴とする情報処理装置。
【請求項７】
請求項１または２において、請求項３に記載した非対称鍵を使用する暗号化方式を使用する場合に、前記端末は、内部に外部鍵Ｂの公開鍵を保持し暗号鍵の暗号化処理を全て端末内で行うことによって、オフラインにおいても暗号鍵を変更可能にしたことを特徴とする情報処理装置。
【請求項８】
請求項１において、外部鍵Ａ暗号済鍵、外部鍵Ｂ暗号済鍵、暗号済データを媒体もしくはデータ単位で管理し、媒体もしくはデータによって異なる暗号鍵およびデータ暗号アルゴリズムを使用可能にしたことを特徴とする情報処理装置。
【請求項９】
請求項１〜８のいずれかの項において、媒体もしくはデータによって異なる暗号鍵およびデータ暗号アルゴリズムを使用した場合においても、暗号鍵の暗号化処理を共通にすることによって、ユーザによって与えられた一度の前記外部鍵で、異なる暗号鍵およびデータ暗号アルゴリズムによって暗号化された媒体もしくはデータの復号化を行えるようにしたことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してサーバに接続したオンライン状態またはネットワークから切り離したオフライン状態で使用可能な端末を備えた情報処理装置に関する。
【背景技術】
【０００２】
ネットワークが発達し、組織内ではほとんどのＰＣ（パーソナルコンピュータ）端末がネットワークに接続されているが、組織外に持ち出すノート型ＰＣなどの携帯型端末では、定常的にネットワーク接続を確保することが難しいことから、オフラインで使用するために端末内にデータを保存する必要がある。しかし、ノートＰＣなどの持ち運び可能な携帯型端末は盗難の危険があることから、外部へのデータ流出を防ぐために、携帯型端末内のデータ（特に機密情報）を暗号化する必要がある。
【０００３】
このような持ち運び可能な携帯型端末のデータの暗号化に関して、特開平１１−２７２５６１号公報に記載された情報処理装置は、パスワードによって暗号鍵を暗号化し、データのブロック毎に暗号鍵を変更することによって、媒体内のデータの秘匿化を確保するように構成している。
【０００４】
また、特開平１０−１０５４７０号公報に記載された情報処理装置においては、サーバからクライアントに送られるデータに対して認証情報を加えた暗号化を施し、クライアントでの復号化には認証を必須とする構成とすることによって秘匿化を図るようにしている。
【０００５】
【特許文献１】特開平１１−２７２５６１号公報
【特許文献２】特開平１０−１０５４７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載された方法では、端末・媒体毎に個別にパスワードを設定する必要があり、パスワードをユーザ単位で管理することが困難であり、パスワードの変更やパスワード忘れに対処することができないという問題がある。また、特許文献２に記載された方法では、クライアントではデータを暗号化することができないことから、オフライン使用では実現することができないという問題があった。
【０００７】
本発明の目的は、オンラインおよびオフラインの何れの状態での使用においても端末においてデータを暗号化して保持し、復号化して使用することができる便利な情報処理装置を提供することにある。
具体的には、端末においてユーザから与えられるパスワードなどを鍵としてデータを暗号化することができ、更に、異なる端末を使用する場合においても同一のパスワードを使用することが可能であり、更に、パスワードが他の端末によって変更された場合やユーザがパスワードを紛失（失念）した場合においてもデータの復号化が可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明は、端末内で自動生成したデータの暗号鍵を、パスワードなどのユーザによって与えられる外部鍵Ａによって暗号化した外部鍵Ａ暗号済鍵と、鍵管理サーバが管理する外部鍵Ｂによってユーザ識別情報とあわせて暗号化した外部鍵Ｂ暗号済鍵を、共に端末内に保存する方式であり、暗号鍵を取り出す手段として、外部鍵Ａによって外部鍵Ａ暗号済鍵を復号化する手段Ａと、管理サーバに外部鍵Ｂ暗号済鍵の復号化を依頼して暗号鍵を受け取る手段Ｂを備える。オフラインもしくは外部鍵Ａに変更のない場合には手段Ａを使用し、オンラインかつ外部鍵Ａに変更のあった場合には手段Ｂを使用することによって、外部鍵Ａについて変更・再発行などの柔軟な運用を可能にするものである。
【０００９】
具体的な特徴は次のとおりである。
第１には、ネットワーク接続される端末とサーバを備え、前記端末は、暗号鍵を使用してデータを暗号化して保存する情報処理装置において、
前記端末は、ユーザから与えられたパスワードなどのユーザしか知りえない情報（外部鍵Ａ）を使用して暗号鍵を暗号化した外部鍵Ａ暗号済鍵を保存する第１の手段Ａと、サーバによって与えられる外部鍵Ｂを使用してユーザ識別情報と暗号鍵を暗号化した外部鍵Ｂ暗号済鍵を保存する第２の手段Ｂと、ユーザが外部鍵Ａを失った場合には、端末から外部鍵Ｂ暗号済鍵の復号化をサーバに依頼し、サーバから返される暗号鍵を取得する第３の手段を備え、
前記サーバは、端末から外部鍵Ｂ暗号済鍵に基づいて復号化したユーザ識別情報によってユーザの正当性を確認したうえで端末に暗号鍵を返す手段を備えたことを特徴とする。
第２には、ネットワークを介してサーバに接続可能な情報処理端末において、
データの暗号化に使用する鍵（暗号鍵）を保存するために、ユーザから与えられたパスワードなどのユーザしか知りえない情報（外部鍵Ａ）を使用して暗号鍵を暗号化して外部鍵Ａ暗号済鍵として保存する第１の手段Ａと、ネットワーク接続状態においてサーバから与えられる外部鍵Ｂを使用してユーザ識別情報と暗号鍵を暗号化した外部鍵Ｂ暗号済鍵を保存する第２の手段Ｂと、ユーザが外部鍵Ａを失ったときに、端末内に保持している外部鍵Ｂ暗号済鍵の復号化をネットワークを介してサーバに依頼して前記サーバから復号化した暗号鍵を取得する第３の手段を備えたことを特徴とする。
第３には、前記第１の特徴において、外部鍵Ｂに非対称鍵を用いる場合には、外部鍵Ｂの公開鍵を事前にサーバから端末に配布することでユーザ識別情報と暗号鍵を暗号化する処理は端末内で行い、外部鍵Ｂの秘密鍵はサーバ内に保持して端末からの復号化の依頼はネットワーク上の秘匿化された通信経路を経由して行うことを特徴とする。
第４には、前記第１の特徴において、外部鍵Ｂに対称鍵を用いる場合には、サーバに外部鍵Ｂを保持し、ユーザ識別情報と暗号鍵を暗号化する処理および外部鍵Ｂ暗号済鍵の復号化は、ネットワーク上の秘匿化された通信経路を経由して、端末からサーバに依頼して行うことを特徴とする。
第５には、前記第１の特徴において、外部鍵Ｂにサーバに代えてシステム管理者によって示されたパスワードなどのシステム管理者しか知りえない情報を外部鍵Ｂとして用いてのデータの暗号化・復号化は、トステム管理者が端末に外部鍵Ｂを入力することによって行うようにしたことを特徴とする。
第６には、前記第１の特徴において、前記暗号鍵およびデータの暗号アルゴリズムは、複数の端末によって異なるものを使用可能な構成としたことを特徴とする。
第７には、前記第１または２の特徴において、前記第３の特徴における非対称鍵を使用する暗号化方式を使用する場合に、前記端末は、内部に外部鍵Ｂの公開鍵を保持し暗号鍵の暗号化処理を全て端末内で行うことによって、オフラインにおいても暗号鍵を変更可能にしたことを特徴とする。
第８には、前記第１の特徴において、外部鍵Ａ暗号済鍵、外部鍵Ｂ暗号済鍵、暗号済データを媒体もしくはデータ単位で管理し、媒体もしくはデータによって異なる暗号鍵およびデータ暗号アルゴリズムを使用可能にしたことを特徴とする。
第９には、前記第１〜９のいずれかにおいて、媒体もしくはデータによって異なる暗号鍵およびデータ暗号アルゴリズムを使用した場合においても、暗号鍵の暗号化処理を共通にすることによって、ユーザによって与えられた一度の前記外部鍵で、異なる暗号鍵およびデータ暗号アルゴリズムによって暗号化された媒体もしくはデータの復号化を行えるようにしたことを特徴とする。
【発明の効果】
【００１０】
以上述べたように、本発明によれば、端末ではパスワードなどのユーザから与えられる外部鍵Ａを使用した暗号化・復号化を行うことができるために、オンラインおよびオフラインの何れの状態においてもデータの暗号化・復号化が可能である。
また、外部鍵Ａに変更があった場合には外部鍵Ｂ暗号済鍵の復号化をサーバに依頼して行うことができるために、外部鍵Ａが他の端末によって変更される場合やユーザがパスワードを紛失（失念）して管理者によって再発行される場合にもデータの復号化が可能である。
したがって、異なる端末を使用する場合においても外部鍵Ａはユーザ毎に同一のものを使用することが可能であるので、暗号化の外部鍵Ａにパスワードなどのユーザ認証情報の鍵を使用することが可能となる。
更に、外部鍵Ｂに非対称鍵を使用した場合には、端末側では暗号鍵の生成を行う際にサーバへの接続が不要であり、鍵管理サーバ側では外部鍵Ｂの秘密鍵を鍵管理サーバから外に出すことがない。
同様に、外部鍵Ｂに非対称鍵を使用した場合には、暗号鍵が外部に流失した可能性があると判断された場合に、オフラインでも暗号鍵を変更することが可能である。
また、暗号化処理が全て端末内で行われ、暗号鍵に依存する情報は一つのまとまりとして保存されるため、暗号鍵およびデータの暗号アルゴリズムを、端末、媒体、データによって異なるものを使用可能になり、その場合においても外部鍵は共通であるため、ユーザによる外部鍵の提示は一回で済む。
【発明を実施するための最良の形態】
【００１１】
本発明は、ネットワーク接続される端末とサーバを備え、前記端末は、暗号鍵を使用してデータを暗号化して保存する情報処理装置において、
前記端末は、ユーザから与えられたパスワードなどのユーザしか知りえない情報（外部鍵Ａ）を使用して暗号鍵を暗号化した外部鍵Ａ暗号済鍵を保存する第１の手段Ａと、サーバによって与えられる外部鍵Ｂを使用してユーザ識別情報と暗号鍵を暗号化した外部鍵Ｂ暗号済鍵を保存する第２の手段Ｂと、ユーザが外部鍵Ａを失った場合には、端末から外部鍵Ｂ暗号済鍵の復号化をサーバに依頼し、サーバから返される暗号鍵を取得する第３の手段を備え、
前記サーバは、端末から外部鍵Ｂ暗号済鍵に基づいて復号化したユーザ識別情報によってユーザの正当性を確認したうえで端末に暗号鍵を返す手段を備え、
外部鍵Ｂに非対称鍵を用いる場合には、外部鍵Ｂの公開鍵を事前にサーバから端末に配布することでユーザ識別情報と暗号鍵を暗号化する処理は端末内で行い、外部鍵Ｂの秘密鍵はサーバ内に保持して端末からの復号化の依頼はネットワーク上の秘匿化された通信経路を経由して行い、
外部鍵Ｂに対称鍵を用いる場合には、サーバに外部鍵Ｂを保持し、ユーザ識別情報と暗号鍵を暗号化する処理および外部鍵Ｂ暗号済鍵の復号化は、ネットワーク上の秘匿化された通信経路を経由して、端末からサーバに依頼して行うようにする。
また、外部鍵Ｂにサーバに代えてシステム管理者によって示されたパスワードなどのシステム管理者しか知りえない情報を外部鍵Ｂとして用いてのデータの暗号化・復号化は、システム管理者が端末に外部鍵Ｂを入力することによって行うことを可能とする。
また、非対称鍵を使用する暗号化方式を使用する場合に、前記端末は、内部に外部鍵Ｂの公開鍵を保持し暗号鍵の暗号化処理を全て端末内で行うことによって、オフラインにおいても暗号鍵を変更可能にする。
【実施例１】
【００１２】
以下、図面を参照して本発明の実施例１を説明する。
図１は、本発明の実施例１の情報処理装置の構成を示すブロック図である。この実施例１の情報処理装置は、暗号鍵の復号化に係る処理を行う鍵管理サーバ１１と、ユーザ識別情報と外部鍵Ａによってユーザの認証を行う認証サーバ１２と、ＬＡＮなどの第１のネットワーク１３を介してこれらのサーバに接続（オンライン状態）してアプリケーションを実行する携帯型端末１４を備える。鍵管理サーバ１１と認証サーバ１２は、１つのサーバとして纏めて構成することができる。携帯型端末１４は、更に、インターネットなどの第２のネットワーク１５に接続（オンライン状態）して携帯型端末１４Ａとして使用し、また、ネットワーク１３，１５から切り離したオフライン状態で携帯型端末１４Ｂとして使用される。ネットワーク通信はＳＳＬを用いて秘匿化する。
【００１３】
図２は、前記鍵管理サーバ１１，認証サーバ１２，携帯型端末１４の内部構成と情報処理機能を示すブロック図である。
【００１４】
鍵管理サーバ１１は、外部鍵管理処理を実行するマイクロプロセッサ１１１と外部鍵Ｂの公開鍵１１２ａと秘密鍵１１２ｂのペアを保持するディスクメモリ１１２と通信手段１１３を備える。この実施例１における外部鍵Ｂは、公開鍵１１２ａと秘密鍵１１２ｂが異なる非対称鍵であって、公開鍵１１２ａは暗号化に使用し、秘密鍵１１２ｂは復号化に使用する。マイクロプロセッサ１１１は、ネットワーク接続された携帯型端末１４と通信し、外部鍵Ｂの公開鍵１１２ａを前記携帯型端末１４に配布し、また、携帯型端末１４から渡された情報を外部鍵Ｂの秘密鍵１１２ｂを使用して復号化する鍵復号機能１１１ａを実現し、秘密鍵１１２ｂは鍵管理サーバ１１から外に出さないように管理する処理を実行する。鍵復号化の処理フローは、図５を参照して後述する。
【００１５】
認証サーバ１２は、認証処理を実行するマイクロプロセッサ１２１と、各ユーザのユーザ識別情報と外部鍵Ａの情報を含む認証情報データベース１２２ａを保持するディスクメモリ１２２と携帯型端末１４と通信する通信手段１２３を備える。マイクロプロセッサ１２１は、携帯型端末１４から渡される認証情報（ユーザ識別情報と外部鍵Ａ）と認証情報データベース１２２ａの内容を比較して認証結果を返す認証機能１２１ａを実現する処理を実行する。認証情報データベース１２２ａに登録されているユーザの外部鍵Ａの情報は変更することが可能であり、ユーザが外部鍵Ａを失った際には、管理者により認証情報データベース１２２ａに登録されている外部鍵Ａの情報を変更することによって、新しい外部鍵Ａを再発行する。
【００１６】
携帯型端末１４は、アプリケーションプログラム１４１ａを実行するマイクロプロセッサ１４１とディスクメモリ１４２と半導体メモリ１４３と通信手段１４４を備える。オンライン状態の携帯型端末１４は、初期状態のディスクメモリ１４２には鍵管理サーバ１１から配布された外部鍵Ｂの公開鍵１４２ａ（＝１１２ａ）とユーザによって入力された外部鍵Ａのハッシュ値１４２ｂを保持する。暗号鍵の内容に依存するのは外部鍵Ｂ暗号済鍵１４２ｃ，外部鍵Ａ暗号済鍵１４２ｄ，暗号済データ１４２ｅであり、これらは１つのデータのまとまりとして保存する。そのため、この１つのデータのまとまりを、携帯型端末１４，媒体，データの各々に持たせることによって、携帯型端末１４，媒体，データ毎に異なる暗号鍵もしくは暗号アルゴリズムを使用することができる。
【００１７】
図３は、データの編集・暗号化・復号化を行う際の携帯型端末１４内の状態を示す機能ブロック図である。この携帯型端末１４におけるマイクロプロセッサ１４１は、基本的には、アプリケーションプログラム１４１ａを起動してデータ編集アルゴリズム１４１ａ１によって編集入力装置１４５からの指示入力に基づいてデータ編集（データ新規作成や既存データの変更）を実行し、編集したメモリ１４３上のデータ１４３ａを暗号化してディスクメモリ１４２に暗号済データ１４２ｅとして保存する。
【００１８】
図３を参照しながら、図４〜図７に示すフローチャートに基づいてデータの暗号化・復号化の処理を説明し、図８に示すフローチャートに基づいて暗号鍵変更の処理を説明する。データ編集アルゴリズム１４１ａ１により実行するデータ編集（データ新規作成や既存データの変更）については、従来と同様であるので、具体的な説明は省略する。
【００１９】
図４は、携帯型端末１４において暗号鍵を生成してデータの暗号化を行う際の処理のフローチャートである。この処理では、クライアント認証後に暗号鍵を生成し、更に、この暗号鍵を暗号化してディスクメモリ１４２に保存し、編集したデータを暗号鍵を使用して暗号化してディスクメモリ１４２に保存する。また、事前に鍵管理サーバ１１からオンラインで外部鍵Ｂの公開鍵１４２ａ（１１２ａ）を取得してディスクメモリ１４２に保存しているものとする。
【００２０】
ステップＳ４０１
暗号鍵を生成する前に図６を参照して後述するクライアント（ユーザ）認証処理を行う。
【００２１】
ステップＳ４０２
認証結果をチェックして処理を分岐する。認証結果が失敗であった場合は、鍵生成とデータの暗号化を行わずにアプリケーションプログラムを終了する。
【００２２】
ステップＳ４０３
認証結果が成功もしくは変更の場合は、暗号鍵生成アルゴリズム１４１ａ２を使用して、端末の内部状態をもとにしてランダムな暗号鍵を生成してメモリ１４３内に暗号鍵１４３ｂとして保持する。
【００２３】
ステップＳ４０４
メモリ１４３内に保持した暗号鍵１４３ｂは、第１の対称暗号アルゴリズム１４１ａ３によって、外部鍵入力装置１４６から入力される外部鍵Ａによって暗号化して外部鍵Ａ暗号済鍵１４２ｄとしてディスクメモリ１４２に保存する。このときの外部鍵Ａのハッシュ値を一方向ハッシュ関数アルゴリズム１４１ａ６によってディスクメモリ１４２に外部鍵Ａのハッシュ値１４２ｂとして保存する。この外部鍵Ａのハッシュ値１４２ｂを保存する処理は、クライアント認証処理において後述する。
【００２４】
ステップＳ４０５
非対称暗号アルゴリズム１４１ａ４は、外部鍵Ｂの公開鍵１４２ａによって暗号鍵１４３ｂとユーザ識別情報入力装置１４７から入力されるユーザ識別情報を暗号化して外部鍵Ｂ暗号済鍵１４２ｃとしてディスクメモリ１４２に保存する。
【００２５】
ステップＳ４０６
以上の処理によって生成した暗号鍵１４３ｂを暗号化してディスクメモリ１４２に安全に保存した後に、第２の対称暗号アルゴリズム１４１ａ５によって、暗号鍵１４３ｂを使用してメモリ１４３内のデータ１４３ａを暗号化してディスクメモリ１４２に暗号済データ１４２ｅとして保存する。
【００２６】
ステップＳ４０３における暗号鍵１４３ｂの生成からステップＳ４０６におけるデータの暗号化までの過程は、サーバに接続しないオフライン状態でも実行可能であるために、クライアント認証処理（ステップＳ４０１）がオフラインで実行された後であれば、オフライン状態でも暗号鍵１４３ｂの生成が可能であり、編集データ１４３ａを暗号化して保存することができる。
【００２７】
図５は、携帯型端末１４において暗号済データ１４２ｅを復号化する際の処理のフローチャートである。この処理では、外部鍵Ａに変更がない場合は端末内部の暗号化された暗号鍵を復号化して使用し、変更があった場合には鍵管理サーバ１１に問い合わせて暗号鍵を取得する。
【００２８】
ステップＳ５０１
復号化の前に図６に示したクライアント認証処理を行う。このクライアント認証処理の具体例は後述する。
【００２９】
ステップＳ５０２
認証結果をチェックして処理を分岐する。認証に失敗した場合は、復号化・暗号化を行わずにアプリケーションプログラムを終了する。
【００３０】
ステップＳ５０３
認証に成功した場合は、第１の対称暗号アルゴリズム１４１ａ３によって、外部鍵Ａに基づいてディスクメモリ１４２に保存されている外部鍵Ａ暗号済鍵１４２ｄを復号化してメモリ１４３上に暗号鍵１４３ｂとして取り出す。
【００３１】
ステップＳ５０４
ステップＳ５０２のチェックにおいて、認証情報が変更であった場合は、ユーザによって与えられた外部鍵Ａではディスクメモリ１４２に保存されている外部鍵Ａ暗号済鍵１４２ｄを復号化することができないため、図７に示した暗号鍵取得処理を行う。この暗号鍵取得処理の具体例は後述する。
【００３２】
ステップＳ５０５
暗号鍵取得処理の結果をチェックして処理を分岐する。暗号鍵を取得することができなかった場合は処理を終了する。
【００３３】
ステップＳ５０６
対称暗号アルゴリズム３２１により、ステップＳ５０３で復号化して取り出した暗号鍵１４３ｂまたはステップＳ５０４によって取得した暗号鍵を使用して、ディスクメモリ１４２に保存してある暗号済データ１４２ｅを復号化してデータ１４３ａとしてメモリ１４３に展開することによって編集可能な状態とする。
【００３４】
復号化したデータ１４３ａをデータ編集アルゴリズム１４１ａ１によって編集した後に再度暗号化してディスクメモリ１４２に保存する際には、ステップＳ５０３もしくはステップＳ５０４で取り出した暗号鍵を使用する。
【００３５】
図６は、携帯型端末１４におけるクライアント認証処理（前述したステップＳ４０１，Ｓ５０１と後述するステップＳ９０１）のフローチャートである。このクライアント認証処理は、認証サーバ１２と通信し、またはハッシュ値の比較によって行う。
【００３６】
ステップＳ６０１
ユーザ識別情報入力装置１４７から入力されるユーザ識別情報または外部鍵入力装置１４６から入力される外部鍵Ａを取得する。
【００３７】
ステップＳ６０２
携帯型端末１４がオンラインとオフラインの何れの状態かをチェックして処理を分岐する。
【００３８】
ステップＳ６０３
オンライン状態であるときには、認証サーバ１２に認証情報（ユーザ識別情報と外部鍵Ａ）を送信する。
【００３９】
ステップＳ６２１
認証サーバ１２は、携帯型端末１４から送信された認証情報を受信し、受信した認証情報とディスクメモリ１２２に保持している認証情報データベース１２２ａを照合して認証を行う。
【００４０】
ステップＳ６２２
認証サーバ１２は、認証結果を携帯型端末１４に送信する。
【００４１】
ステップＳ６０４
携帯型端末１４は、認証サーバ１２から送信された認証結果を受信する。
【００４２】
ステップＳ６０５
受信した認証結果をチェックして処理を分岐する。認証に失敗した場合はステップＳ６１４に移って認証失敗出力処理を実行する。
【００４３】
ステップＳ６０６
認証に成功した場合は、外部鍵Ａのハッシュ値１４２ｂの存在をチェックして処理を分岐する。
【００４４】
ステップＳ６０７
ディスクメモリ１４２に外部鍵Ａのハッシュ値１４２ｂが存在した場合は、入力された外部鍵Ａのハッシュ値とディスクメモリ１４２に保存されている外部鍵Ａのハッシュ値１４２ｂを比較する。
【００４５】
ステップＳ６０８
ハッシュ値の一致／不一致をチェックして処理を分岐する。一致した場合は、処理ステップＳ６１５に移って認証成功出力処理を実行する。
【００４６】
ステップＳ６０９
ステップＳ６０８においてハッシュ値が一致しなかった場合とステップＳ６０６において外部鍵Ａのハッシュ値１４２ｂが存在しなかった場合は、認証情報の変更を反映するために入力された外部鍵Ａのハッシュ値を外部鍵Ａのハッシュ値１４２ｂとしてディスクメモリ１４２に保存する。
【００４７】
ステップＳ６１０
認証結果を変更として出力する認証変更出力処理を実行して処理を終了する。
【００４８】
ステップＳ６１１
ステップＳ６０２の分岐においてオンライン状態でなければ（オフライン状態のときには）、ディスクメモリ１４２の外部鍵Ａのハッシュ値１４２ｂの存在をチェックして処理を分岐する。外部鍵Ａのハッシュ値１４２ｂが存在しない場合は、認証を行うことができないため、認証失敗としてステップＳ６１４に移って認証失敗出力処理を実行する。
【００４９】
ステップＳ６１２
外部鍵Ａのハッシュ値１４２ａが存在した場合は、入力された外部鍵Ａのハッシュ値と保存されている外部鍵Ａのハッシュ値１４２ａを比較する。
【００５０】
ステップＳ６１３
比較結果をチェックして処理を分岐する。
【００５１】
ステップＳ６１４
一致しなかった場合は、認証失敗出力処理を実行して処理を終了する。
【００５２】
ステップＳ６１５
一致した場合は、認証成功出力処理を実行して処理を終了する。
【００５３】
図７は、携帯型端末１４が鍵管理サーバ１１から暗号鍵を取得する処理のフローチャートである。
【００５４】
ステップＳ７０１
携帯型端末１４から鍵管理サーバ１１に認証情報と外部鍵Ｂ暗号済鍵１４２ｃを送信する。
【００５５】
ステップＳ７１１
鍵管理サーバ１１は、携帯型端末１４から送信された認証情報と外部鍵Ｂ暗号済鍵１４２ｃを受信し、認証情報を認証サーバ１２に送信する。
【００５６】
ステップＳ７２１
認証サーバ１２は、鍵管理サーバ１１から送信された認証情報を受信し、認証機能１２１によって認証情報と認証情報データベース１２２ａと照合してサーバ認証処理を実行する。
【００５７】
ステップＳ７２２
認証結果を鍵管理サーバ１１に送信する。
【００５８】
ステップＳ７１２
鍵管理サーバ１１は、認証サーバ１２から認証結果を受信する。
【００５９】
ステップＳ７１３
認証結果に応じて処理を分岐する。
【００６０】
ステップＳ７１４
認証された場合には、鍵復号化機能１１１によって外部鍵Ｂの秘密鍵１１２Ｂを使用して復号化を行い、暗号鍵とユーザ識別情報を取り出す。
【００６１】
ステップＳ７１５
復号化して取り出したユーザ識別情報とステップＳ７１１で受信した認証情報内のユーザ識別情報を比較する。
【００６２】
ステップＳ７１６
ステップＳ７１５における比較結果に応じて処理を分岐する。
【００６３】
ステップＳ７１７
比較結果が一致の場合には、暗号鍵を携帯型端末１４に送信する。
【００６４】
ステップＳ７１８
認証されなかった場合と比較結果が不一致の場合には、暗号鍵の送信は不可である旨を携帯型端末１４に送信する。
【００６５】
ステップＳ７０２
携帯型端末１４は、鍵管理サーバ１１から暗号鍵を受信し、次回以降は暗号鍵を鍵管理サーバ１１から取得しなくても良いように、暗号鍵を外部鍵Ａで暗号化して外部鍵Ａ暗号済鍵１４２ｄとしてディスクメモリ１４２に保存する。
【００６６】
ステップＳ７０３
暗号鍵取得成功出力処理を実行して処理を終了する。
【００６７】
ステップＳ７０４
鍵管理サーバ１１から暗号鍵の送信は不可である旨を受信した場合には、暗号鍵取得失敗出力処理を実行して処理を終了する。
【００６８】
このように携帯型端末１４を操作するユーザのユーザ識別情報の確認を行うことによって、任意のユーザが他人の暗号鍵を復号化して不正にデータをアクセスすることができないようにすることができる。
【００６９】
図８は、携帯型端末１４内の暗号鍵を変更する処理のフローチャートである。この処理の前提として、図４および図５に示す処理によって外部鍵Ａと古い暗号鍵の取得が行われているものとする。
【００７０】
ステップＳ８０１
古い暗号鍵によってディスクメモリ１４２に保持しているデータ１４２ｅの総てを復号化してデータ１４３ａとしてメモリ１４３に展開する。
【００７１】
ステップＳ８０２
新しい暗号鍵を生成する。
【００７２】
ステップＳ８０３
生成した新しい暗号鍵を外部鍵Ａで暗号化して外部鍵Ａ暗号済鍵１４２ｄとしてディスクメモリ１４２に保存する。
【００７３】
ステップＳ８０４
外部鍵Ｂの公開鍵１４２ａによってステップＳ８０２で生成した暗号鍵とユーザ識別情報を暗号化して外部鍵Ｂ暗号済鍵１４２ｃとしてディスクメモリ１４２に保存する。これによって、携帯型端末１４内のディスクメモリ１４２に保存されていた外部鍵Ａ暗号済鍵１４２ｄと外部鍵Ｂ暗号済鍵１４２ｃはステップＳ８０２で生成した新しい暗号鍵の情報となる。
【００７４】
ステップＳ８０５
メモリ１４３上に展開されているデータ１４３ａを新しい暗号鍵で暗号化してディスクメモリ１４２に暗号済データ１４２ｅとして保存する。なお、ステップＳ８０１ないしステップＳ８０５は、媒体あるいはデータ毎に異なる暗号鍵であった場合、古い暗号鍵を使用していた媒体あるいはデータ毎に繰り返す。
【００７５】
ユーザが別の携帯型端末１４Ａから自身の外部鍵Ａの情報を変更した場合やユーザが外部鍵Ａを失って管理者によって外部鍵Ａが再発行された場合には、認証サーバ１２の認証情報データベース１２２ａに登録されている外部鍵Ａと携帯型端末１４Ａに外部鍵Ａハッシュ値１４２ｂとして保存されている外部鍵Ａの情報は異なるものになるが、図５に示した復号処理において、クライアント認証処理で認証結果が変更とされて暗号鍵取得処理が行われるために、データの復号化が可能である。
【実施例２】
【００７６】
この実施例２は、外部鍵Ｂとして、鍵管理サーバ１１が管理する対称鍵を用いる例である。対称鍵は、公開鍵と秘密鍵が同一である鍵のことである。この実施例２は、図３において、端末１４では外部鍵Ｂの公開鍵１４２ａを持たず、外部鍵Ｂは鍵管理サーバ１１内で管理され、暗号化に使用する鍵と復号化に使用する鍵は共通になる。また、端末１４では非対称暗号アルゴリズム１４１ａ３を持たず、それに代わって、鍵管理サーバ１１内に鍵暗号化機能を設ける。更に、図４におけるステップＳ４０５および図８におけるステップＳ８０４に代わって、ネットワーク上の秘匿化された通信経路を経由して携帯型端末１４から鍵管理サーバ１１に依頼することによって、外部鍵Ｂによる暗号鍵１４３ｂとユーザ識別情報入力装置１４７から入力されるユーザ識別情報の暗号化を行う。
従って、この実施例２においては、携帯型端末１４において暗号鍵を生成してデータの暗号化を行う際の処理のフローチャートは図４に代わって図９に示したものになる。
【００７７】
ステップＳ９０１
暗号鍵を生成する前に図６を参照して説明したクライアント認証処理を行う。
【００７８】
ステップＳ９０２
認証結果をチェックして処理を分岐する。認証結果が失敗であった場合は、鍵生成とデータの暗号化を行わずにアプリケーションプログラムを終了する。
【００７９】
ステップＳ９０３
認証結果が成功もしくは変更の場合は、暗号鍵生成アルゴリズム１４１ａ２を使用して、端末１４の内部状態をもとにしてランダムな暗号鍵を生成してメモリ１４３内に暗号鍵１４３ｂとして保持する。
【００８０】
ステップＳ９０４
メモリ１４３内に保持した暗号鍵１４３ｂは、第１の対称暗号アルゴリズム１４１ａ３によって、外部鍵入力装置１４６から入力される外部鍵Ａによって暗号化して外部鍵Ａ暗号済鍵１４２ｄとしてディスクメモリ１４２に保存する。
【００８１】
ステップＳ９０５
携帯型端末１４から鍵管理サーバ１１に認証情報と暗号鍵１４３ｂとユーザ識別情報１４７を送信する。
【００８２】
ステップＳ９１１
鍵管理サーバ１１は、携帯型端末１４から送信された認証情報と暗号鍵１４３ｂとユーザ識別情報１４７を受信し、認証情報を認証サーバ１２に送信する。
【００８３】
ステップＳ９２１
認証サーバ１２は、鍵管理サーバ１１から送信された認証情報を受信し、認証機能１２１によって認証情報と認証情報データベース１２２ａと照合してサーバ認証処理を実行する。
【００８４】
ステップＳ９２２
認証結果を鍵管理サーバ１１に送信する。
【００８５】
ステップＳ９１２
鍵管理サーバ１１は、認証サーバ１２から認証結果を受信する。
【００８６】
ステップＳ９１３
認証結果に応じて処理を分岐する。
【００８７】
ステップＳ９１４
認証された場合には、鍵管理サーバ１２内の鍵暗号化機能によって外部鍵Ｂを使用して暗号鍵１４３ｂとユーザ識別情報１４７の暗号化を行う。
【００８８】
ステップＳ９１５
前記ステップＳ９１４で暗号化した外部鍵Ｂ暗号済鍵を携帯型端末１４に送信する。
【００８９】
ステップＳ９１６
前記ステップＳ９１３で認証されなかった場合には、外部鍵Ｂ暗号済鍵の送信は不可である旨を携帯型端末１４に送信する。
【００９０】
ステップＳ９０６
携帯型端末１４は、鍵管理サーバ１１から外部鍵Ｂ暗号化済鍵を受信し、外部鍵Ｂ暗号済鍵１４２ｃとしてディスクメモリ１４２に保存する。
【００９１】
ステップＳ９０７
以上の処理によって生成した暗号鍵１４３ｂを暗号化してディスクメモリ１４２に安全に保存した後に、第２の対称暗号アルゴリズム１４１ａ５によって、暗号鍵１４３ｂを使用してメモリ１４３内のデータ１４３ａを暗号化してディスクメモリ１４２に暗号済データ１４２ｅとして保存する。
【００９２】
ステップＳ９０８
鍵管理サーバ１１から暗号鍵の送信は不可である旨を受信した場合には、データの暗号化を行わずにアプリケーションプログラムを終了する。
【実施例３】
【００９３】
この実施例３の情報処理装置は、鍵管理サーバ１１に代わってシステム管理者が外部鍵Ｂを管理し、システム管理者によって示されたパスワードなどのシステム管理者しか知りえない情報を外部鍵Ｂとして用いる場合には、図４におけるステップＳ４０５および図８におけるステップＳ８０４の処理に代わって、携帯型端末１４でシステム管理者に対して秘密鍵Ｂの入力を促す画面を表示し、システム管理者によって入力された秘密鍵Ｂによって暗号鍵１４３ｂとユーザ識別情報入力装置１４７から入力されるユーザ識別情報の暗号化を行うことができるようにしたものである。また、図７におけるＳ７１１ないしステップＳ７１５に代って、携帯型端末１４でシステム管理者に対して秘密鍵Ｂの入力を促す画面を表示し、システム管理者によって入力された秘密鍵Ｂによって外部鍵Ｂ暗号済鍵１４２ｃの復号化を行うことができるようにするものである。
【実施例４】
【００９４】
実施例１〜３は、携帯型端末１４を例示して説明したがデスクトップ型端末のような他の形態の端末を使用して構成しても同様に実施することができる。
【実施例５】
【００９５】
外部鍵Ａと外部鍵Ｂによる暗号化は、暗号鍵の内容およびデータ暗号アルゴリズムの種類とは独立している。そのために、携帯型端末，媒体，データ毎に異なる暗号鍵１４３ｂやデータ暗号アルゴリズム１４１ａ５を使用することが可能である。
【００９６】
図１０は、この実施例５における端末１４の機能ブロック図である。データ１とデータ２に異なる暗号鍵を使用した場合の構成であり、データ１に対応する外部鍵Ｂ暗号済鍵１４２ｃ１と外部鍵Ａ暗号済鍵１４２ｄ１、データ２に対応する外部鍵Ｂ暗号済鍵１４２ｃ２と外部鍵Ａ暗号済鍵１４２ｄ２をそれぞれディスクメモリ１４２に保存するように構成する。
【００９７】
更に、第２の対象暗号アルゴリズム１４１ａ５について、データ１に対応する暗号鍵とデータ２に対応する暗号鍵で異なるアルゴリズムを使用する構成も可能とする。
その際には、暗号鍵の暗号化に使用する外部鍵Ａと外部鍵Ｂはデータ１とデータ２で共通のものを使用することによって、データ１とデータ２のどちらの場合においても、ユーザが提示する外部鍵Ａは共通のものを使用することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施例１の情報処理装置の構成を示すブロック図である。
【図２】実施例１の情報処理装置における鍵管理サーバと認証サーバと携帯型端末の機能ブロック図である。
【図３】実施例１の情報処理装置における携帯型端末内のデータ編集・暗号化・復号化処理のための機能ブロック図である。
【図４】実施例１の情報処理装置における携帯型端末において暗号鍵を生成してデータの暗号化を行う際の処理のフローチャートである。
【図５】実施例１の情報処理装置における携帯型端末において暗号済データを復号化する際の処理のフローチャートである。
【図６】実施例１の情報処理装置におけるクライアント認証処理のフローチャートである。
【図７】実施例１の情報処理装置における携帯型端末が鍵管理サーバから暗号鍵を取得する処理のフローチャートである。
【図８】実施例１の情報処理装置における携帯型端末が該携帯型端末内の暗号鍵を変更する処理のフローチャートである。
【図９】実施例２の情報処理装置における携帯型端末において暗号鍵を生成してデータの暗号化を行う際の処理のフローチャートである。
【図１０】実施例５の情報処理装置における端末の機能ブロック図である。
【符号の説明】
【００９９】
１１…鍵管理サーバ、１２…認証サーバ、１４，１４Ａ，１４Ｂ…携帯型端末、１３，１５…ネットワーク、１１１…マイクロプロセッサ、１１１ａ…鍵復号機能、１１２…ディスクメモリ、１１２ａ…外部鍵Ｂの公開鍵、１１２ｂ…外部鍵Ｂの秘密鍵、１１３…通信手段、１２１…マイクロプロセッサ、１２１ａ…認証機能、１２２…ディスクメモリ、１２２ａ…認証情報データベース、１４１…マイクロプロセッサ、１４１ａ…アプリケーションプログラム、１４２…ディスクメモリ、１４２ａ…外部鍵Ｂの公開鍵、１４２ｂ…外部鍵Ａのハッシュ値、１４２ｃ…外部鍵Ｂ暗号済鍵、１４２ｄ…外部鍵Ａ暗号済鍵、１４２ｅ…暗号済データ、１４３…メモリ、１４３ａ…データ、１４３ｂ…暗号鍵、１４４…通信手段。
【図１】
2006333164.tif 000003
【図２】
2006333164.tif 000004
【図３】
2006333164.tif 000005
【図４】
2006333164.tif 000006
【図５】
2006333164.tif 000007
【図６】
2006333164.tif 000008
【図７】
2006333164.tif 000009
【図８】
2006333164.tif 000010
【図９】
2006333164.tif 000011
【図１０】
2006333164.tif 000012