Выпуск P2P-платформы GNUnet 0.13. Прасоўванне GNS у якасці інтэрнэт-стандарту

Камітэт IETF (Internet Engineering Task Force), які займаецца развіццём пратаколаў і архітэктуры Інтэрнэт, пачаў працэс стандартызацыі сістэмы даменных імёнаў GNS (GNU Name System), якая развіваецца праектам GNUnet у якасці цалкам дэцэнтралізаванай і недаступнай для цэнзуры замены DNS. У сапраўдны момант апублікаваны першы чарнавы варыянт стандарту, пасля стабілізацыі якога будзе сфарміраваны RFC, мелы статут "Прапанаванага стандарту".

ГНС можа прымяняцца бок аб бок з DNS і выкарыстоўвацца ў традыцыйных прыкладаннях, такіх як web-браўзэры. Цэласнасць і нязменнасць запісаў забяспечваецца за кошт выкарыстання крыптаграфічных механізмаў. У адрозненне ад DNS у GNS замест дрэвападобнай іерархіі сервераў ужываецца накіраваны граф. Пераўтварэнне імёнаў падобна з DNS, але запыты і адказы выконваюцца з захаваннем прыватнасці - апрацоўвае запыт вузел не ведае каму аддаецца адказ, а транзітныя вузлы і іншыя назіральнікі не могуць расшыфраваць запыты і адказы.

DNS-зона ў GNS вызначаецца пры дапамозе звязкі з адчыненага і зачыненага ключоў ECDSA на аснове эліптычных крывых Curve25519. Выкарыстанне Curve25519 ўспрымаецца некаторымі як вельмі дзіўны крок, бо для ECDSA ужываюць іншыя тыпы эліптычных крывых, а ў пары з Curve25519 звычайна выкарыстоўваюць алгарытм лічбавых подпісаў. Ed25519, больш сучасны, Больш за бяспечны і больш хуткі, чым ECDSA. З пункта гледжання крыптаўстойлівасці таксама выклікае сумнеў выбар памеру ключа - 32 байта замест 64 байт, звычайна выкарыстоўваных для Ed25519, а таксама ўжыванне. каскаднага сіметрычнага шыфравання, выкарыстоўваючы алгарытмы AES і TwoFish у рэжыме CFB.

Падобны падыход тлумачыцца неабходнасцю рэалізацыі іерархічных ключоў, якія даюць магчымасць выкарыстоўваць каранёвы адчынены ключ для вымання даччынага адчыненага ключа, карыстаючыся ўласцівасцю лінейнасці крывой Curve25519. Дадзеная асаблівасць дазваляе атрымліваць даччыныя адчыненыя ключы без ведання зачыненых каранёвых ключоў. Указаная тэхніка таксама ўжываецца у Bitcoin. 32-байтавы памер ключа абраны для таго каб ключ мясціўся ў адзін запіс DNS.

Дадаткова можна адзначыць новы выпуск фрэймворка GNUnet 0.13, прызначанага для пабудовы абароненых дэцэнтралізаваных P2P-сетак. Ствараемыя пры дапамозе GNUnet сеткі не маюць адзінай кропкі адмовы і здольныя гарантаваць недатыкальнасць прыватнай інфармацыі карыстальнікаў, у тым ліку выключыць магчымыя злоўжыванні з боку спецслужбаў і адміністратараў, якія маюць доступ да вузлоў сеткі. Выпуск адзначаны як які змяшчае значныя змены пратакола, якія парушаюць зваротную сумяшчальнасць з версіямі 0.12.x.

GNUnet падтрымлівае стварэнне P2P-сетак па-над TCP, UDP, HTTP/HTTPS, Bluetooth і WLAN, можа працаваць у рэжыме F2F (Friend-to-friend). Падтрымліваецца абыход NAT, у тым ліку з выкарыстаннем UPnP і ICMP. Для адрасавання размяшчэння даных магчыма выкарыстанне размеркаванай хэш табліцы (DHT). Даюцца сродкі для разгортвання mesh-сетак. Для выбарачнага прадастаўлення і водгуку правоў доступу прымяняецца сэрвіс дэцэнтралізаванага абмену атрыбутамі ідэнтыфікацыі. reclaimID, які выкарыстоўвае GNS (GNU Name System) і шыфраванне на аснове атрыбутаў (Attribute-Based Encryption).

Сістэма адрозніваецца нізкім спажываннем рэсурсаў і выкарыстаннем шматпрацэснай архітэктуры для забеспячэння ізаляцыі паміж кампанентамі. Даюцца гнуткія сродкі для вядзення логаў і назапашвання статыстыкі. Для распрацоўкі канчатковых прыкладанняў GNUnet падае API для мовы Сі і біндынгі для іншых моў праграмавання. Для спрашчэння распрацоўкі замест патокаў прапануецца выкарыстоўваць цыклы апрацоўкі падзей (event loop) і працэсы. У склад уваходзіць тэставая бібліятэка для аўтаматычнага разгортвання эксперыментальных сетак, якія ахопліваюць дзясяткі тысяч баляў.

Акрамя GNS на базе тэхналогій GNUnet таксама развіваецца некалькі гатовых дадаткаў:

  • Сэрвіс для ананімнага абмену файламі, які не дазваляе прааналізаваць інфармацыю за кошт перадачы дадзеных толькі ў зашыфраваным выглядзе і не дае адсачыць хто размясціў, шукаў і запампаваў файлы дзякуючы выкарыстанню пратаколу GAP.
  • Сістэма VPN для стварэння ўтоеных сэрвісаў у дамене «.gnu» і пракіду тунэляў IPv4 і IPv6 па-над P2P-сеткі. Дадаткова падтрымліваюцца схемы трансляцыі IPv4-у-IPv6 і IPv6-у-IPv4, а таксама стварэнне тунэляў IPv4-па-над-IPv6 і IPv6-па-над-IPv4.
  • Сэрвіс GNUnet Conversation для здзяйснення галасавых выклікаў па-над GNUnet. Для ідэнтыфікацыі карыстальнікаў выкарыстоўваецца GNS, змест галасавога трафіка перадаецца ў зашыфраваным выглядзе. Ананімнасць пакуль не прадастаўляецца - іншыя балі могуць адсачыць злучэнне паміж двума карыстальнікамі і вызначыць іх IP-адрасы.
  • Платформа для пабудовы дэцэнтралізаваных сацыяльных сетак Secushare, якая выкарыстоўвае пратакол PSYC і якая падтрымлівае распаўсюджванне апавяшчэнняў у рэжыме multicast з ужываннем end-to-end шыфравання для таго, каб доступ да паведамленняў, файлам, чатам і абмеркаванням маглі атрымаць толькі аўтарызаваныя карыстачы (тыя каму паведамленні не адрасаваныя, уключаючы адміністратараў вузлоў, не змогуць іх прачытаць);
  • Сістэма для арганізацыі шыфраванай электроннай пошты pretty Easy privacy, якая прымяняе GNUnet для абароны метададзеных і падтрымлівае розныя крыптаграфічныя пратаколы для верыфікацыі ключоў;
  • Плацежная сістэма Майстэрня GNU, якая прадстаўляе ананімнасць для пакупнікоў, але якая адсочвае транзакцыі прадаўцоў для забеспячэння празрыстасці і прадастаўлення падатковай справаздачнасці. Падтрымліваецца работа з рознымі валютамі і электроннымі грашыма, у тым ліку з доларамі, еўра і біткоінамі.

Асноўныя навіны GNUnet 0.13:

  • Уведзены ў строй рэестр ПЕРАМОГ (GNUnet Assigned Numbers Authority), які адказвае за прызначэнне імёнаў і адрасоў для GNUnet.
  • Рэалізацыя дэцэнтралізаванай сістэмы даменных імёнаў GNS прыведзена ў адпаведнасць са спецыфікацыяй, прапанаванай у IETF. Наладжана праца NSS-плагіна "block". Дададзеныя новыя сцягі SUPPLEMENTAL для запісаў, якія відавочна не апублікаваны пад зададзенай пазнакай, але вяртаюцца рэзалверам. Ва ўтыліту gnunet-namestore дададзена выснова папярэджання пры даданні запісаў TLSA або SRV па-за запісам BOX.
  • У механізме водгуку ключоў (GNS/REVOCATION) функцыя доказы выкананай працы пераведзена на выкарыстанне алгарытму хэшавання Argon2.
  • У сэрвісе дэцэнтралізаванага абмену атрыбутамі ідэнтыфікацыі (RECLAIM) памер цікета павялічаны да 256 біт.
  • Транспартны плягін, які выкарыстоўвае для перадачы дадзеных пратакол UDP, перамешчаны ў катэгорыю эксперыментальных з-за наяўнасці праблем са стабільнасцю;
  • Фармат файла ключоў і метад серыялізацыі зачыненых ключоў ECDSA уніфікаваны з іншымі бібліятэкамі (старыя ключы перастануць працаваць).
  • У якасці рэалізацыі алгарытмаў шыфравання на аснове эліптычных крывых задзейнічана бібліятэка натрыю.
  • Дададзена магчымасць зборкі ўтыліт з бібліятэкай cURL, не злучанай з gnutls.
  • Вернуты сервер бесперапыннай інтэграцыі Buildbot.
  • У зборачныя залежнасці ўключаны бібліятэкі libmicrohttpd, libjansson і libsodium.

Крыніца: opennet.ru

Дадаць каментар