1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Bảo đảm an toàn thông tin trên web sử dụng kỹ thuật mã hóa ứng dụng và gửi nhận công văn tài liệu trong hệ thống mạng quân sự

71 43 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 71
Dung lượng 2,63 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

ĐỖ QUỐC TRƯỞNG ĐẢM BẢO AN TOÀN THÔNG TIN TRÊN WEB SỬ DỤNG KỸ THUẬT MÃ HÓA ỨNG DỤNG VÀO GỬI NHẬN CÔNG VĂN TÀI LIỆU TRONG HỆ THỐNG MẠNG QUÂN SỰ Chuyên ngành: Khoa học máy tính Mã số chu

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỖ QUỐC TRƯỞNG

ĐẢM BẢO AN TOÀN THÔNG TIN TRÊN WEB SỬ DỤNG KỸ THUẬT MÃ HÓA ỨNG DỤNG VÀO GỬI NHẬN CÔNG VĂN TÀI

LIỆU TRONG HỆ THỐNG MẠNG QUÂN SỰ

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Thái Nguyên - 2020

Trang 2

ĐỖ QUỐC TRƯỞNG

ĐẢM BẢO AN TOÀN THÔNG TIN TRÊN WEB SỬ DỤNG KỸ THUẬT MÃ HÓA ỨNG DỤNG VÀO GỬI NHẬN CÔNG VĂN TÀI

LIỆU TRONG HỆ THỐNG MẠNG QUÂN SỰ

Chuyên ngành: Khoa học máy tính

Mã số chuyên ngành: 8480101

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: TS PHẠM THẾ QUẾ

Thái Nguyên - 2020

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn này là công trình nghiên cứu của chính bản thân, luận văn này hoàn toàn được hình thành và phát triển từ quan điểm của chính cá nhân tôi, dưới sự hướng dẫn chỉ bảo của TS Phạm Thế Quế Các kết quả nghiên cứu trong luận văn là trung thực và chưa được công bố trong các công trình nào khác

Học viên

Đỗ Quốc Trưởng

Trang 4

LỜI CẢM ƠN

Để hoàn thành luận văn “Đảm bảo an toàn thông tin trên web sử dụng

kỹ thuật mã hóa ứng dụng vào gửi nhận công văn tài liệu trong hệ thống mạng Quân sự” học viên đã nhận được sự hướng dẫn và giúp đỡ nhiệt tình của nhiều tập thể và cá nhân

Trước hết, học viên xin bày tỏ lòng biết ơn chân thành đến ban lãnh đạo cùng quý thầy cô trong khoa Công nghệ thông tin - Trường Đại học Công nghệ thông tin và truyền thông, Đại học Thái Nguyên đã tận tình dạy dỗ, truyền đạt kiến thức, kinh nghiệm và tạo điều kiện thuận lợi cho học viên trong suốt thời gian học tập và thực hiện đề tài

Đặc biệt, xin bày tỏ lòng biết ơn sâu sắc đến thầy hướng dẫn TS Phạm Thế Quế, người đã gợi cho học viên những ý tưởng về đề tài, đã tận tình hướng dẫn và giúp đỡ để đề tài được thực hiện và hoàn thành

Tôi cũng xin cảm ơn cơ quan, bạn bè đồng nghiệp, gia đình và những người thân đã cùng chia sẻ, giúp đỡ, động viên, tạo điều kiện thuận lợi để tôi hoàn thành tốt nhiệm vụ học tập và hoàn thành bản luận văn

Thái nguyên, ngày tháng… năm 2020

Học viên

Đỗ Quốc Trưởng

Trang 5

MỤC LỤC

MỞ ĐẦU 06

Chương 1: TỔNG QUAN VỀ AN TOÀN THÔNG TIN VÀ BẢO MẬT TRÊN WEB 09

1.1 Quá trình phát triển của web 09

1.2 Quá trình phát triển của web 09

1.3 Các hiểm họa đối với an toàn thông tin trên web 09

1.3.1 Tấn công vào vùng ẩn 09

1.3.2 Can thiệp vào tham số trên URL 10

1.3.3 Tấn công dùng cookie 10

1.3.4 Các lỗ hổng bảo mật 10

1.3.5 Cấu hình không an toàn 10

1.3.6 Tràn bộ đệm 10

1.3.7 Tấn công từ chối dịch vụ DoS (Denial of Service) 11

1.4 Các vấn đề bảo mật ứng dụng web 11

1.4.1 Giao thức IPSec 11

1.4.2 Giao thức SSL và TLS 11

1.4.3 Giao thức SET 14

1.4.4 So sánh giữa SET và SSL 16

1.5 An toàn thông tin trong môi trường web 17

1.5.1 Vấn đề an toàn thông tin 17

1.5.2 Chứng chỉ số và cơ chế xác thực 17

1.5.3 Chứng chỉ khóa công khai 21

1.6 Kết luận chương 25

Chương 2: MÃ KHÓA ĐỐI XỨNG, MÃ KHÓA CÔNG KHAI, CHỮ KÝ SỐ TRONG BẢO MẬT GỬI NHẬN CÔNG VĂN TÀI LIỆU GIỮA CÁC ĐƠN VỊ TRONG QUÂN SỰ 26

2.1 Mã khóa đối xứng 26

2.1.1 Định nghĩa 26

Trang 6

2.1.2 Chuẩn mã hóa dữ liệu DES 27

2.2 Mã khóa bất đối xứng (mã hóa khóa công khai) 32

2.2.1 Giới thiệu chung 32

2.2.2 Hệ mật mã RSA 35

2.2.3 Hàm băm 39

2.3 Chữ ký số 42

2.3.1 Khái niệm 42

2.3.2 Phân loại chữ ký số 43

2.3.3 Một số lược đồ chữ ký cơ bản 46

2.3.4 Quá trình ký và xác thực chữ ký số 51

2.3.5 Các phương pháp tấn công chữ ký điện tử 52

2.4 Bảo mật việc gửi nhận công văn tài liệu trong hệ thống Quân sự 52

2.4.1 Trình tự quản lý công văn tài liệu chuyển đi 53

2.4.2 Kiểm tra, đăng ký và đóng dấu công văn tài liệu 53

2.4.3 Trình tự quản lý công văn tài liệu đến 53

2.5 Kết luận chương 53

Chương 3: XÂY DỰNG CHƯƠNG TRÌNH BẢO MẬT GỬI NHẬN CÔNG VĂN TÀI LIỆU TRONG HỆ THỐNG MẠNG QUÂN SỰ 55

3.1 Hiện trạng về gửi nhận công văn tài liệu ở các đơn vị Quân sự 55

3.2 Bảo đảm an toàn thông tin trong đơn vị Quân sự 57

3.3 Cài đặt chương trình và thử nghiệm 59

3.4 Đáng giá kết quả thử nghiệm chương trình 63

KẾT LUẬN 64

KIẾN NGHỊ VÀ HƯỚNG PHÁT TRIỂN 65

TÀI LIỆU THAM KHẢO 66

Trang 7

DANH MỤC CÁC THUẬT NGỮ, TỪ VIẾT TẮT

Từ viết tắt Tiếng anh Nghĩa tiếng việt

CA Certificate Authority Cơ quan chứng thực chữ ký số

DS Digital Signatures Chữ ký số

DSA Digital Signature

