Song song với nhiệm vụ phát triển xây dựng các hệ thống quản lý, ứng dụng không thể thiếu công tác xây dựng giải pháp đảm bảo tính bí mật, an toàn thông tin trên toàn hệ thống.. Với mục
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ĐÌNH TUẤN ANH
VẤN ĐỀ BẢO MẬT CƠ SỞ DỮ LIỆU TRONG
CƠ SỞ DỮ LIỆU PHÂN TÁN
LUẬN VĂN THẠC SĨ
Hà Nội - 2008
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
-
NGUYỄN ĐÌNH TUẤN ANH
VẤN ĐỂ BẢO MẬT CƠ SỞ DỮ LIỆU TRONG
CƠ SỞ DỮ LIỆU PHÂN TÁN
MÃ SỐ: 1.01.10
LUẬN VĂN THẠC SỸ
Người hướng dẫn khoa học: TS NGUYỄN TUỆ
Hà Nội - 2008
Trang 3MỤC LỤC
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 3
DANH MỤC CÁC BẢNG 4
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 5
MỞ ĐẦU 7
CHƯƠNG I 9
TỔNG QUAN VỀ BẢO MẬT 9
I.1 Giới thiệu chung về bảo mật thông tin 9
I.1.1 Mở đầu về bảo mật thông tin 9
I.1.2 Nguy cơ và hiểm hoạ đối với hệ thống thông tin 10
I.1.3 Các kiểu tấn công 11
I.1.4 Các yêu cầu an toàn bảo mật thông tin 11
I.1.5 Các biện pháp để kiểm soát độ an toàn và bảo mật thông tin 13
I.1.6 Các cơ chế đảm bảo an toàn thông tin 14
I.2 Tình hình bảo mật trên thế giới và tại Việt Nam 14
I.2.1 Trên thế giới 14
I.2.2 Tại Việt Nam 15
I.3 Bảo mật thông tin trong hệ cơ sở dữ liệu 16
I.3.1 Giới thiệu chung 16
I.3.2 Một số mô hình bảo mật cơ sở dữ liệu 17
I.3.3 Sơ lược kiến trúc của 1 hệ bảo mật CSDL 19
I.3.4 Một số phương pháp tấn công hệ thống thông tin mã hoá 20
I.4 Mục tiêu hướng tới của đề tài 20
CHƯƠNG II 22
CƠ SỞ LÝ THUYẾT BẢO MẬT 22
II.1 Phương pháp mã hoá 22
II.1.2 Mã hoá đối xứng 23
II.1.3 Mã hoá bất đối xứng 34
II.1.4 Mã hoá khoá lai 37
II.2 Xác thực 38
II.2.1 Giao thức RADIUS 38
II.2.2 Giao thức SSL 38
II.2.3 Giao thức KERBEROS 41
II.3 Toàn vẹn dữ liệu 44
II.3.1 Hàm băm 44
II.3.2 Thuật toán MD5[1,2,6] 45
Trang 4II.3.3 Thuật toán SHA-1[1,6] 48
CHƯƠNG III 52
HỆ BẢO MẬT CƠ SỞ DỮ LIỆU ORACLE 10G 52
III.1 Tổng quan về hệ bảo mật CSDL Oracle 10G 52
III.1.1 Mã hoá dữ liệu trong suốt 53
III.1.2 Mã hoá dữ liệu truyền trên mạng 53
III.1.3 Toàn vẹn dữ liệu 54
III.1.4 Xác thực 54
III.2 Kiến trúc hệ bảo mật nâng cao Oracle [10] 55
III.3 Các công cụ Oracle cung cấp 57
III.3.1 Mã hoá dữ liệu trong CSDL 57
III.3.5 Mã hoá và toàn vẹn dữ liệu khi truyền tin trên mạng 61
III.4 Xác thực [9] 64
III.5 Hạ tầng khoá công cộng trong môi trường Oracle 72
CHƯƠNG IV 77
PHÁT TRIỂN ỨNG DỤNG BẢO MẬT THÔNG TIN 77
XUẤT NHẬP CẢNH 77
IV.1 Mô hình hệ thống thông tin XNC 77
IV.2 Phân tích thiết kế hệ thống thông tin XNC 78
IV.3 Giải pháp ứng dụng bảo mật hệ thống thông tin XNC 82
IV.3.1 Xác thực người dùng 83
IV.3.2 Mã hoá dữ liệu 90
CHƯƠNG V 101
KẾT QUẢ ĐẠT ĐƯỢC VÀ HƯỚNG PHÁT TRIỂN 100
Trang 5DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Trang 6DANH MỤC CÁC BẢNG
lập
mã hoá dữ liệu DBMS_CRYPTO
Trang 7một người dùng
Trang 822 Hình 3.8 RADIUS trong môi trường ORACLE
Trang 9MỞ ĐẦU
Ngày nay cùng với sự phát triển nhanh chóng của công nghệ thông tin
và sự bùng nổ của Internet thì vấn đề an toàn và bảo mật khi chia sẻ khai thác thông tin trong một môi trường không an toàn như Internet là xu thế phát triển tất yếu của các sản phẩm, dịch vụ thuộc nhiều lĩnh vực Việc đảm an toàn thông tin dữ liệu của một hệ thống là một trong những nhiệm vụ cốt yếu ảnh hưởng tới việc duy trì, phát triển cũng như tính sống còn của hệ thống thông tin Chính vì vậy lĩnh vực đảm bảo an tòan thông tin chia sẻ được nhiều chuyên gia và tổ chức quan tâm và nghiên cứu nhằm tránh những rủi ro trong quá trình vận hành một hệ thống thông tin
Dự án xây dựng hệ thống tin học hoá quản lý thông tin Xuất nhập cảnh
là một trong những dự án nhằm trong tin học hoá chính phủ điện tử của Tổng cục An ninh từ nhiều năm nay Trong những năm qua, việc thắt chặt, bảo đảm
an ninh trong công tác Xuất nhập cảnh là nhiệm vụ không chỉ riêng đối với Việt Nam mà còn là vấn đề chung của mọi quốc gia trên toàn thế giới Vấn đề
di cư bất hợp pháp bằng các loại giấy tờ giả mạo, lấy cắp, thay đổi thông tin của các cá nhân, tổ chức luôn là vấn đề bất cập trong công tác quản lý Chính
vì vậy, bên cạnh việc xây dựng việc xây dựng phát triển hệ thống ứng dụng cần tính toán và xây dựng các giải pháp nhằm đảm bảo an toàn cho hệ thống
và đồng thời đáp ứng các yêu cầu bài toán nghiệp vụ đặt ra Song song với nhiệm vụ phát triển xây dựng các hệ thống quản lý, ứng dụng không thể thiếu công tác xây dựng giải pháp đảm bảo tính bí mật, an toàn thông tin trên toàn
hệ thống Vì vậy việc lựa chọn công cụ hệ quản trị cơ sở dữ liệu Oracle là một giải pháp phù hợp cho việc xây dựng và quản trị cũng như mở rộng, kiện toàn
hệ thống thông tin Xuất nhập cảnh của Tổng cục An ninh
Hệ quản trị cơ sở dữ liệu Oracle là một trong những hệ quản trị dữ liệu hàng đầu thế giới được lựa chọn để quản lý và lưu trữ dữ liệu cho hệ thống
Trang 10của các doanh nghiệp, tổ chức có quy mô lớn, vừa và nhỏ Với mục đích nghiên cứu cơ chế bảo mật của hệ CSDL Oracle 10G - hệ cơ sở dữ liệu phiên bản mới nhất của ORACLE- và đưa ra một số giải pháp về bảo mật dữ liệu trong CSDL luận văn đi vào tìm hiểu kiến trúc hệ bảo mật nâng cao Oracle bao gồm bảo mật, xác thực, toàn vẹn dữ liệu cùng với gói DBMS_CRYPTO dành cho việc phát triển ứng dụng bảo mật trong hệ thống thông tin Xuất nhập cảnh
Trong phiên bản nâng cấp lần 2, hệ thống Oracle 10G đã cung cấp thêm một số thủ tục hàm mới trong gói DBMS_CRYPTO sử dụng các thuật toán
mã hoá và kiểm tra tính toàn vẹn khá mạnh và phổ biến như AES, RC4,DES, 3DES, MD5, SHA1 nhưng việc mã hoá dữ liệu và kiểm tra sự toàn vẹn dữ liệu lại được thực hiện riêng biệt tách rời nhau
Trên sở nghiên cứu và áp dụng một số thuật toán mã hoá và kiểm tra tình toàn vẹn của dữ liệu, luận văn hướng tới việc xây dựng một số các thủ tục, hàm mã hoá kiểm tra tính toàn vẹn dựa trên đó đưa ra một số giải pháp kết hợp mã hoá và kiểm tra tính toàn vẹn của dữ liệu giúp cho việc nâng cao tính an toàn khi lưu trữ dữ liệu trên CSDL hoặc truyền trên mạng thông tin Xuất nhập cảnh, đảm bảo công tác bảo mật dữ liệu
Trang 11CHƯƠNG I TỔNG QUAN VỀ BẢO MẬT I.1 Giới thiệu chung về bảo mật thông tin
I.1.1 Mở đầu về bảo mật thông tin
Ngày nay với sự phát triển bùng nổ của công nghệ thông tin, hầu hết các thông tin của doanh nghiệp như như chiến lược kinh doanh, các thông tin về khách hàng, nhà cung cấp, tài chính, mức lương nhân viên,…đều được lưu trữ trên hệ thống máy tính Cùng với sự phát triển của doanh nghiệp là những đòi hỏi ngày càng cao của môi trường kinh doanh yêu cầu doanh nghiệp cần phải chia sẻ thông tin của mình cho nhiều đối tượng khác nhau qua Internet hay Intranet.Việc mất mát, rò rỉ thông tin có thể ảnh hưởng nghiêm trọng đến tài chính, uy tín của các tổ chức dẫn tới những sai lệch, đổ vỡ hệ thống Sự cố an ninh mất cắp 40 triệu thẻ tín dụng của khách hàng gần đây xảy ra với Master Card và Visa Card đã phần nào gia tăng sự chú ý đến các giải pháp bảo mật thông tin
Các phương thức tấn công thông qua mạng ngày càng tinh vi, phức tạp có thể dẫn đến mất mát thông tin, thậm chí có thể làm sụp đổ hoàn toàn hệ thống thông tin của doanh nghiệp An toàn và bảo mật thông tin vì vậy mà rất nặng
nề và khó đoán định trước nhưng tựu trung lại gồm ba hướng chính sau:
- Bảo đảm an toàn thông tin tại máy chủ
- Bảo đảm an toàn cho phía máy trạm
- Bảo mật thông tin trên đường truyền
Đứng trước yêu cầu bảo mật thông tin, ngoài việc xây dựng các phương thức bảo mật thông tin thì trong "Tuyên bố Montreux"[5] người ta đã đưa ra các nguyên tắc về bảo vệ dữ liệu như sau:
- Nguyên tắc hợp pháp trong lúc thu thập và xử lý dữ liệu
- Nguyên tắc đúng đắn
- Nguyên tắc phù hợp với mục đích
Trang 12- Nguyên tắc giám sát độc lập và hình phạt theo pháp luật
- Nguyên tắc mức bảo vệ tương ứng trong vận chuyển dữ liệu xuyên biên giới
I.1.2 Nguy cơ và hiểm hoạ đối với hệ thống thông tin
Các hiểm họa đối với hệ thống có thể được phân loại thành hiểm họa vô tình hay cố ý, chủ động hay thụ động
- Hiểm họa vô tình: khi người dùng khởi động lại hệ thống ở chế độ đặc quyền, họ có thể tùy ý chỉnh sửa hệ thống
- Hiểm họa cố ý: như cố tình truy nhập hệ thống trái phép
- Hiểm họa thụ động: là hiểm họa chưa hoặc không tác động trực tiếp lên
hệ thống, như nghe trộm các gói tin trên đường truyền
- Hiểm họa chủ động: là việc sửa đổi thông tin, thay đổi tình trạng hoặc hoạt động của hệ thống
Đối với mỗi hệ thống thông tin mối đe dọa và hậu quả tiềm ẩn là rất lớn có thể xuất phát từ những nguyên nhân yếu tố:
- Từ phía người sử dụng: xâm nhập bất hợp pháp, ăn cắp tài sản có giá trị
- Trong kiến trúc hệ thống thông tin: tổ chức hệ thống kỹ thuật không có cấu trúc hoặc không đủ mạnh để bảo vệ thông tin
- Ngay trong chính sách bảo mật an toàn thông tin: không chấp hành các chuẩn an toàn, không xác định rõ các quyền trong vận hành hệ thống
Trang 13- Thông tin trong hệ thống máy tính cũng sẽ dễ bị xâm nhập nếu không
có công cụ quản lý, kiểm tra và điều khiển hệ thống
- Nguy cơ nằm ngay trongcấu trúc phần cứng của các thiết bị tin học và trong phần mềm hệ thống và ứng dụng do hãng sản xuất cài sẵn các loại 'rệp' điện tử theo ý đồ định trước, gọi là 'bom điện tử'
- Nguy hiểm nhất đối với mạng máy tính mở là tin tặc, từ phía bọn tội phạm
I.1.3 Các kiểu tấn công
Các hệ thống trên mạng có thể là đối tượng của nhiều kiểu tấn công:
- Tấn công giả mạo là một thực thể tấn công giả danh một thực thể khác Tấn công giả mạo thường được kết hợp với các dạng tấn công khác như tấn công chuyển tiếp và tấn công sửa đổi thông báo
- Tấn công chuyển tiếp xảy ra khi một thông báo, hoặc một phần thông báo được gửi nhiều lần, gây ra các tác động tiêu cực
- Tấn công sửa đổi thông báo xảy ra khi nội dung của một thông báo bị sửa đổi nhưng không bị phát hiện
- Tấn công từ chối dịch vụ xảy ra khi một thực thể không thực hiện chức năng của mình, gây cản trở cho các thực thể khác thực hiện chức năng của chúng
- Tấn công từ bên trong hệ thống xảy ra khi người dùng hợp pháp cố tình hoặc vô ý can thiệp hệ thống trái phép Còn tấn công từ bên ngoài là nghe trộm, thu chặn, giả mạo người dùng hợp pháp và bỏ qua quyền hoặc các cơ chế kiểm soát truy nhập
I.1.4 Các yêu cầu an toàn bảo mật thông tin
Hiện nay các biện pháp tấn công càng ngày càng tinh vi, sự truy cập trái phép
có thể đe doạ tới an toàn thông tin, xuất phát từ nhiều động cơ, lý do khác nhau chúng ta nên đưa ra các chính sách và phương pháp đề phòng cần thiết
Trang 14Mục đích cuối cùng của an toàn bảo mật là bảo vệ các thông tin và tài nguyên theo các yêu cầu sau:
1 Tính bí mật: Đảm bảo dữ liệu được truyền đi một cách an toàn và không thể bị lộ thông tin nếu như có ai đó cố tình muốn có được nội dung của dữ liệu gốc ban đầu Chỉ có người nhận đã xác thực mới có thể lấy ra được nội dung của thông tin chứa đựng trong dạng đã mã hóa của nó
2 Tính xác thực: Thông tin không thể bị truy nhập trái phép bởi những người không có thẩm quyền giúp cho người nhận dữ liệu xác định được chắc chắn dữ liệu mà họ nhận là dữ liệu gốc ban đầu Kẻ giả mạo không thể có khả năng để giả dạng một người khác hay nói cách khác không thể mạo danh để gửi dữ liệu Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được
3 Tính toàn vẹn: Thông tin không thể bị sửa đổi, bị làm giả bởi những người không có thẩm quyền giúp cho người nhận dữ liệu kiểm tra được rằng dữ liệu không bị thay đổi trong quá trình truyền đi Kẻ giả mạo không thể có khả năng thay thế dữ liệu ban đầu bằng dữ liệu giả mạo
4 Tính không thể chối bỏ: Thông tin được cam kết về mặt pháp luật của người cung cấp Người gửi hay người nhận không thể chối bỏ sau khi
đã gửi hoặc nhận thông tin
5 Đảm bảo tính sẵn sàng: Thông tin luôn sẵn sàng để đáp ứng sử dụng cho người có thẩm quyền.Người gửi không bị từ chối việc gửi thông tin
đi
6 Tính chống lặp lại: Không cho phép gửi thông tin nhiều lần đến người nhận mà người gửi không hề hay biết
Trang 15I.1.5 Các biện pháp để kiểm soát độ an toàn và bảo mật thông tin
1 Thiết lập quy tắc quản lý: Mỗi tổ chức cần có những quy tắc quản lý của riêng mình về bảo mật hệ thống thông tin trong hệ thống Có thể chia các quy tắc quản lý thành một số phần:
- Quy tắc quản lý đối với hệ thống máy chủ
- Quy tắc quản lý đối với hệ thống máy trạm
- Quy tắc quản lý đối với việc trao đổi thông tin giữa các bộ phận trong
hệ thống, giữa hệ thống máy tính và người sử dụng, giữa các thành phần của hệ thống và các tác nhân bên ngoài
2 An toàn thiết bị
- Lựa chọn các thiết bị lưu trữ có độ tin cậy cao để đảm bảo an toàn cho
dữ liệu
- Xây dựng kế hoạch sao lưu dữ liệu hợp lý
- Tuân thủ chế độ bảo trì định kỳ đối với các thiết bị
3 Thiết lập biện pháp bảo mật: Cơ chế bảo mật một hệ thống thể hiện qua quy chế bảo mật trong hệ thống, sự phân cấp quyền hạn, chức năng của người sử dụng trong hệ thống đối với dữ liệu và quy trình kiểm soát công tác quản trị hệ thống Các biện pháp bảo mật bao gồm:
- Bảo mật vật lý đối với hệ thống Hình thức bảo mật vật lý có thể bằng khoá cứng, hệ thống báo động, hạn chế sử dụng thiết bị
- Các biện pháp hành chính như nhận dạng nhân sự khi vào văn phòng, đăng nhập hệ thống hoặc cấm cài đặt phần mềm, hay sử dụng các phần mềm không phù hợp với hệ thống
- Mật khẩu là một biện pháp phổ biến và khá hiệu quả Tuy nhiên mật khẩu không phải là biện pháp an toàn tuyệt đối Mật khẩu vẫn có thể mất cắp hoặc tiềm ẩn những rủi ro trong thời gian sử dụng
- Xây dựng bức tường lửa,tạo một hệ thống bao gồm phần cứng và phần mềm đặt giữa hệ thống và môi trường bên ngoài như Internet Thông
Trang 16thường, tường lửa có chức năng ngăn chặn những thâm nhập trái phép hoặc lọc bỏ, cho phép gửi hay không gửi các gói tin
- Bảo mật dữ liệu bằng mật mã tức là biến đổi dữ liệu từ dạng nhiều người dễ dàng đọc được, hiểu được sang dạng khó nhận biết Để bảo
vệ thông tin, người ta cần phải thực hiện hai biện pháp cơ bản là: mã hóa các thông tin quan trọng và quản lý thật chặt chẽ các khóa giải mã Tác vụ quản lý khóa là tác vụ được đặc biệt chú trọng vì các thuật toán
mã hóa thông dụng ngày nay đã đủ an toàn, có thể cài đặt thêm các cơ chế giám sát để kịp thời phản ứng trước những kiểu truy xuất hệ thống bất thường
I.1.6 Các cơ chế đảm bảo an toàn thông tin
Mỗi cơ chế an toàn xác định thường được gắn với một tầng thích hợp trong kiến trúc mạng nhằm cung cấp các dịch vụ an toàn bao gồm:
- Mã hoá
- Chữ ký số
- Các cơ chế kiểm soát truy nhập
- Các cơ chế toàn vẹn dữ liệu
- Xác thực
- Đệm lưu lượng
- Chứng thực
I.2 Tình hình bảo mật trên thế giới và tại Việt Nam
I.2.1 Trên thế giới
Cùng với việc ứng dụng CNTT, mạng Internet được sử dụng ngày càng nhiều, đặc biệt sự phát triển của hệ thống mạng Internet băng thông rộng và số vụ xâm phạm an ninh, bảo mật thông tin mạng đã và đang gia tăng theo hàm số
mũ Theo thống kê của CERT (Computer Emegency Response Team):
1989: có 200 vụ tấn công, truy nhập trái phép trên mạng được báo cáo 1993: 1400 vụ
Trang 17Đứng trước những nguy cơ đó các hãng máy tính lớn trên thế giới đã đưa ra những chiến lược về bảo mật mang tính tổng thể như IBM thành lập lực lượng Giải pháp An ninh Toàn cầu, tiếp sau đó Oracle xây dựng trung tâm bảo mật đầy tham vọng Điều đó cho thấy bức tranh toàn cảnh về tình hình an toàn và bảo mật của thế giới đã sáng sủa hơn
I.2.2 Tại Việt Nam
Ngành CNTT tại Việt Nam đã phát triển mạnh mẽ trong nhiều năm trở lại đây Trong những năm đầu tiên ta mới xây dựng hệ thống thông tin cho những ngành, nghiệp vụ quản lý ở mức đơn giản với những ứng dụng trên mạng cục bộ (LAN), nhu cầu về giao tiếp ít, việc bảo mật dữ liệu cũng chỉ ở mức độ đơn giản Tuy nhiên hệ thống mạng WAN đã dần đưa vào sử dụng rông rãi với những ứng dụng chạy trực tuyến trên toàn quốc như ngành ngân hàng, thuế, kho bạc, an ninh, hải quan, hàng không, dầu khí… nhưng phần lớn các tổ chức mới chỉ nghĩ đến việc xây dựng và khai thác hệ thống thông tin cho chất lượng đảm bảo đáp ứng yêu cầu công tác nghiệp vụ mà chưa thực sự chú trọng trong công tác ngăn chặn và đảm bảo an toàn thông tin trên
hệ thống Thời gian gần đây, nhận thức được tầm quan trọng của việc an toàn
và bảo mật thông tin các tổ chức, các doanh nghiệp đã chú trọng đầu tư xây
Trang 18dựng các hệ thống an toàn bảo mật phù hợp với cơ sở hạ tầng hệ thống thông tin của mỗi tổ chức Với công nghệ truyền tải thông tin như hiện nay cho phép các tổ chức mở rộng mạng lưới trao đổi thông tin nên song song với việc phát triển hệ thống thì không thể thiếu giải pháp nhằm bảo mật thông tin Mới đây
Bộ Tài chính đã phê duyệt đề án Bảo mật thông tin cho toàn ngành đến năm
2010 với tổng giá trị khoảng 100 tỷ đồng đã cho thấy điều đó Theo số liệu của hãng Frost & Sullivan (www.frost.com), thị trường bảo mật tại Việt Nam trong năm 2004 tăng trưởng 92% so với năm trước và dự báo đạt mức tăng trưởng cộng dồn đến năm 2011 là 37%
I.3 Bảo mật thông tin trong hệ cơ sở dữ liệu
I.3.1 Giới thiệu chung
Ngày nay, các hệ Quản trị CSDL như Oracle, SQL/Server, DB2/Informix được đưa vào ứng dụng trong việc quản lý dữ liệu của các tổ chức một cách khá phổ biến Phần lớn chúng đều hỗ trợ các công cụ bảo vệ tiêu chuẩn như
hệ thống định danh và kiểm soát truy xuất Tuy nhiên, các biện pháp bảo vệ này hầu như không có tác dụng trước các tấn công từ bên trong Để bảo vệ thông tin khỏi mối đe dọa này, người ta đưa ra hai giải pháp
Giải pháp đơn giản nhất bảo vệ dữ liệu trong CSDL ở mức độ tập tin, chống lại sự truy cập trái phép vào các tập tin CSDL là hình thức mã hóa Tuy nhiên, giải pháp này không cung cấp mức độ bảo mật truy cập đến CSDL ở mức độ bảng, cột và dòng Một điểm yếu nữa của giải pháp này là bất cứ ai với quyền truy xuất CSDL đều có thể truy cập vào tất cả dữ liệu trong CSDL cũng có nghĩa là cho phép các đối tượng với quyền quản trị truy cập tất cả các dữ liệu nhạy cảm
Giải pháp thứ hai, giải quyết vấn đề mã hóa ở mức ứng dụng Giải pháp này
xử lý mã hóa dữ liệu trước khi truyền dữ liệu vào CSDL Những vấn đề về quản lý khóa và quyền truy cập được hỗ trợ bởi ứng dụng Truy vấn dữ liệu đến CSDL sẽ trả kết quả dữ liệu ở dạng mã hóa và dữ liệu này sẽ được giải
Trang 19mã bởi ứng dụng Giải pháp này giải quyết được vấn đề phân tách quyền an ninh và hỗ trợ các chính sách an ninh dựa trên vai trò
I.3.2 Một số mô hình bảo mật cơ sở dữ liệu
Để đáp ứng những yêu cầu về bảo mật cho các hệ thống CSDL hiện tại và sau này người ta đưa ra 2 mô hình bảo mật CSDL thông thường sau đây
Xây dựng tầng CSDL trung gian: Một CSDL trung gian được xây dựng giữa ứng dụng và CSDL gốc.CSDL trung gian này có vai trò mã hóa dữ liệu trước khi cập nhật vào CSDL gốc, đồng thời giải mã dữ liệu trước khi cung cấp cho ứng dụng CSDL trung gian đồng thời cung cấp thêm các chức năng quản lý khóa, xác thực người dùng và cấp phép truy cập
Giải pháp này cho phép tạo thêm nhiều chức năng về bảo mật cho CSDL Tuy nhiên, mô hình CSDL trung gian đòi hỏi xây dựng một ứng dụng CSDL tái tạo tất cả các chức năng của CSDL gốc
Hình 1.1 : Mô hình trung gian
Sử dụng cơ chế sẵn có trong CSDL
Mô hình này giải quyết các vấn đề mã hóa cột dựa trên các cơ chế sau:
a Các hàm Stored Procedure trong CSDL cho chức năng mã hóa và giải mã
b Sử dụng cơ chế View trong CSDL tạo các bảng ảo, thay thế các bảng thật
đã được mã hóa
c Cơ chế “instead of” trigger được sử dụng nhằm tự động hóa quá trình mã hóa từ View đến bảng gốc
Trang 20Trong mô hình này, dữ liệu trong các bảng gốc sẽ được mã hóa, tên của bảng gốc được thay đổi Một bảng ảo được tạo ra mang tên của bảng gốc, ứng dụng
sẽ truy cập đến bảng ảo này
Truy xuất dữ liệu trong mô hình này có thể được tóm tắt như sau (Hình 1.2):
Hình 1.2: Mô hình bảng ảo Các truy xuất dữ liệu đến bảng gốc sẽ được thay thế bằng truy xuất đến bảng
ảo
Bảng ảo được tạo ra để mô phỏng dữ liệu trong bảng gốc Khi thực thi lệnh
“select”, dữ liệu sẽ được giải mã cho bảng ảo từ bảng gốc (đã được mã hóa) Khi thực thi lệnh “Insert, Update”, “instead of” trigger sẽ được thi hành và mã hóa dữ liệu xuống bảng gốc
Quản lý phân quyền truy cập đến các cột sẽ được quản lý ở các bảng ảo Ngoài các quyền cơ bản do CSDL cung cấp, hai quyền truy cập mới được định nghĩa:
1 Người sử dụng chỉ được quyền đọc dữ liệu ở dạng mã hóa Quyền này phù hợp với những đối tượng cần quản lý CSDL mà không cần đọc nội dung dữ liệu
2 Người sử dụng được quyền đọc dữ liệu ở dạng giải mã
Trang 21I.3.3 Sơ lược kiến trúc của 1 hệ bảo mật CSDL
Hình 1.3: Kiến trúc một hệ bảo mật CSDL Triggers: các trigger được sử dụng để lấy dữ liệu đến từ các câu lệnh INSERT, UPDATE (để mã hóa)
Views: các view được sử dụng để lấy dữ liệu đến từ các câu lệnh SELECT (để giải mã)
Extended Stored Procedures: được gọi từ các Trigger hoặc View dùng để kích hoạt các dịch vụ được cung cấp bởi module DBPEM từ trong môi trường của
hệ quản tri CSDL
DBPEM (Database Policy Enforcing Module): cung cấp các dịch vụ mã hóa/giải mã dữ liệu gửi đến từ các Extended Stored Procedures và thực hiện việc kiểm tra quyền truy xuất của người dùng (dựa trên các chính sách bảo mật được lưu trữ trong CSDL về quyền bảo mật)
Security Database: lưu trữ các chính sách bảo mật và các khóa giải mã Xu hướng ngày nay thường là lưu trữ CSDL về bảo mật này trong Active Directory (một CSDL dạng thư mục để lưu trữ tất cả thông tin về hệ thống mạng)
Security Services: chủ yếu thực hiện việc bảo vệ các khóa giải mã được lưu trong CSDL bảo mật
Trang 22Management Console : dùng để cập nhật thông tin lưu trong CSDL bảo mật (chủ yếu là soạn thảo các chính sách bảo mật) và thực hiện thao tác bảo vệ một trường nào đó trong CSDL
Để đảm bảo tối đa tính bảo mật, thông tin được trao đổi giữa các module trong hệ thống đều được mã hóa bằng nghi thức SSL hoặc Kerberos
I.3.4 Một số phương pháp tấn công hệ thống thông tin mã hoá
Phương pháp vét cạn: phương pháp tấn công bằng cách thử tất cả những chìa khóa có thể có Đây là phương pháp tấn công thô sơ nhất và cũng khó khăn nhất
Theo lý thuyết, tất cả các thuật toán hiện đại đều có thể bị đánh bại bởi phương pháp này nhưng trong thực tiễn việc này chỉ có thể thực hiện được trong thời gian hàng triệu, thậm chí hàng tỉ năm Một thuật toán là an toàn nếu như không còn cách nào khác để tấn công nó dễ hơn là vét cạn
Phương pháp thống kê tần xuất: thống kê tần suất, chỉ có thể áp dụng được đối với các thuật toán cổ điển Để thực hiện phương pháp này ta cần một lượng văn bản đã mã hóa đủ lớn để phép thống kê được chính xác Ngoài ra còn phải biết ngôn ngữ sử dụng trong văn bản ban đầu
Giải mã dựa trên sự sai khác: Eli Biham và Adi Shamir tìm ra phương pháp này vào khoảng cuối những năm 1980; nó thường được sử dụng để tấn công các thuật toán khối Phương pháp này dựa trên việc phân tích những biến đổi của hai văn bản gốc có liên quan khi được mã hóa bởi cùng một chìa
Một số phương pháp khác như Mod-n cryptanalysis, Linear cryptanalysis, Birthday attack, Algebraic attack
I.4 Mục tiêu hướng tới của đề tài
Hiện nay hầu hết các doanh nghiệp, tổ chức lớn hay vừa và nhỏ đều lựa chọn
hệ quản trị CSDL ORACLE để lưu trữ thông tin Với phiên bản Oracle Database 10g là hệ thống cơ sở dữ liệu đầu tiên được thiết kế nhằm tăng sức mạnh lưu trữ và xử lý dữ liệu dựa trên công nghệ tính toán mạng lưới, Oracle
Trang 23Database 10G có nhiều ưu điểm, tính sẵn sàng, tính bảo mật cao , tính an toàn
dữ liệu và bảo trì nâng cấp cơ chế quyền hạn rõ ràng ổn định Hệ thống có khả năng tự quản lý, tự động phát hiện và hiệu chỉnh các lỗi không nghiêm trọng, giúp giảm chi phí và tăng hiệu quả kinh doanh
Tuy nhiên dù có sử dụng bất kỳ một hệ quản trị CSDL nào thì bảo mật là một trong những vấn đề mà bất kỳ người dụng đều quan tâm Để có thể đảm bảo
hệ thống thông tin của mình được an toàn và bảo mật các DBA phải hiểu rõ
cơ chế vận hành của hệ bảo mật CSDL ORACLE 10G nhằm đưa ra những giải pháp thích hợp cho từng hệ thống của mình Đồng thời các DBA cũng phải nhận thức đánh giá được những rủi ro có thể xảy ra với hệ thống thông tin của mình khi sử dụng hệ bảo mật CSDL ORACLE 10G để có thể có những biện pháp hữu hiệu để giảm thiểu rủi ro Từ những yêu cầu trên luận văn đi sâu vào tìm hiểu:
Trang 24CHƯƠNG II
CƠ SỞ LÝ THUYẾT BẢO MẬT
Giải quyết bài toán bảo mật và an toàn dữ liệu người ta dựa trên các mô hình
và chính sách bảo mật cơ bản như mật mã hoá, tính toàn vẹn, trao chuyển khoá, giao thức mật, chứng thực, điều khiển quyền truy cập
Phân loại các phương pháp bảo mật cơ bản:
- Phương pháp mã hoá
- Phương pháp toàn vẹn
- Phương pháp xác thực
II.1 Phương pháp mã hoá
II.1.1 Mã hoá cổ điển[1,2]:
Mã hoá cổ điển là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá Thuật toán đơn giản và dễ hiểu Những phương pháp
mã hoá này là cở sở cho việc nghiên cứu và phát triển thuật toán mã hoá đối xứng được sử dụng ngày nay Trong mã hoá cổ điển có hai phương pháp nổi bật đó là:
- Mã hoá thay thế
- Mã hoá hoán vị
II.1.1.1 Mã hoá thay thế
Là phương pháp mà từng kí tự (nhóm kí tự) trong bản rõ được thay thế bằng một kí tự (một nhóm kí tự) khác để tạo ra bản mã Bên nhận chỉ cần đảo ngược trình tự thay thế trên bản mã để có được bản rõ ban đầu
II.1.1.2 Mã hoá hoán vị
Trong phương pháp mã hoá hoán vị, các kí tự trong bản rõ vẫn được giữ nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra bản mã Tức là các kí tự trong bản rõ hoàn toàn không bị thay đổi bằng kí tự khác
Trang 25Trong phương pháp mã hoá dịch chuyển thì khoá chính là phép dịch ký tự, mà
cụ thể là phép dịch 1 ký tự còn phương pháp mã hoá thay thế thì khóa nằm ở
số hàng hay số cột mà chúng ta qui định
II.1.1.3 Điểm yếu của phương pháp mã hoá cổ điển
- Phương pháp mã hoá cổ điển có thể dễ dàng bị giải mã bằng cách đoán chữ dựa trên phương pháp thống kê tần xuất xuất hiện các chữ cái trên mã
và so sánh với bảng thống kê quan sát của bản rõ
- Để dùng được mã hoá cổ điển thì bên mã hoá và bên giải mã phải thống nhất với nhau về cơ chế mã hoá cũng như giải mã Nếu không thì hai bên
sẽ không thể làm việc được với nhau
II.1.2 Mã hoá đối xứng
Khóa mật mã đối xứng sử dụng cùng một khóa cho việc mã hóa và giải mã Khóa đối xứng có thể phân thành hai loại là mã hoá khối và mã hoá luồng
Mã hoá luồng mã hoá hóa một bit tại một thời điểm, mã hoá khối là phương thức cho phép thực hiện mã hoá trên một nhóm các bit (khối) với độ dài nào
đó trong một lần Các mã hoá khối như DES, IDEA,AES, và mã hoá luồng như RC4, là những loại mã hoá khóa đối xứng nổi tiếng nhất
II.1.2.1 Các chế độ sử dụng mã khối [1]
Thuật toán mã khối là khối biến đổi mã hoá với khối đầu vào và đầu ra là các khối có độ dài cố định Để mã hoá một khối dữ liệu có đầu vào có độ dài tuỳ
ý ta phải cắt khối dữ liệu thành nhiều khối đơn vị và mã hoá chúng nhiều lần,
do đó dẫn đến chế độ sử dụng thuật toán khác nhau Thông thường chúng ta
có hai chế độ sau đây:
II.1.2.1.1 Chế độ bảng tra mã điện tử (ECB)
Trong chế độ này các khối mã hoá được mã riêng biệt Như vậy những khối tin giống nhau sẽ được mã hoá thành những khối mã giống nhau
Trang 26Hình 2.1: Mô tả quá trình hoạt động của chế độ CBC
II.1.2.2 Thuật toán DES[1,2,4,5]
II.1.2.2.1 Mô tả thuật toán mã hoá
DES là thuật toán mã hóa khối Trong thuật toán DES, độ dài mỗi khối là 64 bit, khóa dùng trong DES có độ dài toàn bộ là 64 bit tuy nhiên chỉ có 56 bit thực sự đƣợc sử dụng; 8 bit còn lại chỉ dùng cho việc kiểm tra Vì thế, độ dài thực tế của khóa chỉ là 56 bit.DES đƣợc cấu tạo bởi 16 vòng lặp và có sự tác động bởi hàm phi tuyến f
IV
Trang 271 Từ bản rõ x biến thành x0 nhờ phép hoán vị IP (Phụ lục 1.1.), khi đó x0
Li = Ri-1
Ri = Li-1 + f(Ri-1,Ki)
là các xâu có độ dài 48 bit
Hình 2.2: Sơ đồ giải thuật sinh mã DES Xác định hàm f : Hàm f nhƣ đƣợc miêu tả ở Hình 2.3, hoạt động trên khối 32 bit và bao gồm bốn giai đoạn:
Trang 28Hình 2.3: Hàm F dùng trong DES
1 Mở rộng: 32 bit đầu vào được mở rộng thành 48 bit sử dụng thuật toán hoán vị mở rộng với việc nhân đôi một số bit Giai đoạn này được ký hiệu là E (Phụ lục 1.3) trong sơ đồ
2 Trộn khóa: 48 bit thu được sau quá trình mở rộng được XOR với khóa con Mười sáu khóa con 48 bit được tạo ra từ khóa chính 56 bit theo một chu trình tạo khóa con
3 Thay thế: 48 bit sau khi trộn được chia làm 8 khối con 6 bit và được xử
lý qua hộp thay thế S-box (Phụ lục 1.4) Đầu ra của mỗi khối 6 bit là một khối 4 bit theo một chuyển đổi phi tuyến được thực hiện bẳng một bảng tra Khối S-box đảm bảo phần quan trọng cho độ an toàn của DES Nếu không có S-box thì quá trình sẽ là tuyến tính và việc phá mã
sẽ rất đơn giản
4 Hoán vị: Cuối cùng, 32 bit thu được sau S-box sẽ được sắp xếp lại theo một thứ tự cho trước P-box (Phụ lục 1.5)
Quá trình luân phiên sử dụng S-box và sự hoán vị các bít cũng như quá trình
mở rộng đã thực hiện được tính chất gọi là sự xáo trộn và khuyếch tán Đây là yêu cầu cần có của một thuật toán mã hoá
Quá trình tạo khóa con:
Trang 29Hình 2.4:Quá trình tạo khóa con trong DES Trước tiên, từ 64 bit ban đầu của khóa, 56 bit được chọn PC-1 (Phụ lục 1.6); 8 bit còn lại bị loại bỏ 56 bit thu được được chia làm hai phần bằng nhau, mỗi phần được xử lý độc lập Sau mỗi chu trình, mỗi phần được dịch chuyển (sang trái) 1 hoặc 2 bit (tùy thuộc từng chu trình) Dịch chuyển 1 bít nếu đang ở chu trình 1.2.9.16 và dịch chuyển 2 bit đối với các chu trình còn lại Các khóa con
48 bit được tạo thành bởi thuật toán lựa chọn 2 PC-2 (Phụ lục 1.2.2.7) gồm 24 bit từ mỗi phần Quá trình dịch bit (được ký hiệu là “<<<” trong sơ đồ) khiến cho các khóa con sử dụng các bit khác nhau của khóa chính; mỗi bit được sử dụng trung bình ở 14 trong tổng số 16 khóa con
Quá trình tạo khóa con khi thực hiện giải mã cũng diễn ra tương tự nhưng các khóa con được tạo theo thứ tự ngược lại Ngoài ra sau mỗi chu trình, khóa sẽ được dịch phải thay vì dịch trái như khi mã hóa
II.1.2.2.2 Thụât toán giải mã
Thuật toán giải mã được xây dựng giống hệt thuật toán sinh mã nhưng các
Trang 30II.1.2.2.3 An toàn của DES
khả năng để tìm ra khoá cho kết
s (máy tính thông thường) thì muốn tìm ra khoá chúng ta sẽ mất 7300 năm Tuy nhiên hiện nay với những loại máy tính chuyên dụng phá khoá với giá trị thiết kế khoảng 100,000$ thì có thể cho kết quả trong 1,5 ngày
một nửa số khoá cần phải thử khi tiến hành phép thử giải mã bằng phương pháp vét cạn
So với thuật toán RSA thuật toán này là thời gian thực hiện mã hoá/giải mã nhanh và ngốn ít tài nguyên bộ vi xử lý máy tính, hiệu quả cao với dữ liệu có dung lượng lớn
II.1.2.3 Thuật toán AES [4,6]
AES làm việc với khối dữ liệu 128 bit và khóa có độ dài 128, 192 hoặc 256 bit người ta đặt tên thuật toán mã hoá tương ứng với tên là AES-128, AES-
192, AES-256 Các khóa con sử dụng trong các chu trình được tạo ra bởi quá trình tạo khóa con Rijndael AES làm việc với từng khối dữ liệu 4×4 byte (state)
Các tham số trong thuật toán
Trang 31II.1.2.3.1 Mô tả thụât toán mã hoá
Quá trình mã hóa bao gồm 4 bước:
1 AddRoundKey - mỗi byte của khối được kết hợp với khóa con, các khóa con này được tạo ra từ quá trình tạo khóa con Rijndael
Hình 2.5: Mô tả hoạt động bước AddRoundKey
2 SubBytes - đây là quá trình thay thế (phi tuyến) trong đó mỗi byte sẽ được thay thế bằng một byte khác theo bảng tra (Rijndael S-box - Phụ lục II.1.2.3.1)
Hình 2.6: Mô tả hoạt động bước SubBytes
3 ShiftRows - đổi chỗ, các hàng trong khối được dịch vòng
Hình 2.7: Mô tả hoạt động bước ShiftRows
Trang 324 MixColumns - quá trình trộn làm việc theo các cột trong khối theo một chuyển đổi tuyến tính
Hình 2.8: Mô tả hoạt động bước MixColumns Tại chu trình cuối thì bước MixColumns được thay thế bằng bước AddRoundKey
Thuật toán mã hoá
INPUT: M 128 bit, w[Nb*(Nr+1)] - w là mảng khoá , M là khối dữ liệu rõ OUTPUT: Y 128 bit Khối dữ liệu đã được mã hoá
II.1.2.3.2 Thuật toán sinh khoá con
Thuật toán sinh khoá con sử dụng ba hàm:
Trang 33SubWord(): Là một hàm đưa 4 từ đầu vào qua S-box để được 4 từ đầu ra
Trường hợp Nk=8 (độ dài khoá =256) và i-4 là bội số của Nk thì SubWord() được tính toán với w[i-1] trứơc khi XOR
Thuật toán:
INPUT: Khoá đầu vào K, Nk
OUTPUT: Mảng khoá con
temp = SubWord(RotWord(temp)) xor Rcon[i/Nk];
else if (Nk > 6 and i mod Nk = 4);
II.1.2.3.3 Mô tả thụât toán giải mã
Thuật toán giải mã sử dụng 4 biến đổi trong đó có 1 biến đổi AddRoundKey
và 3 biến đổi đảo ngược
Biến đổi InvShiftRows(): tương tự biến đổi ShiftRows thay vì dịch trái thì trong biến đổi này là dịch phải
Bứơc InvSubBytes(): Phép biến đổi này tương tự như SubBytes() thay vì dùng S-box thì sử dụng InvS-box (Phụ lục II.1.2.3.2 )
Trang 34Bứơc InvMixColums(): Tương tự như phép MixColums thay vì a XOR với c(x) thì là a-1
XOR c(x)
Thuật toán giải mã
INPUT: M 128 bit, w[Nb*(Nr+1)] - w là mảng khoá , M là bản mã
OUTPUT: Y 128 bit Khối dữ liệu đã được giải mã
II.1.2.4 Thuật toán RC4[6]
Trong mã hoá, RC4 là thuật toán mã hoá dòng nổi tiếng và được sử dụng rộng rãi trong SSL và bảo mật mạng không dây WEP RC4 đươc thiết kế bởi Ron Rivsest và RSA Sercurity Nó trở thành một phần của các chuẩn và giao thức
mã hoá đang được sử dụng bao gồm WEP và WPA,SSL,TLS Ưu điểm của
Trang 35thụât toán là sự đơn giản và tốc độ thực thi cao trên cả phần cứng và phần mềm mà không tốn tài nguyên
II.1.2.4.1 Mô tả thuật toán
RC4 tạo ra một dòng ngẫu nhiên các bit (một khoá dòng) được kết hợp với bản rõ thông qua phép tính XOR để mã hoá, quá trình giải mã được thực hiện bằng cách tương tự
II.1.2.4.2 Thuật toán RC4
Khởi tạo S
For i = 0 to 255 do
S[i] = i; => S là 256 byte
T[i] = K[i mod keylen]; sử dụng T cho hoán vị khởi tạo SS
Hoán vị khởi tạo S
Để mã hoá thì XOR giá trị k với bản rõ
Để giải mã thì XOR giá trị k với bản mã
Trang 36Hình 2.9: Mô tả thuật toán RC4
II.1.3 Mã hoá bất đối xứng
Trong mật mã hóa khóa công cộng có hai khóa được sử dụng, khóa công cộng dùng để mã hóa còn khóa cá nhân dùng để giải mã Rất khó để có thể thu được khóa cá nhân từ khóa công cộng Điều này có nghĩa là một người nào đó
có thể tự do gửi khóa công cộng của họ ra bên ngoài theo các kênh không an toàn mà vẫn chắc chắn rằng chỉ có họ có thể giải mật mã các thông điệp mà
họ đã mật mã hóa chúng bằng khóa đó
Quá trình truyền và sử dụng mã hoá khoá công khai được thực hiện như sau:
- Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trên một máy chủ chịu trách nhiệm quản lý khoá
- Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sử dụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để mã hoá thông tin được gửi đi
Trang 37- Khi nhận được thông tin đã mã hoá, bên nhận sử dụng khoá bí mật của mình
để giải mã và lấy ra thông tin ban đầu
Hình 2.10: Quá trình mã hoá bất đối xứng
Mã hóa không đối xứng cũng cung cấp cơ chế cho chữ ký số Các chữ ký số
là trung tâm trong các hoạt động của cơ sở hạ tầng của khóa công cộng (PKI)
và rất nhiều hệ thống an ninh mạng (ví dụ Kerberos, phần lớn các mạng riêng
ảo (VPN) v.v) Một số thuật toán mã hoá công khai nổi tiếng: Diffle-Hellman, RSA,…
II.1.3.1 Thuật toán RSA [1,2,6,8]
RSA là một thuật toán mã hóa khóa công cộng Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa RSA đang được
sử dụng phổ biến trong thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn
II.1.3.1.1 Thuật toán
Thuật toán RSA có hai khóa: khóa công khai và khóa bí mật Khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa Những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân mới có thể giải mã được
Tạo khoá:
1 Chọn 2 số nguyên tố lớn pvà q với p ≠ q, lựa chọn ngẫu nhiên và độc lập
2 Tính: n=pq
Trang 383 Tính: totient (n)=(p-1)(q-1)
với (n)
Bước 5 có thể viết cách khác: Tìm số tự nhiên x sao cho
e
q p x
d ( 1)( 1)1cũng là số tự nhiên Khi đó sử dụng giá trị: d mod (p-1)(q-1)
) 1 )(
Một dạng khác của khóa bí mật bao gồm:
II.1.3.1.2 Mã hóa
Giả sử Bob muốn gửi đoạn thông tin M cho Alice Đầu tiên Bob chuyển M thành một số m < n theo một hàm có thể đảo ngược (từ m có thể xác định lại M) được thỏa thuận trước Lúc này Bob có m và biết n, e do Alice gửi Bob sẽ tính c là bản mã hóa của m theo công thức:
Cuối cùng Bob gửi c cho Alice
Trang 39II.1.3.1.3 Giải mã
Alice nhận c từ Bob và biết khóa bí mật d Alice có thể tìm được m từ c theo
mod n Biết m, Alice tìm lại M theo phương pháp đã thỏa thuận trước
)d ≡ med (mod n)
Do ed ≡ 1 (mod p-1) và ed ≡ 1 (mod q-1), (theo Định lý Fermat nhỏ) nên:
Do p và q là hai số nguyên tố cùng nhau, áp dụng định lý số dư Trung quốc,
II.1.3.1.4 An toàn
Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA Nếu 2 bài toán trên là khó thì không thể thực hiện được việc phá mã toàn bộ đối với RSA RSA đảm bảo an toàn với điều kiện n được chọn đủ lớn
RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán mã hóa đối xứng khác
II.1.4 Mã hoá khoá lai
Trên thực tế hệ thống mã hoá khoá công khai chưa thể thay thế hệ thống mã hoá khoá bí mật được, nó ít được sử dụng để mã hoá dữ liệu mà thường dùng
để mã hoá khoá Hệ thống mã hoá khoá lai ra đời là sự kết hợp giữa tốc độ và tính an toàn của hai hệ thống mã hoá ở trên Hoạt động của hệ thống mã hoá này như sau:
Hình 2.11: Mã hoá lai
Trang 40- Bên gửi tạo ra một khoá bí mật dùng để mã hoá dữ liệu (khóa phiên)
- Sau đó, khoá phiên này lại được mã hoá bằng khoá công khai của bên nhận
- Tiếp theo dữ liệu mã hoá cùng với khoá phiên đã mã hoá gửi tới bên nhận
- Lúc này bên nhận dùng khoá riêng để giải mã khoá phiên và có được khoá phiên ban đầu
- Dùng khoá phiên sau khi giải mã để giải mã dữ liệu
Hệ thống mã hoá khoá lai đã tận dụng tốt được các điểm mạnh của hai hệ thống mã hoá ở trên đó là: tốc độ và tính an toàn
II.2 Xác thực
Khi nói về hệ thống các biện pháp tổng hợp nhằm bảo đảm an toàn cho việc trao đổi thông tin trên mạng máy tính, người ta thường nhắc tới ba chữ A hay AAA (Authentication–xác thực; Authorization – phân quyền; Administration – quản trị), trong đó xác thực là công đoạn đầu tiên và quan trọng nhất
II.2.1 Giao thức RADIUS
RADIUS là mô ̣t di ̣ch vu ̣ dành cho viê ̣c xác nhâ ̣n và cho phép người dùng truy cập từ xa qua các thiết bị như modem, DSL, cáp mạng hoặc các thiết bị không dây khác Mô ̣t site thông thường có mô ̣t máy chủ truy câ ̣p được kết nối vào một modem Mô ̣t máy chủ di ̣ch vu ̣ RADIUS được kết nối vào ma ̣ng như mô ̣t dịch vụ xác nhận Những người dùng từ xa go ̣i vào máy chủ truy câ ̣p , máy
chủ di ̣ch vu ̣ RAD IUS sẽ xác nhâ ̣n người dùng và cho phép ho ̣ truy câ ̣p tài nguyên Những nhà quản tri ̣ ma ̣ng ta ̣o ra những hồ sơ về người dùng ở máy chủ RADIUS, xác định các quyền hạn cấp cho nhữn người dùng từ xa Những giao thức hỏi đáp được sử du ̣ng trong suốt quá trình người dùng vào ma ̣ng
II.2.2 Giao thức SSL
Được phát triển bởi Netscape, giao thức SSL đã được sử dụng rộng rãi trên mạng Internet trong việc xác thực và mã hoá thông tin giữa máy trạm và máy chủ.Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất