Faculdades Integradas Barros Melo Ps Graduao em Segurana
Faculdades Integradas Barros Melo Pós Graduação em Segurança de Redes Criptoanálise do Content Scrambling System (CSS) Frederico Madeira <fred@madeira. eng. br> Célio Filho Fábio Meira Lins <anfafir@hotmail. com> Cleiton Martins
Visão Geral DVD Player Computador/Host “Secret Key” DVD Player Keys Área Oculta “Secret” Key Region Code Bus Key Por título Title Key Table of Encrypted Disk Keys Disk Key Hash Region Code Bus Key
Visão Geral sobre as Chaves Authentication Key • Esse “segredo” é usado como parte do processo de autenticaćão mutua Session Key (Bus Key) • Essa chave é negociada durante a autenticaco e é usada para encriptar o título e as disk keys antes de enviá-las pelo bus desprotegido. A encriptaćão é necessária para evitar interceptaćão das chaves Player Key • Essa é a chave licenciada pela “Associaćão de controle de cópias de DVD” para o fabricante do player de DVD. Ela é armazenada junto com o player. Ela é utilizada para estabelecer uma relaćão de confianća com o player. É usada para desencriptar a disk key Disk Key • É usada para encriptar a title key. É desenciptada usando o player key. Sector Key • Cada setor possui 128 -bytes de cabećalho em texto-plano. Os bytes de 80 -84 de cada cabecalho do setor contem uma chave adicional usada para codificr os dados dentro do setor. Title Key • Essa chave é resultado de um XOR com a sector key usada para encriptar os dados dentro do setor.
Visão Geral do Processo Fase 1: Autenticaćão Mútua – O host e o driver usam um sistema de desavio-resposta (challengeresponse) para estabelecer uma relaćão de confianća entre eles. Nesse processo eles negociam a session key. Fase 2: Decodificando o disco – O DVD player tenta cada uma das possívis player keys até que ele consiga decodificar a disk key. A disk key é o segredo geral do disco. Fase 3: Enviando a disk e a title keys – A title and bus keys são enviadas do player para o host. A session key é usada para encriptar a title e a disk keys em trânsito para prevenir um ataque de man-in-the-middle. Fase 4: – O DVD player envia um setor para o host. Fase 5: – O host decodifica a title key usando a disk key. Fase 6: – O host decodifica o setor usando a title key, e a sector key contida no cabecalho do setor
Linear Feedback Shift Register (LFSR) Pseudo-random bit stream – Uma técnica usada para codificar streams e fazendo um XOR com um bit stream pseudo-aleatório. Se esse bit stream randômico puder ser regenerado pelo receptor da mensagem, ele será capaz de decodificála repetindo a operaćão de XOR Linear Feedback Shift Register (LFSR) – O LFSR é uma técnica popular para geraćão de bit streams pseudoaleatório. Após o LFSR ser alimentado com uma entrada (seed), ele pode ser ativado para gerar o stream de bits. – Infelizmente o LFSR não são verdadeiramente randômicos, eles são periodico e eventualmente se repetem. – Em geral, quanto maior for o LFSR, maior será o seu período. O período também depende de configuraćões particulares do LFSR. – Se o valor inicial do LFSR for 0, ele produzirá apnas 0's, essa característica é chamada de null cycling – LFSR frequentemente são combinados através de adićão, multiplexacão ou com portas lógicas para gerar um bit stream menos previsível.
LFSR Genérico output Feedback Path) taps • O registro é alimentado com um valor inicial (seed). • A cada clock, a funćão de feedback e acionada usando como entrada os tap bits. O resultado é rotacionado para o bit mais a esquerda do registro. O bit mais a direita é rotacionada para a saída output. • Dependendo da confiuguraćão (taps e feedback function), o período pode ser menor do que o valor ótimo.
LFSR Genérico
CSS: LFSR-17 garbage 17 feedback path 4 15 1 taps output • Esse registro é inicializado ou com dois bytes reais ou derivados da chave • Durante a inicializaćão, um bit 1 é inserido na posićão 4, para garantir que o registo não comeća com todos os bits de sua saída com 0's causando null-cylce. • O valor que está sendo rotacionado é usado como saída ao invés do bit típico de saída.
CSS: LFSR-25 garbage 25 feedback path 15 5 4 1 taps output • Esse registro é inicializado ou com três bytes reais ou derivados da chave • Durante a inicializaćão, um bit 1 é inserido na posićão 4, para garantir que o registo não comeća com todos os bits de sua saída com 0's causando null-cylce • O valor que está sendo rotacionado é usado como saída ao invés do bit típico de saída.
CSS: Adićão LFSR key LFSR-17 8 ticks 1 byte Optional bit-wise inverter Output byte key LFSR-25 8 ticks carry-out from prior addition 1 byte carry-out Optional bit-wise inverter
LFSR Inversão da Saída
CSS: Data Decryption Output byte from LFSRs Input data byte Output data byte Table-based substitution • Fazendo-se um XOR entre os bytes 0 e 1 da title key com os bytes 80 e 81 do cabećalho do setor, temos a semente para inicalizar o LFSR-17 • Fazendo-se um XOR entre os bytes 2, 3 e 4 da title key com os bytes 82, 83 e 84 da do cabećalho do setor temos a semente para inicializar o LFSR-25. O bit 1 é inserido no bit 4 rotacionando-se tudo para a direita em uma posićão • A saída do LFSR-17 é seguramente invertida antes de ser adicionada LFSR-25. • Muito parecido com o DES, uma tabela de substiuićão é aplicada a entrada dos dados
CSS: Key Decryption Bytes of Ciphertext 2 1 0 Table lookup 4 Table lookup Lk Lk Lk 3 Lk Lk 1 2 3 Table lookup Lk Lk Lk Bytes of Plaintext Table lookup Lk Lk 4 5 Nota: Lk é o byte de entrada descriptografado usando o mesmo padrão como foi mostrada para os bytes de dados, com um set de inversores para os tipos de chaves.
Disk e Player Keys • Cada player possui um pequeno número de chaves • Cada disco é codificado usando uma disk key. • Cada disco possui um setor escondido. Esse setor é previamente todo gravado com 0’s em DVD's graváveis. • Esse setor guarda uma tabela contendo a disk key encriptada com todas as 409 possíveis player keys. • Ele também guarda a disk key encriptada com a disk key. • O player desencripta a entrada apropriada da tabela e depois verificar se ele é correta decodificando a disk key, decodificando a disk key encriptada. • O mecanismo de encriptacão é o mesmo discutido anteriormente para as outras chaves.
Autenticaćão Mutua • Encriptaćão é similar a encriptaćão de dados, mas é realizada uma permutaćão antes do algorítimo LFSR. • Uma caixa de permutaćão diferente é usada para cada uma das 3 chaves. • A “chave secreta é usada para a encriptaćão
Fraquezas #1: LFSR Cipher - 240 não é realmente muito grande – basta fazer um ataque de brute-force Com 6 bytes de saída: – Chute o status inicial do LFSR-17. – Rotacione 4 bytes. – Use esses 4 bytes para determinar os 4 bytes de saída correspondentes ao LFSR-25. – Use a saída do LFSR-25 para determinar o status do LFSR 25’s. – Rotacione 2 bytes em ambos LFSRs. – Verifique esses dois bytes. Comemore ou tente novamente. – Isso é um ataque de 216.
Fraquezas #1: LFSR Cipher (cont) Com 5 bytes de saída: • Chute o status inicial do LFSR-17 • Rotacione 3 bytes • Determine os bytes correspondentes da saída do LFSR-25 • Isso revela tudo. A maior ordem de bit do LFSR-25 • Tente ambas possibilidades: – Rotacione de volta 3 bytes – Selecione a configuraćão onde o bit 4 é igual a 1 (essa é a configuraćão inicial). • Comemore ou tente novamente • Esse é um ataque a 225
Fraqueza #2: Mangled Output Com um ciphertext e um plainttext conhecido – Chute Lk 4 – Trabalhe voltando e verifique a o byte de entrada – Esse é um ataque a 28. – Repita para todos os 5 bytes – isso lhe dá os 5 bytes da saída conhecida para a fraqueza anterior
Region Code Em outros detalhes: • Cada DVD contem um código de região chamado region code que indica a região do mundo em que aquele disco pode ser visto. • Cada player conheće a regiao em que ele foi vendido • Se a região do player não for igual com a região do disco, o player não conseguirá obter os dados. • Isso ajuda a MPAA a garantir que DVD não sejam divulgados em locais do mundo antes que eles sejam lanćados oficialmente.
Faculdades Integradas Barros Melo Pós Graduação em Segurança de Redes Frederico Madeira <fred@madeira. eng. br> Célio Filho Fábio Meira Lins <anfafir@hotmail. com> Cleiton Martins
- Slides: 20