Sebastien Rousseau

HSH

Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh

Hur ett kryptografiskt ramverk i ren Rust gör att banker sömlöst kan uppgradera äldre lösenord till Argon2id med HSM-interlock — och vad det betyder för DORA- och Basel III-efterlevnad.

11 min read
Banner for: Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh

Sammanfattning för ledningen. Bankautentisering byggd mot en hotbild från 2018 är inte längre ändamålsenlig under 2026 års regulatoriska regim. GPU-accelererad knäckning, ASIC-täthet och den annalkande postkvanthorisonten har raserat säkerhetsmarginalen för PBKDF2 och tidiga scrypt-parametrar; DORA artikel 5 har förvandlat det förfallet till en ansvarsskuld inför styrelsen. hsh, ett ramverk i ren Rust med öppen källkod, åtgärdar problemet i tre lager parallellt: en verify_and_upgrade-dispatcher som hashar om en lagrad uppgift till aktuella Argon2id-parametrar vid varje lyckad inloggning utan underhållsfönster; ett HSM- eller KMS-interlockat peppringslager som gör att enbart ett databasintrång inte ger något knäckbart; och en minnessäker leveranskedja som eliminerar den FFI-angreppsyta som följer med C-baserade kryptobibliotek. Resultatet är ett substrat som uppfyller DORA, Basel III:s operativa riskdisciplin, SM&CR:s ansvar för seniora chefer och NIST IR 8547:s postkvantmigrationshorisont — utan den massåterställningskampanj som historiskt krävts för att uppgradera ett autentiseringsbestånd.

Merparten av autentiseringen i företagsbank vilar fortfarande på ett lösenordslager härdat mot en hotbild från 2018. Hårdvaran som bryter det har gått vidare. När GPU-farmar skalar och kryptografiskt relevanta kvantdatorer (CRQC) närmar sig, vittrar äldre hashning — PBKDF2, tidig scrypt — för varje timme av beräkning som angripare lägger i offline-knäckkön. Förfallet är tyst: ingenting i produktionsdatabasen säger att den hash som var stark i går inte längre är det.

Under Digital Operational Resilience Act (DORA) är det inte längre teknisk skuld att låta icke-roterade, äldre kryptografiska tillgångar ligga kvar i produktion. Det är namngiven regulatorisk ansvarsskuld.

hsh stänger gapet. Ramverket i ren Rust hanterar flera hashformat sida vid sida och uppgraderar svaga uppgifter under aktiva inloggningssessioner. Autentiseringsinfrastrukturen riktas in mot 2026 års motståndskraftsmandat utan underhållsfönster, utan tvångsåterställning och utan en enda sekunds driftstopp.

01. Problemet med kryptografisk röta i bank

För att förstå nödvändigheten av ett ramverk som hsh måste man förstå livscykeln för en lösenordshash. Algoritmer åldras inte med värdighet; de förfaller i takt med den hårdvara som finns tillgänglig för att bryta dem.

ASIC/GPU-accelerationsgapet. Algoritmer som PBKDF2 designades för att vara beräkningsdyra för CPU:er. I dag använder angripare massivt parallelliserade GPU:er för att exekvera offline-ordboksattacker. En äldre hash genererad 2018 är drastiskt mycket svagare mot en motståndare 2026.

Risken med big bang-migration. När en CISO bestämmer sig för att uppgradera från PBKDF2 till en minnesintensiv algoritm som Argon2id går det inte att vända hasharna för att kryptera om dem. Traditionella lösningar — att tvinga fram lösenordsåterställningar för flera miljoner användare — orsakar massiv kundfriktion och operativ risk.

C-bibliotekens leveranskedja. Historiskt har bankmellanvara förlitat sig på bibliotek som argonautica eller råa C-bindningar för hashning. Dessa bibliotek bär en dold leveranskedjerisk: en enda buffertöverskridning i autentiseringsmodulen kan leda till fjärrkörning av kod (RCE) i det mest privilegierade lagret i bankstacken.

Algoritmjämförelse — hårdvarumotstånd och inställningsyta

De tre algoritmer en bank realistiskt möter i en migrationskorpus skiljer sig mindre i valet av kryptografisk primitiv och mer i hur de åldras under hårdvarutrycket. Tabellen nedan sammanfattar den praktiska hållningen.

