JP2016046688A - 暗号化方法、情報処理プログラム、及び情報処理装置 - Google Patents

暗号化方法、情報処理プログラム、及び情報処理装置 Download PDF

Info

Publication number
JP2016046688A
JP2016046688A JP2014169946A JP2014169946A JP2016046688A JP 2016046688 A JP2016046688 A JP 2016046688A JP 2014169946 A JP2014169946 A JP 2014169946A JP 2014169946 A JP2014169946 A JP 2014169946A JP 2016046688 A JP2016046688 A JP 2016046688A
Authority
JP
Japan
Prior art keywords
content
encryption
package
information
terminal device
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
JP2014169946A
Other languages
English (en)
Other versions
JP6340996B2 (ja
Inventor
矢崎 孝一
Koichi Yazaki
孝一 矢崎
伊藤 栄信
Yoshinobu Ito
栄信 伊藤
坂本 拓也
Takuya Sakamoto
拓也 坂本
洋介 中村
Yosuke Nakamura
洋介 中村
和明 二村
Kazuaki Futamura
和明 二村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014169946A priority Critical patent/JP6340996B2/ja
Priority to US14/791,652 priority patent/US9716694B2/en
Publication of JP2016046688A publication Critical patent/JP2016046688A/ja
Application granted granted Critical
Publication of JP6340996B2 publication Critical patent/JP6340996B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】端末装置においてサーバから暗号化配信されたパッケージ内のコンテンツ読み出し速度を向上させる暗号化方法を提供する。
【解決手段】サーバが、複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を取得し、取得した性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を、端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶する。
【選択図】図4

Description

本発明は、暗号化方法、情報処理プログラム、及び情報処理装置に関する。
各種のアプリケーションを実行する端末(Operating System(OS))の種類は、年々増加しており、各種端末に対応したアプリケーション(以下、「アプリケーション」を必要に応じて「アプリ」という)開発を効率的に行う必要性がある。そこで、従来では、ウェブ(Web)技術を用いたアプリケーション開発が注目されている。
ウェブ技術でアプリを開発する場合、ビジネス分野等におけるアプリの配信では、情報漏洩対策として、アプリに含まれる複数種類のコンテンツをパッケージ化する暗号化処理(例えば、暗号ラッピング等)が行われている。従来の暗号ラッピングでは、暗号化ZIP方式を用いており、1つのパスワードと初期化ベクタから生成された暗号鍵とを用いて、それぞれのコンテンツを暗号化している。
特開平10―105449号公報 特表2004−524634号公報 特開2005−157893号公報 特表2002−512412号公報 特開2004−199300号公報
しかしながら、パッケージの暗号アルゴリズムの鍵長は、パッケージ内に入っている重要データに応じて決定される。その結果、重要度の高いデータが入っているパッケージほど、コンテンツ読み出し速度等のパフォーマンスが低下し、ユーザにとって利便性が悪い。
一つの側面では、本発明は、コンテンツ読み出し速度を向上させることを目的とする。
一つの態様では、暗号化方法において、情報処理装置が、複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を取得し、取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶する。
一つの側面として、コンテンツ読み出し速度を向上させることができる。
情報処理システムの概略構成の一例を示す図である。 ハードウェア構成の一例を示す図である。 本実施形態の概要について説明するための図である。 パッケージ配信の第1実施形態を示す図である。 端末装置から取得する情報の一例を示す図である。 登録処理の一例を示すシーケンス図である。 コンテンツ要求処理の一例を示すフローチャートである。 パッケージ取得処理の一例を示すシーケンス図である。 設計情報生成処理の一例を示すフローチャートである。 設計情報の一例を示す図である。 パッケージ処理の一例を示すフローチャートである。 従来手法でのパッケージ化データ例を示す。 第1実施形態でのパッケージ化データ例を示す。 コンテンツ再生用のURLの生成例を示すシーケンス図である。 端末装置における復号処理の一例を示すシーケンス図である。 ダウンロード状況の一例を示す図である。 パッケージ配信の第2実施形態を示す図である。 第2実施形態におけるパッケージ処理の一例を示すフローチャートである。 第2実施形態におけるデータ例を示す図である。 第2実施形態におけるパッケージ後の送信処理の一例を示すフローチャートである。
以下、図面に基づいて実施形態を説明する。
<情報処理システムの概略構成例>
図1は、情報処理システムの概略構成の一例を示す図である。図1に示す情報処理システム10は、情報処理装置の一例としてのサーバ11と、端末装置12とを有する。サーバ11及び端末装置12は、例えばインターネットやLocal Area Network(LAN)等に代表される通信ネットワーク13によりデータの送受信が可能な状態で接続されている。また、図1に示す情報処理システム10では、サーバ11と端末装置12とが通信ネットワーク13に1対1の関係で接続されているが、これに限定されるものではなく、m対n(m,n≧1)の関係で接続されていてもよい。
サーバ11は、パッケージ化されたウェブ(Web)アプリを端末装置12に提供する場合に、情報漏洩防止等のセキュリティ対策として暗号化処理(暗号ラッピング)を行う。パッケージ化されたウェブアプリとは、例えば動画、画像、テキスト等からなる複数種類のコンテンツをパッケージングしたアプリケーションである。
ここで、従来の暗号処理では、1つのパスワードと、初期化ベクタから生成された暗号鍵とを用いて、パッケージ化されたウェブアプリ内の各コンテンツを暗号化し、パッケージの暗号アルゴリズム(鍵長)は、パッケージ内に入っているコンテンツの重要度に応じて決定される。その結果、重要度の高いコンテンツが入っている場合には、一律にその重要度に合わせてパッケージ内のコンテンツを暗号化するため、端末装置12側でのデコーダ(復号処理)にも時間がかかる。そのため、コンテンツ読み出しパフォーマンスが低下し、ユーザにとって利便性が悪かった。そこで、本実施形態では、ウェブブラウザに対応するデコーダが指定する場所に各コンテンツに対して暗号化した暗号アルゴリズムの種別(例えば、アルゴリズム名)に関する情報をまとめて暗号化して格納させる。
サーバ11は、パッケージ化されたウェブアプリを端末装置12に提供する場合に、情報漏洩対策として暗号化処理(暗号ラッピング)を行う。その際、パッケージ内に入っているコンテンツ毎に、端末装置12側とネゴシエーションした最適な暗号アルゴリズムや圧縮アルゴリズム等を選択し、それらをパッケージングすることで、コンテンツ読み出しパフォーマンスを向上させる。
例えば、サーバ11は、端末装置12毎にウェブ性能やハードウェア性能等の性能情報を取得し、取得した性能情報に対応させてコンテンツを暗号・圧縮処理する。暗号・圧縮処理とは、例えば暗号アルゴリズムを用いた暗号化処理及び圧縮アルゴリズムを用いた圧縮処理のうち、少なくとも1つの処理を含む。また、サーバ11は、選択した暗号・圧縮アルゴリズムに関する情報(例えば、アルゴリズム名等)を端末装置12のウェブブラウザと関連づけられている復号部(デコーダ)が指定するパッケージ内の場所に、サーバ11側で暗号処理して記憶する。
また、サーバ11は、端末装置12側とネゴシエーションして得られた性能情報に対応させた暗号アルゴリズムの種別(例えば、暗号アルゴリズム名)毎にコンテンツを分割し、分割したそれぞれをコンテンツに応じた暗号アルゴリズムで暗号処理を行ってもよい。また、暗号・圧縮処理する際には、暗号処理負荷等を算出し、負荷が少ないコンテンツから暗号ラッピングして端末装置12に配信してもよい。なお、負荷の算出の例としては、例えば「コンテンツサイズ×暗号処理時間/MB(所定データサイズ(例えば1MB)における暗号処理時間)」として算出することができるが、これに限定されるものではない。これにより、配信遅延を短縮し、コンテンツ読み出しパフォーマンスを向上させることができる。
サーバ11は、例えばPersonal Computer(PC)等でもよく、一以上の情報処理装置を有するクラウドコンピューティングにより構成されたクラウドサーバであってもよい。
端末装置12は、サーバ11から送信されるパッケージ化されたウェブアプリを取得し、取得したウェブアプリに対して復号処理やアンパッケージ処理を行い、ウェブアプリをウェブブラウザ上で実行させる。
端末装置12は、例えばPCやノート型PC、タブレット端末、スマートフォン、ゲーム機器、音楽再生装置、ウェアラブル端末等であるが、これに限定されるものではない。
本実施形態によれば、1つの暗号ラッピングの中に、データの重要度に応じて、暗号アルゴリズムを選択できる。つまり、コンテンツ毎に、端末装置12の性能と情報漏洩リスクとを考慮した保護レベルを選択できるようになり、セキュリティ性能を保持したまま、コンテンツ読み出し速度(ウェブアプリの体感速度)を向上することができる。
次に、上述したサーバ11及び端末装置12の機能構成例について説明する。
<サーバ11の機能構成例>
図1に示すサーバ11は、処理受付部(受付部)21と、コンテンツ取得部22と、設計情報生成部23と、鍵管理部24と、コンテンツ保存部25と、パッケージ部26と、パッケージ送信部27とを有する。
処理受付部21は、端末装置12からのウェブアプリのリクエストを受け付ける。処理受付部21は、受け付けたリクエストの中に入っている端末装置の識別情報(例えば、端末ID)が登録済みのものであるか否かをチェックし、登録済みであれば、リクエストを受け付ける。
また、処理受付部21は、登録済みの端末装置12である場合に、端末装置12とのネゴシエーションにより、端末装置12のウェブ性能やハードウェア性能等に関する情報(性能情報)を取得する。ウェブ性能とは、例えばウェブエンジンのバーションやウェブブラウザに関連づけられているデコーダの性能、ストリーム読み出し性能、AES128処理能力等であるが、これに限定されるものではない。また、ハードウェア性能とは、例えば暗号アクセラレーションハードウェアの有無等であるが、これに限定されるものではない。
コンテンツ取得部22は、上述したウェブアプリのリクエストに対応する1又は複数のコンテンツをコンテンツ保存部25から取得する。また、コンテンツ取得部22は、そのコンテンツの情報漏洩対策情報が含まれる設定ファイル等もコンテンツ保存部25から取得する。なお、コンテンツ取得部22が取得するコンテンツや設定ファイルは、サーバ11内に設けられていなくてもよく、通信ネットワーク13を介して接続される外部装置等から取得してもよい。
設計情報生成部23は、コンテンツ取得部22が取得した設定ファイル等から、端末装置12の性能情報に合わせて、実際にどのような暗号・圧縮アルゴリズムを適用すればいいかを決定する。設計情報生成部23は、例えばコンテンツのデータ特性(例えば、ファイル種別や予め設定されたコンテンツ毎の重要度等)に応じて性能情報に対応する暗号アルゴリズムを選択する。また、設計情報生成部23は、性能情報等から圧縮アルゴリズムを選択する。設計情報生成部23は、上述した暗号アルゴリズムや圧縮アルゴリズムの選択結果等を設計情報として生成する。
鍵管理部24は、ユーザ毎やブラウザ毎、コンテンツ毎等に応じて設定される鍵情報を管理する。例えば、鍵管理部24は、端末IDと関連づけて暗号鍵を記憶してもよい。鍵情報は、サーバ11の管理者等により事前に設定されるが,これに限定されるものではない。
コンテンツ保存部25は、1又は複数のウェブアプリ等のコンテンツを保持する。コンテンツ取得部22からのリクエストに応じて対応するコンテンツや、コンテンツに対応する設定ファイルを抽出し、抽出した情報をコンテンツ取得部22に出力する。
パッケージ部26は、例えば端末IDと関連づけて記憶されている暗号鍵等を用いて、コンテンツを暗号・圧縮処理する暗号部(エンコーダ)である。また、パッケージ部26は、端末装置12から得られた性能情報に対応させた暗号アルゴリズムの種別毎にコンテンツを分割し、分割したそれぞれのコンテンツを暗号化処理してもよい。また、パッケージ部26は、分割したそれぞれのコンテンツの暗号処理負荷を算出し、算出結果に対応した所定の順序で暗号化処理を行ってもよい。例えば、パッケージ部26は、暗号処理の負荷に応じて、負荷の少ないコンテンツから分割して暗号ラッピングし、パッケージを分割してもよい。
パッケージ部26は、例えばウェブアプリのデータ特性を解析する解析部としての機能を有する。例えばブラウザを用いてパッケージからデータを読み出す際、そのデータ特性によって、読み出し方が異なる。例えば、動画データであれば、ブラウザはデータをストリームで読み出しながら表示するのに対して、PDF等のドキュメント類では、全てのデータを読み出し終えてから表示する。そのため、パッケージ部26は、例えばコンテンツが動画データの場合に、ランダムアクセス性能が最適になるようにパッケージングを行う。また、パッケージ部26は、PDF等のドキュメントの場合に、シーケンシャル性能が最適になるようにパッケージングを行う。これにより、読み出し性能を向上させることができる。
また、例えばHTML5等のウェブアプリには、多くのオープンソースのライブラリが使用されている。したがって、パッケージ部26は、オープンソースのデータと、開発者が作成したプログラムやビジネスデータとで暗号アルゴリズムを分けることで、読み出し性能を向上させることができる。例えば、パッケージ部26は、復号部(デコーダ)の能力と、ウェブアプリ内に含まれているデータのファイル名と拡張子を分析し、それに応じて、読み出しが最適になる暗号圧縮レベルをファイルとして出力してもよい。
パッケージ送信部27は、パッケージ化されたコンテンツを、ウェブアプリのリクエストのあった端末装置12に送信(配信)する。なお、パッケージが予め設定された条件で分割されている場合、パッケージ送信部27は、その分割数分のファイル送信を行う。
<端末装置12の機能構成例>
図1に示す端末装置12は、起動制御部31と、サービス部32と、アンパッケージ部33と、ダウンロード部34と、鍵管理部35と、ブラウザ部36と、記憶部37とを有する。
起動制御部31は、記憶部37に保存しているコンテンツを、Hypertext Transfer Protocol(HTTP)プロトコルでアクセスできるようにするためのサービス部32を起動する。また、起動制御部31は、起動が完了した時点で、そのサービス部32にアクセスするブラウザを起動し、ユーザにサービスを提供する。
サービス部32は、HTTPプロトコルでアクセスしてきたブラウザに対して、そのプロトコル内容を解析し、指定の記憶部37のストレージからデータを読み出して、ブラウザ側に応答する。サービス部32は、例えばローカルサーバとしての機能を有していてもよく、ウェブエンジンとしての機能を有していてもよい。
アンパッケージ部33は、例えば記憶部37に保存されている暗号化されたデータを復号処理する復号部(デコーダ)である。また、アンパッケージ部33は、記憶部37にまだ保存されていないデータに関しては、ダウンロード部34に催促を出す。
ダウンロード部34は、サービス部32からパッケージ化されたデータ(暗号化されたデータ)を取得し、記憶部37に記憶する。また、ダウンロード部34は、パッケージが分割されている場合に、その分割数をサーバ11から取得し、取得した分割数分のパッケージを、例えば端末装置12の負荷等が少ない時間(空き時間)等に対応させてダウンロードを繰り返して取得してもよい。
鍵管理部35は、サーバ11側でパッケージングに使用した暗号鍵の管理、特定のブラウザしかサービス部32にアクセスできないようにするため、起動制御部31が生成したCookieと、コンテンツの関連性とを管理する。
ブラウザ部36は、HTTPで取得したコンテンツを再生し、端末装置12の画面(表示部等)に表示する。
記憶部37は、上述したようにサーバ11から通信ネットワーク13を介して提供されるパッケージ化されたコンテンツ(例えば、ウェブアプリや暗号鍵のアドレス情報等)を記憶する。また、記憶部37は、本実施形態の実行に必要な各種情報や実行により得られる各種情報(例えば、サーバ11のアドレス情報、実行時ログ情報)等を記憶する。
<サーバ11、端末装置12のハードウェア構成例>
次に、サーバ11、端末装置12等のコンピュータのハードウェア構成例について、図を用いて説明する。図2は、ハードウェア構成の一例を示す図である。図2の例において、サーバ11や端末装置12は、入力装置41と、出力装置42と、ドライブ装置43と、補助記憶装置44と、主記憶装置45と、Central Processing Unit(CPU)46と、ネットワーク接続装置47とを有し、これらはシステムバスBで相互に接続されている。
入力装置41は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスやマイクロフォン等の音声入力デバイスを有しており、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
出力装置42は、本実施形態における処理を行うためのコンピュータ本体(サーバ11、端末装置12)を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ等を有する。出力装置42は、CPU46が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
ここで、本実施形態において、例えばサーバ11や端末装置12等のコンピュータ本体にインストールされる実行プログラムは、記録媒体48等により提供される。記録媒体48は、ドライブ装置43にセット可能である。CPU46からの制御信号に基づき、記録媒体48に格納された実行プログラムが、記録媒体48からドライブ装置43を介して補助記憶装置44にインストールされる。
補助記憶装置44は、例えばHard Disk Drive(HDD)やSolid State Drive(SSD)等のストレージ手段等である。補助記憶装置44は、CPU46からの制御信号に基づき、本実施形態における実行プログラム(情報処理プログラム)や、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置44は、CPU46からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
主記憶装置45は、CPU46により補助記憶装置44から読み出された実行プログラム等を格納する。主記憶装置45は、Read Only Memory(ROM)やRandom Access Memory(RAM)等である。
CPU46は、Operating System(OS)等の制御プログラム、及び主記憶装置45に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、補助記憶装置44から取得することができ、また実行結果等を格納することもできる。
具体的には、CPU46は、例えば入力装置41から得られるプログラムの実行指示等に基づき、補助記憶装置44にインストールされたプログラムを実行させることにより、主記憶装置45上でプログラムに対応する処理を行う。
例えば、CPU46は、サーバ11であれば、情報処理プログラムを実行させることで、上述した処理受付部21により各端末装置12からのリクエスト等の受け付け、コンテンツ取得部22によるコンテンツの取得、設計情報生成部23による設計情報の生成、鍵管理部24による鍵の管理、パッケージ部26によるパッケージ等の処理を行う。
例えば、CPU46は、端末装置12であれば、プログラムを実行させることで、起動制御部31による起動制御、サービス部32によるウェブサービス制御、アンパッケージ部33によるパッケージ化されたコンテンツのアンパッケージ、ダウンロード部34によるダウンロード、鍵管理部35による復号鍵の管理、ブラウザ部36によるブラウジング等の処理を行う。CPU46における処理内容は、上述した内容に限定されるものではない。CPU46により実行された内容は、必要に応じて補助記憶装置44等に記憶される。
ネットワーク接続装置47は、上述した通信ネットワーク13を介して、端末装置12や他の外部装置との通信を行う。ネットワーク接続装置47は、CPU46からの制御信号に基づき、通信ネットワーク13等と接続することにより、実行プログラムやソフトウェア、設定情報等を外部装置等から取得する。また、ネットワーク接続装置47は、プログラムを実行することで得られた実行結果を端末装置12等に提供したり、本実施形態における実行プログラム自体を外部装置等に提供してもよい。
記録媒体48は、上述したように実行プログラム等が格納されたコンピュータで読み取り可能な記録媒体である。記録媒体48は、例えばフラッシュメモリ等の半導体メモリやCD−ROM、DVD等の可搬型の記録媒体であるが、これに限定されるものではない。
図4に示すハードウェア構成に実行プログラム(例えば、情報処理プログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における表示制御処理等を実現することができる。
<本実施形態の概要について>
図3は、本実施形態の概要について説明するための図である。図3の例では、Operating System(OS)の異なる2つの端末装置12−1、12−2が示されている。OSとは、例えばAndroid(登録商標)やiOS(登録商標)、Windows(登録商標)等であるが、これに限定されるものではない。
本実施形態では、サーバ11から所定の形式(例えば、HTML5、CSS、Javascript(登録商標)、pdfやmp4等のファイル種別)で作成されたアプリケーション等のコンテンツ(データ)を、プラグインモジュールやアプリケーション制作プラットフォーム、コード(Your Code)等と共にパッケージ化する。また、本実施形態では、パッケージ化と共に暗号処理(暗号・圧縮)を行い、それぞれの端末装置12−1,12−2に対してコンテンツを配信(送信)する。
<ウェブアプリのパッケージ配信処理の例>
次に、本実施形態における情報処理の一例であるウェブアプリケーションのパッケージ配信処理の例について図を用いて説明する。
図4は、パッケージ配信の第1実施形態を示す図である。図4の例では、サーバ11がウェブアプリをパッケージする場合に、パッケージ部26は、端末装置12のアンパッケージ部33から端末装置12側の性能情報(例えば、ウェブ性能、ハードウェア性能)を取得する。ここで、取得する性能情報の一例としては、例えばウェブエンジンのバージョン、暗号アクセラレーションハードウェアの有無等であるが、これに限定されるものではない。例えば、サーバ11は、端末装置12に搭載されたOSの情報を取得し、取得したOSの情報に基づいて予め設定されたウェブ性能、ハードウェア性能を取得してもよい。
また、このとき端末装置12のアンパッケージ部33からは、ヘッダの書き込み位置に関する情報を取得し、取得した情報をパッケージ部26に出力する。
パッケージ部26は、端末装置12から得られた性能情報に対応させて、ウェブアプリのコンテンツ毎に暗号化処理及び圧縮処理によるパッケージを行う。図4の例では、「暗号化HTML5」、暗号化pdf、暗号化mp4等が生成される。この場合、パッケージ化したアプリに対する暗号ヘッダ情報を生成し、アンパッケージ部33(復号部)が指定するパッケージ内の場所(例えば、指定されたヘッダ書き込み位置)に書き込む。これにより、端末装置12は、指定した場所からヘッダ情報を読み出し、各コンテンツを復号して、ウェブエンジン等によりウェブアプリを実行することができる。なお、暗号ヘッダ情報の内容としては、例えば各コンテンツの暗号アルゴリズム名、初期化ベクタ等であるが、これに限定されるものではない。
<サーバ11が端末装置12から取得する情報の一例>
次に、上述したサーバ11が端末装置12から取得する情報の一例について、図を用いて説明する。図5は、端末装置から取得する情報の一例を示す図である。
本実施形態では、端末装置12から取得する情報(端末情報)として、例えば図5(A)、(B)に示すように、搭載OS、性能情報、ヘッダ書き込み位置を端末毎(例えば、端末1,2)に取得する。図5(A)、(B)とは、ヘッダの書き込みの情報が異なる。
搭載OSとは、例えばOSバージョン、型名、アプリケーション実行エンジン名等であるが、これに限定されるものではない。また、性能情報としては、例えばAES(128、256、標準)処理速度(MB/sec)とアンパッケージの動作モード、平文の処理速度等であるが、これに限定されるものではない。
また、アンパッケージの動作モードは、端末装置12のアンパッケージ部33をどの動作モードで動かしたときの数値であるかを示している。例えば、動作モード「1」は、例えば仮想マシン(Dalvic)上のみで暗号エンジンを実装した場合である。また、動作モード「2」は、例えばDalvicからJava(登録商標) Native Interface(JNI)経由で、OS上に実装されたOpenSSLライブラリを使用する場合である。なお、図5(A)には、示されていないが、動作モード「3」は、例えばDalvicからJNI経由で、AESのハードウェア機能を利用する場合という定義である。
性能情報は、端末装置12側でアンパッケージの動作モードを変えながら、1台1台初期インストール時に測定して、サーバ11側にその最高値を送信するパターンもあるが、搭載OSの内容を取得することで、おおよその値はサーバ11で把握できる場合が多い。したがって、搭載OSを取得できた場合には、性能情報は取得しなくてもよい。
サーバ11の設計情報生成部23は、取得した情報から、例えばAES128処理能力があるか否かを判断する。例えば、設計情報生成部23は、ウェブブラウザ上で、所定時間内(例えば、5秒等)で表示すると設定し、ファイルサイズ/AES128処理速度を算出して、その算出結果が5秒以内であれば処理能力があると判断し、なければ処理能力がないと判断する。
また、設計情報生成部23は、ストリーム読み出し性能があるか否かを判断してもよい。設計情報生成部23は、例えばファイルそのものに平均ビットレート(例えば、8MB/sec)が記載されている場合には、その値を基準に性能を判断することができる。例えば、その平均ビットレートの2倍値と、そのファイルの暗号アルゴリズムの処理速度とを比較し、例えばファイルがAES256で暗号化されることが決定されていれば、ある端末装置(例えば、端末1)の場合には、8MB/secで、平均ビットレートの2倍である16MB/secよりも小さいため、ストリーム読み出し性能がないと判断することができる。なお、性能情報の取得方法は、これに限定されるものではなく、他の性能情報(例えば、CPU稼働率やCPU負荷率、伝送速度)等を取得してもよい。
また、本実施形態では、図5(A)の例に示すように、ヘッダ書き込み情報として、ヘッダ書き込み位置を、パッケージやバイト数を基準に設定している。また、本実施形態では、図5(B)の例に示すように、ヘッダ書き込みパッケージとして、拡張子やファイル名を基準に設定してもよい。
次に、サーバ11及び端末装置12で本実施形態として実行される各処理について説明する。
<端末装置12の登録処理>
まず、本実施形態を実現するためのサーバ11における端末装置12の登録処理についてシーケンス図を用いて説明する。図6は、登録処理の一例を示すシーケンス図である。図6の例では、端末装置12側の起動制御部31と、鍵管理部35と、サーバ11側の鍵管理部24とを有するがこれに限定されるものではない。
起動制御部31は、アプリケーションを起動し(S01)、起動要求の中にサーバ11の名称(アドレス情報等)が入っているか否かを判断する(S02)。起動要求の中にサーバ名が入っている場合(S02において、YES)、鍵管理部35は、すでにサーバ11と情報交換済みか否かを判断する(S03)。
サーバ11と情報交換済みでない場合(S03において、NO)、鍵管理部35は、端末情報を取得し(S04)、登録依頼をサーバ11に送信する(S05)。なお、端末情報とは、上述した性能情報やヘッダの書き込み位置等であるが、これに限定されるものではない。
サーバ11側の鍵管理部24は、端末装置12からの登録依頼を受け付けて、端末ID、暗号鍵を生成し、端末ID、暗号鍵、性能を含むデータを記憶する等の登録処理を行う(S06)。登録後、鍵管理部24は、完了情報を発行し、端末ID及び暗号鍵を端末装置12に送信する(S07)。
端末装置12の鍵管理部35は、登録完了処理として、サーバ名、端末ID、鍵情報、ヘッダ書き込み位置を含むデータを記憶部37等に記憶する(S08)。
なお、S02の処理において、起動要求の中にサーバ名が入っていない場合(S02において、NO)、又はS03の処理において、すでに情報交換済みである場合(S03において、YES)、そのまま登録処理を終了する。
<コンテンツ要求処理>
図7は、コンテンツ要求処理の一例を示すフローチャートである。図7の例において、起動制御部31は、ユーザの指示等によりコンテンツ(例えば、サービス名等)が選択されると(S11)、端末装置12内にあるコンテンツであるか否かを記憶部37に検索する(S12)。記憶部37には、サーバ名(例えば、128.10.27.1)、コンテンツ名(例えば、Service名/index.html)、パッケージ名(abc.epkg1)等が管理されている。この中から該当するコンテンツがあるか否かを選択する。
ここで、起動制御部31は、サーバ11が登録済みであるか否かを判断し(S13)、登録済みでない場合(S13において、NO)、上述した登録処理を行う(S14)。また、起動制御部31は、サーバ11が登録済みである場合(S13において、YES)、コンテンツ名が存在するか否かを判断する(S15)。コンテンツ名が存在しない場合(S15において、NO)、サーバ11にコンテンツ要求を行う(S16)。また、コンテンツ名が存在する場合(S15において、YES)、又はS16の処理後、起動制御部31は、コンテンツを起動する(S17)。
<パッケージ取得処理>
図8は、パッケージ取得処理の一例を示すシーケンス図である。図8の例では、端末装置12の起動制御部31、ダウンロード部34と、サーバ11の処理受付部21、設計情報生成部23、パッケージ部26、パッケージ送信部27を示している。
図8の例において、起動制御部31は、コンテンツ要求を行うと(S21)、ダウンロード部34は、要求タスクを生成し(S22)、サーバ11へ依頼(リクエスト)を行う(S23)。この場合、サーバ11に端末ID及びコンテンツ名等を送信するが、これに限定されるものではない。
次に、サーバ11の処理受付部21は、依頼内容に基づいてパッケージタスクを生成する(S24)。設計情報生成部23は、端末IDに対応する性能情報を取得して設計情報を生成する(S25)。次に、パッケージ部26は、生成された設計情報に基づいてコンテンツを取得し(S26)、暗号鍵やヘッダ書き込み位置等に基づいて暗号処理を行う(S27)。
次に、パッケージ部26は、パッケージングを行う(S28)。パッケージ送信部27は、S28の処理により得られたパッケージを端末装置12に送信する(S29)。
端末装置12のダウンロード部34は、データチェックを行い、データがサーバ11から届いているか(Ready状態か)否かを判断し(S31)。Ready状態になるまで待機する。また、Ready状態になった場合(S31において、YES)、データを受信する(S32)。次に、ダウンロード部34は、受信完了か否かを判断し(S33)、受信完了でない場合(S33において、NO)、受信が完了するまで繰り返し受信を行う。また、ダウンロード部34は、受信が完了した場合(S33において、YES)、パッケージを保存して受信を完了し(S34)。起動制御部31に受信完了を通知する。
<設計情報生成処理の一例>
図9は、設計情報生成処理の一例を示すフローチャートである。図9の例は、上述したS25の処理に対応する。図9の例において、設計情報生成部23は、ファイルを読み出し(S41)、読み出したファイルが情報漏洩対策対象か否かを判断する(S42)。
S42の処理では、例えばコンテンツ名(ファイル種別)毎に情報漏洩対策対象か否かが予め設定情報として記憶されており、例えばhtmlファイルであれば、システム側で設定することができ、pdfファイルやmp4ファイルであれば、情報漏洩対策対象であると設定することができ、jsファイルやcssファイルであれば、情報漏洩対策対象でない(openである)と判断することができる。なお、これに限定されるものではなく、例えば、pdfファイルであってもそのファイル名毎に情報漏洩対策対象か否かを設定することができる。例えば「A.pdf」は情報漏洩対策対象であり、「B.pdf」は情報漏洩対策対象でない等である。
S42の処理において、読み出したファイルが情報漏洩対策対象である場合(S42において、YES)、設計情報生成部23は、例えば暗号アルゴリズム(AES256)を適用(選択)する(S43)。また、読み出したファイルが情報漏洩対策対象でない場合(S42において、NO)、システムに任せる設定であるか否かを判断する(S44)。システムに任せる判断である場合(S44において、YES)、設計情報生成部23は、暗号アルゴリズム(AES128)の処理能力があるか否かを判断し(S45)、処理能力がある場合(S45において、YES)、AES128を適用する(S46)。また、設計情報生成部23は、AES128の処理能力がない場合(S45において、NO)、AES256やAES128のような高暗号化ではない暗号アルゴリズム(標準暗号)を適用する(S47)。また、設計情報生成部23は、S44の処理において、システムに任せる設定でない場合(S44において、NO)、暗号なしを適用する。
これにより、設計情報生成部23は、暗号アルゴリズムを決定する(S49)。次に、設計情報生成部23は、ストリーム読み出しが行われる可能性があるフォーマットか否かを判断し(S50)、ストリーム読み出しが行われる可能性があるフォーマットである場合(S50において、YES)、ストリーム読み出し性能があるか否かを判断する(S51)。
設計情報生成部23は、ストリーム読み出し性能がある場合(S51において、YES)、無圧縮とする(S52)。また、設計情報生成部23は、ストリーム読み出し性能がない場合(S51において、NO)、又はS50の処理において、ストリーム読み出しが行われる可能性があるフォーマットでない場合(S50において、NO)、圧縮を行う(S53)。これにより、設計情報生成部23は、圧縮アルゴリズムを決定し(S54)、決定した暗号アルゴリズム及び圧縮アルゴリズムを用いて設計情報(Enctype.xml)を生成する(S55)。
ここで、図10は、設計情報の一例を示す図である。図10の例に示す設計情報(Enctype.xml)には、コンテンツ毎にアンパッケージの動作モードが設定されている。したがって、この設計情報を用いることで、パッケージ処理を行うことができる。なお、図10の例に示すファイルは一例であり、これに限定されるものではない。
<パッケージ部26におけるパッケージ処理例>
図11は、パッケージ処理の一例を示すフローチャートである。図11の例において、パッケージ部26は、コンテンツを取得し(S61)、空パッケージを生成し、メモリを確保する(S62)。次に、パッケージ部26は、コンテンツを構成するファイルの読み出しを行い(S63)、そのファイルは設計情報に記載されているか否かを判断する(S64)。
パッケージ部26は、設計情報に記載されていない場合(S64において、NO)、S63の処理に戻る。また、パッケージ部26は、設計情報に記載されている場合(S64において、YES)、設計情報に記載のアルゴリズムで暗号・圧縮し、パッケージに追加し、ヘッダ情報はメモリ等に保存する(S65)。
ここで、パッケージ部26は、全てのファイルを読み出したか否かを判断し(S66)、全てのファイルを読み出していない場合(S66において、NO)、S63の処理に戻る。また、S66において、全てのファイルを読み出した場合(S66において、YES)、メモリ上にあるヘッダを暗号化し、パッケージ内の指定された場所に書き込む(S67)。
<第1実施形態で得られるパッケージ化データ例>
次に、第1実施形態で得られるパッケージ化データ例について、図を用いて説明する。なお、以下の説明では、従来手法との差を明確にするため、従来手法でのパッケージ化データも用いて説明する。図12は、従来手法でのパッケージ化データ例を示す。また、図13は、第1実施形態でのパッケージ化データ例を示す。
図12(A)に示すように、従来の暗号ラッピングの代表的な方式は、暗号化ZIP方式である。暗号化ZIP方式は、1つのパスワードと、初期化ベクタから生成された暗号鍵とを用いて、それぞれのコンテンツを暗号化している。
その場合、図12(B)に示すように、パッケージの暗号強度は、パッケージ内に入っている重要データに応じて決定される。その結果、重要度の高いデータが入っているパッケージほどパフォーマンスが低下し、ユーザにとって利便性が悪い。
そこで、第1実施形態では、図13(A)に示すように、1つの暗号ラッピングの中に、データの重要度に応じて、暗号アルゴリズムを選択してパッケージング及び暗号・圧縮処理を行う。これにより、図13(A)に示すように、重要data.pdfと、それ以外のデータで異なる読み出し速度(重要data.pdf以外のデータの方が高速読み出し)となり、ウェブアプリの体感速度が向上する。
例えば、端末装置12は、図13(B)に示すように、パッケージ形式を用いて暗号・圧縮を行う。なお、図13(B)の例では、暗号化ヘッダの場所が、端末装置12と、サーバ11との間で、ファイル最後尾と合意された場合のパッケージ形式を示している。各ファイルデータ(File data)のヘッダには、例えば全て0(All 0’s)が設定されるが、これに限定されるものではなく、適当な乱数が設定されていてもよい。また、図13(B)に示すZIPフォーマットでは、暗号アルゴリズム(暗号パラメータ)が高強度で暗号化されている。
図13(B)の例では、端末装置12のアンパッケージ部33は、例えばヘッダサイズ分の内部メモリを確保し、パッケージパスワードで復号する。また、アンパッケージ部33は、復号したヘッダ情報から、読み出したいファイル名やファイルデータのポインタを読み出し、そのポインタからファイルを復号して取得する。
<コンテンツ再生用のURLの生成例>
ここで、端末装置12におけるコンテンツ再生用のURLの生成処理について図を用いて説明する。図14は、コンテンツ再生用のURLの生成例を示すシーケンス図である。図14の例では、起動制御部31と、鍵管理部35と、サービス部32と、ブラウザ部36とを有する。
図14の例において、コンテンツを再生する場合には、起動制御部31は、乱数からCookieを生成し(S71)、サービス部32に、コンテンツ再生用URL生成の依頼を行う(S72)。なお、Cookieとは、サーバ11等から取得したデータを、ウェブブラウザを通じて端末装置12内に一時的にデータを書き込んで保存させる仕組みをいう。
サービス部32は、起動制御部31からの依頼及びCookieを受け取り(S73)、ブラウザがコンテンツ再生を行うために使用するURLを生成する(S74)。次に、サービス部32は、生成したURLを起動制御部31に通知する(S75)。通知するURLとしては、例えば「10.0.0.1:8009/service/index.html」等であるが、これに限定されるものではない。
次に、起動制御部31は、鍵管理部35に取得した情報を通知する(S76)。鍵管理部35は、起動制御部31から得られたCookieとURLとをコンテンツと関連づけて記憶部等に保存する(S77)。また、起動制御部31は、コンテンツ再生依頼(URLとCookieを通知する(S78)。ブラウザ部36は、Cookieを保存し、指定されたURLにアクセスする(S79)。
<端末装置12における復号処理の一例>
次に、端末装置12における復号処理の一例について、図を用いて説明する。図15は、端末装置における復号処理の一例を示すシーケンス図である。なお、図15の例では、ブラウザ部36と、サービス部32と、鍵管理部35と、アンパッケージ部33とを有する。
図15の例において、ブラウザ部36は、ユーザの指示等により、サービス部32に対してコンテンツ要求(例えば、10.0.0.1:8009/service/index.html)を行う(S81)。サービス部32は、ブラウザ部36からの要求を受け取り(S82)、Cookie情報のチェックを行う(S83)。サービス部32は、鍵管理部35に対してcookie情報をチェックするための問い合わせを行う(S84)。
鍵管理部35は、ブラウザ部36からの要求cookieと、service(サービス)名の関連性が正しいかをチェックし(S85)、そのチェック結果をサービス部32に通知する(S86)。
サービス部32は、チェックの結果がOKであるか否かを判断し(S87)、関連性が正しくない場合(S87において、NO)、アクセス負荷の応答をブラウザ部36に出力する。また、サービス部32は、チェックの結果がOKである場合(S87において、YES)、アンパッケージ部33に要求しているコンテンツ名を通知する(S88)。
アンパッケージ部33は、サービス部32から要求のあったコンテンツを検索し(S89)、受信済みであるか否かを判断する(S90)。アンパッケージ部33は、受信済みである場合(S90において、YES)、そのコンテンツを鍵管理部35に送信する。鍵管理部35は、コンテンツに対応する暗号鍵、読み出しヘッダ位置、パッケージ名等から復号処理を行い(S91)、OKデータをブラウザ部36に出力してコンテンツの再生を行う(S92)。また、S90の処理において、要求されたコンテンツが受信済みでない場合(S90において、NO)、アンパッケージ部33は、ダウンロード部34等にサーバ11からパッケージング済みコンテンツが送られてきたかを確認し(S93)、待ち(Wait)情報をブラウザ部36に通知すると共に(S94)、S89の検索に戻る(S95)。
図16は、ダウンロード状況の一例を示す図である。端末装置12のアンパッケージ部33は、図16に示すように、「コンテンツ名」、「パッケージ名」、「受信済みフラグ」等の項目等を有するダウンロード状況データを管理する。上述したS89の検索処理では、コンテンツ名等を検索キーとして「受信済みフラグ」のデータ(「済(受信済み)」or「未(未受信)」)を参照してダウンロード状況を取得する。
<パッケージ配信の第2実施形態>
次に、パッケージ配信の第2実施形態について、図を用いて説明する。図17は、パッケージ配信の第2実施形態を示す図である。
図17に示す第2実施形態では、端末装置12側とネゴシエーションして得られた性能情報に対応させた暗号アルゴリズムの種別(暗号アルゴリズム名)毎にコンテンツを分割し、分割したそれぞれをコンテンツに応じた暗号アルゴリズムで暗号処理を行う。また、第2実施形態では、暗号処理する場合に、暗号処理負荷(例えば、コンテンツサイズ×暗号処理時間/MB)を算出し、負荷が少ないコンテンツから暗号ラッピングして端末装置12側に送信していくことで、配信遅延を短縮し、コンテンツの読み出しパフォーマンスを向上させる。
図17の例では、暗号ヘッダの暗号アルゴリズム(強度高)を最初に配信し、その後、分割された暗号アルゴリズムA〜Cが暗号処理負荷等に対応させて所定の順序で配信される。端末装置12は、第1実施形態と同様に、指定した場所からヘッダ情報を読み出し、各コンテンツを復号することができ、ウェブエンジン等を用いてウェブブラウザで表示することができる。
ここで、第2実施形態におけるサーバ11及び端末装置の機能構成及びハードウェア構成等については、上述した第1実施形態と同内容のものを用いることができるため、ここでの具体的な説明は省略する。また、以下の説明では、上述した第1実施形態との差が生じる部分を説明し、共通の処理を行う部分については、説明を省略する。
<第2実施形態におけるパッケージ処理の一例>
図18は、第2実施形態におけるパッケージ処理の一例を示すフローチャートである。図18の例において、パッケージ部26は、コンテンツ取得部22により取得されたコンテンツを取得し(S101)、設計情報に基づいて、例えば暗号アルゴリズム名毎に、ファイルをグループ分けし、パッケージ名を決定する(S102)。
次に、パッケージ部26は、空パッケージを生成し、メモリを確保し(S103)、コンテンツを構成するファイルを読み出す(S104)。ここで、パッケージ部26は、そのファイルが設計情報に記載されているか否かを判断し(S105)、設計情報に記載されていない場合(S105において、NO)、S104の処理に戻り、次のファイルを読み出す。また、パッケージ部26は、設計情報に記載されている場合(S105において、YES)、設計情報記載のアルゴリズムで暗号・圧縮するためのヘッダ情報を生成し、ファイルサイズから暗号・圧縮にかかる予想時間を計算し、ヘッダ情報と共にメモリに保存する(S106)。
ここで、パッケージ部26は、全てのファイルを読み出したか否かを判断し(S107)、全てのファイルを読み出していない場合(S107において、NO)、S104の処理に戻り、未だ読み出していないファイルを読み出す。また、全てのファイルを読み出した場合(S107において、YES)、メモリ上にあるヘッダ(例えば、暗号パラメータ、ファイル名、ファイル毎のパッケージ名)を端末IDに対応する暗号鍵等を用いて暗号化してファイルに保存する(S108)。
図19は、第2実施形態におけるデータ例を示す図である。図19の例では、S106の処理において、メモリに保存されるデータ例を示している。図19のデータの項目としては、例えば「ファイル名」、「暗号パラメータ(アルゴリズム、初期ベクタ)」、「圧縮パラメータ」、「ファイル毎の暗号鍵」、「予想時間」、「パッケージ名」等であるが、これに限定されるものではない。
第2実施形態では、ファイル名毎に暗号・圧縮にかかる予想時間を生成し、それぞれの予想時間に基づいて、例えば時間の短い(負荷が少ない)コンテンツから暗号ラッピングを行う。
<第2実施形態におけるパッケージ後の送信処理の一例>
第2実施形態におけるパッケージ後の送信処理の一例を示すフローチャートである。図20の例において、パッケージ部26は、端末ID等に対応させてヘッダ書き込みを行うファイルを読み出し、メモリ上にあるヘッダ情報を読み出し、そのパラメータに基づいて暗号化を行い、パッケージに追加し、暗号化ヘッダをパッケージに追加する(S112)。次に、パッケージ部26は、生成したパッケージの保存場所、分割数(=生成する予定のパッケージ数)をパッケージ送信部27等により端末装置12に送信させる(S113)。
次に、パッケージ部26は、メモリ上にある予想時間の短いファイルから読み出し(S114)、事前に決定したファイル名に応じたパッケージ名を生成する(S115)。次に、パッケージ部26は、メモリ上にあるヘッダ情報を読み出し、そのパラメータに基づいて暗号化を行い、パッケージに追加する(S116)。
次に、パッケージ部26は、メモリ上にある生成したパッケージの保存場所をパッケージ送信部27等により端末装置12に送信させる(S117)。
ここで、パッケージ部26は、全てのファイルを読み出したか否かを判断し(S118)、全てのファイルを読み出してない場合(S118において、NO)、S114の処理に戻り、未だ読み出していないファイルを読み出す。また、パッケージ部26は、全てのファイルを読み出した場合(S118において、YES)、処理を終了する。
これにより、第2実施形態では、配信遅延を短縮し、コンテンツの読み出しパフォーマンスを向上させることができる。
上述したように、本実施形態によれば、コンテンツ読み出し速度を向上させることができる。例えば、パッケージ内に入っているコンテンツ毎に端末装置12側とネゴシエーションした暗号・圧縮アルゴリズムで処理し、ネゴシエーションしたパラメータ及び暗号・圧縮アルゴリズムをコンテンツ毎に適用する際のパラメータを、端末装置12側が指定した場所に暗号化して保存することで、コンテンツ読み出しパフォーマンスを向上させる。したがって、本実施形態によれば、コンテンツ毎に、端末性能と情報漏洩リスクを考慮した保護レベルを選択できるようになり、ウェブアプリケーションの体感速度が向上する。
また、本実施形態によれば、パッケージ復号機能の端末装置への最適化と、復号能力とデータ特性とに応じてパッケージ最適化を行うことができる。
なお、上述した実施形態では、ウェブアプリの配信における暗号化について説明したが、これに限定されるものではなく、他のアプリケーションや各種データの配信においても同様に適用することができる。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
情報処理装置が、
複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を取得し、
取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、
前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、
前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶する、ことを特徴とする暗号化方法。
(付記2)
前記性能情報は、
前記ウェブブラウザの性能情報及び前記端末装置のハードウェアの性能情報のうち、少なくとも1つを含むことを特徴とする付記1に記載の暗号化方法。
(付記3)
前記復号部が指定するパッケージ内の場所は、前記パッケージ化されたウェブアプリケーションを配信するデータのヘッダ書き込み位置を含むことを特徴とする付記1又は2に記載の暗号化方法。
(付記4)
取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に圧縮アルゴリズムを選択し、
前記コンテンツ毎に選択した圧縮アルゴリズムを用いて圧縮処理を実行することを特徴とする付記1乃至3の何れか3項に記載の暗号化方法。
(付記5)
前記端末装置から得られた前記性能情報に対応させた暗号アルゴリズムの種別毎に前記コンテンツを分割し、分割したそれぞれのコンテンツを暗号化処理することを特徴とする付記1乃至4の何れか1項に記載の暗号化方法。
(付記6)
前記分割したそれぞれのコンテンツの暗号処理負荷を算出し、算出結果に対応した所定の順序で前記暗号化処理を行うことを特徴とする付記5に記載の暗号化方法。
(付記7)
前記暗号処理負荷が少ないコンテンツから順番に前記暗号化処理を行うことを特徴とする付記6に記載の暗号化方法。
(付記8)
複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を取得し、
取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、
前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、
前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶する、処理をコンピュータに実行させる情報処理プログラム。
(付記9)
複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を受け付ける受付部と、
受付部から取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶するパッケージ部とを有することを特徴とする情報処理装置。
10 情報処理システム
11 サーバ(情報処理装置)
12 端末装置
13 通信ネットワーク
21 処理受付部(受付部)
22 コンテンツ取得部
23 設計情報生成部
24,35 鍵管理部
25 コンテンツ保存部
26 パッケージ部
27 パッケージ送信部
31 起動制御部
32 サービス部
33 アンパッケージ部
34 ダウンロード部
36 ブラウザ部
37 記憶部
41 入力装置
42 出力装置
43 ドライブ装置
44 補助記憶装置
45 主記憶装置
46 CPU
47 ネットワーク接続装置
48 記録媒体

Claims (7)

  1. 情報処理装置が、
    複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を取得し、
    取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、
    前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、
    前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶する、ことを特徴とする暗号化方法。
  2. 前記性能情報は、
    前記ウェブブラウザの性能情報及び前記端末装置のハードウェアの性能情報のうち、少なくとも1つを含むことを特徴とする請求項1に記載の暗号化方法。
  3. 取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に圧縮アルゴリズムを選択し、
    前記コンテンツ毎に選択した圧縮アルゴリズムを用いて圧縮処理を実行することを特徴とする請求項1又は2に記載の暗号化方法。
  4. 前記端末装置から得られた前記性能情報に対応させた暗号アルゴリズムの種別毎に前記コンテンツを分割し、分割したそれぞれのコンテンツを暗号化処理することを特徴とする請求項1乃至3の何れか1項に記載の暗号化方法。
  5. 前記分割したそれぞれのコンテンツの暗号処理負荷を算出し、算出結果に対応した所定の順序で前記暗号化処理を行うことを特徴とする請求項4に記載の暗号化方法。
  6. 複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を取得し、
    取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、
    前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、
    前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶する、処理をコンピュータに実行させる情報処理プログラム。
  7. 複数種類のコンテンツを含むパッケージ化されたウェブアプリケーションを暗号化して配信する際、配信先の端末装置の性能情報を受け付ける受付部と、
    受付部から取得した前記性能情報に基づいて、パッケージ内のコンテンツ毎に暗号アルゴリズムを選択し、前記コンテンツ毎に選択した暗号アルゴリズムを用いて暗号化処理を実行し、前記コンテンツを暗号化するのに用いた暗号アルゴリズムに関する情報を端末装置のウェブブラウザと関連づけられている復号部が指定するパッケージ内の場所に暗号処理して記憶するパッケージ部とを有することを特徴とする情報処理装置。
JP2014169946A 2014-08-22 2014-08-22 暗号化方法、情報処理プログラム、及び情報処理装置 Active JP6340996B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014169946A JP6340996B2 (ja) 2014-08-22 2014-08-22 暗号化方法、情報処理プログラム、及び情報処理装置
US14/791,652 US9716694B2 (en) 2014-08-22 2015-07-06 Encryption method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014169946A JP6340996B2 (ja) 2014-08-22 2014-08-22 暗号化方法、情報処理プログラム、及び情報処理装置

Publications (2)

Publication Number Publication Date
JP2016046688A true JP2016046688A (ja) 2016-04-04
JP6340996B2 JP6340996B2 (ja) 2018-06-13

Family

ID=55349289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014169946A Active JP6340996B2 (ja) 2014-08-22 2014-08-22 暗号化方法、情報処理プログラム、及び情報処理装置

Country Status (2)

Country Link
US (1) US9716694B2 (ja)
JP (1) JP6340996B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101860129B1 (ko) * 2016-06-10 2018-05-21 비비엠씨 (주) 플레이어의 보안 장치 및 이를 포함하는 스트리밍 보안 시스템
KR20190036133A (ko) * 2017-09-27 2019-04-04 건국대학교 산학협력단 IoT 환경의 LoRa 디바이스에서 선택적 암호화 적용을 통한 보안성 강화 방법 및 이를 수행하는 장치들

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102249826B1 (ko) * 2015-01-06 2021-05-11 삼성전자주식회사 데이터 관리 방법 및 이를 수행하는 전자 장치
CN105898740A (zh) * 2016-06-12 2016-08-24 Tcl集团股份有限公司 一种基于移动设备通讯的信息加密解密方法及系统
CN107992761B (zh) * 2016-10-27 2021-02-26 北京京东尚科信息技术有限公司 增强pdf文档内容安全性的方法和系统
CN108337566B (zh) * 2017-01-20 2021-06-29 创盛视联数码科技(北京)有限公司 一种基于mp4格式文件的加密方法
JP6572926B2 (ja) 2017-03-17 2019-09-11 富士ゼロックス株式会社 ドキュメント管理システム
CN110430573A (zh) * 2019-07-31 2019-11-08 维沃移动通信有限公司 一种信息认证方法、电子设备及网络侧设备
CN111835726B (zh) * 2020-06-12 2023-07-11 珠海莲鸿科技有限公司 一种多通信线路动态加密通信方法、存储介质和通信设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326233A (ja) * 1997-03-03 1998-12-08 Toshiba Corp 分散ネットワークコンピューティングシステム、同システムに用いられる情報交換装置、情報交換方法、及び記憶媒体
JP2003198525A (ja) * 2001-12-27 2003-07-11 Victor Co Of Japan Ltd コンテンツの暗号化方法及び暗号化コンテンツの再生方法
US6594707B1 (en) * 1999-09-15 2003-07-15 3Com Corporation Smart communication agent
JP2004104181A (ja) * 2002-09-04 2004-04-02 Kenwood Corp 情報伝送システム、データ処理装置、暗号化処理装置、情報伝送方法及びプログラム
JP2004524634A (ja) * 2001-04-13 2004-08-12 松下電器産業株式会社 コンテンツ記録/再生装置及び、コンテンツ記録/再生を行うプログラムを格納した記録媒体
US20050081034A1 (en) * 2001-03-09 2005-04-14 Pkware, Inc. Method and system for asymmetrically encrypting .ZIP files
JP2015197743A (ja) * 2014-03-31 2015-11-09 富士通株式会社 情報処理装置、情報処理システム、プログラムおよび処理方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5070528A (en) * 1990-06-29 1991-12-03 Digital Equipment Corporation Generic encryption technique for communication networks
US5822434A (en) * 1996-06-19 1998-10-13 Sun Microsystems, Inc. Scheme to allow two computers on a network to upgrade from a non-secured to a secured session
CA2182254C (en) 1996-07-29 2000-02-15 Weidong Kou Generic file format for multiple security requirements
DE69918284T2 (de) 1998-04-17 2005-07-14 Iomega Corp., Roy System um geschützte, verschlüsselte elektronische daten zu einem speziellen speichermedium zu senden und um unberechtigtes kopieren zu verhindern
US7219223B1 (en) * 2002-02-08 2007-05-15 Cisco Technology, Inc. Method and apparatus for providing data from a service to a client based on encryption capabilities of the client
JP4284060B2 (ja) 2002-12-18 2009-06-24 株式会社日立製作所 分散システムおよびサービス授受環境形成方法
JP4433379B2 (ja) 2003-11-27 2010-03-17 ソニー株式会社 コンテンツ配信装置および方法、記録媒体、並びにプログラム
US20070036358A1 (en) * 2005-08-10 2007-02-15 Nguyen Bao T Secure and automatic configuration of wireless networks
US8687804B2 (en) * 2006-11-01 2014-04-01 Microsoft Corporation Separating control and data operations to support secured data transfers
US8661252B2 (en) * 2008-06-20 2014-02-25 Microsoft Corporation Secure network address provisioning
US8934625B2 (en) * 2009-03-25 2015-01-13 Pacid Technologies, Llc Method and system for securing communication
TW201040781A (en) * 2009-03-25 2010-11-16 Pacid Technologies Llc System and method for protecting a secrets file
US9077709B1 (en) * 2012-01-31 2015-07-07 Teradici Corporation Method for authenticated communications incorporating intermediary appliances
US9231820B2 (en) * 2012-09-28 2016-01-05 Juniper Networks, Inc. Methods and apparatus for controlling wireless access points
US9473875B2 (en) * 2014-03-06 2016-10-18 Ricoh Co., Ltd. Asymmetric wireless system
US9742738B2 (en) * 2014-06-17 2017-08-22 Cisco Technology, Inc. Method and apparatus for enforcing storage encryption for data stored in a cloud

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10326233A (ja) * 1997-03-03 1998-12-08 Toshiba Corp 分散ネットワークコンピューティングシステム、同システムに用いられる情報交換装置、情報交換方法、及び記憶媒体
US6594707B1 (en) * 1999-09-15 2003-07-15 3Com Corporation Smart communication agent
US20050081034A1 (en) * 2001-03-09 2005-04-14 Pkware, Inc. Method and system for asymmetrically encrypting .ZIP files
JP2004524634A (ja) * 2001-04-13 2004-08-12 松下電器産業株式会社 コンテンツ記録/再生装置及び、コンテンツ記録/再生を行うプログラムを格納した記録媒体
JP2003198525A (ja) * 2001-12-27 2003-07-11 Victor Co Of Japan Ltd コンテンツの暗号化方法及び暗号化コンテンツの再生方法
JP2004104181A (ja) * 2002-09-04 2004-04-02 Kenwood Corp 情報伝送システム、データ処理装置、暗号化処理装置、情報伝送方法及びプログラム
JP2015197743A (ja) * 2014-03-31 2015-11-09 富士通株式会社 情報処理装置、情報処理システム、プログラムおよび処理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"モバイルアプリ開発の新潮流 従来の常識にとらわれるな 使用性高める三つの新発想", 日経SYSTEMS, JPN6018012063, 26 July 2013 (2013-07-26), pages 26 - 29, ISSN: 0003778035 *
ITO, H., ET AL.: "Secure Managed Application and Execution Platform Technology for Smart Devices", FUJITSU SCIENTIFIC & TECHNICAL JOURNAL, vol. 50, no. 1, JPN6018012064, January 2014 (2014-01-01), pages 46 - 51, ISSN: 0003778036 *
矢崎 孝一ほか: "データ特性に最適化したHTML5アプリケーションのパッケージ方式", コンピュータセキュリティシンポジウム2014 (CSS 2014) 論文集, vol. 2014, no. 2, JPN6018012067, 15 October 2014 (2014-10-15), pages 78 - 83, ISSN: 0003778037 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101860129B1 (ko) * 2016-06-10 2018-05-21 비비엠씨 (주) 플레이어의 보안 장치 및 이를 포함하는 스트리밍 보안 시스템
KR20190036133A (ko) * 2017-09-27 2019-04-04 건국대학교 산학협력단 IoT 환경의 LoRa 디바이스에서 선택적 암호화 적용을 통한 보안성 강화 방법 및 이를 수행하는 장치들
KR102104703B1 (ko) * 2017-09-27 2020-04-24 건국대학교 산학협력단 IoT 환경의 LoRa 디바이스에서 선택적 암호화 적용을 통한 보안성 강화 방법 및 이를 수행하는 장치들

Also Published As

Publication number Publication date
US20160057113A1 (en) 2016-02-25
US9716694B2 (en) 2017-07-25
JP6340996B2 (ja) 2018-06-13

Similar Documents

Publication Publication Date Title
JP6340996B2 (ja) 暗号化方法、情報処理プログラム、及び情報処理装置
EP3606003B1 (en) Securely storing content within public clouds
US9632851B1 (en) Secure inter-process communications for mobile devices
KR101465966B1 (ko) 클라우드 환경에서의 데이터 암호화 처리 장치 및 방법
CN110178136A (zh) 现场可编程门阵列程序的签名验证
US9185081B2 (en) Format friendly encryption
TWI709093B (zh) 基於掃碼操作的頁面存取方法、裝置及系統
US10936581B2 (en) Blockchain transaction processing method and apparatus
JP7445358B2 (ja) セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール
WO2022161182A1 (zh) 基于数据流的可信计算的方法及装置
CN111193725B (zh) 一种基于配置的联合登录方法、装置和计算机设备
CN111163095A (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
CN111611606B (zh) 文件加密、解密方法和装置
US10903989B2 (en) Blockchain transaction processing method and apparatus
EP3221814B1 (en) Transparent execution of secret content
CN103885725B (zh) 一种基于云计算环境的虚拟机访问控制系统及其控制方法
US20120144500A1 (en) Method and apparatus for protecting data using a virtual environment
US10049222B1 (en) Establishing application trust levels using taint propagation
US11017029B2 (en) Data transfer system, data transfer apparatus, data transfer method, and computer-readable recording medium
US20230179404A1 (en) Hybrid cloud-based security service method and apparatus for security of confidential data
US20230088124A1 (en) Systems and methods for securely processing content
US11283604B2 (en) Sharing encrypted data with enhanced security by removing unencrypted metadata
US10140429B2 (en) Unified digital rights management for heterogenous computing platforms
CN111130788B (zh) 数据处理方法和系统、数据读取方法和iSCSI服务器
KR101945687B1 (ko) 하이브리드 클라우드를 이용한 전자 문서 관리 시스템 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180430

R150 Certificate of patent or registration of utility model

Ref document number: 6340996

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150