Send Signal Messages with Kicksecure ™

From Kicksecure

Signal Logo

Introduction[edit]

Signal is a well-respected, free, open source, cross-platform encrypted messaging service. It supports individual and group messages (files, voice notes, images and video) as well as one-to-one voice and video calls. All communications are encrypted end-to-end for security, and mechanisms exist to independently verify the identity of contacts as well as the integrity of the data channel. The encryption keys are generated and stored at the endpoints (user devices), rather than by the servers. Both the client and server code is openly published, and the software is recommended by noted privacy advocates Edward Snowden and Bruce Schneier, among others. This is due to the strong architecture and limited metadata available in the ecosystem. [1] [2] [3]

Ambox warning pn.svg.png It is possible to install the standalone Signal Desktop application version for Linux in Kicksecure ™. However, this configuration is not recommended because Signal requires the user provide a phone number for verification. [4] See Phone Number Validation vs User Privacy.

Community Support Only!:
Info

Community Support Only means Kicksecure ™ developers are unlikely to provide free support for wiki chapters or pages with this tag. See Community Support for further information, including implications and possible alternatives.

Prerequisites[edit]

Signal must already be installed on your Android or iOS device -- first follow the download instructions on the Signal homepage if required. [5]

It is also recommended to create a separate Kicksecure ™ that is only used for Signal because these instructions require the enabling of the Ubuntu Xenial repository for the desktop client. [6] The Signal developers do not maintain specific versions for other distributions, which is why Ubuntu is defaulted to.

Install the Signal Desktop Client[edit]

This configuration allows the standalone Signal desktop client to link with the mobile device and send/receive messages from a laptop or desktop computer. [7] As of late-2020, the desktop application also now supports one-to-one voice and video conversations. [8] After launching the desktop client, it must be linked with the (mobile) phone. Be aware that messages are synchronized with Signal on the mobile phone.

warning Security warning: Adding a third party repository allows the vendor to replace any package on your system. Proceed at your own risk! See Foreign Sources for further information. For greater safety, users adding third party repositories should always use Multiple Kicksecure ™ to compartmentalize VMs with additional software.

1. Add the Signal GPG key to the APT keyrings. [9]

Securely download the key.

If you are using Kicksecure ™ (kicksecure), run.

scurl-download https://updates.signal.org/desktop/apt/keys.asc

If you are using a Qubes Template (kicksecure-16), run. [10] [11]

scurl-download --proxy http://127.0.0.1:8082/ https://updates.signal.org/desktop/apt/keys.asc

Display the key's fingerprint. [12]

gpg --keyid-format long --import --import-options show-only --with-fingerprint keys.asc

Verify the output.

notice Digital signatures can increase security but this requires knowledge. Learn more about digital software signature verification.

The most important check is confirming the key fingerprint exactly matches the output below. [13]

Key fingerprint = DBA3 6B51 81D0 C816 F630 E889 D980 A174 57F6 FB06

Ambox warning pn.svg.png Warning:

Do not continue if the fingerprint does not match -- this risks using infected or erroneous files! The whole point of verification is to confirm file integrity.

Copy the signing key to the APT keyring folder. [14]

sudo cp keys.asc /usr/share/keyrings/signal-desktop-keyring.asc

2. Add the Signal third-party APT repository. [15] [16] [17]

echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.asc] tor+https://updates.signal.org/desktop/apt xenial main' | sudo tee /etc/apt/sources.list.d/signal-xenial.list

3. Install Signal.

Install signal-desktop. To accomplish that, the following steps A. to D. need to be done.

A. Update the package lists.

sudo apt update

B. Upgrade the system.

sudo apt full-upgrade

C. Install the signal-desktop package.

Using apt command line parameter --no-install-recommends is in most cases optional.

sudo apt install --no-install-recommends signal-desktop

D. Done.

The procedure of installing signal-desktop is complete.

4. Done.

The process of installing Signal is complete.

5. Note.

  • Kicksecure ™: No extra steps required.
  • Kicksecure ™ for Qubes: Shutdown kicksecure-16 Template. Restart Kicksecure ™ (kicksecure App Qube).

Start Signal[edit]

To launch Signal, run.

