Dela via


Säkerhetsram: Känsliga data | Åtgärder

Produkt/tjänst Article
Gränsen för datorförtroende
Webbapplikation
Databas
Webb-API
Azure Document DB
Azure IaaS VM Trust Boundary
Förtroendegräns för Service Fabric
Dynamics CRM
Azure Storage
Mobil klient
WCF

Se till att binärfilerna är dolda om de innehåller känslig information

Title Detaljer
Komponent Maskinförtroendegräns
SDL Phase Deployment
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Se till att binärfilerna är dolda om de innehåller känslig information, till exempel affärshemligheter, känslig affärslogik som inte bör ångras. Detta för att stoppa omvänd konstruktion av sammansättningar. Verktyg som CryptoObfuscator kan användas för detta ändamål.

Överväg att använda EFS (Encrypted File System) för att skydda konfidentiella användarspecifika data

Title Detaljer
Komponent Maskinförtroendegräns
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Överväg att använda EFS (Encrypted File System) för att skydda konfidentiella användarspecifika data från angripare med fysisk åtkomst till datorn.

Se till att känsliga data som lagras av programmet i filsystemet är krypterade

Title Detaljer
Komponent Maskinförtroendegräns
SDL Phase Deployment
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Se till att känsliga data som lagras av programmet i filsystemet är krypterade (t.ex. med DPAPI), om EFS inte kan tillämpas

Kontrollera att känsligt innehåll inte cachelagras i webbläsaren

Title Detaljer
Komponent Webbapplikation
SDL Phase Build
Tillämpliga tekniker Generisk, Webbformulär, MVC5, MVC6
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Webbläsare kan lagra information för cachelagring och historik. Dessa cachelagrade filer lagras i en mapp, till exempel mappen Temporära Internet-filer när det gäller Internet Explorer. När dessa sidor refereras igen visar webbläsaren dem från cacheminnet. Om känslig information visas för användaren (till exempel deras adress, kreditkortsinformation, personnummer eller användarnamn) kan den här informationen lagras i webbläsarens cacheminne och kan därför hämtas genom att granska webbläsarens cacheminne eller genom att helt enkelt trycka på webbläsarens "Tillbaka"-knapp. Set cache-control response header value to "no-store" for all pages.

Exempel

<configuration>
  <system.webServer>
   <httpProtocol>
    <customHeaders>
        <add name="Cache-Control" value="no-store" />
        <add name="Pragma" value="no-cache" />
        <add name="Expires" value="-1" />
    </customHeaders>
  </httpProtocol>
 </system.webServer>
</configuration>

Exempel

Detta kan implementeras via ett filter. Följande exempel kan användas:

public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext == null || (filterContext.HttpContext != null && filterContext.HttpContext.Response != null && filterContext.HttpContext.Response.IsRequestBeingRedirected))
            {
                //// Since this is MVC pipeline, this should never be null.
                return;
            }

            var attributes = filterContext.ActionDescriptor.GetCustomAttributes(typeof(System.Web.Mvc.OutputCacheAttribute), false);
            if (attributes == null || **Attributes**.Count() == 0)
            {
                filterContext.HttpContext.Response.Cache.SetNoStore();
                filterContext.HttpContext.Response.Cache.SetCacheability(HttpCacheability.NoCache);
                filterContext.HttpContext.Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
                if (!filterContext.IsChildAction)
                {
                    filterContext.HttpContext.Response.AppendHeader("Pragma", "no-cache");
                }
            }

            base.OnActionExecuting(filterContext);
        }

Kryptera delar av webbappens konfigurationsfiler som innehåller känsliga data

