Security: “Built-in, Overlay or Something More Radical?”
I was reading Joseph Tardo’s (Nevis Networks) new Illuminations blog and found the topic of his latest post ""Built-in, Overlay or Something More Radical?" regarding the possible future of network security quite interesting.
Joseph (may I call you Joseph?) recaps the topic of a research draft from Stanford funded by the "Stanford Clean Slate Design for the Internet" project that discusses an approach to network security called SANE. The notion of SANE (AKA Ethane) is a policy-driven security services layer that utilizes intelligent centrally-located services to replace many of the underlying functions provided by routers, switches and security products today:
Ethane is a new architecture for enterprise networks which provides a powerful yet simple management model and strong security guarantees. Ethane allows network managers to define a single, network-wide, fine-grain policy, and then enforces it at every switch. Ethane policy is defined over human-friendly names (such as "bob, "payroll-server", or "http-proxy) and dictates who can talk to who and in which manner. For example, a policy rule may specify that all guest users who have not authenticated can only use HTTP and that all of their traffic must traverse a local web proxy.
Ethane has a number of salient properties difficult to achieve
with network technologies today. First, the global security policy is enforced at each switch in a manner that is resistant to poofing. Second, all packets on an Ethane network can be
attributed back to the sending host and the physical location in
which the packet entered the network. In fact, packets collected
in the past can also be attributed to the sending host at the time the packets were sent — a feature that can be used to aid in
auditing and forensics. Finally, all the functionality within
Ethane is provided by very simple hardware switches.
The trick behind the Ethane design is that all complex
functionality, including routing, naming, policy declaration and
security checks are performed by a central controller (rather than
in the switches as is done today). Each flow on the network must
first get permission from the controller which verifies that the
communicate is permissible by the network policy. If the controller allows a flow, it computes a route for the flow to
take, and adds an entry for that flow in each of the switches
along the path.
With all complex function subsumed by the controller, switches in
Ethane are reduced to managed flow tables whose entries can only be populated by the controller (which it does after each succesful permission check). This allows a very simple design for Ethane
switches using only SRAM (no power-hungry TCAMS) and a little bit
of logic.
I like many of the concepts here, but I’m really wrestling with the scaling concerns that arise when I forecast the literal bottlenecking of admission/access control proposed therein.
Furthermore, and more importantly, while SANE speaks to being able to define who "Bob" is and what infrastructure makes up the "payroll server," this solution seems to provide no way of enforcing policy based on content in context of the data flowing across it. Integrating access control with the pseudonymity offered by integrating identity management into policy enforcement is only half the battle.
The security solutions of the future must evolve to divine and control not only vectors of transport but also the content and relative access that the content itself defines dynamically.
I’m going to suggest that by bastardizing one of the Jericho Forum’s commandments for my own selfish use, the network/security layer of the future must ultimately respect and effect disposition of content based upon the following rule (independent of the network/host):
Access to data should be controlled by security attributes of the data itself.
- Attributes can be held within the data (DRM/Metadata) or could be a separate system.
- Access / security could be implemented by encryption.
- Some data may have “public, non-confidential” attributes.
- Access and access rights have a temporal component.
Deviating somewhat from Jericho’s actual meaning, I am intimating that somehow, somewhere, data must be classified and self-describe the policies that govern how it is published and consumed and ultimately this security metadata can then be used by the central policy enforcement mechanisms to describe who is allowed to access the data, from where, and where it is allowed to go.
…Back to he topic at hand, SANE:
As Joseph alluded, SANE would require replacing (or not using much of the functionality of) currently-deployed routers, switches and security kit. I’ll let your imagination address the obvious challenges with this design.
Without delving deeply, I’ll use Joseph’s categorization of “interesting-but-impractical”
/Hoff
Recent Comments