Búsqueda Imágenes Maps Play YouTube Noticias Gmail Drive Más »
Iniciar sesión
Usuarios de lectores de pantalla: deben hacer clic en este enlace para utilizar el modo de accesibilidad. Este modo tiene las mismas funciones esenciales pero funciona mejor con el lector.

Patentes

  1. Búsqueda avanzada de patentes
Número de publicaciónUS7607011 B1
Tipo de publicaciónConcesión
Número de solicitudUS 10/893,288
Fecha de publicación20 Oct 2009
Fecha de presentación16 Jul 2004
Fecha de prioridad16 Jul 2004
TarifaPagadas
Número de publicación10893288, 893288, US 7607011 B1, US 7607011B1, US-B1-7607011, US7607011 B1, US7607011B1
InventoresTony L. Johnson, Greg L. Shelton
Cesionario originalRockwell Collins, Inc.
Exportar citaBiBTeX, EndNote, RefMan
Enlaces externos: USPTO, Cesión de USPTO, Espacenet
System and method for multi-level security on a network
US 7607011 B1
Resumen
A method of communicating information in a system having multi-level security requirements includes receiving a packet having unencrypted data, routing the packet to a host, and processing the packet at the host such that data from the packet is maintained in the protected address space associated with the host. The host includes a number of virtual hosts, each having a unique internet protocol (IP) address, a protected address space, and a protocol stack.
Imágenes(3)
Previous page
Next page
Reclamaciones(13)
1. A method of communicating information in a system having multi-level security requirements, the method comprising:
receiving a packet having unencrypted data at an Ethernet switch, the packet comprising a header portion and a data portion; transmitting the packet to a node from the Ethernet switch based on a media access control address and data received by the Ethernet switch;
routing the packet to a host from the node based on an Internet Protocol Address in the packet, the host including a number of virtual hosts, each virtual host having a unique Internet Protocol Address, a protected address space, an application in an application partition and a protocol stack;
processing the packet at the host such that data from the packet is maintained in the protected address space associated with the virtual host;
adding an application partition to a multi-cast group based on a node table; and
wherein the data portion comprises at least one of a low level security data and a high level data;
wherein the virtual hosts are separated by an operating system kernel;
wherein the node comprises an Ethernet node, the Ethernet node comprises a verified high assurance processor;
wherein the verified high assurance processor is configured to comply with the multi-level security requirements of the system by controlling the transmission of the unencrypted data to a predetermined virtual host;
wherein data from the application in the application partition is unreadable by another application in a different application partition;
wherein the verified high assurance processor is further configured to conduct a control check on the received packet using the node table, the node table including a source verification table;
wherein the verified high assurance processor uses the source verification table to ensure the source of the packet matches an expected remote Internet Protocol Address; and
wherein the verified high assurance processor uses the node table to perform a configuration check on the system components using a trusted application and to dynamically reconfigure information flow in the system components in the event of component damage.
2. The method of claim 1, wherein the verified high assurance processor comprises an Internet Protocol router software.
3. The method of claim 1, wherein the protocol stack is a TCP/UDP-IP protocol stack.
4. The method of claim 1, wherein processing the packet at the host comprises processing the packet using the protocol stack at one of the virtual hosts.
5. A system for communicating information having multi-level security requirements, the system comprising:
a node configured to receive a packet having unencrypted data from an Ethernet switch, the packet comprising a header portion and a data portion, the node further configured to route the packet to a host in a network based on an Internet Protocol Address in the packet, the host including a number of software applications, separate and protected address spaces, and protocol stacks;
an operating system kernel, the operating system kernel including a number of virtual hosts, wherein the number of virtual hosts are operable to process the packet using the protocol stack at the virtual host and process data in the protected address space associated with the virtual host;
wherein the node is configured to add an application partition to a multi-cast group based on a node table;
wherein the data portion comprises at least one of a low level security data and a high level security data;
wherein the virtual hosts are separated by the operating system kernel;
wherein the node comprises an Ethernet node, the Ethernet node comprises a verified high assurance processor;
wherein the verified high assurance processor is configured to comply with the multi-level security requirements of the system by controlling the transmission of the unencrypted data to a predetermined virtual host;
wherein the verified high assurance processor is further configured to conduct a control check on the received packet using the node table, the node table including a source verification table;
wherein the verified high assurance processor uses the source verification table to ensure the source of the packet matches an expected remote Internet Protocol Address; and
wherein the verified high assurance processor uses the node table to perform a configuration check on the system components using a trusted application and to dynamically reconfigure information flow in the system components in the event of a component damage.
6. The system of claim 5, wherein the verified high assurance processor comprises an Internet Protocol router software.
7. The system of claim 5, wherein the virtual host includes a unique Internet Protocol Address.
8. The system of claim 5, wherein the number of virtual hosts have a number of Internet Protocol Addresses associated therewith.
9. The system of claim 5, further comprising a high assurance switch configured to receive the packet from a network and route the packet to the node based on information in the packet.
10. A system for communicating information having multi-level security requirements, the system comprising:
means for receiving a packet having unencrypted data at a host from a node based on an Internet Protocol Address in the packet, the packet comprising a header portion and a data portion, the host including a number of software applications, a protected address space, and a protocol stack;
means for processing the packet at the host such that data from the packet is maintained in the protected address space associated with the host;
means for adding an application partition to a multi-cast group based on a node table; and
wherein the data portion comprises at least one of a low level security data and a high level security data;
wherein virtual hosts are separated by an operating system kernel, the virtual hosts comprising applications in application partitions;
wherein the means for receiving the packet having unencrypted data comprises an Ethernet node, the Ethernet node comprises a verified high assurance processor;
wherein the verified high assurance processor is configured to comply with the multi-level security requirements of the system by controlling the transmission of the unencrypted data to a predetermined virtual host;
wherein data from an application in a virtual host is unreadable by another application in a different application partition;
wherein the verified high assurance processor is further configured to conduct a control check on the received packet using the node table, the node table including a source verification table;
wherein the verified high assurance processor uses the source verification table to ensure the source of the packet matches an expected remote Internet Protocol Address; and
wherein the verified high assurance processor uses the node table to perform a configuration check on the system components using a trusted application and to dynamically reconfigure information flow in the system components in the event of a component damage.
11. The system of claim 10, further comprising means for routing the packet to the host.
12. The system of claim 10, wherein the means for processing establishes a socket connection including a number of application partitions.
13. The system of claim 12, wherein the protected address space prevents data in one application partition from being read from another application partition.
Descripción
FIELD OF THE INVENTION

