Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto
… více »Příspěvek na blogu PRUSA 3D představuje fotoaparát CAIM1 (Counter Artificial Intelligence Machine 1). Uměle vytvořený obsah je každým dnem těžší rozeznat od skutečných záběrů či fotografií, což podrývá důvěryhodnost žurnalistiky, archivních materiálů i každodenní tvorby obsahu. Fotoaparát CAIM1 byl vyvinut právě k tomu, aby ověřoval původ fotografií a videí přímo během jejich pořizování. Uvnitř fotoaparátu se nachází hardwarová Web3 peněženka se zabezpečovacím čipem Tropic Square TROPIC01.
Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.
Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.
Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.
Cloudflare zjistil, že některé odpovědi modelu GLM-5.3 obsahovaly části dat z předchozích požadavků jiných zákazníků. Příčinou byla kombinace chybné konfigurace a chyby v inference enginu SGLang. Model podporoval kontextové okno 1 048 576 tokenů, ale GPU KV cache pool měl kapacitu pouze 681 280 tokenů. Při překročení kapacity docházelo k nesprávnému zpracování odmítnutého požadavku. Decode část systému následně pracovala se starými
… více »Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.
Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.
Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.
Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?
Předchozí kroky najdete v závěru minulého dílu a v dílu druhém.
Nakonec už zbývá jen nahrát klíč do Yubikey. Než se do toho pustíme, je potřeba opět umravnit GPG:
$ killall gpg-agent $ eval $(gpg-agent --daemon --enable-ssh-support > /tmp/gpg-agent.env); $ . /tmp/gpg-agent.env
Použijeme k tomu opět parametr „--edit-key“. Nezapomeňte použít gpg2, jinak to nebude fungovat:
$ gpg2 --edit-key 3F6F3D1B
gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Tajný klíč je dostupný.
pub 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy použití: SC
důvěra: absolutní platnost: absolutní
sub 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy použití: E
sub 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy použití: A
[ absolutní ] (1). Bystroushaak <bystrousak@kitakitsune.org>
gpg>
Přehled můžeme zkrátit pomocí příkazu „toggle“:
gpg> toggle sec 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy ssb 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy ssb 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy (1) Bystroushaak <bystrousak@kitakitsune.org>
Klíč poté nahrajeme do Yubikey příkazem „keytocard“:
gpg> keytocard Opravdu přesunout primární klíč? (a/N) a Signature key ....: [none] Encryption key....: [none] Authentication key: [none] Prosím vyberte místo pro uchování klíče: (1) Podepisovací klíč (3) Autentizační klíč Váš výběr?
Program se nás zeptá, zda klíč chceme používat pro podepisování, či autentizaci. Chceme podepisování, proto vybereme 1:
Váš výběr? 1 Musíte znát heslo, abyste odemkl(a) tajný klíč pro uživatele: „Bystroushaak <bystrousak@kitakitsune.org>“ délka 2048 bitů, typ RSA, klíč 3F6F3D1B, vytvořený 2016-01-11
GPG nyní bude chtít dvě hesla:
Poté již klíč nahraje do karty.
sec 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
ssb 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
(1) Bystroushaak <bystrousak@kitakitsune.org>
gpg>
To samé pak chceme zopakovat s podklíčem používaným pro šifrování, který vybereme příkazem „key 1“:
gpg> key 1
sec 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb* 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
ssb 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
(1) Bystroushaak <bystrousak@kitakitsune.org>
gpg> keytocard
Signature key ....: 9F87 EECF CDAA 263C AC00 A5A0 3F92 841C 3F6F 3D1B
Encryption key....: [none]
Authentication key: [none]
Prosím vyberte místo pro uchování klíče:
(2) Šifrovací klíč
Váš výběr? 2
Musíte znát heslo, abyste odemkl(a) tajný klíč pro
uživatele: „Bystroushaak <bystrousak@kitakitsune.org>“
délka 2048 bitů, typ RSA, klíč EF4ADF82, vytvořený 2016-01-11
sec 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb* 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
(1) Bystroushaak <bystrousak@kitakitsune.org>
gpg>
A pak ještě jednou pro třetí klíč s příkazem „key 2“ (počítáno od nuly):
gpg> key 2
sec 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
(1) Bystroushaak <bystrousak@kitakitsune.org>
gpg> keytocard
Opravdu přesunout primární klíč? (a/N) a
Signature key ....: 9F87 EECF CDAA 263C AC00 A5A0 3F92 841C 3F6F 3D1B
Encryption key....: DA79 B9A1 F403 2515 D167 12DC 64D4 BDA4 EF4A DF82
Authentication key: [none]
Prosím vyberte místo pro uchování klíče:
(1) Podepisovací klíč
(3) Autentizační klíč
Váš výběr?
První klíč byl Podepisovací, druhý Šifrovací. Teď nám zbývá už jen Autentizační, proto vybereme „3“:
Váš výběr? 3
Musíte znát heslo, abyste odemkl(a) tajný klíč pro
uživatele: „Bystroushaak <bystrousak@kitakitsune.org>“
délka 2048 bitů, typ RSA, klíč 8F8041DC, vytvořený 2016-01-11
sec 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb* 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
(1) Bystroushaak <bystrousak@kitakitsune.org>
gpg>
GPG poté ukončíme příkazem „quit“ s uložením změn:
gpg> quit Uložit změny? (a/N) a
Nově už v klíčence GPG v počítači nejsou uloženy privátní klíče, pouze ukazatele na kartu. To ovšem nestačí, protože v základní módu požaduje Yubikey pouze PIN, nikoliv ověření dotykem.
Nyní to chce přesvědčit Yubikey, aby vyžadoval dotek na ploše před uvolněním klíče. K tomu slouží skript na adrese https://gist.github.com/a-dma/797e4fa2ac4b5c9024cc (webarchive) (to jsem si nevymyslel, je to z oficiální dokumentace (webarchive) :(). Stáhnout se dá kliknutím na tlačítko RAW vpravo v rohu.
Postupně je možné zapnout PIN pro…
$ bash yubitouch.sh dec on 12345678 All done!
$ bash yubitouch.sh aut on 12345678 All done!
$ bash yubitouch.sh sig on 12345678 All done!
PIN zde zadáváte jako potvrzení, ne k nastavení jeho hodnoty. Skript má docela problém s nenumerickými administrátorskými hesly (tzn. použijte jen čísla), proto doporučuji tento krok před posledním, což je…
Ke změně PIN použijeme příkaz „gpg2 --card-edit“. Pokud vám nebude chtít navázat komunikaci opět proveďte „. /tmp/gpg-agent.env“ (tečka je na začátku schválně).
$ gpg2 --card-edit
Application ID ...: D2760001240102010006041314470000
Version ..........: 2.1
Manufacturer .....: unknown
Serial number ....: 04131447
Name of cardholder: [není nastaven]
Language prefs ...: [není nastaven]
Sex ..............: neuvedeno
URL of public key : [není nastaven]
Login data .......: [není nastaven]
Signature PIN ....: není vyžadováno
Key attributes ...: 2048R 2048R 2048R
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 0 3
Signature counter : 0
Signature key ....: 9F87 EECF CDAA 263C AC00 A5A0 3F92 841C 3F6F 3D1B
created ....: 2016-01-11 10:04:02
Encryption key....: DA79 B9A1 F403 2515 D167 12DC 64D4 BDA4 EF4A DF82
created ....: 2016-01-11 10:04:02
Authentication key: 13D3 290C 3FFE EC20 ED3B 4AD2 72A8 96C0 8F80 41DC
created ....: 2016-01-11 10:11:32
General key info..:
pub 2048R/3F6F3D1B 2016-01-11 Bystroushaak <bystrousak@kitakitsune.org>
sec> 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb> 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb> 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
gpg/karta>
V GPG shellu se do správné konfigurace dostaneme sekvencí příkazů „admin“ a „passwd“:
gpg/karta> admin administrátorské příkazy jsou povoleny gpg/karta> passwd gpg: Nalezena OpenPGP karta číslo D2760001240102010006041314470000 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Váš výběr?
Zde je možné jednoduše změnit jak PIN (menu „1“), tak Admin PIN (menu „3“). GPG zde slovo PIN používá poněkud zavádějícím způsobem, protože se rozhodně nejedná o číselné sekvence, ale můžete s klidem v duši použít poměrně komplikovaná a dlouhá hesla.
Váš výběr? 1 PIN changed. 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Váš výběr? 3 PIN changed. 1 - change PIN 2 - unblock PIN 3 - change Admin PIN 4 - set the Reset Code Q - quit Váš výběr? q gpg/karta> quit
Zbývá ještě ověřit, jestli vše funguje, jak má. Zkusíme třeba něco podepsat. Vytvoříme testovací soubor obsahující jen řetězec „test“:
$ echo test > test.txt
Tento soubor podepíšeme:
$ gpg --clearsign test.txt
GPG se přitom zasekne a Yubikey by měl začít problikávat, čímž indikuje, že očekává dotek. Jakmile se ho dotkneme, je vytvořen soubor „test.txt.asc“ s následujícím obsahem:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 test -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQEcBAEBAgAGBQJWk5ElAAoJED+ShBw/bz0b6Z0IALz/6H2pge00EuvWsy/3TjG/ dubGRJjJGstyi1G/AdkumHoqp11ON89PgVGuL6d4B2losFtlhlu4lO8NBMWfGdPv w4uD2BckvRxsIclJxUiIkPgTuXirIjr0EdHZIHFy2KlcGNKKhD9CXkxYNgwPUhEJ H/i9getLo3G2evtZ6aG1tsCMar4tA/ETaehQwIZ6Hge48nzC3t1DW+S2krQ9WrIE jkXUw+gQFgim3iTccIBab5gnXqISVcZA30rigKauN+yKs069r6hwodMIaMK7bby1 Ihh8NHcub+oP+tqiFliccpuvJ9AupoOtObdJ5fpaFcw2zcxkEXhVP6BmKC9E9IA= =kDpk -----END PGP SIGNATURE-----
Několikrát jsme byli nuceni použít hack GPG, který sestřelil běžící proces gpg-agent a nastavil pár proměnných.
Nejjednodušší způsob, jak zabránit opakování před každým použitím Yubikey, pochází z blogu Derka Kozla (webarchive) a spočívá v přidání následujících řádek do „.bashrc“:
if [ ! -f /tmp/.gpg-agent.env ]; then
killall gpg-agent;
eval $(gpg-agent --daemon --enable-ssh-support > /tmp/.gpg-agent.env);
fi
. /tmp/.gpg-agent.env
Co dělat, pokud přijdete k jinému počítači a chcete Yubikey používat i tam?
Většinou je nutné nainstalovat všechny závislosti, udev pravidlo a resetovat GPG agent, jak už bylo ukázáno na začátku této kapitoly. Časem možná budou distribuce doplněny natolik, že to již nutné nebude.
K tomu, aby Yubikey začal s GPG fungovat, stačí už jen importovat předtím exportovaný veřejný klíč:
$ gpg2 --import < yubikey.pub
Poslední možností je použití Yubikey pro SSH autorizaci. Toho je docíleno spoluprací s GPG, které k tomuto má standardní mechanismy výměny informace s SSH klientem.
K čemu to? Například tím získáte odolnost proti chybám vývojářů SSH a možnosti, že by vám někdo exploitací chyby ukradl klíč. Pokud si myslíte, že je to nepravděpodobné, doporučuji k přečtení: OpenSSH obsahuje chybu umožňující ukrást klientské klíče (webarchive).
Ze všeho nejdřív si najdeme Autentizační klíč:
$ gpg --card-status
can't connect to `/tmp/gpg-oTFIub/S.gpg-agent': Adresář nebo soubor neexistuje
gpg: detected reader `Yubico Yubikey 4 OTP+CCID 00 00'
Application ID ...: D2760001240102010006041314470000
Version ..........: 2.1
Manufacturer .....: unknown
Serial number ....: 04131447
Name of cardholder: [není nastaven]
Language prefs ...: [není nastaven]
Sex ..............: neuvedeno
URL of public key : [není nastaven]
Login data .......: [není nastaven]
Private DO 1 .....: [není nastaven]
Private DO 2 .....: [není nastaven]
Signature PIN ....: není vyžadováno
Key attributes ...: 2048R 2048R 2048R
Max. PIN lengths .: 127 127 127
PIN retry counter : 3 0 3
Signature counter : 7
Signature key ....: 9F87 EECF CDAA 263C AC00 A5A0 3F92 841C 3F6F 3D1B
created ....: 2016-01-11 10:04:02
Encryption key....: DA79 B9A1 F403 2515 D167 12DC 64D4 BDA4 EF4A DF82
created ....: 2016-01-11 10:04:02
Authentication key: 13D3 290C 3FFE EC20 ED3B 4AD2 72A8 96C0 8F80 41DC
created ....: 2016-01-11 10:11:32
General key info..: pub 2048R/3F6F3D1B 2016-01-11 Bystroushaak <bystrousak@kitakitsune.org>
sec> 2048R/3F6F3D1B vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb> 2048R/EF4ADF82 vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
ssb> 2048R/8F8041DC vytvořen: 2016-01-11 platnost skončí: nikdy
číslo karty: 0006 04131447
Autentizační klíč je v tomto případě ten poslední:
Authentication key: 13D3 290C 3FFE EC20 ED3B 4AD2 72A8 96C0 8F80 41DC
created ....: 2016-01-11 10:11:32
Jeho krátké ID získáme z přehledu klíčů příkazem:
$ gpg --fingerprint --fingerprint
/home/bystrousak/.gnupg/pubring.gpg
-----------------------------------
pub 2048R/3F6F3D1B 2016-01-11
Fingerprint klíče = 9F87 EECF CDAA 263C AC00 A5A0 3F92 841C 3F6F 3D1B
uid Bystroushaak <bystrousak@kitakitsune.org>
sub 2048R/EF4ADF82 2016-01-11
Fingerprint klíče = DA79 B9A1 F403 2515 D167 12DC 64D4 BDA4 EF4A DF82
sub 2048R/8F8041DC 2016-01-11
Fingerprint klíče = 13D3 290C 3FFE EC20 ED3B 4AD2 72A8 96C0 8F80 41DC
Zde je možné vidět, že k fingerprintu 13D3 290C 3FFE EC20 ED3B 4AD2 72A8 96C0 8F80 41DC náleží ID 2048R/8F8041DC. Použít je také možné příkaz:
$ gpg --fingerprint --fingerprint | grep -B 1 "`gpg --card-status | grep Authentication | cut -d ":" -f 2`"
Jakmile máte ID klíče pro autentizaci, je možné postoupit k generování veřejného klíče:
$ gpgkey2ssh 8F8041DC ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCXM63qLDM/AxUdotf46xQ5lkWiNnztgQEAPXu3maXt Z4U+ZYEarPLG9sF/5Vc7pMH5TuBV/6+l3835hGOYcelYw1l8VMYGWIUjzALo8zxEpyfUf50m8C2lfJKJ Q9o/AeU3GmWrA2zkkUnqLHJih0Rj1lCcS5CGYZ6yAhsCFB5SC/I7bTByP7KOhISTLQkb3kRz7zTxOw4+ lOOlmTcbd5vHfuZvoYkU8I9o4GmbC1ofZ/dr0WxVVm0ZcBZ7R56sh53d/hDJoB0AMJH7MRrVgkGZqPdr d2uGKTqn1aaP5fbr53mZLLotbWbx40VmUi9O2FnytACQIOYSJlurOx/sORjF COMMENT
Což vygeneruje nový veřejný klíč, který je možné přidat na serveru do souboru .ssh/authorized_keys. Jakmile se na server přihlásíte, SSH vás prostřednictvím GPG požádá o PIN (pokud jste si ho nastavili) a autorizaci dotekem kapacitního snímače Yubikey. Pokud není Yubikey vložen, je zobrazena žádost o heslo (pokud je k přihlášení heslo povoleno).
Yubikey mě vyšel přesně na 1699,85 Kč, což je kapku víc než uváděných $40 (~958 Kč).
Důvodů je několik…
Pokud ho budete objednávat, počítejte že v praxi vás to vyjde na podobnou částku, ± 200kč.
Zbývá ještě odpovědět jednu otázku: Opravdu je to užitečné, nebo se jedná o bazmek?
Jak si možná někteří všimli z data u generování klíčů, tento článek jsem začal psát v lednu a v době vydání je přelom dubna a května. Měl jsem tedy více než tři měsíce na otestování praktické použitelnosti Yubikey.
Musím říct, že jsem s ním docela spokojený. Ideální by asi bylo, kdyby se místo PIN používal otisk prstu, ale člověk nemůže mít všechno. Pokud chcete zlepšit zabezpečení ať již ve firmě, či v rámci zdravé „domácí paranoie“, určitě je to dobrá volba.
Další zdroje informací a články, ze kterých jsem vycházel při psaní:
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
Šílená cena, proč ne http://yubikeys.cz/product/yubikey-4/ ?Protože jsem to v té době nenašel. Ve whois mají:
domain: yubikeys.cz registrant: FORPSI-PSX-S509086 nsset: FORPSI keyset: FORPSI-KS-0DHATNFC registrar: REG-INTERNET-CZ registered: 13.03.2016 19:56:11 changed: 13.03.2016 20:00:52 expire: 13.03.2017Takže to nejspíš ani neexistovalo.