Title Detaljer
Komponent Webbapplikation
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Anvisningar: Kryptera konfigurationsavsnitt i ASP.NET 2.0 Med DPAPI, ange en skyddad konfigurationsprovider, använda Azure Key Vault för att skydda programhemligheter
Steps Konfigurationsfiler som web.config, appsettings.json används ofta för att lagra känslig information, inklusive användarnamn, lösenord, databas anslutningssträng och krypteringsnycklar. Om du inte skyddar den här informationen är ditt program sårbart för angripare eller skadliga användare som får känslig information, till exempel kontoanvändarnamn och lösenord, databasnamn och servernamn. Baserat på distributionstypen (azure/on-prem) krypterar du de känsliga avsnitten i konfigurationsfiler med DPAPI eller tjänster som Azure Key Vault.

Inaktivera uttryckligen HTML-attributet för automatisk komplettering i känsliga formulär och indata

Title Detaljer
Komponent Webbapplikation
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser MSDN: autocomplete attribute, Using AutoComplete in HTML, HTML Sanitization Vulnerability, Autocomplete.,again?!
Steps Attributet komplettera automatiskt anger om ett formulär ska ha automatisk komplettering på eller av. När automatisk komplettering är aktiverat slutför webbläsaren automatiskt värden baserat på värden som användaren har angett tidigare. När ett nytt namn och lösenord till exempel anges i ett formulär och formuläret skickas, frågar webbläsaren om lösenordet ska sparas. Därefter när formuläret visas fylls namnet och lösenordet i automatiskt eller fylls i när namnet anges. En angripare med lokal åtkomst kan hämta lösenordet för klartext från webbläsarens cacheminne. Som standard är automatisk komplettering aktiverat och måste uttryckligen inaktiveras.

Exempel

<form action="Login.aspx" method="post " autocomplete="off" >
      Social Security Number: <input type="text" name="ssn" />
      <input type="submit" value="Submit" />    
</form>

Kontrollera att känsliga data som visas på användarskärmen är maskerade

Title Detaljer
Komponent Webbapplikation
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Känsliga data som lösenord, kreditkortsnummer, SSN osv. ska maskeras när de visas på skärmen. Detta är för att förhindra obehörig personal från att komma åt data (t.ex. axelsurfning för att se lösenord, stödpersonal som ser användares personnummer). Kontrollera att dessa dataelement inte är synliga i oformaterad text och att de är korrekt maskerade. Detta måste tas om hand när du accepterar dem som indata (t.ex. indatatyp = "lösenord") samt när de återges på skärmen (t.ex. visa enbart de sista 4 siffrorna i kreditkortsnumret).

Implementera dynamisk datamaskning för att begränsa icke-privilegierade användare med känslig dataexponering

Title Detaljer
Komponent Database
SDL Phase Build
Tillämpliga tekniker Sql Azure, OnPrem
Attribut SQL-version – V12, SQL-version – MsSQL2016
Referenser Dynamic Data Masking
Steps Syftet med dynamisk datamaskering är att begränsa exponeringen av känsliga data, vilket hindrar användare som inte ska ha åtkomst till data från att visa dem. Dynamisk datamaskering syftar inte till att förhindra att databasanvändare ansluter direkt till databasen och kör uttömmande frågor som exponerar delar av känsliga data. Dynamisk datamaskering kompletterar andra SQL Server-säkerhetsfunktioner (granskning, kryptering, säkerhet på radnivå...) och vi rekommenderar starkt att du använder den här funktionen tillsammans med dem för att bättre skydda känsliga data i databasen. Observera att den här funktionen endast stöds av SQL Server från och med 2016 och Azure SQL Database.

Kontrollera att lösenord lagras i saltat hash-format

Title Detaljer
Komponent Database
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Lösenordshashing med .NET Crypto API:er
Steps Lösenord ska inte lagras i anpassade användarlagringsdatabaser. Lösenordshashvärden ska lagras med saltvärden i stället. Kontrollera att saltet för användaren alltid är unikt och att du använder bcrypt, scrypt eller PBKDF2 innan du lagrar lösenordet, med ett minimalt antal arbetsfaktoriterationer på 150 000 loopar för att eliminera möjligheten till brute forcing.

Kontrollera att känsliga data i databaskolumner är krypterade

