(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-19
(45)【発行日】2024-03-28
(54)【発明の名称】ウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供方法
(51)【国際特許分類】
G06F 21/10 20130101AFI20240321BHJP
【FI】
G06F21/10
(21)【出願番号】P 2022570134
(86)(22)【出願日】2020-10-28
(86)【国際出願番号】 KR2020014838
(87)【国際公開番号】W WO2022080547
(87)【国際公開日】2022-04-21
【審査請求日】2022-11-16
(31)【優先権主張番号】10-2020-0133766
(32)【優先日】2020-10-15
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】517230367
【氏名又は名称】ディーアールエムインサイド カンパニーリミテッド
(74)【代理人】
【識別番号】100114627
【氏名又は名称】有吉 修一朗
(74)【代理人】
【識別番号】100182501
【氏名又は名称】森田 靖之
(74)【代理人】
【識別番号】100175271
【氏名又は名称】筒井 宣圭
(74)【代理人】
【識別番号】100190975
【氏名又は名称】遠藤 聡子
(72)【発明者】
【氏名】キム テヒョン
(72)【発明者】
【氏名】イ ホンソブ
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特開2014-171061(JP,A)
【文献】特表2017-513077(JP,A)
【文献】特開2014-160353(JP,A)
【文献】米国特許出願公開第2016/0371473(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/10
(57)【特許請求の範囲】
【請求項1】
ユーザー端末のウェブブラウザにHTML基盤の原本コンテンツを配布するサービス提供装置のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システムにおいて、
前記サービス提供装置は、前記原本コンテンツを構成する複数の原本文字をもとにして、一つ以上のガベージ文字を生成して保存する
ことができ;
前記サービス提供装置は、あらかじめ保存された複数のガベージ文字のうち、ランダムに選ばれた一つ以上のガベージ文字を前記原本コンテンツに挿入して、前記原本コンテンツを難読化したセキュリティコンテンツを生成する
ことができ;
前記サービス提供装置は、ウェブブラウザで提供するAPIのうち、前記セキュリティコンテンツを前記原本コンテンツに復元するための一つ以上の関数を呼び出すセキュリティモジュールを生成して、前記原本コンテンツと関連の一つ以上の機能を実行するためにAPI基盤システム関数を呼び出す呼び出し元が一つ以上含まれたカスタムモジュール生成時、前記セキュリティモジュールを介して前記カスタムモジュールに含まれた一つ以上の呼び出し元別に、ハッシュ情報と関数名とがマッチングして含まれたクレデンシャル情報を生成した後、暗号化して前記カスタムモジュールに挿入し、前記セキュリティモジュールおよびカスタムモジュールを前記セキュリティコンテンツに挿入する
ことができ;および
前記サービス提供装置は、前記ウェブブラウザから前記原本コンテンツの配布要請を受信時、前記ウェブブラウザのAPIにおけるフックを介して、前記ウェブブラウザで前記システム関数を呼び出す呼び出し元
が、前記セキュリティモジュールにあらかじめ定義された呼び出し元ではない
場合、前記セキュリティモジュールが関数識別情報を生成した後、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在すると、前記関数識別情報に対応する呼び出し元のシステム関数における呼び出しを許すように前記セキュリティモジュールを動作させるために、前記セキュリティモジュールを配布モードに設定した後、前記セキュリティコンテンツを前記ウェブブラウザに転送する
ことができる
ウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項2】
前記セキュリティモジュールによって呼び出される関数は、DOM属性を含むことを特徴とする
請求項1に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項3】
前記セキュリティモジュールおよびカスタムモジュールは、JavaScript基盤として生成されたモジュールであることを特徴とする
請求項1に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項4】
前記サービス提供装置は、前記カスタムモジュールの生成過程で、前記セキュリティモジュールを開発モードに設定して前記カスタムモジュールに含まれる一つ以上の呼び出し元別に、前記セキュリティモジュールに設定されたハッシュアルゴリズムを介してハッシュ情報を生成して、前記カスタムモジュールに含まれた一つ以上の呼び出し元別に、前記生成されたハッシュ情報および関数名を含むクレデンシャル情報を生成した後、前記クレデンシャル情報を暗号化して前記カスタムモジュールに挿入する
ことができ、
前記サービス提供装置は、前記ユーザー端末の前記ウェブブラウザから前記配布要請における要請情報の受信時、前記要請情報に対応するセキュリティコンテンツのセキュリティモジュールを前記開発モードのかわりに、前記配布モードに設定する
ことができる
請求項1に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項5】
前記配布モードに設定されたセキュリティモジュールは、前記ウェブブラウザのセキュリティコンテンツの実行によって実行され、前記ウェブブラウザでシステム関数を呼び出す呼び出し元を識別し、前記識別された呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元ではない場合、前記識別された呼び出し元の関数におけるテキスト情報が含まれた呼び出し元情報を前記セキュリティモジュールのハッシュアルゴリズムに適用してハッシュ情報を生成した後、前記識別された呼び出し元に対応する関数名およびハッシュ情報を含む前記関数識別情報を生成して、前記カスタムモジュールに含まれた一つ以上のクレデンシャル情報を復号化した後、関数名およびハッシュ情報を基準として前記関数識別情報と相互比較し、比較の結果、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在しない場合、前記関数識別情報に対応する前記識別された呼び出し元のシステム関数における呼び出しを遮断し、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在すると、前記識別された呼び出し元のシステム関数における呼び出しを許して、前記呼び出されたシステム関数が実行されるようにすることを特徴とする
請求項1に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項6】
前記
サービス提供装置のコンテンツ処理
部は、
前記原本コンテンツに含まれた複数の原本文字を単語の単位、または、文字の単位で分割して、複数の単位文字を生成して、前記複数の単位文字の各々に原文セキュリティタグを設定し、複数の前記原文セキュリティタグの間ごとにあらかじめ保存された複数のガベージ文字のうち、ランダムに選ばれた一つ以上のガベージ文字および前記原文セキュリティタグと仕分けるためのガベージセキュリティタグを挿入して、前記原本コンテンツを難読化したセキュリティコンテンツを生成する
ことができる
請求項1に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項7】
前記
サービス提供装置のコンテンツ処理
部は、
前記原文セキュリティタグおよびガベージセキュリティタグを識別するための復元情報を生成して、新しい前記原文セキュリティタグおよびガベージセキュリティタグのうち、いずれか一つの設定時ごとに前記復元情報に追加して、前記復元情報を前記セキュリティコンテンツに含ませる
ことができる
請求項6に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項8】
前記
サービス提供装置のコンテンツ処理
部は、
前記復元情報をあらかじめ設定した暗号化キーで暗号化して、前記セキュリティコンテンツに含ませる
ことができる
請求項7に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項9】
前記セキュリティモジュールは、前記セキュリティモジュールによって呼び出される一つ以上の関数は、前記復元情報をあらかじめ設定した復号化キーで復号化して、復号化された前記復元情報をもとにして、前記セキュリティコンテンツに含まれた前記ガベージセキュリティタグを識別して、前記復号化された復元情報によって、前記セキュリティコンテンツで識別されたガベージセキュリティタグをもとにして、前記ガベージ文字を識別して前記ガベージ文字の文字サイズを0に変換すること
ができる
請求項8に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【請求項10】
前記
サービス提供装置のコンテンツ処理
部は、前記原本コンテンツを特定のURLでのみ利用可能とする第1オプション情報と、前記原本コンテンツの閲覧時、プリント機能の活性化の可否における第2オプション情報と、前記原本コンテンツの閲覧時、クリックの活性化の可否における第3オプション情報、前記原本コンテンツの閲覧時、プリントスクリーン機能の活性化の可否における第4オプション情報および前記原本コンテンツの閲覧時、ウォーターマークの挿入可否における第5オプション情報のうち、少なくとも一つを含むセキュリティオプション情報を前記暗号化キーで暗号化して、前記セキュリティコンテンツに挿入
して、前記セキュリティコンテンツに含ませることができ、
前記セキュリティモジュールは、前記セキュリティコンテンツにセキュリティオプション情報が含まれた場合、前記暗号化されたセキュリティオプション情報を前記復号化キーで復号化して、前記セキュリティオプション情報によって、前記ウェブブラウザの環境属性を設定すること
ができる
請求項9に記載のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供
システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供に関する。より詳しくは、ウェブブラウザで閲覧可能なHTML基盤の原本コンテンツのセキュリティのために、原本コンテンツを構成するテキストにガベージ文字を挿入し、前記ガベージ文字の除去や前記原本コンテンツと関連の機能実行のための関数呼び出しの時、認証された関数においてのみ実行されるようにして、原本コンテンツのセキュリティ性を高めるウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供方法に関する。
【背景技術】
【0002】
デジタルコンテンツ技術およびデータ転送媒体の発達によって、データの相互交流および情報の量が急激に増加している。一般的に映画、音楽、文書、写真などの様々な種類のデジタルコンテンツが制作され、インターネット、P2P、または、ウェブハードを介して、共有され迅速に流布されることでコンテンツの習得が容易になった。
【0003】
こういったコンテンツの共有によって社会的問題と指摘されることが著作権のあるデジタルコンテンツの非法共有による著作権者の権利侵害問題である。デジタルコンテンツにおける著作権侵害の事例等によってDRM(Digital Rights Management)、ウォーターマーク、フィンガープリントなどのセキュリティ技術が適用され、著作権者の権利保護およびユーザーの被害を予防するために活用されている。
【0004】
一例として、EPUB(electronic publication)の標準によって生成された電子書籍関連のコンテンツを提供するコンテンツ提供者は、普通個人認証書を基盤として、DRM方式でコンテンツを暗号化してユーザーに配布し、ユーザーは、端末に設置された専用ビューアを介して暗号化されたコンテンツを、個人認証書を用いて復号化することによって、コンテンツを用いることができる。
【0005】
しかし、最近のウェブ(web)基盤で電子書籍コンテンツを配布して、ウェブブラウザを介して用いる電子書籍コンテンツを閲覧する事例が増加していて、こういったウェブブラウザ基盤で電子書籍コンテンツにおいて、既存のセキュリティ技術を適用するためには、ActiveXのような別途のプログラムの設置が要求されるが、ウェブブラウザでこういったプログラムを次第に排除していて、既存のセキュリティ技術の適用が難しい問題がある。
【0006】
従って、ウェブブラウザ基盤として、提供される電子書籍コンテンツにおける著作物侵害に備えるための代案の用意が要求されている。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、HTML基盤のコンテンツにガベージ文字を挿入して難読化し、前記コンテンツに前記ガベージ文字を除去する関数の呼び出しのためのセキュリティモジュールを挿入して前記コンテンツの閲覧時、前記ウェブブラウザで提供するシステムAPI基盤のセキュリティモジュールが実行されるようにして、前記セキュリティモジュールを介して前記コンテンツが復元されるようにするとともに、開発者のよってJavaScript基盤で生成され、前記コンテンツに挿入されて、前記コンテンツの閲覧時、実行されて一つ以上の機能を提供するカスタムモジュールの認証のために前記カスタムモジュールに含まれた関数別のハッシュ情報を含むクレデンシャル情報を前記カスタムモジュールに挿入し、前記コンテンツの閲覧のために前記ウェブブラウザ上でシステムAPIが提供するシステム関数を呼び出す呼び出し元が前記セキュリティモジュールに定義された関数ではない場合、フックを介して、前記ウェブブラウザのシステム関数にアクセスする呼び出し元を監視する前記セキュリティモジュールによって前記呼び出し元におけるハッシュ情報が生成されるようにした後、前記クレデンシャル情報と一致する場合のみに、前記呼び出し元が呼び出したシステム関数が実行されるように支援することによって、認証されたセキュリティモジュールおよびカスタムモジュールに登録された関数においてのみコンテンツにおけるアクセスができるようにして、ウェブブラウザで実行されるコンテンツにおけるセキュリティ性を高めるようにすることにその目的がある。
【課題を解決するための手段】
【0009】
本発明の実施例によるユーザー端末のウェブブラウザにHTML基盤の原本コンテンツを配布するサービス提供装置のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供方法は、前記原本コンテンツを構成する複数の原本文字をもとにして、一つ以上のガベージ文字を生成して保存する文字設定段階と、あらかじめ保存された複数のガベージ文字のうち、ランダムに選ばれた一つ以上のガベージ文字を前記原本コンテンツに挿入して、前記原本コンテンツを難読化したセキュリティコンテンツを生成するコンテンツ処理段階と、ウェブブラウザで提供するAPIのうち、前記セキュリティコンテンツを前記原本コンテンツに復元するための一つ以上の関数を呼び出すセキュリティモジュールを生成して、前記原本コンテンツと関連の一つ以上の機能を実行するために前記API基盤システム関数を呼び出す呼び出し元が一つ以上含まれたカスタムモジュール生成時、前記セキュリティモジュールを介して前記カスタムモジュールに含まれた一つ以上の呼び出し元別に、ハッシュ情報と関数名とがマッチングして含まれたクレデンシャル情報を生成した後、暗号化して前記カスタムモジュールに挿入し、前記セキュリティモジュールおよびカスタムモジュールを前記セキュリティコンテンツに挿入するセキュリティ処理段階および前記ウェブブラウザから前記原本コンテンツの配布要請を受信時、前記ウェブブラウザのAPIにおけるフックを介して、前記ウェブブラウザで前記システム関数を呼び出す呼び出し元のうち、前記セキュリティモジュールにあらかじめ定義された呼び出し元ではない呼び出し元において、関数識別情報を生成した後、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在すると、前記関数識別情報に対応する呼び出し元のシステム関数における呼び出しを許すように前記セキュリティモジュールを動作させるために、前記セキュリティモジュールを配布モードに設定した後、前記セキュリティコンテンツを前記ウェブブラウザに転送する配布段階とを含むことができる。
【発明の効果】
【0010】
本発明は、HTML基盤の原本コンテンツに意味のないガベージテキストを挿入して、難読化したセキュリティコンテンツで原本コンテンツに復元するために、HTMLで支援するJavaScript基盤として生成されたセキュリティモジュールをセキュリティコンテンツに挿入して、ユーザー端末に提供することによって、別途のプログラムを設置することなく、ウェブブラウザで支援するシステムAPIで作成されたセキュリティモジュールを介して原本コンテンツにおける閲覧権限のあるユーザーのみが原本コンテンツを閲覧できるように、ウェブブラウザに提供される電子書籍コンテンツを著作物侵害から効果的に保護できるとともに、セキュリティコンテンツを用いる原本コンテンツの閲覧過程でウェブブラウザのシステムAPIをフックした前記セキュリティモジュールを介してウェブブラウザで前記システムAPIが提供するシステム関数を呼び出す呼び出し元における認証の手順を行い、認証された呼び出し元によって呼び出されたシステム関数のみが実行されるように支援することによって、ウェブブラウザと連動する別途のプログラムを設置しなくても、ウェブブラウザで原本コンテンツの閲覧権限のないユーザーが認証されてない関数を作成して原本コンテンツに非正常的にアクセスする場合を容易に遮断することができて、ウェブブラウザ基盤の原本コンテンツにおける著作物侵害を容易に防ぐ効果がある。
【0011】
また、本発明は、前記セキュリティコンテンツを用いる原本コンテンツの閲覧時、実行されて前記原本コンテンツと関連の機能を提供する開発者のよって生成されたカスタムモジュールにおいて、前記カスタムモジュールに含まれた関数別にハッシュ情報を含むクレデンシャル情報を生成した後、前記クレデンシャル情報が含まれたカスタムモジュールを前記セキュリティコンテンツに挿入して、前記セキュリティコンテンツとともに配布されるようにして、前記ウェブブラウザを用いる原本コンテンツの閲覧過程で前記ウェブブラウザのシステムAPIにおけるアクセスをセキュリティモジュールのフックを介して、セキュリティモジュールのみに許して、他のモジュールにおいては遮断した後、セキュリティモジュールではないカスタムモジュールや外部モジュールに含まれる呼び出し元がシステム関数を呼び出すと、該呼び出し元におけるハッシュ情報を生成して、前記クレデンシャル情報との比較を介して、認証された呼び出し元においてのみシステム関数が実行されるようにすることによって、認証された呼び出し元ではない呼び出し元がシステム関数を呼び出して、原本コンテンツにアクセスすることを遮断して、非法ユーザーのアクセスを容易に遮断することができて、HTML基盤のコンテンツにおけるセキュリティ性を高める効果がある。
【0012】
また、本発明は、電子書籍コンテンツセキュリティのための難読化の過程で電子書籍コンテンツに含まれた原本文字を抽出した後、ガベージ文字に設定して原本文字とガベージ文字を仕分けることを難しくするように難読化することができて、電子書籍コンテンツにおけるセキュリティ性を高めることができる。
【図面の簡単な説明】
【0013】
【
図1】は、本発明の実施例によるウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供装置の構成環境図である。
【
図2】本発明の実施例によるサービス提供装置のセキュリティコンテンツの生成および転送における動作例示図である。
【
図3】本発明の実施例によるサービス提供装置のセキュリティコンテンツの生成および転送における動作例示図である。
【
図4】本発明の実施例によるサービス提供装置のセキュリティコンテンツの生成および転送における動作例示図である。
【
図5】本発明の実施例によるセキュリティコンテンツに挿入されるセキュリティモジュールの動作フローチャートである。
【
図6】本発明の実施例によるセキュリティコンテンツに挿入されるセキュリティモジュールの動作例示図である。
【
図7】本発明の実施例によるセキュリティモジュールによるコンテンツの復元および閲覧過程における動作例示図である。
【
図8】本発明の実施例によるセキュリティモジュールによるコンテンツの復元および閲覧過程における動作例示図である。
【
図9】本発明の実施例によるセキュリティモジュールによるコンテンツの復元および閲覧過程における動作例示図である。
【
図10】は、本発明の実施例によるウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供方法におけるフローチャートである。
【発明を実施するための形態】
【0014】
以下、図面を参考にして本発明の実施例によるウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供装置のサービス提供方法における詳細実施例を説明する。
【0015】
説明の前に、本発明は、ウェブブラウザ基盤で実行されるHTML(Hypertext Markup Language)基盤の原本コンテンツにおけるセキュリティのために原本コンテンツをもとに、以下で説明する方式でセキュリティコンテンツを生成して、前記セキュリティコンテンツがユーザー端末で以下から説明するセキュリティモジュールを介して原本コンテンツに復元されるように支援することができて、ユーザー端末でセキュリティコンテンツを用いて原本コンテンツを閲覧する時、実行されて前記原本コンテンツと関連の様々な機能を提供する一つ以上の関数が含まれた外部モジュールを開発者が開発して前記原本コンテンツに挿入できるように支援し、ウェブブラウザ上で前記セキュリティコンテンツを用いて原本コンテンツを閲覧する時、ウェブブラウザのシステムAPIをフック(hooking)したセキュリティモジュールで前記原本コンテンツにアクセスするために、システムAPIで提供するシステム関数を呼び出す関数である呼び出し元(caller)におけるハッシュ情報を基にして認証が行われるようにして、認証された外部モジュールと関連する呼び出し元においてのみ選択的にシステム関数におけるアクセス(呼び出し)を許して、システム関数が実行されるようにすることによって、原本コンテンツにおけるセキュリティ性を高める構成を提供する。
【0016】
以下の説明で前記原本コンテンツをHTML基盤の電子書籍コンテンツを例にとって説明するが、それに限定されることなくHTML基盤の様々なコンテンツに本発明が適用されることができるのは当然である。
【0017】
図1は、本発明の実施例によるウェブブラウザ(web browser)基盤のコンテンツセキュリティのためのサービス提供装置(以下、サービス提供装置)の構成環境図である。
【0018】
図示のように、前記サービス提供装置(100)は、電子書籍コンテンツ(contents)を保存するコンテンツDB(101)と、前記コンテンツDB(101)から電子書籍コンテンツを抽出して、前記電子書籍コンテンツを構成する複数の原本文字をもとにして、ガベージ(garbage)文字を生成した後、前記サービス提供装置(100)に含まれたガベージDB(102)に保存して、前記ガベージDB(102)に保存されたガベージ文字を電子書籍コンテンツに挿入して、前記電子書籍コンテンツの内容の識別が難しくなるように難読化したセキュリティコンテンツを生成する制御部(120)および前記ユーザー端末のウェブブラウザと通信する通信部(110)を含めて構成することができる。
【0019】
それで、前記サービス提供装置(100)は、前記ユーザー端末と通信網を介して通信するサーバで構成することができて、前記制御部(120)は、前記通信部(110)を介して前記ユーザー端末のウェブブラウザと通信することができる。
【0020】
または、前記サービス提供装置(100)は、前記開発者の開発者端末であることもある。
【0021】
また、本発明で説明する通信網は、有/無線通信網を含むことができて、こういった無線通信網の一例として、無線LAN(Wireless LAN:WLAN)、DLNA(登録商標)(Digital Living Network Alliance)、ワイブロ(Wireless Broadband:Wibro)、ワイマックス(World Interoperability for Microwave Access:Wimax)、GSM(登録商標)(Global System for Mobile communication)、CDMA(Code Division Multi Access)、CDMA2000(Code Division Multi Access 2000)、EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only)、WCDMA(登録商標)(Wideband CDMA)、HSDPA(High Speed Downlink Packet Access)、HSUPA(High Speed Uplink Packet Access)、IEEE 802.16、ロングタームエボリューション(Long Term Evolution:LTE)、LTE-A(Long Term Evolution-Advanced)、広帯域無線移動通信サービス(Wireless Mobile Broadband Service:WMBS)、5G移動通信サービス、ブルートゥース(登録商標)(Bluetooth)、LoRa(登録商標)(Long Range)、RFID(Radio Frequency Identification)、赤外線通信(Infrared Data Association:IrDA)、UWB(Ultra Wideband)、ジグビー(ZigBee)(登録商標)、近距離無線通信(Near Field Communication:NFC)、超音波通信(Ultra Sound Communication:USC)、可視光通信(Visible Light Communication:VLC)、ワイファイ(Wi-Fi)、ワイファイダイレクト(Wi-Fi Direct)(登録商標)などが含まれる。
【0022】
また、有線通信網としては、有線LAN(Local Area Network)、有線WAN(Wide Area Network)、電力線通信(Power Line Communication:PLC)、USB通信、イーサネット(Ethernet)(登録商標)、シリアル通信(serial communication)、光/同軸ケーブルなどが含まれる。
【0023】
また、前記ユーザー端末、または、開発者端末は、通信機能を備えるスマートフォン(Smart Phone)、携帯端末(Portable Terminal)、移動体端末(Mobile Terminal)、携帯情報端末(Personal Digital Assistant:PDA)、PMP(Portable Multimedia Player)端末機、テレマティクス(Telematics)端末機、ナビゲーション(Navigation)端末機、パーソナルコンピューター(Personal Computer)、ノート型パーソナルコンピューター、スレートPC(Slate PC)、タブレットPC(Tablet PC)、ウルトラブック(ultrabook)(登録商標)などのように様々な端末機を含むことができる。
【0024】
また、前記サービス提供装置(100)の制御部(120)は、サービス提供装置(100)の全般的な制御機能を行い、前記制御部(120)は、RAM、ROM、CPU、GPU、バスを含むことができて、RAM、ROM、CPU、GPUなどはバスを介して互いにつながることができる。
【0025】
また、前記制御部(120)は、前記通信部(110)を介して前記ユーザー端末と通信することができる。
【0026】
一方、前記制御部(120)は、前記コンテンツDB(101)に保存された一つ以上の電子書籍コンテンツにおける目録情報が含まれたウェブページ(web page)を前記ユーザー端末のウェブブラウザに転送することができて、前記ウェブページを介して、ユーザー端末のユーザーによって選ばれた電子書籍コンテンツの要請における要請情報を前記ユーザー端末から受信すると、前記要請情報に対応する特定電子書籍コンテンツを前記コンテンツDB(101)で識別して抽出し、前記特定電子書籍コンテンツを前述のようにセキュリティコンテンツとして生成して、前記ユーザー端末のウェブブラウザに提供することができる。
【0027】
それで、前記電子書籍コンテンツおよびセキュリティコンテンツは、HTMLおよびJavaScriptで構成したウェブコンテンツ(web contents)であることがある。
【0028】
また、前記電子書籍コンテンツにガベージ文字が挿入されて難読化したセキュリティコンテンツは、ユーザー端末のユーザーがコンテンツの内容を読めない状態のコンテンツであって、前記セキュリティコンテンツを読むためには電子書籍コンテンツに復元されなければならない。
【0029】
こういったセキュリティコンテンツの電子書籍コンテンツへの復元のために、既存にはActiveXのようなプラグイン(plug-in)のプログラムである復元プログラムをユーザー端末にダウンロードして設置し、前記復元プログラムを前記ウェブブラウザ上で動作させて前記セキュリティコンテンツを電子書籍コンテンツに復元する方式を用いるが、最近のウェブブラウザでは、こういったプラグインプログラムを次第に排除していて、今後こういったプラグイン方式の復元プログラムは、ウェブブラウザで用いることができなくなる。
【0030】
従って、本発明によるサービス提供装置(100)は、HTML(Hyper Text Markup Language)で支援するJavaScript基盤のセキュリティモジュールを、前記電子書籍コンテンツを難読化して、セキュリティ処理されたセキュリティコンテンツに挿入し、前記セキュリティコンテンツの閲覧時、前記セキュリティモジュールがHTML基盤で実行されて前記セキュリティモジュールを介して前記セキュリティコンテンツが電子書籍コンテンツに復元(変換)されるようにすることができる。
【0031】
また、サービス提供装置(100)は、電子書籍コンテンツの実行時、前記電子書籍コンテンツと関連の一つ以上の機能を実行するための(提供するための)カスタムモジュールを構成する関数を受信して、カスタムモジュールを生成して、前記カスタムモジュールを構成する一つ以上の関数別にハッシュ情報および関数名が含まれたクレデンシャル情報を生成して、前記カスタムモジュールに含ませることができる(挿入することができる)。
【0032】
それで、前記カスタムモジュールは、JavaScript基盤のモジュールで構成することができる。
【0033】
また、前記サービス提供装置(100)は、一つ以上の関数別のクレデンシャル情報が挿入されたカスタムモジュール関連データが生成されると、前記カスタムモジュール関連データをもとにして、前記カスタムモジュールを前記セキュリティコンテンツに挿入することができる。
【0034】
また、前記サービス提供装置(100)は、前記カスタムモジュールが含まれたセキュリティコンテンツをユーザー端末に転送することができる。
【0035】
また、サービス提供装置(100)は、前記ウェブブラウザで実行される時、前記ウェブブラウザのシステムAPI(Application Program Interface)をフックして、前記セキュリティコンテンツが実行されたユーザー端末のウェブブラウザで前記システムAPIが提供する関数であるシステム関数を呼び出して、前記システムAPIへアクセスする関数である呼び出し元における呼び出し元情報による前記システム関数の呼び出し元(caller)(または、API呼び出し元)を識別し、前記識別された呼び出し元を基に前記システム関数が前記セキュリティモジュールの呼び出し元によって呼び出された関数ではない場合、前記システム関数および呼び出し元における呼び出し元情報に対応するハッシュ情報および前記呼び出し元の関数名が含まれた関数識別情報を生成した後、前記カスタムモジュールに含まれた一つ以上のクレデンシャル情報と比べて前記呼び出し元における認証を行うように前記セキュリティモジュールを生成することができて、認証の結果、前記関数識別情報と一致するクレデンシャル情報が存在しない場合、前記関数識別情報に対応する呼び出し元のシステムAPIにおけるアクセスを遮断し、前記呼び出し元によって呼び出されるシステム関数が実行されないように動作する前記セキュリティモジュールを生成することができる。
【0036】
これを介して、前記サービス提供装置(100)は、電子書籍コンテンツに対応するセキュリティコンテンツにおいて、ウェブブラウザ上でアクセスする呼び出し元がセキュリティモジュールに含まれた関数でもないのに、カスタムモジュールに定義された関数とも相異なる非正常的な関数(認証されない関数)である場合、前記ユーザー端末のウェブブラウザ上で該関数の実行が遮断されるようにして、電子書籍コンテンツにおける著作物侵害を容易に防止することができる。
【0037】
前述による機能を行うサービス提供装置(100)の動作例示を前述の構成に基づいて、以下の図面を参考にして詳しく説明する。
【0038】
本発明で説明する呼び出し元(caller)は、関数で構成することができて、本発明で説明するシステム関数は、ウェブブラウザ基盤のシステムAPIが提供する関数であるか、前記システムAPIに含まれる関数を意味することができる。
【0039】
まず、
図2は、本発明の実施例によるサービス提供装置(100)のセキュリティコンテンツの生成および転送における動作例示図である。
【0040】
また、
図1および
図2に図示のように、前記制御部(120)は、ガベージ収集部(121)、コンテンツ処理部(122)およびセキュリティ処理部(123)を含めて構成することができる。
【0041】
まず、ガベージ収集部(121)は、前記ユーザー端末から受信された要請情報に対応する電子書籍コンテンツをコンテンツDB(101)から抽出して、前記電子書籍コンテンツを構成する複数の原本文字を前記電子書籍コンテンツから抽出して集めることができて、前記複数の原本文字をもとにして、一つ以上のガベージ文字を生成して前記ガベージDB(102)に保存することができる。
【0042】
それで、前記サービス提供装置(100)は、保存部をさらに含めて構成することができて、前記保存部は、前記コンテンツDB(101)およびガベージDB(102)を含めて構成することができる。
【0043】
一例として、前記ガベージ収集部(121)は、前記電子書籍コンテンツを構成する複数の原本文字を抽出して、前記複数の原本文字の各々をガベージ文字に設定して一つ以上のガベージ文字を生成することができて、これを前記ガベージDB(102)に保存することができる。
【0044】
他の一例として、前記ガベージ収集部(121)は、前記抽出された複数の原本文字を単語の単位で分割し、前記単語の単位で分割されてグルーピングした一つ以上の原本文字をガベージ文字に設定して一つ以上のガベージ文字を生成することができて、単語の単位で生成されたガベージ文字を前記ガベージDB(102)に保存することができる。
【0045】
それで、前記ガベージ収集部(121)は、前記コンテンツDB(101)から前記要請情報に対応する電子書籍コンテンツにおけるコンテンツ識別情報を抽出して、前記要請情報に対応する電子書籍コンテンツから得られた複数のガベージ文字を前記要請情報に対応して抽出されたコンテンツ識別情報とマッチングして前記ガベージDB(102)に保存することができる。
【0046】
以下から説明する電子書籍コンテンツは、前記要請情報に対応する電子書籍コンテンツを意味することができる。
【0047】
また、コンテンツ処理部(122)は、ガベージDB(102)にあらかじめ保存された複数のガベージ文字のうち、ランダムに選ばれた一つ以上のガベージ文字を電子書籍コンテンツに挿入して、前記電子書籍コンテンツを読みにくいように難読化したセキュリティコンテンツを生成することができる。
【0048】
それで、コンテンツ処理部(122)は、前記電子書籍コンテンツに対応するコンテンツ識別情報とマッチングした複数のガベージ文字を前記ガベージDB(102)で識別して前記電子書籍コンテンツに挿入することができて、これを介して、特定電子書籍コンテンツから得られたガベージ文字は、該特定電子書籍コンテンツにおいてのみ用いられるようにすることができる。
【0049】
前記コンテンツ処理部(122)のセキュリティコンテンツの生成過程を
図3および
図4を介して、さらに詳しく説明する。
【0050】
まず、
図3および
図4に図示のように、前記コンテンツ処理部(122)は、HTMLで構成した電子書籍コンテンツに含まれる複数の原本文字を単語の単位、または、文字の単位で分割して、複数の単位文字を生成することができる。
【0051】
即ち、前記コンテンツ処理部(122)は、前記電子書籍コンテンツを前記複数の単位文字が生成された(含まれた)状態の電子書籍コンテンツに変換することができる。
【0052】
それで、前記単位文字は、前記電子書籍コンテンツに含まれた複数のテキストのうち、前記単語の単位、または、文字の単位の分割によってグルーピングされた一つ以上のテキストで構成することができて、電子書籍コンテンツの本文は、前記複数の単位文字で構成することができる。
【0053】
また、前記単位文字は、一つ以上の原本文字で構成することができて、一つの原本文字でも構成することができる。
【0054】
次に、
図4に図示のように、前記コンテンツ処理部(122)は、前記電子書籍コンテンツに含まれた前記複数の単位文字の各々に他の単位文字との仕分けおよび単位文字の識別のためのHTMLで支援する原文セキュリティタグを設定し、複数の前記原文セキュリティタグの間ごとに前記ガベージDB(102)にあらかじめ保存された複数のガベージ文字のうち、ランダムに選ばれた一つ以上のガベージ文字および前記原文セキュリティタグと仕分けるためのHTMLで支援するガベージセキュリティタグを前記電子書籍コンテンツに挿入して、前記電子書籍コンテンツを難読化したセキュリティコンテンツを生成することができる。
【0055】
即ち、前記コンテンツ処理部(122)は、前記複数の単位文字が含まれた状態の電子書籍コンテンツに前記原文セキュリティタグと前記ガベージ文字およびガベージセキュリティタグを挿入して、前記原文セキュリティタグとガベージ文字およびガベージセキュリティタグを含む状態の電子書籍コンテンツであるセキュリティコンテンツを生成することができる。
【0056】
例えば、前記コンテンツ処理部(122)は、前記電子書籍コンテンツに含まれた「グロリアは目を開けて・・・」のような原文を単語の単位で分割して、「グロリアは」、「目を」、「開けて」の複数の相異なる単位文字で分割することができる。
【0057】
また、前記コンテンツ処理部(122)は、分割された複数の単位文字の各々にガベージ文字との区別(または、仕分け)のためのHTML基盤の(HTMLで実行される)タグ(tag)である原文セキュリティタグを設定することができる。
【0058】
また、前記コンテンツ処理部(122)は、第1単位文字である「グロリアは」に設定された第1原文セキュリティタグと前記第2単位文字である「目を」に設定された第2原文セキュリティタグを互いに隣接する原文セキュリティタグとして識別して、前記ガベージDB(102)に電子書籍コンテンツに対応して、あらかじめ保存された複数のガベージ文字のうち、少なくとも一つをランダムに選んで、前記選ばれたガベージ文字である「閉じた」を前記第1単位文字に設定された第1原文セキュリティタグと前記第2単位文字に設定された第2原文セキュリティタグの間に挿入して、前記ガベージ文字に対応するガベージセキュリティタグを前記第1および第2原文セキュリティタグの間に挿入されたガベージ文字別に設定して、前記電子書籍コンテンツに挿入することができる。
【0059】
それで、本発明で説明するガベージ文字は、一つ以上の文字で構成した単位ガベージ文字で構成することができる。
【0060】
また、前記ガベージセキュリティタグは、原本文字との区別(または、仕分け)およびガベージ文字を識別するためのHTML基盤の(HTMLで実行される)タグ(tag)で構成することができる。
【0061】
また、前記コンテンツ処理部(122)は、前記第1原文セキュリティタグと前記第2原文セキュリティタグの間に複数の相異なる単位ガベージ文字および前記複数の相異なるガベージ文字と各々対応する複数の相異なるガベージセキュリティタグを挿入することもできる。
【0062】
例えば、前記コンテンツ処理部(122)は、前記第1原文セキュリティタグと前記第2原文セキュリティタグの間に第1ガベージ文字である「閉じた」と第2ガベージ文字である「出た」を挿入して、第1ガベージセキュリティタグを前記第1ガベージ文字である「閉じた」に設定して、第2ガベージセキュリティタグを前記第2ガベージ文字である「出た」に設定し、前記第1および第2ガベージセキュリティタグを前記第1原文セキュリティタグと前記第2原文セキュリティタグの間に挿入することができる。
【0063】
前述のように、前記コンテンツ処理部(122)は、前記電子書籍コンテンツに含まれた複数の原文の文字を複数の単位文字で分割しながら、前記ガベージ文字と前記原文セキュリティタグおよびガベージセキュリティタグを前述のように前記電子書籍コンテンツに挿入して、前記電子書籍コンテンツを前記単位文字と前記ガベージ文字と前記原文セキュリティタグおよびガベージセキュリティタグを含むセキュリティコンテンツに生成することができる。
【0064】
また、前記コンテンツ処理部(122)は、前記セキュリティコンテンツの生成過程で前記原文セキュリティタグおよびガベージセキュリティタグ生成時、前記原文セキュリティタグおよびガベージセキュリティタグを識別するための復元情報を生成することができる。
【0065】
また、前記コンテンツ処理部(122)は、新しい前記原文セキュリティタグおよびガベージセキュリティタグのうち、いずれか一つの設定(生成)時ごとに前記復元情報に追加することができる。
【0066】
また、前記コンテンツ処理部(122)は、セキュリティコンテンツの生成が完了すると、前記復元情報を前記セキュリティコンテンツに含ませることができる。
【0067】
それで、前記コンテンツ処理部(122)は、前記復元情報をあらかじめ設定した暗号化アルゴリズムによって暗号化することができて、暗号化した復元情報を前記セキュリティコンテンツに含ませることができる。
【0068】
一例として、前記コンテンツ処理部(122)は、前記暗号化アルゴリズムによって暗号化キー(licence)を生成して、前記暗号化キーで前記復元情報を前記暗号化アルゴリズムによって暗号化することができる。
【0069】
それで、前記コンテンツ処理部(122)は、電子署名を用いて前記復元情報を暗号化することができる。
【0070】
前述の構成の他にも、前記コンテンツ処理部(122)は、前記電子書籍コンテンツを特定のURL(uniform resource locator)でのみ利用可能とする第1オプション情報と、前記電子書籍コンテンツの閲覧時、プリント機能の活性化の可否における第2オプション情報と、前記電子書籍コンテンツの閲覧時、クリックの活性化の可否における第3オプション情報と、前記電子書籍コンテンツの閲覧時、プリントスクリーン機能の活性化の可否における第4オプション情報および前記電子書籍コンテンツの閲覧時、ウォーターマーク(watermarking)の挿入可否における第5オプション情報のうち、少なくとも一つを含むセキュリティオプション情報を生成して、前記セキュリティオプション情報を前記暗号化キーで暗号化した後、前記セキュリティコンテンツに挿入して、前記セキュリティコンテンツに含ませることができる。
【0071】
一方、前記セキュリティ処理部(123)は、前記セキュリティコンテンツの生成時、前記ユーザー端末のウェブブラウザで提供するシステムAPI(Application Program Interface)に含まれた複数のシステム関数のうち、前記セキュリティコンテンツを前記電子書籍コンテンツに復元するための一つ以上のシステム関数を呼び出すセキュリティモジュールを生成することができる。
【0072】
即ち、前記セキュリティモジュールは、前記一つ以上のシステム関数を呼び出して、前記セキュリティコンテンツを前記電子書籍コンテンツに復元することができる。
【0073】
それで、前記セキュリティ処理部(123)は、JavaScript基盤で前記セキュリティモジュールを生成することができる。即ち、前記セキュリティモジュールは、JavaScriptで作成されたモジュールを意味することができる。
【0074】
また、本発明で説明するシステム関数は、JavaScriptを用いてセキュリティが適用されたテキストにアクセスするために、用いることのできる全てのウェブブラウザのシステム関数(例えば、getElementsByTagName、getElementsByClassなど)とDOM(Document Object Model)属性(例えば、document.body、document.children、document.firstElementNode、element.nextSiblinなど)などを含むことができる。
【0075】
一方、前記保存部は、前記電子書籍コンテンツと関連の一つ以上の機能を実行する関数が一つ以上含まれたカスタムモジュールの生成のためのSDK(Software Development Kit)関連のデータが保存されることができて、前記サービス提供装置(100)は、外部入力を受信する入力部をさらに含むか、前記通信部(110)を介して前記カスタムモジュールの生成のために前記SDK関連のデータを要請する外部端末と通信することができる。
【0076】
それで、前記外部端末は、前記SDKを用いてカスタムモジュールを生成する開発者の開発者端末であることがある。
【0077】
また、前記カスタムモジュールが提供する機能の一例として、前記電子書籍コンテンツの閲覧のためのユーザーインターフェース提供機能、電子書籍コンテンツに含まれた動画の自動再生機能などのような様々な機能を含むことができる。それで、前記ユーザーインターフェースは、フォント変更、文字サイズ変更などのような様々な機能を提供することができる。
【0078】
また、前記セキュリティ処理部(123)は、前記外部入力に基づいて前記保存部から前記SDK関連のデータをもとにしてSDKを実行し、前記SDKを用いる外部入力によるコード生成を介して、前記電子書籍コンテンツと関連の一つ以上の機能を実行する関数が一つ以上含まれたカスタムモジュールを前記電子書籍コンテンツに対応して、生成することができる。
【0079】
または、前記セキュリティ処理部(123)は、前記SDK関連のデータを前記外部端末に転送し、前記SDK関連のデータを用いて生成されるカスタムモジュール関連データを、前記通信部(110)を介して前記外部端末から受信して、前記カスタムモジュール関連データをもとにして、カスタムモジュールを生成することができる。
【0080】
それで、前記カスタムモジュールに含まれた一つ以上の関数のうち、少なくとも一つはシステム関数を呼び出す関数で構成することができて、他にもシステム関数およびユーザー定義関数を含めて構成することができる。
【0081】
即ち、前記セキュリティ処理部(123)が含まれたサービス提供装置(100)は、前記外部端末と送受信されるデータを用いて、前記SDKを介して、前記電子書籍コンテンツに対応する前記カスタムモジュールを生成することができるように支援し、こういったカスタムモジュールを介して電子書籍コンテンツと関連して開発者が様々な機能を提供することができるように色々で自由なカスタムモジュールの制作を許すことができる。
【0082】
しかし、こういったカスタムモジュールにおける電子書籍コンテンツのアクセスを許す過程で、電子書籍コンテンツのアクセスする認証されないモジュールを介して電子書籍コンテンツの著作物侵害が発生する可能性があって、認証されたカスタムモジュールにおいてのみ電子書籍コンテンツのアクセスを許して、認証されないモジュールによって呼び出される関数が電子書籍コンテンツにアクセスすることを遮断するための構成が必要である。
【0083】
そのために、前記セキュリティ処理部(123)は、ウェブブラウザを介して、前記電子書籍コンテンツを閲覧するユーザー端末で前記カスタムモジュールやセキュリティモジュール以外の認証されない関数が含まれた外部モジュールを生成した後、前記外部モジュールを介して前記電子書籍コンテンツにおいて、アクセスする方式の非正常的なアクセスを遮断することができるようにクレデンシャル(credential)情報を生成して、前記電子書籍コンテンツにおけるセキュリティが成るように支援することができるが、これを
図5によるセキュリティモジュールを用いる電子書籍コンテンツにおけるセキュリティ処理関連のフローチャートおよび
図6によるセキュリティ処理関連の例示図を参考にして説明する。
【0084】
また、
図5および
図6に図示のように、前記セキュリティ処理部(123)は、前記カスタムモジュールを生成する過程で前記セキュリティモジュールを開発モードで設定することができて、開発モードで設定されたセキュリティモジュールは、前記カスタムモジュールに含まれる一つ以上の関数別に前記セキュリティモジュールに含まれるあらかじめ設定されたハッシュ(hash)アルゴリズムに適用して、前記カスタムモジュールに含まれた一つ以上の関数別にハッシュ値を含むハッシュ情報を生成することができる。
【0085】
それで、前記ハッシュアルゴリズムに適用される前記カスタムモジュールに含まれた関数は、関数の関数名、関数に設定された属性名、属性別パラメーターなどを含むテキスト情報で構成することができる。
【0086】
また、前記開発モードで設定されたセキュリティモジュールは、前記カスタムモジュールに含まれるように生成される一つ以上の関数別に前記生成されたハッシュ情報と関数名とが相互マッチングして含まれたクレデンシャル(credential)情報を生成することができる。
【0087】
即ち、前記セキュリティモジュールは、前記カスタムモジュールに含まれる一つ以上の関数の各々において、ハッシュ情報を生成して、前記一つ以上の関数の各々において、関数名とハッシュ情報が含まれたクレデンシャル情報を生成することができる。
【0088】
それで、前記セキュリティモジュールは、前記カスタムモジュールに含まれる一つ以上の関数のうち、被呼び出し関数(callee)を呼び出す呼び出し元(caller)に該当する関数を対象にして、前記クレデンシャル情報を生成することができて、前記クレデンシャル情報に含まれるハッシュ情報は、前記呼び出し元に該当する関数に含まれた全てのテキスト(関数名、属性名、属性値などを含む関数を構成する全てのテキスト)をハッシュアルゴリズムに適用して、生成された情報であることがある。
【0089】
また、前記セキュリティ処理部(123)、または、セキュリティモジュールは、前記クレデンシャル情報を前記暗号化キーで暗号化して、前記カスタムモジュールに挿入することができる。
【0090】
それで、前記セキュリティ処理部(123)、または、セキュリティモジュールは、前記復元情報を暗号化する時に用いる暗号化キーで前記クレデンシャル情報を暗号化するか、別途の暗号化アルゴリズムを用いて暗号化することができる。
【0091】
また、前記セキュリティ処理部(123)、または、セキュリティモジュールは、電子署名を用いて前記クレデンシャル情報を暗号化することができる。
【0092】
前述のように、前記セキュリティ処理部(123)、または、セキュリティモジュールは、前記暗号化キーで暗号化されたクレデンシャル情報を前記カスタムモジュールに含まれた一つ以上の関数のうち、前記クレデンシャル情報に対応する関数とマッチングして前記カスタムモジュールに挿入することができて、これを介して、暗号化されたクレデンシャル情報を前記カスタムモジュールに含ませることができる。
【0093】
また、前記セキュリティ処理部(123)は、前記電子書籍コンテンツに対応する前記カスタムモジュールにおける生成が完了した場合、前記カスタムモジュールを前記電子書籍コンテンツに対応するセキュリティコンテンツに挿入することができる。
【0094】
前述によって、前記セキュリティ処理部(123)は、前記開発モードで設定されたセキュリティモジュールを介して前記カスタムモジュールに含まれた一つ以上の関数のうち、ウェブブラウザで提供するシステムAPI(Application Program Interface)基盤システム関数を被呼び出し関数で呼び出す呼び出し元別に(または、呼び出し元関数別に)前記ハッシュ情報と関数名とがマッチングしたクレデンシャル情報を生成することができる。
【0095】
また、前記セキュリティ処理部(123)は、前記カスタムモジュールに含まれた一つ以上の関数(または、呼び出し元)と各々対応して生成された一つ以上のクレデンシャル情報を暗号化処理して前記カスタムモジュールに挿入することができて、一つ以上の前記クレデンシャル情報を含むカスタムモジュールを前記電子書籍コンテンツに対応するセキュリティコンテンツに挿入して、前記セキュリティコンテンツに含ませることができる。
【0096】
また、前記セキュリティ処理部(123)は、前記セキュリティモジュールを前記セキュリティコンテンツに挿入して、前記セキュリティコンテンツに含ませることができる。
【0097】
また、前記セキュリティ処理部(123)は、前記電子書籍コンテンツに対応するように前記セキュリティモジュールおよびカスタムモジュールが挿入されたセキュリティコンテンツの生成が完了すると、前記セキュリティコンテンツをユーザー端末のウェブブラウザに転送することができる。
【0098】
一方、
図7は、ユーザー端末のウェブブラウザで前記セキュリティコンテンツを用いる電子書籍コンテンツの閲覧過程での前記セキュリティモジュールの動作例示であり、
図8は、ユーザー端末のウェブブラウザで前記セキュリティコンテンツを用いる電子書籍コンテンツの閲覧過程での前記セキュリティモジュールの動作フローチャートである。
【0099】
図示のように、サービス提供装置(100)の制御部(120)、または、セキュリティ処理部(123)は、前記ユーザー端末のウェブブラウザを介して、前記サービス提供装置(100)に接続したユーザー端末から前記電子書籍コンテンツの配布要請における要請情報を受信すると、前記電子書籍コンテンツに対応し、前記カスタムモジュールおよびセキュリティモジュールが挿入されたHTML基盤のセキュリティコンテンツを前記ユーザー端末のウェブブラウザに転送することができる。
【0100】
それで、前記セキュリティ処理部(123)は、前記セキュリティコンテンツ配布時、前記セキュリティコンテンツに含まれたセキュリティモジュールを配布モードに設定することができる。
【0101】
また、前記ユーザー端末のウェブブラウザ(以下、ウェブブラウザ)は、前記電子書籍コンテンツの要請における要請情報に対応してHTML基盤のセキュリティコンテンツをサービス提供装置(100)から受信することができる。
【0102】
また、前記ウェブブラウザは、前記セキュリティコンテンツ受信時、前記セキュリティコンテンツをロードして実行し、これを介して前記セキュリティコンテンツにおける閲覧を試みる。
【0103】
また、前記ウェブブラウザは、前記セキュリティコンテンツの閲覧時、前記セキュリティコンテンツに含まれたセキュリティモジュールを実行させることができる。
即ち、前記セキュリティモジュールは、前記ウェブブラウザを介して前記セキュリティコンテンツが実行されると、自動実行されることができる。
【0104】
それで、前記配布モードに設定された前記セキュリティモジュールは、ウェブブラウザで提供するシステムAPIに含まれた関数と主要属性をフックして、前記システムAPIへアクセスする関数、または、呼び出し元を遮断し、前記システムAPIのシステム関数を呼び出して、システムAPIへアクセスする呼び出し元を監視することができる。
【0105】
また、前記セキュリティモジュールは、システムAPIが提供する特定システム関数を呼び出して、前記システムAPIへアクセスする呼び出し元および特定システム関数における呼び出し元情報が受信されると、前記呼び出し元情報の呼び出し元を基に前記セキュリティモジュールが呼び出した特定システム関数(システム関数の呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元である場合)においては、該呼び出し元の前記システムAPIにおけるアクセスを許して、前記特定システム関数が呼び出されるようにすることができる。
【0106】
また、前記セキュリティモジュールは、前記ウェブブラウザ上で前記セキュリティモジュールによって呼び出された一つ以上の関数を介して、前記セキュリティモジュールの変造の可否を検査し(S1)、前記呼び出した一つ以上の関数を介して、前記セキュリティコンテンツに含まれた復元情報をあらかじめ設定した復号化キーで復号化することができる(S2)。
【0107】
それで、前記セキュリティモジュールによって呼び出される一つ以上の関数は、システム関数を含むことができて、システム関数以外の他の関数をも含むことができる。
【0108】
また、前記セキュリティモジュールは、前記セキュリティコンテンツにセキュリティオプション情報が含まれた場合、前記復号化キーを用いて前記暗号化キーで暗号化されたセキュリティオプション情報を復号化した後(S2)、前記復号化されたセキュリティオプション情報に設定された値で前記ウェブブラウザの動作環境における環境属性を設定することができる(S3)。
【0109】
一例として、前記セキュリティモジュールは、前記電子書籍コンテンツを特定のURLでのみ利用可能とする第1オプション情報と、前記電子書籍コンテンツの閲覧時、プリント機能の活性化の可否における第2オプション情報と、前記電子書籍コンテンツの閲覧時、クリックの活性化の可否における第3オプション情報と、前記電子書籍コンテンツの閲覧時、プリントスクリーン機能の活性化の可否における第4オプション情報および前記電子書籍コンテンツの閲覧時、ウォーターマークの挿入可否における第5オプション情報のうち、少なくとも一つを含むセキュリティオプション情報によって、前記ウェブブラウザの動作環境における環境属性を設定することができる。
【0110】
これを介して、前記セキュリティモジュールは、前記セキュリティオプション情報によって、設定されたウェブブラウザの動作環境が前記セキュリティオプション情報と一致するか判断し(S4)、一致する場合のみにセキュリティコンテンツを電子書籍コンテンツに復元する後続の過程を行うことができる。
【0111】
また、前記セキュリティモジュールは、前記セキュリティモジュールに設定された一つ以上の関数を呼び出しすることができて、前記セキュリティモジュールによって呼び出された一つ以上の関数は、前記ウェブブラウザ上で実行されて前記復号化された復元情報をもとにして、前記セキュリティコンテンツで前記原文セキュリティタグおよびガベージセキュリティタグのうち、少なくとも一つを識別することができる。
【0112】
以下から説明する復元情報は、復号化された状態であることがある。
また、前記セキュリティモジュールによって呼び出された一つ以上の関数は、前記復元情報に基づいて(復元情報によって)、前記セキュリティコンテンツで識別されたガベージセキュリティタグをもとにして、前記セキュリティコンテンツに含まれた一つ以上のガベージ文字を識別することができて、前記ガベージ文字の文字サイズを0に変換(設定)して、前記ガベージ文字が見えないようにして、原本文字のみが見えるようにすることによって、前記セキュリティコンテンツを電子書籍コンテンツに復元(または、変換)することができる。
【0113】
それで、本発明で説明する「復元」は、「変換」に代替することができる。
【0114】
一方、前記セキュリティ処理部(123)によって前記セキュリティコンテンツに挿入されたセキュリティモジュールは、前記カスタムモジュールにおいて、生成したクレデンシャル情報を用いて前記電子書籍コンテンツを閲覧するユーザー端末で前記カスタムモジュールやセキュリティモジュール以外の認証されない関数が含まれた外部モジュールを介して非正常的に前記電子書籍コンテンツにアクセスする場合を遮断することができて、これを介して前記電子書籍コンテンツにおけるセキュリティが成すように支援するが、これを前述の
図5および
図8を参考にして詳しく説明する。
【0115】
それで、前記ユーザー端末で動作する前記セキュリティモジュールは、配布モードに設定された状態で動作することができる。
【0116】
まず、セキュリティコンテンツがユーザー端末に転送される時、配布モードに設定された前記セキュリティモジュールは、ウェブブラウザで実行時、自動実行されてウェブブラウザのシステムAPIへアクセスする関数、または、呼び出し元を、フックを介して遮断することができる。
【0117】
また、前記セキュリティモジュールは、フックの後、前記ウェブブラウザで前記システムAPIにアクセスするために、前記システム関数を呼び出す関数である呼び出し元が発生すると(実行されると)、前記呼び出し元を実行させた特定モジュール(または、呼び出し元モジュール)から呼び出し元および前記呼び出し元に対応する関数の内容を含む呼び出し元情報を受信することができる。
【0118】
それで、前記セキュリティモジュールは、前記セキュリティコンテンツを電子書籍コンテンツに復元し、復元された前記電子書籍コンテンツを閲覧する過程で受信される呼び出し元情報をもとにして、前記システム関数を呼び出す呼び出し元を識別して、前記呼び出し元が前記セキュリティモジュールにあらかじめ定義された呼び出し元であるか判断することができる。
【0119】
一例として、前記セキュリティモジュールは、前記呼び出し元情報に含まれた特定呼び出し元の関数名をもとにして、前記特定呼び出し元のソースを識別することができて、前記ソースを基盤として、前記特定呼び出し元がセキュリティモジュールによって実行された呼び出し元であるかの可否を確認することができる。
【0120】
また、前記セキュリティモジュールは、前記呼び出し元情報による呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元である場合、前記セキュリティモジュールの呼び出し元においては、前記システムAPIへのアクセスおよびシステム関数の呼び出しを許して、前記セキュリティモジュールの呼び出し元によってシステム関数が呼び出されて実行されるようにすることができる。
【0121】
また、前記セキュリティモジュールは、システム関数を呼び出す呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元ではない場合、前記呼び出し元に対応して受信された呼び出し元情報をもとにして、前記呼び出し元における認証過程を行い、呼び出し元の認証可否によって、前記システムAPIにおけるアクセスおよびシステム関数の呼び出しにおける許しの可否を決定することができる(S5)。
【0122】
それで、前記セキュリティモジュールは、前記呼び出し元情報による呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元である場合、認証に成功したと判断することもできる。
【0123】
前述における一例として、前記配布モードに設定された前記セキュリティモジュールは、前記フックによって前記ウェブブラウザ上で前記システムAPIへアクセスする呼び出し元を遮断しながら、前記システムAPIへアクセスする特定呼び出し元の関数名および関数の内容を含むテキスト情報が含まれた呼び出し元情報を前記ウェブブラウザ上で前記特定呼び出し元を実行させた特定モジュールから受信することができる。
【0124】
それで、前記呼び出し元情報を転送する特定モジュールは、前記セキュリティモジュールであるか、前記カスタムモジュールであるか、前記セキュリティモジュールおよび前記カスタムモジュール以外のユーザーがコードで作成して前記ウェブブラウザ上で実行させた外部モジュールであることもある。
【0125】
また、呼び出し元情報は、ウェブブラウザで実行された特定呼び出し元の関数名、前記特定呼び出し元の関数に設定された属性名、前記特定呼び出し元の関数に設定された属性別パラメーターなどを含むテキスト情報を含むことができる。
【0126】
また、前記配布モードに設定されたセキュリティモジュールは、前記呼び出し元情報をもとにして、前記呼び出し元情報に対応する特定呼び出し元を識別することができる。
【0127】
また、配布モードに設定された前記セキュリティモジュールは、前記特定呼び出し元の識別によって、前記呼び出し元情報による特定呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元である場合、前記システムAPIへのアクセスを許して、前記特定呼び出し元が前記セキュリティモジュールにあらかじめ定義された呼び出し元ではない場合、前記特定呼び出し元における認証を行うことができる。
【0128】
一例として、配布モードに設定された前記セキュリティモジュールは、前記セキュリティモジュールにあらかじめ定義された呼び出し元ではないと判断された前記特定呼び出し元の呼び出し元情報を前記セキュリティモジュールにあらかじめ設定されたハッシュアルゴリズムに適用して、前記特定呼び出し元に対応するハッシュ情報を生成することができる。
【0129】
また、前記セキュリティモジュールは、前記特定呼び出し元の呼び出し元情報から前記特定呼び出し元における関数名を抽出して、前記呼び出し元情報をもとにして、生成されたハッシュ情報および前記抽出された特定呼び出し元の関数名を含む関数識別情報を前記特定呼び出し元に対応するように生成することができる。
【0130】
また、前記セキュリティモジュールは、前記セキュリティコンテンツに含まれたカスタムモジュールにおいて、カスタムモジュールに暗号化された状態で含まれた一つ以上のクレデンシャル情報をあらかじめ設定した復号化キーで復号化することができる。
【0131】
それで、前記セキュリティモジュールは、前記クレデンシャル情報における復号化失敗時、復号化失敗によるエラー情報を生成して、前記ウェブブラウザ上に示すことができて、前記セキュリティコンテンツを用いる電子書籍コンテンツへの復元を中止させることができる。
【0132】
また、前記セキュリティモジュールは、復号化過程で前記サービス提供装置(100)と通信して、前記サービス提供装置(100)を介して前記セキュリティモジュールが認証された場合、前記サービス提供装置(100)から前記復号化キーを受信して、前記復元情報、セキュリティオプション情報およびクレデンシャル情報のうち、少なくとも一つを復号化することもできる。
【0133】
また、前記セキュリティモジュールは、前記関数識別情報の生成時、前記関数識別情報による特定呼び出し元の関数名をもとにして、前記カスタムモジュールを検索して前記特定呼び出し元の関数名と一致する関数名が含まれたクレデンシャル情報が前記カスタムモジュールに存在するか判断することができて、前記特定呼び出し元の関数名と一致する関数名が含まれたクレデンシャル情報が前記カスタムモジュールに存在しない場合、前記関数識別情報による特定呼び出し元を認証されない呼び出し元と判断し、前記特定呼び出し元の前記システムAPIにおけるアクセスを遮断し、前記特定呼び出し元が呼び出すシステム関数の呼び出しおよび実行を遮断することができる。
【0134】
即ち、前記セキュリティモジュールは、特定呼び出し元の認証に失敗すると、認証されない前記特定呼び出し元の前記システムAPIにおけるアクセスの遮断を維持して、前記特定呼び出し元が呼び出すシステム関数が呼び出されないようにして、これを介して、特定呼び出し元が呼び出すシステム関数が実行されないようにすることができる。
【0135】
また、前記セキュリティモジュールは、前記特定呼び出し元を認証されない呼び出し元と判断し、前記特定呼び出し元の認証に失敗すると、前記特定呼び出し元および前記特定呼び出し元が呼び出したシステム関数のうち、少なくとも一つにおけるエラー情報を生成して、前記ユーザー端末のウェブブラウザに示すことができる。
【0136】
また、前記セキュリティモジュールは、前記関数識別情報による特定呼び出し元の関数名をもとにして、前記カスタムモジュールを検索して前記特定呼び出し元の関数名と一致するクレデンシャル情報が前記カスタムモジュールに存在すると、前記関数識別情報による特定呼び出し元の関数名と一致する関数名が含まれたクレデンシャル情報を前記カスタムモジュールで確認して抽出することができる。
【0137】
また、前記セキュリティモジュールは、前記関数識別情報に含まれる特定呼び出し元の関数名およびハッシュ情報を前記関数識別情報に対応して抽出した復号化された状態のクレデンシャル情報に含まれた関数名およびハッシュ情報と比べて前記関数識別情報と前記抽出されたクレデンシャル情報の相互間の一致可否を判断することができる。
【0138】
それで、前記セキュリティモジュールは、前記カスタムモジュールに含まれた一つ以上のクレデンシャル情報の全てを前記関数識別情報と比べることもできる。
【0139】
また、前記セキュリティモジュールは、前記関数識別情報と前記クレデンシャル情報の相互間の一致可否の判断による判断結果、相互一致する場合、前記関数識別情報による特定呼び出し元が認証されたと判断し、前記特定呼び出し元の前記システムAPIにおけるアクセスを許して、前記特定呼び出し元が呼び出すシステム関数を実行させることができる。
【0140】
即ち、前記セキュリティモジュールは、前記特定呼び出し元に対応するように生成された関数識別情報による関数名およびハッシュ情報と一致する関数名およびハッシュ情報が含まれたクレデンシャル情報が前記カスタムモジュールに存在すると、前記特定呼び出し元の認証に成功したと判断し、前記特定呼び出し元のシステム関数における呼び出しを許して、前記関数識別情報による前記特定呼び出し元によって呼び出されたシステム関数を前記特定呼び出し元の呼び出し元情報に定義された(設定された)関数の内容によって実行させることができる。
【0141】
また、前記セキュリティモジュールは、前記判断結果、前記関数識別情報と前記抽出されたクレデンシャル情報が相互間に一致しない場合、前記特定呼び出し元の認証に失敗したと判断し、前記特定呼び出し元のシステムAPIにおけるアクセスが遮断された状態を維持しながら前記エラー情報を前記ウェブブラウザ上に示すことができる。
【0142】
即ち、前記セキュリティモジュールは、前記関数識別情報による関数名およびハッシュ情報と一致する関数名およびハッシュ情報が含まれたクレデンシャル情報が前記カスタムモジュールに存在しないと、前記関数識別情報による特定呼び出し元のシステム関数におけるアクセスを遮断し、前記特定呼び出し元が呼び出すシステム関数が呼び出されないようにすることができて、これを介して、前記特定呼び出し元が呼び出そうとするシステム関数の実行を遮断することができる。
【0143】
前述における例示として、
図9に図示のように、前記セキュリティモジュールは、システムAPIが提供するシステム関数である「document.body.children」関数が呼び出されると、該システム関数の呼び出し元である「getText2」を識別して、該システム関数の呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元ではない場合、前記「document.body.children」関数の呼び出し元である「getText2」関数を構成するテキスト情報をあらかじめ設定したハッシュアルゴリズムに適用して、第1ハッシュ情報を生成することができて、前記第1ハッシュ情報および前記呼び出し元関数の関数名である「getText2」を含む関数識別情報を生成することができる。
【0144】
また、前記セキュリティモジュールは、前記カスタムモジュールに含まれた一つ以上のクレデンシャル情報をあらかじめ設定した復号化キーで復号化することができる。
【0145】
また、前記セキュリティモジュールは、前記「getText2」関数名をもとにして、前記セキュリティコンテンツのカスタムモジュールを検索して前記「getText2」関数名が含まれたクレデンシャル情報が存在すると、前記カスタムモジュールで前記「getText2」関数にマッチングしたクレデンシャル情報を抽出することができる。
【0146】
また、前記セキュリティモジュールは、前記抽出されたクレデンシャル情報に含まれた関数名(「getText2」)および第2ハッシュ情報を前記関数識別情報に含まれた関数名(「getText2」)および第1ハッシュ情報と比べて前記関数識別情報とクレデンシャル情報の相互間の一致可否を判断することができる。
【0147】
また、前記セキュリティモジュールは、前記一致可否の判断結果によって前記関数識別情報における認証可否を判断することができる。
【0148】
また、前記セキュリティモジュールは、前記判断結果、前記関数識別情報による関数名および第1ハッシュ情報と前記関数識別情報に対応して抽出された前記クレデンシャル情報から確認された関数名および第2ハッシュ情報が相互一致する場合、前記関数識別情報に対応する呼び出し元である「getText2」における認証に成功したと判断し、認証成功時、前記関数識別情報に対応する呼び出し元である「getText2」のシステムAPIにおけるアクセスを許して、前記「getText2」が呼び出すシステム関数である「document.body.children」を呼び出して、前記ウェブブラウザで該「document.body.children」関数が前記呼び出し元情報による「getText2」関数に含まれた関数の内容によって実行されるようにすることができる。
【0149】
また、前記セキュリティモジュールは、前記判断結果、前記関数識別情報による呼び出し元である「getText2」において、生成された第1ハッシュ情報と前記関数識別情報に対応して抽出された前記クレデンシャル情報から確認された第2ハッシュ情報が相互一致しない場合、前記関数識別情報における認証に失敗したと判断し、認証失敗時、前記呼び出し元である「getText2」のシステムAPIにおけるアクセスを遮断し、前記「getText2」が呼び出すシステム関数である「document.body.children」が呼び出されないようにすることによって、「document.body.children」が前記「getText2」によって前記ウェブブラウザで実行されないように遮断することができて、前記「getText2」および「document.body.children」のうち、少なくとも一つを含むあらかじめ設定されたエラー情報を出力することができる。
【0150】
また、
図9の例示を参考すると、システム関数である「document.body.children」における呼び出しを含む「getText2」関数のクレデンシャル情報(WEB_X_FUNCTION_CREDENTIAL)がカスタムモジュールに存在するため、「document.body.children」関数の呼び出しが許可されて、「getText2」関数の結果が正常的に出力されるが、ウェブブラウザデバッグコンソールで「document.body.children」を直接呼び出して、値を抽出しようとする場合に、クレデンシャル情報に前記システム関数を呼び出す呼び出し元(デバッグコンソール)情報が存在しないため、実行が許されなく、値が出力されないことがわかる。
【0151】
前述のように、前記セキュリティモジュールは、セキュリティモジュールではない特定モジュール(呼び出し元モジュール)によるシステムAPI基盤のシステム関数の呼び出し時ごとに、関数識別情報を生成して、前述のように関数識別情報に対応する呼び出し元における認証を行うことができる。
【0152】
また、前記セキュリティモジュールは、前記セキュリティコンテンツを前記電子書籍コンテンツに復元する過程でエラー情報が生成されないと、前記セキュリティコンテンツを電子書籍コンテンツに復元して前記ウェブブラウザに前記電子書籍コンテンツを示すことができる(S6)。
【0153】
一例として、前記セキュリティモジュールは、セキュリティコンテンツを、電子書籍コンテンツを復元する過程を行う一つ以上の呼び出し元の全てにおいて、認証に成功した場合、前記一つ以上の呼び出し元別に、システム関数が正常的に呼び出されるようにして、前記セキュリティコンテンツを電子書籍コンテンツに復元することができる。
【0154】
それで、前記復元された電子書籍コンテンツは、電子書籍コンテンツ(または、セキュリティコンテンツ)に含まれた全てのガベージ文字の文字サイズが全て0に変換された状態のコンテンツである。
【0155】
これを介して、前記ユーザー端末のユーザーは、前記ユーザー端末の表示部を介して、ウェブブラウザ上に表示された電子書籍コンテンツの原文を確認することができる。
【0156】
前述の構成で、前記セキュリティモジュールおよびウェブブラウザは、前記ユーザー端末に構成され、前記ユーザー端末の全般的な制御機能を行う制御モジュールを介して実行されることができて、前記制御モジュールは、RAM、ROM、CPU、GPU、バスを含むことができて、RAM、ROM、CPU、GPUなどはバスを介して互いにつながることができる。
【0157】
前述のように、本発明は、HTML基盤の原本コンテンツに意味のないガベージテキストを挿入して、難読化したセキュリティコンテンツで原本コンテンツに復元するために、HTMLで支援するJavaScript基盤として生成されたセキュリティモジュールをセキュリティコンテンツに挿入して、ユーザー端末に提供することによって、別途のプログラムを設置することなく、ウェブブラウザで支援するシステムAPIで作成されたセキュリティモジュールを介して原本コンテンツにおける閲覧権限のあるユーザーのみが原本コンテンツを閲覧できるように、ウェブブラウザに提供される電子書籍コンテンツを著作物侵害から効果的に保護できるとともに、セキュリティコンテンツを用いる原本コンテンツの閲覧過程でウェブブラウザのシステムAPIをフックした前記セキュリティモジュールを介してウェブブラウザで前記システムAPIが提供するシステム関数を呼び出す呼び出し元における認証の手順を行い、認証された呼び出し元によって呼び出されたシステム関数のみが実行されるように支援することによって、ウェブブラウザと連動する別途のプログラムを設置しなくても、ウェブブラウザで原本コンテンツの閲覧権限のないユーザーが認証されてない関数を作成して原本コンテンツに非正常的にアクセスする場合を容易に遮断することができて、ウェブブラウザ基盤の原本コンテンツにおける著作物侵害を容易に防止することができる。
【0158】
また、本発明は、電子書籍コンテンツセキュリティのための難読化の過程で電子書籍コンテンツに含まれた原本文字を抽出した後、ガベージ文字に設定して原本文字とガベージ文字とを仕分けることを難しくするように難読化することができて、電子書籍コンテンツにおけるセキュリティ性を高めることができる。
【0159】
また、本発明は、電子書籍コンテンツにおける様々な機能を提供するカスタムモジュールの制作のための制限のないJavaScriptプログラムの制作を許して、電子書籍コンテンツにおける利用権限のないJavaScriptプログラムによって実行されるシステムAPIやDOM属性値のような関数やマクロプログラムを用いるウェブ基盤のコンテンツ抽出用ボット(bot)の使用を防止するか、ウェブ基盤の電子書籍コンテンツを保護するために電子書籍コンテンツに挿入されたガベージテキストにおける非正常的な除去を防止できるように支援することによって、電子書籍コンテンツにおけるセキュリティ性をさらに高めることができる。
【0160】
図10は、本発明の実施例によるユーザー端末のウェブブラウザにHTML基盤の原本コンテンツを配布するサービス提供装置(100)のウェブブラウザ基盤のコンテンツセキュリティのためのサービス提供方法におけるフローチャートである。
【0161】
まず、前記サービス提供装置(100)は、前記原本コンテンツを構成する複数の原本文字をもとにして、一つ以上のガベージ文字を生成して保存することができる(S11)。
【0162】
また、前記サービス提供装置(100)は、あらかじめ保存された複数のガベージ文字のうち、ランダムに選ばれた一つ以上のガベージ文字を前記原本コンテンツに挿入して、前記原本コンテンツを難読化したセキュリティコンテンツを生成することができる(S12)。
【0163】
また、前記サービス提供装置(100)は、ウェブブラウザで提供するAPIのうち、前記セキュリティコンテンツを前記原本コンテンツに復元するための一つ以上の関数を呼び出すセキュリティモジュールを生成し(S13)、前記原本コンテンツと関連の一つ以上の機能を実行するために前記API基盤システム関数を呼び出す呼び出し元が一つ以上含まれたカスタムモジュール生成時、前記セキュリティモジュールを介して前記カスタムモジュールに含まれた一つ以上の呼び出し元別に、ハッシュ情報と関数名とがマッチングして含まれたクレデンシャル情報を生成した後、暗号化して前記カスタムモジュールに挿入し(S14)、前記セキュリティモジュールおよびカスタムモジュールを前記セキュリティコンテンツに挿入することができる(S15)。
【0164】
また、前記サービス提供装置(100)は、前記ユーザー端末のウェブブラウザから前記原本コンテンツの配布要請における要請情報の受信時、前記要請情報をもとにして、配布要請された前記原本コンテンツに対応するセキュリティコンテンツを識別することができる。
【0165】
それで、前記サービス提供装置(100)は、前記要請情報の受信時、前記要請情報に対応する原本コンテンツに基づいて前記セキュリティモジュールおよびカスタムモジュールが挿入された(含まれた)前記セキュリティコンテンツを生成した後、前記生成されたセキュリティコンテンツを前記要請情報に対応するセキュリティコンテンツに識別することもできる。
【0166】
また、前記サービス提供装置(100)は、前記ウェブブラウザのAPIにおけるフックを介して、前記ウェブブラウザで前記システム関数を呼び出す呼び出し元のうち、前記セキュリティモジュールにあらかじめ定義された呼び出し元ではない呼び出し元において、関数識別情報を生成した後、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在すると、前記関数識別情報に対応する呼び出し元のシステム関数における呼び出しを許すように前記セキュリティモジュールを動作させるために、前記要請情報によって、識別されたセキュリティコンテンツに含まれる前記セキュリティモジュールを配布モードに設定した後、前記識別されたセキュリティコンテンツを前記ユーザー端末のウェブブラウザに転送することができる(S16)。
【0167】
また、前記サービス提供装置(100)は、前記カスタムモジュールの生成過程で、前記セキュリティモジュールを開発モードに設定して前記カスタムモジュールに含まれる一つ以上の呼び出し元別に、前記セキュリティモジュールに設定されたハッシュアルゴリズムを介してハッシュ情報を生成して、前記カスタムモジュールに含まれた一つ以上の呼び出し元別に、前記生成されたハッシュ情報および関数名を含むクレデンシャル情報を生成した後、前記クレデンシャル情報を暗号化して前記カスタムモジュールに挿入することができる。
【0168】
また、前記サービス提供装置(100)は、前記ユーザー端末の前記ウェブブラウザから前記配布要請における要請情報の受信時、前記要請情報に対応するセキュリティコンテンツセキュリティモジュールを前記開発モードのかわりに、前記配布モードに設定することができる。
【0169】
また、前記配布モードに設定されたセキュリティモジュールは、前記ユーザー端末で前記ウェブブラウザのセキュリティコンテンツの実行によって前記ユーザー端末のウェブブラウザによって実行されて、前記ウェブブラウザでシステム関数を呼び出す呼び出し元を識別し、前記識別された呼び出し元がセキュリティモジュールにあらかじめ定義された呼び出し元ではない場合、前記識別された呼び出し元の関数におけるテキスト情報が含まれた呼び出し元情報を前記セキュリティモジュールのハッシュアルゴリズムに適用してハッシュ情報を生成した後、前記識別された呼び出し元に対応する関数名およびハッシュ情報を含む前記関数識別情報を生成して、前記カスタムモジュールに含まれた一つ以上のクレデンシャル情報を復号化した後、関数名およびハッシュ情報を基準として前記関数識別情報と相互比較し、比較の結果、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在しない場合、前記関数識別情報に対応する前記識別された呼び出し元のシステム関数における呼び出しを遮断し、前記関数識別情報と一致するクレデンシャル情報が前記カスタムモジュールに存在すると、前記識別された呼び出し元のシステム関数における呼び出しを許して、前記呼び出されたシステム関数が実行されるように動作することができる。
【0170】
本明細書に記述された様々な装置および構成部は、ハードウェア回路(例えば、CMOS基盤論理回路)、ファームウェア、ソフトウェア、または、これらの組合せによって具現することができる。
【0171】
例えば、実施例等で説明した構成要素は、メモリーなどの保存部、プロセッサー、コントローラー、ALU(arithmetic logic unit)、デジタルシグナルプロセッサー(digital signal processor)、マイクロコンピューター、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサーなどのハードウェア、コマンドセットを含むソフトウェアないしこれらの組合せ、または、命令(instruction)を実行して応答することのできる他のいかなる装置のように、一つ以上の汎用コンピューター、または、特殊目的のコンピューターを用いて具現することができる。
【0172】
前述の内容は、本発明が属する技術分野で通常の知識を有する者であるならば、本発明の本質的な特性から外れない範囲で修正および変形が可能なはずである。従って、本発明に開示された実施例らは、本発明の技術事象を限定するためのものではなく、説明するためのものであり、このような実施例によって本発明の技術事象の範囲が限定されることはない。本発明の保護範囲は、次の特許請求の範囲によって解釈されるべきであって、それと同等な範囲内にある全ての技術事象は、本発明の権利範囲に含まれると解釈されるべきである。
【符号の説明】
【0173】
100 サービス提供装置
101 コンテンツDB
102 ガベージDB
110 通信部
120 制御部
121 ガベージ収集部
122 コンテンツ処理部
123 セキュリティ処理部