[OpenBSD]


"The mantra of any good security engineer is: "Security is not a product, but a process." It's more than designing strong cryptography into a system; it's designing the entire system such that all security measures, including cryptography, work together."

-- Bruce Schneier, autor de "Applied Cryptography".

Criptografia


Índice
Por que nós embutimos criptografia?.
OpenSSH.
Gerador de números pseudo-aleatórios (PRNG): ARC4, ...
Funções de hash criptográficas: MD5, SHA1, ...
Transformadores criptográficos: DES, Blowfish, ...
Suporte a hardware criptográfico
Procura-se criptógrafos internacionais
Leitura adicional


Por que nós embutimos criptografia?

Em três palavras: porque nós podemos.

O projeto OpenBSD é concentrado no Canadá.

A Lista de Controle de Exportações do Canadá não impõe nenhuma restrição significante quanto à exportação de software criptográfico, e é ainda mais explícita quanto à livre exportação de softwares criptográficos. Marc Plumb realizou algumas pesquisas quanto às leis criptográficas.

Por esse fato, o projeto OpenBSD embutiu criptografia em numerosos lugares do sistema operacional. Temos a necessidade de que os softwares criptográficos que utilizamos estejam disponíveis livremente e com uma boa licença. Nós não utilizamos criptografia com patentes indecentes. Nós também exigimos que tal software seja proveniente de países que possuam leis de exportação compatíveis, pois não queremos infringir lei alguma. Os componentes criptográficos que utilizamos atualmente foram escritos na Argentina, Austrália, Canadá, Alemanha, Grécia, Noruega e Suécia.

Quando criamos versões ou "snapshots" do OpenBSD, nós compilamos nossos arquivos em países livres para nos assegurarmos de que o código fonte e os binários que disponibilizamos estão livres de qualquer corrupção. No passado, nossas compilações eram realizadas no Canadá, Suécia e Alemanha.

O OpenBSD é fornecido com suporte a Kerberos V. A base de código que utilizamos é a base exportável Heimdal da Suécia. Nosso código fonte do X11 foi estendido para utilizar o Kerberos.

VPNC TEST PARTNER O OpenBSD foi o primeiro sistema operacional a incorporar a pilha IPsec. Temos incluído o IPsec desde a versão 2.1 do OpenBSD, lançado em 1997. Nossa pilha IPsec, totalmente integrada ao kernel, com aceleração por hardware em uma grande quantidade de placas, e nosso próprio daemon ISAKMP livre. Ele é utilizado como uma das máquinas do teste de conformidade IPsec, organizado pelo VPNC.

Hoje a criptografia é um importante meio de se melhorar a segurança de um sistema operacional. A criptografia usada no OpenBSD pode ser classificada em vários aspectos, descritos abaixo:

OpenSSH

Depois da versão 2.6, o OpenBSD contém o OpenSSH, uma versão do ssh absolutamente livre de patentes. O OpenSSH interopera com a versão 1 do protocolo, e possui várias características adicionais:

A grosso modo, nós pegamos uma versão livre do ssh e convertemos para o estilo OpenBSD. Cerca de um ano depois, estendemos o OpenSSH para suportar o protocolo 2. O resultado foi o suporte aos 3 maiores protocolos SSH: 1.3, 1.5 e 2.0.

Gerador de números pseudo-aleatórios

Um gerador de números pseudo-aleatórios (PRNG - "Pseudo Random Number Generator") disponibiliza aos aplicativos uma sequência de números aleatórios que possuem certa importância para a segurança do sistema:

O PRNG é normalmente um algoritmo onde os mesmos valores iniciais irão produzir a mesma sequência de saída. Em um sistema operacional multiusuário existem muitas fontes que permitem alimentar o PRNG com dados aleatórios. O kernel do OpenBSD utiliza as informações de temporização de interrupção do mouse, a latência de dados de interrupção da rede, temporização do pressionamento de teclas e informações de E/S de disco para preencher a lista de entropia. Números aleatórios estão disponíveis para as rotinas do kernel e são exportados através de dispositivos para programas no espaço do usuário. Os números aleatórios são utilizados nos seguintes lugares:

Funções de hash criptográficas

Uma função de hash comprime os dados recebidos em uma string de tamanho constante. Em uma função de hash criptográfica é impossível encontrar:

No OpenBSD, MD5, SHA1 e RIPEMD-160 são utilizados como funções de hash criptográficas:

Transformadores criptográficos

Os transformadores criptográficos são utilizados para cifrar e decifrar dados. Eles normalmente são utilizados com chaves de cifragem e de decifragem. A segurança de um transformador deve se basear somente no material relacionado às chaves.

O OpenBSD possui mecanismos como DES, 3DES, Blowfish e Cast disponíveis para o kernel e programas no espaço do usuário, que são utilizados em diversos locais:

Suporte a hardware criptográfico

O OpenBSD, a partir da versão 2.7, começou a suportar alguns hardwares criptográficos como aceleradores e geradores de números aleatórios.

Caso queira ajudar a escrever drivers, venha e nos ajude.

Procura-se criptógrafos internacionais

Nosso projeto precisa de pessoas para trabalhar nesses sistemas. Se algum criptógrafo não-Americano que preencha os pré-requisitos estabelecidos anteriormente está interessado em ajudar com a criptografia integrada do OpenBSD, por favor entre em contato conosco.

Leitura adicional

Alguns documentos sobre as alterações efetuadas no OpenBSD foram escritos pelos membros da equipe do OpenBSD. As versões postscript destes documentos estão disponíveis abaixo.


OpenBSD www@openbsd.org
$OpenBSD: crypto.html,v 1.31 2013/03/27 18:37:05 ajacoutot Exp $