diff --git a/common/defs/webauthn/apps/bitbucket.json b/common/defs/webauthn/apps/bitbucket.json index 309dd7888e..58295e18cc 100644 --- a/common/defs/webauthn/apps/bitbucket.json +++ b/common/defs/webauthn/apps/bitbucket.json @@ -1,4 +1,4 @@ { "label": "Bitbucket", - "u2f": ["https://bitbucket.org"] + "u2f": ["12743b921297b77f1135e41fdedd4a846afe82e1f36932a9912f3b0d8dfb7d0e"] } diff --git a/common/defs/webauthn/apps/bitfinex.json b/common/defs/webauthn/apps/bitfinex.json index 21bc5935eb..a51dc9dd09 100644 --- a/common/defs/webauthn/apps/bitfinex.json +++ b/common/defs/webauthn/apps/bitfinex.json @@ -1,4 +1,4 @@ { "label": "Bitfinex", - "u2f": ["https://www.bitfinex.com"] + "u2f": ["302fd5b4492a07b9febb30e73269eca501205ccfe0c20bf7b472fa2d31e21e63"] } diff --git a/common/defs/webauthn/apps/bitwarden.json b/common/defs/webauthn/apps/bitwarden.json index 901c18bc45..062104d4ab 100644 --- a/common/defs/webauthn/apps/bitwarden.json +++ b/common/defs/webauthn/apps/bitwarden.json @@ -1,4 +1,4 @@ { "label": "Bitwarden", - "u2f": ["https://vault.bitwarden.com/app-id.json"] + "u2f": ["a34d309ffa28c12414b8ba6c07ee1efae1a85e8a04614859a67c0493b6956190"] } diff --git a/common/defs/webauthn/apps/dashlane.json b/common/defs/webauthn/apps/dashlane.json index dd8293d84e..9e8dc7373f 100644 --- a/common/defs/webauthn/apps/dashlane.json +++ b/common/defs/webauthn/apps/dashlane.json @@ -1,4 +1,4 @@ { "label": "Dashlane", - "u2f": ["https://www.dashlane.com"] + "u2f": ["68201915d74cb42af5b3cc5c95b9553e3e3a83b4d2a93b45fbadaa8469ff8e6e"] } diff --git a/common/defs/webauthn/apps/dropbox.json b/common/defs/webauthn/apps/dropbox.json index a5be49143a..ae770553ca 100644 --- a/common/defs/webauthn/apps/dropbox.json +++ b/common/defs/webauthn/apps/dropbox.json @@ -1,5 +1,5 @@ { "label": "Dropbox", - "u2f": ["https://www.dropbox.com/u2f-app-id.json"], + "u2f": ["c50f8a7b708e92f82e7a50e2bdc55d8fd91a22fe6b29c0cdf7805530842af581"], "webauthn": ["www.dropbox.com"] } diff --git a/common/defs/webauthn/apps/duo.json b/common/defs/webauthn/apps/duo.json index a04432e819..dc54c6e5da 100644 --- a/common/defs/webauthn/apps/duo.json +++ b/common/defs/webauthn/apps/duo.json @@ -1,4 +1,4 @@ { "label": "Duo", - "u2f": ["https://api-9dcf9b83.duosecurity.com"] + "u2f": ["f3e2042f94607da0a9c1f3b95e0d2f2bb2e069c5bb4fa764affa647d847b7ed6"] } diff --git a/common/defs/webauthn/apps/fastmail.json b/common/defs/webauthn/apps/fastmail.json index f31f90f388..7c98272c93 100644 --- a/common/defs/webauthn/apps/fastmail.json +++ b/common/defs/webauthn/apps/fastmail.json @@ -1,4 +1,4 @@ { "label": "FastMail", - "u2f": ["https://www.fastmail.com"] + "u2f": ["6966abe3674ea2f53079eb710197848c9be6f363992fd029e9898447cb9f0084"] } diff --git a/common/defs/webauthn/apps/fedora.json b/common/defs/webauthn/apps/fedora.json index 3a1da08aa2..dd09948793 100644 --- a/common/defs/webauthn/apps/fedora.json +++ b/common/defs/webauthn/apps/fedora.json @@ -1,4 +1,4 @@ { "label": "Fedora", - "u2f": ["https://id.fedoraproject.org/u2f-origins.json"] + "u2f": ["9d61442f5ce133bd46544fc42f0a6d54c0deb88840cac2b6aefa6514f89349e9"] } diff --git a/common/defs/webauthn/apps/gandi.json b/common/defs/webauthn/apps/gandi.json index a220cd11ac..4e0de39fe3 100644 --- a/common/defs/webauthn/apps/gandi.json +++ b/common/defs/webauthn/apps/gandi.json @@ -1,5 +1,5 @@ { "label": "Gandi", - "u2f": ["https://account.gandi.net/api/u2f/trusted_facets.json"], + "u2f": ["a4e22dcafea7e90e128950113989fc45978dc9fb87767560516c1c69dfdfd196"], "webauthn": ["gandi.net"] } diff --git a/common/defs/webauthn/apps/github.json b/common/defs/webauthn/apps/github.json index 123241068e..7cb230d972 100644 --- a/common/defs/webauthn/apps/github.json +++ b/common/defs/webauthn/apps/github.json @@ -1,6 +1,6 @@ { "label": "GitHub", - "u2f": ["https://github.com/u2f/trusted_facets"], + "u2f": ["70617dfed065863af47c15556c91798880828cc407fdf70ae85011569465a075"], "webauthn": ["github.com"], "use_sign_count": true } diff --git a/common/defs/webauthn/apps/gitlab.json b/common/defs/webauthn/apps/gitlab.json index 7f2ba750e8..9923edf616 100644 --- a/common/defs/webauthn/apps/gitlab.json +++ b/common/defs/webauthn/apps/gitlab.json @@ -1,4 +1,4 @@ { "label": "GitLab", - "u2f": ["https://gitlab.com"] + "u2f": ["e7be96a51bd0192a72840d2e5909f72ba82a2fe93faa624f03396b30e494c804"] } diff --git a/common/defs/webauthn/apps/google.json b/common/defs/webauthn/apps/google.json index 6449bc472a..d52bbf7c4c 100644 --- a/common/defs/webauthn/apps/google.json +++ b/common/defs/webauthn/apps/google.json @@ -1,5 +1,5 @@ { "label": "Google", - "u2f": ["https://www.gstatic.com/securitykey/origins.json"], + "u2f": ["a54672b222c4cf95e151ed8d4d3c767a6cc349435943794e884f3d023a8229fd"], "webauthn": ["google.com"] } diff --git a/common/defs/webauthn/apps/keeper.json b/common/defs/webauthn/apps/keeper.json index bec466e12f..05381dd53e 100644 --- a/common/defs/webauthn/apps/keeper.json +++ b/common/defs/webauthn/apps/keeper.json @@ -1,4 +1,4 @@ { "label": "Keeper", - "u2f": ["https://keepersecurity.com"] + "u2f": ["53a15ba42a7c0325b8dbee289634a48f58aea3246645d5ff418f9bb8819885a9"] } diff --git a/common/defs/webauthn/apps/lastpass.json b/common/defs/webauthn/apps/lastpass.json index 7e312c358f..f7bf592e21 100644 --- a/common/defs/webauthn/apps/lastpass.json +++ b/common/defs/webauthn/apps/lastpass.json @@ -1,4 +1,4 @@ { "label": "LastPass", - "u2f": ["https://lastpass.com"] + "u2f": ["d755c527a86bf78445c282e713dcb86d46ff8b3cafcfb73b2e8cbe6c0884cb24"] } diff --git a/common/defs/webauthn/apps/slushpool.json b/common/defs/webauthn/apps/slushpool.json index 3bb33a1f02..66c283bac7 100644 --- a/common/defs/webauthn/apps/slushpool.json +++ b/common/defs/webauthn/apps/slushpool.json @@ -1,4 +1,4 @@ { "label": "Slush Pool", - "u2f": ["https://slushpool.com/static/security/u2f.json", "https://slushpool.com/u2f.json"] + "u2f": ["08b2a3d41939aa31668493cb36cdcc4f16c4d9b4c8238b73c2f672c033007197", "38804f2eff74f228b74151c201aa82e7e8eefcacfecf23fa146b13a37666314f"] } diff --git a/common/defs/webauthn/apps/stripe.json b/common/defs/webauthn/apps/stripe.json index 7169bad37b..86929e7928 100644 --- a/common/defs/webauthn/apps/stripe.json +++ b/common/defs/webauthn/apps/stripe.json @@ -1,4 +1,4 @@ { "label": "Stripe", - "u2f": ["https://dashboard.stripe.com"] + "u2f": ["2ac6ad09a6d0772c44da73a6072f9d240fc6854a70d79c1024ff7c7559593292"] } diff --git a/common/defs/webauthn/apps/u2f.bin.coffee.json b/common/defs/webauthn/apps/u2f.bin.coffee.json index 1edb18e707..4be50c62da 100644 --- a/common/defs/webauthn/apps/u2f.bin.coffee.json +++ b/common/defs/webauthn/apps/u2f.bin.coffee.json @@ -1,4 +1,4 @@ { "label": "u2f.bin.coffee", - "u2f": ["https://u2f.bin.coffee"] + "u2f": ["1b3c16dd2f7c46e2b4c289dc16746bcc60dfcf0fb818e13215526e1408e7f468"] } diff --git a/common/defs/webauthn/gen.py b/common/defs/webauthn/gen.py index 2202d38b32..c6ca8805c6 100755 --- a/common/defs/webauthn/gen.py +++ b/common/defs/webauthn/gen.py @@ -16,35 +16,39 @@ def c_bytes(h): def gen_core(data): - print("_knownapps = {") + print("# contents generated via script in") + print("# trezor-common/defs/webauthn/gen.py") + print("# do not edit manually") + print() + print("knownapps = {") print(" # U2F") for d in data: - for url in d.get("u2f", []): + for appid in d.get("u2f", []): label = d["label"] - print(' "%s": {"label": "%s", "use_sign_count": True},' % (url, label)) + h = bytes.fromhex(appid) + print(" %s: {" % h) + print(' "label": "%s",' % label) + print(' "use_sign_count": True,') + print(" },") print(" # WebAuthn") for d in data: for origin in d.get("webauthn", []): + h = sha256(origin.encode()).digest() label, use_sign_count = (d["label"], d.get("use_sign_count", None)) - if use_sign_count is None: - print(' "%s": {"label": "%s"},' % (origin, label)) - else: - print( - ' "%s": {"label": "%s", "use_sign_count": %s},' - % (origin, label, use_sign_count) - ) + print(" %s: {" % h) + print(' "label": "%s",' % label) + if use_sign_count is not None: + print(' "use_sign_count": %s,' % use_sign_count) + print(" },") print("}") def gen_mcu(data): for d in data: - for url in d.get("u2f", []): + for appid in d.get("u2f", []): label = d["label"] - h = sha256(url.encode()).digest() - print( - '\t{\n\t\t// U2F: %s\n\t\t%s,\n\t\t"%s"\n\t},' - % (url, c_bytes(h), label) - ) + h = bytes.fromhex(appid) + print('\t{\n\t\t// U2F\n\t\t%s,\n\t\t"%s"\n\t},' % (c_bytes(h), label)) for origin in d.get("webauthn", []): label = d["label"] h = sha256(origin.encode()).digest() diff --git a/core/src/apps/webauthn/knownapps.py b/core/src/apps/webauthn/knownapps.py index 23ad454290..94128a5b4e 100644 --- a/core/src/apps/webauthn/knownapps.py +++ b/core/src/apps/webauthn/knownapps.py @@ -1,62 +1,116 @@ -from trezor.crypto.hashlib import sha256 - # contents generated via script in # trezor-common/defs/webauthn/gen.py # do not edit manually -_knownapps = { +knownapps = { # U2F - "https://bitbucket.org": {"label": "Bitbucket", "use_sign_count": True}, - "https://www.bitfinex.com": {"label": "Bitfinex", "use_sign_count": True}, - "https://vault.bitwarden.com/app-id.json": { + b"\x12t;\x92\x12\x97\xb7\x7f\x115\xe4\x1f\xde\xddJ\x84j\xfe\x82\xe1\xf3i2\xa9\x91/;\r\x8d\xfb}\x0e": { + "label": "Bitbucket", + "use_sign_count": True, + }, + b"0/\xd5\xb4I*\x07\xb9\xfe\xbb0\xe72i\xec\xa5\x01 \\\xcf\xe0\xc2\x0b\xf7\xb4r\xfa-1\xe2\x1ec": { + "label": "Bitfinex", + "use_sign_count": True, + }, + b"\xa3M0\x9f\xfa(\xc1$\x14\xb8\xbal\x07\xee\x1e\xfa\xe1\xa8^\x8a\x04aHY\xa6|\x04\x93\xb6\x95a\x90": { "label": "Bitwarden", "use_sign_count": True, }, - "https://www.dashlane.com": {"label": "Dashlane", "use_sign_count": True}, - "https://www.dropbox.com/u2f-app-id.json": { + b"h \x19\x15\xd7L\xb4*\xf5\xb3\xcc\\\x95\xb9U>>:\x83\xb4\xd2\xa9;E\xfb\xad\xaa\x84i\xff\x8en": { + "label": "Dashlane", + "use_sign_count": True, + }, + b'\xc5\x0f\x8a{p\x8e\x92\xf8.zP\xe2\xbd\xc5]\x8f\xd9\x1a"\xfek)\xc0\xcd\xf7\x80U0\x84*\xf5\x81': { "label": "Dropbox", "use_sign_count": True, }, - "https://api-9dcf9b83.duosecurity.com": {"label": "Duo", "use_sign_count": True}, - "https://www.fastmail.com": {"label": "FastMail", "use_sign_count": True}, - "https://id.fedoraproject.org/u2f-origins.json": { + b"\xf3\xe2\x04/\x94`}\xa0\xa9\xc1\xf3\xb9^\r/+\xb2\xe0i\xc5\xbbO\xa7d\xaf\xfad}\x84{~\xd6": { + "label": "Duo", + "use_sign_count": True, + }, + b"if\xab\xe3gN\xa2\xf50y\xebq\x01\x97\x84\x8c\x9b\xe6\xf3c\x99/\xd0)\xe9\x89\x84G\xcb\x9f\x00\x84": { + "label": "FastMail", + "use_sign_count": True, + }, + b"\x9daD/\\\xe13\xbdFTO\xc4/\nmT\xc0\xde\xb8\x88@\xca\xc2\xb6\xae\xfae\x14\xf8\x93I\xe9": { "label": "Fedora", "use_sign_count": True, }, - "https://account.gandi.net/api/u2f/trusted_facets.json": { + b"\xa4\xe2-\xca\xfe\xa7\xe9\x0e\x12\x89P\x119\x89\xfcE\x97\x8d\xc9\xfb\x87vu`Ql\x1ci\xdf\xdf\xd1\x96": { "label": "Gandi", "use_sign_count": True, }, - "https://github.com/u2f/trusted_facets": { + b"pa}\xfe\xd0e\x86:\xf4|\x15Ul\x91y\x88\x80\x82\x8c\xc4\x07\xfd\xf7\n\xe8P\x11V\x94e\xa0u": { "label": "GitHub", "use_sign_count": True, }, - "https://gitlab.com": {"label": "GitLab", "use_sign_count": True}, - "https://www.gstatic.com/securitykey/origins.json": { + b"\xe7\xbe\x96\xa5\x1b\xd0\x19*r\x84\r.Y\t\xf7+\xa8*/\xe9?\xaabO\x039k0\xe4\x94\xc8\x04": { + "label": "GitLab", + "use_sign_count": True, + }, + b'\xa5Fr\xb2"\xc4\xcf\x95\xe1Q\xed\x8dM\x960\x18\xcd\xdb\xd9": { + "label": "Gandi" + }, + b":\xeb\x00$`8\x1co%\x8e\x83\x95\xd3\x02oW\x1f\r\x9avH\x8d\xcd\x83v9\xb1:\xed1e`": { + "label": "GitHub", + "use_sign_count": True, + }, + b"\xd4\xc9\xd9\x02s&'\x1a\x89\xceQ\xfc\xaf2\x8e\xd6s\xf1{\xe34i\xff\x97\x9e\x8a\xb8\xddP\x1efO": { + "label": "Google" + }, + b"\xf8?\xc3\xa1\xb2\x89\xa0\xde\xc5\xc1\xc8\xaa\x07\xe9\xb5\xdd\x9c\xbbv\xf6\xb2\xf5``\x17frh\xe5\xb9\xc4^": { + "label": "login.gov" + }, + b"5l\x9e\xd4\xa0\x93!\xb9i_\x1e\xaf\x91\x82\x03\xf1\xb5_h\x9d\xa6\x1f\xbc\x96\x18L\x15}\xdah\x0c\x81": { + "label": "Microsoft", + "use_sign_count": False, + }, + b"\xa6B\xd2\x1b|mU\xe1\xce#\xc59\x98(\xd2\xc7I\xbfjn\xf2\xfe\x03\xcc\x9e\x10\xcd\xf4\xedS\x08\x8b": { + "label": "webauthn.bin.coffee" + }, + b"t\xa6\xea\x92\x13\xc9\x9c/t\xb2$\x92\xb3 \xcf@&*\x94\xc1\xa9P\xa09\x7f)%\x0b`\x84\x1e\xf0": { + "label": "WebAuthn.io" + }, + b"\xf9[\xc78(\xee!\x0f\x9f\xd3\xbb\xe7-\x97\x90\x80\x13\xb0\xa3u\x9e\x9a\xea=\n\xe3\x18vl\xd2\xe1\xad": { + "label": "WebAuthn.me" + }, + b"\xc4l\xef\x82\xad\x1bTdwY\x1d\x00\x8b\x08u\x9e\xc3\xe6\xd2\xec\xb4\xf3\x94t\xbf\xeaii\x92]\x03\xb7": { + "label": "demo.yubico.com" + }, } - -knownapps = {sha256(k.encode()).digest(): v for (k, v) in _knownapps.items()} diff --git a/legacy/firmware/u2f_knownapps.h b/legacy/firmware/u2f_knownapps.h index eb31ff0fad..1b2b53bb0a 100644 --- a/legacy/firmware/u2f_knownapps.h +++ b/legacy/firmware/u2f_knownapps.h @@ -40,27 +40,27 @@ static const U2FWellKnown u2f_well_known[] = { "Binance" }, { - // U2F: https://bitbucket.org + // U2F { 0x12, 0x74, 0x3b, 0x92, 0x12, 0x97, 0xb7, 0x7f, 0x11, 0x35, 0xe4, 0x1f, 0xde, 0xdd, 0x4a, 0x84, 0x6a, 0xfe, 0x82, 0xe1, 0xf3, 0x69, 0x32, 0xa9, 0x91, 0x2f, 0x3b, 0x0d, 0x8d, 0xfb, 0x7d, 0x0e }, "Bitbucket" }, { - // U2F: https://www.bitfinex.com + // U2F { 0x30, 0x2f, 0xd5, 0xb4, 0x49, 0x2a, 0x07, 0xb9, 0xfe, 0xbb, 0x30, 0xe7, 0x32, 0x69, 0xec, 0xa5, 0x01, 0x20, 0x5c, 0xcf, 0xe0, 0xc2, 0x0b, 0xf7, 0xb4, 0x72, 0xfa, 0x2d, 0x31, 0xe2, 0x1e, 0x63 }, "Bitfinex" }, { - // U2F: https://vault.bitwarden.com/app-id.json + // U2F { 0xa3, 0x4d, 0x30, 0x9f, 0xfa, 0x28, 0xc1, 0x24, 0x14, 0xb8, 0xba, 0x6c, 0x07, 0xee, 0x1e, 0xfa, 0xe1, 0xa8, 0x5e, 0x8a, 0x04, 0x61, 0x48, 0x59, 0xa6, 0x7c, 0x04, 0x93, 0xb6, 0x95, 0x61, 0x90 }, "Bitwarden" }, { - // U2F: https://www.dashlane.com + // U2F { 0x68, 0x20, 0x19, 0x15, 0xd7, 0x4c, 0xb4, 0x2a, 0xf5, 0xb3, 0xcc, 0x5c, 0x95, 0xb9, 0x55, 0x3e, 0x3e, 0x3a, 0x83, 0xb4, 0xd2, 0xa9, 0x3b, 0x45, 0xfb, 0xad, 0xaa, 0x84, 0x69, 0xff, 0x8e, 0x6e }, "Dashlane" }, { - // U2F: https://www.dropbox.com/u2f-app-id.json + // U2F { 0xc5, 0x0f, 0x8a, 0x7b, 0x70, 0x8e, 0x92, 0xf8, 0x2e, 0x7a, 0x50, 0xe2, 0xbd, 0xc5, 0x5d, 0x8f, 0xd9, 0x1a, 0x22, 0xfe, 0x6b, 0x29, 0xc0, 0xcd, 0xf7, 0x80, 0x55, 0x30, 0x84, 0x2a, 0xf5, 0x81 }, "Dropbox" }, @@ -70,47 +70,62 @@ static const U2FWellKnown u2f_well_known[] = { "Dropbox" }, { - // U2F: https://api-9dcf9b83.duosecurity.com + // U2F { 0xf3, 0xe2, 0x04, 0x2f, 0x94, 0x60, 0x7d, 0xa0, 0xa9, 0xc1, 0xf3, 0xb9, 0x5e, 0x0d, 0x2f, 0x2b, 0xb2, 0xe0, 0x69, 0xc5, 0xbb, 0x4f, 0xa7, 0x64, 0xaf, 0xfa, 0x64, 0x7d, 0x84, 0x7b, 0x7e, 0xd6 }, "Duo" }, { - // U2F: https://www.fastmail.com + // U2F { 0x69, 0x66, 0xab, 0xe3, 0x67, 0x4e, 0xa2, 0xf5, 0x30, 0x79, 0xeb, 0x71, 0x01, 0x97, 0x84, 0x8c, 0x9b, 0xe6, 0xf3, 0x63, 0x99, 0x2f, 0xd0, 0x29, 0xe9, 0x89, 0x84, 0x47, 0xcb, 0x9f, 0x00, 0x84 }, "FastMail" }, { - // U2F: https://id.fedoraproject.org/u2f-origins.json + // U2F { 0x9d, 0x61, 0x44, 0x2f, 0x5c, 0xe1, 0x33, 0xbd, 0x46, 0x54, 0x4f, 0xc4, 0x2f, 0x0a, 0x6d, 0x54, 0xc0, 0xde, 0xb8, 0x88, 0x40, 0xca, 0xc2, 0xb6, 0xae, 0xfa, 0x65, 0x14, 0xf8, 0x93, 0x49, 0xe9 }, "Fedora" }, { - // U2F: https://account.gandi.net/api/u2f/trusted_facets.json + // U2F { 0xa4, 0xe2, 0x2d, 0xca, 0xfe, 0xa7, 0xe9, 0x0e, 0x12, 0x89, 0x50, 0x11, 0x39, 0x89, 0xfc, 0x45, 0x97, 0x8d, 0xc9, 0xfb, 0x87, 0x76, 0x75, 0x60, 0x51, 0x6c, 0x1c, 0x69, 0xdf, 0xdf, 0xd1, 0x96 }, "Gandi" }, { - // U2F: https://github.com/u2f/trusted_facets + // WebAuthn: gandi.net + { 0x54, 0xce, 0x65, 0x1e, 0xd7, 0x15, 0xb4, 0xaa, 0xa7, 0x55, 0xee, 0xce, 0xbd, 0x4e, 0xa0, 0x95, 0x08, 0x15, 0xb3, 0x34, 0xbd, 0x07, 0xd1, 0x09, 0x89, 0x3e, 0x96, 0x30, 0x18, 0xcd, 0xdb, 0xd9 }, + "Gandi" + }, + { + // U2F { 0x70, 0x61, 0x7d, 0xfe, 0xd0, 0x65, 0x86, 0x3a, 0xf4, 0x7c, 0x15, 0x55, 0x6c, 0x91, 0x79, 0x88, 0x80, 0x82, 0x8c, 0xc4, 0x07, 0xfd, 0xf7, 0x0a, 0xe8, 0x50, 0x11, 0x56, 0x94, 0x65, 0xa0, 0x75 }, "GitHub" }, { - // U2F: https://gitlab.com + // WebAuthn: github.com + { 0x3a, 0xeb, 0x00, 0x24, 0x60, 0x38, 0x1c, 0x6f, 0x25, 0x8e, 0x83, 0x95, 0xd3, 0x02, 0x6f, 0x57, 0x1f, 0x0d, 0x9a, 0x76, 0x48, 0x8d, 0xcd, 0x83, 0x76, 0x39, 0xb1, 0x3a, 0xed, 0x31, 0x65, 0x60 }, + "GitHub" + }, + { + // U2F { 0xe7, 0xbe, 0x96, 0xa5, 0x1b, 0xd0, 0x19, 0x2a, 0x72, 0x84, 0x0d, 0x2e, 0x59, 0x09, 0xf7, 0x2b, 0xa8, 0x2a, 0x2f, 0xe9, 0x3f, 0xaa, 0x62, 0x4f, 0x03, 0x39, 0x6b, 0x30, 0xe4, 0x94, 0xc8, 0x04 }, "GitLab" }, { - // U2F: https://www.gstatic.com/securitykey/origins.json + // U2F { 0xa5, 0x46, 0x72, 0xb2, 0x22, 0xc4, 0xcf, 0x95, 0xe1, 0x51, 0xed, 0x8d, 0x4d, 0x3c, 0x76, 0x7a, 0x6c, 0xc3, 0x49, 0x43, 0x59, 0x43, 0x79, 0x4e, 0x88, 0x4f, 0x3d, 0x02, 0x3a, 0x82, 0x29, 0xfd }, "Google" }, { - // U2F: https://keepersecurity.com + // WebAuthn: google.com + { 0xd4, 0xc9, 0xd9, 0x02, 0x73, 0x26, 0x27, 0x1a, 0x89, 0xce, 0x51, 0xfc, 0xaf, 0x32, 0x8e, 0xd6, 0x73, 0xf1, 0x7b, 0xe3, 0x34, 0x69, 0xff, 0x97, 0x9e, 0x8a, 0xb8, 0xdd, 0x50, 0x1e, 0x66, 0x4f }, + "Google" + }, + { + // U2F { 0x53, 0xa1, 0x5b, 0xa4, 0x2a, 0x7c, 0x03, 0x25, 0xb8, 0xdb, 0xee, 0x28, 0x96, 0x34, 0xa4, 0x8f, 0x58, 0xae, 0xa3, 0x24, 0x66, 0x45, 0xd5, 0xff, 0x41, 0x8f, 0x9b, 0xb8, 0x81, 0x98, 0x85, 0xa9 }, "Keeper" }, { - // U2F: https://lastpass.com + // U2F { 0xd7, 0x55, 0xc5, 0x27, 0xa8, 0x6b, 0xf7, 0x84, 0x45, 0xc2, 0x82, 0xe7, 0x13, 0xdc, 0xb8, 0x6d, 0x46, 0xff, 0x8b, 0x3c, 0xaf, 0xcf, 0xb7, 0x3b, 0x2e, 0x8c, 0xbe, 0x6c, 0x08, 0x84, 0xcb, 0x24 }, "LastPass" }, @@ -120,17 +135,27 @@ static const U2FWellKnown u2f_well_known[] = { "login.gov" }, { - // U2F: https://slushpool.com/static/security/u2f.json + // WebAuthn: login.microsoft.com + { 0x35, 0x6c, 0x9e, 0xd4, 0xa0, 0x93, 0x21, 0xb9, 0x69, 0x5f, 0x1e, 0xaf, 0x91, 0x82, 0x03, 0xf1, 0xb5, 0x5f, 0x68, 0x9d, 0xa6, 0x1f, 0xbc, 0x96, 0x18, 0x4c, 0x15, 0x7d, 0xda, 0x68, 0x0c, 0x81 }, + "Microsoft" + }, + { + // U2F { 0x08, 0xb2, 0xa3, 0xd4, 0x19, 0x39, 0xaa, 0x31, 0x66, 0x84, 0x93, 0xcb, 0x36, 0xcd, 0xcc, 0x4f, 0x16, 0xc4, 0xd9, 0xb4, 0xc8, 0x23, 0x8b, 0x73, 0xc2, 0xf6, 0x72, 0xc0, 0x33, 0x00, 0x71, 0x97 }, "Slush Pool" }, { - // U2F: https://dashboard.stripe.com + // U2F + { 0x38, 0x80, 0x4f, 0x2e, 0xff, 0x74, 0xf2, 0x28, 0xb7, 0x41, 0x51, 0xc2, 0x01, 0xaa, 0x82, 0xe7, 0xe8, 0xee, 0xfc, 0xac, 0xfe, 0xcf, 0x23, 0xfa, 0x14, 0x6b, 0x13, 0xa3, 0x76, 0x66, 0x31, 0x4f }, + "Slush Pool" + }, + { + // U2F { 0x2a, 0xc6, 0xad, 0x09, 0xa6, 0xd0, 0x77, 0x2c, 0x44, 0xda, 0x73, 0xa6, 0x07, 0x2f, 0x9d, 0x24, 0x0f, 0xc6, 0x85, 0x4a, 0x70, 0xd7, 0x9c, 0x10, 0x24, 0xff, 0x7c, 0x75, 0x59, 0x59, 0x32, 0x92 }, "Stripe" }, { - // U2F: https://u2f.bin.coffee + // U2F { 0x1b, 0x3c, 0x16, 0xdd, 0x2f, 0x7c, 0x46, 0xe2, 0xb4, 0xc2, 0x89, 0xdc, 0x16, 0x74, 0x6b, 0xcc, 0x60, 0xdf, 0xcf, 0x0f, 0xb8, 0x18, 0xe1, 0x32, 0x15, 0x52, 0x6e, 0x14, 0x08, 0xe7, 0xf4, 0x68 }, "u2f.bin.coffee" },