NTPsec

The NTP is an unencrypted UDP based protocol and has been abused for attacks in the past. There have been several attempts to provide replacements, however the difficult nature of the protocol and its usage make this quite challenging. While the NTP provides capabilities for encryption, they have been proven to be unreliable. With NTPsec a 'secure' replacement is possible.

Installation

You can install NTPsec via the ntpsecAUR package.

It is necessary to import a new GPG key to your keyring with:

$ gpg --recv-keys 5A22E330161C3978
gpg: key 5A22E330161C3978: 6 signatures not checked due to missing keys
gpg: key 5A22E330161C3978: public key "NTPsec Contact <contact@ntpsec.org>" imported
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   8  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 8u
gpg: next trustdb check due at 2019-12-03
gpg: Total number processed: 1
gpg:               imported: 1

Starting the service

Normally start/enable the ntpd.service.

Note: Currently, ntpsecAUR will only uninstall ntp during its installation. If you were using another NTP implementation, make sure to stop/disable the service

Enable NTS

NTS is a method for using TLS/SSL to authenticate NTP traffic on the net

Note: The NTP Pool and the Arch NT Pool does not currently support NTS.

Append the keyword nts to the end of your server lines. Do this only for servers that speak NTS. If the server uses a port other than 4460 for NTS key exchange, you also need to specify the port number.

For example:

/etc/ntp.d/use-pool
server time.cloudflare.com         nts iburst
server virginia.time.system76.com  nts iburst
server nts.netnod.se:4460          nts iburst

Here is an unofficial list of NTP servers supporting NTS.

gollark: Specifically, 22 bytes for the private key and 21 for the public key on ccecc.py and 25 and 32 on the actual ingame one.
gollark: <@!206233133228490752> Sorry to bother you, but keypairs generated by `ccecc.py` and the ECC library in use in potatOS appear to have different-length private and public keys, which is a problem.EDIT: okay, apparently it's because I've been accidentally using a *different* ECC thing from SMT or something, and it has these parameters instead:```---- Elliptic Curve Arithmetic---- About the Curve Itself-- Field Size: 192 bits-- Field Modulus (p): 65533 * 2^176 + 3-- Equation: x^2 + y^2 = 1 + 108 * x^2 * y^2-- Parameters: Edwards Curve with c = 1, and d = 108-- Curve Order (n): 4 * 1569203598118192102418711808268118358122924911136798015831-- Cofactor (h): 4-- Generator Order (q): 1569203598118192102418711808268118358122924911136798015831---- About the Curve's Security-- Current best attack security: 94.822 bits (Pollard's Rho)-- Rho Security: log2(0.884 * sqrt(q)) = 94.822-- Transfer Security? Yes: p ~= q; k > 20-- Field Discriminant Security? Yes: t = 67602300638727286331433024168; s = 2^2; |D| = 5134296629560551493299993292204775496868940529592107064435 > 2^100-- Rigidity? A little, the parameters are somewhat small.-- XZ/YZ Ladder Security? No: Single coordinate ladders are insecure, so they can't be used.-- Small Subgroup Security? Yes: Secret keys are calculated modulo 4q.-- Invalid Curve Security? Yes: Any point to be multiplied is checked beforehand.-- Invalid Curve Twist Security? No: The curve is not protected against single coordinate ladder attacks, so don't use them.-- Completeness? Yes: The curve is an Edwards Curve with non-square d and square a, so the curve is complete.-- Indistinguishability? No: The curve does not support indistinguishability maps.```so I might just have to ship *two* versions to keep compatibility with old signatures.
gollark: > 2. precompilation to lua bytecode and compressionThis was considered, but the furthest I went was having some programs compressed on disk.
gollark: > 1. multiple layers of sandboxing (a "system" layer that implements a few things, a "features" layer that implements most of potatOS's inter-sandboxing API and some features, a "process manager" layer which has inter-process separation and ways for processes to communicate, and a "BIOS" layer that implements features like PotatoBIOS)Seems impractical, although it probably *could* fix a lot of problems
gollark: There's a list.

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.