Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu giriş makalesi, uygulama mimarlarının ve geliştiricilerin güvenli Evrensel Windows Platformu (UWP) uygulamaları oluşturmayı hızlandıran çeşitli Windows 10 platform özelliklerini daha iyi anlamasına yardımcı olur. Aşağıdaki aşamaların her birinde kullanılabilen Windows güvenlik özelliklerinin nasıl kullanılacağını ayrıntılı olarak açıklar: kimlik doğrulaması, uçuşta veriler ve bekleyen veriler. Her bölümde yer alan ek kaynakları gözden geçirerek her konu hakkında daha ayrıntılı bilgi bulabilirsiniz.
1 Giriş
Güvenli bir uygulama geliştirmek zor olabilir. Günümüzün mobil, sosyal, bulut ve karmaşık kurumsal uygulamalardan oluşan hızlı tempolu dünyasında müşteriler, uygulamaların her zamankinden daha hızlı kullanılabilir olmasını ve güncelleştirilmesini bekliyor. Ayrıca, uygulama deneyimi oluşturmanın karmaşıklığını daha da ekleyerek birçok cihaz türü kullanır. Windows Evrensel Windows Platformu (UWP) için derlediyseniz bu, geleneksel masaüstü bilgisayarlar, dizüstü bilgisayarlar, tabletler ve mobil cihazlar listesini içerebilir; Nesnelerin İnterneti, Xbox One, Microsoft Surface Hub ve HoloLens'i kapsayan yeni cihazların artan listesine ek olarak. Geliştirici olarak, uygulamalarınızın ilgili tüm platformlarda veya cihazlarda güvenli bir şekilde iletişim kurmasını ve verileri depolamasını sağlamanız gerekir.
Windows güvenlik özelliklerini kullanmanın avantajlarından bazıları aşağıdadır.
- Güvenlik bileşenleri ve teknolojileri için tutarlı API'ler kullanarak Windows'ı destekleyen tüm cihazlarda standartlaştırılmış güvenlik elde edersiniz.
- Bu güvenlik senaryolarını kapsayan özel kod uyguladıysanız, daha az kod yazar, test eder ve korursunuz.
- Uygulamanın kaynaklarına ve yerel veya uzak sistem kaynaklarına nasıl eriştiğinizi denetlemek için işletim sistemini kullandığınızdan, uygulamalarınız daha kararlı ve güvenli hale gelir.
Kimlik doğrulaması sırasında, belirli bir hizmete erişim isteyen bir kullanıcının kimliği doğrulanır. Windows Hello, Windows uygulamalarında daha güvenli bir kimlik doğrulama mekanizması oluşturmaya yardımcı olan Windows bileşenidir. Bununla, uygulamalarınız için çok faktörlü kimlik doğrulamasını uygulamak için Kişisel Kimlik Numarası (PIN) veya kullanıcının parmak izi, yüzü veya iris gibi biyometri kullanabilirsiniz.
Uçuştaki veriler, bağlantı ve bu bağlantı üzerinden aktarılan iletileri ifade eder. Bunun bir örneği, web hizmetlerini kullanarak uzak bir sunucudan veri almaktır. Güvenli Yuva Katmanı (SSL) ve Güvenli Köprü Metni Aktarım Protokolü (HTTPS) kullanımı, bağlantının güvenliğini sağlar. Aracı tarafların bu iletilere erişmesini veya yetkisiz uygulamaların web hizmetleriyle iletişim kurmasını önlemek, verilerin uçuş sırasında güvenliğini sağlamak için önemlidir.
Son olarak, durağan veriler, bellekte veya depolama medyasında bulunan verilerle ilgilidir. Windows uygulamaları, uygulamalar arasında yetkisiz veri erişimini engelleyen bir uygulama modeline sahiptir ve cihazdaki verilerin güvenliğini daha fazla sağlamak için şifreleme API'leri sunar. Kimlik Bilgisi Dolabı adlı bir özellik, işletim sisteminin diğer uygulamaların bunlara erişmesini engelleyerek cihazda kullanıcı kimlik bilgilerini güvenli bir şekilde depolamak için kullanılabilir.
2 Kimlik Doğrulama Faktörü
Verileri korumak için erişim isteyen kişinin tanımlanması ve istediği veri kaynaklarına erişme yetkisinin olması gerekir. Bir kullanıcıyı tanımlama işlemine kimlik doğrulaması, kaynağa erişim ayrıcalıklarını belirleme işlemi ise yetkilendirme olarak adlandırılır. Bunlar yakından ilişkili işlemlerdir ve kullanıcı için ayırt edilemez olabilir. Bunlar, birçok faktöre bağlı olarak görece basit veya karmaşık işlemler olabilir: örneğin, verilerin tek bir sunucuda bulunması veya birçok sistem arasında dağıtılması. Kimlik doğrulama ve yetkilendirme hizmetlerini sağlayan sunucu, kimlik sağlayıcısı olarak adlandırılır.
Kullanıcı, belirli bir hizmet ve/veya uygulamayla kimlik doğrulaması yapmak için bildiği bir şeyden, sahip olduğu bir şeyden ve/veya sahip olduğu bir şeyden oluşan kimlik bilgilerini kullanıyor. Bunların her biri kimlik doğrulama faktörleri olarak adlandırılır.
- Kullanıcının bildiği bir şey genellikle paroladır, ancak kişisel kimlik numarası (PIN) veya "gizli" soru-cevap çifti de olabilir.
- Kullanıcının sahip olduğu bir şey, çoğunlukla kullanıcıya özgü kimlik doğrulama verilerini içeren USB çubuğu gibi bir donanım bellek cihazıdır.
- Kullanıcıya özgü bir unsur sıklıkla parmak izlerini içerir, ancak giderek daha popüler hale gelen faktörler arasında kullanıcının konuşma tarzı, yüz ve göz özellikleri veya davranış kalıpları da bulunmaktadır. Bu ölçümler veri olarak depolandığında biyometrik olarak adlandırılır.
Kullanıcı tarafından oluşturulan bir parola kendi içinde bir kimlik doğrulama faktörüdür, ancak genellikle yeterli değildir; parolayı bilen herkes, parolanın sahibi olan kullanıcının kimliğine bürünebilir. Akıllı kart daha yüksek bir güvenlik düzeyi sağlayabilir, ancak çalınabilir, kaybolabilir veya yanlış yerleştirilmiş olabilir. Bir kullanıcının kimliğini parmak iziyle veya oküler taramayla doğrulayabilecek bir sistem en yüksek ve en uygun güvenlik düzeyini sağlayabilir, ancak tüm kullanıcılar tarafından kullanılamayabilecek pahalı ve özel donanımlar (örneğin, yüz tanıma için Intel RealSense kamera) gerektirir.
Sistem tarafından kullanılan kimlik doğrulama yönteminin tasarlanması, veri güvenliğinin karmaşık ve önemli bir yönüdür. Genel olarak, kimlik doğrulamasında ne kadar çok faktör kullanırsanız sistem o kadar güvenli olur. Aynı zamanda kimlik doğrulamasının da kullanılabilir olması gerekir. Bir kullanıcı genellikle günde birçok kez oturum açar, bu nedenle işlemin hızlı olması gerekir. Kimlik doğrulama türü seçiminiz güvenlik ve kullanım kolaylığı arasında bir dengedir; tek faktörlü kimlik doğrulaması en az güvenli ve kullanımı en kolay kimlik doğrulamasıdır ve çok faktörlü kimlik doğrulaması daha güvenli hale gelir, ancak daha fazla faktör eklendikçe daha karmaşık hale gelir.
2.1 Tek faktörlü kimlik doğrulaması
Bu kimlik doğrulama biçimi tek bir kullanıcı kimlik bilgilerini temel alır. Bu genellikle bir paroladır, ancak kişisel kimlik numarası (PIN) de olabilir.
Tek faktörlü kimlik doğrulaması işlemi aşağıdadır.
- Kullanıcı, kimlik sağlayıcısına kullanıcı adını ve parolasını sağlar. Kimlik sağlayıcısı, kullanıcının kimliğini doğrulayan sunucu işlemidir.
- Kimlik sağlayıcısı, kullanıcı adı ve parolanın sistemde depolananlarla aynı olup olmadığını denetler. Çoğu durumda parola şifrelenir ve başkalarının okuyamaması için ek güvenlik sağlar.
- Kimlik sağlayıcısı, kimlik doğrulamasının başarılı olup olmadığını gösteren bir kimlik doğrulama durumu döndürür.
- Başarılı olursa veri alışverişi başlar. Başarısız olursa kullanıcının kimliğinin yeniden doğrulanması gerekir.
tek faktörlü kimlik doğrulaması
Günümüzde bu kimlik doğrulama yöntemi, hizmetler arasında en yaygın kullanılan yöntemdir. Ayrıca, tek kimlik doğrulama yöntemi olarak kullanıldığında en az güvenli kimlik doğrulama biçimidir. Parola karmaşıklığı gereksinimleri, "gizli sorular" ve düzenli parola değişiklikleri parolaları daha güvenli hale getirir, ancak kullanıcılara daha fazla yük getirir ve bilgisayar korsanlarına karşı etkili bir caydırıcı değildir.
Parolalarla ilgili zorluk, bunları başarıyla tahmin etmek, birden fazla faktöre sahip sistemlerden daha kolay olmasıdır. Küçük bir web mağazasından kullanıcı hesapları ve karma parola içeren bir veritabanı çalarlarsa, diğer web sitelerinde kullanılan parolaları kullanabilirler. Karmaşık parolaları hatırlamak zor olduğundan kullanıcılar hesapları sürekli yeniden kullanma eğilimindedir. Bt departmanı için parolaları yönetmek, parolaların sık sık güncelleştirilip güvenli bir şekilde depolanmasını gerektiren sıfırlama mekanizmaları sunmanın karmaşıklığını da beraberinde getirir.
Tüm dezavantajları için tek faktörlü kimlik doğrulaması, kullanıcıya kimlik bilgilerinin denetimini verir. Bunu oluşturur ve değiştirirler ve kimlik doğrulama işlemi için yalnızca bir klavye gerekir. Bu, tek faktörü çok faktörlü kimlik doğrulamasından ayıran ana özelliktir.
2.1.1 Web kimlik doğrulama aracısı
Daha önce açıklandığı gibi, BT departmanı için parola kimlik doğrulamasıyla ilgili zorluklardan biri, kullanıcı adlarının/parolaların temeli, sıfırlama mekanizmaları vb. yönetiminin ek yüküdür. Giderek popüler olan bir seçenek, kimlik doğrulaması için açık bir standart olan OAuth aracılığıyla kimlik doğrulaması sunan üçüncü taraf kimlik sağlayıcılarına güvenmektir.
BT departmanları, OAuth kullanarak kullanıcı adları ve parolalar içeren bir veritabanını korumanın yanı sıra parola sıfırlama fonksiyonu vb. karmaşık işlemleri Facebook, X veya Microsoft gibi bir üçüncü taraf kimlik sağlayıcısına etkili bir şekilde 'dış kaynak kullanımı' yaparak devredebilir.
Kullanıcılar bu platformlarda kimlikleri üzerinde tam denetime sahiptir, ancak uygulamalar, kullanıcı kimliği doğrulandıktan ve kullanıcının onayı alındıktan sonra sağlayıcıdan bir jeton isteyebilir ve bu, kimliği doğrulanmış kullanıcıları yetkilendirmek için kullanılabilir.
Windows'daki web kimlik doğrulama aracısı, uygulamaların OAuth ve OpenID gibi kimlik doğrulama ve yetkilendirme protokollerini kullanması için bir dizi API ve altyapı sağlar. Uygulamalar WebAuthenticationBroker API'sini kullanarak kimlik doğrulama işlemleri başlatabilir ve bunun sonucunda WebAuthenticationResultdöndürülür. İletişim akışına genel bir bakış aşağıdaki şekilde gösterilmiştir.
Uygulama, uygulamadaki bir WebView aracılığıyla kimlik sağlayıcısıyla kimlik doğrulamasını başlatarak aracı görevi görür. Kimlik sağlayıcısı kullanıcının kimliğini doğruladığında, uygulamaya kimlik sağlayıcısından kullanıcı hakkında bilgi istemek için kullanılabilecek bir belirteç döndürür. Güvenlik önlemi olarak, uygulamanın kimlik sağlayıcısıyla kimlik doğrulama işlemlerine aracılık etmesi için önce kimlik sağlayıcısına kaydedilmesi gerekir. Bu kayıt adımları her sağlayıcı için farklılık gösterir.
Sağlayıcıyla iletişim kurmak için WebAuthenticationBroker API'sini çağırmaya yönelik genel iş akışı aşağıda verilmiştir.
- Kimlik sağlayıcısına gönderilecek istek dizelerini oluşturun. Dize sayısı ve her dizedeki bilgiler her web hizmeti için farklıdır, ancak genellikle her biri URL içeren iki URI dizesi içerir: biri kimlik doğrulama isteğinin gönderildiği, diğeri de yetkilendirme tamamlandıktan sonra kullanıcının yönlendirildiği.
- WebAuthenticationBroker.AuthenticateAsyncçağrısı yaparak istek dizelerini geçirin ve kimlik sağlayıcısından yanıtı bekleyin.
- Yanıt alındığında durumu almak için WebAuthenticationResult.ResponseStatus çağırın.
- İletişim başarılı olursa, kimlik sağlayıcısı tarafından döndürülen yanıt dizesini işleyin. Başarısız olursa hatayı işleyin.
İletişim başarılı olursa, kimlik sağlayıcısı tarafından döndürülen yanıt dizesini işleyin. Başarısız olursa hatayı işleyin.
Bu işlem için aşağıdaki örnek C# kodu. Daha fazla bilgi ve ayrıntılı bir izlenecek yol için bkz. WebAuthenticationBroker. Eksiksiz bir kod örneği için GitHub
string startURL = "https://<providerendpoint>?client_id=<clientid>";
string endURL = "http://<AppEndPoint>";
var startURI = new System.Uri(startURL);
var endURI = new System.Uri(endURL);
try
{
WebAuthenticationResult webAuthenticationResult =
await WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None, startURI, endURI);
switch (webAuthenticationResult.ResponseStatus)
{
case WebAuthenticationStatus.Success:
// Successful authentication.
break;
case WebAuthenticationStatus.ErrorHttp:
// HTTP error.
break;
default:
// Other error.
break;
}
}
catch (Exception ex)
{
// Authentication failed. Handle parameter, SSL/TLS, and
// Network Unavailable errors here.
}
2.2 Çok faktörlü kimlik doğrulaması
Çok faktörlü kimlik doğrulaması birden fazla kimlik doğrulama faktörü kullanır. Genellikle parola gibi "bildiğiniz bir şey", cep telefonu veya akıllı kart olabilecek "sahip olduğunuz bir şey" ile birleştirilir. Bir saldırgan kullanıcının parolasını bulsa bile, cihaz veya kart olmadan hesaba erişilemez. Yalnızca cihaz veya kartın güvenliği ihlal edilirse, parola olmadan saldırgan için yararlı olmaz. Bu nedenle çok faktörlü kimlik doğrulaması, tek faktörlü kimlik doğrulamasına göre daha güvenlidir, ancak aynı zamanda daha karmaşıktır.
Çok faktörlü kimlik doğrulaması kullanan hizmetler genellikle kullanıcıya ikinci kimlik bilgilerini nasıl aldığı konusunda bir seçenek sunar. Bu kimlik doğrulaması türüne örnek olarak, sms kullanılarak kullanıcının cep telefonuna bir doğrulama kodu gönderildiği yaygın olarak kullanılan bir işlemdir.
- Kullanıcı, kimlik sağlayıcısına kullanıcı adını ve parolasını sağlar.
- Kimlik sağlayıcısı, kullanıcı adını ve parolayı tek faktörlü yetkilendirmede olduğu gibi doğrular ve ardından kullanıcının sistemde depolanan cep telefonu numarasını arar.
- Sunucu, kullanıcının cep telefonuna oluşturulan doğrulama kodunu içeren bir SMS iletisi gönderir.
- Kullanıcı kimlik sağlayıcısına doğrulama kodunu sağlar; kullanıcıya sunulan bir form aracılığıyla.
- Kimlik sağlayıcısı, her iki kimlik bilgilerinin de kimlik doğrulamasının başarılı olup olmadığını gösteren bir kimlik doğrulama durumu döndürür.
- Başarılı olursa veri alışverişi başlar. Aksi takdirde kullanıcının kimliğinin yeniden doğrulanması gerekir.
İki öğeli kimlik doğrulama
Gördüğünüz gibi, bu işlem aynı zamanda ikinci kullanıcı kimlik bilgilerinin kullanıcı tarafından oluşturulmak veya sağlamak yerine kullanıcıya gönderilmesi açısından tek faktörlü kimlik doğrulamasından farklıdır. Bu nedenle kullanıcı gerekli kimlik bilgilerinin tam denetiminde değildir. Bu, ikinci kimlik bilgisi olarak bir akıllı kart kullanıldığında da geçerlidir: kuruluş bu kartı oluşturma ve kullanıcıya sağlama sorumluluğundadır.
2.2.1 Azure Active Directory
Azure Active Directory (Azure AD), tek faktörlü veya çok faktörlü kimlik doğrulamasında kimlik sağlayıcısı olarak hizmet verebilen bulut tabanlı bir kimlik ve erişim yönetimi hizmetidir. Azure AD kimlik doğrulaması, doğrulama koduyla veya doğrulama kodu olmadan kullanılabilir.
Azure AD tek faktörlü kimlik doğrulamasını da uygulayabilir ancak kuruluşlar genellikle çok faktörlü kimlik doğrulamasının daha yüksek güvenliğini gerektirir. Çok faktörlü kimlik doğrulama yapılandırmasında, Azure AD hesabıyla kimlik doğrulaması yapılan bir kullanıcı, cep telefonuna veya Azure Authenticator mobil uygulamasına SMS iletisi olarak bir doğrulama kodu gönderme seçeneğine sahiptir.
Ayrıca, Azure AD bir OAuth sağlayıcısı olarak kullanılabilir ve standart kullanıcıya çeşitli platformlardaki uygulamalara bir kimlik doğrulama ve yetkilendirme mekanizması sağlar. Daha fazla bilgi edinmek için bkz. Azure Active Directory ve Azure üzerinde Çok Faktörlü Kimlik Doğrulama.
2.4 Windows Hello
Windows'ta, işletim sisteminde kullanışlı bir çok faktörlü kimlik doğrulama mekanizması yerleşiktir. Windows Hello, Windows'ta yerleşik olarak bulunan yeni biyometrik oturum açma sistemidir. Doğrudan işletim sisteminde yerleşik olduğundan, Windows Hello kullanıcıların cihazlarının kilidini açmak için yüz veya parmak izi tanımlamasına izin verir. Windows güvenli kimlik bilgisi deposu, cihazdaki biyometrik verileri korur.
Windows Hello, bir cihazın tek bir kullanıcıyı tanıması için sağlam bir yol sağlar. Bu yöntem, bir kullanıcı ile istenen hizmet veya veri öğesi arasındaki yolun ilk bölümünü ele alır. Cihaz kullanıcıyı tanıydıktan sonra, istenen kaynağa erişim verilip verilmeyeceğini belirlemeden önce kullanıcının kimliğini doğrulamalıdır. Windows Hello ayrıca Windows ile tamamen tümleştirilmiş güçlü iki öğeli kimlik doğrulaması (2FA) sağlar ve yeniden kullanılabilir parolaları belirli bir cihaz ve biyometrik hareket veya PIN birleşimiyle değiştirir. PIN, kullanıcı tarafından Microsoft hesabı kaydının bir parçası olarak belirtilir.
Ancak Windows Hello yalnızca geleneksel 2FA sistemlerinin yerine geçemez. Kavramsal olarak akıllı kartlara benzer: Kimlik doğrulaması, dize karşılaştırmaları yerine şifreleme temelleri kullanılarak gerçekleştirilir ve kullanıcının anahtar malzemesi kurcalamaya dayanıklı donanım içinde güvenlidir. Microsoft Hello, akıllı kart dağıtımı için gereken ek altyapı bileşenlerini de gerektirmez. Özellikle, şu anda bir sertifikanız yoksa sertifikaları yönetmek için Ortak Anahtar Altyapısına (PKI) ihtiyacınız yoktur. Windows Hello, hiçbir dezavantajı olmadan akıllı kartların başlıca avantajlarını (sanal akıllı kartlar için dağıtım esnekliği ve fiziksel akıllı kartlar için sağlam güvenlik) birleştirir.
Kullanıcıların kimlik doğrulaması yapabilmesi için bir cihazın Windows Hello'ya kaydedilmesi gerekir. Windows Hello, bir tarafın ortak anahtarı kullanarak verileri şifrelediği ve diğer tarafın özel anahtarla bu verilerin şifresini çözebildiği asimetrik (genel/özel anahtar) şifrelemesini kullanır. Windows Hello söz konusu olduğunda, bir dizi ortak/özel anahtar çifti oluşturur ve özel anahtarları cihazın Güvenilen Platform Modülü (TPM) yongasına yazar. Bir cihaz kaydedildikten sonra UWP uygulamaları, kullanıcının ortak anahtarını almak için sistem API'lerini çağırabilir ve bu anahtar kullanıcıyı sunucuya kaydetmek için kullanılabilir.
Bir uygulamanın kayıt iş akışı aşağıdaki gibi görünebilir:
Topladığınız kayıt bilgileri, bu basit senaryoda olduğundan çok daha fazla tanımlayıcı bilgi içerebilir. Örneğin, uygulamanız bankacılık hizmeti gibi güvenli bir hizmete erişiyorsa kaydolma işleminin bir parçası olarak kimlik kanıtı ve diğer şeyler istemeniz gerekir. Tüm koşullar karşılandığında, bu kullanıcının ortak anahtarı arka uçta depolanır ve kullanıcının hizmeti bir sonraki kullanışında doğrulamak için kullanılır.
Windows Hello hakkında daha fazla bilgi için bkz. İş İçin Windows Hello'ya genel bakış ve Windows Hello geliştirici kılavuzu.
3 Veri akışı güvenlik yöntemleri
Uçuş içi güvenlik yöntemleri, ağa bağlı cihazlar arasında aktarım halindeki veriler için geçerlidir. Veriler, özel bir şirket intranetinin yüksek güvenlikli ortamındaki sistemler arasında veya web'in güvenli olmayan ortamındaki bir istemci ve web hizmeti arasında aktarılabilir. Windows uygulamaları, ağ API'leri aracılığıyla SSL gibi standartları destekler ve geliştiricilerin uygulamaları için uygun güvenlik düzeyini sağlayabildiği Azure API Management gibi teknolojilerle çalışır.
3.1 Uzak sistem kimlik doğrulaması
Uzak bilgisayar sistemiyle iletişimin gerçekleştiği iki genel senaryo vardır.
- Yerel sunucu, doğrudan bağlantı üzerinden kullanıcının kimliğini doğrular. Örneğin, sunucu ve istemci bir şirket intranetinde olduğunda.
- Bir web hizmeti ile İnternet üzerinden iletişim sağlanır.
Web hizmeti iletişimi için güvenlik gereksinimleri doğrudan bağlantı senaryolarındakilerden daha yüksektir. Veriler artık güvenli ağın yalnızca bir parçası olmadığından ve verileri kesmeyi isteyen kötü amaçlı saldırganların olasılığı da daha yüksektir. Çeşitli cihaz türleri hizmete erişeceği için, bunlar büyük olasılıkla WCF'nin aksine RESTful hizmetleri olarak derlenecektir; bu da hizmete yönelik kimlik doğrulaması ve yetkilendirmenin yeni zorluklara da neden olduğu anlamına gelir. Güvenli uzak sistem iletişimi için iki gereksinimi ele alacağız.
İlk gereksinim ileti gizliliğidir: İstemci ile web hizmetleri arasında geçirilen bilgiler (örneğin, kullanıcının kimliği ve diğer kişisel bilgiler) aktarım sırasında üçüncü taraflar tarafından okunamaz olmalıdır. Bu genellikle iletilerin gönderildiği bağlantıyı şifreleyerek ve iletinin kendisini şifreleyerek gerçekleştirilir. Özel/ortak anahtar şifrelemesinde ortak anahtar herkes tarafından kullanılabilir ve belirli bir alıcıya gönderilecek iletileri şifrelemek için kullanılır. Özel anahtar yalnızca alıcı tarafından tutulur ve iletinin şifresini çözmek için kullanılır.
İkinci gereksinim ileti bütünlüğüdür: İstemci ve web hizmeti, aldıkları iletilerin diğer taraf tarafından gönderilmesi amaçlanan iletiler olduğunu ve iletinin aktarım sırasında değiştirilmediğini doğrulayabilmelidir. Bu, iletileri dijital imzalarla imzalayarak ve sertifika kimlik doğrulaması kullanılarak gerçekleştirilir.
3.2 SSL bağlantıları
web hizmetleri, istemcilere güvenli bağlantılar kurmak ve korumak için Güvenli Köprü Metni Aktarım Protokolü (HTTPS) tarafından desteklenen Güvenli Yuva Katmanı'nı (SSL) kullanabilir. SSL, ortak anahtar şifrelemesini ve sunucu sertifikalarını destekleyerek ileti gizliliği ve bütünlüğü sağlar. SSL, Aktarım Katmanı Güvenliği (TLS) ile değiştirilir, ancak TLS genellikle geçici olarak SSL olarak adlandırılır.
İstemci sunucudaki bir kaynağa erişim istediğinde SSL, sunucuyla bir anlaşma işlemi başlatır. Buna SSL el sıkışması denir. Şifreleme düzeyi, bir dizi genel ve özel şifreleme anahtarı ile istemci ve sunucu sertifikalarındaki kimlik bilgileri, SSL bağlantısı süresi boyunca tüm iletişimin temeli olarak kabul edilir. Sunucu, istemcinin kimliğinin şu anda doğrulanması gerektirebilir. Bağlantı kurulduktan sonra, bağlantı kapatılana kadar tüm iletiler anlaşmaya varılan ortak anahtarla şifrelenir.
3.2.1 SSL sabitleme
SSL şifreleme ve sertifikalar kullanarak ileti gizliliği sağlayabilir ancak istemcinin iletişimde olduğu sunucunun doğru sunucu olduğunu doğrulamak için hiçbir şey yapmaz. Sunucunun davranışı yetkisiz bir üçüncü taraf tarafından taklit edilebilir ve istemcinin ilettiği hassas verileri kesebilir. Bunu önlemek için, sunucudaki sertifikanın istemcinin beklediği ve güvendiği sertifika olduğunu doğrulamak için SSL sabitleme adlı bir teknik kullanılır.
Her biri kendi avantajları ve dezavantajları olan uygulamalarda SSL sabitlemeyi uygulamanın birkaç farklı yolu vardır. En kolay yaklaşım, uygulamanın paket bildirimindeki Sertifikalar bildirimidir. Bu bildirim, uygulama paketinin dijital sertifikalar yüklemesini ve bunlara özel güven belirtmesini sağlar. Bu, yalnızca uygulama ile sertifika zincirinde karşılık gelen sertifikalara sahip sunucular arasında SSL bağlantılarına izin verilmesiyle sonuçlanır. Bu mekanizma, güvenilir genel sertifika yetkililerine bağımlılık gerektirmediğinden, kendinden imzalı sertifikaların güvenli bir şekilde kullanılmasını da sağlar.
Doğrulama mantığı üzerinde daha fazla denetim için, BIR HTTPS isteğine yanıt olarak sunucu tarafından döndürülen sertifikaları doğrulamak için API'ler kullanılabilir. Bu yöntemin bir istek göndermeyi ve yanıtı incelemeyi gerektirdiğini unutmayın, bu nedenle bir istekte hassas bilgileri göndermeden önce bunu doğrulama olarak eklediğinizden emin olun.
Aşağıdaki C# kodu bu SSL sabitleme yöntemini gösterir. ValidateSSLRoot yöntemi, http isteği yürütmek için HttpClient sınıfını kullanır. İstemci yanıtı gönderdikten sonra, sunucu tarafından döndürülen sertifikaları incelemek için RequestMessage.TransportInformation.ServerIntermediateCertificates koleksiyonunu kullanır. İstemci daha sonra sertifika zincirinin tamamını içerdiği parmak izleriyle doğrulayabilir. Bu yöntem, sunucu sertifikasının süresi dolduğunda ve yenilendiğinde uygulamada sertifika parmak izlerinin güncelleştirilmesi gerekir.
private async Task ValidateSSLRoot()
{
// Send a get request to Bing
var httpClient = new HttpClient();
var bingUri = new Uri("https://www.bing.com");
HttpResponseMessage response =
await httpClient.GetAsync(bingUri);
// Get the list of certificates that were used to
// validate the server's identity
IReadOnlyList<Certificate> serverCertificates = response.RequestMessage.TransportInformation.ServerIntermediateCertificates;
// Perform validation
if (!ValidateCertificates(serverCertificates))
{
// Close connection as chain is not valid
return;
}
// Validation passed, continue with connection to service
}
private bool ValidateCertificates(IReadOnlyList<Certificate> certs)
{
// In this example, we iterate through the certificates
// and check that the chain contains
// one specific certificate we are expecting
foreach (var cert in certs)
{
byte[] thumbprint = cert.GetHashValue();
// Check if the thumbprint matches whatever you
// are expecting
var expected = new byte[] { 212, 222, 32, 208, 94, 102,
252, 83, 254, 26, 80, 136, 44, 120, 219, 40, 82, 202,
228, 116 };
// ThumbprintMatches does the byte[] comparison
if (ThumbprintMatches(thumbprint, expected))
{
return true;
}
}
return false;
}
3.3 REST API'lerine erişimi yayımlama ve güvenli hale getirme
Web hizmetlerine yetkili erişim sağlamak için, her API çağrısı yapıldığında kimlik doğrulamasına ihtiyaç duymaları gerekir. Performansı ve ölçeği denetleyebilmek, web hizmetlerinin web'de kullanıma sunulduğunda da dikkate alınması gereken bir şeydir. Azure API Management, api'lerin web'de kullanıma sunulmasına yardımcı olabilecek bir hizmettir ve üç düzeyde özellikler sunar.
API'nin Yayımcılar/Yöneticiler, Azure API Management Yayımcı Portalı aracılığıyla API'yi kolayca yapılandırabilir. Burada API kümeleri oluşturulabilir ve bunlara erişim, kimlerin hangi API'lere erişimi olduğunu denetlemek için yönetilebilir.
Geliştiriciler bu API'lere erişmek isteyen geliştiriciler, Geliştirici Portalı aracılığıyla istekte bulunabilir ve bu istekler anında erişim sağlayabilir veya yayımcı/yöneticinin onayını gerektirebilir. Geliştiriciler, web hizmeti tarafından sunulan API'leri hızla benimsemek için Geliştirici Portalı'nda API belgelerini ve örnek kodu da görüntüleyebilir.
Azure API Management tarafından sunulan proxy aracılığıyla, bu geliştiricilerin oluşturduğu uygulamaları API'ye erişmektedir. Hem ara sunucu, yayımcının/yöneticinin sunucusundaki API'nin gerçek uç noktasını gizleyen bir güvenlik katmanı sağlar hem de bir API'ye yapılan çağrı başka bir API'ye yönlendirildiğinde kullanıma sunulan API'nin tutarlı kalmasını sağlamak için API çevirisi gibi ek mantık içerebilir. Ayrıca, belirli bir IP etki alanından veya etki alanı kümesinden kaynaklanan API çağrılarını engellemek için IP filtrelemeyi de kullanabilir. Azure API Management ayrıca her API çağrısının kimliğini doğrulamak ve yetkilendirmek için API anahtarları olarak adlandırılan bir ortak anahtar kümesi kullanarak web hizmetlerinin güvenliğini sağlar. Yetkilendirme başarısız olduğunda API'ye ve desteklediği işlevlere erişim engellenir.
Azure API Management, web hizmetinin performansını iyileştirmek için bir hizmete yapılan API çağrılarının sayısını da (azaltma olarak adlandırılan bir yordam) azaltabilir. Daha fazla bilgi edinmek için AzureCon 2015'te Azure API Management ve Azure API Management
4 Durağan veri güvenliği yöntemleri
Veriler bir cihaza ulaştığında, bu cihaza "bekleyen veriler" olarak başvururuz. Bu verilerin yetkisiz kullanıcılar veya uygulamalar tarafından erişilememesi için cihazda güvenli bir şekilde depolanması gerekir. Windows'taki uygulama modeli, herhangi bir uygulama tarafından depolanan verilerin yalnızca bu uygulama için erişilebilir olmasını sağlarken, gerektiğinde verileri paylaşmak için API'ler sağlar. Verilerin şifrelenebilmesini ve kimlik bilgilerinin güvenli bir şekilde depolanabilmesini sağlamak için ek API'ler de kullanılabilir.
4.1 Windows uygulama modeli
Geleneksel olarak, Windows hiçbir zaman bir uygulama tanımına sahip olmamıştır. En yaygın olarak yürütülebilir dosya (.exe) olarak adlandırılırdı ve bu hiçbir zaman yükleme, durum depolama, yürütme uzunluğu, sürüm oluşturma, işletim sistemi tümleştirmesi veya uygulamadan uygulamaya iletişim dahil değildi. Evrensel Windows Platformu modeli, yükleme, çalışma zamanı ortamı, kaynak yönetimi, güncelleştirmeler, veri modeli ve kaldırmayı kapsayan bir uygulama modeli tanımlar.
Windows 10 uygulamaları bir kapsayıcıda çalıştırılır ve bu da varsayılan olarak sınırlı ayrıcalıklara sahip oldukları anlamına gelir (kullanıcı tarafından ek ayrıcalıklar istenebilir ve verilebilir). Örneğin, bir uygulama sistemdeki dosyalara erişmek istiyorsa, kullanıcının dosya seçmesine izin vermek için Windows.Storage.Pickers ad alanından bir dosya seçici kullanılmalıdır (dosyalara doğrudan erişim etkinleştirilmez). Bir diğer örnek, bir uygulamanın kullanıcının konum verilerine erişmek istemesi durumunda, konum cihazı yeteneğinin etkinleştirilmesi ve bu uygulamanın, indirme sırasında, kullanıcının konumuna erişim istendiğini belirten bir uyarı göstermesi gerektiğidir. Buna ek olarak, uygulama kullanıcının konumuna ilk kez erişmek istediğinde, kullanıcıya verilere erişim izni isteyen ek bir onay istemi gösterilir.
Bu uygulama modelinin uygulamalar için bir "jail" işlevi görerek ulaşamayacakları anlamına geldiğini, ancak dışarıdan ulaşılamayan bir "kale" olmadığını unutmayın (yönetici ayrıcalıklarına sahip uygulamalar elbette yine de ulaşabilir). Kuruluşların/BT'nin hangi (Win32) uygulamaların yürütülmesine izin verileceğini belirtmesine olanak tanıyan Windows'ta Device Guard, bu erişimi sınırlamaya daha fazla yardımcı olabilir.
Uygulama modeli, uygulama yaşam döngüsünü de yönetir. Uygulamaların arka planda yürütülmesini varsayılan olarak sınırlar; örneğin; bir uygulama arka plana geçtiğinde, uygulama kodda uygulamanın askıya alınmasını ele almak için kısa bir süre verdikten sonra işlem askıya alınır ve belleği dondurulur. İşletim sistemi, uygulamaların belirli bir arka plan görevi yürütmesini istemesi için mekanizmalar sağlar (zamanlamaya göre, İnternet/Bluetooth bağlantısı, güç değişiklikleri vb. gibi çeşitli olaylar tarafından tetiklenen ve müzik çalma veya GPS izleme gibi belirli senaryolarda).
Cihazdaki bellek kaynakları azaldığında, Windows uygulamaları sonlandırarak bellek alanı boşaltıyor. Bu yaşam döngüsü modeli, askıya alma ve sonlandırma arasında ek süre olmadığından, uygulamaları askıya alındıklarında verileri kalıcı hale getirir.
Daha fazla bilgi için bkz. Evrensel: Windows 10/11 UygulamaYaşam Döngüsünü Anlama.
4.2 Depolanan kimlik bilgisi koruması
Kimliği doğrulanmış hizmetlere erişen Windows uygulamaları genellikle kullanıcılara kimlik bilgilerini yerel cihazda depolama seçeneği sunar. Bu, kullanıcılar için bir kolaylıktır; kullanıcı adını ve parolasını sağladıklarında, uygulama bunları uygulamanın sonraki lansmanlarında otomatik olarak kullanır. Bir saldırgan bu depolanan verilere erişim kazandığında bu bir güvenlik sorunu olabileceğinden, Windows paketlenmiş uygulamaların kullanıcı kimlik bilgilerini güvenli bir kimlik bilgisi dolabında depolamasına olanak sağlar. Uygulama, kimlik bilgilerini uygulamanın depolama kapsayıcısında saklamak yerine, dolaptan almak ve depolamak için Credential Locker API'sini çağırır. Kimlik bilgisi dolabı işletim sistemi tarafından yönetilir, ancak erişim, kimlik bilgisi depolaması için güvenli bir şekilde yönetilen bir çözüm sağlayarak bunları depolayan uygulamayla sınırlıdır.
Kullanıcı depolanacak kimlik bilgilerini sağladığında, uygulama
var vault = new PasswordVault();
vault.Add(new PasswordCredential("My App", username, password));
Aşağıdaki C# kod örneğinde uygulama, PasswordVault nesnesinin FindAllByResource yöntemini çağırarak uygulamaya karşılık gelen tüm kimlik bilgilerini istemektedir. Birden fazla döndürülürse, kullanıcıdan kullanıcı adını girmesini ister. Kimlik bilgileri dolapta değilse, uygulama kullanıcıdan bunları ister. Kullanıcı daha sonra kimlik bilgileri kullanılarak sunucuda oturum açar.
private string resourceName = "My App";
private string defaultUserName;
private void Login()
{
PasswordCredential loginCredential = GetCredentialFromLocker();
if (loginCredential != null)
{
// There is a credential stored in the locker.
// Populate the Password property of the credential
// for automatic login.
loginCredential.RetrievePassword();
}
else
{
// There is no credential stored in the locker.
// Display UI to get user credentials.
loginCredential = GetLoginCredentialUI();
}
// Log the user in.
ServerLogin(loginCredential.UserName, loginCredential.Password);
}
private PasswordCredential GetCredentialFromLocker()
{
PasswordCredential credential = null;
var vault = new PasswordVault();
IReadOnlyList<PasswordCredential> credentialList = null;
try
{
credentialList = vault.FindAllByResource(resourceName);
}
catch(Exception)
{
return null;
}
if (credentialList.Count == 1)
{
credential = credentialList[0];
}
else if (credentialList.Count > 0)
{
// When there are multiple usernames,
// retrieve the default username. If one doesn't
// exist, then display UI to have the user select
// a default username.
defaultUserName = GetDefaultUserNameUI();
credential = vault.Retrieve(resourceName, defaultUserName);
}
return credential;
}
Daha fazla bilgi için bkz. Credential locker.
4.3 Depolanan veri koruması
Genellikle bekleyen veriler olarak adlandırılan depolanan verilerle ilgilenirken şifreleme, yetkisiz kullanıcıların depolanan verilere erişmesini engelleyebilir. Verileri şifrelemek için kullanılan iki yaygın mekanizma simetrik anahtarlar veya asimetrik anahtarlar kullanmaktır. Ancak veri şifreleme, verilerin gönderildiği saat ile depolandığı saat arasında değiştirilmemesini sağlayamaz. Başka bir deyişle veri bütünlüğü sağlanamaz. İleti kimlik doğrulama kodlarını, karmaları ve dijital imzalamayı kullanmak, bu sorunu çözmek için yaygın tekniklerdir.
4.3.1 Veri şifreleme
Simetrik şifreleme ile hem gönderen hem de alıcı aynı anahtara sahiptir ve verileri hem şifrelemek hem de şifresini çözmek için bu anahtarı kullanır. Bu yaklaşımın zorluğu anahtarı güvenli bir şekilde paylaşmaktır, böylece her iki taraf da bunu fark eder.
Bunun bir yanıtı, ortak/özel anahtar çifti kullanılan asimetrik şifrelemedir. Ortak anahtar, bir iletiyi şifrelemek isteyen herkesle serbestçe paylaşılır. Verilerin şifresini çözmek için yalnızca sizin kullanabilmeniz için özel anahtar her zaman gizli tutulur. Ortak anahtarın bulunmasına olanak sağlayan yaygın bir teknik, yalnızca sertifika olarak da adlandırılan dijital sertifikaları kullanmaktır. Sertifika, ad, veren, e-posta adresi ve ülke/bölge gibi kullanıcı veya sunucu hakkındaki bilgilere ek olarak ortak anahtar hakkındaki bilgileri içerir.
Windows uygulama geliştiricileri, UWP uygulamalarında simetrik ve asimetrik şifreleme uygulamak için SymmetricKeyAlgorithmProvider ve AsymmetricKeyAlgorithmProvider sınıflarını kullanabilir. Ayrıca CryptographicEngine sınıfı verileri şifrelemek ve şifrelerini çözmek, içeriği imzalamak ve dijital imzaları doğrulamak için kullanılabilir. Uygulamalar, depolanan yerel verileri şifrelemek ve şifresini çözmek için Windows.Security.Cryptography.DataProtection ad alanında DataProtectionProvider sınıfını da kullanabilir.
4.3.2 Mesaj kurcalama algılama (MAC'ler, hashler ve imzalar)
MAC, simetrik anahtar (gizli anahtar olarak adlandırılır) veya MAC şifreleme algoritmasına giriş olarak ileti kullanılmasından kaynaklanan bir koddur (veya etikettir). Gizli anahtar ve algoritma, ileti aktarımından önce gönderen ve alıcı tarafından kabul edilir.
MAC'ler iletileri bu şekilde doğrular.
- Gönderen, MAC algoritmasına giriş olarak gizli anahtarı kullanarak MAC etiketini türetir.
- Gönderen, MAC etiketini ve iletiyi alıcıya gönderir.
- Alıcı, gizli anahtarı ve iletiyi MAC algoritmasına giriş olarak kullanarak MAC etiketini türetir.
- Alıcı, MAC etiketini gönderenin MAC etiketiyle karşılaştırır. Bunlar aynıysa, iletinin değiştirilmediğini biliyoruz.
mac doğrulama
Windows uygulamaları, anahtarı oluşturmak için
4.3.3 Karmaları kullanma
Karma işlevi, rastgele uzun bir veri bloğu alan ve karma değer olarak adlandırılan sabit boyutlu bir bit dizesi döndüren bir şifreleme algoritmasıdır. Karma işlevlerin bunu yapabilen bütün bir ailesi vardır.
Yukarıdaki ileti aktarımı senaryosunda MAC yerine karma değer kullanılabilir. Gönderen bir karma değeri ve bir ileti gönderir ve alıcı, gönderenin karma değerinden ve iletisinden kendi karma değerini türetir ve iki karma değeri karşılaştırır. Windows üzerinde çalışan uygulamalar, kullanılabilir karma algoritmalarını listelemek ve bunlardan birini çalıştırmak için HashAlgorithmProvider sınıfını çağırabilir. CryptographicHash sınıfı karma değeri temsil eder. CryptographicHash.GetValueAndReset yöntemi, her kullanım için nesneyi yeniden oluşturmak zorunda kalmadan farklı verileri art arda karma yapmak için kullanılabilir. CryptographicHash sınıfının Append yöntemi, karma oluşturulacak arabelleğe yeni veriler ekler. Bu işlemin tamamı aşağıdaki C# kod örneğinde gösterilmiştir.
public void SampleReusableHash()
{
// Create a string that contains the name of the
// hashing algorithm to use.
string strAlgName = HashAlgorithmNames.Sha512;
// Create a HashAlgorithmProvider object.
HashAlgorithmProvider objAlgProv = HashAlgorithmProvider.OpenAlgorithm(strAlgName);
// Create a CryptographicHash object. This object can be reused to continually
// hash new messages.
CryptographicHash objHash = objAlgProv.CreateHash();
// Hash message 1.
string strMsg1 = "This is message 1";
IBuffer buffMsg1 = CryptographicBuffer.ConvertStringToBinary(strMsg1, BinaryStringEncoding.Utf16BE);
objHash.Append(buffMsg1);
IBuffer buffHash1 = objHash.GetValueAndReset();
// Hash message 2.
string strMsg2 = "This is message 2";
IBuffer buffMsg2 = CryptographicBuffer.ConvertStringToBinary(strMsg2, BinaryStringEncoding.Utf16BE);
objHash.Append(buffMsg2);
IBuffer buffHash2 = objHash.GetValueAndReset();
// Convert the hashes to string values (for display);
string strHash1 = CryptographicBuffer.EncodeToBase64String(buffHash1);
string strHash2 = CryptographicBuffer.EncodeToBase64String(buffHash2);
}
4.3.4 Dijital imzalar
Dijital olarak imzalanmış bir depolanan iletinin veri bütünlüğü, MAC kimlik doğrulamasına benzer şekilde doğrulanır. Dijital imza iş akışının çalışma şekli aşağıda açıklanmaktadır.
- Gönderen, iletiyi bir karma algoritmasına giriş olarak kullanarak bir karma değeri (özet olarak da bilinir) türetir.
- Gönderen, özel anahtarını kullanarak özeti şifreler.
- Gönderen iletiyi, şifrelenmiş özeti ve kullanılan karma algoritmanın adını gönderir.
- Alıcı, aldığı şifrelenmiş özetin şifresini çözmek için ortak anahtarı kullanır. Daha sonra iletinin özetini oluşturmak için karma algoritmasını kullanarak iletinin karmasını oluşturur. Son olarak alıcı, aldığı ve şifresi çözülen özet ile kendi oluşturduğu özeti karşılaştırır. İki anahtar sadece eşleştiğinde, alıcı iletinin gerçekten özel anahtarın sahibinden gönderildiğinden ve bu nedenle iddia ettikleri kişi olduklarından ve iletinin iletilirken değiştirilmediğinden emin olabilir.
dijital imzaları 
Karma algoritmaları çok hızlıdır, bu nedenle karma değerler büyük iletilerden bile hızlı bir şekilde türetilebilir. Sonuçta elde edilen karma değeri rastgele bir uzunluktadır ve tam iletiden daha kısa olabilir, bu nedenle iletinin tamamı yerine yalnızca özet şifrelemek ve şifresini çözmek için genel ve özel anahtarların kullanılması bir iyileştirmedir.
Daha fazla bilgi için Dijital imzalar, MAC'ler, karmalar ve imzalarve Şifreleme makalelerine göz atabilirsiniz.
5 Özet
Windows'daki Evrensel Windows Platformu, daha güvenli uygulamalar oluşturmak için işletim sistemi özelliklerinden yararlanmanın çeşitli yollarını sunar. Tek faktörlü, çok faktörlü veya OAuth kimlik sağlayıcısıyla aracılı kimlik doğrulaması gibi farklı kimlik doğrulama senaryolarında, kimlik doğrulamasıyla ilgili en yaygın zorlukları azaltmak için API'ler vardır. Windows Hello, kullanıcıyı tanıyan ve düzgün tanımlamayı aşma çabalarını etkin bir şekilde yenen yeni bir biyometrik oturum açma sistemi sağlar. Ayrıca, güvenilir platform modülünün dışında asla ortaya çıkarılamayacak veya kullanılamayabilecek birden çok anahtar ve sertifika katmanı sunar. Ayrıca, isteğe bağlı kanıtlama kimlik anahtarları ve sertifikaları kullanımı aracılığıyla daha fazla güvenlik katmanı sağlanır.
Uçarak verilerin güvenliğini sağlamak için, API'ler SSL üzerinden uzak sistemlerle güvenli bir şekilde iletişim kurarken SSL sabitleme ile sunucunun orijinalliğini doğrulama olanağı sağlar. API'leri güvenli ve denetimli bir şekilde yayımlamak, API uç noktasının ek gizlemesini sağlayan bir ara sunucu kullanarak API'leri web'de kullanıma sunmak için güçlü yapılandırma seçenekleri sağlayarak Azure API Management'ın yardımcı olduğu bir şeydir. Bu API'lere erişim, API anahtarları kullanılarak güvenli hale getirilmiştir ve performansı denetlemek için API çağrıları kısıtlanabilir.
Veriler cihaza ulaştığında, Windows uygulama modeli uygulamanın nasıl yüklendiği, güncelleştirilip verilere eriştiği üzerinde daha fazla denetim sağlar ve diğer uygulamaların verilerine yetkisiz bir şekilde erişmesini engeller. Kimlik bilgisi dolabı, işletim sistemi tarafından yönetilen kullanıcı kimlik bilgilerinin güvenli bir şekilde depolanmasını sağlayabilir ve Evrensel Windows Platformu tarafından sunulan şifreleme ve karma API'ler kullanılarak cihazda diğer veriler korunabilir.
6 Kaynak
6.1 Nasıl yapılır makaleleri
- kimlik doğrulaması ve kullanıcı kimliği
- Windows Hello
- Kimlik Doğrulama Kasası
- web kimlik doğrulama aracısı
- parmak izi biyometri
- akıllı kartlar
- Paylaşılan sertifikalar
- Şifreleme
- Sertifikaları
- Şifreleme anahtarları
- Veri koruma
- MAC'ler, karma fonksiyonları ve imzalar
- Şifreleme ihracat kısıtlamaları
- Yaygın şifreleme görevleri
6.2 Kod örnekleri
- Kimlik Doğrulama Kasası
- Kimlik Bilgisi Seçici
- Azure oturum açma ile cihaz kilitleme
- kurumsal veri koruma
- KeyCredentialManager
- akıllı kartlar
- web hesabı yönetimi
- WebAuthenticationBroker
6.3 API başvurusu
- Windows.Security.Authentication.OnlineId
- Windows.Security.Authentication.Web
- Windows.Security.Authentication.Web.Core
- Windows.Security.Authentication.Web.Provider
- Windows.Security.Credentials
- Windows.Security.Credentials
- Windows.Security.Credentials.UI
- Windows.Security.Cryptography
- Windows.Security.Cryptography.Certificates
- Windows.Security.Cryptography.Core
- Windows.Security.Cryptography.DataProtection
- Windows.Security.ExchangeActiveSyncProvisioning
- Windows.Security.EnterpriseData