MX2008009868A - Computadora que aloja multiples ambientes de ejecucion seguros - Google Patents
Computadora que aloja multiples ambientes de ejecucion segurosInfo
- Publication number
- MX2008009868A MX2008009868A MXMX/A/2008/009868A MX2008009868A MX2008009868A MX 2008009868 A MX2008009868 A MX 2008009868A MX 2008009868 A MX2008009868 A MX 2008009868A MX 2008009868 A MX2008009868 A MX 2008009868A
- Authority
- MX
- Mexico
- Prior art keywords
- computer
- secure execution
- execution environment
- compliance
- environments
- Prior art date
Links
- 238000004891 communication Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 18
- 238000005259 measurement Methods 0.000 claims description 12
- 238000012795 verification Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 29
- 239000004020 conductor Substances 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- CDFKCKUONRRKJD-UHFFFAOYSA-N 1-(3-chlorophenoxy)-3-[2-[[3-(3-chlorophenoxy)-2-hydroxypropyl]amino]ethylamino]propan-2-ol;methanesulfonic acid Chemical compound CS(O)(=O)=O.CS(O)(=O)=O.C=1C=CC(Cl)=CC=1OCC(O)CNCCNCC(O)COC1=CC=CC(Cl)=C1 CDFKCKUONRRKJD-UHFFFAOYSA-N 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000016507 interphase Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Abstract
Puede utilizarse una pluralidad de ambientes de ejecución seguros para unir componentes individuales y una computadora a esa computadora o para unir computadoras a un sistema dado. El ambiente de ejecución seguro puede ser operable para evaluar características de la computadora, tal como uso de memoria, validez de reloj, y pago por uso o datos comprados de suscripción, para determinar cumplimiento con una política operativa. Cada uno de los ambientes de ejecución seguros puede intercambiar información con respecto su propia evaluación de cumplimiento con la política operativa. Cuando uno o más ambientes de ejecución seguros determinan no cumplimiento o cuando no puede establecerse comunicación entre ambientes de ejecución seguros, puede imponerse una sanción, que limita la funcionalidad o deshabilita la computadora.
Description
COMPUTADORA QUE ALOJA MÚLTIPLES AMBIENTES DE EJECUCIÓN SEGUROS
ANTECEDENTES
Los modelos de negocio de pago por momento o pago por uso se ha utilizado en muchas áreas de comercio, desde teléfonos celulares hasta lavanderías comerciales. Al desarrollar un negocio de pago por momento, un proveedor, por ejemplo, un proveedor de teléfono celular, ofrece el uso de hardware (un teléfono celular) a un costo inferior al del mercado al intercambiar un compromiso para mantener un suscriptor en su red. En este ejemplo específico, el cliente recibe un teléfono celular por poco o nada de dinero en intercambio por firmar un contrato para volverse un suscriptor durante un período de tiempo dado. En el curso del contrato, el proveedor de servicio recupera el costo del hardware cargando al consumidor el uso del teléfono celular. El modelo de negocio de pago por momento se predice en el concepto que el hardware proporcionó poco o ningún valor, o uso, si se desconecta del proveedor de servicio. Para ilustrar, el suscriptor antes mencionado debe dejar de pagar su cuenta, el proveedor de servicio desactiva su cuenta, y mientras el teléfono celular puede encenderse, no pueden hacerse llamadas debido a que el proveedor de servicio no las permitirá. El teléfono desactivado no tiene valor de "recuperación", debido a que teléfono no trabajará en ninguna otra
parte y las partes de componente no tienen un valor en el mercado significativo. Cuando la cuenta se actualiza, el proveedor de servicio volverá a permitir el uso del dispositivo para hacer llamadas. Este modelo trabaja bien cuando el proveedor de servicio, u otra entidad que toma el riesgo financiero de proporcionar hardware subsidiado, tiene un control cerrado en el uso del hardware y cuando el dispositivo tiene poco valor de recuperación. El modelo de negocio no trabaja bien cuando el hardware tiene usos substanciales fuera del intervalo de control del proveedor de servicio. De esa forma, una computadora típica no satisface estos criterios ya con una computadora puede tener substanciales usos más allá de un intento original y los componentes de una computadora, por ejemplo una presentación o unidad de disco, pueden tener un valor de recuperación significativo.
BREVE DESCRIPCION DE LA INVENCION
Una política operativa para una computadora o un recurso de computadora, particularmente una computadora o componente de pago por uso o de suscripción, pueden definir las reglas para el cumplimiento con los términos de negocios establecidos asociados con la decisión de recurso, cómo medir el cumplimiento a las reglas, y qué hacer cuando las medidas indican no cumplimiento. Para verificar y para impulsar la política operativa, puede emplearse un ambiente de ejecución seguro. El ambiente de ejecución seguro
puede ser un componente separado o puede insertarse dentro de uno de los otros componentes de la computadora. Debido a que un ambiente de ejecución seguro individual, particularmente un ambiente de ejecución seguro individual, puede desviar la atención de los piratas informáticos y otros usuarios con mente fraudulenta, puede emplearse más de un ambiente de ejecución seguro en la computadora. La comunicación entre los ambientes de ejecución seguros puede ayudar a asegurar tanto que no se piratee el ambiente de ejecución seguro individual, remplace o de otra forma subvierta, y también los componentes que alojan los varios ambientes de ejecución seguros estén presentes y sean operacionales. Varias configuraciones ilustrativas de múltiples ambientes de ejecución seguros se discuten posteriormente. Cada ambiente de ejecución seguro puede operar independientemente e imponer una sanción después de determinar que la computadora está bajo ataque o se utiliza fuera de la política operativa. Otra modalidad puede permitir recolectar un voto de todos los ambientes de ejecución seguros antes de imponer sanciones bajo las mismas circunstancias. Puede utilizarse más peso y derechos de veto para dar preferencia a ciertos ambientes de ejecución seguros que se cree que tienen seguridad inherentemente superior. Un ambiente de ejecución seguro puede distinguirse de una base de cómputo confiada (TCB) o una base de cómputo segura de la siguiente generación (NGSCB) en la cual el ambiente de ejecución seguro no intenta limitar las características o funciones de la
computadora, ni intenta proteger la computadora de virus, software maligno, u otros efectos laterales indeseables que pueden ocurrir en el uso. El ambiente de ejecución seguro no intenta proteger los intereses de asegurador o propietario de recurso para asegurar que se satisfacen los términos de pago por uso o suscripción y para desalentar el robo o hurto de la computadora como un todo o en parte.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Figura 1 es un diagrama de bloques funcional de una computadora; la Figura 2 es un diagrama de bloques arquitectónico de la computadora de la Figura 1; la Figura 3 es un diagrama de bloques de un ambiente de ejecución seguro; la Figura 4 es un diagrama de bloques arquitectónico de una modalidad alterna de la computadora de la Figura 2; y la Figura 5 es una red de computadoras con ambientes de ejecución seguros enlazados.
DESCRIPCIÓN DETALLADA DE VARIAS MODALIDADES
Aunque el siguiente texto menciona una descripción detallada numerosas modalidades diferentes, se debe entender que el
alcance legal de la descripción se define por las palabras de las reivindicaciones mencionadas al final de esta descripción. La descripción detallada se va a interpretar como ilustrativa solamente y no describe toda modalidad posible ya que describir toda modalidad posible sería impráctico, si no es que imposible. Pueden implementarse numerosas modalidades alternativas, utilizando cualquier tecnología actual o tecnología desarrollada después de la fecha de presentación de esta patente, que aún caerán dentro del alcance de las reivindicaciones. También se debe entender que, a menos que un término se define expresamente en esta patente al utilizar la oración "como se utiliza aquí, en término ' ' se define aquí para significar..." o una oración similar, no hay intención de limitar el significado de ese término, ya sea expresamente o por implicación, más allá de su significado plano u ordinario, y tal término no debe interpretarse para limitarse en alcance basándose en cualquier declaración hecha en cualquier sección de esta patente (diferente al lenguaje de las reivindicaciones). A la extensión que cualquier término mencionado en las reivindicaciones al final de esta patente se denomina en esta patente en una forma consistente con el significado individual, eso se hace para búsqueda de claridad solamente para no confundir al lector, y no se pretende que tal término de reivindicación se limita, por implicación o de otra forma, a ese significado individual. Gran parte de la funcionalidad inventiva y muchos de los
principios inventivos se implementan mejor con o en programa de software o instrucciones y circuitos integrados (ICs) tal como ICs específicos de aplicación. Se espera que un experto en la técnica, sin importar esfuerzo posiblemente significativo en muchas elecciones de diseño motivadas, por ejemplo, por tiempo disponible, tecnología actual, y consideraciones económicas, cuando se guían por los conceptos y principios aquí descritos será fácilmente capaz de generar tales instrucciones de software y programas e ICs con experimentación mínima. Por lo tanto, en el interés de brevedad y minimización de cualquier riesgo de obscurecer los principios y conceptos de acuerdo con la presente invención, discusión adicional de tal software e ICs, si hay alguno, se limitará a los esenciales con respecto a los principios y conceptos de las modalidades preferidas. Gran parte de las computadoras de alto valor de la técnica previa, asistentes digitales personales, organizadores y similares no son adecuados para uso en un modelo de negocio de prepago o de pago por uso al cual. Como se discutió anteriormente, tal equipo puede tener valor significativo además de aquellos que requieren un proveedor de servicio. Por ejemplo, una computadora personal puede desensamblarse y venderse como componentes, lo que crea una pérdida potencialmente significativa al asegurador del equipo subsidiado. En el caso en donde un proveedor de servicio de Internet asegura el costo de la computadora personal con la expectación de cuotas futuras, este "valor residual" crea una oportunidad de suscripciones fraudulentas y robo. Los modelos de negocio de
prepago, en donde un usuario paga por adelantado el uso de un ambiente de sistema de cómputo subsidiado, de alto valor tienen riesgos similares de fraude y robo. La Figura 1 ilustra un dispositivo de cómputo en la forma de una computadora 110 que puede conectarse a una red, tal como una red de área local 171 ó red de área ancha 173 y utilizarse para alojar uno o más casos de un ambiente de ejecución seguro. Los componentes de la computadora 110 pueden incluir, pero no se limitan a una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema que incluyen la memoria de sistema a la unidad de procesamiento 120. El conductor común de sistema 121 puede ser cualquiera de varios tipos de estructuras de conductor común que incluyen un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. A manera de ejemplo, y no de limitación, tales arquitecturas incluyen conductor común de Arquitectura de Estándar de Industria (ISA), conductor común de Arquitectura de Microcanal (MCA), conductor común de ISA Mejorado (EISA), conductor común local de Asociación de Estándares de Electrónica de Video (VESA), y conductor común de Interconexión de Componente Periférico (PCI) también conocido como conductor común de Mezzanine. La computadora 110 también puede incluir una unidad criptográfica 124 que proporciona servicios criptográficos. Tales
servicios pueden incluir soporte tanto para algoritmos criptográficos simétricos como asimétricos, generación de clave, generación de número aleatorio y almacenamiento seguro. Los servicios criptográficos pueden proporcionarse por un circuito integrado comúnmente disponible, por ejemplo, un chip inteligente tal como aquellos proporcionados por Atmel Corporation, Infineon Technologies, o ST Microelectronics. La computadora 110 puede incluir un ambiente de ejecución seguro 125 (SEE). El SEE 125 puede habilitarse para realizar verificación de seguridad, manejo de uso de pago por uso y de suscripción e imposición de política para términos y condiciones asociados con uso pagado, particularmente en un modelo de negocio de compra subsidiado el ambiente de ejecución seguro 125 puede representarse en la unidad de procesamiento 120 ó como un componente individual como se ilustró en la Figura 1. Las funciones detalladas que pueden soportarse por el SEE 125 y modalidades adicionales del SEE 125 se discuten posteriormente con respecto a la Figura 3. La computadora 110 típicamente incluye una variedad de medios legibles por computadora. Los medios legibles por computadora puede ser cualquier medio que pueda accederse por la computadora 110 e incluye tanto medios volátiles como no volátiles, medios removibles y no removibles. A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de
comunicación. Los medios de almacenamiento por computadora incluyen medios volátiles y no volátiles, removibles y no removióles implementados en cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento por computadora incluyen, pero no se limitan a, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento de disco óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede utilizarse para almacenar la información deseada y que puede accederse por la computadora 110. Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte e incluyen cualquier medio de entrega de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o cambiadas de tal forma para codificar información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios por cable tal como una red por cable o conexión por cables directa, y medios inalámbricos tal como medios acústicos, de radiofrecuencia, infrarrojos y otros inalámbricos. Combinaciones de cualquiera de los anteriores también deben incluirse dentro del
alcance de medios legibles por computadora. La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tal como memoria de solo lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS), que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 110, tal como durante el arranque, típicamente se almacena en ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles a y/o actualmente están siendo operados por la unidad de procesamiento 120. A manera de ejemplo, y no de limitación, la Figura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. La computadora 110 también puede incluir otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles. A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 140 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156 tal como un CD ROM u otro medio óptico. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden utilizarse en el ambiente operativo ilustrativo incluyen, pero no se limitan a,
casetes de cinta magnética, tarjeta de memoria flash, discos versátiles digitales, cinta de video digital, RAM de estado sólido, ROM de estado sólido, y similares. La unidad de disco duro 141 típicamente se conecta al conductor común de sistema 121 a través de una interfase de memoria no removible tal como ¡nterfase 140, y unidad de disco magnético 151 y unidad de disco óptico 155 típicamente se conectan al conductor común de sistema 121 a través de la interfase de memoria removible, tal como interfase 150. Las unidades y sus medios de almacenamiento por computadora asociados discutidos anteriormente e ilustrados en la Figura 1, proporcionan almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como almacenando el sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Se debe notar que estos componentes pueden ser los mismos que o diferentes al sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. El sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 aquí se les proporcionan números diferentes para ilustrar que, a un mínimo, son copias diferentes. Un usuario puede ingresar comandos e información en la computadora 20 a través de dispositivos de entrada tal como un teclado 162 y dispositivos de señalamiento 161, comúnmente denominado como un
ratón, seguibola o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadilla de juegos, antena parabólica, escáner, o similares. Estos y otros dispositivos de entrada frecuentemente se conectan a la unidad de procesamiento 120 a través de una interfase de entrada de usuario 160 que se acopla al conductor común de sistema, pero puede conectarse por otra interfase y estructuras de conductor común, tal como un puerto paralelo, puerto del juego o un conductor común en serie universal (USB). Un monitor 191 u otro tipo de dispositivo de presentación también se conecta al conductor común de sistema 121 a través de una interfase, tal como una interfase de video 190. Además del monitor, las computadoras también pueden incluir otros dispositivos de salida periféricos tal como bocinas 197 e impresoras 196, que pueden conectarse a través de una interfase periférica de salida 190. La computadora 110 puede operar en un ambiente en red utiliza conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente relativos a la computadora 110, aunque solo se ¡lustro un dispositivo de almacenamiento de memoria 181 en la Figura 1. Las conexiones lógicas ¡lustradas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área ancha (WAN) 173, pero también pueden incluir
otras redes. Tales ambientes en red comúnmente están ubicados en oficinas, redes de computadora extendidas en empresa, intranets e Internet. Cuando se utiliza en un ambiente en red de LAN, la computadora 110 se conecta a la LAN 171 a través de la interfase de red o adaptador 170. Cuando se utiliza en un ambiente en red WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones en la WAN 173, tal como Internet. El módem 172, que puede ser interno o externo, puede conectarse al conductor común de sistema 121 a través de la interfase de entrada de usuario 160, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados relativos a la computadora 110, o porciones de la misma, pueden almacenarse en el dispositivo de almacenamiento de memoria remota. A manera de ejemplo, y no de limitación, la Figura 1 ilustra programas de aplicación remotos 185 como residentes en el dispositivo de memoria 181. Se apreciara que las conexiones en red mostradas son ilustrativas y pueden utilizarse otros medios para establecer un enlace de comunicaciones entre las computadoras. La Figura 2 es un diagrama de bloques arquitectónico de una computadora 200 igual que o similar a la computadora de la Figura 1. La arquitectura de la computadora 200 de la Figura 2 puede ser típica de computadora de propósito general ampliamente vendidas y en uso actual. Un procesador 202 puede acoplarse a una interfase de gráficos y de memoria 204. La interfase de gráficos y memoria 204
puede ser un controlador de "Northbridge" o su reemplazo funcional en arquitecturas más nuevas, tal como una "central de Controlador de Gráficos y de Memoria AGP" (GMCH). La interfase de gráficos y de memoria 204 puede acoplarse al procesador 202 a través de un conductor común de datos de alta velocidad, tal como "Conductor común de Lado Frontal" (FSB), conocido en arquitecturas de computadora. La interfase de gráficos y de memoria 204 puede acoplarse a la memoria de sistema 206 y un procesador de gráficos 208, que por si mismo puede conectarse a una presentación (no ilustrada). El procesador 202 también puede conectarse, ya sea directamente o a través de la interfase de gráficos y de memoria 204, a una interfase de entrada/salida 210 (interfase l/O). La interfase l/O 206 puede acoplarse a una variedad de dispositivos representados por, pero que no se limitan a, los componentes discutidos posteriormente. La interfase l/O 210 puede ser un chip de "Southbridge" o un circuito funcionalmente similar, tal como una "Central de Controlador de l/O" (ICH). Varios vendedores producen circuitos de Northbridge y Southbridge de la técnica actual y sus equivalentes funcionales, que incluyen Intel Corporation. Una variedad de circuitos funcionales puede acoplarse a cualquiera de la interfase de gráficos y de memoria 204 o la interfase de l/O 210. La interfase de gráficos y memoria 204 puede acoplarse a la memoria de sistema 206 y un procesador de gráficos 208, que por sí mismo puede conectarse a una presentación (no mostrada). Un ratón/teclado 212 puede acoplarse a la interfase l/O 210. Un
conductor común en serie universal (USB) 214 puede utilizarse para conectar periféricos externos que incluyen memoria flash, cámaras, adaptadores de red, etc. (no ilustrados). Las ranuras de tablero 216 pueden acomodar cualquier número de dispositivos de conexión, conocidos y comunes en la industria. Una interfase de red de área local (LAN) 218, tal como un tablero de Ethernet puede conectarse a la interfase de l/O 210. El firmware, tal como un sistema de entrada salida básico (BIOS) 220 puede accederse a través de la interfase de l/O 210. La memoria no volátil 222, tal como una unidad de disco duro, también puede acoplarse a la interfase l/O 210. Un ambiente de ejecución seguro 224 puede insertarse en el procesador 202. Alternativamente, o de forma complementaria al ambiente de ejecución seguro 224 puede estar un segundo ambiente de ejecución seguro 226 acoplado la computadora a través de la interfase l/O 210. Un ambiente de ejecución seguro genérico, el mismo que o similar a SEEs 224 226 se discute en más detalles posteriormente con respecto a la Figura 3. La Figura 3 es un diagrama de bloques de un ambiente de ejecución seguro ilustrativo 302, tal como puede encontrarse en la computadora 200 de la Figura 2. El ambiente de ejecución seguro 302 puede incluir un procesador 310, una memoria segura 318 y una interfase 342. La memoria segura 318 puede almacenar, en una forma resiste a falsificación, código y datos relacionados con la operación segura de la computadora 302, tal como un identif icador de hardware 320 e
información de política 322. La información de política 322 puede incluir datos relacionados con los términos específicos y condiciones asociadas con la operación de la computadora 200. La memoria segura 318 también puede incluir código o datos requeridos para implementar varias funciones 324. Las funciones 324 pueden incluir un reloj 326 ó cronometro que ¡mplementa funciones de reloj, funciones de imposición 328, medición 330, manejo de política 332, criptografía 334, privacidad 336, verificación biométrica 338, valor almacenado 340, y verificación de cumplimiento 341, por nombrar algunos. El reloj 326 puede proporcionar una base confiable para medición de tiempo y puede utilizarse como una revisión contra un reloj de sistema mantenido por el sistema operativo 134 para ayudar a prevenir intentos de utilizar fraudulentamente la computadora 200 al alterar el reloj de sistema. El reloj 326 también puede utilizarse en conjunto con manejo de política 332, por ejemplo, para requerir que la comunicación con un servidor de huésped verifiqué disponibilidad de mejora. Las funciones de imposición 328 pueden ejecutarse cuando se determina que la computadora 200 no está en cumplimiento con uno o más elementos de la política 322. Tales acciones pueden incluir restringir memoria de sistema 132 al redistribuir memoria de sistema generalmente disponible 206 para uso por el ambiente de ejecución seguro 302 y de esa forma previene su uso por el procesador 202. Al redistribuir la memoria de sistema 206 al ambiente de ejecución seguro 302, la memoria de sistema 206
esencialmente se vuelve no disponible para propósitos de usuario. Otra función 324 puede ser medición 330. La medición 330 puede incluir una variedad de técnicas y mediciones, por ejemplo, aquellas discutidas en la Solicitud de patente de E.U.A. co-pendiente Serie No. 11/006,837. Si se mide y que artículos específicos medir puede ser una función de la política 322. La selección de una política apropiada y el manejo de actualizaciones para la política pueden implementarse por la función de manejo de políticas 332. Una función de criptografía 334 puede utilizarse para verificación de firma digital, firma digital, generación de número aleatorio, y codificación/descodificación críptica. Cualquiera o todas de estas capacidades criptográficas pueden utilizarse para verificar actualizaciones a la memoria segura 318 ó para confianza establecida con una entidad fuera del ambiente de ejecución seguro 302 si está dentro o fuera de la computadora 200. El ambiente de ejecución seguro 302 puede permitir que se desarrollen varias funciones de propósito especial y se utilicen. Un administrador de privacidad 336 puede utilizarse para manejar información personal para un usuario o parte interesada. Por ejemplo, el administrador de privacidad 336 puede utilizarse para ¡mplementar una función de "cartera" para mantener datos de dirección y tarjeta de crédito para uso en compra en línea. Una función de verificación biométrica 338 puede utilizarse con un sensor biométrico externo (no mostrado) para verificar identidad personal. Tal verificación de identidad puede utilizarse, por ejemplo, para
actualizar información personal en el administrador de privacidad 336 ó cuando se aplica una firma digital. La función de criptografía 334 puede utilizarse para establecer confianza y un canal seguro al sensor biomédico externo. Una función de valor almacenada 340 también puede implementarse para uso al pagar por tiempo en una computadora de pago por uso o mientras se hacen compras externas, por ejemplo, transacciones de comercio de existencias en línea. El uso de datos y funciones de la memoria segura 318 permite la presentación de la interfase de hardware asegurada 342 para acceso por otros sistemas en la computadora 200. La interfase de hardware asegurada 342 puede permitir acceso restringido y/o verificado a dispositivos periféricos 344 ó el BIOS 346 a través del conductor común de sistema 348. Adicionalmente, las funciones 324 pueden utilizarse para permitir que los programas externos, que incluyen el sistema operativo 134, accedan a instalaciones seguras tal como ID de hardware 356 y generación de número aleatorio 352 de la función criptográfica 334 a través de la interfase de hardware asegurada 342. Otras capacidades accesibles a través del conductor común de sistema 348 pueden incluir almacenamiento seguro 354 y un reloj confiable (mono tónicamente creciente) 350. Cada función 324 discutida anteriormente, como se implemento en código y almacenó en la memoria segura 318 puede implementarse en lógica e iniciarse como un circuito físico. Las operaciones para delinear comportamiento funcional entre hardware
y software son bien conocidas en la técnica y no se discuten aquí en más detalle. En una modalidad, la computadora 200 puede iniciarse al utilizar un procedimiento de arranque de BIOS normal. En un punto cuando el sistema operativo 134 está activo, el procesador 310 puede ejecutar la función de manejo de política 332. La función de manejo de política 332 puede determinar que la política actual 322 es válida y entonces cargar los datos de política 322. La política puede utilizarse en un procedimiento de configuración para establecer la computadora 200 para operación. El procedimiento de configuración puede incluir distribución de memoria, capacidad de procesamiento, disponibilidad periférica y uso así como requerimientos de medición. Cuando se va a impulsar la medición, las políticas que se relacionan con medición, tal como qué medidas tomar, puede activarse. Por ejemplo, la medición por uso de CPU (pago por uso) contra uso en un período de tiempo (suscripción), puede requerir diferentes medidas. Adicionalmente, cuando el uso se carga por periodo o por actividad, puede mantenerse un balance de valor almacenado que utiliza la función de valor almacenada 340. Cuando la computadora 300 se configuró de acuerdo con la política 322, el procedimiento de inicio normal puede continuar al activar e iniciar el sistema operativo 134 y otros programas de aplicación 135. En otras modalidades, la política puede aplicarse en diferentes puntos en el procedimiento de inicio o ciclo de operación normal. Debe descubrirse el no cumplimiento con la política, puede activarse
la función de imposición 328. Puede encontrarse una discusión de política de imposición y acciones en la Solicitud de Patente de los Estados Unidos co-pendiente Serie No. 11/152,214. La función de imposición 328 puede colocar la computadora 300 en un modo alterno de operación cuando fallan todos los intentos para restaurar la computadora para cumplimiento con la política 322. Por ejemplo, en una modalidad, puede imponerse una sanción al redistribuir memoria de uso como memoria de sistema 130 y designar su uso por el ambiente de ejecución seguro 302. Ya que la memoria en el ambiente de ejecución seguro puede no ser dirigible por programas exteriores que incluyen el sistema operativo 134, la operación de computadora puede restringirse, incluso severamente, por tal distribución de memoria. Debido a que se mantiene la política y las funciones de imposición dentro del ambiente de ejecución seguro 302, algunos ataques típicos en el sistema son difíciles o imposibles. Por ejemplo, la política puede no "falsificarse" al reemplazar una sección de memoria de política de memoria externa. Similarmente, la política y las funciones de imposición pueden no "abstenerse" al bloquear ciclos de ejecución o sus escalas de dirección respectivas. Para revertir la computadora 300 a operación normal, puede necesitarse el código de restauración para adquirirse de una autoridad de licencia o proveedor de servicio (no ¡lustrado) e ingresarse en la computadora 300. El código de restauración puede incluir la ID de hardware 320, un abastecimiento de valor
almacenado, y una fecha "no previa a" utilizada para verificar el reloj 326. El código de restauración típicamente puede codificarse crípticamente y firmarse por confirmación por la unidad de procesamiento 302. La Figura 4 ilustra una arquitectura de una computadora 400 que tiene múltiples ambientes de ejecución seguros. En una modalidad cuando está presente más de un ambiente de ejecución segura, puede utilizarse un ambiente de ejecución segura maestro para manejar configuración de sistema mientras pueden utilizarse otros ambientes de ejecución seguros para medición redundante, confirmación de medición, confirmación de configuración, verificación de política, y manejo de balance. En otra modalidad, cada ambiente de ejecución seguro puede ser un par con los otros. La computadora 400, similar a la computadora 300 de la Figura 3, puede tener un procesador 402, una interfase de gráficos y memoria 404, y una interfase de l/O 406. La interfase de gráficos y memoria 404 puede acoplarse a un procesador de gráficos 408 y una memoria de sistema 410. La interfase l/O 406 puede acoplarse a uno o más dispositivos de entrada 412 tal como un ratón y teclado. La interfase l/O 406 también puede acoplarse a un conductor común en serie universal (USB) 414, una red de área local 416, ranuras de tablero periféricas 418, una memoria BIOS 420, y un disco duro 422 u otro almacenamiento no volátil, entre otros. En una modalidad ilustrativa, varios de los componentes, que incluyen el procesador 402, la interfase de gráficos y memoria 404, la interfase l/O 406, y
sus componentes funcionales respectivos cada uno puede tener un ambiente de discusión seguro. Por ejemplo, el procesador 402, la interfase de gráficos y memoria 404, el procesador de gráficos 408, la interfase l/O 406, el puerto USB 414, la memoria BIOS 420, y el disco duro 422 cada uno puede tener ambientes de ejecución seguros correspondientes 424, 426, 428, 430, 432, 434, y 436. Cada ambiente de ejecución seguro 424-436 puede tener acceso a diferentes datos o la capacidad de medir áreas separadas de desempeño para el propósito de determinar cumplimiento con la política operativa. En algunos casos, algunos ambientes de ejecución seguros pueden pesarse más que otros cuando se hace una evaluación total de cumplimiento con la política operativa. De forma correspondiente, cada ambiente de ejecución seguro puede imponer sanciones de forma diferente. Por ejemplo, el ambiente de ejecución seguro 432 en la interfase de USB 414 puede ser capaz de imponer una sanción a todos los dispositivos de USB y puede ser capaz de tener un efecto de honda a través de la interfase l/O 406, pero puede permitir operación continua de la computadora. En contraste, el ambiente de ejecución seguro 424 en el procesador 402 puede ser capaz de sanciones dramáticas hasta detener todas las funciones de procesador, con los cual deshabilita totalmente la computadora 400.
Cada uno de los ambientes de ejecución seguros 424-436 puede tener todos los elementos del ambiente de ejecución seguro 302 de la Figura 3. Los múltiples ambientes de ejecución seguros pueden emplearse para al menos dos propósitos generales. Primero,
cada uno de los ambientes de ejecución seguros 424-436 pueden verificar el estado general de la computadora 400 y participar al determinar si la computadora 400 opera en cumplimiento con una política operativa que rige su uso. Segundo, los ambientes de ejecución seguros colocados dentro del procesador, interfases, o componentes funcionales pueden utilizarse para asegurar que cada componente que aloja un SEE está presente y es operacional y no se removió o de otra forma deshabilitó. En la práctica, los dos propósitos pueden ir mano a mano. En una primera modalidad para utilizar ambientes de ejecución seguros múltiples para cumplimiento con una política operativa, cada ambiente de ejecución seguro 424-436 puede mantener una copia de la política operativa 322, un balance de valor almacenado 340, si se utiliza. La función de manejo de política 332 puede especificar el papel de cada uno de los ambientes de ejecución seguros. En una variación, un ambiente de ejecución seguro, por ejemplo, SEE 424, puede designarse con un SEE Maestro y puede ser responsable del manejo de política total, manejo de valor almacenado, y puede incluir la capacidad de vetar un voto de no cumplimiento por cualquiera de los otros ambientes de ejecución seguros. El SEE Maestro también puede ser capaz de deshabilitar un SEE de otro componente, o al menos ignorar entradas de un SEE que se designó como deshabitado. Por ejemplo, un SEE 436 asociado con un modelo particular de unidad de disco duro 422 puede comprometerse y puede enviarse un mensaje de un propietario de sistema o asegurador de
sistema al SEE Maestro que indica que SEE 436 asociado con la unidad de disco duro 422 se va a deshabilitar l/O ignorar. Cada SEE, que incluye el SEE Maestro puede tener una política operativa diferente para determinar desde su perspectiva si la computadora es condescendiente. Por ejemplo, un ambiente de ejecución seguro 432 en el puerto de USB 414 puede tener acceso a diferentes datos y puede "ver el mundo" de forma diferente desde el ambiente de ejecución seguro 424 localizado en el procesador 402. El SEE Maestro puede recibir señales periódicas de cada uno de los otros ambientes de ejecución seguros y puede determinar cumplimiento con la política operativa basándose en un "voto" determinado por la información en la señal. Debido a que cada ambiente de ejecución seguro puede votar de acuerdo con su propia política operativa, basándose en su vista, los votos pueden tomarse en diferentes formas: un voto de mayoría puede requerirse para imponer sanciones, un voto individual puede ser suficiente para imponer una sanción, o algunos componentes, tal como la interfase de gráficos y memoria SEE 426, puede tener más peso en un voto que otro SEE. En otra variación para utilizar múltiples ambientes de ejecución seguros para cumplimiento con una política operativa, cada ambiente de ejecución seguro 424-436 puede considerarse un par y puede recolectar periódicamente información de estado de cada uno de los otros ambientes de ejecución seguros. Las conexiones de par a par individuales pueden mantenerse para facilitar tal comunicación. En un ambiente, cada ambiente de ejecución seguro puede catalogarse
en cada uno de los otros ambientes de ejecución seguros, tal como al momento de ensamble. La catalogación puede incluir colocar un identif icador y una clave criptográfica que corresponde a cada ambiente de ejecución seguro en la memoria segura 318 de cada uno de los ambientes de ejecución seguros presentes, en este ejemplo, los ambientes de ejecución seguros 424-436. Las claves criptográficas pueden ser claves simétricas conocidas por todas las partes, o pueden utilizar claves de infraestructura de clave pública, en donde una clave pública para cada ambiente de ejecución seguro puede compartirse entre los otros ambientes de ejecución seguros. La verificación criptográfica de mensajes es conocida y no se discute en más detalle. Una señal puede enviarse a lo largo de una ruta cerrada o predeterminada entre cada uno de los ambientes de ejecución seguros 424-436. En cada alto en la ruta, un momento, un estado o voto de cumplimiento, y el identif icador del ambiente de ejecución seguro puede firmarse o codificarse crípticamente, agregarse a la señal, y dirigirse hacia delante hacia el siguiente ambiente de ejecución seguro en la ruta. Si no se recibe ningún reconocimiento, la señal puede dirigirse hacia adelante hacia el siguiente SEE en la ruta. Si la señal no completa la ruta y regresa dentro de una cantidad de tiempo predeterminada o si la señal tiene fecha vencida o elementos faltantes que corresponden otros ambientes de ejecución seguros, puede imponerse una sanción. Si la señal regresa pero también incluye un voto para sancionar de otro ambiente de
ejecución seguro, la recepción, basándose en sus propias reglas, también puede imponer una sanción y dirigir hacia delante la señal al siguiente ambiente de ejecución seguro en la ruta. Los retrasos entre ambientes de ejecución seguros pueden verificarse para determinar que la señal no ha sido dirigida a un destino de red para falsificación antes de regresarse. En un ambiente, la interfase de red 416 puede cerrarse temporalmente mientras la señal se está dirigiendo entre ambientes de ejecución seguros para eliminar enrutamiento fuera. Para ilustrar, los ambientes de ejecución seguros 424-436 pueden organizarse lógicamente en un anillo. Periódicamente, en una modalidad un intervalo aleatorio, una señal pueden iniciarse desde uno de los SEEs. Para la búsqueda de ejemplo, SEE 424 inicia una señal para SEE 426. La señal puede incluir un grupo de datos que incluye el tiempo, estado y el identificador de SEE 424, firmado por una clave derivada de una clave maestra compartida. Para este ejemplo, la clave derivada puede basarse en el tiempo o una ocasión, que entonces también se incluye en la limpieza en la señal. Cuando la señal llega en SEE 426, la clave puede derivarse, y la señal entrante verificarse para el tiempo y para el identificador correcto. Una falta de concordancia de reloj puede ser indicativa de un problema, aunque pueden ignorarse o corregirse pequeños cambios acumulativos. Si se corrige, el SEE 426 puede agregar su propia tiempo firmado, estado e identificador. La señal puede proceder a través de todos los ambientes de ejecución seguros de esta forma hasta que llega de nuevo en SEE 424. SEE 424 puede
verificar cada dato anexo para el tiempo, estado e identificador. Finalmente, puede revisar que su grupo de datos original propio está presente en una señal y que llegó de nuevo dentro de un límite prescrito. Los grupos de datos de SEE faltantes o estado/votos de no cumplimiento pueden causar consultas adicionales. Una cuenta de voto puede tomarse, con peso superior dado para ambientes de ejecución de seguros designados cuando se programan de esa forma. Si el voto de no cumplimiento satisface un umbral predeterminado, puede imponerse una sanción. Una señal puede propagarse a otros ambientes de ejecución seguros para activar sanciones generales o específicas, como las garantías de caso. Otro beneficio de utilizar un número de ocasión o aleatorio en comunicación es limitar ataques de réplica que pueden ser parte de un ataque total en uno o más ambientes de ejecución seguros individuales. Otras modalidades pueden utilizar una configuración de estrella u otro mecanismo para iniciar de forma variada señales y verificar los resultados. En un ambiente de maestro/esclavo, el maestro puede ser responsable de iniciar consultas, aunque un esclavo puede programarse para activar una consulta si una consulta del maestro está atrasada. La comunicación entre ambientes de ejecución seguros puede realizarse en una variedad de formas. Un ambiente de ejecución seguro e insertado dentro de una computadora puede utilizar los mecanismos de comunicación existentes de componentes para dirigir hacia delante señales entre los ambientes de ejecución seguros. Por
ejemplo, SEE 436 puede comunicarse con el SEE 430 a través del conductor común que conecta el disco duro 422 a la interfase 1/0 406. Esto puede ser particularmente efectivo para comunicación con ambientes de ejecución seguros en la interfase de gráficos y memoria 404 o la interfase 1/0 406. El procesador y los ambientes de ejecución seguros basados en interfase de gráficos/memoria 424 426 pueden comunicarse a través de memoria estándar o interfases delineadas 1/0 soportadas en el conductor común del lado frontal. Otras opciones para apilar comunicación en conductores comunes existentes, tal como la interconexión de componente periférico (PCI), pueden requerir modificación de protocolos existentes para insertar un controlador de software para dirigir paquetes de inter-SEE. En otra modalidad, una estructura de conductor común dedicada 438 puede utilizarse para acoplar cada uno de los ambientes de ejecución seguros 424-436 uno con otro. Un índice de datos relativamente bajo puede ser aceptable para tal comunicación. En una modalidad, puede utilizarse un conductor común de circuito inter-integrado (IIC o l2C). El conductor común IIC es un conductor común simple, de dos cables que es bien conocido en la industria y debe ser adecuado como una estructura de conductor común dedicada 438 entre ambientes de ejecución seguro. Para realizar el segundo propósito general, puede utilizarse el mismo o similar enrutamiento de señal discutido anteriormente para unir componentes uno con otro, sin preocuparse necesariamente sobre el cumplimiento de una política operativa. Es decir, para
desalentar a las computadoras de desensamblarse en partes, puede programarse un componente solo para operar correctamente cuando está en la presencia verificable de los otros componentes catalogados por la computadora. El procedimiento de consulta anterior puede utilizarse, con la diferencia que el estado de puede retrasarse o ignorarse. Cuando todos los componentes no se reportan, pueden tomarse medidas para localizar el componente, que incluyen mensajes al usuario a través de la interfase de usuario. Si el componente no puede localizarse, pueden imponerse sanciones por uno o más ambientes de ejecución seguros de los componentes restantes. Similarmente, como se muestra en la Figura 5, esta técnica de catalogación puede utilizarse para unir computadoras en un sistema 500. Por ejemplo, un número de computadoras 504, 506, 508, 510 y 512 puede designarse para uso por una entidad particular en una red dada 502. Cada computadora 504-512 designada para inclusión en el sistema puede tener un ambiente de ejecución seguro correspondiente 514, 156, 518, 520, y 522 instalado y cada uno de los ambientes de ejecución seguros 514-522 catalogados en cada uno de los otros ambientes de ejecución seguros en el sistema. Periódicamente, cada ambiente de ejecución seguro puede determinar, por ejemplo, utilizar la técnica de señalización descrita anteriormente, que cada uno de los otros ambientes de ejecución seguros aún está presente, y por implicación que su computadora asociada también está presente. Cuando el número de SEE/reporte
de computadora cae bajo un umbral, cada ambiente de ejecución seguro puede imponer una sanción en su computadora huésped. Aunque el texto anterior menciona una descripción detallada de numerosas modalidades diferentes de la invención, se debe entender que el alcance de la invención se define por las palabras de las reivindicaciones mencionadas al final de esta patente la descripción se va interpretar como ilustrativa solamente y no describe toda modalidad posible de la invención ya que describir toda modalidad posible sería impráctico, sino es que imposible. Pueden implementarse numerosas modalidades alternativas, utilizando cualquier tecnología actual o tecnología desarrollada después de la fecha de presentación de esta patente, que aún caerá dentro del alcance de las reivindicaciones que definen la invención. De esa forma, pueden hacerse muchas modificaciones y variaciones en las técnicas y estructuras descritas e ilustradas aquí sin apartarse del espíritu y alcance de la presente invención. Por consiguiente, se debe entender que los métodos y aparatos aquí descritos son ilustrativos solamente y no son limitantes en el alcance de la invención.
Claims (20)
1. - Una computadora adaptada para uso que incluye modos de operación de función limitados que comprende: un procesador; un primer ambiente de ejecución seguro comunicativamente acoplado al procesador y operable para verificar e impulsar cumplimiento con una política operativa; y un segundo ambiente de ejecución seguro comunicativamente acoplado al primer ambiente de ejecución seguro y operable para verificar e imponer cumplimiento con la política operativa y comunicativamente acoplado al primer ambiente de ejecución seguro, en donde el segundo ambiente de ejecución seguro desarrolla una valoración de cumplimiento con la política operativa y envía una señal que incluye una valoración del primer ambiente de ejecución seguro.
2. - La computadora de acuerdo con la reivindicación 1, en donde la señal además comprende un valor que corresponde a un valor de medición asociado con uno de un estado de suscripción y un estado de pago por uso.
3. - La computadora de acuerdo con la reivindicación 1, en donde el primer ambiente de ejecución seguro mantiene un valor almacenado que representa una disponibilidad de uso.
4. - La computadora de acuerdo con la reivindicación 1, en donde el primer ambiente de ejecución seguro recibe la señal del segundo ambiente de ejecución seguro e impone una sanción en la computadora cuando la señal indica no cumplimiento con la política.
5. - La computadora de acuerdo con la reivindicación 1, en donde el primer ambiente de ejecución seguro recibe la señal del segundo ambiente de ejecución seguro y no impone una sanción en la computadora cuando la señal indica no cumplimiento con la política cuando el primer ambiente de ejecución seguro determina cumplimiento con la política.
6. - La computadora de acuerdo con la reivindicación 1, en donde el primer ambiente de ejecución seguro mide un intervalo entre señales del segundo ambiente de ejecución seguro e impone una sanción en la computadora cuando el intervalo excede un límite.
7. - La computadora de acuerdo con la reivindicación 1, en donde el primer ambiente de ejecución seguro criptográficamente verifica la señale del segundo ambiente de ejecución seguro e impone una sanción en la computadora cuando la señal falla la verificación .
8. - La computadora de acuerdo con la reivindicación 1, en donde el segundo ambiente de ejecución seguro impone una sanción en la computadora cuando el segundo ambiente de ejecución seguro determina no cumplimiento con la política y no se recibe un mensaje de veto crípticamente verificable del primer ambiente de ejecución seguro.
9. - La computadora de acuerdo con la reivindicación 1, que además comprende una pluralidad adicional de ambientes de ejecución seguros.
10.- La computadora de acuerdo con la reivindicación 9, en donde un voto de mayoría de todos los ambientes de ejecución seguros determina cuando sancionar a la computadora.
11.- La computadora de acuerdo con la reivindicación 10, en donde el primer ambiente de ejecución seguro recibe una actualización de política para excluir una de la pluralidad de ambientes de ejecución seguros del voto de mayoría.
12. - La computadora de acuerdo con la reivindicación 9, que además comprende una pluralidad de componentes funcionales en donde al menos uno del primero, segundo y pluralidad adicional de ambientes de ejecución seguros se alojan al menos en uno de la pluralidad de componentes funcionales de la computadora.
13. - La computadora de acuerdo con la reivindicación 12, en donde el primer, segundo y pluralidad adicional de ambientes de ejecución seguros se acoplan comunicativamente al utilizar su conexión de datos de componente funcional de huésped respectivo.
14. - La computadora de acuerdo con la reivindicación 12, en donde el primer, segundo y pluralidad adicional de ambientes de ejecución seguros se acoplan comunicativamente a través de una conexión de datos dedicada. 15. - Un método para verificar e imponer cumplimiento con una política operativa en una computadora utilizando una pluralidad de ambientes de ejecución seguros, que comprende: establecer comunicación criptográficamente asegurada entre la pluralidad de ambientes de ejecución seguros; verificar cumplimiento con una política operativa respectiva en cada uno de la pluralidad de ambientes de ejecución seguros; determinar cuando la computadora no está en cumplimiento con al menos una de las políticas operativas respectivas; y imponer una sanción en la computadora cuando la computadora no está en cumplimiento con al menos una de las políticas operativas respectivas. 16. - El método de acuerdo con la reivindicación 15, en donde determinar cuando la computadora no está en cumplimiento con la política operativa comprende recibir un voto de al menos uno de la pluralidad de ambientes de ejecución seguros y determinar que la computadora no está en cumplimiento con un voto indicando que se recibió un no cumplimiento de acuerdo con un ambiente de ejecución seguro individual, una mayoría de ambientes de ejecución seguros, y un consenso de ambientes de ejecución seguros. 17. - El método de acuerdo con la reivindicación 15, en donde determinar cuando la computadora no está en cumplimiento con la política operativa comprende recibir un voto de cada uno de la pluralidad de ambientes de ejecución seguros y determinar que la computadora no está en cumplimiento cuando el voto de cada uno de la pluralidad de ambientes de ejecución seguros se pesa y el voto pesado total excede un umbral. 18. - El método de acuerdo con la reivindicación 15, que además comprende designar uno de los ambientes de ejecución seguros como un maestro y el resto como esclavos, en donde el maestro puede superar una determinación de no cumplimiento hecha por uno o más de los esclavos. 19. - Un método para unir un grupo de componentes de computadora a un sistema que comprende: instalar en cada grupo de componentes de computadora un ambiente de ejecución seguro; catalogar el ambiente de ejecución seguro de cada uno de los componentes de computadora en cada uno de los ambientes de ejecución seguros; determinar periódicamente que cada uno de los ambientes de ejecución seguro catalogado de cada uno de los componentes de computadora respectivos está presente; imponer una sanción cuando un ambiente de ejecución seguro determina que uno o más de los otros ambientes de ejecución seguros catalogados no está presente. 20. - El método de acuerdo con la reivindicación 19, en donde cada uno de los componentes de computadora está en una computadora separada, en red y el sistema es una recolección de computadoras.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11353470 | 2006-02-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| MX2008009868A true MX2008009868A (es) | 2008-10-03 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20060106845A1 (en) | System and method for computer-based local generic commerce and management of stored value | |
| EP1984876A1 (en) | Computer hosting multiple secure execution environments | |
| US8533801B2 (en) | System and method for binding a subscription-based computing system to an internet service | |
| US7770205B2 (en) | Binding a device to a computer | |
| US20060165005A1 (en) | Business method for pay-as-you-go computer and dynamic differential pricing | |
| CN101647219B (zh) | 用于许可证的安全的主机更换的机制 | |
| EP1984878B1 (en) | Disaggregated secure execution environment | |
| US8161532B2 (en) | Operating system independent architecture for subscription computing | |
| CN107563846A (zh) | 共享车辆管理方法、服务器、系统和计算机可读存储介质 | |
| KR20080043344A (ko) | 보안 방식으로 배달되는 선결제된 또는 선불 소프트웨어,컨텐츠 및 서비스 | |
| US20080319908A1 (en) | Packet Schema for Pay-as-You-Go Service Provisioning | |
| WO2008094780A1 (en) | Secure provisioning with time synchronization | |
| RU2463658C2 (ru) | Предварительно оплаченный доступ к обработке данных с использованием переносных устройств хранения данных | |
| WO2008154060A2 (en) | Method and apparatus to enable a securely provisioned computing environment | |
| EP1984825A1 (en) | I/o-based enforcement of multi-level computer operating modes | |
| MX2008009868A (es) | Computadora que aloja multiples ambientes de ejecucion seguros | |
| MX2008009867A (es) | Ambiente de ejecucion seguro desagregado | |
| US20090094455A1 (en) | Frequency Managed Performance | |
| MXPA05012285A (es) | Metodo para pago al ir en computadora y dinamico |