Attacks/Breaches
8/7/2013
11:20 AM
50%
50%

Twitter Overhauls Two Factor Authentication System

Take two: Twitter drops SMS for private keys stored on Android or iPhone smartphones, adds previously missing recovery capability.

10 Twitter Power Tips
(click image for larger view)
10 Twitter Power Tips
Twitter unveiled version 2.0 of its home-built two-factor authentication system Tuesday, which the company promised was "more secure" than its previous offering.

Dubbed "login verification," Twitter's new approach eschews sending one-time codes via SMS to a phone. Instead, the second factor is provided via a unique, private key that resides only on a user's Android or iPhone, and which is generated by the Twitter app.

"When you enroll, your phone generates an asymmetric 2048-bit RSA keypair, which stores the private key locally on the device and sends the public key, which Twitter stores as part of your user object in our backend store, to the server," said Twitter security engineer Alex Smolen in a blog post.

If a user enables the feature, whenever someone attempts to log into his Twitter account -- using a valid username and password -- the site then sends a push notification, requesting verification, to the user's smartphone.

[ Who's worth following? Read 10 IT Leaders To Follow On Twitter. ]

"Within your Twitter app, you can then view the outstanding request, which includes several key pieces of information: time, geographical location, browser and the login request's challenge nonce [one-time request ID]," said Smolen. "At that point, you can choose to approve or deny the request. If you approve the request, the client will use its private key to respond by signing the challenge. If the signature is correct, the login request will be marked as verified."

What happens if the smartphone that's been used to generate the private key for a user's Twitter account goes missing? Helpfully, Twitter now offers a one-time-use backup code. "We encourage you to store it somewhere safe," said Smolen, who noted that this code is randomly generated, using an algorithm inspired by S/KEY. In addition, that code is hashed 10,000 times "to make the backup code work without sharing secrets," he said, meaning an attacker shouldn't be able to reverse-engineer the code and recover a password.

Previous
1 of 2
Next
Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
Thomas Claburn
50%
50%
Thomas Claburn,
User Rank: Ninja
8/8/2013 | 2:19:03 AM
re: Twitter Overhauls Two Factor Authentication System
Seems like a promising approach.
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2013-6501
Published: 2015-03-30
The default soap.wsdl_cache_dir setting in (1) php.ini-production and (2) php.ini-development in PHP through 5.6.7 specifies the /tmp directory, which makes it easier for local users to conduct WSDL injection attacks by creating a file under /tmp with a predictable filename that is used by the get_s...

CVE-2014-9652
Published: 2015-03-30
The mconvert function in softmagic.c in file before 5.21, as used in the Fileinfo component in PHP before 5.4.37, 5.5.x before 5.5.21, and 5.6.x before 5.6.5, does not properly handle a certain string-length field during a copy of a truncated version of a Pascal string, which might allow remote atta...

CVE-2014-9653
Published: 2015-03-30
readelf.c in file before 5.22, as used in the Fileinfo component in PHP before 5.4.37, 5.5.x before 5.5.21, and 5.6.x before 5.6.5, does not consider that pread calls sometimes read only a subset of the available data, which allows remote attackers to cause a denial of service (uninitialized memory ...

CVE-2014-9705
Published: 2015-03-30
Heap-based buffer overflow in the enchant_broker_request_dict function in ext/enchant/enchant.c in PHP before 5.4.38, 5.5.x before 5.5.22, and 5.6.x before 5.6.6 allows remote attackers to execute arbitrary code via vectors that trigger creation of multiple dictionaries.

CVE-2014-9709
Published: 2015-03-30
The GetCode_ function in gd_gif_in.c in GD 2.1.1 and earlier, as used in PHP before 5.5.21 and 5.6.x before 5.6.5, allows remote attackers to cause a denial of service (buffer over-read and application crash) via a crafted GIF image that is improperly handled by the gdImageCreateFromGif function.

Dark Reading Radio
Archived Dark Reading Radio
Good hackers--aka security researchers--are worried about the possible legal and professional ramifications of President Obama's new proposed crackdown on cyber criminals.