데이터는 항상 IPv6 통신에서 암호화됩니까?


30

이 질문에 대한 답을 얻을 수없는 것 같습니다. Wikipedia에 따르면 "IPsec은 IPv6의 기본 프로토콜 제품군의 필수 부분"이라고 말하지만 모든 통신이 항상 암호화되거나 암호화가 선택 사항이지만 장치가이를 이해할 수 있어야 함을 의미합니다 (사용해야 함) )?

암호화가 선택 사항 인 경우 암호화 사용 여부를 결정하는 운영 체제입니까, 아니면 응용 프로그램입니까? 널리 사용되는 운영 체제 및 소프트웨어가 일반적으로 암호화를 가능하게합니까?

나는 이것을 직접 조사하지만 IPv6 연결이 부족합니다.

업데이트 : 좋아, 선택 사항입니다. 내 후속 질문 : 일반적으로 암호화 사용 여부를 정의하는 응용 프로그램입니까, 아니면 운영 체제입니까?

구체적인 예 : 기본 ipv6을 지원하는 최신 버전의 Windows가 있고 Mozilla Firefox를 사용하여 ipv6.google.com에서 무언가를 검색한다고 가정합니다. 암호화됩니까?


16
IPSec은 문을 잠그는 것과 같습니다. 문의 일부일 수 있지만 문이 반드시 잠겨있는 것은 아닙니다.
Chris S

@Chris S : 굉장한 의견입니다.
SplinterReality

답변:


31

아니.

IPv6에는 프로토콜의 일부로 IPsec이 내장되어 있으며 IPv4와 마찬가지로 볼트로 연결되지 않습니다. 그러나 이것이 기본적으로 활성화되어 있다는 의미는 아니며 네트워크 스택에서 (이론적으로) 오버 헤드가 낮다는 것을 의미합니다.

일반적으로 IPsec 사용은 네트워크 스택의 IP 수준에서 결정되므로 시스템 정책 자체에 의해 결정됩니다. 예를 들어, 시스템 A에는 AH와 ESP가 모두 4.0.0.0/8 서브넷과 통신해야하는 정책이있을 수 있습니다.

업데이트 : 분명히하기 위해 응용 프로그램은 신경 쓰지 않습니다. 어딘가에서 네트워크 연결을 열고 데이터를 보내거나 받아야한다는 것을 알고 있습니다. 그런 다음 시스템은 주어진 요청 된 연결에 대해 IPsec을 협상할지 여부를 파악해야합니다. IPsec은 저급 인증 / 암호화 메커니즘으로 설계되었으며 고급 프로토콜과 응용 프로그램이 걱정할 필요가 없도록 의도적으로 구축되었습니다.

즉, 이는 또 다른 네트워크 수준의 보안 제어 일 뿐이며 반드시 '보안'을 보장하기 위해 반드시 따로 사용하거나 의존해서는 안됩니다. 문제를 해결하고 인증하려는 경우에는 컴퓨터 수준 인증을 IPsec로 유지하면서 일종의 사용자 수준 인증을 시행하는 응용 프로그램.


1
끔찍하게 인기있는 신화를 분명히 무시해 주셔서 감사합니다.
Marcin

3
오, 할 수 있었던 것. 아마도 우리는 이것을 수백 년 안에 IPv8에서 얻을 수있을 것입니다.
Michael Hampton

1
동의하지 않습니다. 암호화는 항상 가능해야하며 최대한 간단해야합니다. IP 수준 암호화를 적극적으로 원하지 않는 사용 사례와 관련하여 다른 컨트롤의 존재 여부에 관계없이 특정 유형의 보안 컨트롤을 수정하는 것은 다소 근시안적입니다.
자랍니다.

20

짧은 대답 : 아니요.

긴 대답 : IPv6을 디자인 할 때 IPsec은 IP4와 달리 IPsec (사용시)이 IPv6 헤더의 일부라는 점에서 고려되었습니다.

자세한 설명 : IPv4에서 IPsec IP 자체 에서 실행 됩니다. 실제로는 Layer 3 프로토콜로 '가장 사용되는 Layer 4'프로토콜입니다 (따라서 일반적인 TCP 및 UDP L4 프로토콜은 계속 작동 할 수 있습니다). ESP (Encapsulating Security Payload)는 IP 패킷 사이에있을 수 없습니다. 결과적으로 IPsec 패킷은 조각화가 방지되는 경우 일반적으로 페이로드 용량을 크게 줄입니다. 또한 IP 위에 있기 때문에 IP 헤더는 보호되지 않습니다.

IPv6에서 IPsec IP 자체의 일부입니다 . ESP 헤더는 이제 IP 헤더의 일부이기 때문에 패킷에 걸쳐있을 수 있습니다. 또한 IP와 통합되어 있기 때문에 IP 헤더의 더 많은 부분을 보호 할 수 있습니다.

내 '간단히'설명이 충분히 명확하기를 바랍니다.


1
실제로 AH는 전체 패킷에 서명하므로 아무것도 변경할 수 없습니다 (즉, NAT가이를 중단합니다). 실제로 IPSec 터널이 거의 AH를 사용하는 이유는 거의 없습니다. 그리고 이것은 많은 확장 헤더 중 하나이며 문자 그대로 "IP 헤더의 일부"가 아닙니다.
Ricky Beam

2

후속 질문 :

운영 체제는 암호화 사용시기를 정의합니다. 이러한 "정책"옵션은 제어판 / 구성 정책에 있습니다. "서브넷 ab12 :의 주소에 연결하려면 비밀 Blah1234가 있어야합니다"와 같은 것을 말합니다. PKI를 사용하는 옵션이 있습니다.

현재 애플리케이션이이 정책에 추가하거나이 정책을 설정하도록 요구할 수 없습니다. 리눅스 소켓 ipv6 섹션 "EH 및 AH 헤더에 대한 IPSec 지원이 없습니다"에 대한 언급이 있으므로 사람들은 이것을 생각했지만 현재 알려진 구현은 없습니다.


1

후속 질문에 예, 아니오.

응용 프로그램은 암호화를 지정할 수 있지만 암호화는 응용 프로그램 수준에서 수행됩니다. HTTP / HTTPS, LDAP / LDAPS, IMAP / IMAPS 및 SMTP / SSMTP와 같은 다른 포트를 사용하는 다양한 암호화 / 암호화 프로토콜 쌍이 있습니다. 이들은 모두 SSL 또는 TLS 암호화를 사용합니다. 일부 서비스는 일반적으로 암호화되지 않은 포트에서 암호화 된 연결을 시작할 수있는 startTLS 옵션을 제공합니다. SSH는 항상 암호화 된 연결을 사용하는 응용 프로그램입니다. 이러한 경우 암호화가 끝납니다. (사용할 수있는 NULL 암호화 알고리즘이 있으며 암호화 된 컨텐츠는 암호화되지 않은 상태로 전송됩니다.)

IPSEC는 관리자가 구성하며 응용 프로그램은 연결이 암호화되었는지 여부를 인식하지 못합니다. 보안되지 않은 연결 (VPN 연결)을 통해 LAN 간의 트래픽을 브리지하는 데 주로 IPSEC가 사용되는 것을 보았습니다. IPSEC는 경로의 일부에만 적용될 수 있으므로 일부 네트워크 세그먼트에서는 데이터가 암호화되지 않은 상태로 전송됩니다.

네트워크 암호화가 많이 사용되지 않기 때문에 응용 프로그램 암호화를 사용할 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.