レンタルサーバー・自宅サーバー設定・構築のヒント - レンタルサーバー・自宅サーバーの設定・構築情報を公開しています。
レンタルサーバー・自宅サーバー設定・構築のヒント
ブラウザの JavaScriptが無効となっている場合、このページの一部を表示することができません。
全ての情報を表示するには、JavaScriptを有効にして再表示してください。m(__)m

SSL 認証 の仕組みと OpenVPN の認証の仕組み

登録日 2013年1月15日 | 最終更新日 2013年1月16日 | タグ

OpenVPNイメージ

OpenVPN を使って仮想LAN接続してみる で、OpenVPNを使った仮想プライベートネットワークを構築してみました。
その際に、簡単にOpenVPNの認証の仕組みについて、解説が長くなってしまうので図だけを掲載してました。

今回は、その図の簡単な解説を加えておきます。

VPN は、
Virtual Private Networkの略で、日本語では仮想プライベートネットワークと訳されています。

OpenVPN の認証の仕組み

OpenVPN の認証の仕組みの基本は、SSL 認証 になります。SSL 認証の技術を用いてサーバー・クライアント双方の認証手続きをするのが非常に特徴的です。
さらに加えて TLS-AUTH HMAC 共有鍵 を用いて すべてのSSL/TLSハンドシェイクパケットにHMAC署名によるパケットの整合性をチェックです。

つまり、2重、3重にチェックを行う点で、かなりセキュリティ強化を実現しています。

さて、先に書いた通り OpenVPN の認証の仕組みを理解する上で SSL 認証の理解は不可欠です。まずは、SSL 認証について簡単に解説してみます。

SSL 認証の仕組み

認証の手続きで、もっとも簡単な手続きは、ユーザIDパスワードという組み合わせだと思います。
これは、非常に手軽なのですが、ユーザIDパスワードさえわかれば、なりすましが簡単にできる点で非常にセキュリティの面で弱いという側面を持ちます。

そこで考えられたのが暗号化、認証、改竄検出の機能を提供するSSL(Secure Sockets Layer)です。 単純にSSLと言った場合、厳密には、TLS(Transport Layer Security)のことを指すことが多いです。
そもそも、TLSSSLをもとに考えられたことが所以で、一般的に SSL/TLS などと呼ばれることも多いです。

いずれもプロトコルを指し、いわゆる手順です。
ここでは、SSLで通したいと思います。

以下は、そのSSLの認証手順をWebサーバーのSSL通信手順( いわゆる https ) を 簡単に図にした様子です。これをもとに簡単に解説してみたいと思います。

SSLの認証手続き概略図
  1. 前準備として、認証局からサーバー証明書を取得する必要があります。

    SSLを行うには、秘密鍵、証明書(公開鍵を含む)の2つが必要になります。

    証明書(SSLサーバー証明書)は、認証局が発行します。その際に必要なものが、CSRです。 CSRは、サーバー簡単に作成することができます。また、このCSRを作成する際に、秘密鍵も作成されます。 ここで作成した秘密鍵は、非常に大事なものですから、厳重に管理しておく必要があります。

    認証局へ、ここで作成したCSRを送付してサーバー証明書を受理します。
    一般的には、ショップ系など信用第一のウェブサイトには、パブリック認証局からのサーバー証明書が必要になるでしょう。 ただ、このサーバー証明書が非常に高価なので、単純にSSL機能を使ってセキュリティアップを図りたい場合などは、プライベート認証局を自らのサーバー起こして利用することが多いです。

    認証局とは、
    CA(Certificate Authority)とも呼ばれ、正確には、公開鍵証明書認証局と呼ばれています。
    つまり、サーバー証明書が「正しいですよ」と認定してくれる認証機関であり、実際にはウェブ上のサーバーとなります。 パブリック認証局(いわゆる公に認められている認証局)で有名なのがベリサイン などです。 逆に認証局の機能を自前で行うことをプライベート認証局と言います。

    CSRとは、
    Certificate Signing Request略で、署名要求(書(ファイル))と呼ばれているもので、実際には電子情報になります。 単純に読めるようなテキスト情報ではありませんが、ここには、公開鍵、サーバーに基本情報などが含まれています。 その情報から認証局は、CSRに含まている公開鍵に署名したものを埋め込んだサーバー証明書(認証局の情報も含まている)を発行します。

    証明書を得たら、サーバーに組み込みます。サーバーへの組み込み方は本筋ではないので、ここでの解説は省略します。

    ここまでWebサーバーの準備ができたら、以降、いよいよSSLの認証手順になります。


  2. ユーザがWebサーバーへSSL接続(https)要求がきた場合、Webサーバーはサーバー証明書を返信します。

    ユーザ側で、
    受信したサーバー証明書から、その証明書に署名されている認証局(CA)のルート証明書(CA証明書)を取り出します。 そのルート証明書(CA証明書)が、Webブラウザに組み込まれている(信頼できるサイト一覧の中)CA証明書と一致するか確認します。 (これで、サーバー証明書の信頼性をチェックします)


  3. 認証局(CA)のルート証明書からCA公開鍵を取得します。

    ユーザ側で、
    先に取り出した認証局(CA)のルート証明書(CA証明書)から認証局の(CA)公開鍵を取り出します。


  4. CA公開鍵とサーバー証明書からサーバー公開鍵を複合化します。

    ユーザ側で、
    先に取り出した認証局(CA)の(CA)公開鍵と受信しているサーバー証明書からサーバー公開鍵を複合化し取り出します。


  5. 共通鍵作成のためのランダム数値を作成し、サーバー公開鍵によって暗号化しWebサーバーへ通知します。

    ユーザ側で、
    暗号化した通信を行うための一時的な鍵を作成するためのランダムな数値を作成し、Webサーバーへ通知します。もちろん、この時の通知の際もサーバー公開鍵によって暗号されています。


  6. ランダム数値からサーバー用の共通鍵を作成します。

    ユーザ側で、
    先のランダム数値からWebサーバーとの暗号化した通信を行うための一時的な鍵を作成します。


  7. ランダム数値からサーバー用の共通鍵を作成します。

    Webサーバー側で、
    受信した暗号化されたランダム数値をサーバーの秘密鍵で復元し、ユーザとの暗号化した通信を行うための一時的な鍵を作成します。

    これで通信のための共通的な鍵が作成されたので、以降、暗号化通信が行われます。
    いわゆるここまでが、SSL認証の手順になります。



OpenVPN認証の仕組み

OpenVPN の認証の仕組みの基本は、SSL 認証 になります。SSL 認証の技術を用いてサーバー・クライアント双方の認証手続きをするのが非常に特徴的です。
さらに加えて TLS-AUTH HMAC 共有鍵 を用いて すべてのSSL/TLSハンドシェイクパケットにHMAC署名によるパケットの整合性をチェックです。

つまり、2重、3重にチェックを行う点で、かなりセキュリティ強化を実現しています。

さて、先に書いた通り OpenVPN の認証の仕組みを理解する上で SSL 認証の理解は不可欠です。まずは、SSL 認証について簡単に解説してみます。

先にも書きましたが、OpenVPNでは、
SSL/TLS の認証手続きをサーバー、クライアント双方で行います。
さらに加えて TLS-AUTH HMAC 共有鍵 を用いて すべてのSSL/TLSハンドシェイクパケットにHMAC署名によるパケットの整合性をチェックです。

OpenVPN を使って仮想LAN接続してみる でも掲載した図は、以下の図です。
openvpnの認証手続き概略図

先のSSL認証手順との違いは、
この図からもおわかりのとおり、認証局は自前のもの(プライベート認証局)を使っている点です。 既にプライベート認証局にて、サーバー証明書を発行し、サーバーに組み込んだ状態からの図になっています。 あらかじめ準備していないといけないもの は、以下のとおりです。


あらかじめ準備していないといけないもの
クライアントサーバー
  • プライベートCA証明書
  • クライアント証明書
  • クライアント秘密鍵
  • TLS認証鍵
  • プライベートCA証明書
  • サーバー証明書
  • サーバー秘密鍵
  • TLS認証鍵

OpenVPN を使って仮想LAN接続してみる では、ここで必要な各ファイルは、すべて同じサーバーで作成しています。

まず、サーバー認証、接続してきたクライアントの認証を行い、お互いに認証できたら、暗号化通信が開始されます。
その際、ハンドシェイク通信(常に細かい通信を行い相手の存在を確認するもの)を行うわけですが、設定されていれば、 そのハンドシェイクにTLS認証のための署名を行ってさらにセキュアな通信を行います。


この記事をかい出したときは、この複雑なOpenVPNの認証手続きを解説しようと思っていたのですが、 ほぼ、SSL認証の解説になってしまいました。^^;

SSL認証がしっかり理解できていれば、OpenVPNの認証は、それを2重、3重に組み合わせてセキュアにしたものですから、理解できるものと思います。:)


関連記事 :

WindowsでOpenVPNへのクライアント接続を自動化する

ここまで、以下のようにOpenVPNおよびSambaに関して記事を書いてきました。 Samba を使ってファイル共有してみる Op ...

Postfix で Submissionポート(サブミッション・ポート)& SMTP-AUTH(認証)& STARTTLS or SSL/TLS を使ってみる

前回までの関連記事 Debian(Ubuntu)で postfix を使ってみる postfixを使って単純に全メールを1つのメールサーバーへ転 ...

OpenVPN を使って仮想LAN接続してみる

Samba を使ってファイル共有してみる では、Sambaを使ってファイル、ディレクトリの共有を行ってみました。 ただ、Sambaをそのままインタ ...

