Bezpieczeństwo i szyfrowanie
Zaawansowany Keychain, CryptoKit, SSL Pinning, uwierzytelnianie biometryczne, secure coding, ATS
1Którego mechanizmu iOS należy użyć do bezpiecznego przechowywania wrażliwych tokenów uwierzytelniania?
Którego mechanizmu iOS należy użyć do bezpiecznego przechowywania wrażliwych tokenów uwierzytelniania?
Odpowiedź
Keychain to natywny system bezpiecznego przechowywania w iOS, zaprojektowany specjalnie dla danych wrażliwych. Automatycznie szyfruje dane i zarządza dostępem zgodnie ze zdefiniowanymi politykami kontroli. UserDefaults nigdy nie powinien być używany do przechowywania sekretów, ponieważ przechowuje dane jako zwykły tekst. Keychain oferuje również zaawansowane funkcje, takie jak dostęp biometryczny i bezpieczna synchronizacja z iCloud.
2Który atrybut Keychain zapewnia, że dane pozostają niedostępne, gdy urządzenie jest zablokowane?
Który atrybut Keychain zapewnia, że dane pozostają niedostępne, gdy urządzenie jest zablokowane?
Odpowiedź
kSecAttrAccessibleWhenUnlocked zapewnia, że dane są dostępne tylko wtedy, gdy urządzenie jest odblokowane. Zapewnia to ochronę nawet wtedy, gdy Keychain jest odpytywany przez proces działający w tle. Ta wartość jest zalecana przez Apple dla wrażliwych tokenów. Inne opcje, takie jak WhenUnlockedThisDeviceOnly, zapewniają dodatkową ochronę, uniemożliwiając synchronizację z iCloud.
3Której klasy CryptoKit należy użyć do wykonania symetrycznego szyfrowania AES-256?
Której klasy CryptoKit należy użyć do wykonania symetrycznego szyfrowania AES-256?
Odpowiedź
SymmetricKey w CryptoKit zarządza kluczami symetrycznymi, podczas gdy AES.GCM (Galois/Counter Mode) wykonuje szyfrowanie uwierzytelnione. GCM jest preferowany, ponieważ zapewnia zarówno poufność, jak i uwierzytelnianie, zapobiegając atakom manipulacji. To podejście jest bezpieczniejsze niż ChaCha20Poly1305 w kontekstach, które nie wymagają ekstremalnej wydajności na starszych urządzeniach.
Jaka jest główna zaleta szyfrowania asymetrycznego w porównaniu z symetrycznym?
Jaka jest podstawowa różnica między hashowaniem a szyfrowaniem w kontekście bezpieczeństwa?
+17 pytań z rozmów
Inne tematy rekrutacyjne iOS
Podstawy Swift
Podstawy języka Swift
Podstawy UIKit
Cykl życia UIViewController
UserDefaults & Keychain
Cykl życia aplikacji
Auto Layout & Constraints
UITableView & UICollectionView
Podstawy SwiftUI
Zarządzanie stanem w SwiftUI
Nawigacja SwiftUI
Networking & URLSession
Codable i parsowanie JSON
Core Data
Programowanie zorientowane na protokoły
Architektura MVVM
Powiadomienia Push
Testy jednostkowe & XCTest
Testowanie UI
Xcode i system build
Swift Package Manager
Memory Management & ARC
Combine Framework
Concurrency & async/await
iOS Design Patterns
Optymalizacja wydajności
SwiftUI Advanced
Architektura aplikacji iOS
Opanuj iOS na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo