Kerckhoffs i l’ocultació del codi
dijous 19 de octubre de 2006Aprofitant que aquest semestre em toca estudiar un poc de criptografia, us presentaré al doctor Auguste Kerckhoffs, un professor de llengua que ens va deixar a principi del segle passat.

En particular volia parlar del Principi de Kerckhoffs.
Aquest criptògraf ja va afirmar fa dos segles el que pot semblar incoherent: és més segur fer públics els algorismes de seguretat d’un sistema i el seu funcionament que no intentar amagar-los als atacants. Tan sols cal tenir cura d’ocultar les claus.
És a dir, si tu creus que amagant els algorismes de seguretat del teu sistema va a ser més segur estàs enganyat, perquè com dia Claude Shanon, l’enemic ja coneix el teu sistema.
És el que s’anomena la seguretat mitjançant la transparència, en contraposició a la seguretat mitjançant l’ocultació, que es basa en la idea que amagant els algorismes d’un sistema fas ocultes també les seues vulnerabilitats a l’enemic.
Però el problema radica en què si ocultes els algorimes a l’enemic però aquest descobreix un forat de seguretat, llavors l’enemic pot fer el que vulga amb el teu sistema.
És la tècnica que fa servir el programari propietari, com per exemple MS, que pensa que amagant tots els problemes de seguretat del seu sistema el fan menys vulnerable als atacants. Però i si amagues un problema (i no el resols perquè així ningú s’entera) i l’enemic el descobreix?: ja tens una porta pel darrere.
Com molt bé deia Eric Raymond: “qualsevol disseny de programari de seguretat que no assumisca que l’enemic posseeix ja el codi font ja és per si mateix insegur; per això no cregues mai en el codi tancat“. Per a mi és evident això.
Kerckhoffs afirmava al seu axioma que si fas públic els algorismes i mantens oculta la clau aconsegueixes dues coses: si hi ha cap problema als algorismes, com són visibles per tothom són millorables i modificables. I segona, si l’enemic descobreix com entrar al sistema amb la clau oculta pots, de manera senzilla, tornar a encriptar el sistema, simplement modificant la clau, sense haver de fer el mateix amb tot el sistema.
I això ho va dir fa 2 segles. I és totalment aplicable a qualsevol aspecte del programari.
[Actualització 22/10/2006]: Segons puc llegir en Kriptòpolis.org, ens trobem davant d’un exemple clar del que deia en aquest apunt:
Un dels codis font per a la votació electrònica en els Estats Units s’ha filtrat. Les autoritats, tancant els oïts als experts informàtics i analistes que demanaven el contrari, el tenien ocult intentant així que fos més segur. Ara possiblement s’ha filtrat i ja no és segur.






