(57)【要約】【課題】操作者が暗号装置内プログラム２１０にパスワードを渡さず、暗号装置内プログラム２１０と暗号装置内暗号ライブラリ２２０との間でオープンされた論理セッションＢにリモートログインする。【解決手段】暗号化システム１０００はユーザ操作を受付けるアプリケーション１１０、暗号処理依頼を受けて処理を行う暗号装置内暗号ライブラリ２２０、暗号装置内暗号ライブラリ２２０に処理を依頼する暗号装置内プログラム２１０を持つ。アプリケーション１１０はユーザ操作に応答し暗号装置内暗号ライブラリ２２０との間で論理セッションＡを確立しログインする。暗号装置内プログラム２１０は暗号装置内暗号ライブラリ２２０との間で論理セッションＢを確立する。アプリケーション１１０は論理セッションＡにログインした状態で暗号装置内暗号ライブラリ２２０に論理セッションＢへのリモートログイン要求を送信し論理セッションＢにログインする。【選択図】図１
2010262550.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの操作を受け付けるユーザ操作受付部と、
暗号鍵を用いた処理の依頼を受けて、前記依頼に応じた暗号化処理と復号処理とのいずれかの処理である鍵使用処理を実行する暗号化部と、
前記暗号化部に前記暗号鍵を用いた処理を依頼して前記暗号化部に前記鍵使用処理を実行させる暗号化依頼部と
を備え、
前記ユーザ操作受付部は、
前記ユーザの操作に応答することにより前記暗号化部との間で第１の論理セッションを確立し、確立した前記第１の論理セッションにログインし、
前記暗号化依頼部は、
前記暗号化部との間で第２の論理セッションを確立し、
前記ユーザ操作受付部は、
前記第１の論理セッションにログインした状態において、さらに、前記暗号化部に前記第２の論理セッションへのログインを要求するログイン要求を送信することにより、前記第２の論理セッションにログインすることを特徴とする暗号化システム。
【請求項２】
前記暗号化部は、
前記ユーザ操作受付部から前記ログイン要求を受信すると、前記ログイン要求に基づいて、ログインの権限があるかどうかを判定し、ログインの権限があると判定した場合に、前記ユーザ操作受付部の前記第２論理セッションへのログインを認めることを特徴とする請求項１記載の暗号化システム。
【請求項３】
前記ユーザ操作受付部は、
前記第２の論理セッションにログインした場合に、前記第２の論理セッションに対するアクセス権限の貸与を要求するアクセス権限貸与要求を前記暗号化部に送信し、
前記暗号化部は、
前記アクセス権限貸与要求を受信すると、前記アクセス権限貸与要求に従って、前記鍵使用処理を実行することを特徴とする請求項１または２のいずれかに記載の暗号化システム。
【請求項４】
前記暗号化システムは、さらに、
前記第２の論理セッションへの貸与が認められるアクセス権限が記載された貸与可能権限ポリシを記憶する記憶装置を備え、
前記暗号化部は、
前記アクセス権限貸与要求を受信すると、前記記憶装置に記憶されている前記貸与可能権限ポリシを参照することにより前記アクセス権限貸与要求の要求する前記アクセス権限の貸与が可能かどうかを判定し、貸与が可能と判定されたアクセス権限に対応する前記鍵使用処理のみを実行する
ことを特徴とする請求項３記載の暗号化システム。
【請求項５】
前記ユーザ操作受付部は、
前記第２の論理セッションにログインした場合に、処理対象となる処理データを前記暗号化部に送信し、
前記暗号化部は、
前記処理データを受信すると前記処理データを前記暗号化依頼部に送信し、
前記暗号化依頼部は、
前記処理データに所定の加工を実施すると共に、所定の加工が実施された加工後の処理データに対する前記暗号鍵を用いた処理を前記暗号化部に依頼し、
前記暗号化部は、
前記依頼に応答して前記加工後の処理データに対して前記鍵使用処理を実行し、実行結果のデータを前記ユーザ操作受付部に送信する
ことを特徴とする請求項１〜４のいずれかに記載の暗号化システム。
【請求項６】
コンピュータを、
ユーザの操作を受け付けるユーザ操作受付部、
暗号鍵を用いた処理の依頼を受けて、前記依頼に応じた暗号化処理と復号処理とのいずれかの処理である鍵使用処理を実行する暗号化部、
前記暗号化部に前記暗号鍵を用いた処理を依頼して前記暗号化部に前記鍵使用処理を実行させる暗号化依頼部
として機能させると共に、
前記ユーザ操作受付部は、
前記ユーザの操作に応答することにより前記暗号化部との間で第１の論理セッションを確立し、確立した前記第１の論理セッションにログインし、
前記暗号化依頼部は、
前記暗号化部との間で第２の論理セッションを確立し、
前記ユーザ操作受付部は、
前記第１の論理セッションにログインした状態において、さらに、前記暗号化部に前記第２の論理セッションへのログインを要求するログイン要求を送信することにより、前記第２の論理セッションにログインすることを特徴とする暗号化プログラム。
【請求項７】
ユーザ操作受付部と、暗号化部と、暗号化依頼部とを備えた暗号化システムの行う暗号化方法において、
ユーザ操作受付部が、
ユーザの操作を受け付け、
暗号化部が、
暗号鍵を用いた処理の依頼を受けて、前記依頼に応じた暗号化処理と復号処理とのいずれかの処理である鍵使用処理を実行し、
暗号化依頼部が、
前記暗号化部に前記暗号鍵を用いた処理を依頼して前記暗号化部に前記鍵使用処理を実行させると共に、
前記ユーザ操作受付部は、
前記ユーザの操作に応答することにより前記暗号化部との間で第１の論理セッションを確立し、確立した前記第１の論理セッションにログインし、
前記暗号化依頼部は、
前記暗号化部との間で第２の論理セッションを確立し、
前記ユーザ操作受付部は、
前記第１の論理セッションにログインした状態において、さらに、前記暗号化部に前記第２の論理セッションへのログインを要求するログイン要求を送信することにより、前記第２の論理セッションにログインすることを特徴とする暗号化方法。
【請求項８】
暗号鍵を用いた処理である鍵使用処理を実行する暗号装置において、
前記鍵使用処理を実行する暗号化部であって、ユーザのログイン要求の操作に応答したユーザ操作受付部との間で前記ログイン要求に対応する第１の論理セッションを確立し、確立された前記第１の論理セッションに前記ユーザ操作受付部によってログインされると共に、前記鍵使用処理を依頼する暗号化依頼部との間で第２の論理セッションを確立し、前記第１の論理セッションにログイン中の前記ユーザ操作受付部から前記第２の論理セッションへのログインを要求するログイン要求を受信し、受信した前記第２の論理セッションへのログイン要求に基づいて、前記ユーザ操作受付部の前記第２論理セッションへのログインを認める暗号化部を備えたことを特徴とする暗号装置。
【請求項９】
前記暗号化部は、
前記ユーザ操作受付部から前記ログイン要求を受信すると、前記ログイン要求に基づいて、ログインの権限があるかどうかを判定し、ログインの権限があると判定した場合に、前記ユーザ操作受付部の前記第２論理セッションへのログインを認めることを特徴とする請求項８記載の暗号化システム。
【請求項１０】
前記ユーザ操作受付部は、
前記第２の論理セッションにログインした場合に、前記第２の論理セッションに対するアクセス権限の貸与を要求するアクセス権限貸与要求を前記暗号化部に送信し、
前記暗号化部は、
前記アクセス権限貸与要求を受信すると、前記アクセス権限貸与要求に従って、前記鍵使用処理を実行することを特徴とする請求項８または９のいずれかに記載の暗号装置。
【請求項１１】
前記暗号装置は、さらに、
前記第２の論理セッションへの貸与が認められるアクセス権限が記載された貸与可能権限ポリシを記憶する記憶装置を備え、
前記暗号化部は、
前記アクセス権限貸与要求を受信すると、前記記憶装置に記憶されている前記貸与可能権限ポリシを参照することにより前記アクセス権限貸与要求の要求する前記アクセス権限の貸与が可能かどうかを判定し、貸与が可能と判定されたアクセス権限に対応する前記鍵使用処理のみを実行する
ことを特徴とする請求項１０記載の暗号装置。
【請求項１２】
前記ユーザ操作受付部は、
前記第２の論理セッションにログインした場合に、処理対象となる処理データを前記暗号化部に送信し、
前記暗号化部は、
前記処理データを受信すると前記処理データを前記暗号化依頼部に送信し、
前記暗号化依頼部は、
前記処理データに所定の加工を実施すると共に、所定の加工が実施された加工後の処理データに対する前記暗号鍵を用いた処理を前記暗号化部に依頼し、
前記暗号化部は、
前記依頼に応答して前記加工後の処理データに対して前記鍵使用処理を実行し、実行結果のデータを前記ユーザ操作受付部に送信する
ことを特徴とする請求項８〜１１のいずれかに記載の暗号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定のデータを暗号化する暗号化システム、暗号化プログラム、暗号化方法及び暗号装置に関する。
【背景技術】
【０００２】
従来の暗号装置に保管された暗号鍵へのプログラムによる利用を制御するアクセス制御方式は、暗号装置がプログラムからパスワードを受け取る事でプログラムの操作者を認証し、操作者の権限に応じて暗号鍵へのアクセス制御を行っていた（例えば、非特許文献１）。まず、プログラムは一般のパーソナルコンピュータ（以下、パソコンという）上で動作し、パソコンに暗号鍵を管理する暗号装置が接続されている。パソコン上で起動されたプログラムは、非特許文献１にて規定された関数を持つ暗号ライブラリを用いて、暗号装置との間で論理セッションのオープンを行う。論理セッションをオープンした時点では、プログラムの操作者を認証できていない状態のため、未ログイン状態となる。その後、プログラムがユーザから受領したパスワードを指定して、暗号装置に対してログインの要求を行う。暗号装置は、受領したパスワードが正しいかどうかを認証し、ユーザログイン状態もしくは管理者ログイン状態となる。その後、その論理セッションを通して暗号装置に対して暗号鍵を用いた暗号処理要求を行うと、ログイン者（操作者）に応じて暗号装置が暗号鍵へのアクセスを許可する仕組みである。
【０００３】
また、暗号装置内で動作するプログラムに関しては、プログラムに付けられた電子署名によって、暗号鍵へのアクセス制御を行っていた（例えば、特許文献１）。具体的には、プログラムによって利用される暗号鍵には、アクセス制御リストが添付される。このアクセス制御リストには、プログラムの電子署名を検証する公開鍵と実施可能な操作の組を１個以上指定する。また、プログラムには、インストール前に電子署名を付加する。そして、プログラム実行時、プログラムが暗号ライブラリを呼び出して暗号鍵にアクセスしたタイミングで、アクセス制御ユニットが暗号鍵へのアクセス制御を行う。これは、始めにプログラムに付加された電子署名の検証が行われ、署名検証に用いた公開鍵が特定される。次に、アクセスした暗号鍵に付加されたアクセス制御リストを取り出し、署名検証に用いた公開鍵に対応する記述があるかどうかを特定する。もし記述がある場合は、公開鍵に関連付けられた実施可能な操作を特定する。そして、プログラムが暗号鍵に対して実施しようとした操作が、公開鍵に関連付けられた実施可能な操作として記載されていれば、暗号鍵に対してのアクセスを許可する仕組みである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００３−５２４２５２号公報  第１１頁〜１４頁、第５図、第６図
【非特許文献】
【０００５】
【非特許文献１】ＲＳＡ  Ｌａｂｏｒａｔｏｒｉｅｓ，  “ＰＫＣＳ  ＃１１：Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｔｏｋｅｎ  Ｉｎｔｅｒｆａｃｅ  Ｓｔａｎｄａｒｄ，  Ｖｅｒ２．２０”，  ２００４
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の暗号装置内で動作する暗号装置内プログラムが暗号鍵を利用する事を制御するアクセス制御方式は、暗号装置内プログラムが、暗号装置と接続されたパソコン上で動作するアプリケーションを操作する操作者が誰かを安全に認証して、その操作者に応じてアクセス制御を行う事ができないという課題があった。
【０００７】
具体的には、暗号装置はパソコン上で動作するアプリケーションと連携して処理を行うと考えられる。手順として、アプリケーションが暗号装置内プログラムへデータを送付し、暗号装置内プログラムが暗号装置内暗号ライブラリを呼び出して暗号鍵を用いたデータ処理を実施し、その結果をアプリケーションに返送する。この時、暗号装置内暗号ライブラリは、暗号鍵を用いて良いかどうかをアクセス制御する。
【０００８】
しかし、特許文献１に記載された方式では、暗号装置内プログラムに付加された電子署名を用いてのみ暗号鍵へのアクセス制御を行うため、パソコン上で動作するアプリケーションの操作者が誰かを認証する事ができない。そのため、誰がアプリケーションを操作しているかに関わらず、暗号装置内プログラムが利用可能な暗号鍵を用いてデータを処理してしまうと言う課題がある。
【０００９】
また、非特許文献１に記載された方式を暗号装置内プログラムに適用した場合、暗号装置内プログラムが暗号装置内暗号ライブラリとの間でオープンした論理セッションは、オープン時点では未ログイン状態である。そのため、暗号装置内プログラムはアプリケーションと通信路を確立した後、操作者からパスワードを受領し、暗号装置内暗号ライブラリとの論理セッションをログイン状態にする必要がある。ここで、もし暗号装置内プログラムに不具合があったり、予期せぬ処理が記載されていた場合、操作者のパスワードが漏洩するリスクが発生する。更に、暗号装置内プログラムは操作者が持つ全アクセス権限を入手する事になるため、操作者が意図しない操作まで暗号装置内プログラムが実施してしまうリスクも発生する。
【００１０】
この発明は、暗号装置内プログラムに操作者がパスワードを渡すことなく、暗号装置内プログラムと暗号装置内暗号ライブラリ間でオープンされた論理セッションにログインを行うリモートログインの仕組みを実現する事を目的とする。
【課題を解決するための手段】
【００１１】
この発明の暗号化システムは、
ユーザの操作を受け付けるユーザ操作受付部と、
暗号鍵を用いた処理の依頼を受けて、前記依頼に応じた暗号化処理と復号処理とのいずれかの処理である鍵使用処理を実行する暗号化部と、
前記暗号化部に前記暗号鍵を用いた処理を依頼して前記暗号化部に前記鍵使用処理を実行させる暗号化依頼部と
を備え、
前記ユーザ操作受付部は、
前記ユーザの操作に応答することにより前記暗号化部との間で第１の論理セッションを確立し、確立した前記第１の論理セッションにログインし、
前記暗号化依頼部は、
前記暗号化部との間で第２の論理セッションを確立し、
前記ユーザ操作受付部は、
前記第１の論理セッションにログインした状態において、さらに、前記暗号化部に前記第２の論理セッションへのログインを要求するログイン要求を送信することにより、前記第２の論理セッションにログインすることを特徴とする。
【発明の効果】
【００１２】
この発明の暗号化システムは、前記ユーザ操作受付部が前記暗号化部との間で確立した第１の論理セッションから、暗号化依頼部が暗号化部との間で確立した第２の論理セッションに対してログインを行う構成であるため、操作者（ユーザ）の認証情報であるパスワードなどを第２の論理セッションＢにログインする必要がなくなるため、パスワード漏洩のリスクが低減できる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１における暗号化システム１０００の構成図。
【図２】実施の形態１における暗号装置内暗号ライブラリ２２０と記憶装置２３０の構成を示す図。
【図３】実施の形態１における暗号鍵テーブル２３１を示す図。
【図４】実施の形態１におけるユーザ認証ポリシ２３２を示す図。
【図５】実施の形態１におけるアクセス制御ポリシ２３３を示す図。
【図６】実施の形態１における貸与可能権限ポリシ２３４を示す図。
【図７】実施の形態１における論理セッション情報を示す図。
【図８】実施の形態１におけるデータバッファ２２６０の構成を示す図。
【図９】実施の形態１における論理セッションＡの作成を示すフロー。
【図１０】図９をシーケンス化した図。
【図１１】実施の形態１における論理セッションＢの作成を示すフロー。
【図１２】図１１をシーケンス化した図。
【図１３】実施の形態１におけるリモートログインの動作を示すフロー。
【図１４】図１３をシーケンス化した図。
【図１５】実施の形態１における暗号処理を示すフロー。
【図１６】図１３をシーケンス化した図。
【図１７】実施の形態２におけるパソコン１００、暗号装置２００の外観の一例。
【図１８】実施の形態２におけるパソコン１００、暗号装置２００のハードウェア資源を示す図。
【発明を実施するための形態】
【００１４】
実施の形態１．
図１は、実施の形態１の暗号化システム１０００の構成図である。本暗号化システムは、操作者が利用するパソコン１００と、暗号鍵を管理しつつパソコン１００からの要求によって暗号処理を行う暗号装置２００があり、それらがＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信路３００を介して接続された構成である。
【００１５】
実施の形態１のシステムの目的は、暗号装置内プログラムに操作者がパスワードを渡すことなく、暗号装置内プログラムと暗号装置内暗号ライブラリ間でオープンされた論理セッションにログインを行うリモートログイン可能とすることにある。また、リモートログインを実施した際に、暗号装置内プログラムが実施可能な処理を必要最小限に制限する事により、操作者が意図しない処理まで実施されてしまうリスクを防止する事にある。
【００１６】
（パソコン１００）
パソコン１００上では、操作者が利用する署名ソフトウェアや証明書発行サーバ等のアプリケーションプログラムであるアプリケーション１１０（ユーザ操作受付部の一例）が起動している。また、暗号装置２００を呼び出して暗号処理を行うためのパソコン側暗号ライブラリ１２０がインストールされており、暗号装置２００を利用したいアプリケーション１１０によって呼び出される。なお、このパソコン側暗号ライブラリ１２０は、アプリケーション１１０が暗号装置２００を使うための手間を削減するために提供されるものであり、通常それ自身は暗号処理は実施しないものである。
【００１７】
（暗号装置２００）
暗号装置２００では、暗号鍵やアクセス制御ポリシなどの機密情報が格納されている記憶装置２３０、パソコン１００上で動作するパソコン側暗号ライブラリ１２０や暗号装置２００内で動作する暗号装置内プログラム２１０（暗号化依頼部の一例）からの要求によって、記憶装置２３０内に保管された暗号鍵にて暗号処理を行う暗号装置内暗号ライブラリ２２０（暗号化部の一例）、パソコン１００上で動作するアプリケーション１１０からデータを受け取って、暗号装置内暗号ライブラリ２２０を用いて様々な暗号処理を行う暗号装置内プログラム２１０から構成される。
【００１８】
次に、図２を用いて、暗号装置内暗号ライブラリ２２０と記憶装置２３０内に保管される機密情報に関して、その構成要素に関して説明する。
【００１９】
（暗号装置内暗号ライブラリ２２０）
暗号装置内暗号ライブラリ２２０は、論理セッション管理機能部２２１、ユーザ認証機能部２２２、鍵管理機能部２２３、暗号処理機能部２２４、リモートログイン機能部２２５、データ通信中継機能部２２６、アクセス制御機能部２２７から構成される。アクセス制御機能部２２７は内部で用いる機能であり、それ以外はパソコン側暗号ライブラリ１２０や暗号装置内プログラム２１０から利用される機能である。
【００２０】
論理セッション管理機能部２２１は、パソコン１００上のアプリケーション１１０や暗号装置内プログラム２１０からの要求に応じて論理セッションをオープンし、その論理セッションがクローズされるまでの間、論理セッション情報２２１０を管理するための機能である。
【００２１】
ユーザ認証機能部２２２は、論理セッションを通してログイン認証が要求された時、ユーザ名とパスワードを受け取り、記憶装置２３０に格納されたユーザ認証ポリシ２３２を参照して、正しい操作者である事を認証するための機能である。
【００２２】
鍵管理機能部２２３は、論理セッションを通して鍵検索要求を受けた場合、記憶装置２３０に格納された暗号鍵の一覧や、特定の暗号鍵と関連付けられた鍵番号を返す機能である。また、暗号処理機能部２２４の鍵取得要求に応じて、暗号鍵の取り出しも行う。
【００２３】
暗号処理機能部２２４は、論理セッションを通して暗号化・復号化、署名生成・署名検証等の暗号処理要求が送付された時、鍵管理機能部２２３から暗号処理に用いる暗号鍵を取り出して暗号処理を行うための機能である。また、鍵生成要求を受けた場合は、暗号鍵を生成した後、鍵管理機能部２２３に暗号鍵の保管を要求する。
【００２４】
リモートログイン機能部２２５は、論理セッションＡを通してリモートログイン要求を受けた際、要求を受け付けた論理セッションＡ以外の論理セッションＢに対して、ログイン者を論理セッションＡと同一の操作者に設定する機能である。また、論理セッションＡを通して論理セッションＢへのアクセス権限貸与要求を受けた際、論理セッションＢに対してアクセス権限を付与する機能も持つ。
【００２５】
データ通信中継機能部２２６は、論理セッションＡと、リモートログインを行った論理セッションＢとの間で、データ通信を行う事を可能とするための機能である。
【００２６】
アクセス制御機能部２２７は、暗号処理機能部２２４に対して暗号処理要求が送付された場合、鍵管理機能部２２３に対して鍵検索要求が出された場合など、各機能部に処理の要求が出された場合に、記憶装置２３０に保管されたアクセス制御ポリシ２３３や貸与可能権限ポリシ２３４を参照して、その処理を実施して良いかどうかを判断するための機能である。
【００２７】
（記憶装置２３０）
記憶装置２３０には、暗号鍵テーブル２３１、ユーザ認証ポリシ２３２、アクセス制御ポリシ２３３、貸与可能権限ポリシ２３４が保管されている。
【００２８】
暗号鍵テーブル２３１は、複数の暗号鍵を管理するためのテーブルである。その構成は、例えば図３の様に、鍵番号（２３１−１）、鍵名称（２３１−２）、暗号鍵データ（２３１−３）から構成されるテーブルである。鍵番号（２３１−１）は暗号鍵毎にユニークに割り当てられた番号、鍵名称（２３１−２）は暗号鍵を識別するために付けられた名称、暗号鍵データ（２３１−３）は暗号鍵のデータである。
【００２９】
ユーザ認証ポリシ２３２は、複数のユーザの認証情報を管理するためのテーブルである。その構成は、例えば図４の様に、登録ユーザ名（２３２−１）と登録パスワード（２３２−２）から構成される。登録ユーザ名（２３２−１）は操作者を一意に特定するための文字列で、登録パスワード（２３２−２）は操作者が正しい事を認証するために用いる秘密の文字列である。
【００３０】
アクセス制御ポリシ２３３は、操作者が実施可能な処理を列挙したテーブルである。その構成は、例えば図５の様に、許可ユーザ名（２３３−１）、許可操作内容（２３３−２）、許可操作対象（２３３−３）から構成される。許可ユーザ名（２３３−１）はアクセス権限を与える操作者を特定するユーザ名、許可操作内容（２３３−２）は実施を許可する操作、許可操作対象（２３３−３）は利用を許可する暗号鍵などのリソースを指定する。
【００３１】
貸与可能権限ポリシ２３４は、操作者が論理セッションＡから論理セッションＢに対してリモートログインを実施した際に、論理セッションＢに対して貸与可能なアクセス権限を管理するテーブルである。その構成は、例えば図６の様に、許可ユーザ名（２３４−１）、許可対象アプリ（２３４−２）、許可操作内容（２３４−３）、許可操作対象（２３４−４）から構成される。許可ユーザ名（２３４−１）はアクセス権限の貸与を実施可能な操作者を特定するユーザ名、許可対象アプリ（２３４−２）はどのプログラムが作成した論理セッションＢにアクセス権限を貸与可能かを示すプログラム名、許可操作内容（２３４−３）と許可操作対象（２３４−４）はアクセス制御ポリシの構成要素である許可操作内容（２３３−２）と許可操作対象（２３３−３）と同一である。
【００３２】
（論理セッション情報２２１０）
図７は、論理セッション管理機能部２２１が管理する論理セッション情報２２１０である。図７（ａ）は、論理セッション情報２２１０の構成を示している。また、図７（ｂ）、（ｃ）に示すように、論理セッション情報は、論理セッションＡの一つの論理セッションごと、論理セッションＢの一つの論理セッションごとに存在する。例えば図７（ｂ）は論理セッションＡ２２１０−１〜Ａ２２１０−ｎの複数の論理セッション情報Ａを示している。図７（ｃ）についても同様である。図７（ａ）を用いて、論理セッション管理機能部２２１が管理する論理セッション情報２２１０の構成に関して説明する。論理セッション情報２２１０は、ハンドル値２２１１、ログイン者２２１２、セッション生成者２２１３、リモートログイン先論理セッションハンドル値２２１４、リモートログイン元論理セッションハンドル値２２１５、貸与アクセス権限一覧２２１６から構成される。
【００３３】
ハンドル値２２１１は、論理セッション管理機能部２２１が生成した論理セッションをユニークに特定可能な値であり、通常は整数値を割り当てる事が多い。
【００３４】
ログイン者２２１２は、論理セッション作成後にユーザ認証を行った際に、認証の結果、操作者が誰であったかを管理するための情報である。
【００３５】
セッション生成者２２１３は、論理セッションを作成したアプリケーション１１０や暗号装置内プログラム２１０に関する情報であり、プログラム名やプロセスＩＤ等を格納するための情報である。
【００３６】
リモートログイン先論理セッションハンドル値２２１４は、この論理セッションを用いて他の論理セッションにリモートログインした際に、そのリモートログイン先の論理セッションのハンドル値を保持しておくための情報である。
【００３７】
リモートログイン元論理セッションハンドル値２２１５は、他の論理セッションから、この論理セッションに対してリモートログインが行われた際に、そのリモートログイン元の論理セッションのハンドル値を保持しておくための情報である。
【００３８】
貸与アクセス権限一覧２２１６は、リモートログインが実施された場合に、リモートログイン元論理セッションの操作者によって使用を許可された貸与アクセス権限２２１７の集まりである。貸与アクセス権限２２１７は、許可操作内容２２１７−１と許可操作対象２２１７−２から構成され、保持される情報の役割は図５で示したアクセス制御ポリシ２３３と同様である。
【００３９】
（データバッファ２２６０）
次に、図８を用いて、暗号装置内暗号ライブラリ２２０のデータ通信中継機能部２２６が、論理セッションＡと論理セッションＢの間で交換される処理データや結果データを管理するために作成するデータバッファ２２６０の構成に関して説明する。データバッファ２２６０は、受信者ハンドル値２２６１と受信データ２２６２の２要素から構成される。
【００４０】
受信者ハンドル値２２６１は、受信データ２２６２の受信者を特定する情報であり、アプリケーション１１０もしくは暗号装置内プログラム２１０が作成した論理セッションのハンドル値を格納する。論理セッションのハンドル値は、暗号装置内暗号ライブラリ２２０でユニークに付けられた番号であるため、受信者を特定する事ができる。
受信データ２２６２は、その受信者に対して送付されたデータである。
【００４１】
次に動作について説明する。
【００４２】
（動作１：論理セッションＡの確立）
図９は論理セッションＡの作成動作のフローチャートである。図１０は、図９をシーケンス化した図である。始めに、図９、図１０を用いて、パソコン１００上で動作するアプリケーション１１０が、暗号装置内暗号ライブラリ２２０と論理セッションＡを作成し、ログインを行う手順に関して説明する。
【００４３】
（Ｓ７０１）
最初にＳ７０１にて、パソコン１００上で動作するアプリケーション１１０は、ユーザからログイン要求の操作があるとこの操作に応答して、パソコン側暗号ライブラリ１２０に対して論理セッションのオープンを要求する。パソコン側暗号ライブラリ１２０は、論理セッションオープン要求を暗号装置内暗号ライブラリ２２０に対して送付する。
【００４４】
（Ｓ７０２）
次にＳ７０２にて、暗号装置内暗号ライブラリ２２０の論理セッション管理機能部２２１は、論理セッションオープン要求を受信した後、新しい論理セッション情報Ａ２２１０を作成し、それを一意に識別するためのハンドル値Ａ２２１１を生成する。そして、パソコン側暗号ライブラリ１２０を経由して、アプリケーション１１０に論理セッションＡのハンドル値Ａを送付する。
【００４５】
（Ｓ７０３）
次にＳ７０３にて、アプリケーション１１０は、操作者よりユーザ名とパスワードを受領した後、パソコン側暗号ライブラリ１２０に対して論理セッションＡのハンドル値Ａとユーザ名とパスワードをパラメータとしてログイン要求を行う。パソコン側暗号ライブラリ１２０は、論理セッションＡのハンドル値Ａとユーザ名とパスワードをパラメータとして、暗号装置内暗号ライブラリ２２０に対してログイン要求を送付する。なお、アプリケーション１１０が暗号装置２００に対して処理要求を行う際にＳ７０２にて取得した論理セッションＡのハンドル値Ａを指定しているが、以降の手順でも同様に、暗号装置２００に対して処理要求を行う場合は必ずＳ７０２で取得した論理セッションＡのハンドル値Ａを指定する。以降の手順では記載を省略する。
【００４６】
（Ｓ７０４）
次にＳ７０４にて、暗号装置内暗号ライブラリ２２０のユーザ認証機能部２２２は、論理セッションＡのハンドル値Ａとユーザ名とパスワードを含むログイン要求を受信する。そして、ユーザ認証機能部２２２は、記憶装置２３０に記録されたユーザ認証ポリシ２３２から、受領したユーザ名と登録ユーザ名（２３２−１）が一致するエントリを検索し、ユーザ名に対応する登録パスワード（２３２−２）を取得し、アプリケーション１１０から受領したパスワードと、ユーザ認証ポリシ２３２から取り出した登録パスワード（２３２−２）を比較する。ユーザ認証機能部２２２は、パスワードが一致する場合はログイン成功、一致しない場合はログイン失敗を、パソコン側暗号ライブラリ１２０を経由して、アプリケーション１１０に通知する。ユーザ認証機能部２２２は、ログイン成功の場合は、それと同時に、論理セッション管理機能部２２１に論理セッションＡのハンドル値Ａとユーザ名を送付し、論理セッションＡのログイン者２２１２としてユーザ名を保持するように要求する。
【００４７】
（Ｓ７０５）
最後にＳ７０５にて、暗号装置内暗号ライブラリ２２０の論理セッション管理機能部２２１は、受け取った論理セッションＡのハンドル値Ａから該当する論理セッションＡの情報を検索し（図７）、受領したユーザ名をログイン者２２１２に設定して保管する。
【００４８】
以上によって、パソコン１００上で動作するアプリケーション１１０は、暗号装置内暗号ライブラリと論理セッションＡを作成し、ログインを行う事ができる。
【００４９】
（動作２：論理セッションＢの確立）
次に、図１１、図１２を用いて、暗号装置内プログラム２１０が、暗号装置内暗号ライブラリ２２０と論理セッションＢを作成し、パソコン１００上で動作するアプリケーション１１０によるリモートログインを受け付ける手順に関して説明する。
図１１は論理セッションＢの作成を示すフローチャートである。図１２は、図１１をシーケンス化した図である。
【００５０】
（Ｓ８０１）
始めにＳ８０１にて、暗号装置内プログラム２１０は、暗号装置内暗号ライブラリ２２０に対して論理セッションのオープンを要求する。
【００５１】
（Ｓ８０２）
次にＳ８０２にて、暗号装置内暗号ライブラリ２２０の論理セッション管理機能部２２１は、論理セッションオープン要求を受領した後、図７に示したような新しい論理セッション情報Ｂ２２１０を作成し、それを一意に識別するためのハンドル値Ｂ２２１１を生成する。その際、論理セッション情報Ｂ２２１０の作成を要求した暗号装置内プログラム２１０のプログラム名を取得し、論理セッション情報Ｂ２２１０のセッション生成者２２１３として保管する。取得方法としては、暗号装置内プログラム２１０からプログラム名を受け取る方法、ＯＳのプロセス管理機能を用いてプログラム名を特定する方法など、いずれの方法を用いても良い。そして、暗号装置内プログラム２１０に対して論理セッション情報Ｂ２２１０のハンドル値Ｂ２２１１を送付する。
【００５２】
（Ｓ８０３）
次にＳ８０３にて、暗号装置内プログラム２１０は、暗号装置内暗号ライブラリ２２０に対して、論理セッションＢのハンドル値Ｂを指定して、パソコン１００上で動作するアプリケーション１１０からのリモートログインを待つ事を要求する。なお、暗号装置内プログラム２１０が暗号装置内暗号ライブラリ２２０に対して処理要求を行う際にＳ８０２にて取得した論理セッションＢのハンドル値Ｂを指定しているが、以降の手順でも同様に、暗号装置内暗号ライブラリ２２０に対して処理要求を行う場合は必ずＳ８０２で取得した論理セッションＢのハンドル値Ｂを指定する。以降の手順では記載を省略する。
【００５３】
（Ｓ８０４）
次にＳ８０４にて、暗号装置内暗号ライブラリ２２０のリモートログイン機能部２２５は、リモートログインを待つ論理セッションＢのハンドル値Ｂを受領する。そして、論理セッション管理機能部２２１にて管理されている論理セッションのうち、受領したハンドル値Ｂに対応する論理セッション情報Ｂ２２１０のログイン者２２１２を監視し、ログイン者２２１２が設定されるのを待つ。
【００５４】
（Ｓ８０５）
最後にＳ８０５にて、暗号装置内暗号ライブラリ２２０のリモートログイン機能部２２５は、論理セッションＢのログイン者２２１２が設定済み（Ｓ９０５の処理による設定）になった事を確認した後、暗号装置内プログラム２１０に対してログイン済みになった事を通知する。
【００５５】
以上によって、暗号装置内プログラム２１０は、暗号装置内暗号ライブラリ２２０と論理セッションＢを作成し、パソコン１００上で動作するアプリケーション１１０によるリモートログインを受け付ける事ができる。
【００５６】
（動作３：アプリケーション１１０によるリモートログイン）
次に、図１３、図１４を用いて、パソコン１００上で動作するアプリケーション１１０が、暗号装置内プログラム２１０が作成した論理セッションＢに対してリモートログインを行い、アクセス権限の貸与を行う手順に関して説明する。
図１３は、リモートログインの動作を示すフローチャートである。図１４は図１３をシーケンス化した図である。
【００５７】
（Ｓ９０１）
始めにＳ９０１にて、アプリケーション１１０は、パソコン側暗号ライブラリ１２０に対してオープンされている論理セッション一覧の取得を要求する。パソコン側暗号ライブラリ１２０は、論理セッション一覧取得要求を暗号装置内暗号ライブラリ２２０に対して送付する。
【００５８】
（Ｓ９０２）
次にＳ９０２にて、暗号装置内暗号ライブラリ２２０の論理セッション管理機能部２２１は、図７に示した論理セッション情報を参照してオープンされている論理セッションの一覧（論理セッションＢ）をまとめ、パソコン側暗号ライブラリ１２０を経由して、アプリケーション１１０に対して返送する。
【００５９】
（Ｓ９０３）
次にＳ９０３にて、アプリケーション１１０は、論理セッション一覧の中からリモートログインを行いたい論理セッションＢのハンドル値Ｂを選択し、パソコン側暗号ライブラリ１２０に対して論理セッションＢへのリモートログインを要求する。パソコン側暗号ライブラリ１２０は、論理セッションＢのハンドル値Ｂをパラメータとして、リモートログイン要求を暗号装置内暗号ライブラリ２２０に対して送付する。
【００６０】
（Ｓ９０４）
次にＳ９０４にて、暗号装置内暗号ライブラリ２２０のリモートログイン機能部２２５は、論理セッションＢのハンドル値Ｂを受け取った後、アクセス制御機能部２２７に対してリモートログインが可能かどうかのアクセス権限認証を依頼する。アクセス制御機能部２２７は、論理セッション管理機能部２２１から論理セッションＡのログイン者２２１２の情報を取得する。そして、記憶装置２３０内に記録されたアクセス制御ポリシ２３３から、許可ユーザ名（２３３−１）がログイン者で、許可操作内容（２３３−２）がリモートログインであるエントリが存在するかどうかを確認する。存在しない場合は、アクセス権限無しとして処理を中断する。
【００６１】
（Ｓ９０５）
次にＳ９０５にて、暗号装置内暗号ライブラリ２２０のリモートログイン機能部２２５は、Ｓ９０４にて取り出したログイン者を、Ｓ９０４にて受け取った論理セッションＢのログイン者２２１２として設定する事を、論理セッション管理機能部２２１に対して依頼する。そして、アプリケーション１１０に対してリモートログインが成功した事を通知する。論理セッション管理機能部２２１は、論理セッション情報Ｂ２２１０のログイン者２２１２として、リモートログイン機能部２２５から受け取ったログイン者の情報を設定する。
【００６２】
（Ｓ９０６）
次にＳ９０６にて、アプリケーション１１０は、パソコン側暗号ライブラリ１２０に対して、Ｓ９０３にてリモートログインした論理セッションＢに、許可操作内容と許可操作対象で示されるアクセス権限を貸与する事を要求する。パソコン側暗号ライブラリ１２０は、許可操作内容と許可操作対象を含むアクセス権限貸与要求を暗号装置内暗号ライブラリ２２０に対して送付する。
【００６３】
（Ｓ９０７）
次にＳ９０７にて、暗号装置内暗号ライブラリ２２０のリモートログイン機能部２２５は、受信したアクセス権限貸与要求から許可操作内容と許可操作対象からなるアクセス権限を取り出す。そして、論理セッション管理機能部２２１から論理セッションＡのログイン者２２１２と、論理セッションＢのセッション生成者２２１３であるプログラム名を取得する。そして、記憶装置２３０に保管された貸与可能権限ポリシ２３４から、ポリシの許可ユーザ名（２３４−１）が前記で特定したログイン者と、ポリシの許可対象アプリ（２３４−２）が前記で特定したプログラム名と、ポリシの許可操作内容（２３４−３）が受領した許可操作内容と、ポリシの許可操作対象（２３４−４）が受領した許可操作対象と一致するエントリがあるかどうかを確認する。もしエントリが存在しない場合は、権限貸与不可として処理を中断する。
【００６４】
（Ｓ９０８）
次にＳ９０８にて、暗号装置内暗号ライブラリ２２０のリモートログイン機能部２２５は、論理セッション管理機能部２２１に対して、論理セッションＢの貸与アクセス権限一覧２２１６にて、許可操作内容２２１７−１と許可操作対象２２１７−２からなる貸与アクセス権限２２１７を保持する事を依頼する。論理セッション管理機能部２２１は、受け取った許可操作内容と許可操作対象からなる貸与アクセス権限を論理セッションＢの貸与アクセス権限一覧２２１６に追加して保管する。なお、貸与アクセス権限２２１７は複数関連付ける事ができるため、貸与アクセス権限２２１７を表形式で管理する事とし、それを貸与アクセス権限一覧２２１６と呼ぶ。
【００６５】
以上によって、パソコン１００上で動作するアプリケーション１１０は、暗号装置内プログラム１０６が作成した論理セッションＢに対してリモートログインを行い、アクセス権限の貸与を行う事ができる。
【００６６】
（動作４：暗号装置２００によるデータ処理）
次に、図１５、図１６を用いて、パソコン１００上で動作するアプリケーション１１０が、暗号装置内プログラム２１０に対してデータ処理要求を送付し、暗号装置内プログラム２１０で暗号処理を行う手順について説明する。
図１５は、暗号処理を行う場合のフローチャートである。図１６は、図１５をシーケンス化した図である。
【００６７】
（Ｓ１００１）
始めにＳ１００１にて、アプリケーション１１０は、暗号装置内プログラム２１０で処理を実施したい処理データを用意し、Ｓ９０３にてリモートログインした論理セッションＢを作成した暗号装置内プログラム２１０に処理データを送付する事を、パソコン側暗号ライブラリ１２０に対して要求する。パソコン側暗号ライブラリ１２０は、処理データ送信要求を暗号装置内暗号ライブラリ２２０に対して送付する。
【００６８】
（Ｓ１００２）
次にＳ１００２にて、暗号装置内暗号ライブラリ２２０のデータ通信中継機能部２２６は、処理データ送信要求を受領し、処理データを取得する。そして、データ通信中継機能部２２６は、論理セッション管理機能部２２１からＳ９０３にてリモートログインした論理セッションＢのハンドル値Ｂを取得し、論理セッションＢのハンドル値Ｂと受信した処理データを関連付けてデータバッファ２２６０に保管する。そして、パソコン側暗号ライブラリ１２０経由でアプリケーション１１０に対し、データ送信処理を実施した事を通知する。
【００６９】
（Ｓ１００３）
次にＳ１００３にて、暗号装置内プログラム２１０は、暗号装置内暗号ライブラリ２２０に対して、アプリケーション１１０からの処理データを取得する事を要求する。
【００７０】
（Ｓ１００４）
次にＳ１００４にて、暗号装置内暗号ライブラリ２２０のデータ通信中継機能部２２６は、Ｓ１００２にてアプリケーション１１０から受け取った、暗号装置内プログラム２１０が作成した論理セッションＢのハンドル値Ｂに関連付けられた処理データをデータバッファ２２６０から検索し、特定する。そして、暗号装置内プログラム２１０に対して、処理データを送付する。
【００７１】
（Ｓ１００５）
次にＳ１００５にて、暗号装置内プログラム２１０は、プログラム自身の処理手順に従って処理データを加工したのち、暗号装置内暗号ライブラリ２２０に対して暗号鍵を用いた署名などの暗号処理を依頼する。この処理を依頼する際、処理データと処理内容に加え、利用する暗号鍵の鍵番号も指定する。
【００７２】
（Ｓ１００６）
次にＳ１００６にて、暗号装置内暗号ライブラリ２２０の暗号処理機能部２２４は、要求を受けた処理内容と暗号鍵の鍵番号を特定し、アクセス制御機能部２２７に対して処理実施可否の判定を依頼する。アクセス制御機能部２２７は、論理セッション管理機能部２２１から論理セッションＢのログイン者２２１２と、Ｓ９０８で論理セッションＢに関連付けた貸与アクセス権限一覧２２１６の情報を取得する。そして、貸与アクセス権限一覧２２１６から、許可操作対象２２１７−２がＳ１００５にて指定された鍵番号で、許可操作内容２２１７−１がＳ１００５にて指定された処理内容である貸与アクセス権限２２１７が存在するかどうかを確認する。存在しない場合は、アクセス権限無しとして処理を中断する。そして、記憶装置２３０内に記録されたアクセス制御ポリシ２３３から、許可ユーザ名（２３３−１）がログイン者で、許可操作対象（２３３−２）がＳ１００５にて指定された鍵番号で、許可操作内容（２３３−３）がＳ１００５にて指定された処理内容であるエントリが存在するかどうかを確認する。存在しない場合は、アクセス権限無しとして処理を中断する。一致する貸与アクセス権限２２１７とアクセス権限がある場合、アクセス権限有りとして暗号処理機能部２２４に通知を行う。
【００７３】
（Ｓ１００７）
次にＳ１００７にて、暗号処理機能部２２４は、Ｓ１００６にてアクセス権限有りと判定された場合に限り、Ｓ１００５にて指定された鍵番号に対応する暗号鍵を用いて、処理データに対して暗号処理を実施する。この暗号処理は、Ｓ１００５にて指定された内容に基づくもので、例として鍵を使用した処理である署名生成や復号化などの暗号処理（鍵使用処理）が該当する。そして、その処理結果である結果データを、暗号装置内プログラム２１０へ返送する。
【００７４】
（Ｓ１００８）
次にＳ１００８にて、暗号装置内プログラム２１０は、Ｓ１００４にて受け取った処理データの送信者であるアプリケーション１１０に対して、結果データを送付する事を暗号装置内暗号ライブラリ２２０に対して要求する。
【００７５】
（Ｓ１００９）
次にＳ１００９にて、暗号装置内暗号ライブラリ２２０のデータ通信中継機能部２２６は、結果データと送信要求を受領する。そして、論理セッション管理機能部２２１からＳ９０３にてリモートログインを実施した論理セッションＡのハンドル値Ａを取得し、論理セッションＡのハンドル値Ａと結果データを関連付けてデータバッファ２２６０に保管する。そして、暗号装置内プログラム２１０に対して、データ送信処理を実施した事を通知する。
【００７６】
（Ｓ１０１０）
次にＳ１０１０にて、アプリケーション１１０は、パソコン側暗号ライブラリ１２０に対して、暗号装置内プログラム２１０からの結果データを取得する事を要求する。パソコン側暗号ライブラリ１２０は、結果データ受信要求を暗号装置内暗号ライブラリ２２０に対して送付する。
【００７７】
（Ｓ１０１１）
次にＳ１０１１にて、暗号装置内暗号ライブラリ２２０のデータ通信中継機能部２２６は、アプリケーション１１０が要求を送付した論理セッションＡのハンドル値Ａから、Ｓ１００９にて暗号装置内プログラム２１０から受け取った結果データをデータバッファ２２６０から検索し、データバッファ２２６０の受信者ハンドル値２２６１がハンドル値Ａである受信データ２２６２を結果データとして取得する。そして、パソコン側暗号ライブラリ１２０経由でアプリケーション１１０に対して、結果データを送付する。
【００７８】
以上によって、パソコン１００上で動作するアプリケーション１１０が、暗号装置内プログラム２１０に対してデータ処理要求を送付し、暗号装置内プログラム２１０で暗号処理を行う事ができる。
【００７９】
以上のように、パソコン１００上で動作するアプリケーション１１０が暗号装置内暗号ライブラリ２２０との間で作成した論理セッションＡから、暗号装置内プログラム２１０が暗号装置内暗号ライブラリ２２０との間で作成した論理セッションＢに対してリモートログインを行う様にしたため、操作者の認証情報であるパスワードなどをアプリケーション１１０から暗号装置内プログラム２１０に送付して、暗号装置内プログラム２１０が自身が作成した論理セッションＢにログインする必要がなくなるため、パスワード漏洩のリスクが低減できる。
【００８０】
また、操作者が暗号装置内プログラム２１０が暗号装置内暗号ライブラリ２２０との間で作成した論理セッションＢに対してリモートログインを行ったのち、アプリケーション１１０と、アプリケーション１１０がリモートログインした暗号装置内プログラム２１０間でデータ交換を行って暗号処理の依頼を行う様にしたため、暗号装置内暗号ライブラリ２２０は、暗号装置内プログラム２１０が作成した論理セッションＢにリモートログインした操作者のログイン者情報から、暗号装置内プログラム２１０に対して暗号処理を指示しているパソコン１００上のアプリケーション１１０を操作している操作者を特定する事ができる。
【００８１】
また、操作者が暗号装置内プログラム２１０が暗号装置内暗号ライブラリ２２０との間で作成した論理セッションＢに対してリモートログインを行ったのち、操作者に割り当てられたアクセス権限の中から、どのアクセス権限の使用を許可するかを明示して貸与する事ができるため、指定されたアクセス権限以外を用いた暗号処理を実施できないように暗号装置内プログラム２１０の動作を制限する事ができ、安全性が向上する。
【００８２】
また、操作者がリモートログインした論理セッションＢに対してアクセス権限の貸与を行う際、貸与可能権限ポリシ２３４にて許可されたアクセス権限のみを貸与する事ができるため、操作者が誤って必要以上のアクセス権限を貸与してしまうミスを防止する事ができ、さらに安全性が向上する。
【００８３】
また、パソコン１００上で動作するアプリケーション１１０が暗号装置内暗号ライブラリ２２０との間で作成した論理セッションＡから、暗号装置内プログラム２１０が暗号装置内暗号ライブラリ２２０との間で作成した論理セッションＢに対してリモートログインを行う際に、操作者がリモートログインのアクセス権限を持つかどうかのアクセス権限認証をするようにしたため、暗号装置内プログラム２１０を利用可能な操作者を制限する事ができ、暗号装置内プログラム２１０の想定外のユーザによる利用を防止する事ができる。
【００８４】
なお、本実施の形態では、アクセス制御ポリシ２３３に、許可ユーザ名（２３３−１）と許可操作内容（２３３−２）と許可操作対象（２３３−３）の組をアクセス権限として直接記載する例を示した。しかし、アクセス制御アルゴリズムは様々なものがあるため、他のアクセス制御アルゴリズムを用いても良い。例えば、Ｒｏｌｅ−Ｂａｓｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌを用いる場合、アクセス権限を貸与する代わりに、ロールを貸与するようにしても良い。
【００８５】
また、本実施の形態では、アクセス制御ポリシ２３３や貸与可能権限ポリシ２３４でアクセス権限を指定する際、許可操作内容（２３３−２）、許可操作内容（２３４−３）と許可操作対象（２３３−３）、許可操作対象（２３４−４）のみを指定するシンプルな方式を用いた。しかし、一般のアクセス制御アルゴリズムでは、他にも様々な情報が付加される事があるため、それらの情報も付加するようにしても良い。例えば、アクセス権限が有効となる期間、事前に実施すべき処理などが挙げられる。
【００８６】
また、本実施の形態では、貸与可能権限ポリシ２３４にて許可ユーザ名（２３４−１）と許可対象アプリ（２３４−２）が指定されるケースで説明したが、これらが指定されないケースでも実現可能である。このケースでは、許可ユーザ名（２３４−１）や許可対象アプリ（２３４−２）が指定されない事は、特に制限が行われない事を意味するものとして捉え、その要素の確認を実施しなければよい。なお、貸与可能権限ポリシ２３４から、許可ユーザ名（２３４−１）や許可対象アプリ（２３４−２）の列そのものがなくなっても良い。
【００８７】
また、本実施の形態では、パソコン１００上で動作するアプリケーション１１０から、暗号装置内で動作する暗号装置内プログラム２１０が作成した論理セッションＢにリモートログインする例を示した。しかし、リモートログイン先の論理セッションは、暗号装置内プログラム２１０が作成した論理セッションＢに限らず、パソコン１００上で動作するその他のアプリケーション１１０が作成した論理セッションＣであっても良い。
【００８８】
また、本実施の形態では、リモートログインを行う際に、リモートログイン元の論理セッションＡのログイン者２２１２を、リモートログイン先の論理セッションＢのログイン者２２１２にコピーする仕組みとした。しかし、リモートログイン時に操作者から再度ユーザ名とパスワードを受け取り、操作者を認証した後、リモートログイン先の論理セッションＢにログイン者２２１２を設定する方式でも良い。この場合、論理セッションＡのログイン者２２１２と、論理セッションＢのログイン者２２１２が異なるケースが発生しうるが、用途に応じて異なる操作者を許可するようにしても良い。
【００８９】
また、本実施の形態では、操作者の認証を行う際、パスワードを用いた方式を用いた。しかし、パスワード以外の認証方式を用いても良い。例えば、ＩＣカードや指紋などによる認証方式を用いても良い。
【００９０】
また、本実施の形態では、暗号装置内プログラム２１０が暗号処理を依頼した際にアクセス制御ポリシ２３３の確認を実施しているが、暗号装置内プログラム２１０の論理セッションＢにアクセス権限を貸与する際に実施するようにしても良い。この場合、アクセス制御ポリシ２３３の評価の回数を削減する事ができる。
【００９１】
また、本実施の形態では、データ通信中継機能部２２６が管理するデータバッファ２２６０に、受信者を示す受信者ハンドル値２２６１のみを保管する方式としたが、送信者を示す送信者ハンドル値も関連付けて管理するようにしても良い。
【００９２】
また、本実施の形態では、データ通信中継機能部２２６が論理セッション間で送受信される全てのデータをデータバッファ２２６０に格納して管理していたが、このデータバッファ２２６０を各論理セッション情報２２１０の構成要素として生成し、受信したデータを格納するようにしても良い。この場合、データバッファを保有する論理セッションが受信者であると一意に特定できるため、データバッファから受信者ハンドル値を削除しても良い。
【００９３】
また、本実施の形態では、暗号装置内プログラム２１０が利用する暗号鍵の鍵番号は、暗号装置内プログラム２１０自身が知っている事を想定しているが、必ずしも暗号装置内プログラム２１０自身が知っている必要はない。この場合、例えばステップＳ１００１にて、アプリケーション１１０が処理データを送付する際に、暗号処理に利用する暗号鍵の鍵番号を指定する事により、暗号装置内プログラム２１０に利用する暗号鍵を通知する事ができる。もちろん、それ以前のステップにて指定しても良い。
【００９４】
また、本実施の形態では、暗号装置内プログラムは、自身が作成した論理セッションＢにリモートログインを行ったアプリケーションから処理対象データを受信した。しかし、その他のアプリケーションから処理対象データを受けるようにしてもよい。
【００９５】
また、本実施の形態では、暗号鍵テーブルには鍵番号、鍵名称、暗号鍵データを格納することを示した。しかし、鍵の管理を行うため、有効期間、鍵利用用途などの付加情報を関連付けて管理してもよい。
【００９６】
また、Ｓ１００３にて暗号装置内プログラムは処理データの取得を依頼するが、Ｓ１００１にてアプリケーションが処理データを送付する前に取得要求を出し、Ｓ１００１で処理データが送付されるまで待ってもよい。また、Ｓ１００２にて、暗号装置内プログラムがデータを読み込んだ事を確認する前に、データ送信処理を実施した事をアプリケーションに通知しているが、これをＳ１００４にて暗号装置内プログラムが処理データを取得した後に実施するようにしてもよい。
【００９７】
実施の形態２．
図１７、図１８を参照して実施の形態２を説明する。
【００９８】
実施の形態２は、パソコン１００あるいはコンピュータである暗号装置２００のハードウェア構成を説明する。パソコン１００と暗号装置２００とは、同様の構成を持つコンピュータであるので、以下では暗号装置２００を想定して説明する。
【００９９】
図１７は、暗号装置２００の外観の一例を示す図である。図１７において、暗号装置２００は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット８３０はＬＡＮに接続している。
【０１００】
図１８は、暗号装置２００（パソコン１００も同様）のハードウェア資源の一例を示す図である。図１８において、暗号装置２００は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【０１０１】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【０１０２】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【０１０３】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【０１０４】
上記プログラム群８２３には、以上の実施の形態１の説明において「〜部」として説明した機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。なお、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）やＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等で高速化を図る場合もある。
【０１０５】
ファイル群８２４には、以上の実施の形態１の説明において、「暗号鍵テーブル２３１」（「暗号鍵テーブル２３１」は、通常はＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の高速消去可能なメモリに格納されることが多いが、これは一例である）、「〜ポリシ」として説明した情報（記憶装置２３０の格納情報）や、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【０１０６】
また、以上に述べた実施の形態１の説明において、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１０７】
また、以上の実施の形態１の説明において、「〜部」として説明したものは、「〜手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明したものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上に述べた「〜部」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」の手順や方法をコンピュータに実行させるものである。
【０１０８】
以上の実施の形態１では、パソコン１００、及び暗号装置２００を説明したが、実施の形態１の最後の部分で述べたように、リモートログイン先の論理セッションは、暗号装置内プログラム２１０が作成した論理セッションＢに限らず、パソコン１００上で動作するその他のアプリケーション１１０が作成した論理セッションＣであっても良い。したがって、パソコン１００及び暗号装置２００の動作を、コンピュータに実行させる暗号化プログラムとして把握することも可能である。あるいは、この暗号化プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。さらに、パソコン１００及び暗号装置２００の動作を暗号化方法として把握することも可能である。
【符号の説明】
【０１０９】
１００  パソコン、１１０  アプリケーション、１２０  パソコン側暗号ライブラリ、２００  暗号装置、２１０  暗号装置内プログラム、２２０  暗号装置内暗号ライブラリ、２２１  論理セッション管理機能部、２２２  ユーザ認証機能部、２２３  鍵管理機能部、２２４  暗号処理機能部、２２５  リモートログイン機能部、２２６  データ通信中継機能部、２２７  アクセス制御機能部、２３０  記憶装置、２３１  暗号鍵テーブル、２３２  ユーザ認証ポリシ、２３３  アクセス制御ポリシ、２３４  貸与可能権限ポリシ、１０００  暗号化システム、２２１０  論理セッション情報、２２６０  データバッファ。
【図１】
2010262550.tif 000003
【図２】
2010262550.tif 000004
【図３】
2010262550.tif 000005
【図４】
2010262550.tif 000006
【図５】
2010262550.tif 000007
【図６】
2010262550.tif 000008
【図７】
2010262550.tif 000009
【図８】
2010262550.tif 000010
【図９】
2010262550.tif 000011
【図１０】
2010262550.tif 000012
【図１１】
2010262550.tif 000013
【図１２】
2010262550.tif 000014
【図１３】
2010262550.tif 000015
【図１４】
2010262550.tif 000016
【図１５】
2010262550.tif 000017
【図１６】
2010262550.tif 000018
【図１７】
2010262550.tif 000019
【図１８】
2010262550.tif 000020