{"id":14997,"date":"2012-02-10T17:26:29","date_gmt":"2012-02-10T22:26:29","guid":{"rendered":"http:\/\/www.shamusyoung.com\/twentysidedtale\/?p=14997"},"modified":"2012-02-10T17:26:29","modified_gmt":"2012-02-10T22:26:29","slug":"ubisoft-vs-ubisofts-customers","status":"publish","type":"post","link":"https:\/\/www.shamusyoung.com\/twentysidedtale\/?p=14997","title":{"rendered":"Ubisoft vs. Ubisoft&#8217;s Customers"},"content":{"rendered":"<p>Ubisoft has been in the news more than once recently for their DRM shenanigans.  <a href=\"http:\/\/www.escapistmagazine.com\/articles\/view\/columns\/experienced-points\/9405-Ubisoft-vs-Ubisofts-Customers\">This week&#8217;s column<\/a> is sort of a catch-all for their recent crimes against customer service.   I also allude to the technical problem of how you can make a program identify the specific computer that it&#8217;s running on. <\/p>\n<p>Tangentially related anecdote:<\/p>\n<p>Back in the 90&#8217;s, the company I worked for needed a way to protect users from data theft.  All of the user&#8217;s settings, including their password, were stored in a plaintext ini file.  That&#8217;s madness by today&#8217;s standards, but in 1996-ish that wasn&#8217;t all that radical.  The resulting problem should sound pretty familiar \/ obvious to anyone familiar with security today: Savvy users began swindling the clueless into sending them these ini files.  <\/p>\n<p>This sounds ridiculous today, but this was the early days of the internet as we know it.  There were armies of clueless new net-immigrants stepping off the boat every day.  When they entered our MMO-ish world and someone offered to help them out with some technical problem, they had no idea that sending people files off your own computer was dangerous.<\/p>\n<p>We policed this problem as much as we could, but there&#8217;s only so much you can do in an online world where anyone can instantly create a new account for free and most people are on AOL dial-up where their IP address could jump around randomly.  It&#8217;s like trying to moderate 4chan.  Good luck with that. We tried educating people as much as we could, but the rush of newcomers was so constant that there were ALWAYS going to be a few rubes around. <\/p>\n<p>So the technological solution our programmers devised was to hash these text passwords with something from your local machine. This leads back to what I talk about in the linked article: Software trying to figure out what machine it&#8217;s on. There were a lot less identifiable bits on computers back then, but by using things like hard drive volume labels and such it was possible to come up with something that had a good chance of being unique to your machine.  <\/p>\n<p>Once this system was in place, the problem went away.  The con men couldn&#8217;t read the ini files they were stealing. They didn&#8217;t have the ability to un-hash the password, because they didn&#8217;t have the serial number (or whatever it was) used to hash it.  This was a good self-regulating thing: Anyone smart enough to look up a serial number on their computer is too smart to fall for the &#8220;Send me your ini file and I can show you how to double your frame rate&#8221; line. <\/p>\n<p>The only drawback was that if you moved the program to a new machine (remember the days when you could install something just by dumping the files onto your hard drive?) you would have to re-type your password.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ubisoft has been in the news more than once recently for their DRM shenanigans. This week&#8217;s column is sort of a catch-all for their recent crimes against customer service. I also allude to the technical problem of how you can make a program identify the specific computer that it&#8217;s running on. Tangentially related anecdote: Back [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[102],"tags":[],"class_list":["post-14997","post","type-post","status-publish","format-standard","hentry","category-weekly-column"],"_links":{"self":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/14997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=14997"}],"version-history":[{"count":0,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=\/wp\/v2\/posts\/14997\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=14997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=14997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shamusyoung.com\/twentysidedtale\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=14997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}