VÀ PHƢƠNG PHÁP MÔ PHỎNG SHA TRÊN MÁY TÍNH 47
2.1 NHỮNG VẤN ĐỀ CHUNG VỀ HÀM HASH VÀ HÀM HASH AN
TOÀN: 47
2.1.1 HÀM HASH 47
2.1.2 ĐIỀU KIỆN AN TOÀN CHO HÀM HASH 48 4
2.1.3 TẠO HÀM HASH AN TOÀN SHA-1 53
2.2 GIẢI PHÁP TÓM LƢỢC BẢN TIN 58
2.2.1 CHÈN BÍT VÀO BẢN TIN 58
2.2.2 TÓM LƢỢC BẢN TIN 59
2.3 TÍNH TOÁN TÓM LƢỢC BẢN TIN Ở HÀM HASH SHA-1 60
2.3.1 PHƢƠNG PHÁP TÍNH VỚI BẢN TIN CHÈN BÍT CÓ CHỈ CÓ
MỘT KHỐI 60
2.3.2 PHƢƠNG PHÁP TÍNH VỚI BẢN TIN ĐƢỢC CHÈN BÍT GỒM
NHIỀU KHỐI 62
2.4 XÂY DỰNG CHƢƠNG TRÌNH MÔ PHỎNG HÀM HASH SHA 66
2.5 KẾT LUẬN CHƢƠNG 2 67
CHƢƠNG 3 HỆ MẬT MÃ KHOÁ CÔNG KHAI VÀ TRIỂN KHAI
GIẢI PHÁP XÁC THỰC RSA 68
3.1 TỔNG QUAN VỀ HỆ MẬT MÃ KHOÁ CÔNG KHAI RSA 69
3.1.1 TỔNG QUAN 69
3.1.2 HỆ MẬT MÃ RSA 73
3.1.3 CÁC PHƢƠNG PHÁP PHÂN PHỐI KHOÁ CÔNG KHAI 75
3.2 CHỮ KÝ SỐ ĐIỆN TỬ RSA 88
3.2.1 TỔNG QUÁT HOÁ VỀ CHỮ KÝ SỐ ĐIỆN TỬ RSA 88
3.2.2 THUẬT TOÁN TẠO CHỮ KÝ SỐ ĐIỆN TỬ RSA 91
3.3 TRIỂN KHAI GIẢI PHÁP XÁC THỰC NGƢỜI DÙNG SECURID
WAN Wide Area Network
MAN Metropolitan Area Network
6
DANH MỤC CÁC BẢNG BIỂU
Trang
Bảng 2.1 Hàm Hash không an toàn 50
Bảng 2.2 Hàm Hash an toàn và các thông số của nó 50
Bảng 3.1 Chuyển đổi ký tự sang số thập
phân 83
Bảng 3.2 Số liệu tính toán cho việc phá khoá
RSA 84
8
Hình 2.2 Sơ đồ khối của hàm Hash an
toàn 51
Hình 2.3 Sơ đồ khối của xử lý lặp 55
Hình 2.4 Sơ đồ khối xử lý “Từ” ở mỗi vòng trong hàm Hash
56
Hình 2.5 Sơ đồ tạo từ Wt đầu vào với một khối tin
56
Hình 3.1 Mô hình thông tin của hệ mật mã 69
Hình 3.2 Mô hình thông tin của hệ mật mã khoá công khai 71
Hình 3.3 Sơ đồ thông báo công khai khoá
74
Hình 3.4 Sơ đồ phân phối khoá công khai theo thƣ mục
76
Hình 3.5 Cấp phát khoá công khai do quan có thẩm quyền 78
Hình 3.6 Sơ đồ chứng nhận khoá công khai 80
Hình 3.7 Sơ đồ chữ ký số và kiểm tra chữ ký
số 88
Hình 3.8 Sơ đồ chữ ký số và kiểm tra chữ ký số sử dụng hàm
Hash 89
Hình 3.9 Xác thực hai yếu tố 94
Hình 3.10 Mô hình giải pháp xác thực hai yếu tố SecurID của RSA 95
Hình 3.11 Giải pháp ba thành phần 96
Hình 3.12 Hoạt động của RSA SecurID Authentication 98
9
MỞ ĐẦU
thông tin tốt hơn, đồng thời kiềm chế (gây mất an toàn) thông tin của đối
phƣơng thì kẻ đó sẽ chiến thắng. Vì vậy, nghiên cứu an toàn thông tin không
chỉ có ý nghĩa trong việc đảm bảo thông tin cho quốc gia mà còn làm cho
chúng ta có khả năng gây mất toàn thông tin cho đối phƣơng khi có chiến
tranh xẩy ra, phục vụ tốt cho việc bảo vệ tổ quốc.
Với việc ứng dụng các mạng máy tính (Internet) dùng cho chính phủ
điện tử, thƣơng mại điện tử, cũng nhƣ e-learning trên phạm vi toàn thế giới thì
vai trò của an toàn thông tin càng trở nên cấp thiết và quan trọng. An toàn dữ
liệu (data sercurity) chiếm vị trí quan trọng trong an toàn thông tin. An toàn
dữ liệu đảm bảo tính bí mật, tính trọn vẹn của bản tin (không bị giả mạo,
không bị thay đổi). Các biện pháp kỹ thuật đảm bảo cho an toàn dữ liệu bao
gồm: mã hoá tin tức (cryptogaphy), xác thực và thiết lập hàng rào an ninh
thông tin.
Để thực hiện đƣợc các vấn đề này có khá nhiều biện pháp khác nhau,
trong đó phải kể đến biện pháp sử dụng mật mã khoá công khai, đặc biệt là hệ
mật mã RSA (do Rivest, Shamir và Adleman phát minh).
Hiện nay trên thế giới có nhiều dự án nghiên cứu về các giải pháp xác
thực - mã hóa thông tin nhƣ: NESSIE của các nƣớc Châu Âu, CRYPTREC
của Nhật Bản, cũng nhƣ nhiều công trình khoa học, sản phẩm thƣơng mại của
các tác giả tại Mỹ và các nƣớc khác. Nƣớc ta đã có những dự án nghiên cứu
về an toàn thông tin mạng. Với kiến thức học tập đƣợc, tác giả luận văn xin
trình bày đề tài “ Nghiên cứu mã hoá bản tin và phƣơng pháp xác thực ngƣời
dùng theo hệ mật mã khoá công khai RSA” nhằm tổng quát hoá giải pháp và
triển khai ứng dụng hệ thống xác thực RSA dùng cho các cơ quan, xí nghiệp
nhỏ là một nhu cầu cần thiết và mang tính khả thi cao.
Bố cục của luận văn tập trung giải quyết các vấn đề sau:
Phần mở đầu.
Phần nội dung bao gồm:
12
CHƢƠNG 1
TỔNG QUAN VỀ AN TOÀN THÔNG TIN
1.1 Mạng và an toàn mạng
An toàn thông tin đƣợc định nghĩa nhƣ sau [1] :
“An toàn thông tin (information security): (1) Tổng cộng an toàn máy
và an toàn mạng (2). Kết quả của hệ thống chính sách và thủ tục để nhận
dạng, kiểm soát và bảo vệ chống tiết lộ trái phép đối với thông tin cần đƣợc
bảo vệ, phê duyệt qua nội dung quy định hoặc quy chế thực hiện. (3) Việc bảo
vệ chống lại sự tiết lộ, điều khiển, phá huỷ hoặc thay đổi không đƣợc phép đối
với thông tin.”
Sau đây xin trình bày về mạng và an toàn mạng, chính sách toàn thông
tin và an toàn dữ liệu trong an toàn thông tin là những vấn đề đƣợc đề cập tới
trong định nghĩa về an toàn thông tin.
Mạng máy tính đơn giản đƣợc hình thành bằng hai máy đƣợc nối với
nhau và cũng xuất phát từ ý tƣởng này, mà mạng máy tính đƣợc hình thành
và phát triển nhƣ ngày nay.
Có rất nhiều cách giải nghĩa khác nhau vê mạng máy tính, song định
nghĩa cơ bản nhất [7] mạng máy tính đƣợc phát biểu nhƣ sau:
“ Mạng máy tính là mạng bao gồm ít nhất hai máy đƣợc đƣợc kết nối
với nhau thông qua một đƣờng truyền vật lý cho phép chúng chia sẻ dữ liệu
và tài nguyên ”.
Trong một mạng máy tính, các máy tính kết nối trên đƣờng truyền vật
lý này phải tuân theo một loạt các quy tắc truyền thông chung thì dữ liệu mới
đến đích và các máy tính gửi và máy tính nhận mới hiểu nhau. Các quy tắc
này đƣợc gọi là giao thức (protocol).
mạng đƣợc thiết kế trên quy mô lớn cho phép kết nối các mạng LAN ở các
thành phố với nhau.
1.1.2 Các thiết bị mạng
1.1.2.1 Repeater: Dùng để tái sinh và định thời lại cho các tín hiệu mạng ở
mức bít cho phép và cho phép chúng di chuyển một quảng đƣờng dài trên môi
trƣờng truyền ( Cáp CAT5 UTP: cho phép dùng tối đa 100m là phải dùng
Repeat). Repeater là thiết bị thuộc lớp 1 (physical link).
1.1.2.2 Hub: Dùng để tái sinh và định thời lại cho các tín hiệu mạng. Điều này
thực hiện đối với một số các Host. (Vì thế nó có tên là Repeater đa port). Nó
thuộc lớp 1 và lớp 2 (Data Link)
1.1.2.3 Bridge: Là thiết bị lớp 2 dùng để nối các Segment Lan với nhau. mục
đích là lọc các tải mạng, giữ lại các tải cục bộ trong khi vẫn cho phép kết nối
các phần cứng khác của mạng do các tải đƣợc gửi tới đó.
Tải đƣợc phân biệt nhờ mỗi thiết bị mạng có một địa chỉ MAC duy
nhất trên NIC (card mạng). Bridge theo dõi các địa chỉ MAC trên mỗi hƣớng
và cho quyết định.
1.1.2.4 Switch: Là thiết bị 2 lớp và nối cũng là Bridge nhƣng Bridge thì
không đƣa ra quyết định. Hình dạng ngoài Switch và Hub là giống nhau.
1.1.2.5 Router: Là thiết bị thuộc lớp 3(Network) dùng để kiểm tra các gói
đến, chọn đƣờng dẫn tốt nhất cho chúng xuyên qua mạng và sau đó chuyển
chúng đến các port ra thích hợp. Router là thiết bị điều khiển quan trọng nhất
trong mạng, nhờ đó mà các máy tính mới liên lạc kết nối đƣợc với nhau.
1.1.3 Đƣờng truyền vật lý:
Ngoài đƣờng truyền vật lý là cáp (cáp xoắn đôi, cáp đồng trục, cáp
quang ) để kết nối trong mạng LAN. Khi thực hiện các kết nối trong mạng
LAN thì ngƣời ta đã sử dụng các đƣờng truyền vật lý khác đó là sử dụng 15
mạng điện thoại, mạng vô tuyến, thông tin Vi ba và thông tin Vệ tinh để
Con ngƣời tham gia vào các hoạt động của mạng dƣới các hình thức là
ngƣời sử dụng hay ngƣời quản trị mạng. Cho dù với hình thức nào đi chăng
nữa thì con ngƣời cũng tác động tới mạng. Vì vậy, con ngƣời có vai trò rất
quan trọng trong an toàn mạng.
Nhƣ vậy, để mạng an toàn thì các vấn đề sau đây phải đƣợc an toàn :
- An toàn vật lý
- An toàn phần mềm
- An toàn con ngƣời
1.2 Chính sách an toàn thông tin
1. 2.1 Một số vấn đề hoạch định chính sách
Trong an toàn thông tin (Security policy), chính sách an toàn thông tin là
cách giải quyết hoặc kế hoạch hoạt động chung đƣợc tổ chức thông qua để
đảm bảo rằng, các tài sản thông tin đều đƣợc bảo vệ bí mật, tính xác thực và
tính sẳn sàng.
Chính sách an toàn thông tin có ảnh hƣởng rất lớn đến an toàn thông tin của
quốc gia, vì nó hoạch định việc xậy dựng, phát triển và hoạt động của hệ thống
thông tin đất nƣớc. Tuỳ theo điều kiện cụ thể của mỗi quốc gia mà có thể có
chính sách an toàn thông tin riêng. Ngoài ra, chính sách an toàn thông tin còn
đƣợc xây dựng cho việc tổ chức nhằm đảm bảo an toàn thông tin cho ngân hàng,
công ty kinh doanh có chính sách an toàn thông tin riêng… Những chính sách
an toàn thông tin này đều xây dựng trên nội dung đặc trƣng chủ yếu của nó. Nội
dung đặc trƣng chủ yếu của một chính sách an toàn thông tin gồm:
- An toàn truyền thông.
- An toàn máy tính cá nhân.
- An toàn vật lý.
- An toàn trong quá trình thiết lập và phát triển các hệ thống. 17
- Truy cập dữ liệu và các hệ thống.
mất mát. Nếu gặp rủi ro hoặc tấn công làm sụp đổ cơ sở dữ liệu, thông tin sẽ
không sẵn sàng cho những ai cần đến. Điều này có thể tàn phá tổ chức.
Tính trách nhiệm: Mục tiêu cuối cùng khi thiết kế hệ thống là tính
trách nhiệm. Tổ chức có nhiều tài nguyên đƣợc chia sẻ giữa các bộ phận và cá
nhân. Nếu có việc bất ngờ xảy ra, ai sẽ có trách nhiệm giải quyết. Ai sẽ xác
định xem thông tin có đúng hay không. Vậy xác định xem ai sở hữu dữ liệu
và có trách nhiệm đảm bảo rằng chúng là chính xác là một ý tƣởng tốt. Cũng
có thể ta muốn theo dõi và giám sát sự thay đổi dữ liệu để xác định và sửa
chữa dữ liệu khi có việc mất mát thông tin hoặc sự kiện nguy hiểm. Hầu hết
hệ thống sẽ theo dõi và lƣu nhật ký về các hoạt động của hệ thống và xử lý dữ
liệu, cung cấp các báo cáo khi có vấn đề.
1.2.3 Kiến trúc logic các miền an ninh
Hiện nay, mạng và các hệ thống mạng đang trở nên phổ biến và phức
tạp hơn, việc sử dụng các đƣờng truyền thông riêng giữa các văn phòng, công
ty, các quốc gia và qua Internet đang phổ biến. Ta có thể ngăn cách các mạng
bằng cách sử dụng phần mềm và phần cứng, Router là một ví dụ. Ta cũng có
thể cấu hình một số máy trên mạng nằm trong một không gian địa chỉ nhất
định và những máy khác nằm trong các không gian địa chỉ khác. Và giữa
chúng không thể thấy nhau trừ phi sử dụng Router để kết nối chúng lại. Đồng
thời một vài bộ chuyển mạch có thể cho phép ta phân vùng mạng thành các
khối nhỏ hơn hoặc thành các miền riêng tƣ (private zones). Dƣới đây là 4
miền thƣờng gặp nhất trong các mạng hiện nay:
+ Internet
+ Intranet
+ Extranet
+ DMZ 19
Tuy mạng Internet đem lại nhiều lợi ích cho các cá nhân và tổ chức, nhƣng
Extranet:
Miền Extranet là miền Intranet mở rộng kết nối ra bên ngoài tới một
miền Intranet khác. Miền Extranet cho phép kết nối tới phần kia bởi một
mạng riêng hoặc một kênh truyền thông an toàn sử dụng Internet. Các kết nối
Extranet bao hàm các kết nối tin cậy giữa hai tổ chức. Kết nối này có thể đi
qua Internet và sử dụng giao thức đƣờng hầm (Tunneling) để thực hiện kết nối
an toàn. Hình 1.3 Một kết nối Extranet giữa hai tổ chức DMZ: 21
Miền phi quân sự (Demilitarized Zone -DMZ) là nơi ta có thể đặt các
Server cho mục đích truy cập từ những ngƣời dùng không tin cậy (những
ngƣời dùng bất kỳ). Bằng cách cô lập các Server trong miền DMZ, ta có thể
che dấu hoặc loại bỏ sự truy cập tới các vùng khác trong mạng. Tuy ta vẫn có
thể truy cập tới những Server này nhƣng ngƣời dùng không tin cậy lại không
thể truy cập tới các tài nguyên khác trong mạng của ta. Việc này có thể đƣợc
thực hiện bằng việc sử dụng tƣờng lửa để ngăn cách mạng. Khi thiết lập miền
DMZ, một cá nhân truy cập đến những tài nguyên này có thể không cần phải
đƣợc biết (tin cậy) những thông tin khác. Hình 1.4 thể hiện một Server đặt
trong miền DMZ. Chú ý rằng phần còn lại của mạng không hiện hữu với
những ngƣời dùng không tin cậy. Điều này giúp giảm nhẹ mối đe dọa thâm
23
Hình 1.5 Mạng VLAN.
NAT:
NAT là một công nghệ hỗ trợ an ninh mạng và hệ thống, và thêm vào
đó, NAT cung cấp thêm địa chỉ cho Internet. NAT cho phép tổ chức có một
địa chỉ trên Internet đại diện cho tất cả các máy tính trong mạng. Server NAT
cung cấp địa chỉ IP cho máy trạm hoặc hệ thống nào đó trong mạng và theo
dõi lƣu lƣợng vào và ra khỏi mạng. Hoặc NAT có thể cung cấp một địa chỉ
đại diện cho một máy tinh trong mạng, thông qua Máy định tuyến (Router)
hoặc Máy phục vụ (Server). NAT hiệu quả trong việc che giấu mạng khỏi
Internet bởi vì khó có thể xác định hệ thống nào nằm phía bên kia một máy
định tuyến. Server NAT cũng hoạt động hiệu quả nhƣ là một tƣờng lửa cho
mạng. Phần lớn các máy định tuyến hiện nay đều hỗ trợ công nghệ NAT,
cung cấp một giải pháp tƣờng lửa với chi phí rẻ cho một mạng nhỏ, Hình dƣới 24
đây chỉ ra một máy định tuyến cung cấp dịch vụ NAT cho một mạng khi máy
định tuyến cung cấp một địa chỉ đại diện cho tất cả kết nối với mạng ngoài
(External Network) lên Internet.
trị, những tài sản này phải đƣợc kê khai theo chức năng và theo phƣơng diện
vật lý. Nhận diện tài nguyên là quá trình cố gắng của công ty trong việc thông
kê tài sản thông tin và hệ thống. Trong một số trƣờng hợp, chỉ đơn giản là
đếm số lƣợng các hệ thống và các bản đăng ký phần mềm. Kiểu đánh giá theo
phƣơng diện vật lý này là một phần của quá trình thống kê thông thƣờng đối
với một tổ chức cần đƣợc tiến hành thƣờng xuyên.
Phần tiếp theo khó hơn trong việc nhận diện tài nguyên là gán giá trị
cho thông tin, trong một số trƣờng hợp, thử tự xác định xem điều gì sẽ xảy ra
khi mất mát hoặc thông tin không sẵn sàng. Nếu sự thiếu hụt về một thông tin 26
nào đó làm công việc sụp đổ, thì thông tin đó là vô giá. Nếu bạn có dạng
thông tin này, hãy xác định phƣơng pháp và cách tiếp cận để công việc bảo vệ
thông tin trở nên dễ dàng hơn.
Nhận diện rủi ro:
Có một vài cách để tiến hành nhận diện hoặc phân tích rủi ro. Nó đƣợc
biểu diễn bằng một công thức khoa học. Một cách tổng quát, phải nhận diện
đƣợc chi phí thay thế các hệ thống hoặc dữ liệu bị đánh cắp, chi phí do sự mất
mát về thời gian, và các yếu tố khác. Khi xác định đƣợc chi phí, phải ƣớc
đoán đƣợc khả năng các loại sự kiện sẽ xảy ra và hậu quả đi kèm.
Nhận diện các mối đe dọa:
Việc thi hành một chính sách an ninh yêu cầu phải ƣớc đoán rủi ro của
các mối đe dọa từ bên trong hoặc bên ngoài mạng đối với mạng và dữ liệu. Sẽ
chẳng tốt gì nếu thực hiện một mạng có tính an ninh cao để bảo vệ môi trƣờng
khỏi mối đe dọa từ bên ngoài nếu tồn tại một mối đe dọa bên trong mạng. Giả
sử một ai đó đem đĩa chứa Virus vào văn phòng và nạp nó lên máy tính, nó sẽ
lây nhiễm ra toàn mạng và miễn dịch khả năng ứng phó với đe dọa từ ngoài.
Đây là một điều rất phổ biến trong các cơ quan, công sở, trƣờng học khi
thƣờng sử dụng các tài nguyên chia sẻ. Nếu một cơ quan cho một máy tính sử