25.0.0.0/8アドレスブロックからのアドレスは、クライアントが初めてシステムにログインするときに割り当てられ、その後はクライアントの公開暗号鍵と関連付けられる。クライアントがその暗号鍵を保持する限り、この最初に割り当てられたIPアドレスが固有のアドレスとして使用される。 LAN側からWAN側に通信が開始される際、NAT機器はWAN側のIPアドレス:ポート番号を一時的にLAN側のIPアドレス:ポート番号に割り当てて双方向に通信を行う(IPマスカレード)。そのため、通常はWAN側からLAN側のホストに接続を確立できない。従って、2つのホストが互いに別のNATのLAN側にある場合は、どちらからも接続が確立できないため、直接通信することができない。 Hamachiは下記の方法を用いて、互いに別のNATを利用するホスト同士の直接通信を可能にしている。 NAT機器は、LAN側のホストからWAN側のホストへのUDPパケット送信が開始された際、WAN側に返信用の不定なポート番号を一時的に割り当てる。Hamachiが通信を開始する際は、以前に割り当てられたWAN側のポート番号から、次に割り当てられるポート番号をお互いに推測し、2つのホストが同時に推測した相手方のポート番号に向かってUDPの送信を開始する。送受信が開始された後は、一定間隔で空のパケット(Keep Aliveパケット)を送り続け、タイムアウトにならないようにすることでその後の通信を継続する。 ポート番号の推測は、ほとんどのNAT機器がWAN側の返信用ポート番号を規則的に(たとえば1ずつ増やして)割り振る性質があることを利用している。従って、一部のNAT機器はHamachiを通さない物がある。 HamachiはVPN接続を構築するため、他のVPNと同様の危険性を持つ。具体的には、NAT機器やファイアウォールが迂回される為、リモートマシンのサービスの脆弱性による問題が発生する可能性がある。VPNを利用してLANのようにコンピュータを接続する場合、ファイアウォールなどのセキュリティの設定、管理はしっかりと行うべきである。 また、Hamachiが動作する為には、ベンダーによって運用される「仲介サーバー」が必要である。このサーバーは、ニックネーム、メンテナンスパスワード、静的に割り当てられた5.0.0.0/8 IPアドレス、及び、それらに関連付けられたユーザー認証トークンを保存する。全ての確立したトンネルに対して、サーバはユーザの本来のIPアドレス、確立時刻、継続時間、及び他の相互接続しているユーザーなどの情報を記録している可能性がある。 Hamachiは安全のために業界標準の強固なアルゴリズムを使用してデータを認証し、そのセキュリティアーキテクチャは公開されていると主張している。しかし、Hamachiのソースコードは公開されておらず、不特定多数による再検討は行えない。 Security Now!podcastで、Steve GibsonはHamachiを「最新の、長い発展ベータ段階から出す準備ができた、超安全、軽量、高性能、非常に洗練された、マルチプラットフォーム、ピアツーピア、そして、自由な!個人で扱えるVPNシステム」と言い、そして「システムのセキュリティアーキテクチャを完全に入念に検査した」と発言した。 次のエピソードはRandal Schwartzによる質問である。
NATの内側(LAN側)にある2つのホストの接続
セキュリティ
「Hamachiはオープンソースではありません。我々はどうしてそれを信用できますか」「それは私が憂慮させられたものの一つで、私を憂慮させつづけています。私はおそらく最後はOpenVPN上に落ち着くつもりです。」「しかしHamachiは・・・。私はAlex Pankratovがこのシステムを本当に、彼が私に話したその通りに設計したと確信しています。彼はクラシックVPNのセキュリティにおける解決法、IPSecトンネルの実装に接した経験の年月を持ちます。私は、私が行った全面的なソース検査の実施不足については気を晴らせません。・・・それは現実的ではありません。それは確かに本当です。それでも・・・つまり、我々がWindowsを使うとき、我々はBillを信用します」「私はアレックスが私に真実を話したと確信します、しかし、私はその証明を持ちません」
脚注^ LogMeIn Hamachi の購入
^ ⇒Changes to Hamachi on November 19th、LogMeIn、2014年2月26日閲覧
関連項目
UDPホールパンチング
Session Traversal Utilities for NATs (STUN)
Traversal Using Relay around NAT (TURN)
port restricted cone NAT
外部リンク
⇒公式サイト
⇒vpn.net
LogMeIn, Inc./Hamachi公式サイト
表
話
編
歴
暗号化ソフトウェア
OpenPGP・S/MIME
メールサーバーの比較(英語版)
電子メールクライアントの比較(英語版)
GnuPG (Gpg4win・GPGTools)
PGP
Enigmail
Thunderbird
Outlook
Apple Mail
Claws Mail
Autocrypt(英語版)
Kontact
pretty Easy privacy(英語版)
Sylpheed
セキュア通信
OTR(英語版)
Adium
BitlBee(英語版)
Centericq(英語版)
ChatSecure
climm(英語版)
Jitsi
Kopete
MCabber(英語版)
Profanity(英語版)
SSH
SSHクライアントの比較(英語版)
Dropbear
lsh(英語版)
OpenSSH
PuTTY
SecureCRT(英語版)
WinSCP
wolfSSH(英語版)
RLogin
Poderosa
Tera Term
TLS/SSL
TLS実装の比較
Bouncy Castle(英語版)
BoringSSL
Botan
cryptlib
GnuTLS
JSSE(英語版)
LibreSSL
MatrixSSL(英語版)
NSS
OpenSSL
mbed TLS(英語版)
RSA BSAFE(英語版)
SChannel
SSLeay
stunnel
wolfSSL
VPN
Check Point VPN-1
Hamachi
Openswan
OpenVPN
SoftEther VPN
strongSwan
Tinc(英語版)
WireGuard
ZRTP(英語版)
CSipSimple(英語版)
Jitsi
Linphone(英語版)
Jami
Zfone(英語版)
P2P
Bitmessage
RetroShare(英語版)
Tox
ZeroNet
D R A(英語版)
Matrix
OMEMO(英語版)
Conversations(英語版)
Cryptocat(英語版)
ChatSecure(英語版)
Proteus
Signalプロトコル
Signal
WhatsApp
TextSecure(英語版)
匿名化
Cryptomator
GNUnet
Java Anon Proxy(英語版)
I2P
Tor
Vidalia(英語版)
RetroShare(英語版)
Ricochet(英語版)
Wickr(英語版)
ディスク暗号化(英語版)
ディスク暗号化ソフトウェアの比較(英語版)
BitLocker
FreeOTFE(英語版)
TrueCrypt
BestCrypt(英語版)
CipherShed
CrossCrypt(英語版)
Cryptoloop(英語版)
DiskCryptor(英語版)
dm-crypt(英語版)
LUKS
DriveSentry(英語版)
E4M(英語版)
eCryptfs(英語版)
FileVault
GBDE(英語版)
geli(英語版)
PGPDisk(英語版)
Private Disk(英語版)
Scramdisk(英語版)
Sentry 2020(英語版)
VeraCrypt
ファイルシステム
暗号化ファイルシステムの一覧
EncFS
EFS
eCryptfs(英語版)
LUKS
PEFS(英語版)