Twitter now requires encrypted API communication
Third party Twitter apps must now converse with Twitter through the SSL protocol
By Joab Jackson | Published: 17:47, 15 January 2014
Starting on Tuesday, the million or so third-party applications that use Twitter data must start encrypting all of their communications with the Twitter API (application programming interface), in order to improve security and maintain data integrity.
In a short message posted on its service, Twitter announced that, as of Jan. 14, all data requests sent to the Twitter API must be done through the SSL (Secure Socket Layer) protocol, or its successor, the TLS (Transport Layer Security) protocol.
"Connecting to the API using the SSL protocol builds a safe communication channel between our servers and your application, meaning that no sensitive data can be accessed or tampered by unauthorized agents in the middle of this communication path," wrote Luis Cipriani, a Twitter computer scientist, in a blog entry announcing the requirement in December.
Over a million third-party applications are registered to use data from the Twitter API.
Twitter offers a range of data from its service that can be fetched by its API, including individual user timelines, individual messages or "Tweets," and aggregations of Twitter messages that can be used for spotting trends and analyzing data.
To date, sending a data request to Twitter in most cases could be carried out by using a simple HTTP request in plain text. Now they must be done by HTTPS (HTTP Secure), which layers TSL/SSl on top of HTTP (Hypertext Transfer Protocol).
The SSL protocol establishes encrypted communications between two parties. It provides a way for a client and server to agree on the cipher they will use to encrypt and decrypt the messages between the two.
Using a digital certificate signed by a third-party, SSL will also verify for the client that the server sending the information (Twitter in this case) is in fact the genuine party, thereby eliminating the chance of someone between intercepting and changing the data en route.
The good news for developers that the popular programming languages for the Web -- Python, PHP and Ruby -- all have libraries that can manage the SSL initialization process. Twitter prefers clients to use the RC4 (Rivest Cipher 4) algorithm for encrypting communications, though others can be used as well.