Title Detaljer
Komponent Database
SDL Phase Build
Tillämpliga tekniker Generic
Attribut SQL-version – alla
Referenser Kryptera känsliga data i SQL Server, Så här krypterar du en kolumn med data i SQL Server, Kryptera efter certifikat
Steps Känsliga data, till exempel kreditkortsnummer, måste krypteras i databasen. Data kan krypteras med kryptering på kolumnnivå eller av en programfunktion med hjälp av krypteringsfunktionerna.

Kontrollera att kryptering på databasnivå (TDE) är aktiverat

Title Detaljer
Komponent Database
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Förstå SQL Server transparent datakryptering (TDE)
Steps funktionen transparent datakryptering (TDE) i SQL Server hjälper till att kryptera känsliga data i en databas och skydda de nycklar som används för att kryptera data med ett certifikat. Detta hindrar alla utan nycklar från att använda data. TDE skyddar data "i vila", vilket innebär data och loggfiler. Det ger möjlighet att följa många lagar, förordningar och riktlinjer som fastställts i olika branscher.

Kontrollera att databassäkerhetskopior är krypterade

Title Detaljer
Komponent Database
SDL Phase Build
Tillämpliga tekniker SQL Azure, OnPrem
Attribut SQL-version – V12, SQL-version – MsSQL2014
Referenser Säkerhetskopieringskryptering av SQL-databas
Steps SQL Server har möjlighet att kryptera data när du skapar en säkerhetskopia. Genom att ange krypteringsalgoritmen och krypteringsfaktorn (ett certifikat eller en asymmetrisk nyckel) när du skapar en säkerhetskopia kan man skapa en krypterad säkerhetskopia.

Se till att känsliga data som är relevanta för webb-API:et inte lagras i webbläsarens lagring

Title Detaljer
Komponent Webb-API
SDL Phase Build
Tillämpliga tekniker MVC 5, MVC 6
Attribut Identitetsprovider – ADFS, identitetsprovider – Microsoft Entra-ID
Referenser Ej tillämpligt
Steps

I vissa implementeringar lagras känsliga artefakter som är relevanta för webb-API:ets autentisering i webbläsarens lokala lagring. Till exempel Microsoft Entra-autentiseringsartefakter som adal.idtoken, adal.nonce.idtoken, adal.access.token.key, adal.token.keys, adal.state.login, adal.session.state, adal.expiration.key osv.

Alla dessa artefakter är tillgängliga även när utloggning eller webbläsaren har stängts. Om en angripare får åtkomst till dessa artefakter kan han/hon återanvända dem för att komma åt de skyddade resurserna (API:er). Se till att alla känsliga artefakter som är relaterade till webb-API:et inte lagras i webbläsarens lagring. I de fall där lagring på klientsidan är oundvikligt (t.ex. ensidesprogram (SPA) som utnyttjar implicita OpenIdConnect-/OAuth-flöden måste lagra åtkomsttoken lokalt), använder du lagringsalternativ med har inte beständighet. T.ex. föredrar du SessionStorage till LocalStorage.

Exempel

JavaScript-kodfragmentet nedan kommer från ett anpassat autentiseringsbibliotek som lagrar autentiseringsartefakter i lokal lagring. Sådana implementeringar bör undvikas.

