Skip to content

infra: add docs for hardware keys#1074

Open
ubiratansoares wants to merge 2 commits into
masterfrom
u/hw-keys-docs
Open

infra: add docs for hardware keys#1074
ubiratansoares wants to merge 2 commits into
masterfrom
u/hw-keys-docs

Conversation

@ubiratansoares

@ubiratansoares ubiratansoares commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Adds documentation explaining how to setup hardware keys, and how to use them. We also link the upcoming policy for the sake of reference.

I'll update this doc as soon as the policy lands and we also move with rust-lang/team#2501

r? @marcoieni

Rendered

@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 23, 2026
Comment thread src/infra/docs/hardware-security-keys.md
Comment thread src/infra/docs/hardware-security-keys.md Outdated

@marcoieni marcoieni left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks great, I left some minor comments!

View changes since this review


### Hardware security keys in Rust Infrastructure

Hardware security keys drastically improve security by providing unphishable

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Hardware security keys drastically improve security by providing unphishable
Hardware security keys improve security by providing unphishable

### Hardware security keys in Rust Infrastructure

Hardware security keys drastically improve security by providing unphishable
protection for sensitive code and infrastructure.The Rust infrastructure team

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
protection for sensitive code and infrastructure.The Rust infrastructure team
protection for sensitive code and infrastructure. The Rust infrastructure team

what do you mean with sensitive code?

Comment on lines +13 to +15
to critical infrastructure systems. If you are eligible for such a grant and
would like to get the recommended YubiKeys for free, get in touch with the
[T-infra in Zulip].

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would move the "if you are eligible" part after the list below.

### Supported models

The Rust infrastructure team has validated the [Yubico Series 5 USB/NFC models]
products and will officially support Yubico Series 5 keys for any issues a

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
products and will officially support Yubico Series 5 keys for any issues a
products and officially supports the Yubico Series 5 keys for any issues a

### Supported firmware versions

Based on existing [security advisories], only YubiKeys with firmware
**version v5.7.4** or newer are fully supported. You can use either the `ykman`

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**version v5.7.4** or newer are fully supported. You can use either the `ykman`
**version v5.7.4** or newer are allowed. You can use either the `ykman`

* Yubico Manager CLI (sources: [yubikey-manager]): for advanced use cases

As a good first step, the Rust infrastructure team recommends using the Yubico
Authenticator Desktop app to change the default values for :

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Authenticator Desktop app to change the default values for :
Authenticator Desktop app to change the default values for:

Comment on lines +58 to +76
installations. You can refer to the [ykman online documentation] to learn more
about subcommands.

```shell
➜ uvx --from yubikey-manager ykman --help
Installed 15 packages in 15ms
Usage: ykman [OPTIONS] COMMAND [ARGS]...

Configure your YubiKey via the command line.

Examples:

List connected YubiKeys, only output serial number:
$ ykman list --serials

Show information about YubiKey with serial number 123456:
$ ykman --device 123456 info

```

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
installations. You can refer to the [ykman online documentation] to learn more
about subcommands.
```shell
➜ uvx --from yubikey-manager ykman --help
Installed 15 packages in 15ms
Usage: ykman [OPTIONS] COMMAND [ARGS]...
Configure your YubiKey via the command line.
Examples:
List connected YubiKeys, only output serial number:
$ ykman list --serials
Show information about YubiKey with serial number 123456:
$ ykman --device 123456 info
```
installations:
```sh
uvx --from yubikey-manager ykman --help

You can refer to the [ykman online documentation] to learn more
about subcommands.

Imo the stdout of the help menu is not helpful so we could remove it.


This option provides a way to have working TOTP codes in both a mobile phone
and a desktop system without relying on third-party cloud systems, but also
has the con of coupling TOTP code generation with a physical device : similarly

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
has the con of coupling TOTP code generation with a physical device : similarly
has the con of coupling TOTP code generation with a physical device: similarly

losing access to TOTP codes, which requires additional diligence regarding
backing up recovery codes.

Note that setting up hardware-backed TOTP codes is totally optional for

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Note that setting up hardware-backed TOTP codes is totally optional for
Note that setting up hardware-backed TOTP codes is optional for


As an example, this command will define a new resident SSH key through FIDO2
and won't prompt your passkey everytime, nor will it require touching the
hardware key for Git operations.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so it only requires the hardware key being connected? Is this what we decided at the all hands?

I think we should suggest touching the hardware key, or at least explain the risk connected to not having to touch the hardware key. Which imo are that if someone has a remote access to your terminal they can run git operations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants