-
Notifications
You must be signed in to change notification settings - Fork 1
/
crypto.html
541 lines (492 loc) · 24 KB
/
crypto.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rev="made" href="mailto:[email protected]">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="resource-type" content="document">
<meta name="description" content="OpenBSD cryptography">
<meta name="keywords" content="openbsd,cryptography,openssh,openssl,kerberos">
<meta name="keywords" content="ipsec,isakmp,ike,blowfish,des,rsa,dsa">
<meta name="distribution" content="global">
<meta name="copyright" content="This document copyright 1997-2006 by OpenBSD.">
<title>Criptografia no OpenBSD</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#23238e">
<img align="left" alt="[OpenBSD]" height="166" width="197" src="../images/blowfish-notext.jpg">
<br>
<br>
<br>
"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."<br>
<br>
-- Bruce Schneier, autor de "Applied Cryptography".
<br clear="all">
<h2><font color="#e00000">Criptografia</font></h2>
<hr>
<strong>Índice</strong><br>
<a href="#why">Por que nós embutimos criptografia?</a>.<br>
<a href="#ssh">OpenSSH</a>.<br>
<a href="#prng">Gerador de números pseudo-aleatórios</a> (PRNG): ARC4, ...<br>
<a href="#hash">Funções de hash criptográficas</a>: MD5, SHA1, ...<br>
<a href="#trans">Transformadores criptográficos</a>: DES, Blowfish, ...<br>
<a href="#hardware">Suporte a hardware criptográfico</a><br>
<a href="#people">Procura-se criptógrafos internacionais</a><br>
<a href="#papers">Leitura adicional</a><br>
<p>
<hr>
<a name="why"></a>
<h3><font color="#e00000">Por que nós embutimos criptografia?</font></h3><p>
Em três palavras: <strong>porque nós podemos</strong>.<p>
O projeto OpenBSD é concentrado no Canadá.<p>
A <a href="../ECL.html">Lista de Controle de Exportações do Canadá</a>
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
<a href="http://www.efc.ca/pages/doc/crypto-export.html">
algumas pesquisas quanto às leis criptográficas</a>.
<p>
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 <a href="../policy.html">
disponíveis livremente e com uma boa licença</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.
<p>
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.<p>
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.<p>
<img align="right" src="../images/vpnc-test-partner.gif" alt="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
<a href="http://www.vpnc.org">VPNC</a>.
<br clear="all">
<p>
Hoje a criptografia é um importante meio de se melhorar
a <a href="../security.html">segurança</a> de um sistema operacional.
A criptografia usada no OpenBSD pode ser classificada em vários
aspectos, descritos abaixo:<p>
<a name="ssh"></a>
<h3><font color="#e00000">OpenSSH</font></h3><p>
Depois da versão 2.6, o OpenBSD contém o
<a href="http://www.openssh.com/">OpenSSH</a>, uma
versão do ssh absolutamente livre de patentes.
O <a href="http://www.openssh.com/">OpenSSH</a> interopera com a
versão 1 do protocolo, e possui várias características adicionais:
<ul>
<li>
todos os componentes de natureza restritiva (ou seja, patentes; veja
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssl&sektion=8">ssl(8)</a>)
foram removidos do código fonte; qualquer componente licenciado ou
patenteado utilizava bibliotecas externas.
<li>
foi atualizado para suportar o protocolo ssh 1.5.
<li>
contém a adição do suporte para autenticação Kerberos e passagem
de tíquete.
<li>
suporte à autenticação com senha de uso único com
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=skey&sektion=1">skey(1)</a>.
</ul>
<p>
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.
<a name="prng"></a>
<h3><font color="#e00000">Gerador de números pseudo-aleatórios</font></h3><p>
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:
<p>
<ul>
<li>Deve ser impossível adivinhar a saída do gerador de números
aleatórios, mesmo tendo conhecimento de sua saída anterior.
<li>Os números gerados não devem possuir padrões repetitivos, o que
significa que o PRNG deve ter um ciclo muito longo.
</ul>
<p>
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:<p>
<ul>
<li>Alocação dinâmica sin_port no bind(2).
<li>PIDs de processos.
<li>IDs de datagramas IP.
<li>IDs de transação RPC (XID).
<li>IDs de transação NFS RPC (XID).
<li>IDs de requisições DNS.
<li>Números de geração de nó-i, veja getfh(2) e fsirand(8).
<li>Perturbação temporal no traceroute(8).
<li>Melhores nomes temporários para mktemp(3) e mkstem(3)
<li>Randomização adicionada ao valor ISS do TCP para proteção contra
ataques de "spoof".
<li>Preenchimento aleatório nos pacotes IPsec esp_old.
<li>Gerar "salts" para vários algoritmos de senha.
<li>Gerar falsos "challenges" S/Key.
<li>Verificação automática de trocas de chaves no
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isakmpd&sektion=8">isakmpd(8)</a>.
</ul>
<p>
<a name="hash"></a>
<h3><font color="#e00000">Funções de hash criptográficas</font></h3><p>
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:
<ul>
<li>duas entradas que possuam a mesma saída (imune à colisões),
<li>uma entrada diferente para uma entrada já disponível com a mesma
saída (resistência secundária de colisões).
</ul>
<p>
No OpenBSD, MD5, SHA1 e RIPEMD-160 são utilizados como funções
de hash criptográficas:<p>
<ul>
<li>No <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=skey&sektion=1">S/Key(1)</a>
para gerar senhas que podem ser utilizadas somente uma vez.
<li>No <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsec&sektion=4">IPsec(4)</a>
e no
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isakmpd&sektion=8">isakmpd(8)</a>
para autenticar a origem de dados dos pacotes e para garantir
sua integridade.
<li>Para senhas MD5 no estilo FreeBSD (não-ativado, por padrão), veja
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=login.conf&sektion=5">
login.conf(5)</a>
<li>Na libssl para assinatura digital de mensagens.
</ul>
<p>
<p>
<a name="trans"></a>
<h3><font color="#e00000">Transformadores criptográficos</font></h3><p>
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.<p>
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:<p>
<ul>
<li>Na libc para criar senhas no formato
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=blf_key&sektion=3">Blowfish</a>.
Veja também o <a href="../papers/bcrypt-paper.ps">documento da USENIX</a>
sobre este tópico.
<li>No
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipsec&sektion=4">IPsec(4)</a>
para fornecer confidencialidade para a camada de rede.
<li>No <a href="http://www.openbsd.org/cgi-bin/man.cgi?query=isakmpd&sektion=8">isakmpd(8)</a>
para proteger as transações onde as chaves IPsec são negociadas.
<li>Na libssl para permitir que os aplicativos se comuniquem através do
protocolo SSL (que é um padrão de facto).
</ul>
<p>
<a name="hardware"></a>
<h3><font color="#e00000">Suporte a hardware criptográfico</font></h3><p>
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.
<ul>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=crypto&sektion=9">
Desenfileiramento criptográfico do IPsec</a></b><br>
Nossa pilha IPsec foi modificada para que funções criptográficas
sejam feitas fora de linha. A maioria das pilhas IPsec precisam
realizar a criptografia no processamento de cada pacote, resultando
em um desempenho síncrono. Para utilizar o hardware de forma
correta e acelerar a operação era preciso separar esses dois
componentes, assim como fizémos. Por sinal, essa operação resultou
em um ganho de desempenho até no caso do software.
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=hifn&sektion=4">
Hifn 7751</a></b><br>
Placas Hifn 7751 podem ser utilizadas como aceleradores
criptográficos simétricos, ou seja, o
<a href="http://www.soekris.com/vpn1201.htm">Soekris VPN1201 ou VPN1211</a>
(<a href="http://www.soekris.com/how_to_buy.htm">como comprar</a>)
ou
<a href="http://www.powercrypt.com">PowerCrypt</a>.
O desempenho atual usando uma única placa Hifn 7751 em cada ponta
do túnel é de 64Mbit/sec para 3DES/SHA1/ESP, aproximadamente 600%
de aumento comparando-se a uma CPU P3/550. Desenvolvimentos à parte
estão corrigindo alguns problemas, porém o código é considerado
estável desde 13 de abril de 2000. Nós escrevemos nosso próprio
driver em vez de usar o driver da
<a href="http://www.powercrypt.com">PowerCrypt</a> (escrito nos
EUA), o que permite a integração perfeita com a nossa pilha IPsec.
A 7751 é considerada lenta para os padrões da indústria de hoje, e
muitos fornecedores já possuem chips mais rápidos (até a Hifn possui
hoje um chip mais veloz, porém mais caro). O desempenho máximo
utilizando-se 3DES SHA1 ESP é de aproximadamente 64Mbit/seg.
<p>
Após o lançamento da versão 2.9, foi adicionado o suporte ao chip
Hifn 7951, uma versão simplificada do 7751 que adiciona um
acelerador de chaves públicas (não-suportado) e um gerador de
números aleatórios (suportado). As placas foram doadas pela
<a href="http://www.soekris.com/">Soekris Engineering</a>.
<p>
Após o lançamento da versão 3.0, foi adicionado o suporte ao chip
Hifh 7811, uma versão mais rápida do 7751 (em torno de 130Mbit/s)
com um gerador de números aleatórios. A placa foi doada pela
<a href="http://www.gtgi.com/">GTGI</a>.
<p>
Após o lançamento da versão 3.2, foi adicionado suporte ao algoritmo
de compressão LZS, utilizado pelo
<a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ipcomp&sektion=4">ipcomp(4)</a>.
<p>
Após o lançamento da versão 3.4, foi adicionado o suporte aos chips
7955 e 7956. Com as mesmas funcionalidades do chip anterior 7951,
estes adicionam a funcionalidade AES.
<p>
A Hifn foi no início uma empresa difícil de se lidar (eles tentaram
nos convencer a mudar de ideia sobre o nosso algoritmo de
destravamento criptográfico de engenharia reversa não-americano),
porém recentemente eles têm sido muito prestativos, disponibilizando
placas e suporte.
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=lofn&sektion=4">
Hifn 6500</a></b><br>
Este dispositivo é uma unidade de criptografia assimétrica. Ele
possui suporte aos algoritmos RSA, DSA e DH, além de outras funções
relacionadas à grandes números. Ele também contém um gerador de
números aleatórios de alto desempenho.
Possuímos um desses, documentação completa e código de exemplo.
A partir da versão 3.1 do OpenBSD, tanto o gerador de números quanto
a unidade de grandes números estão funcionando no sistema.
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=nofn&sektion=4">
Hifn 7814/7851/7854</a></b><br>
Esse dispositivo é uma unidade de criptografia assimétrica e um
processador de pacotes. Ele possui suporte aos algoritmos RSA,
DSA e DH, além de outras funções relacionadas à grandes números, e
também possui um gerador de números aleatórios.
Atualmente, somente o mecanismo de grandes números e o gerador de
números aleatórios são suportados (sem transformadores de
pacotes).
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ubsec&sektion=4">
Broadcom BCM5801/BCM5802/BCM5805/BCM5820/BCM5821/BCM5822/5823/5825/5860/5861/5862
(ou chip beta Bluesteelnet 5501/5601)</a></b><br>
Logo após o lançamento do OpenBSD 2.7, nós conseguimos adicionar
suporte preliminar a essas placas disponibilizadas a nós diretamente
pelo distribuidor, especificamente com o chip de teste 5501.
Esses dispositivos fornecem o melhor desempenho em criptografia
assimétrica que nós já vimos.
<p>
A Bluesteelnet foi adquirida pela Broadcom e começou a fazer outras
partes.
O seu novo chip BCM5805 é similar ao Bluesteelnet, exceto pelo
fato da placa também suportar um mecanismo assimétrico para DSA, RSA
e outros algoritmos. Com um desempenho quase quatro vezes mais
rápido que as Hifn, esperamos que esse chip se torne mais comum em
breve.
<p>
O pessoal da Broadcom/Bluesteelnet foram ótimas pessoas de se
lidar. Eles nos forneceram a documentação completa, código de
exemplo para seus chips e um número suficiente de placas para
podermos testar.
<p>
Após a versão 2.8, este driver foi modificado para gerar números
aleatórios no BCM5805 e versões similares, e alimentar a fila de
entropia do kernel com esses dados.
<p>
Após a versão 2.9, foi adicionado suporte ao chip BCM5820, que é
basicamente uma versão mais rápida (64 bits, velocidade de "clock"
maior) do modelo BCM5805. Suporte não-testado ao modelo BCM5821
também foi adicionado após a versão 3.0.
<p>
Na versão 3.1, o mecanismo de grandes números foi suportado, e as
operações de RSA/DH/DSA puderam ser aceleradas.
<p>
O suporte aos chips BCM5801, BCM5802, BCM5821 e BCM5822 foi
adicionado na versão 3.2 (o suporte não-testado ao BCM5821 na versão
3.1 foi quebrado por causa de alguns requerimentos de controle de
interrupção não-documentados).
<p>
Suporte parcial ao BCM5823 foi adicionado na versão 3.4.
<p>
O suporte ao BCM5825, BCM5860, BCM5861 e BCM5862, incluindo o
suporte a AES no BCM5823 ou mais novo, foi adicionado depois da
versão 4.5.
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ises&sektion=4">
Securealink PCC-ISES</a></b><br>
O <a href="http://www.safenet-inc.com/technology/chips/safexcel_ises.asp">
PCC-ISES</a> é um novo chipset da Holanda. Nós recebemos hardware de
exemplo e documentação, e o driver já está sendo desenvolvido. No
momento, o driver já é capaz de alimentar a fila de entropia do
kernel com números aleatórios.
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=safe&sektion=4">
SafeNet SafeXcel 1141/1741</a></b><br>
Depois do lançamento da versão 3.4, foi adicionado suporte
para esses dois chips (encontrados em várias placas criptográficas
<a href="http://www.safenet-inc.com/products/accCards/">SafeNet</a>).
Suportam DES, Triple-DES, AES, MD5 e criptografia simétrica SHA-1,
RNG, operações de chave pública e processamento de pacotes IPsec
completo.
<p>
<li><b>SafeNet SafeXcel 1840</b><br>
Nós recebemos documentação e hardware para o chip de criptografia
<a href="http://www.safenet-inc.com/products/chips/safeXcel1840.asp">SafeNet 1840</a>.
O trabalho para suportar pelo menos a criptografia simétrica desses
dispositivos já foi iniciado.
<p>
<li><b>SafeNet SafeXcel 2141</b><br>
Nós recebemos documentação e hardware para o chip de criptografia
<a href="http://www.safenet-inc.com/products/chips/safeXcel2141.asp">SafeNet 2141</a>.
O trabalho para suportar pelo menos a criptografia assimétrica
desses dispositivos já foi iniciado.
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=txp&sektion=4">
3com 3cr990</a></b><br>
A 3Com nos forneceu um driver para suportar o componente "ethernet"
desse chipset, e baseado nisso nós escrevemos nosso próprio driver.
Esse driver foi agora integrado, uma vez que conseguimos uma licença
livre para o microcódigo. Pelo fato da pouca documentação e falta de
cooperação (parcialmente por causa das reviravoltas da 3Com), as
funções de IPsec do chip não são suportadas... por consequência,
isso se tornou um exercício inútil.
<p>
<li><b>IPsec Intel</b><br>
Assim como a divisão de componentes de rede da Intel sempre faz,
a documentação necessária nos foi recusada. Nós conversamos com
cinco pessoas da Intel tecnicamente envolvidas com o desenvolvimento
destes produtos.
Todos eles gostariam que nós tivéssemos acesso à documentação, e nos
apoiaram pelo que nós tínhamos feito. Porém suas mãos estavam atadas
a uma administração que não percebia o benefício trazido a eles
próprios ao se disponibilizar a documentação. Esqueça a Intel.
(Se você quiser comprar hardware ethernet gigabit, nós recomendamos
qualquer outra coisa... pela mesma razão: a maioria dos drivers da
Intel que temos suporte foram escritos sem documentação).
<p>
<li><b><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pchb&sektion=4">
Intel 82802AB/82802AC Firmware Hub RNG</a></b><br>
O chip 82802 FWH (encontrado nas placas-mãe i810, i820, i840,
i850 e i860) contém um gerador de números aleatórios (RNG).
IPsec de alto desempenho requer uma entropia de números mais
aleatória. A partir de 10 de Abril de 2000, nós passamos a suportar
o RNG. Iremos adicionar suporte a outros RNGs encontrados em outros
chipsets.
<p>
<li><b>VIA C3 RNG</b><br>
A nova CPU VIA C3 contém um gerador de números aleatórios. A partir
da versão <a href="../33.html">3.3</a>, esse item é utilizado pelo
kernel para preencher a lista de entropia.
<p>
<li><b>Instruções AES do VIA C3</b><br>
CPUs VIA C3 com um núcleo Nehemiah step 8 ou posterior, contém uma
implementação AES acessível através de instruções simples.
Na versão <a href="../34.html">3.4</a>,
o kernel suportava isso para utilização em um contexto IPsec e
exportação através de <tt>/dev/crypto</tt>.
Na versão <a href="../35.html">3.5</a>, o desempenho foi
significantemente ampliado e o OpenSSL agora utiliza a nova
instrução diretamente, quando disponível, sem a necessidade de
entrada no kernel, resultando em um grande aumento de velocidade
para aplicativos que utilizam OpenSSL para efetuar criptografia AES
(AES-128 medido a 780Mbyte/seg).
<p>
<li><b>OpenSSL</b><br>
Há anos, tínhamos um grande esquema para suportar placas de
criptografia que podiam fazer RSA/DH/DSA automaticamente através
de chamadas do OpenSSL. Com o lançamento do OpenBSD 3.2, este
suporte passou a funcionar e qualquer placa que é suportada com tal
funcionalidade será automaticamente utilizada por softwares de
criptografia, incluindo o OpenSSH e o httpd em modo SSL. Nenhuma
alteração nos aplicativos é necessária.
</ul>
<p>
<b>Caso queira ajudar a escrever drivers,
<a href="#people">venha e nos ajude</a>.</b>
<p>
<a name="people"></a>
<h3><font color="#e00000">Procura-se criptógrafos internacionais</font></h3><p>
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.<p>
<p>
<a name="papers"></a>
<h3><font color="#e00000">Leitura adicional</font></h3><p>
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.<p>
<ul>
<li>A Future-Adaptable Password Scheme.<br>
<a href="../events.html#usenix99">Usenix 1999</a>,
por <a href="mailto:[email protected]">Niels Provos</a>,
<a href="mailto:[email protected]">David Mazieres</a>.<br>
<a href="../papers/bcrypt-paper.ps">paper</a> e
<a href="../papers/bcrypt-slides.ps">slides</a>.
<p>
<li>Cryptography in OpenBSD: An Overview.<br>
<a href="../events.html#usenix99">Usenix 1999</a>,
por <a href="mailto:[email protected]">Theo de Raadt</a>,
<a href="mailto:[email protected]">Niklas Hallqvist</a>,
<a href="mailto:[email protected]">Artur Grabowski</a>,
<a href="mailto:[email protected]">Angelos D. Keromytis</a>,
<a href="mailto:[email protected]">Niels Provos</a>.<br>
<a href="../papers/crypt-paper.ps">paper</a> e
<a href="../papers/crypt-slides.ps">slides</a>.
<p>
<li>Implementing Internet Key Exchange (IKE).<br>
<a href="../events.html#usenix2000">Usenix 2000</a>,
por <a href="mailto:[email protected]">Niklas Hallqvist</a> e
<a href="mailto:[email protected]">Angelos D. Keromytis</a>.<br>
<a href="../papers/ikepaper.ps">paper</a> e
<a href="../papers/ikeslides.ps">slides</a>.
<p>
<li>Encrypting Virtual Memory.<br>
<a href="../events.html#sec2000">Usenix Security 2000</a>,
<a href="mailto:[email protected]">Niels Provos</a>.<br>
<a href="../papers/swapencrypt.ps">paper</a> e
<a href="../papers/swapencrypt-slides.ps">slides</a>.
<p>
<li>The Design of the OpenBSD Cryptographic Framework.<br>
<a href="../events.html#usenix2003">Usenix 2003</a>, por
<a href="mailto:[email protected]">Angelos D. Keromytis</a>,
<a href="mailto:[email protected]">Jason L. Wright</a> e
<a href="mailto:[email protected]">Theo de Raadt</a>.<br>
<a href="../papers/ocf.pdf">paper</a>.
<p>
<li>Cryptography As an Operating System Service: A Case Study.<br>
<a href="http://www.acm.org/tocs/">ACM Transactions on Computer Systems</a>,
Fevereiro de 2006, por
<a href="mailto:[email protected]">Angelos D. Keromytis</a>,
<a href="mailto:[email protected]">Jason L. Wright</a> e
<a href="mailto:[email protected]">Theo de Raadt</a>.<br>
<a href="../papers/crypt-service.pdf">paper</a>.
</ul>
<p>
<hr>
<a href="index.html"><img height="24" width="24" src="../back.gif" border="0" alt="OpenBSD"></a>
<a href="mailto:[email protected]">[email protected]</a>
<br>
<small>
<!--
Originally [OpenBSD: crypto.html,v 1.137 ]<br>
$Translation: crypto.html,v 1.32 2013/03/26 16:05:34 renato Exp $<br>
-->
$OpenBSD$
</small>
</body>
</html>