27-06-2016, laatst bijgewerkt 11:52 door WebmasterT: Dus als ik het goed begrijp, dan wordt de beste versleuteling verkregen door de sterkste encryptie i.c.m. het sterkste wachtwoord dus van 43 tekens (er vanuitgaand dat dat wachtwoord er zo 'cryptisch' mogelijk uit ziet).
Elk aanvalspunt dat (veel) zwakker is dan alle andere aanvalspunten, zal als eerste door slimme aanvallers worden aangegrepen. De ellende met encryptie is dat het barst van de aanvalspunten;
dat, niet de wiskunde achter de versleuteling, maakt encryptie zo gecompliceerd waardoor het slecht wordt begrepen. En
niet alleen door eindgebruikers, maar vooral ook door softwareontwikkelaars - met vaak dramatische gevolgen.
1) Een versleuteld bestand kan zich niet "verdedigen" met iets als een "account lockout" maatregel, dus moet je rekening houden met brute force en/of password guessing technieken. Het enige wapen dat je hebt tegen brute force, is het gemiddelde aantal pogingen dat een aanvaller moet doen tot hij
een werkend wachtwoord gevonden heeft (er zijn vaak omstandigheden waarbij verschillende wachtwoorden "werken"). D.w.z. mits je het de aanvaller niet makkelijker maakt dan mogelijk, bijv. door raadbare wachtwoorden te gebruiken.
2) AES256 is een block cipher die 128 bits (16 bytes, niet meer en niet minder) versleutelt met een sleutel van exact 256 bits lengte. Om een bestand van willekeurige lengte te versleutelen, met een via een toetsenbord ingegeven wachtwoord van variabele lengte, moet er veel meer gebeuren - en daar gaat in de praktijk verschrikkelijk veel bij mis - waardoor "AES256 versleuteld"
helemaal niets zegt.
Als ik er de tijd voor vind kan ik een 2e deel schrijven van mijn "encryptie voor leken"; dit antwoord zou veel te lang worden als ik hier alle aandachtspunten en valkuilen
die ik ken (vast niet alle) zou beschrijven.
Programmeurs verdiepen zich hier meestal onvoldoende in, en voor experts is het vaak heel lastig om vast te stellen dat de programmeur alle
bekende valkuilen heeft ontweken -
als er al op die manier naar gekeken wordt door experts. Immers, als je zegt dat een programma veilig is en later wordt er toch een lek in gevonden, ben je net zo'n sukkel als de programmeur. Om die reden zie je meestal dat experts naar zwakheden zoeken, en
zodra ze een zwakheid vinden, daarover publiceren. Probleem: als ze
niks vinden, hoor je ook niks van ze. Daardoor weet je als eindegebruiker/leek zelden wat de kwaliteit is van een encryptieprogramma (of een programma met een ander primair doel, dat "toevallig" ook kan versleutelen - zoals 7Zip).
Zelf heb ik wel wat problemen in een oudere versie van 7Zip geconstateerd (ik weet niet of die allemaal nog van toepasding zijn in de laatste versie - die je beslist moet gebruiken vanwege meer "technische" lekken zoals recentelijk in libarchive).
A) Gebruik in elk geval AES versleuteling, niet de oude "ZipEncrypt" want die is kraakbaar.
B) Aanvallers zijn je dankbaar voor alle informatie die je prijsgeeft. Als ze het bestandstype kennen, weten ze wat de eerste N bytes plaintext van het bestand waren. Dat kan helpen bij het kraken. Sowieso kan de bestandsnaam aanwijzingen geven over de
het onderwerp (zit er info in die de aanvaller wil hebben) maar ook over (delen van) de inhoud van een bestand, wat weer kan helpen kraken en vaststellen dat de aanvaller de juiste sleutel gevonden heeft.
Ik vertrouw de "versleuteling" van bestandsnamen door 7Zip niet, het lijkt meer om obfuscatie te gaan. Als het om waardevolle info gaat waarbij de bestandsnaam behouden moet blijven, zou ik:
- de file gewoon zippen, bijv. patentaanvraag.docx wordt dan patentaanvraag
.zip
- patentaanvraag.zip hernoemen in een nietszeggende naam zoals 1.zip
- die file, 1.zip, versleutelen met 7zip.
C) Zet NOOIT meer dan 1 bestand in een versleuteld .7z of .zip bestand. Omdat bestanden in zo'n archief
per stuk worden versleuteld, is het heel simpel om zowel versleutelde als onversleutelde bestanden in zo'n archief te hebben - zonder dat je dit doorhebt.
D) Als er meerdere verleutelde bestanden in een .7z of .zip archief zitten, verwijdere dan geen bestanden daaruit. Ik heb minstens 1x gezien dat daardoor het laatstgenoemde bestand in dat archief
onversleuteld bleek te zijn opgeslagen, maar met later onderzoek reproduceerde dit niet. Ik zou me, voor de zekerheid, beperken tot 1 file per .7z of .zip file.
Ik heb geen andere aanwijzingen dat 7zip slecht versleutelt, maar bovengenoemde zaken geven mij niet de indruk dat de programmeur erg zorgvuldig te werk gaat. Aan de andere kant worden er ook lekken in andere software gevonden en is het vaak kiezen tussen meerdere "kwaden".
Succes!