The present invention relates to security of electronic data on computer systems. More particularly, the present invention relates to a system and method for multi-level security on a network.

BACKGROUND OF THE INVENTION

Generally, security of electronic data depends on confidentiality, availability, and integrity. Confidentiality of electronic data means that the data is only given to those who are supposed to have it. Availability of electronic data means that the data is not going to be lost. Integrity of electronic data means that the data will not be corrupted or modified. Ensuring the confidentiality, availability, and integrity of electronic data often requires complex and expensive hardware and/or software solutions that achieve security objectives without limiting the practical use of the data.

Conventional systems utilize hardware and/or software encryption techniques for security. For example, encryption devices are used to encrypt information any time the information is placed on a network that is not secure. Current networks, such as local area networks (LANs), do not support multiple security levels over a shared network with the necessary assurance. Such a capability would enable the reduction in cost, size, weight, and power of electronic systems because of the reduction in hardware and software components needed.

Multiple software applications are often used in the transportation industry for both air and ground transportation. These software applications can be at differing safety criticality and differing security levels. As such, multiple resources are typically needed, such as multiple processors and networks, so that security levels can be isolated and not compromised. The multiple resources use dedicated components that only function for a specified security level.

Thus, there is a need for modular open systems architectures to support running software application partitions at differing security levels on shared processors, shared operating systems, and shared networks. Further, there is a need for network nodes and switches having security features for different socket connections between partitions at differing security levels. Even further, there is a need for a system and method for multi-level security on a common network.

SUMMARY OF THE INVENTION

According to an exemplary embodiment, a method of communicating information in a system having multi-level security requirements includes receiving a packet having unencrypted data, routing the packet to a host, and processing the packet at the host such that data from the packet is maintained in the protected address space associated with the host. The host includes a number of software applications, a unique internet protocol (IP) address, a protected address space, and a protocol stack.

According to another exemplary embodiment, a system for communicating information having multi-level security requirements includes a node configured to route a packet having unencrypted data to a host and an operating system kernel. The host includes a number of software applications, separate and protected address space, and protocol stacks. The operating system kernel supports a number of virtual hosts operable to process the packet using the protocol stack at the virtual host and process data in the protected address space associated with the virtual host.

