BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG

HỌC VIỆN KỸ THUẬT QUÂN SỰ

PHAN THÀNH VINH

NGHIÊN CỨU GIẢI PHÁP BẢO MẬT MẠNG KHÔNG DÂY

Chuyên ngành: Khoa Học Máy Tính

LUẬN VĂN THẠC SĨ KỸ THUẬT

Hà Nội - Năm 2014

BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG

HỌC VIỆN KỸ THUẬT QUÂN SỰ

PHAN THÀNH VINH

NGHIÊN CỨU GIẢI PHÁP BẢO MẬT MẠNG KHÔNG DÂY

Chuyên ngành: Khoa Học Máy Tính

Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ KỸ THUẬT

Hà Nội - Năm 2014

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

HỌC VIỆN KỸ THUẬT QUÂN SỰ

Cán bộ hướng dẫn chính: TS. Hồ Văn Hương

Cán bộ hướng dẫn phụ (nếu có):

Cán bộ chấm phản biện 1:

Cán bộ chấm phản biện 2:

Luận văn thạc sĩ được bảo vệ tại:

HỘI ĐỒNG CHẤM LUẬN VĂN THẠC SĨ

HỌC VIỆN KỸ THUẬT QUÂN SỰ

Ngày tháng năm 2014

Tôi xin cam đoan:

Những kết quả nghiên cứu được trình bày trong luận văn là hoàn toàn

trung thực, của tôi, không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và

pháp luật Việt Nam. Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật.

TÁC GIẢ LUẬN VĂN

Phan Thành Vinh

MỤC LỤC

Trang

Trang phụ bìa ...................................................................................................

Bản cam đoan...................................................................................................

Mục lục ............................................................................................................

Tóm tắt luận văn ..............................................................................................

Bảng các từ viết tắt...........................................................................................

Danh mục các bảng ..........................................................................................

Danh mục các hình vẽ ......................................................................................

MỞ ĐẦU....................................................................................................... 1

Chương 1

TỔNG QUAN VỀ MẠNG WLAN

1.1. Tìm hiểu về mạng WLAN ....................................................................... 3

1.1.1. Giới thiệu .......................................................................................... 3

1.1.2. Ưu điểm của mạng WLAN................................................................ 3

1.1.3. Hoạt động của mạng WLAN ............................................................. 4

1.1.4. Các mô hình của mạng WLAN.......................................................... 5

1.2. Chuẩn IEEE 802.11 cho mạng LAN........................................................ 7

1.2.1. Giới thiệu .......................................................................................... 7

1.2.2. Nhóm lớp vật lý PHY........................................................................ 8

1.2.3. Nhóm lớp liên kết dữ liệu MAC ...................................................... 10

1.3. Các quá trình cơ bản diễn ra trong mô hình BSS ................................... 11

1.3.1. Beacon ............................................................................................ 13

1.3.2. Thăm dò .......................................................................................... 13

1.3.3. Kết nối với một AP.......................................................................... 14

1.3.4. Roaming .......................................................................................... 14

1.3.5. Trao đổi dữ liệu ............................................................................... 14

1.4. Kết chương............................................................................................ 15

Chương 2

MỘT SỐ GIẢI PHÁP ĐẢM BẢO AN NINH AN TOÀN CHO MẠNG

KHÔNG DÂY

2.1. Thực trạng mất an ninh an toàn của mạng không dây ............................ 16

2.1.1. Khái niệm an ninh an toàn thông tin ................................................ 16

2.1.2. Đánh giá vấn đề an toàn, bảo mật hệ thống...................................... 17

2.1.3. Các nguy cơ mất an ninh an toàn trong mạng không dây................. 20

Hình 2.1: Phần mềm bắt gói tin Ethereal....................................................... 21

2.2. Cơ sở khoa học của mật mã ứng dụng trong việc đảm bảo an toàn và bảo

mật mạng không dây .................................................................................... 27

2.2.1. Giới thiệu chung.............................................................................. 27

2.2.2. Hệ mật mã khóa đối xứng................................................................ 28

2.2.3. Hệ mật mã khóa công khai .............................................................. 30

2.3. Nghiên cứu một số giải pháp đảm bảo an ninh an toàn cho mạng

WLAN ......................................................................................................... 32

2.3.1. Phương pháp bảo mật dựa trên WEP ............................................... 32

2.3.2. Phương pháp bảo mật dựa trên TKIP............................................... 40

2.3.3. Phương pháp bảo mật dựa trên AES-CCMP .................................... 52

2.3.4. Nghiên cứu thuật toán mã hóa đối xứng RSA.................................. 68

2.4. Kết chương............................................................................................ 71

Chương 3

XÂY DỰNG PHẦN MỀM BẢO MẬT MẠNG KHÔNG DÂY WLAN SỬ

DỤNG USB ETOKEN

3.1. Phân tích yêu cầu, đề xuất giải pháp ...................................................... 73

3.1.1. Bài toán đặt ra ................................................................................. 73

3.1.2. Sơ đồ ứng dụng ............................................................................... 74

3.1.3. Môi trường hệ thống........................................................................ 76

3.1.4. Thiết kế cơ sở dữ liệu ...................................................................... 79

3.1.5. USB Token...................................................................................... 79

3.2. Xây dựng ứng dụng ............................................................................... 81

3.2.1. Giới thiệu chung về ứng dụng.......................................................... 81

3.2.2. Server .............................................................................................. 81

3.2.3. Client............................................................................................... 84

KẾT LUẬN

TÀI LIỆU THAM KHẢO.......................................................................... 90

Tóm tắt luận văn:

+ Họ và tên học viên: Phan Thành Vinh

+ Chuyên ngành: Khoa học Máy tính Khoá: 24

+ Cán bộ hướng dẫn: TS. Hồ Văn Hương

+ Tên đề tài: Nghiên cứu giải pháp bảo mật mạng không dây.

Tóm tắt: Nghiên cứu, tìm hiểu mạng LAN không dây, nguy cơ mất an ninh,

an toàn mạng LAN, cơ sỡ khoa học, lý thuyết mật mã. Nghiên cứu đề xuất giải

pháp mã hóa gói tin kết hợp mã hóa đường truyền sẵn có để xây dựng phần mềm

ứng dụng sử dụng eToken, bảo mật mạng WLAN nội bộ. Một ứng dụng hoàn toàn

mới và thiết thực cho các công ty, trường học, quân sự…, trong luận văn này em sẽ

trình bày và xây dựng ra phần mềm bảo mật mạng không dậy WLAN.

BẢNG CÁC TỪ VIẾT TẮT

Từ viết tắt Từ gốc AES AMPS Advanced Encryption Standard Advanced Mobile Phone System

AP BS Access Point Base Station Nghĩa tiếng việt Chuẩn mã hóa tiên tiến Hệ thống điện thoại di động Điểm truy cập Trạm cơ sở

BSS CCM Tập dịch vụ cơ bản Mode mã hóa CBC

CCMP Giao thức mã hóa CCM

CDMA CRC DOS DSSS ESS FHSS GSM IBSS ICV

IEEE Basic Service Set Counter Mode - CBC MAC Counter Mode - CBC MAC Protocol Code Division Multiple Access Cyclic Redundancy Check Denial Of Service Direct Sequence Spread Spectrum Extended Service Set Frequency Hopping Spread Group Special Mobile Independent Basic Service Set Integrity Check Value Institute of Electrical and Electronics Đa truy nhập phân chia Kiểm tra dư thừa vòng Từ chối dịch vụ Trải phổ dãy trực tiếp Tập dịch vụ mở rộng FHSS Trải phổ nhảy tần Nhóm đặc biệt về di động Tập dịch vụ cơ bản độc lập Giá trị kiểm tra tính toàn Viện Công nghệ điện và điện tử

IETF Internet Engineering Task Force Hiệp hội kỹ sư tham gia phát triển về internet

IMTS Improved Mobile Telephone System Hệ thống điện thoại di động cải tiến

Mã chứng thực gói tin MAC Message Authentication Code (cryptographic community use)

MIC Message Integrity Code Mã toàn vẹn gói tin

MPDU MAC Protocol Data Unit Đơn vị dữ liệu giao thức MAC

MSC Mobile Switching Center Trung tâm chuyển mạch di động

MSDU MAC Service Data Unit Đơn vị dữ liệu dịch vụ MAC

MTS Mobile Telephone System Hệ thống điện thoại di động

NMT Nordic Mobile Telephony Hệ thống điện thoại di động Bắc Âu

OFDM Orthogonal Frequency Division Multiplexing Ghép kênh phân chia theo tần số trực giao

Personal Area Network Private Brach Exchange PAN PBX

Personal Handy-phone System PHS Mạng vùng cá nhân Tổng đài nhánh riêng Hệ thống điện thoại cầm tay cá nhân

PSTN Packet Switched Telephone Network Mạng điện thoại chuyển mạch gói

Radio Frequency Short Message Service RF SMS

Wireless Station STA Tần số sóng vô tuyến Dịch vụ nhắn tin ngắn Thiết bị có hỗ trợ mạng không dây

TACS Total Access Communication System Hệ thống truyền thông truy cập hoàn toàn

TDMA Time Division Multiple Access Đa truy nhập phân chia theo thời gian

TKIP Temporal Key Integrity Protocol Giao thức toàn vẹn khóa thời gian

WEP Wired Equivalent Privacy Bảo mật tương đường mạng hữu tuyến

WLAN Wireless Local Area Network

WPA Wi-Fi Protected Access Mạng cục bộ không dây Truy cập mạng Wifi an toàn

DANH MỤC CÁC BẢNG

Trang

Bảng 2.1: Những điểm yếu của WEP………………………………………41

Bảng 2.2: Cách khắc phục điểm yếu của WEP……………………………..41

DANH MỤC CÁC HÌNH VẼ

Trang

Hình 1.1: Mô hình mạng Ad - hoc (mạng ngang hàng) ……………………..5

Hình 1.2: Mô hình mạng cơ sở………………………………………………6

Hình 1.3: Mô hình mạng mở rộng…………………………………………...7

Hình 1.4: Thông số của 802.11n……………………………………………10

Hình 2.1: Phần mềm bắt gói tin Ethereal……………………………............21

Hình 2.2: Phần mềm thu thập thông tin hệ thống mạng không dây NetStumbler………………………………………………………………...22

Hình 2.3: Mô tả quá trình tấn công DOS tầng liên kết dữ liệu……………...25

Hình 2.4: Mô tả quá trình tấn công theo kiểu chèn ép……………………....27

Hình 2.5: Mô tả quá trình tấn công theo kiểu thu hút…………………….…27

Hình 2.6: Mô hình hệ mật mã khóa đối xứng…………………………….…29

Hình 2.7: Mô hình hệ mật mã khóa công khai……………………………....31

Hình 2.8: Quá trình chứng thực diễn ra trong WEP……………………......34

Hình 2.9: Định dạng của gói tin chứng thực………………………………...35

Hình 2.10: Mã hóa chuỗi…………………………………………………....36

Hình 2.11: Sự kết hợp của IV với khóa…………………………………......37

Hình 2.12: Thêm ICV……………………………………………………….39

Hình 2.13: Thêm IV và KeyID……………………………………………...40

Hình 2.14: Tạo và so sánh giá trị MAC (hoặc MIC) ……………………..…43

Hình 2.15: Quá trình tạo khóa để mã………………………………………..46

Hình 2.16: Quá trình xử lý ở bên phát………………………………………50

Hình 2.17: Quá trình xử lý ở bên thu……………………………………….51

Hình 2.18: Quá trình hoạt động của ECB Mode……………………………54

Hình 2.19: Ví dụ về Counter Mode…………………………………………55

Hình 2.20: Quá trình xử lý gói tin trong CCMP………………………….…59

Hình 2.21: Trình tự xử lý một MPDU………………………………………61

Hình 2.22: Phần đầu CCMP………………………………………………...61

Hình 2.23: Mã hóa và giải mã………………………………………………62

Hình 2.24: Bên trong khối mã hóa CCMP……………………………….....63

Hình 2.25: MPDU sau quá trình mã (CH=CCMP Header)…………………63

Hình 2.26: Định dạng của khối đầu tiên để đưa vào CBC-MAC…………...64

Hình 2.27: Thành phần của khối đầu tiên để đưa vào CBC-MAC………….65

Hình 2.28: Kết hợp số đếm Ctr trong CCMP AES Counter Mode…………66

Hình 2.29. RSA – Tạo khóa…………………………………………………69

Hình 2.30. RSA – Mã hóa…………………………………………………...69

Hình 2.31. RSA – Giải mã…………………………………………………..70

Hình 3.1 Sơ đồ đăng kí token - đăng kí tài khoản…………………………..74

Hình 3.2. Đăng nhập………………………………………………………..75

Hình 3.3. Trao đổi giữa Client A và Client B……………………………….75

Hình 3.4. Trao đổi giữa Server – Client…………………………………….76

Hình 3.5. Usecase chức năng người quản trị Server………………………..77

Hình 3.6. Usecase Quản lý thông tin tài khoản……………………………..78

Hình 3.7. Usecase giao tiếp với mọi Client…………………………………78

Hình 3.8. Chức năng người dùng Client…………………………………….78

Hình 3.9. Usecase Client giao tiếp với Server………………………………79

Hình 3.10. USB Token của Viettel………………………………………….79

Hình 3.11. Đặc tính kĩ thuật của USB eToken………………………………81

Hình 3.12. Mô hình ứng dụng……………………………………………...81

Hình 3.13. Màn hình chính của Server……………………………………82

Hình 3.14. Màn hình quản lý tài khoản…………………………………...83

Hình 3.15. Màn hình thêm tài khoản……………………………………...83

Hình 3.16. Màn hình đăng nhập…………………………………………...84

Hình 3.17. Màn hình chính của Client…………………………………….85

Hình 3.18. Màn hình chọn file………………………………………………85

Hình 3.19. Màn hình lưu fie………………………………………………...86

Hình 3.20. Màn hình cảnh báo không thấy token…………………………..86

Hình 3.21. So sánh 2 file mã hóa và gốc……………………………………87

1

MỞ ĐẦU

Cùng với các công nghệ mới thúc đẩy sự phát triển của mạng Internet

thì mạng không dây cũng đã có một chuyển biến mạnh mẽ, trong đó có mạng

WLAN. Các thiết bị trong mạng này kết nối với nhau không phải bằng các

phương tiện truyền dẫn hữu tuyến mà là bằng sóng vô tuyến. Ích lợi mà mạng

này mang lại là khả năng thiết lập kết nối tới các thiết bị không phụ thuộc vào

hạ tầng dây dẫn. Cũng nhờ vào đặc điểm của mạng không dây mà chi phí cho

việc lắp đặt, duy trì, bảo dưỡng hay thay đổi đường dây đã được giảm đi rất

nhiều, đồng thời, tính linh hoạt được áp dụng một cách khá hiệu quả, ở bất cứ

đâu trong phạm vi phủ sóng của thiết bị, ta đều có thể kết nối vào mạng.

Trong những năm gần đây, giới công nghệ thông tin đã chứng kiến sự

bùng nổ của nền công nghiệp mạng không dây. Khả năng liên lạc không dây

gần như là tất yếu trong các thiết bị cầm tay, máy tính xách tay, điện thoại di

động và các thiết bị số khác.

Với các tính năng ưu việt và vùng phục vụ kết nối linh động, khả năng

triển khai nhanh chóng, giá thành ngày càng giảm, mạng WLAN đã trở thành

một trong những giải pháp cạnh tranh có thể thay thế mạng Ethernet LAN

truyền thống. Tuy nhiên, sự tiện lợi của mạng không dây cũng đặt ra một thử

thách lớn về bảo đảm an toàn an ninh cho mạng không dây đối với các nhà

quản trị mạng. Ưu thế về sự tiện lợi của kết nối không dây có thể bị giảm sút

do những khó khăn nảy sinh trong bảo mật mạng.

Vấn đề này càng ngày càng trở nên cấp thiết và cần nhận được sự quan

tâm từ nhiều phía. Vì những lý do đó cùng với niềm đam mê thực sự về

những tiện lợi mà mạng không dây mang lại đã khiến em quyết định chọn đề

tài: “Nghiên cứu giải pháp bảo mật mạng không dây WLAN” làm luận văn

tốt nghiệp với mong muốn có thể tìm hiểu, nghiên cứu và ứng dụng các giải

2

pháp để đảm bảo an ninh cho mạng không dây. Mục tiêu đóng góp chính của

luận văn là hoàn thiện phần mềm trao đổi thông tin nội bộ một cách bảo mật

hoàn toàn mới, chưa có ứng dụng nào phát triển. Toàn bộ luận văn được chia

làm 3 chương:

Chương 1: Tổng quan về mạng không dây

Trình bày tổng quan về các loại mạng không dây và các kỹ thuật

được ứng dụng trong mạng không dây, sau đó tập trung trình bày về mạng

WLAN và chuẩn của mạng WLAN cũng như những gì diễn ra trong quá

trình thiết lập kết nối với một hệ thống WLAN đơn giản (chưa có chứng thực

và mã hóa).

Chương 2: Một số giải pháp đảm bảo an ninh an toàn cho mạng

không dây

Trình bày thực trạng mất an ninh an toàn của mạng không dây, các

kiểu tấn công trong mạng không dây, các giao thức bảo mật trong mạng

không dây, các kỹ thuật mật mã ứng dụng để bảo mật mạng không dây và

một số giải pháp cho việc đảm bảo an ninh an toàn cho mạng WLAN.

Chương 3: Xây dựng phần mềm bảo mật mạng không dây

WLAN sử dụng USB ETOKEN

Nội dung chính của luận văn này là sử dụng USB eToken kết hợp thuật

toán mã hóa bất đối xứng RSA để bảo mật mạng không dây WLAN. USB

Token là thiết bị phần cứng dùng để tạo cặp khóa bí mật, công khai và lưu trữ

khóa bí mật, các thiết bị này sẽ được nhà cung cấp dịch vụ chữ ký số giao cho

khách hàng để khách hàng có thể tạo cặp khóa và ký lên dữ liệu cần ký.

Trong luận văn này tôi sẽ trình bày và xây dựng ra phần mềm bảo mật mạng

không dây WLAN.

3

Chương 1

TỔNG QUAN VỀ MẠNG WLAN

1.1. Tìm hiểu về mạng WLAN

1.1.1. Giới thiệu

Thuật ngữ “mạng máy tính không dây” hay còn gọi là mạng WLAN

nói đến công nghệ cho phép hai hay nhiều máy tính giao tiếp với nhau dùng

những giao thức mạng chuẩn nhưng không cần dây cáp mạng. Các mạng máy

tính không dây sử dụng các sóng điện từ không gian (sóng vô tuyến hoặc

sóng ánh sáng) để thu, phát dữ liệu qua không khí, giảm thiểu nhu cầu về kết

nối bằng dây. Vì vậy, các mạng WLAN kết hợp liên kết dữ liệu với tính di

động của người dùng.

Công nghệ này bắt nguồn từ một số chuẩn công nghiệp như là IEEE

802.11 [7] đã tạo ra một số các giải pháp không dây có tính khả thi trong kinh

doanh, công nghệ chế tạo, các trường đại học…khi mà ở đó mạng hữu tuyến

là không thể thực hiện được. Ngày nay, các mạng WLAN càng trở nên quen

thuộc hơn, được công nhận như một sự lựa chọn kết nối đa năng cho một

phạm vi lớn các khách hàng kinh doanh.

1.1.2. Ưu điểm của mạng WLAN

- Tính di động: Những người sử dụng mạng WLAN có thể truy

cập nguồn thông tin ở bất kì nơi nào. Tính di động này sẽ tăng năng suất và

tính kịp thời, thỏa mãn nhu cầu về thông tin mà các mạng hữu tuyến không

thể có được.

- Tính đơn giản: Việc lắp đặt, thiết lập, kết nối một mạng WLAN

rất dễ dàng, đơn giản và có thể tránh được việc kéo cáp qua các bức tường và

trần nhà.

- Tinh linh hoạt: Có thể triển khai mạng WLAN ở những nơi mà

mạng hữu tuyến không thể triển khai được hoặc khó triển khai.

4

- Tiết kiệm chi phí lâu dài: Trong khi đầu tư cần thiết ban đầu đối

với phần cứng của một mạng máy tinh không dây có thể cao hơn chi phí phần

cứng của một mạng hữu tuyến nhưng toàn bộ chi phí lắp đặt và các chi phí về

thời gian tồn tại có thể thấp hơn đáng kể. Chi phí dài hạn có lợi nhất trong các

môi trường động cần phải di chuyển và thay đổi thường xuyên.

- Khả năng vô hướng: Các mạng WLAN có thể được cấu hình

theo các cách khác nhau để đáp ứng các nhu cầu ứng dụng và lắp đặt cụ thể.

Các cấu hình dễ dàng thay đổi từ các mạng ngang hàng thích hợp cho một số

lượng nhỏ người sử dụng đến các mạng có cơ sở hạ tầng đầy đủ dành cho

hàng nghìn người sử dụng mà có khả năng di chuyển trên một vùng rộng.

1.1.3. Hoạt động của mạng WLAN

Các mạng WLAN sử dụng các sóng điện tử không gian (vô tuyến hoặc

ánh sáng) để truyền thông tin từ một điểm tới điểm khác. Các sóng vô tuyến

thường được xem như các sóng mang vô tuyến do chúng chỉ thực hiện chức

năng cung cấp năng lượng cho một máy thu ở xa. Dữ liệu đang được phát

được điều chế trên sóng mang vô tuyến (thường được gọi là điều chế sóng

mang nhờ thông tin đang được phát) sao cho có thể được khôi phục chính xác

tại máy thu. Trong một cấu hình mạng WLAN tiêu chuẩn, một thiết bị

thu/phát (bộ thu/phát) được gọi là một điểm truy cập, nối với mạng hữu tuyến

từ một vị trí cố định sử dụng cáp tiêu chuẩn. Chức năng tối thiểu của điểm

truy cập là thu, làm đệm và phát dữ liệu giữa mạng WLAN và cơ sở hạ tầng

mạng hữu tuyến. Một điểm truy cập đơn có thể hỗ trợ một nhóm nhỏ người sử

dụng và có thể thực hiện chức năng trong một phạm vi từ một trăm với vài

trăm feet. Điểm truy cập (hoặc anten được gắn vào điểm truy cập) thường

được đặt cao nhưng về cơ bản có thể được đặt ở bất kỳ chỗ nào miễn là đạt

được vùng phủ sóng mong muốn. Những người sử dụng truy cập mạng

WLAN thông qua các bộ thích ứng máy tính không dây như các Card mạng

5

không dây trong các máy tính, các máy Palm, PDA. Các bộ thích ứng máy

tính không dây cung cấp một giao diện giữa hệ thống điều hành mạng (NOS –

Network Operation System) của máy khách và các sóng không gian qua một

anten. Bản chất của kết nối không dây là trong suốt đối với hệ điều hành

mạng.

1.1.4. Các mô hình của mạng WLAN

1.1.4.1. Mô hình mạng độc lập IBSS (Ad-hoc)

Các trạm(máy tính có hỗ trợ card mạng không dây) tập trung lại trong

một không gian nhỏ để hình thành nên kết nối ngang cấp (peer-to-peer) giữa

chúng. Các nút di động có card mạng wireless là chúng có thể trao đổi thông

tin trực tiếp với nhau, không cần phải quản trị mạng. Vì các mạng ad-hoc này

có thể thực hiện nhanh và dễ dàng nên chúng thường được thiết lập mà không

cần một công cụ hay kỹ năng đặc biệt nào vì vậy nó rất thích hợp để sử dụng

trong các hội nghị thương mại hoặc trong các nhóm làm việc tạm thời. Tuy

nhiên chúng có thể có những nhược điểm về vùng phủ sóng bị giới hạn, mọi

người sử dụng đều phải nghe được lẫn nhau.

Hình 1.1: Mô hình mạng Ad - hoc (mạng ngang hàng)

- Ưu điểm: Kết nối Peer-to-Peer không cần dùng Access Point, chi

phí thấp, cấu hình và cài đặt đơn giản.

6

- Khuyết điểm: Khoảng cách giữa các máy trạm bị giới hạn, số lượng

người dùng cũng bị giới hạn, không tích hợp được vào mạng có dây sẵn có.

1.1.4.2.Mô hình mạng cơ sở BSS

Trong mô mạng cơ sở, các Client muốn liên lạc với nhau phải thông

Access Point (AP). AP là điểm trung tâm quản lý mọi sự giao tiếp trong

mạng, khi đó các Client không thể liên lạc trực tiếp với như trong mạng IBSS.

Để giao tiếp với nhau các Client phải gửi các Frame dữ liệu đến AP, sau đó

AP sẽ gửi đến máy nhận.

Hình 1.2: Mô hình mạng cơ sở

- Ưu điểm: Các máy trạm không kết nối trực tiếp được với nhau,

các máy trạm trong mạng không dây có thể kết nối với hệ thống mạng có dây.

- Khuyết điểm: Giá thành cao, cài đặt và cấu hình phức tạp hơn

mô hình Ad- Hoc.

1.1.4.3. Mô hình mạng mở rộng ESS

Nhiều mô hình BSS kết hợp với nhau gọi là mô hình mạng ESS. Là mô

hình sử dụng từ 2 AP trở lên để kết nối mạng. Khi đó các AP sẽ kết nối với

nhau thành một mạng lớn hơn, phạm vi phủ sóng rộng hơn, thuận lợi và đáp

ứng tốt cho các Client di động. Đảm bảo sự hoạt động của tất cả các Client.

7

Hình 1.3: Mô hình mạng mở rộng

1.2. Chuẩn IEEE 802.11 cho mạng LAN

1.2.1. Giới thiệu

IEEE là tổ chức đi tiên phong trong lĩnh vực chuẩn hóa mạng LAN với

đề án IEEE 802 nổi tiếng bắt đầu triển khai từ năm 1980 và kết quả là hàng

loạt chuẩn thuộc họ IEEE 802.x ra đời, tạo nên một sự hội tụ quan trọng cho

việc thiết kế và cài đặt các mạng LAN trong thời gian qua. IEEE 802.11 [7] là

chuẩn mạng WLAN do Ủy ban các chuẩn về LAN/MAN của IEEE phát triển,

hoạt động ở tần số 5Ghz và 2.4 Ghz. IEEE 802.11 và Wifi nhiều khi được

hiểu là một, những thực ra là có sự khác biệt giữa chúng. Wifi là một chuẩn

công nghiệp đã được cấp chứng nhận và chỉ là một bộ phận của chuẩn 802.11.

Wifi do Wi-Fi Alliance đưa ra để chỉ các sản phẩm của WLAN dựa trên các

chuẩn IEEE 802.11 được tổ chức này chứng nhận. Những ứng dụng phổ biến

của Wifi bao gồm Internet, VoIP, Game…ngoài ra còn có các thiết bị điện tử

gia dụng như Tivi, đầu DVD, Camera….

Họ các chuẩn 802.11 hiện nay bao gồm rất nhiều các kỹ thuật điều chế

dựa trên cùng một giao thức cơ bản. Các kỹ thuật phổ biến nhất là b,g và n,

các chuẩn khác cũng đang được phát triển và cải tiến. Các chuẩn khác như c,

f, h, j là những sửa đổi, mở rộng của các chuẩn trước đó. Chuẩn 802.11a là

8

chuẩn mạng không dây đầu tiên, nhưng 802.11b lại được sử dụng nhiều nhất,

sau đó mới đến các chuẩn 802.11g, 802.11a, 802.11n.

1.2.2. Nhóm lớp vật lý PHY

1.2.2.1. Chuẩn 802.11b

802.11b là chuẩn đáp ứng đủ cho phần lớn các ứng dụng mạng. Với

một giải pháp rất hoàn thiện, 802.11b có nhiều đặc điểm thuận lợi so với các

chuẩn không dây khác. Chuẩn 802.11b sử dụng kiểu trải phô dãy trực tiếp

DSSS, hoạt động ở dải tần 2.4GHz, tốc độ truyền dữ liệu tối đa là 11Mbps

trên một kênh, tốc độ thực tế là khoảng từ 4-5 Mbps. Khoảng cách có thể lên

đến 500 mét trong một môi trường mở rộng. Khi dùng chuẩn này tối đa có 32

người dùng/ điểm truy cập. Đây là chuẩn đã được chấp nhận rộng rãi trên thế

giới và được triển khai rất mạnh hiện này do công nghệ này sử dụng dải tần

không phải đăng kí cấp phép phục vụ cho công nghiệp, dịch vụ, y tế. Nhược

điểm của 802.11b là hoạt động ở dải tần 2.4Ghz trùng với dải tần của nhiều

thiết bị trong gia đình như lò vi sóng, điện thoại mẹ con… nên có thể bị

nhiễu.

1.2.2.2. Chuẩn 802.11a

Trong khi 802.11b vẫn đang được phát triển, IEEE đã tạo một mở rộng

thứ cấp cho chuẩn 802.11 có tên gọi 802.11a. Vì 802.11b được sử dụng rộng

rãi quá nhanh so với 802.11a, nên một số người cho rằng 802.11a được tạo

sau 802.11b. Tuy nhiên trong thực tế, 802.11a và 802.11b được tạo một cách

đồng thời. Do giá thành cao hơn nên 802.11a chỉ được sử dụng trong các

mạng doanh nghiệp còn 802.11b thích hợp hơn với thị trường mạng gia đình.

802.11a hỗ trợ băng thông lên đến 54 Mbps vì nó sử dụng công nghệ

OFDM (Orthogonal Frequency-Division Multiplexing) và sử dụng tần số vô

tuyến 5GHz UNII nên nó sẽ không giao tiếp được với chuẩn 802.11 và

802.11b. Tần số của 802.11a cao hơn so với 802.11b chính vì vậy đã làm cho

9

phạm vi của hệ thống này hẹp hơn so với các mạng 802.11b. Với tần số này,

các tín hiệu 802.11a cũng khó xuyên qua các vách tường và các vật cản khác

hơn.

Do 802.11a và 802.11b sử dụng các tần số khác nhau, nên hai công

nghệ này không thể tương thích với nhau. Chính vì vậy một số hãng đã cung

cấp các thiết bị mạng hybrid cho 802.11a/b nhưng các sản phẩm này chỉ đơn

thuần là bổ sung thêm hai chuẩn này.

- Ưu điểm: tốc độ cao, tần số 5Ghz tránh được sự xuyên nhiễu từ

các thiết bị.

- Nhược điểm: giá thành đắt, phạm vi hẹp và dễ bị che khuất.

1.2.2.3. Chuẩn 802.11g

Vào năm 2002 và 2003, các sản phẩm WLAN hỗ trợ một chuẩn mới

hơn đó là 802.11g, được đánh giá cao trên thị trường. 802.11g thực hiện sự

kết hợp tốt nhất giữa 802.11a và 802.11b. Nó hỗ trợ băng thông lên đến

54Mbps vì sử dụng công nghệ OFDM và sử dụng tần số 2.4 Ghz để có phạm

vi rộng. 802.11g có khả năng tương thích với các chuẩn 802.11b, điều đó có

nghĩa là các điểm truy cập 802.11g sẽ làm việc với các adapter mạng không

dây 802.11b và ngược lại.

- Ưu điểm: tốc độ cao, phạm vi tín hiệu tốt và ít bị che khuất.

- Nhược điểm: giá thành đắt hơn 802.11b, các thiết bị có thể bị

xuyên nhiễu từ nhiều thiết bị khác sử dụng cùng băng tần.

1.2.2.4. Chuẩn 802.11n

Chuẩn mới nhất trong danh mục Wi-Fi chính là 802.11n. Đây là chuẩn

được thiết kế để cải thiện cho 802.11g trong tổng số băng thông được hỗ trợ

bằng cách tận dụng nhiều tín hiệu không dây và các anten (công nghệ

MIMO).

10

Khi chuẩn này được đưa ra, các kết nối 802.11n sẽ hỗ trợ tốc độ dữ liệu

lên đến 100 Mbps. 802.11n cũng cung cấp phạm vi bao phủ tốt hơn so với các

chuẩn Wi-Fi trước nó nhờ cường độ tín hiệu mạnh của nó. Thiết bị 802.11n sẽ

tương thích với các thiết bị 802.11g. Sau đây là thông số của 802.11n

Hình 1.4: Thông số của 802.11n

Ưu điểm: tốc độ lý thuyết cao 270-600Mbps. Sử dụng công nghệ -

“channel bonding” kết hợp được 2 kênh 20MHz thành 1 kênh 40Mhz.

Nhược điểm: có thể gây nhiễu cho 802.11b vì nó lấy toàn bộ dải -

phổ 2.4Ghz mà 802.11b đang sử dụng.

1.2.3. Nhóm lớp liên kết dữ liệu MAC

1.2.3.1. Chuẩn 802.11d

Chuẩn này chỉnh sửa lớp MAC của 802.11 cho phép máy trạm sử dụng

FHSS có thể tối ưu các tham số lớp vật lý để tuân theo các quy tắc của các

nước khác nhau nơi mà nó được sử dụng.

1.2.3.2. Chuẩn 802.11r

Mở rộng của IEEE 802.11d, cho phép nâng cấp khả năng chuyển vùng.

1.2.3.3. Chuẩn 802.11e

Đây là chuẩn bổ sung cho chuẩn 802.11 cũ, nó định nghĩa thêm các mở

rộng về chất lượng dịch vụ (QoS) nên rất thích hợp cho các ứng dụng

multimedia như voice, video (VoWLAN).

Chuẩn 802.11e cho phép phân các mức độ ưu tiên lưu thông để các dữ

liệu cần thời gian thực (như các luồng tín hiệu hình hay cuộc gọi VoIP) sẽ

được truyền trước các dữ liệu kém quan trọng hơn (như e-mail hoặc trang

11

web). Một số sản phẩm sử dụng một phần của chuẩn này (gọi là WMM - Wi-

Fi Multimedia).

1.2.3.4. Chuẩn 802.11f

Được phê chuẩn năm 2003. Đây là chuẩn định nghĩa các thức các AP

giao tiếp với nhau khi một client roaming từng vùng này sang vùng khác.

Chuẩn này còn được gọi là Inter-AP Protocol (IAPP). Chuẩn này cho phép

một AP có thể phát hiện được sự hiện diện của các AP khác cũng như cho

phép AP “chuyển giao” client sang AP mới (lúc roaming), điều này giúp cho

quá trình roaming được thực hiện một cách thông suốt.

1.2.3.5. Chuẩn 802.11h

Hiện đang được sử dụng tại châu Âu, đây là khu vực mà quy định tần

số radio đòi hỏi các sản phẩm phải có hệ thống TPC (Transmission Power

Control) và DFS (Dynamic Frequency Selection). TPC giới hạn năng lượng

được truyền tải tới mức tối thiểu cần thiết để vươn tới người dùng xa nhất.

DFS lựa chọn kênh dẫn radio tại điểm truy nhập nhằm hạn chế tối thiểu nhiễu

với các hệ thống khác, đặc biệt là ra đa. Tại một số khu vực trên thế giới, đa

phần tần số 5 GHz được dành cho chính phủ và quân đội sử dụng.

1.2.3.6. Chuẩn 802.11i

Là một chuẩn về bảo mật, nó bổ sung cho các yếu điểm của WEP trong

chuẩn 802.11. Chuẩn này sử dụng các giao thức như giao thức xác thực dựa

trên cổng 802.1X, và một thuật toán mã hóa được xem như là không thể crack

được đó là thuật toán AES (Advance Encryption Standard), thuật toán này sẽ

thay thế cho thuật toán RC4 được sử dụng trong WEP.

1.2.3.7. Chuẩn 802.11w

Là nâng cấp của các tiêu chuẩn bảo mật được mô tả ở IEEE 802.11i,

hiện chỉ trong giai đoạn khởi đầu.

1.3. Các quá trình cơ bản diễn ra trong mô hình BSS

12

Để hiểu được quá trình kết nối giữa STA và AP diễn ra như thế nào và

khi nào thì chúng thực sự truyền dữ liệu, chúng ta sẽ xem xét ở góc độ tổng

quan trước. Đó là một loạt các quá trình diễn ra trong hệ thống không sử dụng

chế độ bảo mật. Ở đây, ta coi AP đã được cấp nguồn và hoạt động bình

thường. AP quảng bá sự hiện diện của chính bản thân nó bằng cách gửi các

thông báo vô tuyến ngắn liên tục khoảng 10 lần trong một giây. Những thông

báo này được gọi là beacon và cho phép các thiết bị không dây phát hiện ra sự

tồn tại của AP đó.

Giả sử rằng có ai đó bật máy tính có card mạng không dây STA. Sau

khi được kích hoạt, STA này bắt đầu dò tìm các AP. Nó cũng có thể được cấu

hình để tìm kiếm một AP duy nhất, tuy nhiên, nó cũng có thể kết nối với một

AP bất kỳ nào khác mà nó “nhìn thấy”. Có rất nhiều tần số khác nhau (được

gọi là các kênh) mà STA có thể sử dụng để dò tìm các beacon. Quá trình này

gọi là quét.

STA này có thể phát hiện một vài AP xung quanh mà nó có thể truy

cập và phải quyết định kết nối với AP nào, vì tại một thời điểm nó chỉ có thể

kết nối tới một AP duy nhất, thường AP được lựa chọn có độ lớn tín hiệu lớn

nhất. Khi STA đã sẵn sàng kết nối với một AP nào đó, trước hết, nó gửi một

thông báo yêu cầu chứng thực tới AP. Chuẩn 802.11 ban đầu coi thông báo

chứng thực như là một phần của giải pháp bảo mật. Vì trong tình huống đặt

ra, ta không sử dụng phương pháp bảo mật nào, AP lập tức đáp ứng yêu cầu

chứng thực bằng cách gửi thông báo đáp trả lại và chỉ ra rằng nó chấp nhận

kết nối.

Khi một STA kết nối với một AP, nó được phép gửi và nhận dữ liệu từ

mạng đó. STA gửi một thông báo yêu cầu kết nối và AP gửi trả lại một thông

báo thể hiện kết nối thành công. Sau thời điểm đó, dữ liệu do STA gửi tới AP

13

được gửi tiếp tới mạng LAN thông qua chính AP đó. Và ngược lại, dữ liệu từ

mạng LAN muốn chuyển tới STA cũng phải thông qua AP.

Đối với các sản phẩm hỗ trợ Wifi thời kì đầu, khi đã kết nối nghĩa là ta

có quyền truy nhập ngay lập tức. Tuy nhiên, theo quan niệm bảo mật mới, kết

nối tức là cho phép STA bắt đầu quá trình chứng thực, quá trình này thực sự

cần thiết để đảm bảo việc truy cập mạng được an toàn.

1.3.1. Beacon

Việc quảng bá beacon là một phương pháp mà nhờ đó, AP thông báo

với các thiết bị xung quanh là nó đã sẵn sàng hoạt động trong môi trường

mạng. Các beacon là những khung chứa thông tin quản lý do chính AP gửi đi,

thường là 10 lần trong một giây. Beacon này chứa các thông tin như là tên

mạng và khả năng của AP. Ví dụ, beacon có thể cho STA biết liệu AP đó có

hỗ trợ các phương pháp bảo mật mới của chuẩn IEEE 802.1 hay không.

1.3.2. Thăm dò

Khi một thiết bị được bật lên, nó có thể lắng nghe các beacon và hy

vọng sẽ thấy một AP nào đó để thiết lập kết nối. Ta có thể cho rằng là 10

beacon trong một giây là quá nhiều và lãng phí. Tuy nhiên, nên nhớ rằng có

nhiều kênh tần số khác nhau và STA phải quét trên mỗi tấn số và đợi 0,1 giây,

như vậy là cũng phải mất một thời gian mới có thể quét được hết tất cả các

kênh. Thêm vào đó, nếu ta đã kết nối và muốn tìm một AP mới vì tín hiệu AP

cũ quá yếu, ta phải làm sao tìm và kết nối được càng nhanh càng tốt để không

bị gián đoạn. Vì vậy mà STA có một lựa chọn là gửi đi thông báo thăm dò. Ta

có thể hình dung nó như khi ta về nhà mà chẳng thấy mọi người đâu, lúc đó ta

sẽ hỏi: “Có ai ở nhà không? “. Nếu bất kì một AP nào nhận được thông tin

thăm dò đó, nó ngay lập tức gửi trả lại thông báo giống như dạng một beacon.

Nhờ đó mà một STA có thể nhanh chóng biết được thông tin về các AP xung

quanh nó.

14

1.3.3. Kết nối với một AP

Như ta đã nói ở trên quá trình kết nối với một AP được gọi là

association. Khi muốn kết nối, thiết bị phải gửi yêu cầu kết nối, AP có thể đáp

trả lại yêu cầu đó. Nếu được chấp nhận, ta có thể kết nối thành công với AP.

1.3.4. Roaming

Nếu có nhiều AP trong cùng một mạng, STA của ta có thể gặp trường

hợp chuyển kết nối từ AP này sang AP khác. Để làm được điều đó, trước hết

nó phải ngắt kết nối với AP cũ bằng thông báo hủy kết nối, rồi sau đó nó kết

nối với AP mới sử dụng thông báo tạo lại kết nối. Thông báo này có chứa một

vài thông tin về AP cũ để giúp cho quá trình chuyển giao diễn ra dễ dàng hơn.

Thông tin này cũng cho phép AP mới trao đổi với AP cũ để đảm bảo rằng

việc chuyển dữ liệu vừa mới diễn ra.

1.3.5. Trao đổi dữ liệu

Khi đã kết nối thành công và sau khi chứng thực đã hoàn tất, đó chính

là lúc bắt đầu gửi dữ liệu. Trong phần lớn các trường hợp thì dữ liệu được

trao đổi giữa STA và AP. Thực tế diễn ra đúng như vậy ngay cả khi ta muốn

gửi dữ liệu đến một STA khác. Đầu tiên, ta phải gửi dữ liệu đến AP và sau đó

AP gửi dữ liệu đến STA. Thường dữ liệu được gửi đến AP và nó sẽ đẩy dữ

liệu vào mạng LAN hoặc tới Internet gateway. Để làm được điều này, mỗi gói

dữ liệu IEEE 802.11 đi và đến AP đều có 3 địa chỉ. Hai trong số đó là địa chỉ

nguồn và đích thật sự, địa chỉ còn lại là địa chỉ trung gian, đó chính là địa chỉ

AP.

Khi gửi dữ liệu từ STA tới AP thì chỉ có một địa chỉ nguồn, đó chính là

địa chỉ của STA gửi thông tin đi và có tới 2 địa chỉ đích. Một địa chỉ đích là

của AP và địa chỉ còn lại chính là đích thực sự mà dữ liệu cần gửi đến. Giống

như dữ liệu từ AP đến STA cũng có một địa chỉ đích nhưng lại có đến 2 địa

chỉ nguồn, một là của AP và một là của thiết bị gửi dữ liệu đi.

15

1.4. Kết chương

Chương này giúp cho chúng ta có một cái nhìn tổng quan về sự phát

triển của mạng không dây, các công nghệ ứng dụng trong mạng không dây

cũng như các kỹ thuật điều chế trải phổ. Chúng ta cũng có thể hiểu một cách

khái quát cơ chế hoạt động của mạng WLAN, ưu điểm cũng như các mô hình

hoạt động của mạng WLAN.

Ngoài ra, chúng ta cũng tìm hiểu về chuẩn 802.11 cho mạng WLAN,

nắm được những gì diễn ra trong quá trình thiết lập kết nối với một hệ thống

WLAN đơn giản (chưa có chứng thực và mã hóa).

Chương tiếp theo sẽ nghiên cứu theo sẽ nghiên cứu thực trạng mất an

ninh an toàn của mạng không dây, các kiểu tấn công trong mạng không dây,

các kỹ thuật mật mã ứng dụng để bảo mật mạng không dây và một số giải

pháp cho việc đảm bảo an ninh an toàn cho mạng không dây mà cụ thể là

WLAN.

16

Chương 2

MỘT SỐ GIẢI PHÁP ĐẢM BẢO AN NINH AN TOÀN CHO MẠNG KHÔNG DÂY

2.1. Thực trạng mất an ninh an toàn của mạng không dây

2.1.1. Khái niệm an ninh an toàn thông tin

An ninh an toàn thông tin (ANATTT) nghĩa là thông tin được bảo vệ,

các hệ thống và những dịch vụ có khả năng chống lại những hiểm họa, lỗi

và sự tác động không mong đợi, các thay đổi tác động đến độ an toàn của hệ

thống là nhỏ nhất. Thực chất ANATTT không chỉ là những công cụ mà là cả

một quá trình trong đó bao gồm những chính sách liên quan đến tổ chức, con

người, môi trường bảo mật, các mối quan hệ và những công nghệ để đảm bảo

an toàn hệ thống mạng. Hệ thống có một trong các đặc điểm sau là không an

toàn: Các thông tin dữ liệu trong hệ thống bị người không có quyền truy

nhập tìm cách lấy và sử dụng (thông tin bị rò rỉ). Các thông tin trong hệ

thống bị thay thế hoặc sửa đổi làm sai lệch nội dung (thông tin bị xáo

trộn)…Không thể đảm bảo ANATTT 100%, nhưng có thể giảm bớt các rủi

ro không mong muốn. Khi các tổ chức, đơn vị tiến hành đánh giá những rủi

ro và cân nhắc kỹ những biện pháp đối phó về mất ANATTT họ luôn luôn đi

đến kết luận: Những giải pháp công nghệ (kỹ thuật) đơn lẻ không thể cung

cấp đủ sự an toàn. Những sản phẩm Anti-virus, Firewall và các công cụ khác

không thể cung cấp sự an toàn cần thiết cho hầu hết các tổ chức. ANATTT là

một mắt xích liên kết hai yếu tố: yếu tố công nghệ và yếu tố con người.

- Yếu tố công nghệ: Bao gồm những sản phẩm của công nghệ như

Firewall, phần mềm phòng chống virus, giải pháp mật mã, sản phẩm

mạng, hệ điều hành và những ứng dụng như: trình duyệt Internet và phần

mềm nhận Email từ máy trạm.

17

- Yếu tố con người: Là những người sử dụng máy tính, những người

làm việc với thông tin và sử dụng máy tính trong công việc của mình. Con

người là khâu yếu nhất trong toàn bộ quá trình đảm bảo ANATTT. Hầu như

phần lớn các phương thức tấn công được hacker sử dụng là khai thác các

điểm yếu của hệ thống thông tin và đa phần các điểm yếu đó rất tiếc lại do

con người tạo ra. Việc nhận thức kém và không tuân thủ các chính sách về

ANATTT là nguyên nhân chính gây ra tình trạng trên. Đơn cử là vấn đề sử

dụng mật khẩu kém chất lượng, không thay đổi mật khẩu định kỳ, quản lý

lỏng lẻo là những khâu yếu nhất mà hacker có thể lợi dụng để xâm nhập

và tấn công.

2.1.2. Đánh giá vấn đề an toàn, bảo mật hệ thống

Để đảm bảo an ninh cho mạng, cần phải xây dựng một số tiêu

chuẩn đánh giá mức độ an ninh an toàn mạng. Một số tiêu chuẩn đã được

thừa nhận là thước đo mức độ an ninh mạng.

2.1.2.1. Đánh giá trên phương diện vật lý

a. An toàn thiết bị

Các thiết bị sử dụng trong mạng cần đáp ứng được các yêu cầu sau:

- Có thiết bị dự phòng nóng cho các tình huống hỏng đột ngột. Có

khả năng thay thế nóng từng phần hoặc toàn phần (hot-plug, hot-swap).

- Khả năng cập nhật, nâng cấp, bổ sung phần cứng và phần mềm.

- Yêu cầu đảm bảo nguồn điện, dự phòng trong tình huống mất điện đột

ngột.

- Các yêu cầu phù hợp với môi trường xung quanh: độ ẩm, nhiệt độ,

chống sét,phòng chống cháy nổ, vv...

b. An toàn dữ liệu

- Có các biện pháp sao lưu dữ liệu một cách định kỳ và không định kỳ

trong các tình huống phát sinh.

18

- Có biện pháp lưu trữ dữ liệu tập trung và phân tán nhằm giảm bớt rủi

ro trong các trường hợp đặc biệt như cháy nổ, thiên tai, chiến tranh, ...

2.1.2.2. Đánh giá trên phương diện logic

Đánh giá theo phương diện này có thể chia thành các yếu tố cơ bản sau:

a. Tính bí mật

Là sự bảo vệ dữ liệu truyền đi khỏi những cuộc tấn công bị động. Có

thể dùng vài mức bảo vệ để chống lại kiểu tấn công này. Dịch vụ rộng nhất

là bảo vệ mọi dữ liệu của người sử dụng truyền giữa hai người dùng trong

một khoảng thời gian. Nếu một kênh ảo được thiết lập giữa hai hệ thống,

mức bảo vệ rộng sẽ ngăn chặn sự rò rỉ của bất kỳ dữ liệu nào truyền trên kênh

đó.

Cấu trúc hẹp hơn của dịch vụ này bao gồm việc bảo vệ một bản tin

riêng lẻ hay những trường hợp cụ thể bên trong một bản tin. Khía cạnh khác

của tin bí mật là việc bảo vệ lưu lượng khỏi sự phân tích. Điều này làm cho

những kẻ tấn công không thể quan sát được tần suất, những đặc điểm khác

của lưu lượng trên một phương tiện giao tiếp.

b. Tính xác thực

Liên quan tới việc đảm bảo rằng một cuộc trao đổi thông tin là đáng

tin cậy. Trong trường hợp một bản tin đơn lẻ, ví dụ như một tín hiệu báo

động hay cảnh báo, chức năng của dịch vụ ủy quyền là đảm bảo với bên nhận

rằng bản tin là từ nguồn mà nó xác nhận là đúng.

Trong trường hợp một tương tác đang xảy ra, ví dụ kết nối của một

đầu cuối đến máy chủ, có hai vấn đề sau: thứ nhất tại thời điểm khởi tạo kết

nối, dịch vụ đảm bảo rằng hai thực thể là đáng tin. Mỗi chúng là một thực

thể được xác nhận. Thứ hai, dịch vụ cần phải đảm bảo rằng kết nối là không

bị gây nhiễu do một thực thể thứ ba có thể giả mạo là một trong hai thực thể

hợp pháp để truyền tin hoặc nhận tin không được cho phép.

19

c. Tính toàn vẹn

Cùng với tính bí mật, tính toàn vẹn có thể áp dụng cho một luồng các

bản tin, một bản tin riêng biệt hoặc những trường lựa chọn trong bản tin. Một

lần nữa, phương thức có ích nhất và dễ dàng nhất là bảo vệ toàn bộ luồng dữ

liệu

Một dịch vụ toàn vẹn hướng kết nối, liên quan tới luồng dữ liệu, đảm

bảo rằng các bản tin nhận được cũng như gửi đi không có sự trùng lặp, chèn,

sửa, hoán vị hoặc tái sử dụng. Việc hủy dữ liệu này cũng được bao gồm

trong dịch vụ. Vì vậy, dịch vụ toàn vẹn hướng kết nối phá hủy được cả sự

thay đổi luồng dữ liệu và cả từ chối dữ liệu. Mặt khác, một dịch vụ toàn vẹn

không kết nối, liên quan tới từng bản tin riêng lẻ, không quan tâm tới bất kỳ

một hoàn cảnh rộng nào, chỉ cung cấp sự bảo vệ chống lại sửa đổi bản tin

d. Tính không thể phủ nhận

Tính không thể phủ nhận bảo đảm rằng người gửi và người nhận không

thể chối bỏ một bản tin đã được truyền. Vì vậy, khi một bản tin được gửi đi,

bên nhận có thể chứng minh được rằng bản tin đó thật sự được gửi từ người

gửi hợp pháp. Hoàn toàn tương tự, khi một bản tin được nhận, bên gửi có thể

chứng minh được bản tin đó đúng thật được nhận bởi người nhận hợp lệ.

e. Khả năng điều khiển truy nhập

Trong hoàn cảnh của an ninh mạng, điều khiển truy nhập là khả năng

hạn chế các truy nhập với máy chủ thông qua đường truyền thông. Để đạt

được việc điều khiển này, mỗi một thực thể cố gắng đạt được quyền truy

nhập cần phải được nhận diện, hoặc được xác nhận sao cho quyền truy

nhập có thể được đáp ứng nhu cầu đối với từng người.

f. Tính khả dụng, sẵn sàng

Một hệ thống đảm bảo tính sẵn sàng có nghĩa là có thể truy nhập dữ

liệu bất cứ lúc nào mong muốn trong vòng một khoảng thời gian cho phép.

20

Các cuộc tấn công khác nhau có thể tạo ra sự mất mát hoặc thiếu về sự sẵn

sàng của dịch vụ. Tính khả dụng của dịch vụ thể hiện khả năng ngăn chặn

và khôi phục những tổn thất của hệ thống do các cuộc tấn công gây ra.

2.1.3. Các nguy cơ mất an ninh an toàn trong mạng không dây

2.1.3.1. Tấn công bị động

a. Định nghĩa

Tấn công bị động là kiểu tấn công không tác động trực tiếp vào thiết bị

nào trên mạng, không làm cho các thiết bị trên mạng biết được hoạt động của

nó vì thế kiểu tấn công này nguy hiểm ở chỗ nó rất khó phát hiện. Ví dụ

như việc lấy trộm thông tin trong không gian truyền sóng của các thiết bị

sẽ rất khó bị phát hiện dù thiết bị lấy trộm đó nằm trong vùng phủ sóng

của mạng chứ chưa nói đến việc nó được đặt ở khoảng cách xa và sử dụng

anten được định hướng tới nơi phát sóng, khi đó cho phép kẻ tấn công giữ

được khoảng cách thuận lợi mà không để bị phát hiện.

Các phương thức thường dùng trong tấn công bị động: nghe trộm

(Sniffing,Eavesdropping), phân tích luồng thông tin (Traffic analysis).

b. Phương thức bắt gói tin

Bắt gói tin – Sniffing là khái niệm cụ thể của khái niệm tổng quát

“Nghe trộm – Eavesdropping” sử dụng trong mạng máy tính. Có lẽ đây là

phương pháp đơn giản nhất, tuy nhiên nó vẫn có hiệu quả đối với việc tấn

công WLAN. Bắt gói tin có thể hiểu như là một phương thức lấy trộm

thông tin khi đặt một thiết bị thu nằm trong hoặc nằm gần vùng phủ sóng.

Tấn công kiểu bắt gói tin sẽ khó bị phát hiện ra sự có mặt của thiết bị bắt

21

gói dù thiết bị đó nằm trong hoặc nằm gần vùng phủ sóng nếu thiết bị không

thực sự kết nối tới AP để thu các gói tin.

Những chương trình bắt gói tin có khả năng lấy các thông tin quan

trọng, mật khẩu, … từ các quá trình trao đổi thông tin trên máy người dùng

với các site HTTP, email, các instant messenger, các phiên FTP, các phiên

telnet nếu những thông tin trao đổi đó dưới dạng văn bản không mã hóa. Có

những chương trình có thể lấy được mật khẩu trên mạng không dây của quá

trình trao đổi giữa Client và Server khi đang thực hiện quá trình nhập mật

khẩu để đăng nhập.

Bắt gói tin ngoài việc trực tiếp giúp cho quá trình phá hoại, nó còn gián

tiếp là tiền đề cho các phương thức phá hoại khác. Bắt gói tin là cơ sở của

các phương thức tấn công như ăn trộm thông tin, thu thập thông tin phân bố

mạng (wardriving), dò mã, bẻ mã (Key crack), ...

Hình 2.1: Phần mềm bắt gói tin Ethereal

22

Wardriving: là một thuật ngữ để chỉ thu thập thông tin về tình hình

phân bố các thiết bị, vùng phủ sóng, cấu hình của mạng không dây. Với ý

tưởng ban đầu dùng một thiết bị dò sóng, bắt gói tin, kẻ tấn công ngồi trên

xe ô tô và đi khắp các nơi để thu thập thông tin chính vì thế mà có tên là

wardriving.

Hình 2.2: Phần mềm thu thập thông tin hệ thống mạng không dây

NetStumbler

Biện pháp đối phó: Vì “bắt gói tin” là phương thức tấn công kiểu bị

động nên rất khó phát hiện và do đặc điểm truyền sóng trong không gian nên

không thể phòng ngừa việc nghe trộm của kẻ tấn công. Giải pháp đề ra ở đây

là nâng cao khả năng mã hóa thông tin sao cho kẻ tấn công không thể giải mã

được, khi đó thông tin lấy được sẽ không có giá trị đối với kẻ tấn công.

2.1.3.2. Tấn công chủ động

a. Định nghĩa

Tấn công chủ động là tấn công trực tiếp vào một hoặc nhiều thiết bị

trên mạng ví dụ như vào AP, STA. Kiểu tấn công này dễ phát hiện nhưng

khả năng phá hoại của nó rất nhanh và nhiều, khi phát hiện ra chúng ta chưa

23

kịp có phương pháp đối phó thì kẻ tấn công đã thực hiện xong quá trình phá

hoại.

So với kiểu tấn công bị động thì tấn công chủ động có nhiều phương

thức đa dạng hơn, ví dụ như: Tấn công DOS, Sửa đổi thông tin (Message

Modification), Đóng giả, mạo danh, che dấu (Masquerade), Lặp lại thông tin

(Replay), Bomb, Spam mail,…

Message Modification Denied of service

Active Attacks

Replay Masquerade

b. Tấn công DOS

Với mạng máy tính không dây và mạng có dây thì không có khác biệt

cơ bản về các kiểu tấn công DOS ở các tầng ứng dụng và vận chuyển nhưng

giữa các tầng mạng, liên kết dữ liệu và vật lý lại có sự khác biệt lớn. Chính

điều này làm tăng độ nguy hiểm của kiểu tấn công DOS trong mạng máy tính

không dây. Trước khi thực hiện tấn công DOS, kẻ tấn công có thể sử dụng

chương trình phân tích lưu lượng mạng để biết được chỗ nào đang tập trung

nhiều lưu lượng, số lượng xử lý nhiều và kẻ tấn công sẽ tập trung tấn công

DOS vào những vị trí đó để nhanh đạt được hiệu quả hơn.

 Tấn công DOS tầng vật lý

Tấn công DOS tầng vật lý ở mạng có dây muốn thực hiện được thì

yêu cầu kẻ tấn công phải ở gần các máy tính trong mạng. Điều này lại không

đúng trong mạng không dây. Với mạng này, bất kỳ môi trường nào cũng dễ

24

bị tấn công và kẻ tấn công có thể xâm nhập vào tầng vật lý từ một khoảng

cách rất xa, có thể là từ bên ngoài thay vì phải đứng bên trong tòa nhà.

Trong mạng máy tính có dây khi bị tấn công thì thường để lại các dấu

hiệu dễ nhận biết như là cáp bị hỏng, dịch chuyển cáp, hình ảnh được ghi lại

từ camera thì với mạng không dây lại không để lại bất kỳ một dấu hiệu nào.

802.11 PHY đưa ra một phạm vi giới hạn các tần số trong giao tiếp. Một kẻ

tấn công có thể tạo ra một thiết bị làm bão hòa dải tần 802.11 với nhiễu.

Như vậy, nếu thiết bị đó tạo ra đủ nhiễu tần số vô tuyến thì sẽ làm giảm tín

hiệu / tỷ lệ nhiễu tới mức không phân biệt được dẫn đến các STA nằm

trong dải tần nhiễu sẽ bị ngừng hoạt động. Các thiết bị sẽ không thể phân

biệt được tín hiệu mạng một cách chính xác từ tất cả các nhiễu xảy ra ngẫu

nhiên đang được tạo ra và do đó sẽ không thể giao tiếp được. Tấn công theo

kiểu này không phải là sự đe dọa nghiêm trọng, nó khó có thể thực hiện phổ

biến do vấn đề giá cả của thiết bị quá đắt trong khi kẻ tấn công chỉ tạm

thời vô hiệu hóa được mạng.

 Tấn công DOS tầng liên kết dữ liệu

Do ở tầng liên kết dữ liệu kẻ tấn công cũng có thể truy cập bất kì đâu

nên lại một lần nữa tạo ra nhiều cơ hội cho kiểu tấn công DOS. Thậm chí khi

WEP đã được bật, kẻ tấn công có thể thực hiện một số cuộc tấn công DOS

bằng cách truy cập tới thông tin lớp liên kết. Khi không có WEP, kẻ tấn công

truy cập toàn bộ tới các liên kết giữa các STA và AP để chấm dứt truy cập tới

mạng. Nếu một AP sử dụng không đúng anten định hướng kẻ tấn công có

nhiều khả năng từ chối truy cập từ các client liên kết tới AP. Anten định

hướng đôi khi còn được dùng để phủ sóng nhiều khu vực hơn với một AP

bằng cách dùng các anten. Nếu anten định hướng không phủ sóng với khoảng

cách các vùng là như nhau, kẻ tấn công có thể từ chối dịch vụ tới các trạm

25

liên kết bằng cách lợi dụng sự sắp đặt không đúng này, điều đó có thể được

minh họa ở hình dưới đây:

Hình 2.3: Mô tả quá trình tấn công DOS tầng liên kết dữ liệu

Giả thiết anten định hướng A và B được gắn vào AP và chúng được

sắp đặt để phủ sóng cả hai bên bức tường một cách độc lập. Client A ở bên

trái bức tường, vì vậy AP sẽ chọn anten A cho việc gửi và nhận các khung.

Client B ở bên phải bức tường, vì vậy chọn việc gửi và nhận các khung với

anten B. Client B có thể loại client A ra khỏi mạng bằng cách thay đổi địa chỉ

MAC của Client B giống hệt với Client A. Khi đó Client B phải chắc chắn

rằng tín hiệu phát ra từ anten B mạnh hơn tín hiệu mà Client A nhận được từ

anten A bằng việc dùng một bộ khuếch đại hoặc các kỹ thuật khuếch đại

khác nhau. Như vậy AP sẽ gửi và nhận các khung ứng với địa chỉ MAC ở

anten B. Các khung của Client A sẽ bị từ chối chừng nào mà Client B tiếp tục

gửi lưu lượng tới AP.

 Tấn công DOS tầng mạng

Nếu một mạng cho phép bất kì một client nào kết nối, nó dễ bị tấn

công DOS tầng mạng. Mạng máy tính không dây chuẩn 802.11 là môi

trường chia sẻ tài nguyên. Một người bất hợp pháp có thể xâm nhập vào

26

mạng, từ chối truy cập tới các thiết bị được liên kết với AP. Ví dụ như kẻ

tấn công có thể xâm nhập vào mạng 802.11b và gửi đi hàng loạt các gói tin

ICMP qua cổng gateway. Trong khi cổng gateway có thể vẫn thông suốt lưu

lượng mạng, thì dải tần chung của 802.11b lại dễ dàng bị bão hòa. Các Client

khác liên kết với AP này sẽ gửi các gói tin rất khó khăn.

Biện pháp đối phó: Biện pháp mang tính “cực đoan” hiệu quả nhất là

chặn và lọc bỏ đi tất cả các bản tin mà DOS hay sử dụng, như vậy có thể sẽ

chặn bỏ luôn cả những bản tin hữu ích. Để giải quyết tốt hơn, cần có

những thuật toán thông minh nhận dạng tấn công – attack detection, dựa vào

những đặc điểm như gửi bản tin liên tục, bản tin giống hệt nhau, bản tin

không có ý nghĩa, ... Thuật toán này sẽ phân biệt bản tin có ích với các cuộc

tấn công để có biện pháp lọc bỏ.

2.1.3.3. Tấn công theo kiểu chèn ép

Ngoài việc sử dụng phương pháp tấn công bị động, chủ động để lấy

thông tin truy cập tới mạng của người dùng, phương pháp tấn công theo kiểu

chèn ép Jamming là một kỹ thuật sử dụng đơn giản để làm mạng ngừng

hoạt động. Phương thức Jamming phổ biến nhất là sử dụng máy phát có tần

số phát giống tần số mà mạng sử dụng để áp đảo làm mạng bị nhiễu, bị

ngừng làm việc. Tín hiệu RF đó có thể di chuyển hoặc cố định.

27

Hình 2.4: Mô tả quá trình tấn công theo kiểu chèn ép

2.1.3.4. Tấn công theo kiểu thu hút

Tấn công theo kiểu thu hút có nghĩa là dùng một khả năng mạnh hơn

chen vào giữa hoạt động của các thiết bị và thu hút, giành lấy sự trao đổi

thông tin của thiết bị về mình. Thiết bị chèn giữa đó phải có vị trí, khả năng

thu phát trội hơn các thiết bị sẵn có của mạng. Một đặc điểm nổi bật của

kiểu tấn công này là người sử dụng không thể phát hiện ra được cuộc tấn

công, và lượng thông tin thu được bằng kiểu tấn công này là giới hạn.

Hình 2.5: Mô tả quá trình tấn công theo kiểu thu hút

Phương thức thường sử dụng theo kiểu tấn công này là Mạo danh

AP (AP rogue), có nghĩa là chèn thêm một AP giả mạo vào giữa các kết nối

trong mạng.

2.2. Cơ sở khoa học của mật mã ứng dụng trong việc đảm bảo an toàn và

bảo mật mạng không dây

2.2.1. Giới thiệu chung

Mật mã đã được con người sử dụng từ lâu đời. Các hình thức mật mã sơ

khai đã được tìm thấy từ khoảng bốn nghìn năm trước trong nền văn minh Ai

Cập cổ đại. Trải qua hàng nghìn năm lịch sử, mật mã đã được sử dụng rộng

rãi ở khắp nơi trên thế giới từ Đông sang Tây để giữ bí mật cho việc giao lưu

thông tin trong nhiều lĩnh vực hoạt động giữa con người và các quốc gia, đặc

biệt trong các lĩnh vực quân sự, chính trị, ngoại giao. Mật mã trước hết là

28

một loại hoạt động thực tiễn, nội dung chính của nó là để giữ bí mật thông

tin. Để thực hiện được một phép mật mã, cần có một thuật toán biến bản rõ

cùng với khóa mật mã thành bản mã mật và một thuật toán ngược lại biến

bản mật cùng với khóa mật mã thành bản rõ. Các thuật toán đó được gọi

tương ứng là thuật toán lập mã và thuật toán giải mã. Các thuật toán này

thường không nhất thiết phải giữ bí mật, cái luôn cần được giữ bí mật là

khóa mật mã. Trong thực tiễn có những hoạt động ngược lại với hoạt động

bảo mật là khám phá bí mật từ các bản mã “lấy trộm” được, hoạt động này

thường được gọi là mã thám hay phá khóa.

2.2.2. Hệ mật mã khóa đối xứng

Các phương pháp mật mã cổ điển đã được biết đến từ khoảng 4000

năm trước. Một số kỹ thuật đã được những người Ai Cập sử dụng từ nhiều thế

kỷ trước. Những kỹ thuật này chủ yếu sử dụng hai phương pháp chính là:

phép thay thế và phép chuyển dịch. Trong phép thay thế, một chữ cái này

được thay thế bởi chữ cái khác và trong phép chuyển dịch, các chữ cái được

sắp xếp theo một trật tự khác [10].

Hệ mã chuẩn DES được xây dựng tại Mỹ trong những năm 70 theo yêu

cầu của Văn phòng quốc gia về chuẩn và được sự thẩm định của cơ quan an

ninh quốc gia là một ví dụ về mật mã đối xứng. DES kết hợp cả hai phương

pháp thay thế và chuyển dịch. DES thực hiện mã hoá trên từng khối bản rõ

là một xâu 64 bit, có khóa là một xâu 56 bit và cho ra bản mã cũng là một

xâu 64 bit. Hiện nay, DES và biến thể của nó (3DES) vẫn được sử dụng thành

công trong nhiều ứng dụng.

Trong các hệ mã đối xứng chỉ có một khóa được chia sẻ giữa các bên

tham gia liên lạc. Cứ mỗi lần truyền tin bảo mật, cả người gửi A và người

nhận B cùng thoả thuận trước với nhau một khóa chung K, sau đó người gửi

dùng giải thuật lập mã để lập mã cho thông báo gửi đi và người nhận dùng

29

giải thuật giải mã để giải mã bản mật mã nhận được. Người gửi và người

nhận có cùng một khóa chung K, khóa này được giữ bí mật dùng cho cả lập

mã và giải mã. Những hệ mật mã cổ điển với cách sử dụng trên được gọi là

mật mã khóa đối xứng hay còn gọi là mật mã khóa bí mật. Độ an toàn của hệ

mật mã đối xứng phụ thuộc vào khóa. Nếu để lộ khóa thì bất kỳ người nào

cũng có thể mã hóa và giải mã thông điệp.

Hình 2.6: Mô hình hệ mật mã khóa đối xứng

Ưu điểm nổi bật của các hệ mật mã khóa đối xứng là việc xây dựng

một hệ mật mã có độ bảo mật cao khá dễ dàng về mặt lý thuyết. Nhưng như

nếu không kể đến việc cần có một nguồn sinh khóa ngẫu nhiên thì việc phân

phối, lưu trữ bảo mật và thoả thuận khóa là một vấn đề khó chấp nhận

được trong mạng truyền thông ngày nay. Trong một mạng có n người dùng,

nếu cần khóa cho từng cặp thì cần n(n+1)/2 khóa.

Để khắc phục hiện tượng không thể lưu trữ một khối lượng khóa quá

lớn đáp ứng được nhu cầu mã dịch, người ta xem xét đến việc sử dụng các hệ

mật mã khối với độ dài không lớn lắm như DES…hoặc các hệ mật mã dòng

mà khóa được sinh ra từ một nguồn giả ngẫu nhiên bằng thuật toán.

Mặc dù đã thực hiện việc mã hóa và giải mã bằng các hệ mật mã khối

hay bằng thuật toán sinh khóa như đã nêu ở trên thì vấn đề phân phối và

30

thoả thuận khóa vẫn phải được thực hiện. Như vậy phân phối và thoả thuận

khóa là một vấn đề chưa thể được giải quyết trong các hệ mật mã khóa đối

xứng.

2.2.3. Hệ mật mã khóa công khai

Để giải quyết vấn đề phân phối và thoả thuận khóa của mật mã khóa

đối xứng, năm 1976 Diffie và Hellman đã đưa ra khái niệm về hệ mật mã

khóa công khai [10] và một phương pháp trao đổi công khai để tạo ra một

khoá bí mật chung mà tính an toàn được bảo đảm bởi độ khó của một bài

toán toán học cụ thể (là bài toán tính “logarit rời rạc”). Hệ mật mã khóa

công khai hay còn được gọi là hệ mật mã phi đối xứng sử dụng một cặp

khóa, khóa mã hóa còn gọi là khóa công khai và khóa giải mã được gọi là

khóa bí mật hay khóa riêng. Trong hệ mật này, khóa mã hóa khác với khóa

giải mã. Về mặt toán học thì từ khóa công khai rất khó tính được khóa riêng.

Biết được khóa này không dễ dàng tìm được khóa kia. Khóa giải mã được

giữ bí mật trong khi khóa mã hóa được công bố công khai. Một người bất kỳ

có thể sử dụng khóa công khai để mã hoá tin tức, nhưng chỉ có người nào có

đúng khóa giải mã mới có khả năng xem được bản rõ. Người gửi A sẽ mã

hoá thông điệp bằng khóa công của người nhận và người nhận B sẽ giải mã

thông điệp với khoá riêng tương ứng của mình.

31

Hình 2.7: Mô hình hệ mật mã khóa công khai

Có nhiều hệ thống khóa công khai được triển khai rộng rãi như hệ

RSA, hệ ElGamal sử dụng giao thức trao đổi khoá Diffie-Hellman và nổi lên

trong những năm gần đây là hệ đường cong Elliptic. Trong số các hệ mật mã

trên thì hệ RSA là hệ được cộng đồng chuẩn quốc tế và công nghiệp chấp

nhận rộng rãi trong việc thực thi mật mã khóa công khai.

Hệ mật mã RSA, do Rivest, Shamir và Adleman tìm ra, đã được

công bố lần đầu tiên vào tháng 8 năm 1977 trên tạp chí Scientific American.

Hệ mật mã RSA được sử dụng rộng rãi trong thực tiễn đặc biệt cho mục đích

bảo mật và xác thực dữ liệu số. Tính bảo mật và an toàn của chúng được bảo

đảm bằng độ phức tạp của một bài toán số học nổi tiếng là bài toán phân tích

số nguyên thành các thừa số nguyên tố.

Việc phát minh ra phương pháp mã công khai tạo ra một cuộc

“cách mạng” trong công nghệ an toàn thông tin điện tử. Nhưng thực tiễn

triển khai cho thấy tốc độ mã hóa khối dữ liệu lớn bằng các thuật toán mã

32

hóa công khai chậm hơn rất nhiều so với hệ mã hóa đối xứng. Ví dụ, để đạt

được độ an toàn như các hệ mã đối xứng mạnh cùng thời, RSA đòi hỏi thời

gian cho việc mã hóa một văn bản lâu hơn gấp hàng ngàn lần. Do đó, thay

bằng việc mã hóa văn bản có kích thước lớn bằng lược đồ khóa công khai thì

văn bản này sẽ được mã hóa bằng một hệ mã đối xứng có tốc độ cao như

DES, IDEA,… sau đó khóa được sử dụng trong hệ mã đối xứng sẽ được mã

hóa sử dụng mật mã khóa công khai. Phương pháp này rất khả thi trong việc

mã và giải mã những văn bản có kích thước lớn.Vấn đề còn tồn đọng của hệ

mật mã khóa đối xứng được giải quyết nhờ hệ mật mã khóa công khai. Chính

ưu điểm này đã thu hút nhiều trí tuệ vào việc đề xuất, đánh giá các hệ mật mã

công khai. Nhưng do bản thân các hệ mật mã khóa công khai đều dựa vào

các giả thiết liên quan đến các bài toán khó nên đa số các hệ mật mã này đều

có tốc độ mã dịch không nhanh lắm. Chính nhược điểm này làm cho các hệ

mật mã khóa công khai khó được dùng một cách độc lập.

Một vấn đề nữa nảy sinh khi sử dụng các hệ mật mã khóa công khai là

việc xác thực mà trong mô hình hệ mật mã đối xứng không đặt ra. Do các

khóa mã công khai được công bố một cách công khai trên mạng cho nên việc

đảm bảo rằng “khóa được công bố có đúng là của đối tượng cần liên lạc hay

không?” là một kẽ hở có thể bị lợi dụng. Vấn đề xác thực này được giải

quyết cũng chính bằng các hệ mật mã khóa công khai. Nhiều thủ tục xác thực

đã được nghiên cứu và sử dụng như Kerberos, X.509… Một ưu điểm nữa của

các hệ mật mã khóa công khai là các ứng dụng của nó trong lĩnh vực chữ ký

số, cùng với các kết quả về hàm băm, thủ tục ký để bảo đảm tính toàn vẹn

của một văn bản được giải quyết.

2.3. Nghiên cứu một số giải pháp đảm bảo an ninh an toàn cho

mạng WLAN

2.3.1. Phương pháp bảo mật dựa trên WEP

33

2.3.1.1. Vấn đề chứng thực

Có hai vấn đề cần phải quan tâm khi nói đến WEP, đầu tiên là chứng

thực và thứ hai là mã hóa.

Với IEEE 802.11 WEP [7], trong giai đoạn chứng thực một thiết bị mới

phải chứng minh rằng nó đúng là thành viên của nhóm, vậy nó chứng minh

bằng cách nào? Về phía AP mà nói, nếu một thiết bị có thể chứng tỏ nó đúng

là đáng tin cậy thì có thể tin địa chỉ MAC của nó không phải là địa chỉ giả

mạo và nó cho phép thiết bị mới này kết nối vào mạng. Tuy nhiên thật không

may là chẳng có dấu hiệu đảm bảo nào được sử dụng trong quá trình chứng

thực vì thế mà chẳng có cơ sở để biết liệu gói tin đến từ thiết bị đáng tin cậy

hay là không. Kiểu chứng thực này thực sự không đảm bảo tin cậy và do đó

nó đã bị loại bỏ khỏi tính năng của WLAN, cho dù là nó nằm trong chuẩn

IEEE 802.11.

Dù yếu nhưng một số hệ thống vẫn sử dụng kiểu chứng thực của

chuẩn IEEE 802.11 ban đầu. Chúng ta đã biết rằng IEEE 802.11 sử dụng 3

kiểu gói tin là gói tin điều khiển, gói tin quản lý và gói tin dữ liệu. Giai

đoạn chứng thực sử dụng gói tin quản lý, để chứng thực trong trường hợp

không có bảo mật STA gửi một gói tin yêu cầu chứng thực và AP gửi trả lại

gói tin báo chứng thực thành công. Đối với chứng thực dựa trên WEP có 4

gói tin được trao đổi. Đầu tiên STA gửi yêu cầu chứng thực, sau đó AP gửi

trả lại một gói tin challenge. STA đáp lại gói tin challenge đó để chứng tỏ

rằng nó biết khóa bảo mật và nếu được chấp nhận AP sẽ gửi lại gói tin báo

chứng thực thành công.

34

Hình 2.8: Quá trình chứng thực diễn ra trong WEP

Về mặt nguyên tắc, nếu một AP hoạt động ở chế độ không có bảo mật

nó luôn luôn chấp nhận các yêu cầu chứng thực và đáp lại với một gói tin

báo chứng thực thành công. Tuy nhiên, trong thực tế nhiều hệ thống cung

cấp các phương pháp riêng của mình, phổ biến nhất là sử dụng danh sách địa

chỉ MAC. AP có một danh sách các địa chỉ MAC mà nó cho phép truy nhập

vào mạng. Danh sách này do người quản trị tạo ra và lưu lại trên AP. Quá

trình chứng thực dựa vào danh sách này, tức là nếu STA có địa chỉ MAC nằm

trong danh sách thì nó được phép truy cập vào mạng, nếu không, nó sẽ bị từ

chối. Đương nhiên là không thể ngăn chặn được những địa chỉ MAC giả,

nhưng dù sao thì nó cũng có tác dụng nhất định nhằm tránh việc vô tình truy

cập nhầm mạng.

Chứng thực WEP với mục đích là chứng minh với AP rằng STA biết

khóa bảo mật. Khi một STA yêu cầu chứng thực, AP gửi tới nó một số ngẫu

nhiên được gọi là challenge text. Đây là một số 128 bit bất kỳ (giả ngẫu

nhiên). STA sau đó mã hóa số này bằng khóa bảo mật và gửi trả lại cho AP.

Do AP đã lưu lại số ngẫu nhiên mà nó đã gửi đi, đồng thời nó cũng có khóa

35

bảo mật mà STA có từ đó nó có thể giải mã số mà STA gửi đến, so sánh hai

kết quả nếu hai kết quả trùng nhau thì STA đó là thiết bị biết khóa mật mã và

đáng tin cậy. Ở đây có một vấn đề là STA chẳng có cách nào biết được

liệu AP có biết khóa bảo mật hay không. Nếu một kẻ nào đó đang theo dõi,

thì vô tình ta đã cho hắn ta một cơ hội bẻ khóa vì hắn đã có thể có trong tay

cả số ngẫu nhiên và số đã được mã hóa bằng khóa bảo mật, dựa vào đó có

thể tìm ra khóa. Đó cũng là lý do tại sao hiệp hội Wifi Alliance loại bỏ kiểu

trao đổi này.

Dưới đây là định dạng của gói tin chứng thực, cho dù nhiều gói tin

được trao đổi nhưng nó có chung một dạng:

Algorithm Num Transaction Seq Status Code Challenge Text

Hình 2.9: Định dạng của gói tin chứng thực

 Algorithm Num: chỉ kiểu chứng thực được sử dụng:

0 – Không có bảo mật.

1 – Có sử dụng khóa bảo mật (WEP).

 Transaction Seq: chỉ ra ta đang ở phần nào của quá trình chứng

thực. Gói tin thứ nhất ứng với giá trị 1, gói tin thứ hai ứng với giá trị 2 và gói

tin thứ 3 (chỉ dùng với WEP) có giá trị là 3.

Status Code: được gửi cuối cùng để thông báo yêu cầu chứng 

thực có thành công hay không.

 Challenge Text: là số ngẫu nhiên như đã được nói ở trên.

2.3.1.2. Vấn đề mã hóa

Ngoài việc chứng thực, mã hóa là một phần không thể thiếu được khi

nói đến WEP. Để bảo vệ những thông tin cần thiết, tránh nguy cơ bị lộ thông

tin thì mã hóa chính là giải pháp được tính đến.

Khi WEP được kích hoạt, dữ liệu được truyền đi dưới dạng mã hóa nên

những kẻ tấn công có lấy được gói tin cũng không giải mã được. Để giải mã

36

gói tin chúng ta phải biết khóa. Chuẩn IEEE 802.11 ban đầu đã đưa ra 2 quá

trình: trước hết là phải chứng thực sau đó mới mã hóa. Như đã nói ở phần

trước, phương pháp chứng thực ở đây gần như không có ý nghĩa, nó đôi khi

còn nguy hơn là không sử dụng. Vì thế, hầu hết các hệ thống WLAN bỏ qua

giai đoạn chứng thực và chuyển luôn sang mã hóa sau khi đã tạo được kết nối.

Các hệ thống bảo mật có thể dựa vào việc mã hóa theo chuỗi hoặc mã

hóa khối. WEP sử dụng thuật toán mã hóa chuỗi gọi là RC4 để mã hóa các

gói dữ liệu. RC4 là tên viết tắt của Rivest Cipher 4 do Ron Rivest thiết kế

vào năm 1987. Ở mức độ cao nhất, RC4 giống như là một hộp đen, nó lấy

một byte từ chuỗi dữ liệu và tạo một byte khác tương ứng ở đầu ra. Việc giải

mã là quá trình ngược lại và vẫn sử dụng khóa như quá trình mã hóa.

Hình 2.10: Mã hóa chuỗi

Một trong những ưu điểm của RC4 là nó dễ thực hiện và không sử

dụng bất kỳ các phép toán phức tạp hay tốn thời gian tính toán nào giống

như phép nhân. Nói chung đây cũng là một thách thức đối với những nhà

thiết kế thuật toán, làm sao để thỏa mãn vừa đảm bảo tính bảo mật lại vừa dễ

thực hiện. Có 2 giai đoạn chính trong việc dùng thuật toán RC4. Giai đoạn

đầu là khởi tạo: một số bảng dữ liệu được tạo nên dựa trên khóa đã cho, giai

đoạn hai: dữ liệu được đưa qua dây truyền mã. Trong trường hợp đối với

WEP, cả giai đoạn khởi tạo và giai đoạn mã hóa xảy ra đối với từng gói. Mỗi

gói được coi như là một chuỗi dữ liệu, điều này đảm bảo rằng nếu một gói bị

mất thì gói tin tiếp theo vẫn có thể giải mã được. Có một vấn đề trong việc sử

dụng giá trị khóa cố định. Cho dù khóa đó có được thay đổi đi chăng nữa, nó

vẫn gặp phải vấn đề đối với các gói tin khi đi qua hệ thống mã hóa đó là tất

37

cả các gói tin được mã hóa với cùng một khóa. Giả sử ta dùng thuật toán

RC4 với khóa đã cho và với dữ liệu là “asfecewa” và giả sử ta thu được đoạn

mã “&(#cheiv”. Nó trông có vẻ ngẫu nhiên, tuy nhiên, do khóa không thay

đổi nên cứ lần nào ta cho dữ liệu vào là “asfecewa” thì cũng được kết quả

tương tự như trên. Một mặt nào đó nó có thể chấp nhận được nhưng mặt

khác nó lại là một mối nguy hiểm, tạo điều kiện cho kẻ khác cơ hội giải

mã. Nếu như biết được các đoạn dữ liệu mã hóa giống nhau tại những vị trí

cho trước có thể đoán được là dữ liệu ban đầu có sự lặp lại. Để giải quyết tình

huống này vector khởi tạo IV được sử dụng, nó là một khái niệm khá đơn

giản. Thay vì chỉ sử dụng khóa cố định để mã hóa ta có thể kết hợp khóa này

với 24 bit để làm sao cho mỗi gói tin mã hóa sẽ khác nhau cho dù nội dung

của chúng có giống nhau. Số 24 bit này chính là vector khởi tạo IV, nó biến

khóa 104 bit thành khóa 128 bit. Gọi là mã hóa 128 bit nghe có vẻ không

được đúng cho lắm vì IV được gửi đi cùng với gói tin được mã hóa nhưng

chính nó lại không được mã.

Hình 2.11: Sự kết hợp của IV với khóa

Do giá trị của IV luôn thay đổi nên khi kết hợp với khóa để mã hóa

đã tạo ra các gói tin được mã hoàn toàn khác nhau cho dù dữ liệu được mã

giống nhau. Để đảm bảo an toàn, không bao giờ được sử dụng 2 lần cùng một

IV với cùng một khóa. Do IV không được mã hóa và dễ dàng đọc được từ gói

tin gửi đi nên việc lưu lại để so sánh với các giá trị sau là việc đơn giản.

Một điều không may là IV trong IEEE 802.11 WEP chỉ có 24 bit mà

thôi. Giá trị này có vẻ khá lớn nhưng tính toán một lúc ta sẽ thấy nó quả

38

thực không phải như vậy. Một số 24 bit sẽ có giá trị từ 0 đến 16777216, tức

là vào khoảng gần 17 triệu giá trị IV khác nhau. Nếu một AP hoạt động liên

tục với tốc độ 11 Mbps có thể truyền và nhận 700 gói có kích thước trung

bình trong một giây. Nếu mỗi gói ứng với một IV khác nhau thì không đầy

7 tiếng sau nó đã cạn kiệt. Do rất ít người thay đổi khóa mỗi ngày nên việc

sử dụng lại IV chắc chắn sẽ xảy ra.

Những vấn đề với IV chỉ ra rằng thực sự là khó thiết kế các giao thức

bảo mật dựa trên việc mã hóa chuỗi bởi vì trạng thái của quá trình mã hóa

không được khởi động lại trong toàn bộ chuỗi đó. Một phiên bản khác của

WEP là TKIP cũng dựa trên RC4 nhưng khắc phục được việc tái sử dụng IV

sẽ được đề cập đến ở phần sau.

2.3.1.3. Cơ chế hoạt động của WEP

Nếu trong một mạng có kết nối WLAN thì dữ liệu bao giờ cũng

phải đi qua tầng dịch vụ mạng IEEE 802.11 MAC. Hay nói một cách khác,

gói dữ liệu tới WLAN cùng với những thông tin cần thiết để gửi gói tin đến

đích, gói dữ liệu này được gọi là một MSDU. Nếu không gặp lỗi nào,

MSDU này sẽ được gửi đến tầng dịch vụ MAC của thiết bị đích và sẽ được

hệ điều hành hay trình điều khiển đưa đến đúng ứng dụng đang chạy. Tuy

nhiên, trước khi được chuyển thành dạng sóng điện từ, MSDU có thể được

chia thành những phần nhỏ hơn, gọi là các phân mảnh (fragment). Mỗi một

fragment được mã hóa bởi WEP. Một MAC header được gắn vào phần đầu và

từ kiểm tra được gắn vào phần cuối. Như vậy, từ một MSDU ban đầu sẽ được

phân chia ra thành các phần dữ liệu nhỏ hơn (fragment), đồng thời các byte

thông tin khác cũng được thêm vào chứ không chỉ có mỗi phần dữ liệu được

mã hóa. Mỗi phần nhỏ đó được gọi là một MPDU. Quá trình này coi dữ liệu

như một khối gồm các byte, độ lớn tùy theo MSDU ban đầu cũng như việc

chọn lựa độ lớn của fragment, nó thường có giá trị từ 10 đến 1500 byte.

39

Bước đầu tiên trong quá trình mã hóa là thêm giá trị kiểm tra tính toàn vẹn

ICV.

Mục đích của việc sử dụng ICV là để phát hiện sự thay đổi nội

dung gói tin trong quá trình nó được truyền đi. Đối với cả các gói tin được

mã và không được mã, cần có một số kiểm tra nhằm phát hiện bit sai lệch

trong quá trình truyền tin. CRC là một số 4 byte được thêm vào cuối của

khung ngay trước khi xử lý để truyền. Nếu có một bit bị sai, bên thu sẽ phát

hiện ra ngay dựa vào giá trị CRC và hủy gói tin đó. Có nhiều khi không phát

hiện được sự thay đổi này do kẻ gian đã tính toán lại giá trị CRC và thay nó

vào gói tin.

ICV cũng tương tự như CRC, chỉ có điều nó được tính toán và thêm

vào trước khi mã hóa, còn CRC thì về nguyên tắc vẫn được thêm vào sau khi

mã hóa. Về mặt lý thuyết do ICV được mã hóa nên không có kẻ nào có thể

tính toán lại nhằm thay đổi nội dung, nhưng thực tế lại là chuyện khác.

Hình 2.12: Thêm ICV

Sau khi ICV được thêm vào, khung này đã sẵn sàng để mã hóa. Trước

tiên, hệ thống phải lựa chọn một IV và kết hợp nó với khóa, thực hiện việc

mã hóa bằng thuật toán RC4, từng byte dữ liệu và khối ICV lần lượt được mã

hóa. Ứng với một byte đầu vào thì tương ứng có một byte được mã hóa ở đầu

ra, quá trình này diễn ra liên tục cho đến khi toàn bộ dữ liệu được mã, đây

chính là kiểu mã hóa chuỗi.

40

Để bên thu có thể giải mã được, cả KeyID và IV cũng phải được thêm

vào, nó chiếm tổng cộng 4 byte: 3 byte đối với IV (24 bit) và 1 byte với

KeyID (0, 1, 2 hoặc 3).

Hình 2.13: Thêm IV và KeyID

Cuối cùng, MAC header và CRC được thêm vào lần lượt vào đầu và

cuối, trong phần MAC có một bit thông báo cho bên thu biết gói tin được mã

hóa WEP, nhờ đó nó biết cách để xử lý.

Sau khi nhận được gói tin mà bên phát gửi đến, bên thu sẽ thực hiện

quy trình như sau: nhờ vào một bit ở phần MAC header để biết gói dữ liệu

nhận được có mã hóa hay không, nếu có, nó đọc và lưu lại giá trị IV, tiếp

đến là đọc KeyID và chọn khóa giải mã, khởi tạo chương trình mã RC4 và

thực hiện quá trình giải mã. Nếu ta thực hiện việc giải mã hai lần thì dữ liệu

lại trở lại trạng thái mã hóa như ban đầu, do đặc điểm của thuật toán mã hóa

mà việc mã hóa và giải mã là như nhau, tức là vẫn thuật toán ấy, nếu đầu vào

là bản rõ thì đầu ra là bản mã và nếu đầu vào vẫn bản mã ấy thì đầu ra lại trở

lại bản rõ ban đầu. Sau khi thu được bản rõ ban đầu, bước cuối cùng là tính

ICV và đảm bảo rằng không có sự thay đổi nào đối với dữ liệu gốc. Nếu mọi

việc hoàn thành, chỉ riêng phần dữ liệu mới được xử lý ở những công đoạn

sau mà thôi, tất cả những phần thông tin thêm vào đến thời điểm này không

còn cần thiết nữa.

2.3.2. Phương pháp bảo mật dựa trên TKIP

41

TKIP được tạo ra nhằm nâng cấp độ bảo mật cho WEP. Khi WEP bị

hack, ngay tức khắc toàn bộ hàng triệu hệ thống WLAN rơi vào tình trạng

không an toàn. Cần tìm một giải pháp làm sao nâng cấp được các hệ thống

đang tồn tại để đảm bảo độ an toàn cao hơn.

Và giải pháp đó chính là TKIP, yêu cầu đặt ra là TKIP vẫn hoạt động

được trên các hệ thống sử dụng WEP đang tồn tại. Trong trường hợp với

AES, đó là giải pháp được thiết kế từ đầu, các nhà thiết kế có thể tập trung

vào giải pháp tốt nhất có thể, vừa đảm bảo việc triển khai khả thi đồng thời

thực hiện với chi phí hợp lý. Ở một vài khía cạnh nào đó, do được thiết kế

từ đầu nên AES giải quyết vấn đề một cách đơn giản hơn. Nhưng TKIP thì

khác, nó bị ràng buộc bởi phải làm sao đảm bảo an toàn dựa trên nền tảng

WEP đã và đang sử dụng.

2.3.2.1. Những điểm khác biệt của TKIP so với WEP

TKIP đưa ra một loạt những cải tiến nhằm khắc phục những điểm yếu

tồn tại trong WEP. Không thể thay đổi các thành phần chính như việc RC4

được thực hiện bằng phần cứng, nhưng có thể thêm các công cụ điều chỉnh

liên quan đến phần cứng đó. Các điều chỉnh đối với WEP để tạo ra TKIP

được tóm lược trong bảng 2.2. Những điểm yếu của WEP cần khắc phục được

nêu ra trong bảng 2.1.

Bảng 2.1: Những điểm yếu của WEP

1 IV quá ngắn và không khắc phục được việc tái sử dụng.

2 Cách tạo ra các khóa từ IV khiến nó dễ bị tấn công vào các khóa yếu.

3 Không có cơ chế phát hiện việc giả mạo gói tin. 4 Sử dụng trực tiếp khóa chính và không có cơ chế nâng cấp khóa.

5 Không có biện pháp ngăn chặn việc gửi lại gói tin.

Bảng 2.2: Cách khắc phục điểm yếu của WEP

42

Điểm yếu được Mục đích Thay đổi khắc phục

Thêm giao thức toàn vẹn gói tin để ngăn

Toàn vẹn gói tin chặn việc giả mạo gói tin, dựa trên phần

Lựa chọn và sử mềm chạy trên vi xử l ý tốn ít năng Thay đổi cách sử dụng IV và sử dụng (3)

lại IV như một bộ đếm để tính ngược. (1) (3)

dụng IV Tạo khóa cho mỗi Thay đổi khóa cho mỗi gói tin. (1)(2)(4) gói tin

Kích thước của IV Tăng kích cỡ của IV để tránh lặp lại. (1)(4)

Thêm cơ chế phân phối và thay đổi các Quản lý khóa (4) khóa Broadcast

a. Tính toàn vẹn gói tin

Tính toàn vẹn của gói tin là một phần quan trọng của bảo mật. Nếu kẻ

gian có thể thay đổi nội dung gói tin thì dẫn đến nhiều khả năng hệ thống bị

vô hiệu hóa. WEP có một biện pháp để phát hiện sự thay đổi này gọi là ICV

như đã được nói đến ở phần trước nhưng ICV thực sự chẳng có tác dụng gì.

Nó không được coi là một phần của TKIP cho dù giá trị đó vẫn được kiểm

tra.

Nếu muốn phát hiện sự thay đổi này, một phương pháp đơn giản là

thêm vào mỗi byte trong gói tin một giá trị kiểm tra và sau đó gửi đi cùng gói

tin. Bên thu có thể thực hiện tính toán tương tự và kiểm tra xem có cho ra

cùng kết quả. Nếu một bit bị thay đổi, tổng đó sẽ không cho kết quả đúng.

Thuật ngữ chuẩn sử dụng trong bảo mật để chỉ giá trị kiểm tra là mã

chứng thực gói tin (MAC- Message Authentication Code). Nhưng thuật

ngữ này lại trùng với MAC sử dụng trong mạng LAN để chỉ việc điều

43

khiển truy nhập chung, vì vậy, để tránh nhầm lẫn, trong chuẩn IEEE 802.11

người ta sử dụng thuật ngữ MIC.

Mục đích là kết hợp tất cả các byte trong gói tin để tạo ra một giá trị

kiểm tra gọi là MIC và gửi nó đi cùng với gói tin. MIC được tính toán theo

một quá trình đặc biệt không thể tính ngược lại được nếu như không biết

khóa. Chỉ có bên thu đích thực mới có thể tính toán và kiểm tra so sánh kết

quả .

Hình 2.14: Tạo và so sánh giá trị MAC (hoặc MIC)

Để tính ra được giá trị này cần phải có được một phương pháp vừa

đảm bảo được tính bảo mật lại vừa có thể thực hiện được mà không cần các

phép toán phức tạp hay các thuật toán mới. Một giải pháp rất hay do nhà mật

mã học Niels Ferguson đưa ra được ông ta gọi là Michael. Michael là một

phương pháp tính toán giá trị MIC mà không cần đến các phép nhân, chỉ

dùng đến phép cộng và dịch tạo ra một từ kiểm tra khá ngắn. Michael có thể

được thực hiện trên các AP hiện đang sử dụng mà không tiêu tốn nhiều khả

năng của nó.

44

Michael hoạt động trên MSDU, việc tính ra MIC được thực hiện trên

MSDU chứ không phải là MPDU. Nó có hai điểm lợi, thứ nhất: đối với STA,

nó cho phép việc tính toán trên máy tính rồi mới đưa ra WLAN card, thứ hai:

nó giảm dữ liệu thêm vào bởi vì không cần thiết phải thêm MIC vào mỗi

MPDU. Ngược lại, việc mã hóa TKIP được thực hiện ở MPDU.

Michael yêu cầu phải có một khóa riêng, khác với khóa được dùng để

mã, điều này dễ dàng được thực hiện khi tạo ra các khóa tạm thời từ khóa

chính.

Việc tính MIC đơn giản vì thế cái giá phải trả cho sự đơn giản này

khiến nó có nguy cơ bị tấn công brute force, trong quá trình đó, kẻ tấn công

có thể tấn công liên tục, hết lần này đến lần khác. Michael khắc phục lỗi này

bằng cách đưa ra khái niệm countermeasure.

Mục đích của countermeasure là phát hiện những kiểu tấn công giống

như thế này và ngăn chặn không cho chúng thực hiện lặp đi lặp lại việc đó

nhiều lần.

Như vậy ta đã có phương pháp tính toán giá trị MIC, giá trị này nhằm

kiểm tra tính toàn vẹn của gói tin mà WEP không có.

b. Lựa chọn và sử dụng IV

Phần 2.3.1 đã cho chúng ta biết IV là gì, mục đích sử dụng của nó ra

sao cũng như cách nó kết hợp với khóa để tạo ra chuỗi khóa cho mỗi gói.

Cần lưu ý rằng cách dùng IV trong WEP có 3 điểm yếu cơ bản:

IV quá ngắn nên việc lặp lại là không thể tránh khỏi đối với 

mạng hoạt động liên tục.

IV không được dành riêng cho từng STA nên cùng một IV có 

thể được dùng với cùng một khóa trên nhiều STA.

Cách thêm IV vào khóa khiến nó dễ bị tấn công kiểu FMS 

(Fluhrer- Mantin-Shamir attack).

45

TKIP đưa ra một số quy tắc mới đối với việc sử dụng IV. Đặc biệt, có

3 điểm khác nhau khi so sánh với IV dùng trong WEP:

 Kích thước của IV tăng từ 24 bit lên 48 bit.

IV có một vai trò như một bộ đếm tuần tự để tránh nguy cơ bị 

sử dụng lại gói tin.

IV được tạo ra để tránh những khóa yếu. 

Như chúng ta đã biết IV trong WEP có độ dài là 24 bit, tức là nó có

16777216 giá trị, vì thế mà nó dễ bị lặp lại trong các hệ thống mạng hoạt

động liên tục. Trong quá trình thiết kế TKIP, các chuyên gia bảo mật khuyến

cáo rằng cần phải tăng độ dài của IV mới đảm bảo an toàn. Việc thêm 32 bit

tạo nên IV có 56 bit, tuy nhiên chỉ có 48 bit được sử dụng bởi vì một byte

được bỏ đi nhằm tránh gặp phải các khóa yếu. Ưu điểm của IV mới là hiển

nhiên, giả sử cần truyền 10000 gói trong một giây, các gói tin có độ dài 64

byte với tốc độ truyền 11Mbps. Với IV 24bit, chưa đến 1 giờ 30 phút sau đã

cạn kiệt không gian số, nhưng với IV 48 bit, để dùng hết phải mất 90000 năm.

Việc chuyển sang IV 48 bit đã loại bỏ được vấn đề về việc lặp IV, nhưng vẫn

cần phải tránh việc hai thiết bị sử dụng cùng một IV với cùng một khóa.

Việc tăng độ dài của IV nghe có vẻ đơn giản, nhưng nó gặp phải một

số vấn đề trong quá trình thực hiện. IV trong WEP ban đầu được kết hợp với

khóa để tạo ra khóa mã cho RC4. Vì vậy, 40 bit (hoặc 104 bit nếu sử dụng chế

độ mã 128 bit) của khóa kết hợp với 24 bit IV để tạo ra khóa RC4 64 bit.

Phần cứng của các hệ thống đã được tạo ra để làm việc với khóa 64 bit này

và không thể nâng cấp lên ngay 88 bit khóa RC4 (40 bit khóa + 48 bit IV).

Trong TKIP, vấn đề này được giải quyết một cách khá thông minh. Thay vì

tạo ra một khóa RC4 mới bằng cách kết hợp khóa 40 bit với IV 48 bit, thì IV

được tách ra làm hai phần: 16 bit đầu được bổ sung thêm để tạo ra 24 bit

nhưng vẫn tránh được trường hợp các khóa yếu, 24 bit này được dùng y hệt

46

như WEP cũ. Tuy nhiên, thay vì kết hợp giá trị này với khóa 40 bit (hoặc 104

bit), một khóa hỗn hợp mới được tạo ra bằng cách ghép khóa dùng để mã với

32 bit còn lại của IV, cách biến đổi một IV dài thành một khóa được gọi là

kết hợp khóa cho mỗi gói, sẽ được nói đến sau và được mô tả như hình dưới

đây. Điều quan trọng cần lưu ý ở đây là cách này đạt được hai mục đích:

Giá trị của khóa dùng trong mã hóa RC4 là khác nhau đối với 

mỗi IV.

Cấu trúc khóa của RC4 là một trường 24 bit IV và một trường 

104 bit khóa.

Hình 2.15: Quá trình tạo khóa để mã

c. Bộ đếm tuần tự

WEP không có cơ chế nào để ngăn chặn việc sử dụng lại gói tin.

Ngăn chặn kiểu dùng lại gói tin là làm sao ngăn không cho sử dụng các gói

tin đã dùng rồi. TKIP có một cơ chế chống lại kiểu tấn công này gọi là bộ

đếm tuần tự TKIP (TSC- TKIP Sequence Counter).Thực tế, TSC và IV có

giá trị như nhau. Nó bắt đầu từ giá trị 0 và tăng lên mộtsau mỗi lần gửi gói

tin được gửi. Bởi vì IV được đảm bảo là không bị lặp lại ứng với một khóa

nên ta có thể ngăn chặn việc gửi lại gói tin bằng cách hủy tất cả những gói

47

tin nào có TSC đã nhận. Quy tắc này khiến cho việc gửi lại gói tin cũ không

thực hiện được.

Cách đơn giản nhất để ngăn chặn kiểu dùng lại gói tin là hủy bất cứ gói

tin nào có TSC không lớn hơn TSC của gói tin vừa nhận được 1 đơn vị.

Tuy nhiên có rất nhiều lý do giải thích tại sao cách đơn giản như vậy lại

không áp dụng được vào thực tế. Trước hết là do khả năng các gói tin bị thất

lạc trong quá trình truyền bởi nhiễu. Ví dụ, nếu thu được một khung có số

TSC là 1234 và khung tiếp theo (1235) bị mất, nhưng vẫn thu được khung

kế tiếp có TSC là 1236, nó lớn hơn 1234 là 2 đơn vị. Bởi vì khung 1235 bị

thất lạc nên tất cả các khung sau đó bị hủy bởi vì TSC có giá trị tăng lên

không phải là 1.

Với quy tắc: hủy bất cứ gói tin nào có TSC nhỏ hơn hoặc bằng TSC

của gói tin trước đó, nhưng khi phải truyền lại thì làm thế nào? Theo chuẩn,

các gói tin phải được bên thu xác nhận bằng gói tin ACK. Nếu không nhận

được sự xác nhận từ phía bên kia, gói tin đó cần được truyền lại với một bit

được thiết lập để chỉ rằng nó là gói tin được gửi lại. Bởi là gói tin gửi lại nên

nó có TSC trùng với gói tin trước. Thực tế thì nó vẫn được chấp nhận bởi

chỉ có một bản copy duy nhất mà bên thu cần. Do có khả năng phải truyền lại

nên các gói tin có TSC giống nhau không phải lúc nào cũng được coi là do kẻ

gian gửi đến.

Có một vấn đề nan giải hơn liên quan đến khái niệm burst-ack. Trong

chuẩn IEEE 802.11, mỗi gói dữ liệu được gửi đi phải có một gói tin xác nhận

riêng. Như vậy dường như không hiệu quả cho lắm vì bên phát phải dừng và

đợi cho đến khi nhận được xác nhận do bên thu gửi thì mới được truyền

tiếp. Ý tưởng của burst-ack là gửi 16 gói tin liên tiếp rồi mới gửi trả lại xác

nhận cho 16 gói tin đó. Nếu có một số gói tin không nhận được, bên thu sẽ

48

báo lại chính xác gói tin nào cần truyền lại. Burst-ack chưa được đưa vào

chuẩn nhưng nó chắc chắn sẽ được đưa vào trong tương lai.

Với burst-ack, thì vấn đề đối với TSC là quá rõ ràng. Giả sử 16 gói tin

đã được gửi đi, mỗi gói lại có TSC lớn hơn gói trước và bên thu không nhận

được gói đầu tiên. Nó yêu cầu gửi lại gói đầu tiên đó, điều gì sẽ xảy ra với số

TSC ban đầu. Nó nhỏ hơn 15 đơn vị so với gói tin nó nhận được cuối cùng

và sẽ bị hủy nếu tuân theo quy tắc TSC phải lớn hơn.

Để khắc phục, TKIP sử dụng một khái niệm gọi là cửa sổ truyền lại.

Bên thu theo dõi TSC cao nhất nhận được và 16 TSC sau cùng. Nếu nhận

được một gói mới, nó phân loại gói đó ra thành một trong 3 dạng:

 Chấp nhận (accept): nếu TSC lớn hơn số lớn nhất mà nó đã biết.

 Hủy (reject): nếu TSC nhỏ hơn số lớn nhất trừ đi 16.

 Cửa sổ (window): nếu TSC nhỏ hơn số lớn nhất và lớn hơn số lớn

nhất trừ đi 16.

Đối với dạng cửa sổ, nó kiểm tra xem liệu có gói tin nào mà có TSC

đã được nhận trước đó, nếu đã có rồi thì nó hủy luôn. Bên thu phải lưu lại 16

giá trị TSC và kiểm tra từng cái khi nó nhận được.

Quy tắc này phức tạp hơn quy tắc ban đầu, nhưng nó ngăn chặn một

cách có hiệu quả các gói tin do kẻ gian truyền lại trong khi vẫn đảm bảo

giao thức hoạt động tốt.

2.3.2.2. Những quá trình diễn ra trong TKIP

Phần này mô tả chi tiết cách hoạt động của thuật toán TKIP. Trước

hết, ta coi các khóa chính đã được đưa đến các thiết bị và các khóa phiên

được tạo ra từ khóa chính đã được tạo ra. Khóa chính được cung cấp thông

qua các lớp trên theo phương pháp EAP, hoặc sử dụng khóa chính được thiết

lập từ trước.

Có 3 loại khóa được tạo ra đối với TKIP :

49

 Khóa được dùng để mã gói tin trao đổi EAPOL-Key.

 Khóa được dùng để mã các gói tin unicast (Pairwise key).

 Nhóm khóa dùng để mã các gói tin broadcast (Group key).

Pairwise key này lại bao gồm các khóa:

 Khóa tạm thời (128bit): được dùng như là một khóa đầu vào cho

giai đoạn tạo khóa hỗn hợp trước khi đi qua RC4.

 Khóa MIC TX chứng thực tạm thời: được dùng để tạo ra MIC

(bằng phương pháp chứng thực Michael) cho các khung do AP gửi đi.

 Khóa MIC RX chứng thực tạm thời: dùng trong thuật toán Michael

để tạo ra MIC trong các khung do STA gửi đi.

Đối với các khóa nhóm (khóa dùng để mã các gói tin multicast hoặc

broadcast), chỉ cần có 2 kiểu đầu tiên bởi vì chỉ có AP gửi broadcast và

multicast, STA không bao giờ gửi những gói tin này.

Nhiệm vụ của TKIP là cung cấp dịch vụ bảo mật để xác nhận tính

hợp lệ của gói tin nhận được và làm giảm lượng thông tin cần thiết để xác

thực. Để làm được điều này, TKIP sử dụng các công cụ sau:

 Tạo ra IV và kiểm tra.

 Tạo ra MIC và kiểm tra.

 Mã hóa và giải mã.

Đứng từ phía phát, vị trí của những thành phần trên liên quan tới

những hoạt động khác trong MAC như mô tả trong hình 2.16. Bốn quá

trình xử lý trong TKIP được mô tả dưới đây:

 Michael

 Tạo khóa phái sinh.

 IV/TSC

 RC4

50

Hình 2.16: Quá trình xử lý ở bên phát

Lưu ý rằng, giá trị kiểm tra tính toàn vẹn MIC được tính đầu tiên và

được gắn vào MSDU trước khi nó được chia nhỏ. Vì thế mà các byte kiểm

tra này sẽ nằm ở MPDU cuối cùng và nằm trong phần dữ liệu được mã hóa.

ICV của WEP vẫn được tính toán và thêm vào cho mỗi MPDU cho dù nó

không nằm trong phần kiểm tra tính toàn vẹn của TKIP.

Bởi MIC được tính toán ở mức MSDU, không bảo vệ được IV,

khiến cho kẻ tấn công ngăn chặn STA bằng cách gửi các gói tin cũ với một

IV mới. Vấn đề này gia tăng bởi IV có giá trị 48 bit, bằng TSC, giá trị dùng

để tránh bị tấn công theo kiểu gửi lại gói tin cũ. Những gói tin giả mạo này

đương nhiên sẽ không được giải mã và bị hủy, chúng không tác động đến

tính toàn vẹn của giao thức. Tuy nhiên, nó khiến cho các gói tin hợp lệ sau

đó giống như một kiểu tấn công gửi lại gói tin. Khi một gói tin hợp lệ tới, nó

51

có thể bị từ chối bởi TSC của nó đã bị STA của tin tặc dùng. Đây là một kiểu

tấn công DOS. Trong môi trường mạng không dây, có rất nhiều cách đơn

giản để thực hiện kiểu tấn công này, không thể nào ngăn chặn được nó và

hiện đang là mối nguy hại khó tránh khỏi.

Phần mã hóa trong hình 2.16 giống quá trình mã hóa RC4 trong WEP.

Hầu hết các nhà sản xuất đã thực hiện quá trình mã hóa này theo cách mà

không thể nâng cấp được bằng firmware. Các thiết bị dùng WEP thường có

RC4 S-box tạo bởi phần cứng, không thể thay đổi đổi được, chính nó là vấn

đề khó giải quyết nhất khi thiết kế TKIP. Quá trình xử lý diễn ra tại phía đầu

thu được mô tả như trong hình 2.17:

Hình 2.17: Quá trình xử lý ở bên thu

Quá trình xử lý diễn ra ở đây không hoàn toàn ngược lại với bên phát.

Có một điều, việc giải mã không phải được thực hiện trước tiên, mà là

kiểm tra TSC nhằm ngăn chặn khả năng bị tấn công kiểu gửi lại gói tin. ICV

52

cũng được dùng để kiểm tra nhằm loại những gói tin không hợp lệ. Nó

không phải là một kỹ thuật kiểm tra tính toàn vẹn, nhưng nó là một cách

để tìm câu trả lời cho câu hỏi liệu việc giải mã có thành công hay không,

vì giải mã một gói tin không đúng khóa hay không đúng IV thường chắc

chắn tạo ra một ICV sai.

MIC được kiểm tra sau khi toàn bộ các fragment đã nhận đủ và được

ghép lại thành một MSDU. Nếu MIC sai, MSDU đó sẽ bị hủy. Cho dù là có

khả năng xảy ra nhưng gần như chắc chắn là khó có khả năng các lỗi ngẫu

nhiên trong quá trình truyền có thể qua được quá trình kiểm tra CRC và giải

mã thành công ra ICV hợp lệ. Nếu nhận sai MIC, ta có thể tin chắc rằng đó

là do sự can thiệp có chủ ý và không phải do nhiễu hay lỗi đường truyền.

2.3.3. Phương pháp bảo mật dựa trên AES-CCMP

2.3.3.1. Giới thiệu về AES-CCMP

AES-CCMP có độ an toàn cao nhất trong chuẩn IEEE 802.11i. Các

hệ thống bảo mật sử dụng thuật toán AES cùng với một mode hoạt động nào

đó, một số mode đơn giản và phổ biến nhất sẽ được nói đến ở đây. Sau đó

chúng ta sẽ tìm hiểu CCMP, giao thức được sử dụng trong IEEE 802.11 và

tìm hiểu cách thức hoạt động của giao thức này. Phần này cũng cho thấy làm

thế nào mà CCMP lại phù hợp với IEEE 802.11 framework và cung cấp chế

độ bảo mật hợp lý mà thỏa mãn hầu hết nhu cầu của người sử dụng.Phần

trước đã tìm hiểu về TKIP, một trong những phương pháp dùng để mã hóa và

chứng thực gói tin nằm trong RSN. TKIP là phần không thể thiếu được trong

WPA, nó được sử dụng khá rộng rãi để đảm bảo an toàn trong quá trình sử

dụng mạng không dây dựa trên những thiết bị chạy trên nền tảng của WEP.

Tuy nhiên, nó lại không phải là mode mặc định đối với IEEE 802.11i mà là

mode dựa trên chuẩn mã hóa AES. Việc mã hóa dựa trên AES mạnh hơn so

với TKIP. Vấn đề tại sao nó lại được chọn lựa và vì lí do gì? Khi nói đến

53

RSN dựa trên AES thì AES không phải là một giao thức bảo mật,nó chỉ là

thuật toán mã khối. Trong RSN, giao thức bảo mật có sử dụng thuật toán

AES được gọi là giao thức Counter Mode-CBC MAC hay CCMP. CCMP

bao gồm một loạt các quy tắc trong đó có sử dụng thuật toán mã hóa khối

AES để bảo vệ các khung dữ liệu IEEE 802.11. AES chỉ là thuật toán dùng

trong CCMP giống như RC4 là thuật toán dùng trong TKIP.Một lý do mà

CCMP được cho là mạnh hơn TKIP bởi nó được xây dựng từ đầu, tức là

nó được tạo ra hoàn toàn mới với những kỹ thuật tốt nhất. Khác hoàn toàn

với TKIP, bởi TKIP là một giải pháp tình thế được tạo ra nhằm khắc phục

những điểm yếu của WEP.

2.3.3.2. Thuật toán AES và các mode mã hóa

AES là thuật toán mã hóa khối, nó sử dụng các phép toán thông

thường, các phép toán logic và khóa để biến một khối dữ liệu rõ 128 bit thành

một khối dữ liệu mã. AES dựa trên thuật toán Rijdael do Joan Daeman và

Vincent Rijmen tìm ra. Thuật toán này được chứng minh bằng tài liệu rất

rõ ràng, bao gồm cả phần thuật toán và cách sử dụng rất chi tiết và đầy đủ

(Daeman and Rijmen, 2000, 2001).Thuật toán Rijdael cho phép chọn các

kích thước của khối và khóa khác nhau,có thể chọn 128, 192 hay 256 bit.

Khi NIST quyết định chọn Rijdael cho AES thì ban đầu chỉ với độ lớn của

khối là 128 bit nhưng vẫn cho phép chọn lựa 3 độ dài khóa khác nhau. IEEE

802.11i tiếp tục hạn chế thêm tức là chỉ chọn kích thước khóa và khối có độ

dài 128 bit, điều này làm đơn giản hóa việc triển khai và tránh gây rắc rối

cho người sử dụng phải chọn lựa khi cài đặt. Có thể dùng AES để mã hóa và

giải mã một khối dữ liệu riêng biệt có độ dài cố định tuy nhiên dữ liệu thực tế

lại không phải như vậy. Ví dụ, dữ liệu của WLAN được truyền đi với các

khung có độ dài khác nhau, từ 512 đến 12000 bit. Vì thế, để sử dụng thuật

toán mã hóa khối như AES chẳng hạn, chúng ta cần phải tìm cách tách ghép

54

dữ liệu sao cho nó có thể tạo thành được các khối có độ dài cố định trước

khi mã, cũng như làm sao tái tạo lại khung dữ liệu như ban đầu sau khi giải

mã. Phương pháp dùng để biến đổi dữ liệu thành các khối và ngược lại gọi là

mode mã hóa. Việc chọn lựa một mode nào đó là rất quan trọng bởi nó liên

quan đến cả độ phức tạp trong quá trình triển khai cũng như đối với vấn đề

bảo mật. Các mode không hợp lý có thể tạo ra những lỗ hổng ngay cả khi

được mã bởi AES.

Để hiểu được các mode hoạt động, chúng ta sẽ tìm hiểu một trong

những mode đơn giản và dễ hiểu nhất: ECB (Electronic Code Book). Mode

này khi được sử dụng cùng với thuật toán AES có tên gọi là AES/ECB.

a. Electronic Code Book (ECB)

Mode này đơn giản chỉ việc chia dữ liệu ban đầu ra thành các khối, sau

đó thực hiện việc mã hóa đối với từng khối riêng biệt nhưng với cùng một

khóa cho đến khi khối cuối cùng được mã hóa hết. Hình dưới đây mô tả

quá trình thực hiện theo cả phương pháp nối tiếp và song song.

Hình 2.18: Quá trình hoạt động của ECB Mode

55

Cách này thực hiện rất đơn giản nhưng lại gặp phải một số vấn đề.

Trước hết đó là do dữ liệu đầu vào không phải lúc nào cũng vừa đủ chia thành

cách khối, vì thế phải thêm các bit và phải nhớ độ dài thực sự của dữ liệu ban

đầu. Tiếp đến là vấn đề về bảo mật: nếu hai khối có nội dung như nhau thì

sau khi mã sẽ có bản mã tương tự nhau do cùng khóa.

Ví dụ xét một chuỗi có 64 ký tự giống nhau “AAAAAA…”, nếu kích

thước của khối AES là 128 bit (hay 16 byte) thì khi dùng ECB chuỗi đó sẽ

được chia ra thành 4 khối, mỗi khối gồm 16 chữ A. Sau khi mã hóa, 4 khối

này sẽ cho ra 4 khối bản mã giống hệt nhau, từ bản mã đó dưới con mắt của

người ngoài sẽ dễ dàng nhận ra là 4 khối đó có dữ liệu ban đầu giống nhau.

Do đặc điểm này và một số đặc điểm khác nữa của ECB nên trong thực tế nó

không được sử dụng. Ngay cả NIST cũng khuyến cáo không nên dùng mode

này, ngay cả khi nó được bảo vệ bằng thuật toán mạnh nhất.

b. Counter Mode

Counter mode phức tạp hơn ECB và nó hoạt động theo cách hoàn toàn

khác, nó không trực tiếp sử dụng khối mã AES, thay vào đó, nó mã giá trị

của số đếm tương ứng rồi sau đó XOR kết quả mã với khối dữ liệu để

được khối mã. Các số đếm này được tăng lên một đơn vị ứng với mỗi khối

được mã. Quá trình này được mô tả trên hình sau:

Hình 2.19: Ví dụ về Counter Mode

Trên hình vẽ ta thấy, dữ liệu được chia thành các khối, mỗi khối được

XOR với kết quả mã của số đếm. Ở đây, giá trị của bộ đếm tăng từ 1 đến 11

56

ứng với 11 khối dữ liệu. Thực tế, bộ đếm có thể bắt đầu từ một số bất kỳ và

tăng theo một quy luật khác. Điều quan trọng là bên thu nếu muốn mã hóa

được dữ liệu thì phải biết giá trị ban đầu của bộ đếm cũng như quy luật tăng

của nó.

Do bộ đếm thay đổi giá trị khác nhau ứng với mỗi khối nên vấn đề về

các khối mã giống nhau mà ECB gặp phải đã được giải quyết. Ngay cả với

hai khối dữ liệu đầu vào giống hệt nhau thì kết quả sau của bản mã thu

được vẫn khác nhau nhờ vào bộ đếm. Tuy nhiên, có trường hợp phương

pháp này vẫn mã hóa hai khối giống hệt nhau, tách biệt hẳn nhau nhưng vẫn

cho giá trị mã giống nhau, điều này giải thích tại sao bộ đếm không bắt đầu

từ một mà nó thường bắt đầu từ một giá trị bất kỳ rồi thay đổi ứng với mỗi

khối.Counter mode có một số đặc điểm khá thú vị. Việc giải mã được thực

hiện y hệt như quá trình mã bởi vì XOR cùng một giá trị 2 lần sẽ trả lại kết

quả như ban đầu. Điều đó có nghĩa là khi thực hiện chỉ cần mỗi khối mã

hóa AES mà không cần đến khối giải mã. Một đặc điểm khác là quá trình mã

hóa có thể được thực hiện song song, do tất cả các giá trị của bộ đếm được

biết trước nên giá trị mã hóa AES của các bộ đếm có thể được tính toán

trước, nhờ đó có thể mã hóa toàn bộ dữ liệu cùng một lúc. Không phải

mode nào cũng thực hiện được giống như vậy. Và một đặc điểm nữa là dữ

liệu không phải chia chính xác đúng độ dài của một khối. Đơn giản chỉ cần

lấy một khối (ví dụ chỉ là 100 bit chứ không phải là 128 bit) và XOR nó với

giá trị mã của số đếm rồi lấy đúng số bit mà ta cần (lấy 100 bit chứ không

phải là 128 bit, bỏ 28 bit). Do vậy mà độ dài của bản mã bằng đúng độ dài

của bản rõ. Do việc mã hóa mỗi khối phụ thuộc vào giá trị của khối trước đó

nên counter mode cần cho mã hóa chuỗi.Counter mode đã được sử dụng trên

20 năm và khá phổ biến cũng như được cộng đồng những nhà mật mã tin

cậy. Tính đơn giản và chín muồi của nó là một lựa chọn hấp dẫn đối với

57

RSN. Tuy nhiên, mode này không cung cấp khả năng chứng thực, vì thế

mà RSN đã phải đưa thêm tính năng mới này vào.

c. Counter Mode + CBC MAC (CCM)

CCM mode được tạo ra dành riêng cho IEEE 802.11i RSN, nhưng nó

cũng có thể được áp dụng cho các hệ thống khác và là mode chính sử dụng

với AES. Nó cũng được đệ trình lên IETF để dùng cho bảo mật IP. CCM

được 3 nhà mật mã học trong nhóm IEEE 802.11i tìm ra, đó là: Doug

Whiting, Russ Housley và Niels Ferguson. Nó được tạo ra dựa trên counter

mode.CCM sử dụng counter mode cùng với một phương pháp chứng thực dữ

liệu gọi là CBC (Cipher Block Chaining). CBC được dùng để tạo ra MIC.

MIC được gọi là mã chứng thực gói tin, vì thế mà có tên là CBC-MAC.CBC-

MAC là một kỹ thuật khác cũng được dùng trong rất nhiều năm và được

chuẩn hóa trên toàn thế giới. Nó được thực hiện như sau:

1. Lấy một khối dữ liệu đầu tiên và mã hóa nó bằng AES (hay bằng

phương pháp mã khối nào đó).

2. XOR kết quả với khối thứ 2 và lại mã tiếp.

3. Lại tiếp tục XOR kết quả trước với khối tiếp theo và mã kết quả

vừa XOR, cứ lặp lại quá trình như vậy cho đến khi toàn bộ dữ liệu được mã

hết. Kết quả cuối cùng là một khối (trong trường hợp này là 128 bit) là sự

kết hợp của tất cả dữ liệu. Nếu chỉ cần một hay một số bit bị thay đổi, kết quả

thu được sẽ hoàn toàn khác (xác suất trùng nhau chỉ là 2-128). CBC-MAC

rất đơn giản nhưng lại không thực hiện được theo kiểu song song, việc mã

hóa phải thực hiện tuần tự. Thêm vào đó, nó chỉ có thể sử dụng đối với dữ

liệu có số khối chính xác. CCMP cung cấp một giải pháp là thêm bit (pading)

nhưng nó lại khiến cho một số nhà mật mã học lo lắng.CCM mode dùng cả

hai kỹ thuật nổi tiếng, đó là counter mode và CBC-MAC. Nó thêm vào

58

những đặc điểm rất hữu ích cho các ứng dụng như là đối với RSN. Các đặc

điểm đó là:

 Tạo ra số nonce nên các dữ liệu là hoàn toàn khác nhau.

 Việc mã hóa và chứng thực chỉ sử dụng một khóa.

 Mở rộng việc chứng thực đối với dữ liệu không được mã hóa.

Đặc điểm cuối cùng cần phải tìm hiểu kỹ và khá quan trọng đối với

RSN. Trong hầu hết các phương pháp đang được sử dụng để thực hiện mã

hóa và chứng thực, thường giả định rằng toàn bộ dữ liệu sẽ được mã hóa.

Tuy nhiên, trong IEEE 802.11 chỉ có một phần dữ liệu là được mã. Phần

header của khung IEEE 802.11 có chứa địa chỉ MAC để chuyển gói tin đến

đích cũng như các thông tin về hoạt động của WLAN cần phải được ở dạng

rõ, tức là không mã hóa. Vì thế mà chỉ có phần dữ liệu là được mã mà thôi.

Tuy nhiên, dù phần header không được mã thì bên thu vẫn muốn đảm bảo nó

không bị thay đổi. Ví dụ, ta không muốn một kẻ nào đó thay đổi địa chỉ

nguồn, vì nếu xảy ra như vậy, ta sẽ gửi trả lại dữ liệu cho kẻ gian thay vì gửi

cho chính người ta muốn gửi. Để làm được điều này, người ta sử dụng CCM,

nó cho phép việc mã hóa được thực hiện ở một phần của gói tin được chứng

thực bởi CBC-MAC.

Nhìn chung việc sử dụng cùng một khóa để thực hiện hai chức năng

mã hóa là không hay cho lắm. Ở đây chính là việc dùng một khóa để mã hóa

và chứng thực. Tuy dùng chung một khóa nhưng trong mỗi trường hợp lại

dùng cùng với IV. Cấu trúc của IV là khác nhau đối với các phần counter

mode và CBC-MAC, vì thế dẫn đến hai khóa tách riêng biệt.

2.3.3.3. Sử dụng CCMP trong quá trình mã hóa và giải mã

Phần này mô tả cách mà các gói WLAN được mã hóa và giải mã sử

dụng CCMP. Điều quan trọng đầu tiên là CCMP mã hóa dữ liệu ở cấp

MPDU chứ không phải là ở MSDU. Mỗi một MPDU ứng với một khung

59

truyền và nó là một phần của MSDU do MSDU được chia ra thành các

MPDU.

a. Các bước mã hóa tổng quát

Dữ liệu đầu MSDU được chia ra thành các fragment. Mỗi fragment tạo

nên một MPDU và có phần header IEEE 802.11 bao gồm địa chỉ nguồn, địa

chỉ đích và các thông số khác. Mỗi MPDU được xử lý bằng thuật toán

CCMP để tạo ra một MPDU mã. Chỉ có phần dữ liệu là được mã, còn phần

header thì không. Tuy nhiên, CCMP thực hiện nhiều việc khác chứ không

chỉ mã hóa các phần của MPDU. Nó còn thêm vào các trường, khiến cho độ

dài của MPDU sau khi mã lớn hơn MPDU trước 16 byte.

Hình 2.20 mô tả quá trình của dữ liệu từ MSDU đến MPDU và truyền

dữ liệu đi.

Hình 2.20: Quá trình xử lý gói tin trong CCMP

60

Trình tự xử lý với một MPDU được thể hiện như trong hình 2.21 và

được mô tả như sau:

1. Ban đầu là với MPDU chưa được mã, có đầy đủ phần IEEE

802.11 MAC header. Phần header này bao gồm cả địa chỉ nguồn, địa chỉ

đích, một số trường được gán giá trị sau nên tại thời điểm này nó có giá trị

0.Thông tin chứa trong header được trích ra và được sử dụng trong quá trình

tạo ra số MIC 8 byte. Trong giai đoạn này phần CCMP header 8byte được

tạo ra để sau đó ghép vào MPDU.

3. MIC đã được tính toán nhằm bảo vệ CCMP header, dữ liệu và

các phần khác của IEEE 802.11 header. Những giá trị của trạng thái hiện tại

được đưa vào trong số nonce. MIC sau đó được ghép với dữ liệu.

4. Cả phần dữ liệu và MIC đều được mã hóa. Sau khi mã hóa, phần

CCMP

header được gắn vào.

5. Cuối cùng, phần MAC header được phục hồi và gắn vào phần

đầu của MPDU vừa mã ở trên, đến thời điểm này, nó đã sẵn sàng trong hàng

đợi để truyền đi. Trong quá trình truyền, chỉ có phần MAC header được quan

tâm và cập nhật, không có thay đổi gì đối với CCMP header.

61

Hình 2.21: Trình tự xử lý một MPDU

Các MPDU được mã được đưa đến hàng đợi trước khi truyền. Có thể

có một vài hàng đợi khác nhau và thứ tự của các hàng đợi dựa trên một số

chính sách ưu tiên. Điều này cho phép mở rộng về sau đối với các lớp dữ

liệu khác nhau trong IEEE 802.11e. Ngay trước khi truyền, một số trường

của IEEE 802.11 header được thay đổi để phù hợp với quy tắc truyền. Các

trường bị thay đổi được gọi là các trường có thể biến đổi và chúng không

được dùng để tính lại số MIC nữa.

Ở đây ta tìm hiểu một chút về CCMP header. Nó được tạo ra và được

gắn vào dữ liệu sau khi mã và được truyền đi dưới dạng không mã hóa.

CCMP header được sử dụng với hai mục đích, trước hết, nó cung cấp một số

thứ tự gói (PN-Packet Number) 48 bit để ngăn chặn việc sử dụng lại gói tin

và cho phép bên thu tạo ra được số nonce dùng trong việc mã hóa. Thứ hai,

trong trường hợp multicast, nó sẽ thông báo cho bên thu biết sử dụng khóa

nhóm nào. Định dạng của CCMP header giống như định dạng của TKIP

header, điều này nhằm mục đích đơn giản hóa cho AP vì nó nhận cả TKIP

và CCMP từ các STA. Định dạng này được mô tả trong hình 2.22.

Hình 2.22: Phần đầu CCMP

62

Trong số 8 byte thì 6 byte là dành cho số PN (48 bit), 1 byte dự phòng,

byte còn lại có các bit của KeyID. Lưu ý rằng bit bên cạnh KeyID được

thiết lập giá trị 1 ứng với bit IV mở rộng trong TKIP. Nó cũng chỉ ra rằng đó

là khung định dạng của RSN chứ không phải của WEP.

b. Quá trình thực hiện

Quá trình làm việc của khối CCMP có thể được xem như là một quá

trình xử lý với các đầu vào và đầu ra như hình 2.23 đã thể hiện:

Hình 2.23: Mã hóa và giải mã

Quá trình giải mã có các đầu vào giống như quá trình mã, chỉ khác mỗi

MPDU mã chứ không phải là MPDU rõ. Ta có thể tách được các thông tin

đầu vào giống như bên phát vì phần header chứa đầy đủ các thông tin cần

thiết, bao gồm cả CCMP header.

Việc thực hiện CCMP phải luôn đúng thứ tự của gói bởi nó luôn có giá

trị khác nhau đối với mỗi gói. Điều này nhằm ngăn không cho kẻ gian sử

dụng lại gói tin đã được gửi trước đó. Số PN này có độ dài là 48 bit, đủ lớn

để đảm bảo rằng nó không bị cạn kiệt trong khoảng thời gian dài, không

bao giờ có hai gói tin có cùng số này. Đương nhiên nếu ta tắt nguồn và

khởi động lại thiết bị, PN cũng sẽ được gán giá trị lại từ đầu, nhưng với giá trị

khóa hoàn toàn khác nên cũng không đáng ngại.

Những gì diễn ra trong khối mã CCMP được mô tả trong hình 2.24.

63

Hình 2.24: Bên trong khối mã hóa CCMP

Có hai giai đoạn tính toán: đầu tiên là tính ra số MIC để gắn vào

MPDU, sau đó cả MPDU bao gồm cả MIC được mã hóa.

Một MPDU đã được mã lại có thêm hai trường nữa, đó là CCMP

header và MIC. Trường MIC (64 bit) và chỉ bằng một nửa kích thước của

khối AES nhưng cũng đủ lớn để giảm khả năng giả số MIC xuống còn 10 19.

Thứ tự của các trường trong MPDU mã được mô tả trong hình 2.25.

Hình 2.25: MPDU sau quá trình mã (CH=CCMP Header)

Các bước mã hóa một MPDU:

64

Trước khi bắt đầu việc mã hóa, cần phải chuẩn bị tất cả những gì cần

thiết của MPDU để nó thực hiện đúng thứ tự. Bắt đầu với 3 phần: MAC

header, CCMP header và dữ liệu rõ. Các trường có thể thay đổi của MAC

header được thiết lập toàn 0. CCMP header được gán các giá trị PN và các

bit KeyID. Lưu ý một điều là PN tăng đối với mỗi MPDU. Phần dữ liệu là

phần chứa dữ liệu chưa mã.

Phần MAC header và CCMP header sẽ không được mã nhưng lại cần

trong quá trình tạo ra số MIC. Hai header này được nhóm lại tạo ra dữ liệu

chứng thực. Việc đầu tiên sau khi ghép nối các phần lại với nhau là tính toán

MIC.

Việc tính ra số MIC được thực hiện bằng cách sử dụng CBC-MAC, nó

mã khối đầu tiên, XOR kết quả đó với khối tiếp theo và lại mã, quá trình

được lặp lại cho đến hết. Kết quả cuối cùng là số MIC 128 bit, nhưng chỉ cần

có 64 bit đối với CCMP nên 64 bit thấp bị loại bỏ.

Đối với CCMP khối đầu tiên trong quá trình tính CBC-MAC không

phải lấy từ MPDU mà là chính số nonce. Định dạng của khối đầu tiên này

(hình 2.26) bao gồm số nonce và hai trường: Flag và Dlen.

Hình 2.26: Định dạng của khối đầu tiên để đưa vào CBC-MAC

Số nonce luôn ứng với các trạng thái hiện thời và đảm bảo rằng dữ liệu

mã hóa không bao giờ giống nhau sau khi mã. Ta có thể cho rằng chỉ cần sử

dụng số PN là đủ vì mỗi gói có một giá trị PN khác nhau, tuy nhiên, cần nhớ

rằng khóa được dùng cho ít nhất là bên thu và bên phát (có thể nhiều hơn đối

với khóa nhóm), các bên này vào một thời điểm nào đó, sử dụng số PN đã

65

được dùng ở nơi khác, như vậy là vi phạm quy tắc mỗi khóa chỉ dùng một

lần. Để tránh vấn đề này, số nonce được tạo ra bởi sự kết hợp giữa PN với địa

chỉ MAC của bên gửi. Không chỉ có vậy, trường thứ 3 trong nonce là trường

Priority (trường ưu tiên). Trường này được dự trữ dùng sau này khi có nhiều

luồng dữ liệu khác nhau cần độ ưu tiên khác nhau (ví dụ: audio, video

…). Trong trường hợp đó, nên tách PN ứng với mỗi loại dữ liệu khác nhau

sẽ hiệu quả hơn. Cả 3 trường kết hợp lại tạo ra số nonce 104 bit (hình 2.27).

Hình 2.27: Thành phần của khối đầu tiên để đưa vào CBC-MAC

Hai trường còn lại là Flag và Dlen cùng với số nonce tạo nên khối

đầu tiên để tính CBC-MAC. Trường flag có giá trị cố định là 01011001 và

chỉ ra rằng số MIC là 64 bit. Trong các ứng dụng CCM khác không phải là

RSN thì flag này có giá trị khác và không được đề cập đến ở đây. Trường

cuối cùng, Dlen chỉ độ dài của dữ liệu chưa mã. Khi khối đầu tiên đã sẵn

sàng, số MIC được tính dựa trên dữ liệu chứng thực và dữ liệu cần mã. Một

đặc điểm của CBC-MAC là nó chỉ làm việc với đúng kích thước khối quy

định. Nếu dữ liệu chia không đủ một khối thì phải thêm các bit cho đủ. Đối

với IEEE 802.11, chắc chắn rằng cả dữ liệu chứng thực và dữ liệu chưa mã

sẽ không vừa đủ các khối và như vậy các bit 0 được thêm vào. Vì thế nhiều

lúc số MIC được tính bao gồm cả khối đầu tiên, dữ liệu chứng thực, dữ liệu

ban đầu và cả các byte toàn 0. Các byte thêm vào này chỉ dùng để tính ra

số MIC chứ không được thêm vào MPDU.

66

Ngay khi MIC được tính và gắn vào dữ liệu rõ thì quá trình mã có thể

bắt đầu được thực hiện. Việc mã hóa sử dụng counter mode và bắt đầu ngay

với dữ liệu theo sau CCMP header. Nhớ rằng do phải chèn thêm bit trong quá

trình tính MIC, các khối được mã sẽ tương ứng với các khối trong quá trình

tính MIC. Phần dữ liệu được mã sẽ thay thế toàn bộ dữ liệu ban đầu và số

MIC, tạo ra một MPDU hoàn chỉnh sẵn sàng đợi để truyền đi. Không phải

thêm bit trong quá trình mã vì counter mode cho phép loại bỏ các bit thừa

trong khối cuối cùng.

Một bước quan trọng trong counter mode là thiết lập giá trị đếm

theo cách không bao giờ tạo ra hai số giống nhau. Vì thế mà bộ đếm được

tạo nên từ một số nonce theo một cách gần giống với việc tạo ra số MIC,

bao gồm số thứ tự, địa chỉ MAC nguồn và các trường ưu tiên. Sau đó nó kết

hợp với hai trường Flag và Counter (“Ctr”) (hình 2.28).

Hình 2.28: Kết hợp số đếm Ctr trong CCMP AES Counter Mode

Ctr bắt đầu từ 1 và tăng dần lên, do số nonce là giá trị duy nhất và

trường ctr có độ lớn 16 bit nên ta đảm bảo chắc chắn rằng các giá trị bộ đếm

là duy nhất đối với tất cả các gói tin dưới 65536 khối. Điều này dễ dàng xác

định được số MPDU lớn nhất trong IEEE 802.11.

Như vậy quá trình mã hóa đã gần hoàn tất. Ta cần phải đặt lại tất cả

các trường trong MAC header vào vị trí của nó. Cho dù các trường này

không dùng cho MIC nhưng chúng vẫn quan trọng.

67

Khi bộ đếm được thiết lập, quá trình mã hóa được thực hiện như đã nói

trong phần counter mode ở phần trước. Mỗi giá trị của counter được mã hóa

bằng khóa rồi sau đó được XOR với dữ liệu để tạo ra dữ liệu được mã.

Giải mã các MPDU:

Khi các MPDU mã được đưa tới bên thu, công việc đầu tiên là chọn

đúng khóa để giải mã. Khóa dùng để giải mã được chọn dựa vào địa chỉ

MAC nguồn trong MAC header. Bên thu phải thực hiện một loạt các bước để

có được dữ liệu ban đầu và kiểm tra sự hợp lệ của dữ liệu đó.

Số PN được gắn vào phần CCMP header nên không được mã hóa.

Khi nhận được một gói tin, việc đầu tiên bên thu kiểm tra chính là số PN

và so sánh nó với khung nhận được trước đó, nếu nó nhỏ hơn hoặc bằng thì

khung đó sẽ bị hủy và bên thu sẽ tạm dừng xử lý với MPDU. Giả sử rằng

số PN là hợp lệ, bước tiếp theo sẽ là quá trình giải mã AES/counter mode.

Yêu cầu đặt ra là giá trị của bộ đếm phải trùng khớp với giá trị của nó sau khi

giải mã. Tất cả thông tin cần thiết giờ đã nhận được đầy đủ. Số thứ tự được

kết hợp với địa chỉ MAC nguồn và giá trị ưu tiên tạo nên số nonce. Sau đó giá

trị của flag và ctr được thêm vào để tạo số ban đầu cho bộ đếm. Lưu ý rằng

chẳng có tý bảo mật nào ở đây cả, bất kỳ ai cũng có thể tính ra được giá trị

này. Tuy nhiên, nó chẳng có nghĩa lý gì nếu không biết khóa. Quá trình giải

mã cũng được dùng giống như quá trình mã. Các giá trị đúng của bộ đếm

được giải mã và XOR với MPDU nhận được, kết quả thu được là MPDU rõ

cùng với số MIC.

Bước tiếp theo là kiểm tra lại xem liệu số MIC có đúng hay không.

MIC được tính lại với cùng dữ liệu vừa giải mã (bao gồm cả phần padding)

giống như ở bên gửi. Các trường có thể thay đổi được trong phần header

không được tính đến và việc tính toán được thực hiện đối với toàn bộ

MPDU, đương nhiên là không tính phần MIC. Nếu dữ liệu không có sự

68

khác biệt so với lúc gửi đi, cộng với khóa chính xác, ta sẽ thu lại được kết

quả như mong muốn. Giá trị MIC sẽ được so sánh, nếu trùng khớp, kết quả

thu được là hợp lệ. Nếu không, gói tin có thể bị cho là của kẻ tấn công và

sẽ bị hủy.

Khi MPDU đã được giải mã, số MIC và CCMP header được loại bỏ,

phần dữ liệu còn lại cùng với các phần dữ liệu giải mã ở các MPDU khác sau

đó sẽ được kết hợp lại, tái tạo lại thành MSDU. Như vậy quá trình thực hiện

với CCMP cho thấy độ an toàn rất cao, chống lại các kiểu tấn công như giả

mạo, nghe lén hay dùng lại gói tin.

2.3.4. Nghiên cứu thuật toán mã hóa đối xứng RSA

Ở phần trên chúng ta đã nghiên cứu về các phương pháp mã hóa đối

xứng. Ứng dụng trong luận văn này, khi phối hợp sử dụng token key, em áp

dụng thuật toán mã hóa RSA, mã hóa từng gói tin với khóa công khai và khóa

bí mật nằm trong token của mỗi Client.

2.3.4.1. Mô tả sơ lược

Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và

khóa bí mật (hay khóa cá nhân). Mỗi khóa là những số cố định sử dụng trong

quá trình mã hóa và giải mã. Khóa công khai được công bố rộng rãi cho mọi

người và được dùng để mã hóa. Những thông tin được mã hóa bằng khóa

công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng. Nói cách

khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí

mật) mới có thể giải mã được.

Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau:

Bob muốn gửi cho Alice một thông tin mật mà Bob muốn duy nhất Alice có

thể đọc được. Để làm được điều này, Alice gửi cho Bob một chiếc hộp có

khóa đã mở sẵn và giữ lại chìa khóa. Bob nhận chiếc hộp, cho vào đó một tờ

giấy viết thư bình thường và khóa lại (như loại khoá thông thường chỉ cần sập

69

chốt lại, sau khi sập chốt khóa ngay cả Bob cũng không thể mở lại được

không đọc lại hay sửa thông tin trong thư được nữa). Sau đó Bob gửi chiếc

hộp lại cho Alice. Alice mở hộp với chìa khóa của mình và đọc thông tin

trong thư. Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công

khai, chiếc chìa khóa chính là khóa bí mật.

2.3.4.2. Nguyên tắc thuật toán

Tạo khóa

Hình 2.29. RSA – Tạo khóa

Mã hóa

Hình 2.30. RSA – Mã hóa

70

Giải mã

Hình 2.31. RSA – Giải mã

Ví dụ

Sau đây là một ví dụ với những số cụ thể. Ở đây chúng ta sử dụng

những số nhỏ để tiện tính toán còn trong thực tế phải dùng các số có giá trị đủ

lớn.

Lấy:

p = 61 — số nguyên tố thứ nhất (giữ bí mật hoặc hủy sau khi tạo khóa)

q = 53 — số nguyên tố thứ hai (giữ bí mật hoặc hủy sau khi tạo khóa)

n = p*q = 3233— môđun (công bố công khai)

e = 17 — số mũ công khai

d = 2753— số mũ bí mật

Khóa công khai là cặp (e, n). Khóa bí mật là d. Hàm mã hóa là:

encrypt(m) = m^e mod n = m^17 mod 3233

với m là văn bản rõ. Hàm giải mã là:

decrypt(c) = c^d mod n = c^2753 mod 3233

với c là văn bản mã.

Để mã hóa văn bản có giá trị 123, ta thực hiện phép tính:

encrypt(123) = 12317 mod 3233 = 855

71

Để giải mã văn bản có giá trị 855, ta thực hiện phép tính:

decrypt(855) = 8552753 mod 3233 = 123

Cả hai phép tính trên đều có thể được thực hiện hiệu quả nhờ thuật toán

bình phương và nhân.

2.4. Kết chương

Chương này đã trình bày thực trạng mất an ninh an toàn của mạng

không dây, các kỹ thuật mật mã ứng dụng để bảo mật mạng không dây và một

số giải pháp cho việc đảm bảo an ninh an toàn cho mạng không dây mà cụ thể

là mạng WLAN. Giải thích hoạt động của WEP và lý do tại sao không nên sử

dụng nó. Khi chuẩn IEEE 802.11 được công bố ra công chúng thì đi kèm với

nó là WEP, một biện pháp bảo mật mạng không dây đầu tiên. Phần này cũng

cho ta thấy những điểm yếu của WEP, những lỗ hổng mà khi thiết kế đã

không được những nhà chuyên gia bảo mật quan tâm đến. Tuy nhiên, cũng

qua đó, ta càng hiểu thêm được tại sao những phương pháp bảo mật sau này

lại đảm bảo an toàn hơn.

Các nhà thiết kế đã tìm cách khắc phục những hạn chế của WEP và tạo

ra một giao thức bảo mật mới phù hợp với nó. TKIP là một biện pháp quan

trọng cung cấp chế độ bảo mật thực sự mà WEP không thể có được. Mọi

điểm yếu cơ bản của WEP đã được khắc phục, bao gồm cả tấn công vào khóa

yếu, nghe lén, gửi lại gói tin cũng như các điểm yếu khác. Thêm vào đó,

TKIP được thiết kế bởi những chuyên gia cao cấp trong lĩnh vực bảo mật và

đảm bảo được tính toàn vẹn dữ liệu cho người sử dụng.

Một lượng lớn các hệ thống WLAN trên thế giới đã được triển khai với

thức bảo mật dựa trên thuật toán RC4. Các hệ thống này sử dụng WEP hoặc

TKIP. Tuy nhiên, khi ủy bản về IEEE 802.11 tìm kiếm một giải pháp bảo mật

mới và muốn xây dựng nó từ đầu thì họ đã lựa chọn AES. AES là một thuật

72

toán mã hóa được dùng theo nhiều cách khác nhau để tạo ra các giao thức bảo

mật.

Phần tiếp theo sẽ nghiên cứu, xây dựng một mô hình, đề xuất giải pháp,

phát triển thử nghiệm một ứng dụng nhằm đảm bảo an ninh an toàn cho mạng

WLAN.

73

Chương 3

XÂY DỰNG PHẦN MỀM BẢO MẬT MẠNG KHÔNG DÂY WLAN SỬ DỤNG USB ETOKEN

3.1. Phân tích yêu cầu, đề xuất giải pháp

3.1.1. Bài toán đặt ra

Với người dùng hiện nay, mạng Wifi đang trở nên rất phổ biến và dần

dần thay thế mạng không dây. Ở những nơi mạng LAN khó triển khai như

bệnh viện, trường học, quán cafe, các công ty… thì mạng WLAN như một

cứu cánh tuyệt vời, giảm thiểu tối đa các thiết bị cứng như đường dây,

switch… Song hành với lợi ích mang lại là những hiểm họa như lộ thông tin,

xâm nhập trái phép… Do mạng không dây là vô tuyến, ai bắt được mạng thì

cũng “có thể” xâm nhập vào mạng. Với những công ty thì điều này là rất

nguy hiểm, hoàn toàn có thể bị đánh cắp, gây rò rỉ thông tin. Các phương thức

bảo mật được áp dụng hiện nay thường thấy là đặt pass wifi bằng WPA hoặc

WPA2, nhưng trên mạng internet ta dễ dàng tìm thấy những video, các tut

chia sẻ cách “hack WPA2” sử dụng linux. Bài toán đặt ra ở đây là làm cách

nào, thông tin chia sẻ trong mạng WLAN được bảo vệ, mã hóa, quản lý được

số người truy cập mạng LAN một cách cẩn thận tới từng đơn vị sử dụng mà

vẫn có sự linh động khi di chuyển.

Để giải quyết yêu cầu trên, em đã xây dựng phần mềm bảo mật mạng

không dây WLAN sử dụng USB eToken để quản lý đăng nhập và mã hóa gói

tin khi di chuyển trong WLAN. Mục đích đặt ra: muốn sử dụng phần mềm

phải có eToken, mỗi gói tin khi các client giao tiếp với nhau đều được mã hóa

đảm bảo dù có bị nghe trộm hay bắt gói tin, nếu không có eToken thì không

thể giải mã được những gói tin đã nhận. Nâng cao bảo mật an toàn, phù hợp

với các công ty có nhu cầu bảo mật, hạn chế số người sử dụng phần mềm

bằng cách phát cho nhân viên USB eToken.

74

3.1.2. Sơ đồ ứng dụng

3.1.2.1. Đăng kí

Hình 3.1 Sơ đồ đăng kí token đăng kí tài khoản

Người dùng muốn đăng kí phải cầm token lên Server để đăng kí,

Database do Server quản lý sẽ lưu trữ tên đăng nhập, mật khẩu và khóa công

khai của từng token. Sau khi đăng kí thành công, người dùng mới có thể

mang token về client của mình và sử dụng phần mềm. Điều này hướng tới

mục đích đăng kí token một cách tập trung tại một phòng nào đó trong công

ty, chuyển quản lý token (tức quản lý người dùng, tránh người dùng tự đăng

kí tại client).

3.1.2.2. Đăng nhập

75

Hình 3.2. Đăng nhập

3.1.2.3.Trao đổi giữa Client và Client

Hình 3.3. Trao đổi giữa Client A và Client B

Ở đây ta xét trường hợp tin tổng quát. Chat hay gửi file giữa các Client

với nhau qua socket đều quy thành các “gói”. Server quản lý tất cả Public

Key của các Client đang online. Client A lấy khóa công khai của Client B và

76

mã hóa gói tin cần gửi. Client B khi nhận gói tin, lấy khóa bí mật của mình để

giải mã gói tin. Như vậy ai cũng có thể mã hóa gói tin nhưng muốn giải mã

thì chỉ có thể giải mã bằng khóa bí mật, nằm trong token của người nhận

3.1.2.4. Trao đổi giữa Server – Client

Hình 3.4. Trao đổi giữa Server – Client

Về vấn đề trao đổi file giữa Server và Client có đôi chút khác biệt khi

trao đổi file giữa Client và Client. Ở đây khi trao đổi file, ta không mã hóa

bằng token vì hai lý do sau:

- Do Server bật liên tục và là duy nhất, không cần phải sử dụng

eToken

- Muốn tự viết phần mã hóa RSA như đã trình bày ở trên.

Với những lý do đó, khi trao đổi giữa Server và Client, em sử dụng một

file key.dat có lưu trữ 3 giá trị e, p, q để phục vụ cho thuật toán RSA tự viết.

Việc sử dụng key.dat hay token là tương đương nhau. Tùy theo nhu cầu

của công ty mà ta có thể chuyển giữa việc dùng token hay dùng key.dat.

3.1.3. Môi trường hệ thống

3.1.3.1. Các tác nhân của hệ thống

77

- Quản trị Server: Là người được quản lý server, khởi động, tắt Server.

Quản lý thêm sửa xóa các tài khoản người sử dụng. Có thể chat và gửi file

đồng thời tới mọi Client đang online.

- Người dùng: Mỗi người dùng là một client, tham gia sử dụng phần

mềm, họ phải đăng nhập bằng token để sử dụng phần mềm. Có thể chat, gửi

file tới Server hoặc Client khác đang online.

3.1.3.2. Đặc tả các Usecase:

Các chức năng cho người quản trị Server

Hình 3.5. Usecase chức năng người quản trị Server

Usecase Quản lý thông tin tài khoản

78

Hình 3.6. Usecase Quản lý thông tin tài khoản

Usecase Giao tiếp với mọi Client

Hình 3.7. Usecase giao tiếp với mọi Client

Các chức năng cho người dùng Client

Hình 3.8. Chức năng người dùng Client

Usecase giao tiếp với Server

79

Hình 3.9. Usecase Client giao tiếp với Server

3.1.4. Thiết kế cơ sở dữ liệu

Với mục đích sử dụng cho các công ty là chính, cơ sở dữ liệu của

chương trình khá đơn giản, lưu trữ tài khoản, mật khẩu, tên nhân viên, khóa

công khai của nhân viên và có thể thêm thắt các thông tin khác tùy ý. Ở đây

hướng chính của phần mềm là demo luận văn, em chỉ thêm một trường là

ngày tháng, không có ý nghĩa gì với chương trình, chỉ mang tính demo. Bảng

cơ sở dữ liệu trên là bảng của các Client. Server chỉ có một nên không có

đăng nhập và quản lý bằng cơ sở dữ liệu.

3.1.5. USB Token

3.1.5.1. Đôi nét về USB Token

Hình 3.10. USB Token của Viettel

80

eToken Pro USB là một sản phẩm thuộc dòng sản phẩm eTokenTM

của Aladdin Knowledge Systems Ltd., Israel.

eToken Pro USB là một thiết bị bảo mật cao, giao tiếp với máy tính qua

cổng USB, sử dụng tiện lợi, an toàn, dễ mở rộng. eToken Pro USB hỗ trợ tất

cả hạ tầng khóa công khai eToken PKI như xác thực người dùng, quản lý mật

khẩu, bảo mật chữ ký số và bảo mật dữ liệu...

Ngoài ra, do eToken Pro USB hỗ trợ các giao diện và hệ thống bảo mật

theo tiêu chuẩn công nghiệp, nên eToken Pro USB còn đảm bảo việc tích hợp

dễ dàng với hạ tầng và các chính sách bảo mật.

Đặc tính kỹ thuật của eToken Pro USB được thể hiện trong bảng dưới

đây:

81

Hình 3.11. Đặc tính kĩ thuật của USB eToken

Dựa trên các tiêu chí đánh giá, eToken có tính năng nổi trội về khả

năng hỗ trợ hệ điều hành, hỗ trợ các ứng dụng PKI, hỗ trợ các chuẩn bảo mật

và khả năng tích hợp.

3.2. Xây dựng ứng dụng

3.2.1. Giới thiệu chung về ứng dụng

Ứng dụng là một hệ thống Server – Client chạy trong mạng LAN nội

bộ, có thể là mạng có dây hoặc không dây. Do hướng của luận văn là bảo mật

mạng không dây, phần mềm được thiết kế để có thể mã hóa các gói tin, hạn

chế người dùng…chống lại các cuộc tấn công nghe trộm, bắt gói tin, đảm bảo

một mức độ bảo mật của các công ty. Hệ thống sử dụng ngôn ngữ lập trình

Java và quản trị cơ sở dữ liệu SQL Server. Các chức năng chính của chương

trình là chat và gửi file giữa các người dùng trong mạng. Các gói tin đều được

mã hóa trước khi gửi đi và giải mã khi nhận về. Sau đây là sơ đồ ứng dụng:

Hình 3.12. Mô hình ứng dụng

3.2.2. Server

Server của hệ thống là nơi khởi tạo kết nối. Các chức năng của

Server:

82

1. Khởi tạo kết nối, làm điểm truy nhập của các Client

2. Lưu giữ các PublicKey của các Client đang kết nối

3. Đăng kí mới, sửa, xóa các eToken đã đăng kí tài khoản

4. Chat với mọi Client

5. Gửi file cho mọi Client

Trước tiên, người dùng vào màn hình chính của chương trình. Do

mỗi lần sử ở một mạng WLAN khác nhau, máy làm Server sẽ được cấp

một địa chỉ IP khác nhau. Trên thực tế nếu dự án được triển khai thực sự.

Server sẽ nằm cố định ở một máy và kết nối với một mạng WLAN cũng cố

định, ta sẽ không cần quan tâm tới giải IP của Server nữa. Để vào mục

quản lý tài khoản, ta ấn nút Account Manager, để bắt đầu Server. Ta ấn

nút Start. Các Client sau khi kết nối tới Server này sẽ hiển thị ở ô bên trái

màu vàng.

Hình 3.13. Màn hình chính của Server

Dưới đây là màn hình quản lý tài khoản, cũng chính là cơ sở dữ liệu

của hệ thống. Lưu trữ lại các thông tin cùng với khóa công khai.

83

Hình 3.14. Màn hình quản lý tài khoản

Với mục tiêu hạn chế và quản lý người dùng. Những ai muốn sử

dụng phần mềm phải có token và phải mang token đó để cho Server để

đăng kí sử dụng.

Hình 3.15. Màn hình thêm tài khoản

84

Sau khi thêm tài khoản, người quản trị Server có thể sửa đổi thông

tin của tài khoản đó, trừ tên đăng nhập.

3.2.3. Client

Client của hệ thống là những người sử dụng mạng nội bộ. Họ bắt

buộc phải có token, ở đây đóng vai trò như chìa khóa để sử dụng phần

mềm này. Nếu trong quá trình sử dụng, rút token, Client sẽ kết thúc. Các

chức năng của Client:

1. Chat với Server, Client

2. Gửi file tới Server, Client

3. Hiển thị danh sách các Client đang sử dụng phần mềm

Trước tiên, người dùng cần cắm token vào máy tính chạy Client, sau

đó chạy phần mềm để đăng nhập:

Hình 3.16. Màn hình đăng nhập

Nếu đăng nhập thành công, ta sẽ vào được giao diện chính của

Client. Đây là màn hình có thể xem danh sách Client đang online và cũng

nơi giao tiếp trực tiếp với Server.

85

Hình 3.17. Màn hình chính của Client

Với giao diện trên ta có thể chat và gửi file tới Server hoặc Client

khác. Do kết nối socket không ổn định và mã hóa RSA làm giảm tốc độ

nên bạn không được gửi file quá lớn. Để đảm bảo tính ổn định của chương

trình, bạn nên gửi những file được cung cấp trong thư mục “test” có trong

thư mục chương trình.

Hình 3.18. Màn hình chọn file

86

Khi nhận được file, sẽ có thông báo nhận file

Hình 3.19. Màn hình lưu file

Tất cả các Client đều phải cắm token khi sử dụng, trong quá trình sử

dụng, vì bất kì lý do gì không tìm thấy token, chương trình lập tức hiện ra

cảnh báo và thoát khỏi chương trình ngay lập tức

Hình 3.20. Màn hình cảnh báo không thấy token

Ứng dụng hướng đến đối tượng sử dụng là các công ty hoặc các trường

học, rất cần sự trao đổi thông tin nội bộ, bảo mật và kiểm soát người dùng.

USB eToken là chìa khóa để sử dụng phần mềm nội bộ này. Mạng WLAN

vẫn bật, mọi người có thể truy cập vào mạng, nhưng để trao đổi với nhau thì

phải có token. Tin tặc có thể bắt được gói tin nhưng nếu không có USB

eToken, hắn sẽ không thể giải mã gói tin vì không có PrivateKey. Đây là hình

ảnh file đã mã hóa, cũng chính là file mà tin tặc bắt được nhưng không thể

giải mã:

87

Hình 3.21. So sánh 2 file mã hóa và gốc

Phần mềm đã giải quyết được các vấn đề:

1. Quản lý người dùng bằng cách cấp phát token.

2. Quản lý tài khoản token để quyết định có cho phép truy cập hay

không, kể cả khi có token.

3. Người dùng có thể chat và trao đổi file.

4. Mã hóa và giải mã các gói tin trao đổi trong mạng nội bộ.

Những điều phần mềm chưa giải quyết được:

5. Chưa có chứng thực gói tin (kí và kiểm tra chữ kí).

6. Do sử dụng thuật toán để mã hóa và đường truyền bằng socket không

ổn định nên chưa thể gửi được file có dung lượng lớn.

88

KẾT LUẬN

Với sự phổ biến của mạng WLAN như hiện nay, vừa mang lại lợi ích

cũng như các hiểm họa. Với mạng không dây, bạn có thể giảm bớt gánh nặng

khi thiết kế các mạng WLAN, không còn phải thấy các đường dây mạng

chằng chịt. Đồng nghĩa với việc thông tin “trôi nổi” trong không khí thì ai

cũng có thể “tóm” được gói tin của bạn. Các kĩ thuật tấn công ngày càng tinh

vi, thực hiện trên diện rộng và nhiều cách khác nhau. Kết hợp với những

phương thức bảo mật sẵn có của mạng WLAN như WPA, WPA2…việc mã

hóa gói tin là hướng giải quyết tốt nhất. Thỏa mãn được hai vấn đề: bảo mật

đường truyền và bảo mật mức độ gói tin.

Luận văn lần này đã đóng góp được các vấn đề chính sau đây:

1. Trình bày tổng quan sự phát triển của mạng không dây, các công

nghệ ứng dụng trong mạng không dây. Tìm hiểu một cách khái quát cơ chế

hoạt động của mạng WLAN, ưu điểm, nhược điểm cũng như các mô hình

hoạt động của mạng WLAN. Tìm hiểu chuẩn 802.11 cho mạng WLAN, nắm

được những gì diễn ra trong quá trình thiết lập kết nối với một hệ thống

WLAN đơn giản

2. Trình bày thực trạng mất an ninh an toàn của mạng không dây, các

kiểu tấn công trong mạng không dây, các kỹ thuật mật mã ứng dụng để bảo

mật mạng không dây và một số giải pháp cho việc đảm bảo an ninh an toàn

cho mạng không dây mà cụ thể là mạng WLAN như: phương pháp mã hóa

đối xứng, mã hóa công khai, bảo mật đường truyền WEP, WPA, WPA2…

3. Nghiên cứu đề xuất giải pháp mã hóa gói tin kết hợp mã hóa đường

truyền sẵn có để xây dựng phần mềm ứng dụng eToken, bảo mật mạng

WLAN nội bộ. Một ứng dụng hoàn toàn mới và thiết thực cho các công ty,

trường học, quân sự…

Đóng góp của phần mềm:

89

1. Đã tích hợp được thiết bị eToken trong việc sử dụng toàn bộ hệ

thống,thiết bị lưu trữ khóa bí mật, đảm bảo người dùng đã đăng kí mới có khả

năng truy cập vào hệ thống.

2. Áp dụng được việc sự dụng mật mã khóa đối xứng trong việc mã hóa

gói tin.

3. Chống được các cuộc tấn công sniffing, passive…Việc trao đổi

thông tin trong mạng nội bộ được quy thành các “gói tin”. Mỗi gói tin sẽ được

mã hóa trước khi gửi đi và giải mã trước khi nhận về. Kết hợp với các phương

pháp bảo mật đường truyền có sẵn như WEP, WPA, WPA2… sẽ là một thách

thức không nhỏ với tin tặc. Dù có tóm được gói tin cũng không thể giải mã

được.

Hạn chế của ứng dụng:

1. Ứng dụng hoạt động là Windows Application, muốn sử dụng phải

cài phần mềm vào máy.

2. Mã hóa và truyền gói tin còn chậm, không truyền được file lớn.

3. Chưa tích hợp khả năng kí để xác thực gói tin.

4. Giao diện có sơ sài, chưa bắt mắt.

5. Do tích hợp eToken nên việc nhập mã PIN sai quá 3 lần sẽ khóa

eToken lại, gây phiên phức cho người dùng vì nó mang tính bảo mật

cao, yêu cầu phải thực hiện đúng

Hướng phát triển tiếp theo:

1. Chuyển phần mềm thành ứng dụng webbase. Có thể sử dụng không

cần cài đặt, có thể sử dụng trên các thiết bị di động.

2. Cải tiến khả năng truyền tải file giữa các người dùng với nhau.

3. Tích hợp khả năng kí xác thực.

4. Cải tiến giao diện, tích hợp vào cổng thông tin điện tử.

90

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]. Phạm Huy Điển, Hà Huy Khoái, (2003), Mã hóa thông tin cơ sở

toán học và ứng dụng, Nhà xuất bản Đại học Quốc gia Hà Nội.

[2]. Phan Đình Diệu, (1999), Lý thuyết mật mã và an toàn thông tin,

Đại học Quốc Gia Hà Nội, Hà Nội.

[3]. Trịnh Nhật Tiến, (2004), Bài giảng: “Một số vấn đề về an toàn dữ

liệu”.

[4]. Nguyễn Thúy Vân, (1999), Lý thuyết mã, Nhà xuất bản Khoa học

và kỹ thuật.

Tiếng Anh

[5]. Aaron E. Earle, (2006), Wireless Security Handbook, Auerbach

Publications Taylor & Francis Group, New York.

[6]. Cyrus Peikari, Seth Fogie, (2002), Maximum Wireless Security,

Sams Publishing, USA.

[7]. Jahanzeb Khan, Anis Khwaja, (2003), Building Secure Wireless

Networks with 802.11, Wiley Publishing, Indianapolis, Indiana.

[8]. Jon Edney, William A. Arbaugh, (2003), Real 802.11 Security:

Wi-Fi Protected Access and 802.11i, Addison Wesley, Boston.

[9]. Lee Barken, (2003), How Secure Is Your Wireless Network?

Safeguarding Your Wi-Fi LAN, Prentice Hall PTR, New Jersey.

[10]. William Stallings (2005), Cryptography and Network Security

Principles and Practices, Fourth Edition, Prentice Hall.

91

LÝ LỊCH TRÍCH NGANG

Họ và tên: Phan Thành Vinh

Ngày tháng năm sinh: 21/10/1981 Nơi sinh: Thanh Hoá

Địa chỉ liên lạc: Thôn Cầu - Bãi Trành – Như Xuân – Thanh Hóa

Quá trình đào tạo:

- 2000 - 2005: Học CNTT tại Đại Học Vinh.

- 2012 - 2014: Học Cao học CNTT tại Học viện Kỹ thuật Quân sự.

Quá trình công tác:

- 2006 - 2012: Giáo viên Trường THPT Như Xuân 2.

- 2012 - 2014: Giảng Viên Trường Đại Học Kinh Doanh Và Công

Nghệ Hà Nội.

XÁC NHẬN QUYỂN LUẬN VĂN ĐỦ ĐIỀU KIỆN NỘP LƯU CHUYỂN

CHỦ NHIỆM KHOA (BỘ MÔN) CÁN BỘ HƯỚNG DẪN

QUẢN LÝ CHUYÊN NGÀNH (Ký và ghi rõ họ tên)

(Ký và ghi rõ họ tên)