フィンガープリント 【fingerprint】

概要

フィンガープリント(fingerprint)とは、指紋(を採る)、拇印という意味の英単語で、IT分野では人物や端末などの識別や同定、真正性の確認に用いられる短いデータ列などを指すことが多い。

例えば、電子メールのようなメッセージをインターネットなど信頼できない経路で伝送する際に、本文をハッシュ関数で計算して得られたハッシュ値を末尾などに記載したものをフィンガープリントという。

受信者は受け取ったメッセージの本文から同じようにハッシュ値を計算し、添付されたフィンガープリントに一致するか比較することで、伝送途上で攻撃者による改竄やすり替えが行われていないか確認することができる。これに公開鍵暗号を組み合わせ、送信者の本人確認なども行えるようにしたものを「デジタル署名」(電子署名/公開鍵署名)という。

コンテンツフィンガープリント (content fingerprinting)

画像や動画、音声などデータ量が大きいコンテンツについて、一定の計算手順によって算出される、特徴を表す短いデータをフィンガープリントということがある。著作権保護のための複製物の自動的な比較・照合システムなどで用いられる。

これらのコンテンツは文字データなどに比べデータ量が多く、比較や照合のために膨大なリソースが必要で、内容を実質的に保ったままわずかに改変して異なるデータ列に変換することも容易なため、単純な手法ではコピーされたファイルなどの単純な複製物しか検知できないという問題がある。

そのため、個々のコンテンツの特徴を表す固有性の高い短い符号列を生成し、これを比較することで高速に照合、複製検知を行う手法が研究されている。

ブラウザフィンガープリント (デバイスフィンガープリント)

Webサイトの閲覧者の識別や同定を行うために算出する、端末に固有な短いデータ列をフィンガープリントという。Cookieなど閲覧者のコンピュータにデータを永続的に書き込む機能を用いなくても端末の識別が可能で、広告配信などに応用されている。

WebサイトがWebブラウザ側から取得できる属性値として、ブラウザの名称やバージョン、OS名、画面解像度、国や言語の設定などがある。これらは一つ一つは他の多くの閲覧者と共通しており(Windows 10利用者は世界に何億人もいる)、それ自体は個人や端末の固有性とは無関係だが、取得できる情報をすべてを組み合わせて一繋ぎのデータとすることで固有性が高まり、端末や閲覧者を高い精度で識別することができるようになる。

このように自由に取得できる多数の属性値を連結してハッシュ関数などで符号化した短いデータ列のことをブラウザフィンガープリント(web browser fingerprinting)あるいはデバイスフィンガープリント(device fingerprinting)と呼び、属性の組み合わせ方次第では数百万人に一人といった精度で個々の端末を識別・同定できると言われる。

(2018.6.28更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。