Tải bản đầy đủ (.pdf) (68 trang)

LUẬN VĂN:GIAO THỨC BẢO MẬT H.235 SỬ DỤNG TRONG HỆ THỐNG VOIP pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.21 MB, 68 trang )

1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ









ĐỖ NHƯ LONG




GIAO THỨC BẢO MẬT H.235 SỬ DỤNG TRONG HỆ THỐNG VOIP






LUẬN VĂN THẠC SỸ












Hà Nội 2011
2

ĐẠI HỌC QUỐC GIA HÀ NỘI
ĐẠI HỌC CÔNG NGHỆ







ĐỖ NHƯ LONG



GIAO THỨC BẢO MẬT H.235 SỬ DỤNG TRONG HỆ THỐNG VOIP



Ngành: Công nghệ thông tin
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60 48 15






LUẬN VĂN THẠC SỸ




Người hướng dẫn: PGS.TS Nguyễn Văn Tam





Hà Nội 2011

3


CHƯƠNG 1 TỔNG QUAN VOIP
1. 1 Giới thiệu VoIP [1], [12], [16]
Định nghĩa về VOIP: VoIP (viết tắt của Voice over Internet Protocol, nghĩa
là Truyền giọng nói trên giao thức IP) là công nghệ truyền tiếng nói của con người
(thoại) qua mạng thông tin sử dụng bộ giao thức TCP/IP. Nó sử dụng các gói dữ
liệu IP (trên mạng LAN, WAN, Internet) với thông tin được truyền tải là mã hoá
của âm thanh – Theo wikipedia.
Các hệ thống VoIP ngày nay sử dụng 2 giao thức báo hiệu chủ yếu là H323
và SIP. Trong phạm vi nghiên cứu của luận văn chỉ đề cập tới giao thức báo hiệu
H323.

H.323 là chuẩn quốc tế về hội thoại trên mạng được đưa ra bởi hiệp hội viễn
thông quốc tế ITU (International Telecommunication Union). Nó qui định các
thành phần, các giao thức sử dụng, các thủ tục cho phép truyền các dữ liệu đa
phương tiện (âm thanh, hình ảnh) và số liệu thời gian thực thông qua mạng IP mà
không quan tâm tới chất lượng dịch vụ (QoS). Các đầu cuối của các hãng khác nhau
có thể giao tiếp được với nhau nếu các đầu cuối này tuân theo chuẩn H.323.
SIP (Session Initiation Protocol) Giao thức Khởi tạo Phiên: là một giao thức
tín hiệu điện thoại IP dùng để thiết lập, sửa đổi và kết thúc các cuộc gọi điện thoại
VOIP. SIP được phát triển bởi IETF(Internet Engineering Task Force- lực lượng
chuyên trách về kỹ thuật liên mạng).
Một ví dụ về chương trình VoIP miễn phí thông dụng cho phép người sử
dụng có thể nói chuyện với nhau qua Internet bằng PC là chức năng Voice Chat của
phần mềm Yahoo Messenger.
Trong dịch vụ VoIP có thể có sự tham gia của 3 loại đối tượng cung cấp
dịch vụ như sau:
- Đơn vị cung cấp Internet ISP.
- Đơn vị cung cấp dịch vụ điện thoại Internet ITSP.
- Đơn vị cung cấp dịch vụ trong mạng chuyển mạch kênh.
Người sử dụng đầu cuối muốn sử dụng được dịch vụ điện thoại IP, họ phải
sử dụng kết hợp mạng Internet và các chương trình ứng dụng cho điện thoại IP.
Các đơn vị cung cấp dịch vụ Internet cung cấp sự việc sử dụng Internet cho khách
hàng của họ thì các đơn vị cung cấp dịch vụ điện thoại ITSP cung cấp dịch vụ điện
thoại IP cho khách hàng bằng cách sử dụng các chương trình ứng dụng dùng cho
điện thoại IP. Chỉ có dịch vụ truy cập Internet cung cấp bởi các đơn vị ISP là chưa
đầy đủ để cung cấp dịch vụ điện thoại IP. Người sử dụng đầu cuối phải đăng nhập
vào đơn vị cung cấp dịch vụ điện thoại IP khi sử dụng điện thoại IP. Việc liên lạc
thông qua dịch vụ điện thoại IP sẽ không thực hiện được nếu người sử dụng chỉ
truy nhập vào mạng Internet. Để phục vụ cho việc đàm thoại giữa những người sử
dụng trên các máy tính đầu cuối của mạng Internet, các công ty phần mềm đã cung
cấp các trương trình ứng dụng dùng cho điện thoại IP thực hiện vai trò của ITSP.

Đối với người sử dụng trên mạng chuyển mạch kênh, họ sẽ truy nhập vào ISP hoặc
4

ITSP thông qua các điểm truy nhập trong mạng chuyển mạch kênh.
VoIP dựa trên sự kết hợp giữa mạng chuyển mạch gói (mạng IP) và mạng
chuyển mạch kênh. Mỗi loại mạng có những đặc điểm khác biệt nhau. Để có thể
hiểu được những ưu điểm khác biệt của VoIP, trước hết chúng ta đi vào nghiên cứu
hai kỹ thuật chuyển mạch cơ bản sử dụng trong VOIP là kỹ thuật chuyển mạch
kênh và kỹ thuật chuyển mạch gói.
Kỹ thuật chuyển mạch kênh (Circuit Switching): Đặc điểm nổi bật của kĩ
thuật chuyển mạch kênh là: một kênh cố định sẽ được thiết lập cho hai đầu cuối khi
chúng có nhu cầu trao đổi thông tin với nhau, kênh này được dành riêng và duy trì
cho tới khi quá trình trao đổi giữa hai đầu cuối kết thúc. Các thông tin trao đổi giữa
hai đầu cuối là trong suốt. Quá trình thiết lập cuộc gọi tiến hành gồm 3 giai đoạn:
 Giai đoạn thiết lập kết nối: Là quá trình kết hợp các tuyến giữa các trạm
trên mạng thành một tuyến (kênh) duy nhất dành riêng cho cuộc gọi.
Kênh này đối với PSTN là 64kb/s (do bộ mã hóa PCM có tốc độ lấy mẫu
tiếng nói 8kb/s và được mã hóa 8 bit).
 Giai đoạn truyền tin: Sau khi kênh được thiết lập các thông tin trao đổi
được truyền đi và các thông tin đó là trong suốt. Sự trong suốt của thông
tin được truyền đi thể hiện qua hai yếu tố: thông tin không bị thay đổi khi
truyền qua mạng và độ trễ nhỏ, độ trễ chỉ cỡ thời gian truyền thông tin
trên kênh.
 Giai đoạn giải phóng (huỷ bỏ) kết nối: Sau khi cuộc gọi kết thúc, kênh sẽ
được giải phóng để phục vụ cho các cuộc gọi khác.
Chất lượng đường truyền tốt, ổn định, có độ trễ nhỏ là những ưu điểm nổi
trội của mạng chuyển mạch kênh. Các thiết bị mạng của chuyển mạch kênh đơn
giản, có tính ổn định cao, chống nhiễu tốt. Tuy nhiên mạng chuyển mạch kênh
cũng tồn tại những hạn chế và nhược điểm sau:
 Lãng phí băng thông: Một kênh 64kb/s luôn được duy trì cho một cuộc

gọi nhất định. Trong tiến trình cuộc gọi khi không có dữ liệu kênh vẫn
được duy trì không chia sẻ được cho các cuộc gọi khác dẫn tới việc lãng
phí băng thông
 Bảo mật: Tín hiệu cuộc đàm thoại được truyền nguyên vẹn nên rất dễ đến
khả năng bị nghe trộm cuộc đàm thoại.


Hình 1.1 Mạng chuyển mạch kênh
5


Kỹ thuật chuyển mạch gói (Packet Switching): Trong kỹ thuật chuyển
mạch gói bản tin sẽ được chia thành các gói tin (packet) có khuôn dạng được quy
định trước. Các gói tin chứa thông tin điều khiển như: số thứ tự gói tin, địa chỉ trạm
nguồn, địa chỉ trạm đích Tại mỗi nút mạng trên tuyến các gói tin được nhận, nhớ
và sau đó thì chuyển tiếp tới các nút mạng khác cho tới khi chúng được truyền tới
chạm đích. Điều phức tạp nhất đối với chuyển mạch gói là vấn đề tập hợp các gói
tin để tạo bản tin nguyên bản ban đầu, đặc biệt là khi các gói tin được truyền theo
nhiều con đường khác nhau tới trạm đích. Chính vì lý do trên mà các gói tin cần
phải được đánh dấu số thứ tự, điều này có tác dụng, chống lặp, sửa sai và có thể
truyền lại khi hiên tượng mất gói xảy ra.
Các ưu điểm của chuyển mạch gói:
 Mềm dẻo và hiệu suất truyền tin cao: Hiệu suất sử dụng đường truyền rất
cao vì trong chuyển mạch gói không thiết lập một kênh cố định dành
riêng nào, các đường truyền giữa các node có thể được các trạm cùng chia
sẻ cho việc truyền tin, các gói tin sắp hàng và truyền theo tốc độ rất nhanh
trên đường truyền.
 Khả năng truyền ưu tiên: Trong chuyển mạch gói các gói tin có khả năng
được sắp thứ tự để truyền đi theo mức độ ưu tiên.
 Khả năng cung cấp nhiều dịch vụ thoại và phi thoại.

Bên cạnh những ưu điểm thì mạng chuyển mạch gói cũng bộc lộ những
nhược điểm như:
 Trễ đường truyền lớn: Khi đi qua các trạm, dữ liệu được lưu trữ, xử lý,
sau đó mới được truyền đi tới trạm tiếp theo
 Độ tin cậy của mạng gói không cao, dễ xảy ra tắc nghẽn, lỗi mất bản tin.
 Tính đa đường có thể gây là lặp bản tin, loop làm tăng lưu lượng mạng
không cần thiết.
 Tính bảo mật trên đường truyền chung là không cao.

Hình 1.2 Mạng chuyển mạch gói

Áp dụng VoIP có thể khai thác tính hiệu quả của các mạng truyền số liệu,
khai thác tính linh hoạt trong phát triển các ứng dụng mới của giao thức IP. Nhưng
VoIP cũng phức tạp và đòi hỏi giải quyết nhiều vấn đề.


6


1.2. Cấu hình chuẩn của VoIP [12]
Cấu hình chuẩn của VoIP theo nghiên cứu của Viện các tiêu chuẩn viễn
thông Châu Âu - ETSI (The European Telecommunications Standards Institute) có
thể bao gồm các phần tử sau:
- Thiết bị đầu cuối kết nối với mạng IP.
- Mạng IP.
- Gateway.
- Gatekeeper.
- Thiết bị đầu cuối kết nối với mạng chuyển mạch kênh.
- Mạng chuyển mạch kênh.
Tùy thuộc vào các kiểu kết nối khác nhau cấu hình mạng có thể thêm hoặc

bớt một số phần tử trên. Trong đó, c
ấu hình cơ bản của VoIP gồm các phần tử
Gatekeeper, Gateway, các thiết bị đầu cuối thoại và máy tính. Mỗi một thiết bị đầu
cuối sẽ giao tiếp với một Gatekeeper và giao tiếp này giống với giao tiếp giữa thiết
bị đầu cuối và Gateway. Mỗi Gatekeeper sẽ chịu trách nhiệm quản trị một vùng,
tuy nhiên một vùng cũng có thể được quản lý bởi nhiều Gatekeeper.
Trong vùng quản trị của các Gatekeeper, các tín hiệu báo hiệu có thể được
chuyển tiếp qua một
ho

c
nhiều Gatekeeper. Do đó các Gatekeeper phải có khả
năng trao đổi các thông tin với nhau khi cuộc gọi liên quan đến nhiều Gatekeeper.


Hình 1.3 Cấu hình của VoIP



7


1.3. Mô hình kết nối trong VoIP [12]


Hình 1.4 Mô hình kết nối trong VoIP
Về cơ bản có thể chia thành 4 loại như sau:
- Kết nối PC – PC: Cuộc gọi được thực hiện giữa hai thiết bị VOIP.
- Kết nối PC – Phone: Cuộc gọi được thực hiện khi sử dụng thiết bị
VOIP hay máy tính vào mạng điện thoại thông thường.

- Kết nối Phone – PC: Cuộc gọi được thực hiện từ mạng điện thoại
thông thường đến một số điện thoại VOIP .
- Kết nối Phone – Phone: Cuộc gọi được thực hiện từ một số điện thoại
thông thường vào số điện thoại đặc biệt của nhà cung cấp dịch vụ
VOIP, và thông qua đó để gọi đến mạng điện thoại thông thường khác.

1.4. Đặc điểm của điện thoại VoIP [12], [15], [16]
Mục tiêu của Điện thoại IP nhằm khai thác tính hiệu quả của các mạng
truyền số liệu, khai thác tính linh hoạt trong phát triển các ứng dụng mới của giao
thức IP và nó được áp dụng trên một mạng toàn cầu là
m

ng

