Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more ➡
Download
Standard view
Full view
of .
Add note
Save to My Library
Sync to mobile
Look up keyword
Like this
45Activity
×
0 of .
Results for:
No results containing your search query
P. 1
Algoritmos de Criptografia

Algoritmos de Criptografia

Ratings: (0)|Views: 13,281|Likes:
Published by Edelmo Araujo

More info:

Published by: Edelmo Araujo on Oct 22, 2008
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, DOC, TXT or read online from Scribd
See More
See less

03/30/2013

pdf

text

original

 
Chaves e certificados
A criptografia assimétrica usa um par de chaves pública/privada. Os dados criptografados com a chaveprivada podem ser descriptografados apenas com a chave pública correspondente e vice-versa.As chaves públicas (como o nome sugere) são amplamente disponibilizadas. De modo inverso, umachave privada permanece privada para um indivíduo específico. O mecanismo de distribuição pelo qualas chaves públicas são transportadas aos usuários é um certificado. Normalmente, os certificados sãoassinados por uma CA (autoridade de certificação) para confirmar que a chave pública é do indivíduoque afirma tê-la enviado. A autoridade de certificação é uma entidade mutuamente confiável.A implementação típica do certificado digital envolve um processo de assinatura do certificado. Oprocesso é demonstrado na Figura 1.Figura 1
Processo de certificação digital 
A seqüência de eventos mostrada na Figura 1 é a seguinte:1.Alice envia uma solicitação de certificado assinado contendo seu nome, sua chave pública e,talvez, algumas informações adicionais a uma autoridade de certificação.2.A autoridade de certificação cria uma mensagem a partir da solicitação de Alice. A autoridade decertificação assina a mensagem com sua chave privada, criando uma assinatura separada. Aautoridade de certificação retorna a mensagem e a assinatura à Alice. Juntas, a mensagem e aassinatura formam o certificado de Alice.3.Alice envia seu certificado para Bob para conceder a ele acesso à sua chave pública.4.Bob verifica a assinatura do certificado, usando a chave pública da autoridade de certificação. Se aassinatura for realmente válida, ele aceita a chave pública no certificado como a chave pública daAlice.Como com qualquer assinatura digital, qualquer receptor com acesso à chave pública da autoridade decertificação pode determinar se uma autoridade de certificação específica assinou o certificado. Esseprocesso não requer acesso a nenhuma informação secreta. O cenário anterior considera que Bob temacesso à chave pública da autoridade de certificação. Bob pode ter acesso a essa chave se tiver umacópia do certificado da autoridade de certificação que contém essa chave pública.
Certificados digitais X.509
Os certificados digitais X.509 incluem não apenas o nome e a chave pública de um usuário, mastambém outras informações sobre o usuário. Esses certificados são mais que um ponto de partida emuma hierarquia digital de confiança. Eles permitem que a autoridade de certificação ofereça aoreceptor de um certificado um meio de confiar não apenas na chave pública do indivíduo docertificado, mas também em outras informações sobre o indivíduo do certificado. Essas outrasinformações podem incluir, entre outras coisas, um endereço de e-mail, uma autorização para assinardocumentos de um determinado valor ou a autorização para se tornar uma autoridade de certificaçãoe assinar outros certificados.
 
Os certificados X.509 e muitos outros certificados têm um prazo de validade. Um certificado podeexpirar e não ser mais válido. Uma autoridade de certificação pode revogar um certificado por váriosmotivos. Para processar as revogações, uma autoridade de certificação mantém e distribui uma listade certificados revogados chamada CRL (lista de certificados revogados). Os usuários da rede acessama CRL para determinar a validade de um certificado.
Armazenamentos de certificados
Os certificados são armazenados em locais seguros chamados de armazenamentos de certificados. Umarmazenamento de certificado pode conter certificados, CRLs e CTLs (lista de certificados confiáveis).Cada usuário tem um armazenamento pessoal (chamado "MEU armazenamento") onde os certificadosdesse usuário são armazenados. O MEU armazenamento pode ser fisicamente implementado emvários locais, incluindo o Registro, um computador local ou remoto, um arquivo de disco, uma bancode dados, um serviço de diretórios, um dispositivo inteligente ou outro local.Embora qualquer certificado possa ser armazenado em MEU armazenamento, esse armazenamentodeve ser reservado para os certificados pessoais de um usuário, isto é, os certificados usados paraassinar e descriptografar as mensagens desse usuário específico.Além de MEU armazenamento, o Windows também mantém os armazenamentos de certificados aseguir:
CA e ROOT
. Esse armazenamento contém os certificados de autoridades de certificação em que ousuário confia para emitir certificados para outros indivíduos. Um conjunto de certificadosautoridade de certificação confiáveis é fornecido com o sistema operacional e outros podem seradicionados pelos administradores.
Outros
. Esse armazenamento contém os certificados de outras pessoas com quem o usuário trocamensagens assinadas.A CryptoAPI fornece funções para gerenciar certificados. Essas APIs podem ser acessadas apenas pormeio de um código não gerenciado. Além disso, o CAPICOM é uma API com base em COM para aCryptoAPI, que pode ser acessada por meio de COM Interop.
Mais informações
Para obter mais informações, consulte "Cryptography, CryptoAPI, and CAPICOM" no MSDN(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/security/Security/cryptography_cryptoapi_and_capicom.asp).
Criptografia
A criptografia é usada para proporcionar o seguinte:
Confidencialidade
. Para garantir que os dados permaneçam privados. Geralmente, aconfidencialidade é obtida com a criptografia. Os algoritmos de criptografia (que usam chaves decriptografia) são usados para converter texto sem formatação em texto codificado e o algoritmo dedescriptografia equivalente é usado para converter o texto codificado em texto sem formataçãonovamente. Os algoritmos de criptografia simétricos usam a mesma chave para a criptografia e adescriptografia, enquanto que os algoritmos assimétricos usam um par de chaves pública/privada.
Integridade de dados
. Para garantir que os dados sejam protegidos contra modificação acidentalou deliberada (mal-intencionada). A integridade, geralmente, é fornecida por códigos deautenticação de mensagem ou hashes. Um valor de hash é um valor numérico de comprimento fixoderivado de uma seqüência de dados. Os valores de hash são usados para verificar a integridadedos dados enviados por canais não seguros. O valor do hash de dados recebidos é comparado ao
 
valor do hash dos dados, conforme eles foram enviados para determinar se foram alterados.
Autenticação
. Para garantir que os dados se originem de uma parte específica. Os certificadosdigitais são usados para fornecer autenticação. As assinaturas digitais geralmente são aplicadas avalores de hash, uma vez que eles são significativamente menores que os dados de origem querepresentam.
Opções técnicas
Use um hash quando desejar uma maneira de verificar se os dados não foram alterados emtrânsito.
Use um hash com chave quando desejar provar que uma entidade conhece um segredo sem ter detransmiti-lo ou quando desejar defender-se de interceptações durante o trânsito com um hashsimples.
Use a criptografia se desejar ocultar os dados quando eles estiverem sendo enviados por uma mídianão segura ou quando desejar torná-los persistentes.
Use um certificado quando desejar verificar a pessoa que está afirmando ser a proprietária dachave pública.
Use a criptografia simétrica para fins de velocidade e quando ambas as partes compartilharem achave antecipadamente.
Use a criptografia assimétrica quando desejar trocar dados de maneira segura por uma mídia nãosegura.
Use uma assinatura digital quando desejar autenticação e não-repúdio.
Use um valor salt (um número aleatório gerado de maneira criptográfica) para se defender deataques de dicionário.
Criptografia no .NET
O espaço para nome
System.Security.Cryptography
fornece serviços criptográficos, inclusive acodificação e a decodificação seguras de dados, hash, geração de número aleatório e autenticação demensagens.O .NET Framework fornece implementações de muitos algoritmos criptográficos padrão, que podemser facilmente estendidos devido à hierarquia de herança bem definida, que consiste em classesabstratas que definem os tipos básicos de algoritmos – algoritmos simétricos, assimétricos e de hash, juntamente com as classes de algoritmos.
Tabela 1: Mostra os algoritmos para os quais o .NET Framework fornece classes deimplementação "preestabelecidas".
 
Algoritmos simétricos AlgoritmosassimétricosAlgoritmos de hash
DES (padrão de criptografiade dados)DSA (algoritmo deassinatura digital)HMAC SHA1 (código de autenticação de mensagenscom base em hashs que usa o algoritmo de hashSHA1)TripleDES (padrão triplo decriptografia de dados)RSAMAC Triple DES (código de autenticação demensagem que usa Triple DES)Rijndael MD5RC2 SHA1, SHA256, SHA384, SHA512 (algoritmo dehash seguro que usa vários tamanhos de hash)
Suporte a algoritmos simétricos
O .NET oferece as classes de implementação a seguir que fornecem algoritmos de criptografiasimétricos e de chave secreta:

Activity (45)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Isac Dickel liked this
leovanny1 liked this
Alex Candaten liked this
Paulo Farias liked this
Bruno Gregório liked this
Anaslena liked this
Nielson Rocha liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->