Privacy en gegevensbeveiliging
Het beschermen en beheren van gevoelige informatie in een ADO.NET toepassing is afhankelijk van de onderliggende producten en technologieën die worden gebruikt om deze te maken. ADO.NET biedt geen services voor het beveiligen of versleutelen van gegevens.
Cryptografie- en hashcodes
De klassen in de .NET Framework-naamruimte System.Security.Cryptography kunnen worden gebruikt vanuit uw ADO.NET toepassingen om te voorkomen dat gegevens worden gelezen of gewijzigd door onbevoegde derden. Sommige klassen zijn wrappers voor de onbeheerde Microsoft CryptoAPI, terwijl andere beheerde implementaties zijn. Het onderwerp Cryptografische services biedt een overzicht van cryptografie in .NET Framework, beschrijft hoe cryptografie wordt geïmplementeerd en hoe u specifieke cryptografische taken kunt uitvoeren.
In tegenstelling tot cryptografie, waardoor gegevens kunnen worden versleuteld en vervolgens ontsleuteld, is hashing van gegevens eenrichtingsproces. Hashinggegevens zijn handig als u manipulatie wilt voorkomen door te controleren of gegevens niet zijn gewijzigd: bij identieke invoertekenreeksen produceren hash-algoritmen altijd identieke korte uitvoerwaarden die eenvoudig kunnen worden vergeleken. Het garanderen van gegevensintegriteit met hashcodes beschrijft hoe u hashwaarden kunt genereren en verifiëren.
Configuratiebestanden versleutelen
Het beveiligen van de toegang tot uw gegevensbron is een van de belangrijkste doelen bij het beveiligen van een toepassing. Een verbindingsreeks geeft een mogelijk beveiligingsprobleem weer als deze niet is beveiligd. Verbinding maken iontekenreeksen die zijn opgeslagen in configuratiebestanden, worden opgeslagen in standaard XML-bestanden waarvoor het .NET Framework een gemeenschappelijke set elementen heeft gedefinieerd. Met beveiligde configuratie kunt u gevoelige informatie in een configuratiebestand versleutelen. Hoewel deze voornamelijk is ontworpen voor ASP.NET toepassingen, kan beveiligde configuratie ook worden gebruikt om secties van configuratiebestanden in Windows-toepassingen te versleutelen. Zie Verbinding maken ion Information beveiligen voor meer informatie.
Tekenreekswaarden beveiligen in het geheugen
Als een String object gevoelige informatie bevat, zoals een wachtwoord, creditcardnummer of persoonlijke gegevens, bestaat het risico dat de informatie kan worden weergegeven nadat deze is gebruikt omdat de toepassing de gegevens niet uit het computergeheugen kan verwijderen.
Een String is onveranderbaar; de waarde ervan kan niet worden gewijzigd nadat deze is gemaakt. Wijzigingen die de tekenreekswaarde lijken te wijzigen, maken daadwerkelijk een nieuw exemplaar van een String object in het geheugen, waarbij de gegevens als tekst zonder opmaak worden opgeslagen. Bovendien is het niet mogelijk om te voorspellen wanneer de tekenreeksexemplaren uit het geheugen worden verwijderd. Geheugenherstel met tekenreeksen is niet deterministisch met .NET garbagecollection. Vermijd het gebruik van de String gegevens en StringBuilder klassen als uw gegevens echt gevoelig zijn.
De SecureString klasse biedt methoden voor het versleutelen van tekst met behulp van de DPAPI (Data Protection API) in het geheugen. De tekenreeks wordt vervolgens uit het geheugen verwijderd wanneer deze niet meer nodig is. Er is geen ToString
methode om snel de inhoud van een SecureString. U kunt een nieuw exemplaar SecureString
zonder waarde initialiseren of door deze door te geven aan een matrix met Char objecten. Vervolgens kunt u de verschillende methoden van de klasse gebruiken om met de tekenreeks te werken.