signal-desktop

Figure: Signal Desktop in Kicksecure ™

Signaldesktop.png

Broken Metadata Protection[edit]

Signal's metadata protection (who is communicating with whom) might be ineffective.

Hi, thank you for this thought provoking talk. You said so many things I disagree with it is tough to pick a question. But the one I want to ask is: The features that you have about private groups and sealed sender, those seem to be protecting data at rest for when the server is compromised the data that's on it is less useful to the attacker, but if the server is already compromised it is not really providing traffic analysis protection - your metadata protection is effectively a pinky-promise oriented architecture and you have outsourced the keeping of the promise to a defense contractor owned by the richest man in the world; so my question it: How confident are you that Amazon is keeping the promises that you are making?

See this question and Moxie's (founder of Signal) answer here. Moxie failed to deny or refute this.

Amazon NSA collusion:

Amazon is proud of their cooperation with law enforcement and providing them with recordings from Amazon Ring the doorbell snitch. Hard to believe they don't collaborate with higher agencies such as the NSA of the security apparatus ladder.

Claims That Signal Encryption Is Broken[edit]

Cellebrite formerly claimed they were able to decrypt Signal encryption. However, the article details were later removed because it was debunked by Moxie Marlinspike (Nitter) (co-founder and currently CEO of Signal Messenger), Edward Snowden(Nitter), and Filippo Valsorda(Nitter). Signal also officially responded to this false claim.

Note: cryptographer Bruce Schneier wrote an article about this issue in his blog entitled "Cellebrite Can Break Signal", but he later apologized for his erroneous post.

Signal Delayed Updating Their Server Code On Time[edit]

Signal server code been delayed to get updated to prevent spammers from gleaning the new anti-spam measures the company planned to enact (According to the previous signal CEO Moxie Marlinspike [18] [19]).

See Also[edit]

Footnotes[edit]

  1. https://en.wikipedia.org/wiki/Signal_%28software%29
  2. For additional Signal features, see: Wikipedia: Signal (software) - Features
  3. Signal blog:

    By design, Signal does not have a record of your contacts, social graph, conversation list, location, user avatar, user profile name, group memberships, group titles, or group avatars. The end-to-end encrypted contents of every message and voice/video call are protected by keys that are entirely inaccessible to us. In most cases now we don’t even have access to who is messaging whom.

  4. The number can be different form the device's SIM card; it can be a landline or VOIP number, so long as the user can receive the verification code and possesses a separate device to set up the software.
  5. Also see: Installing Signal.
  6. Common advice is to not mix repositories from related distributions like Ubuntu and Debian, since this can cause system instability.
  7. https://www.signal.org/blog/standalone-signal-desktop/
  8. https://github.com/signalapp/Signal-Desktop/releases/tag/v1.35.1
  9. https://github.com/freedomofpress/ansible-role-signal-desktop
  10. Using Qubes UpdatesProxy (--proxy http://127.0.0.1:8082/) because Qubes Templates are non-networked by Qubes default and therefore require UpdatesProxy for connectivity. (APT in Qubes Templates is configured to use UpdatesProxy by Qubes default.)
  11. Even more secure would be to download the key Disposable and then qvm-copy it to the Qubes Template because this would avoid curl's attack surface but this would also result in even more complicated instructions.
  12. Even more secure would be to display the key in another Disposable because this would protect the Template from curl's and gpg's attack surface but this would also result in even more complicated instructions.
  13. Minor changes in the output such as new uids (email addresses) or newer expiration dates are inconsequential.
  14. https://forums.whonix.org/t/apt-repository-signing-keys-per-apt-sources-list-signed-by/12302
  15. https://signal.org/download/
  16. https://forums.whonix.org/t/apt-repository-signing-keys-per-apt-sources-list-signed-by/12302
  17. See this for a comment why tor+ is useful even inside Kicksecure ™.
  18. https://github.com/signalapp/Signal-Android/issues/11101#issuecomment-815400676
  19. https://www.xda-developers.com/signal-updates-public-server-code/#update1


Unfinished: This wiki is a work in progress. Please do not report broken links until this notice is removed, use Search Engines First and contribute improving this wiki.