throbber
US007716720B1
`
`US 7,716,720 B1
`(10) Patent No.:
`a2) United States Patent
`Mareketal.
`(45) Date of Patent:
`May 11, 2010
`
`
`(54) SYSTEM FOR PROVIDING SECURE AND
`TRUSTED COMPUTING ENVIRONMENTS
`
`2002/0162021 Al* 10/2002 Audebert etal.
`............ 713/201
`2006/0026417 Al*
`2/2006 Furusawaetal. «0.0.0.0... 713/2
`
`4/2006 Mareketal.0... TAB/L71
`2006/0075236 Al*
`
`(75)
`
`Inventors: James A. Marek, Anamosa, IA (US);
`David S. Hardin, Cedar Rapids, IA
`(US); RaymondA. Kamin,IIT, Robins,
`IA (US); Steven E. Koenck, Cedar
`Rapids, IA (US); Allen P. Mass, Cedar
`Rapids, IA (US)
`
`(73) Assignee: Rockwell Collins, Inc., Cedar Rapids,
`JA (US)
`
`(*) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`US.C. 154(b) by 1182 days.
`
`(21) Appl. No.: 11/155,874
`4.
`(22)
`Filed:
`Jun. 17, 2005
`(51)
`Int.Cl
`(2006.01)
`GO6F 7)4
`(2006.01)
`G06F 1730
`(2006.01)
`HOAL 9/32
`76/2: 713/151: 713/162:
`(52) US.CL
`“oe 713/167:713/179: 796NT: 380128. 709/213.
`709/232:711/129: 714/147
`?
`S
`Field of Classification
`h
`,
`,
`76/2
`asst en nol verebhiue
`Sox
`° i
`ee application
`file
`tor complete search
`history.
`References Cited
`U.S. PATENT DOCUMENTS
`
`58)
`(58)
`(56)
`
`OTHER PUBLICATIONS
`
`Alves-Fossct al., “A Multi-Layered Approach to Security in High
`Assurance Systems” IEEE, 2004, pp. 1-10.*
`* cited by examiner
`
`Primary Examiner—Emmanuel L Moise
`Assistant Examiner—Shewaye Gelagay
`(74) Attorney, Agent, or Firm Matthew J. Evans; Daniel M.
`Berbieri
`
`(57)
`
`ABSTRACT
`
`The present invention is directed to a system for providing a
`trusted environment for untrusted computing systems. The
`system may include a HAC subsystem managing shared
`resources and a trusted bus switch for controlling a COTS
`processor
`to access the shared resources. The shared
`resources such as memory andseveral I/O resourcesreside on
`the trusted side of the trusted bus switch. Alternatively, the
`system may include a SCM as an add-on module to an
`untrusted host environment. Only authenticated applications
`including COTS OS execute on the SCM while untrusted
`applications execute on the untrusted host environment. The
`SCM maycontrol secure resource access from the untrusted
`host through a plug-in module interface. All secure resources
`may be maintained onthe trusted side of the plug-in module
`interface.
`
`7,194,623 B1*
`
`3/2007 Proudleretal.
`
`............. 713/164
`
`18 Claims, 18 Drawing Sheets
`
`ais
`
`112
`
`VO
`VO
`Resource Resource
`
`440
`
`102
`Memory
`Resource
`
`Resource Resource Resource
`
`7104
`Memory
`
`(106
`VO
`
`7108
`0
`
`
`
`APPLE 1004
`
`APPLE 1004
`
`1
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 1 of 18
`
`US 7,716,720 B1
`
`O/l
`
`eoinosey
`
`goJNosey
`
`CLLKioway
`
`rol
`
`zo
`
`Nowa
`
`SsoJNOSeY:
`
`(LUVWOTd)IDOW
`
`2
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 2 of 18
`
`US 7,716,720 B1
`
`002
`
`sol
`
`ol
`
`9017
`
`ort
`
`rol
`
`Nowe
`
`
`
`
`
`QDINOSBYBsdINOSsYsd1INOSOY
`
`zo
`
`Aiowsy\
`
`soInosey
`
`
`
`eoinoseysounosey
`
`Obl
`
`O/|
`
`O/l
`
`c
`Lb
`
`$)JOSS8901g
`
`3
`
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 3 of 18
`
`
`
`seounosaypauonmed
`
`puepaeus
`
`|e007
`
`806Aiowayy
`
`
`eoueinssyYBipH
`
`JOSS300Jg
`
`90€
`
`CLE
`
`OVH
`
`US 7,716,720 B1
`
`cce™Buissa00ld
`ae
`ueDIA
`Bulssso01g|
`PEOUJOAOSt
`Buissa00id—
`
`Oce
`
`OLE
`
`
`
`4
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 4 of 18
`
`US 7,716,720 B1
`
`oop
`
`
`
`SOoINOSOYPaUONiwed
`
`puepaleys
`
`souesnssyubiy
`
`JOSS890/d
`
`derUMS
`
`yunjuswebeueyy
`
`UdlWed
`
`5
`
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 5 of 18
`
`US 7,716,720 B1
`
`Sly
`
`|
`
`Peel
`
`aIPl'?|HO
`
`
`SIPI8
`
`qvDIA
`
`_44PESUJIAOPRSUIOAO
`——SOOF
`
`
`_Bulsse00ld:2Buuedaig::_bulsse00ld
`__SunedeidBuisseo0ldBuuedald
`
`
`HOS1PI'8|HO
`
`320)|JomoL#MdSLOO
`
`6
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 6 of 18
`
`US 7,716,720 B1
`
`00sa
`
`{2007
`
`seounosey
`
`Sis
`
`CC
`
`-0}dAID
`
`JOSS8001g
`
`O/l9Aiowey\y
`
`saoJnosey
`
`|04}U0Z)
`
`yoouJS
`
`jeuondo
`
`reeeennnendeeen— f n-e p n nne,
`JOSS890/dJOSSE00Jd|Of
`
`SLOOSLOD|18907
`
`aisois|vs
`
`sng|e907]
`
`sng|e007
`
`=
`
`a.
`
`weajsAsqns
`
`O/l1dO
`
`Naayeaq
`UOWMS
`
`7
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 7 of 18
`
`US 7,716,720 B1
`
`009“
`
`Japeo7
`
`
`“‘Byuog|sa1neqe0epa}U]OVWH
`SISALIQyOoudSq
`
`919vl9
`
`SO39smopul(SLOD)
`
`aIEMPIEH(SLOD)
`
`uonesiddyS109
`
`9DIA
`
`029
`
`pueog
`
`yoddns
`
`abeyoed
`
`(dSq@)
`
`8
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 8 of 18
`
`US 7,716,720 B1
`
`AjUSWUOJIAUZ
`
`001LZ
`
`Buyndwoydpeysnjun
`
`ateak
`
`peydAneqIpardAusua
`
`cOL
`
`e]ep/apo9
`
`
`
`
`
`—_—_——»JOMJONanodes
`
`
`
`O/l“SSI
`
`
`——__WVU
`
`402yog-jeng
`
`SLOO
`
`LOUSNOILVOMddv
`
`9
`
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 9 of 18
`
`US 7,716,720 B1
`
`
`
`pseogheyjenyiA
`
`8Old
`
`008“
`
`Jeni
`
`
`
`YIOMJONainda{|
`
` Ae\dsig
`
`NV
`
`10
`
`10
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet10 of 18
`
`US 7,716,720 B1
`
`908
`
`
`
`
`902
`
`
`
`Janus
`
` Villy|MG,
`
`
`
`tf
`oe
`
`y
`y
`yl
`Y
`
`
`Secure
`y
`TSM
`y
`
`
`Network|*4 918 |aamP7|
`
`y.
`y
` 906
`
`
`ase untrusted
`VATSSELLERRROD
`YY
`
`
`trusted
`
`
`SS
`
`ost Interface
`912
`
`Untrusted Host
`Computer
`
`914
`
`FIG. 9
`
`11
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet11 of 18
`
`US 7,716,720 B1
`
`1000
`
`908
`Moduletieel1]4|emus Ey
`
`
`
`SSJcJss
`
`
`ase untrusted
`
`
`1014
`
`trusted
`WASSLSELELEESEERREESDI
`
`
`
`)yy4yyyyy7I
`
`ost Interface
`
`1012
`
`
`Untrusted PDA
`
`FIG. 10
`
`
`
`——
`
`Yy4
`
`yy
`
`
`
`Secure
`Network
`
`906
`
`12
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 12 of 18
`
`US 7,716,720 B1
`
`1100“
`
`Secure
`Network
`
`
`
`black
`
`Wireless
`
`
`
`
`
`
`
`VIZILLLLLLALLALAILLLIIMALLAULTLILLILILLTIAATALITLLLLLLLALLAALALELAL
`
`
`
`
`
`
`
`
`red
`
` F Interface
`
`red/black
`
`untrusted
`
`
`
`13
`
`13
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet13 of 18
`
`US 7,716,720 B1
`
`1200“
`
`
`
`908
`
`
`Secure
`
`UY)PLPLILLLALLLPLLhasa
`
`y- -
`7
`:=//
`
`
`)we
`EN—ST
`
`
`Network
`
`
`7p7/
`
`
`1214
`
`
`
`
`jjjyjyjyyyyyyy
`
`PCMCIA Interface
`
`Untrusted Laptop PC
`
`FIG. 12
`
`14
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet14 of 18
`
`US 7,716,720 B1
`
`1300“
`
`
`
`black
`
`Wireless
`
`
`
`
`
`
`
`VLILLISILLLLILILILTILTLILLNIITITLETLLITTILL LILLTTaiiTT).
`
`
`
`
`Secure
`Network
`
`red
`
`
`
`
`
`LLLLILLIELLIDLTILELTTT TTTTTTTTTITTTitiiiiit
`
`PCMCIA
`
`
`
`Ookehod
`
`red/black
`
`untrusted
`
`Lehehrrhhrthgahnatlgnthnatleheyheedaf
`Chen”
`Cnhhnthrclpenhihnhhheuhhe
`
`FIG. 13
`
`15
`
`15
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet 15 of 18
`
`US 7,716,720 B1
`
`1400“
`
`-
`
`908
`
`MLLa
` Wireless
`
`=VMLLLHILL
`
`
`
`Ma—
`untrusted Ldnrc
`
`
`
`trusted
`
`PASAAVERDEAEELERRELEEO
`
`
`
`
`Secure
`Network
`
`16
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet16 of 18
`
`US 7,716,720 B1
`
`()
`
`LAN
`
`VY
`
`1500“
`
`
`
` Wired or
`Wireless
`=SSblack
`
`
`LLLLLLILITILLTLiiilihTeDILLLILLILLILLLLLALALLTTB
`
`
`Secure []|| trusted
`fr] C75 L] |
`ZALESTTI/——_a(LLLLLLLLILLLE.
`red/b|aCc
`
`Network
`
`untrusted
`
`ATAEa
`
`SELES
`LEEEEEESISS
`ern
`
`Pp
`(
`System
`Unit
`
`FIG. 15
`
`17
`
`17
`
`

`

`ZOOLOL9L
`
`1091pBeqpeydAuouy
`
`WSL|a1emog|JOUJE}U|Aemeyes
`
`9091
`
`
`
`Bunndwospajsnjun
`
`BEA
`
`U.S. Patent
`
`May11
`
`’
`
`2010
`
`Sheet 17 of 18
`
`US 7,716,720 B1
`
`91‘OIA
`
`WOS
`
`JOVJUBWUOJIAUZ
`
`
`pajsnijuaindas
`
`
`8091
`
`peisniy
`
`Buyndwo5
`
`JUSWUOJIAUZ
`
`18
`
`18
`
`
`
`
`
`

`

`U.S. Patent
`
`May11, 2010
`
`Sheet18 of 18
`
`US 7,716,720 B1
`
`1700
`
`“
`
`OO00 OOO 0OOFfOF OOO eee
`
`
`Seeaat
`
`FIG. 17
`
`19
`
`19
`
`

`

`US 7,716,720 Bl
`
`1
`SYSTEM FOR PROVIDING SECURE AND
`TRUSTED COMPUTING ENVIRONMENTS
`
`FIELD OF THE INVENTION
`
`This invention relates generally to computing environ-
`ments and more particularly to a system for providing a
`secure and trusted commercial-off-the-shelf COTS comput-
`ing environment.
`A secure communication system for military applications
`is required to have high bandwidth and support users who
`operate at different security levels. The levels of security
`dependon the type of information being communicated and
`upon the parties involved in the communication. For example,
`a network connecting real time embedded military multi-
`level applications must support communications between
`diverse groups with different clearance levels. In order to
`support such a network at a reasonablecost, it is desirable to
`utilize commercial-off-the-shelf (COTS) network technolo-
`gies and standards as much aspossible. However, most COTS
`network components do not meetthe level of security to meet
`information assurance requirements for the secure commu-
`nication system including military multi-level applications.
`Governmentand military applications often require more
`stringent standards for components. For example, security
`standards for computer and communication equipment for
`military applications are typically more stringent than secu-
`rity standards of comparable commercial computer and com-
`munication equipment. In the past, specialized components
`were employed which could meetthe stringent standards of
`military applications. A drawback associated with the spe-
`cialized components is the high cost associated with the
`design and manufacture of a specialized component with
`limited market potential outside of military applications.
`Consequently, a systemsuitable for highly assured military
`applications employing widely available and cost effective
`commercial off-the-shelf (COTS) components is necessary.
`
`SUMMARYOF THE INVENTION
`
`Accordingly, the present invention is directed to a system
`for providing a trusted COTS computing environment.
`In an exemplary aspect of the present invention, a system
`provides a secure COTS computing environment through
`controlling COTS processor resource access. The system
`may implementan inter-partition separation without needing
`to modify COTSprocessors or COTSoperating systems.
`The system includes a trusted bus switch and a High Assur-
`ance Controller (HAC) subsystem. The trusted bus switch
`may control the COTSprocessors to access shared resources.
`The shared resources such as memory and several I/O
`resources reside onthe trustedside of the trusted bus switch.
`
`The memory andseveral I/O resources may be managed by
`the HAC subsystem.
`The HAC subsystem maybe configured to ensure that each
`COTSprocessor based application has access only to a cor-
`responding memory partition. The HAC subsystem may
`enforce timesharing among COTSprocessor based applica-
`tions. The HAC subsystem may include a local memory, a
`partition management unit (PMU), and a High Assurance
`Microprocessor. The High Assurance Microprocessor may
`implementintrinsic partitioning. The PMU maybe config-
`ured to enforce access to shared resources so that the COTS
`
`CPU only accesses its predeterminedpartitions for a certain
`computing function.
`In an additional exemplary aspect of the present invention,
`a system including a Secure Computing Module (SCM)pro-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`vides a trusted environment for COTShost platforms. Only
`authenticated trusted applications execute on the SCM while
`untrusted applications execute on the untrusted host environ-
`ment. The SCM maycontrol secure resource access from an
`untrusted host through a plug-in module interface. All secure
`resources may be maintainedon thetrusted side ofthe plug-in
`module interface. Untrusted host access to the SCM is subject
`to a stringent authentication protocol.
`The SCM may include two subsystems: an authenticated
`subsystem (ACE) and a trusted manager subsystem (TSM)
`residing onthe trusted environment. The ACE maybe secured
`by authenticating all code and data used for rmmning COTS
`applications. The ACE mayinclude an embedded COTS OS
`and various COTSapplications. The ACE may be cleansed
`and encrypted and then stored on a local encrypted storage.
`The stored ACE on the local encrypted storage may be
`decrypted and loaded with the TSM during the SCM instal-
`lation.
`
`The TSM maybesuitable for providing partitioning for
`both memory and I/O resources on the trusted environment.
`All I/O paths of the SCM are configured to go through the
`TSM.Each I/O path is managed by a dedicated secure TSM
`partition and subject to authentication protocols. The TSM
`may include a trusted processor for providing a brick-wall
`partitioning environment and a cryptographic enginefor pro-
`viding a robust security interface in a secure communication
`network.
`
`Advantageously, the system including the SCM maypro-
`vide trusted and portable COTS computing environments
`against malware. Use of the ACE in conjunction with the
`TSM may ensure COTSapplications running on the SCM to
`be free from malware and manufacturer-supplicd software to
`be trusted. Only authenticated applications including COTS
`OS execute on the SCM while untrusted applications execute
`on the untrusted host environment. The SCM may control
`secure resource access from the untrusted host through a
`plug-in module interface. All secure resources may be main-
`tained on the trusted side of the plug-in module interface.
`In another additional aspect of the present invention, the
`SCM may utilize input and output devices of the untrusted
`host as virtual Input and output devices for the secure COTS
`environment. The SCM mayinclude a Trusted Agent config-
`ured to be loaded onto the untrusted host from the SCM in
`
`“Plug-and-Play” fashion when the SCM is added on to the
`untrusted host. The Trusted Agent mayreside on the untrusted
`host environment while the SCM is implemented. The
`Trusted Agent in conjunction with the TSM creates a secure
`/O path from/to input and output devices of the untrusted
`host. In this manner, the input and output devices of the
`untrusted host may be implementedas virtual Input and out-
`put devices for the SCM.
`In a further aspect of the present invention, the SCM may
`provide secure COTS environments for various host COTS
`platforms. The SCM may use a Compact Flash (CF) interface
`for a PDA host. The SCM maybe connected as a USB, CF, or
`PCMCIAdevice for a laptop host. The SCM mayuse a USB
`connection for a desktop PC host.
`It is to be understood that both the foregoing general
`description and the following detailed description are exem-
`plary and explanatory only andare notrestrictive ofthe inven-
`tion claimed. The accompanying drawings, which are incor-
`porated in and constitute a part of the specification, illustrate
`
`20
`
`20
`
`

`

`US 7,716,720 Bl
`
`3
`an embodimentofthe invention and together with the general
`description, serve to explain the principles of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`4
`FIG. 17 illustrates memory patterns utilized to test the
`SCM in accordance with an exemplary embodimentof the
`present invention.
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`Those numerous objects and advantages of the present
`invention maybebetter understoodby those skilled in theart
`by reference to the accompanying figures in which:
`FIG. 1 illustrates a block diagram of a prior art secure
`computing environment;
`FIG. 2 illustrates a block diagram of a secure computing
`environmentutilizing a trusted bus switch in accordance with
`an exemplary embodimentof the present invention;
`FIG. 3A illustrates a block diagram of a secure COTS
`computing environment with a single processor in accor-
`dance with an exemplary embodiment of the present inven-
`tion;
`FIG.3B illustrates a processing timing ofthe secure COTS
`computing environment shownin FIG. 3A;
`FIG. 4A illustrates a block diagram of a secure COTS
`computing environment with two processors in accordance
`with an exemplary embodimentofthe present invention;
`FIG. 4B illustrates a dual processing timing of the secure
`COTS computing environment shown in FIG.4A;
`FIG. 5 illustrates a block diagram of a High Assurance
`Controller in accordance with an exemplary embodimentof
`the present invention;
`FIG. 6 illustrates a block diagram of a COTS operating
`system interface to the High Assurance Controller in accor-
`dance with an exemplary embodiment of the present inven-
`tion;
`FIG.7 illustrates a block diagram of a computing environ-
`ment implementing SCMarchitecture in accordance with an
`exemplary embodimentof the present invention;
`FIG.8 illustrates a block diagram ofa virtual input/output
`system in conjunction with the SCM in accordance with an
`exemplary embodimentof the present invention;
`FIG. 9 illustrates a block diagram of a SCM in accordance
`with an exemplary embodimentofthe present invention;
`FIG.10 illustrates a block diagram of the SCM interfacing
`with an untrusted PDA in accordance with an exemplary
`embodimentof the present invention;
`FIG. 11 illustrates a block diagram of a PDA computing
`environmentutilizing the SCM shown in FIG. 10 in accor-
`dance with an exemplary embodiment of the present inven-
`tion;
`FIG.12 illustrates a block diagram of the SCM interfacing
`with an untrusted Laptop PC in accordance with an exem-
`plary embodimentof the present invention;
`FIG. 13 illustrates a block diagram of a Laptop PC com-
`puting environmentutilizing the SCM shownin FIG. 12 in
`accordance with an exemplary embodiment of the present
`invention;
`FIG.14 illustrates a block diagram of the SCM interfacing
`with a desktop PC in accordance with an exemplary embodi-
`mentof the present invention;
`FIG. 15 illustrates a block diagram of a desktop PC com-
`puting environmentutilizing the SCM shown in FIG. 14 in
`accordance with an exemplary embodiment of the present
`invention;
`FIG. 16 illustrates a block diagram of a computing envi-
`ronmentutilizing the SCM for a remote trusted host in accor-
`dance with an exemplary embodiment of the present inven-
`tion; and
`
`10
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Reference will now be madein detail to presently preferred
`embodiments of the invention, examples of whichareillus-
`trated in the accompanying drawings.
`The present invention discloses a system for providing a
`secure COTS computing environment based on embedded
`security architecture.
`
`1. Secure COTS Computing Environment Through HAC
`A secure COTS computing environmentis provided by a
`system including a High Assurance Controller (HAC) sub-
`system to control execution of COTS functions and enforce
`security partitioning for applications running on the untrusted
`COTSprocessor. A COTS processor resource access may be
`controlled through a trusted bus switch with all memory and
`shared I/O resources residing on a trustedside of the trusted
`bus switch. The HAC subsystem is suitable for controlling the
`trusted bus switch and executing multiple partitions with
`guaranteed separation. The HAC subsystem may maintain
`high Evaluation ofAssurance Level (EAL) certifications such
`as EAL-6 and EAL-7 according to NSA commoncriteria of
`security characterizations. The system may support an inter-
`partition separation without needing to modify the COTS
`processor or COTSoperating system. The intrinsic partition-
`ing separation is independentof the security pedigree of both
`the COTSoperating system andthe host applications.
`
`1.1 Secure Computing Environment
`Referring now to FIG.1, a block diagram of a conventional
`secure computing environment 100 is shown. In a conven-
`tional computing environment, COTSprocessors 114 com-
`municate directly with memory 102,104 and I/O resources
`106, 108, 110, 112 using data, address, and control bus struc-
`tures. In order to maintain a secure computing environment,
`access to certain shared resources such as memory 102, 104
`and the like, or parts of the shared resources such as shared
`1/O devices 106, 108 are controlled in a structured mannerto
`prevent compromising classified data. There have been
`efforts to control shared resources without compromising
`classified data. For example, a separation kernel in a Multiple
`Independent Level of Security (MILS)-compliant real time
`OShasbeenutilized to prevent compromisingclassified data.
`Ilowever, the operation level separation may result in a com-
`plicated separation mechanism requiring the myriad imple-
`mentation details to be verified to ensure security of the
`system.
`As shown in FIG. 2, in an embodiment of the present
`invention, resource access by COTSprocessors 114 is con-
`trolled through a trusted bus switch 212, where all memory
`102, 104 and several shared I/O resources 106, 108 are moved
`to the trusted side of the trusted bus switch 212. The COTS
`
`I/O
`processors 114 may be capable of accessing local
`resources 110, 112 without requiring any access control by
`the trusted bus switch. The local I/O resources 110, 112 not
`requiring access controls reside on the untrusted side of the
`trusted bus switch. The trusted bus switch may be managed by
`a HAC subsystem to enforce an arbitrary security policy.
`
`1.2 HAC Subsystem
`Referring now to FIG. 3A, a block diagram of a secure
`COTScomputing environment 300 havinga single processor
`is shown. In an embodiment of the present invention, the
`secure computing environment 300 may include a HAC sub-
`
`21
`
`21
`
`

