Simplifying OEM reset/Re-ownership #1521
Replies: 9 comments 2 replies
-
Is in a state where oem factory reset is the main usage scope, and there re-ownership can be used by answering advanced questions or choosing defaults as of now in what I think is a proper questionnaire. Also, in current state, oem can enter oem factory reset by typing 'o' early at boot as well. I think we could create scopes for further usage in early questions when non-default mode is chosen. Or have oem-factory-reset script accept parameter for re-ownership mode to go advanced. I will tackle down later on but wanted to update this discussion with updated state of oem per PR under final review stage. |
Beta Was this translation helpful? Give feedback.
-
My old dream for factory reset and early re-ownership wizard was for luks and all other secrets to be randomized. Imagine the final image showing secrets in textual form being followed by a Qr code containing randomized secrets, permitting OEM to capture provisioned secrets with a camera for archive purpose/OEM easy provisioning and file keeping, leaving all possibilities of errors of transcribing more advanced secrets to none and easing DRK sharing with customer through secure communication channels. This would require re-integrating my old work on initial re-ownership wizard to include diceware generated secrets and could be enabled by a config option directly from board config, or by launching the script through o early at boot or any desirable way to do this. |
Beta Was this translation helpful? Give feedback.
-
Also note other discussion points under https://novacustom.com/forum/d/51-heads-reownership-and-nitrokey-purchase It is to be noted that OEM refused to merge past PR that lead to the PrivacyBeast OEM factory reset/Re-Ownership wizard which is depicted at
The OEM/Re-Ownership wizard is now standard under Heads, but could be improved some more. It's time to review the above, keep in mind business flow and user needs to agree on what it should do. In my own opinion, OEM factory reset should randomize secrets with diceware, resulting in a Qr code aimed for OEM storage. It is to remind OEMs that the only secret that needs to be shared, ideally AFTER delivery of the product is the Disk Recovery Key passphrase (DRK), while all the other secrets will be rendered obsolete when the user runs the Re-Ownership wizard. We should also agree on which diceware passphrase list we should use: From experience, I would cast my vote for the EFF short list (less user errors typing short words then longer words) to the expense of changing the recommendation for passphrase length to more words under https://osresearch.net/Configuring-Keys/#oem-factory-resetre-ownership @JonathonHall-Purism @wessel-novacustom @daringer @jans23 @pietrushnic @miczyg1 : opinions, constraints, desires? |
Beta Was this translation helpful? Give feedback.
-
Note that that o shortcut exists today since 504f033 |
Beta Was this translation helpful? Give feedback.
-
I think we can improve the security in general by generating a random passphrase if the user chooses disk encryption (which is mandatory for Heads). We can then communicate the passphrase via email by including it into the order confirmation, which the customer can find back in his NovaCustom.com account and in the shipping confirmation email. I think this will be more secure than setting an unsafe passphrase; the same for every order. It is relatively easy for us to setup above and we will do so soon. We can also create another option to setup the USB Security Device for the customer. I think we will need to make this optional as it will take time per order. For Heads, we can also add some documentation on how to build, verify and flash the firmware internally and externally. For those who care and do not want to only rely on the (optional) anti-tamper package (or don't want that option for whatever reason), they can rely on reflashing as an extra protection layer against potential tampering during transit. Intel Boot Guard platform fusing will help us further to protect the firmware's integrity as soon as this has been released. Dasharo is working on this for our devices. |
Beta Was this translation helpful? Give feedback.
-
Disk encryption is not mandatory for Heads but strongly recommended so that data at rest is not accessible outside of the /boot partition which currently is required to be unencrypted.
This depends on how the OS is deployed. The late tendency for OEM is to specialize OS installation media to be deployed in an unattended fashion, encompassing static Disk Recovery Key passphrase into the installation media + some specialized packages they desire to be deployed by default. Some examples (same extends to Purism and other OSes in repsoitories: debian, ubuntu etc):
The OEM install media in this case deploys the OS with expected partition scheme and passes the OEM expected encryption key passphrase/password (DRK passphrase) of : "12345678". Reminder of secrets involved under Heads (TPM, USB Security dongle, Disk Recovery Key (DRK) and TPM unsealed Disk Unlock Key (DUK): https://osresearch.net/Configuring-Keys/#oem-factory-resetre-ownership Let's take a step back for this deployment (as opposed to cloned disks that could be deployed with clonezilla in BT mode where UUID, crypttab and DRK would be hardcoded but OS deployment is the same as OEM desired and was PrivacyBeast deployment):
If the OEM launches the OEM Factory reset today:
What i'm proposing here as improvements to OEM Factory Reset so OEM could better use it
Opened a discussion under KeepassDX (unfructuous yet): Kunzisoft/KeePassDX#1443 (comment)
The problem with that here again is OEM liability.
|
Beta Was this translation helpful? Give feedback.
-
It would be nice if we could have TOTP (+ HOTP) verification possible without OS by going through the OEM Factory Reset / Re-Ownership options. It would allow us to have solid root-of-trust from us (OEM) to the end user, even if no OS was chosen. A lot of users order Heads without OS. From our side, credentials are then separately delivered via different channels (physical paper, email and Signal). Ideally, credentials should be randomly generated. |
Beta Was this translation helpful? Give feedback.
-
Just to add some user perspective on this:
|
Beta Was this translation helpful? Give feedback.
-
Originally posted by @tlaurion in #1645 (comment) |
Beta Was this translation helpful? Give feedback.
-
From my perspective, a key purpose of OEM reset is to offer a streamlined way to get from an unknown, unconfigured, or partially-configured state to a working state as simply as possible. Chaining together the necessary resets, signatures, configurations, etc. is complex due to the nature of Heads.
As of #1515 though this workflow has grown, it now has grown to 10x Y/N questions (depending a little on config / selections) with a few other free prompts sprinkled in. Some of these questions are fairly complex with several lines of explanation.
How can we simplify the OEM reset?
I don't want to alienate high-tech users of course, but I do want to offer accessible security for less technical users, which requires striking a balance.
I see OEM reset as fulfilling a few key use cases for different users:
A. "Re-ownership": For users who just bought a computer, and trust the seller, it resets the security on the device and take control
B. "Factory reset": For users who have gotten lost in configuration (upgraded / changed something / lost token / etc. and don't know what to do next), but believe the device is not compromised according to their risk assessment, it offers a clear path back to a working configuration
C. "OEM": For OEMs preparing a sold computer, it configures the computer for shipment
D. Others?
So some strategies I have thought of to simplify OEM reset, which could become guidelines for how new features are incorporated into OEM reset vs. configuration settings:
Beta Was this translation helpful? Give feedback.
All reactions