-
1. Data: 2016-03-29 17:46:53
Temat: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: Piotr Gałka <p...@c...pl>
Zażarta dyskusja pod tematem "Ciekawe orzeczenie - bank ma oddać kasę" o
bezpieczeństwie transakcji skłoniła mnie do zapytania o prawdopodobnie coś
podstawowego.
Przyznam, że liczę na odpowiedź od Sebastiana.
Chciałbym ogarnąć ogólnie SSL. Jak szukam to są opisy albo za proste - nie
dające mi odpowiedzi na moje wątpliwości, albo tak zawikłane, że odstraszają
od próby przebrnięcia (przy notorycznym braku czasu na to).
Ja to rozumiem tak. Chcę (mój komputer chce) ustanowić sesję z bankiem.
Bank przysyła certyfikat który zawiera: Dane banku i jego klucz publiczny,
wszystko podpisane kluczem prywatnym przez jakąś organizację. Zawiera
jeszcze coś istotnego?
Chcę zweryfikować podpis - potrzebuję klucza publicznego tej organizacji.
Dostaje od niej certyfikat, który zawiera jej dane i jej klucz publiczny,
wszystko podpisane przez kogoś innego jego kluczem prywatnym.
Aby to zweryfikować potrzebuję klucza publicznego tego kogoś innego. itd.
Kiedy i jak ten proces się kończy?
Opis na Wiki "Zasada działania SSL" jest tak napisany, jakby problem
weryfikacji dostarczonego klucza publicznego nie istniał.
Czego nie wiem?
Jak już załóżmy mam klucz publiczny banku i wiem, że nie jest to jakaś
podróba to dalej z opisu na Wiki wynika, że do ustalenia klucza sesji brane
są dwie liczby losowe przesłane wcześniej przez mój komputer i serwer banku
oraz jakiś ustalony przez mój komputer klucz, który jest podpisywany kluczem
publicznym banku i wysyłany do banku.
Wcześniej przesłane liczby losowe - a więc jawne (bo przed ustaleniem
sesji). Czyli jedyną tajną rzeczą na tym etapie jest ten wylosowany przez
komputer klucz.
Wiadomo, że generator jest wystarczająco dobry?
P.G.
-
2. Data: 2016-03-29 19:39:22
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: witek <w...@g...pl>
On 3/29/2016 10:46 AM, Piotr Gałka wrote:
>
> Kiedy i jak ten proces się kończy?
Jak jeden z podpisów bedzie na liscie zaufanych certyfikatów ,które są
zainstalowane domyślnie w komputerze.
> Wiadomo, że generator jest wystarczająco dobry?
na takie potrzeby najwyrazniej tak skoro do tej pory jest uzywany.
100% bezpieczenstwa nie dają.
-
3. Data: 2016-03-29 19:55:06
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: W <w...@w...pl>
Piotr Gałka wystukał, co następuje:
> Ja to rozumiem tak. Chcę (mój komputer chce) ustanowić sesję z bankiem.
> Bank przysyła certyfikat który zawiera: Dane banku i jego klucz
> publiczny, wszystko podpisane kluczem prywatnym przez jakąś
> organizację. Zawiera jeszcze coś istotnego?
> Chcę zweryfikować podpis - potrzebuję klucza publicznego tej
> organizacji. Dostaje od niej certyfikat, który zawiera jej dane i jej
> klucz publiczny, wszystko podpisane przez kogoś innego jego kluczem
> prywatnym. Aby to zweryfikować potrzebuję klucza publicznego tego kogoś
> innego. itd.
Najczęściej lista zaufanych "RootCA" jest dostarczana albo z systemem albo z
oprogramowaniem (na przykład przeglądarki zawierają swoje zbiory tychże).
-
4. Data: 2016-03-29 21:45:22
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: "J.F." <j...@p...onet.pl>
Użytkownik "W" napisał w wiadomości grup
dyskusyjnych:X...@a...home...
Piotr Gałka wystukał, co następuje:
>> Ja to rozumiem tak. Chcę (mój komputer chce) ustanowić sesję z
>> bankiem.
>> Bank przysyła certyfikat który zawiera: Dane banku i jego klucz
>> publiczny, wszystko podpisane kluczem prywatnym przez jakąś
>> organizację. Zawiera jeszcze coś istotnego?
>> Chcę zweryfikować podpis - potrzebuję klucza publicznego tej
>> organizacji. Dostaje od niej certyfikat, który zawiera jej dane i
>> jej
>> klucz publiczny, wszystko podpisane przez kogoś innego jego kluczem
>> prywatnym. Aby to zweryfikować potrzebuję klucza publicznego tego
>> kogoś
>> innego. itd.
>Najczęściej lista zaufanych "RootCA" jest dostarczana albo z systemem
>albo z
>oprogramowaniem (na przykład przeglądarki zawierają swoje zbiory
>tychże).
A tak swoja droga - zalatwial ktos taki certyfikat ?
Czy czy mnogosci instytucji certyfikujacych bylby jakis problem
zarejestrowac taki np "mBank" czy "PKO" gdzies na swiecie ?
I przegladarka wyswietli "kłódke" ?
J.
-
5. Data: 2016-03-29 22:03:01
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: Marek <f...@f...com>
On Tue, 29 Mar 2016 17:46:53 +0200, Piotr
Gałka<p...@c...pl> wrote:
> Ja to rozumiem tak. Chcę (mój komputer chce) ustanowić sesję z
bankiem.
> Bank przysyła certyfikat który zawiera: Dane banku i jego klucz
publiczny,
> wszystko podpisane kluczem prywatnym przez jakąś organizację.
Zawiera
> jeszcze coś istotnego?
Jak weryfikowany jest certyfikat (ścieżka) już ktoś odpisał. Warto
dodać, że kryptografia asymetryczna jest użyta tylko na początku jako
tunel do bezpiecznej wymiany głównego klucza sesyjnego
(symetrycznego), który jest używany do wymiany danych w połączeniu
przeglądarka-serwer.
--
Marek
-
6. Data: 2016-03-29 22:32:12
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: janek z pola <a...@e...pl>
Piotr Gałka wrote:
> Zażarta dyskusja pod tematem "Ciekawe orzeczenie - bank ma oddać kasę" o
> bezpieczeństwie transakcji skłoniła mnie do zapytania o prawdopodobnie coś
> podstawowego.
> Przyznam, że liczę na odpowiedź od Sebastiana.
>
> Chciałbym ogarnąć ogólnie SSL. Jak szukam to są opisy albo za proste - nie
> dające mi odpowiedzi na moje wątpliwości, albo tak zawikłane, że
> odstraszają od próby przebrnięcia (przy notorycznym braku czasu na to).
>
> Ja to rozumiem tak. Chcę (mój komputer chce) ustanowić sesję z bankiem.
OK.
> Bank przysyła certyfikat który zawiera: Dane banku i jego klucz publiczny,
> wszystko podpisane kluczem prywatnym przez jakąś organizację. Zawiera
> jeszcze coś istotnego?
Teraz ogólnie się spotyka często łańcuch certyfikatów - tzn. masz certyfikat
danego serwera (jego klucz publiczny) oraz klucze publiczne centrów
certfikacji, które podpisały ten klucz publiczny.
Możesz sobie taki program openssl pobrać i czarnym okienku zrobić polecenie:
openssl s_client -connect mbank.pl:443
Dostaniesz tenże łańcuch:
Certificate chain
0 s:/1.3.6.1.4.1.311.60.2.1.3=PL/businessCategory=Priv
ate
Organization/serialNumber=0000025237/C=PL/postalCode
=00-950/ST=mazowieckie/L=Warszawa/street=Senatorska
18/O=mBank S.A./OU=mBank/CN=www.mbank.pl
i:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec
Class 3 EV SSL CA - G3
1 s:/C=US/O=Symantec Corporation/OU=Symantec Trust Network/CN=Symantec
Class 3 EV SSL CA - G3
i:/C=US/O=VeriSign, Inc./OU=VeriSign Trust Network/OU=(c) 2006 VeriSign,
Inc. - For authorized use only/CN=VeriSign Class 3 Public Primary
Certification Authority - G5
W outpucie będziesz miał też certyfikat tego serwera - zapisz sobie do
jakiegoś pliku - np. ja sobie zapisałem do mbank.crt, potem takie polecenie:
openssl x509 -in mbank.crt -noout -text
Tam dostaniesz pełne dane certyfikatu:
* CN - na jaką domenę jest ważny - oraz ogólnie nazwa tego certyfikatu
* SAN - na jakie ewentualnie dodatkowe domeny jest ważny
* Serial - numer seryjny certyfikatu w ramach danego klucza podpisującego
* Issuer - kto podpisał - to jest ciąg znaków - nazwa klucza podpisującego
* Validity - nie ważny przed data, nie ważny po dacie (dwie daty)
* skrót klucza podpisującego - wiadomo kilka klucze może mieć tą samą nazwę
* Public-Key - klucz publiczny będący esencją tego certyfikatu
* Signature - podpis klucza podpisującego - czyli to, co uwiarygadnia cert
* dodatkowo info o adresie listy odwołanych certyfikatów i ew. inne dane
> Chcę zweryfikować podpis - potrzebuję klucza publicznego tej organizacji.
Ogólnie tak :D
> Dostaje od niej certyfikat, który zawiera jej dane i jej klucz publiczny,
> wszystko podpisane przez kogoś innego jego kluczem prywatnym.
> Aby to zweryfikować potrzebuję klucza publicznego tego kogoś innego. itd.
Dostajesz w zasadzie taką samą strukturę jak powyżej, tylko że jako CN nie
jest podana już domena banku, tylko w cercie podpisującym cert banku jako CN
jest podane to, co w cercie banku jest podane w polu "Issuer". Dodatkowo
odcisk klucz publicznego (skrót) musi być taki sam - czyli to co w cercie
banku jest podane jako "skrót klucza podpisującego" to w cercie podpisującym
musi być rzeczywiście skrótem jego klucza publicznego.
>
> Kiedy i jak ten proces się kończy?
Idziesz tą "drabinką" tak wysoko aż trafisz na taki certyfikat (dokładnie o
takiej samej strukturze jak powyżej), któremu bezwarunkowo ufasz. Tak jak
ktoś już tutaj napisał, te certy - znane jako RootCA - są zwykle zaszyte w
sofcie komputera.
Z tym są związane różne śmieszne historie: np. Lenovo dodawało do wszystkich
sprzedawanych kompów jakieś swoje RootCA jako zaufane i serwowało reklamy po
https w przeglądarce, deszyfrując pod spodem ruch https. Czyli po naszemu:
robiło dokładnie to, co by robił złodziej bankowy, tylko że oni wstrzykiwali
tam reklamy. Złodziej by wstrzykiwał jakiś komunikat typu "teraz podaj nam
numer telefonu".
Jak trafisz na zaufany cert w tym łańcuszku, to po pierwsze zwykle to będzie
RootCA jakiegoś centrum certyfikacji, a po drugie to będzie jednocześnie
prawie koniec drogi. Dodatkowo jest sprawdzana lista odwołanych certów -
czyli CRL (trudno jasno ocenić czy nie można się pod to podszyć). Natomiast
współczesne przeglądarki mają w sobie zaszyte skróty kluczy publicznych tych
najbardziej popularnych witryn. Czyli nawet jak ktoś wstrzyknie Tobie trefne
RootCA, to i tak przeglądarka się powinna zorientować w przypadku niektórych
stron, że jest coś nie tak.
Dodam tylko, że RootCA zwykle jest podpisane samo przez siebie, ale w sumie
te czasy już minęły. Teraz jest tak, że RootCA jakie masz w systemie podane
to jest tak naprawdę jakiś certyfikat podpisany jeszcze przez jakiś inny
cert w danej firmie wystawcy - tzn. taki np. GeoTrust ma jakiś swój główny
klucz prywatny, podpisuje tym swoje CA i odciski tego CA przesyła do firm,
które produkują soft, żeby wrzuciły do przeglądarek.
>
> Opis na Wiki "Zasada działania SSL" jest tak napisany, jakby problem
> weryfikacji dostarczonego klucza publicznego nie istniał.
> Czego nie wiem?
Któremuś kluczowi publicznemu ufasz - tzn. w zasadzie któremuś certyfikatowi
ufasz.
>
> Jak już załóżmy mam klucz publiczny banku i wiem, że nie jest to jakaś
> podróba to dalej z opisu na Wiki wynika, że do ustalenia klucza sesji
> brane są dwie liczby losowe przesłane wcześniej przez mój komputer i
> serwer banku oraz jakiś ustalony przez mój komputer klucz, który jest
> podpisywany kluczem publicznym banku i wysyłany do banku.
Tak.
> Wcześniej przesłane liczby losowe - a więc jawne (bo przed ustaleniem
> sesji). Czyli jedyną tajną rzeczą na tym etapie jest ten wylosowany przez
> komputer klucz.
Kluczem sesji jest sekretna liczba. Powiedzmy wartość. Taka, żeby było ją
trudno odgadnąć. Jak już wiesz, że ufasz danemu certowi, to wyciągasz z
niego klucz publiczny i tą sekretną liczbę szyfrujesz tym kluczem. Serwer
banku sobie odszyfrowuje i od tego momentu macie współdzieloną sekretną
liczbę. Ona jest używana do symetrycznego szyfrowania (czyli szyfrowanie
oraz deszyfrowanie za pomocą tego samego klucza)
> Wiadomo, że generator jest wystarczająco dobry?
Nie wiadomo :D
> P.G.
--
Wysłane z pola.
-
7. Data: 2016-03-29 22:55:03
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: witek <w...@g...pl>
On 3/29/2016 2:45 PM, J.F. wrote:
>
> A tak swoja droga - zalatwial ktos taki certyfikat ?
> Czy czy mnogosci instytucji certyfikujacych bylby jakis problem
> zarejestrowac taki np "mBank" czy "PKO" gdzies na swiecie ?
> I przegladarka wyswietli "kłódke" ?
>
Certyfikat SSL można dostać za parę groszy.
Natomiast przejść sprawdzenie dokumentów nie bedzie już takie proste.
Tylko co ci to da.
Musiałbyś jeszcze przekierować ruch na twój serwer zamiast prawdziwy.
Z drugiej strony dostać certyfikat na łudząco podobny adres da się bez
problemu.
Wystarczy tylko czekać aż ktoś niechcący się pomyli przy wpisywaniu
adresu www. Np mbnak.pl
Albo kliknie w spreparowany link z email.
Przecież nikt nie sprawdza czy zielona kłodka na pewno należy do
instytucji, na której stronę chcieliśmy wejść.
Każdy wierzy przeglądarce. Skoro ta nie protestuje to znaczy, że jest
dobrze.
Z trzeciej strony certyfikat + domena powoli przestaje nas robić anonimowym.
-
8. Data: 2016-03-29 23:25:24
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: "J.F." <j...@p...onet.pl>
Użytkownik "witek" napisał w wiadomości grup
dyskusyjnych:ndepvt$btu$...@d...me...
On 3/29/2016 2:45 PM, J.F. wrote:
>> A tak swoja droga - zalatwial ktos taki certyfikat ?
>> Czy czy mnogosci instytucji certyfikujacych bylby jakis problem
>> zarejestrowac taki np "mBank" czy "PKO" gdzies na swiecie ?
>> I przegladarka wyswietli "kłódke" ?
>Certyfikat SSL można dostać za parę groszy.
>Natomiast przejść sprawdzenie dokumentów nie bedzie już takie proste.
Ale co za problem zalozyc firme mBank np w Brazylii ?
>Tylko co ci to da.
>Musiałbyś jeszcze przekierować ruch na twój serwer zamiast prawdziwy.
>Z drugiej strony dostać certyfikat na łudząco podobny adres da się
>bez problemu.
>Wystarczy tylko czekać aż ktoś niechcący się pomyli przy wpisywaniu
>adresu www. Np mbnak.pl
>Albo kliknie w spreparowany link z email.
Otoz to. Albo zarejestrowac mbank.net, mbank.org, mbank.com -
>Przecież nikt nie sprawdza czy zielona kłodka na pewno należy do
>instytucji, na której stronę chcieliśmy wejść.
>Każdy wierzy przeglądarce. Skoro ta nie protestuje to znaczy, że jest
>dobrze.
Nawet nie wiem czy mozna tak sprawdzic - tzn doglebnie.
Jesli Symantec zarejestrowal mbank SA, to jakie dokumenty sprawdzal -
i na ile mozna im falszywe wyslac ?
P.S. Ciekawa opcje widze - "zainstaluj certyfikat".
Hm - z jednej strony moze uchronic przed podstawieniami falszywych
domen, z drugiej - chyba wcale nie uchroni, skoro zadziala standardowy
mechanizm sprawdzania przez internet, z trzeciej - czy nie otwiera sie
furtka dla hackerow - zainstalowac komus falszywy certyfikat w
przegladarce ?
Ale ... chyba moze ochronic przed atakiem na router, gdy
przekierowujemy ruch i do banku i do wystawczy certyfikatu ...
>Z trzeciej strony certyfikat + domena powoli przestaje nas robić
>anonimowym.
Ano - gdzies tam slad zostaje ... tylko potem sie okaze, ze dane
falszywe, slup, albo ukradziona tozsamosc.
Albo scigaj sobie jakiegos Somalijczyka :-)
J.
-
9. Data: 2016-03-30 00:20:00
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: Marek <f...@f...com>
On Tue, 29 Mar 2016 21:45:22 +0200, "J.F."
<j...@p...onet.pl> wrote:
> Czy czy mnogosci instytucji certyfikujacych bylby jakis problem
> zarejestrowac taki np "mBank" czy "PKO" gdzies na swiecie ?
> I przegladarka wyswietli "kłódke" ?
Standardowy (nie exteneded - zielony) bez problemu będzie kłódka.
Weryfikacja jest automatyczna i polega jedynie na sprawdzeniu czy
wnioskujacy o cert. dla np. mbank.w.pl ma faktycznie dostęp do
domeny/hosta mbank.w.pl i może tam np. umieścić plik z wskazaną
losową nazwą. Weryfikacja to sprawdzenie czy ten plik faktycznie
wnioskujący umieścił. Cały proces trwa kilka minut i jest w pełni
automatyczny.
Extebded już tak łatwo nie pójdzie, jest weryfikacja białkowa.
Co ciekawe 10 lat temu i dawniej przy zwykłych certyfikatach np.
thawte weryfikowali telefoniczne. Dzwonili, pytali o pogodę w miejscu
siedziby firmy, ptosilii o kopie dokumentów rejestrowych i takie tam.
--
Marek
-
10. Data: 2016-03-30 00:23:46
Temat: Re: SSL - ktoś będzie tak miły i przełoży na chłopski rozum?
Od: Marek <f...@f...com>
On Tue, 29 Mar 2016 15:55:03 -0500, witek <w...@g...pl> wrote:
> Przecież nikt nie sprawdza czy zielona kłodka na pewno należy do
> instytucji, na której stronę chcieliśmy wejść.
Mało prawdopodobne by dostać "zielony" cerryfikat na literówkę znanej
instutucji lub bezczelnie podszywając się pod nią.
--
Marek