2015-03-09 14 views
7

Bir kullanıcı Touch ID'yi başarıyla doğrulayabiliyorum. Ancak, kullanıcı kimliği ve şifresi, kimlik kimliği doğrulaması başarılı olduğunda giriş yapmak için en güvenli yoldur. Dokunmatik Kimlik giriş başarılı olduğunda yerel olarak şifre almak ve şifre UITextField bunu dolduracaktır gibi iTunes uygulaması bağlamak içinTouch ID giriş bilgileriyle nasıl bağlanır?

, görünüyor. Sanırım anahtarlık kullanıyor.

Ancak iPhone'un kendisi üzerinden kullanıcı kimlik bilgilerini depolamak için güvenli? Başka yöntemler var mı?

enter image description here

+0

dan KeyChain'e kimliği doğrulanmış erişim sağlamak için uchID - Apple örnek koduna bakın. KeyChain, şifreler için güvenli depolama sağlar. – Paulw11

+0

Thx @ Paulw11 Kullanıcı kimlik bilgilerini anahtarlıkta depolamak gerçekten güvenli midir? Son derece hassas verilerle bir uygulama yapıyorum. Son zamanlarda müşteri dokunmatik kimlik işlevini entegre etmek istiyor. – user1872384

+2

KeyChain sağlar daha güvenli bir konteyner oluşturmak mümkün olacak olası değildir - http://images.apple.com/business/docs/iOS_Security_Guide_Oct_2014.pdf – Paulw11

cevap

4

Sen anahtarlıkta giriş bilgilerini depolamak istediğiniz, ancak erişilebilirlik parametresi kSecAttrAccessibleWhenUnlocked veya kSecAttrAccessibleWhenUnlockedThisDeviceOnly (ayarlı olduğundan emin olmak gerekir şifre cihazı bırakmayacak beri kSecAttrAccessibleWhenUnlockedThisDeviceOnly biraz daha güvenlidir cihaz dizüstü yedeklenir zaman demek.)

NSMutableDictionary *query = [NSMutableDictionary dictionary]; 
[query setObject:(id)kSecClassGenericPassword forKey:(id)kSecClass]; 
[query setObject:account forKey:(id)kSecAttrAccount]; 
[query setObject:(id)kSecAttrAccessibleWhenUnlocked forKey:(id)kSecAttrAccessible]; 
[query setObject:[inputString dataUsingEncoding:NSUTF8StringEncoding] forKey:(id)kSecValueData]; 

OSStatus error = SecItemAdd((CFDictionaryRef)query, NULL); 

(Kod Sen için kullanabileceğiniz http://software-security.sans.org/blog/2011/01/05/using-keychain-to-store-passwords-ios-iphone-ipad/