
Verbeterde encryptie- en beveiligingsfuncties voor het herfstsemester 2020
Privacy & BeveiligingOm ervoor te zorgen dat Proctorio voorblijft op de nieuwste beveiligingsdreigingen, updaten we ons beveiligingsplatform met diverse verbeteringen:
We hebben de sleutelafleidingsmethode versterkt die werd gebruikt om de Zero-Knowledge Encryption encryptiesleutels te genereren. Voortaan hebben we het aantal wiskundige bewerkingen dat wordt gebruikt om sleutels te genereren met 9.900% verhoogd. We doen dit om de kans op een brute force-aanval te verkleinen naarmate de rekenkracht blijft verbeteren.
Voortaan zullen alle nieuwe opnames versleuteld worden met het native WebCrypto-pakket dat in de browser is ingebouwd. Deze updates zijn al een maand live en tonen geen tekenen van prestatieproblemen.
We hebben een High Security Plus-optie toegevoegd die symmetrische sleutelencryptie biedt met een asymmetrische RSA-publieke sleutel, gegenereerd door de instelling.
Bestaande klanten hebben de mogelijkheid om deze functies gratis op hun instellingen toe te passen.
Voor meer informatie kunt u contact opnemen met uw Proctorio-vertegenwoordiger of contact met ons opnemen via https://proctorio.com/get-started om te beginnen met Proctorio.
Waarom voeren we deze updates nu uit?
Toen we in 2013 aan Proctorio begonnen, begonnen we met de ontwikkeling van Chrome 27. Gangnam Style was net uitgekomen, en iedereen keek ernaar op hun gloednieuwe iPhone 5. Met andere woorden, het was een andere tijd.
Een van onze eerste doelen met Proctorio was het creëren van een online surveillancedienst die de privacy en beveiliging van testdeelnemers centraal stelde, maar die een lichte implementatie van de software kon behouden. Daarom hebben we Proctorio gemaakt als een browserextensie die niet native op de computer van een teststudent geïnstalleerd hoefde te worden. Een van de krachtigste elementen om eenvoudig encryptie toe te voegen aan testgegevens was, en is nog steeds, cryptografie.
Na uitgebreide evaluatie hebben we geïntegreerd SJCL van Stanford om cryptografie toe te voegen aan die eerste versies van Proctorio. Hoe graag we toen ook hadden gewild dat Chrome native cryptografie ondersteunde, het zou nog eens 10 versies duren om de eerste tekenen van te zien WebCrypto, een basisfunctie voor cryptografie die naar de browser werd gebracht.
We hebben WebCrypto-ondersteuning snel geïntegreerd zodra deze beschikbaar werd in Chrome 37, maar de SJCL Stanford-bibliotheek bleef behouden om de hoofdsleutelafleiding en cryptografie voor opnames te verzorgen. Aangezien Proctorio bedoeld is om beheerd te worden op single-user systemen, waarbij de gebruiker waarschijnlijk een beheerder is die toegang heeft tot informatie uit het systeemgeheugen (sleutels, wachtwoorden, enz.), is het gebruik van een Javascript-implementatie geen probleem. De gegenereerde sleutels zijn alleen bedoeld om verborgen te worden voor Proctorio, en niet voor de eindgebruiker.
In het ongelukkige geval dat de machine van de gebruiker is gecompromitteerd met een malwareprogramma, zijn cache-timing-aanvallen het minste van de zorgen van de gebruikers, aangezien malware waarschijnlijk sleutel- of wachtwoordinformatie direct uit het geheugen kan halen. Omdat WebCrypto echter vele malen sneller is gebleken en ingebouwd is in het browserplatform, hebben we in onze update vanaf release 1.4.20276.1 geheel nieuwe opnames vervangen door native WebCrypto in plaats van SJCL.
Vervolgens gebruiken we, om de examenopnames veilig te stellen, informatie van het testafnemende platform. Elk examen gebruikt een unieke combinatie van deze informatie, waardoor effectief unieke sleutels worden gegenereerd voor elke opgenomen examenpoging. Vervolgens gebruiken we symmetrische cryptografie om de data te versleutelen met behulp van AES-128. Omdat we de complexiteit van deze informatie niet kunnen beheersen, gebruiken we een belangrijke afleidingsfunctie om het risico op brute force-aanvallen te verminderen. Oorspronkelijk kozen we voor PBKDF2-HMAC-SHA1 voor deze taak.
De RFC uit 2000 voor PBKDF2 adviseerde een iteratieaantal van 1.000 patronen. Echter, in 2013, toen we het bij Proctorio implementeerden, gebruikten wachtwoordmanagers al 10.000 iteraties. We besloten om 12.000 iteraties in onze implementatie te gebruiken. Maar nu, in 2020, nu computers en GPU's sneller zijn geworden, is het tijd om de kans op brute force-kwetsbaarheden verder te verkleinen.
In versie 1.4.20276.1 hebben we SHA1 vervangen door SHA512, waarbij we PBKDF2-HMAC-SHA512 implementeerden. Om de sleutelgeneratie nog verder te vertragen, hebben we het aantal iteraties verhoogd van 12.000 naar 1.200.000. Tot slot, naast deze verandering, besloten we over te stappen van AES-128 naar AES-256. Deze verandering beschermt tegen aanvallen met meerdere doelen en een post-quantum wereld.
Tot slot hebben we in versie 1.4.20311.1 een optie gelanceerd om over te stappen op asymmetrische sleutels, gegenereerd en beheerd door de partnerinstelling. Elke instelling kan zich inschrijven voor dit programma, maar het vereist dat de instelling de publieke sleutel genereert en de privésleutel opslaat. Publieke sleutels en opties worden aan Proctorio verstrekt via een accountmanager.
Privésleutels moeten worden verspreid aan elke eindgebruiker die toegang nodig heeft tot het beoordelingsboek..
We hebben deze optie om drie redenen gebouwd:
De niet-gedeelde informatie voor afgeleide sleutels kan zeer weinig entropie hebben. Dit geldt voor Learning Management Systems zoals Canvas of Moodle, die zero-based sequentiële identificaties gebruiken.
Het beschermt de beveiliging van de gegevens die het examen registreert tegen mogelijke toegang van derden. Ook hier worden deze systemen in het geval van Canvas of Moodle vaak gehost door een derde partij. Omdat deze derde partij toegang heeft tot de sleutels, kunnen ze de gegevens ontsleutelen.
De meeste testplatforms hebben beheerders- of verhoogde functies die onbeperkte toegang bieden. In deze gevallen kan het moeilijk zijn om de toegang tot de opnames te controleren terwijl deze gebruikers hun normale taken kunnen uitvoeren. Door de eigen controle van de organisatie over de privésleutel te gebruiken, kunnen zij de toegang op een fijner niveau controleren.
In toekomstige versies zijn we van plan een individueel door een instelling goedgekeurde vertegenwoordiger toe te staan hun eigen asymmetrische publieke sleutel te genereren en te gebruiken.
We blijven hard werken om onze partners en examenkandidaten te beschermen tegen de nieuwste bedreigingen, en met deze update zijn we verheugd om beheerders nog meer controle en opties te bieden om de informatie van hun instelling te beschermen.
Met deze verhoogde beveiliging streven we ernaar de hoogste kwaliteit leeromgeving te bieden voor examenkandidaten. Examens maken is al stressvol zonder extra zorgen over gegevensprivacy en sleutelversleuteling. Voortaan zal deze verhoogde beveiliging instellingen en examenkandidaten gemoedsrust bieden mocht er ooit een beveiligingslek optreden.
Opmerking: Deze blogpost is op 23 juni 2021 bijgewerkt voor duidelijkheid.
