JP2013239989A - 情報処理装置、データ生成方法、情報処理方法、および情報処理システム - Google Patents

情報処理装置、データ生成方法、情報処理方法、および情報処理システム Download PDF

Info

Publication number
JP2013239989A
JP2013239989A JP2012113036A JP2012113036A JP2013239989A JP 2013239989 A JP2013239989 A JP 2013239989A JP 2012113036 A JP2012113036 A JP 2012113036A JP 2012113036 A JP2012113036 A JP 2012113036A JP 2013239989 A JP2013239989 A JP 2013239989A
Authority
JP
Japan
Prior art keywords
data
information processing
difference
unit
electronic signature
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
JP2012113036A
Other languages
English (en)
Other versions
JP5985884B2 (ja
Inventor
Hiroyuki Obinata
弘幸 小日向
Taikun Yasuda
泰勲 安田
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2012113036A priority Critical patent/JP5985884B2/ja
Priority to US13/804,319 priority patent/US9231927B2/en
Publication of JP2013239989A publication Critical patent/JP2013239989A/ja
Application granted granted Critical
Publication of JP5985884B2 publication Critical patent/JP5985884B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply dynamic encryption, e.g. stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】使用帯域を抑制しつつ安全に更新データを提供する技術を提供する。
【解決手段】差分生成部108は、第1データ124と第2データ126との差分データを生成する。暗号化部114は、データを暗号化する。電子署名生成部110は、データの電子署名を生成する。送信データ生成部116は、送信データを生成する。ここで暗号化部114は、差分生成部108が生成した差分データを暗号化して暗号化差分データを生成する。送信データ生成部116は、暗号化部114が生成した暗号化差分データと電子署名生成部110が生成した第2データ126の電子署名とを含む送信データ130を生成する。
【選択図】図2

Description

本発明は、データ生成方法、その方法を実現する情報処理装置、および情報処理装置を含む情報処理システムに関する。
近年、コンピュータの進展とともにソフトウェアも急速に発達しており、ひとつのアプリケーションプログラムを実現するソフトウェアのデータ量が数ギガバイトから数十ギガバイトに達するものも出現している。これらのソフトウェアの中には、ひとたびリリースされた後も、データや機能の追加や変更、プログラムの修正等を目的としてアップデートされることもある。
あるデータファイルをアップデートして別のデータファイルに更新しようとする場合、更新後のデータファイルを送信して更新前のデータファイルと置換することが一般に行われる。しかしながら、多くの場合、更新前のデータファイルと更新後のデータファイルとは相関があり、ファイル間の差分は小さくなる。このため、差分ファイルを作成して更新対象ファイルを保持する機器に送信し、送信先で更新前のデータファイルと差分ファイルから、更新後のデータファイルを生成することができれば配信コストを小さくすることができる。
一方で、セキュリティ等の観点から、更新前後のデータファイルが暗号化・署名されている場合もある。そのような場合、更新前のデータファイルと更新後のデータファイルとの相関はほとんど見られず、それらの差分は小さくならない。そのため差分を配信しても配信コストを小さくすることができない。当然ながら、更新後のデータファイルを送信するのも配信コストがかかる。更新対象のデータの容量が大きい場合、ネットワークを介して更新後のデータを丸ごと送信しようとすると、データの送受信に時間を要する。また、ユーザの環境によっては、データの送受信のための通信コストがかさんでしまう場合もありうる。
本発明はこうした課題に鑑みてなされたものであり、その目的は、使用帯域を抑制しつつ安全に更新データを提供する技術を提供することにある。
上記課題を解決するために、本発明のある態様は情報処理装置である。この装置は、第1データと第2データとの差分データを生成する差分生成部と、データを暗号化する暗号化部と、データの電子署名を生成する電子署名生成部と、送信データを生成する送信データ生成部とを含む。ここで前記暗号化部は、前記差分生成部が生成した差分データを暗号化して暗号化差分データを生成し、前記送信データ生成部は、前記暗号化部が生成した暗号化差分データと前記電子署名生成部が生成した第2データの電子署名とを含む送信データを生成する。
本発明の別の態様は、データ生成方法である。この方法は、第1データと第2データとの差分データを生成するステップと、生成した差分データを暗号化して暗号化差分データを生成するステップと、第2データの電子署名を生成するステップと、暗号化差分データと第2データの電子署名とを含む送信データを生成するステップとをプロセッサに実行させる。
本発明のさらに別の態様も、情報処理装置である。この装置は、第1データを格納する記憶部と、第1データと第2データとの差分データ、および第2データの電子署名を含むデータを取得する取得部と、第1データと差分データとをもとに第2データを生成する差分適用部と、前記差分適用部が生成した第2データを、前記取得部が取得した電子署名で検証する検証部を含む。
本発明のさらに別の態様は、情報処理方法である。この方法は、第1データと第2データとの差分データ、および第2データの電子署名を含むデータを取得するステップと、第1データと差分データとをもとに、第2データを生成するステップと、生成した第2データを取得した電子署名で検証するステップとをプロセッサに実行させる。
本発明のさらに別の態様は、情報処理システムである。このシステムは、第1データと第2データとを保持するサーバと、ネットワークを介して前記サーバと通信可能な、第1データを保持する情報処理装置とを含む。ここで前記サーバは、第1データと第2データとの差分データ、および第2データの電子署名を前記情報処理装置に送信し、前記情報処理装置は、前記サーバから受信した差分データを第1データに適用して生成した第2データを、前記サーバから受信した電子署名で検証する。
本発明のさらに別の態様も、情報処理方法である。この方法は、第1データと第2データとを保持する第1情報処理装置のプロセッサが、第1データと第2データとの差分データ、および第2データの電子署名を、ネットワークを介して第1データを保持する第2情報処理装置に送信するステップを実行し、第2情報処理装置のプロセッサが、第1情報処理装置から受信した差分データを第1データに適用して生成した第2データを、第2情報処理装置から受信した電子署名で検証するステップを実行する。
本発明のさらに別の態様は、上記のいずれかの方法の各ステップをコンピュータに実現させるプログラムである。
このプログラムは、ビデオやオーディオのデコーダ等のハードウェア資源の基本的な制御を行なうために機器に組み込まれるファームウェアの一部として提供されてもよい。このファームウェアは、たとえば、機器内のROM(Read Only Memory)やフラッシュメモリなどの半導体メモリに格納される。このファームウェアを提供するため、あるいはファームウェアの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、使用帯域を抑制しつつ安全に更新データを提供する技術を提供することができる。
実施の形態に係る情報処理システムの全体構成を模式的に示す図である。 実施の形態に係るサーバの内部構成を模式的に示す図である。 実施の形態に係る情報処理装置の内部構成を模式的に示す図である。 実施の形態に係る情報処理システムによるアップデート処理の流れを示すシーケンス図である。 実施の形態に係るサーバにおける送信データの生成処理の流れを説明するフローチャートである。 実施の形態に係るサーバによって処理されるデータを模式的に示す図である。 実施の形態に係るサーバ内の前処理の流れを説明するフローチャートである。 実施の形態に係るアップデート処理の過程における、サーバおよび情報処理装置内のデータの状態遷移を示す図である。
本発明の実施の形態の概要を述べる。本発明の実施の形態は、異なる情報処理装置が同一のデジタルデータを所持するとともに、一方の情報処理装置が、所持するデジタルデータを更新した新たなデジタルデータを所持している。新たなデジタルデータを所持している情報処理装置が、新たなデジタルデータと更新前のデジタルデータとの差分データを、新たなデジタルデータの電子署名とともに他方の情報処理装置に送信する。他方の情報処理装置は、受信した差分データをもとにデジタルデータを更新して新たなデジタルデータを作成し、新たなデジタルデータの電子署名を検証する。
図1は、実施の形態に係る情報処理システム400の全体構成を模式的に示す図である。実施の形態に係る情報処理システム400は、サーバ100と、サーバ100とネットワーク300を介して通信可能な1以上の情報処理装置200とを含む。図1に示す例では、3つの情報処理装置200a、200b、および200cが図示されているが、情報処理システム400が含む情報処理装置200の数は3つに限られず、それ以上でもそれ以下であってもよい。以下、特に区別の必要がない限り、単に「情報処理装置200」と総称する。情報処理装置200の例としては、例えば据置型のゲーム機や携帯ゲーム機等があげられる。
サーバ100は、例えばゲームアプリケーション等、情報処理装置200で実行可能なソフトウェアをデジタルデータの形式で格納する。情報処理装置200のユーザは、ネットワーク300を介してサーバ100または別のサーバからデジタルデータをダウンロードしたり、あるいはデジタルデータを格納する記録媒体を購入してインストールしたりすることにより、デジタルデータを取得する。このように、実施の形態に係る情報処理システム400においては、サーバ100と情報処理装置200とはともに同一のデジタルデータ(以下、「第1データ」と記載する。)を所持する。
第1データとしては、例えば文書作成や表計算等、およびそれらを含むオフィススイート、オペレーティングシステムやファームウェア等の基本ソフト、あるいはゲームアプリケーションが挙げられる。これらのソフトウェアは、データや機能の追加や変更、修正等を目的として、アップデートが行われることがある。このアップデートはしばしばネットワーク300を介してオンラインで行われる。特に、実行のために専用のハードウェアを必要とするゲームアプリケーションのアップデートの際には、ゲームアプリケーションの提供者が、ハードウェアの提供者等、アップデートのためのサーバを管理するサーバ管理者にアップデートのためのソフトウェアを委託することもある。以下、第1データを更新した新たなデジタルデータを「第2データ」と記載する。
オペレーティングシステムやゲームアプリケーションのデータサイズは数ギガバイトを超える場合もあり、第1データを第2データにアップデートするために時間を要することもある。また、情報処理装置200のユーザのネットワーク環境、あるいは国や地域によっては通信費が従量制で課金される場合もあり、第1データを第2データにアップデートするための通信費がかさむことも起こりうる。そこで実施の形態に係るサーバ100は、第1データと第2データとの差分データを、第1データを所持する情報処理装置200に送信する。情報処理装置200は、自信が所持する第1データとサーバ100から取得した差分データとをもとに、第2データを生成することにより、第1データを第2データにアップデートする。
図2は、実施の形態に係るサーバ100の内部構成を模式的に示す図である。実施の形態に係るサーバ100は、記憶部102、復号部104、伸張部106、差分生成部108、電子署名生成部110、圧縮部112、暗号化部114、送信データ生成部116、送信部118、要求受付部120、鍵生成部122、および検証部132を含む。
記憶部102は、サーバ100によるアップデート処理に要する情報を格納する。具体的には、記憶部102は、第1データ124、第1データ124をアップデートしたデータである第2データ126、および情報処理装置200に送信するための送信データ130を含む。記憶部102はまた、送信データ130として公開鍵方式の暗号化データを採用する場合には、秘密鍵および公開鍵をペアとする暗号鍵128も格納する。
ここで記憶部102は、データを暗号化した後に格納するようにしてもよい。これにより、万が一記憶部102が格納するデータが第三者に漏洩したとしても情報の秘密を守ることができる。また記憶部102は、データを圧縮した後に格納するようにしてもよい。これにより、記憶部102のデータ容量を効率よく利用することができる。さらに、記憶部102は、データに対して暗号化および圧縮をした後に格納してもよい。この場合、データを圧縮した後に暗号化することが好ましい。データを暗号化するとデータのエントロピーが増大するため、その後の圧縮効率が悪くなるからである。したがって、以下、「圧縮暗号化」という場合、データを圧縮した後に暗号化したことを意味することとする。
第1データ124または第2データ126の少なくとも一方が暗号化されている場合、復号部104は、暗号化されたデータを復号して平文データを生成する。第1データ124または第2データ126の少なくとも一方が圧縮されている場合、伸張部106は、圧縮されているデータを伸張する。したがって、第1データ124および第2データ126が暗号化されていない場合は、復号部104は不要である。同様に、第1データ124および第2データ126が圧縮されていない場合は、伸張部106は不要である。この意味で、復号部104と伸張部106は、実施の形態に係るサーバ100の必須の構成要素ではないが、データの機密保持や記憶部102の効率的な利用をする上で有用である。検証部132は、第1データ124および第2データ126それぞれの検証用の署名データ(図示せず)を用いて、第1データ124および第2データ126を検証する。
差分生成部108は、第1データ124の平文データと第2データ126の平文データとの差分データを生成する。電子署名生成部110は、秘密鍵を用いてデータの電子署名を生成する。電子署名生成部110が電子署名を生成するデータは、例えば第2データ126の平文データである。電子署名生成部110は、データの電子署名を生成するためにそのデータのハッシュ値を生成することもある。データのハッシュ値の生成は、例えばSHA−1(Secure Hash Algorithm-1)、SHA−2、MD5(Message Digest Algorithm 5)等の既知のハッシュ生成アルゴリズムを用いて実現できる。
圧縮部112は、差分生成部108が生成した差分データを圧縮する。圧縮部112は、例えばRLE(Run Length Encoding)やハフマン符号化等の既知のデータ圧縮アルゴリズムを用いて実現できる。なお圧縮部112は実施の形態に係るサーバ100の必須の構成要素ではないが、情報処理装置200に送信するための送信データ130を圧縮することによってデータのサイズを小さくすることができるため、ネットワーク300の使用帯域を抑制できる点で有利である。
暗号化部114は、データを暗号化する。具体的には、暗号化部114は差分生成部が生成して圧縮部が圧縮した圧縮差分データを暗号化して、圧縮暗号化差分データを生成する。電子署名生成部110は第2データ126の電子署名を生成する。
送信データ生成部116は、情報処理装置200に送信するための送信データ130を生成して記憶部102に格納する。具体的には、送信データ生成部116は、暗号化部114が生成した圧縮暗号化差分データと電子署名生成部110が生成した第2データ126の電子署名とを含む送信データ130を生成する。ここで送信データ生成部116が生成する送信データ130は、圧縮暗号化差分データと電子署名とが関連づけられていればよく、例えば圧縮暗号化差分データのヘッダ領域に電子署名を格納してひとつのデータファイルとしてもよいし、別々のデータファイルであってもよい。
送信部118は、送信データ生成部116が生成して記憶部102に格納した送信データ130を、情報処理装置200に送信する。ここで送信部118は、情報処理装置200のうち、第1データ124を所持している情報処理装置200に送信データ130を送信するようにしてもよい。これを実現するため、要求受付部120は、第1データ124を保持する情報処理装置200からのデータ送信要求を受け付ける。送信部118は、要求受付部120が第1データ124を保持する情報処理装置200からのデータ送信要求を受け付けた場合、その情報処理装置200に送信データ130を送信する。要求受付部120は、例えば情報処理装置200から第1データ124の電子署名やハッシュ値を取得したり、あるいは第1データ124を格納する記録媒体を一意に特定する識別子を取得したりする等の方法で、データ送信要求をした情報処理装置200が第1データ124を所持することを確認できる。
これにより、第1データ124を保持しない情報処理装置200には不要な第1データ124のアップデート用の送信データ130を送信することを防止し、ネットワーク300の使用帯域を抑制することも可能となる。また、データの送信先を制限することで、データの改竄等の悪意を持った第三者が送信データ130を取得しにくくなる点でも有利である。
サーバ100と情報処理装置200とが公開鍵方式の暗号化手法を用いてデータの送受信をする場合、鍵生成部122は、暗号化および復号に用いる秘密鍵と公開鍵とを生成する。鍵生成部122は、例えばRSA暗号や楕円曲線暗号等の既知のアルゴリズムを用いて実現できる。なお、サーバ100と情報処理装置200とが共通鍵方式の暗号化手法のみを用いてデータの送受信をする場合、情報処理装置200内の共通鍵は、例えば情報処理装置200の製造時等の外部から共通鍵にアクセスされる可能性の低い時期に、情報処理装置200内の耐タンパ性のある安全な記憶領域(図示せず)に格納される。この場合、鍵生成部122は不要となるため、鍵生成部122は実施の形態に係るサーバ100の必須の構成要素ではない。
図3は、実施の形態に係る情報処理装置200の内部構成を模式的に示す図である。実施の形態に係る情報処理装置200は、通信部202、取得部204、復号部206、伸張部208、差分適用部210、記憶部212、検証部216、および要求部218を含む。
通信部202は、情報処理装置200がネットワーク300と通信するための通信インタフェースである。通信部202は、例えばLAN(Local Area Network)カードやWi−Fi(登録商標)モジュール等の既知の通信技術を用いて実現できる。要求部218は、通信部202を介して、サーバ100に第1データ124を第2データ126にアップデートするためのデータの有無を確認する。第1データ124のアップデートがある場合、要求部218は、サーバ100に対してアップデートのためのデータを要求する。取得部204は、通信部202を介してサーバ100から第1データ124と第2データ126との差分データ、および第2データ126の電子署名を含むデータを取得する。
復号部206は、取得部204が取得したデータが暗号化されている場合、復号して平文データを生成する。伸張部208は、取得部204が取得したデータが圧縮されている場合、そのデータを伸張する。
記憶部212は、情報処理装置200によるアップデート処理に要する情報を格納する。具体的には、記憶部212は、第1データ124、およびデータを復号するための復号鍵220を格納する。記憶部212はまた、後述する差分適用部210が生成した第2データ126も格納する。
差分適用部210は、記憶部212が格納する第1データ124と取得部204が取得した差分データとをもとに、第2データ126を生成する。
検証部216は、差分適用部210が生成した第2データ126を、サーバ100中の電子署名生成部110が生成した電子署名で検証する。
ここで、検証部216による検証が失敗したときの原因として、少なくとも次のふたつの原因が考えられる。
第1に、通信エラーや第三者による改竄等、サーバ100から情報処理装置200への伝達途中に差分データが変化することに起因するものである。差分データが変化したため、情報処理装置200中の差分適用部210が生成した第2データ126は、サーバ100中の第2データ126と異なるものとなり、結果として両者の電子署名が異なるものとなる。
第2に、情報処理装置200内の差分適用部210が第2データ126を生成する際に、何らかのエラーが生じたことに起因するものである。例えば差分適用部210が第1データ124に差分データを適用するときのアルゴリズムにバグがあったり、アルゴリズムの適用時に使用したメモリ内でメモリエラーが生じてデータの一部が変化したりする場合である。この場合も差分適用部210が生成した第2データ126は、サーバ100中の第2データ126と異なるものとなり、結果として両者の電子署名が異なるものとなる。もちろん、第1の原因と第2の原因とが同時に発生しても、検証部216による検証は失敗する。
ここで、差分適用部210が生成する第2データ126は、当然ながらサーバ100から送信されたデータではない点に留意すべきである。情報処理装置200内の検証部216は、サーバ100から送信された差分データではなく、情報処理装置200内の差分適用部210が生成する第2データ126の検証をする。これにより、検証部216による1度の検証で、伝達途中のデータの変化のみならず、差分適用時のエラーの検出もすることができる。
差分適用部210は、検証部216による検証が成功した場合、生成した第2データ126を記憶部212に格納する。検証部216は、検証が失敗した場合、要求部218にアップデートのためのデータをサーバ100に再度要求させてもよい。
ところで、検証部216による1度の検証で、伝達途中のデータの変化のみならず差分適用時のエラーの検出もすることができるが、いずれの原因によって検証が失敗したかを切り分けることは難しい。そこで、サーバ100が情報処理装置200に送信するデータに差分データの電子署名を含めることにより、検証失敗の原因を切り分けることが容易となる。以下その原理を説明する。
図2の説明に戻り、サーバ100内の電子署名生成部110は、差分生成部108が生成した差分データの電子署名も生成する。ここで電子署名生成部110は、圧縮部112がデータを圧縮する場合、差分生成部108が生成した差分データに代えて圧縮部112が生成した圧縮差分データの電子署名を生成してもよい。本発明の実施の形態においてはいずれを採用してもよいことは当業者であれば容易に理解されよう。
送信データ生成部116は、電子署名生成部110が生成した差分データの電子署名も含めて送信データ130を生成する。
図3の説明に戻り、情報処理装置200内の取得部204は、サーバ100から差分データの電子署名を含むデータを取得する。検証部216による第2データ126の検証が失敗した場合、検証部216は、取得部204が取得した差分データを、取得部204がサーバ100から取得した電子署名で検証する。
差分データの検証が成功した場合、第2データ126の検証が失敗した原因は上記第2の原因である可能性が高い。また、差分データの検証が成功した場合は、少なくとも上記第1の原因がある可能性が高い。このように、サーバ100が情報処理装置200に送信するデータに差分データの電子署名を含めることにより、検証失敗の原因を切り分けることが可能となる。
上述したように、検証部216による第2データ126の検証が失敗した場合に、はじめて検証部216は差分データを検証する。つまり、検証部216による第2データ126の検証が成功したときは、検証部216が差分データの検証をしない。これにより、アップデート処理の高速化を図り、電力消費を抑えることが可能となる。
図4は、実施の形態に係る情報処理システム400によるアップデート処理の流れを示すシーケンス図である。
サーバ100は、第1データ124をアップデートして第2データ126を生成するための送信データ130を生成する(S2)。情報処理装置200内の要求部218は、サーバ100に第1データ124を第2データ126にアップデートするためのデータの有無を確認する更新有無確認要求を送信する(S4)。サーバ100中の要求受付部120は、情報処理装置200から更新有無確認要求を受信すると、その情報処理装置200に更新有無の情報を通知する(S6)。
情報処理装置200内の取得部204は、サーバ100から更新有無の情報を受信し(S8)、その内容を要求部218に通知する。第1データ124の更新がある場合(S10のY)、要求部218は、サーバ100にデータの更新を要求する(S12)。サーバ100内の要求受付部120は、情報処理装置200から更新要求を受信すると(S14)、送信部118は、更新を要求した情報処理装置200に更新用の送信データ130を送信する(S16)。
情報処理装置200内の通信部202はサーバ100から送信データ130を受信し(S18)、差分適用部210は、送信データ130に含まれる差分データを第1データ124に適用して第1データ124を更新する(S20)。検証部216は、差分適用部210が第1データ124を更新して生成した第2データ126の署名を検証する(S22)。なお、「第2データの署名を検証する」とは、差分適用部210が生成した第2データ126を、サーバ100から取得した第2データ126の電子署名で検証することを意味する。
検証部216が第2データ126の署名を検証するか、第1データ124の更新がない場合(S10のN)、情報処理装置200におけるアップデート処理は終了する。
図5は、実施の形態に係るサーバ100における送信データ130の生成処理の流れを説明するフローチャートであり、図4におけるステップS2を詳細に説明する図である。
サーバ100内の各部は送信データ130を生成するための前処理を実行する(S30)。なお、前処理の流れの詳細は後述する。差分生成部108は、第1データ124と第2データ126との差分データを生成する(S32)。圧縮部112は、差分生成部108が生成した差分データを圧縮して圧縮差分データを生成する(S34)。暗号化部114は、圧縮部112が生成した圧縮差分データを暗号化して圧縮暗号化差分データを生成する(S36)。
電子署名生成部110は第2データ126の電子署名を生成する(S38)。送信データ生成部116は、第2データ126の電子署名と圧縮暗号化差分データとを含む送信データ130を生成する(S40)。
図6は、実施の形態に係るサーバ100によって処理されるデータを模式的に示す図である。上述したとおり、第1データ124と第2データ126とはともにデジタルデータである。図6においては、第1データ124と第2データ126とは「0」または「1」の列によって示されている。
実施の形態に係る差分生成部108は、例えば第1データ124と第2データ126とを一列に並べ、対応する桁同士の差分をとることによって差分データを生成する。このとき第1データ124と第2データ126との長さが異なる場合、短い方のデータに0をパディングするか、あるいは短い方のデータと同じ長さになるまで長い方のデータを切り詰める等の処理をする。パディングした0の数や、切り詰めたデータも差分情報となる。
図6においては、第1データ124と第2データ126との対応する桁の数が同じ場合、その桁に対応する差分データは0となる。第1データ124が「1」で第2データ126が「0」となる桁は、対応する差分データは「1」となる。同様に、第1データ124が「0」で第2データ126が「−1」となる桁は、対応する差分データは「−1」となる。
ここで、第2データ126は、第1データ124をアップデートしたデータであることに留意する。一般にデータや機能の追加、修正等を目的とするアップデートでは、データの大部分はもとのデータと共通する可能性が高い。そのため、上述の方法で求めた差分データを構成するデータの多くは「0」であることが期待できる。第1データ124と第2データ126とが同じデータである桁は、対応する差分データが「0」となるからである。同じ値が連続するデータは一般に圧縮効率も高いため、差分データは効率よく圧縮することができる。
暗号化部114によって暗号化された圧縮差分データは、復号しなければ意味のあるデータ列として認識することはできない。図6においては、暗号化によって「0」、「1」、「−1」以外のデータに変換され、差分データよりも短いデータとして、圧縮暗号化差分データを示している。
図7は、実施の形態に係るサーバ100内の前処理の流れを説明するフローチャートであり、図5におけるステップS30を詳細に説明する図である。図7に示すフローチャートは、サーバ100内の記憶部102に、第1データ124と第2データ126がそれぞれ圧縮暗号化されて格納されていることを前提とする。
復号部104は、記憶部102から暗号化された第1データ124を取得する(S50)。復号部104は、暗号化された第1データ124を復号して、第1データ124の平文データを生成する(S52)。伸張部106は、第1データ124の平文データを伸張する(S54)。検証部132は、復号および伸張された第1データ124を検証する(S56)検証に成功しない場合(S58のN)、ステップS52に戻って、ステップS52からステップS56に至るまでの処理を繰り返す。
検証に成功した場合(S58のY)、復号部104は、記憶部102から暗号化された第2データ126を取得する(S60)。復号部104は、暗号化された第2データ126を復号して、第2データ126の平文データを生成する(S62)。伸張部106は、第2データ126の平文データを伸張する(S64)。検証部132は、復号および伸張された第2データ126を検証する(S66)検証に成功しない場合(S68のN)、ステップS62に戻って、ステップS62からステップS66に至るまでの処理を繰り返す。検証に成功した場合(S68のY)、本フローチャートにおける処理は終了する。
図8は、実施の形態に係るアップデート処理の過程における、サーバ100および情報処理装置200内のデータの状態遷移を示す図である。
初期状態において、サーバ100は第1データ124と第2データ126とを所持するが、情報処理装置200は第1データ124のみを所持する。差分生成状態において、サーバ100には差分データが追加される。差分配信状態においては、情報処理装置200に差分データが追加され、この結果、情報処理装置200は第1データ124と差分データとを所持する。第2データ126の生成状態において、情報処理装置200内で第2データ126が生成される。この結果、サーバ100と情報処理装置200とはともに、第1データ124、第2データ126、および差分データを所持する。
以上の構成による情報処理システム400の動作は以下のとおりである。第1データ124と第2データ126とを保持するサーバ100は、ネットワーク300を介してサーバ100と通信可能な情報処理装置200であって、第1データ124を保持する情報処理装置200に対して、第1データ124と第2データ126との差分データ、および第2データ126の電子署名を送信する。
情報処理装置200は、サーバ100から受信した差分データを、自身が所持する第1データ124に適用して第2データ126を生成する。情報処理装置200はさらに、生成した第2データ126を、サーバ100から受信した電子署名で検証する。検証に成功すれば、情報処理装置200は、サーバ100から第2データ126そのものを受信することなく、第1データ124のアップデートデータである第2データ126を取得することができる。
以上述べたように、実施の形態に係る情報処理システム400によれば、使用帯域を抑制しつつ安全に更新データを提供することができる。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
(第1の変形例)
上記の説明では、第2データ126は第1データ124を更新した新たなデジタルデータであることを前提として説明したが、第2データ126は第1データ124を更新したデータであることには限られず、第1データ124と何らかの相関があるデータであればよい。一例としては、第1データ124を左目用の視差画像とし第2データ126を右目用の視差画像としてもよい。
(第2の変形例)
上記の説明では、情報処理システム400は、サーバ100とサーバ100と通信可能な複数の情報処理装置200とから構成される、いわゆるサーバ・クライアントモデルのシステムを前提とした。しかしながら、送信データ130を生成し送信する装置はサーバ・クライアントモデルにおけるサーバ100に限られず、ピアツーピアで通信する1対1の情報処理装置200における、一方の情報処理装置であってもよい。この意味で、サーバ100は、情報処理装置の一種である。
(第3の変形例)
図1は、ネットワーク300を介して情報処理装置200とサーバ100が接続している様子を図示しており、現実のシステム構成を模式的に図示するものである。ここで情報処理システム400中のサーバ100は1台とは限らず、複数のサーバ100やデータベース(図示せず)を用いてクラウドコンピューティングシステムを構成してもよい。一般に、情報処理装置200を利用するユーザは、ネットワーク300やサーバ100からなる情報処理システム400の構成を認識することはあまりない。情報処理システム400を利用するユーザの立場から見ると、サービスの提供を受ける上で情報処理システム400の物理構成やソフトウェア構成等を理解する必要はなく、あたかもネットワークの雲(Cloud;クラウド)の中から出てきたサービスを利用するかのような印象を受ける。
情報処理装置200は、ほとんどの場合CPU(Central Processing Unit)等の計算リソースを持っており、アプリケーションの少なくとも一部を情報処理装置200のローカルな環境で実行することも可能である。しかしながら、情報処理装置200を利用するユーザにとっては、アプリケーションがローカルな計算リソースで実行されるか、あるいはネットワーク上のクラウドコンピューティングシステムの計算リソースで実行されるかは重要な問題ではなく、サービスを利用できるという点では同じである。
実施の形態に係る情報処理システム400は、クラウドコンピューティングシステムを用いて実現してもよい。この場合、上述した情報処理システム400における各ステップは、クラウドコンピューティングシステムの計算リソースによって実行される。ここで、「クラウドコンピューティングシステムの計算リソース」あるいは単に「計算リソース」という場合、情報処理装置200の計算リソースとサーバ100等の計算リソースの少なくともいずれか一方を意味することとする。
100 サーバ、 102 記憶部、 104 復号部、 106 伸張部、 108 差分生成部、 110 電子署名生成部、 112 圧縮部、 114 暗号化部、 116 送信データ生成部、 118 送信部、 120 要求受付部、 122 鍵生成部、 124 第1データ、 126 第2データ、 128 暗号鍵、 130 送信データ、 132 検証部、 200 情報処理装置、 202 通信部、 204 取得部、 206 復号部、 208 伸張部、 210 差分適用部、 212 記憶部、 216 検証部、 218 要求部、 220 復号鍵、 300 ネットワーク、 400 情報処理システム。

Claims (11)

  1. 第1データと第2データとの差分データを生成する差分生成部と、
    データを暗号化する暗号化部と、
    データの電子署名を生成する電子署名生成部と、
    送信データを生成する送信データ生成部とを含み、
    前記暗号化部は、前記差分生成部が生成した差分データを暗号化して暗号化差分データを生成し、
    前記送信データ生成部は、前記暗号化部が生成した暗号化差分データと前記電子署名生成部が生成した第2データの電子署名とを含む送信データを生成することを特徴とする情報処理装置。
  2. 第1データを保持する別の情報処理装置からのデータ送信要求を受け付ける要求受付部と、
    前記送信データ生成部が生成した送信データを、前記別の情報処理装置に送信する送信部をさらに含むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記電子署名生成部は、前記差分生成部が生成した差分データの電子署名も生成し、
    前記送信データ生成部は、前記電子署名生成部が生成した差分データの電子署名も含めて送信データを生成することを特徴とする請求項1または2に記載の情報処理装置。
  4. 第1データと第2データとの差分データを生成するステップと、
    生成した差分データを暗号化して暗号化差分データを生成するステップと、
    第2データの電子署名を生成するステップと、
    暗号化差分データと第2データの電子署名とを含む送信データを生成するステップとをプロセッサに実行させることを特徴とするデータ生成方法。
  5. 第1データと第2データとの差分データを生成する機能と、
    生成した差分データを暗号化して暗号化差分データを生成する機能と、
    第2データの電子署名を生成する機能と、
    暗号化差分データと第2データの電子署名とを含む送信データを生成する機能とをコンピュータに実現させることを特徴とするプログラム。
  6. 第1データを格納する記憶部と、
    第1データと第2データとの差分データ、および第2データの電子署名を含むデータを取得する取得部と、
    第1データと差分データとをもとに第2データを生成する差分適用部と、
    前記差分適用部が生成した第2データを、前記取得部が取得した電子署名で検証する検証部を含むことを特徴とする情報処理装置。
  7. 前記取得部が取得するデータは、差分データの電子署名も含み、
    前記検証部による第2データの検証が失敗した場合、前記検証部は、前記取得部が取得した差分データを前記取得部が取得した差分データの電子署名で検証することを特徴とする請求項6に記載の情報処理装置。
  8. 第1データと第2データとの差分データ、および第2データの電子署名を含むデータを取得するステップと、
    第1データと差分データとをもとに、第2データを生成するステップと、
    生成した第2データを、取得した電子署名で検証するステップとをプロセッサに実行させることを特徴とする情報処理方法。
  9. 第1データと第2データとの差分データ、および第2データの電子署名を含むデータを取得する機能と、
    第1データと差分データとをもとに、第2データを生成する機能と、
    生成した第2データを、取得した電子署名で検証する機能とをコンピュータに実現させることを特徴とするプログラム。
  10. 第1データと第2データとを保持するサーバと、
    ネットワークを介して前記サーバと通信可能な、第1データを保持する情報処理装置とを含み、
    前記サーバは、第1データと第2データとの差分データ、および第2データの電子署名を前記情報処理装置に送信し、
    前記情報処理装置は、前記サーバから受信した差分データを第1データに適用して生成した第2データを、前記サーバから受信した電子署名で検証することを特徴とする情報処理システム。
  11. 第1データと第2データとを保持する第1情報処理装置のプロセッサが、第1データと第2データとの差分データ、および第2データの電子署名を、ネットワークを介して第1データを保持する第2情報処理装置に送信するステップを実行し、
    第2情報処理装置のプロセッサが、第1情報処理装置から受信した差分データを第1データに適用して生成した第2データを、第2情報処理装置から受信した電子署名で検証するステップを実行することを特徴とする情報処理方法。
JP2012113036A 2012-05-17 2012-05-17 情報処理装置、情報処理方法、および情報処理システム Active JP5985884B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012113036A JP5985884B2 (ja) 2012-05-17 2012-05-17 情報処理装置、情報処理方法、および情報処理システム
US13/804,319 US9231927B2 (en) 2012-05-17 2013-03-14 Information processing apparatus, data generation method, information processing method, and information processing system for updating and verifying software programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012113036A JP5985884B2 (ja) 2012-05-17 2012-05-17 情報処理装置、情報処理方法、および情報処理システム

Publications (2)

Publication Number Publication Date
JP2013239989A true JP2013239989A (ja) 2013-11-28
JP5985884B2 JP5985884B2 (ja) 2016-09-06

Family

ID=49582302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012113036A Active JP5985884B2 (ja) 2012-05-17 2012-05-17 情報処理装置、情報処理方法、および情報処理システム

Country Status (2)

Country Link
US (1) US9231927B2 (ja)
JP (1) JP5985884B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018182398A (ja) * 2017-04-04 2018-11-15 富士電機株式会社 情報処理装置、機器、機器管理システム及び情報処理方法
US10362005B2 (en) 2016-01-13 2019-07-23 Samsung Electronics Co., Ltd. Electronic device, communication method and encrypting method thereof
JP2019522834A (ja) * 2016-07-28 2019-08-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. コードパッケージバリアント
WO2020032198A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム
JP2020027625A (ja) * 2018-08-10 2020-02-20 株式会社デンソー センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109711193B (zh) * 2018-12-24 2021-03-19 杭州达现科技有限公司 一种存储空间的共享方法和装置
GB2591244B (en) * 2020-01-21 2022-03-09 Arm Ip Ltd Electronic device manufacture and content provision

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116838A (ja) * 2000-06-30 2002-04-19 Internatl Business Mach Corp <Ibm> コードを更新するためのデバイスおよび方法
JP2004133497A (ja) * 2002-10-08 2004-04-30 Hitachi Ltd 電子商取引方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6366930B1 (en) * 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
CN100556124C (zh) * 2000-09-12 2009-10-28 索尼公司 信息处理设备和信息处理方法
US7003534B2 (en) * 2002-11-18 2006-02-21 Innopath Software, Inc. Generating difference files using module information of embedded software components
US6839724B2 (en) * 2003-04-17 2005-01-04 Oracle International Corporation Metamodel-based metadata change management
ATE504878T1 (de) * 2005-10-12 2011-04-15 Datacastle Corp Verfahren und system zur datensicherung
US7676509B2 (en) * 2006-02-01 2010-03-09 I365 Inc. Methods and apparatus for modifying a backup data stream including a set of validation bytes for each data block to be provided to a fixed position delta reduction backup application
JP5802137B2 (ja) * 2009-02-05 2015-10-28 ダブリューダブリューパス コーポレイションWwpass Corporation 安全なプライベート・データ記憶装置を有する集中型の認証システム、および方法
GB2507935B (en) * 2011-10-12 2014-07-30 Ibm Method, system, mediation server, client, and computer program for deleting information in order to maintain security level

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116838A (ja) * 2000-06-30 2002-04-19 Internatl Business Mach Corp <Ibm> コードを更新するためのデバイスおよび方法
JP2004133497A (ja) * 2002-10-08 2004-04-30 Hitachi Ltd 電子商取引方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10362005B2 (en) 2016-01-13 2019-07-23 Samsung Electronics Co., Ltd. Electronic device, communication method and encrypting method thereof
JP2019522834A (ja) * 2016-07-28 2019-08-15 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. コードパッケージバリアント
JP2018182398A (ja) * 2017-04-04 2018-11-15 富士電機株式会社 情報処理装置、機器、機器管理システム及び情報処理方法
WO2020032198A1 (ja) * 2018-08-10 2020-02-13 株式会社デンソー センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム
JP2020027625A (ja) * 2018-08-10 2020-02-20 株式会社デンソー センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム
JP7183984B2 (ja) 2018-08-10 2022-12-06 株式会社デンソー センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム
US12045599B2 (en) 2018-08-10 2024-07-23 Denso Corporation Distribution package generation device, distribution package communication system, distribution package transmission method, and storage medium

Also Published As

Publication number Publication date
US20130311765A1 (en) 2013-11-21
JP5985884B2 (ja) 2016-09-06
US9231927B2 (en) 2016-01-05

Similar Documents

Publication Publication Date Title
KR102392420B1 (ko) 다중키 쌍 시그너처를 사용한 프로그램 실행 및 데이터 증명 체계
JP5985884B2 (ja) 情報処理装置、情報処理方法、および情報処理システム
CN111201749B (zh) 用于安全数据通信的方法和系统
CN108241517B (zh) 一种软件升级方法、客户端及电子设备
US9800416B2 (en) Distributed validation of digitally signed electronic documents
JP6306077B2 (ja) 暗号化データのコミュニティベース重複排除
US8694467B2 (en) Random number based data integrity verification method and system for distributed cloud storage
Liu et al. One-tag checker: Message-locked integrity auditing on encrypted cloud deduplication storage
JP2020528224A (ja) 信頼できる実行環境におけるスマート契約動作のセキュアな実行
JP7454564B2 (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
US10608813B1 (en) Layered encryption for long-lived data
CN109478214B (zh) 用于证书注册的装置和方法
US10476663B1 (en) Layered encryption of short-lived data
Khan et al. A study of incremental cryptography for security schemes in mobile cloud computing environments
US11019033B1 (en) Trust domain secure enclaves in cloud infrastructure
CN109474616B (zh) 多平台数据共享方法和装置及计算机可读存储介质
CN114584306B (zh) 一种数据处理方法和相关装置
CN114244508B (zh) 数据加密方法、装置、设备及存储介质
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
GB2488753A (en) Encrypted communication
KR20150002821A (ko) 복수의 저장 서비스 제공자들에 분산 및 저장된 파일의 기밀성을 보호하기 위한 방법
US9971900B1 (en) Zero-copy data privacy and integrity
Kumar et al. Multi-cryptosystem based privacy-preserving public auditing for regenerating code based cloud storage
Jacob et al. Privacy Preserving and Auto Regeneration of Data in Cloud Servers Using Seed Block Algorithm
Kanthan Privacy Preserving and Auto Regeneration of Data in Cloud Servers Using Seed Block Algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150414

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160804

R150 Certificate of patent or registration of utility model

Ref document number: 5985884

Country of ref document: JP

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