Using graphic cards for password testing

Authors:

  • Jacob Löfvenberg

Publish date: 2010-04-15

Report number: FOI-R--2966--SE

Pages: 29

Written in: Swedish

Keywords:

  • passwords
  • GPGPU
  • graphics cards

Abstract

WLAN is an ever more common way of building local networks. Communication in such networks are usually protected by WPA2 encryption, which is built upon strong encryption algorithms that are usually seen as impossible to crack. What is possible to attack is the key distribution model since this usually builds upon the use of passwords, which the network owner and the users have to enter into every node that will participate in the communication. By first eavesdropping when a network node connects to the network it is possible to test passwords and decide when the correct password has been found. This can be done without communicating with the network, which enables the attacker to use an arbitrary amount of computing power in the search for the correct password. WPA2 has a certain level of protection against such guessing attacks, which makes it an arduous task to test many passwords. This makes the use of solutions faster than standard computers attractive. One way of speeding up computations, that has progressed quickly in the last few years, is using the parallelism in modern graphics cards. The faster graphics cards have hundreds of computation units working simultaneously. These are limited in a number of ways, but for some types of problems this is no great hindrance. Graphics processing units are also growing more flexible with each new generation, which means that ever more problems can be efficiently solved in graphics hardware. The report describes what performance that can be achieved, both using traditional CPUs and using the latest generation of graphics cards. This is partly done theoretically, but more importantly, it is described how an FOI built computer for graphics cards computations performs in password guessing in WPA2. As can be expected it is significantly faster than solutions using standard CPUs, even though the difference is not as great as the theoretical analysis would suggest. Finally the report describes how FOI has compiled a list of possible passwords. What is found is that even though the list is synthesized from several rather large sources, the end result is a list of managable size - some 1.5 million elements. It is not until the list is expanded using different types of manipulations and changes of the list elements that the number of possible passwords grows really large. A cluster with 40 computers like that built by FOI is however powerful enough to process at least the simplest expanded lists within a reasonable time. An open question which we have left for future work is how good lists like these are, in the sense of how large a part of actually used passwords is in the lists.