According to yet another exemplary embodiment, a system for communicating information having multi-level security requirements includes a means for receiving a packet having unencrypted data at a host and a means for processing the packet at the host such that data from the packet is maintained in the protected address space associated with the host. The host includes a number of software applications, a protected address space, and a protocol stack.

Other features and advantages of the present invention will become apparent to those skilled in the art from the following detailed description and accompanying drawings. It should be understood, however, that the detailed description and specific examples, while indicating exemplary embodiments of the present invention, are given by way of illustration and not limitation. Many modifications and changes within the scope of the present invention may be made without departing from the spirit thereof, and the invention includes all such modifications.

BRIEF DESCRIPTION OF THE DRAWINGS

The exemplary embodiments will hereafter be described with reference to the accompanying drawings.

FIG. 1 is a diagrammatic representation of an information communication system having multi-level security requirements according to an exemplary embodiment.

FIG. 2 is a flow diagram of the method of communicating information having multi-level security requirements in the system of FIG. 1.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

FIG. 1 illustrates an information communication system having multi-level security requirements. A packet 10 is communicated over the system where the packet 10 has a header portion and a data portion. The header portion of the packet 10 includes internet protocol (IP) address information. The data portion of the packet 10 includes unencrypted data. The data may have a low or high level of security demand. The packet 10 is transmitted from a sender on a network over a network bus 12 to a switch 14.

The switch 14 is preferably a high assurance ethernet switch. The switch 14 routes the packet 10 to a node 16 based on a unique MAC address contained in the packet 10 and information available to the switch 14, such as location of resources on the network. The node 16 routes the packet to an appropriate virtual host based on an IP address in the packet.

The packet 10 is communicated over a bus 18 to a host 20. The host 20 is preferably an operating system residing in a microprocessor. The host 20 is provided with programmed instructions to allocate portions of memory space in the microprocessor to virtual hosts 22, 24, 26, 28, and 30. The virtual hosts 22-30 each include one or more software applications, a unique address, separate and protected address space, and a protocol stack.

Each virtual host can have one or more software applications of the same safety criticality or security level. Further, each virtual host corresponds to one unique Internet Protocol (IP) address. The host 20 may have many IP addresses but the virtual hosts 22-30 have one IP address each.

Data from the packet 10 is processed in the protected address space of the virtual host assigned to the packet 10. As such, packets containing data needing high security are contained within a protected space of memory. Within each virtual host, the protocol stack routes data in the packets to the correct socket based on a port number.

FIG. 2 illustrates exemplary operations performed in a method of communicating information in a system having multi-level security requirements. Additional, fewer, or different operations may be performed. In an operation 40, a packet is transmitted with unencrypted data on an ethernet bus. The packet has an internet protocol (IP) address header and data.

In an operation 42, a high assurance ethernet switch on the network routes the packet to the correct node based on information in the packet. This information can include a MAC address. In an operation 44, the node routes the packet to a virtual host based on the IP address in the packet. The node can include a verified processor, such as the AAMP 7 processor available from Rockwell Collins, Inc. of Cedar Rapids, Iowa. The node can also include verified internet protocol (IP) router software. A virtual host refers to a separate address space having a unique network address.

Before the node routes the packet, control checks are made using programmed instructions on a verified processor. Once control checks are performed and a socket connection is established, data can be communicated through the established socket connection. A socket corresponds to a unique IP address and port number pair. As such, there is a one-to-one correspondence between sockets and IP address and port number pairs. The application partitions are virtual dividers preventing applications from sharing the same socket connection. As such, each virtual host can have many sockets, but two virtual hosts cannot share the same socket.

In an operation 46, a protocol stack in the virtual host processes the packet. In an operation 48, application software processes data in its own protected address space.

During communication, messages are delivered having a bounded latency. Statically-defined flow control tables in the node and switch enable the system integrator to bound the latency for messages through the network and is not blocked by an excess of non-critical messages. Further, data belonging to one application partition cannot be read from an application in another partition.

Once the data is read from an input/output RAM to a system RAM by a user thread calling a receive function, the data is available in both the system RAM and the data cache. Entries in a node table allow the system integrator to specify which partition can join a particular multi-cast group. The node table can also include a source verification table to prevent impersonators by ensuring that remote addresses and internet protocol addresses match expected values for the source.

In the event of damage to components in the system, there is the ability to dynamically reconfigure information flow. Preferably, there are N statically-defined node tables. Selection of which configuration to use is based on a system equipment manager partition that outputs the correct configuration to use. Based on the desired configuration, the correct node table is copied by an application from a file system on the host to the node. Alternatively, a trusted application can perform the configuration check.

