openvpn 서버용 타원 곡선 키 및 인증서(ECC 및 ECDH) 생성

openvpn 서버용 타원 곡선 키 및 인증서(ECC 및 ECDH) 생성

저는 집에 openvpn이 있는 raspi를 가지고 있어서 오픈 wifi가 되는 공공장소(카페, 바, 호텔...)에서 노트북이나 휴대폰을 사용할 때 안전하게 인터넷을 탐색할 수 있습니다.

내 openvpn 서버에서 타원 곡선 암호화를 사용하고 싶습니다. 나는 openvpn 2.4와 openssl 1.0.1t를 사용합니다. openssl에서 ec 키와 인증서를 롤링하려고 시도했지만 계속 실패합니다.

필요한 파일과 openssl에서 사용하려는 명령은 다음과 같습니다.

세포외 기질

ecparam -out /openvpn/easy-rsa/ecKeys/ecca.pem -name prime256v1 -genkey
ecparam -out /home/black/ecdh256.pem -name prime256v1

ca.crt

ecparam -out /etc/openvpn/easy-rsa/ecKeys/ecca.key -name prime256v1 -genkey
req -days 3650 -nodes -new -x509 -key /openvpn/easy-rsa/ecKeys/ecca.key -out /openvpn/easy-rsa/ecKeys/ecca.crt

클라이언트 키

ecparam -out /openvpn/easy-rsa/ecKeys/client.key -name prime256v1 -genkey

클라이언트.crt

 req -days 3650 -nodes -new -key /openvpn/easy-rsa/ecKeys/client.key -out /openvpn/easy-rsa/ecKeys/server.csr

서버 키

 ecparam -out /openvpn/easy-rsa/ecKeys/server.key -name prime256v1 -genkey

서버.crt

 req -days 3650 -nodes -new -key /openvpn/easy-rsa/ecKeys/server.key -out /openvpn/easy-rsa/ecKeys/server.csr

타워 베이스

<have no idea>

openvpn 서버에서 실행하는 데 필요한 인증서와 키를 생성하기 위해 올바른 명령을 사용하고 있습니까?

EC ta 키를 생성하는 방법을 알 수 없는 것 같나요?

openvpn에서 RSA를 제어 채널로, EC를 데이터 채널로 사용하거나 그 반대로 사용할 수 있습니까?

기말고사가 다가오고 있어서 곧 답변을 드릴 수 없을 것 같습니다. 나는 재미로 이 일을 하지만 다른 사람들도 이 일을 높이 평가할 것이라고 확신합니다. 감사해요.

누군가가 관심이 있다면 내 서버를 만들 때 다음 두 웹사이트가 유용하다는 것을 알았습니다.

쉬운 Windows 가이드 - openvpn-

Debian에서 강화된 OpenVPN 서버 설정

답변1

저는 이 패키지와 함께 젠투를 사용하고 있습니다. 하지만 내 의견은아니요배포판별.

net-libs/mbedtls-2.5.2:0/10::gentoo  USE="threads zlib -doc -havege -libressl -programs {-test}" ABI_X86="(64) -32 (-x32)" CPU_FLAGS_X86="sse2"
app-crypt/easy-rsa-3.0.1-r1::gentoo  USE="-libressl"
net-vpn/openvpn-2.4.3::gentoo  USE="lzo mbedtls pam plugins ssl down-root -examples -inotify -iproute2 -libressl -lz4 -pkcs11 (-selinux) -static -systemd {-test}"

지원 참고사항:이 글을 쓰는 시점에서 openvpn의 백엔드로 mbedtls가 필요하며 OpenVPN은 PKCS11 지원과 동시에 구축할 수 없습니다. 왜인지는 모르겠지만 개발자들은 이것을 알고 있습니다. 적어도 2017년 2월 이후에는 그랬다.

올바른 명령을 사용하고 있습니까?

나는 이것에 대해 말할 수 없습니다. 저는 openssl로 직접 수행하려는 작업을 수행하기 위해 easy-rsa를 사용하고 있습니다. 그것은 아무런 문제가 없습니다. Easy-rsa는 이를 자동화합니다. 이름에도 불구하고 EC 기반 PKI를 롤링하는 데 easy-rsa를 사용할 수 있습니다.

내 easy-rsaconf의 관련 부분은 다음과 같습니다.

set_var EASYRSA_ALGO            ec
set_var EASYRSA_CURVE           brainpoolP512t1

EC 데이터 채널

알고리즘 카테고리 오류입니다. 데이터 채널은 대칭 알고리즘을 사용하여 암호화됩니다. EC는 비대칭입니다. 저에게 물어보시면 명확하게 설명해 드리겠습니다.

ta.key [...] 모르겠어요

TA 키 파일에는 초기 세션 설정을 위한 Diffe-Hellman 매개변수가 포함되어 있습니다. 이는 EC 또는 RSA 선택과 관련이 없으며 TLS가 세션을 협상하는 방법과 관련이 있습니다. 대부분의 가치는 트래픽이 인증되지 않았음을 알기 전에 서명을 확인하고 키 조회를 수행하지 않고도 트래픽을 더 빠르게 거부할 수 있다는 것입니다. 다른 사람의 지침을 사용하여 이 기능을 정의하고 사용할 수 있습니다.

관련 정보