Vantagens do ~ da privacidade da rede e desvantagens wireless do encryption RC4


  Share  
|


Como mencionado previamente, RC4 é um algoritmo do encryption usado scramble assim completamente dados que faria exame de anos à decifração usando a tecnologia atual. O que faz RC4 assim que poderoso são suas velocidade e força. Para analisar RC4, nós devemos primeiramente começar com algumas definições.

Algoritmo

Um algoritmo é um jogo explícito das instruções que têm um ponto definido começar e de ending. Para o exemplo, as instruções que você seguiria ao jogo um VCR é considerado acima um algoritmo (embora alguns puderam discutir este). Na realidade, você executa etapas algorítmicas toda a hora. Tudo de ligar um carro a cozer um bolo pode ser definido por um algoritmo.

Cryptology (Encryption/Decryption)

O cryptology é o estudo de algoritmos do encryption e do decryption. O encryption é simplesmente scrambling de uma mensagem ou de uns dados com o uso de um algoritmo; o oposto deste é decryption.

O encryption é realizado tipicamente com o auxílio de uma parte externa de dados, que vêm frequentemente no formulário de uma frase usuário-selecionada da senha ou da passagem. Isto faz não somente o encryption mais forte reforçando uma chave original, mas mantem também qualquer um que não sabe a senha de alcançar os dados.

Há dois tipos principais de encryption: simétrico e asymmetrical. Cada um tem suas forças e fraquezas e é servido melhor às aplicações específicas.

Encryption Simétrico

Os processos simétricos ambos do encryption e do decryption são realizados usando a mesma chave. Este é o formulário o mais prevalent do encryption. Como um exemplo, deixe-nos cifram o wireless da palavra.

  1. Faça exame da palavra e separe cada letra e coloque um número 1 entre cada letra.

    wireless - > w 1 i 1 r 1 e 1 litro 1 e 1 s 1 s

  2. Convirta as letras em seus números alfabéticos correspondentes.

    w1i1r1e1l1eßß - > 23 1 9 1 18 1 5 1 12 1 5 1 19 1 19

  3. Adicione 2 a cada um valor separado.

    23 1 9 1 18 1 5 1 12 1 5 1 19 1 19 - > 25 3 11 3 20 3 7 3 14 3 7 21 3 21

Você tem executado agora um algoritmo do encryption no wireless da palavra; para descifrar a mensagem cifrada, simplesmente etapa com o algoritmo precedente na ordem reversa.

  1. 25 3 11 3 20 3 7 3 14 3 7 21 3 21 - > (- 2) - > 23 1 9 1 18 1 5 1 12 1 5 1 19 1 19

  2. 23 1 9 1 18 1 5 1 12 1 5 1 19 1 19 - > (converso ao valor do alfa) - > w1i1r1e1l1eßß

  3. w 1 i 1 r 1 e 1 litro 1 e 1 s 1 s - > (remova 1s) - > wireless

Este algoritmo é um exemplo bom de como os computadores revolutionized o encryption de dados. Pela mão, este tipo de processar requereria horas para uniforme o mais simples e mais curto das mensagens. Entretanto, dê a um computador esta tarefa, e fará exame de segundos para descifrar o valor de uma página dos dados.

Como mencionado previamente, os usos simétricos do encryption passam frases ou as palavras chaves para ajudar-lhe no encryption de uma mensagem. Usando o exemplo precedente, nós cifraremos agora o wireless da palavra usando o wep da palavra.

  1. Convirta cada letra na mensagem em seu valor alfanumérico.

    wireless - > 23 9 18 5 12 5 19 19

  2. Convirta cada letra na frase da passagem em seu valor alfanumérico.

    wep - > 23 5 16

  3. Funda as palavras que partem junto do esquerdo, repetindo a senha como necessário.

Assim, você tem agora um exemplo do encryption symmetric. Para descifrá-lo, você necessitaria saber (ou para deduzir) que a chave era wep. Embora nosso exemplo use uma palavra curta, imagine a saída de uma chave página-longa. Os resultados seriam uma corda longa dos números que não têm nada fazer com o valor original, e remanesceriam worthless sem o wep da senha.

O encryption symmetric é muito mais rápido do que o encryption asymmetric. Entretanto, a dificuldade com encryption symmetric é que sua segurança depende em cima de manter sua senha secreta.

Encryption Asymmetrical

O outro tipo de encryption é sabido como o encryption asymmetrical. Este encryption é muito mais complexo, mas tem o potencial ser mais seguro. Um número de crescimento das aplicações está incorporando este tipo de segurança. As aplicações do email, VPNs, PKI, e mesmo os fornecedores de serviço da aplicação usam o encryption asymmetrical.

O encryption asymmetrical requer o uso de duas chaves, de um público e de um confidenciais. Cada chave requer o uso do outro decifrar uma mensagem. Ou seja imagine que sua saliência quer lhe emitir uma mensagem segura, e para ser razoavelmente confiável que somente você pode a abrir. Poderia selar a mensagem em uma caixa usando um padlock para que somente você tem a chave. Assim, sem sua chave confidencial, não nivelar sua saliência pode reabrir a mensagem depois que é fixado.

Anote que o encryption asymmetric requer todos ter o acesso a uma cópia de seu "fechamento público," sabido também como uma chave pública. Tipicamente, esta informação está disponível de um usuário central ou de um Web site e pode ser recuperada com esforço mínimo. Entretanto, esta etapa um extra aumenta o nível da complexidade apenas bastante para limitar o adoption universal do encryption asymmetric.

Desvantagens do encryption

Há uns benefícios múltiplos com encryption. Para o exemplo, pode ser usado authenticate usuários, autorizar o acesso aos recursos, assegurar o confidentiality dos dados, e garantir a integridade de dados. Pode também ser usado fornecer o nonrepudiation para transações.

Entretanto, há também diversos inconvenientes potenciais com encryption. Estes inconvenientes incluem senhas perdidas, um sentido falso da segurança, e as despesas gerais processando de usar o encryption. Esta seção dirigir-se-á momentaneamente a estas edições como se aplicam ao networking wireless.

Senha Perdida

Um problema com encryption é o que a fazer no evento de uma senha perdida. Neste caso, a única opção deve encontrar um método de rachar a senha. Entretanto, dependendo do método do encryption, poderia ser muitos anos antes que você extraia todos os dados. Além, alguns países, including os estados unidos, consideram muito o ato de rachar uma senha ilegal—mesmo se os dados lhe pertencem. Pergunte apenas a investigador Dmitry Sklyarov da segurança, um programador para a companhia russian Elcomsoft. No behest de sistemas do adôbe, o FBI prendeu controversa Sklyarov depois que deu uma apresentação academic na recuperação da senha.

Usar O Encryption Não garante A Segurança

A segunda edição é uma das ameaças as mais grandes aos usuários wireless. Muitos povos consideram suas redes ser seguras baseadas unicamente no fato que estão usando WEP. Esta suposição é danificada, porque a senha é deixada geralmente o espaço em branco ou como o defeito. Além, WEP não protege de encontro a a maioria de ataques tradicionais do hacker. Finalmente, WEP próprio é fundamental danificado. Eu incentivo-o usar WEP, mas nunca uso-o como sua somente linha de defesa.

As chaves de Password/shared-secret-based são somente tão boas quanto o ser humano que as cría. Se as senhas forem supostas fàcilmente ou aparecerem em um dicionário, a seguir é distante mais fácil a guess/lookup o password/key do que a bruto-força o keyspace inteiro. Isto aplica-se a todos os sistemas baseados senha de authentication/crypto.

Adicionalmente, se um sistema crypto tiver falhas algorítmicas ou falhas da execução, o crypto pode circumvented. WEP é um exemplo de uma cifra boa (RC4) executada mal. RC4 pode ser ineficaz rendido devido às falhas da execução em WEP.

Encryption Aéreo

A última edição aplica também ao networking wireless—as despesas gerais ou o tempo do processador central que faz exame para cifrar e descifrar dados da rede. Estas despesas gerais podem ter um impacto sério na produtividade de uma aplicação da rede, e podem ter resultados prejudiciais em situações tempo-críticas.

Todo o encryption adiciona em cima às exigências processando de um sistema do networking. O encryption atrasa o processo da transmissão e pode também adversamente afetar a abilidade dos processadores do dispositivo da rede de tratar de outras funções de critical/needed.

Cifras

Ao discutir o encryption symmetric, há dois métodos principais por que um pedaço dos dados pode ser cifrado. É importante compreender as diferenças e os benefícios de como trabalham a fim compreender como RC4 cifra dados.

Bloco

Uma cifra do bloco (tal como o DES ou o 3DES) faz exame de um pedaço grande dos dados e cifra-o com a chave. Este processo está repetido repetidamente outra vez até que a mensagem inteira esteja cifrada completamente. Tipicamente há uma variável do tamanho essa controles como grande o pedaço dos dados pode ser. Não obstante o tamanho, a chave inteira é usada cifrar o pedaço dos dados.

