W skrĂłcie: SSL w Windows Phone 8 jest popsute
TestowaliĹmy telefony z WP8 uĹźywajÄ c serwera, ktĂłry wymaga uwierzytelniania uĹźytkownika za pomocÄ certyfikatĂłw. Po wrzuceniu na urzÄ dzenie certyfikatu z naszego CA – telefon ĹÄ czyĹ siÄ z serwerem. Czasem pokazywaĹ siÄ z certyfikatem naszego CA, a czasem z zupeĹnie innym.
PoniĹźej zrzuty ekranu z sesji SSL. InteresujÄ co zaczyna siÄ po tym, jak serwer zarzÄ da certyfikatu wysyĹajÄ c „Certificate Request” (kliknij w obrazek, Ĺźeby zobaczyÄ go w peĹnej rozdzielczoĹci):
Nasz serwer zaĹźÄ daĹ certyfikatu klienta pasujÄ cego do DN naszego wĹasnego CA.
A oto odpowiedĹş klienta:
Co tu widzimy? Telefon odpowiedziaĹ certyfikatem wydanym przez Microsoft, zamiast podaÄ nasz certyfikat, lub po prostu anulowaÄ transakcjÄ.
Hierarchia tego certyfikatu:
- Certificate (id-at-commonName=urn:wp-ac-hash-2:PAzCfbUuekP_SrTA0NUecBjyqN1f5,id-at-organizationalUnitName=9DFF3EFECE1B1D3E352EF654DEFBB9DED7)
- Certificate (id-at-commonName=Microsoft Genuine Windows Phone CA4,id-at-organizationalUnitName=GFS,id-at-organizationName=Microsoft Corporation,id-at-localityName=Redmond,id-at-stateOrProvinceName=WA,id-at-countryName=US)
- Certificate (id-at-commonName=Microsoft Windows Phone PCA,id-at-organizationName=Microsoft Corporation,id-at-localityName=Redmond,id-at-stateOrProvinceName=Washington,id-at-countryName=US)
- Certificate (id-at-commonName=Microsoft Genuine Windows Phone CA4,id-at-organizationalUnitName=GFS,id-at-organizationName=Microsoft Corporation,id-at-localityName=Redmond,id-at-stateOrProvinceName=WA,id-at-countryName=US)
Wujek Google niestety nie pomĂłgĹ w odpowiedzi na pytanie czym jest „wp-ac-hash-2”, ale wyglÄ da to na certyfikat urzÄ dzenia wystawiony przez Global Foundation Services (GLS) Microsoftu. Wg. http://www.globalfoundationservices.com/ jest to jednostka zarzÄ dzajÄ ca chmurÄ w MS, wiÄc nie zdziwiĹbym siÄ, gdyby byĹ to certyfikat odpowiedzialny za uwierzytelnianie telefonu z usĹugami Microsoftu takimi jak Zune, sklep etc.
Nie wyglÄ da to ciekawie. Wnioski nasuwajÄ mi siÄ takie:
- Uwierzytelnianie za pomocÄ certyfikatĂłw moĹźe dziaĹaÄ lub nie – w zaleĹźnoĹci od tego czy telefon bÄdzie miaĹ dobry humor i odpowie poprawnym certyfikatem lub nie
- Telefon moĹźe mieÄ problemy z kontaktem z usĹugami Microsoftu, jeĹźeli takowe wymagajÄ certyfikatu. WyobraĹźam sobie, Ĺźe moĹźe przestaÄ dziaĹaÄ na telefonie sklep, lub telefon nie bÄdzie w stanie uwierzytelniÄ oprogramowania
- Certyfikaty mogÄ byÄ wystawione na atak poprzez proxy wywoĹaĹ telefonu do usĹug korzystajÄ cych z uwierzytelniania za pomocÄ certyfikatĂłw. AtakujÄ cy nakĹania uĹźytkownika do wejĹcia na swĂłj serwer w internecie, ktĂłry ĹźÄ da certyfikatu i liczy na to, Ĺźe telefon uĹźytkownika przedstawi certyfikat wykorzystywany np. do korporacyjnej poczty. NastÄpnie atakujÄ cy przekierowuje negocjacjÄ SSL do docelowego serwera, gdzie bÄdzie wyglÄ daĹo jakby to uĹźytkownik kontaktowaĹ siÄ ze swojÄ skrzynkÄ pocztowÄ .
A tak przy okazji – wyglÄ da na to, Ĺźe obsĹuga certyfikatĂłw w Windows Phone 8 zostaĹa potraktowana po macoszemu. Wystarzczy obejrzeÄ ten dokument: Windows Phone 8 Certificate Installation. JedynÄ opcjÄ na dostarczenie certyfikatu jest poczta lub IE? Nie ma moĹźliwoĹci instalowania certyfikatĂłw przez protokóŠMDM?