[OpenBSD]


"O mantra de qualquer bom engenheiro de segurança é: "Segurança não é um produto, mas um processo." É mais do que desenvolver uma criptografia forte em um sistema; é desenvolver um sistema inteiro em que todos os itens de segurança, incluindo a criptografia, trabalhem juntos."

-- Bruce Schneier, autor de "Criptografia Aplicada".

Criptografia


Índice
Por que nós embutimos criptografia?.
OpenSSH.
Pseudo Gerador de Números Aleatórios (PRNG): ARC4, ...
Funções Criptográficas de Hash: MD5, SHA1, ...
Transformadores Criptográficos: DES, Blowfish, ...
Suporte a Hardware Criptográfico
Criptógrafos Internacionais requeridos
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ção do Canadá não impõe nenhuma restrição significante quanto a exportação de software criptográfico, e é ainda mais explícita quanto a 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 sejam 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 os códigos fonte e 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 é lançado com suporte a Kerberos V. A base de códigos que utilizamos é 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 do OpenBSD 2.1 de 1997. Nossa pilha IPsec, totalmente integrada ao kernel, com aceleração por hardware suportando uma grande quantidade de placas, e nosso próprio daemon ISAKMP, é utilizada em uma das máquinas padronizadoras do projeto 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 baixo:

OpenSSH

Com o lançamento da versão 2.6, o OpenBSD incorporou em sua árvore de códigos fonte o OpenSSH, uma versão do ssh absolutamente livre de patentes. O OpenSSH, utilizando a versão 1 do protocolo, sofreu várias modificações e melhorias:

A grosso modo, nós pegamos uma versão livre do ssh e convertemos para o estilo OpenBSD. Após um ano, 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

O Gerador de Números Pseudo-Aleatórios (PRNG) disponibiliza às aplicações que possuem certa importância para a segurança do sistema uma seqüência de números aleatórios:

O PRNG é normalmente um algoritmo onde os mesmos valores iniciais irão produzir a mesma seqüência de saída. Em um sistema operacional multi-usuário existem muitas fontes que permitirão 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 I/O 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 ambiente de usuário. Os números aleatórios são utilizados nos seguintes lugares:

Funções Criptográficas de Hash

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

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

Transformadores Criptográficos

Os transformadores criptográficos são usados para cifrar e decifrar dados. Eles são normalmente usados 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 do ambiente de 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 aceleradores criptográficos e geradores de números aleatórios.

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

Criptógrafos Internacionais requeridos

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 do time OpenBSD. As versões postscript destes documentos estão disponíveis abaixo.


OpenBSD www@openbsd.org
$OpenBSD: crypto.html,v 1.24 2006/12/29 12:56:48 jufi Exp $