2009-02-02 13 views
23

Zajmuję się oprogramowanie, które będą wdrażane za pomocą ClickOnce (na stronie foo.com), i które będą następnie połączyć się z serwerem przy użyciu WCF z zaszyfrowanym transportuJakiego certyfikatu SSL potrzebuję?

więc muszę certyfikat SSL, który będzie:

  • Zidentyfikuj moja strona foo.com naprawdę jest moja strona
  • Zidentyfikuj exe wdrożyć za pomocą ClickOnce jako prawdziwy
  • zidentyfikować mój serwer aplikacji naprawdę jest mój serwer aplikacji.

Chcę również mój certyfikat SSL być podpisane przez organ znany opinii publicznej (IE, Firefox lub okna nie poprosi użytkownika najpierw zainstalować certyfikat Urzędu!)

certyfikat Co SSL będzie kupujesz?

ja przeglądałem stronę VERISIGN, „Bezpieczne strony” Koszty certyfikatów EV 1150 € do roku (dalej „Pro” wersja wydaje się przydatna jedynie dla kompatybilności ze starszymi przeglądarkami)

Odpowiedz

34

Brzmi jak szukasz dwa rodzaje certyfikatów:

1 - Certyfikat SSL - do uwierzytelniania serwera www/aplikacji.

2 - Certyfikat podpisywania kodu - w celu zapewnienia integralności/uwierzytelnienia dostarczanego przez ciebie dostawcy.

Zazwyczaj są to dwa różne certyfikaty z dwoma różnymi profilami certyfikatów. Przynajmniej potrzebujesz jednego certyfikatu z dwoma różnymi kluczowymi zastosowaniami lub rozszerzonymi kluczowymi zastosowaniami.

Kilka myśli w żadnym określonym porządku:

  • Sprawdź ukierunkowanych przeglądarek, powinny one mieć każdy zestaw wstępnie skonfigurowanych certyfikatów głównych - to najbardziej powszechnie uznanych źródeł certyfikat publiczny. Prawdopodobnie sprawdziłbym zarówno Firefox, jak i IE. Dostawcy certyfikatów znanych mi jako wielkie nazwiska to: Versign, GeoTrust, RSA, Thawte, Entrust. Ale jest też GoDaddy i wiele innych. Wszystko, co pojawi się w dostarczonej przeglądarce jako zaufany certyfikat główny, pozwoli ci połączyć się z Twoimi użytkownikami bez dodatkowego greifa.

  • Proponuję Googling zarówno dla "certyfikatu podpisywania kodu" i "certyfikatu SSL".

  • Sposób konfiguracji witryny określa, czy witryna została zweryfikowana, czy serwer uwierzytelniający został zweryfikowany. Jeśli certyfikat jest przechowywany na serwerze aplikacji, użytkownik uzyskuje szyfrowanie SSL do samego serwera. Jednak wiele stron umieszcza certyfikat SSL nieco dalej - jak na zaporze sieciowej, a następnie tworzy zbiór serwerów aplikacji. Nie widzę w tym wady bezpieczeństwa, o ile sieć jest starannie skonfigurowana. Dla użytkowników zewnętrznych obie konfiguracje będą wyglądały tak samo - dostaną blokadę w swoich przeglądarkach i certyfikat, który mówi im, że www.foo.com oferuje swoje dane uwierzytelniające.

widzę bardzo atrakcyjną ofertę dla certyfikatów SSL: - GoDaddy - $ 12,99 - Register.com - $ 14,99

Ale użytkownicy nie są koniecznie kod podpisywanie certifiates. Na przykład, gdy certyfikat SSL GoDaddy wynosi 12,99 USD, ich wartość code signing certs wynosi 199,99 USD! Jest to część wielu modeli biznesowych sprzedawców certyfikatów - przyciągaj klientów tanimi certyfikatami SSL i płacisz za podpisywanie kodu. Można by przypuszczać, że certyfikaty podpisywania kodu są relatywnie wyższe. Ale także ... muszą jakoś subsydiować tanie certyfikaty SSL.

Teoretycznie powinno być możliwe utworzenie certyfikatu, który zawiera zarówno podpisywanie kodu, jak i SSL, ale nie jestem pewien, czy tego chcesz. Jeśli coś powinno się zdarzyć, dobrze byłoby móc odizolować te dwie funkcje. Poza tym jestem prawie pewny, że musiałbyś zadzwonić do dostawców certyfikatów i zapytać, czy to zrobili, a jeśli nie, to zrobienie tego prawdopodobnie podniesie cenę dość wysoko.