Algorithm Memory-hard GPU / ASIC resistance Tuning surface 2026 status
PBKDF2 Nej Lågt — vektoriseras på GPU; under en millisekund per gissning på standardhårdvara. Endast iterationsantal. Äldre. Acceptabel enbart som reserv på verifieringssidan under migration.
scrypt Ja (måttlig) Medel — minneskostnaden besegrar enkla GPU-farmar; ASIC-amortiserbar i stor skala. N (CPU/minne), r (blockstorlek), p (parallellism). Avrådes för greenfield. Aktiv i migrationskorpora.
Argon2id Ja (hög) Högt — minnes- och tidshård; motstår sidokanaler och TMTO-attacker. Minneskostnad (m), tidskostnad (t), parallellism (p), hemlighet (pepper). Rekommenderad standard. OWASP, NIST SP 800-63B-4-utkast, FedRAMP.

Slutsatsen för migrationsplanen är smal: PBKDF2 är ett verifieringssidans tillstånd, inte en skrivsidans destination. Varje lyckad inloggning mot en PBKDF2-post bör producera en Argon2id-post på vägen ut.

02. Arkitekturperspektivet hsh 2026

Ramverket är strukturerat över fem kärnlager, vart och ett konstruerat för att mildra en specifik kategori av operativ risk.

Tabell 1: hsh:s arkitekturlager och riskbegränsning

Lager Designbeslut Varför det spelar roll Risk vid felhantering
Kryptografiska primitiver Enhetligt PHC-strängformat som stöder Argon2id, scrypt och PBKDF2 Ger förstklassigt motstånd mot GPU-attacker samtidigt som bakåtkompatibilitet bevaras. Datasilon; svaga algoritmer som tillåter 100 miljarder+ gissningar/sekund offline.
Policymotor Dispatch via verify_and_upgrade Automatiserar övergången från äldre till moderna policyer dynamiskt vid inloggning. Säkerhetsröta; aktiva användare som förblir på lätt knäckta äldre hashtyper.
Hårdvaru-interlock HSM- och moln-KMS-kapacitet för peppring Säkerställer att enbart ett databasintrång inte exponerar kandidatlösenord. Offline-brute force som lyckas efter ett SQL-injektionsintrång.
Säkerhetshygien Tillämpning av deny.toml och ren Rust Blockerar osäker FFI och otillförlitliga externa C-beroenden helt. Katastrofala leveranskedjeattacker och CVE:er kring minneskorruption.

03. Rehash-flödet utan driftstopp

Mönstret verify_and_upgrade löser datamigration via ett intelligent, tillståndsmedvetet dispatchersystem som kräver noll driftstopp i databasen.

När en användare skickar in sina uppgifter läser hsh den lagrade PHC-strängen (Password Hashing Competition). Innehåller den en äldre hash (t.ex. en föråldrad PBKDF2-konfiguration) exekverar systemet följande flöde:

  1. Identifiering: Tolkar den äldre algoritmen och dess specifika parametrar.
  2. Verifiering: Validerar kandidatlösenordet mot den äldre hashen.
  3. Realtidsuppgradering: Vid lyckad matchning tar systemet kandidatlösenordet i klartext i minnet och beräknar omedelbart en ny hash enligt den hårt säkrade Argon2id-policyn.
  4. Persistering: Den nya PHC-strängen returneras till bankapplikationen, som skriver över den äldre posten i databasen.

Processen är helt transparent för slutanvändaren. Den migrerar effektivt de mest aktiva kontona till högsta säkerhetsnivå dag ett och minskar bankens angreppsyta organiskt och drastiskt över tid.

Sekvensen nedan visar vad som händer vid en enskild inloggningshändelse när den lagrade posten ligger på en äldre algoritm. Användaren ser ingen förändring; bankens autentiseringsbestånd förstärks med en post.

sequenceDiagram
    actor User
    participant Frontend
    participant Auth as Authentication Service (hsh)
    participant DB as Database
    User->>Frontend: Submit username + password
    Frontend->>Auth: authenticate(user, password)
    Auth->>DB: SELECT password_hash FROM users
    DB-->>Auth: PHC string (legacy: PBKDF2)
    Note over Auth: Detect legacy algorithm prefix
    Auth->>Auth: verify(password, legacy_hash)
    Note over Auth: Re-hash with Argon2id
    Auth->>DB: UPDATE password_hash = new PHC
    DB-->>Auth: write confirmed
    Auth-->>Frontend: 200 OK
    Frontend-->>User: Login successful

Implementationsmönster — verify_and_upgrade-dispatch

Integrationsytan inne i en autentiseringstjänst är liten. Den äldre kodvägen ligger kvar som reserv; den nya kodvägen är dispatchern.

use hsh::{Hasher, UpgradeResult};

struct UserRecord {
    username: String,
    password_hash: String, // PHC string
}

async fn authenticate(user: UserRecord, password_attempt: &str) -> Result<bool, AuthError> {
    let hasher = Hasher::new();
    match hasher.verify_and_upgrade(password_attempt, &user.password_hash) {
        Ok(UpgradeResult::Verified(is_valid)) => Ok(is_valid),
        Ok(UpgradeResult::Upgraded(new_hash)) => {
            db::update_user_hash(&user.username, new_hash).await?;
            Ok(true)
        }
        Err(_) => Err(AuthError::InvalidCredentials),
    }
}

Tre egenskaper spelar roll:

Felfall. Om databasskrivningen misslyckas eller KMS kortvarigt är onåbart under uppgraderingsskrivningen lyckas sessionen ändå mot den äldre hashen och posten ligger kvar på den gamla algoritmen. Nästa lyckade inloggning gör ett nytt försök till uppgradering. Det finns inget halvmigrerat tillstånd och inget användarsynligt fel — migrationen är monoton över inloggningshändelser, och per post-kostnaden för en misslyckad uppgradering är exakt ett extra försök vid nästa inloggning.

04. Peppade hashar via HSM/KMS-interlock

Standardhashning av lösenord skyddar mot direkta databasläckor, men om en angripare får tag på både databasen (hashar och salts) kan offline-knäckning exekveras.

hsh introducerar ett robust lager av "peppad" säkerhet. Genom integration med Hardware Security Modules (HSM) eller moln-KMS (Key Management Services) omsluts den slutliga Argon2id-utdatan kryptografiskt med en högentropi-nyckel som aldrig lämnar den säkra hårdvarugränsen. Om användardatabasen exfiltreras har angriparen endast krypterade datablock. Lösenordsknäckning kan inte påbörjas utan att också bryta sig in i bankens fysiskt isolerade HSM-infrastruktur.

Arkitekturdiagrammet nedan spårar hemlighetens väg. Peppern landar aldrig i databasen; databasen håller aldrig något som är adresserbart på egen hand. De två lagren kan fela oberoende av varandra — systemet förlorar konfidentialitet endast om båda fallerar samtidigt.

sequenceDiagram
    participant App as Application Server
    participant HSM as HSM (Hardware Security Module)
    participant DB as Database
    Note over HSM: Pepper sealed in hardware<br/>never exits boundary
    App->>HSM: get_secret("production-password-pepper")
    HSM-->>App: pepper (in-memory, request-scoped)
    Note over App: Argon2::new_with_secret(&pepper, ...)
    App->>App: hash(password + salt) consuming pepper
    Note over App: Pepper consumed via secret param<br/>not via string concat
    App->>DB: STORE PHC string (uncrackable blob)
    Note over App: Pepper dropped from memory
    Note over DB,HSM: DB breach alone yields<br/>nothing crackable

Implementationsmönster — HSM-stödd peppad Argon2id

Peppern hämtas från HSM:en vid begärantillfället, inte från en konfigurationsfil. Argon2::new_with_secret konsumerar den via algoritmens hemlighetsparameter, inte via strängkonkatenering.

use argon2::{
    Argon2, Algorithm, Version, Params,
    PasswordHasher, PasswordVerifier,
    password_hash::{PasswordHash, SaltString, rand_core::OsRng},
};

async fn authenticate_with_hsm(
    user: UserRecord,
    password_attempt: &str,
) -> Result<bool, AuthError> {
    let pepper = hsm::client::get_secret("production-password-pepper").await?;
    let hasher = Argon2::new_with_secret(
        &pepper,
        Algorithm::Argon2id,
        Version::V0x13,
        Params::default(),
    )
    .map_err(|_| AuthError::Internal)?;

    let parsed = PasswordHash::new(&user.password_hash)
        .map_err(|_| AuthError::InvalidCredentials)?;
    if hasher.verify_password(password_attempt.as_bytes(), &parsed).is_ok() {
        if is_legacy_hash(&user.password_hash) {
            let new_hash = hasher
                .hash_password(
                    password_attempt.as_bytes(),
                    &SaltString::generate(&mut OsRng),
                )
                .map_err(|_| AuthError::Internal)?
                .to_string();
            db::update_user_hash(&user.username, new_hash).await?;
        }
        return Ok(true);
    }
    Err(AuthError::InvalidCredentials)
}

Tre DORA-anpassade konsekvenser faller ut av denna form:

05. Regulatorisk inriktning: DORA, Basel III och SM&CR

Vanliga frågor

Är hsh produktionsklar för en autentiseringsväg i en Tier 1-bank? Biblioteket är öppen källkod, dokumenterat och kör Argon2id via samma argon2-crate som ligger under RustCryptos ekosystem för lösenordshashning. Tier 1-adoption följer bankens egen due diligence: oberoende kodgranskning, attestering av reproducerbara byggen, beroendeträd som pinnas, integrationstester med HSM-leverantörer och godkännande från Operational Risk. hsh tillhandahåller substratet; banken certifierar driftsättningen.

Hur undviker verify_and_upgrade risken med massmigration? Verifieraren inspekterar PHC-strängen vid parsning, kör den äldre algoritmen för att validera lösenordet och — om den lagrade algoritmen eller parameteruppsättningen ligger under det aktuella golvet — hashar om klartexten under Argon2id med den bundna HSM-peppern och skriver tillbaka den nya PHC-strängen atomiskt. Användaren upplever en vanlig inloggning. Beståndet förstärks med en post per lyckad autentisering. Ingen återställningskampanj, inget underhållsfönster, ingen operativ riskhändelse.

Vad händer med vilande konton som aldrig loggar in? Poster som aldrig autentiserar hashas aldrig om. Banker hanterar detta med två kompletterande policyer: ett dokumenterat tröskelvärde för vilande konton (ofta 18–24 månader) varefter kontot administrativt roteras genom en kontrollerad återställningskampanj, och en syntetisk omhashning under schemalagt underhåll för konton i definierade kohorter (högt värde, höga privilegier, reglerade). Båda är policyer, inte biblioteksbeteenden; hsh registrerar dispatch-beslutet i revisionstelemetrin så att operativ ägare kan bevisa täckning.

Inför HSM-peppern en enskild felpunkt i autentiseringsvägen? Samma HSM som signerar betalningsmeddelanden och roterar KMS-bundna nycklar ligger redan på vägen. Risken är identisk med bankens befintliga ställning; hsh ärver den i stället för att introducera den. Mildringarna är standard: HA HSM-par, varma reservregioner för KMS, request-skoppad pepperhämtning med circuit breaker-fall-back till skrivskyddat läge, och en explicit operativ runbook för HSM-otillgänglighet. Peppern är argon2:s hemlighetsparameter, konsumeras i processen och släpps från minnet efter användning.

Var står hsh i förhållande till postkvantmigrationen? hsh är ett ramverk för hashning av lösenord och hemligheter, inte en primitiv för nyckelinkapsling eller signaturer. PQC-övergången som dokumenteras i NIST IR 8547 riktar in sig på nyckeletablering (ML-KEM, FIPS 203) och signaturer (ML-DSA, FIPS 204; SLH-DSA, FIPS 205). Hashningslagret som hsh täcker är i stort sett ortogonalt mot den migrationen. De två konvergerar på substratnivå — båda vill ha en minnessäker, granskningsbar, reproducerbart byggbar kryptografisk leveranskedja — vilket är precis den ställning som hsh möjliggör i dag.

Slutsats

Deploy-and-forget-hashning är över. DORA har flyttat kryptografisk passivitet från teknisk skuld till namngiven regulatorisk ansvarsskuld, och hårdvarukurvan blir brantare för varje år. hsh:s bidrag är inte en starkare algoritm — Argon2id har funnits tillgängligt i flera år. Bidraget är den operativa maskinen för att migrera dit utan att schemalägga driftstopp, utan att tvinga fram användaråterställningar och utan att lita på C-baserade FFI-omslag på bankens autentiseringsväg.

hsh:s källkod är tillgänglig under den dubbla licensen MIT och Apache 2.0.

Referenser

Basel Committee on Banking Supervision (2011). Basel III: A global regulatory framework for more resilient banks and banking systems. Bank for International Settlements. Tillgänglig på: https://www.bis.org/publ/bcbs189.pdf

Biryukov, A., Dinu, D., Khovratovich, D. och Josefsson, S. (2021). RFC 9106: Argon2 Memory-Hard Function for Password Hashing and Proof-of-Work Applications. Internet Engineering Task Force. Tillgänglig på: https://datatracker.ietf.org/doc/html/rfc9106

Europaparlamentet och rådet (2022). Förordning (EU) 2022/2554 om digital operativ motståndskraft för den finansiella sektorn (DORA). Tillgänglig på: https://eur-lex.europa.eu/eli/reg/2022/2554/oj

Financial Conduct Authority (2015). Senior Managers and Certification Regime (SM&CR). Tillgänglig på: https://www.fca.org.uk/firms/senior-managers-certification-regime

