Zadejte hledaný výraz...
Jakub Glos
Webtrh.cz
Vývoj webových stránek na WordPressu a proklientský přístup pro freelancery
Třídenní infromacemi nabitý prezenční + online kurz v Praze od Webtrhu pouze za 2 871 Kč
Více informací

Podpisanie spravy(checksum) bez externeho kluca?

glengoolie
verified
rating uzivatele
7. 11. 2022 08:41:23
Je mozne "podpisat" spravu, napriklad json, nejakym self-hashnutim ktore nevyzaduje kryptovaci kluc aby sa dalo overit ze sprava nebola pozmenena? Nieco ako JWT...len bez toho kluca.
7. 11. 2022 08:41:23
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509097
TomasX
verified
rating uzivatele
(4 hodnocení)
7. 11. 2022 09:13:19
a jak zajistíš, aby někdo cestou nezměnil zprávu s nevygeneroval nový hash? Potřebuješ stejně si předat nějaké tajemství.
Proč to potřebuješ?
Nejjednodušší způsob je použít náhodnou sůl (jakýkoliv tajný řetěžec), přidat jí k obsahu před hashováním, tajně jí přidat příjemci a on pak může ověřit hash (třeba sha256) tak, že stejnou sůl přidá k obsahu. Musíš ale znát druhou stranu a je to spíše na takové jednorázové použití.
Proč nechceš použít klíč a klasické podpisy?
7. 11. 2022 09:13:19
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509096
glengoolie
verified
rating uzivatele
8. 11. 2022 15:54:35
prakticky mi slo o validaciu ze event log je autenticky a nebol pozmeneny niektory zaznam. takze ak by nastal audit, tak aby vsetko sedelo. aktualne som len zapracoval, ze kazdy novy event referuje na predoslu, takze mam minimalne zachovanu spravnu postupnost eventov. cize keby niektory chybal, alebo bol navyse, tak sa to zisti. ale validita dat mi zatial chyba.
8. 11. 2022 15:54:35
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509095
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 11. 2022 16:48:02
Databáze třeba dělají checksum dat ze aktuální transakce spojený s checksumem té předchozí. Zabraňují tím efektivně změně uprostřed a je pouze možné nepozorovaně měnit ten poslední event. Nechrání se proti cílené změně, ale poškození dat. Pokud má ale útočník pod kontrolou daný systém, nelze věřit asi ničemu.
Nejjistější cesta je takové logy okamžitě posílat na externí systém, kde můžeš na to mít specializovaný SW. Proč to děláš? Nějaké regulatorní požadavky nebo chceš mít jen jistotu?
V bankovnictví, kde máme dohled ČNB se používají různé implementace pro event sourcing, pak je možné to zajišťovat dostatečně průkazně. V malých projektech velice dobře fungují databáze ze stromovou strukturou, třeba couchdb vyžaduje, abys při zápisu vždy znal poslední ID (je to tzv. Check-and-Set algoritmus), od toho to pak větvíš, stejně tak nemůžeš dokument změnit aniž bys nezměnil jeho ID. Ta databáze používá interně stromovou strukturu a poměrně dobře garantuje, že data jsou v pořádí, jakém se zapisují a že ne nezměnila. Rád to pro malé projekty přesně na tohle používám. Pokud to po tobě vyžaduje legislativa, tak bez privátních klíčů k podpisu se neobejdeš, podepisují se dnes i pásky.
8. 11. 2022 16:48:02
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509094
glengoolie
verified
rating uzivatele
8. 11. 2022 16:53:07
je to event-sourcovane, preto event log. robim to len tak, pre istotu. nutne to nepotrebujem. o data sa nebojim, tie su zasifrovane. len som rozmyslal to nejak bulletproofnut trosku viac, keby sa utocnik dostal do systemu, s cim pocitam od zaciatku, preto je vsetko sifrovane.
8. 11. 2022 16:53:07
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509093
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 11. 2022 17:06:36
Ne, já myslel Event Sourcing jak je popsané třeba tady https://martinfowler.com/eaaDev/EventSourcing.html, je to algoritmus, neříká nic o tom, že když to pochází z eventů, je to event sourcing, měl jsem to napsat s velkými písmeny.
Když se útočník dostane do systému, nemůžeš se už na nic v tom systému spolehnout a co není někde jinde, může být kompromitované.
Pokud jsi na linuxu, tak se systemd se objevil i journalctl, což je dnes nejrozšířenější nástroj pro bezpečné uchování událostí v čase, může validovat jeho konzistenci proti změně (používá algoritmus kontrolních součtů jak jsem popsal v předchozím příspěvku), máš k němu spousty nástrojů, můžeš to číst z terminálu, data do něj můžeš posílat přes hromadu protokolů vč. jen textově. Nechceš použít tohle a mrknout se na to více?
8. 11. 2022 17:06:36
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509092
glengoolie
verified
rating uzivatele
8. 11. 2022 17:30:53
Napsal TomášX;1653628
Ne, já myslel Event Sourcing jak je popsané třeba tady
ano, ja viem so je ES. robim s tym uz roky.
8. 11. 2022 17:30:53
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509091
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 11. 2022 17:34:55
a který framework/nástroj používáš, většina co jsem potkal již obsahuje wal s ověřitelnou konzistencí, ES je na ověřitelnosti založený
8. 11. 2022 17:34:55
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509090
glengoolie
verified
rating uzivatele
8. 11. 2022 18:05:54
mam svoje riesenie. nenazval by som to ani frameworkom(jadro je uplne miniaturne).
8. 11. 2022 18:05:54
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509089
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 11. 2022 18:57:20
pokud si to chceš psát sám, tak se jedná o algoritmus write-ahead log (WAL), případně journal, to je již konkrétní implementace.
Rád čerpán z https://pdos.csail.mit.edu/papers/stephanie-meng.pdf, mrkni na kapitolu 3.4, kde je popsaný chained checksums
8. 11. 2022 18:57:20
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509088
glengoolie
verified
rating uzivatele
8. 11. 2022 19:09:29
odbacas tu totalne mimo temy. na nic z toho som sa nepytal ani nic z toho neriesim.
ocividne je odpoved nie, nemoze sa sprava podpisat sama sebou bez externeho kluca. len to som chcel vediet.
8. 11. 2022 19:09:29
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509087
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 11. 2022 19:26:35
Napsal glengoolie;1653509
Je mozne "podpisat" spravu, napriklad json, nejakym self-hashnutim ktore nevyzaduje kryptovaci kluc aby sa dalo overit ze sprava nebola pozmenena? Nieco ako JWT...len bez toho kluca.
odpovídám ti přesně na tohle. Můžeš udělat checksum (nebo-li hash) zprávy a zahrnout do něj i checksum zprávy předcházející. Tím zajistíš možnost ověřit integritu celého řetězce zpráv a zároveň znesnadníš změnu jen části.
Pak si stačí někam externě zapisovat poslední checksum a z něho jsi schopný postupně ověřit integritu všech zpráv. Takhle funguje WAL u postgresql, např.
8. 11. 2022 19:26:35
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509086
glengoolie
verified
rating uzivatele
8. 11. 2022 19:39:58
Napsal TomášX;1653640
odpovídám ti přesně na tohle. Můžeš udělat checksum (nebo-li hash) zprávy a zahrnout do něj i checksum zprávy předcházející. Tím zajistíš možnost ověřit integritu celého řetězce zpráv a zároveň znesnadníš změnu jen části.
Pak si stačí někam externě zapisovat poslední checksum a z něho jsi schopný postupně ověřit integritu všech zpráv. Takhle funguje WAL u postgresql, např.
jasne ten princip chapem. len sem nevidel ze tam mieris s tou diskusiou hore. ale ok, beriem.
8. 11. 2022 19:39:58
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509085
TomasX
verified
rating uzivatele
(4 hodnocení)
8. 11. 2022 20:16:29
chvilku mi trvalo pochopit co vlastně chceš :)
8. 11. 2022 20:16:29
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509084
glengoolie
verified
rating uzivatele
8. 11. 2022 22:20:55
ono realne mne staci len pridat hash predosleho zaznamu do nasledovneho a takto viem zaistit ze novy zaznam vzdy odrzkadluje stav predosleho zaznamu. problem je ze ak utocnik zmeni jeden zaznam a prehashuje vsetky nasledovne tak ja na to nemam ako prist. preto by som potreboval nejaky postup kedy by bola nutna zmena hashu aj predosleho zaznamu, inak povedane VSETKYCH zaznamov, aby sa na zmenu nemohlo prist ALE s tym ze seed pre prvy zaznam poznam iba ja a preto si viem hned zistit ze doslo k zasahu z vonku. a tak v konencom dosledku ked pride na audit tak viem na 100% garantovat validitu vsetkych zaznamomv(celeho event logu).
-- viem ze pouzitie saltu mi moze v tomto pomoct cize namiesto nejakeho seedu by bola sol to co by bola privatna informacia ktora by zabranila zmenit zaznamy bez spozorovania. len rozmyslam ci sa to da riesit aj inym sposobom.
8. 11. 2022 22:20:55
https://webtrh.cz/diskuse/podpisanie-spravychecksum-bez-externeho-kluca/#reply1509083
Pro odpověď se přihlašte.
Přihlásit