SSLプロトコルの使用

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2003 (Modified)


SSL (Secured Socket Layer) プロトコルを通じて、4D Webサーバは保護モードで通信することができます。

SSLプロトコルの定義

SSLプロトコルは2つのアプリケーション、主にWebサーバとブラウザ間でのデータ交換を保護するために設計されています。このプロトコルは幅広く使用されていて、多くのWebブラウザとの互換があります。

ネットワークレベルにおいては、SSLプロトコルはTCP/IPレイヤ (低レベル) とHTTP高レベルプロトコルとの間に挿入されます。SSLは主にHTTPで動作するために指定されます。

SSLを用いたネットワーク設定

Note: SSLプロトコルは、標準な4D Serverクライアント/サーバの接続を保護するためにも使用されます。 詳細は、4D Server Referenceマニュアルにある クライアント/サーバ接続の暗号化 の節を参照してください。

SSLプロトコルは、送信者と受信者を認証するために設計され、交換された情報の機密性と整合性を保証します。

認証: 送信者と受信者のIDを確認します。

機密性: 送信データをコード化します。そのため第三者はメッセージを解読することができません。

整合性: 受信データが偶発的にまたは故意に修正されることはありません。

SSLは公開鍵暗号化テクニックを用います。これは、暗号化と復号化の非対称鍵のペアである公開鍵と秘密鍵に基づいています。

秘密鍵はデータを暗号化するために使用されます。送信者 (Webサイト) は、それを誰にも渡しません。公開鍵は情報を復号化するために使用され、証明書を通して受信者 (Webブラウザ) へ送信されます。インターネットでSSLを使用する際、証明書はVerisignRなどの認証機関を通して発行されます。証明書を発行するには、Webサイトがこの認証機関に支払います。この証明書はサーバ認証を保証し、保護モードでのデータ交換を許可する公開鍵を格納しています。

Note: 暗号化メソッドと公開鍵および秘密鍵に関する詳細は、ENCRYPT BLOB コマンドの記述を参照してください。

証明書の取得方法

保護モードで起動している4D Webサーバでは、認証機関の電子証明書が必要です。この証明書には、サイトIDやそのサイトとの通信に使用する公開鍵など、様々な情報が格納されています。そのサイトに接続した際に、証明書がWebブラウザへ送られます。証明書が識別され受け入れられると、保護モードで通信が開始します。

Note: ブラウザはプロパティで参照されている認証機関によって発行された証明書のみを許可します。

認証機関が、複数の条件によって選択されます。認証機関が一般によく知られていると、証明書は多くのブラウザによって許可されます。ただし、支払料金は高くなります。

SSL証明書の取得

1. GENERATE ENCRYPTION KEYPAIR コマンドを使用して、秘密鍵を作成します。

警告: セキュリティ上の理由により、秘密鍵は常に機密でなければなりません。実際、秘密鍵は常にWebサーバマシンと一緒に存在しているべきです。Key.pem ファイルは、データベースストラクチャフォルダに保存されていなければなりません。

2. 証明書のリクエストを発行するために、GENERATE CERTIFICATE REQUEST コマンドを使用します。

3. その証明書リクエストを選択された認証機関へ送ります。

証明書リクエストを記入する際、認証機関への問い合わせが必要となる場合があります。認証機関は送信されてきた情報が正確なものかを確認します。その証明書リクエストは、PKCSフォーマットを用いて、BLOB内で作成されます。このフォーマットを使用すると、テキストとしてキーをコピー&ペーストできます。キーのコンテンツを修正せずに、E-mailで送ります。例えば、テキストドキュメントに証明書リクエストを含んでいるBLOBを保存します (BLOB TO DOCUMENT コマンドを使用) 。そして、コンテンツを開き、それをコピーして、認証機関へ送信するメールまたはWebフォームにペーストします。

4. 証明書を取得したら、“cert.pem” という名前を持つテキストファイルを作成し、その証明書の内容をそのファイルへコピーします。

証明書を別の方法で受け取ることが可能です (通常、E-mailまたはHTMLフォームによって) 。4D Webサーバは、証明書に対してプラットフォームに関連するテキストフォームをすべて受け入れます (Mac OS、PC、Linuxなど) 。ただし、証明書はPKCSフォーマットでなければなりません。

5. "cert.pem" ファイルをデータベースストラクチャフォルダに保存します。

Webサーバが保護モードで動作するようになります。証明書は6ヶ月から1年の間で有効です。

4D内でのSSLインストールと起動

4D Webサーバと一緒にSSLプロトコルを使用したい場合、以下の要素が別の場所にインストールされていなければなりません。

4DSLI.DLL: SSL管理専用のDLL (Secured Layer Interface)

このファイルはデフォルトでインストールされ、以下の場所に配置されています。

- Windowsでは、4Dまたは4D Serverアプリケーションの実行ファイルの隣。

- Mac OSでは、4Dまたは4D Serverパッケージの [4D Extensions] サブフォルダ内。

key.pem: 秘密暗号鍵を格納するドキュメント

- 4Dのローカルモードまたは4D Serverでは、このファイルはデータベースフォルダ内に保存されていなければなりません。

- 4Dのリモートモードでは、このファイルは4Dアプリケーションフォルダ/パッケージ内に保存されていなければなりません。

cert.pem: "証明書" を格納しているドキュメント

- 4Dのローカルモードまたは4D Serverでは、このファイルはデータベースフォルダ内に保存されていなければなりません。

- 4Dのリモートモードでは、このファイルは4Dアプリケーションフォルダ/パッケージ内に保存されていなければなりません。

Note: また4DSLI.DLLは、暗号化コマンド ENCRYPT BLOBDECRYPT BLOB を使用するときも必要です。

これらの要素をインストールすることにより、4D Webサーバへ接続するためにSSLの使用を可能にします。ただし、SSL接続が4D Webサーバによって受け入れられるようにするには、SSLを "アクティブ" にしなければなりません。データベースの環境設定にあるWebテーマの設定上で、この引数へアクセスできます。

デフォルトで、SSL接続が許可されています。SSLの機能をWebサーバと一緒に使用したくない場合や、安全な接続を許可している他のWebサーバが同じマシンで起動している場合は、このオプションのチェックを外します。

SSLデータ交換専用のTCPポートはデフォルトで443です。例えば、Webサーバのセキュリティを強化する場合など、HTTPSポート番号エリアでこのポート番号を修正することができます (このポートに関する詳細は、Webサーバ設定 の節を参照してください) 。 環境設定のページで定義されたTCPポートは、標準モードのWebサーバ接続の際に使用されます。

Note: SSLモードでサーバが起動していても、していなくても、4D Web サーバ管理 (パスワード、タイムアウト、キャッシュサイズなど) 用に定義された別の環境設定が適用されます。

SSLでブラウザの接続 

保護モードで実行されるWeb接続に対しては、ブラウザによって送られるURLは、"https" ("http" の代わりとして) で始まる必要があります。

この場合、警告ダイアログがブラウザ上に表示されます。ユーザがOKをクリックすると、Webサーバは証明書をブラウザへ送信します。

接続するために使用する暗号化アルゴリズムは、ブラウザとWebサーバによって決定されます。サーバはいくつかの相称的な暗号化アルゴリズム (RC2、RC4、DESなど)を提供します。一番効果のある共通なアルゴリズムが使用されます。

警告: 許可された暗号化のレベルは、使用する国の現行の法律によって異なります。4D Web サーバによって提供された暗号化のレベルは、使用する暗号化システムライブラリのバージョンに応じます。デフォルトで、4Dは相称的なアルゴリズムが40ビットまでに制限されるライブラリの "書き出し" バージョンを提供します。

接続モードの管理 

4D WebサーバとのSSLの使用は、何か特別なシステム環境の設定を必要としません。ただし、SSL Webサーバは非保護モードにおいても動作するということを覚えておいてください。例えば、ブラウザが要求するのであれば、接続モードは他のモードへ切り換えることが可能です (例としては、ブラウザURLエリアで、ユーザは "HTTPS" を "HTTP" と置き換えることができます) 。デベロッパは、非保護モードで作成されたリクエストを禁じたり、リダイレクトすることができます。Secured Web connection コマンドを使用すると、現在の接続モードを得ることが可能です。

参照

DECRYPT BLOB, ENCRYPT BLOB, GENERATE CERTIFICATE REQUEST, GENERATE ENCRYPTION KEYPAIR, Secured Web connection, Webサーバ設定.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次