Hoppa till innehåll

47-dagarscertifikaten är på väg. Är du redo?

Agera nu →

Vad är formatbevarande kryptering (FPE)? Är formatbevarande kryptering säker?

Vad-är-formatbevarande-kryptering-FPE_-Är-formatbevarande-kryptering-säker_

Formatbevarande kryptering (FPE) är en krypteringsmetod som håller krypterad data i samma format och längd som originalet. Ett 16-siffrigt kortnummer krypteras till ett annat 16-siffrigt nummer, så skyddad data passar befintliga databaser och applikationer utan schemaändringar. FPE definieras av NIST SP 800-38G (lägen FF1 och FF3-1) och är byggd på AES.

Formatbevarande kryptering (FPE) är en krypteringsmetod som bevarar formatet och längden på de data den skyddar: ett 16-siffrigt kreditkortsnummer blir ett annat 16-siffrigt nummer, och ett 9-siffrigt personnummer blir ytterligare ett 9-siffrigt värde. Detta gör att känsliga data kan krypteras utan att databaser och applikationer som förväntar sig ett specifikt format förstörs. FPE är standardiserat i NIST SP 800-38G och är byggt på AES-chiffern.

Formatbevarande kryptering

Key Takeaways

  • FPE krypterar data samtidigt som det behÃ¥ller sitt ursprungliga format och längd, sÃ¥ chiffertext passar samma databasfält och applikationsregler som klartexten.
  • Det är standardiserat av NIST i SP 800-38G, som definierar lägena FF1 och FF3-1 (gemensamt en del av FFX-konstruktionen), alla byggda pÃ¥ AES.
  • FPE är idealiskt för strukturerad känslig data: kreditkortsnummer (PAN), personnummer och annan PII, och hjälper till med PCI DSS och liknande efterlevnad.
  • Det skiljer sig frÃ¥n tokenisering: FPE är reversibel kryptografi med en nyckel, medan tokenisering byter data mot orelaterade tokens som spÃ¥ras i ett valv.
  • Eftersom FPE är AES-baserat och symmetriskt är det kvantresistent pÃ¥ samma sätt som AES är; dess säkerhetsförbehÃ¥ll (smÃ¥ domäner, den tidigare FF3-bristen) är klassiska, inte kvanta.

Vad är formatbevarande kryptering?

De flesta krypteringsmetoder ändrar både innehållet och formen på data: kryptera ett 16-siffrigt kortnummer med standard AES och du får ett långt block av binärt, oigenkännligt och med en annan längd. Det är okej för en fil, men det förstör en databaskolumn som förväntar sig exakt 16 siffror, eller en applikation som validerar formatet. Formatbevarande kryptering löser detta genom att producera chiffertext i samma format och längd som indata. Det krypterade värdet ser fortfarande ut som ett kortnummer, ett personnummer eller en e-postadress, så det passar in i befintliga system utan schemaändringar eller omskrivningar av applikationer.

Detta gör FPE särskilt användbart för att skydda personligt identifierbar information (PII), kreditkortsnummer (PAN), personnummer och liknande strukturerade fält, inklusive i äldre programvara som inte kan hantera långa eller udda formaterade strängar. Det är ett giltigt, NIST-standardiserat val för att uppfylla krypteringskrav enligt standarder som PCI DSS.

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

Hur fungerar FPE?

FPE är byggt på AES-blockchiffern, men tillämpas på ett speciellt sätt så att utdata håller sig inom samma teckenuppsättning och längd som indata. De viktigaste delarna:

  1. Ett definierat alfabet (radix): Du anger uppsättningen tillåtna symboler, till exempel siffrorna 0 till 9 (radix 10), hexadecimala eller helt alfanumeriska. Chiffertexten är hämtad från samma alfabet, vilket är det som bevarar formatet.
  2. Ett Feistel-nätverk: FPE-lägen använder flera rundor av en Feistel-funktion: inmatningen delas upp i två halvor, varje runda transformerar en halva med hjälp av AES och tangenten, och halvorna kombineras och byts ut. FF1 använder 10 rundor; FF3-1 använder 8. Detta blandar värdet samtidigt som det hålls inom intervallet.
  3. En nyckel och en finjustering: Liksom all kryptering använder FPE en hemlig nyckel. Den använder också en "tweak", ett icke-hemligt värde (som ett fält- eller postidentifierare) som varierar krypteringen så att identiska indata kan mappas till olika utdata i olika sammanhang, vilket förbättrar säkerheten för små datadomäner.

Eftersom det är reversibelt dekrypteras värdet tillbaka till originalet med exakt samma nyckel och tweak. Detta är en viktig skillnad från hashing eller tokenisering : FPE är sann, reversibel kryptering.

FPE-lägen: FF1, FF3 och FF3-1 (NIST SP 800-38G)

