abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:44 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 140 (pdf) a HackSpace 77 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 01:00 | Nová verze

    ESPHome, tj. open source systém umožňující nastavovat zařízení s čipy ESP (i dalšími) pomocí konfiguračních souborů a připojit je do domácí automatizace, například do Home Assistantu, byl vydán ve verzi 2024.4.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:11 | IT novinky Ladislav Hagara | Komentářů: 0
    včera 20:55 | Nová verze

    Neziskové průmyslové konsorcium Khronos Group vydalo verzi 1.1 specifikace OpenXR (Wikipedie), tj. standardu specifikujícího přístup k platformám a zařízením pro XR, tj. platformám a zařízením pro AR (rozšířenou realitu) a VR (virtuální realitu). Do základu se z rozšíření dostalo XR_EXT_local_floor. Společnost Collabora implementuje novou verzi specifikace do platformy Monado, tj. open source implementace OpenXR.

    Ladislav Hagara | Komentářů: 2
    včera 17:22 | Nová verze

    Byla vydána nová verze 0.38.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 4.4 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 2
    včera 17:11 | Nová verze

    ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzích 1.3.1, 1.2.3 a 1.0.6. Ve verzi 1.3.1 je mimo jiné řešena bezpečnostní chyba CVE-2024-20380.

    Ladislav Hagara | Komentářů: 2
    včera 12:11 | IT novinky

    Digitální a informační agentura (DIA) oznámila (PDF, X a Facebook), že mobilní aplikace Portál občana je ode dneška oficiálně venku.

    Ladislav Hagara | Komentářů: 8
    včera 05:11 | Komunita

    #HACKUJBRNO 2024, byly zveřejněny výsledky a výstupy hackathonu města Brna nad otevřenými městskými daty, který se konal 13. a 14. dubna 2024.

    Ladislav Hagara | Komentářů: 2
    17.4. 17:55 | IT novinky

    Společnost Volla Systeme stojící za telefony Volla spustila na Kickstarteru kampaň na podporu tabletu Volla Tablet s Volla OS nebo Ubuntu Touch.

    Ladislav Hagara | Komentářů: 3
    17.4. 17:44 | IT novinky

    Společnost Boston Dynamics oznámila, že humanoidní hydraulický robot HD Atlas šel do důchodu (YouTube). Nastupuje nová vylepšená elektrická varianta (YouTube).

    Ladislav Hagara | Komentářů: 1
    KDE Plasma 6
     (68%)
     (10%)
     (2%)
     (19%)
    Celkem 559 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Jak šifrovat data tak, abych je nemohl sám dešifrovat

    5.11.2014 21:23 perlil
    Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Přečteno: 1144×

    Ahoj. Mám aplikaci (skriptík) v PHP, který potřebuje odesílat něco na "servery". V podstatě se jedná o to, že vytvoří lokálně několik souborů, pomocí cronu se spouští bash skript, který připojí různá ssh sdílení a na ně to nasype. Potřeboval bych, aby některá (ne všechna) data v těchto souborech byla šifrovaná (není problém udělat pomocí PHP) tak, abych je nemohl dešifrovat já, ale pouze ty servery, na které to sypu. Logické řešení je asymetrická kryptografie. Jenže jsem četl, že z privátního klíče se dá vygenerovat veřejný, takže kdybych šifroval privátním klíčem a na všech serverech, kam to posílám byl veřejný, tak bych pořád i já (odesílatel) byl schopný vygenerovat si svůj veřejný klíč a data dešifrovat. A udělat to opačně mi přijde blbost - 1x šifrovat veřejným a Xkrát dešifrovat privátním.

    Jak toto vyřešit?

    Odpovědi

    5.11.2014 21:28 Filip Jirsák
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Při použití asymetrické kryptografie se vždy šifruje veřejným klíčem a dešifruje privátním. Opačně je to nesmysl, veřejný klíč je veřejný od toho, že ho může znát každý - takže by každý mohl zprávu rozšifrovat.
    5.11.2014 21:30 VM
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Co takhle šifrování veřejným klíčem přestat považovat za blbost?
    5.11.2014 21:51 perlil
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    To samo o sobě blbost není, ale takhle bude mít ten samý privátní klíč několik příjemců.
    5.11.2014 21:56 Filip Jirsák
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Pokud všem posíláte stejná data, ničemu to nevadí. Pokud ne, šifrujte pro každého příjemce zvlášť, vždy jeho klíčem.
    Jendа avatar 5.11.2014 22:21 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Třeba gpg umí šifrovat více klíči. gpg -e -r klíč1 -r klíč2 -r klíč3
    5.11.2014 22:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    z privátního klíče se dá vygenerovat veřejný

    Striktně vzato nedá. Je ale obvyklé, že buď jsou v tom souboru oba nebo máte k němu i veřejný.

    6.11.2014 08:25 Peter Fodrek | skóre: 11
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Vzdy sa sa da z verejneho kluca ziskat sukromny a naopak. Len to trva, v bezpecnych siftach, min 102 rokov na beznom PC
    Heron avatar 6.11.2014 09:03 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    102? Proč zrovna konkrétně 102? Pominu-li, že u skutečných šifer se to číslo blíží (zhora) spíše 10^9 roků.
    pavlix avatar 6.11.2014 09:11 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    A tedy se to nedá, pokud to člověk posuzuje z praktického pohledu.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    6.11.2014 14:07 Peter Fodrek | skóre: 11
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    pokial si kupite PC tak, to nema vyznam. Pokial si kupite superpocitac za par stoviek milionov USD a budete ho zivit, tak ten to stihne za 1,5 mesiaca.

    To ci to je prakticky nemozne je funkciou 1. Vyznamu informacie, alebo moznych finacnych ziskov z desifrovania 2. Casu, ktory mate k dispozicii 3. Financii, ktore mate k dispozicii..
    Jendа avatar 6.11.2014 14:16 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Pokial si kupite superpocitac za par stoviek milionov USD a budete ho zivit, tak ten to stihne za 1,5 mesiaca.
    Nevěřím. Největší známý současný botnet (Bitcoin) spočítal za dobu své existence „pouze“ 2^82 operací a stál ne stovky milionů, ale miliardu USD.

    //kde se vzalo to číslo 1,5 měsíce? když prodloužím klíč o jeden bit, budou to najednou 3 měsíce? co když ho prodloužím o 8 bitů?
    6.11.2014 14:01 Peter Fodrek | skóre: 11
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    nas ucli, ze 102 rokv je hrancia medzi sifrou, ktora je bezp[ecna a tou, ktora je nebezpecna. Ucili nas to v roku 1995. Teda uz dost davno. mozno sa standardy sprisnili
    Heron avatar 6.11.2014 14:38 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat

    Zvláštní. Nechce se mi věřit, že by si lidé v roce 1995 nedovedli představit použít místo 1 počítače třeba těch 102 a mít to za snesitelný 1 rok.

    V každém případě, dnes každá rozumná šifra má sílu takovou, že bruteforce attack by trval déle, než je doba existence celého vesmíru (13.7 mld let).

    Rozumná šifra dneska začíná na bezpečnostní síle 112b (tedy AES něco jako 224 - používá se 256), a pokud má Jenda pravdu s těmi 82b operací u Bitcoinu, tak se pohybujeme o 112-82 = 30 (binárních) řádu jinde. Tedy 2^30 (1048576x výkon Bitcoinu - jak dlouho to běží a kolik je tam kompů netuším).

    6.11.2014 14:40 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Tedy 2^30 (1048576x výkon Bitcoinu

    To by bylo 2^20. 2^30 je něco přes miliardu.

    Heron avatar 6.11.2014 14:43 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    +1

    Překlep v bc.
    Jendа avatar 7.11.2014 02:33 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    (zdroj k tomu Bitcoinu - položka Total cummulative number of hashes)
    pavlix avatar 6.11.2014 14:43 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Taky nesmí člověk věřit každé kravině.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.11.2014 09:05 Xerces
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Na to asi žádný standard není. Každopádně je to praktické pravidlo. Po 102 letech budu s největší pravděpodobností pod drnem a bude mi jedno jestli mě někdo bude žalovat za slabé zabezpečení. :-)
    7.11.2014 09:51 Sten
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Nebylo to 102 bitů? To by tehdy tak odpovídalo
    pavlix avatar 7.11.2014 14:55 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    To je jak rádio jerevan.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.11.2014 15:05 jekub
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    takze ted uz jen 83 :-)
    6.11.2014 12:12 a1
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    OT: proc nesmite ta data desifrovat (kdyz mate stejne k dispozici plaintext) ??
    pavlix avatar 6.11.2014 12:16 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    To je dobrá otázka.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    6.11.2014 12:27 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Např. proto, aby ten, kdo by později získal nad strojem kontrolu a dostal se tedy i ke klíči, nemohl dešifrovat starší data (předpokládám, že se plaintext verze ihned po zašifrování smaže).
    6.11.2014 13:05 perlil
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    přesně
    6.11.2014 22:53 a1
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    aha takze otazka nezni "abych je nemohl desifrovat ja" ale "aby je nemohl desifrovat utocnik" ;)

    kazdopadne je to tu uz napsane 100 krat: asymetricka sifra

    BTW: smazat plaintext muzu i bez toho aniz bych ho sifroval ;)
    Jendа avatar 7.11.2014 02:36 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    BTW: smazat plaintext muzu i bez toho aniz bych ho sifroval ;)
    No ale já ho pak budu asi někdy v budoucnu potřebovat :-). Třeba když by to byly logy. Takhle se to dá řešit klíčem v trezoru, ke kterému se útočník ani v případě kompromitace nedostane. Samozřejmě je pak potřeba dešifrování provádět na čistém systému…
    pavlix avatar 7.11.2014 15:33 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    No ale já ho pak budu asi někdy v budoucnu potřebovat :-).
    To měla být zřejmě narážka na to, že zašifrování neřeší uvedený problém a musí se nad tím přemýšlet.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 6.11.2014 12:26 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Řeknu to, co ostatní, jinými slovy. Asymetrická kryptografie se většinou používá tak, že jeden z klíču je privátní a druhý veřejný, přičemž klíče byly vygenerovány společně. Ty pojmy mají jasně definovaný význam ve smyslu že privátní klíč je potřeba skrývat, zatímco veřejný klíč není potřeba skrývat a v ideálním případě lze skutečně vystavit pro širokou veřejnost. Když pominu jemné nuance slova veřejný ve spojení veřejný klíč, vždy se jedná o ten klíč, který agent vydává protistraně, aby mohl privátní použít k podepisování nebo dešifrování. Data šifrovaná privátním klíčem jsou veřejná (a zjednodušeně řečeno podepsaná). Naopak kdokoli může šifrovat data veřejným klíčem, pokud mám být jejich jediným příjemcem.

    Příjemci musejí mít buď každý svůj privátní klíč, nebo ve zjednodušeném případě jeden sdílený (bezpečně dopravený) privátní klíč a šifrování probíhá odpovídajícím veřejným klíčem.

    Představa, že něco zašifruju privátním klíčem a budu to považovat za tajné, je jenom matení pojmů. Ale docela by mě zajímala odpověď na otázku výše, proč je potřeba abych nemohl číst zprávu, ke které mám nezašifrovaný originál, to jako požadavek nedává moc smysl.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    7.11.2014 16:35 lertimir | skóre: 64 | blog: Par_slov
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Spíše se obecně šifrují vlastní data symetrickými šiframi. Hlavně proto, že asymetrické šifry jsou násobně výpočetně (a tedy časově nebo v průtoku dat) náročnější než symetrické stejné bezpečnosti. Současný poměr je cca 10^4-10^5. A používá se náhodně generovaný jednorázový klíč relace. Asymetrická šifra se používá spolu s dalšími kryptografickými elementy na bezpečné ustavení tohoto klíče relace.

    V případě tazatele je možné několik řešení.
    1. Změna protokolu z "push" - skriptík odesílá, na "pull" skriptík uloží a servery si data stáhnou. V tom případě jeden veřejný klíč skriptíkového server se distribuuje na ostatní servery.
    2. Řešení triviální. Každý server uloží na u skriptíku své veřejné klíče a ten bude každému posílat jinak zašifrovaná data.
    3. Řešení pitomé. Rozdistribuji soukromý klíč na všechny servery. To nicméně stejně nepomůže, abych posílal jedna data, protože při procesu generování klíče relace se ustaví jiný klíč pro každý server. A kompromitace libovolného mista likviduje komunikaci ze všemi stranami.
    4. Řešení sofistikované. Použít některý z "multi party key exchange protocols" Jako jsou dokumentovány třeba 1, 2, 3 a mnoho dalších článků. Ale to je trochu z kanónem na vrabce a navíc asi zcela za hranicemi tazatelových schopností, když ani nechápe, jak funguje asymetrické crypto.
    Jendа avatar 7.11.2014 18:33 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Řešení triviální. Každý server uloží na u skriptíku své veřejné klíče a ten bude každému posílat jinak zašifrovaná data.
    Řešení ještě triviálnější: data se zašifrují jen jednou symetrickým klíčem a různá data na různé servery znamenají pouze jinak zašifrovaný tento jeden klíč. Takže overhead je minimální. Jak už jsem psal výše, třeba GPG tohle umí naprosto jednoduše.
    pavlix avatar 7.11.2014 19:46 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Výše jsi psal, že umí šifrovat více klíči, ale ne co to přesně znamená.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.
    pavlix avatar 7.11.2014 19:45 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Jak šifrovat data tak, abych je nemohl sám dešifrovat
    Spíše se obecně šifrují vlastní data symetrickými šiframi. Hlavně proto, že asymetrické šifry jsou násobně výpočetně (a tedy časově nebo v průtoku dat) náročnější než symetrické stejné bezpečnosti. Současný poměr je cca 10^4-10^5. A používá se náhodně generovaný jednorázový klíč relace. Asymetrická šifra se používá spolu s dalšími kryptografickými elementy na bezpečné ustavení tohoto klíče relace.
    To bych si v kontextu diskuze troufl označit za implementační detail.
    Změna protokolu z "push" - skriptík odesílá, na "pull" skriptík uloží a servery si data stáhnou.
    To z pohledu šifrování vůbec nic neřeší, je v podstatě jedno, kdo iniciuje spojení.
    Řešení triviální. Každý server uloží na u skriptíku své veřejné klíče a ten bude každému posílat jinak zašifrovaná data.
    To jsem psal.
    Řešení pitomé. Rozdistribuji soukromý klíč na všechny servery.
    To jsem taky psal.
    To nicméně stejně nepomůže, abych posílal jedna data, protože při procesu generování klíče relace se ustaví jiný klíč pro každý server.
    Nebo lze data jednou zašifrovat a rozeslat. Navíc je to úplně jedno, protože klíč použitý na úrovni relace je opět jen implementační detail, který člověk v podstatě nemusí řešit.
    A kompromitace libovolného mista likviduje komunikaci ze všemi stranami.
    Což je typický projev sdílených klíčů.
    Řešení sofistikované. Použít některý z "multi party key exchange protocols" Jako jsou dokumentovány třeba 1, 2, 3 a mnoho dalších článků. Ale to je trochu z kanónem na vrabce a navíc asi zcela za hranicemi tazatelových schopností, když ani nechápe, jak funguje asymetrické crypto.
    Souhlasím jak s kanónem na vrabce, tak s hranicemi tazatele.
    Já už tu vlastně ani nejsem. Abclinuxu umřelo.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.