Mener du det (2)

Der var ingen af jer der kom i nærheden af den løsning jeg havde læst om, men måske forekom situationen ikke alvorlig nok til at I tænke i de baner.

Jeg vil varmt anbefale at I tager jer tid til at læse disse to papers hvis I har med sikkerhed og/eller højkonsekvenssystemer at gøre, det er meget meget tankevækkende og lærerigt:

Unique signal concept for detonation safety in nuclear weapons.

og

Mathematical Aspects of Unique Signal Assessment

De handler kort sagt om hvordan man designer den kode der skal tastes ind for at tilkendegive at man har tænkt sig at armere og bruge et givent atomvåben.

Kodesekvensen må ikke kunne opstå som resultat af nogen form for uheld eller katastrofe og den skal kunne genkendes af en lille elektromekanisk konstruktion inde i hvert enkelt atomvåben.

Til de der stadig tror på "Security Through Obscurity" er der en helt speciel besked på side 55 i det første af dem: der kan enhver læse at aktiveringskoden for en type MC2969 "Intent stronlink discriminator" er:

aaaaaaaaaaabbaaaaaaaaaaaaabbbaaaaabbaaaaaaabbbb

MC2969 bliver bl.a brugt i B61, W78, W80, B83 og W87 atomvåben, eller med andre ord: lidt over halvdelen af USAs arsenal.

Der er lidt billeder og diagrammer af hvordan den virker i denne status rapport.

US patent 5,626,400 indeholder en beskrivelse og nogle letforståelige tegninger af en anden model.

God læsning!

phk

PS: Læg også mærke til "strong link / weak link" konceptet, det er en genial måde at implementere beskyttelse på.

Kommentarer (13)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Poul-Henning Kamp Blogger

Det er rigtigt at Steve Bellowin har kigget på PAL, men hans interesse er mest at finde ud af hvor/hvem der først opfandt assymetrisk kryptografi.

I virkeligheden er der tre serieforbundne PAL's i et atomvåben:

Den første PAL, "Authorization PAL", indikerer at våbnet bruges skal åbnes med et presidentielt direktiv, dette er den Bellowin kigger på og der er en masse krypto involveret nu om dage.

Den næste PAL, "Intent PAL" skal åbnes af enten en våbentekniker, eller en pilot og den indikerer at det er med vilje våbnet bruges.

Den tredje PAL, "Trajectory PAL" åbner nå et antal fysiske parametre har opnået forudbestemte værdier i rigtig rækkefølge. Det er et (forsøg på) at sikre at våbnet kun detonerer ved målet og ikke når ICBM'en er 20 meter over siloen eller bomben 10 meter under flyet.

Den jeg synes er mest spændende, og den de to dokumenter handler om er nummer to , den som i en Windows verden ville være en pop-up dialog der spører "Really arm weapon [YES] [NO] [HELP]".

Poul-Henning

  • 0
  • 0
Torben Mogensen Blogger

Tegnfølgen
aaaaaaaaaaabbaaaaaaaaaaaaabbbaaaaabbaaaaaaabbbb
virker ikke som nogen god løsning: Den består af kun to forskellige tegn, og der er lange delfølger, der kun består af et enkelt tegn. Det eneste, der gør den usandsynlig at taste ved en fejl er dens længde.

En god løsning bør have en høj Kolmogorovkompleksitet i forhold til sin længde, da det mindsker sandsynligheden for at den indtastes ved en fejl eller opstår som uddata fra tilfældig programkode. Men endnu vigtigere er det, at de tilladte kommandoer er så meget forskellige, at chancen for at komme til at taste den ene i stedet for den anden er minimal. Man kan altså ikke måle en enkelt kommandos sikkerhed i isolation.

Hvis man vil gøre koden nem at huske, så bør man lade koden være afledt af formålet med handlingen eller decideret være en beskrivelse af handlingen i et formelt eller naturligt sprog.

  • 0
  • 0
Poul-Henning Kamp Blogger

Jeg synes du skulle tage og læse det første af de to papers, de argumenterer ganske godt for deres sag.

Opgaven er at sikre sig at aktivering aldrig sker hvis der ikke står et menneske og gør det med vilje.

I forhold til eletriske fejl er det en klar fordel kun at have to signaler der skal skelnes imellem og godkendes.

Poul-Henning

  • 0
  • 0
Jesper B. Rosenkilde

Uden at blive alt for teknisk og gå for meget ned i kodningsteori og sandsynlighedsregning, så er den streng Poul-Henning bruger helt udmærket.

