Wednesday 9 June 2010

Securing the Mobile Cloud

Mobile Cloud authentication and authorization

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":
Someone who verified your identity probably gave or loaned you a "work computer" implying that both you and the computer are trusted in the company's computing environment.
To access the "company network" you have to either pass through a secured physical perimeter or a firewall'ed/IPSec-based Internet perimeter to access the company's facilities and networks.
To sit at a desk in a company for network access, you have passed through any number of authentication points, from something as simple as being recognized by your co-workers, to "badging in" at the front door/kiosk to even more complex mechanisms like biometric checkpoints.
Finally all of the machines you access are probably located in one or more shared physical location(s), and have people who are dedicated to monitor access to those computers. I especially hope this is true at my bank, health care provider, etc.
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
These assumptions are so intrinsic in computing lore that we take things for granted. Consider the fact that nobody is poised to call security as I sit here writing this article. This is because they all know me, and my presence is "implicitly authorized."
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:
Mobile Computing
Here are a list of some of the things we have had to address in mobile computing:
Passwords are great, but they are hard to enter on a small form factor (i.e., mobile) device. Also, harder passwords are more secure, but they are also very difficult to input, and more likely to be "written down" somewhere.
Signature tokens are a great way to protect communication from a secure computing device to the cloud, but smart mobile devices are always in an uncontrolled environment. Because of this, token leakage is possible.
Any increase in security usually leads to a corresponding decrease in usability; since the smart mobile platforms lack the computational capabilities of a traditional laptop, our options are further limited.
I can't presently firewall my iPhone, monitor its network activity in-situ, or run intrusion detection on the device without a significant degradation in overall performance.
Unlike my credit card, if my data-plan is exceeded due to a compromise, or my cloud service is compromised due to a leaked signature key, there is no comfort in having a maximum liability amount. Both assume you will secure the asset and the responsibility lies solely and wholly with the customer.
Cloud Computing
Further, when combined with what we had found in the cloud computing space:
Signature tokens must be protected, they are the main access point into most cloud environments, and used to enforce non-repudiation at the cloud service provider.
Monitoring activity on a firewalled server inside a corporate server room is much easier than monitoring the same behavior on someone's laptop in a coffee shop, or somebody's BlackBerry anywhere else.
Accessing protected assets from other cloud services requires the security protocol to be placed and managed outside of the firewall.
In a Nutshell
Those are significant challenges that are not immediately addressable without significant security experience. When the simplifying assumptions of implicit perimeter authorization and implicit peer authorization are not present, as is the case in modern mobile architectures, this challenge starts to seem insurmountable.
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.

Read More - Cloud Computing Journal

Join Us: http://bit.ly/joincloud

No comments: