Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.
Apple představil (YouTube) telefony iPhone 17 Pro a iPhone 17 Pro Max, iPhone 17 a iPhone Air, sluchátka AirPods Pro 3 a hodinky Watch Series 11, Watch SE 3 a Watch Ultra 3.
Realtimová strategie Warzone 2100 (Wikipedie) byla vydána ve verzi 4.6.0. Podrobný přehled novinek, změn a oprav v ChangeLogu na GitHubu. Nejnovější verzi Warzone 2100 lze již instalovat také ze Snapcraftu a Flathubu.
Polské vývojářské studio CD Projekt Red publikovalo na Printables.com 3D modely z počítačové hry Cyberpunk 2077.
Organizátoři konference LinuxDays 2025 vydali program a zároveň otevřeli registrace. Akce se uskuteční 4. a 5. října na FIT ČVUT v pražských Dejvicích, kde vás čekají přednášky, workshopy, stánky a spousta šikovných lidí. Vstup na akci je zdarma.
Uživatelé komunikátoru Signal si mohou svá data přímo v Signalu bezpečně zálohovat a v případě rozbití nebo ztráty telefonu následně na novém telefonu obnovit. Zálohování posledních 45 dnů je zdarma. Nad 45 dnů je zpoplatněno částkou 1,99 dolaru měsíčně.
Server Groklaw, zaměřený na kauzy jako právní spory SCO týkající se Linuxu, skončil před 12 lety, resp. doména stále existuje, ale web obsahuje spam propagující hazardní hry. LWN.net proto v úvodníku připomíná důležitost zachovávání komunitních zdrojů a upozorňuje, že Internet Archive je také jen jeden.
Jakub Vrána vydal Adminer ve verzi 5.4.0: "Delší dobu se v Admineru neobjevila žádná závažná chyba, tak jsem nemusel vydávat novou verzi, až počet změn hodně nabobtnal."
V Německu slavnostně uvedli do provozu (en) nejrychlejší počítač v Evropě. Superpočítač Jupiter se nachází ve výzkumném ústavu v Jülichu na západě země, podle německého kancléře Friedricha Merze otevírá nové možnosti pro trénování modelů umělé inteligence (AI) i pro vědecké simulace. Superpočítač Jupiter je nejrychlejší v Evropě a čtvrtý nejrychlejší na světě (TOP500). „Chceme, aby se z Německa stal národ umělé inteligence,“ uvedl na
… více »V Berlíně probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2025. Při té příležitosti byla oznámena alfa verze nové linuxové distribuce KDE Linux.
ssh-add
, tak právě i klíče na čipových kartách standardu OpenPGP. Vzhledem k tomu, že PGP samotné občas používám a budu tak tedy mít možnost umístit na tutéž kartu i klíče na podpisy a šifrování, volba je jasná.
gnupg
nebo gnupg2
, verze alespoň 2.0.18) a ovladače (pro USB čtečku pcsc-lite
a ccid
). Pokud ve vašem distru existují oddělené balíky gpgsm
a gnupg-agent
, potřebujete i ty. Na některých distribucích se spustí pcscd
automaticky po vložení karty, jinde ho budete muset spustit ručně. Tenhle software budete potřebovat jak pro inicializaci, tak i pro každodenní provoz na každém počítači, kde chcete kartu použít. Dále se vám může hodit opensc
pro některé méně časté operace s kartou, jako je třeba smazání klíčů.
Výpisy z GnuPG budu často krátit o ty méně podstatné informace. Zároveň se nebudu zmiňovat o místech, kdy se ptá GnuPG na heslo či PIN, protože je to během celého procesu zhruba 153x.
Po vložení karty nejprve vyzkoušíme, jestli GnuPG kartu vidí:
$ gpg --card-status Application ID ...: Version ..........: 2.0 Manufacturer .....: ZeitControl Serial number ....: 0000729B Name of cardholder: [not set] Language prefs ...: de Sex ..............: unspecified URL of public key : [not set] Login data .......: [not set] Signature PIN ....: forced Key attributes ...: 2048R 2048R 2048R Max. PIN lengths .: 32 32 32 PIN retry counter : 3 0 3 Signature counter : 0 Signature key ....: [none] Encryption key....: [none] Authentication key: [none] General key info..: [none]Pokud se vám podobný výpis nezobrazí, je na čase začít ladit - ověřit, jestli pcscd opravdu běží, jestli má přístup k USB zařízení a podobně. Před použitím karty je nutné nastavit PIN. Karta má dva - administrativní, kterým se upravují nastavení karty a pracuje s klíči, a PIN pro běžné operace, jako je podpis, dešifrování a přihlášení.
$ gpg --card-edit gpg/card> admin Admin commands are allowed gpg/card> passwd 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Your selection? 1 PIN changed.A následně uděláme totéž pro Admin PIN. PIN nemusí obsahovat pouze čísla, může to být libovolné heslo o délce alespoň 6 znaků pro běžný PIN a 8 znaků pro admin PIN. Pozor na to, že karta se zablokuje po třech chybných pokusech o jeho zadání. V
gpg --card-edit
můžete dále nastavit množství metadat na kartě, ale kromě URL k veřejnému klíči, ke kterému se dostanu později, je GnuPG k ničemu nepoužívá.
gpg --gen-key
, typ RSA a RSA
o velikosti 4096 bitů. Na kartě je sice napsáno, že umí klíče pouze do velikosti 3072, ale to platilo pouze pro GnuPG starší než 2.0.18. Nějaké další informace o tom, jak klíče generovat, najdete třeba zde, zejména část o použitých algoritmech je u trochu starších verzí GnuPG nutné čtení.
Ať už nějaký máme, nebo jsme ho třeba vygenerovali, bude vypadat nějak takhle.
$ gpg --list-keys pub 4096R/8F1DD759 2014-04-07 uid nobody <nobody@nowhere> sub 4096R/6FE9D59F 2014-04-07 $ gpg --expert --edit-key nobody@nowhere pub 4096R/8F1DD759 created: 2014-04-07 expires: never usage: SC trust: ultimate validity: ultimate sub 4096R/6FE9D59F created: 2014-04-07 expires: never usage: E [ultimate] (1). nobody <nobody@nowhere>Ve výpisu vidíme jeden hlavní klíč určený k podepisování a jeden podklíč určený k šifrování. Musíme si tedy vyrobit ještě jeden, který bude určen k přihlašování (
usage: A
). Proto jsme použili --expert
, jinak GnuPG tuto možnost nezobrazuje.
gpg> addkey Please select what kind of key you want: (8) RSA (set your own capabilities) Your selection? 8 Possible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: Sign Encrypt (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) FinishedZde je třeba, aby klíč podporoval pouze authenticate, tudíž postupně vybereme S, E, A a Q.
Possible actions for a RSA key: Sign Encrypt Authenticate Current allowed actions: Authenticate (S) Toggle the sign capability (E) Toggle the encrypt capability (A) Toggle the authenticate capability (Q) Finished Your selection? q What keysize do you want? (2048) 4096 Key is valid for? (0) 0 Key does not expire at all Is this correct? (y/N) y
Really create? (y/N) y pub 4096R/8F1DD759 created: 2014-04-07 expires: never usage: SC trust: ultimate validity: ultimate sub 4096R/6FE9D59F created: 2014-04-07 expires: never usage: E sub 4096R/0D69BC63 created: 2014-04-07 expires: never usage: A [ultimate] (1). nobody <nobody@nowhere>Teď už jen klíče nahrát na kartu. Pokud je chcete zálohovat, teď je vhodná chvíle napsat 'save' a buď někam odzálohovat adresář
~/.gnupg
, nebo provést gpg --export-secret-keys
.
Karta má k dispozici celkem 3 pozice na klíče. "Signature key" na klíč na podpisy, "Encryption key" pro šifrovací klíč a "Authentication key" pro přihlašování různého druhu (pro naše účely to bude SSH).
Poznámka pro pokročilé: Tohle může být trochu problém ve chvíli, pokud se držíte doporučené konvence a chcete používat i samostatný podklíč pro podpisy. V takovém případě bych asi postupoval tak, že bych na kartu uložil tři podklíče, a hlavní klíč následně uložil někam do chládku a nechal ho tam až do doby, než token ztratím, podklíčům vyprší platnost nebo do příchodu domů z nějaké podpisovací párty. Ha-ha.
Prvně přesuneme hlavní klíč:
$ gpg --expert --edit-key nobody@nowhere gpg> toggle gpg> keytocard Really move the primary key? (y/N) y Please select where to store the key: (1) Signature key (3) Authentication key Your selection? 1Pokračujeme podpisovým klíčem.
gpg> key 1 gpg> keytocard Please select where to store the key: (2) Encryption key Your selection? 2A nakonec klíč přihlašovací.
gpg> key 2 gpg> keytocard Please select where to store the key: (3) Authentication key Your selection? 3
sec 4096R/8F1DD759 created: 2014-04-07 expires: never card-no: 0005 0000729B ssb 4096R/6FE9D59F created: 2014-04-07 expires: never card-no: 0005 0000729B ssb* 4096R/0D69BC63 created: 2014-04-07 expires: never card-no: 0005 0000729B (1) nobody <nobody@nowhere> gpg> saveVšechny tři klíče jsou teď na svém místě na kartě a zároveň odstraněny z disku.
--enable-ssh-support
, a zároveň zneškodnit běžného SSH agenta a GNOME Keyring, který se také jako SSH agent umí tvářit. To se dá udělat tak, že je prostě nebudete spouštět, nebo alespoň nějak zajistíte, aby proměnné prostředí GPG_AGENT_INFO
a SSH_AUTH_SOCK
ukazovaly tam, kde naslouchá GnuPG agent.
Pokud jsme udělali všechno správně, po spuštění ssh-add -l
by se nám měl zobrazit fingerprint klíče, který leží na kartě. Pomocí ssh-add -L potom dostaneme veřejný klíč.
$ ssh-add -l 4096 64:f5:e5:a1:d9:77:af:27:75:2b:0e:7b:26:57:3d:a4 cardno:00050000729B (RSA)
$ ssh-add -L ssh-rsa AAAAB3N....F3J4w== cardno:00050000729BTeď už stačí celý řádek s veřejným klíčem zkopírovat do
~/.ssh/authorized_keys
na všech počítačích, kam se chceme pomocí karty přihlašovat, a máme hotovo.
gpg --card-edit
příkazem fetch
. GnuPG pro nalezení klíče buď použije URL uložené v metadatech karty, nebo použije veřejný keyserver.
Dokumentace je dost mizerná a tohle jsem posbíral asi z patnácti různých blogů. Obecně jsem z těch pár dnů, kdy jsem se tomuhle věnoval, nabyl dojmu, že GnuPG je naprostá hrůza a potřebovalo by spoustu lásky. Zejména v oblasti uživatelského rozhraní, dokumentace, lepších defaultů, dokumentace, celkové snadnosti použití a dokumentace. Uvědomuji si, že tento způsob použití je celkem nestandardní, ale bez karty to není o tolik lepší. End-to-end šifrování potřebujeme víc než kdy jindy, ale celý ekosystém kolem PGP je hluboko v minulosti. Nedávno jsem zahlédl zmínku o projektu, který se snaží vývoj GnuPG oživit. Vedle toho se zase objevují první kryptovlaštovky typu keybase.io, které se snaží vylepšit koncept sítě důvěry. Jsou to sice zajímavé kroky, ale spíše mám pocit, že by bylo vhodnější GnuPG udržovat pro těch pár případů, kde dobře slouží a zapracovat na novém a transparentnějším systému. Protože ve chvíli, kdy se PGP zeptá běžného uživatele, jestli důvěřuje klíči málo, středně, úplně nebo ultimátně, jsme prostě prohráli, ať už umíme šifrovat sebelépe. A pokud náhodou uživatel neuteče hned, dopadne to pak třeba takhle.
Tiskni
Sdílej:
Teď už stačí celý řádek s privátním klíčem zkopírovat do ~/.ssh/authorized_keys
s/privátním/veřejným/
Ono nakonec kdyby to generovalo jenom nějakou malou množinu párů klíčů, tak by na to časem taky někdo přišel (stejně jak u openssl na debianu se to taky zjistilo až při praktické kolizi klíčů).<tinfoil hat>Pokud se to neudělá tak debilně jako u Debianu (neříkám, že tvůrce 32Ki backdooru v Debianu byl debil - je to open source, kvalitní generátor backdoornutých klíčů se tam těžko ukryje),</tinfoil hat> tak ne. Stačí generovat deterministické RSA z hardware_serial_number || key_serial_number. Kolik entropie může spapat takový generátor deterministických RSA klíčů? Určitě alespoň 128b. Tak to rozdělíme 64:64. No a pak když chceš něco cracknout, tak musíš zkusit (kolik HW tokenů se vyrobilo)*(kolik klíčů token vygeneroval). Nejspíš to bude něco jako milión*1. A kolizi ti to nevyrobí, dokud na tom někdo nespočítá 2**64 klíčů, což asi nespočítá.
Nicméně každopádně pokud bych dělal s něčím tak explozivním jako třeba Snowdenovy dokumentyTak zrovna těm by zveřejnění prospělo. A že si NSA bude moct po cracknutí té komunikace přečíst své vlastní dokumenty? Yo dawg.