New issue
Advanced search Search tips

Issue 785958 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: ----
Type: ----

Blocking:
issue 664630



Sign in to add a comment

Relocate u2f response parsing

Project Member Reported by kpaulhamus@chromium.org, Nov 16 2017

Issue description

Per reillyg:
"I don't like how much parsing we are doing in the browser process. This is just a layer on top of the parsing that happens in //device/u2f and should happen either there (where we will eventually have it happen in a separate process) or in the renderer."
 

Comment 1 by engedy@chromium.org, Nov 16 2017

Blocking: 664630
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/35995bb6ed9d09f94c58f18046004fb0d85d6143

commit 35995bb6ed9d09f94c58f18046004fb0d85d6143
Author: Kim Paulhamus <kpaulhamus@chromium.org>
Date: Fri Jan 05 14:37:07 2018

Migrate the u2f data parsing from content/browser/webauth to device/u2f.

This means that TryRegistration and TrySign will do all the processing
needed to produce a FIDO2 style response from an authenticator instead
of returning raw bytes. This is better both architecture-wise and
security-wise, as eventually device/u2f will be in its own service.

This also replaces client_data with relying_party_id in the various
parsing classes, since rpId is the only thing that is really needed
in the attestation object.

Bug:  785958 
Change-Id: I3d57825823613205ccbf8c3e7292f8fd460f67c6
Reviewed-on: https://chromium-review.googlesource.com/827576
Commit-Queue: Kim Paulhamus <kpaulhamus@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Balazs Engedy <engedy@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Reviewed-by: Jan Wilken Dörrie <jdoerrie@chromium.org>
Cr-Commit-Position: refs/heads/master@{#527274}
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/browser/BUILD.gn
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/attestation_object.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/attestation_object.h
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/attested_credential_data.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/attested_credential_data.h
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/authenticator_data.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/authenticator_data.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/browser/webauth/authenticator_impl.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/browser/webauth/authenticator_impl.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/browser/webauth/authenticator_impl_unittest.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/authenticator_utils.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/authenticator_utils.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/browser/webauth/collected_client_data.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/browser/webauth/collected_client_data.h
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/ec_public_key.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/register_response_data.cc
[delete] https://crrev.com/66f4f7485b52c18018d655e7680847608b8a2b32/content/browser/webauth/register_response_data.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/content/test/BUILD.gn
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/BUILD.gn
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/BUILD.gn
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/DEPS
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/attestation_object.cc
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/attestation_object.h
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/attestation_statement.cc
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/attestation_statement.h
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/attested_credential_data.cc
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/attested_credential_data.h
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/authenticator_data.cc
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/authenticator_data.h
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/ec_public_key.cc
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/ec_public_key.h
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/fido_attestation_statement.cc
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/fido_attestation_statement.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/mock_u2f_device.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/mock_u2f_device.h
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/public_key.cc
[rename] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/public_key.h
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/register_response_data.cc
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/register_response_data.h
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_parsing_utils.cc
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_parsing_utils.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_register.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_register.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_register_unittest.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_request.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_request.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_request_unittest.cc
[add] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_response_test_data.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_sign.cc
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_sign.h
[modify] https://crrev.com/35995bb6ed9d09f94c58f18046004fb0d85d6143/device/u2f/u2f_sign_unittest.cc

Status: Fixed (was: Assigned)

Sign in to add a comment