JP2021033645A - Information processing apparatus and method of controlling the same, and program - Google Patents

Information processing apparatus and method of controlling the same, and program Download PDF

Info

Publication number
JP2021033645A
JP2021033645A JP2019153190A JP2019153190A JP2021033645A JP 2021033645 A JP2021033645 A JP 2021033645A JP 2019153190 A JP2019153190 A JP 2019153190A JP 2019153190 A JP2019153190 A JP 2019153190A JP 2021033645 A JP2021033645 A JP 2021033645A
Authority
JP
Japan
Prior art keywords
information processing
certificate
information
application
root
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
JP2019153190A
Other languages
Japanese (ja)
Other versions
JP2021033645A5 (en
JP7313232B2 (en
Inventor
土樋 直基
Naomoto Doi
直基 土樋
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2019153190A priority Critical patent/JP7313232B2/en
Publication of JP2021033645A publication Critical patent/JP2021033645A/en
Publication of JP2021033645A5 publication Critical patent/JP2021033645A5/ja
Application granted granted Critical
Publication of JP7313232B2 publication Critical patent/JP7313232B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

To safely exchange vendor assets in an encryption communication between an external server and an information processing apparatus.SOLUTION: The present invention is directed to an information processing apparatus on which one or a plurality of applications can run. The information processing apparatus has: management means for managing a route certificate for use in encrypted communication with an external server; determination means for determining, when a request for encrypted communication with the external server is received from an application, whether or not the application uses predetermined information of the information processing apparatus; and verification means for, if the determination means determines that the application uses the predetermined information, verifying a server certificate of the external server by using a route certificate set with predetermined attribute information among route certificates managed by the management means.SELECTED DRAWING: Figure 3

Description

本発明は、情報処理装置及びその制御方法、並びにプログラムに関する。 The present invention relates to an information processing device, a control method thereof, and a program.

ネットワークで接続した機器間の通信において、セキュリティを確保するために通信経路の暗号化が必須の技術となっている。暗号化通信の目的としては通信経路の暗号化による盗聴対策の他に、メッセージ認証による通信経路の改ざん対策、そして証明書検証による通信相手のなりすまし対策が挙げられる。 In communication between devices connected by a network, encryption of the communication path is an indispensable technology to ensure security. The purpose of encrypted communication includes measures against eavesdropping by encrypting the communication path, measures against falsification of the communication path by message authentication, and measures against spoofing of the communication partner by certificate verification.

証明書検証においては、通信相手が送信してきたデジタル証明書(以下、証明書と呼ぶ)が権威のあるCA(Certificate Authority)局によってデジタル署名されているか否かを検証する。そして、検証結果が正しいと確認された場合には証明書に記載された情報を信用することが可能となる。検証の手続きは非特許文献1等の標準規格によって定義されている。 In the certificate verification, it is verified whether or not the digital certificate (hereinafter referred to as a certificate) transmitted by the communication partner is digitally signed by an authoritative CA (Certificate Authority) station. Then, when it is confirmed that the verification result is correct, the information described in the certificate can be trusted. The verification procedure is defined by a standard such as Non-Patent Document 1.

ここで用いられるルートCA証明書は通常、情報処理装置の出荷状態において、メーカーによって予めインストールされて出荷される。しかし、利用者が個別に接続するサーバー機器においても検証可能とするために、利用者が自由に追加できるように構成されている情報処理装置が存在する。この場合、ネットワークインターフェースあるいはUSBなどのローカルインターフェースを介して管理者が入手したルートCA証明書をインストールする。 The root CA certificate used here is usually pre-installed and shipped by the manufacturer in the shipping state of the information processing apparatus. However, there is an information processing device that is configured so that the user can freely add it so that it can be verified even in the server device to which the user connects individually. In this case, the root CA certificate obtained by the administrator is installed via the network interface or a local interface such as USB.

クラウドなどのインターネットで実施されるサービスの中には、情報処理装置の全てのソフトウェアや有償のソフトウェアライセンス情報など、利用者によって改ざんされてはならないベンダー資産を扱うものがある。ベンダー資産の不正な暴露や改ざんを防ぐために、サーバー証明書の検証を用いて信頼のあるサーバーとの通信であることを確認している。 Some services provided on the Internet, such as the cloud, handle vendor assets that must not be tampered with by users, such as all software for information processing devices and paid software license information. In order to prevent unauthorized disclosure and tampering of vendor assets, we use server certificate verification to confirm communication with a trusted server.

RFC 5280、[online]、[令和1年8月8日検索]、インターネット<URL:https://tools.ietf.org/html/rfc5280>RFC 5280, [online], [Searched on August 8, 1st year of Reiwa], Internet <URL: https: // tools. IETF. org / html / rfc5280>

上記のようにベンダー資産を扱う暗号化通信においては、サーバー側から提供されるサーバー証明書の検証を行うことにより、信頼のあるサーバーとの通信であることを保証している。一方、サーバー証明書の検証に用いるルートCA証明書は、利用者によって追加のインストールが可能であるが、追加インストールがベンダー資産を扱うサーバーとの信頼関係に影響を与えるべきではない。 In encrypted communication that handles vendor assets as described above, communication with a reliable server is guaranteed by verifying the server certificate provided by the server side. On the other hand, the root CA certificate used for validating the server certificate can be additionally installed by the user, but the additional installation should not affect the trust relationship with the server that handles the vendor assets.

本発明は、利用者のルートCA証明書の追加インストールなどによる不正なベンダー資産の暴露や改ざんに起因した不正な外部サーバーへの通信を防ぐことを目的とする。 An object of the present invention is to prevent communication to an unauthorized external server due to disclosure or falsification of unauthorized vendor assets due to additional installation of a user's root CA certificate.

上記課題を解決するために本願発明は以下の構成を有する。すなわち、1または複数のアプリケーションが動作可能な情報処理装置であって、外部サーバーとの暗号化通信を行う際に用いられるルート証明書を管理する管理手段と、アプリケーションから前記外部サーバーとの暗号化通信の要求を受け付けた際に、当該アプリケーションが、前記情報処理装置における所定の情報を利用するか否かを判定する判定手段と、前記判定手段にて前記アプリケーションが前記所定の情報を利用すると判定された場合、前記管理手段にて管理されているルート証明書のうち、所定の属性情報が設定されたルート証明書を用いて、前記外部サーバーのサーバー証明書を検証する検証手段とを有する。 In order to solve the above problems, the present invention has the following configuration. That is, it is an information processing device capable of operating one or more applications, and is a management means for managing a root certificate used when performing encrypted communication with an external server, and encryption from the application to the external server. When the communication request is received, the determination means for determining whether or not the application uses the predetermined information in the information processing apparatus, and the determination means for determining that the application uses the predetermined information. If so, it has a verification means for verifying the server certificate of the external server by using the root certificate in which the predetermined attribute information is set among the root certificates managed by the management means.

本発明によれば、暗号化通信を行う際に外部サーバーを正しく検証することが可能となり、ベンダー資産を安全にやり取りすることが可能となる。 According to the present invention, it is possible to correctly verify an external server when performing encrypted communication, and it is possible to securely exchange vendor assets.

本発明の一実施形態に係る情報処理システムの構成例を示す概略図。The schematic diagram which shows the structural example of the information processing system which concerns on one Embodiment of this invention. 本実施形態に係るMFP内にて動作するソフトウェアの構成例を示す図。The figure which shows the configuration example of the software which operates in the MFP which concerns on this embodiment. 第1の実施形態に係るデジタル証明書検証部の処理のフローチャート。The flowchart of the process of the digital certificate verification unit which concerns on 1st Embodiment. 本実施形態に係る外部アプリケーションの構成と属性情報を説明するための図。The figure for demonstrating the configuration and attribute information of the external application which concerns on this Embodiment. 本実施形態に係る暗号通信部の処理のフローチャート。The flowchart of the processing of the encrypted communication part which concerns on this embodiment. 本実施形態に係る鍵管理部の構成と外部との関連を示す図。The figure which shows the relationship between the structure of the key management part which concerns on this embodiment, and the outside. 第2の実施形態に係るデジタル証明書検証部の処理のフローチャート。The flowchart of the process of the digital certificate verification unit which concerns on 2nd Embodiment. 第3の実施形態に係る鍵管理部のエクスポート処理のフローチャート。The flowchart of the export process of the key management unit which concerns on 3rd Embodiment. 第3の実施形態に係る鍵管理部のインポート処理のフローチャート。The flowchart of the import process of the key management unit which concerns on 3rd Embodiment.

<第1の実施形態>
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
<First Embodiment>
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. The following embodiments do not limit the invention according to the claims. Although a plurality of features are described in the embodiment, not all of the plurality of features are essential to the invention, and the plurality of features may be arbitrarily combined. Further, in the attached drawings, the same or similar configurations are designated by the same reference numbers, and duplicate explanations are omitted.

[システム構成]
図1は、本発明の一実施形態に係る情報処理システムの構成例を示す概略図である。情報処理システムは、MFP(Multi−Function Peripheral)110、LAN(Local Area Network)120、PC(Personal Computer)130、インターネット150、およびクラウドサーバー140を含んで構成される。インターネット150とLAN120はルーター160によって通信可能に接続されている。図1において、各装置は1台ずつが示されているが、更に多くの装置が含まれてもよい。また、本実施形態では、MFPを例に挙げて説明するが、これに限定するものではなく、後述するようなベンダー資産に相当する各種情報を扱う機器であれば、本願発明は適用可能である。
[System configuration]
FIG. 1 is a schematic view showing a configuration example of an information processing system according to an embodiment of the present invention. The information processing system includes an MFP (Multi-Faction Peripheral) 110, a LAN (Local Area Network) 120, a PC (Personal Computer) 130, an Internet 150, and a cloud server 140. The Internet 150 and the LAN 120 are communicably connected by a router 160. In FIG. 1, one device is shown for each device, but more devices may be included. Further, in the present embodiment, the MFP will be described as an example, but the present invention is not limited to this, and the present invention can be applied to any device that handles various information corresponding to vendor assets as described later. ..

MFP110は、ネットワーク通信部111、操作部113、CPU114、RAM115、および記憶装置116を含んで構成される。MFP110は、上記構成の他、プリンタ部やスキャナ部など、機能に応じて他の部位を備えてよい。MFP110は、クラウドサーバー140と接続することにより、インターネット150を介した各種サービス(Webサービス等)を利用することができる。クラウドサーバー140は、MFP110に各種サービスを提供する外部サーバーである。本実施形態において、クラウドサーバー140は、上述するベンダー資産の情報をMFP110から収集することも可能である。また、MFP110は、PC130からの指示に基づき、LAN120を介してMFP110の設定やアプリケーションのインストールを行うことが可能である。また、MFP110は、USB(Universal Serial Bus)などの外付けの記憶装置を接続可能であってもよい。 The MFP 110 includes a network communication unit 111, an operation unit 113, a CPU 114, a RAM 115, and a storage device 116. In addition to the above configuration, the MFP 110 may include other parts such as a printer unit and a scanner unit depending on the function. By connecting to the cloud server 140, the MFP 110 can use various services (Web services, etc.) via the Internet 150. The cloud server 140 is an external server that provides various services to the MFP 110. In the present embodiment, the cloud server 140 can also collect the above-mentioned vendor asset information from the MFP 110. Further, the MFP 110 can set the MFP 110 and install the application via the LAN 120 based on the instruction from the PC 130. Further, the MFP 110 may be able to connect an external storage device such as USB (Universal Serial Bus).

[ソフトウェア構成]
図2は、MFP110内にて動作するソフトウェアの構成例を示す。本実施形態において、MFP110において、複数のアプリケーションが動作可能であり、ここでは、組み込みアプリケーション201と外部アプリケーション207の2つを例に挙げて説明する。組み込みアプリケーション201は、MFP110の中で動作するアプリケーションのうち、MFP110に最初(例えば、装置出荷時)から組み込まれているアプリケーションである。暗号通信部202は、アプリケーションから呼び出されて、外部装置であるPC130やクラウドサーバー140と暗号化通信を行う。設定記憶部203は、MFP110の設定を記憶装置116などの記憶領域に記憶する。デジタル証明書検証部204は、暗号通信部202から呼び出され、サーバーなどから提供される証明書の検証を行う。鍵管理部205は、デジタル証明書検証部204によりサーバー証明書の検証に用いられるルートCA証明書(ルート証明書とも称する)を管理する。
[Software configuration]
FIG. 2 shows a configuration example of software operating in the MFP 110. In the present embodiment, a plurality of applications can be operated in the MFP 110, and here, two applications, the embedded application 201 and the external application 207, will be described as examples. The embedded application 201 is an application that is embedded in the MFP 110 from the beginning (for example, at the time of shipment of the device) among the applications that operate in the MFP 110. The encrypted communication unit 202 is called from an application to perform encrypted communication with an external device such as a PC 130 or a cloud server 140. The setting storage unit 203 stores the settings of the MFP 110 in a storage area such as the storage device 116. The digital certificate verification unit 204 is called from the cryptographic communication unit 202 to verify the certificate provided by the server or the like. The key management unit 205 manages the root CA certificate (also referred to as the root certificate) used for verifying the server certificate by the digital certificate verification unit 204.

証明書インストール部206は、利用者の指定したルート証明書を鍵管理部205に管理させる。外部アプリケーション207は、組み込みアプリケーション201とは異なり、MFP110の出荷後に外部から任意のタイミングにてインストールされ、MFP110のアプリケーションとして動作するアプリケーションである。外部アプリケーションインストール部208は、利用者の指示に従い、外部アプリケーション207のインストールを行う。外部アプリケーション管理部209は、外部アプリケーション207がインストールされたことに応じて、外部アプリケーション207の情報を管理する。ソフトウェアアップデート部210は、MFP110が動作するソフトウェア全体とルートCA証明書などのベンダーが配布するデータを取得し、更新を行う。 The certificate installation unit 206 causes the key management unit 205 to manage the root certificate specified by the user. Unlike the embedded application 201, the external application 207 is an application that is installed from the outside at an arbitrary timing after the shipment of the MFP 110 and operates as an application of the MFP 110. The external application installation unit 208 installs the external application 207 according to the instruction of the user. The external application management unit 209 manages the information of the external application 207 according to the installation of the external application 207. The software update unit 210 acquires and updates the entire software on which the MFP 110 operates and data distributed by the vendor such as the root CA certificate.

上記ソフトウェアは記憶装置116に永続的に格納され、利用する際にはRAM115にロードされてからCPU114によって実行される。また、設定記憶部203が格納する設定情報や、鍵管理部205が保存するルートCA証明書は、記憶装置116によって永続的に記憶され、それぞれのソフトウェアで利用されるときにRAM115にロードされて利用される。 The software is permanently stored in the storage device 116, and when used, it is loaded into the RAM 115 and then executed by the CPU 114. Further, the setting information stored in the setting storage unit 203 and the root CA certificate stored in the key management unit 205 are permanently stored by the storage device 116 and loaded into the RAM 115 when used by the respective software. It will be used.

組み込みアプリケーション201、外部アプリケーション207、外部アプリケーション208、証明書インストール部206、および設定記憶部203に設定を行う際の操作は、操作部113を利用者が操作することによって実施される。 The operation for setting the embedded application 201, the external application 207, the external application 208, the certificate installation unit 206, and the setting storage unit 203 is performed by the user operating the operation unit 113.

デジタル証明書検証部204による証明書の検証は、サーバーに接続した際にサーバーから送られるサーバー証明書を、MFP110が保持しているルートCA証明書を用いて行われる。サーバー証明書の検証方式についてはRSA署名検証やECDSA署名検証などの既知の方式を用いるものとし、ここでの詳細の説明は割愛する。 The certificate verification by the digital certificate verification unit 204 is performed by using the root CA certificate held by the MFP 110 as the server certificate sent from the server when connecting to the server. As the server certificate verification method, known methods such as RSA signature verification and ECDSA signature verification shall be used, and detailed description thereof is omitted here.

[ベンダー資産利用]
次にアプリケーションのベンダー資産利用について説明する。ここでいうベンダー資産とは、MFP110を提供するベンダーによって、MFP110に関するサービスのために扱われる所定の情報であり、利用者には開示されない情報である。ベンダー資産としては、例えば、MFP110を動作させるファームウェアの利用情報、MFP110のプリンタ利用枚数などの課金情報などが含まれる。なお、各アプリケーションがベンダー資産として扱う情報は特に限定するものではなく、例えば、MFP110が出力可能なベンダー資産のうち、アプリケーションごと利用するベンダー資産の種類を定義してよい。
[Vendor asset utilization]
Next, the use of vendor assets of the application will be described. The vendor asset referred to here is predetermined information handled for services related to the MFP 110 by the vendor that provides the MFP 110, and is information that is not disclosed to the user. Vendor assets include, for example, usage information of firmware for operating the MFP 110, billing information such as the number of printers used by the MFP 110, and the like. The information handled by each application as a vendor asset is not particularly limited. For example, among the vendor assets that can be output by the MFP 110, the type of vendor asset used for each application may be defined.

利用者に開示されない理由として、様々なものが挙げられる。例えば、図2に示すような複数のソフトウェアの正常動作を脅かすような不正な改変からシステムを保護するためや、機器のメンテナンスや課金情報への改ざんによりサービス不能や不正な課金回避を引き起こすような攻撃を未然に防ぐためである。これらの情報を扱うアプリケーションは、暗号通信の際にサーバーのなりすましが起こりえないように証明書の検証に用いるルートCA証明書の厳格化を指示することができる。 There are various reasons why it is not disclosed to users. For example, in order to protect the system from unauthorized alterations that threaten the normal operation of a plurality of software as shown in FIG. 2, or to cause service inability or unauthorized billing avoidance due to device maintenance or falsification of billing information. This is to prevent attacks. An application that handles this information can instruct the strictness of the root CA certificate used for certificate verification so that server spoofing cannot occur during encrypted communication.

アプリケーションがベンダー資産を扱うことを宣言する方法には2種類ある。ひとつは、アプリケーションが暗号通信部202を呼び出す際に、引数として当該アプリケーションがベンダー資産を扱うことを示す属性を渡すことである。図2において組み込みアプリケーション201は、暗号通信部202に対し、ベンダー属性として「ベンダー資産利用属性」の情報を渡す。これは組み込みアプリケーション201がベンダー資産を利用することを示している。組み込みアプリケーション201の場合には、予めベンダーがベンダー資産を扱うか否かを判定できるため、このように直接指定することが組み込みアプリケーション201には許可されている。 There are two ways to declare that an application deals with vendor assets. One is to pass an attribute indicating that the application handles vendor assets as an argument when the application calls the encrypted communication unit 202. In FIG. 2, the embedded application 201 passes the information of the “vendor asset usage attribute” as the vendor attribute to the encrypted communication unit 202. This indicates that the embedded application 201 utilizes the vendor assets. In the case of the embedded application 201, since it can be determined in advance whether or not the vendor handles the vendor assets, it is permitted for the embedded application 201 to directly specify in this way.

アプリケーションがベンダー資産を扱うことを宣言するもうひとつの方法として、インストール時に、属性ファイルにベンダー資産利用属性情報を記載することにより、宣言を行うことが可能である。例えば、MFP110の出荷後にインストールされる外部アプリケーション207の場合、アプリケーションそのものからの指定がない場合でも、アプリのベンダー属性を定義した属性ファイルにベンダー資産利用属性情報を記載することにより宣言することができる。なお、本実施形態では、外部アプリケーション207はベンダー資産を扱うか否かを直接指定しないものとして説明するが、この構成に限定するものではない。 As another method of declaring that the application handles vendor assets, it is possible to declare by describing the vendor asset usage attribute information in the attribute file at the time of installation. For example, in the case of the external application 207 installed after the MFP110 is shipped, it can be declared by describing the vendor asset usage attribute information in the attribute file that defines the vendor attribute of the application even if the application itself does not specify it. .. In the present embodiment, it is assumed that the external application 207 does not directly specify whether or not to handle the vendor assets, but the present embodiment is not limited to this configuration.

図4は、外部アプリケーション207の構成と、属性情報を説明するための図である。外部アプリケーション207は、実体の構成としては、アプリケーションパッケージファイル401のデータ構造を持っており、アプリケーションデータ402とアプリケーション属性ファイル403を含んで構成される。アプリケーションデータ402は、CPU114によって動作可能なソフトウェアコードの実体を示す。アプリケーション属性ファイル403は、当該アプリケーションの属性が記載されたテキスト形式あるいはXML(eXtensible Markup Language)形式のデータである。 FIG. 4 is a diagram for explaining the configuration of the external application 207 and the attribute information. The external application 207 has the data structure of the application package file 401 as the actual configuration, and is configured to include the application data 402 and the application attribute file 403. The application data 402 indicates the substance of the software code that can be operated by the CPU 114. The application attribute file 403 is data in a text format or an XML (eXtensible Markup Language) format in which the attributes of the application are described.

データ404は、アプリケーション属性ファイル403の内部構成の一例を模式的に示したものである。データ404において、Application−Nameはアプリケーションの名称を示し、“Sample”が設定されている。Application−IDは、アプリケーションに付与された固有のID(識別情報)を示し、“abc”が設定されている。IDを固有に割り振るのはMFP110のベンダーの責務である。Application−Typeはアプリケーションの種別を示す。アプリケーションの種別の例として、操作部113を用いるものをアプレット(“applet”)、ネットワークのサーバーとして機能するものをサーブレット(“servlet”)が挙げられる。Vender−Assetsは当該アプリケーションがベンダー資産を扱うか否かを示すベンダー資産利用属性である。“True”が設定されている場合はアプリケーションがベンダー資産を扱い、“False”が設定されている場合は扱わないことを示す。 The data 404 schematically shows an example of the internal configuration of the application attribute file 403. In the data 404, Application-Name indicates the name of the application, and "Sample" is set. The Application-ID indicates a unique ID (identification information) given to the application, and "abc" is set. It is the responsibility of the MFP110 vendor to assign the ID uniquely. Application-Type indicates the type of application. Examples of application types include an applet (“applet”) that uses the operation unit 113 and a servlet (“servlet”) that functions as a network server. Vendor-Assets is a vendor asset utilization attribute that indicates whether or not the application handles vendor assets. If "True" is set, the application handles vendor assets, and if "False" is set, it does not.

このような構成を持った外部アプリケーション207は、外部アプリケーションインストール部208を用いてネットワーク経由あるいはUSBメモリなどの記憶媒体からMFP110内の外部アプリケーション管理部209にインストールされる。ここでの外部アプリケーション207に対応するアプリケーションパッケージファイルの提供方法は、特に限定するものではない。 The external application 207 having such a configuration is installed in the external application management unit 209 in the MFP 110 via the network or from a storage medium such as a USB memory by using the external application installation unit 208. The method of providing the application package file corresponding to the external application 207 here is not particularly limited.

外部アプリケーション管理部209は、インストールされたアプリケーションに関する情報を格納するデータベース405を有する。データベース405には、インストールされたアプリケーションのアプリケーション属性ファイル403にて示される各属性をキーとした値が格納される。具体的には、データ404に示したApplication−Name、Application−ID、Application−Type、Vender−Assetsの値が管理される。例えば、アプリケーションパッケージファイル401に関わる情報は、レコード406に対応し、アプリケーション属性ファイル403に記載された内容がデータベース405に格納される。上述したように、Vender−Assetsに記載された情報が“True”の場合には、当該アプリケーションがベンダー資産を扱うことを示すことが可能となる。なお、データ404に示した属性は一例であり、他の属性値が更に記載されてよい。また、これに応じて、外部アプリケーション管理部209のデータベース405にて管理される情報が増加してよい。 The external application management unit 209 has a database 405 that stores information about installed applications. The database 405 stores values using each attribute shown in the application attribute file 403 of the installed application as a key. Specifically, the values of Application-Name, Application-ID, Application-Type, and Vendor-Assets shown in the data 404 are managed. For example, the information related to the application package file 401 corresponds to the record 406, and the contents described in the application attribute file 403 are stored in the database 405. As described above, when the information described in Vender-Assets is "True", it is possible to indicate that the application handles vendor assets. The attribute shown in the data 404 is an example, and other attribute values may be further described. In addition, the information managed in the database 405 of the external application management unit 209 may increase accordingly.

[鍵管理部]
次に、本実施形態に係る鍵管理部205について説明する。図6は、鍵管理部205の構成と外部との関連を説明するための図である。鍵管理部205は、MFP110の動作開始とともに起動され、以降、MFP110の電源遮断まで動作が継続する。鍵管理部205は、デジタル証明書検証部204による検証処理が行われる際に用いられるルートCA証明書を記憶装置116上にて管理し、要求に応じてルートCA証明書を渡す。
[Key Management Department]
Next, the key management unit 205 according to the present embodiment will be described. FIG. 6 is a diagram for explaining the relationship between the configuration of the key management unit 205 and the outside. The key management unit 205 is started when the operation of the MFP 110 is started, and thereafter, the operation continues until the power of the MFP 110 is cut off. The key management unit 205 manages the root CA certificate used when the verification process by the digital certificate verification unit 204 is performed on the storage device 116, and passes the root CA certificate as requested.

管理テーブル604は、鍵管理部205が管理するルートCA証明書の管理テーブルであり、記憶装置116上に構成される。データベース608は、管理テーブル604で格納されている情報の一例を示す。列609は、記憶装置116に格納されているルートCA証明書の実ファイル名を示す。列610は、操作部113に表示する際に用いられる証明書名を示す。列611は、ルートCA証明書に対して設定されたベンダー属性を示す。 The management table 604 is a management table of the root CA certificate managed by the key management unit 205, and is configured on the storage device 116. The database 608 shows an example of the information stored in the management table 604. Column 609 shows the actual file name of the root CA certificate stored in storage 116. Column 610 shows the certificate name used when displaying on the operation unit 113. Column 611 shows the vendor attributes set for the root CA certificate.

ルートCA証明書605〜607は、記憶装置116に保持されているルートCA証明書の実体ファイルを示す。各ルートCA証明書に対して示された“rootca1.cer”〜“rootca3.cer”は、ルートCA証明書の実体のファイル名を示し、データベース608の列609に対応する。ルートCA証明書は鍵管理部205に対して登録手続きが行われた場合、管理テーブル604に当該ルートCA証明書のファイル名、および証明書名称をそれぞれ列609、610に記録される。更に、各ルートCA証明書に対し、登録を行うモジュールに応じて「ベンダー属性あり」、または、「ベンダー属性なし」の設定が列611に記録される。 The root CA certificate 605-607 indicates an actual file of the root CA certificate held in the storage device 116. “Rootca1.cer” to “rootca3.cer” indicated for each root CA certificate indicate the actual file name of the root CA certificate and correspond to column 609 of the database 608. When the registration procedure is performed on the key management unit 205, the root CA certificate is recorded in the management table 604 with the file name and the certificate name of the root CA certificate in columns 609 and 610, respectively. Further, for each root CA certificate, the setting of "with vendor attribute" or "without vendor attribute" is recorded in column 611 depending on the module to be registered.

本実施形態に係るベンダー属性について説明する。証明書インストール部206は、利用者がルートCA証明書を登録する際に用いられるモジュールである。このようなモジュールを用いてインストールされるルートCA証明書は任意のものが許されているため、ベンダー資産にアクセスするサーバーのサーバー証明書の検証に使えるとなりすましによる不正アクセスのリスクがある。そのため、本実施形態では、証明書インストール部206によりインストールされるルートCA証明書に対しては、「ベンダー属性なし」としてデータベース608に登録する。 The vendor attributes according to this embodiment will be described. The certificate installation unit 206 is a module used when the user registers the root CA certificate. Since any root CA certificate installed using such a module is allowed, there is a risk of unauthorized access due to spoofing that can be used to verify the server certificate of the server that accesses the vendor assets. Therefore, in the present embodiment, the root CA certificate installed by the certificate installation unit 206 is registered in the database 608 as "no vendor attribute".

一方、ソフトウェアアップデート部210は、ベンダーが提供するソフトウェア全体を更新するために利用される。ここで更新されるソフトウェアは例えば、MFPのファームウェアなどが該当し、これらは全て、ベンダー由来であることが保証される。配信されるソフトウェアの一部にルートCA証明書が含まれる場合があり、これはベンダーが提供する証明書であり、信頼できるものである。そのため、このようなルートCA証明書は、ベンダー資産にアクセスするサーバーのサーバー証明書の検証に使うことが可能である。したがって、本実施形態では、ソフトウェアアップデート部210によりインストールされるルートCA証明書に対しては、「ベンダー属性あり」としてデータベース608に登録する。なお、「ベンダー属性あり」として設定されるルートCA証明書は上記に限定されるものではなく、ベンダー由来のものであるとして保証される場合には、他の方法にてインストールされたルートCA証明書にも設定してよい。例えば、サービスマンなど特定の権限を有する利用者がインストールした場合や、特定のサービスツールを介してインストールした場合などが挙げられる。また、MFP110の出荷時に予めインストールされたルートCA証明書については、「ベンダー属性あり」として設定してよい。 On the other hand, the software update unit 210 is used to update the entire software provided by the vendor. The software updated here includes, for example, the firmware of the MFP, and all of them are guaranteed to be of vendor origin. Some of the software delivered may include a root CA certificate, which is a vendor-provided certificate and is reliable. Therefore, such a root CA certificate can be used to verify the server certificate of the server that accesses the vendor assets. Therefore, in the present embodiment, the root CA certificate installed by the software update unit 210 is registered in the database 608 as "with vendor attribute". The root CA certificate set as "with vendor attribute" is not limited to the above, and if it is guaranteed to be derived from the vendor, the root CA certificate installed by another method is used. It may be set in the book. For example, it may be installed by a user having specific authority such as a service person, or it may be installed via a specific service tool. Further, the root CA certificate installed in advance at the time of shipment of the MFP 110 may be set as "with vendor attribute".

[暗号通信部]
次に、本実施形態に係る暗号通信部202の動作を説明する。暗号通信部202は、組み込みアプリケーション201または外部アプリケーション207から呼び出され、標準規格に従って暗号通信を行うモジュールである。暗号通信の標準規格としては、OSI(Open System Interconnection)の7階層におけるトランスポート層あるいはアプリケーション層で暗号化を行うSSL/TLS(Secure Socket Layer/Transport Layer Security)やネットワーク層で暗号化を行うIPSecが挙げられるが、これらの標準規格以外でも適用可能である。
[Cryptographic communication unit]
Next, the operation of the encrypted communication unit 202 according to the present embodiment will be described. The encrypted communication unit 202 is a module that is called from the embedded application 201 or the external application 207 and performs encrypted communication according to a standard. As a standard for encrypted communication, SSL / TLS (Secure Secure Layer / Transport Layer Security) that encrypts at the transport layer or application layer in the 7 layers of OSI (Open System Interaction) and IPSec that encrypts at the network layer. However, other than these standards can be applied.

図5は、本実施形態に係る暗号通信部202の処理のフローチャートである。暗号通信部202は、組み込みアプリケーション201または外部アプリケーション207から暗号通信の要求があった際に起動され、暗号通信が完了したら動作を終了する。また、複数の暗号通信が同時に要求された場合は、複数の暗号通信部がそれぞれ独立に動作を行う。 FIG. 5 is a flowchart of processing of the encrypted communication unit 202 according to the present embodiment. The encrypted communication unit 202 is activated when a request for encrypted communication is received from the embedded application 201 or the external application 207, and ends the operation when the encrypted communication is completed. When a plurality of encrypted communications are requested at the same time, the plurality of encrypted communication units operate independently.

S501にて、暗号通信部202は、アプリケーションからの暗号通信の要求を受け付ける。暗号通信が開始する際にはアプリケーションからアプリケーションID、およびベンダー資産属性が渡される。ただし、上述したように、ベンダー資産属性については、アプリケーションが外部アプリケーション207である場合には渡されないため、必須の情報ではない。 In S501, the encrypted communication unit 202 receives a request for encrypted communication from the application. When the encrypted communication is started, the application ID and the vendor asset attribute are passed from the application. However, as described above, the vendor asset attribute is not essential information because it is not passed when the application is the external application 207.

S502にて、暗号通信部202は、アプリケーションがクライアント側かサーバー側かの判定を行う。つまり、アプリケーションがサーバーとして動作するか、クライアントとして動作するかの判定が行われる。これはアプリケーション側からの暗号通信要求を行う際にパラメーターとして渡される値から判定してよい。クライアント側であると判定した場合(S502ににてYES)S503へ進み、サーバー側であると判定した場合(S502にてNO)S508へ進む。 In S502, the encrypted communication unit 202 determines whether the application is on the client side or the server side. That is, it is determined whether the application operates as a server or a client. This may be determined from the value passed as a parameter when making an encrypted communication request from the application side. If it is determined to be the client side (YES in S502), the process proceeds to S503, and if it is determined to be the server side (NO in S502), the process proceeds to S508.

S503にて、暗号通信部202は、対向(通信相手)となるサーバーに対してサーバー証明書を要求する。そして、その応答として、暗号通信部202は、サーバー証明書を受信する。 In S503, the encrypted communication unit 202 requests the server certificate from the server that is the opposite (communication partner). Then, in response, the encrypted communication unit 202 receives the server certificate.

S504にて、暗号通信部202は、S503にてサーバーから受信したサーバー証明書の検証を、デジタル証明書検証部204に要求する。この際、暗号通信部202は、S503にて取得したサーバー証明書と共に、S501にてアプリケーションから渡されるアプリケーションIDおよびアプリケーションのベンダー資産属性をデジタル証明書検証部204に渡す。ここでのデジタル証明書検証部204による検証処理については、図3を用いて後述する。その後、暗号通信部202は、デジタル証明書検証部204からサーバー証明書の検証結果を取得する。 In S504, the cryptographic communication unit 202 requests the digital certificate verification unit 204 to verify the server certificate received from the server in S503. At this time, the cryptographic communication unit 202 passes the application ID passed from the application in S501 and the vendor asset attribute of the application to the digital certificate verification unit 204 together with the server certificate acquired in S503. The verification process by the digital certificate verification unit 204 here will be described later with reference to FIG. After that, the cryptographic communication unit 202 acquires the verification result of the server certificate from the digital certificate verification unit 204.

S505にて、暗号通信部202は、デジタル証明書検証部204による検証が成功したか否かを判定する。検証が成功した場合(S505にてYES)S506へ進み、検証が失敗した場合(S505にてNO)S507へ進む。 In S505, the cryptographic communication unit 202 determines whether or not the verification by the digital certificate verification unit 204 is successful. If the verification is successful (YES in S505), the process proceeds to S506, and if the verification fails (NO in S505), the process proceeds to S507.

S506にて、暗号通信部202は、S501にて受信した暗号通信の要求に対応するサーバーとの通信を完了するまで継続する。その後、本処理フローを終了する。 In S506, the encrypted communication unit 202 continues until the communication with the server corresponding to the encrypted communication request received in S501 is completed. After that, this processing flow is terminated.

S507にて、暗号通信部202は、S501にて受信した暗号通信の要求に対応するサーバーとの接続を遮断する。そして、本処理フローを終了する。 In S507, the encrypted communication unit 202 cuts off the connection with the server corresponding to the encrypted communication request received in S501. Then, this processing flow is terminated.

S508にて、暗号通信部202は、サーバー証明書をクライアントに送信する。この場合、アプリケーションがサーバーとして動作するため、サーバー証明書の検証は不要となる。その後、S506へ進み、暗号通信部202は、S501にて受信した暗号通信の要求に対応する通信の完了までクライアントとの通信を継続する。そして、本処理フローを終了する。 In S508, the encrypted communication unit 202 transmits the server certificate to the client. In this case, the application operates as a server, so there is no need to verify the server certificate. After that, the process proceeds to S506, and the encrypted communication unit 202 continues the communication with the client until the communication corresponding to the encrypted communication request received in S501 is completed. Then, this processing flow is terminated.

[サーバー証明書の検証処理]
次に、本実施形態に係るデジタル証明書検証部204によるサーバー証明書の検証処理について説明する。図3は、デジタル証明書検証部204の動作を説明するフローチャートである。デジタル証明書検証部204は、暗号通信部202から呼び出されることにより動作を開始し、処理が完了すると動作を停止する。ここでの開始タイミングは、図5のS504における要求を暗号通信部202から受信したタイミングに対応する。
[Server certificate verification process]
Next, the server certificate verification process by the digital certificate verification unit 204 according to the present embodiment will be described. FIG. 3 is a flowchart illustrating the operation of the digital certificate verification unit 204. The digital certificate verification unit 204 starts the operation by being called from the cryptographic communication unit 202, and stops the operation when the processing is completed. The start timing here corresponds to the timing at which the request in S504 of FIG. 5 is received from the encrypted communication unit 202.

S301にて、デジタル証明書検証部204は、暗号通信部202から検証対象となるサーバー証明書を受け取る。併せて、アプリケーションIDが取得される。 In S301, the digital certificate verification unit 204 receives the server certificate to be verified from the cryptographic communication unit 202. At the same time, the application ID is acquired.

S302にて、デジタル証明書検証部204は、S301にてアプリケーションからベンダー資産属性が利用ありの指示を受け付けたか否かを判定する。上述したように、アプリケーションが組み込みアプリケーション201である場合には、ベンダー資産属性によるベンダー資産属性の利用のあり/なしの指示を直接行うことができる。一方、アプリケーションが外部アプリケーション207である場合には、ベンダー資産属性が利用ありの指示は行われない。一方、指示があると判定された場合(S302にてYES)S305へ進み、指示がないと判定された場合(S302にてNO)S303へ進む。 In S302, the digital certificate verification unit 204 determines in S301 whether or not the instruction that the vendor asset attribute is used has been received from the application. As described above, when the application is the embedded application 201, it is possible to directly instruct whether or not to use the vendor asset attribute by the vendor asset attribute. On the other hand, when the application is the external application 207, the instruction that the vendor asset attribute is used is not given. On the other hand, if it is determined that there is an instruction (YES in S302), the process proceeds to S305, and if it is determined that there is no instruction (NO in S302), the process proceeds to S303.

S303にて、デジタル証明書検証部204は、S301にて取得したアプリケーションのアプリケーションIDに基づいて、外部アプリケーション管理部209のデータベース405を参照し、ベンダー資産属性(Vender−Assets情報)を確認する。 In S303, the digital certificate verification unit 204 refers to the database 405 of the external application management unit 209 based on the application ID of the application acquired in S301, and confirms the vendor asset attribute (Vendor-Assets information).

S304にて、デジタル証明書検証部204は、S303にて参照したベンダー資産属性の値が“True”か否かを判定する。上述したように、“True”である場合には、当該外部アプリケーションがベンダー資産を扱うことを示す。ベンダー資産属性の値が“True”であると判定された場合(S304にてYES)S305へ進み、“False”であると判定された場合(S304にてNO)S306へ進む。なお、ベンダー資産属性の値が“False”である場合には、記憶装置116に保持されているすべてのルートCA証明書が検索対象となる。 In S304, the digital certificate verification unit 204 determines whether or not the value of the vendor asset attribute referred to in S303 is "True". As described above, the case of "True" indicates that the external application handles vendor assets. If the value of the vendor asset attribute is determined to be "True" (YES in S304), the process proceeds to S305, and if it is determined to be "False" (NO in S304), the process proceeds to S306. When the value of the vendor asset attribute is "False", all the root CA certificates held in the storage device 116 are searched.

S305にて、デジタル証明書検証部204は、検証対象となるルートCA証明書からベンダー属性がないものを、一時的に除外する。つまり、管理テーブル604のデータベース608に含まれるルートCA証明書のうち、列611の値が「ベンダー属性なし」の値を有するルートCA証明書を除外する。図6の例の場合、ルートCA証明書607(“rootca3.cer”)が除外される。 In S305, the digital certificate verification unit 204 temporarily excludes the root CA certificate to be verified that does not have the vendor attribute. That is, among the root CA certificates included in the database 608 of the management table 604, the root CA certificate whose value in column 611 has a value of "no vendor attribute" is excluded. In the case of the example of FIG. 6, the root CA certificate 607 (“rootca3.cer”) is excluded.

S306にて、デジタル証明書検証部204は、検索対象となるルートCA証明書から、サーバー証明書を検証できるルートCA証明書を検索する。 In S306, the digital certificate verification unit 204 searches for a root CA certificate that can verify the server certificate from the root CA certificate to be searched.

S307にて、デジタル証明書検証部204は、S306の検索結果により、サーバー証明書を検証できるルートCA証明書が存在するか否かを判定する。ルートCA証明書が存在すると判定された場合(S307にてYES)S308へ進み、存在しない場合はS310へ進む。 In S307, the digital certificate verification unit 204 determines whether or not there is a root CA certificate that can verify the server certificate based on the search result of S306. If it is determined that the root CA certificate exists (YES in S307), the process proceeds to S308, and if it does not exist, the process proceeds to S310.

S308にて、デジタル証明書検証部204は、サーバー証明書を、S306にて検索されたルートCA証明書を用いて検証を行う。サーバー証明書の検証方式についてはRSA署名検証やECDSA署名検証などの一般的に使われている既知の方式を用いるものとし、詳細の説明は割愛する。 In S308, the digital certificate verification unit 204 verifies the server certificate using the root CA certificate searched in S306. As the server certificate verification method, commonly used known methods such as RSA signature verification and ECDSA signature verification shall be used, and detailed explanations will be omitted.

S309にて、デジタル証明書検証部204は、S308における検証が成功したか否かを判定する。検証が成功した場合(S309にてYES)S311へ進み、検証が失敗した場合(S309にてNO)S310へ進む。 In S309, the digital certificate verification unit 204 determines whether or not the verification in S308 is successful. If the verification is successful (YES in S309), the process proceeds to S311, and if the verification fails (NO in S309), the process proceeds to S310.

S310にて、デジタル証明書検証部204は、サーバー証明書の検証に失敗した旨を暗号通信部202へ返す。そして、本処理フローを終了する。 In S310, the digital certificate verification unit 204 returns to the encrypted communication unit 202 that the verification of the server certificate has failed. Then, this processing flow is terminated.

S311にて、デジタル証明書検証部204は、サーバー証明書の検証に成功した旨を暗号通信部202へ返す。そして、本処理フローを終了する。 In S311 the digital certificate verification unit 204 returns to the encrypted communication unit 202 that the verification of the server certificate has been successful. Then, this processing flow is terminated.

以上、本実施形態では、アプリケーションがベンダー資産を扱う場合には検証対象となるルートCA証明書を用いる際に信頼のあるモジュールからインストールされたルートCA証明書だけを使う。これにより、ベンダー資産を安全にやり取りすることが可能となる。 As described above, in the present embodiment, when the application handles the vendor assets, when the root CA certificate to be verified is used, only the root CA certificate installed from the trusted module is used. This makes it possible to exchange vendor assets safely.

<第2の実施形態>
MFP110によってはサーバー証明書の検証を実施するか/しないかの検証設定を設定記憶部203に持つものがある。そこで、本願発明の第2の実施形態として、そのような構成を有する場合の形態について説明する。なお、第1の実施形態と重複する箇所については説明を省略し、差分を説明する。
<Second embodiment>
Some MFP 110s have a verification setting for whether or not to verify the server certificate in the setting storage unit 203. Therefore, as a second embodiment of the present invention, a mode in which such a configuration is provided will be described. The points that overlap with the first embodiment will be omitted, and the differences will be described.

[デジタル証明書検証部]
図7は、本実施形態に係るデジタル証明書検証部204の動作を説明するフローチャートである。第1の実施形態にて述べた図3の処理と同じ処理については、同じ参照番号を付し、差分のみを説明する。
[Digital Certificate Verification Department]
FIG. 7 is a flowchart illustrating the operation of the digital certificate verification unit 204 according to the present embodiment. The same processing as that of the processing of FIG. 3 described in the first embodiment is assigned the same reference number, and only the difference will be described.

S303の処理の後、S701にて、デジタル証明書検証部204は、S303にて参照したベンダー資産属性の値が“True”か否かを判定する。上述したように、“True”である場合には、当該外部アプリケーションがベンダー資産を扱うことを示す。ベンダー資産属性の値が“True”であると判定された場合(S701にてYES)S305へ進み、“False”であると判定された場合(S701にてNO)S702へ進む。 After the processing of S303, in S701, the digital certificate verification unit 204 determines whether or not the value of the vendor asset attribute referred to in S303 is "True". As described above, the case of "True" indicates that the external application handles vendor assets. If the value of the vendor asset attribute is determined to be "True" (YES in S701), the process proceeds to S305, and if it is determined to be "False" (NO in S701), the process proceeds to S702.

S702にて、デジタル証明書検証部204は、設定記憶部203からサーバー証明書の検証設定を取得する。 In S702, the digital certificate verification unit 204 acquires the verification setting of the server certificate from the setting storage unit 203.

S703にて、デジタル証明書検証部204は、S702にて取得した検証設定が“ON”か否かを判定する。検証設定が“ON”である場合とは、サーバー証明書の検証を行うことを意味する。“ON”である場合(S703にてYES)S306へ進み、“OFF”である場合(S703にてNO)S311へ進む。 In S703, the digital certificate verification unit 204 determines whether or not the verification setting acquired in S702 is “ON”. When the verification setting is "ON", it means that the server certificate is verified. If it is "ON" (YES in S703), the process proceeds to S306, and if it is "OFF" (NO in S703), the process proceeds to S311.

以上、本実施形態では、ベンダー資産を扱うアプリケーションは信頼のあるルートCA証明書を用いた検証を行えるようにするとともに、ベンダー資産を扱わないアプリケーションでは証明書の検証設定に応じて任意に証明書の検証の実施を制御する。これにより、サーバー証明書の検証に係る可用性を維持することが可能となる。 As described above, in the present embodiment, the application that handles vendor assets can perform verification using a reliable root CA certificate, and the application that does not handle vendor assets can arbitrarily obtain a certificate according to the certificate verification settings. Controls the implementation of verification. This makes it possible to maintain the availability related to the verification of the server certificate.

<第3の実施形態>
以下、本願発明の第3の実施形態について説明する。なお、第1、第2の実施形態と重複する箇所については説明を省略し、差分を説明する。また、本実施形態は、上記実施形態と任意に組み合わせ可能である。
<Third embodiment>
Hereinafter, a third embodiment of the present invention will be described. The points that overlap with the first and second embodiments will be omitted, and the differences will be described. Moreover, this embodiment can be arbitrarily combined with the above-mentioned embodiment.

MFP110の記憶装置116が故障した場合でも元の状態に復旧するための動作として、エクスポート機能や、インポート機能がある。これは、MFP110のすべての設定を外部の記憶媒体やサーバーに設定ファイルとしてエクスポートすることにより、MFP110の記憶装置116が故障による交換を行っても、エクスポートした設定ファイルをインポートすることにより復旧が可能とする。しかし、エクスポートした設定ファイルは利用者が手元で書き換えが可能であるため、ルートCA証明書も改ざんのおそれがある。その結果、このような情報を利用する場合には、信頼性が消失する恐れがある。 Even if the storage device 116 of the MFP 110 fails, there are an export function and an import function as operations for restoring the original state. By exporting all the settings of the MFP110 to an external storage medium or server as a setting file, even if the storage device 116 of the MFP110 is replaced due to a failure, it can be recovered by importing the exported setting file. And. However, since the exported configuration file can be rewritten by the user at hand, the root CA certificate may also be tampered with. As a result, reliability may be lost when such information is used.

そこで、本実施形態では、ベンダー属性の値が“ベンダー属性あり”のルートCA証明書の場合は、利用者が書き換えられないように暗号化処理を行ってからエクスポートする。また、インポートの際にはベンダー属性のあるルートCA証明書の場合は復号化処理を行ってからインポートを実施する。 Therefore, in the present embodiment, in the case of the root CA certificate whose vendor attribute value is "with vendor attribute", the root CA certificate is encrypted and then exported so that the user cannot rewrite it. In addition, at the time of import, in the case of a root CA certificate having a vendor attribute, decryption processing is performed before importing.

[エクスポート処理]
図8は、本実施形態に係る鍵管理部205のエクスポート処理の動作を説明するフローチャートである。本処理フローは、MFP110の利用者がMFP110の各種データのエクスポート処理の実行を指示した際に開始される。
[Export process]
FIG. 8 is a flowchart illustrating the operation of the export process of the key management unit 205 according to the present embodiment. This processing flow is started when the user of the MFP 110 instructs the execution of the export processing of various data of the MFP 110.

S801にて、鍵管理部205は、機体固有の共通鍵を生成する。この共通鍵はMFP110の利用者には公開されないものである。本実施形態では、記憶装置116に依存しない情報から生成される共通鍵(例えば、MFP110の機体番号など)を用いる。なお、生成方法については特に限定するものではなく、任意の方法が用いられてよい。 In S801, the key management unit 205 generates a common key unique to the machine. This common key is not open to the users of the MFP 110. In this embodiment, a common key (for example, the machine number of the MFP 110) generated from information independent of the storage device 116 is used. The generation method is not particularly limited, and any method may be used.

S802にて、鍵管理部205は、管理テーブル604にて管理されているルートCA証明書のうち先頭のルートCA証明書に着目し、そのベンダー属性の情報を読み込む。 In S802, the key management unit 205 pays attention to the first root CA certificate among the root CA certificates managed in the management table 604, and reads the vendor attribute information.

S803にて、鍵管理部205は、S802の読み込みの結果、“ベンダー属性あり”の値であるか否かを判定する。“ベンダー属性あり”と判定された場合(S803にてYES)S804へ進み、“ベンダー属性なし”と判定された場合(S803にてNO)S805へ進む。 In S803, the key management unit 205 determines whether or not the value is “with vendor attribute” as a result of reading S802. If it is determined that "there is a vendor attribute" (YES in S803), the process proceeds to S804, and if it is determined that "there is no vendor attribute" (NO in S803), the process proceeds to S805.

S804にて、鍵管理部205は、着目しているルートCA証明書の実体ファイルを、S801にて生成した共通鍵を用いて暗号化し、任意の記憶領域に保存する。ここでの任意の記憶領域は、ユーザーによって指定された外部記憶装置やネットワーク上のサーバーなどが用いられてよい。そして、S806へ進む。 In S804, the key management unit 205 encrypts the actual file of the root CA certificate of interest using the common key generated in S801 and stores it in an arbitrary storage area. As the arbitrary storage area here, an external storage device designated by the user, a server on the network, or the like may be used. Then, the process proceeds to S806.

S805にて、鍵管理部205は、着目しているルートCA証明書の実体ファイルを平文で任意の記憶領域に保存する。そして、S806へ進む。 In S805, the key management unit 205 saves the actual file of the root CA certificate of interest in plain text in an arbitrary storage area. Then, the process proceeds to S806.

S806にて、鍵管理部205は、管理テーブル604から未処理のルートCA証明書を検索する。 In S806, the key management unit 205 searches the management table 604 for the unprocessed root CA certificate.

S807にて、鍵管理部205は、S806の検索の結果、未処理のルートCA証明書のファイルがあるか否かを判定する。未処理のルートCA証明書のファイルがあると判定された場合(S807にてYES)S802へ戻り、未処理のルートCA証明書に対して処理を繰り返す。図6の例の場合、ルートCA証明書605〜607の3つの実体ファイルに対して、順次処理が繰り返される。未処理のルートCA証明書のファイルが無いと判定された場合(S807にてNO)S808へ進む。 In S807, the key management unit 205 determines whether or not there is an unprocessed root CA certificate file as a result of the search in S806. When it is determined that there is an unprocessed root CA certificate file (YES in S807), the process returns to S802 and the process is repeated for the unprocessed root CA certificate. In the case of the example of FIG. 6, the processing is sequentially repeated for the three entity files of the root CA certificate 605 to 607. If it is determined that there is no unprocessed root CA certificate file (NO in S807), the process proceeds to S808.

S808にて、鍵管理部205は、管理テーブル604そのものを任意の記憶領域に保存する。なお、管理テーブル604の保存位置と、S804やS805における実態ファイルの保存位置は同じであってもよいし、別の場所であってもよい。そして、本処理フローを終了する。 In S808, the key management unit 205 stores the management table 604 itself in an arbitrary storage area. The storage location of the management table 604 and the storage location of the actual file in S804 or S805 may be the same or may be different. Then, this processing flow is terminated.

[インポート処理]
図9は、本実施形態に係る鍵管理部205のインポート処理の動作を説明するフローチャートである。本処理フローは、MFP110の利用者がMFP110の各種データのインポート処理の実行を指示した際に開始される。また、本処理にて用いられるインポートデータは、図8にて示したエクスポート処理により得られたエクスポートデータであるものとし、そのデータの格納場所が利用者等によって指定されるものとする。
[Import process]
FIG. 9 is a flowchart illustrating the operation of the import process of the key management unit 205 according to the present embodiment. This processing flow is started when the user of the MFP 110 instructs the execution of the import processing of various data of the MFP 110. Further, the import data used in this process shall be the export data obtained by the export process shown in FIG. 8, and the storage location of the data shall be specified by the user or the like.

S901にて、鍵管理部205は、機体固有の共通鍵を生成する。なお、生成方法については特に限定するものではなく、任意の方法が用いられてよい。ここでは、図8に示したエクスポート処理のS801と同様の方法により、対応する共通鍵が生成される。 In S901, the key management unit 205 generates a common key unique to the aircraft. The generation method is not particularly limited, and any method may be used. Here, the corresponding common key is generated by the same method as in S801 of the export process shown in FIG.

S902にて、鍵管理部205は、任意の記憶領域からエクスポートデータに含まれる管理テーブル604を読み込む。管理テーブル604を読み込む記憶領域はユーザーから指定されてもよい。 In S902, the key management unit 205 reads the management table 604 included in the export data from an arbitrary storage area. The storage area for reading the management table 604 may be specified by the user.

S903にて、鍵管理部205は、管理テーブル604にて管理されているルートCA小証書のうち、先頭のルートCA証明書に着目し、そのベンダー属性の情報を読み込む。 In S903, the key management unit 205 pays attention to the first root CA certificate among the root CA certificates managed in the management table 604, and reads the vendor attribute information.

S904にて、鍵管理部205は、S903の読み込みの結果、“ベンダー属性あり”の値であるか否かを判定する。“ベンダー属性あり”と判定された場合(S904にてYES)S905へ進み、“ベンダー属性なし”と判定された場合(S904にてNO)S906へ進む。 In S904, the key management unit 205 determines whether or not the value is "with vendor attribute" as a result of reading S903. If it is determined that "there is a vendor attribute" (YES in S904), the process proceeds to S905, and if it is determined that "there is no vendor attribute" (NO in S904), the process proceeds to S906.

S905にて、鍵管理部205は、着目しているルートCA証明書の実体ファイルを任意の記憶領域から読み込み、S901にて生成された共通鍵を用いて復号化し、記憶装置116に保存する。そして、S907へ進む。 In S905, the key management unit 205 reads the actual file of the root CA certificate of interest from an arbitrary storage area, decrypts it using the common key generated in S901, and stores it in the storage device 116. Then, the process proceeds to S907.

S906にて、鍵管理部205は、着目しているルートCA証明書の実体ファイルを任意の記憶領域から読み込み、記憶装置116に保存する。ここでは、着目しているルートCA証明書の実体ファイルは、図8のS805の処理に基づき暗号化されていないものとし、読み込んだ実体ファイルがそのまま記憶装置116に保存される。そして、S907へ進む。 In S906, the key management unit 205 reads the actual file of the root CA certificate of interest from an arbitrary storage area and stores it in the storage device 116. Here, it is assumed that the actual file of the root CA certificate of interest is not encrypted based on the process of S805 of FIG. 8, and the read actual file is stored in the storage device 116 as it is. Then, the process proceeds to S907.

S907にて、鍵管理部205は、エクスポートデータに含まれる管理テーブル604から未処理のルートCA証明書を検索する。 In S907, the key management unit 205 searches the management table 604 included in the export data for the unprocessed root CA certificate.

S908にて、鍵管理部は、S907の検索の結果、未処理のルートCA証明書のファイルがあるか否かを判定する。未処理のルートCA証明書のファイルがあると判定された場合(S908にてYES)S903へ戻り、未処理のルートCA証明書に対して処理を繰り返す。図6の例の場合、ルートCA証明書605〜607の3つの実体ファイルに対して、順次処理が繰り返される。未処理のルートCA証明書のファイルが無いと判定された場合(S908にてNO)本処理フローを終了する。 In S908, the key management unit determines whether or not there is an unprocessed root CA certificate file as a result of the search in S907. When it is determined that there is an unprocessed root CA certificate file (YES in S908), the process returns to S903 and the process is repeated for the unprocessed root CA certificate. In the case of the example of FIG. 6, the processing is sequentially repeated for the three entity files of the root CA certificate 605 to 607. When it is determined that there is no unprocessed root CA certificate file (NO in S908), this processing flow is terminated.

以上、本実施形態により、機器内に保存されている信頼できるルートCA証明書を外部にエクスポート、インポートする場合でも、共通鍵で暗号化/復号化を行う。これにより、利用者がベンダー資産を使用するアプリケーションの認証に用いられるルートCA証明書の中身を見たり、改ざんしたりすることができなくなるため、信頼性を維持したまま復旧が可能となる。 As described above, according to the present embodiment, even when the reliable root CA certificate stored in the device is exported and imported to the outside, the encryption / decryption is performed with the common key. As a result, the user cannot see or tamper with the contents of the root CA certificate used for authenticating the application that uses the vendor assets, so that the restoration can be performed while maintaining the reliability.

<その他の実施形態>
本発明は上述の実施形態の1以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピューターにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
<Other Embodiments>
The present invention supplies a program that realizes one or more functions of the above-described embodiment to a system or a device via a network or a storage medium, and one or more processors in the computer of the system or the device read and execute the program. But it is feasible. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.

110…MFP、114…CPU、116…記憶装置、201…組み込みアプリケーション、202…暗号通信部、203…設定記憶部、204…デジタル証明書検証部、205…鍵管理部、206…証明書インストール部、207…外部アプリケーション、208…外部アプリケーションインストール部、209…外部アプリケーション管理部、210…ソフトウェアアップデート部 110 ... MFP, 114 ... CPU, 116 ... Storage device, 201 ... Embedded application, 202 ... Cryptographic communication unit, 203 ... Setting storage unit, 204 ... Digital certificate verification unit, 205 ... Key management unit, 206 ... Certificate installation unit , 207 ... External application, 208 ... External application installation unit, 209 ... External application management department, 210 ... Software update department

Claims (13)

1または複数のアプリケーションが動作可能な情報処理装置であって、
外部サーバーとの暗号化通信を行う際に用いられるルート証明書を管理する管理手段と、
アプリケーションから前記外部サーバーとの暗号化通信の要求を受け付けた際に、当該アプリケーションが、前記情報処理装置における所定の情報を利用するか否かを判定する判定手段と、
前記判定手段にて前記アプリケーションが前記所定の情報を利用すると判定された場合、前記管理手段にて管理されているルート証明書のうち、所定の属性情報が設定されたルート証明書を用いて、前記外部サーバーのサーバー証明書を検証する検証手段と
を有することを特徴とする情報処理装置。
An information processing device that can operate one or more applications.
A management means for managing the root certificate used for encrypted communication with an external server,
When a request for encrypted communication with the external server is received from the application, a determination means for determining whether or not the application uses predetermined information in the information processing device, and a determination means.
When the determination means determines that the application uses the predetermined information, the root certificate in which the predetermined attribute information is set is used among the root certificates managed by the management means. An information processing device having a verification means for verifying a server certificate of the external server.
ユーザーの指示に基づいて新たなルート証明書をインストールするインストール手段を更に有し、
前記管理手段は、前記インストール手段にてインストールされたルート証明書には前記所定の属性情報を設定しないことを特徴とする請求項1に記載の情報処理装置。
It also has an installation method to install a new root certificate based on the user's instructions,
The information processing device according to claim 1, wherein the management means does not set the predetermined attribute information in the root certificate installed by the installation means.
前記情報処理装置に備えられたファームウェアをアップデートするアップデート手段を更に有し、
前記管理手段は、前記アップデート手段によるアップデートに用いられるデータに含まれるルート証明書には前記所定の属性情報を設定することを特徴とする請求項1または2に記載の情報処理装置。
Further having an update means for updating the firmware provided in the information processing device,
The information processing device according to claim 1 or 2, wherein the management means sets the predetermined attribute information in the root certificate included in the data used for the update by the update means.
前記管理手段は、前記情報処理装置の出荷時にインストールされていたルート証明書には前記所定の属性情報を設定して管理することを特徴とする請求項1乃至3のいずれか一項に記載の情報処理装置。 The management means according to any one of claims 1 to 3, wherein the root certificate installed at the time of shipment of the information processing apparatus is managed by setting the predetermined attribute information. Information processing device. 前記情報処理装置にインストールされているアプリケーションの情報を管理する第2の管理手段を更に有し、
前記判定手段は、アプリケーションから前記外部サーバーとの暗号化通信の要求を受け付けた際に、当該アプリケーションから前記所定の情報を利用するか否かを示す指示を受け付けたか否かを判定し、
前記指示を受け付けていない場合、前記第2の管理手段にて管理されている情報に基づいて、当該アプリケーションが、前記所定の情報を利用するか否かを判定することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
It further has a second management means for managing the information of the application installed in the information processing apparatus.
When the determination means receives a request for encrypted communication with the external server from the application, the determination means determines whether or not an instruction indicating whether or not to use the predetermined information is received from the application.
Claim 1 is characterized in that when the instruction is not accepted, it is determined whether or not the application uses the predetermined information based on the information managed by the second management means. The information processing apparatus according to any one of 4 to 4.
前記外部サーバーのサーバー証明書の検証を行うか否かの設定を行う設定手段を更に有し、
前記検証手段は、前記判定手段にて前記外部サーバーとの暗号化通信の要求を行ったアプリケーションが前記所定の属性を利用せず、かつ、前記設定手段にてサーバー証明書の検証を行わない設定がされている場合に、当該サーバー証明書の検証を行わないことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
It also has a setting means for setting whether or not to verify the server certificate of the external server.
The verification means is set so that the application that requested the encrypted communication with the external server by the determination means does not use the predetermined attribute and the server certificate is not verified by the setting means. The information processing apparatus according to any one of claims 1 to 5, wherein the server certificate is not verified when the server certificate is used.
前記情報処理装置の固有の情報を用いて共通鍵を生成する生成手段と、
前記情報処理装置にインストールされているルート証明書のうち、前記所定の属性情報が設定されたルート証明書を前記生成手段にて生成された共通鍵を用いて暗号化してエクスポートするエクスポート手段と、
前記エクスポート手段にて出力されたデータを前記情報処理装置にインポートする際に、前記生成手段にて生成された共通鍵を用いて暗号化されたルート証明書を復号化してインポートするインポート手段と
を更に有することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理装置。
A generation means for generating a common key using information unique to the information processing device, and
Among the root certificates installed in the information processing apparatus, an export means for encrypting and exporting the root certificate in which the predetermined attribute information is set by using the common key generated by the generation means, and an export means.
When importing the data output by the export means into the information processing apparatus, an import means that decrypts and imports the root certificate encrypted by using the common key generated by the generation means. The information processing apparatus according to any one of claims 1 to 6, further comprising.
前記エクスポート手段は、前記情報処理装置にインストールされているルート証明書のうち、前記所定の属性情報が設定されていないルート証明書は暗号化せずにエクスポートすることを特徴とする請求項7に記載の情報処理装置。 The export means according to claim 7, wherein among the root certificates installed in the information processing apparatus, the root certificate in which the predetermined attribute information is not set is exported without being encrypted. The information processing device described. 前記所定の情報は、前記情報処理装置のベンダーにて管理されるものとして定義されたベンダー資産の情報であることを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 8, wherein the predetermined information is information on vendor assets defined as being managed by the vendor of the information processing apparatus. 前記所定の属性情報は、前記情報処理装置のベンダーから提供されたものであることを示す情報であることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。 The information processing device according to any one of claims 1 to 9, wherein the predetermined attribute information is information indicating that the information processing device is provided by a vendor of the information processing device. 前記検証手段の検証結果に基づいて、前記外部サーバーとの暗号化通信を行う通信手段を更に有することを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 10, further comprising a communication means for performing encrypted communication with the external server based on the verification result of the verification means. 1または複数のアプリケーションが動作可能な情報処理装置の制御方法であって、
外部サーバーとの暗号化通信を行う際に用いられるルート証明書を管理手段にて管理する管理工程と、
アプリケーションから前記外部サーバーとの暗号化通信の要求を受け付けた際に、当該アプリケーションが、前記情報処理装置における所定の情報を利用するか否かを判定する判定工程と、
前記判定工程にて前記アプリケーションが前記所定の情報を利用すると判定された場合、前記管理手段にて管理されているルート証明書のうち、所定の属性情報が設定されたルート証明書を用いて、前記外部サーバーのサーバー証明書を検証する検証工程と
を有することを特徴とする情報処理装置の制御方法。
A control method for an information processing device capable of operating one or more applications.
A management process that manages the root certificate used for encrypted communication with an external server by management means, and
A determination step of determining whether or not the application uses predetermined information in the information processing device when a request for encrypted communication with the external server is received from the application.
When it is determined in the determination step that the application uses the predetermined information, the root certificate in which the predetermined attribute information is set is used among the root certificates managed by the management means. A control method for an information processing device, which comprises a verification step for verifying a server certificate of the external server.
1または複数のアプリケーションが動作可能なコンピューターを、
外部サーバーとの暗号化通信を行う際に用いられるルート証明書を管理する管理手段、
アプリケーションから前記外部サーバーとの暗号化通信の要求を受け付けた際に、当該アプリケーションが、前記情報処理装置における所定の情報を利用するか否かを判定する判定手段、
前記判定手段にて前記アプリケーションが前記所定の情報を利用すると判定された場合、前記管理手段にて管理されているルート証明書のうち、所定の属性情報が設定されたルート証明書を用いて、前記外部サーバーのサーバー証明書を検証する検証手段
として機能させるためのプログラム。
A computer that can run one or more applications,
A management means for managing root certificates used for encrypted communication with external servers,
A determination means for determining whether or not an application uses predetermined information in the information processing device when a request for encrypted communication with the external server is received from the application.
When the determination means determines that the application uses the predetermined information, the root certificate in which the predetermined attribute information is set is used among the root certificates managed by the management means. A program for functioning as a verification means for verifying the server certificate of the external server.
JP2019153190A 2019-08-23 2019-08-23 Information processing device, its control method, and program Active JP7313232B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019153190A JP7313232B2 (en) 2019-08-23 2019-08-23 Information processing device, its control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019153190A JP7313232B2 (en) 2019-08-23 2019-08-23 Information processing device, its control method, and program

Publications (3)

Publication Number Publication Date
JP2021033645A true JP2021033645A (en) 2021-03-01
JP2021033645A5 JP2021033645A5 (en) 2022-08-04
JP7313232B2 JP7313232B2 (en) 2023-07-24

Family

ID=74675881

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019153190A Active JP7313232B2 (en) 2019-08-23 2019-08-23 Information processing device, its control method, and program

Country Status (1)

Country Link
JP (1) JP7313232B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086155A (en) * 2009-10-16 2011-04-28 Felica Networks Inc Ic chip, information processing apparatus, and program
JP2015138336A (en) * 2014-01-21 2015-07-30 サイエンスパーク株式会社 Management method of electronic data, program therefor, and recording medium for program
JP2016031600A (en) * 2014-07-28 2016-03-07 富士通株式会社 Electronic device, authentication apparatus, and information processing system
JP2018174507A (en) * 2017-03-31 2018-11-08 セコム株式会社 Communication device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011086155A (en) * 2009-10-16 2011-04-28 Felica Networks Inc Ic chip, information processing apparatus, and program
JP2015138336A (en) * 2014-01-21 2015-07-30 サイエンスパーク株式会社 Management method of electronic data, program therefor, and recording medium for program
JP2016031600A (en) * 2014-07-28 2016-03-07 富士通株式会社 Electronic device, authentication apparatus, and information processing system
JP2018174507A (en) * 2017-03-31 2018-11-08 セコム株式会社 Communication device

Also Published As

Publication number Publication date
JP7313232B2 (en) 2023-07-24

Similar Documents

Publication Publication Date Title
CN111066020B (en) System and method for creating a decentralised identity
CN111095327B (en) System and method for verifying verifiable claims
JP4671783B2 (en) Communications system
JP4712325B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
CA2494513C (en) Digital-signed digital document exchange supporting method and information processor
US7673331B2 (en) Server certificate issuing system
US8261080B2 (en) System and method for managing digital certificates on a remote device
JP4758095B2 (en) Certificate invalidation device, communication device, certificate invalidation system, program, and recording medium
JP4576210B2 (en) Certificate transfer device, certificate transfer system, certificate transfer method, program, and recording medium
JP2005006076A (en) Communication system and method therefor
CN102609635A (en) Information processing apparatus and control method
JP2017225054A (en) Profile data distribution control device, profile data distribution control method, and profile data distribution control program
US20220345319A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
US20200007347A1 (en) Information processing apparatus, control method for information processing apparatus, and storage medium
JP5012574B2 (en) Common key automatic sharing system and common key automatic sharing method
JP2010086175A (en) Remote access management system and method
JP4509678B2 (en) Certificate setting method
JP2004234538A (en) Encrypted data sharing system
JP7313232B2 (en) Information processing device, its control method, and program
JP2012181662A (en) Account information cooperation system
WO2014038034A1 (en) Information processing system, information processing method, and program
JP2006005613A (en) Authentication system
CN113569230A (en) Firmware updating method, device and system
JP6789225B2 (en) Secure product identification and verification
JP5434956B2 (en) Certificate invalidation device, certificate invalidation system, program, and recording medium

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220727

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230601

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230711

R151 Written notification of patent or utility model registration

Ref document number: 7313232

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151