apache でSSLを使ってみた(クライアント証明書失効編)

apache でSSLを使ってみた(クライアント認証編) では、SSL接続のクライアント証明書を使った認証までを解説しました。 今回は、先のクライ ...

OpenVPNイメージ

OpenVPN で不要になったクライアント証明書を無効にし、該クライアントからの接続を拒否する

今回は、OpenVPN を使って仮想LAN接続してみる の補足です。 SSL 認証 の仕組みと OpenVPN の認証の仕組み の認証方法から ...



新着記事 :

maildropイメージ

以下の記事では、maildropのインストールおよび簡単な使い方について解説してきました。 procmailの代わりに(rpmを作成し ...

mysqlイメージ

mysql のレプリケーションを使っている時、以下のような警告メッセージが出力されることがあります。 130529 12:22:26 ...

ConoHa VPS では、なぜか、VPSを作成する際に、OSの選択ができません。 そんため、デフォルトOSであるCentOSを必ず1 ...

ConoHa VPS, お名前.com VPS で提供される SSH Private Keyは、使わない方が良い理由 では、SSH Pr ...

ConoHa VPS, お名前.com VPS では、SSH Private Key のダウンロードができます。 これは、以下の目的で ...



コメントを投稿 :

お名前 *

メールアドレス *
(コメント欄には、表示されませんが入力が必要です。)

サイトアドレス

Current month ye@r day *



最近投稿の記事

maildropイメージ

以下の記事では、maildropのインストールおよび簡単な使い方について解説してきました。 procmailの代わりに(rpmを作成し ...

mysqlイメージ

mysql のレプリケーションを使っている時、以下のような警告メッセージが出力されることがあります。 130529 12:22:26 ...

ConoHa VPS では、なぜか、VPSを作成する際に、OSの選択ができません。 そんため、デフォルトOSであるCentOSを必ず1 ...

ConoHa VPS, お名前.com VPS で提供される SSH Private Keyは、使わない方が良い理由 では、SSH Pr ...

ConoHa VPS, お名前.com VPS では、SSH Private Key のダウンロードができます。 これは、以下の目的で ...


一押し!!レンタルサーバー(VPS)

さくらのVPS
さくらのVPS
評判のさくらのVPS 新プラン提供開始です。:)
root権限ありで ¥980 / 月 (初期設定費 ¥0) と非常にリーズナブルな CPU 2(core)の 1G プランから、 最高 CPU 6(core), メモリ 8(GB), 容量 800(GB) までとプランが充実。
さらに ディスクがSSDになったSSDプランをリリース。かなりの負荷耐久性を実現。

また、どのプランでも好きなOSが選べます:)
( CentOS, Fedora, Scientific Linux, FreeBSD, Ubutu, Debian )

管理人もおすすめのVPSです。
試用期間がありますから、一度、お試しを!!

詳しくは、http://vps.sakura.ad.jp/さくらのVPSのサイトへ へどうぞ!!

おすすめのVPSは、こちらをご確認ください。


カテゴリ


一押し!!キャンペーン情報


Serverman@VPS 完全1ヶ月無料 キャンペーン実施中です。:)

  • メモリ1GB~2GBのEntryプラン :月額:490円
  • メモリ2MB~4GBのStandardプラン :月額:980円
  • メモリ4GB~8GBのProプラン :月額:1,980円

新規申し込みで1ヶ月間完全無料となるキャンペーンを実施中です。
Serverman@VPSの特徴は、安さとIPv6対応です。また、初期設定費0円もポイントです。(Y)

IPv6でちょっと遊んでみたい方には、おすすめかもしれませんね。最低利用期間もありませんから、気に入らないときは即解約もできます。:)

Serverman@VPSの詳細については、 http://dream.jp/vps/ Serverman@VPSのサイトへへどうぞ。

その他のキャンペーン情報は、こちらをご確認ください。




Valid XHTML 1.0 Transitional


サーバーおすすめ情報


さくらのVPSのガチ対抗
お名前.com VPS(KVM) ^^;
1GBメモリ / 2Core を ¥834 – の格安価格で提供中です!:)

全プラン 初期設定費無料 キャンペーン ( 2013/11/21 12:00 まで) 実施です。:D

メモリ2GBプラン CPU:3core、Disk:200GB
月額:1,153円から (初期設定:1,680円0円)

現在このサイトは、さくらのVPSからお名前.com VPS へ移管中です。良い感じです。:)

間違いなくスペックからすると割安感ありです。年間割引時の途中解約で返金がないのは、ちょっと残念ですが、それでもこの割安感は魅力です。^^;

まずは、お試しですね。:)

お名前.com VPS(KVM)の詳細については、
http://www.onamae-server.com/vps/ お名前.com VPS(KVM)のサイトへへどうぞ。(お試し期間が15日あります。)






  • ソーシャルブックマーク

  • はてなブックマークへ追加するはてな登録数