SILC хаттамасы: Қауіпсіз интернет конференцияларының протоколы
SILC (protocol)
SILC протоколы – интернет арқылы қауіпсіз конференция өткізуге арналған құрал. SKE, анықтама, пакеттік протоколдар мен командаларды қамтиды. Қауіпсіз байланыс!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
SILC (Secure Internet Live Conferencing protocol) - Интернет арқылы қауіпсіз синхронды конференциялық қызметтерді (IRC сияқты) ұсынатын протокол.
SILC (Secure Internet Live Conferencing protocol) is a protocol that provides secure synchronous conferencing services (very much like IRC) over the Internet.
Құралымдары
SILC протоколын үш негізгі бөлікке бөлуге болады: SILC кілт алмасу (SKE) протоколы, SILC аутентификация протоколы және SILC пакет протоколы. SILC протоколы SILC сессиясын басқару үшін қолданылатын SILC командаларын да анықтайды. SILC арналар (топтар), лақап есімдер, жеке хабарламалар және басқа да кең таралған мүмкіндіктерді ұсынады. Дегенмен, SILC лақап есімдері, көптеген басқа протоколдардан (мысалы, IRC) өзгеше, бірегей емес; пайдаланушы кез келген лақап есімді қолдана алады, тіпті ол қолданыста болса да. Протоколдегі нақты идентификация бірегей Клиент ID арқылы жүзеге асырылады. SILC протоколы осы арқылы көптеген басқа протоколдарда кездесетін лақап есімдерінің қайталануы мәселесін шешеді. SILC желісінде жіберілген барлық хабарламалар екілік форматта болады, оларға мәтін, бейне, аудио және басқа да мультимедиалық деректерді қоса алғанда, кез келген деректерді қоюға мүмкіндік береді. SKE протоколы SILC пакет протоколын қорғау үшін сессия кілтін және басқа қауіпсіздік параметрлерін орнату үшін қолданылады. SKE өзі Diffie–Hellman кілт алмасу алгоритміне (ассиметриялық криптографияның бір түрі) негізделген, ал алмасу цифрлық қолтаңбалармен қорғалады. SILC аутентификация протоколы клиентті және/немесе серверді аутентификациялау үшін SKE протоколының сәтті орындалуынан кейін жүзеге асырылады. Аутентификация парольге немесе цифрлық қолтаңбаларға негізделуі мүмкін, ал сәтті болған жағдайда тиісті SILC желісіне кіруге рұқсат беріледі. SILC пакет протоколы – қауіпсіз екілік пакет протоколы, ол әрбір пакеттің мазмұнының (пакет тақырыбы мен пакет жүктемесінен тұратын) қауіпсіздігі мен аутентификациясын қамтамасыз етеді. Пакеттер симметриялық криптографияға негізделген алгоритмдер арқылы қорғалады және ХМАС (Message Authentication Code) алгоритмі арқылы куәландырылады. SILC арналары (топтары) симметриялық арна кілттерін пайдалану арқылы қорғалады. Барлық арналық хабарламаларды цифрлық қолтаңбалау опциясы бар. Сондай-ақ, хабарларды арна мүшелері бұрын келіскен жеке құралған арна кілтімен қорғауға болады. SILC желісіндегі пайдаланушылар арасындағы жеке хабарламалар сессия кілттерімен қорғалады. Алайда, екі пайдаланушы арасында SKE протоколын орындап, жеке хабарламаларды қорғау үшін жасалған кілтті пайдалануға болады. Жеке хабарламалар мүмкіндігі болса, цифрлық қолтаңбамен жазылуы мүмкін. Хабарлар SKE протоколымен жасалған немесе бұрын келісілген кілттік материалдармен (мысалы, парольдер) қорғалған кезде, SILC сервері бұзылған жағдайда да қауіпсіздікті қамтамасыз етеді.
The SILC protocol can be divided in three main parts: SILC Key Exchange (SKE) protocol, SILC Authentication protocol and SILC Packet protocol. SILC protocol additionally defines SILC Commands that are used to manage the SILC session. SILC provides channels (groups), nicknames, private messages, and other common features. However, SILC nicknames, in contrast to many other protocols (e. g. IRC), are not unique; a user is able to use any nickname, even if one is already in use. The real identification in the protocol is performed by unique Client ID. The SILC protocol uses this to overcome nickname collision, a problem present in many other protocols. All messages sent in a SILC network are binary, allowing them to contain any type of data, including text, video, audio, and other multimedia data. The SKE protocol is used to establish session key and other security parameters for protecting the SILC Packet protocol. The SKE itself is based on the Diffie–Hellman key exchange algorithm (a form of asymmetric cryptography) and the exchange is protected with digital signatures. The SILC Authentication protocol is performed after successful SKE protocol execution to authenticate a client and/or a server. The authentication may be based on passphrase or on digital signatures, and if successful gives access to the relevant SILC network. The SILC Packet protocol is intended to be a secure binary packet protocol, assuring that the content of each packet (consisting of a packet header and packet payload) is secured and authenticated. The packets are secured using algorithms based on symmetric cryptography and authenticated by using Message Authentication Code algorithm, HMAC. SILC channels (groups) are protected by using symmetric channel keys. It is optionally possible to digitally sign all channel messages. It is also possible to protect messages with a privately generated channel key that has been previously agreed upon by channel members. Private messages between users in a SILC network are protected with session keys. It is, however, possible to execute SKE protocol between two users and use the generated key to protect private messages. Private messages may be optionally digitally signed. When messages are secured with key material generated with the SKE protocol or previously agreed upon key material (for example, passphrases) SILC provides security even when the SILC server may be compromised.
Тарих
SILC 1996-1999 жылдар аралығында Пекка Рийконенмен жобаланып, алғаш рет 2000 жылдың жазында көпшілік назарына ұсынылды. Клиент және сервер жазылды. Протокол спецификациялары ұсынылды, бірақ 2004 жылдың маусым айында IESG жариялау туралы өтінішті қабылдамады және бүгінгі күнге дейін RFC жарияланған жоқ. Қазіргі таңда бірнеше клиент бар, олардың ең жетілгені – ресми SILC клиенті және irssi плагині. SILC протоколы сондай-ақ танымал Pidgin жеделхабар алмасу клиентіне де интеграцияланған. Басқа GUI клиенттері – Silky және Colloquy. Silky клиенті бірнеше жыл бойы белсенділіксіздіктен кейін 2007 жылдың 18 шілдесінде дамудан тоқтатылды. Silky сайтындағы соңғы хабарлама клиенттің толыққанды қайта жазылатыны туралы болды. 2008 жылға қарай SILC протоколының үш имплементациясы жасалды. SILC клиенттерінің көпшілігі SILC Toolkit құралының бөлігі болып табылатын libsilc-ті пайдаланады. SILC Toolkit екі лицензия бойынша таратылады: GNU General Public License (GPL) және қайта қарастырылған BSD лицензиясы.
SILC was designed by Pekka Riikonen between 1996 and 1999 and first released in public in summer 2000. A client and a server were written. Protocol specifications were proposed, but ultimately request for publication was denied in June 2004 by IESG and no RFC has been published to date. At present time, there are several clients, the most advanced being the official SILC client and an irssi plugin. SILC protocol is also integrated to the popular Pidgin instant messaging client. Other GUI clients are Silky and Colloquy. The Silky client was put on hold and abandoned on the 18th of July 2007, due to inactivity for several years. The latest news on the Silky website was that the client was to be completely rewritten. As of 2008, three SILC protocol implementations have been written. Most SILC clients use libsilc, part of the SILC Toolkit. The SILC Toolkit is dual licensed and distributed under both the GNU General Public License (GPL) and the revised BSD license.
Қауіпсіздік
SILC FAQ-да сипатталғандай, чаттар симметриялық шифрлеу кілттерін жасау арқылы қорғалады. Бұл кілттерді бір жерде жасау қажет, және ол серверде жасалады. Демек, егер сервердің өзі бұзылса, чаттардың құпиялылығы бұзылуы мүмкін. Бұл ортадағы адам шабуылының бір түрі ғана. Ұсынылған шешім – чат мүшелері асимметриялық шифрлеу үшін әрқайсысының жеке және ашық кілттерінен тұратын жұпты жасауы. Жеке кілт тек чат мүшелерімен бөліседі және бұл топтан тыс жасалады. Ашық кілт арнадағы хабарламаларды шифрлеу үшін қолданылады. Егер чат мүшелерінің біреуінің жеке кілті бұзылса немесе олар кілтті топтың келісімінсіз басқа біреумен бөліссе, бұл тәсіл де қауіпке ұшырауы мүмкін.
As described in the SILC FAQ, chats are secured through the generation of symmetric encryption keys. These keys have to be generated somewhere, and this occurs on the server. This means that chats might be compromised, if the server itself is compromised. This is just a version of the man in the middle attack. The solution offered is that chat members generate their own public private keypair for asymmetric encryption. The private key is shared only by the chat members, and this is done out of band. The public key is used to encrypt messages into the channel. This approach is still open to compromise, if one of the members of the chat should have their private key compromised, or if they should share the key with another, without agreement of the group.
Желілер
SILC IRC-ге ұқсас үлгіні қолданады, яғни жаһандық "SILC желісі" жоқ, бірақ әрқайсысы бір немесе бірнеше серверден тұратын көптеген шағын тәуелсіз желілер бар. Дегенмен, SILC бір желіде көптеген серверлермен жақсырақ кеңейе алады деп айтылады. "Түпкі" желі SILCNet деп аталады, және ол дөңгелек тізім бойынша жұмыс істейді. Бірақ 2014 жылдың мамыр айына дейін, төрт сервердің ішінде тек біреуі ғана белсенді (бірақ тұрақсыз). SILC-тің танымалдылығы төмендегендіктен көптеген SILC желілері жабылды.
SILC uses a similar pattern to IRC, in that there is no global "SILC network" but many small independent networks consisting of one or several servers each, although it is claimed that SILC can scale better with many servers in a single network. The "original" network is called SILCNet, at the round robin. However, as of May 2014, it has only one active (though unstable) server out of four. Most SILC networks have shut down due to declining popularity of SILC.