National Institute of Standards and Technology (2024). Initial Public Draft — Transition to Post-Quantum Cryptography Standards (NIST IR 8547). Tillgänglig på: https://csrc.nist.gov/pubs/ir/8547/ipd

OWASP Foundation (2024). Password Storage Cheat Sheet. Tillgänglig på: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html

Senast granskad .

Senast granskad .

Återpublicera denna artikel

Kopiera format för Medium

# Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau

> Originally published at [https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/](https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/)

hsh är ett kryptografiskt ramverk i ren Rust som låter Tier 1-banker migrera äldre lösenordshashar till Argon2id utan driftstopp, med HSM-peppring och utan C-baserade FFI-minnessårbarheter — för att uppfylla DORA.

Read the full article on sebastienrousseau.com: https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/

Kopiera format för Mastodon

Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau

hsh är ett kryptografiskt ramverk i ren Rust som låter Tier 1-banker migrera äldre lösenordshashar till Argon2id utan driftstopp, med HSM-peppring och utan C-baserade FFI-minnessårbarheter — för att uppfylla DORA.

https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/

Kopiera formaterat för LinkedIn

Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau

hsh är ett kryptografiskt ramverk i ren Rust som låter Tier 1-banker migrera äldre lösenordshashar till Argon2id utan driftstopp, med HSM-peppring och utan C-baserade FFI-minnessårbarheter - för att uppfylla DORA.

Här är de viktigaste strategiska lärdomarna:

- 01. Problemet med kryptografisk röta i bank. För att förstå nödvändigheten av ett ramverk som hsh måste man förstå livscykeln för en lösenordshash.
- 02. Arkitekturperspektivet hsh 2026. Ramverket är strukturerat över fem kärnlager, vart och ett konstruerat för att mildra en specifik kategori av operativ risk.
- 03. Rehash-flödet utan driftstopp. Mönstret verify_and_upgrade löser datamigration via ett intelligent, tillståndsmedvetet dispatchersystem som kräver noll driftstopp i databasen.
- 04. Peppade hashar via HSM/KMS-interlock. Standardhashning av lösenord skyddar mot direkta databasläckor, men om en angripare får tag på både databasen (hashar och salts) kan offline-knäckning exekveras.

Hur hanterar din organisation de utmaningar som beskrivs i denna artikel?

→ https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/

#Hsh #RustKryptografi #Lösenordshashning #Argon2id #Banksäkerhet

Sebastien Rousseau | CC-BY-4.0
Citera den här artikeln

Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau

hsh är ett kryptografiskt ramverk i ren Rust som låter Tier 1-banker migrera äldre lösenordshashar till Argon2id utan driftstopp, med HSM-peppring och utan C-baserade FFI-minnessårbarheter — för att uppfylla DORA.

BibTeX

@online{rousseau2026säkra,
  author  = {Rousseau, Sebastien},
  title   = {{Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau}},
  year    = {2026},
  url     = {https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/},
  urldate = {2026}
}

RIS

TY  - GEN
AU  - Rousseau, Sebastien
TI  - Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau
PY  - 2026
UR  - https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/
ER  -

Vancouver

Rousseau S. Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau. sebastienrousseau.com. 2026 Jun 22. Available from: https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/

Chicago

Rousseau, Sebastien. "Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau." sebastienrousseau.com. June 22, 2026. https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/.

APA

Rousseau, S. (2026, June 22). Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau. sebastienrousseau.com. https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/

Återpublicera den här artikeln

Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau

hsh är ett kryptografiskt ramverk i ren Rust som låter Tier 1-banker migrera äldre lösenordshashar till Argon2id utan driftstopp, med HSM-peppring och utan C-baserade FFI-minnessårbarheter — för att uppfylla DORA.

Den här artikeln är licensierad under Creative Commons Attribution 4.0 International. Återpublicering kräver attribution till den kanoniska URL:en.

Säkra lösenordshantering i företagsbank: multialgoritmhashning och uppgraderingar med hsh — Sebastien Rousseau

hsh är ett kryptografiskt ramverk i ren Rust som låter Tier 1-banker migrera äldre lösenordshashar till Argon2id utan driftstopp, med HSM-peppring och utan C-baserade FFI-minnessårbarheter — för att uppfylla DORA.

Originally published at https://sebastienrousseau.com/sv/2026-06-22-hsh-zero-downtime-cryptographic-stewardship-rust-banking-2026/ by Sebastien Rousseau.
Licensed under CC-BY-4.0.