知識ベース

SILC(プロトコル)

SILC(Secure Internet Live Conferencing Protocol)は、 インターネット上で (IRCに非常に似た)安全な同期会議サービスを提供するプロトコルです。

構成部品

インターネットプロトコルスイート
アプリケーション層
  • BGP
  • DHCP
  • DNS
  • FTP
  • HTTP
  • HTTPS
  • IMAP
  • LDAP
  • MGCP
  • MQTT
  • NNTP
  • NTP
  • ポップ
  • ONC / RPC
  • RTP
  • RTSP
  • RIP
  • SIP
  • SMTP
  • SNMP
  • SSH
  • Telnet
  • TLS / SSL
  • XMPP
  • もっと...
トランスポート層
  • TCP
  • UDP
  • DCCP
  • SCTP
  • お返事お願いします
  • もっと...
インターネット層
  • IP
    • IPv4
    • IPv6
  • ICMP
  • ICMPv6
  • ECN
  • IGMP
  • IPsec
  • もっと...
リンク層
  • ARP
  • NDP
  • OSPF
  • トンネル
    • L2TP
  • PPP
  • マック
    • イーサネット
    • Wi-Fi
    • DSL
    • ISDN
    • FDDI
  • もっと...
  • v
  • t
  • e

SILCプロトコルは、 SILCキー交換 (SKE)プロトコル、 SILC認証プロトコルSILCパケットプロトコルの 3つの主要部分に分けることができます 。 SILCプロトコルは、SILCセッションの管理に使用されるSILCコマンドをさらに定義します。 SILCは、チャネル(グループ)、ニックネーム、プライベートメッセージ、およびその他の一般的な機能を提供します。しかし、SILCのニックネームは、他の多くのプロトコル( 例えば IRC)とは対照的に、一意ではありません。ユーザーは、すでに使用されているニックネームでも使用できます。プロトコルでの実際の識別は、一意のクライアントIDによって実行されます。 SILCプロトコルはこれを使用して、他の多くのプロトコルに存在するニックネームの衝突を克服します。 SILCネットワークで送信されるすべてのメッセージはバイナリであるため、テキスト、ビデオ、オーディオ、その他のマルチメディアデータなど、あらゆるタイプのデータを含めることができます。 SKEプロトコルは、SILCパケットプロトコルを保護するためのセッションキーおよびその他のセキュリティパラメータを確立するために使用されます。 SKE自体はDiffie-Hellman鍵交換アルゴリズム(非対称暗号化の形式)に基づいており、交換はデジタル署名で保護されています。 SILC認証プロトコルは、SKEプロトコルが正常に実行された後に実行され、クライアントまたはサーバー、あるいはその両方を認証します。認証はパスフレーズまたはデジタル署名に基づく場合があり、成功した場合、関連するSILCネットワークへのアクセスを許可します。 SILCパケットプロトコルは、各パケットの内容(パケットヘッダーとパケットペイロードで構成される)がセキュリティで保護され、認証されることを保証する、セキュリティで保護されたバイナリパケットプロトコルを目的としています。パケットは、対称暗号化に基づくアルゴリズムを使用して保護され、メッセージ認証コードアルゴリズムであるHMACを使用して認証されます。

SILCチャネル(グループ)は、対称チャネルキーを使用して保護されます。オプションで、すべてのチャネルメッセージにデジタル署名することもできます。また、チャンネルメンバーによって事前に合意されたプライベートに生成されたチャンネルキーでメッセージを保護することもできます。 SILCネットワーク内のユーザー間のプライベートメッセージは、セッションキーで保護されます。ただし、2人のユーザー間でSKEプロトコルを実行し、生成されたキーを使用してプライベートメッセージを保護することは可能です。プライベートメッセージは、オプションでデジタル署名することができます。 SKEプロトコルで生成されたキーマテリアルまたは以前にキーマテリアル(パスフレーズなど)で合意されたキーマテリアルでメッセージが保護されている場合、SILCはSILCサーバーが侵害された場合でもセキュリティを提供します。

歴史

SILCは1996年から1999年にPekka Riikonenによって設計され、2000年夏に初めて公開されました。クライアントとサーバーが作成されました。プロトコル仕様が提案されましたが、最終的に公開のリクエストはIESGによって2004年6月に拒否され、現在までRFCは公開されていません。

現在、いくつかのクライアントがありますが、最も高度なのは公式のSILCクライアントとirssiプラグインです。 SILCプロトコルは、人気のあるPidginインスタントメッセージングクライアントにも統合されています。他のGUIクライアントはSilkyとColloquyです。 Silkyクライアントは、数年間使用されなかったため、2007年7月18日に保留され、放棄されました。 Silky Webサイトの最新ニュースは、クライアントが完全に書き換えられることでした。

2008年現在、3つのSILCプロトコル実装が作成されています。ほとんどのSILCクライアントは、SILC Toolkitの一部であるlibsilcを使用します。 SILC Toolkitはデュアルライセンスであり、GNU General Public License(GPL)と改訂されたBSDライセンスの両方で配布されます。

セキュリティ

SILC FAQで説明されているように、チャットは対称暗号化キーの生成により保護されています。これらのキーはどこかで生成する必要があり、これはサーバー上で発生します。これは、サーバー自体が危険にさらされると、チャットが危険にさらされる可能性があることを意味します。これは、中間者攻撃の単なるバージョンです。提供されるソリューションは、チャットメンバーが非対称暗号化のために独自のパブリック/プライベートキーペアを生成することです。秘密鍵はチャットメンバーによってのみ共有され、これは帯域外で行われます。公開鍵は、チャネルへのメッセージを暗号化するために使用されます。チャットのメンバーの1人がプライベートキーを侵害される場合、またはグループの同意なしに他のメンバーとキーを共有する必要がある場合、このアプローチは依然として侵害されやすい。

ネットワーク

SILCはIRCと同様のパターンを使用します。グローバルな「SILCネットワーク」ではなく、1つまたは複数のサーバーで構成される小さな独立したネットワークが多数あります。

「オリジナル」ネットワークは、silc.silcnet.orgラウンドロビンでSILCNetと呼ばれます。ただし、2014年5月の時点では、4つのうちアクティブな(ただし不安定な)サーバーは1つだけです。

以下の「外部リンク」セクションのように、他のいくつかのパブリックネットワークが知られています。ただし、それらのほとんどは、SILCの人気の低下によりシャットダウンしました。