For det første er der lige stor sandsynlighed for at stregen aaaabbbb optræder som abababab, givet at tegnene er uafhængige. Altså at der ikke er nogle delstrenge der optræder oftere end andre. Så alt det med Kolmogorovkompleksitet er ikke væsenligt i dette eksempel.

Det med at stregen kun består af to tegn er efter min mening kun en god ting, det gør det meget lettere at implementere som et elektrisk signal eller mekanisk. Uden at vide så meget om elektriske signaler, kan jeg kun forestille mig at færre mulige tegn gør signalet mindre modtageligt over for støj. Det eneste det kræver er at man laver stregen "lang nok". Dvs. man lader længenden gå mod uendelig, indtil en værdi af uendelig hvor man er tilfreds med sandsynligheden for at stregen opstår ved et uheld er gået tilstrækkeligt mod nul.

Jeg kan ikke helt overskue om det bliver bedre ved at smide en form for paritetscheck med, men det skader nok i hvert fald ikke.

-- Jesper

  • 0
  • 0
Torben Mogensen Blogger

Hvis a og b er lige sandsynlige, så er alle tegnfølger af samme længde lige sandsynlige, men det betyder ikke, at de har samme Kolmogorovkompleksitet, eller at de forekommer lige let/svært ved utilsigtet brug.

Alt andet lige, er chancen for at tegnfølgen aaaaaaaa nemmere at få ved en fejl end abbaabbb, selv om de er lige sandsynlige.

aaaabbbb og abababab har begge to meget lav Kolmogorovkompleksitet fordi de begge indeholder gentagelser -- enten af tegn eller tegnpar. Groft sagt er Kolmogorovkompleksiteten af en tegnfølge omvendt proportional til dens komprimerbarhed. Både aaaabbbb og abababab kan komprimeres bedre end f.eks. abbaabbb. Mere specifikt er Kolmogorovkompleksitet et mål for, hvor kompliceret en proces, der skal til for at genskabe tegnfølgen. En tegnfølge af højere kompleksitet vil følgelig have mindre chance for at opstå ved en tilfældig proces. Derfor bør tegnfølger, der helst kun skal kunne opstå ved bevidst indsats ikke have lav Kolmogorovkompleksitet.

Derudover kan man inddrage de metoder, der bliver brugt til inddatering i mål af, hvor let en tegnfølge kan opstå ved en fejl. Hvis der bruges tastatur, er f.eks. tegnfølgen "qwertyuiop" nok ikke så heldig, selv om den ikke har lav Kolmogorovkompleksitet. Ideen om kun at bruge to tegn fordi man overfører signalet binært giver ikke mening, hvis inddateringsenheden har flere tegn -- man kan jo kode en lang binær sekvens med en kortere følge af tegn fra et større alfabet uden at dette mindsker sikekrheden (Kolmogorovkompleksiteten ændres ikke af om du ser på X bit af gangen i stedet for kun 1).

  • 0
  • 0
Torben Mogensen Blogger

Den første af de to refererede artikler giver mig ret i, at tegnfølgen aaaaaaaaaaabbaaaaaaaaaaaaabbbaaaaabbaaaaaaabbbb
er dårlig. Tegnet "a" forekommer meget oftere end "b", så den fejler allerede på den første test om "event balance". Derudover er parrene også skævt repræsenteret: aa og bb forekommer oftere end ab og ba.

  • 0
  • 0
Jesper B. Rosenkilde

>Hvis a og b er lige sandsynlige, så er alle >tegnfølger af samme længde lige sandsynlige, men >det betyder ikke, at de har samme >Kolmogorovkompleksitet, eller at de forekommer >lige let/svært ved utilsigtet brug.

Jeg mener heller ikke at have påstået at sandsynlighedsregning og Kolmogorovkompleksitet
er det samme. Jeg sagde blot at du ikke kan bruge
Kolmogorovkompleksitet som et mål for hvor stor sandsynligheden er for at din valgte affyringssekvens opstår ved et uheld.

Nu ved jeg ikke hvad din baggrund er , men Kolmogorovkompleksitet er et udtryk for hvor svær en given streng er at udtrykke i et sprog. Dvs. hvor svært er det at sige den på almindelig dansk, skrive et program i lisp der giver dig stregen eller noget helt andet. Her kan svær betyde mange ting, som hukommelsesforbrug, begreningstid, linier koder antal ord, eller hvad du nu bliver enig med dig selv om. så længe du bare holder dit valgte sprog fast for sammenligninger.

>Alt andet lige, er chancen for at tegnfølgen >aaaaaaaa nemmere at få ved en fejl end abbaabbb, >selv om de er lige sandsynlige.

Nej, da de er lige sandsynlige, er chancen per definition helt ens.

