[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5277576B2 - 情報処理装置、暗号処理プログラム - Google Patents

情報処理装置、暗号処理プログラム Download PDF

Info

Publication number
JP5277576B2
JP5277576B2 JP2007187627A JP2007187627A JP5277576B2 JP 5277576 B2 JP5277576 B2 JP 5277576B2 JP 2007187627 A JP2007187627 A JP 2007187627A JP 2007187627 A JP2007187627 A JP 2007187627A JP 5277576 B2 JP5277576 B2 JP 5277576B2
Authority
JP
Japan
Prior art keywords
cryptographic
processing
engine
encryption
command
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
Application number
JP2007187627A
Other languages
English (en)
Other versions
JP2009027386A (ja
Inventor
祐樹 阿部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007187627A priority Critical patent/JP5277576B2/ja
Publication of JP2009027386A publication Critical patent/JP2009027386A/ja
Application granted granted Critical
Publication of JP5277576B2 publication Critical patent/JP5277576B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は情報処理装置、暗号処理プログラムに係り、特に暗号エンジンを用いてデータの暗号処理を行う情報処理装置、暗号処理プログラムに関する。
近年の情報セキュリティ意識の高まりに伴い、パーソナルコンピュータ,画像処理装置又は通信装置等の情報処理装置は、所定の暗号方式を用いてデータを暗号化し、通信中のデータの機密性を高めることが行われるようになった(例えば特許文献1参照)。
特開2006−217152号公報
従来の情報処理装置では、所定の通信方式に対応したデーモン(例えばhttpd)の内部に暗号エンジン(例えばOpenSSL)を取り込んでいた。しかしながら、従来の情報処理装置では、暗号エンジンを利用するデーモン毎に暗号エンジンを取り込む必要があり、同一の暗号エンジンが重複して取り込まれることによりROM/RAM等のメモリを浪費してしまうという問題があった。
また、従来の情報処理装置では、所定の通信方式に対応したデーモンの暗号エンジンを変更する場合に、デーモンを修正する必要があり、容易に暗号エンジンを変更できないという問題があった。
本発明は、上記の点に鑑みなされたもので、メモリの浪費を防ぐことができ、暗号エンジンの変更が容易な情報処理装置、暗号処理プログラムを提供することを目的とする。
上記課題を解決するため、本発明は、暗号エンジンを用いてデータの暗号処理を行う情報処理装置であって、1つ以上のアプリケーション手段と、ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段と、前記データに対して暗号処理を行う暗号処理手段と、前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段とを有し、前記暗号処理手段は、前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、前記データに対して暗号処理を行う暗号エンジンと、前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段とを有することを特徴とする。
また、本発明は、暗号エンジンを用いてデータの暗号処理を行う情報処理装置を、1つ以上のアプリケーション手段、ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段、前記データに対して暗号処理を行う暗号処理手段、前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段として機能させ、前記暗号処理手段は、前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、前記データに対して暗号処理を行う暗号エンジンと、前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段とを有する暗号処理プログラムであることを特徴とする。
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
本発明によれば、メモリの浪費を防ぐことができ、暗号エンジンの変更が容易な情報処理装置、暗号処理プログラムを提供可能である。
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。まず、本発明の理解を容易とする為、本発明の原理について説明する。
図1は本発明の原理について説明する為のブロック図である。本発明では、所定の通信方式に対応したデーモン1から暗号エンジン4を切り出し、その暗号エンジン4をプロセスとしてモジュール化することにより、各デーモン1が暗号エンジン4を共通に利用できるようにしている。各デーモン1は他の処理手段に対応する。
モジュール化された暗号エンジン4は、暗号処理モジュール(DESS)3によって制御される。暗号処理モジュール3は、暗号エンジン4を持つプロセスである。暗号処理モジュール3は動的に暗号エンジン4を取り込み、各デーモン1に暗号処理サービスを提供する。DESS I/F2は、各デーモン1が暗号処理モジュール3を利用する為のインターフェースである。各デーモン1は、DESS I/F2を介して暗号処理モジュール3を利用する。
図1では、デーモン1の一例としてhttpd,ncsd,sshd,snmpdを表している。また、図1では、暗号エンジン4の一例としてOpenSSL,BSAFEを表している。
図1のような構成とすることにより、各デーモン1は、使用する暗号エンジン4を動的に選択可能となり、暗号エンジン4の変更が容易となる。また、各デーモン1は個別に暗号エンジン4を取り込む必要が無くなるため、ROM/RAM等のメモリの容量を節約できる。
次に、本発明による情報処理装置の一例として複合機を例に説明する。図2は本発明による複合機の一実施例のハードウェア構成図である。
複合機10は、コントローラ11と,操作パネル12と,FCU13と,エンジン部14とを含む。図2のコントローラ11は、CPU21と,システムメモリ22と,ノースブリッジ(NB)23と,サウスブリッジ(SB)24と,ASIC25と,ローカルメモリ26と,HDD27と、ネットワークインターフェースカード(NIC)28と,セントロニクス29とを含む。
操作パネル12は、コントローラ11のASIC25に接続されている。また、FCU13およびエンジン部14は、コントローラ11のASIC25にPCIバス30で接続されている。
コントローラ11は、ASIC25にローカルメモリ26,HDD27などが接続されると共に、CPU21とASIC25とがCPUチップセットのNB23を介して接続されている。コントローラ11は、NB23を介してCPU21とASIC25とを接続することにより、CPU21のインターフェースが公開されていない場合に対応する。ASIC25とNB23とはAGP(Accelerated Graphics Port )31を介して接続されている。
このように、図2の複合機10は一つ以上のプロセスを実行制御するため、ASIC25とNB23とを低速のPCIバスでなくAGP31を介して接続し、パフォーマンスの低下を防いでいる。
CPU21は、複合機10の全体制御を行うものである。例えばCPU21は、後述するサービス層の各モジュールを、OS上にそれぞれプロセスとして起動して実行させると共に、アプリケーションを起動して実行させる。
NB23は、CPU21,システムメモリ22,SB24,ASIC25,NIC28及びセントロニクス29を接続するためのブリッジである。SB24,NIC28及びセントロニクス29は、PCIバス32を介してNB23に接続されている。なお、SB24はPCIバス32とROMや周辺デバイス等とを接続するためのブリッジである。
システムメモリ22は複合機10の描画用メモリ等として用いるメモリである。ローカルメモリ26はコピー用画像バッファ,符号バッファとして用いるメモリである。ASIC25は、画像処理用のハードウェア要素を有する画像処理用途向けのICである。HDD27は、画像データの蓄積,文書データの蓄積,プログラムの蓄積,フォントデータの蓄積,フォームの蓄積などを行うストレージ(補助記憶装置)の一例である。
NIC28は、複合機10をネットワークに接続するインターフェース機器である。セントロニクス29は、パソコンのプリンタ出力の規格であるセントロニクス規格に準じたインターフェースである。
また、操作パネル12は、操作者からの入力操作を受け付けると共に、操作者に向けた表示を行う操作部である。FCU(ファックスコントロールユニット)13はファックスに関する制御を行うユニットであり、ファクシミリデータの送受信を行う。
図3は本発明による複合機の一実施例のソフトウェア構成図である。複合機10は、アプリケーション41,API(アプリケーションプログラムインターフェース)42,一つ以上のサービスモジュールを含むように構成されるサービス層43,IPC(プロセス間通信)部44,スレッド制御部(pthread)45及びOS(オペレーティングシステム)46を含むように構成される。
アプリケーション41は、プリンタ,コピー,ファックスおよびスキャナなどの画像形成にかかる処理を行うプリンタアプリ,コピーアプリ,ファックスアプリ,スキャナアプリ等を含む。アプリケーション41はAPI42を利用して、サービス層43のサービスモジュールを利用する。
サービス層43は、アプリケーション41からの処理要求を解釈してエンジン部14等のハードウェアの獲得要求を発生すると共に、ハードウェアの管理を行って獲得要求を調停する。
IPC部44は動作中のモジュール(プロセス)間でデータをやり取りする為に利用されるものである。スレッド制御部45は例えばスレッドを制御するライブラリである。OS46は、アプリケーション41,サービス層43の各サービスモジュールをプロセスとして並列実行する。
上記した暗号処理モジュール(DESS)3はネットワークコントロールサービス(NCS)51と同じくサービス層43に含まれる。NCS51は、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分け、各アプリケーションからのデータをネットワーク側に送信する際の仲介を行う。例えばNCS51は、複合機10にネットワークを介して接続されるクライアントとの通信を制御する。図3の複合機10は、アプリケーション41で共通的に必要な処理をサービス層43で一元的に処理可能である。
図4は暗号処理モジュール及び暗号処理モジュールインターフェースの一実施例の機能ブロック図である。暗号処理モジュールインターフェース(DESS I/F)2は、コマンド送信部61,コマンド受信部62,データ送信部63,データ受信部64を含むように構成される。
DESS3は、コマンド受信部65,コマンド送信部66,データ受信部67,データ送信部68,コマンド解析部69,セッション管理部70,暗号エンジンI/F71及び暗号エンジン4を含むように構成される。
DESS I/F2のコマンド送信部61及びコマンド受信部62は、DESS3との間でコマンドの送信,レスポンスの受信を行う。DESS I/F2のデータ送信部63及びデータ受信部64は、DESS3との間で暗号処理前のデータの送信,暗号処理後のデータの受信を行う。
なお、DESS I/F2は、NCS51に含まれる各デーモン1からのコマンド及び暗号処理前のデータを受信し、各デーモン1へのレスポンス及び暗号処理後のデータを送信する。例えば各デーモン1は、上記のアプリケーション41からの要求に基づき、DESS I/F2を介してDESS3を利用する。
DESS3のコマンド受信部65及びコマンド送信部66は、DESS I/F2との間でコマンドの受信,レスポンスの送信を行う。なお、コマンドには、例えば暗号化処理の実行,復号処理の実行及び暗号エンジンの選択等がある。DESS3のデータ受信部67及びデータ送信部68は、DESS I/F2との間で暗号処理前のデータの受信,暗号処理後のデータの送信を行う。
コマンド解析部69は、コマンド受信部65が受信したコマンドを解析し、そのコマンドに応じた処理を行うものである。コマンド解析部69はセッションを割り当て、暗号エンジンI/F71を使用してコマンドに応じた処理を行う。セッション管理部70はNCS51に含まれる各デーモン1との間に張られたセッション数を計数し、そのセッション数が同時に並行処理可能なセッション数の範囲内となるように管理する。
暗号エンジンI/F71は、暗号エンジン4を使用する際に、呼び出し方の違いによる各暗号エンジン4の差異を吸収する部分である。暗号エンジン4はOpenSSL,BSAFEなど、データに対して暗号処理を行う部分である。
なお、図4のDESS3では内部に暗号エンジン4を持つ構成を示したが、暗号エンジン4を外部モジュール化し、必要に応じてDESS3の外部から暗号エンジン4を読み込む構成としてもよい。例えばDESS3は必要に応じて暗号エンジン4を複合機10の外からダウンロードする構成としてもよい。このように、暗号エンジン4を外部モジュール化し、必要に応じてDESS3の外部から暗号エンジン4を読み込む構成とすれば、更にROM/RAM等のメモリの容量を節約できる。
図5及び図6は暗号エンジンを読み込む構成としたDESSの一例の構成図である。図5の構成図では、DESS3が暗号エンジン4の一例としてOpenSSLを外部から読み込んでいる。図6の構成図では、DESS3が暗号エンジン4の一例としてBSAFEを外部から読み込んでいる。
図7の構成図では、DESS3が暗号エンジン4の一例としてOpenSSL及びBSAFEを同時に外部から読み込んでいる。また、図8の構成図では、読み込んだ暗号エンジン4が不要になったとき、読み込んだ暗号エンジン4の一例としてのOpenSSLを破棄している。
図9は暗号エンジンI/Fが呼び出し方の違いによる各暗号エンジンの差異を吸収する仕組みについて説明する説明図である。図9に示すように、暗号エンジンI/F71は暗号エンジン4に依らず、コマンド解析部69に以下のような共通のI/Fを提供する。例えば暗号エンジンI/F71は、ENC_Init(),ENC_Update()及びENC_Final()を共通のI/Fとしてコマンド解析部69に提供する。
暗号エンジンI/F71は暗号エンジン4としてOpenSSLを利用する場合、コマンド解析部69から受信したENC_Init()をOpenSSL_Init()に変換して暗号エンジン4としてOpenSSLに送信する。また、コマンド解析部69から受信したENC_Update()をOpenSSL_Update()に変換して暗号エンジン4としてOpenSSLに送信する。さらに、コマンド解析部69から受信したENC_Final()をOpenSSL_Final()に変換して暗号エンジン4としてOpenSSLに送信する。
暗号エンジンI/F71は暗号エンジン4としてBSAFEを利用する場合、コマンド解析部69から受信したENC_Init()を、BSAFE_CTX()及びBSAFE_Init()に変換して暗号エンジン4としてBSAFEに送信する。また、コマンド解析部69から受信したENC_Update()をBSAFE_Update()に変換して暗号エンジン4としてBSAFEに送信する。さらに、コマンド解析部69から受信したENC_Final()をBSAFE_Final()に変換して暗号エンジン4としてBSAFEに送信する。
このように、暗号エンジンI/F71はコマンド解析部69から受信した暗号エンジン4に依らない共通のI/FであるENC_Init(),ENC_Update()及びENC_Final()に基づき、暗号エンジン4に対応したI/Fを呼び出すことで各暗号エンジン4の差異を吸収できる。
以下、DESS I/F及びDESSの処理手順について、シーケンス図を参照しつつ説明していく。図10はDESS I/F及びDESSの処理手順の一例を表したシーケンス図である。図10のシーケンス図は暗号エンジン4としてOpenSSLを選択する例を表している。
ステップS1に進み、DESS I/F2はNCS51に含まれるデーモン1の一例としてのhttpdから暗号開始を要求される。ステップS2に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。DESS I/F2はステップS3に進み、セッション管理部70に登録されたセッションの情報(例えばセッション識別子)をセッション管理部70から通知される。ここでは、セッション管理部70からセッション識別子が通知されたとして説明する。なお、DESS I/F2は通知されたセッション識別子と、デーモン1の一例としてのhttpdとを対応付けて管理する。
ステップS4に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号エンジン4としてOpenSSLの使用を要求される。ステップS5に進み、DESS I/F2はコマンド解析部69に、暗号エンジン4としてOpenSSLを使用することを要求する。なお、DESS I/F2からコマンド解析部69への要求には上記したセッション識別子(1)が付加されている。その他、後述のステップS6,S8〜S16の要求にも上記したセッション識別子(1)が付加されている。また、ステップS6に進み、コマンド解析部69は暗号エンジンI/F71に、暗号エンジン4としてOpenSSLを使用することを通知する。
ステップS7に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号処理を要求される。ステップS8に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(1)を送信する。ステップS9に進み、コマンド解析部69は受信したコマンドENC_Init(1)を暗号エンジンI/F71へ送信する。
ステップS10に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(1)をOpenSSL_Init()に変換して暗号エンジン4としてOpenSSLに送信する。
また、ステップS11に進み、DESS I/F2はコマンド解析部69にコマンドENC_Update(1)を送信する。ステップS12に進み、コマンド解析部69は受信したコマンドENC_Update(1)を暗号エンジンI/F71へ送信する。
ステップS13に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(1)をOpenSSL_Update()に変換して暗号エンジン4としてOpenSSLに送信する。
また、ステップS14に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(1)を送信する。ステップS15に進み、コマンド解析部69は受信したコマンドENC_Final(1)を暗号エンジンI/F71へ送信する。
ステップS16に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(1)をOpenSSL_Final()に変換して暗号エンジン4としてOpenSSLに送信する。
ステップS17に進み、DESS I/F2はNCS51に含まれるデーモン1の一例としてのhttpdから暗号終了を要求される。DESS I/F2はステップS18に進み、DESS3内のセッション管理部70にセッション(1)の削除を要求する。DESS I/F2は削除を要求したセッション識別子と、デーモン1の一例としてのhttpdとの対応付けを破棄する。
このように、暗号エンジンI/F71は、暗号エンジン4に依らない共通のI/FであるENC_Init(),ENC_Update()及びENC_Final()に基づいて暗号エンジン4に対応したI/Fを呼び出すことにより、各暗号エンジン4の差異を吸収できる。
また、図11はDESS I/F及びDESSの処理手順の一例を表したシーケンス図である。図11のシーケンス図は、複数の暗号エンジン4としてOpenSSL4−1及びBSAFE4−2を同時に選択する例を表している。なお、図11のシーケンス図は図10のシーケンス図と同様な部分が含まれており、同様な部分について適宜説明を省略する。
ステップS21に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号開始を要求される。ステップS22に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。DESS I/F2はステップS23に進み、セッション管理部70に登録されたセッション識別子(1)をセッション管理部70から通知される。
ステップS24に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号エンジン4としてOpenSSL4−1の使用を要求される。ステップS25に進み、DESS I/F2はコマンド解析部69に、暗号エンジン4としてOpenSSL4−1を使用することを要求する。また、ステップS26に進み、コマンド解析部69は暗号エンジンI/F71に、暗号エンジン4としてOpenSSL4−1を使用することを通知する。
ステップS27に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号処理を要求される。ステップS28に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(1)を送信する。ステップS29に進み、コマンド解析部69は、受信したコマンドENC_Init(1)を暗号エンジンI/F71へ送信する。
ステップS30に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(1)をOpenSSL_Init()に変換して暗号エンジン4としてOpenSSL4−1に送信する。
ステップS31に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号開始を要求される。ステップS32に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。DESS I/F2はステップS33に進み、セッション管理部70に登録されたセッション識別子(2)をセッション管理部70から通知される。
ステップS34に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号エンジン4としてBSAFE4−2の使用を要求される。また、ステップS35に進み、DESS I/F2は、コマンド解析部69に、暗号エンジン4としてBSAFE4−2を使用することを要求する。また、ステップS36に進み、コマンド解析部69は暗号エンジンI/F71に、暗号エンジン4としてBSAFE4−2を使用することを通知する。
さらに、ステップS37に進み、DESS I/F2はコマンド解析部69にコマンドENC_Update(1)を送信する。ステップS38に進み、コマンド解析部69は受信したコマンドENC_Update(1)を暗号エンジンI/F71へ送信する。ステップS39に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(1)をOpenSSL_Update()に変換して暗号エンジン4としてOpenSSL4−1に送信する。
また、ステップS40に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(1)を送信する。ステップS41に進み、コマンド解析部69は受信したコマンドENC_Final(1)を暗号エンジンI/F71へ送信する。
ステップS42に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(1)をOpenSSL_Final()に変換して暗号エンジン4としてOpenSSL4−1に送信する。
ステップS43に進み、DESS I/F2はNCS51に含まれるデーモン1の一例としてのhttpdから暗号終了を要求される。DESS I/F2はステップS44に進み、DESS3内のセッション管理部70にセッション(1)の削除を要求する。
ステップS45に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号処理を要求される。ステップS46に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(2)を送信する。ステップS47に進み、コマンド解析部69は、受信したコマンドENC_Init(2)を暗号エンジンI/F71へ送信する。
ステップS48,S49に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(2)をBSAFE_CTX()及びBSAFE_Init()に変換して暗号エンジン4としてBSAFE4−2に送信する。
また、ステップS50に進み、DESS I/F2はコマンド解析部69にコマンドENC_Update(2)を送信する。ステップS51に進み、コマンド解析部69は受信したコマンドENC_Update(2)を暗号エンジンI/F71へ送信する。
ステップS52に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(2)をBSAFE_Update()に変換して暗号エンジン4としてBSAFE4−2に送信する。
また、ステップS53に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(2)を送信する。ステップS54に進み、コマンド解析部69は受信したコマンドENC_Final(2)を暗号エンジンI/F71へ送信する。
ステップS55に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(2)をBSAFE_Final()に変換して暗号エンジン4としてBSAFE4−2に送信する。
ステップS56に進み、DESS I/F2はNCS51に含まれるデーモン1の一例としてのhttpdから暗号終了を要求される。DESS I/F2はステップS57に進み、DESS3内のセッション管理部70にセッション(2)の削除を要求する。
このように、暗号エンジンI/F71は、複数の暗号エンジン4としてOpenSSL4−1及びBSAFE4−2を同時に選択する場合であっても、暗号エンジン4に依らない共通のI/FであるENC_Init(),ENC_Update()及びENC_Final()に基づいて暗号エンジン4に対応したI/Fを呼び出すことにより、各暗号エンジン4の差異を吸収できる。
また、図12はDESS I/F及びDESSの処理手順の一例を表したシーケンス図である。図12のシーケンス図は複数のデーモンから同時に暗号エンジン4を選択する例を表している。なお、図12のシーケンス図は図10のシーケンス図と同様な部分が含まれており、同様な部分について適宜説明を省略する。
ステップS61に進み、DESS I/F2は、デーモン1の一例としてのhttpd1−1から暗号開始を要求される。ステップS62に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。ステップS23に進み、DESS I/F2はセッション識別子(1)をセッション管理部70から通知される。
ステップS64に進み、DESS I/F2は、デーモン1の一例としてのhttpd1−1から暗号エンジン4としてOpenSSLの使用を要求される。ステップS65に進み、DESS I/F2はコマンド解析部69に、暗号エンジン4としてOpenSSLを使用することを要求する。ステップS66に進み、コマンド解析部69は暗号エンジンI/F71に、暗号エンジン4としてOpenSSLを使用することを通知する。
ステップS67に進み、DESS I/F2は、デーモン1の一例としてのhttpd1−1から暗号処理を要求される。ステップS68に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(1)を送信する。ステップS69に進み、コマンド解析部69は、受信したコマンドENC_Init(1)を暗号エンジンI/F71へ送信する。
ステップS70に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(1)をOpenSSL_Init()に変換して暗号エンジン4としてOpenSSLに送信する。
ステップS71に進み、DESS I/F2はデーモン1の一例としてncsd1−2から暗号開始を要求される。ステップS72に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。DESS I/F2はステップS73に進み、セッション管理部70に登録されたセッション識別子(2)をセッション管理部70から通知される。
ステップS74に進み、DESS I/F2はデーモン1の一例としてncsd1−2から暗号エンジン4としてOpenSSLの使用を要求される。また、ステップS75に進み、DESS I/F2は、コマンド解析部69に、暗号エンジン4としてOpenSSLを使用することを要求する。
さらに、ステップS76に進み、DESS I/F2はコマンド解析部69にコマンドENC_Update(1)を送信する。ステップS77に進み、コマンド解析部69は受信したコマンドENC_Update(1)を暗号エンジンI/F71へ送信する。ステップS78に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(1)をOpenSSL_Update()に変換して暗号エンジン4としてOpenSSLに送信する。
また、ステップS79に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(1)を送信する。ステップS80に進み、コマンド解析部69は受信したコマンドENC_Final(1)を暗号エンジンI/F71へ送信する。
ステップS81に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(1)をOpenSSL_Final()に変換して暗号エンジン4としてOpenSSLに送信する。
ステップS82に進み、DESS I/F2は、NCS51に含まれるデーモン1の一例としてのhttpd1−1から暗号終了を要求される。DESS I/F2は、ステップS83に進み、DESS3内のセッション管理部70にセッション(1)の削除を要求する。
ステップS84に進み、DESS I/F2はデーモン1の一例としてncsd1−2から暗号処理を要求される。ステップS85に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(2)を送信する。ステップS86に進み、コマンド解析部69は、受信したコマンドENC_Init(2)を暗号エンジンI/F71へ送信する。
ステップS87に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(2)をOpenSSL_Init()に変換して暗号エンジン4としてOpenSSLに送信する。
さらに、ステップS88に進み、DESS I/F2はコマンド解析部69にコマンドENC_Update(2)を送信する。ステップS89に進み、コマンド解析部69は受信したコマンドENC_Update(2)を暗号エンジンI/F71へ送信する。ステップS90に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(2)をOpenSSL_Update()に変換して暗号エンジン4としてOpenSSLに送信する。
また、ステップS91に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(2)を送信する。ステップS92に進み、コマンド解析部69は受信したコマンドENC_Final(2)を暗号エンジンI/F71へ送信する。
ステップS93に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(2)をOpenSSL_Final()に変換して暗号エンジン4としてOpenSSLに送信する。
ステップS94に進み、DESS I/F2は、NCS51に含まれるデーモン1の一例としてのncsd1−2から暗号終了を要求される。DESS I/F2は、ステップS95に進み、DESS3内のセッション管理部70に、セッション(2)の削除を要求する。
このように、暗号エンジンI/F71は、複数のデーモンとしてのhttpd1−1及びncsd1−2から同時に暗号エンジン4を選択する場合であっても、暗号エンジン4に依らない共通のI/FであるENC_Init(),ENC_Update()及びENC_Final()に基づいて暗号エンジン4に対応したI/Fを呼び出すことにより各暗号エンジン4の差異を吸収できる。
また、図13はDESS I/F及びDESSの処理手順の一例を表したシーケンス図である。図13のシーケンス図は、使用する機能により自動的に暗号エンジン4を選択する例を表している。なお、図13のシーケンス図は図11のシーケンス図と同様な部分が含まれており、同様な部分について適宜説明を省略する。
ステップS101に進み、DESS I/F2はデーモン1の一例としてのhttpdからSSL開始を要求される。ステップS102に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。ステップS103に進み、DESS I/F2はセッション管理部70に登録されたセッション識別子(1)をセッション管理部70から通知される。
ステップS104に進み、DESS I/F2はコマンド解析部69に、SSLを使用することを要求する。また、ステップS105に進み、コマンド解析部69は暗号エンジンI/F71に、SSLに基づき、暗号エンジン4としてのOpenSSL4−1を使用することを通知する。
ステップS106に進み、DESS I/F2はデーモン1の一例としてのhttpdからSSL処理を要求される。ステップS107に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(1)を送信する。ステップS108に進み、コマンド解析部69は、受信したコマンドENC_Init(1)を暗号エンジンI/F71へ送信する。
ステップS109に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(1)をOpenSSL_Init()に変換して暗号エンジン4としてOpenSSL4−1に送信する。
さらに、ステップS110に進み、DESS I/F2は、コマンド解析部69にコマンドENC_Update(1)を送信する。ステップS111に進み、コマンド解析部69は、受信したコマンドENC_Update(1)を暗号エンジンI/F71へ送信する。
ステップS112に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(1)をOpenSSL_Update()に変換して暗号エンジン4としてOpenSSL4−1に送信する。
また、ステップS113に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(1)を送信する。ステップS114に進み、コマンド解析部69は受信したコマンドENC_Final(1)を暗号エンジンI/F71へ送信する。
ステップS115に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(1)をOpenSSL_Final()に変換して暗号エンジン4としてOpenSSL4−1に送信する。
ステップS116に進み、DESS I/F2は、NCS51に含まれるデーモン1の一例としてのhttpdからSSL終了を要求される。DESS I/F2は、ステップS117に進み、DESS3内のセッション管理部70にセッション(1)の削除を要求する。
ステップS118に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号開始を要求される。ステップS119に進み、DESS I/F2はDESS3内のセッション管理部70にセッション登録を要求する。DESS I/F2はステップS120に進み、セッション管理部70に登録されたセッション識別子(2)をセッション管理部70から通知される。
ステップS121に進み、DESS I/F2はコマンド解析部69に、暗号を使用することを要求する。また、ステップS122に進み、コマンド解析部69は暗号エンジンI/F71に、BSAFEに基づき、暗号エンジン4としてのBSAFE4−2を使用することを通知する。
ステップS123に進み、DESS I/F2はデーモン1の一例としてのhttpdから暗号処理を要求される。ステップS124に進み、DESS I/F2はコマンド解析部69にコマンドENC_Init(2)を送信する。ステップS125に進み、コマンド解析部69は、受信したコマンドENC_Init(2)を暗号エンジンI/F71へ送信する。
ステップS126,S127に進み、暗号エンジンI/F71は、共通のI/FであるENC_Init(2)をBSAFE_CTX()及びBSAFE_Init()に変換して暗号エンジン4としてBSAFE4−2に送信する。
また、ステップS128に進み、DESS I/F2は、コマンド解析部69にコマンドENC_Update(2)を送信する。ステップS129に進み、コマンド解析部69は、受信したコマンドENC_Update(2)を、暗号エンジンI/F71へ送信する。
ステップS130に進み、暗号エンジンI/F71は、共通のI/FであるENC_Update(2)をBSAFE_Update()に変換して暗号エンジン4としてBSAFE4−2に送信する。
また、ステップS131に進み、DESS I/F2はコマンド解析部69にコマンドENC_Final(2)を送信する。ステップS132に進み、コマンド解析部69は受信したコマンドENC_Final(2)を暗号エンジンI/F71へ送信する。
ステップS133に進み、暗号エンジンI/F71は、共通のI/FであるENC_Final(2)をBSAFE_Final()に変換して暗号エンジン4としてBSAFE4−2に送信する。
ステップS134に進み、DESS I/F2はNCS51に含まれるデーモン1の一例としてのhttpdから暗号終了を要求される。DESS I/F2はステップS135に進み、DESS3内のセッション管理部70にセッション(2)の削除を要求する。
このように、暗号エンジンI/F71は、使用する機能により自動的に暗号エンジン4を選択する場合であっても、暗号エンジン4に依らない共通のI/FであるENC_Init(),ENC_Update()及びENC_Final()に基づいて暗号エンジン4に対応したI/Fを呼び出すことにより、各暗号エンジン4の差異を吸収できる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本発明の原理について説明する為のブロック図である。 本発明による複合機の一実施例のハードウェア構成図である。 本発明による複合機の一実施例のソフトウェア構成図である。 暗号処理モジュール及び暗号処理モジュールインターフェースの一実施例の機能ブロック図である。 暗号エンジンを読み込む構成としたDESSの一例の構成図である。 暗号エンジンを読み込む構成としたDESSの一例の構成図である。 複数の暗号エンジンを同時に読み込む構成としたときのDESSの一例の構成図である。 読み込んだ暗号エンジンが不要になったとき、読み込んだ暗号エンジンを破棄するDESSの一例の構成図である。 暗号エンジンI/Fが呼び出し方の違いによる各暗号エンジンの差異を吸収する仕組みについて説明する説明図である。 DESS I/F及びDESSの処理手順を表したシーケンス図である。 DESS I/F及びDESSの処理手順を表したシーケンス図である。 DESS I/F及びDESSの処理手順を表したシーケンス図である。 DESS I/F及びDESSの処理手順を表したシーケンス図である。
符号の説明
1 デーモン
2 暗号処理モジュールインターフェース(DESS I/F)
3 暗号処理モジュール(DESS)
4 暗号エンジン
10 複合機
11 コントローラ
12 操作パネル
13 FCU
14 エンジン部
21 CPU
22 システムメモリ
23 ノースブリッジ(NB)
24 サウスブリッジ(SB)
25 ASIC
26 ローカルメモリ
27 HDD
28 ネットワークインターフェースカード(NIC)
29 セントロニクス
30,32 PCIバス
31 AGP(Accelerated Graphics Port )
41 アプリケーション
42 API(アプリケーションプログラムインターフェース)
43 サービス層
44 IPC(プロセス間通信)部
45 スレッド制御部(pthread)
46 OS(オペレーティングシステム)
51 NCS
61,66 コマンド送信部
62,65 コマンド受信部
63,68 データ送信部
64,67 データ受信部
69 コマンド解析部
70 セッション管理部
71 暗号エンジンI/F

Claims (12)

  1. 暗号エンジンを用いてデータの暗号処理を行う情報処理装置であって、
    1つ以上のアプリケーション手段と、
    ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段と、
    前記データに対して暗号処理を行う暗号処理手段と、
    前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段と
    を有し、
    前記暗号処理手段は、
    前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、
    前記データに対して暗号処理を行う暗号エンジンと、
    前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、
    前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段と
    を有することを特徴とする情報処理装置。
  2. 前記暗号エンジンインターフェース手段は、前記暗号エンジンを使用する際、前記暗号エンジンの違いによる差異を吸収することを特徴とする請求項1記載の情報処理装置。
  3. 前記コマンド解析手段は、前記コマンドに応じた暗号化処理実行,復号処理実行,前記暗号エンジンの選択を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うことを特徴とする請求項1記載の情報処理装置。
  4. 前記暗号処理手段は、前記他の処理手段との間に張られたセッション数を計数し、前記セッション数が同時に並行処理可能なセッション数の範囲内となるように管理するセッション管理手段を更に有することを特徴とする請求項1記載の情報処理装置。
  5. 記暗号処理手段は、前記暗号エンジンを必要なときに読み込み、前記暗号エンジンが不要になったとき、読み込んだ前記暗号エンジンを破棄することを特徴とする請求項1記載の情報処理装置。
  6. 前記情報処理装置は、プロッタ部及びスキャナ部を備えた画像処理装置であることを特徴とする請求項1乃至何れか一項記載の情報処理装置。
  7. 暗号エンジンを用いてデータの暗号処理を行う情報処理装置を、
    1つ以上のアプリケーション手段、
    ネットワーク側から各プロトコルによって受信したデータを前記アプリケーション手段に振り分け、前記アプリケーション手段から受信したデータをネットワーク側に送信するネットワークコントロール手段、
    前記データに対して暗号処理を行う暗号処理手段、
    前記ネットワークコントロール手段に含まれる前記プロトコルに対応した複数の他の処理手段と前記暗号処理手段との間で、暗号処理に関するコマンド及び暗号処理の対象であるデータを送受信する暗号処理インターフェース手段
    として機能させ、
    前記暗号処理手段は、
    前記他の処理手段との間で、前記暗号処理に関するコマンド及び暗号処理の対象であるデータを、前記暗号処理インターフェース手段を介して送受信する送受信手段と、
    前記データに対して暗号処理を行う暗号エンジンと、
    前記送受信手段と前記暗号エンジンとの間で、前記データを送受信する暗号エンジンインターフェース手段と、
    前記コマンドを解析し、前記コマンドに応じた暗号処理を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うコマンド解析手段と
    を有する暗号処理プログラム。
  8. 前記暗号エンジンインターフェース手段は、前記暗号エンジンを使用する際、前記暗号エンジンの違いによる差異を吸収することを特徴とする請求項記載の暗号処理プログラム。
  9. 前記コマンド解析手段は、前記コマンドに応じた暗号化処理実行,復号処理実行,前記暗号エンジンの選択を、前記暗号エンジン及び暗号エンジンインターフェース手段を用いて行うことを特徴とする請求項記載の暗号処理プログラム。
  10. 前記暗号処理手段は、前記他の処理手段との間に張られたセッション数を計数し、前記セッション数が同時に並行処理可能なセッション数の範囲内となるように管理するセッション管理手段更にする請求項記載の暗号処理プログラム。
  11. 記暗号処理手段は、前記暗号エンジンを必要なときに読み込み、前記暗号エンジンが不要になったとき、読み込んだ前記暗号エンジンを破棄することを特徴とする請求項記載の暗号処理プログラム。
  12. 前記情報処理装置は、プロッタ部及びスキャナ部を備えた画像処理装置であることを特徴とする請求項乃至11何れか一項記載の暗号処理プログラム。
JP2007187627A 2007-07-18 2007-07-18 情報処理装置、暗号処理プログラム Expired - Fee Related JP5277576B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007187627A JP5277576B2 (ja) 2007-07-18 2007-07-18 情報処理装置、暗号処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007187627A JP5277576B2 (ja) 2007-07-18 2007-07-18 情報処理装置、暗号処理プログラム

Publications (2)

Publication Number Publication Date
JP2009027386A JP2009027386A (ja) 2009-02-05
JP5277576B2 true JP5277576B2 (ja) 2013-08-28

Family

ID=40398791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007187627A Expired - Fee Related JP5277576B2 (ja) 2007-07-18 2007-07-18 情報処理装置、暗号処理プログラム

Country Status (1)

Country Link
JP (1) JP5277576B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2689998B2 (ja) * 1990-08-22 1997-12-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 暗号動作を行う装置
US5689565A (en) * 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
JP3668648B2 (ja) * 1999-08-27 2005-07-06 株式会社エヌ・ティ・ティ・ドコモ セッション情報管理方法およびセッション情報管理装置
KR100441077B1 (ko) * 2000-06-08 2004-07-19 인터내셔널 비지네스 머신즈 코포레이션 독립된 장치들이 단일 토큰 인터페이스로서 함께 동작할수 있도록 해주는 방법 및 그래픽 사용자 인터페이스
JP4663245B2 (ja) * 2003-02-04 2011-04-06 株式会社リコー 電子装置、画像処理装置、遠隔管理システム、プログラム及び認証方法
JP2007158618A (ja) * 2005-12-02 2007-06-21 Ricoh Co Ltd 画像処理装置、暗号モジュールのプロセス化方法

Also Published As

Publication number Publication date
JP2009027386A (ja) 2009-02-05

Similar Documents

Publication Publication Date Title
JP4827523B2 (ja) 情報処理装置、情報処理方法、ならびに制御プログラム
US9398084B2 (en) Information processing system
US9692927B2 (en) Device, information processing system, and information processing method
US10296266B2 (en) Printing apparatus that allows an administrator to determine whether to execute registration of the printing apparatus to a printing service on the internet upon receiving a registration request, and control method and program for the apparatus
US8537395B2 (en) Image processing system, image processing apparatus, recording medium and data communication establishing method
US20110067088A1 (en) Image processing device, information processing method, and recording medium
US20070297666A1 (en) Information processing apparatus, service providing method, and service providing program product
US8966244B2 (en) Embedded apparatus, remote-processing method, and computer program product
EP1473903A1 (en) Information processing apparatus and session management method
KR100618043B1 (ko) 서비스 처리장치, 서비스 처리시스템 및 서비스처리시스템의 원 데이터 보관방법
JP2009255390A (ja) 画像形成装置、機能連携制御方法、及び機能連携制御プログラム
US8239857B2 (en) Information processing apparatus and method of installing application program
US20120331175A1 (en) Image processing apparatus that communicates with server via relay device, method of controlling image processing apparatus, and storage medium
JP5277576B2 (ja) 情報処理装置、暗号処理プログラム
JP2008181518A (ja) ドキュメント処理装置の設定をクローニングするシステムおよび方法
JP2007183922A (ja) 情報処理装置、及びアプリケーションインストール方法
JP2007249575A (ja) 情報処理装置、コンピュータ読み取り可能な可搬性記録媒体、情報処理方法、情報処理プログラム及び情報処理システム
JP4396643B2 (ja) 画像処理装置、インターフェース情報公開プログラムおよびインターフェース情報公開方法
KR20200014218A (ko) 정보 처리 방법 및 정보 처리 시스템
US20070223052A1 (en) Terminal device and medium for the same
US10394498B2 (en) Print control apparatus, control method and storage medium for controlling encrypted communication and print processing
US8281124B2 (en) Network apparatus, IPsec setting method therein, and computer-readable recording medium storing a control program for executing the method
JP2006203655A (ja) 画像形成装置設定方法、画像形成装置
JP2004005503A (ja) Webサービス機能を有する画像形成装置
EP4250702B1 (en) Scan to service network system with a backup image forming apparatus taking over an unsuable image forming apparatus having requested a service workflow

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121019

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: 20130423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130506

LAPS Cancellation because of no payment of annual fees