Kirjautuminen

Haku

Tehtävät

Keskustelu: Projektit: TCrypto: PHP 5.3+ "key-value storage" kirjasto

timoh [15.11.2011 18:10:03]

#

Tässä hieman mainostan TCrypto-kirjastoa. TCrypto on PHP 5.3+ key-value "data store". Perimmäisenä ideana on tarjota käyttäjille helposti lähestyttävä käyttöliittymä, minkä kautta datan salaus/tallennus/varmentaminen jne. asiat hoituvat näppärästi ja ennen kaikkea turvallisesti.

Dataa tallennetaan serialisoituna arrayna ja data voi näin ollen olla mikä vaan serialisoituva PHP:n datatyyppi.

Oletuksena data tallennetaan evästeeseen, valinnaisesti salattuna ja/tai pakattuna. Omia laajennuksia on helppo lisätä, esim. jos haluat tallentaa datan tietokantaan evästeen sijasta, se onnistuu pienellä vaivalla.

TCrypton mukana tulee pieni komentorivisovellus, millä luodaan kryptauksessa/autentikoinnissa käytettyjä avaimia. Avaimia voidaan vaihtaa ns. lennosta, eli uusi avain vodaan lisätä ja sitä käytetään datan tallennuksessa. "Vanhoja" avaimia käytetään lukemaan dataa mikä on luotu aiemmilla avaimilla.

Koodi on kokonaisuudessaan public domainissa, eli täysin vapaata matskua. PHP 5.3:n lisäksi Mcrypt-laajennos täytyy olla käytössä. Lisää infoa (parhaiten homma selviää README:stä) ja itse koodi GitHubissa:

https://github.com/timoh6/TCrypto

Kommentteja?

timoh [07.08.2013 22:43:05]

#

Nostan projektia esille, sillä eilen korjasin TCryptoa kriittisen tietuturvaongelman vuoksi. Joten jos joku on koodia käyttänyt, niin on syytä päivittää.

Ongelma koskee niitä tapauksia missä TCrypto on konfiguroitu käyttämään valinnaista datan pakkausta (CompressPlugin), sekä hyökkääjä pääse syöttämään TCrypton key-value arrayhin mielivaltaista dataa (ja myös lukemaan tätä dataa, ns. chosen plaintext attack).

Tuossa on pohjimmiltaan sama "compression oracle" -probleema, mitä hyväksikäytettiin mm. CRIME:ssä ja BREACH:ssa.

Tällaista mokaa ei olisi saanut sattua missään nimessä, mutta niin se vaan sinne lipsahti :(

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta