Tags: programming, reverse-engineering, security, metrocard
Even if you don't live in New York City, you probably know the Metrocard:
Source: MTA via Wikipedia
The sole payment system for the city's Subways (MTA buses still take coins), the Metrocard is both an icon of New York and a staple of transportation for millions. Despite its ubiquity, however, the humble Metrocard has never been subject to a serious attempt at spoofing or reverse engineering in the interest of paying less (or nothing) for Subway rides.
This post, the first of many, will examine the MTA's unique history with ride scamming and hopefully set the stage for explaining why cracking the Metrocard has been so difficult.
New York's underground transit system is one of the oldest in the world. Its earliest origins can be traced back to the 1870 Beach Pneumatic Transit, although it took until 1904 for the first truly public underground line to begin service (the IRT Broadway Line, now known as the 1-2-3 lines):
Source: John De Bruges via Wikipedia
The IRT (initially serving Manhattan and the Bronx) and BMT (connecting Brooklyn and Manhattan) lines remained in the hands of their namesakes until 1940, when they were bought by the city and merged with its own IND line (which operated everywhere but Staten Island).*
In 1953, the New York City Transit Authority (NYCTA) was created to manage all public transportation for the city, including underground public transit. The NYCTA became a component of the state-level Metropolitan Transportation Authority (MTA) in 1968, creating the body that currently maintains (and charges for) the NY Subway and bus systems.
Each of the three lines took normal coins as fare until their joining under NYCTA, which issued a uniform 15¢ token for all lines in 1953. Fare increases were met with token changes, resulting in a wide diversity of NYCTA tokens over the next 50 years:
Unfortunately (or fortunately, depending on your perspective) the physical token system had a number of flaws that made it trivial to ride the city's trains (and buses, to a lesser extent) for free or a fraction of the intended cost:
40 years after the NYCTA introduced the Subway token, the MTA began public trials of a new, magnetic card payment system: the Metrocard. The Metrocard system was rolled in over the course of a decade, with tokens no longer being accepted after May 4, 2003. Spurred on by New York's long battle against ride fraud, various campaigns to improve quality of Subway rides, and perceived mistakes in earlier electronic fare systems in other cities, the Metrocard is unique† among electronic cards both physically and digitally.
The Metrocard has changed a great deal over the last two decades, thanks in no small part to the expiring card system. However, that's for Part 2.
I feel like I've written far too much here on a non-technology topic, and yet I've barely scratched the surface (ha!) of the history of the Subway, its bureaucracy, and the fare system. If you're interested in these things (and New York's infrastructure in general), I highly recommend The Power Broker by Robert A. Caro. It's an incredibly well-researched and detailed look at both Robert Moses and his effect on the city's design, as well as a personal favorite of mine.
Hopefully this has informed you on the history of the Subway and the motivations for the Metrocard, if not the technical details of either. I promise that Part 2, which will be an analysis of the Metrocard itself and previous decoding attempts, will be much more technical.
* Although the IRT and BMT were privately owned companies, the lines they operated were paid for and constructed by the city and leased to the companies. As a result, the merger was a fairly unspectacular affair. Subnote: the IRT and BMT lines are physically incompatible in terms of rail and car width, which is why the Subway system is still divided into the A Division and B Division.
† The Metrocard was designed and manufactured by Cubic Transformation Systems. Cubic partially reused the design for the Chicago Card, which was operated by the Chicago Transit Authority from 1997 to 2014.