新しい ブラウザのインスタンスを識別するために使用される手法。 メソッド ファビコンの画像処理機能に基づいています サイトがブックマーク、タブ、およびブラウザインターフェイスの他の要素に表示されるアイコンを決定する助けを借りて。
ブラウザはファビコン画像を別のキャッシュに保存しますは、他のキャッシュと重複しないため、すべての操作モードに共通であり、標準のキャッシュおよび閲覧履歴クリーナーによってクリアされません。
この機能 シークレットモードで作業している場合でも識別子を使用できます 取り外しが困難になります。 提案された方法を使用した認証は、VPNや広告ブロックプラグインの使用による影響も受けません。
識別方法は、ブラウザがページのパラメータで指定されたファビコン画像を要求しなかった場合に、ファビコンの読み込みに関する情報を分析することで、サーバー側でユーザーが以前にページを開いたかどうかを判断できるという事実に基づいています。 、次にページが先に読み込まれ、画像がキャッシュから表示されます。
l以来ブラウザを使用すると、独自のファビコンを設定できます 各ページについて、 有用な情報は、順次転送を介してエンコードできます ユーザーから複数の固有のページへ。
チェーン内のリダイレクトが多いほど、より多くの識別子を決定できます(識別子の数は、式2 ^ Nによって決定されます。ここで、Nはリダイレクトの数です)。 たとえば、4人のユーザーが3つのリダイレクト(8〜4、16〜10、1024〜24、16〜32万、4〜XNUMX億)に対応できます。
この方法の欠点は、遅延が長いことです。-精度が高いほど、リダイレクトがページを開くのに時間がかかります。
32のリダイレクトにより、すべてのインターネットユーザーの識別子が生成されますが、約XNUMX秒の遅延が発生します。 XNUMX万の識別子の場合、遅延は約XNUMX秒です。
この方法では、XNUMXつのモードで作業します:執筆と読書:
- 書き込みモード サイトに最初にアクセスしたユーザーの識別子を生成して保存します。
- 読書モード 以前に保存された識別子を読み取ります。
モードの選択は、サイトのメインページのファビコンファイルの要求によって異なります。画像が要求された場合、データはキャッシュされず、ユーザーが以前にサイトにアクセスしたことがないか、コンテンツがキャッシュされていると見なすことができます。 。時代遅れ。 研究者によると、HTTP Cache-Controlヘッダーを指定することで、最大XNUMX年間キャッシュ内のファビコンを実現できます。
読み取りモードで、サイトを開くとき、ユーザーはファビコンと事前定義されたページにチェーンされます HTTPサーバーは、サーバーから要求されたファビコンを解析します キャッシュからサーバーにアクセスせずに表示されます。 リクエストの存在は「0」としてコード化され、不在は「1」としてコード化されます。 今後の呼び出しで識別子を保持するために、ファビコンリクエストに応答して404エラーコードが表示されます。つまり、次にサイトを開いたときに、ブラウザはこれらのファビコンを再度読み込もうとします。
書き込みモードでは、リダイレクトループで 「1」をエンコードするページの場合、 ファビコンの正解が返されます。 ブラウザのキャッシュに保存され(サイクルが繰り返されると、ファビコンデータはサーバーにアクセスせずにキャッシュから返されます)、「0」をエンコードするページの場合-エラーコード404(リダイレクトサイクルを繰り返すと、ページデータ再度リクエストされます)。
このメソッドは、Chrome、Safari、Edge、および部分的にFirefoxで機能します。 Linux版Firefoxでは、スーパークッキーとしてのファビコンの使用は、ブラウザーがファビコンをキャッシュできないようにする機能によって妨げられています。
興味深いことに、認証方法の作成者は、約XNUMX年前にFirefox開発者にこの機能について通知し、キャッシュにエラーがあったことを指摘しましたが、彼らの作業については言及せず、エラーを修正するとユーザー識別の可能性につながると述べました。