Skip to main content

機能詳細(安全なデータ転送の実現)

HCPtoolsは、安全な利用を実現するために、機密性の確保(正しい通信相手の特定)とデータ到達の完全性を確保するための機能を提供します。

  • 認証には、PKI(Public Key Infrastructure 公開鍵暗号基盤)の技術を利用し、安全に正しい通信相手と情報のやりとりを行います。
  • 通信の暗号化には、国際標準のAES(Advanced Encryption Standard 高度暗号化標準)を採用し、機密情報の漏えいを防止します。
  • 特権分離やアクセスコントロールリストの機能を備え、きめ細やかなアクセス制御を行います。
  • データ完全性検査機能を備え、ネットワーク上のエラー等によるデータの誤り検出を行います。
  • 通信再開機能により、予期せぬ理由でデータ転送が中断されても、前回の続きから処理を再開することができます。

認証#

HCP toolsは、次の標準的な認証機能をサポートしています。

  • PAM (Pluggable Authentication Modules)認証
  • 公開鍵認証
  • Windows認証

また、HCP toolsで設定できるユーザ認証の種類は以下の通りです。

種類関連設定項目内容
PAM認証(Linux)PAMAuthenticationPAM(Pluggable Authenticaton Module)認証設定
RSA認証PubkeyAuthenticationRSA(Rivest-Shamir-Adleman cryptosystem)認証設定
LPA認証LocalPasswordAuthenticationLPA(Local Password Authentication)認証設定
WLU(Windows認証)WinLogonUserAuthenticationWindows認証設定

HCP toolsのPAM認証は、LDAP(Lightweight Directory Access Protocol)認証にも対応することができます(配備環境がlogindなどでLDAP認証を使用する様に構成されている場合)。その場合、/etc/pam.d/hcpdに保存されたHCP toolsのUnixデーモン向けのPAM認証設定を参照してLDAP認証を行います。PAM認証機構が提供する任意の設定を利用できます。

Windowsサーバでは、Active Directory (AD) のドメイン認証機能などを含み(単にユーザ名の前にドメイン名を付けるだけです)Windowsログオン機能を利用することができます。

関連オプション

コマンド短縮名オプション名概略
hcp/hsync/hrm/hcp-ls/hmkdir/hpwd/hmv/hln/hchmod/hchownwss-no-check-certificateサーバ証明書の検証無効化(WebSocket(SSL/TLS)通信時)
userユーザ名を先に指定して転送
passwordパスワードを先に指定して転送

関連設定項目

分類項目名内容
サーバ設定項目LocalPasswordAuthenticationLPA(Local Password Authentication)認証設定
PAMAuthenticationPAM(Pluggable Authenticaton Module)認証設定
PubkeyAuthenticationRSA(Rivest-Shamir-Adleman cryptosystem)認証設定
WinLogonUserAuthenticationWindows認証設定
PerformSystemAuthenticationRegardlessUsersシステム認証(PAM認証、Windows認証)実行制御
AuthorizedKeySearchDir公開鍵探索ディレクトリの指定(RSA認証)
AuthorizedKeyFile公開鍵ファイルパスの指定(RSA認証)
CACertificateFileCA(Certificate Authorities)証明書の保管先ファイルパス指定
CACertificatePathCA(Certificate Authorities)証明書の保管先ディレクトリ指定(予約)
CARevocationFileCRL(証明書失効リスト)の保管先ファイルパス指定
CARevocationPathCRL(証明書失効リスト)の保管先ディレクトリ指定(予約)
OCSPRevocationEnabledOCSP(オンライン証明書失効検査)実施の設定(クライアント認証時)
LocalUserFileユーザ定義ファイルパス指定
LocalPasswordFileLPA(Local Password Authentication)認証のパスワード定義ファイルパス指定
AllowUsersログイン許可するユーザ名のパターン設定
AllowGroupsログイン許可するグループ名のパターン設定
DenyUsersログイン拒否するユーザ名のパターン設定
DenyGroupsログイン拒否するグループ名のパターン設定
クライアントコマンド共通項目LocalPasswordAuthenticationLPA(Local Password Authentication)認証設定
PAMAuthenticationPAM(Pluggable Authenticaton Module)認証設定
PubkeyAuthenticationRSA(Rivest-Shamir-Adleman cryptosystem)認証設定
WinLogonUserAuthenticationWindows認証設定
PrivateKeySearchDir秘密鍵探索ディレクトリの指定(RSA認証)
PrivateKeyFile秘密鍵ファイルパスの指定(RSA認証)
PubkeyAuthenticationPriorRSA認証優先

PKI(Public Key Infrastructure 公開鍵暗号基盤)の利用#

HCP toolsは、安全に正しい通信相手と情報のやりとりを行うため、PKI(Public Key Infrastructure 公開鍵暗号基盤)の技術を利用しています。

ユーザ認証や通信セキュリティのためにPKIで使用する秘密鍵・公開鍵・デジタル証明書について、以下のアルゴリズムと書式をサポートします。

PKIで使用する鍵に対して、サポートするアルゴリズムは以下の通りです。

  • RSA

PKIで使用する鍵と証明書に対して、サポートする書式は以下の通りです(暗号化された鍵を含む)。

  • PKCS1
  • PKCS8
  • X.509 Certificate
  • OpenSSH ver.x
  • PuTTY ver.2 及び ver.3

PuTTY 以外の鍵と証明書の場合、ファイルシステムに保存するにはPEMでエンコードされたファイルが必要です。

暗号化#

ファイル転送などネットワーク上で通信を行う際、通信データを暗号化することが大切です。

暗号化とは、データを解読できないように加工することです。通信データを盗聴されてデータが流出するリスクを減らします。

HCP toolsはSSH/TLS相当の通信セキュリティを提供します。デフォルト設定のままで基本的に問題なく使用できますが、サーバ及びクライアントの設定で暗号アルゴリズムを調整することもできます。

  • 通信メッセージ暗号化

    転送するメッセージを暗号化する機能です。

    HCP toolsでは、メッセージの暗号化に使用する暗号アルゴリズムの他、通信するメッセージ・ファイル・そのデータブロックの検証に使用するダイジェストアルゴリズムを設定することができます。 実際にどのアルゴリズムが使用されるかは、サーバとクライアントの設定を併せて評価して決定します。

関連設定項目

分類項目名内容
サーバ設定項目AcceptableCryptMethod通信メッセージ暗号化に使用できる暗号方式の設定
AcceptableDigestMethod通信データ及びファイルの検証に使用するダイジェスト(ハッシュ)方式の設定
RequireDataIntegrityCheckingMAC(Message Authentication Code)による通信メッセージ検査要求
クライアントコマンド共通設定項目AcceptableCryptMethod通信メッセージ暗号化に使用する暗号方式の設定
AcceptableDigestMethod通信データ及びファイルの検証に使用するダイジェスト(ハッシュ)方式の設定
DisableDataIntegrityCheckingMAC(Message Authentication Code)による通信メッセージ検査無効要求
AcceptDataIntegrityCheckingOnRejectionMAC(Message Authentication Code)による通信メッセージ検査無効拒否の受け入れ設定
  • 通信セキュリティネゴシエーション

    通信セキュリティの設定に関して、サーバ・クライアント間で自動的に調整を行う機能です。

HCP toolsは、サーバ証明書セキュリティ機能により、サーバ-クライアント間でPKI技術を基礎とするセキュリティ通信を提供します。

サーバ証明書セキュリティ機能で使用する秘密鍵のパスは以下の通りです。

/etc/hcp/key/server.key (Linux.x86)

C:/ProgramData/Clealink/HCP Tools/key/server.key (Windows)

秘密鍵のパスに接尾辞”.pub”を付加したパスに公開鍵が存在する場合は、この鍵ペアを使用してセキュリティ通信を提供します。公開鍵が存在しない場合は、設定項目(ServerCertificateFile)で指定されたサーバ証明書を使用します。

HCP toolsでは、サーバ証明書に関する各種検証(共通名(Common Name)、有効期間、CA証明書、証明書失効検査(CRL検査))を行います。

関連設定項目

分類項目名内容
サーバ設定項目UseServerCertificateSecurityサーバ証明書セキュリティ機能の設定
RequireServerCertificateSecurityクライアントに対するサーバ証明書セキュリティ機能の要求設定
ServerKeyFileサーバ証明書セキュリティ機能で使用するサーバ秘密鍵のファイルパス指定
ServerCertificateFileサーバ証明書のファイルパス指定
ServerCertificateChainFileサーバ証明書の中間証明書指定(複数可)
クライアントコマンド共通設定項目RequireServerCertificateSecurityサーバに対するサーバ証明書セキュリティ機能の要求設定
RejectFallbackServerCertificateSecurityサーバ証明書セキュリティダウングレード禁止
IgnoreCertificateCNInvalidサーバ証明書共通名(Common Name)の検査無効化
IgnoreCertificateDateInvalidサーバ証明書有効期限の検査無効化
IgnoreUnknownCACA証明書の検査無効化
IgnoreRevocationCRL(証明書失効リスト)による証明書失効検査無効化
WSSIgnoreCertificateCNInvalidサーバ証明書共通名(Common Name)の検査無効化(WebSocket通信(SSL/TLS)時)
WSSIgnoreCertificateDateInvalidサーバ証明書有効期限の検査無効化(WebSocket通信(SSL/TLS)時)
WSSIgnoreUnknownCACA証明書の検査無効化(WebSocket通信(SSL/TLS)時)
WSSIgnoreRevocationCRL(証明書失効リスト)による証明書失効検査無効化(WebSocket通信(SSL/TLS)時)(予約)
CACertificateFileCA(Certificate Authorities)証明書の保管先ファイルパス指定
CACertificatePathCA(Certificate Authorities)証明書の保管先ディレクトリ指定(予約)
CARevocationFileCRL(証明書失効リスト)の保管先ファイルパス指定
CARevocationPathCRL(証明書失効リスト)の保管先ディレクトリ指定(予約)
WSSCACertificateFileCA(Certificate Authorities)証明書の保管先ファイルパス指定(WebSocket通信(SSL/TLS)時)
OCSPRevocationEnabledOCSP(オンライン証明書失効検査)実施の設定
StrictHostKeyCheckingサーバ認証時のホスト鍵受け入れポリシー設定

アクセス制御#

HCP toolsは、認証したユーザに対して正しいアクセス権限や各種アクセス権を付与するため、以下の機能を提供します。

  • 特権分離
  • ACL(Access Control List)機能
  • アドミッション制御(入場制限)
  • ドキュメントポイント

関連設定項目

分類項目名内容
サーバ設定項目UserDirectoryFallbackAvailableユーザ領域ディレクトリからの後退動作制御(後方互換オプション)
RejectOnUserHomeDirectoryNotFoundユーザホームディレクトリを発見できない場合のアクセス拒否設定
  • 特権分離

    root権限(特権)とrootでないユーザ権限に分離し、ユーザ権限を反映した安全な利用を実現します。

    HCP toolsでは、クライアントセッションに対する特権分離を設定します。同じセッションでの処理をサーバ待機プロセスとは別のプロセスで実行します。分離されたプロセス上では、認証結果に基づいたユーザの権限情報(UID/GID及び補助グループ)を権限として適用します。これらをユーザ毎に調整(システムの割当値から変更する、など)したい場合は、/etc/hcp/usersに設定を記述します。適用可能な補助グループは、1000グループまでです。これを超える場合は無視されます(UIDとプライマリグループのみが適用されます)。

    特権分離を無効にした場合は、クライアントセッション上の処理はLinuxデーモンおよびWindowsサービスの実行権限に従って動作します。 また、Windowsサーバにおいて、Windowsログオン認証以外で認証された場合(LPA認証、もしくはRSA認証)は、特権分離の設定項目に関わらずWindowsサービスの実行権限で動作します(特権分離は適用されません)。

関連設定項目

分類項目名内容
サーバ設定項目UsePrivilegeSeparation特権分離の設定
PrivilegeSeparationMinimumUIDセッション実行可能なUIDの最小値設定
PrivilegeSeparationMinimumGIDセッション実行可能なGIDの最小値設定
PrivilegeSeparationUserデフォルトユーザ資格情報設定(ユーザ権限が特定されない場合に適用)
PrivilegeSeparationUmaskUmask値設定(ユーザ認証が行われて分離されたプロセスに適用)
PrivilegeSeparationUmaskAnonymousUmask値設定(ユーザ認証が行われずに分離されたプロセスに適用(匿名ユーザ))
ApplyUserPermission認証されたユーザの権限を転送先ファイルパーミッションへ適用(特権分離しない場合)
NoSupplementalGroupInPrivilegeSeparation補助グループ無効化
  • ACL(Access Control List)機能

    アクセス可能、不可ネットワークをコントロールするために、アクセスコントロールリストに基づきアクセスを制御する機能です。

    HCP toolsでは、ネットワークに対してアクセス「許可」を定義する際、HpFPプロトコルによる通信の輻輳制御モードを指定することができます。

関連設定項目

分類項目名内容
サーバ設定項目AccessListACL(Access Control List)の定義
AllowACL 許可アクセスの定義
DenyACL 拒否アクセスの定義
  • アドミッション制御(入場制限)

    接続数を制限することにより、サーバ-クライアント間の通信帯域を確保する機能です。

関連設定項目

分類項目名内容
サーバ設定項目MaxTotalConnection接続数制限(全体)
MaxTcpConnection接続数制限(TCP通信時)
MaxUdpConnection接続数制限(UDP (HpFP)通信時)
MaxWsConnection接続数制限(WebSocket通信時)
MaxConnectionPerUser接続数制限(1ユーザあたり)
MaxConnectionPerSec接続数制限(1秒あたり)
  • ドキュメントポイント

    ドキュメントポイントとは、クライアントからアクセス可能な範囲を任意で設定できるHCP tools独自の機能です。サーバ側で設定します。読み出し・書き込み・上書き・削除などの許可・禁止を設定することができます。

関連設定項目

分類項目名内容
サーバ設定項目DocPointドキュメントポイントの定義
DocPathドキュメントポイントが指すディレクトリパスの指定
PermitAccessReadドキュメントポイントでの読み込みアクセス設定
PermitAccessWriteドキュメントポイントでの書き込みアクセス設定
PermitAccessOverwriteドキュメントポイントでの上書きアクセス設定
PermitAccessDeleteドキュメントポイントでの削除アクセス設定
PermitAccessRandomReadドキュメントポイントでのランダム読み込みアクセス設定(予約)
PermitAccessRandomWriteドキュメントポイントでのランダム書き込みアクセス設定(予約)

データ完全性検査機能#

転送途中でネットワーク上に不慮の事態が起きた場合に備えた機能です。MAC(Message Authentication Code)による通信メッセージの検査(データ完全性検査) を行い、ネットワーク上のエラー等によるデータ誤りを検出します。

通常はデフォルト設定(通信メッセージの検査を行う)で使用してください。

関連設定項目

分類項目名内容
サーバ設定項目RequireDataIntegrityCheckingMAC(Message Authentication Code)による通信メッセージ検査要求
クライアントコマンド共通項目DisableDataIntegrityCheckingMAC(Message Authentication Code)による通信メッセージ検査無効要求
AcceptDataIntegrityCheckingOnRejectionMAC(Message Authentication Code)による通信メッセージ検査無効拒否の受け入れ設定

通信再開機能#

転送途中でネットワーク上に不慮の事態が起きた場合に備えた機能です。ファイル転送がなんらかの理由で中断された場合、前回の続きから処理を再開することができます。

HCP toolsのhcpコマンドは、手動でコマンドの再開を行うオプション(r, resume)、ネットワークの障害で中断した場合にコピー処理を自動で再開するように指示するオプション(auto-resume)を提供します。

r, resumeオプションでは、hcpコマンドの実行記録(.hcp.outに出力されるファイル転送の実行記録)を使用して、コマンドの再開(レジューム)を行います。

auto-resumeオプションでは、ネットワークの障害で中断した場合にコピー処理を自動で再開するように指示します。Ctrl+Cなどでユーザから中断を指示した場合は、その時点で再開はせず停止します。 パスワードで暗号化されていない秘密鍵を使用した公開鍵認証で利用を推奨します。パスワードが必要な場合、再認証による対話動作を回避するために認証情報をメモリ上にキャッシュします。

また、クライアント設定項目により、再開を自動的に試行する回数や待機時間間隔を指定することができます。

関連オプション

コマンド短縮名オプション名概略
hcprresume前回の続きから処理再開
auto-resumeコピー処理自動再開(ネットワークの障害で中断した場合)

関連設定項目

分類項目名内容
hcpコマンド設定項目AutoResumeTrials自動再開試行回数
AutoResumeTrialInterval自動再開試行間隔(秒)