Internet.
Các tiến bộ
của công nghệ mang đến cho điện thoại IP những ưu điểm sau:
Ưu điểm:
Tiết kiệm chi phí: Đây là ưu điểm quan trọng nhất của VOIP so với điện
thoại đường dài. Chi phí cho cuộc gọi đường dài chỉ bằng chi phí cho truy nhập
internet. Lý do nằm ở chỗ tín hiệu thoại được truyền tải trong mạng IP có khả
năng sử dụng kênh với hiệu suất rất cao. Hơn nữa, kỹ thuật nén thoại tiên tiến
giảm tốc độ bít từ 64 Kbps xuống
th

p

tới
8 Kbps (theo tiêu chuẩn nén thoại
8


G.729A của ITU-T) và tốc độ xử lý nhanh của các bộ vi xử


ngày
nay cho phép
việc truyền tiếng nói theo thời gian thực là có thể thực hiện được với lượng tài
nguyên băng thông thấp hơn nhiều so với kỹ thuật cũ.
Một so sánh nhỏ về chi phí phải thanh toán cho một cuộc gọi trong mạng
PSTN và một cuộc gọi trong mạng VOIP như sau: Chi phí phải thanh toán cho
cuộc gọi trong mạng PSTN là chi phí phải bỏ ra để duy trì cho một kênh 64kbps
từ đầu cuối gọi tới đầu cuối bị gọi thông qua một hệ thống các tổng đài. Chi phí
này

đối
với các cuộc gọi đường dài (liên tỉnh, quốc tế) là khá lớn.
Trong cuộc gọi qua mạng IP, người sử dụng từ mạng PSTN chỉ phải duy trì
kênh 64kbps đến Gateway của nhà cung cấp dịch vụ tại địa phương. Nhà cung cấp
dịch vụ điện thoại IP sẽ nén, đóng gói tín hiệu thoại và gửi chúng đi qua mạng IP
tới Gateway nối tới một mạng điện thoại khác có người liên lạc đầu kia. Chi phí sẽ
được giảm đáng kể do phần lớn kênh truyền 64Kbps đã được thay thế bằng việc
truyền thông tin qua mạng dữ liệu với hiệu suất cao.

Tích hợp đa dịch vụ: Trong một mạng IP tín hiệu thoại, báo hiệu và số
liệu được tích hợp dẫn tới việc giảm chi phí để xây dựng những mạng riêng rẽ.

Thống nhất: Các ứng dụng sử dụng thống nhất giao thức IP sẽ giảm bớt
tính phức tạp và tăng cường tính mềm dẻo. Các ứng dụng liên quan như dịch vụ
an ninh mạng, danh bạ có thể được chia sẻ một cách dễ dàng.


Khả năng mở rộng (Scalability): Các hệ thống tổng đài PSTN thông
thường là những hệ đóng kín khó có khả năng mở rộng và thêm vào các tính năng
mới, ngược lại các thiết bị trong mạng IP có khả năng mở rộng và thêm vào các
tính năng mới.

Không cần thông tin điều khiển để thiết lập kênh truyền vật lý: Các gói
tin truyền trong mạng IP chỉ cần mang địa chỉ của nơi nhận cuối cùng để truyền
tới đích. Nó không cần phải thiết lập một kênh vật lý riêng cho việc truyền.

Khả năng multimedia: Trong một “cuộc gọi” người sử dụng có thể vừa nói
chuyện vừa sử dụng các dịch vụ khác như truyền file, chia sẻ dữ liệu, hay xem hình
ảnh của người nói chuyện bên kia.

Nhược điểm của VoIP
Kỹ thuật phức tạp: Việc mất gói tin và đỗ trễ không cố định của các
gói tin khi truyền trên mạng chuyển mạch gói là không thể tránh được, do đó
để truyền tín hiệu theo thời gian thực trên mạng chuyển mạch gói đòi hỏi kỹ thuật
rất phức tạp. Yêu cầu cần thiết để có được một dịch vụ thoại chấp nhận được là phải
có một kỹ thuật nén tín hiệu đạt được những đòi hỏi như: tỉ số nén lớn (để giảm
được tốc độ bit xuống), có khả năng tạo lại thông tin của các gói bị thất lạc Tốc
9

độ xử lý của các bộ Codec (Coder and Decoder) phải đủ nhanh để không làm cuộc
đàm thoại bị gián đoạn.
Vấn đề bảo mật (security): Vấn đề bảo mật trong VoIP rất phức tạp. Đòi hỏi
các kỹ thuật bảo mật tiên tiến để hạn chế tối đa các nguy cơ tấn công vào mạng VoIP
nhằm bảo mật thông tin liên quan tới cá nhân người sử dụng cũng như số liên lạc truy
nhập sử dụng dịch vụ của người dùng.
Chất lượng dịch vụ chưa cao: Chất lượng cuộc gọi khi được truyền qua
mạng IP không được đảm bảo khi trong mạng xảy ra trường hợp tắc nghẽn hoặc có

độ trễ lớn. Tính thời gian thực của tín hiệu thoại đòi hỏi chất lượng truyền dữ liệu
cao và ổn định. Một yếu tố làm giảm chất lượng thoại nữa là kỹ thuật nén để tiết
kiệm đường truyền. Nếu nén xuống dung lượng càng thấp thì kỹ thuật nén càng
phức tạp, cho chất lượng không cao và đặc biệt là thời gian xử lý sẽ lâu, gây trễ.
Vấn đề tiếng vọng: Trong mạng thoại thông thường, do độ trễ thấp nên tiếng
vọng không ảnh hưởng nhiều chất lượng cuộc thoại. Ngược lại, trong mạng IP có
độ trễ lớn nên tiếng vọng ảnh hưởng rất nhiều đến chất lượng thoại.

1.5. Các ứng dụng của VoIP [12], [15], [16]
Dịch vụ thoại qua Internet
Điện thoại VoIP được ứng dụng cho cả những người sử dụng máy tính và
những người sử dụng điện thoại thông thường quay vào gateway. Mạng máy tính
được tích hợp và phát triển bên cạnh mạng điện thoại. Các mạng máy tính và mạng
điện thoại cùng tồn tại ngay trong một cơ cấu, giữa các cơ cấu khác nhau, và trong
mạng rộng WAN. Công nghệ thoại IP không ngay lập tức đe doạ đến mạng điện
thoại toàn cầu mà nó sẽ dần thay thế thoại chuyển mạch kênh truyền thống.

Thoại thông minh
Việc sử dụng Internet đã làm tăng tính thông minh của mạng điện thoại. Các
hệ thống điện thoại truyền thống thực sự hữu hiệu nhờ các tính năng ưu việt như rẻ,
phổ biến, dễ sử dụng. Tuy nhiên nó chỉ có 12 phím điều khiển. Internet đã bù đắp
những hạn chế của mạng điện thoại truyền thống, nó cung cấp phương thức giám
sát và điều khiển cuộc gọi tiện lợi và thông minh hơn.

Dịch vụ tính cước cho bị gọi
Với việc thoại qua Internet đã giúp các nhà khai thác có thể cung cấp dịch
vụ tính cước cho bị gọi đến các khách hàng ở nước ngoài cũng tương tự như
khách hàng trong nước. Khách hàng có thể sử dụng các chương trình phần mềm
để thực hiện cuộc gọi qua Internet thay vì gọi qua mạng truyền thống. Các phần
mềm được sử dụng phổ biến hiện nay như Internet Phone của Vocaltec,

Netmeeting của Microsoft.

Dịch vụ Callback Web
Việc đưa các phím bấm lên trang web để kết nối tới hệ thống điện thoại của
10

các công ty, doanh nghiệp mang lại lợi ích rất to lớn về mặt kinh doanh. Hệ thống
điện thoại nói chung vẫn đang là phương tiện kinh doanh cực kỳ quan trọng đối
với các công ty, doanh nghiệp ở các nước trên thế giới. Chính vì vậy, dịch vụ “bấm
số” (Click to dial) trên web cung cấp một phương thức tiếp cận khách hàng nhanh
chóng, thuận tiện đối với các công ty, doanh nghiệp.

Dịch vụ fax qua IP
Dịch vụ fax qua IP sẽ giúp tiết kiệm được chi phí và kênh thoại cho người
sử dụng, doanh nghiệp và các công ty. Nó đặc biệt tiết kiệm chi phí cho những
người sử dụng thường xuyên gửi nhiều fax ra nước ngoài. Nó sẽ chuyển các bản
fax của người sử dụng từ PC qua kết nối Internet.

1.6 Các nguy cơ tấn công vào hệ thống VoIP [15], [17]
Việc kết hợp thoại và dữ liệu trên cùng một đường truyền, không phụ thuộc
vào các giao thức sử dụng, mà phụ thuộc vào các kỹ sư mạng và nhà quản lý. Một
hệ quả của sự kết hợp này là khi xảy ra một cuộc tấn công mạng lớn, toàn bộ cơ sở
hạ tầng viễn thông sẽ gặp nguy hiểm rất lớn. Việc đảm bảo an ninh cho toàn bộ hạ
tầng VOIP đòi hỏi phải có kế hoạch, sự phân tích và kiến thức chi tiết về an ninh
mạng. Sau đây là các nguy cơ tấn công phổ biến vào mạng điện thoại VoIP.
1.6.1 DoS
Tấn công từ chối dịch vụ (Denial – of – Service) có thể ảnh hưởng tới bất kỳ
dịch vụ dựa trên mạng IP nào, trong đó VOIP không phải là ngoại lệ. Tác động của
một cuộc tấn công DoS có thể dẫn tới sự xuống cấp các dịch vụ cho tới việc mất
mát toàn bộ dịch vụ. Có rất nhiều kiểu tấn công DoS, một kiểu tấn công điển hình

là các gói tin có thể bị được đưa liên tiếp vào bên trong mạng mục tiêu từ nhiều
nguồn khác nhau. Nó được gọi là tấn công từ chối dịch vụ phân tán.

11

Hình 1.5 Tấn công từ chối dịch vụ phân tán
Loại thứ 2 của tấn công từ chối dịch vụ xảy ra khi các thiết bị trong mạng nội
bộ là mục tiêu của một loạt các gói tin. Gián đoạn dịch vụ xảy ra chủ yếu nhằm làm
suy kiệt tài nguyên CPU và băng thông. Ví dụ một vài điện thoại IP sẽ ngừng hoạt
động nếu chúng nhận được gói tin UDP lớn hơn 65534 byte trên cổng 5060.

Hình 1.6 Tấn công từ chối dịch vụ nội bộ
Việc chống lại các cuộc tấn công DoS là tương đối khó khăn, vì VoIP chỉ là
một dịch vụ mạng IP, nó rất dễ dàng bị tấn công như bất cứ một dịch vụ IP nào
khác. Hơn nữa, các cuộc tấn công DoS đặc biệt hiệu quả với các dịch vụ VoIP và
các dịch vụ thời gian thực khác, bởi vì những dịch vụ này đặc biệt nhạy cảm với
trạng thái của mạng.

1.6.2 Call Hijacking and Interception
Việc chặn cuộc gọi và nghe lén là những quan tâm khác trong mạng VoIP.
Là phương thức mà kẻ tấn công có thể theo dõi các báo hiệu, luồng dữ liệu giữa 2
điểm thiết bị đầu cuối VOIP, nhưng không có khả năng sửa đổi dữ liệu. Chặn cuộc
gọi thành công tương tự như nghe lén, trong đó hội thoại có thể bị đánh cắp, ghi lại,
phát lại. Một kẻ tấn công có thể đánh chặn và lưu trữ những dữ liệu này để sử dụng
chúng vào những mục đích khác nhau.

1.6.3 Man-in-the-middle
Các chương trình phân tích gói tin như Network monitor, sniffer Pro
thường được các nhà quản trị mạng dùng để quản trị hệ thống, theo dõi, giám sát
chẩn đoán cũng như khắc phục sự cố của mạng. Lợi dụng những ưu điểm của các

chương trình phân tích gói tin đó các hacker tận dụng chúng để ăn cắp các thông tin
như username, passwork hoặc là các thông tin quan trọng của hệ thống. Đối với
12

kiểu tấn công này người sử dụng không hề biết mình bị tấn công vì tiến trình làm
việc giữa máy gửi và nhận diễn ra hoàn toàn bình thường. Đây là một dạng tấn
công cực kỳ nguy hiểm và được gọi là Man In The Middle.

1.6.4 Tấn công vào các lỗ hổng của mạng và môi trường
VoIP được truyền qua cùng môi trường vậy lý (router, Switch và firewall)
với các dịch vụ IP khác nên có thể bị ảnh hưởng. VD như: khi gửi nhiều yêu cầu
báo hiệu hay yêu cầu thiết lập cuộc gọi tới gateway, hay IP phone, các thiết bị này
sẽ không thể xử lý tất cả các bản tin, gây ra DoS. DoS rất nguy hiểm vì nó gần như
làm nghẽn mạng và có thể chặn dịch vụ VoIP.
1.6.4.1 DNS (Domain name system)
DNS là dịch vụ hỗ trợ việc dịch từ host name sang địa chỉ IP để có thể tìm
thấy đường đi trên mạng. Trong hệ thống VoIP, DNS có chức năng phân giải địa
chỉ đích của đầu cuối hay cho phép gateway đăng kí với server hay GK bằng host
name.
Do là một giao thức thành phần của mạng Internet nên DNS không có sự bảo
mật nào (như chứng thực, mã hóa,…) vì vậy có một số cách tấn công vào DNS:
- DNS footprint (Sử dụng vùng dữ liệu DNS để truy tìm host name,
subdomain và subnet)
- DoS (dùng SYN flooding DNS server hay truyền đi bảng DNS trống)
- DNS cache poisoning.
1.6.4.2 ARP Address Resolution Protocol giao thức tìm địa chỉ
ARP là giao thức Ethernet cơ bản. Do nó không có cơ chế chứng thực các
truy vấn và hồi đáp truy vấn nên có thể lợi dụng nó để tấn công mạng VoIP. Những
kiểu tấn công thường gặp là: ARP spoofing, ARP redirection.
 ARP spoofing




Hình 1.7 ARP spoofing
13


Khi A quảng bá truy vấn ARP để tìm địa chỉ của C trên mạng, B sẽ hồi đáp
là địa chỉ IP 10.1.1.2 thuộc về nó (MAC: AB:AC:AD:AE:AF:FF). Như vậy, gói
từ A tới C sẽ được chuyển tới B.

Địa chỉ IP Địa chỉ vật lý
10.1.1.1 AA:BB:CC:DD:EE:FF
10.1.1.2 AB:AC:AD:AE:AF:FF
Bảng 1.1 ARP cache của A

 ARP redirection.

Hình 1.8 ARP redirection

Với kiểu tấn công như trên thì tất cả traffic trao đổi giữa A và C đều đi qua B.
Những thông tin không được mã hóa sẽ bị nghe trộm. Trong trường hợp này kẻ tấn
công cũng ít khi bị phát hiện nếu không cài phần mềm theo dõi bảng ánh xạ giữa
địa chỉ IP và MAC.
Hậu quả của kiểu tấn công này là sự quá tải của Switch do bảng CAM
(Content – Addressable Memory), bảng có kích thước cố định, bị tràn.
Hãng Cisco có phát triển DAI (Dynamic ARP Inspection) trên dòng Switch
Catalyst 6500 để phòng chống các nguy cơ tấn công spoofing lớp 2 và lớp 3, trong
đó có ARP spoofing.
Hãng Avaya sử dụng giải pháp Media Encryption, mã hóa bằng AES, để

tránh việc thông tin bị giải mã khi bị nghe trộm.

14


1.6.5 Spam trong VoIP
SPIT là hiện tượng có nhiều cuộc gọi không mong muốn. Nguyên nhân của
hiện tượng này giống các như e-mail spam, hầu hết đều với mục đích bán sản phẩm,
quảng cáo,…. Phương pháp Spam là dùng các đoạn script tự động để thực hiện các
cuộc gọi tới nhiều người. Nó cũng có thể thực hiện với mục đích giả dạng các cơ
quan tài chính hay thương mại điện tử để lấy thông tin cá nhân.

Khác với email-spam, các cuộc gọi SPIT sẽ được nhận hoặc chuyển sang
hộp thư thoại. Nhận SPIT tốn thời gian và có thể gây nghẽn. Cũng như email-spam,
ta cần chặn voice spam. Tuy nhiên, chặn SPIT khó khăn hơn rất nhiều vì rất khó
phân biệt được cuộc gọi bình thường và cuộc gọi SPIT vì thông tin về người gọi chỉ
được tiết lộ một khi cuộc gọi đã được thiết lập và bắt đầu gửi thư thoại.

1.7 Một số công nghệ bảo mật sử dụng trong VoIP [2], [4], [13], [14], [18]
Internet là một mạng máy tính rộng khắp và hỗn hợp, trong đó có rất nhiều
đầu cuối, các dịch vụ khác nhau cùng sử dụng chung một cơ sở hạ tầng dẫn tới các
nguy cơ tấn công vào hệ thống VoIP. Chính vì vậy việc áp dụng các công nghệ bảo
mật vào hệ thống VoIP là rất quan trọng để chống lại các nguy cơ tấn công đã nêu
ở phần trên. Phần này em xin giới thiệu về một số công nghệ bảo mật các thuật toán
bảo mật được sử dụng cho hệ thống VoIP.

1.7.1 Mã hóa đối xứng
Mã hóa đối xứng là thuật toán mà trong đó một chìa khóa bí mật được dùng
chung cho bên gửi và bên nhận sử dụng trong quá trình mã hóa và giải mã. Thuật
toán này còn có các tên gọi khác như private key crytography hay secret key

crytography. Thuật toán này thích hợp cho mục đích mã hóa dữ liệu của các tổ
chức đơn lẻ hay các cá nhân, tuy nhiên hạn chế sẽ bộc lộ khi thông tin chia sẻ với
bên thứ hai. Đây là thuật toán mã hóa duy nhất trước những năm 70 và hiện nay
vẫn còn được dùng rất phổ biến.

K
A-B
: Khóa bí mật dùng chung Alice và Bob
M: Thông báo nguyên bản.
Hình 1.9 Mã hóa đối xứng
Bob sẽ không hiểu Alice muốn nói gì trong trường hợp Alice chỉ gửi thông
điệp đã mã hóa cho Bob mà không báo trước thuật toán mã hóa đã được sử dụng
để mã hóa thông báo. Chính vì vậy, trong kiểu mã hóa náy bên gửi bắt buộc phải
15

thông báo cho bên nhận về chìa khóa cũng như thuật toán mã hóa đã sử dụng ở
một thời điểm nào đó trước khi thực hiện việc gửi thông báo mã hóa. Việc này có
thể thực hiện trực tiếp hoặc gián tiếp (Gửi qua email, tin nhắn ). Đây chính là
điểm yếu của thuật toán này, vì nó dẫn tới khả năng kẻ tấn công sẽ xem trộm được
chìa khóa và có thể tiến hành giải mã thông điệp trao đổi giữa bên gửi và bên nhận.
Mã hóa đối xứng có thể phân thành hai nhóm phụ:
Block ciphers: mã hóa khối – mỗi lần sẽ xử lý một khối nguyên bản và
tạo ra khối bản mã tương ứng (chẳng hạn 64 hay 128 bit). Độ dài của mỗi khối
được gọi là block size, thông thường được tính bằng đơn vị bit. Ví dụ thuật toán
3-Way có kích thước khối bằng 96 bit. Một số thuật toán khối thông dụng là:
DES, 3DES, RC5, RC6, 3- Way, CAST, Camelia, Blowfish, MARS, Serpent,
Twofish, GOST
Stream ciphers: thuật toán luồng – Dữ liệu đầu vào được xử lý liên tục từng
bit một. Mã hóa luồng có tốc độ nhanh hơn mã hóa khối khối, nó được sử dụng
khi kích thước khối dữ liệu đầu vào là không biết trước

,
ví dụ trong kết nối không
dây. Có thể coi mã hóa luồng là mã hóa khối khối với kích thước mỗi khối là 1 bit.
Một số thuật toán dòng thông dụng: RC4, A5/1, A5/2, Chameleon.

1.7.2 Mã hóa bất đối xứng
Từ những hạn chế của thuật toán mã hóa đối xứng như: khó đảm bảo việc
chia sẻ không làm lộ khóa bí mật, trung tâm phân phối khóa có thể bị tấn công
cũng như không thích hợp cho việc sử dụng chữ ký số khi mà bên nhận có thể
làm giả thông báo nói nhận được từ bên gửi mà thuật toán mã hóa bất đối xứng
đã ra đời để khắc phục những hạn chế đó. Thuật toán mã hóa bất đối xứng được
đề xuất bởi Whitfield Diffie và Martin Hellman vào năm 1976. Nó có thể coi là
bước đột phá quan trọng nhất trong lịch sử ngành mật mã, nó nhằm bổ xung chứ
không thay thế thuật toán mã hóa đối xứng.
Mã hóa bất đối xứng, sử dụng một cặp chìa khóa có liên quan với nhau về
mặt toán học, một
chìa

công
khai ai cũng có thể biết dùng để mã hoá (public key)
thẩm tra chữ ký; và một chìa bí mật dùng để giải mã (private key) và tạo ra chữ
ký. Một thông điệp
sau

khi
được mã hóa bởi chìa công khai sẽ chỉ có thể được
giải mã với chìa bí mật tương ứng. Tính bất đối xứng ở đây thể hiện ở 2 khía
cạnh: thứ nhất là bên mã hóa không thể giải mã được thông báo, thứ hai là bên
thẩm tra không thể tạo ra chữ ký. Do các thuật toán loại này sử dụng một chìa
khóa công khai (không bí mật) nên còn có tên gọi khác là public-key

cryptography
(thuật
toán mã hóa dùng chìa khóa công khai). Một số thuật toán
bất đối xứng thông dụng là : RSA, Elliptic Curve, ElGamal, Diffie-Hellman
Khi Alice gửi một thông điệp tới Bob, Alice sẽ tìm chìa khóa công khai của
Bob. Alice sẽ dùng chìa khóa này để mã hóa thông điệp gửi đi. Khi Bob nhận
được thông điệp đã được mã hóa, Bob dùng khóa bí mật của mình để giải mã
thông điệp này. Nếu quá trình giải mã thành công thì đó chính là bức thông điệp
gửi cho Bob từ Alice. Quá trình này cho phép người gửi và người nhận thực hiện
16

việc giao dịch mà không cần trao đổi thông tin bí mật nào trước đó.

K
B
+
: Khóa công khai của Bob.
K
B
-
: Khóa bí mật của Bob.


Hình 1.10 Mã hóa bất đối
x

ng


Nhược điểm của thuật toán mã hóa bất đối xứng là tốc độ xử lý chậm,

chính vì vậy trong thực tế một hệ thống lai tạp được xử dụng để thực hiện giao
dịch giữa bên gửi và bên nhận. Thuật toán đối xứng được sử dụng để mã hóa dữ
liệu, thuật toán bất đối xứng dùng để mã hóa chìa dùng để mã hóa dữ liệu.

1.7.3 Chứng chỉ điện tử
Chứng chỉ điện tử là sự kết hợp giữa chữ ký điện tử (chữ ký số) và các
thông tin về chủ sở hữu cũng như các thông tin quan trọng khác.
1.7.3.1 Chữ ký điện tử
Khi bên gửi và bên nhận muốn gây hại cho nhau dựa trên cách thức: bên
nhận giả mạo thông báo của bên gửi, bên gửi từ chối đã gửi thông báo tới bên nhận.
Chữ ký điện tử hay còn gọi là chữ ký số ra đời nhằm bảo đảm an toàn, giải quyết
tranh chấp trong giao dịch điện tử, bảo vệ các bên trong quá trình giao dịch.
Chức năng quan trọng của chữ ký số:
- Xác minh tác giả và thời điểm ký thông báo.
- Xác thực nội dung thông báo.
- Là căn cứ để giải quyết khi có tranh chấp xảy ra.
Người ta chia chữ ký số ra thành 2 loại chính:
- Chữ ký số trực tiếp
- Chữ ký số gián tiếp: Có sự tham gia của bên thứ 3 gọi là trọng tài.
Nguyên tắc hoạt động của chữ ký số dựa trên hệ thống mã hóa bất đối
xứng. Khi đó mỗi bên sẽ sử dụng một cặp khóa: khóa bí mật và khóa công khai.
hoạt động dựa trên hệ thống mã hóa bất đối xứng. Nếu mã hóa bằng khóa bí mật thì
chỉ có khóa công khai mới giải mã được và ngược lại nếu mã hóa bằng khóa công
khai thì chỉ có khóa bí mật mới giải mã được.
Chữ ký số trực tiếp
Chữ ký số trực tiếp chỉ liên quan tới bên gửi và bên nhận. Đối với hệ thống
17

mã hóa bất đối xứng dùng khóa bí mật riêng để ký toàn bộ thông báo hoặc giá trị
băm.


Hình 1.11 Khóa riêng ký toàn bộ văn bản

Hình 1.12 Khóa riêng ký vào hàm Hash
Nó có thể sử dụng khóa công khai của bên nhận để mã hóa thống báo nhưng
quan trọng là phải ký trước rồi mới mã hóa sau.

Hình 1.13 Dùng khóa công khai bên nhận để mã hóa thông báo.

Chữ ký số gián tiếp
Trong chữ ký số gián tiếp có sự tham gia của bên thứ 3 gọi là trọng tài.
Trọng tài có nhiệm vụ nhận thông báo có chữ ký số của bên gửi, xác minh tính hợp
lệ của nó; bổ xung thông tin thời gian và gửi cho bên nhận. Bên trọng tài được bên
gửi và bên nhận tin tưởng tuyệt đối.
Đối với chữ ký số gián tiếp có thể cài đặt cả mã hóa đối xứng và mã hóa bất
đối xứng. Bên trọng tài có thể nhìn thấy hoặc không nhìn thấy thông báo phụ thuộc
vào kỹ thuật sử dụng.
Các kỹ thuật chữ ký số gián tiếp:
(a) Mã hóa đối xứng, trọng tài thấy thông báo
(1) X  A : M ║ E
K
XA
[ID
X
║ H(M)]
(2) A  Y : E
K
AY
[ID
X

║ M ║ E
K
XA
[ID
X
║ H(M)] ║ T]
(b) Mã hóa đối xứng, trọng tài không thấy thông báo
(1) X  A : ID
X
║ E
K
XY
[M] ║ E
K
XA
[ID
X
║ H(E
K
XY
[M])]
(2) A  Y : E
K
AY
[ID
X
║ E
K
XY
[M] ║ E

K
XA
[ID
X
║ H(E
K
XY
[M])] ║ T]
(c) Mã hóa khóa công khai, trọng tài không thấy thông báo
(1) X  A : ID
X
║ E
KR
X
[ID
X
║ E
KU
Y
[E
KR
X
[M]]]
18

(2) A  Y : E
KR
A
[ID
X

║ E
KU
Y
[E
KR
X
[M]] ║ T]
Trong đó:
X : Bên gửi K
XA
: Khóa dùng chung XA K
XY
: Khóa dùng chung XY
Y : Bên nhận K
AY
: Khóa dùng chung AY KR
X
: Khóa bí mật của X
A : Trọng tài ID
X
: Định danh của X

KU
Y
: Khóa công khai Y
M : Thông báo H(M): Hàm băm thông báo M T : Nhãn thời gian

Quá trình ký văn bản tài liệu:
Giả sử X có tài liệu cần ký. X sẽ sử dụng một trong các kỹ thuật chữ ký số đã
nêu ở trên để thực hiện việc ký vào tài liệu. X sẽ mã hóa tài liệu đó bằng khóa bí mật

riêng hoặc khóa bí mật dùng chung tùy thuộc vào kỹ thuật sử dụng để thu
được bản
mã tài liệu. Như vậy chữ ký trên tài liệu của X, chính là bản mã tài liệu.

Y muốn xác nhận tài liệu là của X với chữ ký là bản mã tài liệu, Y sẽ dùng
khóa công khai của X hoặc khóa bí mật dùng chung để giải mã bản mã tài liệu của
X. Sau khi giải mã, Y thu được một bản giải mã tài liệu, rồi so sánh bản giải mã tài
liệu này với tài liệu . Nếu bản giải mã tài liệu giống với tài liệu thì chữ ký là đúng
của X.
Nếu tài liệu của X bị thay đổi (dù chỉ một ký tự, một dấu chấm, hay một ký
hiệu bất kỳ), khi Y
xác

nh

n,
Y sẽ thấy bản giải mã tài liệu khác với tài liệu của X.
Y sẽ kết luận rằng tài liệu đó đã bị thay đổi, không phải là tài liệu X đã ký.

1.7.3.2 Chứng chỉ điện tử.
Chứng chỉ điện tử hay chứng chỉ số ra đời nhằm giải quyết vấn đề tin tưởng
lẫn nhau giữa các bên khi thực hiện giao dịch. Trong môi trường Internet vấn đề
tin tưởng và tin cậy lẫn nhau là đặc biệt quan trọng, nó giúp các bên tham gia giao
dịch có thể thực hiện việc trao đổi các thông tin quan trọng, hoặc các thông tin cá
nhân như học tên, địa chỉ, số điện thoại, email một cách an toàn.
Một đơn vị cung cấp chứng chỉ số CA (Certificate Authority) đóng vai trò
trung gian để xác nhận, xác thực các đối tượng sử dụng chứng chỉ số. Nó có chứng
chỉ số của riêng mình, nó sẽ cung cấp các chứng chỉ số cho các bên. CA được hoàn
toàn tin tưởng bởi các bên tham gia giao dịch điện tử.
Khi các bên tham gia giao dịch (X và Y) muốn xác thực thông tin lẫn nhau

dựa trên chứng chỉ số, việc xác thực sẽ diễn ra như sau: mỗi bên sẽ chuyển chứng
chỉ số cho nhau đồng thời nó cũng có chứng chỉ số của CA, khi đó một phần mềm
ở máy tính của X sẽ tính toán dựa trên sự kết hợp giữa chứng chỉ số của nhà cung
cấp và chứng chỉ số của Y để thông báo cho X biết là chứng chỉ số của Y có phải
là chứng chỉ số hợp lệ hay không, cũng như về tính xác thực của Y. Nếu như việc
kiểm tra cho kết quả chứng chỉ của Y là phù hợp với chứng chỉ của CA thì X hoàn
toàn tin tưởng vào Y.
Yêu cầu đối với chữ ký số và chứng chỉ số đó là: Sử dụng thông tin của
người gửi nhằm tránh việc giả mạo và chối bỏ; tương đối dễ tạo ra; dễ nhận biết
và kiểm tra; sử dụng các thuật toán mã hóa đảm bảo không thể giả mạo CA để
19

cấp chứng chỉ không hợp pháp, mọi chứng chỉ giả mạo có thể dễ dàng bị phát
hiện; thuận tiện trong việc lưu trữ.
Ngoài các thông tin cá nhân chứa trong chứng chỉ số như thông tin về danh
tính của đối tượng được cấp chứng chỉ, thông tin cá nhân như email, số điện thoại
một thành phần nhất thiết không thể thiếu được đó là khóa công khai. Riêng khóa
bí mật sẽ được lưu ở máy tính của chủ sở hữu, nó không được lưu trong chứng chỉ
số, cá nhân sử hữu chứng chỉ số có nhiệm vụ giữ an toàn cho khóa bí mật. Việc giữ
an toàn cho khóa bí mật cũng chính là giúp cho chủ sở hữu tránh khỏi các giao dịch
giả mạo.

Các tổ chức CA ví dụ như Verisign, Entrust, RSA sẽ cung cấp các chứng
chỉ số cho các cá nhân, tổ chức có nhu cầu và thực hiện việc đăng ký với CA sau
khi CA kiểm tra thông tin của người đăng ký. Các chứng chỉ thường được lưu
dưới dạng file để cài đặt vào thiết bị (PC, Server ).

1.7.4 Một số thuật toán nổi tiếng
1.7.4.1 Thuật toán mã hóa đối xứng AES
AES (Advanced Encryption Standard) – Tiêu chuẩn mã hóa tiên tiến được

công bố bởi viện tiêu chuẩn và công nghệ quốc gia Hoa Kỳ NIST (National
Institute of Standards and Technology) vào năm 2001. AES là một thuật toán mã
hóa khối đối xứng được sử dụng để thay thế DES (Data Encryption Standard).
Kích thước của khối là 128bit, kích thước khóa 128/192/256 bit. Tên của giải thuật
là Rijndael, tên của thuật toán được lấy từ tên của 2 nhà mật mã học người Bỉ đã
nghiên cứu và phát triển thuật toán trên là Vincent Rijmen và Joan Deamen.
Thuật toán Rijndeal có những đặc tính sau:
- Chống lại tất cả các cuộc tấn công.
- Tốc độ mã hóa nhanh và nhỏ gọn.
- Thiết kế đơn giản.

Mô tả thuật toán :
AES làm việc với từng khối dữ liệu 4×4 byte. Hình 1.14 mô tả quá trình mã hóa và
giải mã của thuật toán AES.
20


Hình 1.14 Quá trình mã hóa và giải mã AES
Quá trình mã hóa AES trải qua bốn bước cơ bản, số vòng lặp của thuật toán có thể
là 10, 12,14 ( phụ thuộc vào chiều dài của khóa).
21


Bảng 1.2 Các tham số của AES

1.
SubBytes
— đây là phép thế (phi tuyến) trong đó mỗi byte sẽ được thế
bằng một byte khác
theo


b

ng
tra (Rijndael S-box).


Hình 1.15 SubBytes
Trong bước SubBytes, mỗi byte được thay thế bằng một byte theo bảng tra
S; b
ij
= S(a
ij
).
22


Bảng 1.3 S-Box
Một ví dụ về Subbytes
EA 04 65 85
83 45 5D 96
5C 33 98 B0
E0 3D AD C5




87 F2 4D 97
EC 6E 4C 90
4A C3 46 C7

8C D8 95 A6


2.
ShiftRows
— đổi chỗ, các hàng trong khối được dịch vòng.
Mỗi hàng được chuyển tuần tự với một số lượng bước là cố định. Đặc biệt,
các phần tử của hàng đầu tiên sẽ không thay đổi vị trí, hàng thứ hai dịch sang trái
một cột, hàng thứ ba dịch sang trái hai cột, hàng cuối cùng sẽ dịch sang trái ba cột.
Thao tác này nhằm đảm bảo mỗi cột của bảng đầu ra đều được tạo thành từ các cột
của bảng trạng thái đầu vào.


Hình 1.16 ShiftRows.

23

Một ví dụ về ShiftRows:
87 F2 4D 97
EC 6E 4C 90
4A C3 46 C7
8C D8 95 A6




87 F2 4D 97
6E 4C 90 EC
46 C7 4A C3
A6 8C D8 95



3.

MixColumns


Hình 1.17 MixColumns.


Trong bước MixColumns, mỗi cột được nhân với một hệ số cố định c(x).
Ví dụ:
87 F2 4D 97
EC 6E 4C 90
4A C3 46 C7
8C D8 95 A6




47 40 A3 4C
37 D4 70 9F
94 E4 3A 42
ED A5 A6 BC


Trong đó với cột đầu tiên:

{02} · {87} = (0000 1110) (0001 1011) = (0001 0101)
{03} · {6E} = {6E} ({02} · {6E}) = (01101110) (1101 1100) = (1011 0010).


24

{02} · {87} = 00010101
{03} · {6E} = 10110010
{46} = 01000110
{A6} = 10100110

01000111


= {47}

4.
AddRoundKey

Với hàm AddRoundKey, mỗi byte trong bảng trạng thái được thực hiện
phép XOR với một khoá vòng, quá trình xử lý AES thu được 11 khoá vòng từ các
key mã hoá được phân phát cho kỹ thuật mã hoá. Việc phân phát các key mã hoá
là kết quả của sự biến đổi các con số, chẳng hạn như hashing, và được thực hiện
dựa trên dãy key bí mật ban đầu. 11 khoá vòng được tìm được từ key mã hoá bằng
cách sử dụng giải thuật tính toán đơn giản.

Hình 1.18 AddRoundKey.
Ví dụ:

Trong đó ma trận thứ 2 là khóa vòng.

1.7.4.2 Thuật toán mã hóa bất đối xứng Diffie – Hellman (DH)
Như đã trình bày ở trên, với phương pháp mã hóa bất đối xứng, khóa dùng

để giải mã không được truyền đi mà chỉ truyền cho bên nhận khóa công khai.
Chính vì vậy phương pháp mã hóa này tương đối an toàn.
Với phương pháp mã hóa với khóa đối xứng, cả hai bên mã hóa (bên gửi)
và giải mã (bên nhận) phải sử dụng chung một khóa để mã hóa và giải mã. Do đó,
việc đảm bảo an toàn và bí mật cho khóa có vai trò cực kỳ quan trọng. Chính vì lý
do này, Whitfield Diffie và Martin Hellman đã đề xuất ra thuật toán trao đổi khóa
này vào năm 1976, thuật toán được lấy tên ghép từ tên của 2 nhà phát minh là
Diffie-Hellman key exchange. Thuật toán được sử dụng để trao đổi khóa bí mật
một cách an toàn trên các kênh thông tin không an toàn, khóa riêng được tính toán
25

bởi cả bên mã hóa và bên giải mã.

Hình 1.19 Mô hình Diffie Hellman

K = A
b
mod p = (g
a
mod p)
b
mod p = g
ab
mod p = (g
b
mod p)
a
mod p = B
a
mod p


Giải thuật:

1. Bên gửi và bên nhận muốn dùng phương pháp mã hóa sử dụng khóa đối xứng để
liên lạc với nhau. Khi đó bên gửi và bên nhận thống nhất sử dụng một cặp số
nguyên tố dùng chung gọi là n và g. Trong đó n là một số nguyên tố đủ lớn, g là
một nguyên căn của n.
Ví dụ ở đây ta chọn n = 353 và g = 3.

2. Bên gửi chọn ngẫu nhiên một số cho mình gọi là x (x<n)và tính giá trị A theo
công thức:

A = g
x
mod n


Giả sử bên gửi chọn x = 97
==> A = 3
97

mod 353 =
40

Vậy A = 40
3. Bên nhận cũng chọn cho mình một số nào đó gọi là y(y<n) và tính B theo công
thức:

B = g
y

mod n


Giả sử bên nhận chọn y = 233 ==> B = 3
233

mod 353 = 248
Vậy B = 248
4. Bên gửi gửi A = 40 cho bên nhận.
Bên nhận gửi B = 248 cho bên gửi

5. Bên gửi tính giá trị khóa mật K
1
theo công thức:

K
1
= B
x
mod n
==> K
1
= 248
97
mod 353 = 160
Bên nhận tính khóa mật K2 theo công thức:


×