SILC (protokoll)
SILC (Secure Internet Live Conferencing protocol) är ett protokoll som tillhandahåller säkra synkrona konferenstjänster (mycket likt IRC) över Internet .
Komponenter
Internetprotokollsvit |
---|
Applikationslager |
Transportlager |
Internetlager |
Länklager |
SILC-protokollet kan delas upp i tre huvuddelar: SILC Key Exchange (SKE)-protokoll, SILC-autentiseringsprotokoll och SILC-paketprotokoll . SILC-protokollet definierar dessutom SILC-kommandon som används för att hantera SILC-sessionen. SILC tillhandahåller kanaler (grupper), smeknamn, privata meddelanden och andra vanliga funktioner. Men SILC smeknamn, i motsats till många andra protokoll ( t.ex. IRC ), är inte unika; en användare kan använda vilket smeknamn som helst, även om ett redan används. Den verkliga identifieringen i protokollet utförs av ett unikt klient-ID. SILC-protokollet använder detta för att övervinna smeknamnskollision, ett problem som finns i många andra protokoll. Alla meddelanden som skickas i ett SILC-nätverk är binära, vilket gör att de kan innehålla alla typer av data, inklusive text, video, ljud och andra multimediadata . SKE-protokollet används för att upprätta sessionsnyckel och andra säkerhetsparametrar för att skydda SILC-paketprotokollet. Själva SKE är baserad på Diffie–Hellman-nyckelutbytesalgoritmen (en form av asymmetrisk kryptografi ) och utbytet är skyddat med digitala signaturer . SILC-autentiseringsprotokollet utförs efter framgångsrik SKE-protokollexekvering för att autentisera en klient och/eller en server. Autentiseringen kan baseras på lösenfras eller digitala signaturer , och om den lyckas ger den åtkomst till det relevanta SILC-nätverket. SILC-paketprotokollet är avsett att vara ett säkert binärt paketprotokoll, vilket säkerställer att innehållet i varje paket (bestående av en pakethuvud och paketnyttolast) är säkrat och autentiserat. Paketen är säkrade med algoritmer baserade på symmetrisk kryptografi och autentiserade med hjälp av Message Authentication Code- algoritmen, HMAC .
SILC-kanaler (grupper) skyddas med hjälp av symmetriska kanalknappar. Det är valfritt möjligt att digitalt signera alla kanalmeddelanden. Det är också möjligt att skydda meddelanden med en privat genererad kanalnyckel som tidigare har kommit överens om av kanalmedlemmar. Privata meddelanden mellan användare i ett SILC-nätverk skyddas med sessionsnycklar. Det är dock möjligt att köra SKE-protokoll mellan två användare och använda den genererade nyckeln för att skydda privata meddelanden. Privata meddelanden kan eventuellt signeras digitalt. När meddelanden är säkrade med nyckelmaterial genererat med SKE-protokollet eller tidigare överenskommet nyckelmaterial (till exempel lösenfraser ) ger SILC säkerhet även när SILC-servern kan äventyras.
Historia
SILC designades av Pekka Riikonen mellan 1996 och 1999 och släpptes först offentligt sommaren 2000. En klient och en server skrevs. Protokollspecifikationer föreslogs, men till slut avslogs begäran om publicering i juni 2004 av IESG och ingen RFC har hittills publicerats.
För närvarande finns det flera klienter, den mest avancerade är den officiella SILC-klienten och en irssi- plugin. SILC-protokollet är också integrerat i den populära Pidgin- klienten för snabbmeddelanden. Andra GUI- klienter är Silky och Colloquy . Silky-klienten ställdes på is och övergavs den 18 juli 2007, på grund av inaktivitet under flera år. De senaste nyheterna på Silkys hemsida var att klienten skulle skrivas om helt.
Från och med 2008 har tre SILC-protokollimplementationer skrivits. De flesta SILC-klienter använder libsilc, en del av SILC Toolkit. SILC Toolkit är dubbellicensierad och distribueras under både GNU General Public License (GPL) och den reviderade BSD-licensen.
säkerhet
Som beskrivs i SILC FAQ, säkras chattar genom generering av symmetriska krypteringsnycklar . Dessa nycklar måste genereras någonstans, och detta sker på servern. Detta innebär att chattar kan äventyras om själva servern äventyras. Detta är bara en version av man-in-the-middle-attacken . Lösningen som erbjuds är att chattmedlemmar genererar sitt eget offentligt-privata nyckelpar för asymmetrisk kryptering . Den privata nyckeln delas endast av chattmedlemmarna, och detta görs utanför bandet. Den publika nyckeln används för att kryptera meddelanden i kanalen. Detta tillvägagångssätt är fortfarande öppet för kompromisser, om en av chattmedlemmarna skulle få sin privata nyckel äventyrad, eller om de skulle dela nyckeln med en annan, utan gruppens överenskommelse.
Nätverk
SILC använder ett liknande mönster som IRC, genom att det inte finns något globalt "SILC-nätverk" utan många små oberoende nätverk som består av en eller flera servrar vardera, även om det påstås att SILC kan skala bättre med många servrar i ett enda nätverk.
Det "ursprungliga" nätverket kallas SILCNet, på silc.silcnet.org round-robin. Men i maj 2014 har den bara en aktiv (men instabil) server av fyra.
De flesta SILC-nätverk har stängts av på grund av minskande popularitet för SILC.
Se även
- Synkrona konferenser
- Jämförelse av protokoll för snabbmeddelanden
- Snabbmeddelandeapplikation med flera protokoll
- Kryptografi med offentlig nyckel