Envelopversleuteling met asymmetrische sleutels versus KMS
Geplaatst op februari 18, 2021 door adminBij Envelopversleuteling wordt een symmetrische geheime sleutel gebruikt om de gegevens te ondertekenen en vervolgens wordt een andere sleutel gebruikt om het geheim te versleutelen om te produceren een versleutelde geheime sleutel. De gecodeerde berichten worden verpakt met de gecodeerde geheime sleutel en naar de klant / consument gestuurd, die vervolgens de gecodeerde geheime sleutel heeft gedecodeerd om de geheime sleutel te krijgen, die op zijn beurt wordt gebruikt om het bericht te decoderen.
Er zijn 2 manieren om het te implementeren:
- Asymmetrische versleuteling: de producent versleutelt de geheime sleutel (s) met de openbare sleutel van de consument. De consument gebruikt een privésleutel om het versleutelde geheim te ontsleutelen.
- KMS (zoals AWS KMS): de geheime sleutel wordt versleuteld door de KMS en de client die toegang nodig heeft tot de geheime sleutel moet de KMS vragen om ontsleutelen
Het voordeel van de KMS-benadering is dat sleutelbeheer gecentraliseerd is, en het intrekken van machtigingen van een cliënt kan worden gedaan door de cliënt uit het KMS te verwijderen en de sleutel te roteren.
Zijn er goede redenen om asymmetrische sleutels te gebruiken in plaats van KMS?
Opmerkingen
- Naast het feit dat een KMS een aparte service is om te onderhouden, te beheren en een single point of failure wordt in een gedistribueerde omgeving? Is uw vraag een " codering " vraag of een " logistiek " vraag?
Antwoord
Als de KMS de sleutel heeft, kunnen ze lezen de boodschap. Als het KMS wordt geschonden, kan een aanvaller alle berichten lezen die zijn gekoppeld aan alle sleutels die hij heeft gestolen. Asymmetrische sleutels waarbij de privésleutel alleen in het bezit is van de ontvanger, staan alleen de ontvanger toe het bericht te lezen, zodat u zich geen zorgen hoeft te maken over gluurders van KMS-systemen. Als de privésleutel wordt gestolen, is dit alleen voor e-mails aan die gebruiker die die sleutel heeft gebruikt , niet iedereen in het systeem.
Antwoord
Het gaat erom waar je het geheim opslaat en wie er toegang toe heeft .
Eerst een verduidelijking: je bent in de war. KMS gebruikt geen asymmetrische codering (ook wel Public-Key-codering genoemd). Het maakt gebruik van private key-encryptie om envelop-encryptie mogelijk te maken. Het zijn twee verschillende dingen.
Bij asymmetrische versleuteling heeft de producent van de versleuteling nooit toegang tot het geheim, hij heeft alleen de openbare sleutel nodig. De producent gebruikt de openbare sleutel om te coderen, de consument gebruikt de bijbehorende privésleutel om te decoderen. Om sleutelrotatie te vergemakkelijken, voegt de producent soms de openbare sleutel toe die werd gebruikt om te coderen, zodat de consument weet welke privésleutel hij moet gebruiken om te decoderen. Hoeveel gegevens er ook worden versleuteld, er zijn geen aanwijzingen voor de privésleutel. Het algoritme voor decodering is meestal rekenintensiever dan codering met een privésleutel.
Bij envelopversleuteling moeten de producent en de consument dezelfde zijn (of beide hebben toegang tot de hoofdsleutel). U gebruikt een hoofdsleutel om een secundaire sleutel te genereren, een gegevenssleutel genaamd. Vervolgens versleutelt u de gegevenssleutel met de hoofdsleutel en de gegevens zelf met de gegevenssleutel, en vervolgens voegt u de versleutelde gegevenssleutel toe aan de versleutelde gegevens. Wanneer u ontsleutelt, gebruikt u de hoofdsleutel om de toegevoegde gegevenssleutel te ontsleutelen en vervolgens de ontsleutelde gegevenssleutel om de gegevens te ontsleutelen.
Het voordeel hiervan is dat u uw hoofdsleutel op een kosteneffectieve manier kunt opslaan. ingebouwde Hardware Security Module en stel deze nooit bloot aan iets anders zonder alle gegevens die u versleutelt door te geven aan de HSM. U kunt zelfs de sleutel in de HSM genereren en deze er niet uithalen, zodat er geen kans is dat deze ooit aan iets externs is blootgesteld. KMS biedt u een cloudgebaseerde HSM en deze wordt ondersteund door fysieke HSMs bij Amazon.
Als het u niet uitmaakt om uw hoofdsleutel in een HSM te bewaren, dan kunt u dezelfde soort versleuteling uitvoeren met uw eigen sleutel die u probeert te beveiligen door deze op een jump-server te plaatsen of zoiets. Zolang u niet meer dan 250 miljoen TB versleutelt, kunt u de envelop overslaan.
Als u op zoek bent naar een voorbeeldcode, kunt u deze gebruiken om ofwel eenvoudige AES-versleuteling of envelopversleuteling wilt u misschien ons open-sourceproject bekijken. Het heeft voor elk een implementatie die u kunt gebruiken …
Geef een reactie