Versleuteling van een datablok. AES-crypte gebruiken

TKIP en AES zijn twee alternatief soort encryptie die in de modi wordt gebruikt WPA-beveiliging en WPA2. Bij beveiligingsinstellingen draadloos netwerk bij routers en access points kun je er één kiezen drie opties encryptie:

  • TKIP;
  • TKIP+AES.

Als u de laatste (gecombineerde) optie selecteert, kunnen clients verbinding maken met het toegangspunt met behulp van een van de twee algoritmen.

TKIP of AES? Wat is beter?

Antwoord voor moderne apparaten, is het AES-algoritme beslist geschikter.

Gebruik TKIP alleen als u problemen ondervindt bij het kiezen van de eerste (het komt soms voor dat u bij gebruik AES-codering De verbinding met het toegangspunt is onderbroken of helemaal niet tot stand gebracht. Dit wordt gewoonlijk hardware-incompatibiliteit genoemd).

Wat is het verschil

AES is een modern en veiliger algoritme. Het is compatibel met de 802.11n-standaard en biedt hoge snelheid dataoverdracht.

TKIP is verouderd. Hij heeft meer laag niveau beveiliging en ondersteunt gegevensoverdrachtsnelheden tot 54 Mbit/s.

Hoe u kunt overstappen van TKIP naar AES

Geval 1. Het access point werkt in TKIP+AES-modus

In dit geval hoeft u alleen maar het coderingstype op clientapparaten te wijzigen. De eenvoudigste manier om dit te doen is door het netwerkprofiel te verwijderen en er opnieuw verbinding mee te maken.

Geval 2: Het toegangspunt gebruikt alleen TKIP

In dit geval:

1. Ga eerst naar de webinterface van het toegangspunt (respectievelijk router). Wijzig de encryptie naar AES en sla de instellingen op (lees hieronder meer).

2. Wijzig de codering op clientapparaten (meer details in de volgende paragraaf). En nogmaals, het is gemakkelijker om het netwerk te vergeten en er opnieuw verbinding mee te maken door de beveiligingssleutel in te voeren.

AES-encryptie inschakelen op de router

Gebruik D-Link als voorbeeld

Ga naar de sectie Draadloze setup.

Klik op de knop Handmatige draadloze verbinding instellen.

Beveiligingsmodus instellen WPA2-PSK.

Zoek een artikel Cijfertype en stel de waarde in AES.

Klik Instellingen opslaan.

Ik gebruik TP-Link als voorbeeld

Open gedeelte Draadloze.

Selecteer een item draadloze beveiliging.

In het veld Versie selecteren WPA2-PSK.

In het veld Encryptie selecteren AES.

Klik op de knop Redden:

Wijzig het draadloze coderingstype in Windows

Windows 10 en Windows 8.1

Deze besturingssysteemversies hebben geen . Daarom zijn er drie opties om de codering te wijzigen.

Optie 1. Windows zelf zal een fout in de netwerkinstellingen detecteren en u vragen de beveiligingssleutel opnieuw in te voeren. Waarin juiste algoritme encryptie wordt automatisch geïnstalleerd.

Optie 2. Windows kan geen verbinding maken en biedt aan om het netwerk te vergeten door de bijbehorende knop weer te geven:

Hierna kunt u zonder problemen verbinding maken met uw netwerk, want... haar profiel wordt verwijderd.

Optie 3. U zult het netwerkprofiel handmatig moeten verwijderen via opdrachtregel en pas daarna opnieuw verbinding maken met het netwerk.

Volg deze stappen:

1 Start de opdrachtprompt.

2 Voer de opdracht in:

Netsh WLAN-show profielen

om een ​​lijst met opgeslagen draadloze netwerkprofielen weer te geven.

3 Voer nu het commando in:

Netsh wlan verwijder profiel "uw netwerknaam"

om het geselecteerde profiel te verwijderen.

Als de netwerknaam een ​​spatie bevat (bijvoorbeeld "wifi2"), zet het tussen aanhalingstekens.

De afbeelding toont alle beschreven acties:

4 Klik nu op het draadloze netwerkpictogram in de taakbalk:

5 Selecteer een netwerk.

6 Klik Aansluiten:

7 Voer uw beveiligingssleutel in.

Windows 7

Alles is hier eenvoudiger en duidelijker.

1 Klik op het draadloze netwerkpictogram in de taakbalk.


3 Klik op de link Draadloos netwerkbeheer:

4 Klik klik met de rechtermuisknop muis op het profiel van het gewenste netwerk.

5 Selecteer Eigenschappen:

Aandacht! Bij deze stap kunt u ook klikken Netwerk verwijderen en maak er gewoon opnieuw verbinding mee! Als u besluit dit te doen, hoeft u niet verder te lezen.

6 Ga naar het tabblad Veiligheid.

Lange tijd heb ik gedacht dat cryptografische encryptie- en hash-algoritmen, zoals AES en MD5, erg complex waren en niet gemakkelijk te schrijven, zelfs niet als je de volledige documentatie bij de hand had. Ingewikkelde implementaties van deze algoritmen in verschillende talen programmering heeft deze mening alleen maar versterkt. Maar onlangs had ik veel vrije tijd en besloot ik deze algoritmen te begrijpen en ze te schrijven. Het bleek dat ze heel eenvoudig zijn en heel weinig tijd vergen om ze te implementeren.

In dit artikel zal ik schrijven hoe het AES-coderingsalgoritme (ook wel Rijndael genoemd) werkt en dit in JavaScript schrijven. Waarom JavaScript? Om een ​​programma in deze taal te draaien, heb je alleen de browser nodig waarin je dit artikel leest. Om een ​​programma, bijvoorbeeld in C, uit te voeren, heb je een compiler nodig en er zijn maar heel weinig mensen die tijd willen besteden aan het compileren van code uit een bepaald artikel. Aan het einde staat een link waar u het archief kunt downloaden html-pagina en verschillende js-bestanden - dit is een voorbeeld van de implementatie van AES in JavaScript.

Hoe AES toe te passen

Dit algoritme converteert het ene 128-bits blok naar het andere, met behulp van de geheime sleutel die nodig is voor een dergelijke conversie. Om het resulterende 128-bits blok te decoderen, gebruikt u een tweede transformatie met hetzelfde geheime sleutel. Het ziet er zo uit:

Cipher = coderen(blok, sleutel) // blok coderen met sleutel gebruiken block = decrypt(cipher, key) // decrypt cipher met sleutel

De blokgrootte is altijd 128 bits. De sleutelgrootte is ook een vaste grootte. Om willekeurige tekst met een willekeurig wachtwoord te coderen, kunt u dit doen:

  • wachtwoord-hash verkrijgen
  • zet de hash om in een sleutel volgens de regels beschreven in de AES-standaard
  • tekst opsplitsen in blokken van 128 bits
  • versleutel elk blok met de coderingsfunctie

Het kan als volgt worden geschreven:

Hash = md5(wachtwoord) // MD5-hash is 128 bits lang sleutel = sleuteluitbreiding(hash) // zet de hash om in sleutelblokken = split(tekst, 16) // splitst de tekst in blokken van 16 bytes voor (i = 0; ik< blocks.length; i++) cipher[i] = encrypt(blocks[i], key)

Om een ​​reeks coderingsblokken te decoderen, moet u decodering op elk blok toepassen:

Hash = md5(wachtwoord) sleutel = sleuteluitbreiding(hash) voor (i = 0; i< cipher.length; i++) blocks[i] = decrypt(cipher[i], key) text = merge(blocks) // соединить все блоки в одну строку

Uiteraard mag de tekstlengte geen veelvoud van 128 bits zijn. In dergelijke gevallen kunt u de tekst met nullen opvullen tot de gewenste lengte, en meerdere bytes aan de gecodeerde gegevens toevoegen met de gecodeerde grootte van de originele tekst. De functies aes.encrypt en aes.decrypt in het bestand aes.js in het voorbeeld gebruiken deze aanpak.

Veld GF(2 8)

AES maakt uitgebreid gebruik van het zogenaamde eindige veld GF(2 8). U hoeft niet te weten wat dit veld is om AES in JavaScript te schrijven, maar als u AES beter wilt begrijpen, lees dan dit gedeelte.

Veld GF(2 8) zijn de getallen 0..255 waarvoor speciale vermenigvuldiging en speciale optelling zijn gedefinieerd. Laten we een getal uit dit veld nemen en het voorstellen als acht bits: a = a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 . Laten we ons het getal b op dezelfde manier voorstellen. Het optellen van a en b is de bekende bitsgewijze xor-bewerking:

A + b = a xof b

Optelling heeft eenvoudige eigenschappen:

A+a=0
-een = 0 - een = een
a - b = a + (-b) = a + b

Vermenigvuldiging is moeilijker te definiëren. Laten we polynomen schrijven met coëfficiënten uit de bits van deze getallen:

P = een 7 x 7 + een 6 x 6 + een 5 x 5 + een 4 x 4 + een 3 x 3 + een 2 x 2 + een 1 x + een 0
q = b 7 x 7 + b 6 x 6 + b 5 x 5 + b 4 x 4 + b 3 x 3 + b 2 x 2 + b 1 x + b 0

Laten we nu deze twee polynomen vermenigvuldigen en de rest van de deling door m vinden:

M = x 8 + x 4 + x 3 + x + 1
r = pq mod(m)

Waarom is voor deze specifieke m gekozen? Dit polynoom heeft slechts twee polynoomdelers waarin het zonder rest is verdeeld: eenheid en zichzelf. Naar analogie met priemgetallen, is de polynoom m "eenvoudig". Je kunt de rest van de verdeling op dezelfde manier vinden als voor gewone cijfers: hiervoor is het voldoende om polynomen te kunnen vermenigvuldigen, optellen en aftrekken, en optellen en aftrekken worden uitgevoerd volgens de regels GF (2 8), d.w.z. optellen en aftrekken van polynomen is de xor tussen elk paar coëfficiënten. Hier zijn twee voorbeelden:

X 3 + x 2 + 1 mod (x 3 + 1) = x 2 // moet x 3 +1 één keer aftrekken
x 3 + x 2 + 1 mod. (x 2 + 1) = (x 3 + x 2 + 1) - (x + 1)(x 2 + 1) = -x

Laten we de polynoom r in de vorm weergeven

R = r 7 x 7 + r 6 x 6 + r 5 x 5 + r 4 x 4 + r 3 x 3 + r 2 x 2 + r 1 x + r 0

De 8 coëfficiënten zijn een 8-bits getal uit het GF(2 8)-veld en dit getal wordt het product a b genoemd. In tegenstelling tot optellen kan vermenigvuldiging niet worden gevonden met een paar eenvoudige bitsgewijze bewerkingen. Vermenigvuldiging met een willekeurige polynoom in het veld GF(2 8) kan echter worden gereduceerd tot vermenigvuldiging met een polynoom x, en vermenigvuldiging met x kan worden gedaan met behulp van verschillende bitsgewijze bewerkingen, die hieronder zullen worden besproken.

Hexadecimale cijfers worden gebruikt om polynomen in GF(2 8) aan te duiden. Bijvoorbeeld

M = x 8 + x 4 + x 3 + x + 1 = 100011011 = 0x011b = (01)(1b)

Vermenigvuldigen met de polynoom x = (02) in het GF(2 8)-veld is heel eenvoudig. Laten we eens naar het stuk kijken:

Xp = x(een 7 x 7 + een 6 x 6 + een 5 x 5 + een 4 x 4 + een 3 x 3 + een 2 x 2 + een 1 x + een 0) =
een 7 x 8 + een 6 x 7 + een 5 x 6 + een 4 x 5 + een 3 x 4 + een 2 x 3 + een 1 x<2 + a 0 x
p = een 7 een 6 een 5 een 4 een 3 een 2 een 1 een 0
xp = a 7 a 6 a 5 a 4 a 3 a 2 a 1 a 0 0 // dit is een verschuiving naar links met één bit

Nu moeten we de rest vinden, gedeeld door m. Als bit a 7 = 1, dan moet je m één keer aftrekken. Als een 7 = 0 hoeft er niets afgetrokken te worden. Dus:

R = xp mod (m) = xp - m als a 7 = 1
r = xp mod (m) = xp als a 7 = 0

