How Will We Secure the Mobile Cloud?
Part 1: Mobile Cloud authentication and authorization
Jun. 14, 2010 12:06 AM
I have been working on this concept of Modern Mobile Architectures for about two years now. Modern Mobile Architectures are architectures that support mobile device applications connected to decentralized infrastructure. Modern Mobile Architectures combine mobile technology and cloud computing.
We have clients who do not have a web server or internal infrastructure, but who connect smart mobile devices to the cloud and then leverage the cloud-based information as a product. This is one of the most exciting changes I have seen in computing in my lifetime.
The biggest challenge in both cloud and mobile technologies right now is security; combine the two technologies and we have a security wormhole. In this article, we will look at the current state of mobile-cloud authentication technology and cover some of the technologies in the emerging space.
Before we begin, let's consider why we have the need for a change in security paradigms with mobile cloud, and let's do this from the standpoint of implicit versus explicit assumptions of security. Consider the following "implicit security assumptions":
As we become more technically enabled, we erode these implicit mechanisms of authentication. In fact both mobile computing and cloud computing erode different aspects of these implicit security assumptions. In turn though, mobile computing, cloud computing, and especially the combination of the two enables our employees to be more productive, lowers our infrastructure costs, and creates a very connected work environment.
Don't Assume Anything
When I'm leveraging mobile computing at Lucy's Coffee shop, where I typically meet with other people from the Boise Tech community, this "implicit authorization" simply does not exist. It's not a company controlled environment, and I might not know everyone around me. Notice that the same implicit authorization is not assumed, required, or relevant.
Also there exists the fact that I can open any work document I want to because my computer is trusted on this network, or even the fact that the documents on my laptop don't require any further authentication because, after all, it is my trusted laptop in my trusted hands, behind our company's "firewall" in the "perimeter" of our facility.
To restate, this is partly because I am trusted in this environment, and partly because I made it through physical perimeter access controls, as we have talked about, it is assumed that my presence is authorized. Imagine if someone from our competitor's company were at my desk. At a minimum, the three people who sit around my desk would want to know who that person was. To the heart of the matter, we assume things in our normal patterns to be implicitly secure, and implicit security is a simplifying assumption of many security protocols.
All engineering disciplines utilize "simplifying assumptions," and as long as the problem space and technologies remain the same, those assumptions evolve into robust mechanisms to meet the engineering requirements in an optimal fashion. The challenge comes when the underlying problem space changes, as it has with mobile and cloud computing.
Notable failures usually occur when this change in the problem space is not easily perceived by the users of the system. This is exactly what happens when you combine mobile and cloud computing.
Here are some real-world examples from our two years in this space:
In a Nutshell
There are two components we have found for the ideal solution. The first is token-less context-aware multifiactor authentication, and the second is location and behavioral constituents of the factors included in the tokenless multifactor authentication solution.
Before we dig in too deeply to that, let's step back and look at current state technologies in the mobile-cloud space and talk about their challenges. We will go into deep dives on each of these in my presentation at Cloud Expo Europe in Prague on June 21 and in upcoming articles on mobile cloud security.
Present State Authentication Technologies Used in Mobile Cloud
There are a number of human factor issues with Basic Auth. The biggest comes from the fact that a password that is sufficiently complex to be secure is usually hard to remember. There is a reason for that. Consider that the mechanisms we use for associativity are easily interrogated and analyzed by computers trying to compromise an account.
Combine this with the fact that sufficiently hard passwords are difficult to enter on a small form factor device and we have an authentication challenge for mobile devices using basic auth.
As a provider of cloud services, eliminating the customer's ability to repudiate a specific cost is a key component of the cloud business model. In this signature token-based auth/auth model the user is responsible for protecting the secrecy of the signature token.
A lot of us used to say "just throw it into the phone's key-store, it's encrypted," but most analysis on phone-based key-stores shows them to be fairly easily compromised. The question becomes what to do about the storage of signature tokens.
We do recommend encrypting them, utilizing them for only the duration of your cloud interaction, then completely destroying them by overwriting their memory location. Further, we recommend storing them off-device until needed and accessing them through a tokenless multi-factor authentication model as necessary.
Having an authorization or signature token is a legacy artifact of not having any objective information about a user that would identify that user uniquely. My laptop contains very little contextual information to form a context-aware authentication mechanism against, though there are technologies to enable this. A signature token in either system is a state management mechanism that lets the application know that this access has been previously authenticated.
The storage of the authorization token is as essential in the open ID model as it is in the storage of the signature token in Signature Token auth/auth environments.
A typical OAUTH flow is this:
OAUTH's biggest weakness is similar to signature tokens and open ID. It is the secure storage of the consumer token and the access token, but it also has the basic auth challenge of entering passwords on a small form factor device. Add to that the fact that it's hard to provide a URL-based call back solution in a mobile application, and this great technology shows its weaknesses in the modern mobile architecture space.
Present solutions that address the mobile computing shortcoming require an intermediary server or a notification process that interrupts the flow of user experience. You can see where while very highly adopted, OAUTH may not be an ideal solution for mobile cloud security.
Emerging Security Topology for Mobile Cloud Authentication
This convergence to decentralized computing from mobile devices will change how the average thought worker uses computing technology. In light of this, we at Intelligence In Motion decided over a year a go to challenge ourselves to come up with feasible and sustainable mechanisms to secure mobile cloud computing.
These are the key elements of a good mobile cloud auth/auth strategy for modern mobile architectures:
Further, in order to accommodate the widest number of usage patterns, our approach makes this extensible. This fills the gap of the "simplifying assumptions" section above and opens the door to new thinking on how we implicitly and explicitly authenticate.
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week