Invisible Internet Project는 2002년에 시작되었습니다. 이 프로젝트의 비전은 I2P 네트워크가 “최고 수준의 완전한 익명성, 프라이버시 및 보안을 제공하는 것입니다. 분산형 피어 투 피어 인터넷은 ISP가 트래픽을 제어하는 것에 대한 걱정을 없애줍니다. 이는 사람들이 매끄러운 활동을 수행할 수 있게 하고, 공용 키 암호화, IP 스테가노그래피 및 메시지 인증을 활용하여 보안과 인터넷을 보는 방식을 변화시킬 것입니다. 원래 인터넷이 되어야 했던 모습이 곧 이루어질 것입니다.”
그 이후로 I2P는 다양한 애플리케이션에 높은 수준의 프라이버시, 보안, 인증을 제공할 수 있는 전체 네트워크 프로토콜 스위트를 명시하고 구현하도록 발전해 왔습니다.
I2P 네트워크
I2P 네트워크는 완전 암호화된 피어 투 피어 오버레이 네트워크입니다. 관찰자는 메시지의 내용, 출처 또는 목적지를 볼 수 없습니다. 트래픽이 어디에서 오는지, 어디로 가는지, 또는 그 내용이 무엇인지 아무도 알 수 없습니다. 또한, I2P 전송은 검열자가 인식하고 차단하는 데 저항할 수 있는 기능을 제공합니다. 네트워크는 트래픽을 라우팅하기 위해 피어에 의존하기 때문에 위치 기반의 차단은 네트워크가 성장함에 따라 점점 더 어려워집니다. 네트워크의 모든 라우터는 네트워크를 익명으로 만드는 데 기여합니다. 안전하지 않은 경우를 제외하고, 모든 사용자가 네트워크 트래픽을 보내고 받는 데 참여합니다.
I2P 네트워크에 연결하는 방법
핵심 소프트웨어(Java)에는 네트워크와의 연결을 소개하고 유지하는 라우터가 포함되어 있습니다. 또한 경험과 작업 흐름을 개인화할 수 있는 애플리케이션과 설정 옵션도 제공합니다. 자세한 내용은 문서를 참조하세요.
I2P 네트워크에서 할 수 있는 것
이 네트워크는 서비스, 애플리케이션, 네트워크 관리를 위한 애플리케이션 계층을 제공합니다. 또한 자체 DNS를 갖추고 있어 인터넷(Clearnet)의 콘텐츠를 직접 호스팅하고 미러링할 수 있습니다. I2P 네트워크는 인터넷과 같은 방식으로 작동합니다. Java 소프트웨어에는 BitTorrent 클라이언트, 이메일, 정적 웹사이트 템플릿이 포함되어 있습니다. 기타 애플리케이션은 라우터 콘솔에 쉽게 추가할 수 있습니다.
네트워크 개요
I2P는 구축하는 터널과 전송하는 통신에 다양한 속성을 부여하기 위해 암호화를 사용합니다. I2P 터널은 NTCP2 및 SSU2 전송을 사용하여 전송되는 트래픽을 숨깁니다. 연결은 라우터-투-라우터, 클라이언트-투-클라이언트(종단-대-종단)로 암호화됩니다. 모든 연결에 대해 포워드 시크릿(Forward-secrecy)이 제공됩니다. I2P는 암호학적으로 주소를 사용하므로 I2P 네트워크 주소는 자동으로 인증되며 이를 생성한 사용자에게만 속합니다.
네트워크는 피어(“라우터”)와 단방향의 인바운드 및 아웃바운드 가상 터널로 구성됩니다. 라우터는 기존의 전송 메커니즘(TCP, UDP)을 기반으로 구축된 프로토콜을 사용하여 메시지를 전달합니다. 클라이언트 애플리케이션은 자체 암호 식별자(“Destination”)를 가지고 있어 메시지를 보내고 받을 수 있습니다. 이러한 클라이언트는 어떤 라우터에도 연결하여 네트워크를 통해 메시지를 보내고 받는 데 사용될 일부 터널의 임시 할당(“리스”)을 승인할 수 있습니다. I2P는 라우팅 및 연락처 정보를 안전하게 분산하기 위해 Kademlia DHT의 수정된 버전을 사용하여 자체 내부 네트워크 데이터베이스를 사용합니다.
분산화와 I2P 네트워크에 대하여
I2P 네트워크는 거의 완전히 분산형이며, Reseed 서버라는 예외가 있습니다. 이는 DHT(분산 해시 테이블) 부트스트랩 문제를 처리하기 위한 것입니다. 기본적으로 비 네트워크 참가자가 시작할 수 있는 최소 하나의 영구 부트스트랩 노드를 운영하는 것이 좋고 신뢰할 수 있는 방법이 아닙니다. 일단 네트워크에 연결되면 라우터는 “탐색 터널"을 구축하여 피어를 발견하지만 초기 연결을 하기 위해서는 새 라우터를 네트워크에 연결하고 온보딩하기 위해 리시드 호스트가 필요합니다. 리시드 서버는 새 라우터가 자신으로부터 리시드를 다운로드했을 때를 관찰할 수 있지만 I2P 네트워크의 트래픽에 대한 다른 정보는 알 수 없습니다.
비교
익명 통신에 대해 작업하는 다른 수많은 애플리케이션 및 프로젝트가 있으며, I2P는 이러한 노력에서 많은 영감을 받았습니다. 이것은 익명성 리소스의 포괄적인 목록이 아닙니다 - freehaven의 익명성 목록과 GNUnet의 관련 프로젝트가 이 목적을 잘 수행합니다. 그렇긴 해도, 몇 가지 시스템은 추가적인 비교를 위해 두드러집니다. I2P가 다른 익명성 네트워크와 어떻게 비교되는지에 대해 더 알고 싶다면 우리의 상세 비교 문서를 참조하세요.