JP2011259284A - 情報保護装置及び情報保護プログラム - Google Patents

情報保護装置及び情報保護プログラム Download PDF

Info

Publication number
JP2011259284A
JP2011259284A JP2010132944A JP2010132944A JP2011259284A JP 2011259284 A JP2011259284 A JP 2011259284A JP 2010132944 A JP2010132944 A JP 2010132944A JP 2010132944 A JP2010132944 A JP 2010132944A JP 2011259284 A JP2011259284 A JP 2011259284A
Authority
JP
Japan
Prior art keywords
widget
information
common key
program
hash value
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.)
Granted
Application number
JP2010132944A
Other languages
English (en)
Other versions
JP5644194B2 (ja
Inventor
Tadayoshi Takada
忠礼 高田
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 JP2010132944A priority Critical patent/JP5644194B2/ja
Priority to US13/150,345 priority patent/US9059843B2/en
Priority to CN201110162067.1A priority patent/CN102291237B/zh
Publication of JP2011259284A publication Critical patent/JP2011259284A/ja
Application granted granted Critical
Publication of JP5644194B2 publication Critical patent/JP5644194B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】保護対象の情報を適切に保護すること。
【解決手段】保護対象の情報の取得要求に応じ、前記取得要求元のプログラムファイルを特定し、該プログラムファイルのハッシュ値を生成するハッシュ値生成手段と、前記ハッシュ値を用いて暗号化されている前記情報を前記ハッシュ値を用いて復号し、復号された該情報を前記取得要求元に返却する復号手段とを有する。
【選択図】図1

Description

本発明は、情報保護装置及び情報保護プログラムに関する。
近年、IT化が進み、各種情報がコンピュータプログラムによって処理され、ネットワーク上を流通している。斯かる情報の中には個人情報や企業内の営業秘密等のように、機密度が非常に高く、特定の者以外への公開が許容されない情報(以下、このような情報を「機密情報」で総称する。)もある。従来、機密情報については、暗号化技術等によって保護されてきた。
なお、機密情報等を暗号化するための暗号鍵(特に、共通鍵暗号方式における暗号鍵や公開鍵暗号方式における秘密鍵)自体も、外部への公開は許容されない。したがって、暗号鍵も、機密情報の一つであるといえる。
しかしながら、機密情報を扱うプログラム自体が改竄されたり、成りすまされたりした場合、機密情報の安全性は保証されなくなる。特に、近年では、ネットワーク等を介して容易にプログラムがダウンロード可能となっている。このようなプログラムは、機密度の高い環境で保護されているプログラムに比べると相対的に改竄等が容易であると考えられ、機密情報の取り扱いには適していない。しかし、ネットワーク上を流通するプログラムのように容易に入手可能なプログラムによって機密情報が扱えると便利な場合もある。そうすると、機密情報自体が安全に保護されうる仕組みが必要となる。
本発明は、上記の点に鑑みてなされたものであって、保護対象の情報を適切に保護することのできる情報保護装置及び情報保護プログラムの提供を目的とする。
そこで上記課題を解決するため、本発明は、保護対象の情報の取得要求に応じ、前記取得要求元のプログラムファイルを特定し、該プログラムファイルのハッシュ値を生成するハッシュ値生成手段と、前記ハッシュ値を用いて暗号化されている前記情報を前記ハッシュ値を用いて復号し、復号された該情報を前記取得要求元に返却する復号手段とを有する。
このような情報保護装置では、保護対象の情報を適切に保護することができる。
保護対象の情報を適切に保護することができる。
本発明の実施の形態における共通鍵保護プログラムの構成例を示す図である。 共通鍵保護プログラムの作成方法を説明するための図である。 共通鍵がアプリケーションに提供される仕組みを説明するための図である。 共通鍵取得用関数の処理手順を説明するための図である。 複数のアプリケーションの共通鍵を保護する共通鍵保護プログラムの構成例を示す図である。 本発明の実施の形態における情報処理システムの構成例を示す図である。 本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。 本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。 ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。 ウィジェットマネージャ及びスキャンウィジェットの起動時の処理手順を説明するためのシーケンス図である。 ユーザ管理テーブルの構成例を示す図である。 スキャンウィジェットのウィジェット情報の例を示す図である。 スキャンウィジェット実行時の処理手順を説明するためのシーケンス図である。 ユーザ選択画面の表示例を示す図である。 ウィジェットマネージャからプロバイダアプリに送信されるスキャンウィジェットのウィジェット情報の構成例を示す図である。 ウィジェット選択画面の表示例を示す図である。 ウィジェットマネージャによる共通鍵保護プログラムの第一の利用形態を説明するためのシーケンス図である。 ウィジェットマネージャによる共通鍵保護プログラムの第二の利用形態を説明するためのシーケンス図である。 ウィジェットマネージャによる共通鍵保護プログラムの第三の利用形態を説明するためのシーケンス図である。 ウィジェットマネージャによる共通鍵保護プログラムの利用形態の概要を示す図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における共通鍵保護プログラムの構成例を示す図である。同図において、共通鍵保護プログラム90は、例えば、DLL(Dynamic Link Library)等の一つのプログラムモジュールであり、共通鍵91及び共通鍵取得用関数92等を含む。
共通鍵91は、共通鍵暗号方式において用いられる暗号鍵であり、本実施の形態において、保護対象の情報に相当する。共通鍵91は、暗号化された状態で共通鍵保護プログラム90に格納されている。同図において、共通鍵91は楕円によって示されているが、当該楕円を囲む、ハッチングが施された矩形は、共通鍵91が暗号化されていることを示す。
共通鍵取得用関数92は、当該関数の呼び出し元(共通鍵91の取得要求元)が正当なプログラムであれば、共通鍵91を復号し、復号された共通鍵91を当該プログラム返却する。呼び出し元が不正なプログラムであれば、共通鍵91は返却されない。なお、呼び出し元が正当であるか否かとは、呼び出し元が共通鍵91の正当な利用者であるか否かをいう。
同図において、共通鍵取得用関数92は、ハッシュ値生成部921及び復号部922等を含む。ハッシュ値生成部921は、呼び出し元のプログラムのファイルのハッシュ値を生成する。復号部922は、生成されたハッシュ値によって(ハッシュ値を用いて)暗号化されている共通鍵91を復号する。
図2は、共通鍵保護プログラムの作成方法を説明するための図である。同図において、アプリケーション95は、保護対象の共通鍵91の正当な利用者であるアプリケーションプログラムである。すなわち、共通鍵91の利用は、アプリケーション95に限定される。
まず、アプリケーション95のプログラムファイル(例えば、EXEファイル等の実行ファイル)のハッシュ値が所定のハッシュ関数によって生成される(S11)。続いて、共通鍵91が、当該ハッシュ値によって(当該ハッシュ値を用いて)暗号化される(S12)。続いて、暗号化された共通鍵91と、共通鍵取得用関数92とを含むプログラムモジュール(すなわち、共通鍵保護プログラム90)が生成される(S13)。
なお、図2に示される手順は、所定のプログラムによって実行されてもよいし、ユーザの操作が途中に介在することによって実現されてもよい。
図3は、共通鍵がアプリケーションに提供される仕組みを説明するための図である。
アプリケーション95は、共通鍵91を利用する場合、共通鍵取得用関数92を呼び出す(S21)。共通鍵取得用関数92の呼び出しは、共通鍵保護プログラム90に対する共通鍵91の取得要求に相当する。呼び出された共通鍵取得用関数92のハッシュ値生成部921は、呼び出し元のアプリケーション95のプログラムファイルを特定し、当該実行ファイルのハッシュ値を所定のハッシュ関数を用いて生成する(S22)。当該所定のハッシュ関数は、図2における、所定のハッシュ関数と同じである。なお、呼び出し元のアプリケーション95のプログラムファイルの特定は、共通鍵取得用関数92内において能動的に行われる必要がある。具体的には、当該プログラムファイルのファイルパス名は、引数等によって外部から(呼び出し元から)与えられるのではなく、共通鍵取得用関数92が、呼び出し元以外のソフトウェア(例えば、OS(Operating System)等)に問い合わせることによって、取得される必要がある。引数によってファイルパス名が与えられる場合、呼び出し元は、正当なアプリケーション95のファイルパス名を引数に指定することで、容易にアプリケーション95に成りすますことが可能だからである。DLL内の関数であれば、呼び出し元のアプリケーション95の実行ファイルのファイルパス名を公知の方法で取得することができる。例えば、GetModuleFileNameという関数を呼び出すことによって、当該ファイルパス名を取得することが可能である。したがって、ハッシュ値生成部921は、当該ファイルパス名に基づいてプログラムファイルにアクセスすればよい。但し、共通鍵保護プログラム90の実装形態は、DLLに限定されない。呼び出し元を特定可能な仕組みが実現可能であれば、使用するプログラム言語や実行環境等に応じて、適当な実装形態を選択すればよい。
続いて、共通鍵取得用関数92の復号部922は、ハッシュ値生成部921によって生成されたハッシュ値によって暗号化された共通鍵91を復号する(S23)。ここで、当該ハッシュ値が、暗号化された共通鍵91生成時のハッシュ値と同じであれば、復号は成功する。すなわち、共通鍵取得用関数92の呼び出し元が、共通鍵91の利用を許可されたアプリケーション95であれば、復号は成功する。復号に成功した場合、復号部922は、復号された共通鍵91を呼び出し元のアプリケーション95に返却(出力)する(S24)。
図3において説明した内容について、共通鍵取得用関数92の処理手順に焦点を当てて説明する。図4は、共通鍵取得用関数の処理手順を説明するための図である。
同図には、正当なアプリケーション95と、アプリケーション95が改竄されたアプリケーション95aとのそれぞれより、共通鍵91の取得要求が受け付けられた場合の処理手順が示されている。
共通鍵91の取得要求に応じ(S31又はS31a)、共通鍵取得用関数92のハッシュ値生成部921は、呼び出し元(取得要求元)のプログラムファイルを特定する(S32)。続いて、ハッシュ値生成部921は、特定されたプログラムファイルのハッシュ値を生成する(S33)。続いて、復号部922は、生成されたハッシュ値を用いて、暗号化された共通鍵91を復号する(S34)。ここで、アプリケーション95のプログラムファイルのハッシュ値を用いた復号処理は成功する。一方、アプリケーション95aのプログラムファイルのハッシュ値は、アプリケーション95のプログラムファイルのハッシュ値とは異なる。したがって、アプリケーション95aのプログラムファイルのハッシュ値を用いた復号処理は失敗する。
復号に成功した場合(S35でYes)、復号部922は復号された共通鍵91を呼び出し元に返却する(S36)。したがって、アプリケーション95は、共通鍵91の取得に成功する(S37)。
一方、復号に失敗した場合(S35でNo)、復号部922はエラーを呼び出し元に返却する(S36a)。したがって、アプリケーション95aは、共通鍵91の取得に失敗する(S37a)。
このように、本実施の形態の共通鍵保護プログラム90によれば、共通鍵91は、正当なアプリケーション95のハッシュ値によって暗号化されて管理される。共通鍵91の取得が要求された際は、取得要求元のプログラムファイルのハッシュ値に基づいて復号が試みられる。復号に成功した場合は、復号された共通鍵91が提供され、復号に失敗した場合は、共通鍵91は提供されない。
基本的に、プログラムファイルが異なる場合、ハッシュ値は異なる。したがって、共通鍵91の利用者を正当なアプリケーション95に限定することができる。すなわち、改竄されたアプリケーション95aによって、共通鍵91が利用されることを防止することができる。
なお、アプリケーション95は、例えば、自らの身元を証明するための道具として共通鍵91を利用することができる。具体的には、アプリケーション95と情報をやりとりし、共通鍵91を共有する通信相手との通信時において、アプリケーション95は、共通鍵91を用いて情報を暗号化して送信する。通信相手は、受信された情報が共通鍵91によって復号することができれば、当該情報の送信元の正当性を確認することができる。当該共通鍵91を取得できるのは、正当なアプリケーション95のみだからである。
共通鍵91がこのように利用される場合、共通鍵保護プログラム90によって、アプリケーション95の成りすましの防止、並びに通信対象の情報の盗聴及び改竄等を適切に防止することができる。
なお、一つの共通鍵保護プログラム90は、複数のアプリケーションの共通鍵91を保護(管理)してもよい。すなわち、共通鍵保護プログラム90とアプリケーションとの関係は1対多であってもよい。
図5は、複数のアプリケーションの共通鍵を保護する共通鍵保護プログラムの構成例を示す図である。同図において、共通鍵保護プログラム90は、3つの暗号化された共通鍵91を含む。各共通鍵91を囲む矩形のハッチングの違いは、暗号化に利用されたハッシュ値の違いを示す。すなわち、3つのアプリケーション95のそれぞれのプログラムファイルのハッシュ値は異なるからである。
一つの共通鍵保護プログラム90に複数の共通鍵91が含まれる場合、共通鍵取得用関数92は、呼び出し元のアプリケーション95のプログラムファイルのハッシュ値によって、各共通鍵91の復号を試み、復号に成功した共通鍵91を返却すればよい。全ての共通鍵91の復号に失敗した場合、共通鍵取得用関数92は、エラーを返却すればよい。
又は、各アプリケーション95のプログラムファイルのファイル名等、共通鍵取得用関数92が取得可能なアプリケーション95の識別情報と、暗号化された共通鍵91とが対応付けられて共通鍵保護プログラム90内に格納されていてもよい。この場合、共通鍵取得用関数92は、呼び出し元の識別情報を取得し、当該取得された識別情報に対応する暗号化された共通鍵91について復号を行えばよい。なお、複数の共通鍵は、実現したいことに応じて、同じものであってもよいし、異なるものであってもよい。
続いて、共通鍵保護プログラム90を、具体的な情報処理システムに組み込んだ例について説明する。
図6は、本発明の実施の形態における情報処理システムの構成例を示す図である。同図の情報処理システム1において、一台以上の画像形成装置10と、一台以上のユーザ端末20とは、LAN(Local Area Network)等のネットワーク30(有線又は無線の別は問わない。)を介して接続されている。また、ユーザ端末20と、画像処理サーバ40、ログ収集サーバ50、及びダウンロードサーバ60等は、インターネット等の広域的なネットワーク70を介して接続されている。
画像形成装置10は、印刷、スキャン、コピー、及びFAX送受信等の機能を一台の筐体によって実現する複合機である。但し、いずれか一つの機能を実現する装置(プリンタ、スキャナ、コピー機、ファクシミリ等)を画像形成装置10として用いてもよい。本実施の形態においては、スキャン機能を実現するためのハードウェアを備えていればよい。
ユーザ端末20は、ユーザが利用する個人端末であり、ソフトウェアプログラムのインストール及び実行が可能であり、通信機能を有するものであれば、特定の装置に限定されない。ユーザ端末20の具体例として、デスクトップ型のPC(Personal Computer)、ノートPC、PDA(Personal Digital Assistance)、又は携帯電話等が挙げられる。
画像処理サーバ40は、画像データに対して所定の変換処理を実行するWebサービスをネットワーク70を介して提供するコンピュータである。
ログ収集サーバ50は、後述されるウィジェットマネージャ22による処理のログを収集し、蓄積するコンピュータである。
ダウンロードサーバ60は、後述されるウィジェット21やウィジェットマネージャ22を、ネットワーク70を介して配布するコンピュータである。すなわち、ダウンロードサーバ60は、ウィジェット21及びウィジェットマネージャ22のダウンロードサイトを提供する。
ユーザ端末20のソフトウェア構成について説明する。図6において、ユーザ端末20は、スキャンウィジェット21a、印刷ウィジェット21b、ウィジェットマネージャ22、共通鍵保護プログラム90a、及びOS25等を有する。
スキャンウィジェット21a及び印刷ウィジェット21bは、本実施の形態において、「ウィジェット21」として総称されるアプリケーションプログラムである。近年では、ウィジェット(Widget)又はガジェット(Gadget)とよばれる手軽なアプリケーションが流通している。本実施の形態では、手軽にインストールして利用可能なアプリケーションという程度の意味においてこれらのアプリケーションをウィジェット21と呼ぶ(すなわち、技術的な意義において限定する趣旨ではない)。但し、本実施の形態において、各ウィジェット21は、ネットワーク上又はユーザ端末20において提供されているサービスを利用して、所定の機能(例えば、ワークフロー等の一連の処理フロー)を実現するという点において共通する。
スキャンウィジェット21aは、画像形成装置10にスキャンを実行させ、スキャンされた画像データを画像処理サーバ40に転送するウィジェット21である。印刷ウィジェット21bは、ユーザ端末20内に保存されている文書データの印刷を画像形成装置10に実行させるウィジェット21である。
ウィジェットマネージャ22は、ウィジェット21のフレームワークとして位置付けられ、ウィジェット21と画像形成装置10との間の通信の仲介等を行う。各ウィジェット21は、ウィジェットマネージャ22によって規定されるインタフェース及び処理手順を備える必要がある。換言すれば、ウィジェットマネージャ22と協調して動作するアプリケーションが、本実施の形態におけるウィジェット21である。
なお、本実施の形態において、各ウィジェット21及びウィジェットマネージャ22は、ダウンロードサーバ60よりダウンロードされてユーザ端末20にインストールされる。
共通鍵保護プログラム90aは、ウィジェットマネージャ22が利用する共通鍵91aを保護する。すなわち、共通鍵保護プログラム90aには、ウィジェットマネージャ22が利用する共通鍵91aが、ウィジェットマネージャ22のプログラムファイルのハッシュ値によって暗号化された状態で格納されている。例えば、共通鍵保護プログラム90aは、ウィジェットマネージャ22と共に、ダウンロードサーバ60よりダウンロード(配布)される。なお、共通鍵保護プログラム90aの機能構成は、図1等において説明した共通鍵保護プログラム90と同じである。但し、保護対象となる共通鍵の実体、及び共通鍵の暗号化に用いられているハッシュ値は、共通鍵保護プログラム90と異なる。したがって、参照番号の末尾に「a」が付加されている。
OS25は、いわゆるOS(Operating System)である。ユーザ端末20上の各ソフトウェアは、OS25上においてプロセス又はスレッドとして動作する。
画像形成装置10のソフトウェア構成について説明する。図6において、 画像形成装置10は、アプリケーション120、及びアプリ制御部1230等のソフトウェアを有する。アプリケーション120は、ユーザから要求されたジョブを実行するプログラムである。同図では、スキャンアプリ121、印刷アプリ122、及びプロバイダアプリ123等がアプリケーション120として例示されている。スキャンアプリ121は、スキャンジョブを実行する。印刷アプリ122は印刷ジョブを実行する。プロバイダアプリ123は、画像形成装置10をウィジェット(厳密にはウィジェットマネージャ22)と連携させるための処理を実行する。
アプリ制御部1230は、各アプリケーション120間の調停等を行う。例えば、アプリ制御部1230は、ユーザによる操作指示に応じ、アクティブなアプリケーション120を切り替える。アクティブなアプリケーション120とは、画像形成装置10の操作パネル15に操作画面を表示させている(すなわち、操作パネルを介して操作可能な状態にある)アプリケーション120をいう。
続いて、各装置のハードウェア構成について説明する。図7は、本発明の実施の形態における画像形成装置のハードウェア構成例を示す図である。図7において、画像形成装置10は、コントローラ11、スキャナ12、プリンタ13、モデム14、操作パネル15、ネットワークインタフェース16、及びSDカードスロット17等のハードウェアを有する。
コントローラ11は、CPU111、RAM112、ROM113、及びHDD114等を有する。ROM113には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM112は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU111は、RAM112にロードされたプログラムに基づいて、各種の機能を実現する。HDD114には、プログラムやプログラムが利用する各種のデータ等が記録される。
スキャナ12は、原稿より画像データを読み取るためのハードウェアである。プリンタ13は、印刷データを印刷用紙に印刷するためのハードウェアである。モデム14は、電話回線に接続するためのハードウェアであり、FAX通信による画像データの送受信を実行するために用いられる。操作パネル15は、ユーザからの入力の受け付けを行うためのボタン等の入力手段や、液晶パネル等の表示手段を備えたハードウェアである。ネットワークインタフェース16は、LAN等のネットワーク(有線又は無線の別は問わない。)に接続するためのハードウェアである。SDカードスロット17は、SDカード80に記録されたプログラムを読み取るために利用される。すなわち、画像形成装置10では、ROM113に記録されたプログラムだけでなく、SDカード80に記録されたプログラムもRAM112にロードされ、実行されうる。なお、他の記録媒体(例えば、CD−ROM又はUSB(Universal Serial Bus)メモリ等)によってSDカード80が代替されてもよい。すなわち、SDカード80の位置付けに相当する記録媒体の種類は、所定のものに限定されない。この場合、SDカードスロット17は、記録媒体の種類に応じたハードウェアによって代替されればよい。
図8は、本発明の実施の形態におけるユーザ端末のハードウェア構成例を示す図である。図8のユーザ端末20は、それぞれバスBで相互に接続されているドライブ装置200と、補助記憶装置202と、メモリ装置203と、CPU204と、インタフェース装置205と、表示装置206と、入力装置207とを有する。
ユーザ端末20での処理を実現するプログラムは、CD−ROM又はメモリカード等の記録媒体201によって提供される。プログラムを記録した記録媒体201がドライブ装置200にセットされると、プログラムが記録媒体201からドライブ装置200を介して補助記憶装置202にインストールされる。但し、プログラムのインストールは必ずしも記録媒体201より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置202は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置203は、プログラムの起動指示があった場合に、補助記憶装置202からプログラムを読み出して格納する。CPU204は、メモリ装置203に格納されたプログラムに従ってユーザ端末20に係る機能を実現する。インタフェース装置205は、ネットワーク接続用のインタフェースである。表示装置206はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置207はキーボード、マウス、又はボタン等で構成され、様々な操作指示を入力させるために用いられる。
続いて、ウィジェット21、ウィジェットマネージャ22、及びプロバイダアプリ123について更に詳しく説明する。図9は、ウィジェット、ウィジェットマネージャ、及びプロバイダアプリの機能構成例を示す図である。
同図に示されるように、各ウィジェット21は、ウィジェットUI部211、ウィジェット情報送信部212、連携部213、ロジック部214、及び属性情報管理ファイル215等を有する。
ウィジェットUI部211は、ウィジェット21関する各種の表示画面をユーザ端末20の表示装置206に表示させる。ウィジェット情報送信部212は、ウィジェット21が起動されたときに、ウィジェット情報の登録要求をウィジェットマネージャ22に送信する。ウィジェット情報にはウィジェット21の実行に必要な情報が含まれる。連携部213は、ウィジェットマネージャ22との連携のためのコミュニケーション(情報のやりとり等)を制御する。属性情報管理ファイル215は、ウィジェット21対する設定情報等を格納するファイルである。ロジック部214は、各ウィジェット21に固有の機能が実装される部分である。例えば、スキャンウィジェット21aのロジック部215は、スキャンされた画像データについて、画像処理サーバ40への転送処理等を実行する。
ウィジェットマネージャ22は、ウィジェット情報登録部221、広告部222、ウィジェット情報提供部223、仲介部224、ログ転送部225、アップデート部226、及びウィジェット情報管理テーブル227等を有する。
ウィジェット情報登録部221は、ウィジェット21より送信されるウィジェット情報の登録要求を受信し、当該ウィジェット情報をウィジェット情報管理テーブル227に保存する。ウィジェット情報管理テーブル227には、ユーザ端末20において起動されている各ウィジェット21のウィジェット情報が登録されるテーブルであり、ユーザ端末20の補助記憶装置202に記録される。
広告部222は、ウィジェット情報登録部221によって受信されたウィジェット情報に含まれるユーザID等をネットワーク上に広告(ブロードキャスト又はマルチキャスト等)する。広告は、ユーザ単位(ユーザID単位)で発行される。したがって、広告部222による広告は、何らかのウィジェット21を利用可能になったユーザが新たに発生したことを画像形成装置10に通知するための情報である。但し、ウィジェット情報単位で広告が行われてもよい。この場合、同一ユーザについて重複して広告が発行されることになるが、重複の排除は画像形成装置10側で行えばよい。
ウィジェット情報提供部223は、画像形成装置10からの要求に応じ、ウィジェット情報管理テーブル227に登録されているウィジェット情報を画像形成装置10に提供(送信)する。仲介部224は、ウィジェット21とプロバイダアプリ123とのコミュニケーションを仲介又は中継する。ログ転送部225は、ウィジェットマネージャ22が実行する処理のログを、所定のタイミングでログ収集サーバ50に転送する。アップデート部226は、ウィジェットマネージャ22のバージョンアップ等に伴い、自動的にウィジェットマネージャ22を更新するための処理を実行する。
プロバイダアプリ123は、ユーザ検知部1231、UI制御部1232、ウィジェット情報取得部1233、ウィジェット連携部1234、機能制御部1235、及びユーザ管理テーブル1236等を有する。
ユーザ検知部1231は、ウィジェットマネージャ22より発行される広告に基づいて、ウィジェット21を利用可能なユーザの存在を検知し、広告に含まれているユーザID等をユーザ管理テーブル1236に登録する。ユーザ管理テーブル1236は、利用可能なウィジェット21がネットワーク上に存在するユーザの一覧を管理するテーブルである。
UI制御部1232は、ユーザよりウィジェット21の操作指示等の入力を受け付ける。すなわち、ウィジェット21は、ユーザ端末20に配置されているが、画像形成装置10の操作パネル15からも操作されうる。ウィジェット情報取得部1233は、ユーザ管理テーブル1236に登録されているユーザの中から選択されたユーザに属するウィジェット21のウィジェット情報をウィジェットマネージャ22より取得する。ウィジェット連携部1234は、ウィジェットマネージャ22とのコミュニケーションを制御する。機能制御部1235は、ウィジェット21から要求された機能の実行を制御する。
以下、情報処理システム1の処理手順について説明する。図10は、ウィジェットマネージャ及びスキャンウィジェットの起動時の処理手順を説明するためのシーケンス図である。
ユーザの指示に応じ、又は自動的にウィジェットマネージャ22が起動されると、ウィジェットマネージャ22の広告部222は、ユーザIDとウィジェット情報取得用URL(Uniform Resource Locator)とを含むユーザ情報の広告を、ネットワーク30上に発行する(S101)。なお、ユーザID及びウィジェット情報取得用URLは、ウィジェットマネージャ22に対する設定情報として、例えば、補助記憶装置202に予め記録されている。ウィジェット情報取得用URLとは、ウィジェットマネージャ22ごとに一意なURLである。したがって、各画像形成装置10のプロバイダアプリ123は、ウィジェット情報取得用URLに基づいて、各ウィジェットマネージャ22を識別することができる。
続いて、プロバイダアプリ123のユーザ検知部1231は、広告を受信すると、当該広告に含まれているユーザID及びウィジェット情報取得用URLをユーザ管理テーブル1236に登録する(S102)。
図11は、ユーザ管理テーブルの構成例を示す図である。同図に示されるように、ユーザ管理テーブル1236は、ユーザIDとウィジェット情報取得用URLとの組(ペア)を管理する。同図では、ユーザA及びユーザBについてレコードが登録されている例が示されている。なお、ユーザ管理テーブル1236は、例えば、HDD114に記憶されている。
続いて、ユーザ端末20において、スキャンウィジェット21aがユーザによる指示入力等に応じて起動される。スキャンウィジェット21aの起動に応じ、スキャンウィジェット21aのウィジェット情報送信部212は、自らの属性情報管理ファイル215よりウィジェット情報を読み込み、当該ウィジェット情報の登録要求をウィジェットマネージャに送信する(S103)。なお、スキャンウィジェット21aのウィジェット情報は、画像形成装置10に対する画像データの読み取り要求(スキャン要求)に相当する。
図12は、スキャンウィジェットのウィジェット情報の例を示す図である。同図において、スキャンウィジェット21aのウィジェット情報は、ウィジェットID、ユーザID、連携機能識別子、ウィジェットアドレス、表示名、及びスキャン設定情報等を含む。
ウィジェットIDは、各ウィジェット21を一意に識別する識別情報である。ユーザIDは、スキャンウィジェット21aの所有者であるユーザの識別情報である。連携機能識別子は、スキャンウィジェット21aと連携するために画像形成装置10が有している必要のある機能(換言すれば、スキャンウィジェット21aが利用する画像形成装置10の機能)を識別するための情報である。連携機能識別子の一例として「print」、「scan」等が挙げられる。「print」は、印刷機能を示す。「scan」は、スキャン機能を示す。スキャンウィジェット21aは、画像形成装置10のスキャン機能を利用する。したがって、図12の例では、「scan」が連携機能識別子とされている。ウィジェットアドレスは、ネットワーク通信において各ウィジェットを一意に識別するための識別情報(例えば、URL等)である。表示名は、スキャンウィジェット21aの名前の表示用の文字列である。
スキャン設定情報は、解像度、カラーモード(カラー又はモノクロの別)等のスキャン機能に関する設定情報である。
スキャンウィジェット21aのウィジェット情報送信部212より送信されたウィジェット情報は、ウィジェットマネージャ22のウィジェット情報登録部221によって受信される。ウィジェット情報登録部221は、受信されたウィジェット情報をウィジェット情報管理テーブル227に登録する(S104)。
スキャンウィジェット21aは、ウィジェット情報を送信した後、画像形成装置10において画像データがスキャンされたことを確認するためのポーリングを行い、画像データの転送(返信)を待機する。具体的には、スキャンウィジェット21aの連携部213は、スキャンされた画像データ(スキャン画像)の取得要求をウィジェットマネージャ22の仲介部224に送信する(S105)。仲介部224は、当該取得要求に対する応答を行う(S106)。この段階では、画像データはスキャンされていないため、スキャン画像は無いことを示す応答が返信される。その後もスキャン画像の取得要求(S105)は一定間隔ごとに繰り返し行われる。スキャン画像の取得要求には、ウィジェットIDが含められてもよい。
ユーザ端末20においてスキャンウィジェット21aを起動させた後、ユーザは、スキャンウィジェット21aを利用するために画像形成装置10の設置場所へ移動する。複数の画像形成装置10がネットワーク30に接続されている場合、同一の広告が各画像形成装置10のユーザ検知部1231によって受信され、それぞれの画像形成装置10のユーザ管理テーブル1236にユーザID及びウィジェット情報取得用URLが登録される。したがって、ユーザは、複数の画像形成装置10のいずれからもスキャンウィジェット21aを利用することができる。
続いて、画像形成装置10に対するユーザによる操作に応じて実行される処理について説明する。図13は、スキャンウィジェット実行時の処理手順を説明するためのシーケンス図である。
画像形成装置10の操作パネル15を介してプロバイダアプリ123の利用指示がユーザによって入力されると、アプリ制御部120の制御によって、プロバイダアプリ123はアクティブ状態に遷移する(S201)。アクティブ状態への遷移に応じ、プロバイダアプリ123のUI制御部1232は、ユーザ管理テーブル1236に登録されている情報に基づいてユーザ選択画面を操作パネル15に表示させる(S202)。
図14は、ユーザ選択画面の表示例を示す図である。同図に示されるユーザ選択画面610には、ユーザIDごとにボタンが表示されている。同図では、ユーザAに対応するボタン611とユーザBに対応するボタン612とが表示されている。
続いて、ユーザは、ユーザ選択画面610において自らのユーザIDに対応するボタンを押下する(S203)。ボタンの押下に応じ、ウィジェット情報取得部1233は、選択されたボタンに対応するユーザIDに関連付けられているウィジェット情報取得用URLをユーザ管理テーブル1236より取得する。なお、ユーザIDに対応するボタンの押下に応じ、ユーザの認証を行い、ユーザが認証された場合にのみ以降の処理が実行されるようにしてもよい。
続いて、ウィジェット情報取得部1233は、選択されたユーザIDに対応するウィジェット情報取得用URL宛に、ウィジェット情報の取得要求を送信する(S204)。ウィジェット情報の取得要求は、ウィジェットマネージャ22のウィジェット情報提供部223によって受信される。ウィジェット情報提供部223は、ウィジェット情報管理テーブル227に登録されているウィジェット情報の一覧を取得し、当該一覧をプロバイダアプリ123に送信する(S205)。ウィジェット情報の一覧の送信に際し、ウィジェット情報提供部223は、プロバイダアプリ123と各ウィジェット21との通信を中継するためのURL(以下、「ウィジェット中継用URL」という。)をウィジェット21ごと(ウィジェット情報ごと)に一意に生成する。ウィジェット情報提供部223は、ウィジェット21ごとに生成されたウィジェット中継用URLを、各ウィジェット21に対応するウィジェット情報に付加し、ウィジェット中継用URLが付加されたウィジェット情報の一覧をプロバイダアプリ123に送信する。したがって、ステップS205において送信されるウィジェット情報は、例えば、図15に示されるような構成を有する。
図15は、ウィジェットマネージャからプロバイダアプリに送信されるスキャンウィジェットのウィジェット情報の構成例を示す図である。
同図に示されるウィジェット情報は、図12のウィジェット情報に対してウィジェット中継用URLが付加されたものである。ステップS205では、同図に示されるようなウィジェット情報の一覧が送信される。ここでは、ウィジェット情報が一つしか含まれないものもウィジェット情報の一覧という。
続いて、プロバイダアプリ123のUI制御部1232は、受信されたウィジェット情報の一覧をRAM112に記録しておき、当該ウィジェット情報の一覧に基づいて、ユーザに利用可能なウィジェット21の一覧を含む画面(ウィジェット選択画面)を表示させる(S206)。
図16は、ウィジェット選択画面の表示例を示す図である。同図においてウィジェット選択画面620には、スキャンウィジェット21aに対応するボタン621が表示されている。なお、ユーザ端末20においてスキャンウィジェット21a以外のウィジェット21(例えば、印刷ウィジェット21b)も起動されている場合、当該ウィジェット21に関するウィジェット情報もプロバイダアプリ123に転送される。したがって、当該ウィジェット21に対応するボタンもウィジェット選択画面620に表示される。
画像形成装置10に原稿がセットされ、ウィジェット選択画面620において、スキャンウィジェット21aに対応するボタン621が選択されると(S207)、プロバイダアプリ123のウィジェット連携部1234は、押下されたボタンに対応するウィジェット情報(以下、「カレントウィジェット情報」という。)に含まれている連携機能識別子(「scan」)に基づいて、スキャン(画像データの読み取り)を実行すべきことを認識する。そこで、ウィジェット連携部1234は、スキャンの実行を機能制御部1235に要求する。
機能制御部1235は、カレントウィジェット情報に含まれているスキャン設定情報に基づいて、原稿からの画像データの読み取りを制御する(S208)。より詳しくは、機能制御部1235は、画像形成装置10にセットされた原稿に対するスキャンをスキャナ12に実行させ、その結果得られる画像データ(スキャン画像)をウィジェット連携部1234に出力する。スキャン画像は、例えば、JPEG(Joint Photographic Experts Group)、TIFF(Tagged Image File Format)、又はPDF(Portable Document Format)等の形式で生成される。
続いて、ウィジェット連携部1234は、スキャン画像をカレントウィジェット情報に含まれているウィジェット中継用URL宛に送信する(S209)。ウィジェット中継用URL宛に送信されたスキャン画像は、ウィジェットマネージャ22の仲介部224によって受信される。続いて、仲介部224は、スキャン画像の受信後に受信される、当該ウィジェット中継用URLに対応するスキャンウィジェット21aからのスキャン画像の取得要求(S115)に応じ、当該スキャン画像を当該スキャンウィジェット21aの連携部213に転送する(S121)。
連携部213は、スキャン画像を受信すると、当該スキャン画像をロジック部214に入力する。ロジック部214は、当該スキャン画像を画像処理サーバ40に転送する(S122)。画像処理サーバ40は、転送された画像データに対して所定の処理を実行する。
以上のような処理手順において、例えば、画像処理サーバ40に対して、スキャン画像の送信元の正当性を示すために共通鍵保護プログラム90aを利用することができる。
図17は、ウィジェットマネージャによる共通鍵保護プログラムの第一の利用形態を説明するためのシーケンス図である。図17には、図13の一部の手順が抜粋されている。図17中、図13と同一ステップには同一ステップ番号を付し、その説明は適宜省略する。
ウィジェットマネージャ22の仲介部224は、プロバイダアプリ123によってウィジェット中継用URL宛に送信されたスキャン画像を受信すると(S209)、共通鍵保護プログラム90aの共通鍵取得用関数92aを呼び出す(S211)。共通鍵取得用関数92aのハッシュ値生成部921aは、呼び出し元のウィジェットマネージャ22のプログラムファイルのハッシュ値を生成する(S212)。続いて、復号部922aは、生成されたハッシュ値によって、暗号化されている共通鍵91aを復号する(S213)。復号に成功した場合、復号部922aは、復号された共通鍵91aをウィジェットマネージャ22に返却する(S214)。
続いて、ウィジェットマネージャ22の仲介部224は、スキャン画像を共通鍵91aによって暗号化する(S215)。その後、仲介部224は、スキャンウィジェット21aからのスキャン画像の取得要求(S115)に応じ、暗号化されているスキャン画像を当該スキャンウィジェット21aの連携部213に転送する(S121)。
したがって、スキャンウィジェット21aは、画像処理サーバ40に対して暗号化されているスキャン画像を転送することになる。画像処理サーバ40は、ウィジェットマネージャ22に対する共通鍵91aを用いてスキャン画像を復号する。すなわち、画像処理サーバ40には、予めウィジェットマネージャ22の共通鍵91aが保存されており、当該共通鍵91aは安全に管理されている。復号に成功することにより、画像処理サーバ40は、当該スキャン画像の出所の正当性及び改竄されていないことを確認することができる。すなわち、ウィジェットマネージャ22の成りすましが防止される。また、ネットワーク上の流通過程におけるスキャン画像の盗聴を適切に防止することができる。
また、図13においては、説明を省略したが、スキャンマネージャ22は、所定の処理の実行時において、ログをログ収集サーバ50に転送する。この場合においても、ログの出所の正当性を示すために、共通鍵保護プログラム90aを利用することができる。
図18は、ウィジェットマネージャによる共通鍵保護プログラムの第二の利用形態を説明するためのシーケンス図である。
ウィジェットマネージャ22のログ転送部225は、ログの転送時において、共通鍵保護プログラム90aの共通鍵取得用関数92aを呼び出す(S301)。共通鍵取得用関数92aのハッシュ値生成部921aは、呼び出し元のウィジェットマネージャ22のプログラムファイルのハッシュ値を生成する(S302)。続いて、復号部922aは、生成されたハッシュ値によって、暗号化されている共通鍵91aを復号する(S303)。復号に成功した場合、復号部922aは、復号された共通鍵91aをウィジェットマネージャ22に返却する(S304)。
続いて、ウィジェットマネージャ22のログ転送部225は、ログを共通鍵91aによって暗号化する(S305)。続いて、ログ転送部225は、暗号化されたログをログ収集サーバ50に転送する(S306)。
ログ収集サーバ50は、ウィジェットマネージャ22に対する共通鍵91aを用いてログを復号する。すなわち、ログ収集サーバ50には、予めウィジェットマネージャ22の共通鍵91aが保存されており、当該共通鍵91aは安全に管理されている。復号に成功することにより、ログ収集サーバ50は、当該ログの出所の正当性及び改竄されていないことを確認することができる。すなわち、ウィジェットマネージャ22の成りすましが防止される。また、ネットワーク上の流通過程におけるログの盗聴を適切に防止することができる。
なお、図17及び図18のケースにおいて、画像処理サーバ40又はログ収集サーバ50が、共通鍵91aを有しているのでなく、ウィジェットマネージャ22の提供者が作成した復号ツールを有していても良い。当該復号ツールは、ウィジェットマネージャ22の共通鍵91aによって暗号化されたデータを復号するプログラムである。このようなツールを提供することにより、共通鍵91aの漏洩の可能性を低減させることができる。
または、ウィジェットマネージャ22の提供者が運営する復号サーバが、ウィジェットマネージャ22の共通鍵91aによって暗号化されたデータの復号を行ってもよい。この場合、画像処理サーバ40又はログ収集サーバ50は、暗号化されたスキャン画像又はログを復号サーバに送信する。復号サーバは、予め有している、ウィジェットマネージャ22の共通鍵91a又は上記復号ツールによって、スキャン画像又はログを復号し、返信する。この場合、スキャン画像又はログを復号サーバと、復号サーバとの間は、セキュアな通信プロトコルが用いられるのが望ましい。
続いて、ウィジェットマネージャ22がバージョンアップ等によって更新される場合において、共通鍵保護プログラム90aが利用される形態について説明する。
図19は、ウィジェットマネージャによる共通鍵保護プログラムの第三の利用形態を説明するためのシーケンス図である。
ウィジェットマネージャ22のアップデート部226は、例えば、定期的にダウンロードサーバ60にポーリングを行い、更新ファイルの有無を確認する(S401)。更新ファイルは、更新されたウィジェットマネージャ22を含むファイルである。例えば、ウィジェットマネージャ22が複数のファイルから構成される場合において、一部のファイルが更新された場合は、その一部(すなわち、差分)のみが更新ファイルに含まれていてもよい。また、更新ファイルは、更新後のウィジェットマネージャ22に対応する共通鍵保護プログラム90aを含む。更新によってウィジェットマネージャ22のハッシュ値は異なるものとなるところ、共通鍵91aは、更新後のウィジェットマネージャ22のハッシュ値によって暗号化されて共通鍵保護プログラム90aに格納されている必要があるからである。なお、更新ファイルは、更新前のウィジェットマネージャ22の共通鍵91aによって暗号化されている。
更新ファイルが存在する場合、ダウンロードサーバ60より更新ファイルが返信される(S402)。
更新ファイルが返信されると、アップデート部226は、共通鍵保護プログラム90aの共通鍵取得用関数92aを呼び出す(S403)。共通鍵取得用関数92aのハッシュ値生成部921aは、呼び出し元のウィジェットマネージャ22のプログラムファイルのハッシュ値を生成する(S404。続いて、復号部922aは、生成されたハッシュ値によって、暗号化されている共通鍵91aを復号する(S405)。復号に成功した場合、復号部922aは、復号された共通鍵91aをウィジェットマネージャ22に返却する(S406)。
続いて、アップデート部226は、共通鍵91aによって更新ファイルを復号する(S407)。復号に成功した場合、アップデート部226は、復号された更新ファイルを用いてウィジェットマネージャ22の更新処理を実行する(S408)。続いて、アップデート部226は、更新ファイルに含まれている、更新後のウィジェットマネージャ22に対応する共通鍵保護プログラム90aによって、既存の共通鍵保護プログラム90aを更新(置換)する(S409)。
第三の利用形態の場合、ウィジェットマネージャ22は、更新ファイルの出所の正当性を確認することができる。すなわち、共通鍵91aによって復号に成功した場合、更新ファイルの転送元は、正当なダウンロードサーバ60であることが確認される。更新ファイルを共通鍵91aによって暗号化できるのは正当なダウンロードサーバ60に限定されるからである。したがって、不正な更新ファイルによるウィジェットマネージャ22の更新が防止される。
また、ウィジェットマネージャ22の提供者が予定していない、ユーザによる改変を抑制することもできる。ウィジェットマネージャ22を改変したユーザは、ウィジェットマネージャ22の更新(バージョンアップ等)のサービスを受けることが出来なくなる。改変されたウィジェットマネージャ22は、更新ファイルを復号するための共通鍵91aを取得することが出来なくなるからである。このことが改変に対する抑止力として働くことが期待できる。
図17、図18、及び図19において説明した内容をまとめたものが、図20に示される。図20は、ウィジェットマネージャによる共通鍵保護プログラムの利用形態の概要を示す図である。
本実施の形態の情報処理システム1において、プロバイダアプリ123とスキャンウィジェット21aとの間の通信は、ウィジェットマネージャ22によって仲介される。換言すれば、情報処理システム1において通信される情報の大部分はウィジェットマネージャ22を経由する。したがって、ウィジェットマネージャ22によって情報の安全性を保証されるのが経済的であると考え、ウィジェットマネージャ22に共通鍵保護プログラム90aを付随される例について説明した。
但し、プロバイダアプリ123又はスキャンウィジェット21a等、ウィジェットマネージャ22以外のプログラムのそれぞれに、共通鍵保護プログラム90aを付随させてもよい。例えば、第一の利用形態(図17)では、スキャンウィジェット21aに対する共通鍵91bを保護する共通鍵保護プログラム90bが実装されてもよい。この場合、スキャンマネージャ22によってではなく、スキャンウィジェット21aによって、当該共通鍵保護プログラム90bより取得される共通鍵91bを用いてスキャン画像が暗号化されればよい。画像処理サーバ40は、当該共通鍵91bを共有し、スキャンウィジェット21aより転送されたスキャン画像を、当該共通鍵91bによって復号すればよい。
また、プロバイダアプリ123、ウィジェットマネージャ22、及びスキャンウィジェット21aのそれぞれに共通鍵保護プログラム90を割り当て、これら3者間の通信の安全性が共通鍵91による暗号化によって確保されるようにしてもよい。
なお、本実施の形態では、共通鍵を保護対象の情報とした例について説明したが、本実施の形態の共通鍵保護プログラム90の仕組みによって保護可能な情報は、所定のものに限定されない。例えば、特定のプログラムにのみ利用を許可したい保護情報がある場合、当該保護情報を当該プログラムのハッシュ値で暗号化したものを、共通鍵取得用関数92に相当する関数(以下、「保護情報取得用関数」という。)と共にプログラムモジュールに格納すればよい。
また、当該プログラムのハッシュ値によって暗号化された保護情報は、必ずしも、補助情報鍵取得用関数と同一のプログラムモジュール内に格納されなくてもよい。例えば、当該保護情報を利用するプログラムが有していてもよいし、当該プログラムがその所在情報(ファイルパス名等)を知っていてもよい。この場合、保護情報取得用関数は、暗号化された保護情報又はその所在情報等を引数として受け付け可能とすればよい。保護情報取得用関数は、当該引数によって特定される保護情報を、呼び出し元のプログラムのハッシュ値によって復号し、復号後の保護情報を返却すればよい。
但し、暗号化された保護情報が保護情報鍵取得用関数と同一のプログラムモジュール内に格納されていることで、当該保護情報に対するセキュリティを更に向上させることができる。暗号化されているとはいえ、当該保護情報が裸の状態で管理されている場合に比べれば、当該プログラムモジュール内に当該保護情報が格納されることにより、当該保護情報が外部に晒される可能性を低減させることができるからである。また、当該保護情報が任意の方法で分割されて当該プログラムモジュール内に格納されてもよい。この場合、保護情報取得用関数は、当該任意の方法に対応するロジックによって、分割されている保護情報を統合し、復号すればよい。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 情報処理システム
10 画像形成装置
11 コントローラ
12 スキャナ
13 プリンタ
14 モデム
15 操作パネル
16 ネットワークインタフェース
17 SDカードスロット
20 携帯端末
21 ウィジェット
21a スキャンウィジェット
21b 印刷ウィジェット
22 ウィジェットマネージャ
40 画像処理サーバ
50 ログ収集サーバ
60 ダウンロードサーバ
90 共通鍵保護プログラム
91 共通鍵
92 共通鍵取得用関数
111 CPU
112 RAM
113 ROM
114 HDD
120 アプリケーション95
121 スキャンアプリ
122 印刷アプリ
123 プロバイダアプリ
130 アプリ制御部
200 ドライブ装置
201 記録媒体
202 補助記憶装置
203 メモリ装置
204 CPU
205 インタフェース装置
206 表示装置
207 入力装置
211 ウィジェットUI部
212 ウィジェット情報送信部
213 連携部
214 ロジック部
215 属性情報管理ファイル
221 ウィジェット情報登録部
222 広告部
223 ウィジェット情報提供部
224 仲介部
225 ログ転送部
226 ログ転送部
227 ウィジェット情報管理テーブル
921 ハッシュ値生成部
922 復号部
1231 ユーザ検知部
1232 UI制御部
1233 ウィジェット情報取得部
1234 ウィジェット連携部
1235 機能制御部
1236 ユーザ管理テーブル
B バス
特開2004−309737号公報

Claims (5)

  1. 保護対象の情報の取得要求に応じ、前記取得要求元のプログラムファイルを特定し、該プログラムファイルのハッシュ値を生成するハッシュ値生成手段と、
    前記ハッシュ値を用いて暗号化されている前記情報を前記ハッシュ値を用いて復号し、復号された該情報を前記取得要求元に返却する復号手段とを有する情報保護装置。
  2. 前記保護対象の情報は、共通鍵である請求項1記載の情報保護装置。
  3. 前記取得要求元は、前記復号手段より返却された前記共通鍵を用いて、ネットワークを介して転送する情報を暗号化する請求項2記載の情報保護装置。
  4. 前記保護対象の情報は共通鍵であり、
    前記取得要求元は、前記復号手段より返却された前記共通鍵を用いて、ネットワークを介して受信される情報を復号する請求項2又は3記載の情報保護装置。
  5. コンピュータに、
    保護対象の情報の取得要求に応じ、前記取得要求元のプログラムファイルを特定し、該プログラムファイルのハッシュ値を生成するハッシュ値生成手順と、
    前記ハッシュ値を用いて暗号化されている前記情報を前記ハッシュ値を用いて復号し、復号された該情報を前記取得要求元に返却する復号手順とを実行させるための情報保護プログラム。
JP2010132944A 2010-06-10 2010-06-10 情報保護装置及び情報保護プログラム Expired - Fee Related JP5644194B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010132944A JP5644194B2 (ja) 2010-06-10 2010-06-10 情報保護装置及び情報保護プログラム
US13/150,345 US9059843B2 (en) 2010-06-10 2011-06-01 Information protection apparatus, information protection method, and storage medium
CN201110162067.1A CN102291237B (zh) 2010-06-10 2011-06-09 信息保护装置及信息保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010132944A JP5644194B2 (ja) 2010-06-10 2010-06-10 情報保護装置及び情報保護プログラム

Publications (2)

Publication Number Publication Date
JP2011259284A true JP2011259284A (ja) 2011-12-22
JP5644194B2 JP5644194B2 (ja) 2014-12-24

Family

ID=45097200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010132944A Expired - Fee Related JP5644194B2 (ja) 2010-06-10 2010-06-10 情報保護装置及び情報保護プログラム

Country Status (3)

Country Link
US (1) US9059843B2 (ja)
JP (1) JP5644194B2 (ja)
CN (1) CN102291237B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015156086A (ja) * 2014-02-20 2015-08-27 日本電信電話株式会社 アクセス装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101250661B1 (ko) * 2011-02-08 2013-04-03 주식회사 팬택 모바일 플랫폼 보안 장치 및 방법
KR101330867B1 (ko) * 2012-12-27 2013-11-18 신한카드 주식회사 결제 디바이스에 대한 상호인증 방법
JP6167579B2 (ja) * 2013-03-14 2017-07-26 株式会社リコー 情報システム、ファイルサーバ、情報システムの制御方法及びファイルサーバの制御方法、並びに、それら方法のプログラム及びそのプログラムを記録した記録媒体
CN104866738B (zh) * 2014-02-25 2019-04-26 北京娜迦信息科技发展有限公司 一种程序代码保护方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004309737A (ja) * 2003-04-07 2004-11-04 Easy Systems Japan Kk 復号鍵保護プログラム及び復号鍵保護方法
JP2005018725A (ja) * 2002-08-01 2005-01-20 Matsushita Electric Ind Co Ltd 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法
JP2009060384A (ja) * 2007-08-31 2009-03-19 Sharp Corp 画像通信システムおよび画像通信装置
JP2009075720A (ja) * 2007-09-19 2009-04-09 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6057872A (en) * 1997-07-09 2000-05-02 General Instrument Corporation Digital coupons for pay televisions
US7584512B2 (en) * 2000-05-09 2009-09-01 Microsoft Corporation Restricted software and hardware usage on a computer
US7017189B1 (en) * 2000-06-27 2006-03-21 Microsoft Corporation System and method for activating a rendering device in a multi-level rights-management architecture
GB2390703A (en) * 2002-07-02 2004-01-14 Ascent Group Ltd Storage and authentication of data transactions
CN101145177B (zh) 2002-08-01 2011-06-15 松下电器产业株式会社 加密程序生成方法和设备
US7697691B2 (en) * 2004-07-14 2010-04-13 Intel Corporation Method of delivering Direct Proof private keys to devices using an on-line service
CN100476847C (zh) * 2006-01-18 2009-04-08 株式会社Pfu 用于处理信息的方法和设备以及计算机程序产品
US8838760B2 (en) 2007-09-14 2014-09-16 Ricoh Co., Ltd. Workflow-enabled provider
JP5046872B2 (ja) 2007-11-13 2012-10-10 株式会社リコー 画像形成装置、画像形成装置管理システム、画像形成装置管理方法、画像形成装置管理プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005018725A (ja) * 2002-08-01 2005-01-20 Matsushita Electric Ind Co Ltd 暗号化データを復号して実行用メモリ空間に配置する装置、およびその方法
JP2004309737A (ja) * 2003-04-07 2004-11-04 Easy Systems Japan Kk 復号鍵保護プログラム及び復号鍵保護方法
JP2009060384A (ja) * 2007-08-31 2009-03-19 Sharp Corp 画像通信システムおよび画像通信装置
JP2009075720A (ja) * 2007-09-19 2009-04-09 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015156086A (ja) * 2014-02-20 2015-08-27 日本電信電話株式会社 アクセス装置

Also Published As

Publication number Publication date
CN102291237A (zh) 2011-12-21
US20110307697A1 (en) 2011-12-15
US9059843B2 (en) 2015-06-16
CN102291237B (zh) 2014-12-17
JP5644194B2 (ja) 2014-12-24

Similar Documents

Publication Publication Date Title
US9143651B2 (en) Image forming apparatus, charging information recording method, and recording medium
JP4136325B2 (ja) 画像形成システム、ソフトウエア取得方法、画像形成装置およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP5333008B2 (ja) 課金管理システム、画像形成装置、課金管理装置、課金情報記録方法、及びプログラム
CN1967558B (zh) 图像处理系统,信息处理设备,以及信息处理方法
JP6085949B2 (ja) 情報処理システム、機器、情報処理方法、及びプログラム
US9203822B2 (en) Network system, data processing apparatus, and method for multi-factor authentication
KR100536817B1 (ko) 작업 처리 장치를 연휴 동작시키는 정보 처리 장치 및 방법
JP6424499B2 (ja) 画像形成装置、情報処理方法、及びプログラム
CN102195961A (zh) 图像形成系统以及图像形成方法
CN101742051A (zh) 信息处理装置和信息处理方法
JP5644194B2 (ja) 情報保護装置及び情報保護プログラム
JP2004341627A (ja) 画像形成装置及び当該装置におけるプログラム起動方法、画像形成システム及びそのプログラムと記憶媒体
CN104036163A (zh) 分布式扫描系统中的权限管理
JP2015069347A (ja) ネットワークシステム、管理サーバシステム、制御方法及びプログラム
CN104035733A (zh) 分布式打印管理
JP2009159053A (ja) 情報処理装置、証明書管理方法、証明書管理プログラム
CN104036162A (zh) 分布式扫描系统中的委托访问
US8559641B2 (en) Application program distributing apparatus, image processing apparatus and program, allowing data communications using S/MIME at ease
JP2012098894A (ja) 印刷システム及び印刷制御方法
JP6233155B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP2013041538A (ja) 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
JP2011061543A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2005199627A (ja) 機密印刷データの出力認証機能を有する画像処理装置
JP5458535B2 (ja) 機器、ライセンス管理方法、プログラム、及びライセンス管理システム
JP2006211157A (ja) サービス提供装置、サービス提供システム、サービス提供方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140819

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141020

R151 Written notification of patent or utility model registration

Ref document number: 5644194

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees