1. Trang chủ
  2. » Công Nghệ Thông Tin

an toàn cơ sở dữ liệu phần 2

114 739 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 114
Dung lượng 2,55 MB

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

Nội dung

 Giám sát: OS tương tác trực tiếp với các chương trình ứng dụng  Hỗ trợ thực hiện các ngôn ngữ ứng dụng khác nhau  Kiểm soát các chương trình đang chạy, không cho phép sử dụng trái

Trang 1

Chương 2

CƠ CHẾ ĐẢM BẢO

AN TOÀN CƠ BẢN

Trang 4

2.1.1 Khái ni m v h i u h nh ệ ề ệ đ ề à

H i u h nh ệ đ ề à l m t ch à ộ ươ ng trình ch y trên máy tính, dùng ạ để

i u h nh, qu n lý các thi t b ph n c ng v t i nguyên ph n

m m trên máy tính H i u h nh óng vai trò trung gian trong ề ệ đ ề à đ

vi c giao ti p gi a ng ệ ế ữ ườ ử ụ i s d ng v ph n c ng máy tính, nó cung à ầ ứ

c p m t môi tr ấ ộ ườ ng cho phép ng ườ ử ụ i s d ng phát tri n v th c ể à ự

hi n các ng d ng m t cách d d ng ệ ứ ụ ộ ễ à

2.1 Môi trường an toàn của hệ điều hành

Trang 5

Các ứng dụng

Hệ điều hànhChương trình dịch hợp ngữChương trình cơ sở

cố định trong

bộ nhớ – không thể thay đổi được.

Trang 7

2.1.2 Các chức năng của hệ điều hành

OS cấp phát các tài nguyên hệ thống như: bộ nhớ,

file, thiết bị vào/ra cho ứng dụng

OS giải quyết vấn đề xung đột giữa các tiến trình sử

Trang 9

Giám sát:

OS tương tác trực tiếp với các chương trình ứng

dụng

Hỗ trợ thực hiện các ngôn ngữ ứng dụng khác nhau

Kiểm soát các chương trình đang chạy, không cho

phép sử dụng trái phép tài nguyên hệ thống

Chống can thiệp trái phép vào các vùng nhớ

2.1.2 Các chức năng của hệ điều hành

Trang 11

2.1.3 Các chức năng an toàn của hệ điều hành

Các ch c n ng h ứ ă ướ ng h tr an to n c a h i u h nh: ỗ ợ à ủ ệ đ ề à

Nhận dạng/xác thực người dùng

Bảo vệ bộ nhớ

Kiểm soát truy nhập vào tài nguyên

Kiểm soát luồng

Kiểm toán

Trang 14

2.2 Các phương thức xác thực

Các h th ng xác th c d a v o thông tin ng ệ ố ự ự à ườ i dùng bi t ế

Các hệ thống dựa vào mật khẩu

Các hệ thống dựa vào hỏi đáp

Xác thực dựa vào thẻ từ

Trang 15

2.2 Các phương thức xác thực

Các h th ng xác th c d a v o ệ ố ự ự à đặ đ ể c i m c a ng ủ ườ i dùng

Các hệ thống nhận dạng qua ảnh

Các hệ thống nhận dạng qua vân tay

Nhận dạng qua đặc trưng của chữ ký viết tay

Các hệ thống nhận dạng qua tiếng nói

Các hệ thống nhận dạng qua đặc điểm võng mạc

Trang 16

2.2.1 Các hệ thống xác thực dựa vào thông tin

h i ỏ đượ đặ c t riêng cho t ng ng ừ ườ i dùng v ch y u d a v o các à ủ ế ự à

h m toán h c H th ng s tính toán các h m n y sau khi nh n à ọ ệ ố ẽ à à ậ

c các giá tr a v o t ng i dùng v so sánh k t qu v i nhau

Trang 17

2.2.1 Các hệ thống xác thực dựa vào thông tin

người dùng đã biết

Các h th ng d a v o h i áp ệ ố ự à ỏ đ : Các h m m u nh sau: à ẫ ư

Các hàm đa thức: (ví dụ, f(x) = x3+ x2- x + 4): giá trị của biến x do hệ thống cung cấp, người dùng tính

f(x) và gửi cho hệ thống

Các hàm dựa vào việc biến đổi chuỗi ký tự: ví dụ,

f(a1a2a3a4a5) = a4a3a5a2a1 Khi đó người dùng phải gửi lại kết quả biến đổi chuỗi ký tự cho hệ thống

Trang 18

2.2.1 Các hệ thống xác thực dựa vào thông tin

người dùng đã biết

Các h th ng d a v o h i áp ệ ố ự à ỏ đ :

Các hàm dựa vào các thuật toán mật mã đơn giản: ví

dụ f(E(x)) = E(D(E(x))2) Hệ thống cung cấp cho

người dùng giá trị đã mã hóa E(x), người dùng phải giải mã D(E(x)) sau đó tính hàm bình phương

[D(E(x))]2, cuối cùng mã hóa giá trị này E(D(E(x))2) Sau đó người dùng gửi kết quả này tới hệ thống, hệ thống sẽ kiểm tra kết quả này bằng hàm f.

Trang 19

Các h th ng xác th c hai l n b t tay ệ ố ự ầ – ắ : h th ng t gi i thi u mình ệ ố ự ớ ệ

v i ng ớ ườ i dùng, còn ng ườ i dùng t xác th c ng ự ự ượ c tr l i h th ng ở ạ ệ ố

Xác thực hệ thống dựa vào các thông tin chỉ có người

dùng biết (ví dụ, ngày, giờ và đoạn chương trình của phiên làm việc cuối).

Xác thực người dùng dựa vào mật khẩu

2.2.1 Các hệ thống xác thực dựa vào thông tin

người dùng đã biết

Trang 21

Xác th c d a trên User Name v Password ự ự à

Challenge Handshake Authentication Protocol (CHAP)

Kerberos

Tokens (Th ) ẻ

Biometrics (Sinh tr c h c) ắ ọ

Multi-Factor Authentication (Xác th c a nhân t ) ự đ ố

Mutual Authentication (Xác th c l n nhau) ự ẫ

Một số phương thức chứng thực thường dùng

Trang 22

Xác th c d a trên User Name v Password ự ự à

Sự kết hợp của một user name và password là cách xác

thực cơ bản nhất

Username và password người dùng gõ vào sẽ được so

sánh với username và password được lưu trong CSDL của hệ thống Nếu trùng, thì user được xác thực,

ngược lại user bị cấm truy nhập.

Phương pháp này không bảo mật, vì username và

password được gửi đi dưới dạng rõ, không được mã hoá nên có thể bị lấy trên đường truyền

Một số phương thức xác thực thường dùng

Trang 23

Xác th c b ng ph ứ ằ ươ ng th c CHAP: ứ

(CHAP) cũng là mô hình xác thực dựa trên

username/password.

Khi user cố gắng log on, server đảm nhiệm vai trò

xác thực sẽ gửi một thông điệp thử thách (challenge message) trở lại máy tính User

Máy tính User sẽ phản hồi lại user name và password

được mã hóa

Một số phương thức xác thực thường dùng

Trang 24

Xác th c b ng ph ứ ằ ươ ng th c CHAP: ứ

Server xác thực sẽ so sánh phiên bản xác thực User

được lưu giữ với phiên bản mã hóa vừa nhận, nếu trùng khớp, user sẽ được authenticated Mật khẩu sẽ được mã hóa dưới dạng băm.

Thường được sử dụng khi User logon vào các remote

servers của công ty.

Một số phương thức xác thực thường dùng

Trang 25

Xác th c Kerberos: ự

Dùng một Server trung tâm để kiểm tra việc xác thực

user và cấp phát vé thông hành (service tickets) để User

có thể truy cập vào tài nguyên

Kerberos là một phương thức rất an toàn trong xác thực

bởi vì dùng cấp độ mã hóa rất mạnh Kerberos cũng dựa trên độ chính xác của thời gian xác thực giữa Server và Client Computer

Kerberos là nền tảng xác thực chính của nhiều OS như

Một số phương thức xác thực thường dùng

Trang 26

Tokens

Tokens là phương tiện vật lý như các thẻ thông

minh (smart cards) hoặc thẻ đeo của nhân viên (ID badges) chứa thông tin xác thực

Tokens có thể lưu trữ số nhận dạng cá

nhân-personal identification numbers (PINs), thông tin về user, hoặc passwords

Một số phương thức xác thực thường dùng

Trang 27

Tokens

Các thông tin trên token chỉ có thể được đọc và xử lý

bởi các thiết bị chuyên dụng, ví dụ như thẻ smart card được đọc bởi đầu đọc smart card gắn trên Computer, sau đó thông tin này được gửi đến Server xác thực

Tokens chứa chuỗi text hoặc giá trị số duy nhất

thông thương mỗi giá trị này chỉ sử dụng một lần.

Một số phương thức xác thực thường dùng

Trang 28

Tokens:

Ví dụ về Smart Cards (Thẻ thông minh)

Smart cards là ví dụ điển hình về xác thực dựa vào tokens Một smart card là một thẻ nhựa có gắn một chip máy tính lưu trữ các loại thông tin điện tử khác nhau Nội dung thông tin của card được đọc với một thiết bị đặc biệt.

Một số phương thức xác thực thường dùng

Trang 29

Biometrics (Sinh tr c h c): ắ ọ

Là mô hình xác thực dựa trên đặc điểm sinh học của

từng cá nhân, như: Quét dấu vân tay (fingerprint

scanner), quét võng mạc mắt (retinal scanner), nhận dạng giọng nói(voice-recognition), nhận dạng khuôn mặt.

Vì nhận dạng sinh trắc học hiện rất tốn kém chi phí

khi triển khai nên không được chấp nhận rộng rãi như các phương thức xác thực khác.

Một số phương thức xác thực thường dùng

Trang 30

Biometrics (Sinh tr c h c): ắ ọ

Một số phương thức xác thực thường dùng

Trang 31

Multi-Factor Authentication

Xác thực nhiều nhân tố dựa trên nhiều nhân tố kết

hợp, là mô hình xác thực yêu cầu kiểm tra ít nhất 2 nhân tố xác thực.Có thể đó là sự kết hợp của bất cứ nhân tố nào ví dụ như: bạn là ai, bạn có gì chứng minh, và bạn biết gì?

Ví dụ: về một Multi-Factor Authentication:

Cần phải đưa thẽ nhận dạng vào đầu đọc và cho biết tiếp password là gì

Một số phương thức xác thực thường dùng

Trang 32

Mutual Authentication:

Xác thực lẫn nhau là kỹ thuật bảo mật mà mỗi thành

phần tham gia giao tiếp cần kiểm tra lẫn nhau

Trước hết Server chứa tài nguyên kiểm tra “giấy phép

truy cập” của client và sau đó client lại kiểm tra “giấy phép cấp tài nguyên” của Server Điều này giống như khi bạn giao dịch với một Server của ngân hàng, bạn

cần kiểm tra Server xem có đúng của ngân hàng đó

không hay là một cái bẫy của hacker giăng ra, và ngược lại Server này sẽ kiểm tra lại bạn…

Một số phương thức xác thực thường dùng

Trang 33

M t kh u ậ ẩ l m t chu i ký t bí m t (s ho c ch ), ch có ng à ộ ỗ ự ậ ố ặ ữ ỉ ườ i dùng v h th ng bi t, do ó h th ng có kh n ng nh n d ng duy à ệ ố ế đ ệ ố ả ă ậ ạ

nh t ng ấ ườ i dùng d a v o vi c xác nh n tính h p l c a m t kh u ự à ệ ậ ợ ệ ủ ậ ẩ

2.2.3 Xác thực dựa vào mật khẩu

Trang 35

M t kh u ậ ẩ đượ c l u trong m t file do OS qu n lý => Các modul trong ư ộ ả

OS đề u có th truy nh p ể ậ đượ c file m t kh u ậ ẩ

Gi i pháp: mã hóa m t kh u b ng các thu t toán mã hóa, sau ó l u ả ậ ẩ ằ ậ đ ư

v o file m t kh u à ậ ẩ

V n ấ đề : hai ng ườ i dùng có cùng m t m t kh u => m t kh u sau ộ ậ ẩ ậ ẩ khi mã hóa c ng gi ng nhau ũ ố …

Quản lý mật khẩu

Trang 36

M t ộ salt l m t s 12 bit à ộ ố đượ c thêm v o m t kh u à ậ ẩ

salt l duy nh t v i m t ti n trình? à ấ ớ ộ ế

MËt khÈu

MËt khÈu m· hãa Salt File mËt

Trang 37

File mËt khÈu

Kỹ thuật Salt (Unix)

Xác th c m t kh u ng ự ậ ẩ ườ i dùng

Trang 38

B nh chính ộ ớ l thi t b l u tr duy nh t thông qua ó, CPU có à ế ị ư ữ ấ đ

th trao ể đổ i thông tin v i môi tr ớ ườ ng bên ngo i à

B nh chính ộ ớ đượ c t ch c nh m t m ng m t chi u các t nh ổ ứ ư ộ ả ộ ề ừ ớ (word), m i t nh có m t a ch ỗ ừ ớ ộ đị ỉ

2.3 Bảo vệ bộ nhớ

Trang 40

là địa chỉ thực tế mà trình quản lý bộ nhớ nhìn thấy và thao tác.

là tập hợp tất cả các địa chỉ ảo phát sinh bởi một chương trình.

là tập hợp tất cả các địa chỉ vật lý tương ứng với các địa chỉ ảo

là một cơ chế phần

Trang 41

Địa chỉ rào

Thanh ghi rào

Giá trị địa chỉ rào

Hệ điều hành

2.3.1 Địa chỉ rào

Trang 42

§Þa chØ (A)

§óngSai

§Þa chØ rµo (FA)

Trang 43

Nh n xét ậ : Giá tr c a ị ủ đị a ch r o có th ỉ à ể đượ c l u trong m t ư ộ thanh ghi r o à Khi ó, giá tr r o có th đ ị à ể thay đổ độ i ng tu thu c v o s ỳ ộ à ự thay đổ ủ i c a kích c OS, ỡ đồ ng th i OS s l u giá tr m i c a a ch ờ ẽ ư ị ớ ủ đị ỉ

r o v o trong thanh ghi Các à à đị a ch trong ch ỉ ươ ng trình ng ườ i dùng

c so sánh v i giá tr l u trong thanh ghi r o xem có h p l hay

không

2.3.1 Địa chỉ rào

Trang 44

Ư u, nh ượ đ ể c i m c a a ch r o? ủ đị ỉ à

2.3.1 Địa chỉ rào

Trang 45

Ư đ ể b o v u i m: ả ệ đượ c vùng nh c a h i u h nh tránh kh i s ớ ủ ệ đ ề à ỏ ự can thi p c a các ti n trình ng ệ ủ ế ườ i dùng.

Nh ượ đ ể c i m:

Trong hệ đơn chương: chỉ có một tiến trình người

dùng => lãng phí CPU.

Trong hệ đa chương: đ/c rào không bảo vệ được

vùng nhớ của người dùng này với người dùng khác.

2.3.1 Địa chỉ rào

Trang 46

H th ng a ch ệ ố đ ươ ng v i ph n vùng c nh ớ ầ ố đị : b nh ộ ớ đượ c chia

th nh n phân vùng (chú ý l phân vùng v t lý) v i kích th à à ậ ớ ướ c c nh ố đị (các phân vùng có th có kích th ể ướ c b ng nhau ho c khác nhau) Các ằ ặ

ti n trình có yêu c u b nh s ế ầ ộ ớ ẽ đượ đặ c t trong h ng à đợ i, có hai cách ti p c n ế ậ để ổ t ch c h ng ứ à đợ i:

2.3.2 Tái định vị

Trang 47

2.3.2 Tái định vị

Trang 48

H th ng a ch ệ ố đ ươ ng v i ph n vùng c nh ớ ầ ố đị :

Nhiều hàng đợi: Mỗi phân vùng có một hàng đợi tương

ứng, một tiến trình sinh ra sẽ được đặt vào trong hàng đợi của phân vùng có kích thước nhỏ nhất nhưng vẫn thỏa mẵn nhu cầu chứa tiến trình đó.

=> Nhược điểm: Có hàng đợi thì trống, hàng đợi thì

đầy khiến nhiều tiến trình phải chờ đợi để cấp phát bộ nhớ.

2.3.2 Tái định vị

Trang 49

H th ng a ch ệ ố đ ươ ng v i ph n vùng c nh ớ ầ ố đị :

Một hàng đợi: Tất cả các tiến trình được đặt trong một

hàng đợi duy nhất, khi có một phân vùng tự do (tự do hoàn toàn cả phân vùng) thì tiến trình đầu tiên trong hàng đợi có kích thước phù hợp sẽ được đặt vào trong phân vùng đó.

2.3.2 Tái định vị

Trang 50

H th ng a ch ệ ố đ ươ ng v i ph n vùng c nh ớ ầ ố đị :

Nh ượ đ ể c i m:

Nếu kích thước của tiến trình không vừa đúng bằng (<)

kích thước của phân vùng chứa nó thì phần bộ nhớ còn lại trong phân vùng sẽ bị lãng phí Đây gọi là hiện

tượng phân mảnh nội vi (internal fragement).

Mức độ đa chương của hệ thống sẽ bị giới hạn bởi số

lượng phân vùng.

Khi cho phép sự đa chương, cần giải quyết 2 vấn đề:

2.3.2 Tái định vị

Trang 51

2 v n ấ đề đ à ó l

Tái định vị (relocation)

Bảo vệ các tiến trình: Khi cho phép sự đa chương, có

nhiều tiến trình đồng thời trong bộ nhớ, do đó cần phải bảo vệ các tiến trình khỏi sự xâm phạm lẫn

nhau (Vì lúc này, một tiến trình có thể tạo ra các chỉ thị truy xuất đến một địa chỉ bất kỳ trong bộ nhớ => truy xuất đến dữ liệu của tiến trình khác, nếu như không có phương pháp bảo vệ).

2.3.2 Tái định vị

Trang 52

Đị a ch trong ch ỉ ươ ng trình ngu n l a ch logic, mu n ch y ch ồ à đị ỉ ố ạ ươ ng trình ph i biên d ch v n p ch ả ị à ạ ươ ng trình v o b nh => ph i chuy n à ộ ớ ả ể

i a ch

đổ đị ỉ

Tái nh v = chuy n đị ị ể đổ đ i /c logic -> /c v t lý đ ậ

Ví d , n u ch ụ ế ươ ng trình truy xu t ấ đế đị n a ch 100 ( a ch logic), v ỉ đị ỉ à

ch ươ ng trình đượ c n p v o phân vùng 1 có a ch v t lý b t ạ à đị ỉ ậ ắ đầ u l à 100K, thì a ch truy xu t th c s l 100K+100 = a ch v t lý đị ỉ ấ ự ự à đị ỉ ậ

Trình liên k t (linker) ph i th c hi n nhi m v tái nh v ch ế ả ự ệ ệ ụ đị ị ươ ng

trình.

2.3.2 Tái định vị

Trang 53

Nh v y, th c ch t ư ậ ự ấ tái nh v đị ị l vi c chuy n à ệ ể đổ ừ đị i t a ch logic ỉ

c a ch ủ ươ ng trình sang a ch v t lý, còn g i l đị ỉ ậ ọ à S k t bu c ự ế ộ a ch đị ỉ

Gi thi t r ng K l giá tr r o, khi ó a ch v t lý c a m t ch ả ế ằ à ị à đ đị ỉ ậ ủ ộ ươ ng trình s ẽ đượ c tính b ng cách c ng K v i a ch logic c a ch ằ ộ ớ đị ỉ ủ ươ ng trình ó đ

2.3.2 Tái định vị

Trang 55

Th i i m biên d ch: ờ để ị

Nếu tại thời điểm biên dịch, có thể biết vị trí mà chương trình sẽ thường trú trong bộ nhớ (ví dụ chương trình sẽ có địa chỉ bắt đầu trong bộ nhớ chính là K1 - địa chỉ rào), thì trình biên dịch có thể phát sinh ngay mã lệnh thực thi với các địa chỉ tuyệt đối Trong suốt quá trình biên dịch, địa chỉ trong chương trình là các địa chỉ tuyệt đối = địa chỉ tương đối + K1 Sau đó chương trình nạp, sẽ nạp mã lệnh thực thi này vào vùng nhớ bắt đầu từ K1.

Nếu về sau có sự thay đổi vị trí thường trú lúc đầu của

2.3.2 Tái định vị

Trang 56

Th i i m n p: ờ đ ể ạ N u trong quá trình biên d ch ch a bi t v trí ế ị ư ế ị

th ườ ng trú c a ch ủ ươ ng trình trong b nh , thì trình biên d ch s ộ ớ ị ẽ sinh ra mã l nh th c thi t ệ ự ươ ng đố object code) ch a các a ch i ( ứ đị ỉ

t ươ ng đố i Khi n p ch ạ ươ ng trình v o b nh , nh ng a ch à ộ ớ ữ đị ỉ

t ươ ng đố đ i ó s ẽ đượ c chuy n th nh các a ch tuy t ể à đị ỉ ệ đố i trong

b nh ây ộ ớ Đ đượ c g i l ọ à –tái nh v t nh đị ị ĩ – Khi có s thay ự đổ ị i v trí l u tr ti n trình trong b nh , ch c n n p l i m không c n ư ữ ế ộ ớ ỉ ầ ạ ạ à ầ biên d ch l i ch ị ạ ươ ng trình.

2.3.2 Tái định vị

Trang 57

Th i i m x lý ờ đ ể ử :

Nếu có nhu cầu di chuyển tiến trình từ vùng nhớ này

sang vùng nhớ khác trong quá trình xử lý – chạy, thì

sự kết buộc địa chỉ cần được thực hiện trong thời gian chạy chương trình

Khi đó cần sử dụng cơ chế phần cứng đặc biệt (MMU)

Trong trường hợp này, địa chỉ của chương trình khi được nạp vào bộ nhớ chưa phải địa chỉ tuyệt đối, nó có thể được tái định vị Và các địa chỉ đó sẽ được chuyển thành địa chỉ tuyệt đối khi chạy chương trình Đây

2.3.2 Tái định vị

Ngày đăng: 22/10/2014, 22:10

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Các mức trừu tượng của hệ  thông máy tính - an toàn cơ sở dữ liệu phần 2
Hình 2.1 Các mức trừu tượng của hệ thông máy tính (Trang 5)

TỪ KHÓA LIÊN QUAN

w