Niestety, bez dokładnego wyjaśnienia poszczególnych ćwiczeń można niepoprawnie interpretować rekomendowane rozwiązania opisane w rozwiązaniach.
Dwa pierwsze ćwiczenia związane są z przechowywaniem informacji na urządzeniu mobilnym. Moim zdaniem zabrakło informacji dotyczących różnic pomiędzy lokalną bazą sqlite a keychain. Należy pamiętać, że:
- Rekordy w keychain mogą być chronione kodem PIN/frazą przejściową – jednak programista nie ma bezpośredniego wpływu na to czy użytkownik ustawi je czy też nie;
- Można użyć klasy bezpieczeństwa (w keychain), która spowoduje, że dane nie będą eksportowane poza urządzenie. W niektórych przypadkach podnosi to poziom bezpieczeństwa;
- Jeśli chcemy przechowywać na urządzeniu krytyczne dane - na przykład klucz współdzielony, którym autoryzujemy transakcje finansowe, to powinien być on zaszyfrowany a weryfikacja powinna zawsze odbywać się po stronie serwera a nie urządzenia mobilnego. A pisząc bardziej precyzyjne, powinniśmy dodatkowo stosować PBKDF2.
Podsumowując, pomysł bardzo ciekawy i możliwe, że jedno-dwa ćwiczenia będą omówione na szkoleniach Prevenity.