The GateKeeper authentication made an appearance in the WebTV/MSNTV client. It was quickly realised that it was also possible to connect by creating a proxy that would load the MSN Chat Control temporarily as required, relaying nonce and hashes between the server and control, before closing the chat control. The difficulty with this method is that it was often slow, didn't work, or could crash applications due to requiring the ActiveX control to be used in Microsoft Internet Explorer, or MSIE based web controls. It is likely possibly that an alternative browser (such as Netscape Navigator, Firefox, etc) could have been used to host the MSN Chat Control, as there was a NPAPI version available from Microsoft. In July 2002, a user named zmic reverse engineered the MSN Chat Control, and produced a python script that was able to login without the use of the MSN Chat Control. The python script was buggy, but was later re-written in multiple programming languages by various authors. The user eXonyte had written some code which could be used (via WINE) on Linux. It's believed that this was the first time MSN Chat had been used outside of Windows. When GateKeeper version 3 was introduced, it was a very minor change that had added the string of the server name (as defined in the Chat Control parameter "Server") to the hash. The additional string would not include a colon or port if they were present. This appeared to be an effort to defeat the proxy method of accessing the service, but was quickly overcome as users shared the information that the IP had been added to the hash. This information was likely leaked from someone in Microsoft, as there were rumours of the upcoming change before the new GateKeeper version was released. It wasn't until around 2018 that the user JD noticed that the various keys from zmic's reverse engineering were likely derivatives of another key, and he was able to find the plain text key - before finding the algorithm used. Upon sharing this information with Sky, they quickly discovered the underlying cryptographic hash function was HMAC-MD5. There are still just two bytes that are unknown in the GateKeeper authentication header, however it was tested against the MSN Chat Server many times, and the server didn't appear to differentiate between the values of those two bytes. There's a possibility that the two bytes