Protecting Data in iOS Apps


Overview/Description
Target Audience
Prerequisites
Expected Duration
Lesson Objectives
Course Number
Expertise Level



Overview/Description
Defensive Programming in iOS has to do with using coding practices and techniques to create apps that are reliable and resilient. This course will teach some methods and practices that can be used to help protect data inputted, stored, and retrieved by iOS apps

Target Audience
iOS developers who have experience creating apps using the Objective-C and Swift languages, and who are interested in learning to employ defensive programming techniques for iOS apps

Prerequisites
None

Expected Duration (hours)
2.2

Lesson Objectives

Protecting Data in iOS Apps

  • start the course
  • obscure sensitive data from plain sight in an iOS app interface
  • use alert view styles to collect sensitive user data
  • obscure sensitive data when using alert controllers
  • use Touch ID authentication in iOS apps on supported devices
  • recognize how to write text data to files while reducing the risk of data corruption
  • recognize how to write binary data to files while reducing the risk of data corruption
  • use built-in hardware encryption to store text files securely on disk
  • use built-in hardware encryption to store binary files securely on disk
  • register for notifications and delegate methods that indicate when protected files change status
  • create and access protected files while an iOS device is in the background
  • securely store sensitive data using the iOS keychain
  • search and retrieve sensitive data from the iOS keychain
  • update sensitive data stored in the iOS keychain
  • remove sensitive data stored in the iOS keychain
  • define when keychain items are accessible depending on the lock status of an iOS device
  • use the Randomization Services API to generate random numbers
  • create an MD5 hash using the Common Crypto library
  • create an SHA hash using the Common Crypto library
  • use the RNCryptor library to encrypt and decrypt data in an iOS app
  • use the Certificate, Key, and Trust functions to generate an asymmetric key pair
  • use the public key of an asymmetric key pair to encrypt data
  • use the private key of an asymmetric key pair to decrypt data
  • create and manage iOS keychain items
  • Course Number:
    sd_dpio_a04_it_enus

    Expertise Level
    Intermediate