Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Issue 2727713003: Update FWMP in TPM (Closed)

Created:
3 years, 9 months ago by igorcov
Modified:
3 years, 8 months ago
CC:
chromium-reviews, hashimoto+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Update FWMP in TPM As part of enrollment, the firmware management parameters (FWMP) partition from TPM has to be set including the flags to mark if the devmode is blocked. The update has to be done before the TPM is locked but after the policy is retrieved. It is implemented by including additional step in enrollment process that makes the D-Bus call to cryptohome to set the data in FWMP. Similarly when the device is deprovisioned, the firmware management parameters are removed from TPM when it is established that it is a consumer owned device. BUG=685144 Review-Url: https://codereview.chromium.org/2727713003 Cr-Commit-Position: refs/heads/master@{#462886} Committed: https://chromium.googlesource.com/chromium/src/+/d6dbbe9a3f1a62bc6ec0414bd4bbd5d4c2d9f833

Patch Set 1 #

Patch Set 2 : Added unit tests #

Patch Set 3 : Implementation of remove Fwmp in auto-enrollment for consumer owned device #

Patch Set 4 : Test fixed #

Total comments: 48

Patch Set 5 : Fixed review comments #

Patch Set 6 : Small Nits #

Patch Set 7 : Nit #

Total comments: 14

Patch Set 8 : Fixed review comments #

Total comments: 29

Patch Set 9 : Fixed review comments #

Patch Set 10 : Nit #

Total comments: 8

Patch Set 11 : Fixed review comments #

Patch Set 12 : Fixed review comments #

Patch Set 13 : Nit #

Patch Set 14 : Fixed reenrollment case #

Total comments: 6

Patch Set 15 : Nits #

Patch Set 16 : Nit #

Total comments: 2

Patch Set 17 : Nits #

Total comments: 6

Patch Set 18 : Nits #