Algorithm

Giải thuật ký điện tử

DES Data Encryption Standard Chuẩn mã hóa dữ liệu

DSS Digital Signature Standard Chuẩn chữ ký số

DoS Denial of Service Tấn công từ chối dịch vụ

FTP File Transfer Protocol Giao thức truyền tập tin

HTML Hypertext Markup

Language Ngôn ngữ đánh dấu siêu văn bản

HTTP Hypertext Transfer

Protocol

Giao thức truyền siêu văn bản

LDAP Lightweight Directory

Access Protocol

Giao thức ứng dụng truy cập các cấu trúc thư mục

RSA Rivest, Shamir and

Adleman Giải thuật mã hóa công khai

PKI Public Key Infrastructure Cơ sở hạ tầng khóa công khai

SHA Secure Hash Algorithm Giải thuật băm an toàn

SSL Secure Socket Layer Giao thức an ninh thông tin

Trang 8

Từ viết tắt Tiếng anh Nghĩa tiếng việt

SQL Structured Query Language Ngôn ngữ truy vấn

TCP/IP Transmission Control

Protocol/Internet Protocol

Một hệ thống các giao thức hỗ trợ việc truyền thông tin trên mạng TLS Transport Layer Security Bảo mật tầng giao vận

URL Uniform Resource Locator Định vị tài nguyên thống nhất

Trang 9

DANH MỤC HÌNH VẼ

Hình 1.1: Mô hình hoạt động của web 09

Hình 1.2: Sử dụng SSL gửi và nhận trên internet 12

Hình 1.3: Sơ đồ hoạt động của SSL 14

Hình 1.4: Dùng mật khẩu để xác thực máy khách kết nối tới máy dịch vụ 18

Hình 1.5: Chứng thực của máy khách kết nối tới máy dịch vụ 20

Hình 1.6: Sơ đồ hoạt động của Hệ thống cấp chứng chỉ khóa công khai 22

Hình 1.7: Mô hình dây chuyền chứng thực 24

Hình 2.1: Sơ đồ mã hóa khóa đối xứng 26

Hình 2.2: Một vòng của DES 28

Hình 2.3: Hàm f của DES 29

Hình 2.4: Sơ đồ thuật toán tạo các khóa từ K1 đến K16 30

Hình 2.5: Sơ đồ mô tả chi tiết DES 31

Hình 2.6: Gửi nhận tài liệu mã hóa bất đối xứng 33

Hình 2.7: Sơ đồ mô tả chi tiết thuật toán RSA 37

Hình 2.8: Sơ đồ mô tả bản băm thông điệp 39

Hình 2.9: Đường đi đúng của thông tin 40

Hình 2.10: Thông tin bị lấy trộm và đã bị thay đổi trên đường truyền 40

Hình 2.11: Mô hình lược đồ chữ ký khôi phục thông điệp 46

Hình 2.12: Quá trình ký thông điệp 51

Hình 2.13: Mô hình lược đồ chữ ký khôi phục thông điệp 52

Hình 3.1: Sử dụng thiết bị lưu trữ di động để trao đổi tài liệu (USB) 55

Hình 3.2: Sử dụng máy tính kết nối internet để gửi tài liệu 56

Hình 3.3: Chương trình gửi nhận công văn tài liệu đang triển khai 56

Hình 3.4: Giao diện tạo khóa 59

Hình 3.5: Giao diện gửi tài liệu 60

Hình 3.6: Giao diện lựa chọn các chế độ gửi tài liệu 60

Hình 3.7: Giao diện tài liệu đến khi gửi bảo mật và ký số 61

Hình 3.8: Giao diện giải mã tài liệu thành công 61

Hình 3.9: Giao diện xác thực chữ ký tài liệu thành công 62

Hình 3.10: Giao diện xác thực chữ ký tài liệu không thành công 62

Trang 10

MỞ ĐẦU

1 Đặt vấn đề

1.1 Sự cần thiết lựa chọn đề tài

Hiện nay tình hình an toàn thông tin số ở nước ta diễn biến phức tạp đe dọa nghiêm trọng đến ứng dụng công nghệ thông tin phục vụ phát triển kinh tế

xã hội và đảm bảo Quốc phòng an ninh Bảo mật và đảm bảo an toàn thông tin

dữ liệu đang nhiều nhà khoa học tập trung nghiên cứu, là một chủ đề rộng có liên quan đến nhiều lĩnh vực, trong thực tế có thể có nhiều phương pháp được thực hiện để đảm bảo an toàn thông tin dữ liệu Ngày nay, với sự phát triển nhanh chóng của hạ tầng truyền thông, người sử dụng dựa trên nền tảng này để truyền các thông tin trên mạng thì các nguy cơ xâm nhập vào các hệ thống thông tin, các mạng dữ liệu ngày càng gia tăng Nhiều chuyên gia đang tập trung nghiên cứu và tìm mọi giải pháp để đảm bảo an toàn, an ninh cho hệ thống, đặc biệt là các hệ thống mạng máy tính trong Quân sự Việc bảo mật cho

hệ thống mạng máy tính có thể thực hiện theo nhiều phương diện, ở nhiều tầng khác nhau, bao gồm từ phương diện kiểm soát truy nhập vật lý vào hệ thống, thực hiện sửa chữa, cập nhật, nâng cấp hệ điều hành cũng như vá mọi lỗ hổng

về an ninh, quản lý các hoạt động gửi nhận công văn và truyền tải văn bản trên mạng (Giám sát qua tường lửa, các bộ định tuyến Router, phát hiện và phòng ngừa sự xâm nhập,…) xây dựng các giải pháp bảo mật ở mỗi phần mềm để quản lý người dùng thông qua việc cấp quyền sử dụng, mật khẩu, mật mã, mã hóa dữ liệu để che giấu thông tin

Trên thực tế hiện nay các chiến lược Quân sự Quốc phòng các phương

án tác chiến, các bí mật về khoa học Quân sự cho đến các công văn tài liệu bí mật, tuyệt mật đều được tạo lập soạn thảo lưu trữ trên các máy tính Do không kiểm soát được việc sử dụng các thiết bị lưu trữ di động như USB, thẻ nhớ, ổ cứng di động hay các thiết bị thu phát sóng như USB 3G, Wifi…nên tất các các tài nguyên thông tin Quân sự đang nằm trên không gian mạng đều có thể bị lộ lọt, bị làm giả, bị chỉnh sửa…Nhận thức được vấn đề nêu trên nên em đã chọn

đề tài: “Đảm bảo an toàn thông tin trên web sử dụng kỹ thuật mã hóa ứng dụng

Trang 11

vào gửi nhận công văn tài liệu trong hệ thống mạng Quân sự” Làm luận văn báo cáo tốt nghiệp của mình

1.2 Mục tiêu nghiên cứu của đề tài

Nghiên cứu một số kỹ thuật mã hóa, chữ ký số sử dụng trên môi trường Web Sau đó là xây dựng chương trình ứng dụng vào thực tế đơn vị

2 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu của đề tài là đảm bảo an toàn dữ liệu gửi trên môi trường Web, các giao thức bảo mật, các thuật toán mã hóa đối xứng (như DES), bất đối xứng (như mật mã khóa công khai RSA), chữ ký số, ứng dụng mã hóa

và chữ ký số trong gửi nhận công văn tài liệu trên hệ thống mạng Quân sự

