# Common Criteria

Common Criteria (CC) é um padrão internacional (ISO/IEC 15408) para segurança de computadores. Este padrão é voltado para a segurança lógica das aplicações e para o desenvolvimento de aplicações seguras. Ele define um método para avaliação da segurança de ambientes de desenvolvimento de sistemas.
Common Criteria é um framework em que os usuários de sistemas computacionais podem especificar seus requisitos funcionais de segurança e garantia. Dessa forma os fornecedores podem, então, implementar e/ou fazer alegações sobre os atributos de segurança de seus produtos, enquanto que os laboratórios de teste podem avaliar os produtos para determinar se eles realmente cumprem as reivindicações. Em outras palavras, Common Criteria fornece uma garantia de que o processo de especificação, implementação e avaliação de um produto de segurança computacional foi conduzido de uma maneira rigorosa e padronizada.

## Conceitos Chave

As análises do Common Criteria são realizadas em produtos de segurança computacionais e sistemas, seus conceitos chaves são:
* Alvo de Avaliação (Target of Evaluation – TOE): consiste do produto ou sistema que é alvo da avaliação. A análise tem por intuito validar afirmações feitas a cerca do alvo. Em termos práticos, a avaliação deve verificar as características de segurança do produto ou sistema. Isto é feito através dos conceitos abordados abaixo:
* Perfil de Proteção (Protection Profile – PP): consiste de um documento tipicamente criado por um usuário, ou comunidade de usuários, o qual identifica requisitos de segurança para uma classe de dispositivos de segurança (por exemplo, smart cards utilizadas para prover Assinatura Digital, ou firewallsde rede) relevantes para aquele usuário ou grupo de usuários. Desenvolvedores de software podem escolher desenvolver os seus produtos de acordo com um ou mais PPs e, então, validar estes produtos de acordo com estes documentos. Neste caso, o PP pode servir como template para o ST (Security Target);
* Alvo de Segurança (Security Target – ST): trata-se de um documento que identifica as propriedades de segurança de um alvo de avaliação. Pode fazer referência a um ou mais PPs. O Alvo de Avaliação é avaliado de acordo com os (Requisitos de Segurança Funcional – SFRs) estabelecidos no documento neste documento (ST), sem nada a mais ou a menos. Isso permite com que os fornecedores adequem a avaliação para casar de forma adequada com as capacidades pretendidas pelo produto – isso significa que um software de firewall não necessariamente tem de cumprir com os mesmos requisitos de segurança que um software de gerenciamento de banco de dados, por exemplo. Em geral, o ST é publicado, assim potenciais consumidores podem determinar as características de segurança que foram certificadas ao longo da avaliação;
* Requisitos de Segurança Funcional (Security Functional Requirements – SFRs): especificam funções individuais as quais podem ser providas por um dado produto. O Common Criteria apresenta um catálogo padrão para tais funções. Por exemplo, um SFR pode estabelecer como um usuário que desempenha um determinado papel deve ser autenticado. A lista de SFR pode variar de uma avaliação para a outra, mesmo que dois alvos pertençam a mesma categoria de produto. Embora o Common Criteria não especifique que algum SFR deve estar contido dentro de um ST, ele estabelece correlações onde a operação correta de uma função (como por exemplo, limitar o acesso de usuários de acordo com seus papéis) seja dependente da operação correta de outras (a habilidade de identificar papéis individuais);
* Requisitos de Garantia de Segurança (Security Assurance Requirements – SARs): trata-se da descrição de medidas tomadas durante o desenvolvimento e avaliação do produto, a fim de garantir a sua conformidade com a funcionalidade de segurança conclamada. Por exemplo, um validação pode requerer que todo o código fonte seja mantido em um sistema de controle de versão, ou que todo o teste funcional seja realizado. O Common Criteria prove um catálogo destes, e os requisitos podem variar de uma avaliação para a outra. Os requisitos para alvos particulares ou tipos de produtos são documentados nos STs e PPs , respectivamente;
* Nível de Garantia de Avaliação (Evaluation Assurance Level – EAL): a avaliação numérica que descreve a profundidade e rigor de uma avaliação. Cada EAL corresponde a um pacote de requisitos de garantia de segurança (SARs) o qual cobre o desenvolvimento completo de um produto, com um determinado nível de exatidão. O Common Criteria lista sete níveis, com EAL 1 sendo o mais básico (e, portanto, o mais barato de se implementar e avaliar) e EAL 7, sendo este o mais restrito, caro e difícil de se avaliar. Normalmente, o autor de um ST ou PP não irá selecionar requisitos de garantia sozinho, mas escolher um destes pacotes (de um a sete), possivelmente aumentando requisitos em algumas áreas. EALs mais elevados não necessariamente implicam em “melhor segurança”, ele apenas significam que o nível de segurança conclamado do Alvo de Avaliação foi testado de maneira mais extensiva;