4D v16.3

TLSプロトコルの使用

ホーム

 
4D v16.3
TLSプロトコルの使用

TLSプロトコルの使用  


 

 

4D Webサーバは、TLS (Transport Layer Security) プロトコル(SSL (Secured Socket Layer) プロトコルの後継版)を通じて、保護モードで通信する事ができます。デフォルトで、4Dでサポートされている最低限のバージョンはTLS 1.2となります。

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

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

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

注: TLSプロトコルは、標準な4D Serverクライアント/サーバーの接続を保護するためにも使用されます。 詳細は、4D Serverリファレンスマニュアルのクライアント/サーバー接続の暗号化とSQLリファレンスマニュアルの4D SQLサーバの設定を参照してください。

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

  • 認証: 送信者と受信者のIDを確認します。
  • 機密性: 送信データをコード化します。そのため第三者はメッセージを解読することができません。
  • 整合性: 受信データが偶発的にまたは故意に修正されることはありません。

TLSは公開鍵暗号化技術を用います。これは、暗号化と復号化の非対称鍵のペアである公開鍵と秘密鍵に基づいています。
秘 密鍵はデータを暗号化するために使用されます。送信者 (Webサイト) は、それを誰にも渡しません。公開鍵は情報を復号化するために使用され、証明書を通して受信者 (Webブラウザー) へ送信されます。インターネットでTLSを使用する際、証明書はVerisign®などの認証機関を通して発行されます。Webサイトは証明書を認証機関 から購入します。この証明書はサーバ認証を保証し、保護モードでのデータ交換を許可する公開鍵を格納しています。

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

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

注: ブラウザーはルート証明書がインストールされた認証機関によって発行された証明書のみを許可します。ルート証明書がインストールされていない場合、通常警告が表示されます。

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

デジタル証明書の取得

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

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

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

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

4. 証明書を取得したら、“cert.pem” という名前でテキストファイルを作成し、その証明書の内容をそのファイルへコピーします。
証明書は様々な方法で受け取る事ができます(通常はEメールまたはHTML形式で受け取ります)。4D は証明書に関しては全プラットフォームに関連したテキストフォーマットを受け付けます(OS X、Windows、Linux、等)。ただし証明書はPEMフォーマット、つまりbase64でPKCSエンコードされている必要があります。

注: CR改行コードは、それ単体ではサポートされていません。改行コードはCRLF またはLF を使用して下さい。

5. "cert.pem" ファイルを適切な場所に保存します。Web サーバーの場合は、データベースストラクチャーが格納されているフォルダーに保存します。
Webサーバーが保護モードで動作するようになります。証明書は6ヶ月から1年間の間で有効です。

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

  • 4DSLI.DLL (Windows) または 4DSLI.bundle (Mac OS): TLS管理専用のDLL (Secured Layer Interface)
    このファイルはデフォルトでインストールされ、以下の場所に配置されています。
    • Windowsでは、4Dまたは4D Serverアプリケーションの実行ファイルの隣。
    • Mac OSでは、4Dまたは4D Serverパッケージの Native Components サブフォルダ内。
  • key.pem (秘密暗号鍵を格納するドキュメント) とcert.pem ("証明書" を格納しているドキュメント):
    • 4Dのローカル モードまたは4D Serverでは、これらのファイルはデータベースストラクチャファイルと同階層に保存されていなければなりません。
    • 4D のリモートモードでは、これらのファイルはリモートマシンのデータベースのローカルリソースフォルダに置かれなければなりません。このフォルダの場所に関する 情報は、Get 4D folderコマンドの説明内、4D Client Database Folderの段落を参照してください。これらのファイルは 手作業でリモートマシンにコピーしなければならない点に留意してください。

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

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

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

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

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

保護モードで実行されるWeb接続に対しては、ブラウザによって送られるURLは、"https" ("http" の代わりとして) で始まる必要があります。この場合、ブラウザに警告ダイアログが現れます。ユーザーがOKをクリックすると、Webサーバーはブラウザに証明書を送ります。


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

警告: 許可された暗号化のレベルは、使用する国の現行の法律によって異なります。

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



参照 

DECRYPT BLOB
ENCRYPT BLOB
GENERATE CERTIFICATE REQUEST
GENERATE ENCRYPTION KEYPAIR
WEB Is secured connection
Webサーバー設定

 
プロパティ 

プロダクト: 4D
テーマ: Webサーバ

 
履歴 

 
タグ 

cert.pem, key.pem, 4DSLI.DLL

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)