(57)【特許請求の範囲】
【請求項１】
ウェブクローラアクセスを阻止するための方法であって、
ウェブクローラから保護されるべきウェブコンテンツを含むウェブページの要求を受信すること、
前記要求に対する応答であり、前記ウェブクローラから保護されるべきウェブコンテンツを含む前記ウェブページの暗号化バージョンのソースコードを含む応答を生成することであって、
第１の文字シーケンスが複数の文字を含み、第２の文字シーケンスが前記複数の文字を無作為な順序で含む２つの文字シーケンスのマッピング表を取得すること、
前記保護されるべきウェブコンテンツ内の各文字を、前記マッピング表内の対応文字に置き換えること、を含む、
前記保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成すること、
前記ウェブページの前記暗号化バージョンの前記ソースコード中に復号命令を挿入すること、を備える応答を生成すること、前記復号命令は、ウェブブラウザが前記暗号化コンテンツを復号することを可能にするように構成され、前記暗号化コンテンツ上で動作するスクリプトコードを含み、前記ウェブページの前記暗号化バージョンの前記ソースコードの無作為な位置に挿入されていること、
前記生成された応答を送信すること、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記ウェブコンテンツを暗号化することは、さらに、
前記保護されるべきウェブコンテンツを第１のコード体系から第２のコード体系に変換すること、
少なくとも１つのハイパーテキストマークアップ言語（HTML）要素タグを使用して、前記暗号化ウェブコンテンツをマークすること、
を含む、方法。
【請求項３】
請求項２に記載の方法であって、
前記第１のコード体系は、情報交換用米国標準コード（ASCII）であり、前記第２のコード体系は、Unicodeである、方法。
【請求項４】
請求項１に記載の方法であって、
前記復号命令は、前記マッピング表に従い前記暗号化コンテンツをマッピングしなおすスクリプトを含む、方法。
【請求項５】
請求項１に記載の方法であって、
前記復号命令は、JavaScriptコードを含む、方法。
【請求項６】
請求項１に記載の方法であって、
前記復号命令は、無作為に生成される復号コールの関数名を有するスクリプトコードを含む、方法。
【請求項７】
ウェブクローラから保護されるべきウェブコンテンツを含むウェブページの要求を受信するように構成された入力インターフェースと、
前記入力インターフェースに結合されたプロセッサであって、
前記要求に対する応答であり、前記ウェブクローラから保護されるべきウェブコンテンツを含む前記ウェブページの暗号化バージョンのソースコードを含む応答を生成することであって、
第１の文字シーケンスが複数の文字を含み、第２の文字シーケンスが前記複数の文字を無作為な順序で含む２つの文字シーケンスのマッピング表を取得すること、
前記保護されるべきウェブコンテンツ内の各文字を、前記マッピング表内の対応文字に置き換えること、を含む、
前記保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成すること、
前記ウェブページの前記暗号化バージョンの前記ソースコード中に復号命令を挿入すること、を備える応答を生成すること、前記復号命令は、ウェブブラウザが前記暗号化コンテンツを復号することを可能にするように構成され、前記暗号化コンテンツ上で動作するスクリプトコードを含み、前記ウェブページの前記暗号化バージョンの前記ソースコードの無作為な位置に挿入されていること、
前記生成された応答を送信することを実行するように、
構成されたプロセッサと、
を備えるシステム。
【請求項８】
請求項７に記載のシステムであって、
前記ウェブコンテンツを暗号化することは、さらに、
前記保護されるべきウェブコンテンツを第１のコード体系から第２のコード体系に変換すること、
少なくとも１つのハイパーテキストマークアップ言語（HTML）要素タグを使用して、前記暗号化ウェブコンテンツをマークすること、
を含む、システム。
【請求項９】
請求項８に記載のシステムであって、
前記第１のコード体系は、情報交換用米国標準コード（ASCII）であり、前記第２のコード体系は、Unicodeである、システム。
【請求項１０】
請求項７に記載のシステムであって、
前記復号命令は、前記マッピング表に従い前記暗号化コンテンツをマッピングしなおすスクリプトを含む、システム。
【請求項１１】
請求項７に記載のシステムであって、
前記復号命令は、JavaScriptコードを含む、システム。
【請求項１２】
請求項７に記載のシステムであって、
前記復号命令は、無作為に生成される関数名を有するスクリプトコードを含む、システム。
【請求項１３】
ウェブクローラアクセスを阻止するためのコンピュータプログラムであって、
ウェブクローラから保護されるべきウェブコンテンツを含むウェブページの要求を受信するための機能と、
前記要求に対する応答であり、前記ウェブクローラから保護されるべきウェブコンテンツを含む前記ウェブページの暗号化バージョンのソースコードを含む応答を生成するための機能であって、
第１の文字シーケンスが複数の文字を含み、第２の文字シーケンスが前記複数の文字を無作為な順序で含む２つの文字シーケンスのマッピング表を取得すること、
前記保護されるべきウェブコンテンツ内の各文字を、前記マッピング表内の対応文字に置き換えること、を含む、
前記保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成すること、
前記ウェブページの前記暗号化バージョンの前記ソースコード中に復号命令を挿入すること、を備える応答を生成するための機能と、前記復号命令は、ウェブブラウザが前記暗号化コンテンツを復号することを可能にするように構成され、前記暗号化コンテンツ上で動作するスクリプトコードを含み、前記ウェブページの前記暗号化バージョンの前記ソースコードの無作為な位置に挿入されていること、
前記生成された応答を送信するための機能と
をコンピュータによって実現させるコンピュータプログラム。
【請求項１４】
請求項１に記載の方法であって、前記復号命令は、前記ウェブページの暗号化バージョンのソースコードを伴う前記マッピング表のスクリプトコードを含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２００８年７月２４日付けで出願され「METHOD, SYSTEM, AND APPARATUS FOR ENCRYPTING AND DECRYPTING WEBPAGES（ウェブページを暗号化及び復号するための方法、システム、及び装置）」と題された中国特許出願第２００８１０１３４４５３．８号の優先権を主張する。該出願は、あらゆる目的のために参照によって本明細書に組み込まれる。
【０００２】
本発明は、総じて、インターネット技術の分野に関するものであり、特に、ウェブクローラが保護情報にアクセスすることを阻止するための方法、システム、及びデバイスに関するものである。
【背景技術】
【０００３】
ウェブクローラは、ワールドワイドウェブから情報を自動的にダウンロード及び抽出するソフトウェアプログラムである。クローラは、定められた目的に従って必要な情報を得るために、ワールドワイドウェブ内のウェブページ及び関連リンクに選択的にアクセスする。クローラは、多くの場合、ネットワークからのデータ収集及び検索エンジンのデータベースへのデータアップロードに使用される。しかしながら、クローラには、スパムを送信するなどの悪意の目的のためにＥメールアドレスなどのウェブページ上の特定種類の情報を集めるものがある。また、クローラは、ときには、ウェブサイトから有用なコンテンツを調達しこのような情報をその作成者の許可を得ることなく悪用することもある。したがって、一部のウェブページコンテンツは、ウェブクローラから保護されることが望ましい。
【０００４】
既存の対クロール技術は、通常、単位時間内に一ＩＰユーザによってなされるアクセス要求の最大回数を設定すること、各一ＩＰユーザがウェブサイトにアクセスするときの要求を追跡すること、及び単位時間内にそのユーザによってなされるウェブサイトへの要求の回数を記録することを伴う。システムは、システムによって記録された、単位時間内に一ユーザによってなされるウェブサイトへの要求の回数が、ウェブサイトによって設定された、単位時間内に一ＩＰユーザによってなされるアクセス要求の最大回数を超えるかどうかを判定する。もし最大回数を超えなかった場合は、そのユーザ要求は許可され、それ以外の場合は、クローラによるクロール要求であると判定され、そのユーザの要求は拒絶される。ユーザに通知を送信する又はＩＰを直接遮断するなどのその他のアクションも実施され得る。
【０００５】
既存の対クロール技術は、ウェブサイトに対して頻繁に要求を行うユーザの要求を悪意あるクロールとみなして拒絶するので、そのようなユーザに悪印象を与える可能性がある。更に、クローラは、標的にしたウェブサイト上の情報をクロールするためにＩＰアドレスを偽ることによってウェブサイトサーバによる監視を欺く可能性もある。
【０００６】
以下の詳細な説明及び添付の図面において、発明の様々な実施形態が開示される。
【図面の簡単な説明】
【０００７】
【図１】ウェブクローラアクセスを阻止するためのプロセスの一実施形態を示した流れ図である。
【０００８】
【図２】暗号化コンテンツを生成するために使用される暗号化プロセスの一実施形態を示した流れ図である。
【０００９】
【図３】復号プロセスの一実施形態を示した流れ図である。
【００１０】
【図４】上述されたプロセスを実行するためのシステムの一実施形態を示したブロック図である。
【００１１】
【図５】ウェブページを復号するように構成されたクライアントシステムの一実施形態を示したブロック図である。
【００１２】
【図６】ウェブページコンテンツを暗号化するように構成されたサーバシステムの一実施形態を示したブロック図である。
【発明を実施するための形態】
【００１３】
発明は、プロセス、装置、システム、合成物、コンピュータ可読記憶媒体に盛り込まれたコンピュータプログラム製品、並びに／又は結合先のメモリに格納された命令及び／若しくは結合先のメモリによって提供される命令を実行するように構成されたプロセッサを含む、数々の形態で実現することができる。本明細書では、これらの実現形態、又は発明が取り得るその他の任意の形態は、技術と称されてよい。総じて、開示されたプロセスのステップの順序は、発明の範囲内で可変である。別途明記されない限り、タスクを実施するように構成されるものとして説明されるプロセッサ又はメモリなどのコンポーネントは、所定時にタスクを実施するように一時的に構成される汎用コンポーネント、又はタスクを実施するように製造された特殊コンポーネントとして導入され得る。本明細書で使用される「プロセッサ」という用語は、コンピュータプログラム命令などのデータを処理するように構成された１つ又は２つ以上のデバイス、回路、及び／又は処理コアを意味するものとする。
【００１４】
発明の原理を例示した添付の図面を伴って、以下において、発明の１つ又は２つ以上の実施形態に関する詳細な説明が提供される。発明は、このような実施形態に関連して説明されるが、いかなる実施形態にも限定されない。発明の範囲は、特許請求の範囲によってのみ限定され、数々の代替、変更、及び等価な形態を内包する。以下の説明では、発明の完全な理解を可能にするために、数々の詳細が特定されている。これらの詳細は、例示を目的として提供されるものであり、発明は、これらの詳細の一部又は全部を伴わずとも、特許請求の範囲にしたがって実施され得る。明瞭さを期するため、発明に関連した技術分野で知られている技工物は、発明が不必要に不明瞭にされないように、詳細な説明を省略されている。
【００１５】
ウェブコンテンツへのウェブクローラアクセスの阻止について説明される。一部の実施形態では、暗号化されなければはっきり見えるであろう非暗号化ウェブコンテンツが暗号化される。そのウェブコンテンツを求める要求をウェブクライアントが出すと、ウェブサーバは、暗号化されたコンテンツを復号関数とともに提供する。該復号関数は、普通のウェブブラウザであれば、暗号化されたコンテンツを復号して復号コンテンツをレンダリングするために実行することができるであろう関数である。特定のコンテンツを標的としたウェブクローラは、復号関数を実行してコンテンツを復号することができる可能性が低く、ゆえに、コンテンツは保護される。
【００１６】
図１は、ウェブクローラアクセスを阻止するためのプロセスの一実施形態を示した流れ図である。プロセスは、ウェブサーバシステム上で実行され得る。
【００１７】
この例では、１０１において、保護されるべき特定の情報を含むウェブページを求める要求が受信される。例えば、要求は、販売されている特定のエレクトロニクス商品を含むウェブページを求めるHTTP GETを含み得る。ウェブサイトの所有者は、商品の価格設定及び供給力をその他のウェブサイトと共有することを望まないので、この情報は、ウェブクローラから保護されるべきである。１０２では、保護されるべきコンテンツが暗号化プロセスを使用して暗号化され、暗号化コンテンツが生成される。暗号化プロセスの詳細な一例が、後述される。このステップは、要求の受信前に、要求の受信と同時に、又は要求の受信後に行われ得る。１０３では、要求に対する応答が生成され、要求元に送信される。一部の実施形態では、応答は、暗号化コンテンツ及び復号命令を含むフォーマット済みのハイパーテキストマークアップ言語（ＨＴＭＬ）ページを含む。のちほど更に詳しく説明されるように、復号命令は、一部の実施形態では、標準的なウェブブラウザによって実行されてそのウェブブラウザが暗号化コンテンツを復号することを可能にするように構成された関数呼び出しを含む。
【００１８】
一部の実施形態では、保護を必要とするコンテンツの暗号化は、高速の置換及び結合の技術を使用してウェブサイトサーバによって実施され、暗号化ウェブページのコンテンツの復号は、クライアントブラウザによって実施される。したがって、ＩＰアドレスをなりすましているが復号命令を実行する能力に欠けているウェブクローラが、保護されたコンテンツにアクセスすることができないであろう一方で、ウェブサイトにアクセスするために標準ブラウザを使用している標準的なユーザは、どれほど頻繁にウェブページにアクセスしようとも、サービスを拒絶されることはないであろう。
【００１９】
図２は、暗号化コンテンツを生成するために使用される暗号化プロセスの一実施形態を示した流れ図である。プロセスは、サーバ上で行われ得る。
【００２０】
２０１では、２つの文字シーケンスのマッピング表が得られる。一部の実施形態では、このステップは、第１の文字シーケンス（例えば、0、1、2、3、4、5、6、7、8、9、&、#、及び;）を形成することと、第１のシーケンスの各文字を行き来して、第１のシーケンスの各文字についての無作為な数字を生成し、１３個の無作為な数字を伴う新しいシーケンスを得ることと、１３個の無作為な数字をそれらの値に従って、ウェブサイトサーバによってバブルソートで再配置して、１３個の無作為な数字からなる数字キューを得ることと、その数字キューの各無作為な数字をウェブサーバによって第１のキューの対応文字に置き換えて、上記の１３個の文字（例えば、4、7、2、#、0、3、&、6、1、8、9、;、及び5）によって形成される第２のキューを得ることと、を含む。マッピングができるだけ無作為であることを確実にするため、新しいアクセス要求が受信されるたびに新しいマッピングが得られる。
【００２１】
ウェブページは、Javaサーブレット、アクティブサーバページ（ASP）、パーソナルホームページプログラム（PHP）、C#などのツールを使用して実装されると想定される。この例では、２０２において、サーバ上で動作している暗号化プログラムが、保護を必要とするウェブページコンテンツを情報交換用米国標準コード（ASCII）コード体系からUnicodeコード体系に変換する。Unicodeは、コンピュータ上で使用されている文字コード体系の一種であり、クロス言語やクロスプラットフォームのテキスト変換及び処理の要件を満足させるために、あらゆる種類の言語のあらゆる文字について固有で且つ統一された２進コードを設定する。Unicodeコードは、文字：0、1、2、3、4、5、6、7、8、9、&、#、及び;からなる。サーバの暗号化プログラムは、Java（登録商標）、C、ASP、PHP、又はその他の任意の適切なプログラミング言語などのプログラミング言語を使用して実装される。
【００２２】
２０３では、２０１で生成されたマッピング表を使用して、Unicodeでコード化されたウェブページコンテンツのストリング内の各文字が、マッピング表の第２のキュー内の対応文字に置き換えられる。上記の例では、0、1、2、3、4、5、6、7、8、9、&、#、及び;のUnicodeコードが、対応する4、7、2、#、0、3、&、6、1、8、9、;、及び5にそれぞれ置き換えられる。マッピング表の第２のキュー内の値の配置は、無作為であり、これは、Unicodeでコード化されたウェブページ内の各文字が無作為な文字によって置き換えられて新しいストリングを形成することを意味する。保護されるべきウェブページコンテンツのUnicode文字は、マッピング表に従って暗号化Unicode文字に変換され、サーバ上で、ウェブページコンテンツの暗号化が完了する。
【００２３】
２０４では、暗号化ウェブページコンテンツは、layer div、html table、及びtable cellなどのHTML要素タグを使用してマークされる。
【００２４】
２０５では、スクリプト言語で記述された復号命令が、暗号化ウェブページのどこかに挿入される。スクリプト言語の例は、JavaScript、VBScript、Flash Scriptなどを含む。復号呼び出しの関数名は、一部の実施形態では、無作為に生成される。一部の実施形態では、スクリプトコードは、ウェブページのHTMLソースコードの無作為な位置に挿入されるので、クローラは、復号命令がどこに位置しているかを予測することができない。改行や空白などのスクリプト言語コードの記述フォーマットは、無作為に生成及び定義することができる。コンテンツの復号に使用されるスクリプト言語の関数名、フォーマット、及び、ウェブページ内における位置は、全て、無作為であってよい。
【００２５】
図３は、復号プロセスの一実施形態を示した流れ図である。プロセスは、ウェブブラウザなどのクライアントプログラムを実行するコンピュータ又はモバイルデバイスなどのクライアントデバイス上で実施され得る。
【００２６】
３０１では、暗号化コンテンツを伴うウェブページにアクセスするために、ウェブブラウザを通じてユーザ要求がなされる。例えば、ブラウザは、ユーザにとって興味のあるウェブページを求めるHTTP GET要求を送信し得る。
【００２７】
３０２では、ブラウザは、ウェブページをロードして、復号を実行する。
【００２８】
一部の実施形態では、復号スクリプトに従って、ブラウザは、暗号化ウェブページコンテンツを得るために適切なHTMLタグを突き止める。復号命令は、上述された単純な暗号化プロセスの逆動作を実施する。３０３では、復号命令は、暗号化プロセスのステップ２０１で生成されたマッピング表内の１対１の対応関係に従って暗号化Unicodeコンテンツをマッピングしなおして非暗号化Unicode文字ストリングを得るように、ブラウザに命じる。
【００２９】
３０４では、復号命令は、非暗号化UnicodeストリングをASCIIに再変換して元の非暗号化ウェブページコンテンツを得るように、ブラウザに命じる。
【００３０】
３０５では、ブラウザは、ブラウザによって得られた復号ウェブページコンテンツを対応するHTML要素のinnerHTMLに設定する。
【００３１】
３０６では、ブラウザは、非暗号化コンテンツを含むウェブページを表示する。コンテンツは復号されているので、ユーザ経験は、暗号化が一度も起きなかった場合と同じである。
【００３２】
以下は、暗号化ウェブコンテンツを含むウェブページのソースコードの一例である。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK"/>
<title>An offer Example</title>
</head>
<body>
<!--  the  offer's title was encrypted -->
<h1><span id="titleSpan">67481;2367494&43674#841367410;43674#1;#3671&0;83674;24;367192&0367459453</span></h1>
<!--  the  offer's title was encrypted -->
<h2>Unit Price: $300<h2>
<h2>Shipping Cost: $200<h2>
<h2>Contact: Mr.Green </h2>
<h2>Phone number: (415)555-8528 </h2>
<div>Energy saving clothes washer.  One year warranty.</div>
<!≡Script for decryption -->
<script language="JavaScript">
function U2A(str) { 
var code = str.match(/&#(\d+);/g);
var res = ''; 
if (code == null) { return ''; }
for (var i=0; i<code.length; i++)
res += String.fromCharCode(code[i].replace(/[&#;]/g, ''));
return res;
}
var table_origin = new Array('3','7','#','4','6','8','&','2','1',';','5','0','9');
var table_trans  = new Array('1',';','7','9','5','#','6','4','&','3','0','8','2');
function changeChar(char,table1,table2){
var res ='';
if(table1.length != table2.length)
{ 
return '';
}
for(var i =0;i<table1.length;i++){
if(table1[i]== char){    
return table2[i];
}
}
return res;
}
function escapeAnd(str){ 
return str.replace(new RegExp("&amp;","gm"),"&");
}
function changeStr(str,table1,table2){
var res  = "";  
for (var i=0; i<str.length; i++){
res += changeChar(str.charAt(i),table1,table2);
}
return res;
}
function decrypt(str){
return changeStr(str,table_trans,table_origin);
}
function decryptTitle(){
var str = escapeAnd(document.getElementById("titleSpan").innerHTML) ;
var str_U = decrypt(str);
var title =  U2A(str_U);
document.getElementById("titleSpan").innerHTML = title;
return title;
}
decryptTitle();
</script>
</body>
</html>
【００３３】
示された例では、販売されている製品の正式名／モデルを含む、ウェブページのタイトルが暗号化される。ページ上の無作為な位置に、復号命令（すなわち、「decryptTitle」関数を実行するスクリプト）が挿入される。上記のウェブページにアクセスする普通のウェブブラウザは、タイトルを復号するために、JavaScriptを呼び出すであろう。しかしながら、ウェブクローラは、コンテンツの一部分のみを収集するのは通常であり、ページ上のスクリプトは呼び出さない。更に、復号のためのスクリプト言語の位置は無作為であるので、たとえクローラがスクリプトを実行する能力を有していたとしても、ウェブクローラプログラムにとって、復号スクリプトを探してウェブページ内の暗号化部分を復号することは困難である。クローラは、暗号化コンテンツ（この場合は、製品のタイトル）を含むウェブページのコンテンツを集める。格納された暗号化情報は、容易に検索する又は役立てることができないので、専有コンテンツ（この場合は、販売に出されている特定の製品に関する情報）を保護するというウェブサイト所有者の目的は達成される。
【００３４】
上述された暗号化／復号技術は、単に例示を目的としたものである。暗号化／復号が高速である限り、その他の多くのコンテンツ暗号化／復号方法が使用可能である。
【００３５】
図４は、上述されたプロセスを実行するためのシステムの一実施形態を示したブロック図である。システムは、ウェブページコンテンツを暗号化して暗号化ページをクライアントデバイスに送信するように構成されたサーバ１０を含む。サーバ１０は、図１及び図２に関連して説明された例のような暗号化プロセスを実施することができる。システムは、更に、クライアントデバイス２０を含み、該デバイス２０は、パソコン、閲覧機能を備えた携帯電話などのモバイルデバイス、又はブラウザ３０を動作させるその他の任意の適切なデバイスであり得る。ブラウザは、図３で説明された例のようなプロセスを使用して、暗号化ウェブページコンテンツを復号して復号ウェブページコンテンツをユーザに対して表示することができる。
【００３６】
図５は、ウェブページを復号するように構成されたクライアントシステムの一実施形態を示したブロック図である。システムは、スクリプト言語を伴う暗号化ウェブページコンテンツを得るように構成された受信モジュール５００（例えば、ポート、ケーブル、有線若しくは無線ネットワークインターフェースカードなどの通信インターフェース、及び通信バスなどの内部接続）と、受信モジュール５００によって受信された暗号化コンテンツを復号するように構成された復号モジュール５１０と、復号モジュール５１０によって復号された復号コンテンツを表示するように構成された表示モジュール５２０と、受信モジュール５００によって受信された暗号化ウェブページコンテンツのUnicode文字を、暗号化前のUnicode文字に復元し、Unicodeでコード化された復号ストリングを得るように構成された復元モジュール５３０と、Unicodeを使用してコード化され復元モジュール５３０によって復元された復号ストリングを、ASCIIを使用してコード化されたストリングに変換し、復号ウェブページコンテンツを得るように構成された第３の変換モジュール５４０と、を含む。
【００３７】
図６は、ウェブページコンテンツを暗号化するように構成されたサーバシステムの一実施形態を示したブロック図である。システムは、サーバ上の暗号化アルゴリズムによってウェブページコンテンツを暗号化するための暗号化モジュール６００と、暗号化モジュール６００によって暗号化される必要があるウェブページコンテンツをASCIIからUnicodeに変換するための第１の変換モジュール６１０と、第１の変換モジュール１１０によって変換された、暗号化される必要があるウェブページコンテンツのUnicode文字を暗号化Unicode文字に変換するための第２の変換モジュール１２０と、暗号化モジュール１００によって暗号化されたウェブページの暗号化コンテンツを復号するために使用されるスクリプト言語を、暗号化モジュール１００によって暗号化されたウェブページのどこかに挿入するように構成された挿入モジュール１３０と、暗号化モジュール１００によって暗号化された暗号化ウェブページコンテンツを、識別マークを含むHTML要素タグを使用してパッケージ化するように構成されたパッケージ化モジュール１４０と、パッケージ化モジュール１４０によってパッケージ化されたウェブページの暗号化コンテンツをクライアントブラウザに送信するように構成された送信モジュール１５０と、を含む。
【００３８】
本発明の範囲内の実施形態は、コンピュータ実行可能命令若しくはデータ構造を運ぶための又はコンピュータ実行可能命令若しくはデータ構造を格納されたコンピュータ可読媒体も含む。このようなコンピュータ可読媒体は、汎用コンピュータ又は専用コンピュータによってアクセス可能な任意の入手可能媒体であってよい。例えば、限定はされないが、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくはその他の光ディスクストレージ、磁気ディスクストレージ若しくはその他の磁気ストレージデバイス、又はコンピュータ実行可能命令若しくはデータ構造の形態で所望のプログラムコード手段を運ぶ若しくは格納するために使用可能なその他の任意の媒体を含むことができる。ネットワーク又は別の通信接続（有線、無線、若しくはそれらの組み合わせのいずれか）を通じてコンピュータに情報が転送又は提供されるときに、そのコンピュータは、その接続を正しくコンピュータ可読媒体と見なす。したがって、このような接続はいずれも、正しくコンピュータ可読媒体と称される。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれることが望ましい。
【００３９】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、又は専用処理装置に特定の関数又は関数群を実施させる命令及びデータを含む。コンピュータ実行可能命令は、また、スタンドアロン環境又はネットワーク環境にあるコンピュータによって実行されるプログラムモジュールも含む。総じて、プログラムモジュールは、特定のタスクを実施する又は特定の抽象データ型を実行するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータ実行可能命令、関連のデータ構造、及びプログラムモジュールは、本明細書に開示された方法のステップを実行するためのプログラムコード手段の例を表わしている。このような実行可能命令又は関連のデータ構造の特定の順序は、説明された関数をこのようなステップで実現するための対応活動の例を表わしている。
【００４０】
当業者ならば、ネットワークコンピューティング環境において、パソコン、携帯用デバイス、マルチプロセッサシステム、マイクロプロセッサベースの又はプログラマブルな家庭用電子機器、ネットワークＰＣ、ミニコン、メインフレームコンピュータなどを含む多くの種類のコンピュータシステム構成によって発明のその他の実施形態が実施され得ることがわかる。実施形態は、また、通信ネットワークを通じて（有線リンク、無線リンク、又はそれらの組み合わせによって）リンクされたローカル処理デバイス及びリモート処理デバイスによってタスクを実施される分散コンピューティング環境においても実施され得る。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリストレージデバイス及びリモートメモリストレージデバイスの両方に配され得る。
【００４１】
以上の実施形態は、理解を明瞭にする目的で幾らか詳細に説明されてきたが、発明は、提供された詳細に限定されない。発明を実現するには、多くの代替方法がある。開示された実施形態は、例示的であり、限定的ではない。
適用例１：ウェブクローラアクセスを阻止するための方法であって、ウェブクローラから保護されるべきウェブコンテンツを含むウェブページの要求を受信し、前記保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成し、前記暗号化コンテンツ及び復号命令の送信を含む、前記要求に対する応答を行い、前記復号命令は、ウェブブラウザが前記暗号化コンテンツを復号することを可能にするように構成されこと、を備える方法。
適用例２：適用例１に記載の方法であって、前記ウェブコンテンツの暗号化は、２つの文字シーケンスのマッピング表を得て、第１の文字シーケンスは複数の文字を含み、第２の文字シーケンスは、前記複数の文字を無作為な順序で含み、前記保護されるべきウェブコンテンツ内の各文字を、前記マッピング表内の対応文字に置き換えること、を含む、方法。
適用例３：適用例１に記載の方法であって、前記ウェブコンテンツの暗号化は、２つの文字シーケンスのマッピング表を得て、第１の文字シーケンスは複数の文字を含み、前記第２の文字シーケンスは複数の文字を無作為な順序で含み、前記保護されるべきウェブコンテンツを第１のコード体系から第２のコード体系に変換し、前記保護されるべきウェブコンテンツ内の各文字を前記マッピング表内の対応文字に置き換えて、暗号化ウェブコンテンツを生成し、少なくとも１つのハイパーテキストマークアップ言語（HTML）要素タグを使用して、前記暗号化ウェブコンテンツをマークする、を含む、方法。
適用例４：適用例３に記載の方法であって、前記第１のコード体系は、情報交換用米国標準コード（ASCII）であり、前記第２のコード体系は、Unicodeである、方法。
適用例５：適用例１に記載の方法であって、前記復号命令は、スクリプトを含む、方法。
適用例６：適用例１に記載の方法であって、前記復号命令は、JavaScriptコードを含む、方法。
適用例７：適用例１に記載の方法であって、前記復号命令は、前記ウェブページ上の無作為な位置に挿入される、方法。
適用例８：ウェブクローラから保護されるべきウェブコンテンツを含むウェブページの要求を受信するように構成された入力インターフェースと、前記入力インターフェースに結合されたプロセッサであって、前記保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成し、前記暗号化コンテンツ、及びウェブブラウザが前記暗号化コンテンツを復号することを可能にするように構成された復号命令の送信を含む、前記要求に対する応答を実行するように、構成されたプロセッサと、を備えるシステム。
適用例９：適用例８に記載のシステムであって、前記ウェブコンテンツのは、２つの文字シーケンスのマッピング表を得て、第１の文字シーケンスは複数の文字を含み、第２の文字シーケンスは前記複数の文字を無作為な順序で含み、前記保護されるべきウェブコンテンツ内の各文字を前記マッピング表内の対応文字に置き換えること、を含む、システム。
適用例１０：適用例８に記載のシステムであって、前記ウェブコンテンツの暗号化は、２つの文字シーケンスのマッピング表を得て、第１の文字シーケンスは複数の文字を含み、第２の文字シーケンスは前記複数の文字を無作為な順序で含み、前記保護されるべきウェブコンテンツを第１のコード体系から第２のコード体系に変換し、前記保護されるべきウェブコンテンツ内の各文字を前記マッピング表内の対応文字に置き換えて、暗号化ウェブコンテンツを生成し、少なくとも１つのハイパーテキストマークアップ言語（HTML）要素タグを使用して、前記暗号化ウェブコンテンツをマークすること、を含む、システム。
適用例１１：適用例１０に記載のシステムであって、前記第１のコード体系は、情報交換用米国標準コード（ASCII）であり、前記第２のコード体系は、Unicodeである、システム。
適用例１２：適用例８に記載のシステムであって、前記復号命令は、スクリプトを含む、システム。
適用例１３：適用例８に記載のシステムであって、前記復号命令は、JavaScriptコードを含む、システム。
適用例１４：適用例８に記載のシステムであって、前記復号命令は、前記ウェブページ上の無作為な位置に挿入される、システム。
適用例１５：ウェブクローラアクセスを阻止するためのコンピュータプログラム製品であって、コンピュータ可読記憶媒体に格納され、ウェブクローラから保護されるべきウェブコンテンツを含むウェブページの要求を受信するためのコンピュータ命令と、前記保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成するためのコンピュータ命令と、前記暗号化コンテンツ及び復号命令を送信することを含む前記要求に対する応答を実行するためのコンピュータ命令と、前記復号命令は、ウェブブラウザが前記暗号化コンテンツを復号することを可能にするように構成されること、を備えるコンピュータプログラム製品。
【要約】
【課題】ウェブクローラアクセスを阻止するためのシステム及び方法
【解決手段】ウェブクローラアクセスを阻止することは、ウェブクローラから保護されるべきウェブコンテンツを含むウェブページを求める要求を受信することと、保護されるべきウェブコンテンツを暗号化して、暗号化コンテンツを生成することと、暗号化コンテンツ及び復号命令を送信するなどによって要求に応答することと、を含む。復号命令は、ウェブブラウザが暗号化コンテンツを復号することを可能にするように構成される。
【選択図】図５【図１】
0005624686.tif 000002
【図２】
0005624686.tif 000003
【図３】
0005624686.tif 000004
【図４】
0005624686.tif 000005
【図５】
0005624686.tif 000006
【図６】
0005624686.tif 000007