AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 467636
Accepted
ens
ens
Asked: 2018-09-08 14:25:37 +0800 CST2018-09-08 14:25:37 +0800 CST 2018-09-08 14:25:37 +0800 CST

Segurança de reutilização de chave com dm-crypt no modo simples?

  • 772

Existem, do ponto de vista da criptoanálise, desvantagens de segurança ao reutilizar a mesma chave para diferentes volumes no modo simples dm-crypt com cypher aes-xts-plain64?

# Example: Encrypt two volumes with the same key

cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sda myvol1
cryptsetup --type plain --cipher=aes-xts-plain64 --key-size=256 --key-file mykey open /dev/sdb myvol2

Estou considerando apenas casos práticos em que menos de, digamos, 100 volumes são criptografados com a mesma chave.

dm-crypt
  • 1 1 respostas
  • 404 Views

1 respostas

  • Voted
  1. Best Answer
    frostschutz
    2018-09-08T15:40:34+08:002018-09-08T15:40:34+08:00

    Bem, isso não é stackexchange de segurança e eu não sou um especialista em criptografia, mas em face das coisas:

    Alice não criptografada:

    00000000  48 65 6c 6c 6f 20 6d 79  20 6e 61 6d 65 20 69 73  |Hello my name is|
    00000010  20 41 6c 69 63 65 0a 00  00 00 00 00 00 00 00 00  | Alice..........|
    00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    

    Bobby não criptografado:

    00000000  48 65 6c 6c 6f 20 6d 79  20 6e 61 6d 65 20 69 73  |Hello my name is|
    00000010  20 42 6f 62 62 79 0a 00  00 00 00 00 00 00 00 00  | Bobby..........|
    00000020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    

    Ambos criptografados com a mesma chave (mestre), aes-xts-plain64:

    Alice000  8f 04 35 fc 9f cb 5d c8  af da ae 78 cd e5 64 3d  |..5...]....x..d=|
    Bobby000  8f 04 35 fc 9f cb 5d c8  af da ae 78 cd e5 64 3d  |..5...]....x..d=|
    Alice010  4f d3 99 77 7b c1 2c 8d  ff 9b 4d 55 da a3 9b e2  |O..w{.,...MU....|
    Bobby010  12 d6 ad 17 74 50 4d 08  8c 38 22 40 98 a7 14 99  |....tPM..8"@....|
    Alice020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    Bobby020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    

    Então - apenas pela aparência, um problema é que deslocamento e texto simples idênticos (para cada bloco de 16 bytes) resultam em texto cifrado idêntico. Se o texto simples for diferente, o mesmo será o texto cifrado. Em algumas situações, isso pode ser mais revelador do que revelar o espaço livre.

    Outro problema é que você pode copiar o texto cifrado de uma unidade para outra e descriptografar para dados significativos, mas na unidade errada. Normalmente, se você mexer com texto cifrado, tudo o que você obtém quando descriptografa é lixo aleatório, mas reutilizar a chave mestra simplesmente fornecerá um texto cifrado mais válido para trabalhar.

    Então, um exemplo completamente artificial, se você tem um usuário que não conhece a chave, mas de alguma forma tem acesso a um arquivo armazenado neste sistema e é capaz de copiar texto cifrado de uma unidade para outra - normalmente não é possível, mas vamos apenas supor é assim. Eles poderiam escrever um arquivo grande cheio de bobagens, descobrir onde esse arquivo está alocado no disco e copiar os dados das outras unidades. E, em seguida, veja outros dados de unidades em texto simples ao ler seu arquivo de volta.

    Ao todo, é apenas uma dor de cabeça desnecessária quando é tão fácil usar uma chave exclusiva para cada disco. Mesmo se você derivar essa chave de uma chave mestra compartilhada, usando uma função de hash ou qualquer outra coisa. Embora também não haja razão para isso. Você pode simplesmente usar vários arquivos de chave ou ler várias chaves de um único arquivo usando as --keyfile-offsetopções --keyfile-size.

    O LUKS deve ajudá-lo a evitar várias armadilhas. A menos que você clone deliberadamente o cabeçalho, ele sempre usa uma chave mestra aleatória diferente para cada contêiner, mesmo se você usar a mesma senha para eles.


    Também uma nota sobre sua escolha de cifra, aes-xts-plain64. Isso costumava ser chamado de aes-xts-plain. E tudo estava bem até que surgiram dispositivos maiores que 2TiB... com aes-xts-plain, o texto cifrado se repete a cada 2TiB, o que é basicamente o mesmo problema de reutilizar a mesma chave mestra.

    Isso foi corrigido com aes-xts-plain64, mas alguns blogs/wikis ainda recomendam o antigo, ou contêineres antigos são mantidos e cultivados junto com novos discos rígidos, então algumas pessoas acabam usando o errado até hoje...

    • 4

relate perguntas

  • Não é possível inicializar o Arch Linux após a instalação com criptografia de todo o sistema dm-crypt (BIOS)

  • verificação veritysetup bem-sucedida, mas a montagem falha após a atualização para o novo kernel

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve