công nghệ

WireGuard là gì? Các giao thức VPN được ứng dụng StageVPN sử dụng 8 câu hỏi và 8 câu trả lời

WireGuard tạo khóa phiên bằng thao tác bắt tay hai chiều một lần và thay đổi khóa đó khoảng hai phút một lần, đồng thời xác định thiết bị bằng khóa chung thay vì IP để duy trì kết nối ngay cả khi chuyển từ Wi-Fi sang LTE. Các kỹ thuật mã hóa, xoay vòng khóa, định tuyến khóa mã hóa và cấu hình ứng dụng StageVPN được giải thích bằng các bảng và sơ đồ.

Nhóm StageVPNđọc 23 phút

Hình minh họa 3D mô tả luồng dữ liệu đi qua đường hầm phát sáng màu xanh lam

WireGuardlà giao thức VPN tạo kết nối mạng ảo (đường hầm) được mã hóa giữa hai thiết bị nhận dạng nhau bằng khóa chung.

Ứng dụng StageVPN (iPhone·iPad·Android) sử dụng WireGuard này để gửi thông tin liên lạc IPv4/IPv6 và truy vấn DNS cho toàn bộ thiết bị tới máy chủ VPN. Bài viết này đặt ra tám câu hỏi để giải thích tại sao WireGuard được đánh giá là nhanh và dễ đánh giá. Đối với mỗi câu hỏi, đầu tiên tôi viết ra câu trả lời gồm hai câu, sau đó giải thích các nguyên tắc bằng bảng và sơ đồ bên dưới. Số liệu dựa trên sách trắng của WireGuard và tài liệu giao thức chính thức.

Khoảng 4.000 dòng
Kích thước mã triển khai nhân Linux tại thời điểm phát hành sách trắng năm 2017
1 chuyến khứ hồi
Số lượng chuyến đi khứ hồi cần thiết cho quá trình bắt tay để tạo khóa phiên
120 giây
Khi nào bắt đầu thay đổi khóa phiên bằng một cái bắt tay mới
1 điều
Số lượng kết hợp mật khẩu cố định được sử dụng mà không cần thương lượng

Hình ảnh bên dưới tập hợp ba thuộc tính quan trọng nhất trong bài viết này vào một trang. Thiết bị và máy chủ đồng ý về khóa phiên trong một chuyến đi. Khóa được làm mới khoảng hai phút một lần. Máy chủ nhận dạng thiết bị khác bằng khóa chung chứ không phải địa chỉ IP của thiết bị đó. Đọc tiếp để tìm ra câu trả lời cho từng câu hỏi trong số ba thuộc tính.

Khóa phiên được tạo trong một chuyến đi khứ hồi và được thay đổi khoảng hai phút một lần.
Khóa phiên được tạo trong một chuyến đi khứ hồi và được thay đổi khoảng hai phút một lần.

H. WireGuard là gì, ai đã tạo ra nó và tại sao?

WireGuard là một giao thức và triển khai VPN do Jason A. Donenfeld thiết kế và phát hành vào năm 2017. Mục tiêu là giảm số lượng mục cấu hình, sửa phương thức mã hóa thành một và đặt kích thước đó ở mức mà các chuyên gia có thể đọc và xem lại toàn bộ mã.

Giao thức VPN là một bộ quy tắc để các thiết bị và máy chủ nhận dạng lẫn nhau, chia sẻ khóa mã hóa cũng như đóng gói và trao đổi dữ liệu. Các giao thức hiện tại có nhiều tùy chọn và các bước đàm phán để thích ứng với nhiều môi trường khác nhau. Nhiều tùy chọn hơn dẫn đến mã lớn hơn. Khả năng tạo cấu hình yếu do lỗi cấu hình cũng tăng lên. WireGuard đã thực hiện cách tiếp cận ngược lại. Chúng tôi đã giảm số lượng lựa chọn và làm cho mã ngắn hơn.

Bảng 1. Lịch sử chính của WireGuard (tính đến tháng 9 năm 2026)
quan điểmtrường hợpnghĩa
2017Sách trắng trình bày tại hội nghị NDSSMục tiêu thiết kế, bắt tay và định tuyến khóa mã hóa được nêu trong tài liệu công khai
tháng 3 năm 2020Được bao gồm theo mặc định trong nhân Linux 5.6Có thể được sử dụng trên máy chủ Linux mà không cần cài đặt các mô-đun riêng biệt
Sau khi sách trắng được phát hànhCác bản triển khai chính thức được phát hành cho Windows, macOS, iOS và AndroidỨng dụng điện thoại thông minh kết nối với máy chủ bằng cùng một giao thức
Hôm nayTích lũy nghiên cứu xác minh định dạng như Tamarin và CryptoVerifSự an toàn của thiết kế giao thức đã được xem xét về mặt học thuật

Kích thước mã phụ thuộc vào việc triển khai và thời gian. Vì vậy, 'khoảng 4.000 dòng' không nên được đọc là giá trị hiện tại chính xác mà là 'một mức độ nhỏ hơn so với các triển khai VPN khác'. Ứng dụng StageVPN sử dụng triển khai WireGuard này trên iPhone·iPad và Android. StageVPN dành cho Chrome, một tiện ích mở rộng của Chrome, là proxy HTTPS chứ không phải WireGuard. Sự khác biệt giữa hai phương pháp là VPN trình duyệt và VPN ứng dụngNó được bao phủ trong

Câu hỏi: Các kết nối WireGuard được thực hiện theo thứ tự nào?

Một kết nối được tạo ra bằng cách bắt tay hai tin nhắn, một chuyến đi khứ hồi. Khi người khởi tạo gửi tin nhắn bắt đầu và người phản hồi trả về tin nhắn phản hồi, cả hai bên sẽ tính toán cùng một khóa phiên và trao đổi dữ liệu ngay lập tức.

  1. tin nhắn khởi độngNgười khởi tạo (thiết bị) gửi khóa chung tạm thời, khóa tự công khai được mã hóa và dấu thời gian được mã hóa.
  2. tin nhắn phản hồiNgười phản hồi (máy chủ) gửi khóa chung tạm thời của nó và xác minh người khởi tạo.
  3. Tính toán khóa phiênTừ kết quả trao đổi khóa, cả hai bên rút ra một cặp khóa đối xứng để gửi và nhận.
  4. truyền dữ liệuMỗi gói được mã hóa bằng ChaCha20-Poly1305 và được gán một số thứ tự (bộ đếm).
Hình 1. Trình tự bắt tay và truyền dữ liệu của WireGuard (một chuyến khứ hồi)

Bắt tay là một quá trình trong đó hai bên nhận dạng nhau và đồng ý về khóa mã hóa trước khi bắt đầu liên lạc. Quá trình bắt tay của WireGuard tuân theo mẫu IK của khung Noise. Mẫu IK yêu cầu người khởi tạo phải biết trước khóa công khai của người phản hồi. Ứng dụng StageVPN đáp ứng điều kiện này vì nó nhận được khóa chung của máy chủ để kết nối trong cấu hình VPN.

Bảng 2. Bốn loại thông báo WireGuard (dựa trên tài liệu giao thức chính thức)
tin nhắnkích cỡNội dung bao gồmvai trò
Bắt tay bắt đầu (loại 1)148 byteKhóa chung tạm thời, khóa chung tĩnh được mã hóa, dấu thời gian được mã hóa, 2 MACBằng chứng về danh tính người khởi xướng, chặn các cuộc tấn công phát lại
Phản hồi bắt tay (loại 2)92 byteKhóa công khai tạm thời của người phản hồi, bản mã trống để xác minh, 2 MACThỏa thuận chính đã hoàn tất
Phản hồi của cookie (loại 3)64 bytecookie được mã hóaKiểm tra địa chỉ khởi hành khi máy chủ quá tải
Dữ liệu (Loại 4)Tiêu đề 16 byte và bản mãSố người nhận, bộ đếm, gói IP được mã hóa và thẻ xác thựctruyền thông thực tế

Dấu thời gian trong thông báo khởi động sẽ ngăn chặn các cuộc tấn công lặp lại. Tấn công phát lại là một cuộc tấn công trong đó kẻ tấn công ghi lại một tin nhắn bình thường và gửi lại sau đó. Máy chủ sẽ loại bỏ tin nhắn nếu dấu thời gian cũ hơn lần gửi trước đó từ cùng một thiết bị.

MAC đầu tiên có thể được tạo bằng cách biết khóa chung của máy chủ. Do đó, máy chủ không phản hồi các gói được gửi bởi máy quét không biết khóa chung của máy chủ. Nhìn từ bên ngoài, rất khó để biết liệu có máy chủ VPN trên cổng đó hay không. Khi máy chủ bị quá tải, phản hồi cookie sẽ được gửi trước khi thực hiện các phép tính nặng. Nó là một thiết bị chỉ xử lý các yêu cầu có địa chỉ nguồn được xác nhận là chính hãng, ngăn chặn các cuộc tấn công khiến máy chủ luôn bận rộn với các địa chỉ giả mạo.

Câu hỏi: WireGuard sử dụng kỹ thuật mã hóa nào?

Chỉ đặt một phương thức mã hóa cho mỗi vai trò và sử dụng nó mà không cần thương lượng. Nếu phát hiện sự cố với một kỹ thuật, thay vì thêm tùy chọn, chúng tôi sẽ thay đổi phiên bản giao thức để tất cả quá trình triển khai đều di chuyển cùng nhau.

Tên đầy đủ của cái bắt tay được ghi trong tài liệu chính thức là Noise_IKpsk2_25519_ChaChaPoly_BLAKE2s. Tên là kế hoạch. IK là viết tắt của mẫu bắt tay, psk2 là viết tắt của khóa chia sẻ trước tùy chọn, 25519 là viết tắt của đường cong trao đổi khóa, ChaChaPoly là viết tắt của mật mã dữ liệu và BLAKE2s là viết tắt của hàm băm.

Bảng 3. Các kỹ thuật mã hóa được WireGuard cố định và các tài liệu hỗ trợ
vai tròkỹ thuậttài liệu hỗ trợđặc trưng
Thiết kế bắt tayMẫu Noise_IKpsk2Khung giao thức tiếng ồnXác thực lẫn nhau, thỏa thuận khóa và bảo vệ danh tính người khởi tạo trong một chuyến đi khứ hồi
trao đổi chìa khóaCurve25519(X25519)RFC 7748Khóa chung 32 byte, đường cong elip được thiết kế để giảm lỗi khi triển khai
Mã hóa và toàn vẹn dữ liệuChaCha20-Poly1305RFC 8439Xử lý mã hóa và kiểm tra giả mạo cùng một lúc, nhanh chóng ngay cả khi không tăng tốc phần cứng
Mã hóa cookieXChaCha20-Poly1305Tài liệu về giao thức WireGuardSửa đổi để ghi các giá trị ngẫu nhiên dài một cách an toàn
Băm và MACBLAKE2sRFC 7693Băm nhanh, cũng được sử dụng để tính toán MAC có khóa
đạo hàm chínhHKDFRFC 5869Trích xuất khóa phiên từ kết quả trao đổi khóa
bảng băm nội bộNhâm nhiHash24Giấy Aumasson·BernsteinNgăn chặn các cuộc tấn công thao túng nhắm vào bảng băm

Điều quan trọng cần lưu ý là không có giai đoạn đàm phán. Trong các giao thức trao đổi danh sách mật mã, chẳng hạn như TLS hoặc IKEv2, các cuộc tấn công hạ cấp đã được nghiên cứu để lừa kẻ tấn công chọn mật mã yếu. WireGuard không có danh sách riêng để lựa chọn. Vì vậy, không có lý do gì để một cuộc tấn công như vậy được thiết lập.

psk2 hoặc khóa chia sẻ trước, là một tính năng tùy chọn. Bằng cách thêm một lớp khóa đối xứng lên trên mật mã khóa công khai, đây là một biện pháp bảo vệ bổ sung để bảo vệ nội dung liên lạc ngay cả khi máy tính lượng tử trong tương lai phá vỡ Curve25519. Đây là tính năng tùy chọn nên tính khả dụng sẽ khác nhau tùy theo dịch vụ. StageVPN không cung cấp tính năng mã hóa kháng lượng tử như một tính năng được cung cấp.

Sự an toàn của thiết kế đã được xem xét về mặt học thuật nhiều lần. Dự án WireGuard tập hợp nghiên cứu xác minh chính thức trên trang web chính thức của mình, bao gồm xác minh biểu tượng bằng cách sử dụng bộ chứng minh Tamarin và bằng chứng tính toán bằng CryptoVerif. Tuy nhiên, xác minh chính thức là bằng chứng về thiết kế giao thức. Chúng tôi không đảm bảo chất lượng triển khai hoặc hoạt động máy chủ của từng ứng dụng. Vì vậy, vẫn cần phải cập nhật ứng dụng và kiểm tra chính sách ghi nhật ký của nhà điều hành.

