Project

General

Profile

Feature #11897

Create random seed at installation time with Tails Installer

Added by bertagaz about 1 year ago. Updated 3 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
Installation
Target version:
Start date:
11/04/2016
Due date:
% Done:

0%

QA Check:
Info Needed
Feature Branch:
feature/11897-improve-random-seed-file
Type of work:
Code
Starter:
No
Affected tool:
Installer

Description

Given I just installed Tails on a USB stick
When I boot it for the first time
Then I want to have good entropy to create the persistent storage
Given I boot Tails from a USB stick
When I do not activate my persistent volume in the Tails Greeter
Then I still want to have good enough entropy from a random seed

For that, it is necessary to have the Tails Installer create a random seed in the system FAT partition at installation time.


Related issues

Related to Tails - Feature #7642: Investigate whether we should resume shipping a static random seed In Progress 09/02/2016

History

#1 Updated by bertagaz about 1 year ago

At the November 4th meeting, we decided that this was a ticket we could start to work on.

We also decided to ask to tickets' assignee to write down a small presentation of the goal of their ticket, to be included in the blueprint that we'll show publicly. So it needs to be clear the ticket is about, what it will implement and why. There's already bits written in the blueprint dedicated paragraph, but it probably needs to be clarified for external readers. Please check and enhance it!

#2 Updated by kurono about 1 year ago

Use the Tails installer to create a better seed #11897

When Tails is installed the first time, the most common used method is downloading the Tails ISO image, verifying it is legitimate and then copying its content to create a running system. That means that every single user has exactly the same copy of Tails. This is good for verification, but also means that every user has the same initial random seed for CSPRNG operations, used to initialize the some of the most important cryptography functions such as TLS and disk encryption (Persistence), such that they may become predictable.
To solve this problem we plan to use the Tails installer, to initialize the random seed file on every new Tails. This should be a post installation mechanism, after verifying the ISO/disk image hash/signature. We plan to use the strongest random source available in the system where Tails Installer is running from, by Python's os.urandom [1].

[1]https://docs.python.org/2/library/os.html#os.urandom

#3 Updated by kurono about 1 year ago

  • Status changed from Confirmed to In Progress

#4 Updated by u 5 months ago

  • Subject changed from Create ramdom seed at installation time with Tails Installer to Create random seed at installation time with Tails Installer

#5 Updated by BitingBird 3 months ago

  • Related to Feature #7642: Investigate whether we should resume shipping a static random seed added

#6 Updated by BitingBird 3 months ago

  • Target version changed from 2017 to SponsorT_2016_Internal

#7 Updated by BitingBird 3 months ago

  • Target version changed from SponsorT_2016_Internal to 2017

#8 Updated by kurono 3 months ago

  • Feature Branch set to feature/11897-improve-random-seed-file

#9 Updated by kurono 3 months ago

  • Assignee deleted (kurono)
  • QA Check set to Info Needed
  • Starter set to No

I have implemented a first draft solution for this ticket.
I have modified tails-installer as shown in the feature branch:

and Tails (including the blueprint) as shown in:

please review the updated blueprint for the detailed changes.
One question I have is if the changes to Tails itself should be in another ticket, or even in the "Persist entropy pool seeds" one #7675.

#10 Updated by intrigeri 3 months ago

  • Assignee set to bertagaz

(as per roadmap)

Also available in: Atom PDF