New issue
Advanced search Search tips

Issue 832226 link

Starred by 0 users

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature

Blocking:
issue 791559



Sign in to add a comment

Automated testing for cryptohomed side of smart card sign-in

Project Member Reported by emaxx@chromium.org, Apr 12 2018

Issue description

This bug tracks automated testing CLs for the cryptohome's implementation of the Chrome OS smart card based sign-in, tracked by bug 806788.

Launch bug 791559.
Design Doc: http://go/extended-login-smart-cards
 

Comment 1 by emaxx@chromium.org, Apr 12 2018

For the reference, some already landed CLs that can be attributed to this bug:
* commit 760adb86ae148923221dbda84b0cc703e17f86eb - "cryptohome: Fix crash in PCRKeyTest live test on TPM 1.2"
* commit aa6d80f754ac329f52c51000bd6ef06247393c78 - "cryptohome: Bulletproof Nvram TPM live test"
* commit 7ba2341a6baa07c15dbf19161a25883720347af0 - "cryptohome: Extract TPM live tests into a standalone tool"
* commit 5d41fde3a19a06388c60dbb8a7d17b65042f5a69 - "cryptohome: Signature-protected sealing with TPM2"
* commit 34babceaf98dba1369d091e449ba2c0021ddcb1e - "Add cryptohome-dev-utils package"
* commit 21c967a7d7e40a8f8b2b7fff08d08676b512936f - "cryptohome: Fix autotest's TPM own waiting"
* commit c135ec41a6d435833cf05b5833c28035770dd355 - "cryptohome-dev-utils: Add missing dep on ecryptfs"
* commit 671b8fcaf3354fe3c3ea3a42d7a63aeb04084093 - "trunks: Fix regression_test's of trunks_client"
Project Member

Comment 2 by bugdroid1@chromium.org, Apr 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/8f1e4037cb1ed8e4aa9755f93dd0a7654f6e854a

commit 8f1e4037cb1ed8e4aa9755f93dd0a7654f6e854a
Author: Maksim Ivanov <emaxx@google.com>
Date: Sat Apr 14 04:37:40 2018

cryptohome: TPM live tests for TPM 1.2 sign-sealing

* Some fixes for the existing tests of signature-protected
  sealing mechanism, so that these tests are compatible with
  TPM 1.2 implementation.
* Some new tests.

Note that as the TPM 1.2 signature-protected sealing
implementation comes only as a subsequent CL, the TPM 1.2
specific tests from this CL are a no-op until that lands.

BUG=chromium:832226
TEST=TPM live tests

Change-Id: I64ddcc30cedaac000016f8d4b07152b9a1e0694b
Reviewed-on: https://chromium-review.googlesource.com/968849
Commit-Ready: Maksim Ivanov <emaxx@chromium.org>
Tested-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>

[modify] https://crrev.com/8f1e4037cb1ed8e4aa9755f93dd0a7654f6e854a/cryptohome/tpm_live_test.cc
[modify] https://crrev.com/8f1e4037cb1ed8e4aa9755f93dd0a7654f6e854a/cryptohome/tpm_live_test.h
[modify] https://crrev.com/8f1e4037cb1ed8e4aa9755f93dd0a7654f6e854a/cryptohome/cryptohome-tpm-live-test.cc

Project Member

Comment 3 by bugdroid1@chromium.org, May 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/autotest/+/0a2f55a3c897ec69124f7fc87650dca63de5a457

commit 0a2f55a3c897ec69124f7fc87650dca63de5a457
Author: Maksim Ivanov <emaxx@google.com>
Date: Sat May 05 03:37:32 2018

cryptohome: Add autotest that runs cryptohome TPM live test

This runs the set of tests from cryptohome that require the
real TPM hardware. These tests have been existing for a while,
but were not part of any automated testing before.

BUG=chromium:832226
TEST=none

Change-Id: If8fa32f5084ca6b388c2758d7e50576fa44e0002
Reviewed-on: https://chromium-review.googlesource.com/963564
Commit-Ready: Maksim Ivanov <emaxx@chromium.org>
Tested-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Katherine Threlkeld <kathrelkeld@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>

[add] https://crrev.com/0a2f55a3c897ec69124f7fc87650dca63de5a457/client/site_tests/platform_CryptohomeTpmLiveTest/control
[add] https://crrev.com/0a2f55a3c897ec69124f7fc87650dca63de5a457/server/site_tests/platform_CryptohomeTpmLiveTestServer/control
[add] https://crrev.com/0a2f55a3c897ec69124f7fc87650dca63de5a457/client/site_tests/platform_CryptohomeTpmLiveTest/platform_CryptohomeTpmLiveTest.py
[add] https://crrev.com/0a2f55a3c897ec69124f7fc87650dca63de5a457/server/site_tests/platform_CryptohomeTpmLiveTestServer/platform_CryptohomeTpmLiveTestServer.py

Project Member

Comment 4 by bugdroid1@chromium.org, May 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/131cd969f33890d0da38c9a18ad9a38b0c41e045

commit 131cd969f33890d0da38c9a18ad9a38b0c41e045
Author: Maksim Ivanov <emaxx@google.com>
Date: Fri May 11 16:30:48 2018

cryptohome: Clean up response mocks in Service unittests

Make the unit test mocks catch the expected responses via events
sent through CryptohomeEventBase, instead of assuming them to be
the result of the reply factory. The actual difference is the case
when the reply is constructed, but never sent - previously the
unit tests would still succeed, while now it'll be caught.

Also get rid of [Mock|Fake]DBusReplyFactory, MockDBus[Error]Reply.

Additionally, do some other minor cleanup in the test code.

BUG=chromium:832226
TEST=existing unit tests: service_unittest.cc

Change-Id: I29f4a2097d990b1eacfdc68bca020780785734e6
Reviewed-on: https://chromium-review.googlesource.com/1047673
Commit-Ready: Maksim Ivanov <emaxx@chromium.org>
Tested-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>

[modify] https://crrev.com/131cd969f33890d0da38c9a18ad9a38b0c41e045/cryptohome/service.h
[delete] https://crrev.com/6ea843f74ff95dcc58b01c9d50d24c83faef1b0c/cryptohome/mock_dbus_transition.h
[modify] https://crrev.com/131cd969f33890d0da38c9a18ad9a38b0c41e045/cryptohome/service.cc
[modify] https://crrev.com/131cd969f33890d0da38c9a18ad9a38b0c41e045/cryptohome/dbus_transition.h
[modify] https://crrev.com/131cd969f33890d0da38c9a18ad9a38b0c41e045/cryptohome/service_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, May 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/e4727d26917547dc0b51b10f106ed837612cb752

commit e4727d26917547dc0b51b10f106ed837612cb752
Author: Maksim Ivanov <emaxx@google.com>
Date: Sat May 12 21:25:22 2018

cryptohome: Add into EBUILD the autotest for TPM live tests

Add the new server and client autotests into IUSE and add
necessary dependencies.

BUG=chromium:832226
TEST=none

Change-Id: I02b1054e9bbac1d28edefa16b6d69f1aad6e228d
Reviewed-on: https://chromium-review.googlesource.com/976661
Commit-Ready: Maksim Ivanov <emaxx@chromium.org>
Tested-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>

[modify] https://crrev.com/e4727d26917547dc0b51b10f106ed837612cb752/chromeos-base/autotest-tests-cryptohome/autotest-tests-cryptohome-9999.ebuild

Project Member

Comment 6 by bugdroid1@chromium.org, May 29 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/d75afbee488355ff2695be5b57b977b3bff2c04b

commit d75afbee488355ff2695be5b57b977b3bff2c04b
Author: Maksim Ivanov <emaxx@google.com>
Date: Tue May 29 16:44:52 2018

cryptohome: Optional enabling of NVRAM TPM 2.0 live test

Add a command line flag to the cryptohome-tpm-live-test tool
which allows to enable the NVRAM test on TPM 2.0.

It's been disabled by default as this test requires the TPM 2.0
owner password to be known to the system (e.g., tpm_manager),
and as there's no simple way for the test tool to inject the
password even if it knew that.

With this CL, the test can be manually enabled. This will be
particularly useful for the platform_CryptohomeTpmLiveTest
autotest, as we can be sure that the owner password must stay
there in the test workflow.

BUG=chromium:832226
TEST=check that the NvramTest test gets executed and succeeds by
     running this on a TPM 2.0 Chromebook after the TPM is cleared
     and has just been re-owned:
     cryptohome-tpm-live-test --tpm2_use_system_owner_password

Change-Id: Iee5043dd0fe4dfa841e174ae0acb5a4e58bd22c9
Reviewed-on: https://chromium-review.googlesource.com/1073456
Commit-Ready: Maksim Ivanov <emaxx@chromium.org>
Tested-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Andrey Pronin <apronin@chromium.org>

[modify] https://crrev.com/d75afbee488355ff2695be5b57b977b3bff2c04b/cryptohome/tpm_live_test.cc
[modify] https://crrev.com/d75afbee488355ff2695be5b57b977b3bff2c04b/cryptohome/tpm_live_test.h
[modify] https://crrev.com/d75afbee488355ff2695be5b57b977b3bff2c04b/cryptohome/cryptohome-tpm-live-test.cc

Components: OS>Systems>Security
Is this still active? 
Re comment 8: The project has been frozen for a few months, but I'm returning to it now.

Sign in to add a comment