Para o exemplo, suponha que você quer emitir a sua saliência um email usando uma cifra do bloco. A este caso, você incorporaria uma senha, e a mensagem inteira seria cifrada em uma vez. A seguinte equação ilustra o simplicity deste tipo de encryption, as.well.as sua fraqueza.

Calcule a função (os dados, passam a frase) = output 

Anote que a frase inteira da passagem está usada cada vez em seu formulário original cifrar os dados. Com uso contínuo, uma cifra do bloco é funcionalmente fraca. Se mesmo dois blocos fossem cifrados com a mesma cifra, a frase da passagem poderia ser extraída da mensagem cifrada.

Ou seja se um atacante puder determinar os dados originais de apenas uma mensagem, pode comparar a mensagem cifrada com o plaintext e calcular a diferença. Esta diferença seria então o código para rachar todas as mensagens cifradas futuras. Além, as duas mensagens podem ser analisadas e comparado. Dependendo do método do encryption, as duas mensagens podem ser fundidas, que cancelariam para fora do encryption, e fornecem essencialmente um hacker toda a informação que necessita ver os dados.

Cifra Do Córrego

Uma cifra do córrego usa também uma frase da passagem. Entretanto, cifra dados em uma escala muito menor. Visto que uma cifra do bloco pôde cifrar uma página inteira do texto em uma vez, uma cifra do córrego pode cifrar os bocados que fazem acima uma letra de uma página do texto. Para ilustrar, a letra A é equivalente ao valor decimal de 65, que podem ser convertidos a um byte, que é compreendido por sua vez de oito bocados. Uma cifra do córrego pode cifrar esse um bocado antes de emiti-lo para fora, e repete o encryption sete mais vezes para apenas uma letra. Isto pode resultar nos milhares de valores cifrados para um email ou uma mensagem completa.

Uma cifra fluindo é capaz da criptografia em um nível detalhado porque usa uma condição do estado, além à frase e aos dados da passagem. Isto significa que os dados estão cifrados diferentemente para cada pedaço que passa com o programa do encryption. Para executar uma cifra do córrego, dois córregos são gerados, um que alimenta no outro. O primeiro córrego é chamado o córrego chave, que combina um valor do estado, o valor dos dados, e o valor da frase da passagem para gerar um córrego aleatòria em mudança dos dados. O córrego chave é usado por sua vez produzir a cifra da saída combinando o valor novo do estado (do córrego chave), o valor dos dados, e o valor da chave. Matematicamente, isto é realizado usando duas funções, em comparação à uma função de uma cifra do bloco. Isto pode ser descrito como mostrado na seguinte seção.

Self-Sincronizando A Cifra Do Córrego

Os seguintes são as duas funções da cifra self-sincronizando do córrego:

Estado Time+1 = Tempo De Function(State Do Estado, Tempo 
Dos Dados, Tempo Output Do Tempo Da Senha) = Tempo De Function(State 
Da Cifra, Tempo Dos Dados, Tempo Da Senha) 

Como ilustrado, a saída é agora dependente em três variáveis, duas de que estarão mudando (a senha é constante). A primeira função é sabida como o gerador chave do córrego, e o segundo é a função da cifra.

A força deste tipo de encryption é encontrada no fato que há agora duas variáveis que mudam. , nivele conseqüentemente se houver um valor predictable nos dados, o estado será aleatòria diferente, que diminui significativamente as possibilidades de um atacante que pode extrair dados relevantes da cifra.

Há umas variações de um par das cifras do córrego que nós necessitamos definir antes que nós discutamos fraquezas com a execução da cifra RC4 em WEP. Estes são sabidos enquanto o córrego synchronous calcula e self-sincronizando cifras do córrego. A diferença entre os dois é encontrada dentro se o córrego chave confia nos dados para produzir o córrego. O exemplo precedente ilustra como cifras self-sincronizando de um córrego, porque confia nos dados para produzir o córrego chave. No contraste, o seguinte exemplo ilustra como uma cifra synchronous do córrego cría a saída. Neste tipo de cifra, as primeiras duas funções combinadas são consideradas o gerador chave do córrego.

- Stream-2: Estado Synchronous Da Cifra Do Córrego 
Time+1 = Tempo De Function(State Do Estado, Tempo Do Valor Do Córrego
Do Tempo Da Senha) = Tempo De Keystream Function(State, Tempo Output 
Do Tempo Da Senha) = Tempo Do Valor De Function(Stream Da Cifra, Tempo
Dos Dados) 

Embora a cifra synchronous possa parecer mais complicada, é realmente mais fraca do que a cifra self-sincronizando. Observação da última função deste tipo de cifra que somente um "" valor desconhecido é needed inverter o encryption. Na outra mão, o encryption self-sincronizando usa três variáveis.

As funções precedentes representam um processo com que os dados são combinados. Este processo pode ser compreendido de qualquer coisa que varia dos cálculos matemáticos complexos a uma adição simples dos dois valores. Em nosso caso, porque em RC4 a última função é um processo binário da adição de XOR. A seguinte vontade explica a função de XOR, porque é usada produzir a mensagem cifrada RC4 final.

XOR

XOR é uma operação lógica simples. Em nosso caso, serve como um esquema rudimentary do encryption que combine um segmento dos dados com o outro para produzir uma saída scrambled. XOR é um dos métodos os mais populares para cifrar dados por causa de sua velocidade e do fato que trabalha no nível do bocado.

Para compreender XOR, você deve compreender estruturas da lógica. Veja se você pode determinar como o bocado final é calculado

Prove A Comparação de XOR

Byte 1:

1

0

0

1

0

0

1

0

Byte de XOR:

0

0

0

1

0

1

1

1

Byte Da Saída:

1

0

0

0

0

1

0

1

Deste exemplo, você deve poder determinar um teste padrão. Comparando os bocados do byte 1 com os bocados correspondentes do byte de XOR, você pode rapidamente deduzir o algoritmo. _ quando lá est similar bocado caráter (para exemplo, 0 - 0, 1 - 1) result bocado est um 0, e quando lá est diferente bocado caráter (para exemplo, 0 - 1, 1 -0) result bocado est um 1.

Tabela Da Comparação de XOR

Bocado original

Bocado de XOR

Bocado resultante

1

1

0

0

0

0

1

0

1

0

1

1

Embora este tipo de encryption seja rápido e se opere no nível do bocado, é problematic. Para ilustrar, deixe-nos examinam o cálculo de XOR de uma série de dois bytes. A primeira vontade XOR o valor binário da letra A, e a vontade XOR do segundo o valor do ZERO (isto é, zero), cada um que usa o byte de XOR de 1111111

XOR da letra A usando uma chave de XOR de 11111111

A:

1

0

0

0

0

0

0

1

Byte de XOR:

1

1

1

1

1

1

1

1

Byte Da Saída:

0

1

1

1

1

1

1

0

XOR de uma chave usando-se NULA de XOR de 11111111

ZERO:

0

0

0

0

0

0

0

0

Byte de XOR:

1

1

1

1

1

1

1

1

Byte Da Saída:

1

1

1

1

1

1

1

1

A letra A é transformada em um valor completamente diferente, que aconteça ser equivalente ao tilde (~) em ACSII. Entretanto, o valor resultante é o mesmo como a chave de XOR! Ou seja se um atacante puder determinar que um pedaço dos dados é NULO, pode rapidamente determinar o XOR fecha à chave usado cifrar essa parte particular de código.

Embora isto seja uma edição de segurança, em uma execução apropriada de RC4, o valor do estado deve aleatòria mudar, que muda então a chave de XOR. Conseqüentemente, todo o transpo do valor de XOR ocorreria aleatòria, e seria quase impossível predizer. Para o exemplo, se a chave no tempo 1 fosse 10101010, e os dados era 01010101, o valor resultante seria 11111111. Este valor seria o mesmo se no tempo 2 a chave fosse 11111111 e os dados fossem 00000000.

Mudança Da Chave de XOR

T1 dos dados:

0

1

0

1

0

1

0

1

T2 dos dados:

0

0

0

0

0

0

0

0

T1 Chave de XOR:

1

0

1

0

1

0

1

0

T2 Chave de XOR:

1

1

1

1

1

1

1

1

T1 da saída:

1

1

1

1

1

1

1

1

T2 da saída:

1

1

1

1

1

1

1

1

Como você pode ver da tabela, um atacante não teria nenhuma maneira de saber se o valor resultante fosse um resultado de um caráter NULO ou o resultado de uma parte válida de dados. Entretanto, isto é irrelevant se o atacante puder determinar que pacotes dos dados contiveram caráteres NULOS.

um artigo submeteu-se por Brian Rodrigues


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions