Single sign-on to Google sites using AccountManager
In the first part of this series, we presented how the standard Android online account management framework works and explored how Google account authentication and authorization modules are...
View ArticleAndroid online account management
Our recent posts covered NFC and the secureelement as supported in recent Android versions, including community ones. In this two-part series we will take a completely different direction: managing...
View ArticleEmulating a PKI smart card with CyanogenMod 9.1
We discussed the embedded secure element available in recent Android devices, it's execution environment and how Google Wallet makes use if it in the last series of articles. We also saw that unless...
View ArticleExploring Google Wallet using the secure element interface
In the first post of this series we showed how to use the embedded secure element interface Android 4.x offers. Next, we used some GlobalPlatform commands to find out more about the SE execution...
View ArticleAndroid secure element execution environment
In the previous post we gave a brief introduction of secure element (SE) support in mobile devices and showed how to communicate with the embedded SE in Android 4.x We'll now proceed to sending some...
View ArticleAccessing the embedded secure element in Android 4.x
After discussing credential storage and Android's disk encryption, we'll now look at another way to protect your secrets: the embedded secure element (SE) found in recent devices. In the first post of...
View ArticlePassword storage in Android M
While Android has received a number of security enhancements in the last few releases, the lockscreen (also know as the keyguard) and password storage have remained virtually unchanged since the 2.x...
View ArticleDecrypting Android M adopted storage
One of the new features Android M introduces is adoptable storage. This feature allows external storage devices such as SD cards or USB drives to be 'adopted' and used in the same manner as internal...
View ArticleKeystore redesign in Android M
Android M has been announced, and the first preview builds and documentation are now available. The most visible security-related change is, of course, runtime permissions, which impacts almost all...
View ArticleHardware-accelerated disk encryption in Android 5.1
In a previous post we looked at disk encryption enhancements introduced in Android 5.0. That article was written based on the Lollipop preview release, before the platform source code was available,...
View ArticleDissecting Lollipop's Smart Lock
Android 5.0 (Lollipop) has been out for a while now, and most of its new features have been introduced, benchmarked, or complained about extensively. The new release also includes a number of of...
View ArticleAndroid Security Internals is out
Some six months after the first early access chapters were announced, my book has now officially been released. While the final ebook PDF has been available for a few weeks, you can now get all ebook...
View ArticleRevisiting Android disk encryption
In iOS 8, Apple has expanded the scope of data encryption and now mixes in the user's passcode with an unextractable hardware UID when deriving an encryption key, making it harder to extract data from...
View ArticleAccessing the embedded secure element in Android 4.x
After discussing credential storage and Android's disk encryption, we'll now look at another way to protect your secrets: the embedded secure element (SE) found in recent devices. In the first post of...
View ArticleSecure voice communication on Android
While the topic of secure voice communication on mobile is hardly new, it has been getting a lot of media attention following the the official release of the Blackphone, Consequently, this is a good...
View ArticleUsing KitKat verified boot
Android 4.4 introduced a number of security enhancements, most notably SELinux in enforcing mode. One security feature that initially got some press attention, because it was presumably aiming to 'end...
View ArticleAndroid Security Internals
If you have been following this blog for a while, you might have noticed that there haven't been many new posts in the past few months. There are two reasons for this: me being lazy and me working on a...
View ArticleUnlocking Android devices using an OTP via NFC
Our last post showed how to use a contactless smart card to sign email on Android. While storing cryptographic keys used with PKI or PGP is one of the main use cases for smart cards, other usages are...
View ArticleSigning email with an NFC smart card on Android
Last time we discussed how to access the SIM card and use it as a secure element to enhance Android applications. One of the main problems with this approach is that since SIM cards are controlled by...
View ArticleUsing the SIM card as a secure element in Android
Our last post introduced one of Android 4.3's more notable security features -- improved credential storage, and while there are a few other enhancements worth discussing, this post will slightly...
View Article