>aaaabbbb og abababab har begge to meget lav >Kolmogorovkompleksitet fordi de begge indeholder >gentagelser -- enten af tegn eller tegnpar. Groft >sagt er Kolmogorovkompleksiteten af en tegnfølge >omvendt proportional til dens komprimerbarhed.

Det er sikkert korrekt i vise tilfælde, men det er ikke generelt. F.eks. tvivler jeg på det gælder når du bruger dansk som det sprog du ønsker at udtrykke strengen i. Eller hvis du måler hvor mange skridt en turring-maskine er om at genere strengen.

>Både aaaabbbb og abababab kan komprimeres bedre >end f.eks. abbaabbb. Mere specifikt er >Kolmogorovkompleksitet et mål for, hvor >kompliceret en proces, der skal til for at >genskabe tegnfølgen. En tegnfølge af højere >kompleksitet vil følgelig have mindre chance for >at opstå ved en tilfældig proces. Derfor bør >tegnfølger, der helst kun skal kunne opstå ved >bevidst indsats ikke have lav >Kolmogorovkompleksitet.

Men nu skal vi jo så til at snakke om hvilken "process" som pårvirker sådan et system, er det naturlig elektrisk støj er det en medarbejder der falder ned på tasteturet, eller er det 1000 aber med skrivemaskiner og meget lang tid? Igen mener jeg at sandsynlighed er et langt bedre mål, fordi
Kolmogorovkompleksiteten intet fortæller om hvad sandsynligheden for at stregen opstår naturligt eller ved et uheld, kun hvor svær den er at udtrykke i et givent sprog.

>Derudover kan man inddrage de metoder, der bliver >brugt til inddatering i mål af, hvor let en >tegnfølge kan opstå ved en fejl. Hvis der bruges >tastatur, er f.eks. tegnfølgen "qwertyuiop" nok >ikke så heldig, selv om den ikke har lav >Kolmogorovkompleksitet.

Hvis du absolut nu har bestemt dig for, af uransagelige årsager, at bruge Kolmogorovkompleksitet, så vil jeg mene at du skal finde på et beskrivelsesprog som tager højde for hvor svært det er for sekvenser, tegn længe, og sikkert nogle flere parameter kan opstå tilfældigt eller ved uheld eller overlæg. Så bliver Kolmogorovkompleksiteten et reelt mål for det du forsøger at opnå. Det kræver selvfølgelig nok en god del sandsynlighedsregning ;-). Så jeg ser kun det du har gang i som en omvej.

>Ideen om kun at bruge to tegn fordi man overfører >signalet binært giver ikke mening, hvis >inddateringsenheden har flere tegn -- man kan jo >kode en lang binær sekvens med en kortere følge >af tegn fra et større alfabet uden at dette >mindsker sikekrheden (Kolmogorovkompleksiteten >ændres ikke af om du ser på X bit af gangen i >stedet for kun 1).

Igen kan Kolmogorovkompleksiteten ikke rigtigt bruges til noget, uden en del krumspring først. Som sagt ved jeg ikke så meget om transmission af signaler, jeg har bare svært ved at forstille mig at kompleksesignal er lettere at sende end simple. Desuden nævnte jeg aldrig noget om at signalet skulle være binært.

  • 1
  • 0
Thomas Poulsen

Hej Poul-Henning,

Hvor finder du dog den slags henne?

Tak for oplysningen. Det skal nok være nyttigt at huske.

Det virker betryggende at der ligger en del beregninger og teoretiske overvejelser bag implementationen af den slags :-)

Vh
Thomas

  • 0
  • 0
Poul-Henning Kamp Blogger

Jeg stødte ind i en reference da jeg læste om Sandia labs bevisligt korrekte java microprocessor, "Sandia Secure".

Den er designet til at implementere "Use Stronglink" i RRW atomvåbnet (som kongressen lige har fjernet bevillingen til.)

Poul-Henning

  • 0
  • 0
Thøger Eskildsen

...når folk bare trykker OK for at komme videre handler det vel også om, at de ikke kender konsekvenserne? Mao. de har vilje til handlingen, men kender ikke konsekvenserne. Hvordan gør man det klart, at handlingen kan have store konsekvenser?

Hvad med en tidslås? Hvis man skal hæve mange penge i banken, så skal man pænt vente i 10 minutter.

Hvis man er ved at slette vigtige filer, kunne der også være en tidslås på. Så kunne man måske lige tænke sig om en ekstra gang i f.eks. 5 minutter?

(Og bruges den på atomvåben kunne vi allesammen leve 5 minutter mere...)

  • 0
  • 0
Log ind eller Opret konto for at kommentere