Câu hỏi: Khóa phiên thay đổi bao lâu một lần?

Các khóa phiên được thay thế bằng một cái bắt tay mới khoảng hai phút một lần. Việc thay thế diễn ra trong khi liên lạc với khóa hiện có, do đó người dùng không nhận thấy bất kỳ sự gián đoạn nào.

  1. 0 giâyBắt tay hoàn tất

    Bắt đầu truyền dữ liệu bằng khóa phiên mới.

  2. 120 giâyBắt đầu một cái bắt tay mới

    Khi bạn có dữ liệu cần gửi, hãy tạo khóa mới (REKEY_AFTER_TIME). Chìa khóa cũng được thay thế nếu tin nhắn được gửi tới lũy thừa 2 60.

  3. 180 giâyTừ chối chìa khóa cũ

    Các gói có khóa cũ hơn thời gian này sẽ không được nhận (REJECT_AFTER_TIME).

  4. 540 giâyDọn dẹp nhàn rỗi

    Sau ba lần 180 giây mà không bắt tay mới, hãy xóa tất cả các khóa tạm thời và trạng thái phiên.

Hình 2. Tuổi thọ của khóa phiên WireGuard (dựa trên bộ đếm thời gian từ tài liệu giao thức chính thức)

Lý do bạn thường xuyên thay đổi chìa khóa là vì tính bảo mật phía trước. Bảo mật chuyển tiếp là thuộc tính ngăn nội dung liên lạc của phiên đã kết thúc được phát hành ngay cả khi khóa riêng dài hạn của thiết bị sau đó bị lộ. WireGuard tạo một khóa tạm thời mới cho mỗi lần bắt tay và xóa mọi khóa đã sử dụng khỏi bộ nhớ. Ngay cả khi một khóa phiên bị rò rỉ, phạm vi tác động sẽ bị giới hạn trong vài phút khóa được sử dụng.

Ngoài ra còn có các quy tắc cho nỗ lực bắt tay. Nếu không có phản hồi, nó sẽ thử lại sau mỗi 5 giây (REKEY_TIMEOUT). Nếu không có phản hồi trong 90 giây (REKEY_ATTEMPT_TIME), quá trình thử sẽ dừng lại. Nếu không có dữ liệu nào để gửi trong vòng 10 giây (KEEPALIVE_TIMEOUT) kể từ khi nhận dữ liệu, một gói lưu giữ trống sẽ được gửi để bên kia có thể xác nhận phản hồi.

WireGuard được thiết kế để không thực hiện bắt tay nếu không có dữ liệu để gửi. Tuy nhiên, các thiết bị đằng sau bộ định tuyến hoặc thiết bị sóng mang (NAT) thường sử dụng cài đặt (PersistentKeepalive) gửi các gói trống đều đặn để ngăn thông tin kết nối bị xóa. Hướng dẫn chính thức khuyến nghị khoảng thời gian là 25 giây. Cấu hình VPN của ứng dụng StageVPN cũng sử dụng 25 giây theo mặc định (kể từ tháng 9 năm 2026).

Sự khác biệt giữa kích thước mã và phương pháp đàm phán mật khẩu
Sự khác biệt giữa kích thước mã và phương pháp đàm phán mật khẩu

Câu hỏi: WireGuard khác với OpenVPN và IKEv2/IPsec như thế nào?

WireGuard là một giao thức giúp giảm bớt các tùy chọn và giảm mã. OpenVPN và IKEv2/IPsec là các giao thức có nhiều thỏa thuận và tùy chọn để phù hợp với nhiều môi trường khác nhau.

Hình trên cho thấy sự khác biệt về kích thước mã, phương thức truyền và phương thức đàm phán mật khẩu. Bảng dưới đây tóm tắt những khác biệt còn lại không được thể hiện trong hình. Cả ba hiện đang được sử dụng rộng rãi, nhưng triết lý thiết kế của chúng khác nhau chứ không phải là một triết lý vượt trội vô điều kiện.

Bảng 4. Sự khác biệt về thiết kế giữa ba giao thức (dựa trên các tài liệu chính thức và RFC cho từng dự án)
mụcWireGuardOpenVPNIKEv2/IPsec
Mở/tiêu chuẩnSách trắng 2017, bao gồm nhân Linux 2020Được phát hành lần đầu tiên vào năm 2001, giao thức nguồn mở của riêng nóTiêu chuẩn IETF (IKEv2 là RFC 7296)
Phương thức xác nhận đối tácKhóa công khai 32 byteChủ yếu có thể kết hợp chứng chỉ X.509, tên người dùng và mật khẩuChứng chỉ, khóa chia sẻ trước, EAP, v.v.
Chuyến đi khứ hồi thỏa thuận quan trọng1 chuyến khứ hồi (2 tin nhắn)Nhiều lần, bao gồm cả cái bắt tay TLS.Tối thiểu 2 trao đổi (4 tin nhắn)
thay đổi mạngKết quả từ hành vi mặc định (chuyển vùng)Chủ yếu là kết nối lại, một số hỗ trợ tùy theo cài đặtTiếp tục hỗ trợ cho MOBIKE (RFC 4555)
Mục cài đặtMột vài dòng: khóa, địa chỉ, IP được phép, v.v.Rất nhiều chứng chỉ và tùy chọnCó nhiều phương thức xác thực và mục chính sách
Hệ điều hành tích hợpNhân Linux tích hợp, các nhân khác được cung cấp dưới dạng ứng dụngCài đặt chương trình riêngTích hợp cho Windows, iOS, Android, v.v.

Tốc độ không được xác định chỉ bởi giao thức. Khoảng cách đến máy chủ, chất lượng đường truyền cục bộ, tắc nghẽn máy chủ và hiệu suất thiết bị đều đóng một vai trò. WireGuard có các quy trình đơn giản và hoạt động mã hóa nhẹ nhàng nên thường nhanh trong cùng điều kiện. Điều đó không có nghĩa là nó luôn nhanh. Nếu tốc độ nhận thấy thấp, điều đầu tiên cần làm là chuyển sang máy chủ gần đó và so sánh.

Câu hỏi: 'Định tuyến khóa mã hóa' trong đó khóa chung trở thành địa chỉ là gì?

Định tuyến khóa mã hóa là phương pháp kết hợp khóa chung của bên kia và dải địa chỉ IP (AllowedIP) mà bên kia có thể sử dụng và sử dụng gói này để xác định cả khi gửi và nhận gói. Khi gửi, hãy xác định khóa chung nào sẽ mã hóa bằng địa chỉ đích và khi nhận, hãy kiểm tra xem khóa chung được giải mã thành công có đủ điều kiện để sử dụng địa chỉ nguồn hay không.

Cấu trúc này có hai ưu điểm: Thứ nhất, máy chủ chỉ nhận dạng các gói từ IP đường hầm là chính hãng nếu chúng được giải mã bằng khóa chung gắn với IP đó. Ngay cả khi một thiết bị khác bắt chước IP đường hầm, nó không thể được giải mã và gói sẽ bị loại bỏ. Thứ hai, các quy tắc tường lửa và quy tắc mật khẩu được kết hợp thành một. Quản trị viên chỉ cần duy trì một dòng: 'Khóa công khai này là dải địa chỉ này.'

Nếu bạn đặt AllowedIPs thành 0.0.0.0/0 và ::/0 trên thiết bị người dùng, tất cả các giao tiếp IPv4 và IPv6 sẽ trở thành một đường hầm đầy đủ đến một máy chủ. Ứng dụng StageVPN sử dụng phương pháp này. Các mục chính của cấu hình WireGuard mà ứng dụng nhận được từ máy chủ được liệt kê bên dưới.

Bảng 5. Các mục cấu hình WireGuard cho ứng dụng StageVPN (tính đến tháng 9 năm 2026)
Các mục cấu hìnhCài đặt ứng dụng StageVPNÝ nghĩa đối với người dùng
IP được phép0.0.0.0/0, ::/0Bảo vệ tất cả các thiết bị trong đó tất cả giao tiếp IPv4/IPv6 đều đi qua đường hầm
DNSMáy chủ DNS được chỉ định trong cấu hình VPN và các truy vấn cũng được chuyển tiếp vào đường hầm.Khó nhìn thấy các miền được nhà cung cấp dịch vụ hoặc nhà khai thác Wi-Fi tra cứu
Đường hầm IP (Địa chỉ)Gán địa chỉ nội bộ trong máy chủ cho từng tài khoảnMáy chủ xác định các thiết bị sử dụng khóa chung và địa chỉ nội bộ.
MTUMặc định 1280, có thể thay đổi tùy theo cài đặt máy chủGiảm các vấn đề cắt gói trong mạng di động và đóng gói kép
Kiên trìKeepaliveMặc định 25 giâyDuy trì thông tin kết nối ngay cả sau bộ định tuyến hoặc thiết bị của nhà cung cấp dịch vụ
vị trí kết nốiChọn từ các quốc gia có máy chủ do nhà điều hành quản lý hoặc tự động chọnIP của máy chủ đã chọn sẽ được hiển thị trên các trang web đã truy cập.

MTU là kích thước tối đa của gói có thể được gửi cùng một lúc. WireGuard mã hóa gói gốc và đặt nó trở lại gói UDP, tăng kích thước theo tiêu đề. Do đó, MTU trong đường hầm phải được đặt nhỏ hơn MTU trên đường truyền để tránh các gói bị phân mảnh hoặc bị loại bỏ. Những gì và bao nhiêu hồ sơ truy cập được lưu giữ? Truy cập thông báo lưu trữ hồ sơNó mở cửa cho công chúng.

Hỏi. Nếu WireGuard mạnh thì toàn bộ quá trình sử dụng Internet của tôi có an toàn không?

KHÔNG. Phần mà WireGuard bảo vệ là từ thiết bị của bạn đến máy chủ VPN và mức độ an toàn ngoài phần đó được xác định bởi HTTPS của trang web và chính sách ghi nhật ký của nhà điều hành.

  1. thiết bị của tôiỨng dụng StageVPN
  2. Mạng Wi-Fi/truyền thông công cộngCà phê·LTE
  3. Máy chủ VPNStageVPN
  4. Máy chủ trang web/ứng dụngNgân hàng/thư
  • Mã hóa VPN
  • Trang web HTTPS
  • Các khu vực có thể bị lộ
Hình 3. Đường dẫn dữ liệu đi khi bật ứng dụng StageVPN và cách mỗi phần được bảo vệ.

Ở hai phần bên trái của hình ảnh, những người dùng Wi-Fi công cộng khác, nhà điều hành Wi-Fi và nhà mạng khó có thể nhìn thấy nội dung và đích đến của giao tiếp. Sau khi bạn rời khỏi máy chủ VPN, nó sẽ giống như internet thông thường. Vì vậy, một lần nữa, điều quan trọng là địa chỉ đó có phải là trang web bắt đầu bằng https:// hay không. Rủi ro ngoài giao thức phải được chuẩn bị riêng.

  • Phần sau máy chủ VPN: Các trang web không sử dụng HTTPS không được mã hóa từ máy chủ VPN đến trang web.
  • Tin tưởng vào các nhà khai thác: Do cấu trúc của nó, máy chủ WireGuard biết khóa chung, IP đường hầm và địa chỉ truy cập cuối cùng của từng thiết bị. Đây cũng là nơi bạn có thể thấy IP đích của kết nối của mình. Theo Đạo luật bảo vệ bí mật liên lạc, StageVPN tự động xóa hồ sơ truy cập sau 93 ngày và không ghi lại nội dung liên lạc. Lý do là Tại sao chúng tôi tiết lộ chính sách lưu giữ hồ sơ truy cập của mình?giải thích.
  • Các mối đe dọa bên trong thiết bị của bạn: Ứng dụng độc hại hoặc trang lừa đảo là các sự cố xảy ra bên trong đường hầm, tức là trên thiết bị của bạn. Giao thức không ngăn chặn nó. Sự phân chia là Những gì VPN ngăn chặn và không thể ngăn chặnVui lòng tham khảo.
  • Khoảnh khắc mất kết nối: Trong khi đường hầm bị ngắt kết nối, thông tin liên lạc có thể đi ra ngoài theo tuyến đường thông thường. Kiểm tra trạng thái kết nối của ứng dụng trước khi thực hiện bất kỳ thao tác nhạy cảm nào. Thói quen trên mạng công cộng Quy tắc an toàn Wi-Fi công cộngTôi đã tổ chức nó ở định dạng .
  • DNS và IPv6: Nếu một ứng dụng VPN khác hoặc cài đặt DNS riêng trên thiết bị của bạn thay đổi tuyến đường, các truy vấn có thể đi ra ngoài đường hầm. Cách kiểm tra Hướng dẫn về rò rỉ DNS và rò rỉ WebRTCNó ở trong

Khi bạn kết nối lần đầu, iPhone sẽ yêu cầu bạn thêm cấu hình VPN và Android sẽ yêu cầu bạn cho phép yêu cầu kết nối VPN. Bạn phải cho phép điều này để các ứng dụng có thể tạo đường hầm WireGuard. Đặt hàng theo thiết bị Bắt đầu trên iPhone/iPadVà Bắt đầu trên Androidvà phạm vi cung cấp là Tính năng và phạm vi cung cấpBạn có thể kiểm tra nó ở đây.

H. Tại sao kết nối vẫn duy trì ngay cả khi chuyển từ Wi-Fi sang LTE?

Điều này là do WireGuard xác định thiết bị bằng khóa chung chứ không phải địa chỉ IP. Ngay cả khi mạng thay đổi và IP thay đổi, máy chủ vẫn nhớ địa chỉ nơi gói được giải mã đến lần cuối và phản hồi bằng địa chỉ đó.

Cách phân biệt kết nối bằng địa chỉ IP

  • Các kết nối hiện có bị mất khi mạng thay đổi
  • Cần xác thực lại và đồng ý về khóa
  • Giao tiếp ứng dụng có thể dừng tại thời điểm chuyển đổi

WireGuard (được phân biệt bằng khóa chung)

  • Các gói từ một địa chỉ mới cũng được nhận dạng là cùng một bên nếu chúng được giải mã bằng cùng một khóa chung.
  • Cập nhật địa chỉ mà máy chủ phản hồi bằng địa chỉ mới
  • Nếu phím còn sống, nó sẽ tiếp tục ngay lập tức mà không cần bắt tay.
Hình 4. Sự khác biệt về phương thức kết nối khi chuyển từ Wi-Fi sang LTE

Hành vi này được gọi là chuyển vùng. Điện thoại thông minh chuyển đổi giữa Wi-Fi gia đình, Wi-Fi quán cà phê và LTE/5G khi đang di chuyển nhiều lần trong ngày. Nếu VPN được kết nối lại từ đầu mọi lúc, sẽ có lúc việc nhắn tin và phát trực tuyến sẽ dừng lại. WireGuard xử lý quá trình chuyển đổi này như hành vi mặc định của giao thức. Không cần cài đặt riêng biệt.

WireGuard chỉ sử dụng UDP. UDP là một phương thức truyền tải nhẹ không yêu cầu thủ tục thiết lập kết nối. Nó không chồng chéo với việc kiểm soát truyền lại các thông tin liên lạc TCP qua lại trong đường hầm. Có một vấn đề đã biết là khi TCP được xếp chồng lên trên TCP, khi xảy ra mất mát, cả hai lớp sẽ truyền lại đồng thời và tốc độ giảm đáng kể. Về mặt kiến ​​trúc, WireGuard tránh được vấn đề này.

Trong khi đó, StageVPN ghi lại địa chỉ IP mà thiết bị đã truy cập vào máy chủ VPN khi nó thay đổi, như một trong những bản ghi kết nối theo luật. Thực tế là việc chuyển vùng xảy ra có nghĩa là nó vẫn còn trên máy chủ.

Xin vui lòng biết Có những hạn chế đối với các thiết kế chỉ sử dụng UDP. Một số mạng khách sạn, công ty và trường học chặn liên lạc UDP ngoài truy cập web. Kết nối WireGuard có thể không hoạt động ở những nơi như vậy. Trong trường hợp này, hãy thử chuyển sang Wi-Fi hoặc dữ liệu di động khác. Nếu vẫn không hoạt động, hãy liệt kê kiểu thiết bị, hệ điều hành và phiên bản ứng dụng cũng như thời gian xảy ra sự cố. hỗ trợ khách hàngVui lòng liên hệ với chúng tôi.

Ngay cả khi IP thay đổi, thiết bị vẫn được nhận dạng bằng khóa chung nên kết nối không được thiết lập lại.
Ngay cả khi IP thay đổi, thiết bị vẫn được nhận dạng bằng khóa chung nên kết nối không được thiết lập lại.

bảng chú giải thuật ngữ

Tôi đã sắp xếp các thuật ngữ trong bài viết này từng câu một. Ý nghĩa tương tự được sử dụng khi đọc các tài liệu VPN khác.

cái bắt tay
Đây là quá trình hai thiết bị nhận dạng lẫn nhau và thống nhất về khóa mã hóa trước khi bắt đầu liên lạc.
1-RTT (1 chuyến khứ hồi)
Điều này có nghĩa là quá trình được hoàn thành chỉ bằng cách gửi tin nhắn một lần và quay lại một lần.
Khóa tĩnh (khóa chung/khóa riêng)
Cặp khóa được lưu giữ trên thiết bị của bạn trong thời gian dài và được sử dụng để xác minh danh tính của bạn. Khóa chung được bên kia biết và khóa riêng không được gửi ra khỏi thiết bị.
khóa tạm thời
Khóa này được tạo lại cho mỗi lần bắt tay và bị xóa vào cuối phiên.
khóa phiên
Khóa đối xứng được tạo do quá trình bắt tay mã hóa dữ liệu thực tế.
Chuyển tiếp bảo mật
Thuộc tính này ngăn không cho nội dung của phiên đã kết thúc được phát hành ngay cả khi khóa riêng dài hạn sau đó bị lộ.
AEAD
ChaCha20-Poly1305 là một phương pháp mã hóa xử lý mã hóa và phát hiện giả mạo cùng một lúc.
MAC
Đây là một giá trị ngắn được tính toán và gắn vào khóa để đảm bảo rằng tin nhắn không bị giả mạo.
tấn công lại
Đây là cuộc tấn công đánh lừa hệ thống bằng cách ghi lại một tin nhắn bình thường và gửi lại sau đó.
Định tuyến khóa mã hóa
Phương pháp buộc khóa chung và phạm vi IP được phép của WireGuard để xác định khóa nào cần mã hóa và gói nào sẽ chấp nhận.
IP được phép
Đây là dải địa chỉ IP mà đối tác của khóa chung cụ thể có thể gửi và nhận từ đó. 0.0.0.0/0 và ::/0 đề cập đến tất cả các địa chỉ.
điểm cuối
Đây là địa chỉ Internet và cổng UDP thực tế của bên kia và máy chủ sẽ cập nhật các giá trị này khi chuyển vùng xảy ra.
chuyển vùng
Ngay cả khi địa chỉ IP của thiết bị thay đổi, đường hầm tương tự vẫn tiếp tục.
NAT
Đây là phương pháp trong đó bộ định tuyến hoặc thiết bị của công ty viễn thông chuyển đổi địa chỉ của nhiều thiết bị thành một địa chỉ công cộng.
lưu giữ
Đây là gói không có nội dung được gửi định kỳ để ngăn thông tin kết nối bị xóa.
MTU
Đây là kích thước tối đa của các gói có thể được gửi cùng một lúc.
UDP
Đây là một phương thức truyền tải nhẹ, gửi các gói mà không cần thủ tục thiết lập kết nối và không cần truyền lại.

tài liệu tham khảo

  1. Giao thức & Mật mã — Định dạng và kích thước tin nhắn, mật mã, giá trị bộ đếm thời gian (dự án WireGuard)
  2. WireGuard: Đường hầm mạng hạt nhân thế hệ tiếp theo — Mục tiêu thiết kế, kích thước mã, định tuyến khóa mã hóa, chuyển vùng (Jason A. Donenfeld, sách trắng NDSS 2017)
  3. Xác minh chính thức — Danh sách các nghiên cứu xác minh chính thức, bao gồm Tamarin, CryptoVerif, v.v. (dự án WireGuard)
  4. Bắt đầu nhanh - Cài đặt PersistentKeepalive và các khoảng thời gian được đề xuất (dự án WireGuard)
  5. Khung giao thức tiếng ồn — Định nghĩa mẫu bắt tay IK (Dự án tiếng ồn)
  6. RFC 8439: ChaCha20 và Poly1305 cho giao thức IETF - Phương pháp mã hóa dữ liệu (IETF)
  7. RFC 7748: Đường cong elip để bảo mật — Trao đổi khóa Curve25519 (IETF)
  8. RFC 7693: Băm mật mã BLAKE2 và MAC - Tính toán băm và MAC (IETF)
  9. RFC 7296: Giao thức trao đổi khóa Internet phiên bản 2 (IKEv2) - Quy trình trao đổi IKEv2 (IETF)
  10. RFC 4555: Giao thức di động và đa phương tiện IKEv2 (MOBIKE) — Xử lý thay đổi mạng trong IKEv2 (IETF)
  • #WireGuard
  • #giao thức VPN
  • #mã hóa
  • So sánh #OpenVPN
  • #Chuyển tiếp bảo mật