Segundo [18], as casas de projeto de hoje não podem arcar com a fabricação de
chips, devido ao alto custo, sendo necessário terceirizar essa fabricação para fundições em
outros lugares e esta terceirização força as fundições a terem acesso aos detalhes dos chips e à possibilidade de overbuilding, sem a autorização da casa de projeto.
A medição de circuitos integrados, ou medição de hardware, é um método eficaz para se defender contra essa violação de IP. A medição de circuito integrado é um conjunto de protocolos de segurança que permite que a casa de projetos atinja o controle da pós-fabricação sobre seus CIs [18].
As técnicas de medição de IC são desenvolvidas para defesa contra ataques de o-
verbuilding de IC e, como mencionado anteriormente, no processo de fabricação de circuitos
integrados, essas casas e fundições desempenham papéis assimétricos e têm que divulgar os detalhes de seus IPs, pagando o custo para construir a máscara para fabricar seus produtos. Uma vez que o IP é liberado e a máscara é construída, a casa de projeto não terá nenhum con- trole sobre estes. Sendo assim, uma fundição desonesta pode utilizar esta informação e as ins- talações para reproduzir o projeto com custo insignificante. Isso é conhecido como o over-
rém, neste caso, a marca d'água protege a autoria de uma propriedade intelectual e, no IC o-
verbuilding, a fundição apenas reproduz mais cópias do IP do que são necessárias e depois
vende as cópias extras para obter lucro. A fundição não tentará reivindicar a autoria do IP. A impressão digital permite o rastreamento de propriedades intelectuais indicando o usuário de IP desonesto que distribuía ilegalmente o IP. Quando os CIs sobrecarregados carregam uma impressão digital, o usuário que possui essa impressão digital também se torna- rá vítima do overbuilding do IC. Isso porque esse usuário inocente será agora considerado como a fonte dessas cópias extras. Como circuitos integrados de medição ou a medição de
hardware resolve esse problema?
Um exemplo da vida cotidiana para isto são os medidores de serviços públicos, como hidrômetro ou medidor de eletricidade.
Os medidores são instalados e mantidos pelos provedores de serviços públicos pa- ra monitorar os usuários. No entanto, no caso do IC overbuilding, a fundição é o fornecedor dos CIs e a casa de projeto que irá receber esses CIs será um tipo de usuário. Então, necessita- se de uma medição reversa onde o usuário deseja monitorar o provedor.
O conceito básico por trás da medição do IC é habilitar uma tag única para cada cópia do IC e a certeza que a tag está sob o controle da casa de projeto e não da fundição.
Ao longo dos anos, muitos tipos diferentes de tags foram propostos e usados para medição de hardware. Estes podem ser categorizados com base em vários critérios. Primeiro, quando a tag só pode ser usada para identificação barata, é chamado de medição passiva. A
tag na medição ativa também pode fazer muitas outras funcionalidades, como ativar o chip,
desabilitá-lo ou controlá-lo [18]. Os métodos de medição ativos podem ser classificados como controlados internamente ou controlados externamente com base em se o controle é parte do projeto ou não.
A medição intrínseca não precisa de ajuda de componentes de hardware adicio- nais ou da modificação do desenho. No entanto, os métodos de medição extrínseca precisam. Dependendo se a tag interage com a funcionalidade do chip ou não, temos medição não fun- cional e medição funcional [18].
Finalmente, algumas tags podem ser reproduzidas e outras não; portanto, cha- mam-se estas últimas de tags não identificáveis. O número de série é talvez uma das primei- ras formas de marcação de dispositivos.
Um número de série pode ser indentado fisicamente no dispositivo ou armazena- do permanentemente na memória. A imagem a seguir mostra um trusted platform module, no armazenamento de um circuito integrado.
Figura 34 – Números de Série [17]
O que se vê são alguns números de série. Por exemplo, tags passivas são extrínse- cas, porque precisam ser fisicamente indentadas no dispositivo. E elas não são funcionais, porque não têm nada a ver com a funcionalidade do chip e, mais importante, são reproduzí- veis.
Pode-se usar outra tag ou pedaço de papel para cobrir isso ou podem-se alterar os números e é por isso que este texto pode ser reproduzido, tornando-os inadequados para não permitir o excesso de fundição.
A etiqueta ICID foi proposta por volta de 2007, baseada na variação do fabricante de silício. Devido a essas variações ocorrerem durante o processo de fabricação do chip, ge- ralmente acredita-se que eles são aleatórios e incontroláveis. Portanto, o ICID é considerado como uma tag não identificável e pode ser usado para anti-overbuilding. Dependendo se o ID requer componentes de hardware adicionais ou não, IC Identification, ou ICID, pode ser in- trínseco ou extrínseco [18].
Esta abordagem de medição de IC ativa usa a máquina de estados finitos internos para controlar o monitoramento do chip e os flip-flops adicionais o tornam extrínseco.
Na abordagem de medição de IC ativa externa, a casa de design irá adicionar si- nais de controle e unidades lógicas, como porta ‘ou exclusivo’ para partes não críticas do de-
sign. A menos que todos os sinais de controle recebam os valores apropriados, o chip ou os
ICs fabricados serão bloqueados.
A casa de design fornecerá uma chave externa para desbloquear cada um dos ICs baseados em algumas primitivas criptográficas assimétricas, por exemplo, a infraestrutura de chave pública. Neste caso, vemos que este é um esquema de medição ativo, porque envolve a interação entre a casa de design e cada CI fabricado. É um método externo, porque o sinal vem do valor externo fornecido pela casa de projeto.
6 Metodologia de Projeto
6.1 Considerações Iniciais
A metodologia de desenvolvimento em um sistema é a forma como o mesmo é concebido. Tradicionalmente, o desenvolvimento de sistemas é baseado na construção de componentes elementares como portas lógicas e transistores.
Os grandes desafios no desenvolvimento e gerenciamento de sistemas de grande complexidade, sobretudo quando envolvem equipes que trabalham separadamente e que, normalmente, têm habilidades diferentes (por pertencerem a ramos diferentes da engenharia), motivaram a criação de linguagens que possibilitam a interação entre as engenharias usando um formato ou uma linguagem comum. Essas linguagens utilizam um alto nível de abstração e foram definidas como linguagens de descrição de hardware (HDLs), devido ao fato de ser possível descrever o comportamento dos componentes do sistema de forma natural. As principais vantagens do uso das HDLs são [19]:
Permite fases mais curtas no desenvolvimento dos projetos;
Provê um monitoramento e uma verificação constante do desempenho e comportamento do sistema, pois utiliza um mesmo simulador com os mesmos sinais para todo o sistema;
O sistema é modelado, independente da tecnologia alvo, e pode ser implementado e sintetizado de diversos modos. O que provê ao modelo a possibilidade de ser reutilizado em outros projetos, reduzindo assim o custo do desenvolvimento; e
Promove uma interface comum entre os diferentes grupos envolvidos no projeto.
Com essas vantagens, a probabilidade de erro no desenvolvimento é consideravelmente reduzida, bem como o tempo e custo do projeto.