Cache-baserade attacker är en klass av sidokanalsattacker som är särskilt effektiva i virtualiserade eller molnbaserade miljöer, där de har använts för att återställa hemliga nycklar från kryptografiska implementationer. En gemensam metod för att förhindra cache-baserade attacker är att använda konstanta implementationer, d.v.s. som inte förgrenar sig på hemligheter och inte utför minnesåtkomster som är beroende av hemligheter. Det finns dock inga rigorösa bevis för att implementationer under konstant tid är skyddade mot samtidiga cacheattacker i virtualiseringsplattformar med delad cache; dessutom är många framträdande implementationer inte konstanta. Ett alternativt tillvägagångssätt är att förlita sig på systemmekanismer på systemnivå. En nyligen sådan mekanism är stealth minne, som tillhandahåller en liten mängd privat cache för program att bära potentiellt läckande beräkningar säkert. Stealth minne framkallar en svag form av konstant-tid, kallas S-konstant-tid, som omfattar några allmänt använda kryptografiska implementationer. Det finns dock ingen rigorös analys av stealth minne och S-konstant-tid, och inget verktyg stöd för att kontrollera om program är S-konstant-tid. Vi föreslår en ny informationsflödesanalys som kontrollerar om en x86-applikation körs i konstant tid, eller i Sconstant-time. Dessutom bevisar vi att konstant-tid (sp. S-konstant-tid) program läcker inte konfidentiell information genom cache till andra operativsystem som kör samtidigt på virtualiseringsplattformar (resp. plattformar som stöder stealth-minnet). Ljudbevisen är baserade på nya teorem av oberoende intresse, inklusive isoleringsteorem för virtualiseringsplattformar (resp. plattformar som stöder stealth minne), och bevis för att konstanta implementationer (sp. S-konstant-tid implementationer) är icke-interferera med avseende på en strikt informationsflöde politik som inte tillåter att kontroll flöde och minnesåtkomst beror på hemligheter. Vi formaliserar våra resultat med hjälp av Coq proof assistent och vi visar effektiviteten av
REF visar hur man använder informationsflödesanalys av samlingskoden för att bevisa frånvaron av vissa sidokanaler.
System-level Non-interference for Constant-time Cryptography
{'venue': "CCS '14", 'journal': None, 'mag_field_of_study': ['Computer Science']}