ns.AuthHelper.Authenticate = function () {
window.config = {
instance: 'https://login.microsoftonline.com/',
tenant: ns.Configurations.Tenant,
clientId: ns.Configurations.AADApplicationClientID,
postLogoutRedirectUri: window.location.origin,
cacheLocation: 'localStorage', // enable this for Internet Explorer, as sessionStorage does not work for localhost.
};

Kryptera känsliga data som lagras i Azure Cosmos DB

Title Detaljer
Komponent Azure Document DB
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Kryptera känsliga data på programnivå innan du lagrar i dokumentdatabasen eller lagra känsliga data i andra lagringslösningar som Azure Storage eller Azure SQL

Använda Azure Disk Encryption för att kryptera diskar som används av virtuella datorer

Title Detaljer
Komponent Azure IaaS VM Trust Boundary
SDL Phase Deployment
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Använda Azure Disk Encryption för att kryptera diskar som används av dina virtuella datorer
Steps

Azure Disk Encryption är en ny funktion som för närvarande är i förhandsversion. Med den här funktionen kan du kryptera os-diskar och datadiskar som används av en virtuell IaaS-dator. För Windows krypteras enheterna med hjälp av bitLocker-krypteringsteknik av branschstandard. För Linux krypteras diskarna med DM-Crypt-tekniken. Detta är integrerat med Azure Key Vault så att du kan styra och hantera diskkrypteringsnycklarna. Azure Disk Encryption-lösningen stöder följande tre scenarier för kundkryptering:

  • Aktivera kryptering på nya virtuella IaaS-datorer som skapats från kundkrypterade VHD-filer och krypteringsnycklar som tillhandahålls av kunden, som lagras i Azure Key Vault.
  • Aktivera kryptering på nya virtuella IaaS-datorer som skapats från Azure Marketplace.
  • Aktivera kryptering på befintliga virtuella IaaS-datorer som redan körs i Azure.

Kryptera hemligheter i Service Fabric-program

Title Detaljer
Komponent Förtroendegräns för Service Fabric
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Miljö – Azure
Referenser Hantera hemligheter i Service Fabric-program
Steps Hemligheter kan vara känslig information, till exempel lagringsanslutningssträngar, lösenord eller andra värden som inte ska hanteras i oformaterad text. Använd Azure Key Vault för att hantera nycklar och hemligheter i Service Fabric-program.

Utföra säkerhetsmodellering och använda affärsenheter/team där det behövs

Title Detaljer
Komponent Dynamics CRM
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Utföra säkerhetsmodellering och använda affärsenheter/team där det behövs

Minimera åtkomsten till delningsfunktionen på kritiska entiteter

Title Detaljer
Komponent Dynamics CRM
SDL Phase Deployment
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Minimera åtkomsten till delningsfunktionen på kritiska entiteter

Utbilda användare om de risker som är kopplade till Dynamics CRM Share-funktionen och goda säkerhetsrutiner

Title Detaljer
Komponent Dynamics CRM
SDL Phase Deployment
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Utbilda användare om de risker som är kopplade till Dynamics CRM Share-funktionen och goda säkerhetsrutiner

Inkludera en regel för utvecklingsstandarder som beskriver konfigurationsinformation i undantagshantering

Title Detaljer
Komponent Dynamics CRM
SDL Phase Deployment
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Ej tillämpligt
Steps Inkludera en regel för utvecklingsstandarder som beskriver konfigurationsinformation i undantagshantering utanför utveckling. Testa detta som en del av kodgranskningar eller regelbunden inspektion.

Använda Azure Storage Service Encryption (SSE) för vilande data (förhandsversion)

Title Detaljer
Komponent Azure Storage
SDL Phase Build
Tillämpliga tekniker Generic
Attribut StorageType - Blob
Referenser Azure Storage-tjänstkryptering för vilande data (förhandsversion)
Steps

Azure Storage Service Encryption (SSE) for Data at Rest hjälper dig att skydda dina data för att uppfylla organisationens säkerhets- och efterlevnadsåtaganden. Med den här funktionen krypterar Azure Storage automatiskt dina data för beständig lagring och dekrypterar dem före hämtning. Kryptering, dekryptering och nyckelhantering är helt transparent för användarna. SSE gäller endast för blockblobar, sidblobar och tilläggsblobar. Andra typer av data, inklusive tabeller, köer och filer, krypteras inte.

Arbetsflöde för kryptering och dekryptering:

  • Kunden aktiverar kryptering på lagringskontot
  • När kunden skriver nya data (PUT Blob, PUT Block, PUT Page osv.) till Blob Storage; varje skrivning krypteras med 256-bitars AES-kryptering, en av de starkaste blockkrypteringarna som är tillgängliga
  • När kunden behöver komma åt data (GET Blob osv.) dekrypteras data automatiskt innan de återgår till användaren
  • Om krypteringen är inaktiverad krypteras inte längre nya skrivningar och befintliga krypterade data förblir krypterade tills de skrivs om av användaren. Medan kryptering är aktiverat krypteras skrivningar till Blob Storage. Datatillståndet ändras inte när användaren växlar mellan aktivering/inaktivering av kryptering för lagringskontot
  • Alla krypteringsnycklar lagras, krypteras och hanteras av Microsoft

Observera att för närvarande hanteras nycklarna som används för krypteringen av Microsoft. Microsoft genererar nycklarna ursprungligen och hanterar säker lagring av nycklarna samt den vanliga rotationen enligt den interna Microsoft-principen. I framtiden får kunderna möjlighet att hantera sina egna krypteringsnycklar och tillhandahålla en migreringssökväg från Microsoft-hanterade nycklar till kundhanterade nycklar.

Använda kryptering på klientsidan för att lagra känsliga data i Azure Storage

Title Detaljer
Komponent Azure Storage
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Kryptering på klientsidan och Azure Key Vault för Microsoft Azure Storage, självstudie: Kryptera och dekryptera blobar i Microsoft Azure Storage med hjälp av Azure Key Vault, lagra data på ett säkert sätt i Azure Blob Storage med Azure Encryption Extensions
Steps

Azure Storage-klientbiblioteket för .NET NuGet-paketet stöder kryptering av data i klientprogram innan de laddas upp till Azure Storage och dekrypterar data vid nedladdning till klienten. Biblioteket stöder även integrering med Azure Key Vault för hantering av nycklar för lagringskonton. Här är en kort beskrivning av hur kryptering på klientsidan fungerar:

  • Azure Storage-klientens SDK genererar en innehållskrypteringsnyckel (CEK), som är en symmetrisk nyckel för engångsanvändning
  • Kunddata krypteras med hjälp av denna CEK
  • CEK omsluts sedan (krypteras) med nyckelkrypteringsnyckeln (KEK). KEK identifieras av en nyckelidentifierare och kan vara ett asymmetriskt nyckelpar eller en symmetrisk nyckel och kan hanteras lokalt eller lagras i Azure Key Vault. Själva lagringsklienten har aldrig åtkomst till KEK. Den anropar bara nyckelomslutningsalgoritmen som tillhandahålls av Key Vault. Customers can choose to use custom providers for key wrapping/unwrapping if they want
  • Krypterade data laddas sedan upp till Azure Storage-tjänsten. Kontrollera länkarna i referensavsnittet för information om lågnivåimplementering.

Kryptera känsliga data eller PII-data som skrivits till telefoners lokala lagring

Title Detaljer
Komponent Mobil klient
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Hantera inställningar och funktioner på dina enheter med Microsoft Intune-principer
Steps

Om programmet skriver känslig information som användarens PII (e-post, telefonnummer, förnamn, efternamn, inställningar osv.)– i mobilens filsystem ska den krypteras innan den skrivs till det lokala filsystemet. Om programmet är en företagsapplikation kan du utforska möjligheten att publicera programmet med hjälp av Windows Intune.

Exempel

Intune kan konfigureras med följande säkerhetsprinciper för att skydda känsliga data:

Require encryption on mobile device    
Require encryption on storage cards
Allow screen capture

Exempel

Om applikationen inte är en företagsapplikation, använd plattformens tillhandahållna nyckelarkiv och nyckelringar för att lagra krypteringsnycklar, med vilka kryptografiska operationer kan utföras på filsystemet. Följande kodfragment visar hur du kommer åt nyckeln från nyckelringen med hjälp av .NET för iOS:

        protected static string EncryptionKey
        {
            get
            {
                if (String.IsNullOrEmpty(_Key))
                {
                    var query = new SecRecord(SecKind.GenericPassword);
                    query.Service = NSBundle.MainBundle.BundleIdentifier;
                    query.Account = "UniqueID";

                    NSData uniqueId = SecKeyChain.QueryAsData(query);
                    if (uniqueId == null)
                    {
                        query.ValueData = NSData.FromString(System.Guid.NewGuid().ToString());
                        var err = SecKeyChain.Add(query);
                        _Key = query.ValueData.ToString();
                    }
                    else
                    {
                        _Key = uniqueId.ToString();
                    }
                }

                return _Key;
            }
        }

Fördunkla genererade binärfiler innan du distribuerar till slutanvändare

Title Detaljer
Komponent Mobil klient
SDL Phase Build
Tillämpliga tekniker Generic
Attribut Ej tillämpligt
Referenser Kryptokryptering för .NET
Steps Genererade binärfiler (sammansättningar inom apk) bör döljas för att stoppa omvänd utveckling av sammansättningar. Verktyg som CryptoObfuscator kan användas för detta ändamål.

Ange clientCredentialType till Certifikat eller Windows

Title Detaljer
Komponent WCF
SDL Phase Build
Tillämpliga tekniker .NET Framework 3
Attribut Ej tillämpligt
Referenser Befästa
Steps Om du använder usernameToken med ett lösenord i klartext över en okrypterad kanal exponeras lösenordet för angripare som kan sniffa SOAP-meddelanden. Tjänstleverantörer som använder UsernameToken kan acceptera lösenord som skickas i klartext. Om du skickar lösenord i klartext över en okrypterad kanal kan autentiseringsuppgifterna exponeras för angripare som kan sniffa soap-meddelandet.

Exempel

Följande konfiguration av WCF-tjänstprovidern använder UsernameToken:

<security mode="Message">
<message clientCredentialType="UserName" />

Ange clientCredentialType till Certifikat eller Windows.

WCF-säkerhetsläge är inte aktiverat

Title Detaljer
Komponent WCF
SDL Phase Build
Tillämpliga tekniker Generic, .NET Framework 3
Attribut Säkerhetsläge – Transport, säkerhetsläge – Meddelande
Referenser MSDN, Fortify Kingdom, Grunderna i WCF Security CoDe Magazine
Steps Ingen transport- eller meddelandesäkerhet har definierats. Program som överför meddelanden utan transport- eller meddelandesäkerhet kan inte garantera meddelandenas integritet eller konfidentialitet. När en WCF-säkerhetsbindning har angetts till Ingen inaktiveras både transport- och meddelandesäkerhet.

Exempel

Följande konfiguration anger säkerhetsläget till Ingen.

<system.serviceModel>
  <bindings>
    <wsHttpBinding>
      <binding name=""MyBinding"">
        <security mode=""None""/>
      </binding>
  </bindings>
</system.serviceModel>

Exempel

Säkerhetsläge För alla tjänstbindningar finns det fem möjliga säkerhetslägen:

  • Inga. Stänger av säkerheten.
  • Transport. Använder transportsäkerhet för ömsesidig autentisering och meddelandeskydd.
  • Meddelande. Använder meddelandesäkerhet för ömsesidig autentisering och meddelandeskydd.
  • Båda. Gör att du kan ange inställningar för säkerhet på transport- och meddelandenivå (endast MSMQ stöder detta).
  • TransportWithMessageCredential. Autentiseringsuppgifter skickas med meddelandet, och meddelandeskydd och serverautentisering tillhandahålls av transportlagret.
  • TransportCredentialOnly. Klientautentiseringsuppgifter skickas med transportlagret och inget meddelandeskydd tillämpas. Använd transport- och meddelandesäkerhet för att skydda meddelandenas integritet och konfidentialitet. Konfigurationen nedan instruerar tjänsten att använda transportsäkerhet med autentiseringsuppgifter för meddelanden.
    <system.serviceModel>
    <bindings>
      <wsHttpBinding>
      <binding name=""MyBinding"">
      <security mode=""TransportWithMessageCredential""/>
      <message clientCredentialType=""Windows""/>
      </binding>
    </bindings>
    </system.serviceModel>