ile sprzedawca, rzeczy do rozważenia:

  • Technologia ta jest prawie takie same. W dzisiejszych czasach dążę do uzyskania co najmniej 128-bitowych kluczy, prawdopodobnie podbiłbym to do 256, ale jestem paranoikiem.
  • Poza akceptacją przeglądarki, jedynym powodem, aby zapłacić więcej, byłoby rozpoznawanie nazwy. Spośród paranoicznych bezpieczeństwa, spodziewam się, że RSA, Thawte, Verisign i GeoTrust będą miały bardzo dobrą reputację. Prawdopodobnie też EnTrust. Jest to prawdopodobnie ważne tylko wtedy, gdy masz do czynienia z produktem skoncentrowanym na bezpieczeństwie. Myślę, że przeciętny użytkownik nie będzie tego świadomy.
  • Z punktu widzenia geeków bezpieczeństwa - jesteś tak samo bezpieczny jak bezpieczeństwo głównego urzędu certyfikacji (urząd certyfikacji). Dla prawdziwie paranoików rzeczą do zrobienia byłoby wykopanie się w tle materiału, w którym firma hostuje root i wydające CA, w jaki sposób są fizycznie zabezpieczone? bezpieczeństwo sieci? kontrola dostępu personelu? Ponadto - czy mają publiczne listy CRL (listy odwołań certyfikatów), w jaki sposób można cofnąć certyfikację? Czy oferują protokół OCSP (Online Certificate Status Protocol)? W jaki sposób sprawdzają oni, kto żąda certyfikatu, aby upewnić się, że nadaje właściwy certyfikat właściwej osobie? ... Wszystko to ma znaczenie, jeśli oferujesz coś, co musi być bardzo bezpieczne. Rzeczy takie jak dokumentacja medyczna, aplikacje do zarządzania finansami, informacje podatkowe itp. Powinny być wysoce chronione. Większość aplikacji internetowych nie jest tak wysokiego ryzyka i prawdopodobnie nie wymaga tego stopnia kontroli.

Na tej ostatniej kuli - jeśli zagłębisz się w Verisigns of the world - bardzo drogie certyfikaty - prawdopodobnie zobaczysz wartość. Mają ogromną infrastrukturę i bardzo poważnie podchodzą do bezpieczeństwa swoich urzędów certyfikacji. Nie jestem pewien co do super-tanich usług hostingowych. Mimo to, jeśli twoje ryzyko jest niskie, 300 USD za certyfikat SSL nie ma większego sensu w porównaniu do 12,99 USD!

+0

"Zielony pasek" jest tym, co naprawdę ważne. Czy te tanie oferty dają zielony pasek? – Pacerier

+0

Zielony pasek nie jest relacją 1: 1 z usługodawcą. Może to być zależne od konfiguracji przeglądarki, konfiguracji sieci, dokładności dokumentacji aplikacji certyfikatu i staranności, z jaką zarządzasz swoją infrastrukturą PKI. – bethlakshmi

+1

Przeglądarki wyświetlają "zielony pasek", gdy wykryją, że witryna używa certyfikatu Extended Validation SSL - lista przeglądarek z zrzutami ekranu pokazującymi, jak wyświetlają one sprawdzian Standardowy i Rozszerzony tutaj: https://www.expeditedssl.com/pages/visual -security-browser-ssl-icons-and-design.html –

9

Więc dla witryn internetowych serwerów/aplikacji potrzebujesz certyfikatu SSL. Potrzebujesz , a nie potrzebujesz certyfikatu EV. Używałem do tego tych z QuickSSL, ponieważ w przeciwieństwie do innych tanich dostawców certyfikatów nie wymagają instalacji pośredniego certyfikatu na serwerze - to dla mnie nikt.

Do podpisywania aplikacji, które są zupełnie innym typem certyfikatu (rodzaj, to wciąż certyfikat X509, ale ten, którego używasz na swojej stronie internetowej, nie jest tym, za pomocą którego możesz podpisać aplikację). Potrzebujesz certyfikatu podpisywania autentykacji od takich jak Verisign lub Globalsign. Są one o wiele droższe niż zwykły stary certyfikat SSL i wymagają, abyś był zarejestrowaną firmą i tworzył te dokumenty.

+0

kod zostanie pobrany (przynajmniej za pierwszym razem) za pomocą przeglądarki, więc potrzebuję EV, aby użytkownik wiedział, że naprawdę pobiera plik z zaufanej witryny, prawda? – Brann

+0

Nie, nie. Jeśli chcesz, aby instalator pokazał, skąd pochodzi i nie został naruszony, potrzebujesz certyfikatu do podpisywania kodu. Nie potrzebujesz do tego nawet certyfikatu na stronie foo.com - podpisanie kodu spowoduje wyświetlenie szczegółów Twojej firmy. – blowdart