This article is more than 1 year old
Windows Product Activation – or just how many numbers we could get a user to tell us down the telephone
A confession from ex-Microsoft engineer Dave Plummer. Also: WPA fun in the Registry
The product activation inflicted on Windows by Microsoft has few fans, but one of its creators stepped up over the weekend to explain and defend the maligned technology.
The sight of Windows bleating about activation is a familiar one (certainly to those that follow our Bork feature). While also a mainstay of the Office productivity suite, it turned up in Windows XP as an extension to the serial numbers of the past, as Microsoft tried to address piracy worries.
As with the serial number, the user was expected to enter a lengthy alphanumeric that was associated with a computed hash based on the system components. Microsoft's servers took care of the activation and, as long as that hardware hash didn't change too much, would allow repeated activations.
Posting in his YouTube channel, retired Microsoft engineer Dave Plummer admitted his part in the technology back in the early days of Windows XP, as well as coughing to a tweak made to Windows to allow for a special bit of Registry shenanigans.
Windows Protect Activation has come in for some stick over the years. Plummer explained the thinking behind the hardware identifier used, highlighting the need to allow users to call in with the value.
Assembly language, arcade games, and YouTube: The Reg speaks to former Microsoft engineer Dave PlummerREAD MORE
"One of the requirements we set out for ourselves was that people didn't have to be online," he explained. "Maybe we would do it differently today, but at the turn of the millennium it wasn't a given that every computer could be connected to the net."
"Phone activation," he said, "is always going to limit the amount of information that can go back and forth and so will always be an attack vector and likely the easiest one for hackers to target."
Plummer noted the tiny amount of bandwidth afforded by "what a user was willing to enter using the telephone" meant they had to make a few compromises. For example, he suggested the engineer responsible might, say, elect to categorise memory sizes rather than shoehorn the entire figure into the limited space of the identifier.
The retired engineer also highlighted some tweaks made to the registry: in this case, stashing the date of the first use of Windows to try to cut down on evaluation period shenanigans.
Rather than adopt a convoluted approach to storing the date, Plummer explained: "I just put it in the registry, it's really that simple."
"The important part," he added, "is that you can't just delete or reset the data because it's in a read-only registry key."
He told The Register that some grace period resets were permitted, "but a limited number."
While the concept might seem strange to some Windows developers, he went on: "I invented it just for WPA and added it to the kernel just for that very purpose."
Ah, the joy of undocumented Windows API calls. A swift hunt around the World Wide Web shows some reverse engineering [the relevant linked page has since been pulled - Ed] undertaken almost two decades after Plummer was poking around the Windows kernel. It looks a lot like the functionality, although Plummer couldn't possibly comment.
As for Plummer: "Well, you know what happens if I say too much."
Windows Product Activation has proven more than a little controversial, although the hammer blow to functionality that could occur back in the XP days has softened a little. In his appraisal following the implementation, Plummer was initially put down for the impossibly high score of 5 out of 5, which was subsequently pushed down to 4.5 by the powers that be.
"Like The Highlander there can be only one, and Bill decided that it was not my time." ®