
openvpn 서버가 있고 클라이언트는 SSL 인증서를 사용하여 인증합니다. 클라이언트 인증서가 만료될 때마다 새 인증서를 발급하여 클라이언트로 보내야 합니다.
openvpn의 easyrsa에고쳐 쓰다명령을 실행했지만 AFAIK는 실제로 갱신하지 않습니다.Easyrsa "갱신"은 오해의 소지가 있는 이름입니다. · Issue #345 · OpenVPN/easy-rsa
따라서 질문은: 클라이언트 사용자에게 새 파일을 보내는 것을 피하기 위해 만료 여부에 관계없이 SSL 인증서의 유효성을 기술적으로 연장하는 것이 가능합니까?
답변1
이것은 매우 좋은 질문입니다 :-).
Technically : yes (at the end the client could use expired one to connect)
Easily : no
원칙적으로 CA는 특정 유효 기간으로 인증서 요청에 서명하므로 연장할 수 없습니다. 당신이 할 수 있는 일은 새로운 인증서를 생성하는 것이며 까다로운 부분은 발급 과정과 유효성을 확인하는 과정에 있을 수 있습니다.
처음에는 다음 내용이 일반적으로 인증서와 기술적으로 관련되어 있으며 openvpn으로 테스트하지 않았다고 언급하는 것이 공정할 것입니다. 전체 답변을 통과하지 못하면 NO :-(가 됩니다.
openVPN 구성에는 인증서와 관련된 3가지 매개변수(ca, key, cert)가 있습니다.
key : 데이터 서명을 위한 개인 키입니다. 암호화된 데이터를 해독하는 데 사용할 수 있습니다.인증서.
cert : 공개 키(에서 파생됨)열쇠) 키로 서명된 데이터의 유효성을 확인합니다. 키에 대한 데이터를 암호화하는 데 사용할 수 있습니다. 이는 보안 연결 협상 중에 "다른 쪽 끝"에 제공됩니다. / 이 시나리오는 유효한 인증서가 원격 측에서 이미 알려져 있으므로 인증서 전송이 선택 사항일 수 있고 만료된 인증서는 무시될 수 있는 경우에 적용됩니다.
ca : 보안 연결 협상 시 제공된 인증서의 유효성을 확인하는 데 사용됩니다.
클라이언트 인증서가 만료되면 문제는 다음과 같습니다.인증서구식입니다. 원칙적으로 키는 만료되지 않으며 CA는 만료되어서는 안 됩니다(이 경우 완전히 다른 사용 사례입니다 ;-)). 인증서에는 유효 기간이 포함되어 있으며 x.509 구조에서 CA가 서명한 "봉투"의 일부입니다.
새 인증서를 생성하면서 새 키를 생성하는 것이 좋은 방법이지만 이 단계를 강제하는 것은 없으므로 기술적으로 실제로 인증서가 만료되는 것과 같은 동일한 키를 사용하여 CSR(인증서 서명 요청)을 생성하는 것은 문제가 되지 않습니다. 기존 CSR을 사용할 수 있는 경우 새 인증서에 직접 사용할 수 있습니다. 이 CSR이 CA로 서명되면 새 인증서는 "이전" 키에서 파생됩니다.
까다로운 부분은 다음 중 하나가 필요하다는 것입니다.
인증서를 교체하려면 이 새 인증서를 현재 사용자에게 전달하세요.
클라이언트가 제공한 만료된 인증서 대신 사용할 수 있도록 이 인증서에 대해 서버에 알려주세요. (이는 이 사용 사례의 이론적인 부분입니다 ;-))
내가 아는 것은 더 많은 CA 인증서를 결합할 수 있다는 것입니다.캘리포니아문제 없이 서버의 구성에 링크된 파일입니다(PEM 형식). 기술적으로 "사용자" 인증서와 "ca" 인증서는 CA로 사용될 수 있는지 여부를 나타내는 매개변수가 다릅니다. 따라서 기술적으로 CA 인증서와 새로 생성된 인증서를 하나의 파일로 결합할 수 있습니다.
이 파일이 준비되면(대부분 openvpn 서버를 다시 시작해야 함) 새 연결 설정을 시도할 수 있습니다. 키가 있는 클라이언트가 연결을 시도하면 서버가 서버에 있는 이 클라이언트 인증서와 쌍을 이루는 해시를 기반으로 키를 "식별"하고 클라이언트가 제공한 인증서를 무시할 수 있습니다(이것은 테스트되어야 함). ). 기술적으로(기술로서의 인증서의 관점) 작동할 수 있지만 openVPN에서는 시도하지 않았습니다. openVPN은 SSL에 대한 외부 라이브러리를 사용하므로 작동하는 접근 방식일 수 있습니다 ;-).
클라이언트 측에는 서버 측을 증명하기 위한 CA(만료되지 않음), 통신에 서명하고 해독하기 위한 키(만료되지 않음)가 필요하며 자체 인증서는 로컬 작업에 실제로 필요하지 않으므로 만료된 인증서는 실제로 문제가 되지 않습니다. 서버의 인증서는 SSL 협상 중에 가져오고 로컬 CA 인증서를 사용하여 확인되므로 필요한 모든 항목(로컬 키, 원격 인증서)을 사용할 수 있습니다.
이 접근 방식의 단점은 클라이언트 인증서 유효성 검사를 위한 단일 인증서로서 CA의 이점이 약간 손실된다는 것입니다(CA 인증서 옆의 서버 측에 나열해야 함). 반면에 갱신 가능성이 있다는 장점도 있습니다. 인증서 ...
시도해 보시려면 자유롭게 피드백을 제공해 주세요...
행운을 빌어요!
계획의 경우 다른 접근 방식은 긴 유효 범위 인증서를 발급하고 CRL(인증서 재배치 목록)을 활용하여 해당 기간 동안 유효하지 않은 인증서를 취소하는 것입니다. 하지만 이것은 이 질문의 범위가 아닙니다...