Skip to content
Snippets Groups Projects
  1. Jan 22, 2024
  2. Jan 21, 2024
  3. Jan 20, 2024
  4. Jan 19, 2024
  5. Jan 18, 2024
  6. Jan 17, 2024
    • Eric Biggers's avatar
      Fix UnlockedDeviceRequired with weak unlock methods · cd7f4fad
      Eric Biggers authored
      Starting in Android 12, unlocking the device with a class 1
      ("convenience") biometric, class 2 ("weak") biometric, or a trust agent
      unexpectedly doesn't allow the use of UnlockedDeviceRequired keys.  The
      cause of this bug is that the cryptographic protection that Keystore now
      applies to UnlockedDeviceRequired keys incorrectly assumes that the
      device can only be unlocked using LSKF or via a biometric that
      participates in Keystore (has a SID and uses HardwareAuthTokens).
      Actually, Keyguard also allows the device to be unlocked using weaker
      biometrics that do not particiate in Keystore, if they are enrolled.
      Similarly, there are also cases where a trust agent can actively unlock
      the device, e.g. unlocking a phone using a paired watch.
      
      In combination with the Keystore changes in
      I1b0d9ec4f9e31dc91642e865045766bd17e34cad, this CL fixes the bug by
      making Keystore retain the UnlockedDeviceRequired super keys in memory
      if a weak unlock method is enabled at device lock time.  This does mean
      that UnlockedDeviceRequired is enforced only logically when a weak
      unlock method is enabled, but this is the best we can do in this case.
      
      Note: a future CL will take into account the progressive expiration of
      unlock methods while the device is locked and upgrade the security of
      UnlockedDeviceRequired accordingly.  The present CL focuses just on
      choosing the correct protection at lock time, fixing a user-visible bug.
      
      Test: Ran the following automated tests with and without the
            fix_unlocked_device_required_keys_v2 flag enabled:
                atest com.android.server.locksettings \
                && atest TrustManagerServiceTest \
                && atest TrustTests \
                && atest -p --include-subdirs system/security/keystore2 \
                && atest CtsKeystoreTestCases
      
      Test: Manually tested each combination of biometric setup: none,
            fingerprint, face, and fingerprint+face.  Locked the device, then
            verified via logcat that Keystore protected the
            UnlockedDeviceRequired keys in the expected way, then verified
            that UnlockedDeviceRequired keys cannot be used (even in the case
            where the super keys were not protected).  Unlocked device using
            weakest method available, then verified that
            UnlockedDeviceRequired keys can be used.  To check whether
            UnlockedDeviceRequired keys can be used or not, used the CTS
            method mentioned in the Test of https://r.android.com/2878769.
      
            Also, enabled Extend Unlock with a bluetooth device, and verified
            that it's not counted as an unlock method.
      
            Also, verified that if Lockdown mode is triggered, the
            UnlockedDeviceRequired keys are fully protected.
      
      Bug: 296464083
      Change-Id: I34dc49f1338e94755e96c1cf84de0638dc70d311
      cd7f4fad
    • Shawn Willden's avatar
      Correct namespace for frp_enforcement flag. · 2e3a179e
      Shawn Willden authored
      Bug: 290312729
      Test: N/A
      Change-Id: I65e7ce4b7113639523aec1e08682a334056cbb69
      2e3a179e
    • Lajos Molnar's avatar
      order dependendencies in AconfigFlags.bp · 4fbcf2f9
      Lajos Molnar authored
      This will help minimize merge conflicts down the line
      
      Bug: 289097671
      Change-Id: I005714dcf7be28d64e9d131b46d86c857ee4231d
      Merged-in: I005714dcf7be28d64e9d131b46d86c857ee4231d
      4fbcf2f9
    • Girish Shetty's avatar
    • Sudheer Shanka's avatar
      Merge changes from topic "cherrypicker-L60200030001118132:N13600030018110596" into main · 7522c845
      Sudheer Shanka authored
      * changes:
        Pass in a new instance supplier for creating RingBuffer.
        Update RingBuffer to take Supplier<T> for creating new instances.
      7522c845
    • Nelson Li's avatar
      Make the android-test-mock-current.txt available for use by the /vendor tests · af35c295
      Nelson Li authored
      Bug: 312324146
      Test: Add android-test-mock-current.txt to the Android.bp
      Merged-In: I228744137f82e14bec936b11b96cb6876a392487
      Change-Id: Ie895b25a6e0b70e558807d094304ea2e84425a3d
      af35c295
Loading