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をデータチャネルとして使用するか、その逆に使用できますか?

期末試験が近づいているので、すぐに答えることができないようです。私はこれを楽しんでいますが、他の人もこれを高く評価することを確信しています。ありがとうございます。

誰かが興味があれば、私のサーバーを作成するとき、次の2つのウェブサイトが役に立つことがわかりました。

簡単なWindowsガイド - openvpn-

Debian で強化された OpenVPN サーバーの設定

答え1

私はこのパッケージでGentooを使用しています。しかし、私の意見はいいえディストリビューション。

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 がセッションをネゴシエートする方法に関連しています。ほとんどの価値は、トラフィックが認証されていないことを知る前に署名を確認し、キールックアップを実行せずにトラフィックをより迅速に拒否できることです。他のユーザーの指示を使用して、この機能を定義して使用できます。

関連情報