JP5438140B2 - 修正プログラム提供システム及びプログラム - Google Patents

修正プログラム提供システム及びプログラム Download PDF

Info

Publication number
JP5438140B2
JP5438140B2 JP2012010458A JP2012010458A JP5438140B2 JP 5438140 B2 JP5438140 B2 JP 5438140B2 JP 2012010458 A JP2012010458 A JP 2012010458A JP 2012010458 A JP2012010458 A JP 2012010458A JP 5438140 B2 JP5438140 B2 JP 5438140B2
Authority
JP
Japan
Prior art keywords
information
data
correction program
user
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012010458A
Other languages
English (en)
Other versions
JP2013149170A (ja
Inventor
功 甲斐根
美子 坂本
真一 丹京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Systems Ltd
Original Assignee
Hitachi Systems 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 Hitachi Systems Ltd filed Critical Hitachi Systems Ltd
Priority to JP2012010458A priority Critical patent/JP5438140B2/ja
Publication of JP2013149170A publication Critical patent/JP2013149170A/ja
Application granted granted Critical
Publication of JP5438140B2 publication Critical patent/JP5438140B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、インターネット等の情報処理の技術に関し、特に、ベンダがコンピュータソフトウェア(アプリケーションプログラム等)の修正プログラム(パッチ等と呼ばれるソフトウェアの脆弱性を修正するためのプログラム)をユーザのコンピュータに対して配布・提供し、ユーザが当該修正プログラムをコンピュータに適用してソフトウェアを更新する技術に関する。
(1) 現在、ユーザのPC等のコンピュータにおけるソフトウェアの脆弱性を修正(対処)するためにベンダから提供される修正プログラムに関して、修正プログラムの提供前にソフトウェアの脆弱性を悪用する攻撃、いわゆるゼロデイ攻撃、が増加している。ゼロデイ攻撃への対策はいくつか研究等がされているが、根本的な対策は、いち早く修正プログラムの適用を行うこと、である。
しかしながら、ベンダから修正プログラムがリリースされても、多くのユーザはなかなか修正プログラムの適用を実施していない、あるいは迅速には実施していない、という現実がある。即ち、修正プログラムの適用の不徹底性や拙速性などの問題がある。適用が遅れる理由としては、例えば修正プログラムがリリースされてもすぐには気付かない場合や、修正プログラムを適用すべきか判断に迷う場合などが考えられる。
上記問題(修正プログラムの適用の不徹底など)の一解決手段として、ユーザのコンピュータでネットワークを介してサーバ等から得られる修正プログラムの適用を自動的(ユーザの確認操作を不要とする場合)または半自動的(ユーザの確認操作を介在しつつその他は自動的とする場合)に実行する仕組みが考えられる(例えば後述の特許文献1等)。例えばMicrosoft社の場合、“Microsoft Update”のような自動更新技術(サービス)を提供している。
(2) しかし現状(従来)のシステムでは、上記のようなソフトウェア更新(修正プログラム適用)時に、例えばベンダの更新用サーバ(修正プログラム提供サーバ)に対して一斉に多数のユーザPC等からのアクセス集中などが発生してサーバ負荷が増大し、ネットワークのトラフィックが増大する。そのため、ベンダ(修正プログラム提供者)にとっては、更新用サーバ等の設備を準備・運用するコストを要するなど、負担が大きい。 特に大きいベンダ(多数のユーザが使用するソフトウェアを提供するベンダ)の場合、更新用サーバ等の設備のコストも多大となる。また小さいベンダにとっては、大きいベンダのように設備等のコストはかけられない。
一方、ユーザ側でも、更新用サーバへのアクセス集中などによってソフトウェア更新(修正プログラム適用)に時間を要する。また、従来のシステムでは、ソフトウェアの修正プログラムの配布・提供は、ベンダごとに個別に様々な形で行われている。そのため、ユーザのPC等にインストールされている複数及び各種のソフトウェアについて、それぞれ様々な形で提供されている修正プログラム等のデータ情報を参照・確認して更新する作業は、ユーザにとって負担が大きく、利便性が低い。
(3) ソフトウェアのバージョンの自動更新(修正プログラムの自動適用)に関する先行技術例として、特開平8−249163号公報(特許文献1)などがある。
特許文献1(「ネットワークシステムのソフトウェアバージョン管理装置」)では、目的として、ネットワークに組み込まれているコンピュータのソフトウェアのバージョンアップ作業を自動的に行うと記載されている。装置の構成として、他のコンピュータの第1のソフトウェアのバージョン情報を受信し、自己の第2のソフトウェアのバージョン情報と比較して自己の第2のソフトウェアのバージョンアップが必要か否か判断し、必要の場合、第1のソフトウェアをダウンロードして第2のソフトウェアを第1のソフトウェアのバージョンになるようにバージョンアップする、といった構成が記載されている。効果として、ネットワークに組み込まれた複数のコンピュータ間でソフトウェアのバージョンが比較され、自己のソフトウェアが自動的に最新のバージョンにされること、サーバのソフトウェアがバージョンアップするとクライアントのソフトウェアがバージョンアップされること、等が記載されている。
(4) コンピュータセキュリティに関する仕様として、米国NISTにおいて開発された、脆弱性対策の自動化を目的とした共通仕様である、SCAP(Security Content Automation Prtocol)(非特許文献1)がある。SCAPでは、標準仕様として、CVE(Common Vulnerability and Exposures:共通脆弱性識別子),CCE(Common Configuration Enumeration:共通セキュリティ設定一覧),CPE(Common Platform Enumeration:共通プラットフォーム一覧),CVSS(Common Vulnerability Scoring System:共通脆弱性評価システム),XCCDF(ezXtensible Configuration Checklist Description Format:セキュリティ設定チェックリスト),OVAL(Open Vulnerability and Assesment Language:セキュリティ検査言語)などがある。
(5) 一方、ファイル共有型のP2P(Peer to Peer,ピアトゥーピア)の技術として各種のシステム(プロトコル等)が知られている。P2P技術の中には、P2PネットワークのP2Pノード間で互いにファイル(キャッシュ)を分散保有して共有利用し、インデックス情報を保有する方式などに応じて各種のP2Pシステム(ファイル共有型P2Pシステム)が存在する。ファイル共有型P2Pシステムの特定の実装技術や利用方法に関しては問題点(例えば著作権侵害コンテンツの放流)なども指摘されているが、技術的解決も進んでおり、一般的には有用な技術である。
特開平8−249163号公報
「セキュリティ設定共通化手順SCAP概説」,IPA(独立行政法人情報処理推進機構),[インターネット],[2011年11月1日検索],<URL:http://www.jpa.go.jp/security/vuln/SCAP.html>
前述のソフトウェア更新(修正プログラム提供・利用)に関する従来技術(前記特許文献1等を含む)では、ソフトウェアの自動的な更新(バージョンアップ等)を行う記載はあるが、修正プログラム提供者(ベンダ)及び修正プログラム利用者(ユーザ)の双方を含む、前述の更新(適用)の徹底性や迅速性の問題、ネットワーク負荷の問題、作業負担や利便性の問題、コストの問題などについては、改善余地がある。
まとめると、従来技術では、複数のベンダ、複数のユーザ、及び一般のネットワークを含めた環境における問題点(課題)として、以下が挙げられる。
(A)ベンダ側の問題点: 適用の徹底性・迅速性の不足からユーザのPC等のセキュリティレベルが低い状態になり、ソフトウェア及びベンダの印象も悪くする点がある。また、更新時のアクセス集中などによりベンダの更新用サーバやLAN等の負荷が高くなり、設備のコストが高くなる点がある。
ベンダ側としては、修正プログラムを迅速にユーザに配布・提供して適切に更新を実行してもらいたい。またその際、更新用サーバ等にあまり負担をかけず低コストで安全に配布・提供を実現したい。
(B)ユーザ側の問題点: 適用の徹底性・迅速性の不足からユーザのPC等のセキュリティレベルが低い状態になり、ユーザの業務等に影響を与える点がある。ユーザの更新作業の負担、利便性の不足、安全性(信頼性)の不安などの点がある。
ユーザ側としては、更新(適用)の必要時には、迅速かつ確実に、かつ作業負担などをあまり感じずにわかりやすい操作にて実行し、PC等のセキュリティレベルを維持したい。
以上を鑑み、本発明の主な目的は、ベンダ−ユーザ間でのソフトウェアの修正プログラム等の提供−利用に関する情報処理システム等の技術において、修正プログラムの適用の迅速性、利便性、信頼性、セキュリティレベル維持、ネットワーク負荷低減、低コスト化など、効率的なソフトウェア更新(修正プログラム流通)を実現することができる技術を提供することである。
前記目的を達成するため、本発明のうち代表的な形態は、ベンダ−ユーザ間でのソフトウェアの修正プログラム等の提供−利用に関する情報処理システム(修正プログラム提供システム)等であって、以下に示す構成を有することを特徴とする。
本システムは、ベンダ−ユーザ間での修正プログラムの適用(自動更新等)に関するデータ情報の提供−利用の効率化(前述の適用の迅速性や利便性や負荷低減など)を実現する新たな独自のシステム(モデル等)として、P2P型の修正プログラム自動適用ネットワーク(修正プログラム提供P2Pネットワーク)を含んで構成する。インターネット上の所定のファイル共有型のP2Pネットワーク(既存のP2Pシステムを使用してもよいし独自のP2Pシステムを使用してもよい)上で修正プログラム流通に係わる特徴的な機能層を構成し、本P2Pネットワーク(機能層)で修正プログラム及び関連データ情報を効率的に流通する。複数の各ベンダや各ユーザが使用するサーバやPC等の装置(コンピュータ)には、本特徴的な機能の処理を行うサブシステム(プログラム等)を設ける。
またインターネット上、複数のベンダ−ユーザ間に、本システム(機能層)によるサービスの処理を提供するプロバイダ(サービス提供会社)のシステムを介在・構築し、サービスの処理として、修正プログラム及び関連データ情報の提供に関する処理を行う。ベンダからプロバイダに対して関連データ情報などを提供し、初期にはプロバイダからユーザの装置へ関連データ情報などを提供する。これにより、複数のベンダ−ユーザにおける、負担軽減、低コストなどを実現する。
ユーザのPC等を含むインターネット上の任意のコンピュータ(所定のP2P機能を持つ)を本システムのP2Pネットワークのノードとして参加可能とする。本P2Pノード間で、準拠するP2Pプロトコルに応じて、修正プログラム及び関連データ情報(自動更新等の判定を実現するための所定のデータ情報)を公開、転送、分散保有し、共用し、配布・流通を効率化する。
修正プログラムのリリース時など、最初は例えばベンダやプロバイダのサーバや少数のP2Pノードから修正プログラム及び関連データ情報を公開・配布するが、ユーザのPC等での上記修正プログラムの適用に伴い、当該ユーザのPC等をP2Pノードとして当該修正プログラム及び関連データ情報を本P2Pネットワークへ公開する。これにより、ユーザのノード間で修正プログラム及び関連データ情報を転送しあい更新(適用)が可能となる。即ち、更新を実行したノード数に応じて本P2Pネットワークで更新用データ情報を提供するノード数が増大し、更新用データ情報を効率的に展開(拡散)させることができる。
また、上記ファイル共有型P2P技術(P2P機能)の使用に伴い、データやその提供元の信頼性などを確保するために、PKIベースのデジタル署名技術などを組み合わせて用いて機能層/サービスを構築する。ユーザのPC等では、対応するデジタル署名処理の機能(署名機能)を備え、本P2Pネットワークから修正プログラム及び関連データ情報を取得すると、取得したデータに付与されているデジタル署名を検証する処理を行う。これによりデータ・提供元の正当性を確認し、確認できた場合は、更新(適用)を実行し、確認できない場合は、更新(適用)を実行しない。
本システムは、特徴的な機能として、ユーザのPC等における更新対象のソフトウェアの自動的な選択(第1の判定)の機能、及び対象ソフトウェアの修正プログラムの適用の要否などの自動的な判定(第2の判定)の機能がある。修正プログラムの関連データ情報を用いて上記第1、第2の判定処理などを制御する。関連データ情報は、ベンダまたはプロバイダが作成して本P2Pネットワークに対して公開・提供する。また、ユーザ装置での設定機能に応じて、自動更新(ユーザ確認操作を不要とする)や非自動更新(ユーザ確認操作を介在する)などを可能とし、ユーザの利便性を高める。
本システム形態は、例えば、ソフトウェアの修正プログラムを提供する複数の提供者の装置と、前記ソフトウェアの修正プログラムを利用する複数の利用者の装置と、前記提供者の装置と前記利用者の装置との間に介在するサービス提供会社の装置とが、ネットワークで接続される。前記提供者の装置は、前記修正プログラムの提供に関する処理を行う第1のサブシステムを有し、前記サービス提供会社の装置は、前記修正プログラムの提供と利用に介在するサービスに関する処理を行う第2のサブシステムを有し、前記利用者の装置は、前記修正プログラムの利用に関する処理を行う第3のサブシステムを有する。前記提供者、サービス提供会社、及び利用者の装置は、それぞれ、P2Pネットワークのノードとしてデータ情報を授受するP2P機能を有する。前記第2のサブシステムは、前記提供者からの情報に基づき、前記利用者の装置のソフトウェアにおける前記修正プログラムを適用する更新対象となるソフトウェアを選択する第1の判定処理のためのセキュリティ設定チェックリスト情報である第1の情報を作成して前記P2Pネットワークに公開・提供する処理を行う。前記第1のサブシステムは、前記利用者の装置のソフトウェアにおける前記更新対象ソフトウェアに対する前記修正プログラムの適用要否を判定する第2の判定処理のためのセキュリティ検査情報である第2の情報を作成し、前記修正プログラムのデータと前記第2の情報とを前記P2Pネットワークに公開・提供する処理を行う。前記第3のサブシステムは、前記P2PネットワークのいずれかのP2Pノードから前記第1の情報を取得し、前記第1の情報から当該利用者の装置における更新対象ソフトウェアを判定する第1の判定処理と、前記P2PネットワークのいずれかのP2Pノードから前記第2の情報を取得し、前記第2の情報から前記更新対象ソフトウェアに対する前記修正プログラムの適用要否を判定する第2の判定処理と、前記P2PネットワークのいずれかのP2Pノードから前記更新対象ソフトウェアの前記修正プログラムのデータを取得し、当該更新対象ソフトウェアに対する当該修正プログラムの適用を実行する処理と、前記適用を実行した前記更新対象ソフトウェアの前記修正プログラムのデータと、当該データに関連する前記第1の情報及び前記第2の情報を、前記P2Pネットワークに対して公開・提供する処理と、を行う。
本発明のうち代表的な形態によれば、ベンダ−ユーザ間でのソフトウェアの修正プログラム等の提供−利用に関する情報処理システム等の技術において、修正プログラムの適用の迅速性、利便性、信頼性、セキュリティレベル維持、ネットワーク負荷低減、低コスト化など、効率的なソフトウェア更新(修正プログラム流通)を実現することができる。
本発明の一実施の形態のシステム(修正プログラム提供システム)の機能ブロック構成を示す図である。 本実施の形態のシステムのハードウェア構成例を示す図である。 本実施の形態のシステムでの複数の要素間の通信などの構成例を示す図である。 本実施の形態のシステムでのネットワーク階層構造やプロトコルなどを示す説明図である。 本実施の形態のシステムでの更新対象ソフトウェア選択(第1判定処理を含む)の処理シーケンス例を示す図である。 本実施の形態のシステムでの修正プログラム適用(第2判定処理を含む)の処理シーケンス例を示す図である。 本発明の他の実施の形態のシステムの構成及び処理例を示す図である。 本実施の形態のシステムでの各データ情報のファイルの関係(構成例)を示す図である。 本実施の形態のシステムでのSWデータテーブルの構成例を示す図である。 本実施の形態のシステムでの拡張XCCDFデータ(XML文書)の構成例を示す図である。 拡張XCCDF作成機能(21)の処理フロー例を示す図である。 拡張XCCDF送信機能(22)の処理フロー例を示す図である。 拡張XCCDF取得機能(31)及び拡張XCCDF検証機能(34)の処理フロー例を示す図である。 OVAL取得機能(32)及びOVAL検証機能(35)の処理フロー例を示す図である。 修正プログラム取得機能(33)及び修正プログラム検証機能(36)の処理フロー例を示す図である。 OVAL検証機能(35)の詳細処理(S402)のフロー例を示す図である。 修正プログラム検証機能(36)の詳細処理(S504)のフロー例を示す図である。 修正プログラム適用機能(37)の処理フロー例を示す図である。
以下、図面に基づき、本発明の一実施の形態(修正プログラム提供システム等)について詳細に説明する。本実施の形態のシステムは、図1〜図4等の構成に基づき、図5,図6のようなシーケンスで処理を行い、図8〜図10のようなデータ情報を処理する。図11〜図18は処理例を示す。
[モデル]
本システムでは、ユーザ装置で利用されているソフトウェアに関して脆弱性が発見された場合、この脆弱性を修正するための修正プログラムを、ベンダから提供してユーザ装置で迅速に適用してもらうための仕組みを、ベンダ−ユーザ間に介在するプロバイダによるサービスとして提供する。
本システムは、前述のSCAPの仕様(CVE,CCE,CPE,CVSS,XCCDF,OVAL等)を前提(準拠)として拡張し、ファイル共有型P2Pネットワーク上に、デジタル署名機能による信頼性確保の仕組みを備えつつ、修正プログラム及び関連データ情報の流通(提供−利用)に係わるオーバーレイネットワーク(機能層)を構築し、ベンダ−ユーザ間に介在するプロバイダによるサービスを提供する。
[システム(1)]
図1において、本実施の形態のシステム(修正プログラム提供システム、及び修正プログラム提供P2Pネットワーク)の機能ブロック構成を示している。本システム全体は、ベンダ(修正プログラム提供者)及びそのベンダ装置1と、プロバイダ(サービス提供会社)及びそのプロバイダ装置2と、ユーザ(修正プログラム利用者)及びそのユーザ装置3と、を含む要素がインターネット(ネットワーク)4で接続される構成である。ベンダ1やユーザ3は複数存在する。
ベンダ1、プロバイダ2、及びユーザ3の各装置は、例えばPCや携帯端末やサーバ装置などのコンピュータまたはそれを含んで成る情報処理システムであり、本システムの特有の機能を実現するための対応する各サブシステム(10,20,30)が具備される。各サブシステム(10,20,30)は、本実施の形態のプログラム等により実現される。各装置(1,2,3)は、本P2Pネットワーク(100)を構成するP2Pノードとして適宜参加する(P2P機能71〜73を用いる)。
(1) ベンダ装置1は、ベンダ用サブシステム10、修正プログラムデータ91、P2P機能71、署名機能81などを備える。ベンダ用サブシステム10は、構成要素となる機能(処理部)として、OVAL作成機能11、申請機能12などを有し、記憶・管理・参照するデータ情報として、SW(ソフトウェア)データテーブル41、OVALデータ42、公開鍵(ベンダ公開鍵)43などを有する。各機能はソフトウェアプログラム処理により実現される。
修正プログラムデータ91は、ベンダ1が提供するソフトウェア90(例:図3のSWa)の修正プログラム(例:図3のP1)のデータである。なお91は、各ソフトウェア、バージョン、脆弱性などに応じた複数の各データを有してもよい。
SWデータテーブル41では、ソフトウェア情報を管理するテーブルであり、当該ベンダ1に係わるソフトウェア(90)、修正プログラム(91)、バージョン、脆弱性、拡張XCCDFデータ(52)、OVALデータ(42)、等の対応関係の情報が管理される。
OVALデータ42は、ある修正プログラムデータ91に係わる、当該ベンダ1によりOVAL作成機能11を用いて作成された所定の形式(OVAL)のファイルである。OVALは、図3でも示すように、セキュリティ検査情報(修正プログラム適用判定用情報)である。
公開鍵43は、デジタル署名の処理で用いる当該ベンダ1の公開鍵情報である。
OVAL作成機能11は、ベンダ担当者の入力操作に基づき、修正プログラムデータ91に関するOVALデータ42を作成する処理を行う。
申請機能12は、ベンダ担当者の入力操作に基づき、プロバイダ2(受付機能23)に対する利用申請処理などを行う(後述)。
(2) プロバイダ装置2は、複数のベンダ1のソフトウェア(90)の修正プログラム(91)に関して、複数のユーザ3に対し、本P2Pネットワーク(100)を通じて、修正プログラム及び関連データ情報の提供を含むサービス処理を行う。
プロバイダ2は、プロバイダ用サブシステム20、P2P機能72、署名機能82などを備える。
プロバイダ用サブシステム20は、機能(処理部)として、拡張XCCDF作成機能21、拡張XCCDF送信機能22、受付機能23などを有し、データ情報として、SWデータテーブル51、拡張XCCDFデータ52、秘密鍵53、公開鍵54などを有する。各機能はソフトウェアプログラム処理により実現される。
SWデータテーブル51は、ソフトウェア情報を管理するテーブルであり、複数の各ベンダ1のソフトウェア(90)、修正プログラム(91)、バージョン、脆弱性、拡張XCCDFデータ(52)、OVALデータ(42)、などの対応関係の情報が管理される(41と概略同様)。
拡張XCCDFデータ52は、ベンダ1ごと、修正プログラム(91)ごとの情報として、拡張XCCDF作成機能21を用いて作成される所定の形式(拡張XCCDF)のデータである。なおXCCDFをもとに拡張した形式(拡張XCCDF)を用いる。
秘密鍵53及び公開鍵54は、デジタル署名の処理で用いる当該プロバイダ2の秘密鍵情報及び公開鍵情報である。
拡張XCCDF作成機能21は、プロバイダ担当者の入力操作に基づき、拡張XCCDFデータ52を作成する処理を行う。この際には、署名機能82、秘密鍵53、公開鍵54を用いてデジタル署名を生成し拡張XCCDFデータ52内に記述する処理を含む。
拡張XCCDF送信機能22は、P2P連携(P2P機能72を使用)で上記の拡張XCCDFデータ52を本P2Pネットワーク(100)に対し送信(公開・提供等)する処理を行う。
受付機能23は、インターネット4を介して、ベンダ1(申請機能12)からの利用申請などを受け付け、利用受理の応答をする処理などを行う(人による作業を含む)。例えば、受付機能23は、ベンダ1から、拡張XCCDFデータ52を作成するために必要な情報を受信する処理を行う。
(3) ユーザ装置3は、ユーザ用サブシステム30、ソフトウェア93、P2P機能73、署名機能83などを備える。
ソフトウェア93は、ユーザ装置3にインストールされている、修正プログラム(91)による更新(適用)の対象(候補)となるアプリケーションプログラム等である。
ユーザ用サブシステム30は、機能(処理部)として、拡張XCCDF取得機能31、OVAL取得機能32、修正プログラム取得機能33、拡張XCCDF検証機能34、OVAL検証機能35、修正プログラム検証機能36、修正プログラム適用機能37、P2P連携公開機能38、設定機能39などを有し、データ情報として、SWデータテーブル61、ベンダ公開鍵62、プロバイダ公開鍵63、拡張XCCDFデータ64、OVALデータ65、修正プログラムデータ66などを有する。各機能はソフトウェアプログラム処理により実現される。なお、64,65,66は、本P2Pネットワーク(100)から取得したデータや公開するデータとして示している(52,42,91と対応する)。
SWデータテーブル61は、ユーザ装置3におけるソフトウェア情報を管理するテーブルである。ベンダ公開鍵62はベンダ1(43)から取得した情報である。プロバイダ公開鍵63はプロバイダ2(54)から取得した情報である。
拡張XCCDF取得機能31は、P2P連携(P2P機能73を使用)で、拡張XCCDFデータ52(対応する64)をプロバイダ2から取得(受信等)する処理、または他のP2Pノード(同データを公開しているユーザ装置3)から取得する処理を行う。
OVAL取得機能32は、P2P連携(P2P機能73を使用)で、OVALデータ42(対応する65)をベンダ装置1から取得する処理、または他のP2Pノード(同データを公開しているユーザ装置3)から取得する処理を行う。
修正プログラム取得機能33は、P2P連携(P2P機能73を使用)で、修正プログラムデータ91(対応する66)をベンダ装置1から取得する処理、または他のP2Pノード(同データを公開しているユーザ装置3)から取得する処理を行う。
拡張XCCDF検証機能34は、拡張XCCDF取得機能31により取得した拡張XCCDFデータ52を、署名機能83及びプロバイダ公開鍵63を用いて、正当性を検証する処理を行う。
OVAL検証機能35は、OVAL取得機能32により取得したOVALデータ42を、対応する拡張XCCDFデータ(52)を用いて、及び署名機能83、プロバイダ公開鍵63を用いて、正当性を検証する処理を行う。
修正プログラム検証機能36は、修正プログラム取得機能33により取得した修正プログラムデータ91を、対応する拡張XCCDFデータ(52)を用いて、及び署名機能83、プロバイダ公開鍵63を用いて、正当性を検証する処理を行う。
修正プログラム適用機能37は、取得・検証済みの修正プログラムデータ91を、更新対象ソフトウェア90に対して適用を実行する処理を行う。
P2P連携公開機能38は、取得・検証済みの各データ情報(52,42,91)について、当該ユーザ装置3での適用の後に、自動的に、P2P連携(P2P機能73を使用)で本P2Pネットワーク(100)に対して公開・提供する処理を行う。例えばユーザ装置3の外部公開用のフォルダに、当該データ情報(64,65,66)を格納し、外部のP2Pノード(他のユーザ装置3)に対して公開する。
設定機能39は、各機能に関するユーザ設定処理を行う。例えば、後述の修正プログラム適用要否の判定(第2判定処理)に係わる緊急度(CVSS値)の閾値などを設定可能であり、自動更新させるか否かなどを設定できる。例えばユーザ装置3のディスプレイ画面でWebページ等のインタフェースで設定情報を表示し、ユーザの入力操作により設定可能である。
各要素(1,2,3)におけるP2P機能71,72,73は、インターネット4上のP2Pネットワーク上(P2Pノード間)でP2P通信を含む処理を行う同様の機能であり、公知技術による既存のP2Pシステムをそのまま使用してもよいし、あるいは独自のP2Pシステムを実装して使用してもよい。P2P機能71〜73は、使用するP2Pシステムに応じた一般的な処理機能として、P2PネットワークにP2Pノードとして参加/離脱する処理機能、P2Pネットワーク(他P2Pノード)からデータ情報を検索して取得・受信する処理機能、及びP2Pネットワーク(他P2Pノード)へデータ情報を公開して転送・送信する処理機能などを含む。なお本明細書(実施の形態)ではP2Pとはファイル共有型P2Pを指し、実装(プロトコル等)は特に限定されない。
各要素(1,2,3)における署名機能81,82,83は、公知技術によるPKIベースのデジタル署名を含む処理を行う同様の機能であり、各要素に応じて秘密鍵や公開鍵の情報の処理や暗号化・復号化の処理などを含む。
[システム(2)]
図2は、図1のシステムのハードウェア構成例を示している。図2のベンダ装置1、プロバイダ装置2、及びユーザ装置3は、それぞれ、CPU,RAM,ROM,HDD(二次記憶装置),入力装置、出力装置、通信I/F(インタフェース)装置、及びバスなどの一般的な要素を有するコンピュータの構成である。各装置のCPUは、ROM,HDD等からRAMへ読み出したプログラム(本実施の形態のプログラム)及びデータを実行することにより、図1に示す各機能を実現する。ベンダ装置1のプログラムは、ベンダ用サブシステム10等を実現するプログラムを含む。ベンダ装置1のデータは、図1の各種データ(41〜43,91)を含む。プロバイダ装置2のプログラムは、プロバイダ用サブシステム20等を実現するプログラムを含む。プロバイダ装置2のデータは、図1の各種データ(51〜54)を含む。ユーザ装置3のプログラムは、ユーザ用サブシステム30等を実現するプログラムを含む。ユーザ装置3のデータは、図1の各種データ(61〜66)を含む。なお秘密情報などはセキュアに管理・処理される。
各入力装置は例えばキーボードやマウス及びそのインタフェース処理部である。各出力装置は例えばディスプレイ及びそのインタフェース処理部である。各通信I/F装置はインターネット4やLANに対する通信処理を行う。グラフィカルユーザインタフェースとなる表示画面の例としては、ベンダ装置1を使用するベンダ担当者がプロバイダ装置2に対して申請や各種情報の登録を行う画面、OVALデータ42を作成し、本P2Pネットワーク(100)にOVALデータ42や修正プログラムデータ91を公開する画面などがある。また、プロバイダ装置2でプロバイダ担当者が拡張XCCDFデータ52等を作成し本P2Pネットワーク(100)に公開する画面などがある。またユーザ装置3でユーザが本P2Pネットワーク(100)(ベンダ装置1やプロバイダ装置2や他のユーザ装置3)から各種データ情報を参照・取得する画面、ユーザ設定情報を設定する画面などがある。
[システム(3)]
図3では、図1のシステムの複数の要素(1,2,3)間の通信などの構成例を示す。インターネット4上の本システムのP2Pネットワーク(100)において、ベンダ装置1とプロバイダ装置2とユーザ装置3とが必要に応じてP2Pで接続され通信する。図3では、例えばベンダX,Y、ユーザA,B,C等を有する。例えば、ベンダX(1X)は、あるソフトウェアSWa(90)を提供(開発・販売等)している。ユーザA,B,C等の装置(3A,3B,……)は、ベンダXのソフトウェアSWa(93)をインストールしている。ベンダXは、例えばある日時に、SWaの脆弱性を解消してバージョンをV1.1からV1.2に更新するための修正プログラムP1(91)をリリースする。この際、従来システムであれば、例えばベンダ装置(サーバ)と複数のユーザ装置との間でそれぞれ修正プログラムデータ等の授受の処理が必要であり負荷が大きい。
一方、本システムでは、ベンダ装置1と複数のユーザ装置3(3A,3B等)との間にプロバイダ装置2を介在する構成である。プロバイダ装置2からベンダXのソフトウェアSWaの修正プログラムP1の関連データ情報(拡張XCCDFデータ52)を本P2Pネットワーク(100)に対して公開(提供)し、ベンダXからSWaの修正プログラムP1及び関連データ情報(OVALデータ42)を本P2Pネットワーク(100)に対して公開(提供)する。各ユーザ装置3は、本P2Pネットワーク(100)から上記修正プログラムP1及び関連データ情報(52,42)を取得する。プロバイダ装置2及びベンダ装置1はそれぞれP2Pノードとして各データ情報をユーザ装置3へ転送する。例えばユーザA装置3Aは、上記取得したデータ情報(52,42,P1)を用いて、自身のソフトウェアSWa(93)に対する修正プログラムP1の適用を自動的に実行することができる。上記処理の概要は以下である(詳細は図5,図6で後述)。
(1)まず、ユーザ装置3(そのサブシステム30)は、セキュリティ設定チェックリスト情報(更新対象ソフトウェア判定用情報)のファイルである拡張XCCDFデータ52{例えばベンダXに関する情報}の参照により、自装置内のセキュリティ設定、複数のソフトウェア等の状態をチェックし、更新対象(修正プログラム適用対象)となるソフトウェアを自動的に選択(判定)する処理を行う(第1判定処理)。これにより例えばソフトウェアSWa{V1.1}が更新対象として選択される。また第1判定処理の際、署名機能83により、拡張XCCDFデータ52のデジタル署名を検証することで、当該データ情報(52)の正当性を検証し確認する。
(2)次に、ユーザ装置3(サブシステム30)は、更新対象のソフトウェアSWa{V1.1}に関して、拡張XCCDFデータ52の参照をもとに、セキュリティ検査情報(修正プログラム適用判定用情報)のファイルであるOVALデータ42{P1に関する情報}を参照する。拡張XCCDFデータ52内には対応するOVALデータ42の情報が記述されている(図10等)。ユーザ装置3は、OVALデータ42の参照から、更新対象ソフトウェアSWaに対する修正プログラムP1の適用の要否を自動的に判定する(第2判定処理)。例えば、当該更新(適用)の緊急度(CVSS値)が閾値(設定情報)よりも大きい場合、自動的に適用実行する(ユーザ確認操作不要)と決定し、そうでない場合は、自動的な適用実行はしない、あるいはユーザ確認操作に応じて適用する(ユーザが適用有無を選択できる)等と決定する。また第2判定処理の際、拡張XCCDFデータ52を用いて当該データ情報(42)の正当性を検証し確認する。
(3)上記確認後、上記ソフトウェアSWaの適用を実行する場合、ユーザ装置3(サブシステム30)は、本P2Pネットワーク(100)から取得した対応する修正プログラムP1(91)を、更新対象SWa{V1.1}(93)に対し適用を実行する(修正プログラム適用機能37)。これにより例えばユーザA装置3AのソフトウェアSWa{V1.1}が自動更新され最新バージョンV1.2の状態となる。また上記適用実行の際は、拡張XCCDFデータ52を用いて当該データ情報(P1)の正当性を検証し確認する。
(4)上記修正プログラムP1の適用実行(SWa更新)の後、ユーザ装置3(サブシステム30)は、P2Pノードとして、正当性検証済みである修正プログラムP1及び関連データ情報(52,42)を、本P2Pネットワーク(100)に対して自動的に公開・提供する(P2P連携公開機能38、64〜66)。これにより、他のユーザ装置3、例えばユーザB装置3Bは、本P2Pネットワーク(100)の例えばユーザA装置3Aから、上記データ情報(52,42,P1)を取得でき、ユーザA装置3Aの場合と同様にユーザB装置3BでソフトウェアSWa{V1.1}の更新を行うことができ、同様に、ユーザB装置3BがP2Pノードとして同データ情報を本P2Pネットワーク(100)に公開・提供する。以降同様に、更新した各ユーザ装置3がP2Pノードとして同データ情報を本P2Pネットワーク(100)に公開・提供する。インターネット4上、同データ情報を提供するP2Pノード群が増えてゆき、負荷分散の効果が得られる。また、他の各ベンダ1(例えばベンダY)、各ソフトウェア(例えばSWb)の修正プログラムについても同様にプロバイダ装置2を介して本P2Pネットワーク(100)で効率的に流通させることができる。
[ネットワーク,プロトコル]
図4で、本システムのネットワーク構造や主なプロトコル(機能)などを示す。まずAのようにインターネット4(TCP/IP,Web等)に接続されるベンダ装置1、プロバイダ装置2、ユーザ装置3があり、Webインタフェース等で通信可能である。Aの上に、Bのように、公知技術(既存のP2Pプロトコル等)を用いたP2Pネットワーク(P2Pシステム)、及びPKIベースのデジタル署名(公開鍵暗号方式を用いたデジタル署名)などの層がある。図1の各装置(1,2,3)は各P2P機能71〜73を用いて各P2Pノードとして通信可能である。各装置(1,2,3)は署名機能81〜83を用いてデジタル署名処理が可能である。そしてBの上に、Cのように、本システムで特有の機能層(修正プログラム提供・利用機能などを実現する層)を有し、図1の各サブシステム(10,20,30)を用いて構成される。B,Cの部分が、本システムで特有のP2Pネットワーク(オーバーレイネットワーク)である修正プログラム提供P2Pネットワーク(100)に対応する。
本システム・P2Pネットワーク(100)の持つ主なプロトコル(機能等)として以下がある。各要素(1,2,3)、サブシステム(10,20,30)は、対応プロトコル(機能)の実装を持つ。
(a)情報共有プロトコル:
(a1)データ共有プロトコル: リリース時のベンダ1及びプロバイダ2、あるいはP2P連携時のユーザ3が、各種データ情報(52,42,91)を本P2Pネットワークで共有するために公開(登録、アップロード等)するプロトコルなど
(a2)データ検索プロトコル: ユーザ3が各種データ情報(52,42,91)を本P2Pネットワークから取得(ダウンロード等)するために検索するプロトコルなど(後述、図8等)(例えばファイル名(ハッシュ値)による検索)
(a3)データ転送プロトコル: ベンダ1やプロバイダ2やP2P連携時のユーザ3が各種データ情報(52,42,91)を本P2Pネットワークで取得要求者に対して転送(送信)するプロトコルなど。
(b)セキュリティプロトコル:
(b1)正当性確認プロトコル: 本P2Pネットワークから取得される各種データ情報(52,42,91)(その提供元)の正当性(信頼性)を検証して確認するプロトコル(署名機能81〜83などに対応)
(b2)自動適用確認プロトコル: ユーザ設定(緊急度(CVSS値)の閾値など)に基づき、ソフトウェア更新(修正プログラム適用)を自動的に実行するか否か等を判定し、そのユーザ確認をするためのプロトコル(52,42、第1判定処理、第2判定処理などに対応)
(b3)自動データ削除プロトコル: ユーザ装置3(あるいはベンダ装置1やプロバイダ装置2でも可能)において、上記正当性が確認できないデータ情報を本P2Pネットワークから自動的に削除(破棄)するプロトコル(後述の各検証機能(34〜36)に含まれる削除処理に対応)。
上記各プロトコルは、P2P機能71〜73による準拠するP2Pプロトコルに応じた内容となる。また署名機能81〜83による準拠するPKIなどに応じた内容となる。例えば準拠するP2Pプロトコルがファイルの二次放流を自動的に実行する仕組みである場合、本システムでは、前述のように、ユーザ装置3でP2P公開連携機能38を用いて自動的に各データ情報(52,42,91)を公開(二次放流)する。前提P2Pプロトコルが二次放流をしない仕組みである場合、本サブシステム及びP2P機能において、独自に同様の二次放流を行う仕組みを実装する。
[処理]
図5と図6を用いて本システムの処理シーケンスを説明する。本システムでの一連の処理は、大別すると以下の2つのフェーズから成る。即ち、(1)更新対象ソフトウェア選択フェーズ(図5、第1判定処理等)。(2)修正プログラム適用(又は確認)フェーズ(図6、第2判定処理等)。(1)第1フェーズの処理では、ユーザ装置3の複数のソフトウェア93のうち、セキュリティ設定などに応じて、更新する対象(候補)となるソフトウェア93を選択する(第1判定処理)。これは基本的に殆ど自動的に実行される。ユーザは、選択された更新対象ソフトウェアを画面で確認することができる。(2)第2フェーズの処理では、(1)の処理で更新対象として選択されたソフトウェア(93)について、修正プログラム(91)の適用の要否を判定し(第2の判定処理)、要のソフトウェアに対し修正プログラムの適用を実行する。これはユーザ設定(設定機能39)に応じて、自動的な更新(ユーザ確認不要)とすることも可能であるし、ユーザにより画面で適用要否を選択・確認する操作を介在することも可能である。例えばユーザは最新バージョンよりも旧バージョンでの維持を望む場合、当該更新(適用実行)をキャンセルできる。
[処理(1):更新対象ソフトウェア選択]
図5において、第1フェーズの処理として、更新対象(修正プログラム適用対象)ソフトウェア選択処理シーケンスについて示す。第1フェーズでは、大別して以下の手順(人の作業、コンピュータ処理等)を有する。
(A)ベンダ1及びプロバイダ2による手順:
ベンダ1がプロバイダ2に利用申請を行い、修正プログラム(91)等の配布に係わる必要なデータ情報を提供する(図5、S1,S2)。プロバイダ2はユーザ装置3に対し本P2Pネットワーク(100)で関連データ情報(52)を提供する(S4等)。
(B)一般企業などの第1のユーザ(例えばユーザA装置3A)による手順:
第1のユーザ装置(3A)が本P2Pネットワーク(プロバイダ2,ベンダ1)から自動的に取得した各データ情報(52,42)をもとに、自身の更新対象ソフトウェア93を選択する(S5〜S7等)。その結果、自身(3A)をP2Pノードとして本P2Pネットワーク(100)に上記データ情報(52)を自動的に公開する(S8)。
(C)第1のユーザ装置(3A)からのデータ情報の転送先となる、一般企業などの第2のユーザ(例えばユーザB装置3B)による手順:
第2のユーザ装置(3B)が、本P2Pネットワーク(100)の第1のユーザ装置(3A)から、上記データ情報(52)を取得し、同様に自身(3B)の更新対象ソフトウェアを選択する(S9〜S11)。その結果、自身(3B)をP2Pノードとして本P2Pネットワーク(100)に上記データ情報(52)を自動的に公開する(S12)。
なお第1のユーザ装置(3A)と第2のユーザ装置(3B)とは特に関係が無い任意のユーザ装置3である。プロバイダ2やベンダ1からのデータ情報の取得ではなく、なるべくユーザ装置3(P2Pノード)からデータ情報を取得することにより、ネットワーク負荷分散の効果が高まる。
図5での処理手順(S1等で示す)を順に説明する。
(S1) ベンダ装置1(申請機能12)からプロバイダ装置2(受付機能23)へ本システム(サービス)の利用申請、及び修正プログラム(91)配布に係わる申請の手続き処理(通信や人的作業などを含む)を行う。この内容の詳細は特に限定されない。例えばベンダXのソフトウェアSWaの修正プログラムP1に関する手続き処理が行われる。
(S2) プロバイダ装置2からベンダ装置1へS1に対する受理応答の手続き処理を行う。申請元の信頼性が確認できない場合は受理しない。また例えばベンダ1からプロバイダ2へ拡張XCCDFデータ52の作成に必要なデータ情報を提供する。
(S3) プロバイダ装置2(拡張XCCDF作成機能21)は、担当者の操作により、対象ベンダ1(X)の情報をもとに、拡張XCCDFデータ52(フォーマットは図10)を作成する。この際、拡張XCCDF(52)のファイル内には、プロバイダ2(署名機能82、秘密鍵53)によるデジタル署名データ(501)が付与(記述)される。
(S4) プロバイダ装置2(拡張XCCDF送信機能22)は、上記拡張XCCDFデータ52(署名501付き)を、本P2Pネットワーク(100)に公開する。即ちプロバイダ装置2が外部(ユーザ装置3)からのアクセス(取得要求)を受けた場合は当該データ(52)を送信する。
(S5) 第1のユーザ装置3(例えば3A)(拡張XCCDF取得機能31)は、本P2Pネットワーク(100)のプロバイダ2から、上記拡張XCCDFデータ52を取得する。なおユーザ装置3は、ベンダ1の公開鍵情報(43)、プロバイダ2の公開鍵情報(54)を事前に入手する(62,63)。例えば企業AのLANに接続されているユーザA装置3Aは、ネットワーク接続などの際に、LANのファイアウォールサーバ等を介して、プロバイダ2(P2Pノード)から、拡張XCCDFデータ52を取得する。
(S6) ユーザ装置3A(拡張XCCDF検証機能34、署名機能82)は、S5で取得した拡張XCCDFデータ52について、付属の署名501を検証(プロバイダ公開鍵63での復号化などの公知の処理)し、当該データ(52)(その提供元であるプロバイダ2)の正当性を検証する。検証結果がNG(失敗)(正当性を確認できない)の場合は、当該データ(52)を破棄する。検証結果がOK(成功)の場合、当該データ(52)及びその提供元(プロバイダ2,ベンダ1)が信頼できることを示す。
(S7) ユーザ装置3A(30)は、上記正当性確認済みの拡張XCCDFデータ52(更新対象ソフトウェア判定用情報)を用いて(記述を解釈する処理を行うことにより)、自身における自動更新対象ソフトウェアを選択する(第1判定処理)。例えば自身のソフトウェアSWa{V1.1}の特定の脆弱性の解消のためにV1.2へ更新すべきであると判断され、SWa{V1.1}が自動更新対象として選択される。
またS7の際、ユーザ装置3の画面に、拡張XCCDFデータ52をもとに、ベンダ名、ソフトウェア名などの関連情報を表示し、ユーザにより自動更新対象ソフトウェアを確認することができる。
(S8) ユーザ装置3A(P2P連携公開機能38)は、上記正当性確認済みの拡張XCCDFデータ52を、所定の公開用フォルダなどで本P2Pネットワーク(100)に公開する(64)。この公開手順は、ユーザは意識する必要無く、本システムの一部として自動的に実施される。本システムでは、効率的なデータ情報の展開(拡散)を実現するため、このように転送準備の処理手順を有する。
(S9) 第2のユーザ装置3(同様に例えば企業BのLANに接続されるユーザB装置3B)(31)は、本P2Pネットワーク(100)の第1のユーザ装置(3A)から、上記公開された拡張XCCDFデータ64を取得する(3Aから3Bへデータ(64)を転送する)。なお特にプロバイダ2からではなく他のユーザ装置3(3A)から優先して取得することで効率を高める。
(S10) 第2のユーザ装置3B(34,82)は、S6と同様に、取得した拡張XCCDFデータ64について、付属のデジタル署名データを検証して正当性を確認する。
(S11) 第2のユーザ装置3Bは、S7と同様に、拡張XCCDFデータ64を用いて、自身における自動更新対象ソフトウェアを選択する。
(S12) 第2のユーザ装置3Bは、S8と同様に、拡張XCCDFデータ64を本P2Pネットワーク(100)に公開する。以降、他のユーザ装置3についても同様の繰り返しである。多数のユーザ装置3が同様データにアクセスする場合にも、本システムの多数のP2Pノードの公開データへアクセスされることになるため、ネットワーク全体で効率的にデータが流通され負荷分散される。提供元のベンダ1への負荷が少ない。
[処理(2):修正プログラム適用]
図6において、第2フェーズの処理として、修正プログラム適用/確認処理シーケンスについて示す。第2フェーズでは、大別して以下の手順(作業、処理等)を有する。
(D)ベンダ1による手順:
ベンダ装置1(例えばX)では、担当者により、対象ソフトウェア90(例えばSWa)の修正プログラムデータ91(例えばP1)に関するOVALデータ42を作成し、当該データ(91,42)を本P2Pネットワークに公開する(図6、T1〜T2)。
(E)第1のユーザ(例えば3A)による手順:
第1のユーザ装置(3A)が、前記拡張XCCDFデータ52(S5等)をもとに、ベンダ1からOVALデータ42及び修正プログラムデータ91を取得し、正当性を確認後、自動更新対象ソフトウェア(前述)に対する修正プログラム(91)の適用要否を判定し、要の場合は適用を実行する(T3〜T8)。その結果、自身(3A)をP2Pノードとして、本P2Pネットワーク(100)に上記適用済みの各データ情報(42,91)を自動的に公開する(T9)(65,66)。
(F)転送先となる第2のユーザ(例えば3B)による手順:
第2のユーザ装置(3B)が、本P2Pネットワーク(100)の第1のユーザ装置(3A)から、上記データ情報(65,66)を取得し、同様に自身(3B)の更新対象ソフトウェア(93)に対する修正プログラム(66)の適用要否を判定し、要の場合は適用を実行し、その結果、自身(3B)をP2Pノードとして、本P2Pネットワーク(100)に上記各データ情報(65,66)を自動的に公開する(T10〜T15)。
図6での処理手順(T1等で示す)を順に説明する。
(T1) ベンダ装置1(OVAL作成機能11)では、担当者の操作により、修正プログラムP1(91)に関するOVALデータ42(修正プログラム適用判定用情報)を作成する。なお本例ではOVALデータ42の作成はS1の時に済ませる。OVALデータ42(所定のファイル)の内容としては、特定の脆弱性を修正するための修正プログラム(P1)を適用する対象となるソフトウェア(SWa)のバージョンや確認箇所(例えばOSのレジストリ値の箇所など)などの情報が記述される。
(T2) ベンダ装置1(10)は、修正プログラムP1のデータ(91)と共に、そのP1に関するOVALデータ42を、本P2Pネットワーク(100)へ公開する。なお当該データ(91,42)については、必ずしもプロバイダ2へ提供せずともよいが、事前にプロバイダ2へ提供することで、プロバイダ2はベンダ1からのOVALデータの内容を確認することができる。
(T3) 第1のユーザ装置3(例えば3A)(OVAL取得機能32)は、前述の対応する拡張XCCDFデータ52内のOVAL情報(図10、1004)に基づき、本P2Pネットワーク(100)のベンダ装置1から、上記OVALデータ42を取得する。OVALデータ42のファイル名(OVALハッシュ値(Ho))をキーとして検索を実行すれば自動的に取得することができる。
(T4) ユーザ装置(3A)(OVAL検証機能35)は、上記取得したOVALデータ42について、対応する拡張XCCDFデータ52を用いて、正当性を検証し確認する。この検証は、前記S6と同様の署名501を用いた処理、あるいは後述のハッシュ値比較処理による。当該検証結果がNGの場合は当該データ(42)を破棄する。なお検証の際に当該ユーザ装置3A内に当該ベンダ名に対応した公開鍵(62)が無い場合は検証結果を失敗とみなす。
(T5) ユーザ装置(3A)(30、修正プログラム適用機能37)は、上記正当性確認済みのOVALデータ42を用いて、自身(3A)の自動更新対象ソフトウェア(第1フェーズで選択された例えばSWa)のバージョンを確認し(例えばV1.1)、ユーザ設定に基づいて、当該SWaに対する修正プログラムP1の適用の要否を判定する(第2判定処理)。例えば当該脆弱性に対する対策の必要の緊急度が高いため、当該SWa{V1.1}にP1を適用して最新バージョンV1.2に更新することが決定される。
(T6) ユーザ装置(3A)(修正プログラム取得機能33)は、上記要の場合、前述の対応する拡張XCCDFデータ52内の修正プログラム情報に基づき、本P2Pネットワーク(100)のベンダ1から、対応する修正プログラムP1のデータ(91)を取得する。修正プログラムデータ91のファイル名(修正プログラムハッシュ値(Hp))をキーとして検索を実行すれば自動的に取得することができる。
(T7) ユーザ装置(3A)(修正プログラム検証機能36)は、上記取得した修正プログラムP1のデータ(91)について、対応する拡張XCCDFデータ52を用いて、正当性を検証し確認する。この検証は、前記S6と同様の署名501を用いた処理、あるいは、後述のハッシュ値の比較処理による。当該検証結果がNGの場合は当該データ(91)を破棄する。
(T8) ユーザ装置(3A)(修正プログラム適用機能37)は、上記正当性検証済みの各データ情報(42,91)を用いて、自動更新対象ソフトウェアSWaに対し修正プログラムP1の適用を実行する。これによりユーザ装置(3A)のソフトウェアSWaが最新のバージョンV1.2の状態となる。
(T9) ユーザ装置(3A)(P2P連携公開機能38)は、上記正当性検証済みのデータ(42,91)を、所定の公開用フォルダなどで本P2Pネットワーク(100)に公開する(65,66)。
(T10〜T15) 一方、他の第2のユーザ装置3(例えば3B)は、本P2Pネットワーク(100)の第1のユーザ装置(3A)から、上記公開されたOVALデータ65及び修正プログラムデータ66を取得する(T10)。T11以降はT4以降と同様に繰り返しである。
[詳細処理例(1)]
図5での詳細処理例は以下である:
(S1,S2) S1,S2の際には、例えば以下の情報をベンダ1からプロバイダ2へ通知する(図8)。対応して、ベンダ1はSWデータテーブル41を読み書きし、プロバイダ2はSWデータテーブル51を読み書きする。:
・ベンダ名(例えばCPEベンダ名)
・ソフトウェア名(例えばCPEソフトウェア名)
・修正プログラム名
・OVALファイル名。
プロバイダ2はベンダ1へ例えば以下のような情報を応答する:
・修正プログラムハッシュ値(Hp)
・OVALハッシュ値(Ho)
・拡張XCCDFデータ52(Ho,Hp)へ付与するデジタル署名値(501)。
ベンダ1は、上記プロバイダ2からの情報を用いて例えば以下のような管理を行う。なおハッシュ値の生成は、プロバイダ2ではなくベンダ1で行ってもよい。
・OVALデータ(42)のファイル名として、上記OVALハッシュ値(Ho)を付ける。
・修正プログラムデータ(91)のファイル名として、上記修正プログラムハッシュ値(Hp)を付ける。
プロバイダ2は自身のSWデータテーブル52に上記情報を記載する(図9)。S1の申請を受けたプロバイダ2は、OVAL(42)で利用するユニークID(OVAL_ID)を採番し、ベンダ1へ通知する(SWデータテーブル52にも記載)。また初回利用の場合などには、CPEベンダ名、CPEソフトウェア名などを割り振り、ベンダ1へ通知する(SWデータテーブル52にも記載)。
[詳細処理例(2)]
図6での詳細処理例は以下である:
(T8等) ユーザ装置3Aのプログラム(サブシステム30)が自動的に修正プログラムの適用を判断・実行する場合に限らず、ユーザによる画面での確認操作や、更新キャンセル操作を介在させることができる。例えば設定機能39により、予めユーザにより上記緊急度の判定に係わる閾値(CVSS値の閾値)などの情報(対応するポリシー情報など)を可変に設定可能が可能である。例えば拡張XCCDFデータ52内に記述される情報項目の1つとしてCVSS値(CVSSに基づく所定の脆弱性項目に関する緊急度(深刻度など)の指標値)を有する。サブシステム30は、このCVSS値と閾値とを比較して閾値以上である場合、当該脆弱性への対処のための修正プログラムの適用に関する自動的な迅速な実行が必要(望ましい)と判定し、ユーザによる確認操作等を不要として、自動的に適用を実行する。閾値未満の場合、例えば自動実行はせずにペンディングし、後にユーザによる適用実行指示を受けた時に実行する。
[ファイル]
図8は、本システムのP2Pネットワーク(100)で各データ情報(拡張XCCDFデータ52、OVALデータ42、及び修正プログラムデータ91)の検索(取得)を行うためのファイルの関連を示す。なお本システムでは、準拠するP2Pシステムに応じて、各データ(52,42,91)のファイル名が所定の規則で付けられる。
拡張XCCDFデータ52のファイル(XML文書)において、中に、ファイル名(拡張XCCDFデータファイル名)、OVALハッシュ値(Ho)、修正プログラムハッシュ値(Hp)などが記述されている(詳細は図10)。ファイル名は、例えばサービス名(プロバイダ名)、CPEベンダ名、“XCCDF”(準拠仕様名)、等の組み合わせで構成される。OVALハッシュ値(Ho)は、OVALデータ42(全体)のハッシュ値であり、本P2PネットワークでユニークIDである。修正プログラムハッシュ値(Hp)は、修正プログラムデータ91(全体)のハッシュ値であり、本P2PネットワークでユニークIDである。ハッシュ値は所定のハッシュ関数の出力値である。
OVALデータ42のファイル(XML文書)では、ファイル名(OVALデータファイル名)として、例えば、CPEベンダ名、CPEソフトウェア名、OVALハッシュ値(Ho)、“OVAL”(準拠仕様名)、等の組み合わせで構成される。修正プログラムデータ91のファイルでは、ファイル名(修正プログラムデータファイル名)の中に修正プログラムハッシュ値(Hp)が記述される。
上記の関係のファイル名(ハッシュ値など)を用いて、本P2Pネットワーク(100)のノード間で各データ情報の検索が可能である。ユーザ装置3は、例えばベンダ名及び“XCCDF”をキーワードとして、該当ベンダ1に関する拡張XCCDデータ52(ベンダ1毎の情報)を取得可能である。なおベンダ名を指定しない場合は特定のベンダ1に依らない複数のソフトウェアに関する情報を網羅的に取得可能である。
[SWデータテーブル]
図9は、プロバイダ2におけるSWデータテーブル51の構成例を示す。例えば本テーブルのレコードで、CPE-ID(ベンダ、ソフトウェアに関するユニークID)、ソフトウェア名、修正プログラムハッシュ値(Hp)、OVALハッシュ値(Ho)、ハッシュ方式(使用するハッシュアルゴリズム等の指定。例えばSHA−256)、OVAL_IDなどの情報を管理する。
[拡張XCCDF]
図10は、拡張XCCDFデータ52(XML文書)のフォーマット構成(一部)を示す。本システムでは、P2Pネットワーク(100)で拡張XCCDFデータ52を流通・交換する。この拡張XCCDFデータ52は、汎用性を考慮して、準拠仕様であるXCCDF(非特許文献1)を基礎として、テキストフィールドからなるXML文書ファイルである。
本ファイルでは、1001で示すサービス記述部(タグ:“SCAP2P-document”)、及び1008で示すデジタル署名記述部(タグ:“Signature”)を有する。サービス記述部(1001)は、XCCDF記述部(1002)と、拡張記述部(1003)とを含む。XCCDF記述部(1002)は、基礎となるXCCDFの情報が記述される。拡張記述部(1003)では、OVAL情報(1004)、修正プログラム情報(1006)などが記述される。OVAL情報(1004)は、前記OVALハッシュ値(Ho)の情報を含む。修正プログラム情報(1006)は、前記修正プログラムハッシュ値(Hp)の情報を含む。デジタル署名記述部(1008)では、前記プロバイダ2により本拡張XCCDFデータ52に対して付与されるデジタル署名(501)の情報を含む。また本ファイル(52)内には、例えばCPEベンダ名情報が含まれるので、この情報から対応するベンダ1の公開鍵43を取得することが可能である。
本システム(拡張XCCDFデータ52)で準拠しているXCCDF(非特許文献1)は、セキュリティ設定チェックリスト情報の記述フォーマットであり、セキュリティ対策適用促進のためセキュリティ設定チェックリストなどの表現を共通化することが主旨である。例えば企業などの組織としてチェックすべき項目を用意し、パスワード有効期限などの具体的な項目をCCEと共にリストアップし、XCCDFの仕様に沿ってチェックリストが作成される。例えばソフトウェアプログラム自身に内在する脆弱性について、「セキュリティ修正プログラム適用」項目として作成される。
そして、本システムでは、上記XCCDFの拡張として、P2P機能や署名機能などに対応した独自の形式(「拡張XCCDF」)としており、図10の拡張記述部(1003)やデジタル署名記述部(1008)を有する。
[OVAL]
本システム(OVALデータ42)で準拠しているOVAL(非特許文献1)では、脆弱性対策情報を、コンピュータ処理可能なXMLベースのOVAL言語で記述する。このOVAL言語で作成された脆弱性対策情報(OVALデータ)は、そのデータを解釈するインタプリタであるクライアント側プログラム(本実施の形態でのサブシステム30)を用いてコンピュータ処理され、脆弱性対策のための確認処理作業が自動化される。
[処理(21)]
図11は、プロバイダ装置2の拡張XCCDF作成機能21による処理例を示す。
(S101) 拡張XCCDF作成機能21は、SWデータテーブル51を参照しながら、ベンダ1(SWデータテーブル41)からのソフトウェア情報を入力し、SWデータテーブル51に記載する。
(S102) 21は、S101の入力情報を用いてXCCDFファイル(52)の基礎部分(図10のXCCDF記述部(1002)等)の情報を作成する。
(S103) 21は、XCCDFファイル(52)における拡張部分(図10の拡張記述部(1003)等)の情報を記述する。当該記述情報は、前述のハッシュ値(Ho,Hp)を含む。
(S104) 21は、プロバイダ秘密鍵53情報を入力(読み出し)する。
(S105) 21は、署名機能82により、プロバイダ秘密鍵53情報を用いたデジタル署名値(501)を生成し、XCCDFファイル(52)の署名記述部(1008)に格納する。
(S106) 21は、S105までで作成したファイルを拡張XCCDFデータ52として記憶部に保存する。
[処理(22)]
図12は、プロバイダ装置2の拡張XCCDF送信機能22等による処理例を示す。
(S201) 拡張XCCDF送信機能22は、上記拡張XCCDF作成機能21により作成・保存された拡張XCCDFデータ52を入力する。
(S202) 22は、上記拡張XCCDFデータ52を、P2P機能72に受け渡す(公開指示)。
(S203) P2P機能72は、上記拡張XCCDFデータ52を本P2Pネットワーク(100)へ公開する。
(S204) 72は、ユーザ装置3(拡張XCCDF取得機能31)からデータ(52)の取得要求を受けた場合、当該データ(52)をユーザ装置3へ転送(送信)する。
[処理(31,34)]
図13は、ユーザ装置3の拡張XCCDF取得機能31及び拡張XCCDF検証機能34による処理例を示す。
(S301) 拡張XCCDF取得機能31は、P2P機能73を用いて、本P2Pネットワーク(100)から拡張XCCDFデータ52を取得する。例えば初期はプロバイダ装置2から取得され、ある程度時間経過後には他のユーザ装置3(P2Pノード)から取得可能となる。
(S302) 31は、取得した拡張XCCDFデータ52に付属しているデジタル署名値(図5の501)を参照し、署名機能83により、対応するプロバイダ公開鍵63を用いて復号を試みることで、当該拡張XCCDF(52)の正当性を検証する。
(S303〜S305) 検証結果がOKの場合(Yes)、当該拡張XCCDFデータ52(署名501付き)を記憶部(非公開領域)に保存し(S304)、NGの場合(No)、当該データ(52)を破棄する(S305)。
上記データ(52)の保存の後の時点で、P2P連携公開機能38により、当該拡張XCCDFデータ52(署名501付き)を公開用の記憶部に格納することで、本P2Pネットワーク(100)に公開する。
[処理(32,35)]
図14は、ユーザ装置3のOVAL取得機能32及びOVAL検証機能35による処理例を示す。
(S401) OVAL取得機能32は、前記取得済みの拡張XCCDFデータ52に記述されているOVAL情報(図10の1004)をもとに、P2P機能73を用いて、本P2Pネットワーク(100)から、更新対象ソフトウェア(修正プログラム)に応じたOVALデータ42を取得する。例えば初期はベンダ装置1から取得され、ある程度時間経過後には他のユーザ装置3(P2Pノード)から取得できる。
(S402) OVAL検証機能35は、前記取得済みの拡張XCCDFデータ52と、対応するS401で取得されたOVALデータ42とを入力し、拡張XCCDFデータ52の情報の参照に基づき、当該OVALデータ42の正当性を検証する処理を行う(図16)。
(S403) OVAL取得機能32は、上記検証済み(OK)のOVALデータ42を記憶部(非公開領域)に保存する。
上記データ(42)の保存の後の時点で、P2P連携公開機能38により、当該OVALデータ42を公開用の記憶部に格納することで、本P2Pネットワーク(100)に公開する。
[処理(33,36)]
図15は、ユーザ装置3の修正プログラム取得機能33及び修正プログラム検証機能36による処理例を示す。
(S501〜S503) 修正プログラム取得機能33は、SWデータテーブル61に記載されている更新対象ソフトウェア情報を入力する。33は、この情報から、更新対象ソフトウェアの有無を判断する。更新対象ソフトウェアが有る場合(Yes)、33は、前記取得済みの拡張XCCDFデータ52に記述されている情報(1006)をもとに、P2P機能73を用いて、本P2Pネットワーク(100)から、該当の更新対象ソフトウェアに応じた修正プログラムデータ91を取得する(S503)。例えば初期はベンダ装置1から取得され、ある程度時間経過後には他のユーザ装置3(P2Pノード)から取得できる。
(S504) 修正プログラム検証機能36は、前記取得済みの拡張XCCDFデータ52と、対応するS503で取得された修正プログラムデータ91とを入力し、拡張XCCDFデータ52の情報の参照に基づき、当該修正プログラムデータ91の正当性を検証する処理を行う(図17)。
(S505) 36は、上記検証済み(OK)の修正プログラムデータ91を記憶部(非公開領域)に保存する。
上記データ(91)の保存の後の時点で、P2P連携公開機能38により、当該修正プログラムデータ91を公開用の記憶部に格納することで、本P2Pネットワーク(100)に公開する。
[処理(35)]
図16は、OVAL検証機能35によるOVALデータ42の検証(図14、S402)の処理例を示す。
(S601) OVAL検証機能35は、前記拡張XCCDFデータ52及びOVALデータ42を入力する。
(S602) 35は、拡張XCCDFデータ52の中(1005)から、OVALハッシュ値(Ho1とする)を抽出する。
(S603) 35は、OVALデータ42をハッシュ関数の入力として、OVALハッシュ値(Ho2とする)を計算する。
(S604〜S607) 35は、上記S602の抽出ハッシュ値(Ho1)と、上記S603の計算ハッシュ値(Ho2)とを比較する。一致(OK)の場合(Yes)、正当性が確認できたので、当該OVALデータ42として記憶部に保存し(S606)、不一致(NG)の場合(No)、当該データを破棄する(S607)。
(S608) また35は、上記一致(OK)の場合、当該OVALデータ42に対応したソフトウェア93が自動更新対象となるため、SWデータテーブル61に、当該更新対象ソフトウェア情報を保存する。
[処理(36)]
図17は、修正プログラム検証機能36による修正プログラムデータ91の検証(図15、S504)の処理例を示す。
(S701) 修正プログラム検証機能36は、前記拡張XCCDFデータ52及び修正プログラムデータ91を入力する。
(S702) 36は、拡張XCCDFデータ52の中(1006)から、修正プログラムハッシュ値(Hp1とする)を抽出する。
(S703) 36は、修正プログラムデータ91をハッシュ関数の入力として、修正プログラムハッシュ値(Hp2とする)を計算する。
(S704〜S707) 36は、上記S702の抽出ハッシュ値(Hp1)と、上記S703の計算ハッシュ値(Hp2)とを比較する。一致(OK)の場合(Yes)、正当性が確認できたので、当該修正プログラムデータ91として記憶部に保存し(S706)、不一致(NG)の場合(No)、当該データを破棄する(S707)。
[処理(37)]
図18は、ユーザ装置3の修正プログラム適用機能37による処理例を示す。
(S801) 修正プログラム適用機能37は、対象ソフトウェアに対応した拡張XCCDFデータ52及びOVALデータ42を入力する。
(S802) 37は、上記入力データ(52,42)を用いて、対象ソフトウェア(93)の修正プログラム(91)のバージョンを確認する(特にOVALデータ42情報をもとに修正プログラム適用要否を判定する)。最新バージョンである場合(自ユーザ装置3側のソフトウェア93が旧バージョン、修正プログラム(91)側が最新バージョンに対応する場合)(Yes)、当該修正プログラム(91)の適用が基本的に必要である。適用必要の場合、37は、SWデータテーブル61から、更新対象ソフトウェア情報を入力する。
(S803〜S808) 37は、上記更新対象ソフトウェア情報から、対象ソフトウェア(対応する修正プログラム)毎のCVSS値(緊急度)と、その閾値(設定情報)とを抽出する。なお前述のように設定機能39により閾値が設定されているとする。ここで、[CVSS値]≧[閾値]の場合(Yes)、37は、当該ソフトウェア(93)に対し当該修正プログラム(91)を自動的に適用実行することと決定し(S807)、[CVSS値]<[閾値]の場合(No)、適用実行しないこと(ユーザ確認操作への移行など)と決定する(S809)。
上記適用実行の場合、37は、対象ソフトウェア(93)に対する修正プログラム(91)の適用を実行し、対象ソフトウェアを最新バージョンの状態にする(S807)。そして、P2P公開連携機能38の処理へ連携する(S808)。
[効果等]
以上説明したように、本実施の形態のシステムによれば、複数のベンダ1−ユーザ3間で、プロバイダ2及び本P2Pネットワーク(100)を介して、ソフトウェア(93)の修正プログラム(91)等の提供−利用に係わるサービスを提供し、ユーザ装置3での修正プログラム(91)の適用の迅速性、利便性、信頼性、セキュリティレベル維持、ネットワーク負荷低減、低コスト化など、効率的なソフトウェア更新(修正プログラム流通)を実現することができる。
ベンダ1側としては、修正プログラム(91)を迅速にユーザ3に配布・提供して適切に更新を実行してもらうことができる。またその際、ベンダ1の更新用サーバ等に負担をかけず低コストで安全に配布・提供を実現できる。ユーザ3側としては、更新(適用)の必要時には、迅速かつ確実に、かつ作業負担などをあまり感じずにわかりやすい操作にて実行し、PC等のセキュリティレベルを維持することができる。
P2P機能を用いた仕組みにより、ベンダ1の数やユーザ3の数に対応できる拡張性、ネットワーク負荷分散性能を持つ。また、署名機能を用いてデータ及び提供元の正当性を確認する仕組み、及び正当性を確認できないファイルを自動的に破棄する削除機能を持たせることにより、既存のP2Pプロトコルを用いたとしても、信頼性を確保できる。仮に偽のデータ情報(52,42,91)が放流されたとしても、上記仕組みにより防止することができる。
[他の実施の形態]
図7は、他の実施の形態のシステム構成及び処理シーケンスを示す。本形態は、基本構成は前述の形態(図1等)と同様であるが、本P2Pネットワーク(100)に更に他のP2Pノード(701,N1〜N3等)が追加された構成である。例えば企業AのLAN300A内に、インターネット4に接続されるファイアウォールサーバ(FW)を介して、複数のユーザ装置3(前述の3Aを含む)と、プロキシサーバ(情報公開用装置)701とが接続されている。各P2PノードN1〜N3及びプロキシサーバ701は専用のサブシステム(P2P連携公開機能38などを含む前述同様の機能)を具備する。各P2PノードN1〜N3は任意のノードであり(個人ノード、企業ノード、公共的ノードなど)、各データ情報の中継ノードとなる。
例えばP2PノードN1は、プロバイダ2から公開された拡張XCCDFデータ52を取得して保有し公開している。例えばユーザA装置3Aは、N1から拡張XCCDFデータ52を取得する。また、P2PノードN2は、ベンダ1から公開されたOVALデータ42及び修正プログラムデータ91を取得して保有し公開している。例えばユーザA装置3Aは、N2からOVALデータ42及び修正プログラムデータ91を取得する。
また、例えばユーザA装置3Aで取得して検証済みの各データ情報(52,42,91)を、ユーザA装置3Aではなく、プロキシサーバ701にてP2Pネットワーク(100)に公開する(64,65,66)。前記P2P連携公開機能38を用いて、ユーザA装置3Aからプロキシサーバ701へ各データ(64,65,66)を転送する。
またP2PノードN3は、プロキシサーバ701で公開された各データ情報(64,65,66)を取得して保有し公開している。また例えば企業BのLAN300Bに接続されているユーザB装置3Bは、N3から各データ情報(64,65,66)を取得することができる。
また図7の構成に限らず、例えば企業AのLAN300A内のプロキシサーバ701(あるいはファイアウォールサーバ(FW)等)で、企業AのLAN300A内に接続される複数の各ユーザ装置3のソフトウェア更新に関する各データ情報(42,52,91)の取得及び公開などをすべてとりまとめて行う構成としてもよい。即ちプロキシサーバ701は、企業A(LAN300A)に関する統合的なソフトウェア更新管理を担当する。プロキシサーバ701は、各ユーザ装置3のソフトウェア情報をまとめてSWデータテーブルに管理する。プロキシサーバ701は、外部のP2Pネットワーク(100)のノードから適宜各種データ情報(52,42,91)を取得し、所定の記憶部に保存する(64,65,66)。各ユーザ装置3は、自身のソフトウェア93に関する更新管理のために適宜プロキシサーバ701にアクセスする。そして、プロキシサーバ701との間で各種データ情報(64,65,66)を用いて前述同様の処理を行う。そして、プロキシサーバ701は、検証済みの各種データ情報(64,65,66)を本P2Pネットワーク(100)に対し所定の公開用フォルダで公開する。
[変形例]
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。他の実施の形態(変形例)として以下が挙げられる。
(1) プロバイダ2から、拡張XCCDF(52)だけでなく、OVAL(42)、修正プログラム(91)等を含む一連のデータセット全部をまとめて管理し提供する形態としてもよい。主にプロバイダ2にサーバ設備を準備し、ベンダ1は自前で設備を準備・運用するコストが低減される。
(2) 修正プログラム(91)のリリース時(初期)のみ、本P2Pネットワーク(100)ではなく、既存のクライアント・サーバ方式などの通信で提供してもよい。その後、ユーザ装置3間で本P2Pネットワーク(100)を通じてデータを授受する。
(3) 前述のP2P連携公開機能38に関し、各データ情報の提供元(公開元)の第1のユーザ装置(例えば3A)と提供先の第2のユーザ装置(例えば3B)とに、特定の関係性を持たせ連携させるようにしてもよい。例えば特定の個人同士、特定の企業同士で優先して連携するように設定可能とする。
本発明は、通信ネットワーク上のソフトウェア更新(修正プログラム配布)のシステムなどに利用可能である。
1…ベンダ装置(ベンダ)、2…プロバイダ装置(プロバイダ)、3…ユーザ装置(ユーザ)、4…インターネット、10…ベンダ用サブシステム、11…OVAL作成機能、12…申請機能、20…プロバイダ用サブシステム、21…拡張XCCDF作成機能、22…拡張XCCDF送信機能、23…受付機能、30…ユーザ用サブシステム、31…拡張XCCDF取得機能、32…OVAL取得機能、33…修正プログラム取得機能、34…拡張XCCDF検証機能、35…OVAL検証機能、36…修正プログラム検証機能、37…修正プログラム適用機能、38…P2P連携公開機能、39…設定機能、41,51,61…SW(ソフトウェア)データテーブル、42…OVALデータ、43…公開鍵、52…拡張XCCDFデータ、53…秘密鍵、54…公開鍵、62…ベンダ公開鍵、63…プロバイダ公開鍵、64…拡張XCCDFデータ、65…OVALデータ、66…修正プログラムデータ、71,72,73…P2P機能、81,82,83…署名機能、90,93…ソフトウェア、91…修正プログラムデータ、100…修正プログラム提供システム(修正プログラム提供P2Pネットワーク)。

Claims (11)

  1. ソフトウェアの修正プログラムを提供する複数の提供者の装置と、前記ソフトウェアの修正プログラムを利用する複数の利用者の装置と、前記提供者の装置と前記利用者の装置との間に介在するサービス提供会社の装置と、がネットワークで接続され、
    前記提供者の装置は、前記修正プログラムの提供に関する処理を行う第1のサブシステムを有し、
    前記サービス提供会社の装置は、前記修正プログラムの提供と利用に介在するサービスに関する処理を行う第2のサブシステムを有し、
    前記利用者の装置は、前記修正プログラムの利用に関する処理を行う第3のサブシステムを有し、
    前記提供者、サービス提供会社、及び利用者の装置は、それぞれ、ファイル共有型のP2Pネットワークのノードとしてデータ情報を授受するP2P機能を有し、
    前記サービス提供会社の装置は、前記修正プログラムの適用の判定に係わる関連データ情報を提供し、
    前記提供者、サービス提供会社、及び利用者の装置は、それぞれのサブシステム及びP2P機能の処理を用いて、前記提供者及びサービス提供会社の装置から前記修正プログラム及び関連データ情報を提供して前記利用者の装置で取得し、前記利用者の装置で前記関連データ情報を用いて前記利用者の装置のソフトウェアに対する前記修正プログラムの適用を判定した結果に応じて当該適用を実行する処理を行い、更に前記利用者の装置から前記適用後の前記修正プログラム及び関連データ情報を前記P2P機能を用いて他の利用者の装置へ提供する処理を行うこと、を特徴とする修正プログラム提供システム。
  2. ソフトウェアの修正プログラムを提供する複数の提供者の装置と、前記ソフトウェアの修正プログラムを利用する複数の利用者の装置と、前記提供者の装置と前記利用者の装置との間に介在するサービス提供会社の装置と、がネットワークで接続され、
    前記提供者の装置は、前記修正プログラムの提供に関する処理を行う第1のサブシステムを有し、
    前記サービス提供会社の装置は、前記修正プログラムの提供と利用に介在するサービスに関する処理を行う第2のサブシステムを有し、
    前記利用者の装置は、前記修正プログラムの利用に関する処理を行う第3のサブシステムを有し、
    前記提供者、サービス提供会社、及び利用者の装置は、それぞれ、P2Pネットワークのノードとしてデータ情報を授受するP2P機能を有し、
    前記第2のサブシステムは、前記提供者からの情報に基づき、前記利用者の装置のソフトウェアにおける前記修正プログラムを適用する更新対象となるソフトウェアを選択する第1の判定処理のためのセキュリティ設定チェックリスト情報である第1の情報を作成して前記P2Pネットワークに公開・提供する処理を行い、
    前記第1のサブシステムは、前記利用者の装置のソフトウェアにおける前記更新対象ソフトウェアに対する前記修正プログラムの適用要否を判定する第2の判定処理のためのセキュリティ検査情報である第2の情報を作成し、前記修正プログラムのデータと前記第2の情報とを前記P2Pネットワークに公開・提供する処理を行い、
    前記第3のサブシステムは、
    前記P2PネットワークのいずれかのP2Pノードから前記第1の情報を取得し、前記第1の情報から当該利用者の装置における更新対象ソフトウェアを判定する第1の判定処理と、
    前記P2PネットワークのいずれかのP2Pノードから前記第2の情報を取得し、前記第2の情報から前記更新対象ソフトウェアに対する前記修正プログラムの適用要否を判定する第2の判定処理と、
    前記P2PネットワークのいずれかのP2Pノードから前記更新対象ソフトウェアの前記修正プログラムのデータを取得し、当該更新対象ソフトウェアに対する当該修正プログラムの適用を実行する処理と、
    前記適用を実行した前記更新対象ソフトウェアの前記修正プログラムのデータと、当該データに関連する前記第1の情報及び前記第2の情報を、前記P2Pネットワークに対して公開・提供する処理と、を行うこと、を特徴とする修正プログラム提供システム。
  3. 請求項2記載の修正プログラム提供システムにおいて、
    前記サービス提供会社、及び利用者の装置は、それぞれ、デジタル署名情報を処理する署名機能を有し、
    前記第2のサブシステムは、前記署名機能により、前記P2Pネットワークに公開する前記第1の情報に当該サービス提供会社のデジタル署名情報を付与する処理を行い、
    前記第3のサブシステムは、前記署名機能により、前記P2Pネットワークから取得した前記第1の情報に付与されている前記デジタル署名情報を検証して正当性を確認する処理を行うこと、を特徴とする修正プログラム提供システム。
  4. 請求項2記載の修正プログラム提供システムにおいて、
    前記第1の情報のファイルに、前記第2の情報のファイルを識別するハッシュ値と、前記修正プログラムのデータを識別するハッシュ値とが記述され、
    前記第3のサブシステムは、
    前記P2Pネットワークから取得した前記第2の情報について、当該第2の情報から計算したハッシュ値と、前記第1の情報の中から抽出したハッシュ値とを比較して、当該第2の情報の正当性を検証する処理と、
    前記P2Pネットワークから取得した前記修正プログラムのデータについて、当該修正プログラムのデータから計算したハッシュ値と、前記第1の情報の中から抽出したハッシュ値とを比較して、当該修正プログラムのデータの正当性を検証する処理と、を行うこと、を特徴とする修正プログラム提供システム。
  5. 請求項2記載の修正プログラム提供システムにおいて、
    前記第3のサブシステムは、前記P2Pネットワークから取得した各データ情報について、正当性が確認できなかった場合、当該データ情報を破棄し、前記P2Pネットワークに公開しないようにする処理を行うこと、を特徴とする修正プログラム提供システム。
  6. 請求項2記載の修正プログラム提供システムにおいて、
    前記第3のサブシステムは、前記第1の情報を用いた第1の判定処理、前記第2の情報を用いた第2の判定処理の際に、利用者の確認操作を介さずに自動的にソフトウェア更新及び修正プログラム適用を実行するかどうかを判定するための設定情報を、利用者により設定可能とする設定機能を有し、前記設定情報は、緊急度に関する閾値を含むこと、を特徴とする修正プログラム提供システム。
  7. 請求項2記載の修正プログラム提供システムにおいて、
    前記利用者の装置に対して接続される情報公開用装置を有し、
    前記利用者の装置の第3のサブシステムは、前記更新対象ソフトウェアの前記修正プログラムのデータ、第1の情報、及び第2の情報を、前記情報公開用装置に転送して格納する処理を行い、
    前記情報公開用装置は、P2P機能を用いて、前記修正プログラムのデータ、第1の情報、及び第2の情報を、前記P2Pネットワークに対して公開・提供する処理を行うこと、を特徴とする修正プログラム提供システム。
  8. 請求項2記載の修正プログラム提供システムにおいて、
    前記提供者、サービス提供会社、及び利用者の装置とは別に、前記P2Pネットワーク上に、P2P機能を用いて、前記修正プログラムのデータ、第1の情報、及び第2の情報の少なくともいずれかを保有して他のP2Pノードに公開・提供する処理を行う中継用装置が接続されること、を特徴とする修正プログラム提供システム。
  9. 請求項2記載の修正プログラム提供システムの前記第1のサブシステムの機能を前記提供者の装置でのコンピュータ情報処理により実現させることを特徴とするプログラム。
  10. 請求項2記載の修正プログラム提供システムの前記第2のサブシステムの機能を前記サービス提供会社の装置でのコンピュータ情報処理により実現させることを特徴とするプログラム。
  11. 請求項2記載の修正プログラム提供システムの前記第3のサブシステムの機能を前記利用者の装置でのコンピュータ情報処理により実現させることを特徴とするプログラム。
JP2012010458A 2012-01-20 2012-01-20 修正プログラム提供システム及びプログラム Expired - Fee Related JP5438140B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012010458A JP5438140B2 (ja) 2012-01-20 2012-01-20 修正プログラム提供システム及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012010458A JP5438140B2 (ja) 2012-01-20 2012-01-20 修正プログラム提供システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2013149170A JP2013149170A (ja) 2013-08-01
JP5438140B2 true JP5438140B2 (ja) 2014-03-12

Family

ID=49046588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012010458A Expired - Fee Related JP5438140B2 (ja) 2012-01-20 2012-01-20 修正プログラム提供システム及びプログラム

Country Status (1)

Country Link
JP (1) JP5438140B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9591685B2 (en) * 2015-07-21 2017-03-07 Qualcomm Incorporated Efficient application synchronization using out-of-band device-to-device communication
JP6934819B2 (ja) * 2018-01-11 2021-09-15 株式会社Nttドコモ 情報処理装置およびサーバ
JP2022055060A (ja) 2020-09-28 2022-04-07 富士通株式会社 通信プログラム、通信装置、及び通信方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244927A (ja) * 2001-02-16 2002-08-30 Matsushita Electric Ind Co Ltd データ配布システム
JP4747733B2 (ja) * 2005-08-22 2011-08-17 ブラザー工業株式会社 ノード装置、共用情報更新処理プログラム、共用情報更新方法、及び情報共有システム
JP5272731B2 (ja) * 2006-11-09 2013-08-28 日本電気株式会社 P2pデータ配信システム、p2pデータ配信方法、及びp2pデータ配信プログラム
JP4539676B2 (ja) * 2007-04-19 2010-09-08 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム更新システム、プログラム更新方法およびプログラム更新プログラム
JP5000477B2 (ja) * 2007-12-26 2012-08-15 日立公共システムエンジニアリング株式会社 コンテンツデータ、コンテンツ不正検出のプログラム、装置及び方法
JP4674608B2 (ja) * 2008-02-15 2011-04-20 ブラザー工業株式会社 ノード装置及び情報処理方法並びにノード装置用プログラム
JP4991668B2 (ja) * 2008-09-29 2012-08-01 株式会社東芝 コンピュータシステムおよび修正パッチ確認/適用方法
US8560633B2 (en) * 2010-01-11 2013-10-15 Tangome, Inc. Communicating in a peer-to-peer computer environment

Also Published As

Publication number Publication date
JP2013149170A (ja) 2013-08-01

Similar Documents

Publication Publication Date Title
RU2756304C2 (ru) Идентификация сетевого узла, на который будут реплицироваться данные
US9363258B2 (en) Secure digital signature system
CN102170440B (zh) 适用于存储云间数据安全迁移的方法
US9807136B1 (en) System and method for streaming application isolation
CN107111630A (zh) 从浏览器打开本地应用
JP2018523248A (ja) アプリケーションの展開のためのカスタム通信チャネル
US20090138699A1 (en) Software module management device and program
CN107360234A (zh) 计算机可读存储介质
JP5587192B2 (ja) アプリケーションのリモートオートプロビジョニング及びリモートオートパブリケーション
US10298620B1 (en) System and method for on-line and off-line streaming application isolation
JP7090903B2 (ja) 情報処理システム、データ提供方法、および情報処理システムの製造方法
JP6951649B2 (ja) ブロック検証装置、ブロック検証方法、及びプログラム
JP7432443B2 (ja) 移行支援システム、移行支援方法、およびノード
JP2022523217A (ja) 投票集計を伴うトポロジードリブンビザンチンフォールトトレラント合意プロトコル
JP5438140B2 (ja) 修正プログラム提供システム及びプログラム
CN110351276A (zh) 数据处理方法、设备及计算机可读存储介质
Braga et al. Blockchain to improve security, knowledge and collaboration inter-agent communication over restrict domains of the internet infrastructure
JP6477073B2 (ja) ライセンス管理システム、プログラム及びライセンス管理方法
US8959344B2 (en) Method and system for handling defined areas within an electronic document
De Carvalho et al. Secure cloud storage service for detection of security violations
US9762701B1 (en) System and method for cached streaming application isolation
JP5736346B2 (ja) 仮想化装置、仮想化制御方法、仮想化装置制御プログラム
US11616821B1 (en) System and method for streaming application isolation
JPWO2013111532A1 (ja) 管理システム、管理方法およびプログラム
JP5071192B2 (ja) ネットワーク管理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131212

R150 Certificate of patent or registration of utility model

Ref document number: 5438140

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees