Các giải pháp

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp đảm bảo an toàn và bảo mật cho trung tâm tích hợp dữ liệu (Trang 46 - 63)

Chƣơng 2 : MỘT SỐ VẤN ĐỀ AN NINH CƠ SỞ DỮ LIỆU

2.4. Giải pháp bảo mật CSDL

2.4.2.2. Các giải pháp

Một hệ thống bảo mật CSDL sẽ hoạt động dựa vào việc kết hợp giữa các biện pháp nghiệp vụ và giải pháp kỹ thuật, trong đó các biện pháp và giải pháp này không ảnh hƣởng đến việc khai thác CSDL. Các giải pháp kỹ thuật sẽ dựa trên những nguy cơ ảnh hƣởng đến CSDL mà từ đó sẽ kết hợp nhiều phƣơng pháp khác nhau để kiểm soát các nguy cơ đó. Các biện pháp nghiệp vụ chủ yếu hỗ trợ các giải pháp kỹ thuật. Các giải pháp kỹ thuật đáp ứng đƣợc hai vấn đề cần giải quyết là:

 Đảm bảo toàn vẹn dữ liệu.

 Bảo mật dữ liệu.

Trong đó đảm bảo toàn vẹn dữ liệu là chống lại việc tấn công trái phép vào CSDL dẫn đến dữ liệu bị sửa đổi cũng nhƣ từ chối dịch vụ, còn bảo mật dữ liệu là việc chống lại những tấn công trái phép dẫn đến việc dữ liệu bị lộ.

1). Các giải pháp kỹ thuật

a). Bảo vệ CSDL khi chuyển dữ liệu trên mạng:

Trƣớc hết chúng ta hiểu là bảo vệ thông tin CSDL tránh bị tấn công trên đƣờng truyền tức là ở đây thông tin có sự “chuyển” từ một “điểm” nào đó (bên cung cấp) đến một “điểm” nào đó (bên tiêu thụ). Hay nói ngắn gọn hơn là giả sử chúng ta có hai điểm A, B trong đó A đóng vai trò bên cung cấp, còn B đóng vai trò biên tiêu thụ, giữa A và

Ứng dụng truy xuất

CSDL CSDL CSDL

B đƣợc kết nối với nhau thông qua đƣờng truyền mạng công khai Inernet. Chúng ta có mô hình nhƣ sau:

Hình 2.15 Trao đổi thông tin giữa hai điểm.

Do đó việc thông tin “chuyển” B sang A qua mạng công khai Internet sẽ có những nguy cơ sau: Thứ nhất là nguy cơ đánh cắp thông tin: thông tin truyền đi bị lắng nghe trên đƣờng truyền, khi đó kẻ xâm nhập có thể đánh cắp thông tin nhƣ mật khẩu, tên đăng nhập, thông tin cá nhân,... Tuy nhiên thì việc này thì kẻ đánh cắp thông tin chỉ nhằm mục đích đánh cắp thông tin (xem nội dung thông tin) chứ không làm nguy hại về mặt vật lý đối với thông tin hay làm thay đổi nội dung thông tin. Thứ hai là nguy có phá hoại thông tin: thông tin bị thay đổi nội dung, phá hủy, làm hỏng thông tin, làm trễ thời gian truyền tin hay sao chép lặp lại thông tin, nguy hại hơn là chặn thông tin từ B đến A, làm cho A không thể sử dụng đƣợc thông tin từ B,…Mục đích nói chung là phá hỏng hay làm sai lệch nội dung thông tin hay ngăn chặn sử dụng dịch vụ.

Vì vậy để bảo vệ thông tin tránh đƣợc những nguy cơ trên thì chúng ta sẽ phải làm thế nào đó khắc phục những nguy cơ đó. Chúng ta hƣớng đến hai hình thức bảo mật sau:

 Bảo vệ theo đƣờng truyền: Thông tin sẽ đƣợc mã hóa để bảo vệ dựa trên đƣờng truyền giữa hai nút A và B và không quan tâm đến nguồn và đích của thông tin đó, các cặp thiết bị mật mã sẽ đƣợc đặt ở hai đầu đƣờng truyền và khi đó tất cả các luồng thông tin trên đƣờng truyền sẽ đƣợc an toàn. Hình thức này chúng ta sẽ nghĩ ngay đến hạ tầng VPN (thiết lập mạng riêng ảo) để bảo vệ thông tin. Việc sử dụng hạ tầng VPN có ƣu điểm là nó tách biệt toàn bộ hệ thống CSDL với mạng công khai. Mục đích là làm giảm đi các hiểm họa từ hacker, chính vì thế đã hạn chế bớt đi phần nào những tấn công thông thƣờng vào CSDL. Những cổng trong hệ thống đƣợc kiểm soát chặt chẽ, những cổng phục vụ cho việc khai thác và quản trị CSDL không nhiều nên có thể kiểm soát đƣợc chặt chẽ. Ngoài ra thì hệ thống CSDL có nhiều server thì các server này sẽ đƣợc kết nối với nhau qua một kênh an toàn, và dữ liệu khi đƣợc trao đổi giữa các server này sẽ đƣợc mã hóa và giải mã khi vào vùng làm việc. Việc kiểm soát này chính là việc bảo vệ thông tin giữa hai điểm đầu cuối.

VPN

Hình 2.16 Trao đổi thông tin sử dụng hạ tầng VPN.

 Bảo vệ thông tin dựa trên hai điểm đầu, cuối: Thông tin sẽ đƣợc mã hóa từ điểm đầu đến điểm cuối, tức là thông tin sẽ đƣợc mã hóa ngay khi đƣợc tạo ra từ điểm nguồn và chỉ đƣợc giải mã khi đến điểm đích. Hình thức này còn đƣợc gọi là hình thức bảo mật từ nút tới nút, hay từ client tới server hay giữa hai server CSDL với nhau. Với hình thức này thì dữ liệu trao đổi giữa hai nút sẽ đƣợc bảo vệ bằng hệ mật mã chỉ để dùng trao đổi dữ liệu giữa hai nút, còn khi dữ liệu chuyển vào CSDL nơi đến thì sẽ đƣợc bảo vệ bằng hệ mật mã dùng cho quá trình lƣu trữ và khai thác CSDL.

A Internet B

Nói cách khác, sẽ có hai hệ mật mã đƣợc sử dụng, một là hệ mật mã chỉ dùng để bảo vệ dữ liệu chuyển đi giữa hai nút mạng, một hệ mật mã chỉ đƣợc dùng để bảo vệ dữ liệu sử dụng cho việc lƣu trữ tại CSDL và khai thác.

Hình 2.17 Trao đổi thông tin mã hóa giữa hai điểm.

Nhƣ vậy, việc bảo vệ thông tin trên đƣờng truyền có nhiều cách, tuy nhiên thì không có cách nào thực sự an toàn, cách nào cũng có ƣu, nhƣợc điểm, cho nên thì để hạn chế tối đa những nguy cơ về an toàn thông tin thì chúng ta sẽ nên kết hợp nhiều biện pháp nhƣ kết hợp hai biện pháp là vừa bảo vệ thông tin theo đƣờng truyền và vừa bảo vệ thông tin theo hai điểm đầu, cuối (nhƣ vừa thiết lập VPN, vừa mã hóa thông tin giữa hai điểm đầu cuối) nhƣ vậy thì độ an toàn thông tin sẽ đƣợc nâng cao, có khả năng hạn chế tối thiểu những nguy cơ ảnh hƣởng đến sự mất an toàn thông tin.

b). Bảo vệ CSDL trong lúc khai thác phục vụ tác nghiệp:

Trong DBMS có nhiều CSDL và ngƣời dùng, do đó việc phân quyền hạn cho những ngƣời dùng này là rất quan trọng nhằm tránh việc lạm dụng quyền hạn, truy cập CSDL trái phép, sửa đổi thông tin,…Do đó để hạn chế tối đa những nguy cơ mất an toàn này thì thứ nhất cần phải có biện pháp phân quyền truy cập: Tùy theo vai trò khác nhau của ngƣời dùng mà họ có những quyền hạn khác nhau để khai thác CSDL, ví dụ một số ngƣời chỉ có quyền đọc, xem, trong khi đó một số ngƣời khác lại có quyền chỉnh sửa,…Ví dụ nhƣ đối với một số trang Web, phân quyền hạn cho một số nhóm truy cập nhƣ Admin, Operator, Visitor trong đó Admin thì có quyền hạn cao nhất đối với hệ thống, có toàn quyền nhƣ xem, xóa, sửa, thiết lập hệ thống,…Còn operator thì có quyền hạn thấp hơn Admin và chỉ có quyền xem, sửa, và chỉ quản lý đƣợc các khách, ngoài ra không có quyền gì khác. Còn lại Visitor chỉ đóng vai trò là khách nên chỉ có quyền xem và sửa thông tin của chính mình. Các đối tƣợng trên muốn truy cập vào hệ thống thì cần phải đƣợc xác thực trƣớc khi vào. Thông tin xác thực bao gồm tên đăng nhập và mật khẩu, dựa vào các thông tin này thì DBMS sẽ thực hiện việc xác nhận và sẽ cho phép hay từ chối quyền truy cập CSDL. Trong một số trƣờng hợp thì đối với ngƣời có cấp cao thì cơ chế nhận dạng có thể sẽ phức tạp hơn. Ngoài ra để đảm bảo thông tin xác thực thì DBMS cũng cung cấp cơ chế thay đổi mật khẩu để tăng cƣờng khả năng an toàn cho mật khẩu.

Một vấn đề cũng cần chú ý nữa là các thông tin trong CSDL cũng cần có các biện pháp bảo vệ, bởi vì nếu chẳng may có kẻ xâm nhập vào DBMS thì chúng dễ dàng xem đƣợc các thông tin quan trọng,...

Do đó để giải quyết vấn đề này thì cần phải thực hiện:

1. Phân hoạch CSDL, tùy theo mức độ quan trọng của dữ liệu mà CSDL nên đƣợc phân hoạch theo chiều ngang và với việc phân hoạch này sẽ thực hiện theo một chiến lƣợc bảo mật riêng tùy theo yêu cầu cần bảo mật dữ liệu. Cụ thể nhƣ những mảnh CSDL lƣu trữ những thông tin quan trọng thì cần phải bảo mật thông tin này nhƣ mã hóa toàn bộ CSDL, còn những mảnh CSDL lƣu trữ thông tin ít nhạy cảm thì chỉ cần đảm bảo việc xác thực và toàn vẹn đối với dữ liệu này. Việc khai thác mảnh CSDL chứa thông tin nhạy cảm chỉ có thể tiến hành qua giao diện ứng dụng. và cũng chỉ có ngƣời dùng có quyền hợp lệ mới đƣợc phép chuyển CSDL về trạng thái sẵn sàng truy xuất, khi kết thúc công việc thì CSDL lại đƣợc chuyển về trạng

A Mã Internet B

hóa

Giải mã

thái an toàn. Tất nhiên thì những ngƣời dùng có quyền khai thác CSDL có độ bảo mật cao thì cũng có quyền khai thác CSDL có độ bảo mật ít hơn.

2. Mã hóa những trƣờng dữ liệu quan trọng, các dữ liệu trong CSDL không phải dữ liệu nào cũng quan trọng giống nhau, có những dữ liệu cần phải bảo mật trong khi có những dữ liệu chỉ cần đảm bảo toàn vẹn và xác thực, việc xác định dữ liệu CSDL cần bảo mật đƣợc xác định bởi những ngƣời có thẩm quyền. Những dữ liệu có độ bảo mật cao thì luôn đƣợc lƣu trữ ở dạng mã hóa, và những dữ liệu này cũng chỉ đƣợc giải mã ở tầng giao diện với ngƣời dùng và chỉ có những ngƣời dùng thỏa mãn các yêu cầu truy xuất những dữ liệu này mới đƣợc phép giải mã.

3. Kiểm soát việc chuyển thông tin giữa các mức bảo vệ khác nhau, có hai kiểu kiểm soát chính là:

- Chính sách bắt buộc, với chính sách này thì ngoài việc chống lại việc khai thác dữ liệu bất hợp pháp của ngƣời dùng không hợp lệ thì hệ thống còn có thể chống lại việc khám phá dữ liệu thông qua kênh gián tiếp để từ đó có thể khai thác dữ liệu bất hợp pháp, chẳng hạn nhƣ khi chuyển dữ liệu có mức bảo vệ cao xuống mức bảo vệ thấp hơn nhƣ READ dữ liệu ở mức cao và WRITE dữ liệu mức bảo vệ thấp hơn thì việc này có thể tạo điều kiện cho việ khai thác dữ liệu bởi những ngƣời không đƣợc phép.

- Ngoài ra, ngƣời dùng truy cập CSDL đƣợc kiểm soát bởi hai mức an toàn là mức đƣợc quy định bởi hệ thống an ninh CSDL và mức đƣợc quy định bởi ngƣời quản trị CSDL, chỉ khi ngƣời dùng vƣợt qua đƣợc hai mức này thì mới có thể thực hiện đƣợc việc truy xuất CSDL, hai mức kiểm soát này đƣợc hợp thành mức giao diện duy nhất để cho ngƣời dùng dễ dàng sử dụng.

c). Bảo vệ CSDL khi không phục vụ tác nghiệp:

Môi trƣờng hệ điều hành là nơi mà DBMS đƣợc cài đặt trên đó (hoạt động trên nền hệ điều hành) cho nên việc có kẻ đột nhập xâm nhập đƣợc vào hệ thống qua hệ điều hành thì chúng có thể có các biện pháp tấn công, trộm cắp, khai thác thông tin qua việc cài virus, trojan,... hay các phƣơng tiện phục vụ cho việc khai thác thông tin, để từ đó chúng có thể đánh cắp đƣợc thông tin CSDL, thông tin đăng nhập vào DBMS,…do vậy việc bảo vệ CSDL qua môi trƣờng hệ điều hành là việc rất quan trọng. Có một số biện pháp nhƣ cần phải phân quyền hạn nhƣ quyền truy cập máy chủ, bảo trì hệ thống. Quyền chạy các chƣơng trình ứng dụng trên hệ điều hành: trên hệ điều hành thì mỗi ngƣời dùng sẽ đƣợc cấp một tài khoản ở mức hệ điều hành, các tài khoản này sẽ đƣợc gán quyền cho phép chạy chƣơng trình trên hệ thống. Đối với một tài khoản quản trị nhƣ Administrator thì có quyền cao nhất đối với hệ thống, tài khoản này có thể phân quyền, thay đổi thông tin các tài khoản khác,…

Ngoài ra, một vấn đề cần chú ý là khi không phục vụ tác nghiệp thì dữ liệu nhạy cảm trong CSDL sẽ ở trạng thái đƣợc lƣu trữ, do đó ngoài việc mã hóa những trƣờng dữ liệu nhạy cảm này thì toàn bộ CSDL đƣợc mã hóa. Hệ mật phục vụ cho việc mã hóa này là việc kết hợp giữa mã hóa khóa đối xứng và mã hóa khóa công cộng đảm bảo cho việc ngƣời dùng hợp pháp có thể chuyển CSDL về trạng thái sẵn sàng phục vụ, do đó hạn chế việc tấn công qua môi trƣờng hệ điều hành vào CSDL chứa dữ liệu nhạy cảm.

d). Khóa:

Có hai trƣờng hợp: có hai trƣờng hợp chính trong mô hình kiến trúc bảo mật là sử dụng hệ mã hóa khóa đối xứng và hệ mã hóa khóa công khai.

Việc lấy khóa sẽ đƣợc lấy trong các thiết bị thẻ nhớ, token….

Trao đổi khóa đối xứng sử dụng giao thức Diffie-Helman, hoặc bằng hệ mã hóa khóa công khai, hoặc hai đối tƣợng có thể trao đổi trực tiếp cho nhau.

Ở đây đề cập đến việc sử dụng cách trao đổi khóa qua thuật toán Diffie-Helman. Việc sử dụng cách trao đổi khóa sử dụng thuật toán có nhƣợc điểm là khóa sử dụng để trao đổi là số nguyên tố, còn trong thực tế thì để đƣợc thuận tiện hơn thì khóa có thể là một dãy chữ số ngẫu nhiên bất kỳ và có độ dài đủ lớn.

Thuật toán trao đổi khóa Diffie-Helman:

Giả sử Alice và Bod muốn liên lạc với nhau và dùng phƣơng pháp mã hóa với khóa đối xứng, khi đó cả hai đồng ý với nhau chọn 1 cặp số nguyên tố đủ lớn gọi là n và g. Ví dụ nhƣ chọn n=11 và g=7.

Alice chọn ngẫu nhiên một số cho mình gọi là x và sẽ tính giá trị A theo công thức: A=gx mod n. Ví dụ nhƣ Alice chọn x=3 =>A=73 mod 11 = 2 do đó A=2.

Bod cũng chọn cho mình một số nào đó gọi là y và tính B theo công thức là B=gy mod n, ví dụ Bod chọn y=6 =>B=76 mod 11=4, vậy B=4.

Alice gửi A cho Bod, Bob nhận đƣợc A=2, sau đó Bob gửi B cho Alice, Alice nhận đƣợc B=4.

Alice tính giá trị khóa bí mật K1 theo công thức K1=Bxmod n=43mod 11=9. Còn Bob tính giá trị khóa bí mật K2 theo công thức K2=Aymod n=26mod 11=9.

Nhƣ vậy K1=K2=9, do đó Alice và Bod có thể dùng K=9 để mã hóa và giải mã thông tin gửi và nhận.

- Đối với việc sử dụng hệ mã hóa khóa công khai:

Sử dụng cơ sở hạ tầng mật mã khóa công khai để quản lý khóa và phân phối khóa công khai.

Cơ sở hạ tầng của khóa công khai PKI (Public Key Infrastructure) là một hệ thống (phần cứng, phần mềm) có nhiệm vụ đảm bảo cho giao dịch điện tử, trao đổi thông tin mật thông qua việc sử dụng các khóa mã và xác thực, đảm bảo tính tin cậy, toàn vẹn, xác thực ngƣời dùng, chống chối bỏ.

PKI dùng để quản lý việc sinh và phân phối các cặp khóa công khai và bí mật, công bố các khóa công khai (cùng với việc nhận dạng ngƣời dùng). Khái niệm PKI thƣờng dùng để chỉ toàn bộ hệ thống bao gồm có nhà cung cấp chứng thực số (CA) cùng với các cơ chế liên quan, sử dụng toàn bộ các thuật toán mã hóa công khai để trao đổi thông tin (điều này không bắt buộc).

Mục tiêu chính của PKI là phân phối khóa công khai và xác định mối liên hệ giữa khóa và định dạng ngƣời dùng. Do đó mà ngƣời dùng có thể sử dụng một số ứng dụng nhƣ: Mã hóa Email hoặc xác thực ngƣời gửi Email, mã hóa hoặc xác thực văn bản, xác thực ngƣời dùng (đăng nhập bằng thẻ thông minh - Smart Card).

Cơ chế này cho phép gán cho mỗi ngƣời dùng trong hệ thống một cặp khóa Public/Private, quá trình này thƣờng đƣợc thực hiện bởi một phần mềm đặt tại trung tâm và các phần mềm khác đặt tại địa điểm của ngƣời sử dụng. Khóa công khai thƣờng đƣợc phân phối trong chứng thực khóa công khai.

Thành phần của PKI: một hệ thống PKI gồm có 4 thành phần:

 RA (Registration Authorities): gắn kết giữa khóa công khai và định danh ngƣời giữ chứng chỉ.

 Client: Ngƣời sử dụng chứng chỉ PKI.

 Repository: hệ thống lƣu trữ chứng chỉ và danh sách các chứng chỉ bị thu hồi,

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu giải pháp đảm bảo an toàn và bảo mật cho trung tâm tích hợp dữ liệu (Trang 46 - 63)

Tải bản đầy đủ (PDF)

(80 trang)