Transient-nyckel kryptografi
Transient-key kryptografi är en form av publik-nyckel kryptografi där nyckelpar genereras och tilldelas till korta tidsintervall istället för till individer eller organisationer, och blocken av kryptografiska data är kedjade genom tiden. I ett transient-nyckelsystem används privata nycklar kort och förstörs sedan, vilket är anledningen till att det ibland kallas för "engångskrypto." Data som krypteras med en privat nyckel som är associerad med ett specifikt tidsintervall kan otvetydigt kopplas till det intervallet, vilket gör transient-nyckelkryptering särskilt användbar för digital betrodd tidsstämpling . Transient-key kryptografi uppfanns 1997 av Dr. Michael Doyle från Eolas och har antagits i ANSI ASC X9.95 Standard för betrodda tidsstämplar .
Offentlig nyckel kontra transient-nyckel kryptografi
Både publika nyckel- och transientnyckelsystem kan användas för att generera digitala signaturer som hävdar att en given databit inte har ändrats sedan den signerades. Men likheterna slutar där. I ett traditionellt offentligt nyckelsystem är det offentliga/privata nyckelparet vanligtvis tilldelat en individ, server eller organisation . Data signerade av en privat nyckel hävdar att signaturen kom från den angivna källan. Nyckelpar kvarstår i flera år i taget, så den privata komponenten måste noggrant skyddas mot avslöjande; i ett system med offentliga nyckel kan alla som har tillgång till en privat nyckel förfalska den personens digitala signatur.
I transient-nyckelsystem tilldelas emellertid nyckelparet till ett kort tidsintervall, inte till en viss person eller enhet. Data som signeras av en specifik privat nyckel associeras med en specifik tid och datum. Ett nyckelpar är endast aktivt i några minuter, varefter den privata nyckeln förstörs permanent. Därför, till skillnad från system med offentliga nyckel, är transientnyckelsystem inte beroende av de privata nycklarnas långsiktiga säkerhet.
Upprättande av dataintegritet med tidsstämplar med transientnyckel
I ett transient-nyckelsystem måste källan till tid vara en konsekvent standard som förstås av alla sändare och mottagare. Eftersom en lokal systemklocka kan ändras av en användare, används den aldrig som en tidskälla. Istället signeras data digitalt med ett tidsvärde som härletts från Universal Coordinated Time (UTC) exakt inom en millisekund, i enlighet med ANSI ASC X9.95-standarden för Trusted Timestamping . Närhelst ett tidsintervall i ett transientnyckelsystem löper ut, genereras ett nytt offentligt/privat nyckelpar och den privata nyckeln från det föregående intervallet används för att digitalt certifiera den nya publika nyckeln. Den gamla privata nyckeln förstörs sedan. Detta "nyckelkedjesystem" är den omedelbara förfadern till Blockchain -tekniken som är på modet idag.
För det nya intervallet erhålls tidsvärden från en pålitlig tredjepartskälla, och specifika tidpunkter kan interpoleras mellan mottagna tider genom att använda en tidsförspänningsmetod baserad på den interna systemtimern. Om en pålitlig tidskälla inte kan erhållas eller inte körs inom specificerade toleranser utfärdas inte tillfälliga privata nycklar. I så fall avslutas tidsintervallkedjan och en ny påbörjas. De gamla och nya kedjorna är sammankopplade via nätverksarkiv, vilket gör det möjligt för alla servrar att fortsätta att verifiera dataintegriteten genom tid av skyddad data, oavsett hur ofta kedjan måste startas om. Starttiderna för kedjan och för varje intervall kan kopplas samman för att bilda en obruten sekvens av publika nycklar, som kan användas för följande:
- För att obestridligt identifiera tidpunkten då en uppsättning data signerades.
- För att identifiera det exakta tillståndet för uppgifterna vid tidpunkten för undertecknandet.
Som en extra säkerhetsåtgärd lagras alla förfrågningar om signaturer som görs under ett intervall i en logg som är sammanlänkade och som själv läggs till den publika nyckeln i början av nästa intervall. Denna mekanism gör det omöjligt att infoga nya "signerade händelser" i intervallkedjan i efterhand.
Korsverifiering
Genom självständigt fungerande servrar kan korscertifiering ge tredjepartsbevis på giltigheten av en tidsintervallkedja och obestridliga bevis på konsensus om den aktuella tiden. Transient-nyckel kryptografiska system uppvisar hög bysantinsk feltolerans . En nät av sammankopplade korscertifierande servrar i en distribuerad miljö skapar en vittnesmålad förtroendekedja som är lika stark som dess starkaste länk. Däremot kan hela hierarkier av traditionella offentliga nyckelsystem äventyras om en enda privat nyckel exponeras.
En individuell transient nyckelintervallkedja kan korscertifieras med andra transienta nyckelkedjor och serverinstanser. Genom korscertifiering signerar Server A Server B:s intervallkedja, vars signerade data är intervalldefinitionen. I själva verket används de privata nycklarna från Server B för att signera de publika nycklarna för Server A. I diagrammet är en serverinstans korscertifierad med två andra serverinstanser (blå och orange). Korscertifiering kräver att tidsstämpeln för intervallet överensstämmer med tidsstämpeln för den korscertifierande servern inom acceptabla toleranser, som är användardefinierade och vanligtvis några hundra millisekunder långa.
Nätverksarkiv
Tillsammans med intervaller lagras korscertifieringar i ett nätverksarkiv. Inom ett transient-nyckelnätverk arkivet en logisk databas som kan lagras och replikeras på vilket system som helst för att möjliggöra verifiering av data som har tidsstämplats och signerats med transientnycklar. En karta över uppsättningen tillgängliga arkiv lagras i varje digital signatur som skapas i systemet. Närhelst korscertifieringar slutförs i början av ett intervall, uppdateras arkivkartan och publiceras på alla servrar i nätverket.
Verifiering
Under ett intervall används den tillfälliga privata nyckeln för att signera data sammanlänkade med betrodda tidsstämplar och autenticitetscertifikat. För att verifiera datan vid ett senare tillfälle får en mottagare åtkomst till den beständiga publika nyckeln under lämpligt tidsintervall. Den publika nyckeln som appliceras på den digitala signaturen kan passeras genom publicerade kryptografiska rutiner för att packa upp hashen av originaldata, som sedan jämförs med en ny hash av lagrad data för att verifiera dataintegriteten. Om signaturen framgångsrikt dekrypterar med användning av ett speciellt intervalls publicerade publika nyckel, kan mottagaren vara säker på att signaturen har sitt ursprung under den tidsperioden. Om de dekrypterade och färska hasharna matchar kan mottagaren vara säker på att data inte har manipulerats sedan den tillfälliga privata nyckeln skapade tidsstämpeln och signerade data.
Transient-key kryptografi uppfanns 1997 av Dr. Michael D. Doyle från Eolas Technologies Inc. , medan han arbetade på Visible Embryo Project och senare förvärvades av och producerades av ProofSpace, Inc. Den har antagits som en nationell standard i ANSI ASC X9.95-standarden för Trusted Timestamping . Transient-key kryptografi är föregångaren till Forward-sekretess och bildade grunden för forward-signatur-chaining-teknologin i Bitcoin blockchain -systemet.
- ProofSpace, Inc har publicerat ett mer detaljerat tekniskt översiktsdokument över transient nyckelkryptografi.