I2P | |
---|---|
Sorts | gratis programvara med öppen källkod , anonyma nätverk , överläggsnätverk och mobilapplikation |
Skrivet i | Java [2] |
Operativ system | Microsoft Windows , Linux , macOS , OpenBSD , FreeBSD och Android |
Gränssnittsspråk | Engelska , spanska , tyska , ryska och franska |
Första upplagan | 2003 [1] |
Hårdvaruplattform | Java Virtual Machine och Android |
senaste versionen |
|
Licens | BSD , GNU GPL , MIT licens och 🅮 [d] |
Hemsida | geti2p.net _ |
Mediafiler på Wikimedia Commons |
I2P ( förkortning av det engelska i nvisible internet project , IIP , I 2P - the Invisible Internet project ) är ett anonymt datornätverk .
I2P-nätverket är overlay , motståndskraftigt (att inaktivera en nod påverkar inte nätverkets funktion), anonymt (det är omöjligt eller svårt att fastställa nodens IP-adress ) och decentraliserat [4] (har ingen central server ). Vid överföring av data mellan nätverksnoder används kryptering .
Vilken tjänst (eller tjänst) som helst ( forum , blogg , filvärd , e-post , snabbmeddelanden ( chatt ), fildelning , VoIP , etc.) kan placeras i I2P-nätverket samtidigt som serverns anonymitet bibehålls. I2P-nätverket kör http-servrar ; webbplatsadresser finns i pseudodomänutrymmet " .i2p ". Peer-to-peer-nätverk (P2P) kan byggas ovanpå I2P -nätverket , till exempel BitTorrent , eDonkey , Kad , Gnutella , etc.
I2P är ett anonymt självorganiserande distribuerat nätverk som använder en modifierad DHT Kademlia , men som skiljer sig genom att det lagrar hashade adresser till nätverksnoder , AES - krypterade IP-adresser , såväl som offentliga krypteringsnycklar , och nätverksdatabasanslutningar är också krypterade. Nätverket tillhandahåller en transportmekanism för applikationer att anonymt och säkert vidarebefordra meddelanden till varandra [5] . Även om I2P-nätverket sätter huvuduppgiften att bestämma vägen för paketöverföring , tack vare Streaming lib- biblioteket , implementeras deras leverans också i den ursprungligen specificerade sekvensen utan fel, förluster och duplicering, vilket gör det möjligt [6] att använda IP telefoni , internetradio , IP i I2P , videokonferenser och andra streamingprotokoll och tjänster.
Inuti I2P-nätverket driver sin egen webbplatskatalog , elektroniska bibliotek och torrent-spårare . Dessutom finns det gateways för att komma åt I2P-nätverket direkt från Internet, skapade specifikt för användare som av olika anledningar inte kan installera projektmjukvaran Invisible Internet på sin dator [6] .
I2P-nätverket kännetecknas av användningen av krypteringsmekanismer , P2P- arkitektur och variabla mellanhänder (hopp). Denna metod förutsätter en ökning av komplexiteten av deanonymisering, MITM-attacker och gör det helt omöjligt att ersätta paket transparent för användaren .
För tillfället är elementet i nätverket en slags implementering av konventionella DNS-servrar . Den skiljer sig från den vanliga DNS i följande aspekter [7] :
Eftersom nätet är peer-to-peer och decentraliserat är nätets hastighet och tillförlitlighet direkt beroende av människors deltagande i överföringen av andras trafik.
För att komma åt I2P behöver du installera ett routerprogram på din dator som (av)krypterar, (av)komprimerar trafik och skickar den till peers i I2P. För att arbeta med intranätsajter måste du konfigurera webbläsaren för att skicka HTTP -paket till routern som lyssnar på en specifik port . För att komma åt det externa Internet via I2P är det nödvändigt att använda proxyservrar inifrån I2P (outproxy), som för närvarande är få. Dessutom är interna webbplatser i I2P-nätverket tillgängliga från det externa Internet via en proxyserver [8] .
Nätverket designades ursprungligen med antagandet att alla mellanliggande noder är komprometterade eller skadliga, så ett antal aktiva åtgärder infördes för att motverka det [9] .
All trafik på nätverket krypteras från avsändaren till mottagaren. Totalt, när ett meddelande vidarebefordras, används fyra nivåer av kryptering (end-to-end, garlic , tunnel och transport-level kryptering ), innan kryptering läggs ett litet slumpmässigt antal slumpmässiga byte automatiskt till varje nätverkspaket för att ytterligare avpersonalisera den överförda informationen och göra det svårt att analysera innehåll och blockera överförda nätverkspaket. Kryptografiska identifierare , som är offentliga kryptografiska nycklar, används som nätverksadresser . IP-adresser i I2P-nätverket används inte någonstans och aldrig, så det är inte möjligt att fastställa den sanna adressen för någon nod i nätverket [6] . Varje nätverksprogram på en dator bygger separata, krypterade, anonyma tunnlar åt sig själv. Tunnlar är oftast av enkelriktad typ (utgående trafik går genom vissa tunnlar och inkommande trafik genom andra) - riktningen, längden och även vilken applikation eller tjänst som skapade dessa tunnlar är extremt svår att ta reda på [6] . Alla överförda nätverkspaket tenderar att divergera genom flera olika tunnlar, vilket gör det meningslöst att försöka lyssna och analysera den passerande dataströmmen med en sniffer . Det sker också en periodisk förändring (var tionde minut) av redan skapade tunnlar till nya, med nya digitala signaturer och krypteringsnycklar (digitala signaturer och krypteringsnycklar, naturligtvis, varje tunnel har sin egen). Av dessa skäl finns det ingen anledning [6] att oroa sig för applikationsprogram som krypterar sin trafik. Om det råder brist på förtroende för kryptering av program med stängd källkod (som Skype ) går det att lösa problemet med IP-telefoniprogram (som Ekiga ) som överför trafik i det klara. I alla fall kommer I2P-nätverket att utföra en kryptering på fyra nivåer av alla paket och säkra överföringen/mottagningen av all data [6] .
I I2P-nätverket är alla paket krypterade på avsändarens sida och dekrypteras endast på mottagarens sida, medan ingen av de mellanliggande deltagarna i växeln kan fånga upp den dekrypterade datan och ingen av deltagarna vet vem avsändaren är och vem som mottagaren är, eftersom noden som sänder paketen kan vara avsändaren, eller det kan vara samma mellannod, och nästa nod som detta paket måste skickas till kan vara mottagaren, eller det kan också vara samma mellannod, den mellanliggande noden kan inte ta reda på slutpunkterna för avsändaren och mottagaren, precis som inte kan ta reda på vad som hände med paketet som just skickats till nästa nod - om den bearbetade det eller skickade det någonstans längre är det omöjligt att ta reda på [6 ] .
I2P-nätverket använder (för olika nivåer och protokoll) följande system och metoder för kryptering och signatur [6] :
I2P-projektet startades 2003 för att stödja de som är intresserade av ett nytt ocensurerat, anonymt kommunikationsmedel och informationsspridning. I2P är ett försök att skapa ett säkert, decentraliserat, anonymt nätverk med låg svarstid och autonomi, feltolerans och skalbarhet. Den ultimata utmaningen är förmågan att fungera under hårda förhållanden, även under press från organisationer med betydande ekonomiska eller politiska resurser. Alla aspekter av webben är tillgängliga som källkod och är gratis. Detta tillåter användare att verifiera att mjukvaran gör exakt vad den påstår sig göra, och gör det lättare för tredjepartsutvecklare att förbättra nätverkssäkerheten mot ihärdiga försök att begränsa fri kommunikation [10] .
Många av I2P-utvecklingsteamet har tidigare deltagit i IIP- projektoch Freenet . Men till skillnad från det senare är "Invisible Internet Project" en anonym peer -to-peer distribuerad kommunikationsmiljö som kan fungera med alla traditionella nätverkstjänster och protokoll , såsom e- post , IRC , HTTP , Telnet , såväl som distribuerade applikationer som databaser. , Squid och DNS [11] .
Sedan mitten av 2013 har I2Pd aktivt utvecklats , en alternativ öppen källkodsklient för i2p-nätverket, skriven i programmeringsspråket C ++ med skillnader i tillvägagångssätt för kryptering, ett team av oberoende utvecklare arbetar med det, varav några är från Ryssland, vilket kan påverka demonens trovärdighet för vissa användare i avsaknad av oberoende källkodsrevisioner. Kritiska sårbarheter finns ibland i i2pd. En kort lista över skillnader från den officiella klienten: en mindre applikationsstorlek, fullständig frånvaro av tredjepartsprogram i den officiella sammansättningen, integration med applikationer skrivna i C++, ekonomisk användning av datorresurser och högre nätverkshastighet.
Denna metod för att attackera nätverket kan implementeras med en ganska liten användning av resurser (för en framgångsrik attack behöver endast cirka 2% av alla nätverksnoder fångas). Den här metoden begränsar dock attacken genom att fånga upp 20 % av alla nätverksöversvämningar [12] .
För att utföra en attack måste en angripare ersätta friska nätverksnoder (som redan är aktiva i den) med komprometterade. För att göra detta är det nödvändigt att inaktivera funktionsbara noder, samtidigt som du ersätter dem med dina egna. Angriparen bör ersätta värdar med huvudvärdar (konfigurerad som manuell ). Att inaktivera nätverkets arbetsnoder är inte en förutsättning för att utföra en attack - routrarna för noderna i nätverket är vanliga användardatorer, därför deltar de inte alltid i nätverket, och noderna kopplas också bort när routern startas om (till exempel vid uppdatering av programvara). Nätverket i sig kopplar inte ihop nya noder förrän nya medlemmar behövs eller det råder brist på resurser. Därför, för enklare ersättning av noder, räcker det att vänta tills en av noderna kopplas bort från nätverket och tar sin plats med sin egen nod [12] .
För att påskynda processen, tillsammans med att vänta på att en av noderna självständigt ska kopplas bort från nodersättningsnätverket, kan en angripare orsaka en aktivitetsstackspill för arbetarnoder (den så kallade jobbfördröjningen). Det består i att utföra en DoS-attack på en nod. Angriparen behöver skapa många nya tunnlar genom den attackerade noden för att ytterligare fylla sin uppgiftskö med kontinuerliga förfrågningar genom varje tunnel. I det här fallet är det en stor fördröjning i utförandet av uppgifter, och noden utesluter sig själv från översvämningens lista [12] .
Tunnlar används i I2P-nätverket [13] :
Tunnlar är kedjor av routrar genom vilka meddelanden sänds. Tunnlar är utgående och inkommande. Utkorgar är utformade för att dölja avsändarens plats, medan inkorgar döljer mottagarens plats.
Vid användning av icke-standardiserade korta tunnlar - 0, 1, 2 hopp, finns det en ökad risk för deanonymisering av alla tunneldeltagare. Eftersom information om mottagaren och avsändaren sänds tillsammans med själva meddelandet i IP-paketet (eftersom data sänds över en vanlig osäker kanal), känner den mellanliggande noden till mottagaren och avsändaren av paketet, så den attackerande, kontrollerande mellannoden kan göra antaganden om de initiala och slutliga noderna.
Detta problem löses genom att öka tunnelns längd, men det saktar ner kraftigt nätverkets meddelandeöverföring. För tillfället använder nätverket tre-hoppstunnlar som standard, vilket gör denna typ av attack praktiskt taget otillämplig endast om angriparen inte kontrollerar 2 av 3 mellannoder i en tunnel. [13] .
Denna attack använder I2P-sårbarheter, som beror på egenskaperna hos P2P-nätverk i detta nätverk , nämligen: den icke-konstanta drifttiden för nätverksroutrar (som är vanliga datorer för nätverksdeltagare), samt vissa tunnlingsregler [13] :
För att utföra attacken sammanställer angriparen en lista över nätverksroutrar som potentiellt är noder för tunneln med den attackerade ändnoden (den attackerade noden i sig ingår inte i listan). Därefter börjar angriparen skicka kontinuerliga förfrågningar till den attackerade värden för att ta reda på tidsintervallen när routern är online. I fallet med en aktiv nod (nuvarande tillstånd: "online") kontrollerar angriparen den förberedda listan med noder för att hitta inaktiva noder bland dem genom att skicka engångsförfrågningar till var och en av dem. Om inget svar mottogs vid avfrågning av en specifik nod (nuvarande tillstånd: "offline"), exkluderas routern från listan över noder. Liknande åtgärder utförs i motsatt fall: om den attackerade noden är inaktiv, exkluderas de för närvarande aktiva noderna från listan. Således kommer listan i slutändan att bestå av ständigt aktiva routrar. Nästa steg i att filtrera noder från listan kommer att vara utnyttjandet av tunnlingsreglerna som beskrivs ovan: tunnelroutrarna som ingår i LeaseSet [14] för den attackerade noden är exkluderade; tar även hänsyn till kvoten för tunnelns varaktighet [13] .
Utvärdering av hastigheten för denna metod: det kommer att ta cirka 7 dagar av algoritmen att söka igenom 5 tusen noder i den preliminära listan [13] .
En enda angripare räcker för att utföra en "Sybil-attack" och kräver en liten mängd resurser. Denna metod ger möjligheten att ta kontroll över flera översvämningsnoder i ett specifikt område av tangentutrymmet . Eftersom en angripare inte kan starta komprometterade noder i nätverket tillräckligt snabbt (till exempel genom att använda uteslutningsattacker), skiljer sig denna metod från andra genom att den inte tar kontroll över en specifik nod (utan att vara dess ägare). I det här fallet kan angriparen generera ett stort antal nod-ID:n lokalt och sedan välja de lämpligaste att använda (de som är närmare än någon frisk nod i databasen) [12] .
För att denna attack ska ge resultat tar det lite tid, för när en ny nod ansluter till nätverket tar det ungefär en timme för denna nod att bearbeta information om andra nätverksnoder [12] .
Denna attack kan till exempel användas för att blockera åtkomst till nätverksnoder till viss information (till exempel en nyckel som pekar på en nod med en specifik tjänst). Genom att kompromissa med de närmaste grannarna till en viss nod, är det möjligt att säkerställa att när du ansluter till denna nod för adressen till en nätverkstjänst, returneras en fråga om tjänstens osäkerhet i förväg ( orig., utan att veta resursen) [12] .
Nedan finns en lista [15] .
Invisible Internet Project - Garlic Routing | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Genomföranden |
| ||||||||||
Webbplatser för .i2p pseudo- domänzonen |
|
Anonyma nätverk | |
---|---|
Fildelning |
|
Surfa på nätet | |
Remailers |
|
Budbärare |
|
Darknet | |
Sökmotorer | |
Trådlösa nätverk | |
Kryptovaluta | |
VPN |
|
Operativsystem |
Generiska toppdomäner | |
---|---|
Osponsrad | |
Osponsrade NewGTLDs |
|
Sponsrad | |
Infrastruktur | |
Avlägsen | |
reserverad | |
Pseudodomäner | |
|