Bảo mật và mã hoá dữ liệu đường hầm tại công ty TNHH DAE MYUNG CHEMICAL Việt Nam 1. Lý do chọn đề tài. Ngày nay việc trao đổi thông tin ở trong công ty cũng như ở bên ngoài công ty rất phong phú và đa dạng.Cụ thể, làm việc qua camera, đi công tác nhưng vẩn làm việc qua internet. Điển hình, nhân viên ghé thăm khách hàng, đại điểm đối tác hoặc khách sạn mà hệ thống chỉ cho truy cập web ( HTTP, HTTPs) còn tất cả các port khác bị chặn. Kết quả , những server từ xa này gặp phải vấn đề khi thực hiện kết nối VPN do đó làm tăng cuộc gọi chờ trợ giúp và giảm năng xuất của nhân viên. Để thực hiện được vấn đề đó chúng ta cần cài đặt Secure Socket Tunneling Protocal ( SSTP ) là một đường hầm VPN được bảo mật và mã hóa dữ liệu. Công ty Dae Myung Chemical là một doanh nghiệp đang có tiềm năng phát triển lớn, sản phẩm của công ty đang được thị trường trong và ngoài nước đón nhận.Tuy nhiên qua mấy năm hoạt động cho đến nay, việc bảo mật và mã hóa dữ liệu là vấn đề cần thiết và cấp bách hàng đầu của công ty.Vì vậy xây dựng, phát triển hệ thống bảo mật và mã hóa dữ liệu là mục tiêu chiến lược phát triển của công ty đang được ban lãnh đạo quan tâm. Với kiến thức được trang bị khi còn ngồi trên ghế nhà trường và kinh nghiệm được tích lũy qua thời gian thực tập tại công ty, em chọn đề tài “ Bảo Mật và Mã Hóa Dữ Liệu Đường Hầm tại công ty TNHH DAE MYUNG CHEMICAL VN“. Trên cơ sở đó giúp ban lãnh đạo công ty xác định được tầm quan trọng trong việc bảo mật và mã hóa dữ liệu đường hầm, đưa ra các phương hướng, giải pháp đúng đắn và kịp thời để khắc phục sự cố xảy ra nhằm xây dựng và phát triển công ty ngày một tốt hơn trong thời đại đổi mới của đất nước và trên thế giới. 2. Giới hạn của đề tài. Chưa khai thác hết chức năng của Wirehack.
Trang 11.2.Lĩnh vực hoạt động 2
CHƯƠNG 2.PHÂN TÍCH VÀ XÂY DỰNG MÔ HÌNH MẠNG 3
2.1.Giới thiệu 3
2.1.1.Định nghĩa VPN 3
2.1.2.Nguyên nhân hình thành SSTP 3
2.1.2.1.Sự bất tiện của PPTP và L2TP 3
2.1.2.2.Sự thuận tiện của VPN-SSTP 4
2.1.2.3.Một số dặc trưng của SSTP 4
2.1.3.Các giao thức trên nền VPN 4
2.1.3.1.IP Security ( IPSec) 4
2.1.3.2.Point –to-Point Tunneling Protocol( PPTP) 6
2.1.3.3.Layer 2 Tunneling Protocol ( L2TP) 6
2.1.3.4.Secure Socket Tunneling Protocol ( SSTP ) 7
2.1.4.Các loại VPN trong thực tiễn 7
2.1.4.1.Remote Access VPNs 7
2.1.4.2.VPN Site –to-Site 9
2.2.Phân tích gói tin và nguyên lý hoạt động 11
2.2.1.Cú pháp các thông điệp 11
2.2.1.1.Gói tin SSTP 11
2.2.1.2.Gói tin điều khiển SSTP 12
2.2.1.3.Gói Tin dữ liệu SSTP 14
2.2.1.4.Thuộc tính SSTP 16
2.2.1.4.1 Thuộc tính nhận dạng giao thức đóng gói 17
2.2.1.4.2.Thuộc tính yêu cầu ràng buộc mã hoá 18
Trang 22.2.1.5.Thông điệp yêu cầu kết nối cuộc gọi 23
2.2.2.Chi tiết giao thức 25
2.2.2.1.Các chi tiết chung giữa SSTP client và SSTP server 25
2.2.2.1.1.Bộ định thời 29
2.2.2.2.Chi tiết về máy khách 31
2.2.2.3.Chi tiết về máy server 34
CHƯƠNG 3.CÀI ĐẶT VÀ CẤU HÌNH SSTP 39
3.1.Mục tiêu 39
3.2.Mô hình và giải thích 39
3.3.Công cụ 40
3.4.Các bước cài đặt 40
3.5.Kết quả đạt được 71
KẾT LUẬN 73
Trang 3cả các công ty nhà nước quyết định mọi hoạt động trong nền kinh tế nước ta, trong
đó các mối quan hệ giao dịch kinh tế bị giới hạn giữa các công ty nhà nước.Vì điềunày đã làm hạn chế sự phát triển kinh tế nước ta lúc bấy giờ
Đến năm 1989 đất nước chúng ta dần chuyển sang kinh tế thị trường và có sựquản lý của nhà nước Bên cạnh các công ty, xí nghiệp nhà nước đã ra đời vớinhiều loại hình hoạt động của doanh nghiệp mới, trong đó phổ biến nhất là công tytrách nhiệm hữu hạn ( TNHH ) Được sự đãi ngộ, khuyến khích và sự hổ trợ củanhà nước.Công ty TNHH Dae Myung Chemical VN ra đời
Tên giao dịch : Công ty TNHH Dae Myung Chemical VN Co., LtdNgày thành lập : 10/ 03/ 2005
Địa chỉ : Đường số 5, khu công nghiệp Long Thành, Tỉnh ĐồngNai
Điện thoại : 061.3514037
Webside : http://gw.dmpoly.com
Mã số thuế : 0301.948.302
Người đại diện theo pháp luật của công ty : Giám đốc Mr Park Jong Dae
Số nhân viên : 1.000 người
Chứng nhận : ISO 9001:2008
Tin tưởng vào đường lối chính sách của Đảng, Nhà nước, Công ty TNHHDae Myung Chemical Việt Nam đã mạnh dạn đầu từ, sản xuất, mở rộng lĩnh vựchoạt động kinh doanh, trải qua quá trình phát triển với bốn lần thay đổi giấy phépđầu tư đến nay công ty đã có 3 phân xưởng sản xuất, bao gồm:
- Một trụ sở chính và một xưởng ở đường số 5, khu công nghiệp Long Thành,Tỉnh Đồng Nai
- Một xưởng ở đường số 7, khu công nghiệp Long Thành, Tỉnh Đồng Nai
Trang 41.2.Lĩnh vực hoạt động.
Sản xuất các loại màng bao bì phức hợp kín khí và thoáng khí, tấm nhựa pet,hỗn hợp tái chế do tận dụng quy trình sản suất của doanh nghiệp và các sản phẩmliên quan khác có chất lượng cao: sản xuất màng ghép lamination, nhựa hỗn hợp
và các sản phẩm từ polyethylene
Sản xuất vải không dệt ( Nonwoven ) và các sản phẩm từ polypropylene ( không bao gồm công đoạn nhuộm )
Trang 5network) thông qua các mạng công cộng Về căn bản, mỗi VPN là một mạng riêng
rẽ sử dụng một mạng chung (thường là internet) để kết nối cùng với các site (cácmạng riêng lẻ) hay nhiều người sử dụng từ xa Thay cho việc sử dụng bởi một kếtnối thực, chuyên dụng như đường leased line, mỗi VPN sử dụng các kết nối ảođược dẫn đường qua Internet từ mạng riêng của các công ty tới các site hay cácnhân viên từ xa Để có thể gửi và nhận dữ liệu thông qua mạng công cộng mà vẫnbảo đảm tính an tòan và bảo mật VPN cung cấp các cơ chế mã hóa dữ liệu trênđường truyền tạo ra một đường ống bảo mật giữa nơi nhận và nơi gửi (Tunnel)giống như một kết nối point-to-point trên mạng riêng Để có thể tạo ra một đườngống bảo mật đó, dữ liệu phải được mã hóa hay che giấu đi chỉ cung cấp phần đầugói dữ liệu (header) là thông tin về đường đi cho phép nó có thể đi đến đích thôngqua mạng công cộng một cách nhanh chóng Dữ lịêu được mã hóa một cách cẩnthận do đó nếu các packet bị bắt lại trên đường truyền công cộng cũng không thểđọc được nội dung vì không có khóa để giải mã Liên kết với dữ liệu được mã hóa
và đóng gói được gọi là kết nối VPN.Các đường kết nối VPN thường được gọi làđường ống VPN (VPN Tunnel)
2.1.2.Nguyên nhân hình thành SSTP.
2.1.2.1.Sự bất tiện của PPTP và L2TP.
PPTP sử dụng TCP port 1723, và đóng gói gói tin bằng phương pháp GenericRouting Encapsulation (GRE) Với phương pháp GRE có thể nói gói tin PPTP cócấp độ bảo mật rất thấp vì gói tin PPTP chỉ được mã hóa sau khi các thông tinquan trọng đã được trao đổi
Cơ chế kết nối VPN có cấp độ bảo mật tốt hơn là L2TP chạy port 1701, vìL2TP sử dụng IPSec Encapsulating Security Payload (ESP) port 4500 và InternetKey Exchange (IKE) port 500 để mã hóa gói tin Nhưng nếu VPN Client kết nốiđến VPN Server bằng L2TP/IPSec thông qua NAT yêu cầu VPN Server và VPN
Trang 6Với hai đặc điềm trên, nếu các Firewall và thiết bị NAT tại các điểm internetcông cộng (trung tâm hội thảo, internet cafe…) chỉ cho phép các máy tính kết nốiWeb (HTTP và HTTPS), hoặc khi các máy Client truy cập internet thông quaProxy server thì VPN Client sẽ không thể kết nối tới VPN Server thành công bằng
cơ chế PPTP và L2TP/IPSec
2.1.2.2.Sự thuận tiện của VPN-SSTP.
SSTP là cơ chế kết nối VPN bằng HTTP over Secure Socket Layer (HTTPover SSL) port 443 Thông thường, trong một hệ thống mạng hiện nay dù là cácFirewall hay Proxy server đều cho phép truy cập HTTP và HTTPS Vì vậy, dù ởbất cứ đâu các máy Client đều có thể kết nối VPN bằng cơ chế SSTP và đảm bảobảo mật được gói tin vì áp dụng phương pháp mã hóa SSL
2.1.2.3.Một số dặc trưng của SSTP.
SSTP được tích hợp hỗ trợ NAP để bảo vệ nguồn tài nguyên mạng tốt hơnbằng cách thi hành các chính sách về system health.SSTP thiết lập HTTP riêng lẻthông qua session SSL từ SSTP client đến SSTP server Dùng HTTP thông quaSSL Session sẽ giảm thiểu được chi phí và cân bằng tải tốt hơn SSTP không hỗ trợVPN Site-to-Site
IKE (Internet Key Exchange)
ESP (Encapsulation Security Payload)
AH (Authentication Header)
Internet Key Exchange (IKE)
Là giao thức thực hiện quá trình trao đổi khóa và thỏa thuận các thông sốbảo mật như: thuật toán mã hóa được áp dụng, khoảng thời gian khóa cần đượcthay đổi Sau khi thỏa thuận xong thì sẽ thiết lập “hợp đồng” giữa 2 bên, khi đóIPSec SA (Security Association) được tạo ra
Trang 7ISAKMP: là giao thức thực hiện việc thiết lập, thỏa thuận và quản lý chính
sách bảo mật SA
Oakley: là giao thức làm nhiệm vụ chứng thực khóa, bản chất là dùng thuật
toán Diffie-Hellman để trao đổi khóa bí mật thông qua môi trường chưa bảo mật
Lưu ý: Giao thức IKE dùng UDP port 500.
Encapsulating Security Payload (ESP):
Là giao thức cung cấp sự an toàn, toàn vẹn, chứng thực nguồn dữ liệu vànhững tùy chọn khác, chẳng hạn anti-replay ESP cung cấp gần như toàn bộ tínhnăng của IPSec, ngoài ra nó còn cung cấp tính năng mã hóa dữ liệu Do đó, ESPđược sử dụng phổ biến trong IPSec VPN ESP bao gồm những tính năng sau:
Tính bảo mật (Data confidentiality)
Tính toàn vẹn dữ liệu (Data integrity)
Chứng thực nguồn dữ liệu (Data origin authentication)
Tránh trùng lặp (Anti-replay)Những tính năng trên cũng là những tính năng đặc trưng và chính yếu nhấtcủa IPSec
Lưu ý: ESP sử dụng IP protocol number 50
Hoạt động của ESP
ESP chèn một header vào sau phần IP header và trước header của giao thứclớp trên.Header này có thể là một IP header mới trong tunnel mode hoặc IP headercủa gói tin ban đầu trong transport mode
Authentication Header (AH):
Là giao thức cung cấp sự toàn vẹn, chứng thực nguồn dữ liệu và một số tùychọn khác.Nhưng khác với ESP, nó không cung cấp chức năng bảo mật (dataconfidential) AH đảm bảo dữ liệu không bị thay đổi trong quá trình truyền dẫn
Trang 8Trường AH chỉ định cái sẽ theo sau AH header Trong transport mode, nó sẽ
là giá trị của giao thức lớp trên đang được bảo vệ (chẳng hạn UDP hoặc TCP).Trong tunnel mode, giá trị này là 4
Trong tunnel mode, AH đóng gói gói tin IP và thêm vào một IP header trước
AH header
2.1.3.2.Point –to-Point Tunneling Protocol( PPTP).
PPP là giao thức truy nhập vào Internet và các mạng IP phổ biến hiện nay
Nó làm việc ở lớp liên kết dữ liệu trong mô hình OSI, PPP bao gồm các phươngthức đóng gói, tách gói IP, là truyền đi trên chỗ kết nối điểm tới điểm từ máy nàysang máy khác
PPTP đóng các gói tin và khung dữ liệu của giao thức PPP vào các gói tin IP
để truyền qua mạng IP PPTP dùng kết nối TCP để khởi tạo và duy trì, kết thứcđường hầm và dùng một gói định tuyến chung GRE để đóng gói các khung PPP.Phần tải của khung PPP có thể được mã hoá và nén lại
PPTP sử dụng PPP để thực hiện các chức năng thiết lập và kết thức kết nốivật lý, xác định người dùng, và tạo các gói dữ liệu PPP
PPTP có thể tồn tại một mạng IP giữa PPTP khách và PPTP chủ củamạng.PPTP khách có thể được đấu nối trực tiếp tới máy chủ thông qua truy nhậpmạng NAS để thiết lập kết nối IP.Khi kết nối được thực hiện có nghĩa là ngườidùng đã được xác nhận.Đó là giai đoạn tuy chọn trong PPP, tuy nhiên nó luôn luônđược cung cấp bởi ISP.Việc xác thực trong quá trình thiết lập kết nối dựa trênPPTP sử dụng các cơ chế xác thực của kết nối PPP Một số cơ chế xác thực được
sử dụng là:
Giao thức xác thực mở rộng EAP
Giao thức xác thực có thử thách bắt tay CHAP
Giao thức xác định mật khẩu PAP
2.1.3.3.Layer 2 Tunneling Protocol ( L2TP).
IETF đã kết hợp hai giao thức PPTP và L2F và phát triển thành L2TP.Nó kếthợp những đặc điểm tốt nhất của PPTP và L2F.Vì vậy, L2TP cung cấp tính linhđộng, có thể thay đổi, và hiệu quả chi phí cho giải pháp truy cập từ xa của L2F vàkhả năng kết nối điểm điểm nhanh của PPTP
Trang 9không cần triển khai thêm các phần mềm chuyên biệt
L2TP cho phép người dùng từ xa truy cập vào mạng từ xa thông qua mạngcông cộng với một địa chỉ IP chưa đăng ký (hoặc riêng tư)
2.1.3.4.Secure Socket Tunneling Protocol ( SSTP ).
SSTP họat động trên HTTPs tức là chỉ HTTP sử dụng SSL cho sự bảo mậtthông tin và dữ liệu.SSL cũng cung cấp cơ chế xác thực các điểm cuối khi đuợcyêu cầu sử dụng PKI.SSTP sử dụng SSL để xác thực server với client và nó dựavào PPP chạy trên để xác thực client với server.Nghĩa là Client xác thực serverbằng certificate và Server xác thực Client thông qua giao thức hiện có được hỗ trợbởi PPP
Khi Client kết nối với Remote Access Server bằng cách sử dụng SSTP làmthao tác tạo lập đường hầm,SSTP thiết lập session HTTPs với server từ xa tại port
443 ở một địa chỉ URL riêng biệt.Các xác lập proxy HTTP được cấu hình thôngqua IE sẽ được sử dụng để thiết lập kết nối này
Với session HTTPs, Client đòi hỏi server cung cấp certificate để xác thực.Khithiết lập quan hệ SSL hòan tất, các session HTTP được thiếtt lập trên đó.Sau đó,SSTP được sử dụng để thương lượng các tham số giữa Client và Server.Khi lớpSSTP được thíêt lập,việc thương lượng SSTP được bắt đầu nhằm cung cấp cơ chếxác thực client với server và tạo đường hầm cho dữ liệu
2.1.4.Các loại VPN trong thực tiễn.
2.1.4.1.Remote Access VPNs.
Giống như gợi ý của tên gọi, Remote Access VPNs cho phép truy cập bất cứlúc nào bằng Remote, mobile, và các thiết bị truyền thông của nhân viên các chinhánh kết nối đến tài nguyên mạng của tổ chức Ðặc biệt là những người dùngthường xuyên di chuyển hoặc các chi nhánh văn phòng nhỏ mà không có kết nốithường xuyên đến mạng Intranet hợp tác
Trang 10Các truy cập VPN thường yêu cầu một vài kiểu phần mềm client chạy trênmáy tính của người sử dụng.Kiểu VPN này thường được gọi là VPN truy cập từxa.
Một số thành phần chính :
Remote Access Server (RAS) : được đặt tại trung tâm có nhiệm vụ xác nhận
và chứng nhận các yêu cầu gửi tới
Quay số kết nối đến trung tâm, điều này sẽ làm giảm chi phí cho một số yêucầu ở khá xa so với trung tâm
Hỗ trợ cho những người có nhiệm vụ cấu hình, bảo trì và quản lý RAS và hỗtrợ truy cập từ xa bởi người dùng
Bằng việc triển khai Remote Access VPNs, những người dùng từ xa hoặc cácchi nhánh văn phòng chỉ cần cài đặt một kết nối cục bộ đến nhà cung cấp dịch vụ ISP hoặc ISP’s POP và kết nối đến tài nguyên thông qua Internet
Thuận lợi chính của Remote Access VPNs :
Sự cần thiết của RAS và việc kết hợp với modem được loại trừ
Sự cần thiết hỗ trợ cho người dung cá nhân được loại trừ bởi vì kết nối từ xa
đã được tạo điều kiện thuận lợi bời ISP
Việc quay số từ những khoảng cách xa được loại trừ , thay vào đó, nhữngkết nối với khoảng cách xa sẽ được thay thế bởi các kết nối cục bộ
Giảm giá thành chi phí cho các kết nối với khoảng cách xa
Do đây là một kết nối mang tính cục bộ, do vậy tốc độ nối kết sẽ cao hơn sovới kết nối trực tiếp đến những khoảng cách xa
VPNs cung cấp khả năng truy cập đến trung tâm tốt hơn bởi vì nó hỗ trợdịch vụ truy cập ở mức độ tối thiểu nhất cho dù có sự tăng nhanh chóng các kết nốiđồng thời đến mạng
Ngoài những thuận lợi trên, VPNs cũng tồn tại một số bất lợi khác như :
Remote Access VPNs cũng không bảo đảm được chất lượng phục vụ
Khả năng mất dữ liệu là rất cao, thêm nữa là các phân đoạn của gói dữ liệu
có thể đi ra ngoài và bị thất thoát
Trang 11như các gói dữ liệu truyền thông, phim ảnh, âm thanh sẽ rất chậm.
2.1.4.2.VPN Site –to-Site
- Intranet VPNs:
Intranet VPNs được sử dụng để kết nối đến các chi nhánh văn phòng của tổchức đến Corporate Intranet (backbone router) sử dụng campus router Theo môhình này sẽ rất tốn chi phí do phải sử dụng 2 router để thiết lập được mạng, thêmvào đó, việc triển khai, bảo trì và quản lý mạng Intranet Backbone sẽ rất tốn kémcòn tùy thuộc vào lượng lưu thông trên mạng đi trên nó và phạm vi địa lý của toàn
bộ mạng Intranet
Ðể giải quyết vấn đề trên, sự tốn kém của WAN backbone được thay thế bởicác kết nối Internet với chi phí thấp, điều này có thể giảm một lượng chi phí đáng
kể của việc triển khai mạng Intranet
Intranet VPNs là một VPN nội bộ đươc sử dụng để bảo mật các kết nối giữacác địa điểm khác nhau của một công ty.Điều này cho phép tất cả các địa điểm cóthể truy cập các nguồn dữ liệu được phép trong toàn bộ mạng của công ty CácVPN nội bộ liên kết trụ sở chính, các văn phòng, và các văn phòng chi nhánh trênmột cơ sở hạ tầng chung sử dụng các kết nối mà luôn luôn được mã hoá KiểuVPN này thường được cấu hình như là một VPN Site-to-Site
Những thuận lợi chính của Intranet setup dựa trên VPN:
Hiệu quả chi phí hơn do giảm số lượng router được sử dụng theo mô hìnhWAN backbone
Giảm thiểu đáng kể số lượng hỗ trợ yêu cầu người dùng cá nhân qua toàncầu, các trạm ở một số remote site khác nhau
Bởi vì Internet hoạt động như một kết nối trung gian, nó dễ dàng cung cấpnhững kết nối mới ngang hàng
Trang 12 Kết nối nhanh hơn và tốt hơn do về bản chất kết nối đến nhà cung cấp dịch
vụ, loại bỏ vấn đề về khoảng cách xa và thêm nữa giúp tổ chức giảm thiểu chi phícho việc thực hiện Intranet
Những bất lợi chính kết hợp với cách giải quyết :
Bởi vì dữ liệu vẫn còn tunnel trong suốt quá trình chia sẽ trên mạng côngcộng-Internet-và những nguy cơ tấn công, như tấn công bằng từ chối dịch vụ(denial-of-service), vẫn còn là một mối đe doạ an toàn thông tin
Khả năng mất dữ liệu trong lúc di chuyễn thông tin cũng vẫn rất cao
Trong một số trường hợp, nhất là khi dữ liệu là loại high-end, như các tậptin mulltimedia, việc trao đổi dữ liệu sẽ rất chậm chạp do được truyền thông quaInternet
Do là kết nối dựa trên Internet, nên tính hiệu quả không liên tục, thườngxuyên, và QoS cũng không được đảm bảo
- Extraner VPNs:
Không giống như Intranet và Remote Access-based, Extranet không hoàntoàn cách li từ bên ngoài (outer-world), Extranet cho phép truy cập những tàinguyên mạng cần thiết của các đối tác kinh doanh, chẳng hạn như khách hàng, nhàcung cấp, đối tác những người giữ vai trò quan trọng trong tổ chức
Mạng Extranet rất tốn kém do có nhiều đoạn mạng riêng biệt trên Intranetkết hợp lại với nhau để tạo ra một Extranet Ðiều này làm cho khó triển khai vàquản lý do có nhiều mạng, đồng thời cũng khó khăn cho cá nhân làm công việcbảo trì và quản trị Thêm nữa là mạng Extranet sẽ khó mở rộng do điều này sẽ làmrối tung toàn bộ mạng Intranet và có thể ảnh hưởng đến các kết nối bên ngoàimạng Sẽ có những vấn đề bạn gặp phải bất thình lình khi kết nối một Intranet vàomột mạng Extranet Triển khai và thiết kế một mạng Extranet có thể là một cơn ácmộng của các nhà thiết kế và quản trị mạng
Các VPN mở rộng cung cấp một đường hầm bảo mật giữa các khách hàng,các nhà cung cấp, và các đối tác qua một cơ sở hạ tầng công cộng sử dụng các kếtnối mà luôn luôn được bảo mật Kiểu VPN này thường được cấu hình như là mộtVPN Site-to-Site Sự khác nhau giữa một VPN nội bộ và một VPN mở rộng đó là
Trang 13phối khi lựa chọn và đưa ra phương pháp giải quyết tuỳ theo nhu cầu của tổ chức.
Bởi vì một phần Internet-connectivity được bảo trì bởi nhà cung cấp (ISP)nên cũng giảm chi phí bảo trì khi thuê nhân viên bảo trì
Dễ dàng triển khai, quản lý và chỉnh sửa thông tin
Một số bất lợi của Extranet :
Sự đe dọa về tính an toàn, như bị tấn công bằng từ chối dịch vụ vẫn còn tồntại
Tăng thêm nguy hiểm sự xâm nhập đối với tổ chức trên Extranet
Do dựa trên Internet nên khi dữ liệu là các loại high-end data thì việc traođổi diễn ra chậm chạp
Do dựa trên Internet, QoS cũng không được bảo đảm thường xuyên
2.2.Phân tích gói tin và nguyên lý hoạt động
2.2.1.Cú pháp các thông điệp.
2.2.1.1.Gói tin SSTP
Sơ đồ dưới đây trình bày định dạng của gói tin SSTP mà được gửi trên kếtnối HTTPS
Các trường của tiêu đề cần được truyền trong thứ tự byte từ trái sang phải
Phiên bản (1 byte): Trường 8 bit (1 byte) này được sử dụng để giao tiếp và
đàm phán phiên bản của SSTP mà nó sử dụng 4 bits phía trên là phiên bản chính,loại này phải là 0x1, 4 bit ở dưới là phiên bản phụ, loại này được thiết lập là 0x0.Điều đó có nghĩa rằng giá trị 8 bit của trường phiên bản cần là 0x10 và phù hợp
Trang 14Dành riêng (7 bits): Trường 7 bits này dành cho sử dụng tương lai Cần phải
thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
C (1 bit): Trường 1 bit đó được sử dụng đề cho biết gói tin là gói điều khiển
SSTP hay gói dữ liệu SSTP hay không ( Gói dữ liệu được sử dụng cho việc gởimột lớp trọng tải cao) Giá trị là 1 nếu nó là gói điều khiển và 0 nếu nó là gói dữliệu
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài, trong bytes, của toàn bộ gói tin SSTP, baogồm 4 byte tiêu đề SSTP (đó là phiên bản, trường dành riêng 7 bit, trường C 1 bit ,trường R 4 bit, và trường chiều dài 12 bit)
Dữ liệu (biến): Trường chiều dài hợp lệ Chiều dải của trường này là bằng
với giá trị của trường chiều dài, trừ 4.Trường này chứa một trong thông điệp điềukhền SSTP khi trường C bằng 1hay trọng tải từ một giao thức lớp cao khi trường Cbằng 0.Gói dữ liệu SSTP chứa đựng khung PPP như một trọng tải
2.2.1.2.Gói tin điều khiển SSTP.
Gói tin điều khiển SSTP là một loại của gói tin SSTP mà được sử dụng bởi cảhai máy khách và máy chủ để gởi thông điệp điều khiển tới mọi thứ khác Sơ đồdưới đây quy định cách định dạng mà được sử dụng cho thông điệp điều khiển
Trang 15Phiên bản(1 byte): Trường 8 bit (1 byte) này được sử dụng để giao tiếp và
đàm phán phiên bản của SSTP mà nó sử dụng 4 bits phía trên là phiên bản chính,loại này phải là 0x1, 4 bit ở dưới là phiên bản phụ, loại này được thiết lập là 0x0.Điều đó có nghĩa rằng giá trị 8 bit của trường phiên bản cần là 0x10 và phù hợpđến phiên bản 1.0
Dành riêng (7 bits): Trường 7 bits này dành cho sử dụng tương lai Cần phải
thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
C (1 bit): Trường 1 bit đó được sử dụng đề cho biết gói tin là gói điều khiển
SSTP hay gói dữ liệu SSTP hay không Giá trị là 1 nếu nó là gói điều khiển
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Trang 16Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài, trong bytes, của toàn bộ gói tin SSTP, baogồm 4 byte tiêu đề SSTP (đó là phiên bản, trường dành riêng 7 bit, trường C 1 bit ,trường R 4 bit, và trường chiều dài 12 bit)
Loại thông điệp ( 2 bytes): một trường 16 bit trong thứ tự byte mạng mà chỉ
rõ loại của thông điệp Nó cần là một trong những giá trị dưới đây
Số thuộc tính (2bytes): Một trường 16 bit trong thứ tự byte mạng mà chỉ rõ
số lượng của thuộc tính trong thông điệp
Thuộc tính 1: Cần phải chứa thuộc tính đầu tiên
Thuộc tính 2: Cần phải chứa thuộc tính thứ hai
Thuộc tính thứ N: Một danh sách thứ tự của thuộc tính có kích thước thayđổi mà soạn như một thông điệp điều khiển SSTP
2.2.1.3.Gói Tin dữ liệu SSTP.
Gói tin dữ liệu SSTP là một loại của gói SSTP mà đựợc sử dụng bởi
cả hai SSTP khách và SSTP chủ để gởi một lớp trọng tải cao hơn (đó là một khungPPP) đến mọi cái khác Sơ đồ dưới đây chỉ rõ định dạng mà cần được sử dụng chogói tin dữ liệu SSTP
Trang 17Phiên bản(1 byte): Trường 8 bit (1 byte) này được sử dụng để giao tiếp và
đàm phán phiên bản của SSTP mà nó sử dụng 4 bits phía trên là phiên bản chính,loại này phải là 0x1, 4 bit ở dưới là phiên bản phụ, loại này được thiết lập là 0x0.Điều đó có nghĩa rằng giá trị 8 bit của trường phiên bản cần là 0x10 và phù hợpđến phiên bản 1.0
Dành riêng (7 bits): Trường 7 bits này dành cho sử dụng tương lai Cần phải
thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
C (1 bit): Trường 1 bit đó được sử dụng đề cho biết gói tin là gói điều khiển
SSTP hay gói dữ liệu SSTP hay không Giá trị cần phải thiết lập thành 0 để chobiết gói dữ liệu đó mang lớp trọng tải cao hơn
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài, trong bytes, của toàn bộ gói tin SSTP, baogồm 4 byte tiêu đề SSTP (đó là phiên bản, trường dành riêng 7 bit, trường C 1 bit ,
Trang 18Dữ liệu (biến): Trường chiều dài hợp lệ mà chứa lớp trọng tải cao hơn Gói
dữ liệu SSTP chăm lo việc đóng gói khung giao thức như trọng tải Giao thức đónggói trong trường dữ liệu được xác định từ trước đó nhận được thuộc tính nhậndạng giao thức đóng gói SSTP hiện tại chỉ hỗ trợ PPP như là giao thức đónggói.Chiều dài của trường này bằng với giá trị của trường chiều dài, trừ đi 4
Dành riêng (1 byte): Trường 8 bits này dành cho sử dụng tương lai Cần
phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Nhận dạng thuộc tính (1 byte): Một trường 8 bit (1 byte) cần được sử dụng
để chỉ rõ loại của thuộc tính, Giá trị của nó phải là một trong những giá trị dướiđây
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
Trang 19R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài, trong bytes, của toàn bộ gói tin SSTP, baogồm 4 byte tiêu đề SSTP (đó là, trường dành riêng, 1 byte, trường nhận dạngthuộc tính 1 byte, trường R 4 but, trường chiều dài 12 bit)
Giá trị ( biến số): trường chiều dài hợp lệ chiều dài bằng với chiều dài của
trường trừ 4 mà chứa dữ liệu thuộc tính cụ thể
2.2.1.4.1 Thuộc tính nhận dạng giao thức đóng gói
Sơ đồ dưới đây quy định cụ thể các định dạng mà cần được sử dụng trongthuộc tính nhận dạng giao thức đóng gói.Thuộc tính này được sử dụng để đàmphán giao thức lớp cao hơn mà được hỗ trợ bởi bởi máy khách và máy chủ
Máy khách đề xuất một danh sách lớp cao hơn mà nó muốn gửi trên kết nốiSSTP.Nếu máy chủ hỗ trợ những giao thức mà được chỉ rõ bởi máy khách, thì mộtphản ứng thừa nhận sự phủ định không được gửi.Nếu không, máy chủ gửi một sựtrả lời NACK với danh sách của các giao thức mà nó không hỗ trợ
Các trường của cấu trúc cần phải bị truyền trong thứ tự byte mạng tử tráisang phải
Dành riêng (1 byte): Trường 8 bits này dành cho sử dụng tương lai Cần
phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Trang 20Nhận dạng thuộc tính (1 byte): Một trường 8 bit (1 byte) cần được sử dụng
để chỉ rõ loại của thuộc tính, Giá trị của nò phải là 0x01 cho thuộc tính nhận dạnggiao thức đóng gói
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài của thuộc tính nhận dạng giao thức đónggói Trường này cần phải thiết lập thành 0x006
Nhận dạng giao thức (2 bytes): trường 2 byte trong thứ tự mạng byte mà
chứa những giá trị dưới đây Chú ý rằng phiên bản 1 hiện tại chỉ hỗ trợ cho nhữngkhung PPP
2.2.1.4.2.Thuộc tính yêu cầu ràng buộc mã hoá
Sơ đồ dưới đây quy định cụ thể các định dạng mà cần được sử dụng chothuộc tính yêu cầu ràng buộc mã hoá Thuộc tính này được sử dụng bởi máy chủtrao đổi phương pháp này hỗ trợ băm và thời điểm này đến máy khách SSTP.Các trường của cấu trúc cần phải bị truyền trong thứ tự byte mạng tử trái sangphải
Trang 21Dành riêng (1 byte): Trường nàyđược dành riêng cho sử dụng tương lai.
Cần phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Nhận dạng thuộc tính (1 byte): Một trường 8 bit (1 byte) cần được sử dụng
để chỉ rõ loại của thuộc tính, Giá trị của nò phải là 0x04 cho thuộc tính yêu cầuràng buộc mã hoá
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Trang 22Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài của thuộc tính yêu cầu ràng buộc mã hoá Giá trị này cần phải là 40 ( đó là, 0x028)
Dành riêng 1 (3bytes): Trường 24 bits này dành cho sử dụng tương lai Cần
phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Giao thức băm Bitmask (1bytes): Trường 1 byte bitmask được sử dụng (với
trạng thái hỗ trợ giao thức băm server) để xác định phương pháp băm được chophép bởi máy chủ mà máy khách sử dụng cho việc tính toán MAC phức tạp trongthuộc tính ràng buộc mã hoá Các bits dưới đây đã được định nghĩa
Nonce (32 bytes): Một số nguyên 256 bit chưa được ấn định đó chứa 1 giá trị
thời gian duy nhất
2.2.1.4.3.Thuộc tính ràng buộc mã hoá
Sơ đồ dưới đây quy định cụ thể các định dạng mà cần được sửdụng cho thuộc tính ràng buộc mã hoá Thuộc tính này được gởi bởi SSTP clientđến SSTP server và được sử dụng để chắc rằng SSTP client và SSTP server thamgia vào sự thượng lượng SSL và xác thực lớp cao (đó là, xác thực PPP)
Chú ý: Không có thuộc tính ràng buộc mã hoá, một người ở giữa không tincậy có thể chuyển tiếp gói tin PPP mà được nhận bởi client trên giao thức khác ( vídụ: trên vô tuyến) trên kết nối SSTP mà không cần sự hiểu biết của SSTP client vàSSTP server
Các trường của cấu trúc cần phải bị truyền trong thứ tự byte mạng tử trái sangphải
Trang 23Dành riêng (1 byte): Trường 8 bit này được dành riêng cho sử dụng tương
lai Cần phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Nhận dạng thuộc tính (1 byte): Một trường 8 bit (1 byte) cần được sử dụng
để chỉ rõ loại của thuộc tính, Giá trị của nò cần phải là 0x03 cho thuộc tính ràngbuộc mã hoá
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong địnhdạng dưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Trang 24Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài của thuộc tính ràng buộc mã hoá Giá trị
này cần phải là 104 ( đó là, 0x068)
Dành riêng 1 (3bytes): Trường 24 bits này dành cho sử dụng tương lai Cần
phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Giao thức băm (1bytes): Trường 1 byte đó chỉ rõ loại chứng nhận băm và
thuật toán băm mà được sử dụng cho sự tính toán MAC kép Giá trị của nó là mộttrong dưới đây
Nonce (32 bytes): Một số nguyên 256 bit chưa được ấn định đó chứa 1 giá trị
thời gian duy nhất ( hay ngẫu nhiên) Giá trị này giống như những gì đã nhận được
từ SSTP server trong thuộc tính yêu cầu ràng buộc mãhoá.
Chứng nhận băm (biến): Một trường có chiều dài hợp lệ trong thứ tự mạng
byte mà chứa một trong băm SHA1 hay băm SHA256 của sự chứng nhận server
Thuật toán băm được sử dụng để quy định trường bởi trường giao thức băm trong
thông điệp Chứng nhận server là một chứng nhận X.509 như mô tả trongRFC5280; Nó có sẵn như là một phần của bắt tay SSL/TLS Bắy tay SSL/TLS xảy
ra trong suốt thiết lập HTTPS Chiều dài của trường này là 20 bytes khi SHA1được sử dụng hay 32 bytes khi SHA256 được sử dụng
Vật đệm (biến): Trường này được dành riêng cho sử dụng tương lai Cần
phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận Trườngnày một trong chiều dài 0 bytes khi chứng nhận băm SHA256 được sử dụng haychiều dài 12 bytes khi chứng nhận băm SHA1 được sử dụng
MAC kép (biến): Một số nguyên có chiếu dài thay đổi chưa được ấn định đó
chứa giá trị mà được sử dụng để kết hợp mật mã xác thực lớp cao ( đó là xác thựcPPP) với kết nối https lớp thấp và vì vậy chắc rằng SSTP client và SSTP servertham gia vào cả hai trong số họ.trường này là một trong chiều dài 20 bytes khi giao
Trang 25sự tiếp nhận Trường này một trong chiều dài 0 bytes khi chứng nhận bămSHA256 được sử dụng hay chiều dài 12 bytes khi chứng nhận băm SHA1 được sửdụng.
2.2.1.5.Thông điệp yêu cầu kết nối cuộc gọi.
(SSTP_MSG_CALL_CONNECT_REQUEST)
Sơ đồ dưới đây quy định cụ thể các định dạng mà cần được sử dụngcho thông điệp yêu cầu kết nối cuộc gọi.thông điệp này cần phải là thông điệp đầutiên mà được gởi bời SSTP client sau khi nó thiết lập một kết nối HTTPS vớiserver Các Client sử dụng thông điệp để yêu cầu thiết lập một kết nối SSTP với
Server Chú ý rằng thông đỉệp này theo định dạng của một gói điều khiển SSTP
Các trường của cấu trúc cần phải bị truyền trong thứ tự byte mạng tử trái sangphải
Phiên bản(1 byte): Trường 8 bit (1 byte) này được sử dụng để giao tiếp và
đàm phán phiên bản của SSTP mà nó sử dụng 4 bits phía trên là phiên bản chính,loại này phải là 0x1, 4 bit ở dưới là phiên bản phụ, loại này được thiết lập là 0x0.Điều đó có nghĩa rằng giá trị 8 bit của trường phiên bản cần là 0x10 và phù hợpđến phiên bản 1.0
Dành riêng (7 bits): Trường 7 bits này dành cho sử dụng tương lai Cần phải
thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Trang 26C (1 bit): Trường 1 bit đó được sử dụng đề cho biết cái nào là gói tin điều
khiển SSTP hay gói dữ liệu SSTP Giá trị cần phải thiết lập thành 1 cho thông điệpyêu cầu kết nối cuộc gọi đó là gói điều khiền
Chiều dài gói tin (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
R (4 bits): Trường 4 bits này dành cho sử dụng tương lai Cần phải thiết lập
thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà cần phải chỉ rõ chiều dài, trong bytes, của toàn bộ thông điệp yêucầu kết nối cuộc gọi
Loại thông điệp( 2 bytes): là một trường 16 bit trong thứ tự byte mạng mà
chỉ rõ loaik của thông điệp nó cần phải là 0x0001
(SSTP_MSG_CALL_CONNECT_REQUEST)
Số thuộc tính (2bytes): Một trường 16 bit trong thứ tự byte mạng mà chỉ rõ
loại của thông điệp, giá trị của nó cần phài là 0x0001 bởi vì phiên bản 1 SSTP chỉ
hỗ trợ thuộc tính nhận dạng giao thức đóng gói bằng cách sử dụng một giá trị
nhận dạng giao thức của PPP
Dành riêng (1 byte): Trường 8 bit này được dành riêng cho sử dụng tương
lai Cần phải thiết lập thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận
Nhận dạng thuộc tính (1 byte): Một trường 8 bit (1 byte) cần được sử dụng
để chỉ rõ loại của thuộc tính, Giá trị của nò cần phải là 0x2 cho thuộc tính thông
tin trạng thái.
Chiều dài gói tin 1 (2 bytes): Một số nguyên 16 bit chưa được ấn định trong
thứ tự byte mạng mà gói dữ liệu cho hai trường, đã được cấu hình trong định dạngdưới đây
Trang 27thành 0 khi gởi và cần phải được bỏ qua trên sự tiếp nhận.
Chiều dài (12 bits): Một số nguyên 12 bit chưa được ấn định trong thứ tự
byte mạng mà chứa giá trị 0x006 cho chiều dài thuộc tính nhận dạng giao thứcđóng gói
Nhận dạng giao thức (2 bytes): Trường 2 bytes trong thứ tự mạng byte mà
chứa giá trị 0x0001 ( đó là, SSTP_ENCAPSULATED_PROTOCAL_PPP) Chú ýrằng phiên bản 1 SSTP chỉ hỗ trợ vận chuyển của khung PPP
2.2.2.Chi tiết giao thức
Các dưới đây chỉ rõ chi tiết của giao thức đường hầm socket bảo mật baogồm máy khách, máy chủ, và các mô hình dữ liệu phổ biến trừu tượng, cũng nhưcác quy tắc xử lý thông điệp
2.2.2.1.Các chi tiết chung giữa SSTP client và SSTP server
- Mô hình dữ liệu trừu tượng
Cả hai máy khách và máy chủ SSTP duy trì trạng thái hiện tại cho mỗi kếtnối SSTP Giá trị hiện tại liên quan đến cuộc tiến trình ngắt cuộc gọi và huỷ bỏcuộc gọi Đó là phổ biến cho máy khách và máy chủ SSSTP như sau:
Trang 28Đoạn này mô tả trạng thái máy mà áp đặt đến cả hai client và server cho cácgiai đoạn ngắt cuộc gọi và hủy cuộc gọi Trạng thái máy cho việc thiết lập cuộcgọi là khác nhau cho máy khách và máy chủ server.
- Ngắt cụộc gọi
Hình dưới đây trình bày trạng thái máy khi kết nối SSTP đã bị ngắt kết nối
Hinh2: Chi tiết chung cho ngắt kết nối cuộc gọi
Để ngắt một kết nối SSTP, Trạng thái các máy SSTP khách và chủ có cáctrạng thái dưới đây
Call_Disconnect_In_Progress_1 Đây là trạng thái khi một sự kiện đường
hầm SSTP ngắt kết nối được nhận cáclớp cao hơn Trong trạng thái này,
SSTP_MSG_CALL_DISCONNECTđược gửi đến SSTP tận cuối,
Trang 29Được nhận từ SSTP cuối cùng Trong
SSTP_MSG_CALL_DISCONNECT_A
CK được gửi đến SSTP cuối cùng, vàtrạng thái hiện tại được thay đổi đếnCall_Disconnect_Timeout_PendingCall_Disconnect_Ack_Pending Trong trạng thái này, kết nối SSTP chờ
SSTP_MSG_DISCONNECT_ACK từSSTP cuối cùng Trên sự tiếp nhận củathông điệp này, Ngắt kết nối cuộc gọiđược hoàn thành
Call_Disconnect_Timeout_Pendin
g
Trong trường hợp này, kết nối SSTP chờđợi cho bộ đếm thời gian hết hạn hoặccác lớp thấp hơn bị ngắt kết nối Khi mộttrong những điều kiện này được đáp ứng,Ngắt kết nối cuộc gọi được hoàn thànhCác trạng thái bổ sung cho chuyển tiếp hủy bỏ cuộc gọi được định nghĩatrong hình dưới đây
- Hủy bỏ cuộc gọi
Hình dưới đây trình bày trạng thái máy khi cuộc gọi bị huỷ bỏ
Trang 30Hình 3: Chi tiết chung cho huỷ cuộc gọi
Call_Abort_In_Progress_1 Đây là trạng thái ban đầu khi kết nối
SSTP đạt tới điều kiện hủy bỏ liên quan.Chẳng hạn như nhận được một thôngđiệp không hợp lệ, như mô tả trong trạngthái máy khách và máy chủ Trong trạngthái này SSTP_MSG_CALL_ABORTđược gởi đến SSTP tận cuối, và trạngthái hiện tại làthay đổi thànhCall_Abort_Pending
Call_Abort_In_Progress_2 Đây là trạng thái ban đầu mà kết nối
SSTP chuyển đổi khi thông điệpSSTP_MSG_CALL_ABORT được nhận
Trang 31thay đổi thànhCall_Abort_Timeout_Pending
Call_Abort_Pending Trong trạng thái này, kết nối SSTP chờ
đợi cho các thông điệpSSTP_MSG_CALL_ABORT từ SSTPcuối cùng Khi một thông điệpSSTP_MSG_CALL_ABORT
được nhận, hoặc khi một lớp thấp hơnngắt kết nối hoặc thời giantạm ngưng,Hủy bỏ cuộc gọi được hoàn thành.SSTP_MSG_CALL_ABORTkhác hơn,bất kỳ thông báo điều khiển SSTP nhậnđược trong khi trong cái trạng thái nàyđược âm thầm loai bỏ
Call_abort_Timeout_Pending Trong trạng thái này,kết nối SSTP chờ
đợi cho bộ đếm thời gian hết hạn hoặccho lớp thấp bị ngắt kết nối Khi mộttrong những điều kiện này được đáp ứng,Huỷ bỏ cuộc gọi được hoàn thành Bất kỳthông điệp điều khiển SSTP nhận đượctrong khi trong trạng thái này được âmthầm loại bỏ
2.2.2.1.1.Bộ định thời
- Hủy bỏ bộ đếm thời gian liên quan
Có 2 bộ định thời liên quan đến huỷ bỏ tiến trình:
+ TIMER_VAL_ABORT_STATE_TIMERS_1
Trang 32Bộ định thời đầu tiên được bắt đầu bởi một SSTP ngang hang Khi nó bắtđầu hủy bỏ thủ tục bằngcách gởi thông điệp hủy bó cuộc gọi đến SSTP cuốicùng.Trong trạng thái này, tất cả các thông điệp SSTP ngoại trừ hủy bỏ cuộc gọiđều phải đượcbỏ qua Nếu SSTP ngang hàng khởi chạy nhận được một thông điệphủy bỏ cuộc gọi từ SSTP cuối cùng bởi vì bộ đếm thời gian hết hạn, sau đó nó cầnhủy bỏ bộ đếm thời gian TIMER_VAL_ABORT_STATE_TIMER_1 và bắtđầuTIMER_VAL_ABORT_STATE_TIMER_2 bộ đếm thời gian
Khi SSTP cuối cùng nhận một thông điệp hủy bỏ cuộc gọi, nó sẽ hồi đáp vớimột thông điệp huỷ bỏ cuộc gọi sau khi bắt đầu bộ định thời thứ hai ( đó là,TIMER_VAL_ABORT_STATE_TIMER_2) Chắc rằng bộ đếm thời gian màSSTP ngang hàng nhận một thông điệp huỷ bỏ cuộc gọi mà được gởi bởi SSTPcuối cùng Đây là loại tình huống xung đột địa chỉ nơi SSTP ngang hàng và SSTPcuối cùng bắt đầu thông điệp huỷ bỏ cuộc gọi tại cùng thời điểm ( và không hồiđáp đến thông điệp hủy bỏ cuộc gọi bắt đầu bởi SSTP ngang hàng.) Sự chậm trễngằn này chắc rằng cả hai SSTP ngang hàng và SSTP cuối cùng nhận thông điệphủy bỏ cuộc gọi mà được gởi bởi một cái khác
Trong trạng thái này, trong khi chờ đợi bộ định thời gian hết hạn, tất cả cácthông điệp SSTP được bỏ qua.Một lần nữa bộ định thời gian hết hạn SSTP cuốicùng cần phải làm sạch trạng thái kết nối để làm sạch kết nối
Bộ định thời gian cần phải được thiết lập là 3 giây.Bộ định thời gian nên thiếtlập giây thứ 1
- Ngắt kết nối bộ định thời gian liên quan
Có 2 bộ định thời liên quan đến tiến trình ngắt kết nối
+ TIMER_VAL_DISCONNECT_STATE_TIMER_1+ TIMER_VAL_DISCONNECT_STATE_TIMER_2
Bộ định thời đầu tiên được được bắt đầu bởi một SSTP ngang hàng khi nó đãbắt đầu một ngắt kết nối bằng việc gửi thông điệp ngắt kết nối cuộc gọi đến SSTPcuối cùng.Nếu SSTP ngang hàng nhận được một thông điệp chấp nhận ngắt kết nốicuộc gọi từ SSTP cuối cùng trước bộ định thời hết hạn.Thì nó cần huỳ bỏ bộ địnhthời và ngay lập tức làm sạch trạng thái kết nối để kết nối được làm sạch
Trang 33gọi mà nó được gởi bởi SSTP cuối cùng.
Bộ định thời đầu tiên nên thiết lập 5 giây.Bộ định thời thứ hai nên được thiếtlặp 1 giây
Để kiểm tra kết nối HTTPS bị hỏng trong sự vắng mặt của bất kỳhoạt động truyền dữ liệu, Yêu cầu báo hiệu lại và thông điệp hồi đáp báo hiệulại.cần phải định kỳ gởi bởi SSTP ngang hàng và SSTP xa, theo thứ tự định sẵn
Cả hai SSTP client và SSTP server bắt đầu một bộ định thời gian hello saukhi một thiết lập kết nối SSTP thành công
Vì dụ: Sau khi một yêu cầu kết nối cuộc gọi, chấp nhận kết nối cuộc gọi vàtrao đổi thông điệp kết nối cuộc gọi thành công, một bộ định thời gian xin chàođược bắt đầu
Bộ định thời gian được khởi động lại sau khi nhận được một kết nối SSTP( cả hai gói điều khiến SSTP và gói dữ liệu SSTP)
Bộ định thời gian xin chào được thiết lập thành 60 giây
2.2.2.2.Chi tiết về máy khách
- Mô hình dữ liệu trừu tượng
SSTP client thiết lập giai đoạn kết nối thông qua quá trình chuyển đổi trong
sơ đồ trạng thái máy
Trạng thái hiện tại: Một biến số nguyên mà client mà client sử dụng để duytrì trạng thái hiện tại của kết nối Bịến giá trị hiện tại được khởi tạo khi client bắtđầu bắt đầu kết nối SSTP và vẫn còn hợp lệ trong khi các kết nối SSTP vẫn hoạtđộng.Tại bất kỳ điểm nào trong thời gian, biến giá trị hiện tại có thể có một trongcácgiá trị sau.Mỗi giá trị trình bày trạng thái hiện tại của trạng thái client
Client_Call_Disconnected
Client_Connect_Request_Sent
Trang 34 Client_Call_Connected
Chứng nhận băm Client: Một biến đa octet mà client sử dụng để lưu trữ
bảng băm SHA1 hoặc SHA256 của chứng nhận server máy chủ mà tối ưu trongsuốt quá trình đàm phán HTTPS Các client khởi tạo biến này thành giá trị củachứng nhận băm server khi phiên HTTPS được thành lập Biến này lưu trữ SHA1băm 20 byte hoặc băm SHA256 32-byte biến này được sử dụng để tạo ra giá trịcủa thuộc
tính gán buộc mã hóa Khi clean gửi một thông điệp CONNECTED
SSTP-MSG-CALL-ClientBypassAuth: Trong biến Boolean này, Lớp SSTP lưu trữ 1 cờ mà
được sử dụng để cho biết lớp cao hơn để bỏ qua xác thực Biến này được khởi tạobởi lớp quản lý client trong suốt sự kiện thiết lập đường hầm SSTP
Client HTTP Cookie:Trong chuỗi biến này, các lớp SSTP lưu trữ các cookie HTTP sẽ được thông qua lớp HTTPS trong quá trình thiết lập kết nối
HTTPS Nếu biên Client By pass HLAuth được thiết lập là TRUE Biến này đượckhởi tạo bởi các lớp quản lý client suốt sự kiện thiết lập đường hầm SSTP Biếnnày lưu trữ tên của cặp giá trị Lớp SSTP không giải thích nhắc tên của cặp giá trịkết hợp với Client HTTP Cookie
Client Hash Protocal Supported: Biến 1 byte mà người quản trị client sử
dụng để cấu hình một bitmask đại diệndanh sách của phương pháp băm mà có thểđược sử dụng để tính toán MAC kép trong thuộc tính gàn buộc mã hoá Các giá trịhợp lý và định dạng của bitmask được định nghĩa dưới giao thức băm bitmask
Client Hash Protocal Chosen: Biến 1 byte mà máy SSTP client sử dụng để
lưu trữ giao thức băm mà được sử dụng để tính toán MAC kép trong thuộc tínhgán buộc mã hoá Giá trị có thể của biến này được định nghĩa dưới giao thức băm.Biến này được khởi chạy khi một client nhận một thông điệp SSTP-MSG-CALL-ACK
ClientNone: Một biến 32 mà SSTP client sử dụng để lưu trữ vào lúc này.
Mà đã nhận được một thông điệp SSTP server trong CONNECT-ACK Biến này là để gởi giá trị lúc này khi SSTO client sinh ra mộtthông điệp SSTP-MSG-CALL-CONNECTED
Trang 35SSTP-MSG-CALL-việc chống lại trường phiên bản trong thông điệp SSTP mà client nhận được
- Trạng thái máy
Thiết lập cuộc gọi
Hình dưới đây trình bày trạng thái máy khi client thiết lập đường hầm SSTP
gởi đi.Hình dưới đây đề cập đến trạng thái máy ngắt cuộc gọi và huỷ bỏ cuộc gọi
Trang 36Trạng thái máy client có những trạng thái dưới đây như đã trình bày trongbiến Current state.
Client_call_Disconnected Đây là trạng thái ban đầu của trạng thái máy
client Trong cái trạng thái này, client chờ cho
sự kiện thiết lập đường ngằm SSTP từ lớp caohơn Trong việc nhận sự kiện này, client gởikết nối HTTPS đến SSTP server Để hoàn tấtthành công kết nối https , client gởi thôngđiệp
Client_connect_Ack_recevied
Client_connect_Ack_Received Trong trạng thái này, client chờ một sự kiện
hoàn tất xác thực nội bộ Để tiếp nhận sự kiệnnày từ lớp cao đòi hỏi hoàn tất việc xác thực
SSTP_MSG_CALL_CONNECTED và giá trịcủa Current State được thay đổi thành
Client_Call_Connected.
Client_call_connected Trạng thái này tham chiếu đến đến việc thiết
lập thành công của một kết nối SSTP client.Trong trạng thái này, SSTP client tiếp tục gởi
và nhận kiểm soát lớp cao hơn và trọng tải dữliệu, thêm vào việc gởi thông điệp định kỳSSTP_MSG_ECHO_REQUEST
2.2.2.3.Chi tiết về máy server.
- Mô hình dữ liệu trừu tượng
Khi SSTP server nhận kết nối từ SSTP client, server đi thông quatrạng thái chuyển đổi mà được mô tả trong sơ đồ trạng thái máy.Server duy trì mộtbản kết nối nơi mỗi hàng trong bảng chứa biến dưới đây
Trạng thái hiện tại: Một biến số nguyên trình bày trạng thái hiện tại cho kết
nối chỉ định Biến Current State được khởi tạo khi một kết nối HTTPS đến và vẫncòn hợp lệ.Trong khi kết nối SSTP vẫn còn hoạt động.tại bất kỳ điểm nào trong
Trang 37Server_Call_Connected
Server By passAuth: Trong biến Boolean này, Lớp SSTP lưu trữ 1 cờ mà
được sử dụng để cho yêu cầu lớp cao hơn để bỏ qua xác thực cho kết nối Biếnnày được khởi tạo bởi lớp quản lý Sau khi kết nối HTTPS được chấp nhận
Server HTTP Cookie:Trong biến chuỗi này, các lớp SSTP lưu trữ các cookie HTTP mà sẽ được thông qua lớp quản lý sau khi kết nối HTTPS được
thiết lập Biến này được khởi chạy bởi lớp SSTP trong khi chấp nhận việc kết nốiHTTPS.Biến này lưu trữ tên ặp giá trị từ HTTP cookie gởi bời client Lớp SSTPkhông giải thích tên cặp giá trị kết hợp với ServerHTTPcookie Lớp SSTP sẽ vượtqua ServerHTTPcookie tới lớp quản lý sử dụng giao diện trừu tượng trong suốt sựkiện chấp nhận việc kết nối mới
Server HLAKey: Trong biến đa otect của 32 bytes, server lưu trữ key xác
thực mà sẽ được sử dụng trong suốt tính hợp lệ ràng buộc mã hoá Biến này đượckhởi chạy khi xác thực lớp cao hơn được hoàn tất hoặc bỏ qua
Server Certificate Hash: Trong biến đa otect, server lưu trữ băm SHA1 hay
SHA256 của server chứng nhận mà được cấu hình bởi người quản trị server.Người quản trị server cư trú biến này với với server chứng nhận băm.Biến này lưutrữ băm SHA1 20 byte hay SHA256 32 byte Mục đích của biến này là để thay đổithuộc tính ràng buộc mã hoá khi server nhận một thông điệpSSTP_MSG_CALL_CONNECTED
Server hash Protocal Supported: biến 1 byte mà người quản trị server sử
dụng để cấu hình một danh sách đại diện bitmask của phương pháp băm mà có thể
sử dụng để thông qua MAC kép trong thuộc tính ràng buộc mã hoá Định dạng củabitmask này được chỉ rõ trong bảng mô tả của trường Hash Protocal Bitmask củathông điệp chấp nhận kết nối cuộc gọi