로컬로 인증서를 생성 할 수 있는데 SSL 인증서를 구매해야하는 이유는 무엇입니까?


57

openSSL을 사용하여 로컬로 SSL 인증서를 생성 할 수있을 때 SSL 인증서를 구매해야하는 이유를 이해하는 데 어려움이 있습니다. 구입 한 인증서와 로컬로 생성 한 테스트 인증서의 차이점은 무엇입니까? 그냥 큰 사기입니까?


17
정보 보안 에 대한 CIA 트라이어드 측면에서 , 자체 서명 된 인증서는 기밀성무결성을 제공하지만 (즉, 두 당사자간에 암호화 된 메시지를 허용 함) 신뢰할 수있는 소스에서 서명 한 인증서 만 인증을 제공 합니다 (예 : 암호화 된 대화의 상대방) 실제로 당신이 생각하는 사람입니다).
apillers

10
DNSSEC가 시작되면 사람들은 자신의 인증서를 만들어 DNS 레코드에 저장할 수 있기를 바랍니다. 그러면 DNSSEC 신뢰 체인은 인증서가 도메인 소유자에 속한다는 것을 증명하기에 충분합니다. (이것은 공식화 된 사양이라고 생각하지 않지만 (아직 좋을 것입니다))
jackweirdy

2
내부 용의 경우 그룹 정책 (Windows)을 사용하여 인증서를 신뢰할 수있는 인증서로 배포 할 수 있습니다.
Ben

4
사람들이 왜 내 자신의 인쇄 된 돈도받지 않는지 종종 궁금합니다.)
tgkprog

1
참고 : 무료 기본 인증서 공급자 가 있습니다 . 이를 통해 사람들의 요구의 90 %를 충족시킬 수 있습니다. 그리고 일부 CA는 매우 저렴한 비용의 인증서를 가지고 있기 때문에 은행이 원하는 것을 무너 뜨릴 이유가 없습니다. (물론 위임의 부족)
Chris S

답변:


72

한마디-신뢰. 브라우저가 신뢰하는 제공 업체의 SSL 인증서는 사용자가 본인이라고 말하기 위해 최소한 기본 확인을 수행했음을 의미합니다.

그렇지 않으면 google.com 또는 yourbank.com에 대한 자체 인증서를 만들어서 가장 할 수 있습니다.

유료 인증서는 자체 서명 (보통)을 통한 추가 암호화 수준을 제공하지 않습니다. 그러나 자체 서명 된 인증서로 인해 브라우저에 오류가 발생합니다.

예, SSL의 일부는 사기 (verisign 인증서와 verisign이 최대 100 배 더 비싼 geotrust)이지만 전부는 아닙니다.

이것이 모두 내부적 인 것이라면, 자신 만의 트러스트 방법을 사용할 수 있기 때문에 유료 인증서가 필요하지 않습니다 (예 : 아무것도하지 않거나 지문 확인).


8
모든 내부 항목 인 경우 그룹 정책을 사용하여 인증서를 신뢰할 수있는 것으로 배포 할 수 있습니다.
Ben

2
반면에, 운전자 서명은 약간의 사기입니다. 그것이 무엇인지에 관해서는, 그렇습니다. 거대한 찢어짐이지만 우리는 선택의 여지가 없습니다. successfulsoftware.net/2008/02/27/…
Matt

2
@Matt-전에 그 기사를 읽었습니다. 직장에서 코드 서명을 할 때 우리는 단지 자체 서명하고 사람들이 서명을 확인하도록 조언하기로 결정했습니다. 고맙게도 우리는 대부분 첨단 사용자를 보유하고 있습니다.
Mark Henderson

자체 서명 된 인증서는 모든 브라우저에서 경고를 생성합니다. 공급자의 인증서는 해당 공급자의 공개 키가 내장되어 있고 인증서를 확인하고 공급자가 실제로 서명 한 것을 확인할 수 있기 때문에 모든 주요 브라우저에서 확인할 수 있습니다.
Matt

23

SSL 인증서의 요점은 브라우저가 HTTPS 트랜잭션에 대한 서버의 공개 키를 신뢰할 수있는 수준으로 신뢰하도록하는 것입니다.

먼저 인증서를 사용하지 않으면 어떻게 될지 살펴 보겠습니다. 대신, 서버는 공개 키를 일반 텍스트로 보내고 브라우저는이를 사용하여 암호화 된 통신을 시작합니다 (먼저 자신의 공개 키를 암호화하여 안전하게 전송하는 것입니다). 내가 공격자와 중간에 갇혀 있다면 어떨까요? 나는 즉시 공개 키를 내 것으로 교체하고, 브라우저와 암호화 된 연결을하고, 내가받는 모든 것들을 해독하고, 공개 키로 그것을 암호화하고, (응답 유형 트래픽의 경우 그 반대) 전송할 수 있습니다. 아무도 공개 키를 미리 알지 못했기 때문에 아무도 그 차이를 알지 못했습니다.

브라우저가 공개 키를 신뢰할 수있는 방법이 필요하다는 것을 알았습니다. 이를 수행하는 한 가지 방법은 등록 된 모든 공개 키를 브라우저에 저장하는 것입니다. 물론, 누군가 공개 키를 등록 할 때마다 업데이트가 필요하며 이로 인해 팽창이 발생할 수 있습니다. DNS 서버 1 에 공개 키를 보관할 수도 있지만 DNS 서버도 스푸핑 할 수 있으며 DNS는 안전한 프로토콜이 아닙니다.

따라서 남은 유일한 옵션은 서명 메커니즘을 통해 신뢰를 "연결"하는 것입니다. 브라우저에는 몇 개의 CA에 대한 세부 정보가 저장되며 인증서는 다른 인증서 체인과 함께 전송되며, 각 인증서는 다음 인증서에 서명하고 루트 / 신뢰 / 내장 CA로 이동합니다. 인증서를 서명하기 전에 도메인이 자신의 소유인지 확인하는 것은 CA의 일입니다.

CA가되는 것은 사업이기 때문에 비용이 청구됩니다. 다른 것보다 더 많은 것.


자체 인증서를 만든 경우 다음과 유사한 오류가 발생합니다.

여기에 링크 설명을 입력하십시오

서명되지 않은 인증서에는 가치가 없습니다. 마치 연필과 소책자, 버락 오바마라고 주장하는 여권을 그리는 것과 같습니다. 아무도 그것을 믿지 않을 것입니다.

1. 결국, 도메인을 등록 할 때 DNS 항목이 작성됩니다. 공개 키를 동시에 등록 할 수있는보다 강력한 프로토콜을 사용하는 것은 흥미로운 개념입니다.


SSL 인증서에 DNSSEC 스테이플 링을 사용할 수도 있으므로 인증서는 다른 인증 기관이 아닌 ICANN에서 CA로 (궁극적으로) 파생됩니다. Chrome에서는 이전 버전을 지원하지 않지만 현재 브라우저는 지원하지 않습니다.
Richard Gadsden 2018 년

그리고 요즘에는 특정 서비스를 특정 키 또는 특정 CA로 제한 할 수있는 DANE 및 해당 DNS TLSA 레코드가 있습니다.
Patrick Mevzek

5

귀하의 질문에 대한 답변은 독자에 따라 다릅니다. 전체 인증서 시스템은 "신뢰"를 기반으로하기 때문에 사용자는 인증서를 스스로 증명하거나이 확인을 수행 한 서드 파티를 신뢰하고 서명함으로써 성공을 보여줄 수 있어야합니다. 당신의 증명서. 내가 사용한 "인증서 증명"이라는 용어는 약간 부정확합니다. 긴 버전은 "인증서 소유자임을 증명하고 사용할 수 있음"이어야합니다.

모든 사용자가 귀하를 개인적으로 알고 있고 자신이 인증서를 발급했음을 증명할 수있는 기술적 능력이있는 경우 "인증 된"공급자의 인증서를 기술적으로 사용할 필요가 없습니다. 이 경우 자체 서명 된 인증서가 해당 공급자 중 하나의 인증서보다 낫습니다.

그러나 대부분의 경우 사용자가이 프로세스를 스스로 수행 할 가능성은 없습니다. 이 SSL 공급자는 시장에 나옵니다. 이들은 이러한 검사를 수행하고 인증서에 서명하여 검사 결과를 표현할 수있는 서비스를 제공합니다. SSL 공급자는 인증서를 서명함으로써 자체 서명 정책에 따라 인증서 발급자 신원을 확인했음을 나타냅니다. 따라서 사용자는이 정책이 정확하고 공급자를 신뢰할 수 있는지 결정해야합니다.


4

요점은 인증서가 자체 생성 인 경우 일반 사용자가 진실성을 확인할 방법이 없다는 것입니다. 구매 한 인증서의 경우 최소한 인증서 내부에 인쇄 된 내용이 올바른지 확인한다고 가정합니다. 아이디어 : 전화 및 주소를 인증서에 입력하면 CA는이를 확인하려고하지만 거의하지 않습니다.

또한 구매 인증서는 추적 가능하므로 사용자는 인증서의 출처를 항상 추적 할 수 있으며 자체 서명 된 인증서는 임의의 ID 일뿐입니다.

많은 시스템에서 과거에는 권한 부여 된 CA의 "코드 서명"이 필요했습니다. 정책 기반이지만 자체 서명 된 인증서가 너무 많아서 더 이상 100 % 시행되지 않습니다.


4

조직적인 것만으로는 기술적 인 차이가 없습니다 (자체의 보안 수준은 그다지 안전하지 않습니다). CA의 인증서는 브라우저 표준 설치의 일부가 아닙니다. 따라서 대부분의 사람들이 인증서에 연결하는 것이 불편합니다. 그러나 내부 네트워크 용 인증서를 구입하는 것은 의미가 없습니다.


3

신뢰로 귀착됩니다. "인증 된"SSL 공급자는 서버 자체의 자체 서명 인증서와 비교하여 평판이 좋을 것입니다.

조직에 자체 인증서 서명이있는 경우 이는 완벽하게 허용되며 사용자에게 인증서 키 체인을 신뢰할 수있는 소스로 사용하는 경우 경고를 발생시키지 않아야하지만 외부에서 사용하려고하면 여전히 경고를 생성합니다.

결론 : 내부 사용의 경우 유료 고객에게 외부 적으로 제공하는 경우 경고가없는 것이 안심입니다. 공인 거래처를 통해 금융 거래를하는 것이 안전합니까, 아니면 모르는 거리에 서있는 사람이 있습니까?


3

최근 LetsEncrypt 는 유효한 인증서를 생성하기 위해 명령 줄 도구를 사용할 수 있다고 발표했습니다.

확인 이메일, 복잡한 구성 편집, 만료 된 인증서가 웹 사이트를 손상시키지 않습니다. 물론 Let 's Encrypt는 인증서를 무료로 제공하기 때문에 지불을 주선 할 필요가 없습니다.

해당 인증서가 주요 브라우저에서 유효한지 궁금한 사람들은 예입니다.

2015 년 10 월 19 일, IdenTrust가 중간 인증서를 크로스 서명하여 Let 's Encrypt에서 발급 한 모든 인증서를 모든 주요 브라우저에서 신뢰할 수있게했습니다. [20]

..... 2016 년 3 월 8 일, Let 's Encrypt는 7 개월의 존재 후 백만 번째 인증서를 발급했습니다. [39]

2016 년 4 월 12 일 왼쪽 베타를 암호화합시다.

시스템 관리자 및 개발자를위한 링크 : https://letsencrypt.org/getting-started/

블록 체인 기술의 시대와 제 3 자 트러스트 시스템의 제거로 인해, 선택된 몇몇 당국에 의한 고가의 인증서 발행에 의문이 제기되기 시작한 때가되었습니다.

Letsencrypt는 블록 체인 기술과 관련이 없지만 올바른 방향으로 시작합니다. 값 비싼 인증 기관에 매년 높은 수수료를 지불해야 할 필요성이 논리적으로 끝나고 있습니다.


2

간단히 말해서 자체 서명 SSL 인증서는 아무 의미가 없습니다. 외부 세계에는 가치가 없습니다. "나는 스페인을 소유하고있다"고 말하는 것과 같습니다. 당신은 솔직하게 생각할지도 모르지만 아무도 당신의 주장을 인정하지 않을 것입니다.

비슷한 비유가 무언가를 발명 한 다음 발명에 대한 권리를 주장한다고 주장하지만, 사무실에서 특허를 등록하지 않는 한, 당신의 말을 받아들이 기가 어려울 것입니다. 지금입니까?


인증서의 요점은 사람들이 신뢰하는 기관에 의해 서명된다는 것입니다. 일부 웹 사이트에 유효한 SSL 인증서가있는 경우 소유자가 웹 사이트 등록에 어려움을 겪고 SSL 인증서를 지불하고 일부 실제 인증 기관으로부터 공식 인증을 받았으므로 저렴한 피싱 웹 사이트가 아닐 수 있습니다. 반면에 자체 서명 된 인증서를 신뢰하는 경우 피싱 웹 사이트는 자체적으로 위조 된 인증서 (행복하게 받아 들일 것임)와 voila를 생성 할 수 있다고합니다.

물론, 이것이 개인 인트라넷의 내부 네트워크 인 경우에는 이미 서로를 신뢰하므로이 경우 신뢰할 수있는 인증서는 실제로 아무 것도 추가하지 않으므로 브라우저에서 발생하는 밝은 빨간색 표시등을 무시해도됩니다. . 클라이언트-서버 트래픽의 암호화를 원하지만 위협 모델이 강력한 인증을 보증하지 않는 소규모 웹 사이트의 경우에도 마찬가지입니다.이 경우 자체 서명 된 인증서로 가져 와서 (위협 모델에서는 무시할 수 있음) MITM의 위험.

신뢰할 수있는 SSL 인증서의 가격을 고려하면 만족할 것입니다.


다시 말해서, 자체 서명 된 인증서는 "나는 내가 누구인지 믿습니다 !" 라고 말하는 입니다.


2
이것은 정확하지만 유료 인증 은 누군가가 인증 기관에 돈을 지불하는 데 어려움을 겪었다는 증거 일뿐입니다. Verisign / Namecheap / Whatever-CA의 다른쪽에있는 영업 사원은 hostmaster@example.org에 인증서를 보내는 것 이상의 작업을 수행하지 않습니다 (예 : exqmple.org 잠재적 피싱 사이트에 인증서를 보냅니다) .
89c3b1b8-b1ae-11e6-b842-48d705

1
@tristan 꽤 사실, 그들은 이런 종류의 일에 더 나은 공식 절차를 사용할 수는 있지만 물류 요구 사항이 부당하다고 생각합니다.
Thomas

1
@tristan-불완전한 시스템이지만 인증 기관은 신뢰할만한 인센티브를 가지고 있습니다. 예를 들어 임의의 사람에게 Google 인증서를 제공 한 경우 모든 브라우저에서 짧은 순서로 제거됩니다. 또한 이론적으로 더 많은 검사를 수행하는 "확장 유효성 검사"인증서를 제공합니다. 그들 중 누구라도 이것이 평판을 높이고 사업을 영위 할 것이라고 생각한다면 직접 DNA 검사가 필요하다고 결정할 수 있습니다.
Nathan Long

1
@NathanLong 부도덕 한 녀석에게 'Google 인증서'를주는 것이 아니라 EV 인증서조차도 "누군가이 도메인의 전자 메일에 응답 할 수 있습니다"라는 확인입니다. 어쨌든, 우리는 같은 점을 돌고 있습니다 : a) 사용자는 payqal.com에 돈을주지 않아야한다는 것을 알아야합니다. b) 일부 사기꾼에게는 SSL의 비용 장벽이 가치가 없습니다 .c) 유료 인증서는 더 많은 것을 의미합니다 가능성 사이트가 그것 "이 서버는 당신이 마지막으로 확인한 시간보다 같은 / 다른 사람에 의해 소유"의 시나리오에서 시드 값을 제공하는 합리적인 접근 방식)이 DNS의 하나가 원하는 조회 및 D 될 가능성이 있음
89c3b1b8- b1ae-11e6-b842-48d705

트리스탄, 그것은 비용의 일부입니다. 매우 저렴한 인증서는 매우 저렴한 유효성 검사를 수행합니다. 매우 비싼 인증서 (엔터프라이즈 수준)는 매우 비싼 유효성 검사를 수행 할 수 있습니다. (가격이 결코 검증 작업이 얼마나 잘 수행되었는지에 대한 직접적인 지표는 아니지만) 일부 인증서는 자신이 누구인지에 대한 절대적인 보증을 제공하지만 대부분의 경우 자신이 발급 된 도메인에 대한 일종의 제어권을 보장합니다. .

1

짧고 간결하게 유지하고 ...

적절한 도구를 사용하면 원하는 암호화 유형으로 로컬로 인증서를 생성하고 유효한 인증서를 얻을 수있는 것은 암호화 문제가 아닙니다.

인증 기관에서 인증서를 구입할 때 얻을 수있는 가장 큰 장점은 인증서가 유효한 기간 동안 서버에서 인증서로 서명 한 모든 것을 온라인으로 확인하는 메커니즘을 보유한다는 것입니다 ...

인증서로 디지털 제품을 확인하고 확인하기 위해 PC를 연결할 필요가 없습니다. 확인을 인증 기관으로 리디렉션해야합니다.


1

이 토론에 너무 늦게 와서 죄송합니다. openssl을 사용하면 자체 루트 인증서를 사용하여 개인 CA를 설정 한 다음이 CA가 서명 한 서버 인증서를 만들 수 있습니다. CA 루트 인증서를 브라우저로 가져오고 브라우저가이를 승인하라는 메시지가 표시되면 서버 인증서는 주석없이 수락됩니다. (이것은 사용자 커뮤니티가 작고 사용자가 모두 개인적으로 서로를 알고있는 경우에만 실행 가능한 옵션입니다.)


-2

"Trust Me"라고 말하는 사람을 믿겠습니까? 진정성에 대한 확신은 모든 사람이 신뢰하는 "신뢰할 수있는 기관"에 의해서만 제공 될 수 있습니다. 이것이 우리가 인증서에 대한 큰 돈을 조롱 해야하는 이유입니다.


2
이 논리에 따르면 무료 인증서 공급자가 없습니다. 그러나 있습니다.
Chris S
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.