WireGuard

 

'''WireGuard'''
1. 기본 개념
2. 암호화 방식
3. 네트워킹 프로토콜
4. 확장성


1. 기본 개념


WireGuard는 다음을 활용합니다.
키 교환을 위한 Curve25519
암호화를 위한 ChaCha20
데이터 인증을 위한 Poly1305
해시 테이블 키용 SipHash
해싱 용 BLAKE2 방식의 체크썸
WireGuard는 UDP 에서 만 사용 가능합니다.

2. 암호화 방식


WireGuard는 ChaCha20 방식만 지원합니다 .
또한 WireGuard는 양자 암호화의 향후 발전을 완화하기 위해 포함 된 사전 공유 대칭 키 모드를 지원합니다.
단기적으로 공유 한 대칭 키가 손상 되더라도 Curve25519 방식의 키는 여전히 충분한 보호 기능을 제공합니다.

3. 네트워킹 프로토콜


WireGuard는 UDP 에서만 작동합니다 .
WireGuard는 터널 내부와 외부 모두에서 IPv6를 완벽하게 지원할수있습니다.
IPv4 및 IPv6 모두에 대해 CLASS 3만 지원하며 v4-in-v6을 캡슐화 할 수 있으며 그 반대의 경우도 마찬가지입니다.
WireGuard는 여러 topologie를 지원 합니다 .
별 형(서버 / 클라이언트)[1]
클라이언트가 데이터 전송을 시작하기 전에 클라이언트 끝점을 정의 할 필요는 없습니다.
클라이언트 끝점은 정적으로 미리 정의 할 수 있습니다.
메쉬 기능으로 지점 간 연결이 지원 되므로 다른 topologie를 만들 수 있지만 동일한 터널에서는 만들 수 없습니다.

4. 확장성


WireGuard는 타사 프로그램 및 스크립트에 의해 확장이 가능하도록 설계되었습니다.
이는 보다 사용자 친화적인 관리 인터페이스 (키 설정 용이 포함), 로깅, 동적 방화벽 업데이트 및 LDAP 통합을 포함한
다양한 기능으로 WireGuard를 보강하는데 사용되었으며
4000줄의 적은 코드를 가지고 있어 구축함에있어서 상당히 간결하고 빠르게 작업이 가능합니다.

[1] 참고 별모양 네트워크를 뜻함