Taggat med: rc4

Nyheterna i Transport Layer Security version 1.3 (TLS 1.3)

 

SSL och TLS har under lång tid säkrat upp en betydande del av den krypterade kommunikationen på Internet. Sedan SSL version 1.0 släpptes internt hos Netscape Communications år 1994 så har det hänt en hel del.

Den nya versionen som just nu håller på att utvecklas inom en arbetsgrupp hos IETF har versionsnumret 1.3 där målsättningen är högre prestanda samt tillhandahålla en ännu högre säkerhet. Man kan säga att designkriteriet för denna nya version är ”less is more” och det innebär att en hel del föråldrade krypton har fått stryka på foten:

  • RSA är borttaget – Tillhandahåller inte Forward Secrecy
  • Svaga Diffie-Hellman grupper kan inte användas (SSL_OP_SINGLE_DH_USE)
  • CBC är borta – Är orsaken till attacker såsom Lucky13 och BEAST
  • RC4 samt SHA1 får inte längre användas
  • Export-algoritmer (ansvarig för attacker såsom FREAK, LogJam etc)
  • Nytt är ChaCha-Poly1305 samt stöd för OCB-modes (tipstack till Joachim Strömbergson)

När det gäller prestanda så har ett antal åtgärder införts:

  • 0-RTT samt 1-RTT

Genom att få ner antalet TCP-paket som måste skickas fram och tillbaka vid varje anslutning så kan snabbare TLS (och webbsidor etc) uppnås.

Här följer en bild hur 1-RTT ser ut där klienten skickar ett ClientHello direkt, samt så gissar klienten vilka krypton som kommer att användas:

När du sedan har en session etablerad så kan sedan 0-RTT användas vid senare tillfälle (Session Resumption) men detta möjliggör dock återuppspelningsattacker.

Vill du redan nu testa TLS 1.3 i Google Chrome så kan du göra följande:

  1. Skriv in ”chrome://flags/” i adressbaren och trycker enter
  2. Gå till ”Maximum TLS version enabled.” och välj ”TLS 1.3”
  3. Starta om Chrome

Och vill du testa med Firefox så behöver du ladda hem senaste nightly-build där TLS 1.3 är påslaget som standard.

Och nu när vi besöker kryptera.se och tar upp Developer Tools (DevTools) så synes följande:

Viktigt att tillägga är att TLS 1.3 inte är färdigt ännu och ändras löpande. Detta gör att mjukvara såsom OpenSSL är försiktiga med att göra förändringar. Den senaste uppdateringen till TLS 1.3 heter draft-19 och släpptes för cirka 2 veckor sedan.

För att exempelvis Nginx ska stödja TLS 1.3 så måste även OpenSSL stödja detta. Och OpenSSL kommer med stöd inom några veckor i version 1.1.1.

Uppdaterad: 2017-06-06, användes internt hos Netscape. Inte Mozilla som grundades först många år senare.

Kryptering och Internet of Things – Ny sårbarhet uppdagad

 

Internet of Things säkerhet

Ett antal forskare undersökte de kryptografiska funktionerna i protokollet Open Smart Grid Protocol (OSGP) som är väl använt inom IoT (Internet of Things). Nu har dock allvarliga brister uppdagats i detta protokoll som är baserat på RC4(!) samt en egen MAC (OMA digest).

OSGP-protokollet är en standard enligt Telecommunications Standards Institute (ETSI) sedan 2012 och har utvecklats av Energy Service Network Association (ESNA). Ungefär fyra miljoner IoT-enheter använder OSGP-protokollet.

Några av de angreppsmetoder som används är:IoT Crypto

  • Chosen-Plaintext Key Recovery Attacks
  • Known-Plaintext Key Recovery Attack
  • Forgeries and a Third Key-Recovery Attack

Även så tog forskarna fram Proof-of-concept kod i Python för att demonstrera några av sårbarheterna.

Och för att citera Bruce Schneier:

Anyone can design a cipher that he himself cannot break. This is why you should uniformly distrust amateur cryptography, and why you should only use published algorithms that have withstood broad cryptanalysis. All cryptographers know this, but non-cryptographers do not.

DNP3 Secure Authentication som också är ett protokoll som används inom IoT använder sig av HMAC-SHA256 samt AES-GMAC vilket anses säkert.

Så vad har vi lärt oss? Försök inte att utveckla ett eget krypto.

Windows 8 lösenord, RC4, Google Wallet och MSB

Vi sammanfattar här några av de nyhterna vi tweetat ut de senaste dagarna:

Du följer väl oss på Twitter? https://twitter.com/kryptera

BEAST: Nygammal sårbarhet i SSL

IT-säkerhetsforskarna Thai Duong och Juliano Rizzo hittade ett nytt sätt att använda en gammal sårbarhet i TLS <= 1.0 där CBC används som går ut på att injicera känd klartext i en krypterad SSL 1.0-session vilket gör att det går att knäcka anslutningen på ca 10 minuter.

Detta påverkar ej anonymiseringsnätverket Tor. Samt så påverkar detta ej TLS version 1.1 men dock används denna version ej i stor utsträckning.

Värt att notera är även att Googles servrar ej påverkas av detta då de använder RC4 och inte CBC-läge i sin SSL/TLS.

Läs mer hos ISC/SANS, Slashdot, The Register, Threatpost.

Skype krypteringen knäckt

Eller rättare sagt så har en del av Skype-protokollet reverse-engineerats. Det är den del av Skype som använder RC4-algoritmer och varianter på denna. Följande framgår av källkoden:

|*| Skype Library RC4 v1.109 by Sean O’Neil.
|*| Copyright (c) 2004-2010 VEST Corporation.
|*| All rights reserved.
|*| Not for commercial use.
|*|
|*| We are reverse engineers.
|*| We can prove if you have used this code in your product.
|*| We will find you.
|*| We will prosecute for copyright infringement.
|*| This code is quite unique and is easily identifiable.
|*| Result may match Skype’s 100%, but this code is ours.
|*| The computation is significantly different from Skype’s.
|*|
|*| For academic research and educational purposes only.
|*| If you require Skype compatibility in your products,
|*| feel free to contact Sean O’Neil on www.enrupt.com
|*|
|*| Last changes: 09.07.2009 (a minor correction from 1.108 that does not affect its use in Skype-compatible projects)
|*| Published: 07.07.2010
|*| More will be published at 27C3, December 2010 (http://www.ccc.de/en/calendar)

Som hittas här: cryptolib.com/ciphers/skype/

Sean O’Neil har även skrivit ett antal förtydliganden på sin blogg där han bl.a. skriver att detta inte påverkar säkerheten i Skype eftersom tal, filöverföringar etc. är krypterade med AES 256-bit nycklar,  1024-bit RSA algoritm samt autentiserade med a 2048-bit RSA-nycklar. Källkoden som han har släppt hanterar enbart kommunikation mellan Skype-klienten och dess noder.