난독화 TCP
Obfuscated TCPObsTCP(Occessized TCP)는 Transmission Control Protocol(TCP)을 통해 기회주의적 암호화를 구현하는 트랜스포트 계층 프로토콜의 제안이었습니다.TLS(Transport Layer Security)보다 구현 비용과 복잡성이 낮아 인터넷상의 TCP 트래픽 대량 감청 및 악의적인 손상을 방지하기 위해 설계되었습니다.2008년 8월에 IETF는 TCP 옵션에 대한 제안을 거부하고 [1]대신 애플리케이션 층에서 실행할 것을 제안했습니다.그 프로젝트는 몇 달 후부터 활동을 하지 않고 있다.
2010년 6월, tcpcrypt라고 불리는 별도의 제안서가 제출되었습니다.이 제안서는 ObsTCP의 많은 목표를 공유하고 있습니다.애플리케이션에 대한 투과성, 기회주의적, 낮은 오버헤드입니다.필요한 설정(DNS 엔트리 또는 HTTP 헤더 없음)은 훨씬 적습니다.ObsTCP와 달리 tcpcrypt는 인증을 구현하고 man-in-the-middle 공격(MITM)[2]을 방지하기 위해 애플리케이션까지 기본 기능을 제공합니다.
역사적 기원
ObsTCP는 Adam Langley에 의해 작성되었습니다.기회주의적 암호화를 사용하여 TCP 통신을 난독화하는 개념은 몇 번의 반복을 통해 발전했습니다.ObsTCP의 실험적인 반복에서는 'SYN' 패킷의 TCP 옵션을 사용하여 'SYNACK'에서 공용 키로 응답하는 서버인 ObsTCP에 대한 지원을 알렸습니다.IETF 초안 프로토콜은 2008년 7월에 처음 발표되었습니다.패킷은 Salsa20/[3]8로 암호화되었으며 패킷은 MD5 체크섬으로 [4]서명되었습니다.
현재의 (세 번째) 반복에서는, 특별한 DNS 레코드(또는 아웃 오브 밴드 방식)를 사용하고, 기반이 되는 [5]TCP 프로토콜의 조작을 변경하지 않고, 서포트나 키를 어드버타이즈 합니다.
암호화 기능
ObsTCP는 공개 키 인증서, 인증 기관의 서비스 또는 복잡한 공개 키 인프라 없이 TCP 트래픽을 보호하기 위한 저비용 프로토콜입니다.이것은 암호화되지 않은 트래픽을 트랩하기 위해 무방향 감시를 사용하는 것을 억제하기 위한 것이지, 중간 공격 시 인간으로부터 보호하기 위한 것이 아닙니다.
소프트웨어는 현재 Salsa20/8[3] 스트림 암호와 Curve25519[6] 타원곡선 Diffie Hellman 함수를 지원합니다.
TLS/SSL/HTTPS와의 비교
| 특징 | 옵스TCP | SSL/TLS/HTTPS |
|---|---|---|
| 공개 키 인프라스트럭처 | 서명된 공용 키 인증서 필요 없음 | 서명된 공용 키 인증서를 구입해야 합니다(또는 자체 서명된 인증서를 사용해야 함). |
| 웹 브라우저 지원 | Firefox[7] 패치 적용 버전 사용 가능 | 널리 사용되는 모든 웹 브라우저에서 지원 |
| 웹 서버 지원 | lighttpd 및 Apache용[8] 패치/서버 업그레이드 필요 | 일반적인 웹 서버에서 폭넓게 지원 |
| 네트워크 레이텐시 | 연결당 추가 라운드 트립 없음(단, 주요 애드버타이즈먼트를 얻기 위해 DNS 검색이 필요할 수 있음) | 접속당 1회 또는 2회 추가 라운드 트립 |
| 암호화 속도 | 매우 빠른 암호화 | 느리다 |
| TCP 포트 | 임의의 TCP 포트 사용 가능 | 일반적으로 포트 443을 사용하지만 임의의 TCP 포트를 사용할 수 있습니다. |
| 보안 특성 | 중간자 공격에 저항하지 않음 | 중간자 공격에 대한 저항력-the-middle 공격에 대한 저항 |
접속확립
ObsTCP를 사용하는 서버는 공개 키와 포트 번호를 변경합니다.
DNS 'A 레코드'를 사용하여 ObsTCP에 대한 서버 지원을 알릴 수 있습니다('친절한' 이름을 제공하는 DNS 'CNAME 레코드' 포함).대신 HTTP 헤더 레코드 또는 캐시된/아웃 오브 밴드키 세트 정보를 사용할 수도 있습니다.
ObsTCP 서버에 접속하는 클라이언트는 서버에 접속하여 트래픽을 암호화하기 전에 DNS 엔트리를 해석하거나 HTTP 헤더 레코드를 사용하거나 캐시된/아웃 오브 밴드 데이터를 사용하여 공개 키 및 포트 번호를 가져옵니다.
「 」를 참조해 주세요.
- 기회주의적 암호화
- tcpcrypt(동일한 목표를 가진 새로운 제안)
- Transport Layer Security(TLS, SSL이라고도 함)
- IPsec
레퍼런스
- ^ Adam Langley (2008-08-15). "Sorry folks, I think Obfuscated TCP died". Obfuscated TCP development blog.
- ^ Andrea Bittau; et al. (2010-08-13). The case for ubiquitous transport-level encryption (PDF). 19th USENIX Security Symposium.
- ^ a b "Snuffle 2005". cr.yp.to. Retrieved 2009-05-08.
- ^ Eddy, Wesley; Langley, Adam. "Extending the Space Available for TCP Options". IETF. Retrieved 2015-02-07.
- ^ "Obfuscated TCP History". Google. Oct 2, 2008. Archived from the original on 2009-01-08. Retrieved 2009-05-08.
- ^ "Curve25519: high-speed elliptic-curve cryptography". cr.yp.to. Retrieved 2009-05-08.
- ^ "Obfuscated TCP Clients: Firefox". Google. Retrieved 2009-05-08.
- ^ "Installing ObsTCP using the ObsTCP transport layer". Google. Retrieved 2009-05-08.