3 Hướng nghiên cứu của đề tài

- Nghiên cứu các vấn đề mất an toàn thông tin trên môi trường web, cơ

sở khoa học của mã hóa, chữ ký số của các tác giả trong và ngoài nước, các bài báo thông tin trên mạng từ đó trình bày theo ý tưởng của mình và đề xuất các giải pháp bảo mật, an toàn thông tin trong gửi nhận công văn tài liệu qua mạng của các đơn vị trong toàn quân

- Cài đặt đưa vào triển khai thực tiễn tại đơn vị chương trình gửi nhận công văn tài liệu để làm nổi bật tính bảo mật, an toàn thông tin so với các chương trình cũ hiện hành

4 Cấu trúc của luận văn

Luận văn gồm: Phần mở đầu, ba chương chính, kết luận và tài liệu tham khảo cụ thể:

Phần mở đầu: Trình bày lý do chọn đề tài và bố cục của luận văn

Chương 1: Tổng quan về an toàn thông tin và bảo mật trên web

Chương 2 Mã khóa đối xứng, mã khóa công khai, chữ ký số trong bảo mật gửi nhận công văn tài liệu giữa các đơn vị trong Quân sự

Chương 3 Xây dựng chương trình bảo mật gửi nhận công văn tài liệu trong hệ thống mạng Quân sự

Kết luận và hướng phát triển của luận văn

Trang 12

5 Phương pháp nghiên cứu

- Thu thập, phân tích và tổng các tài liệu, thông tin về các nội dung có

liên quan đến đề tài

- Tìm hiểu về các hiểm họa an toàn thông tin trên web

- Tìm hiểu về hệ mật mã đối xứng, hệ mật mã bất đối xứng, chữ ký số để

mã hóa dữ liệu, xác thực thông tin trong gửi nhận công văn tài liệu

- Phân tích nghiệp vụ gửi nhận công văn hiện tại ở đơn vị để xây dựng chương trình gắn sát với thực tế người sử dụng đảm bảo an toàn thông tin cho tài liệu

6 Ý nghĩa khoa học của đề tài

- Ứng dụng các dịch vụ của web kết hợp với các giải pháp an toàn thông tin, chú trọng nghiên cứu khóa công khai, chữ ký số để xây dựng phần mềm gửi/nhận công văn tài liệu trên hệ thống mạng Quân sự Hệ thống đáp ứng yêu cầu về truyền tài thông tin trong Quân sự: “Kịp thời, chính xác, bí mật, an toàn”, góp phần hiện đại hóa Quân đội

- Cài đặt thành công chương trình đưa vào sử dụng thực tế tại đơn vị

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ AN TOÀN THÔNG TIN VÀ BẢO MẬT TRÊN WEB

1.1 Quá trình phát triển của web

Ý tưởng về web do Tim Berners Lee, ông đã phát minh ra một giao thức

cơ bản cho việc chuyển tải các tài liệu lên mạng là HTTP, ngôn ngữ đánh dấu siêu văn bản HTML để mô tả cấu trúc của một tài liệu Kể từ khi ra đời web đã phát triển không ngừng và đã trải qua các thế hệ web 1.0, web 2.0, web 3.0, web 4.0, web 5.0

1.2 Mô hình hoạt động của web

Từ một trình duyệt, người dùng gõ vào địa chỉ của một trang web, trình duyệt sẽ thực hiện một kết nối tới máy chủ tên miền để chuyển đổi tên miền ra địa chỉ IP tương ứng Sau đó, trình duyệt sẽ gửi tiếp một kết nối tới máy chủ của website có địa chỉ IP này qua cổng 80 Dựa trên giao thức HTTP, trình duyệt sẽ gửi yêu cầu GET đến máy chủ Khi đó máy chủ sẽ xử lý các yêu cầu của người dùng, rồi gửi trả kết quả về cho phía client

Hình 1.1: Mô hình hoạt động của web

1.3 Các hiểm hoạ đối với an toàn web

Trang 14

1.3.2 Can thiệp vào tham số trên URL

Dùng các câu lệnh SQL để khai thác cơ sở dữ liệu trên server bị lỗi, điển hình nhất là tấn công bằng "SQL INJECT" Khi hacker gửi những dữ liệu (thông qua các form), ứng dụng web sẽ thực hiện và trả về trình duyệt kết quả câu truy vấn hay những thông báo lỗi có liên quan đến cơ sở dữ liệu và từ đó có thể điều khiển toàn bộ hệ thống ứng dụng

1.3.3 Tấn công dùng cookie

Cookie là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa trình chủ

và trình duyệt của người dùng chứa thông tin về người dùng đã ghé thăm trang web và những vùng mà họ đã đi qua trong trang web và lưu trên đĩa cứng của máy tính Những người biết tận dụng những thông tin này có thể gây nên những hậu quả nghiêm trọng

1.3.5 Cấu hình không an toàn

Các phần mềm và hệ điều hành trên máy chủ không được cập nhật với bản vá lỗi bảo mật mới nhất, không phân đúng quyền cho các thư mục và tập tin trong trang web, những chức năng quản lý và debug được triển khai không cần thiết, phần mềm web server đăng quá nhiều thông tin trong trang báo lỗi, cấu hình SSL và các hàm mã hóa không đúng

1.3.6 Tràn bộ đệm

Tin tặc gửi một đoạn mã được thiết kế đặc biệt đến ứng dụng, tin tặc có thể làm cho ứng dụng web thi hành bất kỳ đoạn mã nào, điều này tương đương với việc chiếm quyền làm chủ máy server

Trang 15

1.3.7 Tấn công từ chối dịch vụ DoS (Denial of Service)

Là các cuộc tấn công trên hệ thống mạng nhằm ngăn cản những truy xuất tới các dịch vụ, làm cho các dịch vụ mạng bị tê liệt, không còn khả năng đáp ứng được yêu cầu bằng cách làm tràn ngập số lượng kết nối, quá tải server hoặc ứng dụng chạy trên server

1.4 Các vấn đề bảo mật ứng dụng web

1.4.1 Giao thức IPSec

- IPSec là một tiêu chuẩn nhằm bổ sung an toàn cho Internet, được xác định trong RFC 1825, so với giao thức IP, IPSec thêm vào hai trường mào đầu

IP để cung cấp tính năng xác thực và bảo mật tại lớp IP

- IPSec có hai cơ chế mã hoá là Tunnel Mode và Transport Mode, sử dụng thuật toán mã hoá đối xứng để mã hoá truyền thông Các thực thể tham gia truyền thông sử dụng các khoá chia sẻ được tạo ra bằng thuật toán Diffie-Hellman kèm với việc xác thực để đảm bảo khoá đối xứng được thiết lập giữa những bên truyền thông một cách chính xác

- Trước khi IPSec trao đổi dữ liệu đã xác thực hoặc mã hoá, cả bên gửi

và bên nhận phải thống nhất với nhau về thuật toán mã hoá và khoá (hoặc các khoá) sử dụng

1.4.2 Giao thức SSL và TLS

1.4.2.1 Lịch sử SSL, TLS