NIST standardiserade FPE i specialpublikation 800-38G, som definierar de godkända lägena. Deras historia är viktig:

  • FF1: Det mest använda och mest flexibla läget, med 10 Feistel-omgÃ¥ngar. Det stöder ett brett utbud av inmatningslängder och alfabet och är fortfarande en NIST-godkänd metod.
  • FF2: Föreslagen men aldrig godkänd av NIST, sÃ¥ den används inte i kompatibla implementeringar.
  • FF3 och FF3-1: FF3 (8 omgÃ¥ngar) godkändes ursprungligen, men 2017 hittade kryptografer en attack som visade att den inte nÃ¥dde den pÃ¥stÃ¥dda 128-bitarssäkerheten. NIST reviderade den till FF3-1 2019 och justerade parametrar för att Ã¥tgärda svagheten. Nuvarande implementeringar använder FF3-1, inte den ursprungliga FF3.

Tillsammans kallas dessa Feistel-baserade metoder för FFX-konstruktionen. FF3-episoden är en användbar påminnelse om att FPE-lägen är mer känsliga än standard AES-kryptering, vilket är just därför det är viktigt att använda verifierade, aktuella, NIST-godkända lägen (FF1 eller FF3-1).

Är FPE svagare än AES?
Det är mer korrekt att säga att FPE är AES som används på ett begränsat sätt, snarare än "svagare än AES". FF1 och FF3-1 är byggda på AES-chiffern och anses säkra när de implementeras med nuvarande, NIST-godkända parametrar. De verkliga nackdelarna är strukturella: kryptering av en mycket liten domän (t.ex. ett kort numeriskt fält) erbjuder i sig färre möjliga utdata, och FPE:s specialiserade lägen har visat sig vara svårare att få till rätt än vanlig AES, vilket FF3-revisionen visade. Korrekt använt med FF1 eller FF3-1 och en ordentlig justering ger FPE ett starkt, standardbaserat skydd; det byter helt enkelt bort en del av AES:s generalitet mot förmågan att bevara formatet.

FPE vs. tokenisering

FPE jämförs ofta med tokenisering, eftersom båda skyddar strukturerad data som kortnummer samtidigt som de behåller ett användbart format. Skillnaden är fundamental:

AspectFormatbevarande krypteringtokenization
MetodReversibel kryptering med en nyckel (AES-baserad)Ersätter data med en orelaterad token
ReversibilitetDekrypterar tillbaka med nyckeln och justerarAvtokeniserad genom att söka upp ett valv eller en mappning
DatarelationChiffertext härleds matematiskt från inmatningenToken har inget matematiskt samband med värdet
lagringInget valv behövs; nyckelhantering krävsKräver vanligtvis ett tokenvalv eller en mappning
StandardNIST SP 800-38G (FF1, FF3-1)Ingen enskild algoritmstandard; PCI-riktlinjer gäller
Bäst förKryptera många fält i stor skala utan ett valvTa bort känsliga uppgifter helt från omfattningen

Kort sagt, FPE behåller data (krypterad) och behöver stark nyckelhantering, medan tokenisering ersätter data med en ersättare som spåras separat. Många organisationer använder båda, beroende på om de behöver reversibelt skydd i stor skala eller vill dra känslig data utanför en miljös efterlevnadsområde.

FPE i molnet

Flera leverantörer och plattformar erbjuder FPE. Bland de stora molnleverantörerna exponerar Google Cloud Platform ( GCP ) FPE genom sitt Data Loss Prevention (DLP) API , som stöder FF1 och FF3-1. För att använda det anger du alfabetet (till exempel NUMERIC för 0 till 9, HEXADECIMAL, UPPER_CASE_ALPHA_NUMERIC eller ALPHA_NUMERIC) eller en numerisk radix, så att den krypterade utdata håller sig inom den avsedda teckenuppsättningen. För ostrukturerad data kan GCP linda in chiffertexten i en surrogatannotering som märker det krypterade värdet så att det kan hittas och ångras senare. Tredjepartsleverantörer som Comforte, HashiCorp och Futurex tillhandahåller också FPE-funktioner.

Är FPE kvantsäkert? Utsikterna för 2026
FPE ärver sin kvantstruktur från AES, eftersom FF1 och FF3-1 är byggda på AES-chiffern. Som en symmetrisk konstruktion hotas FPE inte av Shors algoritm, som bryter mot algoritmer med offentlig nyckel som RSA och ECC men gäller inte symmetrisk kryptering. Den enda relevanta kvantattacken är Grovers algoritm, som halverar den effektiva nyckelstyrkan, så FPE byggd på AES-256 behåller en stark säkerhetsmarginal mot framtida kvantdatorer. Den viktiga poängen är att FPE:s verkliga säkerhetsöverväganden, att välja FF1 eller FF3-1, hantera små domäner noggrant och hantera nycklar och justeringar väl, är klassiska problem, inte kvantrelaterade. Den brådskande post-kvantmigreringen (där NIST slutförde ML-KEM, ML-DSA och SLH-DSA år 2024 och planerar att pensionera RSA och ECC senast 2030 till 2035) handlar om kryptografi med publik nyckel. FPE, liksom AES, förblir kvantresistent när den bygger på en stark nyckelstorlek.

Skräddarsydda krypteringstjänster

Vi utvärderar, strategiserar och implementerar krypteringsstrategier och lösningar.

Hur krypteringskonsulting hjälper

Att bestämma när man ska använda FPE, tokenisering eller standardkryptering, och implementera det med sund nyckelhantering, är precis den typ av arbete som Encryption Consultings krypteringsrådgivningstjänster stödjer. Vi utvärderar era känsliga dataflöden, rekommenderar rätt skyddsmetod för varje användningsfall och utformar NIST-anpassade, kompatibla implementeringar. Genom våra Cloud Data Lake Protection-erbjudanden, inklusive Bucket Protector och Cloud Data Protector, tillämpar vi FPE på data i Google Cloud Storage och lokala databaser med hjälp av DLP- och KMS-API:er. Stöds av ISO/IEC 27001:2022- och SOC 2-certifierade metoder.

Vanliga frågor om partihandel med mat och dryck

Vad är Format Preserving Encryption (FPE)?

Formatbevarande kryptering (FPE) är en krypteringsmetod som håller chiffertexten i samma format och längd som originaldata. Till exempel krypteras ett 16-siffrigt kreditkortsnummer till ett annat 16-siffrigt nummer, och ett personnummer behåller ett 9-siffrigt värde. Detta gör att känsliga data kan krypteras utan att databaser eller applikationer som förväntar sig ett specifikt format skadas. FPE är standardiserat i NIST SP 800-38G, använder lägena FF1 och FF3-1 och är byggt på AES-chiffern.

Hur fungerar FPE?

FPE är byggt på AES men tillämpas så att utdata håller sig inom samma alfabet och längd som indata. Du definierar den tillåtna teckenuppsättningen (t.ex. siffrorna 0 till 9), och algoritmen använder ett Feistel-nätverk, flera rundor som delar värdet, transformerar varje halva med AES och en nyckel, och rekombinerar dem, för att kryptera data samtidigt som den hålls inom intervallet. FF1 använder 10 rundor och FF3-1 använder 8. En hemlig nyckel och en icke-hemlig "tweak" styr krypteringen, och samma nyckel och tweak vänder den.

Är FPE säker?

Ja, när det implementeras med nuvarande NIST-godkända lägen (FF1 eller FF3-1) och korrekt nyckelhantering. FPE är byggt på AES och är standardiserat i NIST SP 800-38G. Det är värt att veta att det ursprungliga FF3-läget 2017 befanns vara otillräckligt högt för den påstådda säkerheten och reviderades till FF3-1 2019, så implementeringar bör använda FF1 eller FF3-1, inte den ursprungliga FF3. Mycket små datadomäner erbjuder också färre möjliga utdata, vilket användningen av en tweak hjälper till att åtgärda.

Vad är skillnaden mellan FPE och tokenisering?

Båda skyddar strukturerad data som kortnummer samtidigt som de bevarar ett användbart format, men de fungerar på olika sätt. FPE är reversibel kryptering: chiffertexten härleds matematiskt från inmatningen med hjälp av en nyckel, och samma nyckel dekrypterar den, utan att något valv behövs. Tokenisering ersätter informationen med en orelaterad token som inte har någon matematisk relation till originalet, och mappningen spåras i ett tokenvalv. FPE är väl lämpad för att kryptera många fält i stor skala; tokenisering används ofta för att helt ta bort känslig data från ett systems efterlevnadsområde.

Vad är NIST SP 800-38G?

NIST Special Publication 800-38G är standarden som definierar Format Preserving Encryption för amerikansk federal användning och bredare branschanvändning. Den specificerar de godkända FPE-lägena som bygger på AES, nämligen FF1 och FF3-1. (Ett föreslaget FF2-läge godkändes aldrig, och det ursprungliga FF3 reviderades till FF3-1 efter att en kryptanalytisk svaghet upptäcktes.) Att använda ett NIST-godkänt FPE-läge är viktigt både för säkerheten och för att uppfylla standarder som refererar till NIST-kryptografi.

Är FPE kvantsäkert?

I stort sett, ja. Eftersom FPE (FF1 och FF3-1) är byggt på AES-chiffern och är symmetrisk, hotas den inte av Shors algoritm, som bryter mot publiknyckelalgoritmer som RSA och ECC. Den enda relevanta kvantattacken är Grovers algoritm, som halverar den effektiva nyckelstyrkan, så FPE byggd på AES-256 har en stark marginal mot kvantdatorer. FPE:s verkliga säkerhetsöverväganden, lägesval och nyckelhantering, är klassiska, inte kvanta. Övergången efter kvantitet gäller främst kryptografi med publik nyckel.

Skydda strukturerad data på rätt sätt

Huruvida FPE, tokenisering eller standardkryptering är rätt val beror på dina data och system. Utforska Encryption Consultings krypteringsrådgivningstjänster för att välja rätt tillvägagångssätt och implementera det med stark och kompatibel nyckelhantering.