Vermenigvuldiging met x kan als volgt worden geschreven:

Gf.xtime = functie(b) ( var highbit = b & 0x80 var shl = (b<< 1) & 0xff return highbit == 0 ? shl: shl ^ 0x1b }

Als je weet hoe je met x moet vermenigvuldigen, kun je met elk ander polynoom vermenigvuldigen. Laten we bijvoorbeeld een b vinden waarbij a = (3c), b = (a1):

B = (a1) = 10100001 = (80) + (20) + (01)
een b = een (80) + een (20) + een (01) = een x 7 + een x 5 + een =
een (02) (02) (02) (02) (02) (02) (02) + een (02) (02) (02) (02) (02) + een =
(29) + (c1) + (3c) = (d4)

Er resteert nog één eenvoudige handeling in het GF(2 8)-veld. Elke byte b, behalve nul, heeft een omgekeerde byte a = b -1 die de eigenschap a b = (01) heeft. Ik heb alle drie de functies voor het werken met een veld verzameld - vermenigvuldigen met x, twee willekeurige bytes vermenigvuldigen en het omgekeerde vinden - in een kleine gf-bibliotheek in JavaScript.

SBox-tabel

Deze tabel is een array van 256 bytes en wordt gebruikt om de ene byte door de andere te vervangen. Het is niet nodig om te begrijpen hoe het wordt verkregen, omdat u deze array eenvoudig naar de code kunt kopiëren. Om erachter te komen waar het SBox[b]-element gelijk aan is, heb je drie stappen nodig:

  1. zoek de retourbyte naar b in het veld GF(2 8) (laat de nul ongewijzigd)
  2. vermenigvuldig het acht-bits resultaat met een 8x8-matrix van 64 bits
  3. toevoegen (63)

Samenvattend geven deze drie acties een affiene transformatie:

Het is gemakkelijk te begrijpen hoe deze matrix van bits is opgebouwd. Om bits te vermenigvuldigen, moet je “en” gebruiken, om – “xor” toe te voegen. Bijvoorbeeld:

R 0 = b 0 + b 4 + b 5 + b 6 + b 7 + 1

Ik schreef de sbox-functie als volgt:

Aes.sbox = functie(b) ( var m = 0xf8 var r = 0 var q = gf.inv(b) || 0 for (var i = 0; i< 8; i++) { r = (r << 1) | bits.xorbits(q & m) m = (m >> 1) | ((m&1)<< 7) } return r ^ 0x63 }

De opgebouwde tabel ziet er als volgt uit:

63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0
b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
53 d1 00 ed 20 fc b1 5b 6a cb worden 39 4a 4c 58 cf
d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2
cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db
e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79
e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08
ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16

Je kunt het eenvoudigweg in de code kopiëren, zoals vaak wordt gedaan, of je kunt het indien nodig berekenen met de sbox-functie.

InvSBox-tabel

Om tekst te decoderen gebruikt AES de omgekeerde tabel van SBox. De InvSBox-tabel heeft één eigenschap: InvSBox] = i. InvSBox ziet er als volgt uit:

52 09 6a d5 30 36 a5 38 bf 40 a3 9e 81 f3 d7 fb
7c e3 39 82 9b 2f ff 87 34 8e 43 44 c4 de e9 cb
54 7b 94 32 a6 c2 23 3d ee 4c 95 0b 42 fa c3 4e
08 2e a1 66 28 d9 24 b2 76 5b a2 49 6d 8b d1 25
72 f8 f6 64 86 68 98 16 d4 a4 5c cc 5d 65 b6 92
6c 70 48 50 fd ed b9 da 5e 15 46 57 a7 8d 9d 84
90 d8 ab 00 8c bc d3 0a f7 e4 58 05 b8 b3 45 06
d0 2c 1e 8f ca 3f 0f 02 c1 af bd 03 01 13 8a 6b
3a 91 11 41 4f 67 dc ea 97 f2 cf ce f0 b4 e6 73
96 ac 74 22 e7 ad 35 85 e2 f9 37 e8 1c 75 df 6e
47 f1 1a 71 1d 29 c5 89 6f b7 62 0e aa 18 worden 1b
fc 56 3e 4b c6 d2 79 20 9a db c0 fe 78 cd 5a f4
1f dd a8 33 88 07 c7 31 b1 12 10 59 27 80 ec 5f
60 51 7f a9 19 b5 4a 0d 2d e5 7a 9f 93 c9 9c ef
a0 e0 3b 4d ae 2a f5 b0 c8 eb bb 3c 83 53 99 61
17 2b 04 7e ba 77 d6 26 e1 69 14 63 55 21 0c 7d

Soorten AES

Het AES-algoritme converteert een blok van 128 bits naar een ander blok van dezelfde lengte. Voor de transformatie wordt het uit de sleutel verkregen sleutelschema w gebruikt. Een blok van 128 bits in AES wordt weergegeven als een 4×N-matrix b. De standaard staat slechts één waarde van Nb = 4 toe, dus de bloklengte is altijd 128 bits, hoewel het algoritme met elke Nb kan werken. De sleutellengte is 4N k bytes. Het blokversleutelingsalgoritme bestaat uit Nr-ronden: toepassingen van dezelfde groep transformaties op een gegevensblok van 128 bits. De standaard staat de volgende combinaties van deze drie parameters toe:

Nk Nb Nr
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14

KeyExpansion-conversie

Voor het versleutelen van tekst maakt AES geen gebruik van een wachtwoord of wachtwoordhash, maar van een zogenaamd ‘sleutelschema’ dat uit de sleutel wordt verkregen. Dit schema kan worden weergegeven als N r + 1 matrices met een grootte van 4×N b . Het versleutelingsalgoritme neemt N r + 1 stappen en bij elke stap neemt het, naast andere acties, één 4×N b-matrix uit het “schema” en voegt deze element voor element toe aan het datablok.

Versleuteling van gegevensblokken

Het versleutelingsalgoritme ontvangt als invoer een 128-bit datablokinvoer en een sleutelschema w, dat wordt verkregen na KeyExpansion. Het schrijft de invoer van 16 bytes als een 4×Nb-matrix s, de AES-status genoemd, en past vervolgens 4 transformaties N r keer toe op deze matrix. Uiteindelijk schrijft het de matrix als een array en stuurt deze naar de uitvoer - dit is een gecodeerd blok. Elk van de vier transformaties is heel eenvoudig.

  1. VoegRoundKey toe neemt één matrix met de grootte 4×N b uit het sleutelschema en voegt deze element voor element toe aan de toestandsmatrix. Als u AddRoundKey twee keer toepast, verandert er niets, dus de conversie is omgekeerd aan AddRoundKey zelf.
  2. SubBytes vervangt elk element van de toestandsmatrix door het overeenkomstige element van de SBox-tabel: s ij = SBox. De SubBytes-conversie is omkeerbaar. Het omgekeerde ervan wordt gevonden met behulp van de InvSBox-tabel.
  3. ShiftRijen verschuift de i-de rij van de matrix s met i posities naar links, waarbij i vanaf nul wordt geteld. De inverse transformatie InvShiftRows verschuift rijen naar rechts.
  4. MengKolommen vermenigvuldigt elke kolom met matrix s aan de linkerkant met een speciale 4x4-matrix:

    Gebruik voor codering = [(02) (03) (01) (01)]. U kunt controleren of de inverse transformatie naar MixColumns[(02) (03) (01) (01)] MixColumns[(0e) (0b) (0d) (09)] is.

Versleuteling kan schematisch als volgt worden weergegeven:

AddRoundKey(0) voor (var i = 1; i<= Nr - 1; i++) { SubBytes() ShiftRows() MixColumns() AddRoundKey(i) } SubBytes() ShiftRows() AddRoundKey(Nr)

Decodering

Zoals u kunt zien, past AES, om een ​​gegevensblok te coderen, er achtereenvolgens veel omkeerbare transformaties op toe. Om te decoderen moet je inverse transformaties in omgekeerde volgorde toepassen.

Een stukje optimalisatie

De sbox-functie heeft in totaal 256 mogelijke invoerwaarden en 256 mogelijke uitvoerwaarden. Om te voorkomen dat sbox meerdere keren voor één argument moet worden berekend, moet u de resultaten in de cache opslaan. Dit is eenvoudig te doen in JavaScript zonder zelfs maar de eerder geschreven code te wijzigen. Om dit te doen, hoeft u alleen dit hieronder toe te voegen:

Function.prototype.cached = function() ( var old = this var cache = () return function(x) ( if (cache[x] !== ongedefinieerd) return cache[x] cache[x] = old(x) return cache[x] ) ) aes.sbox = aes.sbox.cached()

Deze code vervangt sbox door een functie die de resultaten van sbox in de cache opslaat. Hetzelfde kan voor elke functie worden gedaan, bijvoorbeeld voor invsbox en rcon. Dezelfde techniek kan worden toegepast op de functie gf.mul, die twee bytes in het veld GF(2 8) vermenigvuldigt, maar in dit geval zal de cachegrootte 256x256 elementen zijn, wat behoorlijk veel is.

Koppelingen

De documentatie voor AES in het Engels heet FIPS 197.

Tags:

  • AES
  • Rijndael
  • cryptografie
  • encryptie
  • SBox
  • JavaScript
Tags toevoegen

AES-crypte is een tool voor bestandsversleuteling die compatibel is met alle populaire besturingssystemen en gebruik maakt van het symmetrische AES-algoritme voor bestandsversleuteling.

U hoeft geen ervaren gebruiker te zijn of de principes van cryptografie te begrijpen om deze oplossing te gebruiken. AES Crypt is een open source-project dat gratis wordt verspreid.

AES Crypt is een uitstekend hulpmiddel voor gebruikers die de veiligheid van persoonlijke gegevens belangrijk vinden tijdens het reizen, bij het hosten van bestanden op servers op internet, of die belangrijke gegevens thuis of op kantoor willen beschermen tegen diefstal. AES Crypt zal een ideale oplossing zijn voor gebruikers die gegevens opslaan in een bank, cloudopslag of op een plaats waar ongeautoriseerde toegang waarschijnlijk is.

De oplossing is beschikbaar voor verschillende platforms, waaronder Windows, Mac, Linux, maar ook voor mobiele iPhone- en iPad-apparaten. Voor Android-smartphones en -tablets raden ontwikkelaars aan de applicatie Crypt4All van derden te gebruiken, compatibel met AES Crypt.

AES-crypte gebruiken

De tool heeft geen bekende vensterinterface en alle acties worden uitgevoerd via het contextmenu. Het enige wat u hoeft te doen is met de rechtermuisknop op het bestand te klikken en codering of decodering te selecteren - AES Encrypt of AES Decrypt. Het gecodeerde bestand heeft dezelfde naam als het originele bestand, maar heeft de extensie “.aes”. Houd er rekening mee dat bij het coderen van een bestand met AES Crypt het originele bestand niet wordt verwijderd. Wanneer u het origineel verwijdert, moet u het wachtwoord onthouden, anders verliest u de toegang tot het bestand.

Ondersteuning voor opdrachtregels wordt ondersteund. Voer de opdracht "aescrypt" in, samen met de bestandsnaam en het wachtwoord om te coderen.

Met behulp van een krachtig 256-bit-coderingsalgoritme kan AES Crypt gevoelige gegevens veilig beschermen. Een gecodeerd bestand is nutteloos zonder het wachtwoord te kennen, dus u hoeft zich geen zorgen te maken over ongeautoriseerde toegang tot gecodeerde persoonlijke gegevens.

ISPmanager (Lite en Business) implementeert vanaf versie 5.81.0 een back-up-encryptiemechanisme gebouwd op basis van de bibliotheek OpenSSL.

Doel

Codering is noodzakelijk om de gegevens in de back-up te beschermen tegen ongeoorloofde toegang. Dit geldt vooral voor externe opslag, zoals Yandex.Schijf, Dropbox, Amazon S3, En FTP En SFTP.

Bestanden

Bestanden met back-upgegevens met het voorvoegsel F, I of C zijn onderworpen aan versleuteling. Gecodeerde bestanden hebben de extensie aes, Bijvoorbeeld, F2016-10-18.usr2#.tgz.aes. Bestanden met een back-uplijst die met een datum beginnen, zijn ook onderworpen aan versleuteling, bijvoorbeeld 2016-10-18.usr2#.tgz.aes.

Informatiebestanden met de extensie informatie, Bijvoorbeeld, 2016-10-18.usr2#.info zijn niet onderworpen aan encryptie. IN informatie de bestanden slaan de parameter op sleutel_hash, met daarin de wachtwoord-hash.

In een lokale map /usr/local/mgr5/var/backup/ispmgr informatie bestanden en bestanden die de back-uplijst bevatten, worden in niet-gecodeerde vorm opgeslagen.

Encryptie algoritme

Er wordt een algoritme gebruikt om back-upkopieën te coderen AES-256 verzorgd door de bibliotheek OpenSSL. Het back-upwachtwoord opgeslagen in informatie bestand wordt gecodeerd met behulp van het algoritme SHA-256.

Encryptie in- of uitschakelen

Om de codering in te schakelen, moet u het formulier "Back-up" openen, waar de instellingen zich bevinden, op het tabblad "Basis", vult u het veld "Back-upwachtwoord" in en klikt u op de knop "Ok".

Om de codering uit te schakelen, moet u het veld “Back-upwachtwoord” leegmaken en op de knop “Ok” klikken.

Encryptie en differentiële back-ups

Het inschakelen van codering heeft invloed op de manier waarop differentiële back-ups worden gemaakt.

Als de huidige dag van de week niet zondag is en er is een volledige kopie, dan zal na het inschakelen van de codering de volgende kopie volledig zijn en niet differentieel.

Als codering is ingeschakeld in een volledige back-up en het wachtwoord vervolgens is gewijzigd, wordt er een volledige back-up gemaakt.

Als er codering is gebruikt en is uitgeschakeld, wordt er ook een volledige back-up gemaakt.

Herstel na wachtwoordwijziging

Als de back-up is gemaakt met een wachtwoord en het wachtwoord is gewijzigd, wordt er bij het terugzetten of downloaden van de back-up een formulier weergegeven waarin om het wachtwoord wordt gevraagd. Als u een onjuist wachtwoord invoert, wordt er een foutmelding weergegeven.

Als er onder de beheerder meerdere gebruikers met verschillende wachtwoorden zijn geselecteerd, wordt u gevraagd de gebruikers afzonderlijk te herstellen door voor elke back-up een wachtwoord in te voeren.

Gebruikersopslag

De optie om encryptie in te schakelen is ook beschikbaar voor aangepaste opslag. Om dit te doen, moet u inloggen als gebruiker en de instructies volgen die worden beschreven in het gedeelte 'Encryptie in- en uitschakelen'.

U kunt dezelfde opslag die als hoofdopslag wordt gebruikt, niet gebruiken als gebruikersopslag.

Het wachtwoord in de gebruikersopslag wijzigen

Wanneer u een back-up uploadt naar een gebruikersopslag, wordt de back-up opgeslagen in overeenstemming met de instellingen voor de gebruikersopslag.

Het wordt aanbevolen om het wachtwoord voor de gebruikersopslag op zondag te wijzigen, wanneer er een volledige back-up wordt gemaakt. Dit komt doordat de volledige en differentiële back-up met verschillende wachtwoorden worden gecodeerd en er problemen zullen optreden bij het herstellen en downloaden van de differentiële back-up.

Een gecodeerd archief importeren

In het menugedeelte kunt u als beheerder een gecodeerd archief importeren Gebruiker importeren. In het veld Bron Type Kiezen van lokaal archief of directory en specificeer het pad naar de map met het volledig gecodeerde archief, dat het lijstbestand bevat, informatie bestand- en gegevensbestanden. U moet ook een wachtwoord opgeven voor het gecodeerde archief.

Bij het importeren van een gecodeerd archief wordt het wachtwoord niet gewijzigd.

Voorbeeld van archiefdecodering

openssl enc -d -k wachtwoord -aes-256-cbc -in /var/backup/F2016-12-08.www-root.tgz.aes -out /var/backup/decrypted.tgz

Dit formulier is geen ondersteuningsverzoek.
Wij kunnen u niet identificeren en reageren niet op uw bericht.