契約者固有ID
契約者固有ID(けいやくしゃこゆうアイディー)とは、携帯電話などでウェブサイトを閲覧したときにサーバに送信される識別子であり、狭義には携帯電話の契約者ごとに固有のID(機種変更を行っても契約者が同一である限りは変更されないID)を指し、広義には端末ごとに固有のID(機種を変更すると変更されるID)を含む。キャリアによってその呼び方は異なる。
これらのIDは各事業者が独自に付与するもので、GSM/W-CDMA方式の携帯電話全般で加入者識別に使用されるInternational Mobile Subscriber Identity(IMSI)や、同じく端末識別に使用されるInternational Mobile Equipment Identity(IMEI)との関係はない。またIDの形式や文字数・使用される文字種別などは事業者によって異なっている。
日本では、ウェブアプリケーションにおいて「かんたんログイン」機能を実装するためにしばしば用いられている。ログイン中に「かんたんログイン」機能を有効にする設定をすると、ウェブアプリケーションがそのユーザの契約者固有IDをユーザIDとひも付けて記憶し、それ以降は、その契約者固有IDの端末でアクセスされたならば、ログインの際にユーザIDの入力を省略することができる。ウェブサイトによっては、パスワードの入力まで省略するところもある。
また、行動ターゲティング広告において、人々のアクセス履歴を収集するための一意なIDとしても使われる。これについては、ユーザのプライバシー保護との関係で問題も指摘されている(詳細は行動ターゲティング#プライバシーの問題を参照)。
携帯電話(クライアント)のキャリアによって定義、機能およびサーバでの取得方法は異なる。
呼称:「端末製造番号」「個体識別情報」「ユーザID」「iモードID」
iモードでは、契約者固有IDが3種類存在する。ユーザIDとiモードIDはSSL環境下では取得できない。
iモードの公式サイトでは、URLの引数に「uid=NULLGWDOCOMO」の文字列を付加しておく(POSTメソッドの場合は、フォームのhidden属性として持たせておく)と、そのURLにアクセスされたとき、ドコモのiモードゲートウェイが「NULLGWDOCOMO」の部分を契約者ID(「ユーザID」)に置換する。これは契約者が機種変更を行った場合でも変更されない。
HTMLのいくつかの要素に「utn」属性を付加しておくと、そこにアクセスすると、画面上に端末製造番号を送信するかどうかの確認を求めるダイアログが表示され、ユーザが送信することを選択した場合には、HTTPリクエストのユーザーエージェントヘッダに端末製造番号が付加される。この番号は端末に固有なものであるので、契約者が機種変更を行うと変更される。
2008年4月より、URLの引数に「guid=ON」という文字列を付加しておく(「uid=NULLGWDOCOMO」とは異なり、POSTメソッドの時もFORMタグのACTIONの中に記述する)と、そのURLにアクセスされたとき、HTTPリクエストの「X-DCMGUID」ヘッダに、英数字7桁の契約者ID(iモードID、ユーザIDとは別の番号)が付加される。このIDは契約者の機種変更では変更されないが、名義変更・改番・iモード契約の解約によって変更される。
呼称:「サブスクライバID」「EZ番号」
EZwebでは、ユーザが送信を止める設定をしていない限り、すべてのウェブサイトへのアクセスにおいて、HTTPリクエストの「X-UP-SUBNO」ヘッダに契約者IDが付加される。この契約者IDはSSL環境下でも取得できる。
呼称:「端末シリアル番号」
Yahoo!ケータイでは、ユーザが送信を止める設定をしていない限り、すべてのウェブサイトへのアクセスにおいて、HTTPリクエストのユーザーエージェントヘッダに端末IDが付加され、また、HTTPリクエストの「X-JPHONE-UID」ヘッダに契約者IDが付加される。
SSL環境では、ソフトバンクモバイルが提供するSSLゲートウェイ(secure.softbank.ne.jp)を通して通信する場合に限り端末ID・契約者IDを取得可能である。「https://〜」で始まるURLを直接指定してアクセスした場合など、同ゲートウェイを通さずに通信を行う場合はIDを取得できない。
なおソフトバンクモバイルでは、2011年6月末でSSLゲートウェイを原則廃止しており、同年7月以降はSSL環境での端末ID・契約者IDの取得ができなくなった。
呼称:「ユーザID」
イー・モバイルでは、EMnetで接続して、ウェブブラウザの設定で wm.internal.emnet.ne.jp:8080 をProxyサーバに指定すると、HTTPリクエストの「X-EM-UID」ヘッダに端末IDが付加される。この端末IDはSSL環境下では取得できない。
呼称:「個体識別情報(UID)」
ウィルコム公式サイト向けに個体識別情報を送出する仕組みがある。
契約者固有IDはサイト側で簡単に取得できる。このため、個人情報とひも付けされた契約者固有IDがサイトから流出してしまうと、契約者固有IDを手がかりに個人情報が特定できることとなり、悪意のある者により犯罪利用される可能性が指摘されている。
また現在のところ、契約者固有IDはサーバによらず端末(契約者)が同じであれば同じIDが使用されるため、Web上の複数のサービスの利用状況をマッチングさせることでも個人情報を収集できる可能性がある。
しかも、契約者の都合で契約者固有IDを任意に変更する機能は、現在のところ提供されていない。従って、何らかの形で契約者固有IDが悪用された場合には、契約者は契約の解約・機種変更等で対抗することを迫られ、無駄な労力・出費を強いられることになる。
契約者固有IDは、単にHTTPリクエストのヘッダに付与されるものなので、任意のHTTPリクエストの送信が可能なクライアントからは任意の契約者固有IDの送信が可能であり、ウェブマスターはHTTPリクエストヘッダを参照することでウェブサーバにリクエストを送ったユーザの契約者固有IDを取得することが可能である。この性質から、他人の契約者固有IDを入手した者は、容易にその契約者固有IDが送信可能である。携帯電話のHTTPクライアントは悪意のあるHTTPリクエストを送信できないという前提とすれば、アクセス元のIPアドレスがそのキャリアのものであることを確認することで、悪意のあるアクセスを回避する事ができる。
どのIPアドレスの範囲がどの携帯電話のキャリアのものであるか、その範囲は定常的に決まっておらず、各会社の管理とともに変化している。そのため、信頼できる最新の情報に基づいてIPアドレスのチェックを行わないと、「かんたんログイン」機能を提供する各ウェブサイトは、任意の契約者になりすました悪意のあるユーザからアクセスされてしまう危険がある。各キャリアは「IPアドレス帯域」として技術情報のウェブページに掲載しており、この情報は各キャリアが随時更新している。
しかし、一部のキャリアの「IPアドレス帯域」情報が掲載されているウェブページはSSLを使わずに提供されており、その情報の発信元が信頼できる状態ではなく、また、掲載されている情報には携帯電話以外からのアクセスがないことを保証しない、と掲載されているため、それらのウェブページの情報を元にIPアドレスを判断して「かんたんログイン」機能を提供する場合、なりすましアクセスを排除することができない。