The theory behind rainbow tables extends research by Martin Hellman and Ronald Rivest done in the early 1980s on the performance trade-offs between processing time and the memory needed for cryptoanalysis. In a paper published in 2003, Oechlin refined the techniques and showed the attack could reduce the time to attack 99.9 per cent of Microsoft's LanMan password scheme to 13.6 seconds from 101 seconds. Further refinements have reduced the number of false positives produced by the system.
"This is something that you are never supposed to be able to do with (a good implementation of) crypto - generate every single possible combination," said Dan Moniz, a member of the Shmoo group, a coalition of security researchers and the manager of the groups own rainbow table project.
RainbowCrack Online will offer 11 tables covering six different hash algorithms, including LanMan, MD5, MySQL 323, and SHA-1. Offering the tables in an online service is not about helping attackers, but about helping system administrators secure their systems, said RainbowCrack's Travis.
"Attackers already have tables like these, (so) RainbowCrack serves as a tool to judge what is and what is not a secure password policy," he said.
Making money with rainbow tables is not a new idea. A handful of efforts have been started and then stalled. Zhu Shuanglei, who created the open-source tool that RainbowCrack Online uses to generate its tables, has generated a 64GB LanMan table and advertises it for sale for $400. The Shmoo group created its own rainbow table to crack Microsoft's LanManager tables that offered them for free through BitTorrent, and at the DEF CON hacking convention, Shmoo's Moniz saw several versions of the LanManager tables for sale. People with free computer time would calculate the tables hoping to make a little money, he said.
The experience has Shmoo's Moniz questioning whether there will be demand for a service like RainbowCrack Online. Bruce Schneier, a well-known cryptographer and chief technology officer of network monitoring service Counterpane Internet Security, agrees.
"There could be a criminal business in it," he said. "But I don't see the legitimate business demand for rainbow tables."
To some extent, RainbowCrack Online applies Google's business model to cracking encryption. Like Google, RainbowCrack Online give web access to a large database of information. Both services go through a lot of effort and a lot of memory to give users a quick answer to a query. And both services could be reproduced, barring patent hurdles.
Yet, while searching the web has obvious utility, the usefulness of rainbow tables is questionable, because good programming can make the tables require several magnitudes more memory, rendering the technique essentially useless. Specifically, adding several unpredictable bytes at the beginning of a password before hashing, a technique known as salt, can add several orders of magnitude of complexity to any cryptanalysis of the result.
"Remember that rainbow tables only work for inferior functions that use no salt or initialization vector," Objectif Sécurité's Oechslin said. "If programmers were more careful, there would be no market for a rainbow Google."
RainbowCrack Online's founders disagree. The lion's share of cryptographic hash functions are not well implemented and thus could be broken with their tables quite easily, RainbowCrack's Travis said.
Counterpane's Schneier agrees.
"All we have is anecdotal evidence about development practices, but I would agree that a lot of systems are weak," Schneier said. "The biggest problems that we as cryptographers have to face is bad implementations."
For such insecure password implementations, rainbow-table services may be the sign that it's time to reconsider security.
Copyright © 2005, SecurityFocus