Unified diffs Side-by-side diffs Delta from patch set Stats (+278 lines, -58 lines) Patch
M chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +28 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 5 chunks +42 lines, -15 lines 0 comments Download
M chrome/browser/chromeos/policy/enrollment_handler_chromeos.h View 1 2 3 4 5 6 7 8 2 chunks +17 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +66 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/settings/install_attributes.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +10 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/settings/install_attributes.cc View 1 2 3 4 2 chunks +20 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/settings/install_attributes_unittest.cc View 1 2 3 4 5 2 chunks +17 lines, -0 lines 0 comments Download
M chromeos/dbus/cryptohome_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +16 lines, -0 lines 0 comments Download
M chromeos/dbus/cryptohome_client.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +36 lines, -31 lines 0 comments Download
M chromeos/dbus/fake_cryptohome_client.h View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
M chromeos/dbus/fake_cryptohome_client.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +12 lines, -0 lines 0 comments Download
M chromeos/dbus/mock_cryptohome_client.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 51 (23 generated)
igorcov
PTAL.
3 years, 9 months ago (2017-03-06 14:16:16 UTC) #4
Daniel Erat
https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode307 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:307: DCHECK(state_ == policy::AUTO_ENROLLMENT_STATE_NO_ENROLLMENT); use DCHECK_EQ so the actual value ...
3 years, 9 months ago (2017-03-06 21:18:27 UTC) #6
Andrew T Wilson (Slow)
https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode299 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:299: RemoveFwmp(); Document that RemoveFwmp() will handle calling the various ...
3 years, 9 months ago (2017-03-07 11:16:31 UTC) #7
igorcov
https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode299 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:299: RemoveFwmp(); On 2017/03/07 11:16:30, Andrew T Wilson (Slow) wrote: ...
3 years, 9 months ago (2017-03-09 12:22:57 UTC) #8
Daniel Erat
https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc File chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc (right): https://codereview.chromium.org/2727713003/diff/60001/chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc#newcode401 chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc:401: DCHECK_EQ(STEP_SET_FWMP_DATA, enrollment_step_); On 2017/03/09 12:22:57, igorcov wrote: > On ...
3 years, 9 months ago (2017-03-09 14:52:38 UTC) #9
Daniel Erat
thanks for cleaning up the existing code! looks fine to me with a few more ...
3 years, 9 months ago (2017-03-09 22:15:23 UTC) #10
igorcov
https://codereview.chromium.org/2727713003/diff/120001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/120001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode150 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:150: // If a client is being created or already ...
3 years, 9 months ago (2017-03-10 11:05:45 UTC) #12
Thiemo Nagel
https://codereview.chromium.org/2727713003/diff/140001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/140001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode301 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:301: return; Please don't mix return and break in the ...
3 years, 9 months ago (2017-03-23 17:23:53 UTC) #13
igorcov
https://codereview.chromium.org/2727713003/diff/140001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/140001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode301 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:301: return; On 2017/03/23 17:23:52, Thiemo Nagel wrote: > Please ...
3 years, 9 months ago (2017-03-24 13:29:15 UTC) #14
Thiemo Nagel
https://codereview.chromium.org/2727713003/diff/140001/chromeos/dbus/cryptohome_client.cc File chromeos/dbus/cryptohome_client.cc (right): https://codereview.chromium.org/2727713003/diff/140001/chromeos/dbus/cryptohome_client.cc#newcode1186 chromeos/dbus/cryptohome_client.cc:1186: // Makes an asynchronous D-Bus call, using cryptohome interface. ...
3 years, 9 months ago (2017-03-27 17:21:48 UTC) #15
igorcov
https://codereview.chromium.org/2727713003/diff/140001/chromeos/dbus/cryptohome_client.cc File chromeos/dbus/cryptohome_client.cc (right): https://codereview.chromium.org/2727713003/diff/140001/chromeos/dbus/cryptohome_client.cc#newcode1186 chromeos/dbus/cryptohome_client.cc:1186: // Makes an asynchronous D-Bus call, using cryptohome interface. ...
3 years, 8 months ago (2017-03-28 16:39:09 UTC) #16
Thiemo Nagel
https://codereview.chromium.org/2727713003/diff/180001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/180001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode324 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:324: base::Unretained(this))); I think unless specified in the contract for ...
3 years, 8 months ago (2017-03-29 10:47:21 UTC) #17
igorcov
https://codereview.chromium.org/2727713003/diff/180001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/180001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode324 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:324: base::Unretained(this))); On 2017/03/29 10:47:21, Thiemo Nagel wrote: > I ...
3 years, 8 months ago (2017-03-29 15:17:17 UTC) #28
Thiemo Nagel
Lgtm. https://codereview.chromium.org/2727713003/diff/260001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/260001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode142 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:142: weak_ptr_factory_(this) {} Nit: While you're here, I'd suggest ...
3 years, 8 months ago (2017-03-29 15:46:20 UTC) #29
igorcov
https://codereview.chromium.org/2727713003/diff/260001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/260001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode142 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:142: weak_ptr_factory_(this) {} On 2017/03/29 15:46:20, Thiemo Nagel wrote: > ...
3 years, 8 months ago (2017-03-29 16:05:02 UTC) #30
Thiemo Nagel
One more nit... https://codereview.chromium.org/2727713003/diff/300001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/300001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode140 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:140: safeguard_timer_(false, false) {} Nit: For consistency, ...
3 years, 8 months ago (2017-03-29 16:09:40 UTC) #31
igorcov
https://codereview.chromium.org/2727713003/diff/300001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc File chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc (right): https://codereview.chromium.org/2727713003/diff/300001/chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc#newcode140 chrome/browser/chromeos/login/enrollment/auto_enrollment_controller.cc:140: safeguard_timer_(false, false) {} On 2017/03/29 16:09:40, Thiemo Nagel wrote: ...
3 years, 8 months ago (2017-03-29 16:35:04 UTC) #32
igorcov
derat@ Could you please check again, and lgtm if all good in chromeos/dbus/*? Thanks,
3 years, 8 months ago (2017-03-29 16:41:54 UTC) #33
Daniel Erat
//chromeos/dbus lgtm with a few nits. thanks again for cleaning up the repetitive code. https://codereview.chromium.org/2727713003/diff/320001/chromeos/dbus/cryptohome_client.h ...
3 years, 8 months ago (2017-03-29 16:50:08 UTC) #34
Thiemo Nagel
Still lgtm.
3 years, 8 months ago (2017-03-29 16:50:13 UTC) #35
igorcov
https://codereview.chromium.org/2727713003/diff/320001/chromeos/dbus/cryptohome_client.h File chromeos/dbus/cryptohome_client.h (right): https://codereview.chromium.org/2727713003/diff/320001/chromeos/dbus/cryptohome_client.h#newcode586 chromeos/dbus/cryptohome_client.h:586: // RemoveFirmwareManagementParameters removes the firmware management On 2017/03/29 16:50:08, ...
3 years, 8 months ago (2017-03-29 17:08:26 UTC) #36
Thiemo Nagel
After offline conversation: I don't think the requires_tpm_update_ flag is necessary. In your local tests ...
3 years, 8 months ago (2017-04-07 13:38:46 UTC) #37
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2727713003/340001
3 years, 8 months ago (2017-04-07 14:06:18 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds/186249) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, ...
3 years, 8 months ago (2017-04-07 14:07:09 UTC) #44
igorcov
On 2017/04/07 13:38:46, Thiemo Nagel wrote: > After offline conversation: I don't think the requires_tpm_update_ ...
3 years, 8 months ago (2017-04-07 14:07:13 UTC) #45
Thiemo Nagel
PS #18 still lgtm.
3 years, 8 months ago (2017-04-07 14:26:39 UTC) #46
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2727713003/340001
3 years, 8 months ago (2017-04-07 16:07:39 UTC) #48
commit-bot: I haz the power
3 years, 8 months ago (2017-04-07 16:24:42 UTC) #51
Message was sent while issue was closed.
Committed patchset #18 (id:340001) as
https://chromium.googlesource.com/chromium/src/+/d6dbbe9a3f1a62bc6ec0414bd4bb...

Powered by Google App Engine
This is Rietveld 408576698