This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] SK-AM62P-LP:[Android Automotive]密钥保护锁解锁在10.00.00 Android Automotive 中不工作

Guru**** 2393725 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1471305/sk-am62p-lp-android-automotive-keyguard-lock-unlock-not-working-in-10-00-00-android-automotive

器件型号:SK-AM62P-LP
Thread 中讨论的其他器件:4428.

工具与软件:

尊敬的团队:

我使用 Android Automotive 10.00.00 SDK

https://software-dl.ti.com/processor-sdk-android/esd/AM62PX/10_00_00/docs/android/Overview.html

我遵循的步骤

运行情况

1.转到设置应用程序->安全->配置文件锁定:启用 PIN = 1212

02-06 09:38:02.641   526  1557 I SyntheticPasswordManager: Creating LSKF-based protector da7211a8af23eea0 for user 0
02-06 09:38:02.644   526  1557 W SyntheticPasswordManager: Device does not support weaver
02-06 09:38:02.653   526  1557 I SyntheticPasswordManager: Enrolling LSKF for user 0 into Gatekeeper
02-06 09:38:02.721   526  1557 D SyntheticPasswordManager: Syncing Gatekeeper-based FRP credential tied to user 0
02-06 09:38:03.325   526  1557 I SyntheticPasswordManager: Destroying LSKF-based protector 24ee77afe1610a21 for user 0

命令行上

ADB shell 输入键事件223 =>启用睡眠

ADB shell 输入键事件224 =>启用唤醒

ADB 日志:

02-06 09:40:28.062   188   188 E optee_keymaster_hal: Cmd 4 returned error: -26
02-06 09:40:28.064   185   185 E keystore2: system/security/keystore2/src/error.rs:180 - system/security/keystore2/src/security_level.rs:358: Failed to begin operation.
02-06 09:40:28.064   185   185 E keystore2: 
02-06 09:40:28.064   185   185 E keystore2: Caused by:
02-06 09:40:28.064   185   185 E keystore2:     0: system/security/keystore2/src/security_level.rs:868
02-06 09:40:28.064   185   185 E keystore2:     1: system/security/keystore2/src/utils.rs:200: Calling km_op.
02-06 09:40:28.064   185   185 E keystore2:     2: Error::Km(r#KEY_USER_NOT_AUTHENTICATED)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: Failed to decrypt blob
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: android.security.keystore.UserNotAuthenticatedException: User not authenticated
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at android.security.keystore2.KeyStoreCryptoOperationUtils.getInvalidKeyException(KeyStoreCryptoOperationUtils.java:126)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at android.security.keystore2.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:152)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at android.security.keystore2.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:354)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:248)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at javax.crypto.Cipher.tryTransformWithProvider(Cipher.java:2981)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at javax.crypto.Cipher.tryCombinations(Cipher.java:2892)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at javax.crypto.Cipher$SpiAndProviderUpdater.updateAndGetSpiAndProvider(Cipher.java:2797)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at javax.crypto.Cipher.chooseProvider(Cipher.java:774)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at javax.crypto.Cipher.init(Cipher.java:1289)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at javax.crypto.Cipher.init(Cipher.java:1224)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.SyntheticPasswordCrypto.decrypt(SyntheticPasswordCrypto.java:73)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.SyntheticPasswordCrypto.decryptBlob(SyntheticPasswordCrypto.java:178)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.SyntheticPasswordManager.decryptSpBlob(SyntheticPasswordManager.java:1824)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.SyntheticPasswordManager.unwrapSyntheticPasswordBlob(SyntheticPasswordManager.java:1572)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.SyntheticPasswordManager.unlockLskfBasedProtector(SyntheticPasswordManager.java:1430)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.LockSettingsService.doVerifyCredential(LockSettingsService.java:2197)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.server.locksettings.LockSettingsService.checkCredential(LockSettingsService.java:2104)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at com.android.internal.widget.ILockSettings$Stub.onTransact(ILockSettings.java:618)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at android.os.Binder.execTransactInternal(Binder.java:1358)
02-06 09:40:28.068   526  1061 E SyntheticPasswordCrypto: 	at android.os.Binder.execTransact(Binder.java:1304)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
02-06 09:40:28.072  1083  1259 E AndroidRuntime: Process: com.android.systemui, PID: 1083
02-06 09:40:28.072  1083  1259 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.AsyncTask$4.done(AsyncTask.java:415)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:381)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.util.concurrent.FutureTask.setException(FutureTask.java:250)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:269)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:305)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:1012)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: Caused by: java.lang.IllegalStateException: Failed to decrypt blob
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.Parcel.createExceptionOrNull(Parcel.java:3065)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.Parcel.createException(Parcel.java:3041)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:3024)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.Parcel.readException(Parcel.java:2966)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.internal.widget.ILockSettings$Stub$Proxy.checkCredential(ILockSettings.java:1299)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.internal.widget.LockPatternUtils.checkCredential(LockPatternUtils.java:518)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.internal.widget.LockPatternChecker$2.doInBackground(LockPatternChecker.java:110)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.internal.widget.LockPatternChecker$2.doInBackground(LockPatternChecker.java:104)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at android.os.AsyncTask$3.call(AsyncTask.java:394)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	... 4 more
02-06 09:40:28.072  1083  1259 E AndroidRuntime: Caused by: android.os.RemoteException: Remote stack trace:
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.server.locksettings.SyntheticPasswordCrypto.decryptBlob(SyntheticPasswordCrypto.java:186)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.server.locksettings.SyntheticPasswordManager.decryptSpBlob(SyntheticPasswordManager.java:1824)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.server.locksettings.SyntheticPasswordManager.unwrapSyntheticPasswordBlob(SyntheticPasswordManager.java:1572)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.server.locksettings.SyntheticPasswordManager.unlockLskfBasedProtector(SyntheticPasswordManager.java:1430)
02-06 09:40:28.072  1083  1259 E AndroidRuntime: 	at com.android.server.locksettings.LockSettingsService.doVerifyCredential(LockSettingsService.java:2197)

之后、即使输入了正确的密码、也无法看到主屏幕。 每次,我输入密码系统再次返回到锁定屏幕上的上述日志。

您能帮助我们解决这个问题吗? 还附加了完整的 ADB 日志。

e2e.ti.com/.../credential_5F00_log.txt

此致

Libin Jose。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Libin、

    我们确认我们也可以在常规 Android (平板版)上重现此问题。

    我们正在调查此问题、我们将随时向您通报最新情况。

    感谢您发送编修。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mattijs:

    是否有任何更新? 您是否还可以禁用无头用户/多用户?

    此致

    Libin Jose

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Libin:

    此错误源于 TA 计算 HMAC 以验证身份验证令牌。
    这是由于计算出的 HMAC 与预期的 HMAC 不同。
    错误在用户未经身份验证时传播。

    我们仍在调查根本原因。

    此致、
    Mattijs

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mattijs:

    是否有同样的更新?

    此致

    Libin Jose

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我们为您提供了一个解决方案,您可以使用此提交来更新 TA binaires :
    https://gitlab.baylibre.com/baylibre/ti/android/aosp/vendor/ti/am62x/-/commit/5b81f052959250f3a2d1d3ad7a99fe8d16a89c4c

    它应该可以修复您的 Pinlock 问题。

    此修复程序将集成到下一个版本中。

    此致、
    纪尧姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的纪尧姆、

    我们使用的是 https://software-dl.ti.com/processor-sdk-android/esd/AM62PX/10_00_00/docs/android/Overview.html

    版本10.00.00

    操作系统: Android

    版本: TI-Android-14

    上面的补丁似乎适用于 ti-android-15。 我是对吗?

    您是否意味着您将发布此版本的补丁? 如果是、您可以为我提供补丁吗?

    此致、

    Libin Jose。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    补丁是为 Android 14和15它在安全部分,所以不是 deps 在 Android 版本。

    该补丁将包含在下一个 Android 15版本(即10.01.01)中
    它已经在公共 tigit : https://git.ti.com/cgit/android/external-kmgk/commit/?h=d-android15-release

    在 Android 14上,你可以使用 kmgk 源 d-android15-release 分支,这不是一个正常的问题。


    纪尧姆

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亲爱的纪尧姆、

    我将您的补丁应用于我们的库清单

    ```bash

    @-104、7 @@ 104、7 μ s







    ```μ A

    但是、unlockout 仍然不工作、并产生以下错误:

    ```bash

    04-02 10:39:23.750  184 184  E keystore2:rs:180 - src src rs:358:无法开始操作。
    04-02 10:39:23.750  184 184  E keystore2:    0:src rs:868
    04-02 10:39:23.750  184  E keystore2: 1: 1:    src rs : 200:调用 km_op
    04-02 10:39:23.753  478  988 E SyntheticPasswordCrypto: android.security.keystore.UserNotAuthenticatedException:用户未经身份验证
    04-02 10:39:23.753  478  988 E SyntheticPasswordCrypto: at android.security.keystore2.KeyStoreCryptoOperationUtils.getInvalidKeyException(KeyStoreCryptoOperationUtils.java:126
    04-02 10:39:23.753  478  988 E SyntheticPasswordCrypto: at android.security.keystore2.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:152
    04-02 10:39:23.753  478  988 E SyntheticPasswordCrypto: at android.security.keystore2.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:354
    04-02 10:39:23.753  478  988 E SyntheticPasswordCrypto: at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:248
    04-02 10:39:34.223  184 4428 I keystore2:src rs:319 -看门狗线程空闲->终止。 祝你度过美好的一天!
    04-02 10:40:53.785  184  E keystore2:rs:180 - src src rs:358:无法开始操作。
    04-02 10:40:53.785  184  E keystore2:    0:src rs:868
    04-02 10:40:53.785  184  E keystore2: 1: 1:    src rs : 200:调用 km_op
    04-02 10:40:53.788  478 3578 E SyntheticPasswordCrypto: android.security.keystore.UserNotAuthenticatedException:用户未经身份验证
    04-02 10:40:53.788  478 3578 E SyntheticPasswordCrypto: at android.security.keystore2.KeyStoreCryptoOperationUtils.getInvalidKeyException(KeyStoreCryptoOperationUtils.java:126
    04-02 10:40:53.788  478 3578 E SyntheticPasswordCrypto: at android.security.keystore2.KeyStoreCryptoOperationUtils.getExceptionForCipherInit(KeyStoreCryptoOperationUtils.java:152
    04-02 10:40:53.788  478 3578 E SyntheticPasswordCrypto: at android.security.keystore2.AndroidKeyStoreCipherSpiBase.ensureKeystoreOperationInitialized(AndroidKeyStoreCipherSpiBase.java:354
    04-02 10:40:53.788  478 3578 E SyntheticPasswordCrypto: at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineInit(AndroidKeyStoreCipherSpiBase.java:248

    ```μ A

    是否需要任何额外的补丁?

    此致

    Libin Jose