Diskuze: Zabezpecenie velmi citlivych dat
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 5 zpráv z 5.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Vsechno zabezpeceni je marne. Muzes udelat jen kompromis a doufat.
Treba takova hesla na flashce, staci ji preci zkopirovata muzes si za par kacek
propujcit vykon superpocitace a nechat si to heslo najit umelou inteligenci a
nebo brutal-force. Dotcena osoba se nikdy nedozvi, ze znas vsech 100 hesel,
ktere mela ulozene v nejakem kryptoprogramu.
Ideální je s privátními klíči přímo nepracovat, ale zpřístupnit je prostřednictvím služeb (neviditelných pro okolní svět), které dovolují s klíčem provádět příslušné operace (dešifrování, podepisování...), ale nezpřístupňují ten klíč samotný.
Ale ne vždy se toto dá aplikovat (i třeba kvůli ceně). Vůbec třeba myšlenka, že ve webové aplikaci má každý uživatel svůj privátní klíč uložený na serveru, je taková zvláštní (chápu, že to třeba z praktických důvodů moc jinak nejde), protože popírá tu privátnost (klíč je přístupný jak uživateli, tak třeba webhostingu či provozovateli té aplikace).
Samozřejmě lze pak provádět věci jako nechávat data v šifrované podobě a dešifrovat je jen v paměti po nutnou dobu (ideálně klíčem odvozeným od informace, kterou zná jen uživatel; dalo by se třeba použít i heslo). Hodně záleží, o jakou aplikaci ti jde.
Konkretne by som chcel ukladat API kluce, uzivatel si zada do formu svoj API
kluc ktory sa odosle a ulozi na serveru, neskor si moze ten kluc editovat /
vymazat. Takze tie kluce musia byt niekde ulozene v "desifrovatelnej" forme.
Este by ma zaujimalo, ci je bezpecne ukladat iba na jeden server, alebo rozdelit
na viacej serverov. Rozum hovori, ze na viacerych serveroch je to bezpecnejsie
ale zase ta technicka stranka veci....
Aha, takže se nejedná vyloženě o soukromé klíče (v kryptografickém smyslu).
Konkretne by som chcel ukladat API kluce, uzivatel si zada do formu svoj API kluc ktory sa odosle a ulozi na serveru, neskor si moze ten kluc editovat / vymazat. Takze tie kluce musia byt niekde ulozene v "desifrovatelnej" forme.
No, pořád ten klíč můžeš ukládat v databázi v šifrované podobě a k dešifrování využít např. heslo, které uživatel zadává při přihlášení (nebo ideálně klíč k dešifrování mít uložený v šifrované podobě (pro jeho dešifrování právě použiješ heslo... tenhle trik ti dovolí měnit hesla uživatelů aniž bys toho musel moc přešifrovat)).
To je takový ten PHP pohled. Pomocí JS by vše šlo zřejmě i hodně zlepšit tím, že se klíče API klíče budou v šifrované podobě odesílat rovnou do prohlížeče, kde až budou dešifrovány, jen pak celá aplikace bude běžet téměř výhradně na klientovi a bez JS si neškrtne.
Este by ma zaujimalo, ci je bezpecne ukladat iba na jeden server, alebo rozdelit na viacej serverov. Rozum hovori, ze na viacerych serveroch je to bezpecnejsie ale zase ta technicka stranka veci....
To mi přijde spíš jako otázka, zda-li ti bude vadit, když ten server, kde ty klíče jsou, třeba havaruje (a přijdeš o všechna data). Samozřejmě, čím méně míst, kde je něco uloženo, tím lépe (i proto, že je méně problémům s editací takové informace). Ale nevidím to jako čistě bezpečnostní otázku.
Zobrazeno 5 zpráv z 5.