Giao thức SSL (Secure Socket Layer) đầu tiên do Netscape phát triển để bảo mật dữ liệu gửi và nhận trên Internet của các giao thức thuộc lớp ứng dụng như HTTP, LDAP hay POP3 Các phiên bản gồm: SSL 1.0, SSL 2.0 - 1994, SSL 3.0 - 1996 SSL nhanh chóng hoàn thiện qua các phiên bản sau đó nó trở thành giao thức phổ biến nhất cho an toàn truyền thông trên WWW

Tổ chức IETF (Internet Engineering Task Force) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security) Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL Phiên bản TLS v1.0 (được biết

Trang 16

đến như là SSL v3.1)-1999 tuy nhiên các giao thức hoạt động không được đầy

đủ TLS còn được nâng cấp hơn nữa các chức năng qua các phiên bản TLS v1.1 vào năm 2006, TLS v1.2 vào năm 2008, TLS v1.3 vào năm 2018 Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn

Hình 1.2: Sử dụng SSL gửi và nhận trên internet 1.4.2.2 Nhiệm vụ và kiến trúc SSL

- Nhiệm vụ: Xác thực server, xác thực client, mã hoá kết nối

- Kiến trúc SSL: Gồm 4 giao thức con sau: SSL Handshake, SSL Change Cipher Spec, SSL Alert, SSL Record Layer

- SSL là một lớp (bảo mật) trung gian giữa lớp vận chuyển và lớp ứng dụng SSL được xếp lớp lên trên một dịch vụ vận chuyển định hướng nối kết

và đáng tin cậy, SSL nằm trong tầng ứng dụng của giao thức TCP/IP

- SSL Record Protocol: Sử dụng để trao đổi tất cả các kiểu dữ liệu trong một phiên - bao gồm các thông điệp, dữ liệu của các giao thức SSL khác và dữ liệu của ứng dụng SSL Record Protocol liên quan đến việc bảo mật và đảm bảo toàn vẹn dữ liệu, mục đích là thu nhận những thông điệp mà ứng dụng chuẩn bị gửi, phân mảnh dữ liệu cần truyền, đóng gói, bổ xung header tạo thành một đối tượng bản ghi được mã hoá và có thể truyền bằng giao thức TCP

- Handshake Protocol: Giao thức này được sử dụng để khởi tạo phiên SSL giữa client và server, nhờ giao thức này các bên sẽ xác thực lẫn nhau và thoả thuận các tham số cho phiên làm việc sẽ được thiết lập

Trang 17

- Alert Protocol: Sử dụng để mang các thông điệp của phiên liên quan tới việc trao đổi dữ liệu và hoạt động của các giao thức

- Change Cipher Spec Protocol: Chứa một thông điệp mang giá trị 1 làm chuyển trạng thái của một phiên từ “đang chờ” sang “bền vững”

1.4.2.3 Hoạt động của SSL

Khi trình duyệt của một máy khách đến một Website bí mật của một máy chủ, máy chủ gửi một lời chào tới trình duyệt Trình duyệt đáp lại bằng một lời chào Việc tiến hành trao đổi lời chào, hoặc bắt tay cho phép 2 máy tính quyết định các chuẩn mã hoá và nén (mà chúng cùng hỗ trợ)

Trình duyệt máy khách yêu cầu máy chủ đưa ra một chứng chỉ số Máy chủ gửi cho trình duyệt một chứng chỉ đã được công nhận bởi CA Trình duyệt kiểm tra chữ ký số có trên chứng chỉ của máy chủ, dựa vào khoá công khai của

CA, khoá này được lưu giữ trong trình duyệt Hoạt động này xác thực máy chủ thương mại

Máy khách và máy chủ thoả thuận rằng mọi trao đổi phải được giữ bí mật, bởi vì những thông tin này là quan trọng Để thực hiện bí mật, SSL sử dụng mã hoá khoá công khai (không đối xứng) và mã hoá khoá riêng (đối xứng) Thoạt đầu, trình duyệt sinh ra một khoá riêng dùng chung cho cả hai Sau đó, trình duyệt mã hoá khoá riêng bằng khoá công khai của máy chủ Khoá công khai của máy chủ được lưu giữ trong chứng chỉ số, máy chủ gửi chứng chỉ này cho trình duyệt trong quá trình xác thực Một khi khoá được mã hoá, trình duyệt gửi nó cho máy chủ Ngược lại, máy chủ giải mã thông báo bằng khoá riêng của nó và tìm ra khoá riêng dùng chung Tất cả các thông báo giữa máy khách

và máy chủ được mã hoá bằng khoá riêng dùng chung (cũng được biết đến như

là một khoá phiên)

Sau khi kết thúc phiên giao dịch, khoá phiên bị huỷ bỏ Một kết nối mới lại bắt đầu tương tự

Trang 18

Hình 1.3: Sơ đồ hoạt động của SSL

1.4.3 Giao thức SET

1.4.3.1 Giới thiệu tổng quan về SET

SET là một giao thức chuẩn để đảm bảo an toàn cho các giao dịch thẻ tín dụng trong các mạng không an toàn và Internet SET không phải là một hệ thống thanh toán mà là một bộ các giao thức và khuôn dạng an toàn cho phép người sử dụng triển khai cơ sở hạ tầng thanh toán bằng thẻ tín dụng trên một mạng một cách an toàn

1.4.3.2 Nguyên tắc thanh toán bằng thẻ với giao thức SET

Trong giao thức SET, có 5 thực thể gồm: Chủ thẻ, Thương nhân, Ngân hàng thương nhân, Tổ chức cấp thẻ, Cơ quan chứng thực

1.4.3.3 Mô tả một quá trình giao dịch

Bước 1: Chủ thẻ và thương nhân đăng ký với một CA để nhận được

chứng chỉ số

Bước 2: Khách hàng duyệt website và đặt mua hàng với hình thức thanh toán là SET

Trang 19

- Thương nhân gửi một bản sao chứng chỉ của mình để khách hàng xác minh rằng đây là một kho hàng hợp lệ Thương nhân cũng gửi chứng chỉ số của ngân hàng thanh toán

- Khách hàng nhận và xác minh chứng chỉ của Thương nhân để khẳng định thương nhân đó có hợp lệ hay không

- Khách hàng gửi thông điệp đặt hàng cho thương nhân bao gồm thông tin đặt hàng, thông tin thanh toán và thông tin để đảm bảo thanh toán chỉ có thể được thực hiện với lệnh cụ thể này Thông tin đặt hàng được mã hoá bằng khoá công khai của Thương nhân, còn thông tin thanh toán được mã hoá bằng khoá công khai của ngân hàng

- Thương nhân xác minh khách hàng và yêu cầu Ngân hàng thương nhân

uỷ quyền thanh toán bằng cách gửi lệnh đặt hàng bao hàm khoá công khai của ngân hàng, thông tin thanh toán của khách hàng và chứng chỉ của Thương nhân

- Ngân hàng thương nhân xác minh và uỷ quyền thanh toán

- Thương nhân xác nhận lệnh và giao hàng và điền uỷ quyền này vào lệnh rồi gửi xác nhận lệnh cho khách hàng, sau đó giao hàng cho khách hàng Thông qua ngân hàng thanh toán yêu cầu ngân hàng của chủ thẻ thanh toán Để khởi động thanh toán, thương nhân tạo và ký một yêu cầu cầm giữ và gửi cho cổng nối thanh toán Do đã có uỷ quyền, cổng nối thanh toán chuyển yêu cầu cầm giữ thành nguồn tiền chuyển vào tài khoản của Thương nhân

- Tổ chức cấp thẻ in hoá đơn thẻ tín dụng cho khách hàng

1.4.3.4 Mã hóa SET

- Sử dụng khóa đối xứng: Gói dữ liệu được mã hóa bằng cách dùng một khóa đối xứng ngẫu nhiên (DES 56 bit) Khóa này được mã hóa với khóa công khai (RSA) trong thông báo của người nhận Kết quả thu được gọi là “Phong

bì số” của thông báo

- Sử dụng khóa bất đối xứng, chữ ký số:

Trang 20

+ Mật mã khóa phi đối xứng: Mật mã khóa công khai được dùng để mã

hóa các khóa DES và dùng để xác thực, mỗi lần SET thực hiện xử lý dùng hai

cặp khóa bất đối xứng: một cặp khóa trao đổi để mã hóa và giải mã khóa phiên,

và một cặp “signature” để tạo và xác minh các chữ ký số (160 bit)

+ Chữ ký số: Nhằm bảo đảm tính xác thực và toàn vẹn của thông báo,

người nhận ký số có thể chắc chắn rằng thông báo thật sự đến từ người gửi

+ Chứng chỉ số: Dùng để xác nhận bên tham gia, CA sẽ tạo ra một thông

báo chứa tên của người tham gia và khóa công khai của nó

+ Chữ ký kép: Chữ ký kép liên kết 2 thông điệp dành cho hai đối tượng

nhận khác nhau gồm thông tin đặt hàng OI cho thương nhân và thông tin thanh

toán PI cho ngân hàng

1.4.3.5 Ưu điểm của SET

Đảm bảo tính chính xác của thông tin cho bên gửi và bên nhận, sự toàn

vẹn của thông tin trong quá trình truyền dữ liệu thông qua việc sử dụng chữ ký

số, khó bẻ khoá, bảo vệ tất cả những người tham gia hợp pháp trong giao dịch

và sử dụng một cách an toàn nhất, hạn chế tình trạng từ chối dịch vụ và lừa đảo

qua mạng do có cơ chế xác thực cả hai phía

1.4.3.6 Hạn chế của SET

Yêu cầu phần mềm, phần cứng chuyên dụng với chi phí cao, độ trễ khi

giao dịch do tính phức tạp của các thuật toán mã hóa công khai và thường xuyên

tiến hành giao dịch với các ngân hàng trung gian, hệ thống cồng kềnh và quá

trình giao dịch chậm, các tổ chức tài chính phải trả thêm phí cài đặt và duy trì

PKI cho CA, các giao dịch dựa trên tài khoản như: séc điện tử không hỗ trợ

trong SET

1.4.4 So sánh giữa SET và SSL

- SSL: Không sử dụng cổng nối thanh toán và Thương nhân nhận được

cả thông tin về việc đặt hàng lẫn thông tin thẻ tín dụng, thực hiện xác thực tại

thời điểm khởi đầu của mỗi phiên, không yêu cầu cơ quan chứng thực gốc

Trang 21

- SET: Giấu thông tin về thẻ tín dụng của khách hàng đối với Thương nhân và cùng giấu thông tin về đơn hàng đối với các ngân hàng để bảo vệ việc riêng tư, xác thực tại mỗi lần yêu cầu/đáp ứng, Yêu cầu cơ quan chứng thực gốc và kiến trúc phân cấp

1.5 An toàn thông tin trong môi trường web

1.5.1 Vấn đề an toàn thông tin

An toàn thông tin là vấn đề đặc biệt quan trọng cần phải được đảm bảo

an toàn trước việc khai thác thông tin trái phép và cần tập trung vào việc bảo

vệ các tài sản khi chúng được chuyển tiếp giữa client và server phải đảm bảo tính toàn vẹn, an toàn và bao gồm cả tính xác thực Các kỹ thuật đảm bảo cho

an toàn giao dịch điện tử chính là sử dụng các hệ mật mã, các chứng chỉ số và

sử dụng chữ ký số trong quá trình thực hiện các giao dịch

1.5.2 Chứng chỉ số và cơ chế xác thực

1.5.2.1 Chứng chỉ số

Chứng chỉ số là một tệp tin điện tử được sử dụng để nhận diện một cá nhân, một tổ chức,… nó gắn định danh của đối tượng đó với một khóa công khai, giống như bằng lái xe, hộ chiếu hoặc chứng minh thư của một người

Cơ quan chứng thực chữ ký số (Certificate Authority - CA) Đó là một đơn vị có thẩm quyền xác nhận định danh và cấp các chứng chỉ số CA có thể

là một đối tác thứ ba đứng độc lập hoặc các tổ chức vận hành một hệ thống tự cấp các chứng chỉ cho nội bộ của họ Các phương pháp để xác định định danh phụ thuộc vào các chính sách mà CA đặt ra Chính sách lập ra phải đảm bảo việc cấp chứng chỉ số là đúng đắn, ai được cấp và mục đích dùng vào việc gì

Thông thường, trước khi cấp một chứng chỉ số, CA sẽ cung cấp một thủ tục cần thiết phải thực hiện cho các loại chứng chỉ số Trong chứng chỉ số chứa một khóa công khai được gắn với một tên duy nhất của một đối tượng Các chứng chỉ số giúp ngăn chặn việc sử dụng khóa công khai một cách giả mạo Chỉ có khóa công khai được chứng thực bởi chứng chỉ số sẽ làm việc với khóa

Trang 22

bí mật tương ứng, nó được sở hữu bởi đối tượng có định danh nằm trong chứng chỉ số Ngoài khóa công khai, chứng chỉ số còn chứa thông tin về đối tượng như: tên để nhận diện, hạn dùng, tên của CA cấp chứng chỉ số, mã số,…Điều quan trọng nhất là chữ ký số phải được chứng thực bởi CA Nó cho phép chứng chỉ số như đã được đóng dấu để người sử dụng có thể dùng các phần mềm ký

số để kiểm tra chính các chữ số đó

1.5.2.2 Cơ chế xác thực

Việc giao tiếp trên mạng điển hình là giữa một máy khách - Client và một máy dịch vụ - Server Việc chứng thực có thể thực hiện ở cả hai phía

Có hai hình thức xác thực máy khách: Xác thực dựa trên tên truy nhập

và mật khẩu, xác thực dựa trên chứng chỉ số

- Xác thực dựa trên tên truy nhập và mật khẩu (Username và Password) Tất cả các máy dịch vụ cho phép người dùng nhập mật khẩu, để có thể truy nhập vào hệ thống Máy dịch vụ sẽ quản lý danh sách các Username, Password này và thực hiện việc xác thực người sử dụng trước khi cho phép họ truy nhập tài nguyên của hệ thống

Hình 1.4: Dùng mật khẩu để xác thực máy khách kết nối tới máy dịch vụ

Khi sử dụng loại xác thực này, người dùng phải nhập mật khẩu cho mỗi máy khách khác nhau, máy dịch vụ sẽ lưu lại dấu vết của các mật khẩu này cho mỗi người dùng Quá trình này được thưc hiện theo các bước sau:

Trang 23

Bước 1: Để đáp lại yêu cầu từ máy dịch vụ, máy khách sẽ hiện hộp thoại yêu cầu nhập mật khẩu, người dùng phải nhập mật khẩu cho mỗi máy dịch vụ khác nhau trong cùng một phiên làm việc

