Facebook plans to use encryption to block Facebook applications from leaking user identification numbers.
The data exposure was reported earlier this week, and was due to the sharing of user IDs via the HTTP Referrer Header. The culprits included some of the site’s most popular applications, including games such as FarmVille and Texas HoldEm Poker.
In a blog post, Facebook engineer Mike Vernal announced that the company plans to address the issue by encrypting the parameters it passes to iframe-based applications.
“The proposal builds on our recent support for a parameter called signed request which is inspired by our discussions in the OAuth community,” he wrote. “We will start encrypting this parameter as well, using the application’s secret key, so that only the application will be able to read this information. This will prevent the accidental disclosure of this information via HTTP headers.”
“Our plan is to enable parameter encryption as an option over the next few weeks and to then work with the community to add support for this option to the various Facebook SDKs,” he continued. “Once the design is finalized, we will work with our developers to ensure a speedy transition to encrypted parameters.”
Facebook has made technical details of the proposal available here.
The fallout from the revelations has already led to a lawsuit against Facebook app developer Zynga – the creator of some of the site’s most popular games, including FarmVille and Mafia Wars – as well as an inquiry from two Congressmen seeking answers from Facebook CEO Mark Zuckerberg.
While he said the problem had been exaggerated, Vernal noted that user ID numbers can be used to identify Facebook users and “link actions at other Web sites to a Facebook identity.”
“When a Facebook user requests a Web page with images or other resources, the user’s browser may send HTTP header information that includes the URL of the Web page,” he wrote. “For a particular type of Facebook Platform application, an iframe-based canvas application that includes a third-party iframe or resource, the HTTP Referrer header may include the user’s UID number once the user has authorized the application…[The User ID number is] what allows Web pages to include information about one’s friends. Unfortunately, it can also compromise user privacy, particularly if the user is not aware that his or her UID is being shared.”
While the encryption proposal will address the inadvertent sharing of this information on Facebook, it will not fix the underlying issue of data sharing via HTTP headers, which is a Web-wide problem, he added.
“We look forward to working with the Web standards community and browser vendors over the coming months to help address this issue,” Vernal blogged.