ID do artigo: 245152 - Última revisão: sábado, 28 de outubro de 2006 - Revisão: 3.3 XADM: Como Secure Sockets Layer Works
Nesta páginaSumárioEste artigo fornece uma visão geral de como funciona a SSL (Secure Sockets LAYER). Mais InformaçõesUma introdução à criptografia de chaveCriptografia de chave pública Rivest-Shamir-Adleman (RSA) é amplamente usada para autenticação e criptografia no setor de computador. Netscape tem licenciado RSA criptografia de chave pública pela RSA Data Security Inc. para uso em seus produtos, especificamente para autenticação.Criptografia de chave pública é uma técnica que usa um par de chaves assimétricas para criptografia e descriptografia. Cada par de chaves consiste em uma chave pública e uma chave particular. A chave pública é feita público quando ele é distribuído amplamente. A chave particular nunca é distribuída; ele é sempre mantido em segredo. Dados criptografados com a chave pública só podem ser descriptografados com a chave particular. Por outro lado, os dados criptografados com a chave particular podem ser descriptografados somente com a chave pública. Este assimetria é a propriedade que torna a criptografia de chave pública tão útil. Usando criptografia de chave pública para autenticaçãoAutenticação é o processo de verificar a identidade para que uma entidade possa ser certeza da identidade de outra entidade. Nos exemplos a seguir, o usuário A e B usam criptografia de chave pública para verificar a identidade do usuário B. A notação a seguir indica que um item tiver sido criptografados ou descriptografados usando criptografia de chave{something}key onde something é uma descrição do item que tenha sido criptografado ou descriptografado e key é a chave que é usada para criptografar ou descriptografar esse item. No exemplo a seguir, quer de usuário para autenticar o usuário do usuário B. tem um par de chaves, uma pública e uma privada. O usuário B divulga a chave pública para o usuário (isso é discutido na seção "Entregando out pública chaves" deste artigo). Usuário gera uma mensagem aleatória e a envia para o usuário B da seguinte maneira: UM-> Brandom_message O usuário B usa a chave particular para criptografar a mensagem aleatória e retorna a versão criptografada para usuário A: B-> UMA {random_message}User_B's_private_key O usuário A recebe essa mensagem e a descriptografa usando a chave pública que o usuário B publicado anteriormente. O usuário A compara a mensagem descriptografada com a mensagem que usuário originalmente enviou para o usuário B; se as mensagens forem correspondentes, o usuário sabe que a mensagem posterior veio de B, porque um impostor supostamente não saberia chave particular do usuário B e, portanto, conseguirá corretamente criptografar a mensagem aleatória para enviar ao usuário a. Considerações adicionaisA menos que você saiba exatamente o que você estiver criptografando, nunca é uma boa idéia para criptografar algo com sua chave particular e, em seguida, enviá-lo a alguém. Isso ocorre porque você pode ser mantido responsável por valor criptografado (Lembre-se de que somente você pode executar a criptografia porque somente você tem a chave particular).Devido a isso, neste exemplo, em vez de criptografar a mensagem original que usuário enviado, o usuário B constrói uma síntese da mensagem e criptografa que síntese da mensagem. Uma síntese da mensagem é derivada da mensagem original aleatória e tem as seguintes propriedades úteis:
Dados de origem para a autenticaçãoA técnica descrita na seção "Considerações adicionais" deste artigo é conhecida como uma assinatura digital. Essa técnica exige que o usuário B assinar uma mensagem que usuário gerados; isso é quase como perigoso para o usuário B como criptografar um valor aleatório que foi originada com o usuário a. Conseqüentemente, esse protocolo de autenticação de exemplo precisa mais uma etapa para ser seguro; B precisa se originam alguns (ou todos) dos dados da seguinte maneira:A-> B B-> uma saudação, são você B? O usuário A, este é o usuário B {digest[Usuário A, isso É B]} User_B's_private_key Quando o usuário B usa esse protocolo, que será que está sendo enviada ao usuário o usuário B saberá e então B com segurança pode assinar a mensagem. O usuário B envia a versão descriptografada da mensagem primeiro, "usuário, este é o usuário B," e, em seguida, B envia a versão digerida-criptografado. O usuário A facilmente pode verificar se B é o usuário B e B não precisa assinar tudo o que não se originam com usuário B. Entregando sem chaves públicasComo pode um usuário distribui uma chave pública de maneira segura? Este é um protocolo de autenticação de exemplo para usuário B:UM-> B-> UM UM-> B-> UM Se esse protocolo for usado, qualquer pessoa pode representar o usuário B. Um impostor todas as necessidades é uma chave pública e privada. Um impostor pode estar para usuário e representar o usuário B, fornecendo a chave pública do impostor em vez de chave pública do usuário B. Em seguida, o impostor "prova" que o impostor é B criptografando algo usando chave particular do impostor, e usuário não é possível dizer que o impostor não é usuário B.Saudação Oi, tenho B, User_B's_public_key provar que ele usuário, este é O usuário B {digest [usuário, este é usuário B]} User_B's_private_key Para resolver esse problema, a comunidade de padrões foi inventado um objeto chamado de certificado. Um certificado contém as seguintes informações:
Se a tecnologia de certificado for usada, todos podem examinar o usuário B certificado para ver se o certificado tiver sido forjado. Se B mantém controle rigoroso da chave particular e B, na verdade, obtém o certificado, a tecnologia de certificado é segura. Este é o protocolo alterado usando essa técnica: A-> B B-> uma A-> B B-> uma saudação Oi, tenho B,User_B's_certificate provar Quando o usuário recebe primeira mensagem do usuário B, usuário pode examinar o certificado, verificar a assinatura (como no exemplo anterior, usando um resumo e a descriptografia de chave pública) e em seguida, verifique o assunto (ou seja, o nome do usuário B) e ver que ele é realmente usuário B. usuário pode em seguida, relação de confiança que a chave pública é chave pública do usuário B e pode solicitar a prova de identidade do usuário B.-Usuário, este É B {digest [usuário, este é usuário B]} User_B's_private_key O usuário B passa pelo mesmo processo conforme descrito no exemplo anterior, criando uma síntese da mensagem e, em seguida, respondendo ao usuário A com uma versão assinada do resumo. O usuário A pode verificar o usuário B síntese da mensagem usando a chave pública do certificado e verificando o resultado. Uma pessoa em quem pode interferir com comunicações seguras (no exemplo, usuário C) pode criar o cenário a seguir para tentar fazer isso: A-> C C-> uma A-> C C-> uma saudação Oi, tenho B,User_B's_certificate provar No entanto, o usuário C não pode satisfazer usuário na mensagem final. Usuário C não possui chave particular do usuário B, portanto, o usuário C não é possível construir uma mensagem que usuário irá achar vem do usuário B. Ele???? Trocar um segredoDepois que usuário foi autenticado B, usuário pode enviar B uma mensagem que somente o usuário B pode decodificar da seguinte maneiraUM-> B {secret}User_B's_public_key onde a única maneira de determinar o secret é descriptografar a mensagem acima com chave particular do usuário B. Trocar um segredo é outra maneira poderosa para usar criptografia de chave pública. Mesmo se a comunicação entre o usuário A e B é observada, ninguém, mas o usuário B poderá determinar informações secretas.Essa técnica reforça a segurança da Internet usando o segredo como outra chave, mas nesse caso é uma chave para um algoritmo de criptografia simétrica, como padrão de criptografia de dados (DES), RC4 ou IDEA. O usuário A conhece o segredo porque usuário gerado o segredo antes de enviá-la para o usuário B. usuário B conhece o segredo porque o usuário B tem a chave particular e pode descriptografar a mensagem do usuário. Como usuário A e B sabem o segredo, possam tanto iniciar um algoritmo de codificação simétrica e, em seguida, enviar mensagens que são criptografadas com o algoritmo de codificação simétrica. Este é um protocolo revisado que usa essa técnica: A-> B B-> uma A-> B B-> uma A-> B B-> uma saudação Oi, tenho B,User_B's_certificate O método que é usado para calcular secret_key é o protocolo que está sendo definido, mas secret_key podem ser simplesmente uma cópia do segredo. provar que ele usuário, este É B {digest [usuário, este é usuário B]} User_B's_private_key OK B, aqui está um segredo {secret} User_B's_public_key {some_message} secret_key Interferência de segurançaMesmo se todas as técnicas anteriores forem usadas, uma pessoa que deseja interferir com comunicações seguras (usuário C) poderá fazer isso. Embora C de usuário não pode descobrir o segredo trocou usuário A e B, C de usuário pode interferir com sua conversa por re-arranging (ou garbling) informações secretas. Por exemplo, se o usuário C está colocada entre o usuário A e B, C de usuário pode passar a maioria das informações e para trás inalteradas mas garble certas mensagens (isso é mais fácil para C de usuário para fazer porque C usuário sabe o protocolo desse usuário A e B está usando para se comunicar):UM-> C C-> B-> C C-> UM UM-> C C-> B-> C C-> UM UM-> C C-> B-> C C-> UM Usuário C passa os dados sem modificação até que o usuário A e B compartilham um segredo. Em seguida, o usuário C garbles mensagem do usuário B ao usuário a. Neste ponto, relações de confiança usuário B, usuário caso podem acredita que a mensagem com erros e tente atuar sobre ele. Observe que C de usuário não conhece o segredo; todos os usuários C pode fazer é danos os dados criptografados com a chave secreta. Dependendo do protocolo, usuário C podem não produzir uma mensagem válida, mas C de usuário pode obter sorte e produzir uma mensagem válida.Olá Olá Hi, estou B, User_B's_certificate hi, sou usuário B User_B's_certificateprovar ela prova usuário, isso É {digest [usuário A, B Este É B]} User_B's_private_key usuário, este É B {digest [usuário, este é O usuário B]} User_B's_private_key ok B, aqui está um segredo {secret} User_B's_public_key OK B, aqui está um segredo {secret} User_B's_public_key {some_message} secret_key Garble [{some_message} secret_key] Para evitar esse tipo de dano, o usuário A e B podem introduzir um código de autenticação de mensagem em seu protocolo. Um código de autenticação de mensagem é um trecho de dados que são calculados usando um segredo e transmitido alguns dados. O algoritmo de síntese descrito acima tem apenas as propriedades direita para a criação de uma função de código de autenticação de mensagem que pode se defender contra usuário C: message_authentication_code: = digest [some_message, secret] Pois C de usuário não terá o segredo, usuário C não é possível calcular o valor correto para o resumo. Mesmo se o usuário C aleatoriamente garbles mensagens, as chances de sucesso é pequena se houver uma grande quantidade de dados de resumo. Por exemplo, usando MD5 (um algoritmo digest boa criptografia inventado por RSA), o usuário A e B podem enviar valores de código de autenticação de mensagem de 128 bits com suas mensagens. As chances do usuário C adivinhar o código de autenticação de mensagem correta são aproximadamente 1 em 18,446,744,073,709,551,616. Para todos os fins práticos, usuário C não é possível adivinhar o código de autenticação de mensagem correto.Este é o protocolo de exemplo, revisado novamente para usar essa técnica: A-> B B-> uma A-> B B-> uma saudação Oi, tenho B,User_B's_certificate provar Usuário C pode tentar garble mensagens, mas as computações de código de autenticação de mensagem revelam que as mensagens não vêm usuário B. usuário ou usuário B pode descobrir o valor de código de autenticação de mensagem incorreto e parar de comunicação. Usuário C não pode representar o usuário B. -Usuário, este É B {digest [usuário, este é usuário B]} User_B's_private_key ok Usuário B, aqui está um segredo {secret} User_B's_public_key {some_message, message_authentication_code} secret_key A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 245152
(http://support.microsoft.com/kb/245152/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email



Voltar para o início