`

`US 7,716,720 Bl
`
`6
`save its current state, zeroize its internal state, load the pre-
`viously saved state for the impending timeslice, and re-
`establish the PMU state.
`
`5
`system 312, a COTS Central Processing Unit (CPU) 302, and
`various shared and/or partitioned resources 313. The HAC
`subsystem 312 is responsible for control of COTS CPU
`As a result, the COTS CPU is ready to execute a next
`execution as well as enforcing access to shared resources 313
`scheduled computing function. For example, a first comput-
`such as memory and I/O. The HAC subsystem 312 may
`
`monitor and managepartitions for the COTS CPU. The HAC ing function at TS security level may be executedinafirst
`subsystem 312 is responsible for zeroizing, loading, config-
`time slice 316. Before a second computing function at secu-
`uring, and controlling the COTS CPU for time-sliced real
`rity level being executed in a second time slice 320, a pro-
`time execution of Multiple Independent Level of Security
`cessing partition for the first computing function may be
`(MILS) computing functions. Zeroizing the COTS CPU may
`“scrubbed”by the HAC subsystem 312. The HAC subsystem
`312 causes the COTS CPUto zeroize its internal states and
`include approved zeroization procedures configured to erase
`sensitive information (e.g. keys for a cryptographic module)
`reestablish the PMU state. Then, the COTS CPU 302is ready
`or decrypted secure data to prevent its disclosure. The HAC
`for executing the second computing function in the second
`timeslice 320.
`subsystem 312 is also responsible for user authentication. The
`HAC subsystem 312 is a complete computing environment
`including local memory 308 coupled to a local I/O 310, a
`partition managementunit (PMU) 304, and a high assurance
`processor 306.
`The PMU 304 may enforce access to shared and parti-
`tioned resources 313 so that the COTS CPU 302is prevented
`from accessing outside its predetermined resourcepartitions.
`The COTSCPU302is interfaced to the PMU throughits local
`memory bus 303 and accesses its corresponding memory
`partitions through the PMU.The corresponding memorypar-
`titions are predetermined by the HAC subsystem 312. In a
`particular
`embodiment,
`a ROCKWELL COLLINS
`AAMP7™microprocessor maybe used as the high assurance
`processor. The AAMP7™microprocessor provides brick-
`wall partitioning and has been formally verified as part of an
`NSAcertification effort.
`
`10
`
`15
`
`25
`
`30
`
`In a preferred embodiment of the present invention, the
`HACsubsystem 312 maybe suitable for implementingintrin-
`sic partitioning with brick-wall separation. Partitionsare pro-
`cessing contexts where communication betweenpartitionsis
`limited to what is allowed by an information flow policy.
`Generally, a system has intrinsic partitioning when the
`underlying processing platform of the system is designed to
`enforce brick-wall separation. Such intrinsic partitioning
`may provide concrete assurance of the spatial and temporal
`separation between partitions. The underlying processing
`platform enforces a policy of information flow betweenpar-
`titions with mechanismsthat are designed into the machine
`itself, not addedlater at the operating system or application
`levels. To ensure that highly sensitive data is securely mixed
`with data and programs at
`lower or unclassified levels
`requires a separation mechanism that is best implemented and
`certified at a low level of the design.
`Utilizing the Intrinsic partitioning approach, the HAC sub-
`system 312 may provide a separation mechanism that is inde-
`pendentof the security pedigree ofboth the operating system
`and the hosted applications. The relative simplicity of the
`approach allows for high levels of assurance and allows the
`system developer to choose an operating system, such as
`Portable Operating System Interface (POSIX,) VxWorks, and
`the like, best suited for personality modules such as Global
`Positioning System (GPS)user devices, Joint Tactical Radio
`Systems (JTRS), PDAs, cell phones, and thelike.
`As shownin FIG. 3B, the HAC subsystem 312 may enforce
`timesharing among applications running on the COTS CPU
`302. The COTS CPU 302 executes a single computing func-
`tion at a selected security level (e.g. Top Secret (TS), Secret
`(S), Unclassified (U) andthelike) in each predetermined time
`slice 316, 320, 322. Access to shared resources for each time
`slice 316, 320, 322 is enforced by the PMU 304. Between
`computing timeslices, there is an overhead time 318 caused
`by inter-timeslice scrubbing. The HAC subsystem scrubs the
`previous processing partition by causing the COTS CPUto
`
`
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`In an embodiment of the present invention, at least two
`COTSprocessors maybe utilized to minimizeinter-timeslice
`scrubbing. Each inter-time slice scrubbing may be an over-
`head for the COTS processors. Referring now to FIG. 4A, a
`block diagram of a secure COTS computing environment 400
`witha dual COTS CPUarchitecture is shown. The dual COTS
`CPU architecture is similarto the single processor version as
`shown in FIG. 3 except that a first COTS CPU 401 may be
`zeroized and preparedfor the next time slice while the current
`time slice is executing on a second COTS CPU 402. Each
`COTSCPU 401, 402 is suitable for executing a computing
`function at a different security level. Each COTS CPU 401,
`402 is coupled to a corresponding local bus 403, 405. The
`local buses 403, 405 are coupled to a switch 430 included in
`the HAC subsystem. The switch 430 may perform a source
`selection function so that access to shared memory is blocked
`for the non-selected COTS CPU,andis passed through with
`zero overhead to the selected COTS CPU.
`FIG. 4B illustrates a dual processing timing 415 of the
`secure COTS computing environment with the dual COTS
`CPU architecture shown in FIG. 4A. The first COTS CPU
`
`executes a computing function in a time slice 416 while the
`second COTS CPUis being zeroized and prepared to execute
`anext scheduled computing function in a next time slice 420.
`After the second COTS CPUis zeroized, the second COTS
`CPUis loaded with the state that was saved from the previous
`execution of the scheduled timeslice and then placed into an
`idle mode to conserve power. For example, the first COTS
`CPU executes a computing function at TS security level ina
`first time slice 416. During thefirst timeslice 416, the second
`COTSCPU1s zeroized and prepared to execute a computing
`function at U security level in a second time slice 420. Then,
`the second COTS CPUis placed into idle mode 426. In an
`embodiment, the second COTS CPU may be placed into
`power-off mode 424 for being zeroized. In this manner, the
`system may minimize overhead and maximize computing
`capacity with minimal power consumptionpenalty. (Thereis
`minimal time when the two processors are running simulta-
`neously.)
`Referring now to FIG. 5, a block diagram of a trusted
`environment 500 employing a HAC subsystem is shown.In
`an embodimentof the present invention, the HAC subsystem
`512 maybe suitable for being a trusted subsystem between
`the COTS world 501 and shared resources 502. In a particular
`embodiment, a High Assurance processor 506 such as
`AAMP7maybesuitable for providing Partition Management
`functions. In the particular embodiment, the HAC subsystem
`512 mayinclude auxiliary PMU logic for COTS processor
`and resource control.
`
`A shared resource data path 530 maybe included between
`the auxiliary PMU logic and shared resources 502. The
`shared resource (SR) data path 530 maybeutilized for shared
`resource control and configuration related to COTSpartition
`
`22
`
`22
`
`

`

`US 7,716,720 Bl
`
`7
`management. Additionally, the SR data path 530 may be
`utilized as part of a trusted I/O delivery subsystem operating
`on behalf of a COTSclient. The I/O delivery system may be
`a buffered conduit between the COTSprocessor(s) and shared
`resources. Whenthe SR data path 530 is utilized as described,
`the HAC subsystem 512 may besuitable for pre- or post-
`process data flowing to and from the COTSprocessor(s). The
`SRdata path 530 maybe utilized as the local bus fora trusted
`computing environment consisting solely of the HAC sub-
`system 512 and both its local and shared resources. In an
`embodiment of the present invention, the HAC subsystem
`512 with the SR data path 530 maybesuitable for supporting
`an autonomous secure computing environment. In another
`embodiment of the present invention, the HAC subsystem
`512 may allow convenient implementation ofcritical security
`policies such as key management and biometrics support. A
`decode path 532 may be included betweenthe auxiliary PMU
`logic and shared resources recognizing special separation
`requirements that may be imposed by smart I/O devices.
`(such as biometrics devices). Further, a Red/Black security
`separation for a secure communication network maybe pro-
`vided by adding an optional cryptographic engine 507.
`In the secure communication network, users are not able to
`access sensitive information for which they are not autho-
`rized. In order to maintain such confidentiality, the network
`may be divided into a domain for processing possibly sensi-
`tive plain-text data, called the Red Domain, and a domain for
`processing non-sensitive and encrypted sensitive data, called
`the Black Domain. There may be multiple Red Domains in
`the network since each domain can be accredited to a different
`
`security (sensitivity) level. Users residing in the Red Domain
`are trusted to protect the information they process to a degree
`appropriate for the security classification of the data. Users
`residing in the Black Domain interface to the Red Domain
`through a cryptographic engine. In this manner, the Red/
`Black security separation may be provided by the crypto-
`graphic engine.
`In a particular embodiment, the PMU,the high assurance
`processor, andthe optional cryptographic engine 507 may be
`implemented with one component. For example, a ROCK-
`WELL COLLINS Janus crypto-processor 522 includes
`AAMP7™microprocessor, a cryptographic engine, and a
`base PMU. In addition, the switch, the I/O delivery sub-
`system, and the auxiliary PMU logic mayinitially be imple-
`mented in a Field-Programmable Gate Array (FPGA).
`Aboard support package (BSP)is typically provided by the
`board designer/manufacturer for the COTS CPUstointerface
`with hardware. A small code segment (BSP hook) 520 resid-
`ing in the BSP embedded within COTS OS maybeinterfaced
`between the HAC subsystem 512 and COTS CPUs516, 518
`to control COTS CPUs 516, 518.
`As shownin FIG.6, in an embedmentofthe present inven-
`tions, Windows CE operating system may beutilized as an
`embedded COTS OS on the untrusted host platform. For
`instance, ruggedized PDAs may employ WindowsCEoper-
`ating system for COTS OS 604. The board designer/manu-
`facturer of the COTS CPU for the ruggedized PDAs may
`provide the board support package (BSP) 620 including a
`boot loader 610, device drivers 616, configurationfiles 618,
`OEM Adaptation Layer (OAL) 612, anda HACinterface 614.
`A small, trusted fraction of the BSP code (BSP hook) may be
`used as part of the HAC interface 614. As such, modification
`of existing COTS environment may be minimal when the
`HACsubsystem is utilized to provide a secure COTSenvi-
`ronment. The BSP hook 614 may be used asan interface to the
`HACsubsystem, being suitable for serving as the HAC sub-
`
`10
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`system’s inside COTSproxy.Itis to be noted that the BSP 620
`may be provided for any custom hardwareplatform 608.
`The present invention may provide numerous advantages.
`The system including the HAC subsystem may support mul-
`tiple safety-critical embedded applicationscertified to differ-
`ent safety levels in a hard real-time environment. In this
`manner,certification costs for integrated applications of dif-
`fering levels of criticality may be reduced and applications in
`different partitions maybe certified to a level proportional to
`their criticality.
`In addition, the present invention may allow the partition-
`ing kernel model to run on the High Assurance processor’s
`micro-architecture. Assertions concerning the kernelrelative
`to the state ofthe underlying hardware maybe provedto high
`levels of assurance. As such, building the separation kernel
`into a High Assurance processor’s micro-architecture pro-
`vides an extra level of assurance. Since the separation kernel
`is in hardware and microcode, the HAC subsystem may
`handle partition managementduties at a relatively slow clock
`rate. The HAC subsystem, along with its local resources and
`those shared by the COTS processor(s), may serve as an
`independent, trusted su

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket