Megosztás a következőn keresztül:


Üzenetsorok ügyféloldali titkosítása

A .NET-hez és Pythonhoz készült Azure Queue Storage-ügyfélkódtárak támogatják az ügyfélalkalmazásokon belüli adatok titkosítását az Azure Storage-ba való feltöltés előtt, valamint az adatok visszafejtését az ügyfélre való letöltés során. Az ügyfélkódtárak az Azure Key Vaulttal való integrációt is támogatják a tárfiók kulcskezeléséhez.

Fontos

Az Azure Storage mind a szolgáltatásoldali, mind az ügyféloldali titkosítást támogatja. A legtöbb forgatókönyv esetében a Microsoft szolgáltatásoldali titkosítási funkciók használatát javasolja az adatok védelme érdekében. A szolgáltatásoldali titkosítással kapcsolatos további információkért tekintse meg az Inaktív adatok Azure Storage-titkosítását.

Tudnivalók az ügyféloldali titkosításról

Az Azure Queue Storage ügyféloldali kódtára az AES használatával titkosítja a felhasználói adatokat. Az ügyféloldali titkosításnak két verziója érhető el az ügyféloldali kódtárban:

  • A 2. verzió Galois/Counter Mode (GCM) módot használ az AES-sel.
  • Az 1. verzió titkosítási blokkláncolást (CBC) használ az AES használatával.

Figyelmeztetés

Az ügyféloldali titkosítás 1. verziójának használata már nem ajánlott az ügyféloldali titkosítás biztonsági rése miatt az ügyféloldali kódtár CBC mód implementációjában. A biztonsági résről további információt az Azure Storage ügyféloldali titkosításának frissítése az SDK-ban a biztonsági rés kezelése érdekében című témakörben talál. Ha jelenleg az 1-es verziót használja, javasoljuk, hogy frissítse az alkalmazást a 2. verzió használatára, és migrálja az adatokat. További útmutatásért tekintse meg az alkalmazások biztonsági résének elhárítása című szakaszt.

Az alkalmazások biztonsági résének elhárítása

A Queue Storage-ügyfélkódtár CBC mód implementációjában felfedezett biztonsági rés miatt a Microsoft azt javasolja, hogy azonnal hajtsa végre az alábbi műveletek egyikét:

  • Fontolja meg a szolgáltatásoldali titkosítási funkciók használatát az ügyféloldali titkosítás helyett. A szolgáltatásoldali titkosítási funkciókról további információt az inaktív adatok Azure Storage-titkosításával kapcsolatban talál.

  • Ha ügyféloldali titkosítást kell használnia, akkor migrálja az alkalmazásokat az ügyféloldali titkosítás v1-ből az ügyféloldali titkosítás v2-be.

Az alábbi táblázat összefoglalja azokat a lépéseket, amelyekre szükség van, ha az alkalmazásokat ügyféloldali titkosítási v2-be szeretné migrálni:

Ügyféloldali titkosítás állapota Javasolt műveletek
Az alkalmazás ügyféloldali titkosítást használ az ügyféloldali titkosítás egy olyan verziója, amely csak az ügyféloldali titkosítás 1-es verzióját támogatja. Frissítse az alkalmazást az ügyféloldali titkosítás v2-t támogató ügyféloldali titkosítási verzió használatára. A támogatott verziók listájához tekintse meg az ügyféloldali titkosítás SDK-támogatási mátrixát.

Frissítse a kódot az ügyféloldali titkosítás v2 használatára.
Az alkalmazás ügyféloldali titkosítást használ az ügyféloldali titkosítást támogató ügyféloldali titkosítás 2-es verziójával. Frissítse a kódot az ügyféloldali titkosítás v2 használatára.

A Microsoft emellett a következő lépéseket javasolja az adatok védelme érdekében:

  • Konfigurálja a tárfiókokat úgy, hogy privát végpontok használatával biztonságossá tegye a virtuális hálózat (VNet) és a tárfiók közötti összes forgalmat egy privát kapcsolaton keresztül. További információ: Privát végpontok használata az Azure Storage-hoz.
  • Csak bizonyos hálózatokhoz való hálózati hozzáférés korlátozása.

SDK támogatási mátrix ügyféloldali titkosításhoz

Az alábbi táblázat azt mutatja be, hogy a .NET- és Python-ügyfélkódtárak mely verziói támogatják az ügyféloldali titkosítást:

.NET Python
Ügyféloldali titkosítás v2 és v1 12.11.0-s és újabb verziók 12.4.0-s és újabb verziók
Csak ügyféloldali titkosítás v1 12.10.0-s és korábbi verziók 12.3.0-s és korábbi verziók

Ha az alkalmazás ügyféloldali titkosítást használ a .NET vagy a Python ügyfélkódtár egy korábbi verziójával, először frissítenie kell a kódot egy olyan verzióra, amely támogatja az ügyféloldali titkosítás 2-es verzióját. Ezután vissza kell fejtenie és újra kell titkosítania az adatokat az ügyféloldali titkosítás v2-vel. Szükség esetén használhatja az ügyféloldali titkosítást támogató ügyféloldali titkosítás v2-t az ügyféloldali kódtár egy korábbi verziójával, a kód áttelepítése során.

Az ügyféloldali titkosítás működése

Az Azure Queue Storage ügyfélkódtárai borítéktitkosítással titkosítják és visszafejtik az adatokat az ügyféloldalon. A borítéktitkosítás egy kulcsot egy vagy több további kulcssal titkosít.

A Queue Storage ügyfélkódtárai az Azure Key Vaultra támaszkodnak az ügyféloldali titkosításhoz használt kulcsok védelméhez. További információ az Azure Key Vaultról: Mi az Az Azure Key Vault?.

Titkosítás és visszafejtés a borítéktechnikával

A borítéktechnikán keresztüli titkosítás a következőképpen működik:

  1. Az Azure Storage-ügyfélkódtár létrehoz egy tartalomtitkosítási kulcsot (CEK), amely egy egyszeri használatú szimmetrikus kulcs.

  2. A felhasználói adatok titkosítása a CEK használatával történik.

  3. A CEK ezután be van csomagolva (titkosítva) a kulcstitkosítási kulccsal (KEK). A KEK-t kulcsazonosító azonosítja, és lehet aszimmetrikus kulcspár vagy szimmetrikus kulcs. A KEK-t helyileg kezelheti, vagy egy Azure Key Vaultban tárolhatja.

    Maga az Azure Storage-ügyfélkódtár soha nem fér hozzá a KEK-hez. A kódtár meghívja a Key Vault által biztosított kulcsburkoló algoritmust. A felhasználók dönthetnek úgy, hogy egyéni szolgáltatókat használnak a kulcsburkoláshoz vagy a törléshez, ha szükséges.

  4. A titkosított adatok ezután fel lesznek töltve az Azure Queue Storage-ba. A burkolt kulcs és néhány további titkosítási metaadat együtt interpolálva lesz a titkosított adatokkal.

A borítéktechnikán keresztüli visszafejtés a következőképpen működik:

  1. Az Azure Storage-ügyfélkódtár feltételezi, hogy a felhasználó helyileg vagy egy Azure Key Vaultban kezeli a KEK-t. A felhasználónak nem kell tudnia a titkosításhoz használt konkrét kulcsot. Ehelyett beállítható és használható egy kulcsfeloldó, amely a kulcsok különböző kulcsazonosítóit oldja fel.
  2. Az ügyfélkódtár letölti a titkosított adatokat az Azure Storage-ban tárolt titkosítási anyagokkal együtt.
  3. A becsomagolt CEK ezután a KEK használatával bontja le (visszafejtve). Az ügyfélkódtár nem fér hozzá a KEK-hez a folyamat során, de csak az Azure Key Vault vagy más kulcstároló le nem bontott algoritmusát hívja meg.
  4. Az ügyfélkódtár a CEK használatával fejti vissza a titkosított felhasználói adatokat.

Üzenettitkosítás/visszafejtés

Mivel az üzenetsor-üzenetek bármilyen formátumúak lehetnek, az ügyfélkódtár egy egyéni formátumot határoz meg, amely tartalmazza az inicializálási vektort (IV) és a titkosított tartalomtitkosítási kulcsot (CEK) az üzenet szövegében.

A titkosítás során az ügyfélkódtár véletlenszerű 16 bájtos IV-t hoz létre, valamint egy 32 bájtos véletlenszerű CEK-et, és az üzenetsor-üzenet szövegének borítéktitkosítását hajtja végre ezen információk használatával. A becsomagolt CEK és néhány további titkosítási metaadat hozzáadódik a titkosított üzenetsor üzenetéhez. Ez a módosított üzenet a szolgáltatásban lesz tárolva.

<MessageText>{"EncryptedMessageContents":"6kOu8Rq1C3+M1QO4alKLmWthWXSmHV3mEfxBAgP9QGTU++MKn2uPq3t2UjF1DO6w","EncryptionData":{…}}</MessageText>

A visszafejtés során a rendszer kinyeri a becsomagolt kulcsot az üzenetsorból, és feloldja a feloldást. A IV is ki lesz nyerve az üzenetsor-üzenetből, és a le nem írt kulccsal együtt használja az üzenetsor-üzenet adatainak visszafejtéséhez. A titkosítási metaadatok kicsik (500 bájt alatt), így bár az üzenetsor üzeneteinek 64 KB-os korlátja felé számít, a hatásnak kezelhetőnek kell lennie. A titkosított üzenet Base64 kódolású, ahogy a fenti kódrészlet is mutatja, amely kibővíti az elküldött üzenet méretét.

Az üzenetsor üzeneteinek rövid élettartamú jellege miatt nem szükséges az üzenetsor-üzenetek visszafejtése és újbóli visszafejtése az ügyféloldali titkosítás v2-re való frissítés után. A kevésbé biztonságos üzeneteket a rendszer a normál üzenetsor-használat során elforgatja.

Ügyféloldali titkosítás és teljesítmény

Ne feledje, hogy a tárolási adatok titkosítása további teljesítménybeli többletterhelést eredményez. Amikor ügyféloldali titkosítást használ az alkalmazásban, az ügyféloldali kódtárnak biztonságosan létre kell hoznia a CEK-et és a IV-et, titkosítania kell magát a tartalmat, kommunikálnia kell a kiválasztott kulcstárolóval a kulcsbetöltéshez, valamint további metaadatokat kell formáznia és feltöltenie. Ez a többletterhelés a titkosítandó adatok mennyiségétől függ. Azt javasoljuk, hogy az ügyfelek mindig teszteljék az alkalmazásaikat a fejlesztés során.

Következő lépések