O bosquexo pon a chave privada de WireGuard nun vector de caracteres, e o túnel funciona, por iso a pregunta volve unha e outra vez. A decisión que de verdade ten que tomar non é «é isto seguro?» senón «cal de tres condicións se aplica a este despregamento». Son: quen pode soster o dispositivo fisicamente, que dá unha lectura da flash na súa peza, e se a frota comparte unha chave ou cada unidade leva a súa. Responda iso e o deseño vén despois, porque cada condición cambia o custo dunha chave filtrada, non o feito de que poida filtrarse.

Que autoriza a chave

WireGuard autentica os pares coa chave pública. O servidor asigna a cada chave pública de par un enderezo e unha AllowedIPs lista, así que é a chave privada a que permite a un cliente enviar tráfico desde ese enderezo.

A mesma entrada decide que destinos pode acadar o dispositivo, así que unha chave filtrada expón a rede detrás do túnel ademais do enderezo do túnel.

Condición un: quen pode soster o dispositivo

Se a unidade vive nun armario pechado e ninguén fóra do seu equipo a toca, a exposición é sobre todo unha cuestión de distribución do firmware. Se se envía a clientes, vai nun vehículo ou volve en garantía, a posesión física é a credencial e o segredo do binario é secundario. Quen ten o dispositivo na man non precisa ler a chave, porque o firmware en execución abriralle o túnel. Por iso a resposta do lado do servidor debe incluír revocación e unha vida útil limitada, non só unha imaxe protexida.

Decida esta condición antes que as outras dúas, porque fixa o orzamento de ambas.

Condición dous: que dá unha lectura da flash

Calquera que poida ler a imaxe da flash recupera unha chave gardada como literal, xa sexa por unha conexión de depuración, un ficheiro de actualización, unha copia de seguridade ou unha unidade devolta. O cifrado da flash encarece un volcado directo, e a documentación de ESP-IDF describe que cobre a función para unha peza e unha configuración dadas. Non fai que a chave sexa inextractable baixo todos os modelos de ataque, e non fai nada para o caso do dispositivo na man. Tráteo como unha capa que cambia o custo, non como a resposta.

Lea a documentación da plataforma para o seu chip e a súa configuración exactos antes de afirmar unha propiedade nunha revisión de deseño.

Condición tres: reutilización en toda a frota

Unha chave para unha serie de produción significa que cada unidade comparte unha identidade. O servidor non pode distinguilas nos rexistros, non pode revogar unha sen revogar todas, e non pode distinguir un clon dun orixinal. As chaves por dispositivo arranxan as tres, a cambio dun paso de alta e dunha correspondencia do número de serie coa chave pública. Esa correspondencia é o activo que converte a revocación nun cambio dunha liña en lugar dun reflasheo de toda a frota.

Se a frota son cinco unidades nun banco, compartir unha chave pode ser un intercambio razoable. Se son cincocentas no campo, non é ningún intercambio.

O patrón de alta que fai prácticas as chaves por dispositivo

Xere o par de chaves no dispositivo no primeiro arranque, garde a metade privada nun almacenamento non volátil protexido e envía só a chave pública a un servizo de alta que asigne un enderezo e escriba a entrada de par. Autentique a resposta de alta, ou un atacante na rede local poderá rexistrar a súa propia chave contra a súa conta. Nunca imprima a chave privada na consola serie durante o aprovisionamento. Anote o número de serie do dispositivo xunto á chave pública, para que unha unidade perdida corresponda exactamente a unha entrada de par.

É un servizo pequeno, e é a diferenza entre unha frota que pode auditar e unha frota que só pode reflashear.

Tempo, extremos e a decisión

O exemplo sincroniza o tempo antes de iniciar o túnel, e iso importa máis alá de TLS: os apretóns de mans de WireGuard levan unha marca de tempo para a protección contra repetición, así que un dispositivo que arranca co reloxo mal pode ver apretóns rexeitados. O extremo é un nome de host, o que pon o DNS na ruta de confianza aínda que a chave pública do servidor siga autenticando o par. Un enderezo equivocado desperdicia intentos e revela cando está en liña o dispositivo. Resolva ambas as cousas antes de discutir sobre a chave.

Logo decida: unha chave compartida só mentres a posesión estea controlada e a frota sexa pequena, chaves por dispositivo en canto unha das dúas deixe de ser certa.

Artigos relacionados