Articles

タクシーの乗降履歴から個人が分かる?――ニューヨーク市のタクシー乗車データが示した位置情報のプライバシーリスク

著者名:岩崎 香具矢, 南 和宏(監修), 服部 優子(挿絵)

作成日:2026.10.02

テクニカルレポートNo.10

ニューヨークの街を象徴するものの一つに、「イエローキャブ」(黄色いタクシー)があります。

マンハッタンを中心に街中を走るタクシーは、毎日多くの人を乗せています。そして、タクシーが人を運ぶたびに、「いつ、どこで乗り、どこで降りたのか」という記録が残ります。

2014年、ニューヨーク市のタクシーに関する約1億7,300万件もの乗車記録が公開され、データの匿名化※や位置情報のプライバシーをめぐって注目を集めました。[1][2]

私たちは日々、交通ICカードやスマートフォン、地図サービスなどを通じて、多くの移動データを生み出しています。こうしたデータは社会に役立つ一方で、どこまで詳しく公開してよいのか、どのように加工すれば安全なのかという問題もあります。

今回は、その問題を考えるうえで分かりやすい事例の一つとして、ニューヨーク市のタクシーデータを取り上げます。

公開されたデータに乗客の氏名は含まれていませんでした。また、タクシーや運転手を識別する番号にも、元の番号をそのまま表示しないための処理が施されていました。

その後の分析では、二つの異なる問題が示されました。一つは、ハッシュ化されたタクシーや運転手の識別番号から元の番号を特定できたことです。もう一つは、乗客の氏名やIDがなくても、乗車・降車の日時や位置情報を外部情報と組み合わせることで、特定の人物が利用したと思われる乗車記録を見つけられたことです。[1][2]

氏名を削除しただけでは、なぜ十分ではなかったのでしょうか。

約1億7,300万件のタクシー乗車記録

ニューヨーク市では、Taxi and Limousine Commission(以下、TLC:タクシー・リムジン委員会)が、市内を走るタクシーなどの許認可や規制を行っています。

2014年、データ分析に関心を持っていたChris Whong氏は、ニューヨーク州の情報公開制度であるFOIL(Freedom of Information Law)※を利用して、TLCから2013年のイエロータクシーの約1億7,300万件の乗車記録を取得しました。そのデータは後にインターネット上で公開されました。[1]

記録には、たとえば次のような情報が含まれていました。[1]

  • 乗車日時
  • 降車日時
  • 乗車地点の緯度・経度
  • 降車地点の緯度・経度
  • 乗車人数
  • 乗車時間
  • 走行距離
  • 運賃やチップ
  • タクシーを識別するメダリオン番号※
  • 運転手を識別するライセンス番号

現在TLCが公開しているTaxi Trip Recordsにも、乗降日時、乗降場所、走行距離、運賃、支払方法、乗車人数などが含まれています。[3]

一方で、乗客の氏名や乗客を識別するためのIDが記録されていたわけではありません。TLCも現在、乗客に関する情報は収集していないと説明しています。[4]

それならば、乗客のプライバシーには問題がないようにも思えます。

しかし、このデータからは、別の方法で個人に関する情報を推測することができました。

識別番号は「ハッシュ化」されていた

公開されたデータでは、タクシーを識別するメダリオン番号や、運転手のライセンス番号は、そのままではなく別の文字列に変換されていました。

この処理には「MD5(Message Digest Algorithm 5)」※というハッシュ関数※が使われていました。[1]

ハッシュ化とは、元のデータを一定の計算方法によって別の値に変換する処理です。同じ値を入力すると同じハッシュ値が得られますが、通常は、変換後の値だけを見て元の値を直接求めることは難しくなっています。

たとえば、あるタクシーのメダリオン番号をハッシュ化すると、元の番号とはまったく異なる長い文字列になります。

このため、一見すると、どのタクシーや運転手の記録なのか分からないように見えます。

ところが、ソフトウェア技術者のVijay Pandurangan氏は、この処理に問題があることを指摘しました。[1]

元の番号の候補をすべて試す

問題は、メダリオン番号や運転手のライセンス番号の取り得る値が限られていたことでした。

メダリオン番号には決まった形式があり、Pandurangan氏の計算では、候補となる番号は約1,900万通りでした。運転手のライセンス番号と合わせても、調べる必要がある候補は約2,200万通りでした。[1]

そこで、考えられる番号を一つずつ同じMD5でハッシュ化し、公開されたデータのハッシュ値と比較します。

すると、

「この番号をハッシュ化すると、この公開データの値になる」

という対応関係を調べることができます。

Pandurangan氏によると、約2,200万個のハッシュ値を計算する処理には、当時のコンピュータでも2分もかかりませんでした。そして、データ全体について元の識別番号を復元する処理も行われました。[1]

これは、ハッシュ値そのものから数学的に元の番号を逆算したわけではありません。

イメージとしては、4桁の暗証番号を「0000」から「9999」まで一つずつ試して、正しい番号を探すことに似ています。

今回の場合も、元の番号の候補が限られていたため、考えられる番号を一つずつハッシュ化し、公開されたハッシュ値と一致するものを探すことができました。

ここで重要なのは、復元の対象がタクシーを識別するメダリオン番号だけではなかったことです。公開データには、運転手を識別するライセンス番号のハッシュ値も含まれていました。

このハッシュ値から元の運転手ライセンス番号を特定できれば、さらにTLCが公開していた「Medallion Drivers – Active(現役メダリオン・タクシー運転手一覧)」[5]などの登録情報と照合することで、ライセンス番号を実際の運転手氏名と結び付けることも可能でした。

運転手と乗車記録を結び付けられるようになると、その運転手がいつ働いていたのか、どの地域を走っていたのか、どの程度の運賃やチップを得ていたのかといった情報を知ることができます。さらに、多数の乗車記録を集計することで、年間の収入などを推測することも可能になります。Tockar氏も、匿名化が解除されたデータから、個々の運転手の年間収入を計算できると指摘しています。[2]

この事例は、識別番号を単純にハッシュ化するだけでは、必ずしも十分な匿名化にはならないことを示しています。

その後、TLC自身も、この匿名化方式が十分に安全ではなく、分析者によって運転手やメダリオン番号が再識別※されたことを認めています。[6] 運転手と乗車記録が結び付くと、その運転手がいつ働いていたのか、どの地域を走っていたのか、どの程度の運賃やチップを得ていたのかといった情報を追うことができます。また、多数の記録を集計することで、年間の収入などを推測することも可能になります。

ここで問題となったのは、主にタクシーや運転手に関するプライバシーです。 ハッシュ化された識別番号から元の番号との対応が分かると、同じタクシーや運転手による複数の乗車記録を結び付けて分析できるようになります。

一方、次に紹介する乗客のプライバシーの問題では、こうした識別番号の復元が必ずしも必要だったわけではありません。乗車した日時や場所などの情報だけでも、外部情報と照合することで特定の乗車記録を絞り込める場合がありました。

MD5だから問題だった?

ここで、「MD5という古いハッシュ関数を使ったことが問題だったのではないか」と思うかもしれません。

しかし、この事例で重要なのは、MD5そのものの古さだけではありません。

たとえば、より新しいハッシュ関数を使ったとしても、元の番号の候補が限られていて、同じ番号から常に同じハッシュ値が得られるのであれば、候補となる番号を一つずつハッシュ化して公開データと照合することができます。

つまり、この事例の問題は、元の値の候補を総当たりできる状況で、識別番号を単純にハッシュ化して公開したことにありました。

「ハッシュ化したこと」と「安全に匿名化できたこと」は、必ずしも同じではないのです。

乗客のIDがなくても、乗車記録を探せる

さらに問題となったのが、乗客のプライバシーです。

このデータには、乗客の氏名も乗客IDもありません。

それにもかかわらず、データサイエンティストのAnthony Tockar氏は、乗車した場所と時刻について外部から情報を得ることができれば、特定の人物が利用したと思われるタクシーの記録を探せることを示しました。[2]

その例として利用されたのが、有名人を撮影した写真やインターネット上の記事です。

2013年にマンハッタンでタクシーに乗る有名人を撮影した写真などから、

「この人物が、この日の、この時間帯に、この場所からタクシーに乗った」

という情報を得ます。

そして、その日時と場所に一致する乗車記録を約1億7,300万件のデータから探します。

Tockar氏は、この方法で俳優Bradley Cooper氏やJessica Alba氏が乗車したと考えられる記録を見つけました。そこから、タクシーが向かった場所や運賃、記録されているチップの金額など、写真だけからは分からなかった情報を推測できることを示しました。[2]

重要なのは、公開データの中に二人の名前が書かれていたわけではないということです。

「いつ、どこでタクシーに乗ったか」という外部情報と、「いつ、どこからどこへ移動したか」というタクシーデータを組み合わせることで、該当する記録を絞り込んだのです。

「どこから乗ったか」から「どこへ行ったか」が分かる

位置情報が持つリスクは、有名人だけに関係するものではありません。

Tockar氏はさらに、特定の施設の近くで深夜に乗車したタクシーの記録を抽出し、その降車地点を調べる分析も行いました。[2]

乗車地点と時刻を条件として記録を抽出すると、それぞれのタクシーがその後どこへ向かったのかが分かります。さらに、同じ場所への降車が繰り返されていれば、その人物の自宅などである可能性も考えられます。

実際にTockar氏は、降車地点周辺の住所情報などをインターネット上の公開情報と照合することで、特定の人物に結び付く可能性があることを示しました。ただし、分析によって得られた個人情報そのものは公開していません。[2]

このように、位置情報は、それだけでは氏名を含んでいなくても、外部の情報と組み合わせることで人物の生活や行動を推測する手掛かりになることがあります。

名前を消せば安全、とは限らない

データを公開するとき、「氏名や住所を削除すれば個人は分からない」と考えてしまいがちです。

しかし、ニューヨーク市のタクシー乗車データの事例では、二つの異なる問題が明らかになりました。

一つは、識別番号をハッシュ化しても、元の値の候補が限られていれば、照合によって元の番号を特定できる場合があることです。

もう一つは、そもそも乗客の識別番号がなくても、詳細な日時や位置情報を外部情報と組み合わせれば、特定の人物の記録を見つけられる場合があることです。データの安全性を考える際には、「氏名が含まれているか」「識別番号を別の値に置き換えたか」だけを見るのでは十分ではありません。

一方で、こうしたデータを公開し、活用すること自体が問題なのではありません。移動データは、交通や都市の状況を分析するうえで大きな価値を持っています。重要なのは、データの有用性※を保ちながら、公開された情報から何が分かるのか、さらに外部に存在する情報と組み合わせたときに何が推測できるのかまで考えることです。

これまで紹介してきた事例にも、今回のニューヨーク市のタクシー乗車データと共通する点があります。

Suicaの事例では、同じ識別子によって一人の利用者の複数の乗降履歴を継続的につなげて見ることができました。Netflix Prizeでは、匿名化された映画の評価履歴について、どの映画をどのように評価したかという情報に加えて、いつ評価したかという日時の情報も手掛かりとして、外部サイトに公開されていた映画評価と照合することで、利用者を再識別できる可能性が示されました。

一方、ニューヨーク市のタクシー乗車データでは、乗客を継続的に識別するためのIDがなくても、乗車日時や乗車地点についての外部情報を手掛かりに、個々の乗車記録を絞り込むことができました。

三つの事例で使われた手掛かりは異なりますが、共通しているのは、公開されたデータを単独で見るだけでは分からない情報が、他の記録や外部情報と組み合わせることで個人に結び付く可能性があるという点です。

このように、移動履歴というデータの価値と、その裏側にあるプライバシーリスクの両方を考えるうえで、ニューヨーク市のタクシー乗車データは重要な事例の一つといえるでしょう。

用語解説

  • FOIL(Freedom of Information Law)・・・ニューヨーク州の情報公開制度。行政機関が保有する記録について、市民などが開示を求めるための制度です。
  • メダリオン番号・・・ニューヨーク市の認可を受けたタクシーを識別するための番号。今回のデータでは、どのタクシーによる乗車記録なのかを区別する識別子として用いられていました。
  • MD5(Message Digest Algorithm 5)・・・代表的なハッシュ関数の一つで、入力したデータから128ビットのハッシュ値を生成します。かつて広く利用されていましたが、異なるデータから同じハッシュ値を作れる「衝突」と呼ばれる問題が見つかっており、現在ではセキュリティ目的での使用は推奨されていません。なお、NYC Taxi事件では、MD5の衝突の弱点を利用したわけではありません。元のタクシー番号や運転手ライセンス番号の候補が限られていたため、候補をMD5で次々とハッシュ化し、公開されたハッシュ値と照合することで元の番号を特定できたことが問題でした。
  • ハッシュ関数・・・入力したデータを、一定の規則に従って別の値(ハッシュ値)に変換する仕組みです。同じデータからは同じハッシュ値が得られますが、ハッシュ値から元のデータを直接求めることは難しいという特徴があります。ただし、元のデータの候補が限られている場合には、候補を一つずつハッシュ化して照合することで、元のデータを特定できることがあります。

参考文献

  1. Vijay Pandurangan, “On Taxis and Rainbows: Lessons from NYC’s Improperly Anonymized Taxi Logs,” 2014.
  2. Anthony Tockar, “Riding with the Stars: Passenger Privacy in the NYC Taxicab Dataset,” 2014.
  3. New York City Taxi & Limousine Commission, “TLC Trip Record Data.” (2026年9月25日閲覧)
  4. New York City Taxi & Limousine Commission, “Raw Data.” (2026年9月25日閲覧)
  5. New York City Taxi and Limousine Commission, “Industry Notice #13-19: Upcoming Changes to the Yellow Medallion Taxicab Current Licensee Lists,” May 31, 2013.
  6. New York City Taxi & Limousine Commission, “Taxi and Limousine Commission Meeting,” January 5, 2017.