Sử dụng OpenSwan và phân tích quá trình hoạt động của IKE

Một phần của tài liệu Kỹ thuật VPN sử dụng IPSEC (Trang 56)

3.4.1. Sử dụng OpenSwan.

Trên cả hai máy OpenSwan1 và OpenSwan2 sử dụng lệnh:

service ipsec start

Khởi động kết nối giữa 2 nút mạng bất kỳ trong mạng (ở đây chọn là net-to-net) bằng câu lệnh:

ipsec auto --up net-to-net

Hình 3.10: Khởi động Ipsec trên máy OpenSwan2

Để kiểm tra quá trình hoạt động thực hiện lệnh ping từ máy Client1 (địa chỉ IP là 192.168.34.4) sang máy Client2 (địa chỉ IP là 192.168.56.6).

Hình 3.11: 2 máy Client không thể kết nối khi Ipsec chưa hoạt động

Để kiểm tra độ bảo mật, ta thực hiện truyền 1 tệp có nội dung “aaaaaaa” giữa 2 máy OpenSwan1 và OpenSwan2. Khi Ipsec chưa hoạt động, trên chương trình bắt gói tin có thể hoàn toàn đọc được nội dung của tập vừa truyền:

Hình 3.13: Gói tin thu được khi Ipsec chưa hoạt động

Khi Ipsec hoạt động, nội dung của tệp sẽ được mã hóa, vì vậy trên chương trình bắt gói tin sẽ không đọc được nội dung.

Hình 3.14: Gói tin thu được khi Ipsec hoạt động 3.4.2. Phân tích quá trình hoạt động của IKE.

Để phân tích quá trình hoạt động của IKE, sử dụng chương trình bắt gói tin ngay từ khi 2 máy OpenSwan hoạt động. Kết quả thu được như sau:

Hình 3.15: Các gói tin thu được khi 2 máy OpenSwan hoạt động

Ở đây bắt được 9 bản tin (từ số 136 đến số 144) của giao thức ISAKMP. Trong đó có 6 bản tin (từ số 136 đến số 141) là thuộc pha I của IKE, 3 bản tin còn lại thuộc pha II. Trong pha I của IKE sử dụng phương pháp xác thực bằng khóa chia sẻ trước. Để thấy rõ hơn sự hoạt động của IKE, ta sẽ phân tích chi tiết từng bản tin cụ thể.

Theo lý thuyết ở bước thứ nhất, bên khởi tạo sẽ gửi bên đáp ứng một thông báo gồm một ISAKMP header và một SA payload. Trong ISAKMP header chứa cookie của bên khởi tạo, kiểu trao đổi. Trong SA payload chứa một số tình huống, đề nghị. Trong mỗi đề nghị (proposal) lại chứa một transform dùng để thỏa thuận về thuật toán mã hóa, hàm HASH, thời gian tồn tại liên kết an toàn, nhóm để thực hiện trao đổi Diffie - Hellman. Điều này được thể hiện rõ trong bản tin số 136 mà bên máy OpenSwan1 (địa chỉ IP 172.16.11.2) gửi máy OpenSwan2 (địa chỉ IP 172.16.22.2) (phần in đậm).

Frame 136: 624 bytes on wire (4992 bits), 624 bytes captured (4992 bits) Cisco HDLC

Internet Protocol Version 4, Src: 172.16.11.2 (172.16.11.2), Dst: 172.16.22.2 (172.16.22.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol (ISAKMP header) Initiator cookie: 6a9f7e536f0b6575 (cookie bên khởi tạo)

Responder cookie: 0000000000000000 Next payload: Security Association (1) Version: 1.0

Exchange type: Identity Protection (Main Mode) (2) (kiểu trao đổi)

Flags: 0x00

Message ID: 0x00000000 Length: 592

Type Payload: Security Association (1) (SA payload)

Next payload: Vendor ID (13) Payload length: 428

Situation: 00000001

Type Payload: Proposal (2) # 0

Next payload: NONE / No Next Payload (0) Payload length: 416

Proposal number: 0 Protocol ID: ISAKMP (1) SPI Size: 0

Proposal transforms: 12

Type Payload: Transform (3) # 0 Next payload: Transform (3) Payload length: 36

Transform number: 0

Transform ID: KEY_IKE (1)

Transform IKE Attribute Type (t=11,l=2) Life-Type : Seconds Transform IKE Attribute Type (t=12,l=2) Life-Duration : 3600

Transform IKE Attribute Type (t=1,l=2) Encryption-Algorithm : AES-CBC Transform IKE Attribute Type (t=2,l=2) Hash-Algorithm : SHA

Transform IKE Attribute Type (t=3,l=2) Authentication-Method : RSA-SIG Transform IKE Attribute Type (t=4,l=2) Group-Description : 2048 bit MODP group

Transform IKE Attribute Type (t=14,l=2) Key-Length : 128 Type Payload: Transform (3) # 1

Next payload: Transform (3) Payload length: 36

Transform number: 1

Transform IKE Attribute Type (t=12,l=2) Life-Duration : 3600

Transform IKE Attribute Type (t=1,l=2) Encryption-Algorithm : AES-CBC Transform IKE Attribute Type (t=2,l=2) Hash-Algorithm : MD5

Transform IKE Attribute Type (t=3,l=2) Authentication-Method : RSA-SIG Transform IKE Attribute Type (t=4,l=2) Group-Description : 2048 bit MODP group

Transform IKE Attribute Type (t=14,l=2) Key-Length : 128 Type Payload: Transform (3) # 2

Next payload: Transform (3) Payload length: 32

Transform number: 2

Transform ID: KEY_IKE (1)

Transform IKE Attribute Type (t=11,l=2) Life-Type : Seconds Transform IKE Attribute Type (t=12,l=2) Life-Duration : 3600

Transform IKE Attribute Type (t=1,l=2) Encryption-Algorithm : 3DES-CBC Transform IKE Attribute Type (t=2,l=2) Hash-Algorithm : SHA

Transform IKE Attribute Type (t=3,l=2) Authentication-Method : RSA-SIG Transform IKE Attribute Type (t=4,l=2) Group-Description:2048 bit MODP group

Type Payload: Transform (3) # 3 Type Payload: Transform (3) # 4 Type Payload: Transform (3) # 5 Type Payload: Transform (3) # 6 Type Payload: Transform (3) # 7 Type Payload: Transform (3) # 8 Type Payload: Transform (3) # 9 Type Payload: Transform (3) # 10

Type Payload: Transform (3) # 11

Khi nhận được thông báo của bên khởi tạo, bên đáp ứng gửi lại bên khởi tạo một thông báo gồm một ISAKMP header, SA payload. Trong ISAKMP header chứa cookie của cả bên khởi tạo và bên đáp ứng; trong SA payload chứa các tình huống, đề nghị, và một transform đã được chấp nhận. Điều này được thể hiện rõ trong bản tin số 137:

Frame 137: 172 bytes on wire (1376 bits), 172 bytes captured (1376 bits) Cisco HDLC

Internet Protocol Version 4, Src: 172.16.22.2 (172.16.22.2), Dst: 172.16.11.2 (172.16.11.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol (ISAKMP header)

Initiator cookie: 6a9f7e536f0b6575 (cookie của bên khởi tạo) Responder cookie: 9559042a29f6d239 (cookie của bên đáp ứng)

Next payload: Security Association (1) Version: 1.0

Exchange type: Identity Protection (Main Mode) (2) (kiểu trao đổi)

Flags: 0x00

Message ID: 0x00000000 Length: 140

Type Payload: Security Association (1) (SA payload)

Next payload: Vendor ID (13) Payload length: 56

Domain of interpretation: IPSEC (1) Situation: 00000001

Type Payload: Proposal (2) # 0

Next payload: NONE / No Next Payload (0) Payload length: 44

Protocol ID: ISAKMP (1) SPI Size: 0

Proposal transforms: 1

Type Payload: Transform (3) # 0

Next payload: NONE / No Next Payload (0) Payload length: 36

Transform number: 0

Transform ID: KEY_IKE (1)

Transform IKE Attribute Type (t=11,l=2) Life-Type : Seconds Transform IKE Attribute Type (t=12,l=2) Life-Duration : 3600

Transform IKE Attribute Type (t=1,l=2) Encryption-Algorithm : AES-CBC Transform IKE Attribute Type (t=2,l=2) Hash-Algorithm : SHA

Transform IKE Attribute Type (t=3,l=2) Authentication-Method : RSA-SIG Transform IKE Attribute Type (t=4,l=2) Group-Description : 2048 bit MODP group

Transform IKE Attribute Type (t=14,l=2) Key-Length : 128 (Transform đã được chấp nhận)

Khi đã thỏa thuận được các thuộc tính cần thiết, bên khởi tạo gửi bên đáp ứng một thông báo gồm một ISAKMP header, một KE payload chứa thông tin trao đổi Diffie – Hellman và một giá trị Nonce của bên khởi tạo. Khi nhận được thông báo trên, bên đáp ứng cũng gửi lại một thông báo gồm các thông tin tương tự cho bên khởi tạo.

Frame 138: 388 bytes on wire (3104 bits), 388 bytes captured (3104 bits) Cisco HDLC

Internet Protocol Version 4, Src: 172.16.11.2 (172.16.11.2), Dst: 172.16.22.2 (172.16.22.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol (ISAKMP header)

Initiator cookie: 6a9f7e536f0b6575 Responder cookie: 9559042a29f6d239

Next payload: Key Exchange (4) Version: 1.0

Exchange type: Identity Protection (Main Mode) (2) Flags: 0x00

Message ID: 0x00000000 Length: 356

Type Payload: Key Exchange (4) (KE payload)

Next payload: Nonce (10) Payload length: 260

Key Exchange Data: 74e25dc41438b7c3a8f9ee0b2e0a2f228763992b7fb7046d... (Giá trị trao đổi Diffie – Hellman của bên khởi tạo)

Type Payload: Nonce (10) (Nonce payload)

Next payload: NAT-D (RFC 3947) (20) Payload length: 20

Nonce DATA: 21262268ac56f1f1a90af551dfadcdbe (Giá trị nonce của bên khởi tạo)

Frame 139: 388 bytes on wire (3104 bits), 388 bytes captured (3104 bits) Cisco HDLC

Internet Protocol Version 4, Src: 172.16.22.2 (172.16.22.2), Dst: 172.16.11.2 (172.16.11.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol (ISAKMP header)

Initiator cookie: 6a9f7e536f0b6575 Responder cookie: 9559042a29f6d239 Next payload: Key Exchange (4) Version: 1.0

Exchange type: Identity Protection (Main Mode) (2) Flags: 0x00

Length: 356

Type Payload: Key Exchange (4) (KE payload)

Next payload: Nonce (10) Payload length: 260

Key Exchange Data: a0fd9c24001226a988d75bf5687a56eb3f59c9a298eed713... (Giá trị trao đổi Diffie – Hellman của bên đáp ứng)

Type Payload: Nonce (10) (Nonce payload)

Next payload: NAT-D (RFC 3947) (20) Payload length: 20

Nonce DATA: 3099c336f2d70965b267995f62d42d81 (Giá trị nonce của bên đáp ứng).

Tiếp đó bên khởi tạo tiếp tục gửi bên đáp ứng một thông báo gồm một ISAKMP header, định danh của bên khởi tạo và hàm HASH_I, sau khi nhận được thông báo trên, bên đáp ứng cũng gửi lại một thông báo tương tự cho bên khởi tạo. Cả hai thông báo của bên đáp ứng và bên khởi tạo đều được mã hóa bằng khóa chia sẻ trước. Vì vậy khi phân tích bản tin số 140 và 141 ta chỉ nhận được thông báo dữ liệu đã được mã hóa.

Frame 140: 364 bytes on wire (2912 bits), 364 bytes captured (2912 bits) Cisco HDLC

Internet Protocol Version 4, Src: 172.16.11.2 (172.16.11.2), Dst: 172.16.22.2 (172.16.22.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol Initiator cookie: 6a9f7e536f0b6575

Responder cookie: 9559042a29f6d239 Next payload: Identification (5)

Version: 1.0

Exchange type: Identity Protection (Main Mode) (2) Flags: 0x01

Length: 332

Encrypted Data (304 bytes)

Frame 141: 364 bytes on wire (2912 bits), 364 bytes captured (2912 bits) Cisco HDLC

Internet Protocol Version 4, Src: 172.16.22.2 (172.16.22.2), Dst: 172.16.11.2 (172.16.11.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol Initiator cookie: 6a9f7e536f0b6575

Responder cookie: 9559042a29f6d239 Next payload: Identification (5)

Version: 1.0

Exchange type: Identity Protection (Main Mode) (2) Flags: 0x01

Message ID: 0x00000000 Length: 332

Encrypted Data (304 bytes)

Pha thứ II của IKE được thể hiện rõ trong 3 bản tin (từ số 142 đến số 144), tuy nhiên khi kết thúc pha thứ I của IKE thì giữa 2 bên trao đổi và bên đáp ứng đã thiết lập được liên kết an toàn. Do vậy khi phân tích 3 bản tin này, ta chỉ nhận được thông báo dữ liệu đã được mã hóa. Frame 142: 540 bytes on wire (4320 bits), 540 bytes captured (4320 bits)

Cisco HDLC

Internet Protocol Version 4, Src: 172.16.11.2 (172.16.11.2), Dst: 172.16.22.2 (172.16.22.2) User Datagram Protocol, Src Port: isakmp (500), Dst Port: isakmp (500)

Internet Security Association and Key Management Protocol Initiator cookie: 6a9f7e536f0b6575

Next payload: Hash (8) Version: 1.0

Exchange type: Quick Mode (32) Flags: 0x01

Message ID: 0x57db42d1 Length: 508

Encrypted Data (480 bytes)

3.5. ĐỀ XUẤT GIẢI PHÁP ỨNG DỤNG TRONG NGÀNH.

Qua các nội dung đã nghiên cứu ở trên, ta có thể thấy được phần mềm OpenSwan là sự kết hợp giữa giao thức trao đổi khóa IKE và các thuật toán mã hóa hiện đại. Nó sử dụng giao thức trao đổi khóa IKE để thỏa thuận, thiết lập và trao đổi khóa, sau đó sử dụng khóa đã thiết lập kết hợp với các thuật toán mã hóa mạnh như AES, DES, 3DES để mã hóa thông tin. Hiện nay có rất nhiều chương trình, phần mềm có thể thiết lập được VPN, hay thậm chí tính năng này còn được tích hợp sẵn trên các firewall như pfsense, endian. Tuy nhiên phần mềm OpenSwan là một phần mềm mã nguồn mở, được cài trên hệ điều hành mã nguồn mở vì vậy ta hoàn toàn có thể thay đổi cho phù hợp với mục đích sử dụng của mình.

Trong ngành Cơ yếu, ta có thể sử dụng phần mềm OpenSwan để thiết lập một mạng VPN, qua đó có thể truyền, nhận thông tin một cách an toàn. Tuy nhiên ta cần có một số thay đổi để phù hợp với quy định nghiệp vụ của ngành như:

• Thay đổi, tùy biến giao thức trao đổi khóa IKE sao cho khóa được sinh ra theo các tham số an toàn đúng quy định của ngành.

• Trong quá trình xác thực hai bên liên lạc phải dùng chứng chỉ do Ban Cơ yếu cấp. • Thêm vào, thay đổi các thuật toán mã hóa để nâng cao độ bảo mật của thông tin

được truyền.

Việc nghiên cứu, tìm hiểu, vận dụng phần mềm OpenSwan nói chung và giao thức IKE nói riêng nếu được thực hiện tốt có thể góp phần nâng cao hơn nữa vai trò bảo mật thông tin của ngành Cơ yếu ngày nay.

KẾT LUẬN

Sau gần 2 tháng nghiên cứu và tìm hiểu về VPN, đồ án “Kỹ thuật VPN sử dụng IPSEC ”

đã hoàn thành đúng nội dung và mục tiêu đề ra.

Trong đồ án của mình em đã tìm hiều về một số vấn đề, nguyên nhân gây mất an toàn thông tin mạng, một số tấn công mạng điển hình hiện nay. Nghiên cứu kỹ về nguyên lý hoạt động của giao thức trao đổi khóa IKE. Từ đó xây dựng mô hình ứng dụng phần mềm OpenSwan để bảo mật thông tin trên mạng áp dụng vào thực tế.

Trong bước đầu thử nghiệm, mô hình cài đặt hoạt động đã cho kết quả khả quan. Tạo được kênh liên lạc an toàn giữa 2 nút trong mạng: giữa gateway – gateway, gateway – subnet, subnet – gateway và giữa subnet – subnet. Việc truyền file hay liên lạc giữa 2 nút trong mạng được thực hiện tốt, các gói tin được mã hóa. Tuy nhiên mô hình cài đặt mới chỉ được thực hiện trên máy ảo, nơi mà không có tác động của các yếu tố khách quan, do đó chưa bộc lộ hết hạn chế, khó khăn khi triền khai trên thực tế.

Mặc dù đồ án đã hoàn thành, nhưng do kiến thức và tầm hiểu biết còn hạn chế nên không thể tránh khỏi những khiếm khuyết. Em rất mong được sự góp ý chân thành của các thầy, cô và bạn bè để đồ án được hoàn chỉnh hơn.

Em xin chân thành cảm ơn cô giáo, Th.S Lê Thị Hồng Vân đã tận tình hướng dẫn, giúp đỡ em trong quá trình hoàn thành đồ án./.

TÀI LIỆU THAM KHẢO

[1] TS. Đặng Vũ Sơn, Th.S. Hoàng Đức Thọ. Giáo trình an toàn mạng riêng ảo Học viện kỹ thuật mật mã.Hà Nội, 2007.

[2] TS. Đặng Vũ Sơn, Th.S. Nguyễn Thanh Sơn. Chuyên đề giải pháp bảo vệ thông tin bằng kỹ thuật mật mã theo công nghệ Ipsec. Học viện kỹ thuật mật mã. Hà Nội, 2003.

[3] James S. Tiller. A Technical Guide to IPSec Virtual Private Networks. December 11, 2000. [4] Paul Wouters and Ken Bantoft. Building and Integrating Virtual Private Networks with Openswan. Birmingham, 2006.

Một phần của tài liệu Kỹ thuật VPN sử dụng IPSEC (Trang 56)