Advantageously, use of the exemplary system and method described provides for the communication of unencrypted data in a secure manner. Time and cost are saved by avoiding the need to encrypt secure data or allocate dedicated hardware resources to different safety critically levels or security levels.

While the exemplary embodiments illustrated in the Figures and described above are presently preferred, it should be understood that these embodiments are offered by way of example only. Other embodiments may include, for example, different hardware and software structures and combinations of hardware and software. The invention is not limited to a particular embodiment, but extends to various modifications, combinations, and permutations that nevertheless fall within the scope and spirit of the appended claims.

Citas de patentes
Patente citada Fecha de presentación Fecha de publicación Solicitante Título
US5522075 *22 Mar 199428 May 1996Digital Equipment CorporationProtection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5535406 *29 Dic 19939 Jul 1996Kolchinsky; AlexanderVirtual processor module including a reconfigurable programmable matrix
US5636371 *7 Jun 19953 Jun 1997Bull Hn Information Systems Inc.Virtual network mechanism to access well known port application programs running on a single host system
US5734865 *27 Jun 199531 Mar 1998Bull Hn Information Systems Inc.Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US5850449 *19 May 199715 Dic 1998Sun Microsystems, Inc.Secure network protocol system and method
US6075938 *10 Jun 199813 Jun 2000The Board Of Trustees Of The Leland Stanford Junior UniversityVirtual machine monitors for scalable multiprocessors
US6151618 *18 Jun 199721 Nov 2000Microsoft CorporationSafe general purpose virtual machine computing system
US6304973 *6 Ago 199816 Oct 2001Cryptek Secure Communications, LlcMulti-level security network system
US6374286 *6 Abr 199816 Abr 2002Rockwell Collins, Inc.Real time processor capable of concurrently running multiple independent JAVA machines
US6397242 *26 Oct 199828 May 2002Vmware, Inc.Virtualization system including a virtual machine monitor for a computer with a segmented architecture
US6681238 *24 Mar 199820 Ene 2004International Business Machines CorporationMethod and system for providing a hardware machine function in a protected virtual machine
US6751737 *7 Oct 199915 Jun 2004Advanced Micro DevicesMultiple protected mode execution environments using multiple register sets and meta-protected instructions
US6788980 *9 Jun 20007 Sep 2004Invensys Systems, Inc.Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6789156 *25 Jul 20017 Sep 2004Vmware, Inc.Content-based, transparent sharing of memory units
US6922774 *14 May 200126 Jul 2005The United States Of America As Represented By The National Security AgencyDevice for and method of secure computing using virtual machines
US6944699 *27 Nov 200213 Sep 2005Vmware, Inc.System and method for facilitating context-switching in a multi-context computer system
US6961941 *8 Jun 20011 Nov 2005Vmware, Inc.Computer configuration for resource management in systems including a virtual machine
US6976258 *30 Nov 199913 Dic 2005Ensim CorporationProviding quality of service guarantees to virtual hosts
US7035963 *27 Dic 200025 Abr 2006Intel CorporationMethod for resolving address space conflicts between a virtual machine monitor and a guest operating system
US7111303 *16 Jul 200219 Sep 2006International Business Machines CorporationVirtual machine operating system LAN
US7177967 *30 Sep 200313 Feb 2007Intel CorporationChipset support for managing hardware interrupts in a virtual machine system
US7210144 *2 Ago 200224 Abr 2007Microsoft CorporationMethod for monitoring and emulating privileged instructions of programs in a virtual machine
US7213246 *28 Mar 20021 May 2007Veritas Operating CorporationFailing over a virtual machine
US7228337 *11 Sep 20015 Jun 2007Cisco Technology, Inc.Methods and apparatus for providing a network service to a virtual machine
US7237051 *30 Sep 200326 Jun 2007Intel CorporationMechanism to control hardware interrupt acknowledgement in a virtual machine system
US7257817 *27 Nov 200114 Ago 2007Microsoft CorporationVirtual network with adaptive dispatcher
US7278030 *3 Mar 20032 Oct 2007Vmware, Inc.Virtualization system for computers having multiple protection mechanisms
US7337445 *28 Ene 200426 Feb 2008Sun Microsystems, Inc.Virtual system console for virtual application environment
US7356735 *30 Mar 20048 Abr 2008Intel CorporationProviding support for single stepping a virtual machine in a virtual machine environment
US7373500 *15 Abr 200313 May 2008Sun Microsystems, Inc.Secure network processing
US7409487 *30 Jun 20035 Ago 2008Vmware, Inc.Virtualization system for computers that use address space indentifiers
US7424710 *18 Dic 20039 Sep 2008Vmware, Inc.TCP/IP offloading for virtual machines
US7478173 *18 Dic 200313 Ene 2009Wmware, Inc.Method and system for sharing a network connection in a virtual computer system
US7484208 *12 Dic 200227 Ene 2009Michael NelsonVirtual machine migration
US7526774 *20 Ene 200428 Abr 2009Sun Microsystems, Inc.Two-level service model in operating system partitions
US20020069369 *3 Jul 20016 Jun 2002Tremain Geoffrey DonaldMethod and apparatus for providing computer services
US20020138628 *22 Ene 200226 Sep 2002Crescent Networks, Inc.Extension of address resolution protocol (ARP) for internet protocol (IP) virtual networks
US20020169987 *14 May 200114 Nov 2002Meushaw Robert V.Device for and method of secure computing using virtual machines
US20020184520 *10 Oct 20015 Dic 2002Bush William R.Method and apparatus for a secure virtual machine
US20020191572 *30 Ene 200219 Dic 2002Nec Usa, Inc.Apparatus for public access mobility lan and method of operation thereof
US20030037089 *15 Ago 200120 Feb 2003Erik Cota-RoblesTracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US20030115578 *18 Dic 200119 Jun 2003Igor LiokumovichPC platform simulation system employing efficient memory access simulation in a direct execution environment
US20030172305 *5 Sep 200211 Sep 2003Shinsuke MiwaVulnerabilities resistant server system and software thereof
US20040010594 *11 Jul 200215 Ene 2004International Business Machines CorporationVirtualizing the security parameter index, marker key, frame key, and verification tag
US20040025022 *20 Sep 20015 Feb 2004Yach David PCode signing system and method
US20040031025 *21 Nov 200112 Feb 2004Pascal BrissetFormal verification in particular of a secure virtual machine
US20040117539 *17 Dic 200217 Jun 2004Intel CorporationMethods and systems to control virtual machines
US20050086523 *15 Oct 200321 Abr 2005Zimmer Vincent J.Methods and apparatus to provide network traffic support and physical security support
US20050132365 *16 Dic 200316 Jun 2005Madukkarumukumana Rajesh S.Resource partitioning and direct access utilizing hardware support for virtualization
US20050138370 *23 Dic 200323 Jun 2005Goud Gundrala D.Method and system to support a trusted set of operational environments using emulated trusted hardware
US20050210467 *18 Mar 200422 Sep 2005Zimmer Vincent JSharing trusted hardware across multiple operational environments
US20050223225 *31 Mar 20046 Oct 2005Campbell Randolph LSwitching between protected mode environments utilizing virtual machine functionality
US20050251867 *10 May 200410 Nov 2005Sastry Manoj RMethods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
US20050283640 *19 May 200422 Dic 2005International Business Machines CorporationPolled automatic virus fix
US20050289648 *23 Jun 200429 Dic 2005Steven GrobmanMethod, apparatus and system for virtualized peer-to-peer proxy services
US20060020781 *24 Jun 200426 Ene 2006Scarlata Vincent RMethod and apparatus for providing secure virtualization of a trusted platform module
Citada por
Patente citante Fecha de presentación Fecha de publicación Solicitante Título
US7900016 *1 Feb 20081 Mar 2011International Business Machines CorporationFull virtualization of resources across an IP interconnect
US79046931 Feb 20088 Mar 2011International Business Machines CorporationFull virtualization of resources across an IP interconnect using page frame table
US8365294 *30 Jun 200629 Ene 2013Intel CorporationHardware platform authentication and multi-platform validation
US20080005798 *30 Jun 20063 Ene 2008Ross Alan DHardware platform authentication and multi-purpose validation
Clasificaciones
Clasificación de EE.UU.713/166, 718/1
Clasificación internacionalH04L29/06, G06F9/455
Clasificación cooperativaH04L63/105, H04L63/101
Clasificación europeaH04L63/10A, H04L63/10D
Eventos legales
FechaCódigoEventoDescripción
11 Mar 2013FPAYFee payment
Year of fee payment: 4
16 Jul 2004ASAssignment
Owner name: ROCKWELL COLLINS, INC., IOWA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JOHNSON, TONY L.;SHELTON, GREG L.;REEL/FRAME:015595/0473
Effective date: 20040716