Skip to content
10

@thestinger thestinger released this May 12, 2019 · 78 commits to master since this release

Changes from the previous release (version 9).

The Auditor app uses hardware security features on supported devices to validate the integrity of the operating system from another Android device. It will verify that the device is running the stock operating system with the bootloader locked and that no tampering with the operating system has occurred. It will also detect downgrades to a previous version. Supported devices:

  • BlackBerry Key2 (BBF100-6 model)
  • BQ Aquaris X2 Pro
  • Google Pixel 2
  • Google Pixel 2 XL
  • Google Pixel 3
  • Google Pixel 3 XL
  • Huawei Honor 7A Pro (AUM-L29 model)
  • Huawei Honor 10 (COL-L29 model)
  • Huawei Honor View 10 (BKL-L04 and BKL-L09 models)
  • Huawei Mate 10 (ALP-L29 model)
  • Huawei Mate 20 Pro (LYA-L29 model)
  • Huawei P20 Pro (CLT-L29 model)
  • HTC EXODUS 1
  • HTC U12+
  • Nokia 6.1
  • Nokia 7 Plus
  • OnePlus 6 (A6003 model)
  • Samsung Galaxy Note 9 (SM-N960F and SM-N960U models)
  • Samsung Galaxy S9 (SM-G960F, SM-G960U, SM-G960U1 and SM-G960W models)
  • Samsung Galaxy S9+ (SM-G965F, SM-G965U, SM-G965U1 and SM-G965W models)
  • Sony Xperia XA2 (H3113, H3123 and H4113 models)
  • Sony Xperia XZ1 / XZ1 Compact (G8341 and G8342 models)
  • Sony Xperia XZ1 Compact (G8441 model)
  • Sony Xperia XZ2 (H8216 model)
  • Sony Xperia XZ2 Compact (H8314 and H8324 models)
  • Xiaomi Mi A2
  • Xiaomi Mi A2 Lite
  • Xiaomi POCOPHONE F1

It cannot be bypassed by modifying or tampering with the operating system (OS) because it receives signed device information from the device's Trusted Execution Environment (TEE) or Hardware Security Module (HSM) including the verified boot state, operating system variant and operating system version. The initial verification has some security provided by the Google root certificate. The verification is much more meaningful after the initial pairing as the app primarily relies on Trust On First Use via pinning. It also verifies the identity of the device after the initial verification.

Usage instructions:

The device being verified (Auditee) must be one of the supported devices. Android developer previews aren't supported since the hardware verified version is set to a placeholder value. The device performing verification (Auditor) just needs to be any Android 7.0+ compatible device with a camera.

  1. press Auditor on the device that will be verifying the Auditee
  2. press Auditee on the device that's going to be verified
  3. point the camera of the Auditee at the QR code on the Auditor to read the challenge
  4. tap the QR code on the Auditor to advance ahead (if you do this too early, you can press back)
  5. point the camera of the Auditor at the QR code on the Auditee to read the attestation
  6. view verification of the attestation results

An Auditor can verify any number of different Auditee devices. It shows a fingerprint and the first / last verification time in successful paired attestation results. An Auditee can be verified by any number of Auditors but there will be a different fingerprint for each unique pairing rather than the same fingerprint shown on each Auditor for the same Auditee.

To set up regularly scheduled remote verification via the remote attestation service:

  1. create an account on https://attestation.app/ from a separate device
  2. press the menu button in the app
  3. press the 'Enable remote verification' action in the menu
  4. scan the account QR code displayed on https://attestation.app/
  5. configure an alert email address to receive alerts if the device fails to provide valid attestations in time
  6. refresh https://attestation.app/ to view the initial attestation result
Assets 3
You can’t perform that action at this time.