Bước 2: Máy khách gửi mật khẩu qua mạng, không cần một hình thức

mã hóa nào

Bước 3: Máy dịch vụ tìm kiếm mật khẩu trong cơ sở dữ liệu

Bước 4: Máy dịch vụ xác định xem mật khẩu đó có quyền truy cập vào những tài nguyên nào của hệ thống

- Xác thực dựa trên chứng chỉ số: Máy khách ký số vào dữ liệu, sau đó gửi cả chữ ký số và chứng chỉ số qua mạng Máy dịch vụ sẽ dùng kỹ thuật mã hóa khóa công khai để kiểm tra chữ ký và xác định tính hợp lệ của chứng chỉ

số Chứng chỉ số có thể thay thế 3 bước đầu của phương pháp chứng thực bằng mật khẩu với cơ chế cho phép người dùng chỉ phải nhập mật khẩu một lần và không phải truyền qua mạng, người quản trị có thể điều khiển quyền truy nhập một cách tập trung

Chứng chỉ số chứng thực cho máy khách kết nối tới máy dịch vụ có dùng giao thức bảo mật SSL truyền thông tin an toàn, máy khách và máy chủ quản

lý các hoạt động mã hóa và giải mã trong một phiên Web an toàn qua mạng, giao thức SSL là một phiên bản an toàn của HTTP, được gọi là HTTPs, SSL

có 2 độ dài của khóa phiên riêng được sinh ra trong mọi giao dịch có mã hóa là

40 bits và 128 bits) Máy khách phải có chứng chỉ số để cho máy dịch vụ nhận diện Sử dụng chứng chỉ số để chứng thực có lợi thế hơn khi dùng mật khẩu Bởi vì nó dựa trên những gì mà người sử dụng có: Khóa bí mật và mật khẩu để bảo vệ khóa bí mật Điều cần chú ý là chỉ có chủ nhân của máy khách mới được phép truy nhập vào máy khách, phải nhập mật khẩu để vào cơ sở dữ liệu của chương trình có sử dụng khóa bí mật

Cả hai cơ chế xác thực trên đều phải truy nhập mức vật lý tới các máy cá nhân Mã hóa khóa công khai chỉ có thể kiểm tra việc sử dụng khóa bí mật tương ứng khóa công khai trong chứng chỉ số Nó không đảm nhận trách nhiệm

Trang 24

bảo mật vật lý và mật khẩu sử dụng của khóa bí mật Trách nhiệm này thuộc

về người sử dụng

Quá trình xác thực bằng chứng chỉ số thực hiện như sau:

Bước 1: Phần mềm máy khách quản lý cơ sở dữ liệu về các cặp khóa bí mật và khóa công khai Máy khách sẽ yêu cầu nhập mật khẩu để truy nhập vào

cơ sở dữ liệu này chỉ một lần hoặc theo định kỳ Khi máy khách truy cập vào máy dịch vụ có sử dụng SSL, để xác thực máy khách dựa trên chứng chỉ số, người dùng chỉ phải nhập mật khẩu một lần, họ không phải nhập lại khi cần truy nhập lần thứ hai

Bước 2: Máy khách dùng khóa bí mật tương ứng với khóa công khai ghi trong chứng chỉ số để ký lên dữ liệu được tạo ra ngẫu nhiên cho mục đích chứng thực từ cả phía máy khách và máy dịch vụ Dữ liệu này và chữ ký số vừa thiết lập là một bằng chứng để xác định tính hợp lệ của khóa bí mật Chữ ký số có thể được kiểm tra bằng khóa công khai tương ứng với khóa bí mật đã dùng để

ký và nó là duy nhất trong mỗi phiên làm việc của giao thức SSL

Bước 3: Máy khách gửi cả chứng chỉ số và dữ liệu kèm theo (một phần

dữ liệu được tạo ngẫu nhiên và được ký) qua mạng

Hình 1.5 Chứng thực của máy khách kết nối tới máy dịch vụ

Bước 4: Máy dịch vụ sử dụng chứng chỉ số và dữ liệu kèm theo đó để xác thực người dùng

Trang 25

Bước 5: Máy dịch vụ có thể thực hiện tuỳ chọn các nhiệm vụ xác thực khác như lưu trữ và quản lý các chứng chỉ số hoặc xác định xem người sử dụng

có những quyền gì đối với các tài nguyên của hệ thống

1.5.3 Chứng chỉ khóa công khai

1.5.3.1 Giới thiệu chung

Khái niệm hạ tầng khóa công khai (PKI) thường được dùng để chỉ toàn

bộ hệ thống bao gồm nhà cung cấp chứng thực số cùng các cơ chế liên quan sử dụng các thuật toán mật mã khóa công khai trong trao đổi thông tin PKI cho phép những người tham gia xác thực nhau và sử dụng thông tin từ các chứng thực khóa công khai để mã hóa và giải mã thông tin trong quá trình trao đổi PKI cho phép các trao đổi thông tin tr ên mạng đảm bảo tính bí mật, toàn vẹn

và xác thực lẫn nhau

Một người muốn dùng kỹ thuật mã hóa khóa công khai để mã hóa một thông điệp và gửi cho người nhận, người gửi cần một bản sao khóa công khai của người nhận Khi một người bất kì muốn kiểm tra chữ ký số thì cần phải có một bản sao khóa công khai của thành viên ký Chúng ta gọi cả hai thành viên

mã hóa thông điệp và thành viên kiểm tra chữ ký số là những người sử dụng khóa công khai Một tổ chức chứng thực đóng vai trò xác nhận khóa công khai phải thực hiện các kỹ thuật đảm bảo dễ dàng phát hiện bất kỳ sự thay đổi phần thông tin nào chứa trong chứng chỉ

Khi khóa công khai được gửi đến cho người sử dụng, thì không cần thiết phải giữ bí mật khóa công khai này Tuy nhiên người dùng khóa công khai phải đảm bảo rằng khóa công khai đang dùng đúng là dành cho thành viên khác (có thể là người nhận thông điệp có chủ định hoặc bộ sinh chữ ký số được yêu cầu) Nếu Hacker dùng khóa công khai khác thay thế khóa công khai hợp lệ, nội dung các thông điệp đã mã hóa có thể bị lộ Vì vậy để truyền thông an toàn giữa người gửi và người nhận thì họ phải có được bản sao khóa công khai của nhau Đây chính là hình thức phân phối khóa công khai thủ công

Tuy nhiên hình thức phân phối khóa công khai kiểu này bị coi là không

Trang 26

thực tế khi số lượng người sử dụng trở lên quá lớn hay Các chứng chỉ khóa công khai giúp cho việc phân phối khóa công khai trở nên có hệ thống

Hệ thống cấp chứng chỉ khóa công khai làm việc như sau:

Một CA phát hành các chứng chỉ cho những người nắm giữ cặp khóa công khai và khóa riêng Một chứng chỉ gồm khóa công khai và thông tin để nhận dạng duy nhất chủ thể của chứng chỉ khóa công khai Khi chủ thể của chứng chỉ khóa công khai là một người hoặc một chủ thể hợp pháp nào đấy

Chứng chỉ khóa công khai được CA ký bằng khóa riêng của họ

Hình 1.6: Sơ đồ hoạt động của Hệ thống cấp chứng chỉ khóa công khai

Một khi hệ thống các chứng chỉ được thiết lập, người dùng cần khóa công khai của một trong các thuê bao của CA, họ chỉ cần lấy bản sao chứng chỉ của thuê bao để lấy ra khóa công khai, kiểm tra chữ ký của CA có trên chứng chỉ hay không? Kiểu hệ thống này tương đối đơn giản và kinh tế khi thiết lập trên diện rộng và theo hình thức tự động bởi vì một trong các đặc tính quan trọng của chứng chỉ là: “Các chứng chỉ có thể được phát hành mà không cần phải bảo

vệ thông qua các dịch vụ an toàn truyền thông để đảm bảo sự xác thực và toàn vẹn”

Như vậy không cần giữ bí mật khóa công khai và có nghĩa các chứng chỉ cũng không phải là bí mật Hơn nữa ở đây không đòi hỏi các yêu cầu về tính xác thực và toàn vẹn (chữ ký của cơ quan chứng thực có trong chứng chỉ đã

Trang 27

cung cấp tính xác thực và toàn vẹn) Không thể làm giả chứng chỉ khi nó đang được phát hành cho người sử dụng khóa công khai vì chữ ký số của cơ quan chứng thực được kiểm tra chính xác Chính vì thế các chứng chỉ khóa công khai được phát hành theo cách: thông qua các máy chủ, hệ thống thư mục, các giao thức truyền thông khác,…

Lợi ích cơ bản của hệ thống cấp chứng chỉ là: Một người sử dụng khóa công khai có thể có được số lượng lớn khóa công khai của các thành viên khác một cách tin cậy, nhờ khóa công khai của cơ quan chứng thực Lưu ý rằng chứng chỉ chỉ hữu ích khi người dùng khóa công khai tin cậy cơ quan chứng thực là tổ chức đã phát hành các chứng chỉ hợp lệ

1.5.3.2 Mô hình cơ quan chứng thực (CA)

Nếu việc thiết lập một CA (có thể phát hành các chứng chỉ khóa công khai cho tất cả những người nắm giữ cặp khóa công khai và khóa riêng trên thế giới) là khả thi và khi tất cả những người sử dụng khóa công khai tin cậy vào các chứng chỉ được CA này phát hành thì chúng ta giải quyết vấn đề khóa công khai Rất tiếc là điều này không thể thực hiện được Đơn giản vì nó không thực

tế đối với một CA Một CA không thể có đầy đủ thông tin và các mối quan hệ với các thuê bao để có thể phát hành các chứng chỉ để được tất cả những người dùng khóa công khai chấp nhận Vì vậy, chúng ta cần chấp nhận sự tồn tại của nhiều CA trên thế giới Giả thiết khi có nhiều CA, để có được khóa công khai của CA, người dùng có thể tìm và sử dụng một chứng chỉ khác, nó chứa khóa công khai của CA này nhưng lại do CA khác phát hành - khóa công khai của

CA này được người dùng nắm giữ một cách an toàn Như vậy CA phải là một

tổ chức tin cậy để ký và phát hành chứng thực

Tuy vậy, một người sử dụng có thể áp dụng đệ qui chứng chỉ để thu được khóa công khai của các CA và khóa công khai của những người sử dụng từ xa Điều này dẫn đến một mô hình được gọi là dây chuyền chứng thực hoặc đường dẫn chứng thực dựa vào các hệ thống phân phối khóa công khai như sau:

Trang 28

Hình 1.7: Mô hình dây chuyền chứng thực 1.5.3.3 Thời hạn tồn tại và việc thu hồi chứng chỉ

Trong hệ thống kỹ thuật, một cặp khóa bất kì có thời gian tồn tại bị giới hạn nhằm kiểm soát các cơ hội thám mã và hạn chế thời gian có thể xảy ra tấn công Vì vậy, một chứng chỉ có thời gian hợp lệ được quy định trước, có ngày giờ bắt đầu và ngày giờ kết thúc Sau khi chứng chỉ số hết hạn, sự ràng buộc giữa khóa công khai và chủ thể của chứng chỉ có thể không còn hợp lệ nữa và chứng chỉ không còn được tin cậy Một người sử dụng khóa công khai không nên dùng chứng chỉ đã hết hạn, trừ khi muốn kiểm tra chữ ký trên tài liệu cũ

Thời hạn kết thúc của chứng chỉ còn dùng để bảo vệ những người dùng chống lại việc tiếp tục sử dụng khóa công khai - thông qua chứng chỉ đã được phát hành trước khi thoả hiệp Có nhiều trường hợp, trong đó một CA muốn huỷ bỏ hoặc thu hồi chứng chỉ trước khi thời hạn sử dụng của nó kết thúc Chứng chỉ bị thu hồi trong trường hợp phát hiện hoặc nghi ngờ có thỏa hiệp khóa riêng tương ứng

Trang 29

1.6 Kết luận chương

Trong chương này, luận văn đã trình bày tổng quan về sự ra đời và cách thức hoạt động của web, các hiểm họa đối với an toàn thông tin trên web cùng với đó tìm hiểm về các giao thức để bảo đảm an toàn thông tin khi triển khai ứng dụng chạy trên web, tìm hiểu về chứng chỉ số và các cơ chế xác thực giữa máy dịch vụ và máy khách

Trang 30

CHƯƠNG 2

MÃ KHOÁ ĐỐI XỨNG, MÃ KHOÁ CÔNG KHAI, CHỮ KÝ SỐ TRONG BẢO MẬT GỬI NHẬN CÔNG VĂN TÀI LIỆU GIỮA CÁC

ĐƠN VỊ QUÂN SỰ 2.1 Mã khóa đối xứng

2.1.1 Định nghĩa

Thuật toán khóa đối xứng là thuật toán trong đó các khóa dùng cho việc

mã hóa và giải mã có quan hệ rõ ràng với nhau (có thể dễ dàng tìm được một khóa nếu biết khóa kia)

Trong rất nhiều trường hợp, khóa để mã hóa và khóa giải mã là giống nhau hoặc chỉ khác nhau nhờ một biến đổi giữa hai khóa Thuật toán này còn

có nhiều tên gọi khác như thuật toán khóa bí mật, thuật toán khóa đơn giản, Thuật toán này yêu cầu người gửi và người nhận phải thỏa thuận một khóa trước khi văn bản được gửi đi, và khóa này phải được cất giấu bí mật Độ an toàn của thuật toán này vẫn phụ thuộc vào khóa, nếu để lộ ra khóa này nghĩa là bất kì người nào cũng có thể mã hóa và giải mã các văn bản trong hệ thống mã hóa Sự mã hóa và giải mã của thuật toán được mô tả như sau: EK(P) = C và

DK(C) = P

Hình 2.1: Sơ đồ mã hóa khóa đối xứng

Các vấn đề đối với phương pháp mã hóa đối xứng:

Phương pháp mã hóa đối xứng đòi hỏi người mã và người giải mã phải cùng dùng chung một khóa Khi đó khóa phải được giữ bí mật tuyệt đối, do vậy

ta dễ dàng xác định một khóa nếu biết khóa kia

Hệ mã hóa khóa đối xứng không an toàn nếu khóa bị lộ với xác suất cao Trong hệ này, khoá phải được gửi đi trên kênh an toàn Do vậy, vấn đề quản lý

Trang 31

và phân phối khóa là khó khăn và phức tạp khi sử dụng hệ mã hóa khóa đối xứng Người gửi và người nhận luôn phải thống nhất với nhau về khóa Việc

thay đổi khóa là rất khó và dễ bị lộ

2.1.2 Chuẩn mã hóa dữ liệu DES

2.1.2.1 Giới thiệu

DES (Data Encryption Standard) là một thuật toán mã hoá khối (block algorithm), nó mã hoá một khối dữ liệu 64 bits bằng một khoá 56 bits Một khối bản rõ 64 bits đưa vào thực hiện, sau khi mã hoá, dữ liệu ra là một khối bản mã

64 bits Cả mã hoá và giải mã đều sử dụng cùng một thuật toán và khoá

Nền tảng để xây dựng khối của DES là sự kết hợp đơn giản của các kỹ thuật thay thế và hoán vị bản rõ dựa trên khoá, đó là các vòng lặp DES sử dụng 16 vòng lặp áp dụng cùng một kiểu kết hợp các kỹ thuật trên khối bản

Thuật toán này chỉ sử dụng các phép số học và logic thông thường trên các số 64 bits, vì vậy nó dễ dàng thực hiện vào những năm 1970 trong điều kiện về công nghệ phần cứng lúc bấy giờ Ban đầu, sự thực hiện các phần mềm kiểu này rất thô sơ, nhưng ngày nay thì việc đó đã tốt hơn và với đặc tính lặp đi lặp lại của thuật toán đã tạo nên ý tưởng sử dụng chip với mục đích đặc biệt này

2.1.2.2 Mô tả thuật toán DES

DES mã hóa một xâu bits x của bản rõ độ dài 64 bằng một khóa 56 bits Bản mã nhận được cũng là một xâu bits có độ dài 64

Thuật toán thực hiện theo 3 giai đoạn

+ Với bản rõ cho trước x, một xâu bits x0 sẽ được xây dựng bằng cách hoán vị các bits của x theo phép hoán vị cố định ban đầu IP Ta viết:

x0 = IP(X) = L0R0, trong đó L0 gồm 32 bits đầu và R0 là 32 bits cuối + Sau đó tính toán 16 lần lặp theo một hàm xác định Ta sẽ tính LiRi, 1

i  16 theo qui tắc sau:

Li = Ri-1

Trang 32

Ri = Li-1  f(Ri-1, Ki)

Trong đó  ký hiệu phép hoặc loại trừ của hai xâu bit (cộng theo modulo 2) f là một hàm mà ta sẽ mô tả ở sau, còn K1, K2, , K16 là các xâu bits độ dài 48 được tính như hàm của khoá K (trên thực tế mỗi Ki là một phép chọn hoán vị bits trong K) K1, , K16 sẽ tạo thành bảng khoá Một vòng của phép mã hoá được mô tả trên hình 2.1

+ Áp dụng phép hoán vị ngược IP -1 cho xâu bit R16L16, ta thu được bản

mã y Tức là y = IP -1 (R16L16) Hãy chú ý thứ tự đã đảo của L16 và R16

Hình 2.2: Một vòng của DES

Hàm f có hai biến vào: biến thứ nhất A là xâu bits độ dài 32, biến thứ

hai J là một xâu bits độ dài 48 Đầu ra của f là một xâu bits độ dài 32

Các bước thực hiện như sau:

- Biến thứ nhất A được mở rộng thành một xâu bits độ dài 48 theo một hàm mở rộng cố định E E(A) gồm 32 bits của A (được hoán vị theo cách cố định) với 16 bits xuất hiện hai lần Tính E(A)  J và viết kết quả thành một chuỗi 8 xâu 6 bits = B1B2B3B4B5B6B7B8

Trang 33

- Dùng 8 bảng S1, S2, …, S8 (được gọi là các hộp S) Với mỗi Si là một bảng 4*16 cố định có các hàng là các số nguyên từ 0 đến 15 Với xâu bits có

độ dài 6 (Ký hiệu Bi = b1b2b3b4b5b6), ta tính Si(Bi) như sau: Hai bit b1b6 xác định biểu diễn nhị phân của hàng r của Si (0  r  3) và 4 bit (b2b3b4b5) xác định biểu diễn nhị phân của cột c của Si (0  c  15) Khi đó Si(Bi) sẽ xác định phần tử Si(r, c), phần tử này viết dưới dạng nhị phân là một xâu bits có độ dài 4 (Bởi vậy, mỗi Si có thể coi là một hàm mã mà đầu vào là một xâu bits

có độ dài 2 và một xâu bits có độ dài 4) Bằng cách tương tự tính các Ci = Si(Bi),

1  i  8

- Xâu bits C = C1C2 C8 có độ dài 32 bits được hoán vị theo cách hoán

vị cố định P Xâu kết quả là P(C) được xác định là f(A,J)

- (Hàm f được mô tả trong hình 2.3 Chủ yếu nó gồm một phép thế (sử dụng hộp S), tiếp sau đó là hoán vị P)

Hình 2.3: Hàm f của DES

Trang 34

- Sau cùng ta mô tả việc tính toán bảng khoá từ khoá K Trên thực tế, K

là một xâu bits độ dài 64, trong đó 56 bits là khoá và 8 bit để kiểm tra tính chẵn

lẻ nhằm phát hiện sai Các bit ở các vị trí 8, 16, …, 64 được xác định sao cho mỗi byte chứa một số lẻ các số “1” Bởi vậy một sai sót đơn lẻ có thể phát hiện được trong nhóm 8 bits Các bits kiểm tra bị bỏ qua trong quá trình tính toán bảng khoá

- Với một khoá K 64 bits cho trước, ta loại bỏ các bits kiểm tra tính chẵn

lẻ và hoán vị các bits còn lại của K theo phép hoán vị PC-1

Hình 2.4: Sơ đồ thuật toán tạo các khóa từ K1 đến K16

Trang 35

Hình 2.5: Sơ đồ mô tả chi tiết DES

Ngày đăng: 04/08/2020, 16:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, Đại học Quốc gia Hà Nội, 2002 Khác
[2]. Dương Anh Đức, Trần Minh Triết, Giáo trình mã hóa và ứng dụng, Đại học Quốc gia TP.HCM, 2005 Khác
[3]. Đỗ Xuân Bình, Chữ ký số, chứng chỉ số và cơ sở hạ tầng khóa công khai các vấn đề kỹ thuật và ứng dụng, NXB Bưu điện, Hà Nội, 2007 Khác
[4]. Trịnh Nhật Tiến, Một số vấn đề về an toàn dữ liệu, Đại học Quốc gia Hà Nội, 2004.Tài liệu tiếng Anh Khác
[5]. Dan Boneh, Twenty Years of Attacks on RSA Cryptosystem’, Report, Standford University, 1999 Khác
[6]. Nick Goots, Boris Izotoz, Alexander Moldovyan, Nick Moldovyan, Modern Cryptography-Protect Your Data with Fast Block Ciphers, 2003 Khác
[7]. William Stallings, Cryptography and network security: Principle and practice, prentice hall, 2004 Khác
[8]. A. Mennezes, P.van Oorshoot, S. Vanstone, Handbook of Applied Cryptography, CRC Press, 1997 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w