Otázka:
Proč bych měl podepisovat data, která jsou již šifrovaná?
Jaap
2014-08-29 15:06:02 UTC
view on stackexchange narkive permalink

Moje otázka se týká rozdílu mezi podepisováním a šifrováním. Proč byste stále něco podepsali, pokud již používáte šifrování PKI?

Neposkytuje šifrování PKI inherentně autentizaci, integritu a jiné -odmítnutí?

== přidáno později ===

Co když použiji svůj soukromý klíč k zašifrování své zprávy. Poté může kdokoli tuto zprávu dešifrovat pomocí mého veřejného klíče, takže není soukromá, ale všichni, kdo to dělají, vědí, že je ode mne, protože byla dešifrována mým veřejným klíčem. Všichni také vědí, že s nimi nebylo manipulováno přesně proto, že to mohli dešifrovat.

Vysvětlení Andreyiny odpovědi je cenné při interpretaci vaší otázky; možná budete chtít přesunout sem.
To je velmi základní otázka. Ale také důležitý. Mnoho chyb s nesprávně použitou kryptografií je způsobeno tím, že si lidé tuto konkrétní otázku nepoložili.
Protože jste to zašifrovali jeho veřejným klíčem, a to může udělat kdokoli, takže to nedokazuje, že jste odesílatelem zprávy.
Jaký výzkum jste provedli, než se zeptáte? Zdá se, že to pokrývá druhá odpověď na http://security.stackexchange.com/q/2202/971 a http://security.stackexchange.com/q/23565/971.
Ne, být schopen dešifrovat to není záruka za to, že jsem autentický. Triviální příklad, pokud máte zprávu 0 nebo 1 (ano nebo ne) a odeslali jste ji, někdo může převrátit bity ve zprávě, aniž by ji mohl dešifrovat nebo zašifrovat, a přesto vrátit smysl vaší zprávy. Proto je moje odpověď AE níže relevantní.
BTW, téma ověřeného šifrování (AE) je docela aktuální téma, protože bylo v minulosti mnoha implementacemi opomíjeno. Problémem je zejména problém, pokud jsou skutečně šifrovaná data zpracovávána (což umožňuje útočníkovi využít chyby v procesoru, jako je přetečení paměti při dekompresi nebo provádění nechtěných příkazů).
čtyři odpovědi:
Andrey
2014-08-29 15:16:25 UTC
view on stackexchange narkive permalink

Šifrování poskytuje důvěrnost, tj. zajišťuje, že zprávu bude moci dešifrovat pouze zamýšlený příjemce.

Podpis poskytuje ověření, tj. umožňuje příjemci zkontrolujte, zda byla zpráva odeslána konkrétním odesílatelem a nebyla změněna.

Jeden způsob, jak se na to podívat v kontextu PKI, je tento: šifrování vyžaduje pouze znalost veřejného příjemce silný> klíč, takže kdokoli může zprávu zašifrovat. Podepisování naopak vyžaduje znalost soukromého klíče odesílatele, takže zprávu může podepsat pouze odesílatel. Jak vidíte, čisté šifrování veřejného klíče neposkytuje integritu ani ověřování.

To není přesně otázka, kterou mám. Co když použiji svůj soukromý klíč k ** šifrování ** své zprávy. Pak může kdokoli ** dešifrovat ** tuto zprávu mým veřejným klíčem, takže není soukromá, ale všichni, kdo to dělají, vědí, že je to ode mě, protože byla ** dešifrována ** mým veřejným klíčem. Všichni také vědí, že s nimi nebylo manipulováno přesně proto, že to mohli dešifrovat
Takové hypotetické „šifrování pomocí soukromého klíče“ nebude šifrováním - neposkytuje důvěrnost (zprávu může dešifrovat každý). V některých kryptosystémech (např. RSA) se podepisování provádí v podstatě šifrováním pomocí soukromého klíče, ale u jiných kryptosystémů to nelze a nemělo by být zobecněno.
To je podepisování, ne šifrování.
@Graham ... ach díky ... chápu to :-) Jediným důvodem pro použití "Hash then encrypt" je to, že hash, pokud je pevná délka, kratší než zpráva a univerzální v binárních / prostých dokumentech
@Jaap Dokonce ani dokumenty PKCS # 1, které definují standardní způsob provádění RSA podepisování nebo šifrování, nedefinují to jako hash, pak šifrují. Je to hash, pad, modulární umocňování. Aby nedocházelo k nejasnostem, dokonce dali modulární umocňování jiný název (!) Pro podepisování a dešifrování, přestože se jedná o stejnou operaci: „RSASP1 a RSAVP1 jsou stejné jako RSADP a RSAEP, kromě jmen jejich vstupů a výstupů argumenty; odlišují se, protože jsou určeny pro různé účely "od [RFC] (http://tools.ietf.org/html/rfc3447#section-5.2)
@Jaap to máte špatně - ** dešifrování ** lze provést pouze s ** soukromým ** - klíčem, ** šifrováním ** na druhé straně pouze s ** veřejným ** - klíčem
@Jaap A to je jen RSA, pro které se modulární umocňování používá jak pro šifrování, tak pro dešifrování. Neúspěšně selže např. Eliptické křivky.
@specializt: Internet nesouhlasí: http://crypto.stackexchange.com/questions/2123/rsa-encryption-with-private-key-and-decryption-with-a-public-key
@MooingDuck Wikipedia nesouhlasí s vaším nesouhlasem: http: //upload.wikimedia.org/wikipedia/commons/thumb/f/f9/Public_key_encryption.svg/525px-Public_key_encryption.svg.png I g gonnna místo toho důvěřovat mým vlastním znalostem a wikipedii místo toho důvěřovat mým vlastním znalostem a wikipedii , StackExchange má obecně asi 50% trolů;)
@specializt: wikipedia nesouhlasí s vaším nesouhlasem s mým nesouhlasem s vaším nesouhlasem: http://en.m.wikipedia.org/wiki/RSA_(cryptosystem) (přečtěte si sekci označenou jako podpisové zprávy). Váš obrázek ukazuje, jak funguje normální šifrování, ale neříká, že jiné věci jsou nemožné.
toto téma je VŠECHNO O „normálním šifrování“. Zjevně vám to uniklo.
@MooingDuck dokonce přirovnává internet k SE, v krypto 2123 má * otázka * špatně (jak často otázky dělají, proto jsou požádáni), ale dvě odpovědi (jedna komunita a jedna podrobná) jasně říkají, že je to špatné, a dokonce i přijatá odpověď vafle . A krypto 2123 (sloučené 4041) a 4020 a 3179 se shodují s různými detaily, že je špatné a dokonce nebezpečné říkat, že podpis je „šifrován pomocí privatekey“ i pro RSA, nemluvě o nemožnosti jiných podpisů.
Philipp
2014-08-29 15:30:13 UTC
view on stackexchange narkive permalink

Šifrování s veřejným klíčem někoho poskytuje důvěrnost, ale neposkytuje ověřování ani integritu.

V architektuře PKI zašifrujete svou zprávu veřejným klíčem příjemce. To dokazuje pouze to, že znáte jejich veřejný klíč, ale nic o sobě. Pokud je jejich veřejný klíč skutečně veřejný, můžete být kdokoli, včetně útočníka, který zachytil zprávu (i když ji nemohl přečíst) a nahradil ji jinou zprávou zašifrovanou stejným veřejným klíčem.

Ale přidáním podpis s vlastním soukromým klíčem (který lze poté ověřit veřejným klíčem), prokážete svou vlastní identitu, která znemožňuje manipulaci se zprávou.

Pamatujte, že to platí pouze v případě, že veřejný klíč příjemce je ve skutečnosti veřejný. Pokud je „veřejný“ klíč tajným klíčem sdíleným pouze mezi vámi a příjemcem, stane se podpis skutečně nadbytečným.

AJ Henderson
2014-08-29 18:40:20 UTC
view on stackexchange narkive permalink

Pokud bych uprostřed noci nechal na vaší verandě zamčenou krabici a připoutal ji k vašim dveřím a odhodil klíč do slotu pro poštu, bylo by to bezpečné. Nikdo jiný by se do toho nemohl dostat a jen vy byste to mohli otevřít, ale neměli byste vědět, kdo vám to nechal. Mohlo to být ponecháno cenovkou vydavatele Clearing House nebo teroristou, prostě nevíte. Šifrování to dělá, brání komukoli jinému v přístupu k vaší zprávě, ale nemáte způsob, jak zjistit, o koho šlo.

Pokud vydavatel Clearing House místo toho nechal šek, podepsal a seděl před vašimi dveřmi . Věděli byste, že to bylo od nich, protože to podepsali a šek byl platný, ale kdokoli mohl přijít a vzít si ho, protože není chráněn. To je to, co dělá podepisování. Dokazuje to, že zpráva přišla od konkrétní osoby, ale neposkytuje žádnou ochranu obsahu zprávy.

To, co opravdu chcete, je podepsaný balíček sedící na dveřích. Tímto způsobem nikdo jiný nemůže říci, o co jde, ale můžete si ověřit, od koho to bylo a že to nebylo změněno.

Chris
2014-08-29 19:15:32 UTC
view on stackexchange narkive permalink

Jak se na to dívám, je to, že pokud mám šifrovanou zprávu, která je řadou bajtů, mohu ji dešifrovat pomocí vašeho veřejného klíče. Jakákoli řada bajtů je však „platná“ jako výsledek vašeho šifrování. To znamená, že pokud někdo zprávu upraví, mohu ji stále dešifrovat, prostě nedostanu to, co jste původně zašifrovali. Osoba, která provedla neoprávněnou manipulaci, pravděpodobně nebude vědět, jaký dopad měla jejich neoprávněná manipulace na zprávu (pokud neměla soukromý klíč), ale může zaručit, že zprávu změnila. Někdy (např. Pokud se jedná pouze o binární data, nikoli o textovou zprávu), nebudete vědět, že došlo k neoprávněné manipulaci, protože ji nemáte s čím srovnávat.

Podpis může zaručit, zpráva nebyla pozměněna. Vezmete hash původní zprávy a poté ji zašifrujete svým soukromým klíčem. Když nyní dekóduji zprávu, můžu ji hashovat a porovnat s hashem, který jste mi dali. Pokud se shodují, vím, že a) s obsahem nebyl manipulován (protože hashe se shodují) ab), že pochází od vás, protože hash byl šifrován vaším soukromým klíčem.



Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...