WindowsServer2003EnhancedCryptographicProvider(RSAENH)(WindowsServer2003SP2)FIPS140-2Documentation:SecurityPolicySeptember20,2007AbstractThisdocumentspecifiesthenon-proprietarysecuritypolicyforWindowsServer2003(SP2)EnhancedCryptographicProvider(RSAENH)asdescribedinFIPSPUB140-2.
2TheinformationcontainedinthisdocumentrepresentsthecurrentviewofMicrosoftCorporationontheissuesdiscussedasofthedateofpublication.
BecauseMicrosoftmustrespondtochangingmarketconditions,itshouldnotbeinterpretedtobeacommitmentonthepartofMicrosoft,andMicrosoftcannotguaranteetheaccuracyofanyinformationpresentedafterthedateofpublication.
Thisdocumentisforinformationalpurposesonly.
MICROSOFTMAKESNOWARRANTIES,EXPRESSORIMPLIED,ASTOTHEINFORMATIONINTHISDOCUMENT.
Complyingwithallapplicablecopyrightlawsistheresponsibilityoftheuser.
ThisworkislicensedundertheCreativeCommonsAttribution-NoDerivs-NonCommercialLicense(whichallowsredistributionofthework).
Toviewacopyofthislicense,visithttp://creativecommons.
org/licenses/by-nd-nc/1.
0/orsendalettertoCreativeCommons,559NathanAbbottWay,Stanford,California94305,USA.
Microsoftmayhavepatents,patentapplications,trademarks,copyrights,orotherintellectualpropertyrightscoveringsubjectmatterinthisdocument.
ExceptasexpresslyprovidedinanywrittenlicenseagreementfromMicrosoft,thefurnishingofthisdocumentdoesnotgiveyouanylicensetothesepatents,trademarks,copyrights,orotherintellectualproperty.
Theexamplecompanies,organizations,products,peopleandeventsdepictedhereinarefictitious.
Noassociationwithanyrealcompany,organization,product,personoreventisintendedorshouldbeinferred.
2003MicrosoftCorporation.
Allrightsreserved.
Microsoft,ActiveDirectory,VisualBasic,VisualStudio,Windows,theWindowslogo,WindowsNT,andWindowsServerareeitherregisteredtrademarksortrademarksofMicrosoftCorporationintheUnitedStatesand/orothercountries.
Thenamesofactualcompaniesandproductsmentionedhereinmaybethetrademarksoftheirrespectiveowners.
3CONTENTSINTRODUCTION4SECURITYPOLICY.
5SPECIFICATIONOFROLES.
6SPECIFICATIONOFSERVICES.
7CRYPTOGRAPHICKEYMANAGEMENT13SELF-TESTS15MISCELLANEOUS.
17FORMOREINFORMATION.
204INTRODUCTIONTheMicrosoftCorporation'sWindowsServer2003EnhancedCryptographicProvider(RSAENH)isaFIPS140-2Level1compliant,software-based,cryptographicserviceprovider.
LikeothercryptographicprovidersthatshipwithMicrosoftWindowsServer2003,WindowsServer2003ServicePack1andServicePack2,RSAENHencapsulatesseveraldifferentcryptographicalgorithmsinaneasy-to-usecryptographicmoduleaccessibleviatheMicrosoftCryptoAPI.
SoftwaredeveloperscandynamicallylinktheMicrosoftRSAENHmoduleintotheirapplicationstoprovideFIPS140-2compliantcryptographicsupport.
WindowsServer2003doesnotshipthepreviouslyFIPS-140-1validatedMicrosoftBaseCryptographicProvider(RSABASE)anymore.
ThereisnolossoffunctionalityastheRSABASEfunctionalityhasalwaysbeenasubsetoftheRSAENHfunctionality.
CryptographicBoundaryTheMicrosoftEnhancedCryptographicProvider(RSAENH)consistsofasingledynamically-linkedlibrary(DLL)namedRSAENH.
DLL(Softwareversion5.
2.
3790.
3959[ServicePack2])testedonanx86,x64,andia64processors,whichcomprisesthemoduleslogicalboundary.
ThecryptographicboundaryforRSAENHisdefinedastheenclosureofthecomputersystemonwhichthecryptographicmoduleistobeexecuted.
Thephysicalconfigurationofthemodule,asdefinedinFIPSPUB140-2,isMulti-ChipStandalone.
ItshouldbenotedthattheDataProtectionAPIandCryptographicAPIofMicrosoftWindowsServer2003isnotpartofthemoduleandshouldbeconsideredtobeoutsidetheboundary.
5SECURITYPOLICYRSAENHoperatesunderseveralrulesthatencapsulateitssecuritypolicy.
RSAENHissupportedonWindowsServer2003,WindowsServer2003SP1andSP2.
RSAENHprovidesnouserauthentication;however,itreliesonMicrosoftWindowsServer2003fortheauthenticationofusers.
AlltheservicesprovidedbytheRSAENHDLLareavailabletotheUserandCrypto-officerroles.
KeyscreatedwithinRSAENHbyoneuserarenotaccessibletoanyotheruserviaRSAENH.
RSAENHstoreskeysinthefilesystem,butreliesuponMicrosoftWindowsServer2003fortheencryptionofthekeyspriortostorage.
WhenoperatingthismoduleunderWindowsServer2003SP2,thefollowingalgorithmsareApprovedsecurityfunctionsandcanbeusedinFIPSmode:oFIPS-approvedalgorithms:Triple-DES,AES,SHA-1,SHA-256,SHA-384,SHA-512,HMAC,RSAandFIPS186-2GeneralPurposerandomgenerator.
RSAENHalsoprovidestherequiredself-testsfortheseFIPS-approvedalgorithms.
RSAENHsupportsthefollowingnon-FIPSapprovedalgorithms:X9.
31RSAkey-pairgeneration,DES,RC4,RC2,MD2,MD4,andMD51;andthoughthesealgorithmsmaynotbeusedwhenoperatingthemoduleinFIPSmode,themoduleprovidespower-upself-teststoprovideextrasecurityfornonFIPSusers.
OperatingthemoduleinFIPSApprovedmoderequirestheuseofApprovedalgorithmslistedaboveaswellasApprovedserviceswhichhavenotbeenexcludedbythissecuritypolicy.
1Applicationsmaynotuseanyofthesenon-FIPSalgorithmsiftheyneedtobeFIPSmode.
TooperatethemoduleinaFIPSApprovedmode,applicationsmustonlyuseFIPS-approvedalgorithms.
6SPECIFICATIONOFROLESRSAENHmodulesupportsbothaUserandCryptographicOfficerroles(asdefinedinFIPSPUB140-2).
Bothrolesmayaccessalltheservicesimplementedinthecryptographicmodule.
Whenanapplicationrequeststhecryptomoduletogeneratekeysforauser,thekeysaregenerated,used,anddeletedasrequestedbyapplications.
Therearenoimplicitkeysassociatedwithauser,andeachusermayhavenumerouskeys,bothsignatureandkeyexchange,andthesekeysareseparatefromotherusers'keys.
MaintenanceRolesMaintenancerolesarenotsupportedbyRSAENH.
MultipleConcurrentOperatorsRSAENHisintendedtorunonWindowsServer2003inSingleUserMode.
Whenruninthisconfiguration,multipleconcurrentoperatorsarenotsupported.
BecausethemoduleisaDLL,eachprocessrequestingaccessisprovideditsowninstanceofthemodule.
Assuch,eachprocesshasfullaccesstoallinformationandkeyswithinthemodule.
NotethatnokeysorotherinformationaremaintainedupondetachmentfromtheDLL,thusaninstantiationofthemodulewillonlycontainkeysorinformationthattheprocesshasplacedinthemodule.
DataAccessBecauseanoperatorisprovidedaseparateinstanceofthemodule(aseparateinstantiationoftheDLL),theoperatorhascompleteaccesstoallofthesecuritydataitemswithinthemodule.
7SPECIFICATIONOFSERVICESThefollowinglistcontainsallservicesavailabletoanoperator.
Allservicesareaccessiblebyallroles.
KeyStorageServicesThefollowingfunctionsprovideinterfacestothecryptomodule'skeycontainerfunctions.
PleaseseetheKeyStoragedescriptionundertheCryptographicKeyManagementsectionformoreinformation.
CryptAcquireContextTheCryptAcquireContextfunctionisusedtoacquireaprogrammaticcontexthandletoaparticularkeycontainerviaaparticularcryptographicserviceprovider.
Thisreturnedhandlecanthenbeusedtomakecallstotheselectedcryptographicserviceprovider.
Anysubsequentcallstoacryptographicfunctionneedtoreferencetheacquiredcontexthandle.
Thisfunctionperformstwooperations.
ItfirstattemptstofindacryptographicserviceproviderwiththecharacteristicsdescribedinthedwProvTypeandpszProviderparameters.
Ifthecryptographicserviceproviderisfound,thefunctionattemptstofindakeycontainermatchingthenamespecifiedbythepszContainerparameter.
WiththeappropriatesettingofdwFlags,thisfunctioncanalsocreateanddestroykeycontainers.
IfdwFlagsissettoCRYPT_NEWKEYSET,anewkeycontaineriscreatedwiththenamespecifiedbypszContainer.
IfpszContainerisNULL,akeycontainerwiththedefaultnameiscreated.
IfdwFlagsissettoCRYPT_DELETEKEYSET,ThekeycontainerspecifiedbypszContainerisdeleted.
IfpszContainerisNULL,thekeycontainerwiththedefaultnameisdeleted.
Allkeypairsinthekeycontainerarealsodestroyedandmemoryiszeroized.
Whenthisflagisset,thevaluereturnedinphProvisundefined,andthus,theCryptReleaseContextfunctionneednotbecalledafterwards.
CryptGetProvParamTheCryptGetProvParamfunctionretrievesdatathatgovernstheoperationsoftheprovider.
Thisfunctionmaybeusedtoenumeratekeycontainers,enumeratesupportedalgorithms,andgenerallydeterminecapabilitiesofthecryptographicserviceprovider.
CryptSetProvParamTheCryptSetProvParamfunctioncustomizesvariousaspectsofaprovider'soperations.
Thisfunctionismaybeusedtosetasecuritydescriptoronakeycontainer.
CryptReleaseContextTheCryptReleaseContextfunctionreleasesthehandlereferencedbythehProvparameter.
Afteraproviderhandlehasbeenreleased,itbecomesinvalidandcannotbeusedagain.
Inaddition,keyandhashhandlesassociatedwiththatproviderhandlemaynotbeusedafterCryptReleaseContexthasbeencalled.
8KeyGenerationandExchangeServicesThefollowingfunctionsprovideinterfacestothecryptomodule'skeygenerationandexchangefunctions.
Note:onlyFIPSapprovedPRNGareusedforalltheKeygenerationoperationsCryptDeriveKeyTheCryptDeriveKeyfunctioncreatescryptographicsessionkeysfromahashvalue.
Thisfunctionguaranteesthatwhenthesamecryptographicserviceproviderandalgorithmsareused,thekeyscreatedfromthesamehashvalueareidentical.
Thehashvalueistypicallyacryptographichash(SHA-1mustbeusedwhenoperatinginFIPS-mode)ofapasswordorsimilarsecretuserdata.
ThisfunctionisthesameasCryptGenKey,exceptthatthegeneratedsessionkeysarecreatedfromthehashvalueinsteadofbeingrandomandCryptDeriveKeycanonlybeusedtocreatesessionkeys.
Thisfunctioncannotbeusedtocreatepublic/privatekeypairs.
IfkeysarebeingderivedfromaCALG_SCHANNEL_MASTER_HASH,thentheappropriatekeyderivationprocessisusedtoderivethekey.
InthiscasetheprocessusedisfromeithertheSSL2.
0,SSL3.
0,PCTorTLSspecificationofderivingclientandserversideencryptionandMACkeys.
Thisfunctionwillcausethekeyblocktobederivedfromthemastersecretandtherequestedkeyisthenderivedfromthekeyblock.
Whichprocessisusedisdeterminedbywhichprotocolisassociatedwiththehashobject.
FormoreinformationseetheSSL2.
0,SSL3.
0,PCTandTLSspecifications.
CryptDestroyKeyTheCryptDestroyKeyfunctionreleasesthehandlereferencedbythehKeyparameter.
Afterakeyhandlehasbeenreleased,itbecomesinvalidandcannotbeusedagain.
Ifthehandlereferstoasessionkey,ortoapublickeythathasbeenimportedintothecryptographicserviceproviderthroughCryptImportKey,thisfunctionzeroizesthekeyinmemoryandfreesthememorythatthekeyoccupied.
Theunderlyingpublic/privatekeypair(whichresidesoutsidethecryptomodule)isnotdestroyedbythisfunction.
Onlythehandleisdestroyed.
CryptExportKeyTheCryptExportKeyfunctionexportscryptographickeysfromacryptographicserviceproviderinasecuremannerforkeyarchivalpurposes.
AhandletoaprivateRSAkeytobeexportedmaybepassedtothefunction,andthefunctionreturnsakeyblob.
Thisprivatekeyblobcanbesentoveranonsecuretransportorstoredinanonsecurestoragelocation.
TheprivatekeyblobisuselessuntiltheintendedrecipientusestheCryptImportKeyfunctiononittoimportthekeyintotherecipient'scryptographicserviceprovider.
Keyblobsareexportedeitherinplaintextorencryptedwithasymmetrickey.
IfasymmetrickeyisusedtoencrypttheblobthenahandletotheprivateRSAkeyispassedintothemoduleandthesymmetrickeyreferencedbythehandleisusedtoencrypttheblob.
Anyofthesupportedsymmetriccryptographicalgorithmsmaybeusedtoencrypttheprivatekeyblob(DES,Triple-DES,RC4orRC22).
2NotethatDES,RC2andRC4maynotbeusedwhileoperatingRSAENHinFIPSApprovedmode.
9PublicRSAkeysarealsoexportedusingthisfunction.
AhandletotheRSApublickeyispassedtothefunctionandthepublickeyisexported,alwaysinplaintextasablob.
ThisblobmaythenbeimportedusingtheCryptImportKeyfunction.
SymmetrickeysmayalsobeexportedencryptedwithanRSAkeyusingtheCryptExportKeyfunction.
AhandletothesymmetrickeyandahandletothepublicRSAkeytoencryptwitharepassedtothefunction.
Thefunctionreturnsablob(SIMPLEBLOB)whichistheencryptedsymmetrickey.
Symmetrickeysmayalsobeexportedbywrappingthekeyswithanothersymmetrickey.
ThewrappedkeyisthenexportedasablobandmaybeimportedusingtheCryptImportKeyfunction.
CryptGenKeyTheCryptGenKeyfunctiongeneratesarandomcryptographickey.
AhandletothekeyisreturnedinphKey.
ThishandlecanthenbeusedasneededwithanyCryptoAPIfunctionrequiringakeyhandle.
Thecallingapplicationmustspecifythealgorithmwhencallingthisfunction.
Becausethisalgorithmtypeiskeptbundledwiththekey,theapplicationdoesnotneedtospecifythealgorithmlaterwhentheactualcryptographicoperationsareperformed.
CryptGenRandomTheCryptGenRandomfunctionfillsabufferwithrandombytes.
TherandomnumbergenerationalgorithmistheSHSbasedRNGfromFIPS186.
Duringthefunctioninitialization,aseed,towhichSHA-1isappliedtocreatetheoutputrandom,iscreatedbasedonthecollectionofallthedatalistedintheMiscellaneoussection.
CryptGenRandomacceptscallersupplieddatathroughitsin/outpbBufferparameter.
ThisdataismixedwiththeseedCryptGetKeyParamTheCryptGetKeyParamfunctionretrievesdatathatgovernstheoperationsofakey.
CryptGetUserKeyTheCryptGetUserKeyfunctionretrievesahandleofoneofauser'spublic/privatekeypairs.
CryptImportKeyTheCryptImportKeyfunctiontransfersacryptographickeyfromakeyblobintoacryptographicserviceprovider.
Privatekeysmaybeimportedasblobsandthefunctionwillreturnahandletotheimportedkey.
AsymmetrickeyencryptedwithanRSApublickeyisimportedintotheCryptoImportKeyfunction.
ThefunctionusestheRSAprivatekeyexchangekeytodecrypttheblobandreturnsahandletothesymmetrickey.
10Symmetrickeyswrappedwithothersymmetrickeysmayalsobeimportedusingthisfunction.
Thewrappedkeyblobispassedinalongwithahandletoasymmetrickey,whichthemoduleissupposedtousetounwraptheblob.
Ifthefunctionissuccessfulthenahandletotheunwrappedsymmetrickeyisreturned.
TheCryptImportKeyfunctionrecognizesanewflagCRYPT_IPSEC_HMAC_KEY.
TheflagallowsthecallertosupplytheHMACkeymaterialofsizegreaterthan16bytes.
WithouttheCRYPT_IPSEC_HMAC_KEYflag,theCryptImportKeyfunctionwouldfailwithNTE_BAD_DATAifthecallersuppliestheHMACkeymaterialofsizegreater16bytes.
ForimportingaHMACkey,thecallershouldidentifytheimportedkeyblobasthePLAINTEXTKEYBLOBtypeanduseCALG_RC2asthekeyAlgorithmidentifier.
CryptSetKeyParamTheCryptSetKeyParamfunctioncustomizesvariousaspectsofakey'soperations.
Thisfunctionisusedtosetsession-specificvaluesforsymmetrickeys.
CryptDuplicateKeyTheCryptDuplicateKeyfunctionisusedtoduplicate,makeacopyof,thestateofakeyandreturnsahandletothisnewkey.
TheCryptDestroyKeyfunctionmustbeusedonboththehandletotheoriginalkeyandthenewlyduplicatedkey.
DataEncryptionandDecryptionServicesThefollowingfunctionsprovideinterfacestothecryptomodule'sdataencryptionanddecryptionfunctions.
CryptDecryptTheCryptDecryptfunctiondecryptsdatapreviouslyencryptedusingCryptEncryptfunction.
CryptEncryptTheCryptEncryptfunctionencryptsdata.
ThealgorithmusedtoencryptthedataisdesignatedbythekeyheldbythecryptographicserviceprovidermoduleandisreferencedbythehKeyparameter.
HashingandDigitalSignatureServicesThefollowingfunctionsprovideinterfacestothecryptomodule'shashinganddigitalsignaturefunctions.
11CryptCreateHashTheCryptCreateHashfunctioninitiatesthehashingofastreamofdata.
Itreturnstothecallingapplicationahandletoacryptographicserviceproviderhashobject.
ThishandleisusedinsubsequentcallstoCryptHashDataandCryptHashSessionKeyinordertohashstreamsofdataandsessionkeys.
SHA-1andMD5arethecryptographichashingalgorithmssupported.
Inaddition,aMACusingasymmetrickeyiscreatedwiththiscallandmaybeusedwithanyofthesymmetricblockcipherssupportbythemodule(DES,Triple-DESAES,RC4orRC2).
ForcreatingaHMAChashvalue,thecallerspecifiestheCALG_HMACflagintheAlgidparameter,andtheHMACkeyusingahKeyhandleobtainedfromcallingCryptImportKey.
ACALG_SCHANNEL_MASTER_HASHmaybecreatedwiththiscall.
IfthisisthecasethenahandletooneofthefollowingtypesofkeysmustbepassedinthehKeyparameter,CALG_SSL2_MASTER,CALG_SSL3_MASTER,CALG_PCT1_MASTER,orCALG_TLS1_MASTER.
ThisfunctionwithCALG_SCHANNEL_MASTER_HASHintheALGIDparameterwillcausethederivationofthemastersecretfromthepre-mastersecretassociatedwiththepassedinkeyhandle.
Thiskeyderivationprocessisdoneinthemethodspecifiedintheappropriateprotocolspecification,SSL2.
0,SSL3.
0,PCT1.
0,orTLS.
ThemastersecretisthenassociatedwiththeresultinghashhandleandsessionkeysandMACkeysmaybederivedfromthishashhandle.
Themastersecretmaynotbeexportedorimportedfromthemodule.
ThekeydataassociatedwiththehashhandleiszeroizedwhenCryptDestroyHashiscalled.
CryptDestroyHashTheCryptDestroyHashfunctiondestroysthehashobjectreferencedbythehHashparameter.
Afterahashobjecthasbeendestroyed,itcannolongerbeused.
Whenahashobjectisdestroyed,thecryptomodulezeroizesthememorywithinthemodulewherethehashobjectwasheld.
Thememoryisthenfreed.
IfthehashhandlereferencesaCALG_SCHANNEL_MASTER_HASHkeythen,whenCryptDestroyHashiscalled,theassociatedkeymaterialiszeroizedalso.
AllhashobjectsshouldbedestroyedwiththeCryptDestroyHashfunctionwhentheapplicationisfinishedwiththem.
CryptGetHashParamTheCryptGetHashParamfunctionretrievesdatathatgovernstheoperationsofahashobject.
Theactualhashvaluecanalsoberetrievedbyusingthisfunction.
CryptHashDataTheCryptHashDatafunctionaddsdatatoaspecifiedhashobject.
ThisfunctionandCryptHashSessionKeycanbecalledmultipletimestocomputethehashonlongdatastreamsordiscontinuousdatastreams.
Beforecallingthisfunction,theCryptCreateHashfunctionmustbecalledtocreateahandleofahashobject.
12CryptHashSessionKeyTheCryptHashSessionKeyfunctioncomputesthecryptographichashofakeyobject.
Thisfunctioncanbecalledmultipletimeswiththesamehashhandletocomputethehashofmultiplekeys.
CallstoCryptHashSessionKeycanbeinterspersedwithcallstoCryptHashData.
Beforecallingthisfunction,theCryptCreateHashfunctionmustbecalledtocreatethehandleofahashobject.
CryptSetHashParamTheCryptSetHashParamfunctioncustomizestheoperationsofahashobject.
ForcreatingaHMAChashassociatedwithahashobjectidentifiedthehHashhandle,thecallerusestheCryptSetHashParamfunctionwiththeHP_HMAC_INFOflagtospecifythenecessarySHA-1algorithmusingtheCALG_SHA1flagintheinputHMAC_INFOstructure.
ThereisnoneedforthecallertospecifytheHMACinnerorouterstringsasthecryptographicserviceproviderisusingtheinnerandouterstringvaluesasdocumentedintheDraftFIPSforHMACasitsdefaultvalues.
CryptSignHashTheCryptSignHashfunctionsignsdata.
Becauseallsignaturealgorithmsareasymmetricandthusslow,theCryptoAPIdoesnotallowdatabesigneddirectly.
Instead,dataisfirsthashedandCryptSignHashisusedtosignthehash.
ThecryptomodulesupportssigningwithRSA.
TheX9.
31formatmaybespecifiedbyaflag.
CryptVerifySignatureTheCryptVerifySignaturefunctionverifiesthesignatureofahashobject.
Beforecallingthisfunction,theCryptCreateHashfunctionmustbecalledtocreatethehandleofahashobject.
CryptHashDataorCryptHashSessionKeyisthenusedtoadddataorsessionkeystothehashobject.
ThecryptomodulesupportsverifyingRSAsignatures.
TheX9.
31formatmaybespecifiedbyaflag.
Afterthisfunctionhasbeencompleted,onlyCryptDestroyHashcanbecalledusingthehHashhandle.
CryptDuplicateHashTheCryptDuplicateHashfunctionisusedtoduplicate,makeacopyof,thestateofahashandreturnsahandletothisnewhash.
TheCryptDestroyHashfunctionmustbeusedonboththehandletotheoriginalhashandthenewlyduplicatedhash.
13CRYPTOGRAPHICKEYMANAGEMENTTheRSAENHcryptomodulemanageskeysinthefollowingmanner.
KeyMaterialRSAENHcancreateandusekeysforthefollowingalgorithms:RSASignature,RSAKeyExchange,RC2,RC4,DES,Triple-DES,andAES3.
EachtimeanapplicationlinkswithRSAENH,theDLLisinstantiatedandnokeysexistwithin.
TheuserapplicationisresponsibleforimportingkeysintoRSAENHorusingRSAENH'sfunctionstogeneratekeys.
SeeMSDNLibrary\PlatformSDK\WindowsBaseServices\Security\CryptoAPI2.
0\CryptoAPIReference\CryptoAPIStructures\CryptographyStructuresformoreinformationaboutkeyformatsandstructures.
(MSDNHome>MSDNLibrary>Win32andCOMDevelopment>Security>Cryptography>CryptographyReference>GeneralCryptographyStructures)KeyGenerationRandomkeyscanbegeneratedbycallingtheCryptGenKey()function.
KeyscanalsobecreatedfromknownvaluesviatheCryptDeriveKey()function.
DES,Triple-DES,andAESkeys3aregeneratedfollowingthetechniquesgiveninFIPSPUB186-2,Appendix3,RandomNumberGenerationandinFIPS140-2RNGVSrequirements.
SeeMSDNLibrary\PlatformSDK\WindowsBaseServices\Security\CryptoAPI2.
0\CryptoAPIReference\CryptoAPIFunctions\BaseCryptographyFunctions\KeyGenerationandExchangeFunctionsformoreinformation.
(MSDNHome>MSDNLibrary>Win32andCOMDevelopment>Security>Cryptography>CryptographyReference>KeyGenerationandExchangeFunctions)KeyEntryandOutputKeyscanbebothexportedandimportedoutofandintoRSAENHviaCryptExportKey()andCryptImportKey().
ExportedprivatekeysmaybeencryptedwithasymmetrickeypassedintotheCryptExportKeyfunction.
Anyofthesymmetricalgorithmssupportedbythecryptomodulemaybeusedtoencryptprivatekeysforexport(AES,DES,Triple-DES,RC4orRC23).
Whenprivatekeysaregeneratedorimportedfromarchival,theyarecoveredwiththeMicrosoftWindowsServer2003DataProtectionAPI(DPAPI)andthenoutputtedtothefilesysteminthecoveredform.
Symmetrickeyentryandoutputisdonebyexchangingkeysusingtherecipient'sasymmetricpublickey.
Symmetrickeyentryandoutputmayalsobedonebyexportingasymmetrickeywrappedwithanothersymmetrickey.
SeeMSDNLibrary\PlatformSDK\WindowsBaseServices\Security\CryptoAPI2.
0\CryptoAPIReference\CryptoAPIFunctions\BaseCryptographyFunctions\KeyGenerationandExchangeFunctionsformoreinformation.
(MSDNHome>MSDNLibrary>Win32andCOMDevelopment>Security>Cryptography>Cryptography3NotethatDES,RC2andRC4maynotbeusedwhileoperatingRSAENHinFIPSApprovdemode.
14Reference>KeyGenerationandExchangeFunctions)KeyStorageRSAENHdoesnotprovidepersistentstorageofkeys.
While,itispossibletostorekeysinthefilesystem,thisfunctionalityisoutsidethescopeofthisvalidation.
Thetaskofprotecting(orencrypting)thekeyspriortostorageinthefilesystemisdelegatedtotheDataProtectionAPI(DPAPI)ofMicrosoftWindowsServer2003.
TheDPAPIisaseparatecomponentoftheoperatingsystemthatisoutsidetheboundariesofthecryptomodulebutreliesuponRSAENHforallcryptographicfunctionality.
Thissectiondescribesthisfunctionalityforinformationpurposesonly.
Whenakeycontainerisdeleted,thefileiszeroizedbeforebeingdeleted.
RSAENHoffloadsthekeystorageoperationstotheMicrosoftWindowsServer2003operatingsystem,whichisoutsidethecryptographicboundary.
Becausekeysarenotpersistentlystoredinsidethecryptographicmodule,privatekeysareinsteadencryptedbytheMicrosoftDataProtectionAPI(DPAPI)serviceandstoredintheMicrosoftWindowsServer2003filesystem.
Keysarezeroizedfrommemoryafteruse.
Asanexception,thekeyusedforpowerupself-testingisstoredinthecryptographicmodule.
WhenanoperatorrequestsakeyedcryptographicoperationfromRSAENH,his/herkeysareretrievedfromthefilesystembyRSAENHwiththesupportofDPAPI.
Thereadersmayrefertothetechnicalpaper"WindowsDataProtection"(http://msdn.
microsoft.
com/library/en-us/dnsecure/html/windataprotection-dpapi.
asp)forfurtherdetailofDPAPI.
KeyArchivalRSAENHdoesnotdirectlyarchivecryptographickeys.
Theoperatormaychoosetoexportacryptographickeylabeledasexportable(cf.
"KeyInputandOutput"above),butmanagementofthesecurearchivalofthatkeyistheresponsibilityoftheuser.
KeyDestructionAllkeysaredestroyedandtheirmemorylocationzeroizedwhentheoperatorcallsCryptDestroyKeyonthatkeyhandle.
Privatekeysthatresideoutsidethecryptographicboundary(onesstoredbytheoperatingsysteminencryptedformatintheWindowsServer2003DPAPIsystemportionoftheOS)aredestroyedwhentheoperatorcallsCryptAcquireContextwiththeCRYPT_DELETE_KEYSETflag.
15SELF-TESTSRSAENHprovidesalloftheFIPS140-2requiredself-tests.
Asrequired,themoduleperformssomeofitsself-testsuponpowerupandotherself-testsuponencounteringaspecificcondition(keypairorrandomnumbergeneration).
NotethatRSAENHalsoprovidesself-testsfornon-FIPSapprovedalgorithms,andthoughnotrequired,RSAENHprovidesthesetestsforextrasecurity.
Finally,itshouldbenotedthatnon-FIPSapprovedalgorithmsshouldnotbeusedifoperatingRSAENHinFIPSmode.
Power-upThefollowingFIPS-approvedalgorithmtestsareinitiateduponpower-upTriple-DESECBencrypt/decryptKATTriple-DESCBCencrypt/decryptKATTriple-DES112ECBencrypt/decryptKATTriple-DES112CBCencrypt/decryptKATSHA-1hashKATSHA-256KATSHA-384KATSHA-512KATSHA-1HMAChashKATSHA-256HMAChashKATSHA-384HMAChashKATSHA-512HMAChashKATRSAsign/verifypoweruptestSoftwareintegritytestviaaRSAsignatureverificationoftheDLLimageAES128ECBencrypt/decryptKATAES192ECBencrypt/decryptKATAES256ECBencrypt/decryptKATAES128CBCencrypt/decryptKATAES192CBCencrypt/decryptKATAES256CBCencrypt/decryptKATFIPS186-2GeneralPurposerandomgeneratorThefollowingnon-FIPSapprovedalgorithmspower-uptestsinclude(maynotbeusedinFIPS-mode)DESECBencrypt/decryptKATDESCBCencrypt/decryptKATRC4encrypt/decryptKATRC2CBCencrypt/decryptKATRC2ECBencrypt/decryptKATMD5hashKATConditionalThefollowingareinitiatedatkeygenerationandrandomnumbergenerationrespectively:RSApairwiseconsistencytestContinuousrandomnumbergeneratortest1617MISCELLANEOUSThefollowingitemsaddressrequirementsnotaddressedabove.
CryptographicBypassAcryptographicbypassisnotsupportedinRSAENH.
OperatorAuthenticationRSAENHprovidesnoauthenticationofoperators.
However,theMicrosoftWindowsServer2003operatingsystemuponwhichitrunsdoesprovideauthentication,butthisisoutsideofthescopeofRSAENH'sFIPSvalidation.
TheinformationabouttheauthenticationprovidedbyMicrosoftWindowsServer2003isforinformationalpurposesonly.
MicrosoftWindowsServer2003requiresauthenticationfromatrustedcomputerbase(TCB4)beforeauserisabletoaccesssystemservices.
OnceauserisauthenticatedfromtheTCB,aprocessiscreatedbearingtheoperator'ssecuritytoken.
Allsubsequentprocessesandthreadscreatedbythatoperatorareimplicitlyassignedtheparent's(thustheoperator's)securitytoken.
EveryuserthathasbeenauthenticatedbyMicrosoftWindowsServer2003isnaturallyassignedtheoperatorrolewhenhe/sheaccessesRSAENH.
ModularExpOffloadTheModularExpOffloadfunctionoffloadsmodularexponentiationfromacryptographicserviceprovidertoahardwareaccelerator.
ThecryptographicserviceproviderwillcheckintheregistryforthevalueHKLM\Software\Microsoft\Cryptography\ExpoOffloadthatcanbethenameofaDLL.
ThecryptographicserviceproviderusesLoadLibrarytoloadthatDLLandcallsGetProcAddresstogettheOffloadModExpoentrypointintheDLLspecifiedintheregistry.
Thecryptographicserviceproviderusestheentrypointtoperformallmodularexponentiationsforbothpublicandprivatekeyoperations.
Twochecksaremadebeforeaprivatekeyisoffloaded.
NotethattouseRSAENHinFIPSmode,thisfunctionshouldnotbeused.
OperatingSystemSecurityTheRSAENHcryptomoduleisintendedtorunonWindowsServer2003inSingleUserMode.
Whenanoperatingsystemprocessloadsthecryptomoduleintomemory,thecryptomodulerunsaRSAsignatureonthecryptomodule'sdiskimageofRSAENH.
DLL,excludingtheRSAsignature,checksum,andexportsignatureresources.
ThissignatureiscomparedtothevaluestoredintheRSAsignatureresource.
Initializationwillonlysucceedifthetwovaluesareequal.
Eachoperatingsystemprocesscreatesauniqueinstanceofthecryptomodulethatiswhollydedicatedtothatprocess.
Thecryptomoduleisnotsharedbetweenprocesses.
Eachprocessrequestingaccessisprovideditsowninstanceofthemodule.
Assuch,eachprocess4TheTCBisthepartoftheoperatingsystemthatisdesignedtomeetthesecurityfunctionalrequirementsoftheControlledAccessProtectionProfile,whichcanbefoundat.
Atthistime,WindowsServer2003hasnotbeenevaluated.
18hasfullaccesstoallinformationandkeyswithinthemodule.
NotethatnokeysorotherinformationaremaintainedupondetachmentfromtheDLL,thusaninstantiationofthemodulewillonlycontainkeysorinformationthattheprocesshasplacedinthemodule.
TheCollectionofDataUsedtoCreateaSeedforRandomNumberTheRSAEnhmoduleusestheFIPS186-2generalpurposeapprovedPRNGtogeneratetherandomdatarequiredforsymmetric&asymmetrickeygeneration.
ThePRNGconcatenatesmanydifferentsourcesofinformation(detailedbelow)andtheresultingbytestreamishashedwithSHA-1toproducea20-byteseedvalue.
User-supplieddataTheprocessIDofthecurrentprocessrequestingrandomdataThethreadIDofthecurrentthreadwithintheprocessrequestingrandomdataA32bittickcountsincethesystembootThecurrentlocaldateandtimeThecurrentsystemtimeofdayinformationconsistingoftheboottime,currenttime,timezonebias,timezoneID,boottimebias,andsleeptimebiasThecurrenthardware-platform-dependenthigh-resolutionperformance-countervalueTheinformationaboutthesystem'scurrentusageofbothphysicalandvirtualmemory,andpagefileThelocaldiskinformationincludingthenumbersofsectorspercluster,bytespersector,freeclusters,andclustersthatareavailabletotheuserassociatedwiththecallingthreadAhashoftheenvironmentblockforthecurrentprocessSomehardwareCPU-specificcyclecountersThesystemprocessorperformanceinformationconsistingofIdleProcessTime,IoReadTransferCount,IoWriteTransferCount,IoOtherTransferCount,IoReadOperationCount,IoWriteOperationCount,IoOtherOperationCount,AvailablePages,CommittedPages,CommitLimit,PeakCommitment,PageFaultCount,CopyOnWriteCount,TransitionCount,CacheTransitionCount,DemandZeroCount,PageReadCount,PageReadIoCount,CacheReadCount,CacheIoCount,DirtyPagesWriteCount,DirtyWriteIoCount,MappedPagesWriteCount,MappedWriteIoCount,PagedPoolPages,NonPagedPoolPages,PagedPoolAllocatedspace,PagedPoolFreespace,NonPagedPoolAllocatedspace,NonPagedPoolFreespace,FreeSystempagetableentry,ResidentSystemCodePage,TotalSystemDriverPages,TotalSystemCodePages,NonPagedPoolLookasideHits,PagedPoolLookasideHits,AvailablePagedPoolPages,ResidentSystemCachePage,ResidentPagedPoolPage,ResidentSystemDriverPage,CachemanagerFastReadwithNoWait,CachemanagerFastReadwithWait,CachemanagerFastReadResourceMissed,CachemanagerFastReadNotPossible,CachemanagerFastMemoryDescriptorListReadwithNoWait,CachemanagerFastMemoryDescriptorListReadwithWait,CachemanagerFastMemoryDescriptorListReadResourceMissed,CachemanagerFastMemoryDescriptorListReadNotPossible,CachemanagerMapDatawithNoWait,CachemanagerMapDatawithWait,CachemanagerMapDatawithNoWaitMiss,CachemanagerMapDataWaitMiss,CachemanagerPin-MappedDataCount,CachemanagerPin-ReadwithNoWait,CachemanagerPinReadwithWait,CachemanagerPin-ReadwithNoWaitMiss,CachemanagerPin-ReadWaitMiss,CachemanagerCopy-ReadwithNoWait,CachemanagerCopy-19ReadwithWait,CachemanagerCopy-ReadwithNoWaitMiss,CachemanagerCopy-ReadwithWaitMiss,CachemanagerMemoryDescriptorListReadwithNoWait,CachemanagerMemoryDescriptorListReadwithWait,CachemanagerMemoryDescriptorListReadwithNoWaitMiss,CachemanagerMemoryDescriptorListReadwithWaitMiss,CachemanagerReadAheadIOs,CachemanagerLazy-WriteIOs,CachemanagerLazy-WritePages,CachemanagerDataFlushes,CachemanagerDataPages,ContextSwitches,FirstLevelTranslationbufferFills,SecondLevelTranslationbufferFills,andSystemCallsThesystemexceptioninformationconsistingofAlignmentFixupCount,ExceptionDispatchCount,FloatingEmulationCount,andByteWordEmulationCountThesystemlookasideinformationconsistingofCurrentDepth,MaximumDepth,TotalAllocates,AllocateMisses,TotalFrees,FreeMisses,Type,Tag,andSizeThesysteminterruptinformationconsistingofcontextswitches,deferredprocedurecallcount,deferredprocedurecallrate,timeincrement,deferredprocedurecallbypasscount,andasynchronousprocedurecallbypasscountThesystemprocessinformationconsistingofNextEntryOffset,NumberOfThreads,CreateTime,UserTime,KernelTime,ImageName,BasePriority,UniqueProcessID,InheritedfromUniqueProcessID,HandleCount,SessionID,PageDirectoryBase,PeakVirtualSize,VirtualSize,PageFaultCount,PeakWorkingSetSize,WorkingSetSize,QuotaPeakPagedPoolUsage,QuotaPagedPoolUsage,QuotaPeakNonPagedPoolUsage,QuotaNonPagedPoolUsage,PagefileUsage,PeakPagefileUsage,PrivatePageCount,ReadOperationCount,WriteOperationCount,OtherOperationCount,ReadTransferCount,WriteTransferCount,andOtherTransferCount20FORMOREINFORMATIONForthelatestinformationonWindowsServer2003,checkoutourWorldWideWebsiteathttp://www.
microsoft.
com/windows.
InformationregardingFIPS140-2andFIPS186-2canbefoundontheCMVPwebsiteathttp://csrc.
nist.
gov/cryptval/.
 
		  
		  
		      
			  
		  
			  			   
			      
			        
			          
			          厦门靠谱云股份有限公司 双十一到了,站长我就给介绍一家折扣力度名列前茅的云厂商——萤光云。1H2G2M的高防50G云服务器,依照他们的规则叠加优惠,可以做到12元/月。更大配置和带宽的价格,也在一般云厂商中脱颖而出,性价比超高。官网:www.lightnode.cn叠加优惠:全区季付55折+满100-50各个配置价格表:地域配置双十一优惠价说明福州(带50G防御)/上海/北京1H2G2M12元/月...
			         
			       
				  
			     
							   
			      
			        
			          
			          10gbiz怎么样?10gbiz 美国万兆带宽供应商,主打美国直连大带宽,真实硬防。除美国外还提供线路非常优质的香港、日本等数据中心可供选择,全部机房均支持增加独立硬防。洛杉矶特色线路去程三网直连(电信、联通、移动)回程CN2 GIA优化,全天低延迟。中国大陆访问质量优秀,最多可增加至600G硬防。香港七星级网络,去程回程均为电信CN2 GIA+联通+移动,大陆访问相较其他香港GIA线路平均速度更...
			         
			       
				  
			     
							   
			      
			        
			          
			          HostYun是一家成立于2008年的VPS主机品牌,原主机分享组织(hostshare.cn),商家以提供低端廉价VPS产品而广为人知,是小成本投入学习练手首选,主要提供基于XEN和KVM架构VPS主机,数据中心包括中国香港、日本、德国、韩国和美国的多个地区,大部分机房为国内直连或者CN2等优质线路。本月商家全场9折优惠码仍然有效,以KVM架构产品为例,优惠后韩国VPS月付13.5元起,日本东京...
			         
			       
				  
			     
							
			   
			   
2003服务器系统下载为你推荐
	cisco2960配置cisco4506与2960的vlan配置全国企业信息查询全国企业信用信息公示系统查询入口 及操作说明哪里有?支付宝账户是什么支付宝的账号是什么啊申请支付宝账户申请支付宝账号注册360免费建站怎样给360免费自助建站制作的企业网站做一级域名解析绑定?密码cuteftp95188是什么电话95188是什么号码我刚收到短信是什么支付宝的验证码网站制作套餐制作一个公司网站究竟需要多少费用呢??武林官网武林外传网游国服2019年还有多少人玩?dedecms自动采集织梦CMS系统的采集功能不知道怎么采集软件。
动态域名解析软件 3322动态域名 hostmonster 主机点评 外国服务器 表格样式 云图标 大容量存储 gg广告 52测评网 腾讯云分析 怎样建立邮箱 php空间推荐 国外免费asp空间 最漂亮的qq空间 中国电信网络测速 实惠 稳定空间 阿里dns 网站加速 更多