Tyvärr har jag tydligen en förkärlek för att svära i kyrkan. Nu svär jag i mångas IT-kyrka genom att fälla följande påstående:
1. Många påstår (ofta efter att ha läst populärcyberpunk) att "allt går att knäcka" om man bara anstränger sig tillräckligt. Nej, det stämmer inte. Det finns system som är så säkra att de inte kan knäckas ens om NSA satte alla sina forskare på att knäcka dem under tio års tid. Att göra system så säkra är inte ens speciellt svårt. Vill nån ha exempel? Krypteringsmetoden RSA implementerad enligt best practices har funnits så länge att vi med stor säkerhet kan säga att den inte kan knäckas inom 25-30 år. Teknikframsteg såsom kvantdatorer är en separat diskussion. (Detta påstående utesluter såklart inte att RSA-krypton kan avkodas ifall en angripare får tag i kryptonyckeln)
2. Punkt 1 implicerar inte att jag hävdar att de flesta system saknar någon form av säkerhetshål. Jag hävdar snarare att vissa system saknar säkerhetshål, de flesta har någon form av säkerhetshål, men bara vissa av dessa säkerhetshål går att teoretiskt och/eller praktiskt framgångsrikt utnyttja för att knäcka systemet.
3. Huruvida man nånsin kan bevisa att ett system är helt fritt från säkerhetshål, är en separat diskussion. Ett system kan vara säkert utan att man ännu vet huruvida så är fallet.
4. Små system är enklare att uttala sig om huruvida de är säkra eller inte. Ett VIC-20-program exempelvis är lätt att göra säkerhetsanalys av. Om det dessutom är så att en VIC-20 inte är ansluten till omvärlden, går det även av den anledningen att uttala sig om risken för fjärrintrång.
5. Det faktum att man inte kan veta om ett system är säkert eller inte, bevisar varken att det är osäkert, eller att det är säkert.
6. Att saker bör betraktas som potentiellt osäkra om man inte vet om de är säkra eller inte är sant, men inom rimliga gränser. Riskbedömning bör inte göras dikotomiskt utan baserat på sannolikhetslära.
7. Anekdoter såsom "folk trodde inte att det och det skulle knäckas, men sen så knäcktes det", utgör inget bevis för att påståendet i punkt 1 är osant.
8. Det är ibland praktiskt att mäta säkerhet i hur lång tid eller hur stora resurser en angripare har. Ett kassaskåp exempelvis kanske ska motstå vinkelslip i 10 minuter för att klassas som säkert. Ett krypto för militärt eller businessbruk anses säkert om det inte kan avkodas inom 25 år ens om världens alla datorer samarbetade.
Jag tror att det är denna tankegång som missförståtts och lett till den fördom jag kritiserar i punkt 1.
1. Många påstår (ofta efter att ha läst populärcyberpunk) att "allt går att knäcka" om man bara anstränger sig tillräckligt. Nej, det stämmer inte. Det finns system som är så säkra att de inte kan knäckas ens om NSA satte alla sina forskare på att knäcka dem under tio års tid. Att göra system så säkra är inte ens speciellt svårt. Vill nån ha exempel? Krypteringsmetoden RSA implementerad enligt best practices har funnits så länge att vi med stor säkerhet kan säga att den inte kan knäckas inom 25-30 år. Teknikframsteg såsom kvantdatorer är en separat diskussion. (Detta påstående utesluter såklart inte att RSA-krypton kan avkodas ifall en angripare får tag i kryptonyckeln)
2. Punkt 1 implicerar inte att jag hävdar att de flesta system saknar någon form av säkerhetshål. Jag hävdar snarare att vissa system saknar säkerhetshål, de flesta har någon form av säkerhetshål, men bara vissa av dessa säkerhetshål går att teoretiskt och/eller praktiskt framgångsrikt utnyttja för att knäcka systemet.
3. Huruvida man nånsin kan bevisa att ett system är helt fritt från säkerhetshål, är en separat diskussion. Ett system kan vara säkert utan att man ännu vet huruvida så är fallet.
4. Små system är enklare att uttala sig om huruvida de är säkra eller inte. Ett VIC-20-program exempelvis är lätt att göra säkerhetsanalys av. Om det dessutom är så att en VIC-20 inte är ansluten till omvärlden, går det även av den anledningen att uttala sig om risken för fjärrintrång.
5. Det faktum att man inte kan veta om ett system är säkert eller inte, bevisar varken att det är osäkert, eller att det är säkert.
6. Att saker bör betraktas som potentiellt osäkra om man inte vet om de är säkra eller inte är sant, men inom rimliga gränser. Riskbedömning bör inte göras dikotomiskt utan baserat på sannolikhetslära.
7. Anekdoter såsom "folk trodde inte att det och det skulle knäckas, men sen så knäcktes det", utgör inget bevis för att påståendet i punkt 1 är osant.
8. Det är ibland praktiskt att mäta säkerhet i hur lång tid eller hur stora resurser en angripare har. Ett kassaskåp exempelvis kanske ska motstå vinkelslip i 10 minuter för att klassas som säkert. Ett krypto för militärt eller businessbruk anses säkert om det inte kan avkodas inom 25 år ens om världens alla datorer samarbetade.
Jag tror att det är denna tankegång som missförståtts och lett till den fördom jag kritiserar i punkt 1.