Open redshiftzero opened 4 years ago
Keeping this one, this could either be implemented directly as described or with a wee GUI.
I wasn't aware of the existence of this issue and accidentally created a duplicate. Copying an pasting here my comment
The current way to import the Tails SVS' credentials is a bit manual:
config.json
with these valuesWhat I am proposing here is a SDW initialization wizard which would be triggered on (first) boot (or when the credentials are not present).
[comments copied over from other issue]
I agree with all of this; once our provisioning is set up we should definitely have an easier install flow that asks for less information and automates a significant portion of the installation.
I think there are a lot of parts and decisions here that might need to be considered separately (I have put my initial impressions in parentheses but open to discussion):
re non-Tails SDW setups: It's a good question to keep in mind so we don't box ourselves in with any design choices, but I see it as farther off than a number of our other milestones (blocked on at least https://github.com/freedomofpress/securedrop-workstation/issues/932 , https://github.com/freedomofpress/securedrop-client/issues/2158 but more broadly https://github.com/freedomofpress/securedrop-client/issues/1725, also https://github.com/freedomofpress/securedrop-client/issues/1104, and probably some others of that ilk
(Related issue: https://github.com/freedomofpress/securedrop-workstation/issues/942)
This issue and its dupes are a good example of convergent evolution at work!
For existing SecureDrop users, we need to import the submission private key from the SVS drive and the Journalist Interface URL and associated (
HidServAuth
/ClientOnionAuthDir
) secret from the existing Journalist Workstation.During this import process we want to ensure that we:
Prior to the import procedure we instruct users to:
~/Persistent/sd-journalist.sec
(at some later point we could also automate this step by exporting ourselves when we attach the drive in step 4 below).app-journalist.auth_private
orapp-journalist-aths
credentials are correct.We could implement a securedrop-admin command, let's call
securedrop-admin --import
that:Please attach your existing SVS drive and detach any other USB drives.
sys-usb
, mount them, and attempt to decrypt them using the provided passphrase. We fail if we can't find a drive (we can reuse the securedrop-export error codes here).~/Persistent/sd-journalist.sec
into place indom0
. We fail if it's not in the correct location. We unmount the drive.Please attach your existing Journalist Workstation drive and detach any other USB drives.
app-journalist.auth_private
andapp-journalist-aths
are stored in a common location, we copyapp-journalist.auth_private
if it exists and otherwiseapp-journalist-aths
intodom0
. We fail if neither exist. We unmount the drive.config.json
based on the above credentials (generating the fingerprint from the private key, and asking the user to confirm). We putconfig.json
andsd-journalist.sec
into place forsecuredrop-admin --apply
to use.