BRPI0615811A2 - sistema operacional encerrado em unidade de processamento - Google Patents
sistema operacional encerrado em unidade de processamento Download PDFInfo
- Publication number
- BRPI0615811A2 BRPI0615811A2 BRPI0615811-0A BRPI0615811A BRPI0615811A2 BR PI0615811 A2 BRPI0615811 A2 BR PI0615811A2 BR PI0615811 A BRPI0615811 A BR PI0615811A BR PI0615811 A2 BRPI0615811 A2 BR PI0615811A2
- Authority
- BR
- Brazil
- Prior art keywords
- program
- processing unit
- memory
- computer
- unit according
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2135—Metering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
SISTEMA OPERACIONAL ENCERRADO EM UNIDADE DE PROCESSAMENTO. Uma unidade de processamento para uso em um dispositivo eletrónico inclui interfaces de comunicação e processamento de instrução padrão e também inclui capacidade funcional além de ou no lugar naquelas encontradas em um sistema operacional. Uma memória segura dentro da unidade de processamento pode conter um identificador de hardware, dados de programa, e funções de subsistema como um relógio seguro, gerencíamento de programa, e execução de programa. Os dados em funções dentro da memória de garantia não são acessíveis as partir do exterior da unidade de processamento.
Description
"SISTEMA OPERACIONAL- ENCERRADO EM UNIDADE DEPROCESSAMENTO"
ANTECEDENTES
Computadores que operam utilizando uma arquiteturacom uma plataforma de processamento de hardware hospedandouma plataforma de operação de software, ou sistema operacio-nal estão em uso. O sistema operacional é projetado para serindependente da plataforma de processamento (pelo menos emparâmetros amplos) e inversamente, a plataforma de processa-mento é projetada independentemente (nos mesmos parâmetrosgenericamente amplos) do sistema operacional. Por exemplo,Linux ou Microsoft Windows pode ser rodado na maioria dasversões do processador Intel x86. Utilizando um monitor demáquina virtual (VMM) ou hipervisor, é possível rodar osdois sistemas operacionais simultaneamente. Similarmente,alguns sistemas operacionais, como UNIX, podem rodar em maisde um tipo de processador, por exemplo, processadores IBMPowerPC e Sun Sparc.
Essa independência entre plataforma de processa-mento e sistema operacional introduz riscos de segurança quepodem ser explorados por pretensos hackers, em parte devidoà dificuldade em estabelecer confiança entre o processador eo sistema operacional, isto é, entre o hardware e o softwaredo computador. Os microprocessadores atuais entram em um ci-cio "buscar e executar" que executa, de forma cega, as ins-truções dadas a ele e não estão preocupadas com o conteúdoou ramificações das instruções executadas nem participam emdecisões de programa relacionadas ao uso do dispositivo ele-trônico.
SUMÁRIO
Uma unidade de processamento com funções de siste-ma incorporadas fornece uma base segura para executar pro-gramas de segurança e/ou operacionais, por exemplo, para usona execução de operação pagar por uso, pay-as-you-go, ou ou-tra operação medida de um dispositivo eletrônico como umcomputador, telefone celular, assistente pessoal digital,tocador de meios, etc. A unidade de processamento pode in-cluir recursos e suporte funcional encontrado na maioria ouem todos os microprocessadores modernos e também suportarfunções adicionais gue fornecem um identificador de hardwa-re, um relógio resistente à violação e armazenagem segura.Outras capacidades funcionais como uma unidade criptográfi-ca, podem estar presentes também. O resultado é uma unidadede processamento que não se baseia em quaisquer componentesexternos, particularmente software de sistema operacional,um módulo de computação de confiança (TCM) , ou BIOS de ini-cialização segura para estabelecer a base para computadorcapaz de ser operado em conformidade com um programa de uso.
Quando inicializada, a unidade de processamentodetermina qual programa está ativo e define a configuraçãodo sistema de acordo com o programa, por exemplo, definirlimites em memória disponível, número ou tipo de periféri-cos, ou comunicações de rede. 0 relógio provê um tempo con-fiável para uso em uso de medição, como uso durante um perí-odo de tempo, e como uma referência para detectar violaçãocom o relógio do sistema.BREVE DESCRIÇÃO DOS DESENHOS
A figura 1 é um diagrama de blocos representativoe simplificado de uma rede de computador;
A figura 2 é um diagrama de blocos de um computa-dor que pode ser conectado à rede da figura 1;
A figura 3 é um diagrama de blocos de um computa-dor mostrando detalhes da unidade de processamento; e
A figura 4 é um diagrama de blocos de um computa-dor mostrando detalhes de uma modalidade alternativa da uni-dade de processamento da figura 3.
DESCRIÇÃO DETALHADA DE VÁRIAS MODALIDADES
Embora o texto a seguir exponha uma descrição de-talhada de inúmeras modalidades diferentes, deve ser enten-dido que o escopo legal da descrição é definido pelas pala-vras das reivindicações expostas ao término dessa revelação.A descrição detalhada deve ser interpretada como exemplarsomente e não descreve toda modalidade possível uma vez quea descrição de toda modalidade possível seria impraticável,se não impossível. Inúmeras modalidades alternativas poderi-am ser implementadas, utilizando tecnologia atual ou tecno-logia desenvolvida após a data de depósito dessa patente,que ainda estaria compreendida no escopo das reivindicações.
Deve ser também entendido que, a menos que um ter-mo seja expressamente definido nessa patente utilizando asentença "Como utilizado aqui, o termo "_" é definidopela presente como significando..." ou uma sentença similar,não há intenção de limitar o significado daquele termo, ex-pressamente ou por implicação, além de seu significado sim-pies ou comum, e tal termo não deve ser interpretado comosendo limitado em escopo com base em qualquer declaraçãofeita em qualquer seção dessa patente (diferente da lingua-gem das reivindicações). Até o ponto em que qualquer termorecitado nas reivindicações no final dessa patente seja men-cionado nessa patente em um modo compatível com um signifi-cado único, isto é feito para fins de clareza somente de mo-do a não confundir o leitor, e não se pretende que esse ter-mo de reivindicação seja limitado, por implicação ou de ou-tro modo, àquele significado único. Finalmente, a menos queum elemento de reivindicação seja definido por recitar a pa-lavra "significa" e uma função sem o recitall de qualquerestrutura, não se pretende que o escopo de qualquer elementode reivindicação seja interpretado com base na aplicação de35 U.S.C. § 112, sexto parágrafo.
Grande parte da funcionalidade inventiva e muitosdos princípios inventivos são melhores implementados com ouem programas de software ou instruções e circuitos integra-dos (ICs) como ICs de aplicação específica. Espera-se queuma pessoa com conhecimentos comuns, não obstante esforçopossivelmente significativo e muitas escolhas de desenho mo-tivadas, por exemplo, por tempo disponível, tecnologia atu-al, e considerações econômicas, quando guiada pelos concei-tos e princípios revelados aqui seja prontamente capaz degerar tais instruções e programas de software e ICs com ex-perimentação mínima. Portanto, no interesse de brevidade eminimização de qualquer risco de obscurecer os princípios econceitos de acordo com a presente invenção, discussão adi-cional desse software e ICs, caso haja, será limitada ao es-sencial com relação aos princípios e conceitos das modalida-des preferidas.
A figura 1 ilustra uma rede 10 que pode ser utili-zada para implementar um sistema de computador de pagar poruso. A rede 10 pode ser a Internet, uma rede privada virtual(VPN) , ou qualquer outra rede que permita que um ou maiscomputadores, dispositivos de comunicação, bancos de dados,etc., sejam conectados de forma comunicativa entre si. A re-de 10 pode ser conectada a um computador pessoal 12 e umterminal de computador 14 através de um Ethernet 16 e um ro-teador 18, e uma linha física 20. Por outro lado, a rede 10pode ser conectada sem fio a um computador laptop 22 e umassistente pessoal de dados 24 através de uma estação de co-municação sem fio 26 e uma ligação sem fio 28. Similarmente,um servidor 30 pode ser conectado à rede 10 utilizando umaligação de comunicação 32 e um mainframe 34 pode ser conec-tado à rede 10 utilizando outra ligação de comunicação 36.
A figura 2 ilustra um dispositivo de computação naforma de um computador 110 que pode ser conectado à rede 10e utilizado para implementar um ou mais componentes do sis-tema de provisionamento de software dinâmico. Os componentesdo computador 110 podem incluir, porém não são limitados a,uma unidade de processamento 120, uma memória de sistema130, e um barramento de sistema 121 que acopla vários compo-nentes de sistema incluindo a memória de sistema 130 à uni-dade de processamento 120. 0 barramento de sistema 121 podeser qualquer de vários tipos de estruturas de barramento in-cluindo um barramento de memória ou controlador de memória,um barramento periférico, e um barramento local utilizandoqualquer de uma variedade de arquiteturas de barramento. Co-mo exemplo, e não limitação, essas arquiteturas incluem bar-ramento de Industry Standard Architecture (ISA), barramentode Micro Channel Architecture (MCA), barramento de ISA aper-feiçoado (EISA), barramento local de Video Electronics Stan-dards Association (VESA) e barramento de Peripheral Compo-nent Interconnect (PCI) também conhecido como barramentoMezzanine.
A unidade de processamento 120 pode ser um micro-processador como um microprocessador disponível junto a In-tel, ou outros, como é sabido na técnica. A unidade de pro-cessamento pode ser um chip único ou pode ser uma unidade deprocessador múltiplo e pode incluir chips periféricos asso-ciados (não representados) ou blocos funcionais (não repre-sentados). Tais chips associados podem incluir pré-processadores, chips de pipeline, memórias intermediáriassimples e acionadores, ou podem incluir conjuntos dechip/chip mais complexos como os chips "Northbridge" e "Sou-thbridge" conhecidos em algumas arquiteturas de computadorde tecnologia atual. A unidade de processamento 120 tambémpode incluir um ambiente de execução segura 125, no mesmosilício que o microprocessador ou como um chip relacionadocomo parte da unidade de processamento geral. 0 ambiente deexecução segura 125 e sua interação com a unidade de proces-samento, ou dispositivos equivalentes, é discutido em maisdetalhe abaixo com relação à figura 3 e a figura 4.O computador 110 inclui, tipicamente, uma varieda-de de meios legíveis por computador: Os meios legíveis porcomputador podem ser quaisquer meios disponíveis que podemser acessados pelo computador 110 e incluem tanto meios vo-láteis como não voláteis, meios removíveis e não removíveis.Como exemplo, e não limitação, meios legíveis por computadorpodem compreender meios de armazenagem em computador e meiosde comunicação. Os meios de armazenagem de computador inclu-em meios voláteis e não voláteis, removíveis e não removí-veis implementados em qualquer método ou tecnologia para ar-mazenagem de informações como instruções legíveis por compu-tador, estruturas de dados, módulos de programa ou outrosdados. Meios de armazenagem de computador incluem, porém nãosão limitados a, RAM, ROM, EEPROM, memória flash ou outratecnologia de memória, CD-ROM, digital versatile disks (DVD)ou outra armazenagem de disco óptico, cassetes magnéticos,fita cassete, armazenagem de disco magnético ou outros dis-positivos de armazenagem magnética, ou qualquer outro meioque pode ser utilizado para armazenar as informações deseja-das e que pode ser acessado por computador 110. Os meios decomunicação incorporam, tipicamente, instruções legíveis porcomputador, estruturas de dados, módulos de programa ou ou-tros dados em um sinal de dados modulado como uma onda por-tadora ou outro mecanismo de transporte e inclui qualquermeio de fornecimento de informações. O termo "sinal de dadosmodulado" significa um sinal que tem uma ou mais de suas ca-racterísticas definidas ou alteradas de tal modo a codificarinformações no sinal. Como exemplo, e não limitação, meiosde comunicação incluem meios cabeados como uma rede cabeadaou conexão cabeada direta, e meios sem fio como meios acús-ticos, e radiofreqüência, infravermelho e outros meios semfio. As combinações de qualquer um dos acima também devemser incluídas no escopo dos meios legíveis por computador.
A memória do sistema 130 inclui meios de armazena-gem de computador na forma de memória volátil e/ou não volá-til como memória somente de leitura (ROM) 131 e memória deacesso aleatório (RAM) 132. Um sistema de entrada/saída bá-sico 133 (BIOS), contendo as rotinas básicas que ajudam atransferir informações entre elementos no computador 110,como durante partida, é tipicamente armazenado na ROM 131. ARAM 132 contém, tipicamente, dados e/ou módulos de programaque são imediatamente acessíveis a e/ou sendo atualmente o-perados pela unidade de processamento 120. Como exemplo, enão limitação, a figura 2 ilustra o sistema operacional 134,programas de aplicação 135, outros módulos de programa 136,e dados de programa 137.
0 computador 110 também pode incluir outros meiosde armazenagem de computador removíveis/não removíveis, vo-láteis/não voláteis. Somente como exemplo, a figura 2 ilus-tra uma unidade de disco rígido 14 0 que lê de ou grava parameios magnéticos não removíveis, não voláteis, uma unidadede disco magnético 151 que lê de ou grava para um disco mag-nético removível, não volátil 152, e uma unidade de discoóptico 155 que lê de ou grava para um disco óptico removí-vel, não - volátil 156 como um RD COM ou outro meio óptico.Outros meios de armazenagem de computador removíveis/não re-movíveis, voláteis/não voláteis que podem ser utilizados noambiente operacional exemplar incluem, porém não são limita-dos a, cassetes de fita magnética, cartões de memória flash,digital versatile disks, fita de vídeo digital, RAM de esta-do sólido, ROM de estado sólido, e similares. A unidade dedisco rígido 141 é tipicamente conectada ao barramento desistema 121 através de uma interface de memória não removí-vel como interface 140, e unidade de disco magnético 151 eunidade de disco óptico 155 são tipicamente conectadas aobarramento de sistema 121 por uma interface de memória remo-vível, como interface 150.
As unidades e seus meios de armazenagem de compu-tador associados discutidos acima e ilustrados na figura 2,fornecem armazenagem de instruções legíveis por computador,estruturas de dados, módulos de programa e outros dados parao computador 110. Na figura 2, por exemplo, a unidade dedisco rígido 141 é ilustrada como armazenando o sistema ope-racional 144, programas de aplicação 145, outros módulos deprograma 146, e dados de programa 147. Observe que essescomponentes podem ser iguais a ou diferentes ao sistema ope-racional 134, programas de aplicação 135, outros módulos deprograma 136, e dados de programa 137. O sistema operacional144, programas de aplicação 145, outros módulos de programa146, e dados de programa 147 recebem números diferentes aquipara ilustrar que, no mínimo, são cópias diferentes. Um usu-ário pode entrar comandos e informações no computador 20 a-través de dispositivos de entrada como teclado 162 e dispo-sitivo de indicação 161, comumente mencionado como um mouse,TrackBall ou touch pad. Outro dispositivo de entrada podeser uma câmera para enviar imagens através da Internet, co-nhecida como uma web cam 163. Outros dispositivos de entrada(não mostrados) podem incluir um microfone, manche, gamepad, prato de satélite, scanner, ou similar. Esses e outrosdispositivos de entrada são freqüentemente conectados à uni-dade de processamento 120 através de uma interface de entra-da de usuário 160 que é acoplada ao barramento de sistema,porém podem ser conectados por outras estruturas de barra-mento e interface, como porta paralela, porta de jogo ou umbarramento serial universal (USB). Um monitor 191 ou outrostipos de dispositivo de exibição também é conectado ao bar-ramento do sistema 121 através de uma interface, como umainterface de video 190. Além do monitor, computadores tambémpodem incluir outros dispositivos de saida periféricos comoalto-falantes 197 e impressora 196, que podem ser conectadosatravés de uma interface periférica de saida 195.
O computador 110 pode operar em um ambiente ligadoem rede utilizando conexões lógicas a um ou mais computado-res remotos, como um computador remoto 180. O computador re-moto 180 pode ser um computador pessoal, um servidor, um ro-teador, um PC de rede, um dispositivo par ou outro nó de re-de comum, e tipicamente inclui muitos ou todos os elementosdescritos acima em relação ao computador 110, embora somenteum dispositivo de armazenagem de memória 181 tenha sido i-lustrado na figura 2. As conexões lógicas representadas nafigura 2 incluem uma rede de área local (LAN) 171 e uma rederemota (WAN) 173, porém também podem incluir outras redes.Tais ambientes de ligação em rede são comuns em escritórios,redes de computador de empresas, intranets, e Internet.
Quando utilizado em um ambiente de ligação em redeLAN, o computador 100 é conectado à LAN 171 através de umainterface de rede ou adaptador 170. Quando utilizado em umambiente de ligação em rede WAN, o computador 100 inclui ti-picamente um modem 172 ou outro meio para estabelecer comu-nicação através da WAN 173, como Internet. O modem 172, quepode ser interno ou externo, pode ser conectado ao barramen-to de sistema 121 através da interface de entrada de usuário160, ou outro mecanismo apropriado. Em um ambiente ligado emrede, módulos de programa representados em relação ao compu-tador 100, ou porções do mesmo, podem ser armazenados nodispositivo de armazenagem de memória remoto. Como exemplo,e não limitação, a figura 2 ilustra programas de aplicaçãoremota 185 como residindo no dispositivo de memória 181. Se-rá reconhecido que as conexões de rede mostradas são exem-plos e outros meios de estabelecer uma ligação de comunica-ção entre os computadores podem ser utilizados.
A figura 3 representa um diagrama de blocos sim-plificado de um computador 300. O computador inclui uma uni-dade de processamento 302, que pode ser similar a ou igual àunidade de processamento 120. O diagrama de blocos tambémrepresenta o computador 300 tendo um sistema operacional eaplicações 304 que são acoplados à unidade de processamento302 por uma interface de programa de aplicação de interface(API) 306. A API 306 pode comunicar-se com uma interface decomunicação 308 na unidade de processamento 302. A interfacede comunicação 308 pode ter a forma de um handler de inter-rupção ou handler de processamento de mensagem, unidade deanálise, etc. Como encontrado em microprocessadores conven-cionais, a unidade de processamento 302 pode incluir um nú-cleo de unidade de processamento geral (GPU) 310 que proces-sa instruções de propósito geral recebidas através da inter-face de comunicação 308 utilizando um conjunto de microcódi-go de propósito geral 312. A operação do núcleo de GPU 310 esua relação com o microcódigo de propósito geral 312 é bemdocumentado e entendido na indústria, e é exemplificado emprocessadores como a série Intel Pentium™, processadoresARM™ a partir de Advanced Rise Machines Limited, e proces-sador PowerPC™ da IBM.
Um ambiente de execução segura 314 pode suplemen-tar as capacidades de processamento geral fornecidas pelonúcleo de GPU e microcódigo 310 312. 0 ambiente de execuçãosegura 314 pode incluir uma memória de execução reservada316. A memória de execução reservada 316 pode fornecer umlocal altamente seguro para a execução de instruções tendoum nivel de privilégio elevado dentro da unidade de proces-samento 302. Esse nivel de operação de privilégio elevadopode permitir que a unidade de processamento 302 execute có-digo que não é diretamente acessível a partir do exterior daunidade de processamento 302. Por exemplo, um vetor de in-terrupção específico pode definir a unidade de processamento302 em operação segura, ou instruções podem ser avaliadas emrelação a conteúdo exigindo recursos seguros. Ao operar nes-se modo de privilégio elevado, a unidade de processamento302 atua como um subsistema completo e não requer nenhum bemativo, por exemplo recursos de BIOS, memória de programa, ouum TCM, para construir um ambiente de processamento seguro.
Uma memória segura 318 pode armazenar, em um modoresistente à violação, código e dados relacionados à opera-ção segura do computador 302. A interface de comunicação 308pode determinar quais instruções que entram no processador302 devem ser dirigidas à memória segura 318, e subseqüente-mente para execução na memória de execução reservada 316. Osdados na memória segura 318 podem incluir um sinal de iden-tificação ou identificador de hardware 320 e dados de pro-grama 322 que podem especificar diretivas operacionais rela-cionadas ao programa como medição, reportar, exigências deatualização, etc. A memória segura 318 pode incluir tambémcódigo ou dados necessários para implementar várias funções324. As funções 324 podem incluir um relógio 326 ou tempori-zador implementando funções de relógio, funções de execução328, medição 330, gerenciamento de programa 332, criptogra-fia 334, privacidade 336, verificação biométrica 338, e va-lor armazenado 340 citando alguns.
0 relógio 326 pode fornecer uma base segura paramedição de tempo e pode ser utilizado como uma verificaçãocontra um relógio de sistema mantido pelo sistema operacio-nal 134 para ajudar a evitar tentativas de uso fraudulentodo computador 300 pela alteração do relógio do sistema. 0relógio 326 pode ser utilizado também em combinação com ogerenciamento do programa 332, por exemplo, para exigir co-municação com um servidor hospedeiro para verificar a dispo-nibilidade de upgrade. As funções de execução 328 podem sercarregadas na memória de execução reservada 316 e executadasquando for determinado que o computador 300 não está em con-formidade com um ou mais elementos do programa 322. Tais a-ções podem incluir restrição da memória do sistema 132 pelaorientação da unidade de processamento 302 para alocar memó-ria de sistema genericamente disponível para uso pelo ambi-ente de execução segura 314. Pela realocação da memória dosistema 134 para o ambiente de execução segura 314, a memó-ria do sistema 134 é essencialmente tornada indisponível pa-ra finalidades do usuário.
Outra função 324 pode ser medição 330. Medição 330pode incluir uma variedade de técnicas e medições, por exem-plo, aquelas como discutido no pedido de patente US copen-dente número de série 11/006.837. O fato de se deve medir equais itens específicos medir pode ser uma função do progra-ma 322 é implementado pela função de gerenciamento do pro-grama 332. Uma função de criptografia 334 pode ser utilizadapara verificação de assinatura digital, assinatura digital,geração de número aleatório, e criptografia/decriptografia.Qualquer uma ou todas essas capacidades podem ser utilizadaspara verificar atualizações na memória segura 318 ou confi-ança estabelecida com uma entidade fora da unidade de pro-cessamento 302 quer dentro ou fora do computador 300.
o ambiente de execução segura 314 pode permitirque várias funções de propósito especial sejam desenvolvidase utilizadas. Um gerenciador de privacidade 336 pode ser u-tilizado para gerenciar informações pessoais para um usuárioou parte interessada. Por exemplo, o gerenciador de privaci-dade 336 pode ser utilizado para implementar uma função de"carteira" para reter dados de cartão de crédito e endereçopara uso em compras on-line. Uma função de verificação bio-métrica 338 pode ser utilizada com um sensor biométrico ex-terno para verificar identidade pessoal. Tal verificação deidentidade pode ser utilizada, por exemplo, para atualizarinformações pessoais no gerenciador de privacidade 336 ou aoaplicar uma assinatura digital. Como mencionado acima, afunção de criptografia 334 pode ser utilizada para estabele-cer confiança e um canal seguro para um sensor biométricoexterno (não representado).
Uma função de valor armazenado 34 0 pode ser imple-mentada também para uso no pagamento por tempo em um compu-tador de pagar por uso ou enquanto faz uma compra externa,por exemplo, transações de comércio de ações on-line.
O uso de dados e funções a partir da memória segu-ra 318 para execução na memória de execução reservada 316permite apresentação de uma interface de hardware segura342. A interface de hardware segura 342 permite acesso res-trito e ou monitorado a dispositivos periféricos 344 ou BIOS346. Adicionalmente as funções 324 podem ser utilizadas parapermitir que programas externos, incluindo o sistema opera-cional 134, acessem instalações seguras como ID de hardwaree geração de número aleatório através de conexão lógica 348entre a GPU 310 na interface de hardware segura 342. Alémdisso, cada função discutida acima, como implementado em có-digo e armazenado na memória segura 318 pode ser implementa-da em lógica e instanciada como um circuito fisico. As ope-rações para mapear comportamento funcional entre hardware esoftware são bem conhecidas na técnica e não são discutidasaqui em mais detalhe.
Em operação, uma interrupção designada pode serprocessada pela interface de comunicação 308 fazendo com quedados ou uma ou mais funções sejam carregadas a partir damemória segura 318 na memória de execução reservada 316. AGPU 310 pode executar a partir da memória de execução reser-vada 316 para implementar a função. Em uma modalidade, asfunções 324 disponíveis podem suplementar ou substituir fun-ções padrão disponíveis no sistema operacional 134. Quandoconfigurado desse modo, um sistema operacional corresponden-te 134 operará somente quando emparelhado com a unidade deprocessamento 302. Levando esse conceito para outro nível,outra modalidade da unidade de processamento 302 pode serprogramada para reter funções do sistema operacional externoa menos que executadas a partir da memória de execução re-servada 316. Por exemplo, tentativas em alocar memória pelosistema operacional externo 134 podem ser negadas ou redire-cionadas para funções internamente armazenadas. Quando con-figurado desse modo, somente um sistema operacional especi-ficamente configurado para a unidade de processamento 302operará corretamente. Ainda em outra modalidade, dados deprograma 322 e funções de gerenciamento de programa 332 po-dem testar sistema operacional 134, programa de aplicação135, e parâmetros de hardware para assegurar que software ehardware autorizados estejam presentes.Em uma modalidade, o computador 300 inicializa u-tilizando um procedimento de partida BIOS normal. Em um pon-to quando o sistema operacional 134 está sendo ativado, aunidade de processamento 302 pode carregar a função de ge-renciamento de programa 332 na memória de execução reservada316 para execução para configurar o computador 300 de acordocom os dados do programa 322. O processo de configuração po-de incluir alocação de memória, capacidade de processamento,disponibilidade periférica e uso bem como exigências de me-dição. Quando medição deve ser executada, os programas refe-rentes à medição, como quais medições fazer, por exemplo,pelo uso de CPU ou durante um período de tempo, podem serativados. Adicionalmente, quando o uso é carregado por perí-odo ou por atividade, um resto de valor armazenado pode sermantido utilizando a função de valor armazenado 340. Quandoo computador 300 foi configurado de acordo com o programa322, o processo de inicialização normal pode continuar pelaativação e instanciação do sistema operacional 134 e outrosprogramas de aplicação 135. Em outras modalidades, o pro-grama pode ser aplicado em pontos diferentes no processo deinicialização ou ciclo de operação normal.
Caso não conformidade com o programa seja desco-berta, a função de execução 328 pode ser ativada. Uma dis-cussão de programa de execução e ações pode ser encontradano pedido copendente Pedido de patente Norte-americana núme-ro de série: 11/152.214. A função de execução 328 pode colo-car o computador 300 em um modo de operação alternativoquando todas as tentativas em retornar o computador paraconformidade com o programa 322, falham. Por exemplo, em umamodalidade, uma sanção pode ser imposta por realocar a memó-ria a partir de uso como memória de sistema 130 e designar amesma como memória segura 318. Uma vez que a memória segura318 não é endereçável por programas externos incluindo osistema operacional 134, a operação do computador pode serrestrita, mesmo severamente, por essa alocação de memória.
Como as funções de execução e programa são manti-das na unidade de processamento 302, alguns ataques típicosno sistema são difíceis ou impossíveis. Por exemplo, o pro-fgrama não pode ser "dissimulado" pela substituição de umaseção de memória de programa de memória externa. Similarmen-te, as funções de execução e programa não podem ficar "emfalta" pelo bloqueio de ciclos de execução e suas respecti-vas faixas de endereço.
Para reverter o computador 300 para operação nor-mal, um código de recuperação pode necessitar ser adquiridoa partir de uma autoridade de licenciar ou provedor de ser-viço (não representado) e entrado no computador 300. O códi-go de recuperação pode incluir a ID de hardware 320, um rea-bastecimento de valor armazenado, e um tempo "não mais cedodo que" utilizado para verificar o relógio 326. 0 código derecuperação pode ser tipicamente criptografado e assinadopara confirmação pela unidade de processamento 302.
Atualizações adicionais nos dados na memória segu-ra 318 podem ser permitidas somente quando critérios especí-ficos são atendidos, por exemplo, quando as atualizações sãoverificadas por assinatura digital.A figura 4 é um diagrama de blocos de um computa-dor 400 mostrando uma modalidade alternativa da unidade deprocessamento 302 mostrada na figura 3. O computador 400 temuma unidade de processamento 402, um sistema operacional 404e uma interface de programa de aplicação (API) da interfacede sistema operacional de microprocessador, 406. A unidadede processamento 402 inclui uma interface de comunicação 408. que pode operar em um modo similar à interface de comunica-ção 308 pela orientação de tráfego de dados para uma funçãode microprocessador apropriada baseada em um critério comocaracterísticas de interrupção ou faixa de endereço. A uni-dade de processamento 402 pode ter uma unidade de processa-mento geral convencional (GPU) 410 e microcódigo de propósi-to geral correspondente, 412. Um ambiente de execução segura414 pode incluir funções iguais ou similares encontradas noambiente de execução segura 314 com a adição de um processa-dor de núcleo seguro separado, 416. O processador de núcleoseguro 416 pode permitir um nível adicional de independênciaa partir do núcleo de GPU 410 e um aumento correspondente nagarantia da unidade de processamento 402.
A memória segura 418 pode incluir uma ID de hard-ware 420 e dados de programa 422 além das funções de propó-sito geral 424 que operam como discutido acima, com relaçãoà figura 3, por exemplo relógio 426, execução 428, medição 430, gerenciamento de programa 432, e criptografia 434. Adi-cionalmente, as funções de propósito especial como gerencia-mento de privacidade 436, verificação biométrica 438, e va-lor armazenado 440 podem estar presentes. As funções de pro-pósito geral e propósito especial 424 são dadas como exemploe não limitação, visto que outras funções são facilmente i-maginadas por aqueles com conhecimentos comuns na técnica.
A apresentação de dispositivos à interface dehardware segura 442, como uma interface de dispositivo 444 ea interface de BIOS 446, bem como a apresentação de funçõescomo um relógio seguro e gerador de número aleatório podeser feita através de conexão virtual 448. A comunicação en-tre o núcleo de GPU 410 no processador de núcleo seguro 416pode ser feita através de um barramento de comunicação 450.Em uma modalidade, o barramento de comunicação 450 podetransmitir dados através de um canal seguro para estender arelação de confiança a partir do processador de núcleo segu-ro 416 com a GPU 410.
São descritas acima várias modalidades especificasincluindo modalidades de hardware e software para mediçãodelicada de uso de computador. Um método mais razoável epreciso de determinar e medir uso benéfico é revelado pormonitorar e avaliar níveis de atividade de um ou mais compo-nentes do computador 110 e aplicar regras comerciais apro-priadas. Isso beneficia uma faixa ampla de aplicações de pa-gar por uso ou uso medido domésticas, de escritório e empre-sa. Entretanto, uma pessoa com conhecimentos comuns na téc-nica reconhecerá que várias modificações e alterações podemser feitas nessas modalidades, incluindo 'porém não limita-das ao uso de diferentes combinações de hardware ou softwarepara monitoração de atividade, múltiplos programas de taxas,bem como regras mais ou menos complexas associadas à deter-minação de um programa de uso apropriado. Por conseguinte, orelatório descritivo e desenhos devem ser considerados em umsentido ilustrativo em vez de restritivo, e todas essas mo-dificações pretendem estar incluídas no escopo da presentepatente.
Claims (20)
1. Unidade de processamento para uso em um dispo-sitivo eletrônico, CARACTERIZADA por compreender:uma unidade de processamento de instrução;uma interface de comunicação;um sinal de identificação;um circuito de gerenciamento de programa;um circuito de execução;um circuito de relógio que fornece uma base detempo que aumenta de forma monotônica; euma memória resistente à violação que armazena da-dos correspondendo a um programa de uso que regula operaçãodo dispositivo eletrônico em conformidade com o programa de uso.
2. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que o programa deuso especifica uma definição de sistema correspondendo a usode recurso no dispositivo eletrônico.
3. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que o programa deuso compreende um valor operacional que corresponde a pelomenos uma medição por tempo e medição por uso.
4. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA por compreender ainda código desoftware armazenado na memória resistente à violação imple-mentando uma função de privacidade, a função de privacidadepara garantir informações correspondendo aos dados de usuário.
5. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que a interface decomunicação provê dados para uma interface de programa deaplicação para comunicar atualizações de programa.
6. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que o circuito degerenciamento de programa determina quando medir uso do dis-positivo eletrônico.
7. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que o circuito deexecução limita a operação do dispositivo eletrônico quandoo circuito de gerenciamento de programa determina que a ope-ração não está em conformidade com o programa.
8. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA por compreender ainda código desoftware armazenado na memória resistente à violação paraimplementar uma função de autenticação de biométrica.
9. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA por compreender ainda código desoftware armazenado na memória resistente à violação paraimplementar uma função criptográfica, pelo que uma atualiza-ção de programa é verificada de forma criptográfica antes dainstalação.
10. Unidade de processamento, de acordo com a rei-vindicação 9, CARACTERIZADA pelo fato de que a função crip-tográfica é operável para estabelecer uma relação de confi-ança com outro componente do dispositivo eletrônico.
11. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA pelo fato de que o programa de-fine uma configuração de hardware.
12. Unidade de processamento, de acordo com a rei-vindicação 1,. CARACTERIZADA pelo fato de que o programa de-fine uma configuração de memória que exclui memória de sis-tema externo a partir do uso geral por alocação da memóriade sistema externo à memória resistente à violação.
13. Unidade de processamento, de acordo com a rei-vindicação 1, CARACTERIZADA por compreender ainda código desoftware armazenado na memória resistente à violação paraimplementar uma função de valor armazenado.
14. Computador adaptado para uso em conformidadecom um programa que corresponde a pelo menos um entre umaconfiguração de memória, uma capacidade de processamento,uma exigência de medição, e autorização para um periférico,o computador sendo CARACTERIZADO por compreender:uma memória volátil;uma memória não volátil;uma interface de entrada;uma interface de comunicação; euma unidade de processamento acoplada à memóriavolátil, memória não volátil, interface de entrada, e inter-face de saida, a unidade de processamento compreendendo:uma unidade de processamento de instrução;uma interface de barramento de dados;uma função de gerenciamento de programa;uma função de execução;um relógio resistente à violação; euma memória segura que armazena o programa;em que o computador opera de acordo com o programaarmazenado na memória segura.
15. Computador, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que os dados correspondendo aoprograma são recebidos através de uma entre a interface deentrada e a interface de comunicação.
16. Computador, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a unidade de processamentocompreende ainda uma função criptográfica.
17. Método de operar um computador tendo uma uni-dade de processamento com uma memória resistente à violação,o método sendo CARACTERIZADO por compreender:executar instruções de computador para inicializaro computador;executar instruções de computador para ler um pro-grama a partir da memória resistente à violação, o programacorrespondendo pelo menos a uma configuração de memória, umacapacidade de processamento, uma exigência de medição, e au-torização para um periférico; eexecutar instruções de computador para operar ocomputador de acordo com o programa.
18. Método, de acordo com a reivindicação 17,CARACTERIZADO por compreender ainda:colocar o computador em um modo de uso restrito;receber um código de recuperação incluindo uma in-dicação de tempo; ecomparar a indicação de tempo com uma função in-terna de relógio.
19. Método, de acordo com a reivindicação 17,CARACTERIZADO por compreender ainda:determinar quando o programa requer uso medido docomputador;medir o uso de acordo com o programa.
20. Método, de acordo com a reivindicação 17,CARACTERIZADO pelo fato de que executar instruções de compu-tador para operar o computador de acordo com o programa,compreende ainda executar instruções de computador para rea-locar memória de sistema para a memória resistente à viola-ção tornando a mesma indisponível para uso geral pelo computador.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/224,418 US20070061535A1 (en) | 2005-09-12 | 2005-09-12 | Processing unit enclosed operating system |
| US11/224.418 | 2005-09-12 | ||
| PCT/US2006/034632 WO2007032975A1 (en) | 2005-09-12 | 2006-09-02 | Processing unit enclosed operating system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0615811A2 true BRPI0615811A2 (pt) | 2011-05-24 |
Family
ID=37856655
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BRPI0615811-0A BRPI0615811A2 (pt) | 2005-09-12 | 2006-09-02 | sistema operacional encerrado em unidade de processamento |
Country Status (8)
| Country | Link |
|---|---|
| US (2) | US20070061535A1 (pt) |
| EP (1) | EP1955192A4 (pt) |
| JP (2) | JP2009508259A (pt) |
| KR (1) | KR20080042889A (pt) |
| CN (1) | CN101263473B (pt) |
| BR (1) | BRPI0615811A2 (pt) |
| RU (1) | RU2008109231A (pt) |
| WO (1) | WO2007032975A1 (pt) |
Families Citing this family (69)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7669048B2 (en) * | 2005-12-09 | 2010-02-23 | Microsoft Corporation | Computing device limiting mechanism |
| US8122258B2 (en) * | 2006-05-22 | 2012-02-21 | Hewlett-Packard Development Company, L.P. | System and method for secure operating system boot |
| GB2460393B (en) * | 2008-02-29 | 2012-03-28 | Advanced Risc Mach Ltd | A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry |
| US8984653B2 (en) * | 2008-04-03 | 2015-03-17 | Microsoft Technology Licensing, Llc | Client controlled lock for electronic devices |
| US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
| US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
| US8406748B2 (en) | 2009-01-28 | 2013-03-26 | Headwater Partners I Llc | Adaptive ambient services |
| US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
| US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
| US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
| US12166596B2 (en) | 2009-01-28 | 2024-12-10 | Disney Enterprises, Inc. | Device-assisted services for protecting network capacity |
| USD614662S1 (en) * | 2009-05-01 | 2010-04-27 | Microsoft Corporation | Icon for a display screen |
| US8989705B1 (en) | 2009-06-18 | 2015-03-24 | Sprint Communications Company L.P. | Secure placement of centralized media controller application in mobile access terminal |
| US8797337B1 (en) * | 2009-07-02 | 2014-08-05 | Google Inc. | Graphics scenegraph rendering for web applications using native code modules |
| US9495190B2 (en) * | 2009-08-24 | 2016-11-15 | Microsoft Technology Licensing, Llc | Entropy pools for virtual machines |
| CN103947138B (zh) * | 2011-11-16 | 2017-02-22 | 瑞典爱立信有限公司 | 针对多无线设备的无线干扰测试 |
| US9262637B2 (en) | 2012-03-29 | 2016-02-16 | Cisco Technology, Inc. | System and method for verifying integrity of platform object using locally stored measurement |
| US8712407B1 (en) | 2012-04-05 | 2014-04-29 | Sprint Communications Company L.P. | Multiple secure elements in mobile electronic device with near field communication capability |
| US9027102B2 (en) | 2012-05-11 | 2015-05-05 | Sprint Communications Company L.P. | Web server bypass of backend process on near field communications and secure element chips |
| US8862181B1 (en) | 2012-05-29 | 2014-10-14 | Sprint Communications Company L.P. | Electronic purchase transaction trust infrastructure |
| US9282898B2 (en) | 2012-06-25 | 2016-03-15 | Sprint Communications Company L.P. | End-to-end trusted communications infrastructure |
| US9066230B1 (en) | 2012-06-27 | 2015-06-23 | Sprint Communications Company L.P. | Trusted policy and charging enforcement function |
| US8649770B1 (en) | 2012-07-02 | 2014-02-11 | Sprint Communications Company, L.P. | Extended trusted security zone radio modem |
| US8667607B2 (en) * | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
| US8863252B1 (en) | 2012-07-25 | 2014-10-14 | Sprint Communications Company L.P. | Trusted access to third party applications systems and methods |
| US9183412B2 (en) | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
| US9215180B1 (en) | 2012-08-25 | 2015-12-15 | Sprint Communications Company L.P. | File retrieval in real-time brokering of digital content |
| US9015068B1 (en) | 2012-08-25 | 2015-04-21 | Sprint Communications Company L.P. | Framework for real-time brokering of digital content delivery |
| US8954588B1 (en) | 2012-08-25 | 2015-02-10 | Sprint Communications Company L.P. | Reservations in real-time brokering of digital content delivery |
| US8752140B1 (en) | 2012-09-11 | 2014-06-10 | Sprint Communications Company L.P. | System and methods for trusted internet domain networking |
| US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
| US9161227B1 (en) | 2013-02-07 | 2015-10-13 | Sprint Communications Company L.P. | Trusted signaling in long term evolution (LTE) 4G wireless communication |
| US9104840B1 (en) | 2013-03-05 | 2015-08-11 | Sprint Communications Company L.P. | Trusted security zone watermark |
| EP2973137A4 (en) * | 2013-03-13 | 2016-10-19 | Intel Corp | METHOD AND APPARATUS FOR SECURE REAL TIME MANAGEMENT CLOCK ASSISTED BY HARDWARE |
| US9613208B1 (en) | 2013-03-13 | 2017-04-04 | Sprint Communications Company L.P. | Trusted security zone enhanced with trusted hardware drivers |
| US8881977B1 (en) | 2013-03-13 | 2014-11-11 | Sprint Communications Company L.P. | Point-of-sale and automated teller machine transactions using trusted mobile access device |
| US9049013B2 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone containers for the protection and confidentiality of trusted service manager data |
| US9049186B1 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone re-provisioning and re-use capability for refurbished mobile devices |
| US9191388B1 (en) | 2013-03-15 | 2015-11-17 | Sprint Communications Company L.P. | Trusted security zone communication addressing on an electronic device |
| US9374363B1 (en) | 2013-03-15 | 2016-06-21 | Sprint Communications Company L.P. | Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device |
| US8984592B1 (en) | 2013-03-15 | 2015-03-17 | Sprint Communications Company L.P. | Enablement of a trusted security zone authentication for remote mobile device management systems and methods |
| US9021585B1 (en) | 2013-03-15 | 2015-04-28 | Sprint Communications Company L.P. | JTAG fuse vulnerability determination and protection using a trusted execution environment |
| US9171243B1 (en) | 2013-04-04 | 2015-10-27 | Sprint Communications Company L.P. | System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device |
| US9324016B1 (en) | 2013-04-04 | 2016-04-26 | Sprint Communications Company L.P. | Digest of biographical information for an electronic device with static and dynamic portions |
| US9454723B1 (en) | 2013-04-04 | 2016-09-27 | Sprint Communications Company L.P. | Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device |
| US9838869B1 (en) | 2013-04-10 | 2017-12-05 | Sprint Communications Company L.P. | Delivering digital content to a mobile device via a digital rights clearing house |
| US9443088B1 (en) | 2013-04-15 | 2016-09-13 | Sprint Communications Company L.P. | Protection for multimedia files pre-downloaded to a mobile device |
| US9069952B1 (en) | 2013-05-20 | 2015-06-30 | Sprint Communications Company L.P. | Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory |
| US9560519B1 (en) | 2013-06-06 | 2017-01-31 | Sprint Communications Company L.P. | Mobile communication device profound identity brokering framework |
| US9183606B1 (en) | 2013-07-10 | 2015-11-10 | Sprint Communications Company L.P. | Trusted processing location within a graphics processing unit |
| US9208339B1 (en) | 2013-08-12 | 2015-12-08 | Sprint Communications Company L.P. | Verifying Applications in Virtual Environments Using a Trusted Security Zone |
| CN104573509B (zh) * | 2013-10-21 | 2019-10-29 | 研祥智能科技股份有限公司 | 系统时间防护方法和装置 |
| US9185626B1 (en) | 2013-10-29 | 2015-11-10 | Sprint Communications Company L.P. | Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning |
| US9191522B1 (en) | 2013-11-08 | 2015-11-17 | Sprint Communications Company L.P. | Billing varied service based on tier |
| US9161325B1 (en) | 2013-11-20 | 2015-10-13 | Sprint Communications Company L.P. | Subscriber identity module virtualization |
| US9118655B1 (en) | 2014-01-24 | 2015-08-25 | Sprint Communications Company L.P. | Trusted display and transmission of digital ticket documentation |
| US9226145B1 (en) | 2014-03-28 | 2015-12-29 | Sprint Communications Company L.P. | Verification of mobile device integrity during activation |
| US9230085B1 (en) | 2014-07-29 | 2016-01-05 | Sprint Communications Company L.P. | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services |
| US9766818B2 (en) * | 2014-12-31 | 2017-09-19 | Samsung Electronics Co., Ltd. | Electronic system with learning mechanism and method of operation thereof |
| US9779232B1 (en) | 2015-01-14 | 2017-10-03 | Sprint Communications Company L.P. | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data |
| US9838868B1 (en) | 2015-01-26 | 2017-12-05 | Sprint Communications Company L.P. | Mated universal serial bus (USB) wireless dongles configured with destination addresses |
| US9473945B1 (en) | 2015-04-07 | 2016-10-18 | Sprint Communications Company L.P. | Infrastructure for secure short message transmission |
| US10223294B2 (en) * | 2015-09-01 | 2019-03-05 | Nxp Usa, Inc. | Fast secure boot from embedded flash memory |
| US9819679B1 (en) | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
| US10282719B1 (en) | 2015-11-12 | 2019-05-07 | Sprint Communications Company L.P. | Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit |
| US9817992B1 (en) | 2015-11-20 | 2017-11-14 | Sprint Communications Company Lp. | System and method for secure USIM wireless network access |
| CN105488418B (zh) * | 2015-11-24 | 2019-12-13 | 航天恒星科技有限公司 | 一种虚拟化平台服务器的可信启动方法及系统 |
| US10499249B1 (en) | 2017-07-11 | 2019-12-03 | Sprint Communications Company L.P. | Data link layer trust signaling in communication network |
| US10901928B2 (en) * | 2018-02-15 | 2021-01-26 | United States Of America As Represented By The Secretary Of The Air Force | Data access control in an open system architecture |
Family Cites Families (25)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4585904A (en) * | 1982-02-05 | 1986-04-29 | General Telephone Inc. | Programmable computerized telephone call cost metering device |
| CN2136498Y (zh) * | 1992-10-16 | 1993-06-16 | 忆华电机股份有限公司 | 结构改良的电脑 |
| US5444780A (en) * | 1993-07-22 | 1995-08-22 | International Business Machines Corporation | Client/server based secure timekeeping system |
| US5577100A (en) * | 1995-01-30 | 1996-11-19 | Telemac Cellular Corporation | Mobile phone with internal accounting |
| US5970143A (en) * | 1995-11-22 | 1999-10-19 | Walker Asset Management Lp | Remote-auditing of computer generated outcomes, authenticated billing and access control, and software metering system using cryptographic and other protocols |
| JP3109421B2 (ja) * | 1995-09-08 | 2000-11-13 | 富士ゼロックス株式会社 | 図表処理装置 |
| US6003061A (en) * | 1995-12-07 | 1999-12-14 | Microsoft Corporation | Method and system for scheduling the use of a computer system resource using a resource planner and a resource provider |
| US6557104B2 (en) * | 1997-05-02 | 2003-04-29 | Phoenix Technologies Ltd. | Method and apparatus for secure processing of cryptographic keys |
| US6430674B1 (en) * | 1998-12-30 | 2002-08-06 | Intel Corporation | Processor executing plural instruction sets (ISA's) with ability to have plural ISA's in different pipeline stages at same time |
| US6532507B1 (en) * | 1999-05-28 | 2003-03-11 | National Semiconductor Corporation | Digital signal processor and method for prioritized access by multiple core processors to shared device |
| US6550020B1 (en) * | 2000-01-10 | 2003-04-15 | International Business Machines Corporation | Method and system for dynamically configuring a central processing unit with multiple processing cores |
| US7225460B2 (en) * | 2000-05-09 | 2007-05-29 | International Business Machine Corporation | Enterprise privacy manager |
| US6986052B1 (en) * | 2000-06-30 | 2006-01-10 | Intel Corporation | Method and apparatus for secure execution using a secure memory partition |
| US7350083B2 (en) * | 2000-12-29 | 2008-03-25 | Intel Corporation | Integrated circuit chip having firmware and hardware security primitive device(s) |
| US7987510B2 (en) * | 2001-03-28 | 2011-07-26 | Rovi Solutions Corporation | Self-protecting digital content |
| US8392586B2 (en) * | 2001-05-15 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus to manage transactions at a network storage device |
| US7216369B2 (en) * | 2002-06-28 | 2007-05-08 | Intel Corporation | Trusted platform apparatus, system, and method |
| KR20050084877A (ko) * | 2002-10-31 | 2005-08-29 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 장치 특정 보안 데이터의 안전한 실시 및 이용 |
| JP2007535718A (ja) * | 2003-07-07 | 2007-12-06 | クリプターグラフィー リサーチ インコーポレイテッド | 海賊行為を規制し、インタラクティブコンテンツを使用可能にするための再プログラマブルなセキュリティ |
| US9064364B2 (en) * | 2003-10-22 | 2015-06-23 | International Business Machines Corporation | Confidential fraud detection system and method |
| US8176564B2 (en) * | 2004-11-15 | 2012-05-08 | Microsoft Corporation | Special PC mode entered upon detection of undesired state |
| US8464348B2 (en) * | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
| US7246195B2 (en) * | 2004-12-30 | 2007-07-17 | Intel Corporation | Data storage management for flash memory devices |
| US20060156008A1 (en) * | 2005-01-12 | 2006-07-13 | Microsoft Corporation | Last line of defense ensuring and enforcing sufficiently valid/current code |
| US8713667B2 (en) * | 2005-07-08 | 2014-04-29 | Hewlett-Packard Development Company, L.P. | Policy based cryptographic application programming interface in secure memory |
-
2005
- 2005-09-12 US US11/224,418 patent/US20070061535A1/en not_active Abandoned
-
2006
- 2006-09-02 RU RU2008109231/09A patent/RU2008109231A/ru not_active Application Discontinuation
- 2006-09-02 EP EP06803003A patent/EP1955192A4/en not_active Withdrawn
- 2006-09-02 JP JP2008531184A patent/JP2009508259A/ja active Pending
- 2006-09-02 WO PCT/US2006/034632 patent/WO2007032975A1/en not_active Ceased
- 2006-09-02 KR KR1020087006042A patent/KR20080042889A/ko not_active Ceased
- 2006-09-02 BR BRPI0615811-0A patent/BRPI0615811A2/pt not_active IP Right Cessation
- 2006-09-02 CN CN2006800332049A patent/CN101263473B/zh not_active Expired - Fee Related
-
2011
- 2011-06-29 US US13/171,993 patent/US20120005721A1/en not_active Abandoned
-
2012
- 2012-05-17 JP JP2012113055A patent/JP2012190474A/ja active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| WO2007032975A1 (en) | 2007-03-22 |
| US20070061535A1 (en) | 2007-03-15 |
| RU2008109231A (ru) | 2009-10-10 |
| US20120005721A1 (en) | 2012-01-05 |
| CN101263473B (zh) | 2011-05-11 |
| EP1955192A4 (en) | 2011-03-23 |
| KR20080042889A (ko) | 2008-05-15 |
| CN101263473A (zh) | 2008-09-10 |
| EP1955192A1 (en) | 2008-08-13 |
| JP2012190474A (ja) | 2012-10-04 |
| JP2009508259A (ja) | 2009-02-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| BRPI0615811A2 (pt) | sistema operacional encerrado em unidade de processamento | |
| CN116049825B (zh) | 管理基板管理控制器的存储器中的秘密的存储的装置、方法、控制器 | |
| KR101263061B1 (ko) | 점대점 상호연결 시스템 상에서의 보안 환경 초기화 명령의실행 | |
| US8522018B2 (en) | Method and system for implementing a mobile trusted platform module | |
| US8201239B2 (en) | Extensible pre-boot authentication | |
| US9489512B2 (en) | Trustzone-based integrity measurements and verification using a software-based trusted platform module | |
| US8060934B2 (en) | Dynamic trust management | |
| US7308576B2 (en) | Authenticated code module | |
| CN104794393B (zh) | 一种嵌入式分区映像安全认证及内核可信引导方法及其设备 | |
| US8909940B2 (en) | Extensible pre-boot authentication | |
| TWI277904B (en) | Method, recording medium and system for protecting information | |
| US7974416B2 (en) | Providing a secure execution mode in a pre-boot environment | |
| US20060036851A1 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
| US20040015694A1 (en) | Method and apparatus for authenticating an open system application to a portable IC device | |
| US12204628B2 (en) | Management controller-based verification of platform certificates | |
| BRPI0801772B1 (pt) | Método implementado por computador, sistema de tratamento de informação e meio de armazenamento legível por computador | |
| CN122003665A (zh) | 用于虚拟机的安全框架 | |
| Butler et al. | Protecting Portable Data with Host Validation |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| B08F | Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette] |
Free format text: REFERENTE A 7A ANUIDADE. |
|
| B08K | Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette] |
Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2256 DE 01/04/2014. |