Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
How Will We Secure the Mobile Cloud?
Part 1: 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":

  1. 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.
  2. 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.
  3. 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.
  4. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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:

  1. 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.
  2. 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.
  3. 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.

Present State Authentication Technologies Used in Mobile Cloud
Basic Authorization

Basic Authorization has been around for thousands of years - think "open sesame." It employs the authentication concept of a shared secret. If there is something only I and my communicating endpoint know, and we verify the knowledge of that secret, we have a substantial basis for authentication.

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.

Signature Tokens
Signature tokens allow me to simultaneously authenticate and verify the integrity of the message. This combination is key to the non-repudiation aspect of securing cloud and "X"aaS services where X is (P)latform, (S)oftware, (H)adoop, etc.

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.

Open ID
Open ID has some attractive features, namely it and OAUTH both allow an application to authenticate once and authorize across cloud servers or other web-enabled services. This is a nice feature for mobile-cloud computing, and its biggest challenge is its token dependence. Its advantage over just a plain signature token is it ostensibly has a shorter lifetime of validity.

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.

Open Auth
Open Auth overcomes the implicit service authentication issue by forcing mobile devices to support a multiphase authentication model where at one point the user may have to log in to an OAUTH providers service using a web interface. The provider will then make a call back to your application, at which point you are given an access token.

A typical OAUTH flow is this:

  1. Apply to the provider for a consumer token.
  2. Install the consumer token in the application(this has the same challenges presented by Signature Tokens and Open ID Access Tokens)
  3. Using the consumer token, call to the provider to get a request token.
  4. Once you have a request token, take the user to the page required by the provider for authentication.
  5. The user is presented with a login page, the provider will perform a URL-based application callback after the user logs in with their username and password.
  6. At this point you make another call to collect the user's Access Token.
  7. The access token is used to authorize cloud service requests.

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
The present state of distributed authentication technologies is well suited for "mobile to corp" or "corp to cloud," but not very well suited for applications in the mobile and decentralized model used in modern mobile architectures .

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:

  1. Implicit Authentication: A mobile device has with it a very compelling security component, uniqueness. A phone number and IMEI number make sure that anyone who wants to contact me reaches me very precisely. When I combine that with contexts that can be ascertained from my mobile device, I can introduce any number of authentication factors.
  2. Continuous Authentication: If my smart mobile device identifies me to a high degree of precision, and I don't have to be disturbed to authenticate, then it would be technically imprudent to store abstracted authentication state (signature token of some form) on my smart mobile device. Because of this, the security model should not have to maintain a state-based token for authorization, but rather remain token-less and authenticate as needed to meet the security requirements of the application at hand.
  3. Factors 3 through N of Authentication: We realized that what you do while carrying your mobile device with you implies as much about who you claim to be as a password ever could. Because of this, we focus on methods of authenticating based on your present state and historical state. We add additional factors to authentication, such as your location, time, activity (historical and present), application usage pattern, and introduce a new concept in computing security called cobehaviors for the manipulation of coordinated mobile-to-mobile applications.

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.

Conclusion
Modern mobile architectures are architectures that allow mobile devices that are connected to decentralized services to authenticate and authorize activities. This new approach introduces a security challenge as the computing paradigm changes for consumer and knowledge workers as they are enabled using mobile cloud computing. As we work to meet this security challenge, we have come across a series of best-of-breed approaches. As we move into this exciting new generation of computing, security will have to evolve to meet the needs of this new archetype. If you want to know more, checkout my session at Cloud Expo Europe; I hope to see you there.

About Jason Christensen
Jason Christensen (http//jasonc411.com) has over 15 years of industry experience providing technical direction in some of the world's largest companies. He regularly speaks at conferences regarding the use of advanced technology, and has worked as a technologist, lead architect and developer on high-profile, cutting edge projects throughout his career. He has been working on mobile, and mobile context-aware computing threads since 2004 and has developed on J2ME, Maemo, and iPhone platforms. Follow him on Twitter.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
The dynamic nature of the cloud means that change is a constant when it comes to modern cloud-based infrastructure. Delivering modern applications to end users, therefore, is a constantly shifting challenge. Delivery automation helps IT Ops teams ensure that apps are providing an...
As many know, the first generation of Cloud Management Platform (CMP) solutions were designed for managing virtual infrastructure (IaaS) and traditional applications. But that's no longer enough to satisfy evolving and complex business requirements. In his session at 21st Cloud ...
The past few years have brought a sea change in the way applications are architected, developed, and consumed—increasing both the complexity of testing and the business impact of software failures. How can software testing professionals keep pace with modern application delivery,...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is ...
In a recent survey, Sumo Logic surveyed 1,500 customers who employ cloud services such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). According to the survey, a quarter of the respondents have already deployed Docker containers and nearly as many ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE