mohu použít soukromý klíč jako veřejný klíč a naopak?
<p>mám kód pro šifrování dat pomocí veřejného klíče a dešifrování pomocí soukromého klíče. to je užitečné, když chce klient posílat data na server a vědět, že ho může dešifrovat pouze server.</p><p>řekněme však, že chci, aby server šifroval data pomocí klíče <em>soukromý</em> a dešifroval je pomocí klíče <em>veřejný</em>, jako způsob distribuce dat, u nichž lze ověřit, že pocházejí z správný server. namísto úpravy kódu, aby to bylo možné, mohu jednoduše publikovat soukromý klíč a udržet veřejný klíč v tajnosti? ovlivňuje to bezpečnost systému?</p>
<blockquote> <p>řekněme však, že chci, aby server šifroval data pomocí soukromého klíče a dešifroval je pomocí veřejného klíče, což je způsob distribuce dat, o kterých lze ověřit, že pocházejí ze správného serveru.</p> </blockquote><p>můžete to udělat - je to na velmi zjednodušující úrovni, jak funguje podepisování rsa (poznámka: zjednodušující - je toho o něco více).</p><blockquote> <p>namísto úpravy kódu, aby to bylo možné, mohu jednoduše publikovat soukromý klíč a udržet veřejný klíč v tajnosti? ovlivňuje to bezpečnost systému?</p> </blockquote><p>vy <strong> nemusíte </strong> vůbec publikovat soukromý klíč - rsa je permutace trapdoor, což znamená:</p><ul> <li>pokud zašifrujete veřejný klíč, můžete dešifrovat soukromým klíčem.</li> <li>pokud zašifrujete soukromý klíč, můžete jej dešifrovat pomocí veřejného klíče.</li> </ul><p>rsa tedy podporuje provádění podpisu i šifrování spoléhající se na to, že koncový uživatel má pouze veřejný klíč.</p><p>pokud si klient přeje ověřit data pocházející ze serveru, použijete druhý případ rsa a dešifrujte data podpisu pomocí veřejného klíče, který již máte.</p><p>navíc, protože se jedná o permutaci, neměli byste svůj kód vůbec upravovat. obě klávesy by měly fungovat pomocí stejné funkce. očekával bych, že každá slušná krypto knihovna bude mít api pro ověřování podpisů podle měnících se standardů, které existují - jedním z nich by pravděpodobně byla dobrá sázka.</p><p>rsa labs poskytují nice <a href="https://web.archive.org/web/20130718172549/https://www.rsa.com/rsalabs/node.asp?id=2182">vysvětlení</a> .</p><p>pokud to chcete rozšířit mezi servery nebo ověřit komunikaci klienta - vygenerujte klíče pro každou entitu a vyměňte veřejné. proces lze poté použít na obou koncích.</p><p>teoreticky jsou e a d vzájemně zaměnitelné (proto rsa funguje) (jeden musí být označen jako tajný a udržovaný v tajnosti), ale p a q musí <strong> vždy </strong> být udržované v tajnosti, protože vám umožňují odvodit d z e a naopak. při pochopení soukromého klíče však musíte být velmi opatrní - ukládá váš software v soukromém klíči p/q? pokud ano, nemůžete jej publikovat tak, jak je. také, když řeknu zaměnitelným - jakmile jednou publikujete jeden z těchto párů (e nebo d spolu s vaším modulem n), musíte chránit druhého <em> svým životem</em>. prakticky řečeno <a href="https://stackoverflow.com/questions/696472/given-a-private-key-is-it-possible-to-derive-its-public-key">jak graeme v komentářích odkazuje</a> e je často vybíráno jako malá/pevná hodnota. můj názor na zaměnitelnost e/d se zjevně nevztahuje, pokud je e snadno určitelné. dělat takovou věc má tedy potenciál k záměně a nesprávnému provedení. použijte knihovnu třetích stran/nezačněte publikovat soukromé klíče.</p>
Máš nastavenou domácí/pracovní síť neboveřejnou? V pracovní/domácí je ten port otevřený, ve veřejné zavřený. Když nastavíš veřejnou (zavřeš ten port), tak nebudeš moci kopírovat data z počítače na počítač.Nebezpečné je to v tom ohledu, že když se ti dostane ramsonware na jeden počítač, zašifruje ti rovnou i sdílené složky na druhém počítači, pokud tam máš povolený přístup. Aby bylo možné vidět všechny klíče (které nejsou skryté), že blok šifrovaným datům zašifrovaná, aby - včetně sami - můžete jednoduše vytvořit svůj tajný-keyring dispozici přes něco takového:



```
gpg --no-default-keyring --secret-keyring /dev/null -a --list-only

```

Který říká gpg nepoužívat žádné výchozí klíčenky (-no-default-přívěšek na klíče), je-li zadán neplatný / chybějící klíčenku, a pak jde o to určit neplatné / chybějící tajné klíčenku (--secret-klíčenka / dev / null ) Cez VPN-ku by to neslo?  
VPN klienta nechas po spusteni PC sa pripojit na server s verejnou IP a synchro software mozes pouzit podle libosti. Alebo si to hodis do naplanovanych uloh. Na zrizeni serveru potrebujete mit server.  
Ma-li byt server dostupny z internetu, potrebujete nejake vhodne pripojeni a verejnou IP adresu.  
Na nektere sluzby je vhodne mit domenu, ale neni to podminka.  
  
Co a pro koho chcete na serveru zpristupnovat? Casto byva lepsi vyuzit serverhostingu nebo si pronajmout server cely ci jeho cast... Ano, budete muset převést klíče. Mac a Linux fungují stejně, ukládání klíče `~/.gnupg`. Nejbezpečnější způsob, jak přenést soubory je použití `scp`(část SSH):



```
scp -rp ~/.gnupg othermachine:

```

Nicméně, budete muset mít `ssh`práci jako první.


Přenos je, řekněme, USB flash disk není tak skvělý nápad, protože váš soukromý klíč bude zanechal na této jednotce i poté, co jste odstranili soubor. I když je chráněna přístupovým heslem, pokud se někdo dostal do rukou kopie souboru klíčů mohli připojit dlouhotrvající útok hrubou silou na něj na svém lesiure.


Nevím o umístění adresáře systému Windows. Dokumentace gpg řekne, a obsah pak bude téměř jistě být stejné.


Kopírování celé klíčenku je rychlá a snadná, ale někdy chcete být schopen se pohybovat jednotlivé klíče mezi stroji bez přepisování celý klíčenku a ztrátě klíče, které již existují. Kopírování jednotlivých kláves volitelně může být provedeno s `gpg --export-secret-key`a `gpg --import`. Pokud máte SSH přístup k cílovému počítači, můžete to udělat s trubkou a nepotřebují k ukládání průběžném klíč kdekoliv:


Pokud jste na počítači, který již má klíč:



```
gpg --export-secret-key SOMEKEYID | ssh othermachine gpg --import

```

Pokud jste na počítači, který potřebuje klíč:



```
ssh othermachine gpg --export-secret-key SOMEKEYID | gpg --import

```

Pokud `gpg`není v jednom z výchozích míst na vzdáleném počítači (např je v `/opt/local/bin`počítači Mac), budete muset dát svou plnou cestu k ssh, nebo symbolický odkaz do jednoho ze standardních místech, jako jsou `/usr/local/bin`.


Všimněte si, že data, která je přenesena je stále chráněn přístupové heslo a klíč bude mít stejné přístupové heslo do místa určení, jak tomu bylo u zdroje. Chcete-li mít různé hesel v každém místě, budete muset změnit přístupové heslo na místo určení, nebo ji změnit dočasně u zdroje před exportem. Potřeboval jsem sdílet tajný klíč s kolegou, s cílem dát mu možnost aktualizovat si Debian balíček repo oba řídit, ale nechtěl jsem se podělil o své přístupové heslo s ním. Tak jsem změnil přístupové heslo na něco dočasného, ​​poslal mu exportovaný klíč (podle gpg šifrované e-mailu!), Řekl mu dočasné heslo ústně, a požádal ho, aby nastavit nové přístupové heslo ihned po importu klíč. Pak jsem změnil přístupové heslo na mém kopie klíče zpět na to, co to bylo původně. Mam pocit, ze chces pouzit truecrypt k necemu, co neumi(a ani umet nemuze). Nezmenitelny doc takhle rozhodne nevyrobis(pokud to vubec nejak jde) Jen si to zašifruj. Absolutně totiž miluji následné dotazy typu ...mám zašifrovaný disk, něco jsem asi nastavil blbě a nějak mi teď nejde...., pls help, ...atd.... To se směji naprosto upřímně a je mi tak nějak dobře. tak data dulezite si zalohuj na externi disk treba (jak rikas) a oddil naformatuj.  
  
me stve jak linix kazdy chvali :) kdyby se pouzival linux jako Windows tak by se kazdy pos*al, protoze by se razem zjistilo jak je to debilni system Poslouchat to můžeš, když to není zabezpečený. Jejich problém.Tvůj pokud by jsi to nějak zneužil.Vysledovat těžko. Pokud máš veřejnou IP, tak stačí opravdu jen nasměrovat dané porty :)