Miért nem titkosítás a Base64?
A Base64 csak bináris adat szöveges reprezentációja. Nincs titkos kulcs, nincs bizalmasság, és bárki azonnal vissza tudja dekódolni.
Röviden
A Base64 kódolás, nem titkosítás. Célja, hogy bináris adatot biztonságosan szöveges karakterkészletben ábrázoljon. Nincs hozzá titkos kulcs, és a visszaalakítás bárki számára triviális.
Encoding ≠ encryption
A kódolás célja kompatibilis reprezentáció előállítása. A Base64 tipikusan három bemeneti bájtot négy, meghatározott karakterkészletből választott karakterrel reprezentál. Ez növeli az adatméretet, de nem ad biztonsági védelmet.
Kódold és dekódold vissza ugyanazt a szöveget
Base64
A visszaalakításhoz nincs kulcs: ez reprezentáció, nem bizalmasság.
Encoding, hashing és titkosítás egy mondatban
- Encoding: reprezentációt változtat, titok nélkül visszafordítható.
- Hashing: egyirányú lenyomatot készít.
- Encryption: kulccsal visszafejthető bizalmasságot ad.
Miért látható egy JWT payloadja?
A klasszikus aláírt JWT három Base64URL-kódolt részt tartalmaz. A payload ezért egyszerűen dekódolható; az aláírás integritást és eredethitelességet szolgálhat, nem titkosságot. Érzékeny adatot ezért nem szabad csak azért payloadba tenni, mert a token „kódoltnak” néz ki.
Mikor hasznos a Base64?
Email/MIME tartalmaknál, Data URL-eknél, tokenek és bináris azonosítók szöveges formájánál vagy olyan csatornán, ahol bináris bájtokat nem kényelmes közvetlenül továbbítani. Biztonsági kontrollként viszont nem használható.
Gyakori kérdések
Ha Base64 után olvashatatlan a szöveg, akkor titkos?
Nem. Az olvashatatlanság nem biztonsági tulajdonság. A Base64 szabványos kódolás, bárki vissza tudja dekódolni kulcs nélkül.
Források és szabványok
Biztonsági témánál az elsődleges szabvány és a karbantartott szakmai útmutató fontosabb, mint egy véletlen implementációs példa. Az alábbi forrásokból érdemes továbbmenni.
Kapcsolódó ByBence