1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu hệ thống phân tán và ứng dụng trong quản lý công văn

66 4 0
Tài liệu được quét OCR, nội dung có thể không chính xác

Đ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

Tiêu đề Tìm Hiểu Hệ Thống Phân Tán Và Ứng Dụng Trong Quản Lý Công Văn
Tác giả Phạm Thị Trang
Người hướng dẫn PGS.TS Nguyễn Mậu Hân
Trường học Đại Học Huế
Chuyên ngành Khoa Học Máy Tính
Thể loại luận văn thạc sĩ
Năm xuất bản 2018
Thành phố Thừa Thiên Huế
Định dạng
Số trang 66
Dung lượng 29,72 MB

Nội dung

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO DAI HOC HUE

TRUONG DAI HOC KHOA HOC

PHAM THI TRANG

TIM HIEU HE THONG PHAN TAN

VA UNG DUNG TRONG QUAN LY CONG VAN

CHUYEN NGANH: KHOA HOC MAY TINH MA SO: 60.48.01.01

LUẬN VĂN THẠC SĨ KHOA HỌC ĐỊNH HƯỚNG NGHIÊN CUU

NGUOI HUONG DAN KHOA HỌC PGS.TS NGUYEN MAU HAN

Thừa Thiên Huế, 2018

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan để tài khoa học “Tìm hiểu hệ thống phân tán và ứng dụng trong quản lý công văn” là công trình nghiên cứu của riêng tôi Các số liệu, kết quả nghiên cứu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác

Thừa Thiên Huế, ngày tháng năm 2018

Tác giả luận văn

Trang 3

nâng cao độ linh hoạt và nâng cấp hệ thống Các công việc trước kia được tập trung trên một máy tính thì có thể chia tính toán với các máy tính khác Có thê sử dụng các thư viện được cung cấp từ các máy tính khác, điều này đảm bảo được sự phân tán chức năng và sử dụng chung các nguồn tài nguyên Mô hình hệ thống phân tán là phương thức tô chức phần mềm bên trong hệ thống, hiện nay có bốn mô hình đang được áp dụng phổ biến bao gồm: Mô hình phân tầng, mô

hình dựa trên đối tượng, mô hình dựa trên sự kiện và mô hình dữ liệu tập

trung

Các thành phần trong mô hình phân tầng được tổ chức thành từng lớp có sự ràng buộc chặt chẽ, lớp trên gọi các thành phần lớp dưới liền kề Bên yêu cầu gửi thông tin yêu cầu được lưu chuyển từ lớp trên xuống lớp dưới, kết quả trả về được chuyên từ lớp dưới lên lớp trên Bên thực hiện yêu cầu tiếp nhận thông tin yêu cầu được lưu chuyển từ lớp dưới lên lớp trên, kết quả trả về được chuyên từ lớp trên xuống lớp dưới Như vậy, số lượng tầng cảng lớn thì hệ thống sẽ càng

được mô đun hóa cao và hiệu năng phụ thuộc vào số lượng tầng Tầng N Tang N-1 Luong yêu cầu i : t : Luồng trả về Tầng 2 Tang 1 Hình 1.2 Mô hình phân tầng

Mô hình đối tượng phân tán ràng buộc lỏng hơn mô hình phân tầng, mỗi

đối tượng được coI là một thành phần và được gọi bằng cơ chế gọi thủ tục từ xa

Trang 4

Đề thực hiện các tính năng ở các vị trí khác nhau, ứng dụng phân tán phải thực thi một vài tiến trình ở đó Chúng ta gọi các tiến trình này là các tác nhân

(agent) cua tng dung Do do, mét agent la một tiến trình cục bộ thi hành một số hoạt động nào đó với tư cách đại diện cho ứng dụng

Các agent phải liên lạc với nhau thông qua các thông điệp để cùng hợp tác

thực thi thao tác toàn cục được yêu cầu bởi ứng dụng Có nhiều cách tổ chức các

agent nhằm xây dựng cấu trúc của các tiến trình hợp tác Điều này sẽ nói rõ hơn ở chương sau Với mục đích thảo luận về tính nguyên tử, chúng ta giả sử

rằng[1][3]:

- Tổn tại một agent gốc sẽ khởi động toàn bộ giao tác, vị trí chứa agent gốc được gọi là vị trí gốc của giao tác

- Agent gốc chịu trách nhiệm phát các lệnh begin_transaction, commit và abort

- Chỉ có agent gốc mới có thể yêu cầu việc tạo ra một agent mới

1.3 TIEU KET CHUONG 1

Trong chương 1 tôi đã trình bày tổng quan về hệ thống phân tán, trong đó nghiên cứu sâu giao tác phân tán với các nội dụng: các tính chất của giao tác phân tán, mục tiêu của quản lý giao tác phân tán Các mục tiêu này có quan hệ chặt chế

với nhau; vấn để đặt ra là có một sự dung hòa giữa chúng, bởi vì nếu chúng ta có

găng thỏa mãn cùng một lúc các mục tiêu trên của mọi giao tác thì có thê xảy ra lỗi khi hệ thống hoạt động Mục tiêu của quản lý giao tác là làm thế nào để bảo dam

tính hiệu quả, độ tin cậy, và thực hiện đồng thời của các giao tác Qua đó ứng dụng

Trang 5

2.4.3 Hàm băm MIDS L2 TH HH HH te 38

2.4.4 Quy trình thực hiện xác thực công văn

P0008 06:i9/9) c1 41 CHƯƠNG 3 UNG DUNG TÍNH XÁC THUC DE QUAN LY CONG VAN TRONG VAN PHONG SO GD&DT PHÚ YÊN -cscccccsccccres 42

3.1 ỨNG DỤNG TÍNH XÁC THỰC TRONG QUẢN LÝ CÔNG VĂN 42 kh) ::đddtddỒẮÝẢỶẢ 42

3.1.2 Những hạn chế của các giải pháp quản lý công văn theo phương pháp truyền thống 22 222221121122111211121112111211121112111212222 ra 43 3.1.3 Yêu cầu giải pháp quản lý công văn theo phương pháp hiện đại 44

3.2 PHÂN TÍCH VÀ THIẾT KÉ VẤN ĐÈ QUẢN LÝ CÔNG VĂN 4ã 3.2.1 Mô hình tổng thỂ 222222 S211221221121112112112112122212222 re 45

3.2.2 Quản lý và xác thực công văn bằng chữ ký sốỐ -2- 5222222222 46

3.3 CÁC CHỨC NANG CUA CHƯƠNG TRÌNH -s-c-+ 46

3.3.1 Các chức năng chính hệ thống 222222222 221122122122122122122 2 e6 46

3.3.2 Cập nhật công văn đến 22222 22122212211221221122222222 2 ee 47

3.3;:3 GânphRAt:‹công:văn [2 ssssesectne tot t0 HD GHELVDEGSSIOTAJRSSSPISREHRESMBISĐABAnpeil 47 3.3.4 Quản lý người dùng, nhóm người dùng St ssccsirixerres 48 3.3.5 Các yêu cầu phi chức năng 22222 2211221221222121122.21222 e6 48

3.4 CÀI ĐẶT VÀ MƠ PHỎNG -22-©22222SeSCzeecExeecrxerrrxerrrxerrrrerrre 49

3.5 CÀI ĐẶT CHƯƠNG TRÌNH MINH HỌA BẰNG NGÔN NGỮ C# 52

KET LUẬN VÀ HƯỚNG PHÁT TRIỂN -5c©cscScsccceerrerrrerreee 57

Trang 6

DANH MỤC CÁC HÌNH VẼ

Hình 1.1 Ba loại hệ thống nhiều bộ xử lý dựa trên một kênh .- -:-: 9

Hình 1.2 Mô hình phân tầng 22222 2211221221222121121121122222222ee 13 Hình 1.3 Mô hình đối tượng phân tán -2222222211221221221221221.222 xe 14

Hình 1.4 Mô hình dựa trên sự kiện - - - 21112211 1115211 1152111158111 xxnryy 16

THIinh l;5 MIồ hình,;đữ liệu Tấp ÍTUDBsssessrrseosineeesosBlgiBllosBGBBIEISDRIESSBNIASSEĐĐ03 80088 17 Hình 1.6 Cac dạng hoàn thành giao tác .- cc S21 Hye et 19

Hình 2.1 Sơ đổ mã hóa và tạo chữ kí sỐ cc 2S Hee 32

Hình 2.2 Sơ đồ giải mã và xác thực chữ kí 22222 22212212221222122222122 e6 33

Hình 2.3 Sơ đồ thuật tốn R§A 22t n2 rưe 35

Hình 2.4 Quy trình thực hiện chữ ký điện tử Sc cscnhnkrerrrrees 40

Hình 3.1 Mô hình phân tán quản lý công văn đi đến - 22222 2222222222222 45 Hình 3.2 Mô hình ký và xác thực chữ ký - ccc ctsn nh Hye 46

Hình 3.3 Sơ đồ chức I5 53010 0 1

Hình 3.4 Sơ đỗ quá trình ký vào tài liệu điện tử dùng khóa bí mật

Hình 3.5 Sơ đồ quá trình xác thực chữ ký điện tử đùng khóa công khai 51

Hinh 3.6 Man hinh dang nhap vao hé théng 0.0 coe cece cece cese cece cesses ceseteteeeteeees 52

Hình 3.7 Màn hình Quan ly cOng Van eeeceeeeeeeeneeeeeseneeeesenseteeeeesenteaes 52

Hình 3.8 Màn hình cập nhật văn bản dt eee eeeeeeeeeeeceeeeneeeeeenseneeeeeseneeaes 53

THình;3i9 Mẫn: hình ký:cÔng VĂN nezssgsetres890DESEEBIEEMEGBSDEIGGNBIEISGNEIEEEDRIRESESĐASSAg8RI 33

Hình 3.10 Tạo khóa công khai và khóa bí mật ¿5c 2S St sisieirrrersres 54 Hình 3.11 Tải văn bản và thực hiện ký văn bản c2: S Series 54

Trang 7

DANH MỤC CÁC THUẬT NGỮ TIÉNG ANH Atomicity Availability Confidentiality Data Authentication Durability Entity Authentication Isolation Integrity Information security Message- Digest algorithm 5 Serializability Security Symmetric-key Encryption Public-key Encryption Tinh nguyên tử Sự sẵn sàng Sự bí mật Xác thực dữ liệu Tính bên vững Xác thực thực thể Tính biệt lập Sự toàn vẹn Bảo mật thông tin Hàm băm MDS Tính tuần tự Bảo mật

Mã hoá với khoá đối xứng Mã hố với khố cơng khai

Trang 9

MỞ ĐẦU

1 LY DO CHON DE TAI

Công văn là hình thức văn bản hành chính phổ biến trong các cơ quan, tổ chức, doanh nghiệp Công văn là phương tiện giao tiếp chính thức của cơ quan Nhà nước với cấp trên, cấp dưới và với công dân Thậm chí trong các tô chức xã hội và các doanh nghiệp trong hoạt động hằng ngày cũng phải soạn thảo và sử dụng công

văn để thực hiện các hoạt động thông tin và giao dịch nhằm thực hiện các chức năng nhiệm vụ của mình

Công tác quản lý công văn có ảnh hưởng trực tiếp đến chất lượng và hiệu quả công việc của các cơ quan tổ chức Do đó ở mỗi cơ quan tô chức, việc khắc phục các hạn chế của phương pháp quản lý công văn truyền thống tìm kiếm giải pháp quản lý công văn mới để nhằm mục đích mang lại hiệu quả cho công tác quản lý công văn của đơn vị là vấn đề rất thiết thực và quan trọng

Trong văn phòng Sở GD&ĐT Phú Yên, công văn đến và đi hàng ngày thường phát sinh nhiều, nếu không có cách xử lý hiệu quả và khoa học thì sẽ rất khó trong công tác quản lý, lưu trữ và tìm kiếm sau này Từ các bất cập được nêu trên, giúp ta thấy được việc xử lý công văn phần lớn trên giấy tờ làm mắt nhiều thời gian và công sức Do đó ngoài những cách sắp xếp, lưu trữ truyền thống như lưu số, phân loại, lưu kho thì việc áp dụng một phần mềm quản lý công văn là cần thiết ở thời điểm hiện nay Để giải quyết các vấn đề:

- Đảm bảo công văn trong văn phòng sở được xử lý chính xác, đúng thời hạn,

an toàn và hiệu quả Việc lưu trữ công văn và tìm kiếm nhanh chóng và thuận tiện

- Nâng cao hiệu quả xử lý công văn và lập hồ sơ trong văn phòng Sở GD&ÐT Phú Yên

- Trao đổi thông tin, tiếp nhận ý kiến chỉ đạo từ bộ và nhận công văn từ các

phòng GD&ĐT trực thuộc cấp dưới một cách kịp thời

- Tiết kiệm thời gian, công sức, chi phí khi quản lý, lưu trữ và tìm kiếm công

Trang 10

Xã hội ngày càng phát triển, yêu cầu trao đổi và xử lý, khối lượng công văn ngày càng đa dạng và phức tạp Với sự phát triển của Công nghệ thông tin, các phương tiện và công nghệ truyền thông tiên tiến ra đời, trong đó mạng máy tính và đặc biệt là mạng Internet đã giúp chúng ta giao dịch công văn thuận tiện và nhanh chóng Để bảo đảm an toàn cho công văn của văn phòng sở, trong quản lý các văn bản, chứng từ, xác thực thông tin cần phải sử dụng đến giải pháp hàm băm và chữ

ký số Hàm băm và chữ ký số được sử dụng để bảo đảm tính bảo mật, tính toàn vẹn,

tính chống chối bỏ của các thông tin giao dịch trên mạng Internet Chữ ký số tương đương với chữ ký tay nên có giá trị sử dụng trong các ứng dụng giao dịch điện tử với máy tính và mạng Internet cần tính pháp lý cao

Từ những vấn đề trên nên em chọn đề tài “Tìm hiểu hệ thống phân tán và ứng dụng trong quản lý công văn” để trình bày trong luận văn này

2 MỤC ĐÍCH NGHIÊN CỨU

- Tìm hiểu hệ thống phân tán và quản lý giao tác phân tán đề biết được sự liên quan giữa điều khiến đồng thời, cơ chế phục hồi và cấu trúc của hệ thống

- Tìm hiểu cách thức bảo mật thông tin Tìm hiểu các hàm băm thông tin dữ

liệu, cách mã hóa và giải mã dữ liệu: Hàm băm MDS, mã hóa công khai, mã hóa bí mật cùng những thuật toán được sử dụng cho mỗi loại mã hóa

- Phân tích, thiết kế CSDL hệ thống về xác thực thông tin Cụ thể bằng xây dựng hệ thống quản lý công văn trong môi trường phân tán

3 DOI TUONG NGHIÊN CỨU

- Hệ thông phân tán, giao tac phân tán

- Mô hình quản lý công văn trong các cơ quan nhà nước - Lý thuyết mật mã và an toàn xác thực thông tin

- Ứng dụng chữ ký điện tử và hệ thống phân tán đề xác thực thông tin công văn và xây dựng hệ thống quản lý công văn trong môi trường phân tán

4 PHƯƠNG PHÁP NGHIÊN CỨU

Nghiên cứu lý thuyết

Trang 11

- Tìm hiểu cơ sở lý thuyết mật mã về xác thực thông tin Nghiên cứu thực nghiệm

- Tìm hiểu, phân tích và tổng hợp các bài báo, tài liệu

- Phân tích, thu thập thông tin về quản lý công văn

- Phân tích, thiết kế chương trình ứng dụng để quản lý công văn trong văn phòng Sở GD&ĐT Phú Yên

- Cài đặt ứng đụng mô phỏng hệ thống quản lý công văn

5 PHẠM VI NGHIÊN CUU

Phạm vì về nội dung nghiên cứu:

- Dé tai nghiên cứu về xác thực thông tin công văn bằng chữ ký số, hệ thống phân tán, cơ sở dữ liệu phân tán và những ứng dụng của hệ thống phân tán từ đó xây dựng ứng dụng quản lý công văn trong môi trường phân tán

Pham vi vé lãnh thổ nghiên cứu:

- Dé tài giới hạn nghiên cứu hệ thống quản lý công văn trong một cơ quan

nhà nước, cụ thê là Sở GD&ĐT Phú Yên có ứng dụng chữ ký số 6 CẤU TRÚC CỦA LUẬN VĂN

Luận văn gồm có 3 chương, cụ thể là:

CHUONG 1: TONG QUAN HE THONG PHAN TAN 1.1 Giới thiệu hệ thống phân tán

e _ Khái niệm hệ thống phân tán

e _ Kếtnối người sử dụng và tài nguyên hệ thống e _ Các kiểu hệ thống phân tán

e _ Phân loại kiến trúc hệ thống phân tán 1.2 Quản lý giao tác phân tán

e _ Các tính chất của giao tác phân tán e Muc tiêu của quan ly giao tac phan tán e Cac giao tac phan tan

CHƯƠNG 2: PHUONG PHAP XAC THUC CONG VAN

Trang 12

e Xác thực giao dịch e_ Xác thực khóa e Chit ky dién tr 2.3 Xác thực thực thé e Xác thực bằng mật khẩu e Xác thực qua sinh trắc e _ Xác thực bằng hệ thống mắt 2.4 Các phương pháp xác thực công văn e _ Phương pháp xác thực bằng chữ ký số e Thuật toán RSA e Ham bam MD5

e Quy trinh thuc hién xac thực công văn

CHUONG 3: UNG DUNG TINH XAC THUC DE QUAN LY CONG

VAN TRONG VAN PHONG SO GD&DT PHU YEN

3.1 Ứng dụng tính xác thực trong quản lý công văn 3.2 Phân tích và thiết vấn đề quản lý công văn

e Mô hình tổng thể

e - Quản lý và xác thực công văn bằng chữ ký số 3.3 Các chức năng của chương trình

e _ Các chức năng chính hệ thống e _ Cập nhật công văn đến

e Cập nhật công văn di

e Quan lý người dùng, nhóm người dùng e _ Các yêu cầu phi chức năng

3.4 Cài đặt mô phỏng

PHAN KET LUAN: DANH GIÁ VÀ HUONG PHAT TRIEN

- Đánh giá các kết quả đạt được

- Những hạn chế của luận văn

Trang 13

CHUONG 1 TONG QUAN VE HE THONG PHAN TAN

Trong chuong | tdi trinh bai cac vấn đề về tổng quan hệ thống phân tán và giao tác phân tán Trình bày các tính chất và mục tiêu của giao tác phân tán trong đó có phân loại giao tác phân tán và quản lý khóa trong môi trường phân tán Trên cơ sở phân tích các sự cố truyền thông trong cơ sở dữ liệu phân tán Luận văn làm rõ tính chất và mục tiêu chung của hệ thống phân tán và ứng dụng quản lý công văn trong môi trường phân tán

1.1 GIOI THIEU HE THONG PHAN TAN 1.1.1 Khái niệm hệ thống phân tán

Hệ thống phân tán bao gồm các máy tính (bao gồm cả các thiết bị khác

như PDA, dién thoại di động ) được kết nối với nhau đề thực hiện nhiệm vụ tính

toán Hệ thống phân tán xuất phát từ nhu cầu sử dụng khả năng tính toán tốt hơn và hiệu quả hơn bằng cách kết hợp khả năng tính toán của từng máy tính

độc lập, điều đó đã trở thành hiện thực dựa trên những tiến bộ về công nghệ

mạng Ba yếu tố quyết định tốc độ tính toán trong các máy tính bao gồm: Tốc độ của bộ vi xử lý trung tâm (CPU), bộ nhớ (RAM) và đường truyền trong bo mạch chủ (Bus) Đối với hệ thống phân tán, một yêu cầu mới quan trọng đã nảy sinh đó là vấn để trao đổi thông tin giữa các máy tính, thiếu yếu tổ này thì

nhiệm vụ tính tốn trên mơi trường phân tán sẽ không thể thực hiện được Tốc

độ truyền dẫn trong các công nghệ mạng ngày càng tăng đã tạo điều kiện cho sự phát triển các ứng dụng phân tán, các máy tính có thể trao đổi thông tin và chia sẻ dữ liệu với nhau mà không phụ thuộc vào khoảng cách địa lý

Hệ thống phân tán là hệ thống các thành phần được đặt trên các mạng máy tính, chúng trao đổi thông tin và phối hợp các hoạt động chỉ bằng cách truyền tin báo và người sử dụng cảm giác như là một hệ thống đơn lẻ Khái niệm phân tán được thể hiện bởi tính độc lập của từng máy tính nhưng phải phối hợp làm việc với nhau để người sử dụng không có cảm giác các thành phần rời rạc

Trang 14

(các cửa hàng, nhà kho ), tuy nhiên các nhân viên khai thác đều có thể tìm thấy thông tin theo yêu cầu của mình như thê các thông tin đó đang được lưu trữ trên máy tính của người sử dụng

Nhìn chung việc xây dựng các ứng dụng phân tán phức tạp hơn nhiễu so với các ứng dụng tập trung, trong nhiều trường hợp bắt buộc phải xây dựng các ứng dụng phân tán vì những lý do sau:

Yêu cầu tính toán phân tán: Ứng dụng chạy trên nhiều máy tính khác nhau nhằm tận dụng khả năng tính toán song song hoặc nhằm mục đích sử dụng khả năng tính toán của các máy tính chuyên dụng

Yêu cầu về khả năng xử lý lỗi: Yêu cầu này liên quan tới các hệ thống cần phải đảm bảo an toàn tuyệt đối ngay cả khi có sự cố xảy ra, điều này được

thực hiện bằng cách tăng số lần tính toán cho cùng một nhiệm vụ nhằm mục

đích kịp thời phát hiện và xử lý lỗi

Chia sẻ tài nguyên: Những người sử dụng trao đổi thông tin với nhau thông qua một ứng dụng trên mạng Mỗi người sử dụng chạy một ứng dụng phân tán trên máy tính của mình và chia sẻ các đối tượng sử đụng Một số ứng dụng phải chạy trên nhiều máy tính vì đữ liệu được đặt phân tán trên mạng liên quan đến quyền quản lý và quyền sở hữu dữ liệu: cho phép truy nhập đữ liệu từ xa nhưng không cho phép sao chép đề lưu giữ cục bộ

Trong các hệ thống phân tán, môi trường mạng đóng vai trò quan trọng trong việc phân phát thông tin đến các thành phần và tập hợp kết quả tính toán của các thành phần đó Các máy tính kết nối với nhau trên mạng đảm nhiệm chức năng truyền thông cho các ứng đụng, chúng không chia sẻ bộ nhớ cho nhau đo đó không thể sử dụng các biến toàn cục để trao đổi thông tin, thông tin trao đổi giữa các máy tính chỉ được thực hiện thông qua cơ chế trao đổi tin báo Mạng là tài nguyên chung của hệ thống do đó khi xây dựng hệ thống phân tán cần phải xem xét đến các vấn đề như: Băng thông, các điểm có thể xảy ra sự

cố, bảo mật và an toàn dữ liệu, đồng bộ tiến trình Quả trình triển khai các ứng

dụng trong hệ thống phân tán thường gặp một số khó khăn sau:

Trang 15

khác nhau và các máy tính được cài đặt các hệ điều hành khác nhau

Khó tích hợp các phần mềm vì chúng được phát triển trên các ngôn ngữ khác nhau

Thời gian phát triển phần mềm lớn do đó thường kéo theo chi phí xây dựng hệ thống cao

Thực tế việc xây dựng nên tảng cho các hệ thống phân tán vẫn dựa trên mô hình lớp OSI, trong đó 4 lớp thấp (vật lý, liên kết dữ liệu, mạng và lớp giao vận) giải quyết các vấn để như phát hiện và sửa lỗi, định tuyến những vấn để này thường do hệ điều hành đảm nhiệm Tuy nhiên việc áp dụng 3 lớp trên (phiên làm việc, trình diễn và lớp ứng dụng) đã được sử dụng trong các sản phẩm nền của hệ thống phân tán nhằm mục đích xử lý các thủ tục kết nối giữa các thành phần phân tán và thể hiện cấu trúc đữ liệu phức tạp của các ứng dụng, các sản phẩm như vậy gọi là phần mềm trung gian Các ứng dụng phân tán

thường được xây dựng dựa trên nên hệ điều hành và các thư viện hỗ trợ việc xử lý phân tán, chúng thực hiện các nhiệm vụ xác định vị trí của các máy tính, đồng

bộ và mã hóa thông tin

1.1.2 Kết nối người sử dụng và tài nguyên hệ thống

Mục tiêu chính của hệ thống phân tán là kết nối người sử dụng và tài nguyên mạng Nhiệm vụ chính của một hệ thống phân tán là cho phép người sử dụng được khai thác thông tin mà không phụ thuộc vị trí địa lý của người đó Như vậy nảy sinh hàng loạt vấn để liên quan đến việc khai thác và sử dụng thông tin: ai được phép truy nhập, truy nhập thông tin ở mức độ nào, thời gian nào được phép truy nhập, tần suất truy nhập thông tin

Trong suốt đối với người sử dụng

Mục tiêu trong suốt đối với người sử dụng nhằm che giấu vị trí thực của thông tin đối với người sử dụng, người sử dụng không biết được thông tin được lưu trữ ở đâu và xử lý trên máy tính nào Tính trong suốt đối với người sử dụng

thể hiện ở các đặc điểm sau:

Trang 16

- Di chuyên (Migration): Ân quá trình chuyên vị trí lưu trữ đữ liệu

- Đặt lại vị trí (Relocation): An qua trinh di chuyén dữ liệu mà không làm

gián đoạn hoạt động của người sử dụng

- Nhân bản (Replication): Che giấu việc tạo ra bản sao dữ liệu

- Tương tranh (Concurrency): Che giấu việc chia sé tài nguyên cho nhiều người sử dụng

- Lỗi (Failure): Che giấu lỗi và phục hôi tài nguyên

- Bên bỉ (Persistence): Che giấu tài nguyên phần mềm được tải vào bộ nhớ hay ở trên ô đĩa

Tính mở của hệ thống

Để có tính mở, hệ thống phân tán phải có chuẩn giao tiếp với hệ thống, như vậy sẽ dễ dàng hơn trong việc trao đổi tài nguyên Một hệ thống mở phải tuân thủ các tiêu chuẩn giao tiếp nào đó đã được công bố, nghĩa là sản phẩm của các nhà sản xuất khác nhau có thê tương tác với nhau theo tập các luật và các qui tắc

hoặc các tiêu chuẩn đã được công bố, ví dụ: ngôn ngữ IDL, XML, giao thức dịch vụ Web

1.1.3 Các kiểu hệ thống phân tán

Trong hệ thống nhiều bộ vi xử lý, các bộ vi xử lý đùng chung bộ nhớ

RAM, việc trao đổi thông tin giữa các bộ vi xử lý được thực hiện bằng cách

đọc/ghi các ô nhớ Ngoài các chức năng truyền thống của hệ điêu hành (xử lý

gọi hệ thống, quản lý bộ nhớ, quản lý tập tin, quan lý thiết bị vào ra), hệ điều hành của hệ thống nhiều bộ vi xử lý phải thực hiện các chức năng đặc biệt như: đồng bộ tiến trình, quản lý tài nguyên, lập lịch làm việc Trước hết,

chúng ta sẽ tìm hiểu sơ bộ về phần cứng của hệ thống nhiều bộ vi xử lý sau đó sẽ đề cập tới các vấn để về hệ điều hành trong các hệ thống này Hệ thống nhiều bộ vi xử lý đều có đặc điểm chung là các đơn vị xử lý trung tâm đều được kết nối vào kênh kết nối chung trong bo mạch chủ và truy nhập trực tiếp vào bộ nhớ dùng chung

Hình 1.1-a minh họa hệ thống nhiều bộ vi xử lý dựa trên một kênh truyền,

Trang 17

để trao đổi thông tin Trước khi truy nhập ô nhớ, đơn vị xử lý trung tâm phải kiểm tra xem kênh truyền có bận hay không Nếu rỗi, đơn vị xử lý trung tâm đặt

địa chỉ ô nhớ lên kênh, phát tín hiệu điều khiển và chờ cho đến khi bộ nhớ đặt

giá trị của ô nhớ đã yêu câu lên kênh truyền

Nếu kênh truyền bận, đơn vị xử lý trung tâm phải chờ cho đến khi kênh truyền rỗi, như vậy nảy sinh vấn đề về quản lý tương tranh Đối với hệ thống chỉ có hai hoặc ba đơn vị xử lý trung tâm thì việc quản lý tương tranh tương đối đơn giản, vấn để sẽ trở nên khá phức tạp đối với hệ thống có 32 hoặc 64 đơn vị xử lý trung tâm Nói chung, hệ thống sẽ bị giới hạn bởi băng thông của kênh truyền và hầu hết các CPU sẽ lãng phí thời gian chờ đọc ô nhớ Để giải quyết

vấn để này, người ta thêm bộ nhớ đệm vào mỗi CPU (xem hình I.I-b), bộ nhớ đệm đó có thể được tính hợp trong CPU, bên cạnh, nằm trên bo mạch bộ vi xử

lý hoặc tổ hợp các phương án trên Bộ nhớ đệm trao đổi thông tin với bộ nhớ dùng chung theo phương pháp đọc/ghi từng khối (các khối 32 hoặc 64 byte), đơn vị Xử lý trung tâm sẽ đọc/ghi các ô nhớ trong bộ nhớ đệm, như vậy sẽ giảm đáng kể lưu lượng trên kênh truyền chung Bộ nhớ ĐỘ nhớ _ Bộ nhớ chung neng chung ‡ | | t CPU CPU M CPU CPU M CPU CPU M Es Js SS La | | | Ìcađe _ | | | | Bus (a) (b) (c) (a) Không có bộ nhớ đệm (b) Có bộ nhớ đệm (c) Có bộ nhớ đệm và bộ nhớ riêng

Hình 1.1 Ba loại hệ thống nhiều bộ xử lý dựa trên một kênh

Mỗi khối bộ nhớ đệm được đánh dấu bởi một trong hai trạng thái: chỉ đọc

hoặc đọc/ghi Nếu CPU muốn ghi một ô nhớ mà ô nhớ đó xuất hiện trong các

bộ nhớ đệm khác, phần cứng của kênh truyền sẽ phát hiện tính hiệu ghi và

chuyên tín hiệu đó đến tất cả các bộ nhớ đệm khác Nếu các bộ nhớ đệm này đã

Trang 18

phép bộ điều khiển ghi chốt khối bộ nhớ đệm trong bộ nhớ dùng chung trước

khi thay đổi ô nhớ đó Một số bộ nhớ đệm đang thay đổi, nó phải ghi lại nội

dung ô nhớ đó vào bộ nhớ dùng chung trước khi yêu câu ghi có thê tiếp tục thực hiện hoặc chuyên trực tiếp giá trị đó đến bộ điều khiển ghi qua kênh truyền

Hình 1.1-c minh họa một kiến trúc khác, CPU không chỉ có bộ nhớ đệm mà

còn có bộ nhớ cục bộ riêng được truy nhập bằng kênh riêng Để sử dụng cấu

hình này một cách tối ưu, trình biên dịch sẽ đặt tất cả chương trìnhm các hằng SỐ,

dữ liệu chỉ đọc và các biến số trong bộ nhớ riêng Bộ nhớ dùng chung khi đó sẽ được dùng cho các biến đùng chung Nói chung, kiến trúc này giảm đáng kể lưu lượng trên kênh chung nhưng nó đòi hỏi trình biên dịch phải có sự phối hợp rất

chặt chẽ

Kiến trúc UMA chỉ phù hợp với các hệ thống có ít CPU, khi số lượng CPU

tăng lên sẽ phải chi phí lớn cho vấn để xử lý chuyển mạch Một kiến trúc khác được để xuất là kiến trúc truy nhập bộ nhớ không đồng nhất Giống như đa xử lý đối xứng, là công nghệ mở rộng tính khả biến của máy chủ bằng cách bổ sung thêm bộ xử lý Cả hai công nghệ này đều cho phép người dùng khởi đầu với những máy chủ tương đối nhỏ và sau đó bổ sung bộ xử lý nếu ứng dụng phát triển thêm Đối với hầu hết máy chủ đối xứng, việc bổ sung thêm sau khi đã có

8 bộ xử lý rất đắt tiền mà hiệu suất đạt được khéng cao nhung NUMA thi cho

phép mở rộng hơn thế nhiều - đến 256 bộ xử lý, liên kết với nhau trong một máy Tương tự hệ thống UMA, NUMA cho phép khai thác sức mạnh kết hợp

của nhiều bộ xử lý mà mỗi bộ xử lý truy cập một cụm bộ nhớ chung Tuy nhiên,

các bộ xử lý được phân thành những nhóm nhỏ hay “nút”, trong đó tất cả các bộ xử lý đều liên kết với nhau Chẳng hạn, một máy chủ 16 bộ xử lý có thể sắp xếp thành bốn nút, mỗi nút có bốn bộ xử lý và có bộ nhớ riêng NUMA làm giảm tình trạng tắc nghẽn bus của kiến trúc đối xứng bằng cách để cho các bộ xử lý trong một nút giao tiếp với nhau và với bộ nhớ cục bộ của chúng qua những bus riêng, nhỏ hơn Các bộ xử lý cũng có thê truy cập những vùng nhớ của từng nút khác, tuy rằng thời gian truy cập này thay đổi tùy theo khoảng cách giữa các nút Vì thế cơ chế có tên là truy cập bộ nhớ không đồng nhất NUMA Trong hệ

Trang 19

thống nhiều bộ vi xử lý thuần nhất, mỗi đơn vị xử lý trung tâm truy xuất vào bộ

nhớ cục bộ, vấn để còn lại là việc trao đổi thông tin giữa các bộ vi xử lý với

nhau Trong hệ thống nhiều bộ vi xử lý không thuần nhất các máy tính được xây dựng trên nền tảng của các bộ vi xử lý khác nhau

Phần cứng đóng vai trò quan trọng trong hệ thống phân tán, nhưng sự hoạt động của hệ thống này lại do hệ điều hành quyết định Hệ điều hành cung cấp các tính năng quản lý tài nguyên phần cứng, cho phép nhiều người dùng và

nhiều ứng dụng chia sẻ phan cứng như: CPU, bộ nhớ, thiết bị ngoại vi, mang va tất cả các loại đữ liệu Hệ điều hành cũng đơn giản hóa sự phức tạp và đa dạng

của phần cứng bằng cách tạo ra máy ảo, như vậy các ứng dụng có thể thực hiện dễ đàng hơn Hệ điều hành cho các máy tính gồm hai loại: Hệ điều hành phân

tán (DOS) và hệ điều hành mạng (NOS) Hệ điều hành phân tán quản lý tổng thê

tất cả các máy tính thuần nhất trong hệ thống phân tán, hệ điều hành mạng thường dùng cho các hệ thống không đồng nhất, mỗi máy tính tạo ra các dịch vụ cung cấp cho các máy tính khác Từ cuối những năm 1990, một số các dịch vụ do hệ điều hành cung cấp đã được cải tiến và gọi là phần mềm trung gian (Middleware)

Hệ điều hành chạy trên một bộ vi xử lý

Mục tiêu chính của loại hệ điều hành này là cho phép người sử dụng và các phần mềm ứng dụng truy nhập dễ dàng đến các tài nguyên dùng chung như

CPU, bộ nhớ chính, đĩa và các thiết bị ngoại vi Các phần mềm ứng dụng

dùng chung tài nguyên của hệ thống nhưng vẫn đảm bảo tính độc lập cho từng ứng dụng, như vậy hệ điều hành cần phải có chính sách chia sẻ các tài nguyên dùng chung đó, điều này chỉ có thể thực hiện bằng cách thiết lập cơ chế máy ảo, cung cấp khả năng xử lý đa nhiệm cho các ứng dụng Ví dụ, để giải quyết vấn để tương tranh trong hệ thống, các phần mềm ứng dụng không được phép truy

nhập trực tiếp đến các tải nguyên mạng, việc truy nhập phải được thực hiện

thông qua các hàm nguyên thủy do hệ điều hành cung cấp Hệ điều hành cần phải năm toàn bộ quyền kiểm soát việc sử dụng và chia sẻ tài nguyên phần

cứng, do đó hầu hết các bộ vi xử lý hỗ trợ ít nhất hai chế độ:

Trang 20

- Chế độ lõi: Tất cả các chỉ thị được phép thực hiện và có thể truy nhập toàn bộ bộ nhớ và các thanh ghi trong thời gian thực hiện

- Chế độ của người sử dụng: Hạn chế việc truy nhập thanh ghi và bộ nhớ

(ví dụ chỉ được phép truy nhập vào vùng nhớ do hệ điều hành qui định, không truy nhập trực tiếp vào các thanh ghi)

Hệ điều hành cho nhiều bộ xử lý

Là các hệ điều hành dùng để điều khiển sự hoạt động của các hệ thống máy tính có nhiều bộ vi xử lý Các hệ điều hành cho nhiều bộ vi xử lý gồm có 2 loại:

Đa xử lý đối xứng: Trong hệ thống này vi xử lý nào cũng có thể chạy một loại tiêu trình bất kỳ, các vi xử lý giao tiếp với nhau thông qua một bộ nhớ dùng chung Hệ đối xứng cung cấp một cơ chế chịu lỗi và khả năng cân bằng tải

tối ưu hơn, vì các tiểu trình của hệ điều hành có thể chạy trên bat kỳ bộ vi xử

lý nào nên nguy cơ xảy ra tình trạng tắc nghẽn ở CPU giảm đi đáng kế Vấn

đề đồng bộ giữa các bộ vi xử lý được đặt lên hàng đầu khi thiết kế hệ điều

hành cho hệ thống đối xứng

Đa xử lý bất đối xứng: Trong hệ thống này hệ điều hành dành ra một hoặc hai vi xử lý để sử dụng riêng, các vi xử lý còn lại dùng để điều khiển các chương trình của người sử dụng Hệ bất đối xứng đơn giản hơn nhiều so với hệ đối xứng, nhưng trong hệ này nếu có một bộ vi xử lý trong các vi xử lý đành riêng cho hệ điều hành bị hỏng thì hệ thống có thể ngừng hoạt động

Hệ điều hành mạng là các hệ điều hành dùng để điều khiển sự hoạt động của mạng máy tính Ngoài các chức năng cơ bản của một hệ điều hành, các hệ điều hành mạng còn phải thực hiện việc chia sẻ và bảo vệ tài nguyên của mạng

1.1.4 Phân loại kiến trúc hệ thống phân tán

Hệ thống phân tán có thể được xây dựng theo kiến trúc phân tán đọc, phân tán ngang hoặc lai ghép hai loại trên Trong kiến trúc phân tán dọc, các

công việc xử lý được thực hiện bằng cách đặt các máy tính lớn theo cấu trúc

lớp Các tiến trình xử lý được phân cho các lớp thấp hơn tương ứng với cấu trúc tổ chức và loại nhiệm vụ Kiến trúc phân tán ngang bao gồm nhiều máy tính được kết nối ngang hàng vào mạng để xử lý công việc, có thể thêm máy tính nhằm

Trang 21

nâng cao độ linh hoạt và nâng cấp hệ thống Các công việc trước kia được tập trung trên một máy tính thì có thể chia tính toán với các máy tính khác Có thê sử dụng các thư viện được cung cấp từ các máy tính khác, điều này đảm bảo được sự phân tán chức năng và sử dụng chung các nguồn tài nguyên Mô hình hệ thống phân tán là phương thức tô chức phần mềm bên trong hệ thống, hiện nay có bốn mô hình đang được áp dụng phổ biến bao gồm: Mô hình phân tầng, mô

hình dựa trên đối tượng, mô hình dựa trên sự kiện và mô hình dữ liệu tập

trung

Các thành phần trong mô hình phân tầng được tổ chức thành từng lớp có sự ràng buộc chặt chẽ, lớp trên gọi các thành phần lớp dưới liền kề Bên yêu cầu gửi thông tin yêu cầu được lưu chuyển từ lớp trên xuống lớp dưới, kết quả trả về được chuyên từ lớp dưới lên lớp trên Bên thực hiện yêu cầu tiếp nhận thông tin yêu cầu được lưu chuyển từ lớp dưới lên lớp trên, kết quả trả về được chuyên từ lớp trên xuống lớp dưới Như vậy, số lượng tầng cảng lớn thì hệ thống sẽ càng

được mô đun hóa cao và hiệu năng phụ thuộc vào số lượng tầng Tầng N Tang N-1 Luong yêu cầu i : t : Luồng trả về Tầng 2 Tang 1 Hình 1.2 Mô hình phân tầng

Mô hình đối tượng phân tán ràng buộc lỏng hơn mô hình phân tầng, mỗi

đối tượng được coI là một thành phần và được gọi bằng cơ chế gọi thủ tục từ xa

Trang 22

Các đối tượng trong mô hình này hoạt động tương đối độc lập, dễ dàng thay đổi và nâng cấp, đây là mô hình rất phù hợp với mô hình khách/chủ

Gọi phương thức

(hàm)

Hình 1.3 Mô hình đối tượng phân tán

Mô hình Khách/Chủ đang được áp dụng phổ biến trong các hệ thống phân tán, hiện nay mô hình Khách/Chủ đã phát triển theo hướng sử đụng các đối tượng phân tán Mô hình Khách/Chủ được hiểu là hình thức trao đổi thông tin giữa các tiên trình cung cấp địch vụ (Máy chủ) và tiến trình sử dụng địch vụ (Máy khách) Trong mô hình này, máy khách yêu cầu các dịch vụ đã được cài đặt trên máy chủ Máy chủ xử lý yêu câu và trả về kết quả cho máy khách Cơ chế truyền tin sử dụng truyền tin báo giữa các tiến trình (IPC), nó cho phép cài đặt các tiến trình máy khách và máy chủ trên các máy tính khác nhau Mô hình Khách/Chủ

đóng vai trò quan trọng trong các hệ thống phân tán, nó có các đặc trưng sau: Máy khách và máy chủ là các mô đun chức năng với các giao diện xác định: Các chức năng thực hiện của máy khách hoặc máy chủ có thể gồm nhiều chức năng con, việc cài đặt các ứng dụng máy khách hoặc máy chủ không nhất thiết phải trên máy chủ mà có thể cài đặt tại bất cứ máy nào trên mạng

Quan hệ khách/chủ được thiết lập giữa hai mô đun khi máy khách đưa ra yêu cầu dịch vụ và được máy chủ đáp lại: Khái niệm máy khách và máy chủ chỉ là tương đối, một mô đun có thể đóng vai trò máy chủ đối với mô đun này

Trang 23

nhưng lại đóng vai trò máy khách đối với mô đun khác

Trao đổi thông tin giữa các mô đun được thực hiện thông qua có chế truyền tin báo: tất cả các yêu cầu của máy khách được tập hợp thành tin báo để chuyển đến máy chủ và ngược lại các kết quả trả về cũng được đặt trong các tin báo để chuyển đến máy khách

Trao đổi tin báo giữa máy khách và máy chủ thường được thực hiện theo cơ chế hỏi đáp, máy khách và máy chủ được cài đặt trên các máy tính khác nhau và được nối với nhau trên mạng: Về mặt lý thuyết, trên cùng một máy có thể cài đặt đồng thời mô đun máy khách và mô đun máy chủ, tuy nhiên trong thực tế thường các mô-đun này được cài đặt trên các máy khác nhau

Với các đặc điểm trên, mô hình Khách/Chủ có thể cài đặt theo hai mức:

Mức dịch vụ nền: tạo cơ sở để phát triển, hỗ trợ và quản lý các ứng dụng

Khách/Chủ

Mức ứng dụng: là các phần mềm cung cấp các chức năng nghiệp vụ theo mô hình Khách/Chủ

Mô hình Khách/Chủ cung cấp các phương tiện tích hợp các ứng dụng riêng với các nhu cầu xử lý nghiệp vụ chung để đảm bảo thống nhất việc xử lý thơng tin trong tồn bộ hệ thống Mô hình này có các ưu điểm sau:

Chia sẻ dữ liệu: trong mô hình Khách/Chủ, dữ liệu được lưu trên máy chủ để sẵn sàng cung cấp cho tất cả những người sử dụng được quyền truy nhập Việc sử dụng ngôn ngữ SQL để thống nhất các thao tác truy xuất dữ liệu đã hỗ trợ cho người sử dụng dé dàng truy nhập dữ liệu

Các dịch vụ tích hợp: Người sử đụng được quyền truy nhập đều có thê nhận được thông tin cần thiết từ các máy trạm và có thể xử lý các thông tin này theo nhu cầu sử đụng Theo quyền truy nhập, máy khách sử dụng chung các dịch vụ do máy chủ cung cấp

Chia sẻ tài nguyên giữa các hệ thống khác nhau: Có thể tạo các ứng dụng độc lập với hệ điều hành và thiết bị phần cứng do đó các ứng dụng máy

khách đều có thể sử dụng các tài nguyên chung trên mạng: dữ liệu, dich vu

Trang 24

Khả năng trao đổi và tương thích dữ liệu: Hầu hết các công cụ sử dụng để phát triển các sản phẩm theo mô hình Khách/Chủ đều dựa trên tiêu chuẩn của ngôn ngữ SQL, do đó đảm bảo được tính tương thích và khả năng trao đổi dữ liệu giữa các tiến trình máy khách và máy chủ

Không phụ thuộc thiết bị lưu trữ dữ liệu: Trên máy chủ, dữ liệu có thê

được lưu trữ trong các thiết bị khác nhau như đĩa từ hoặc băng từ, người sử

dụng vẫn dùng tập các lệnh chung để truy xuất dữ liệu mà không phụ thuộc vào phương tiện lưu trữ

Độc lập với vị trí xứ lý dữ liệu: Việc truy xuất dữ liệu không phụ thuộc

vào thiết bị phần cứng, hệ điều hành và vị trí lưu trữ dữ liệu

Quản lý tập trung: Việc quản lý tập trung được thực hiện bằng cách sử dụng các công cụ giám sát và hỗ trợ từ trung tâm

Phần mềm trung gian trên máy chủ giám sát các yêu cầu từ phía máy khách và gọi các tiến trình máy chủ tương ứng, nó thực hiện các chức năng: Nhận các yêu cầu từ phía máy khách và chuyển các yêu cầu đó cho tiến trình

máy chủ, kiểm tra bảo mật hệ thống, xử lý tương tranh khi đồng thời nhận được

nhiều yêu cầu từ phía máy khách, nhận kết quả xử lý của tiến trình máy chủ và chuyên đến máy khách, giám sát và xử lý lỗi Thành phần Thành phần “a : Công bế | Phan phat su kién | | sự kiện < Kênh sự kiện » ca bế sư kiên Thành phần

Hình 1.4 Mô hình dựa trên sự kiện

Mô hình dựa trên sự kiện là mô hình mà các tiến trình trao đổi thông tin dựa trên việc phát tán sự kiện, các sự kiện thường được gắn với các luật phân phát sự kiện Các tiến trình phát tán sự kiện sau khi đã được phan mém trung

Trang 25

gian đảm bảo chỉ những tiến trình đã đăng ký mới nhận được sự kiện Mức độ

ràng buộc giữa các tiến trình của mô hình này tương đối thấp Thanh phan Thanh phan Công bố Phân phát dữ hệ ân phát dữ liệu dữ liệu 5

Kho dữ liệu chung

(Thường sử dụng hệ quản trị CSDL nảo đó)

Hình 1.5 Mô hình dữ liệu tập trung

Mô hình đữ liệu tập trung là mô hình trong đó các tiến trình trao đổi thông tin với nhau qua kho dữ liệu chung (chủ động hoặc thụ động) Mô hình này đảm bảo tính độc lập giữa các thành phần trong hệ thống và đồng thời tiện lợi

cho việc chia sẻ dữ liệu lớn

1.2 QUAN LY GIAO TAC PHAN TAN

Giao tác phân tán là một lần thực hiện của một chương trình Chương

trình này có thể là một câu truy vấn hoặc một chương trình ngôn ngữ chủ với các lời gọi được gắn vào một ngôn ngữ vấn tin Một chương trình cùng một lúc có

thể được thực hiện nhiễu lần ở nhiễu vị trí khác nhau trên mạng thì mỗi lần thực hiện được gọi là một giao tác Để biểu thị một giao tác T, đôi khi người ta viết T:

Begin end Gitta Begin va end là các lệnh của giao tác Một giao tác đọc và ghi dữ liệu vào cơ sở dữ liệu sẽ sử dụng một không gian làm việc riêng (private workspace) để thực hiện các thao tác tính toán Các thao tác tính toán này sẽ

không ảnh hưởng đến cơ sở đữ liệu[ 1][3]

Trang 26

(T2): Begin

read(a); a:=a+100;

write(a);, read(a); a:=a+2; wrIte(a) end

- Ở giao tác TÌ giá trị của biến a chỉ được tăng lên 2 vì lệnh a := a+100 được

thực hiện trong không gian riêng mà không ảnh hưởng đến cơ sở đữ liệu - Ở giao tác T2 giá trị của biến a chỉ được tăng thêm 102

1.2.1 Các tính chất của giao tác phân tán

Một trong những công việc quan trọng của quản lý giao tác phân tán là làm cho một giao tác phức tạp xuất hiện dưới dạng đơn giản nhất, gọi là nguyên tử Giao tác phân tán là một ứng dụng hay một phần của ứng dụng được mô tả bởi các tính chất sau:

Tính nguyên tử: Tính nguyên tử liên quan đến sự kiện là một giao tác

phân tán được xử lý như một đơn vị hoạt tác Chính vì thế mà khi thực thi một giao tác thì các hành động của giao tác đó được thực hiện hoặc là không một hành động nào được thực hiện cả Tính nguyên tử đòi hỏi rằng nếu việc thực thi giao tac bi cat ngang bởi một loại sự cố nào đó thì hệ quản trị cơ sở dữ liệu sẽ chịu trách nhiệm xác định những công việc của giao tác để khôi phục lại sau sự cố Có 2 chiều hướng thực hiện là hoặc nó sẽ được kết thúc bằng cách hoản tất các hành động còn lại, hoặc có thể kết thúc bằng cách hồi lại tất cả các hành động đã được thực hiện

Có hai lý do cơ bản làm cho giao tác phân tán khơng được hồn thành: giao tác tự huỷ bỏ (transaction aborts), chẳng hạn khi gặp một phép tính không

hợp lệ (phép chia cho không), hoặc hệ thống bi sự cố, chẳng hạn giao tác bị kẹt

trong một khoá gài (deadlock) Việc tự hủy giao tác phân tán có thể do yêu cầu

của bản thân giao tác (hoặc của người sử dụng nó) do một số đữ liệu vào sai

hoặc là đo một vài điều kiện khác làm cho quá trình giao tác khơng hồn thành hoặc khơng đem lại kết quả tốt Sự hủy bỏ của giao tác phân tán cũng có thể là do sự ép buộc của hệ thống bởi những lý đo như quá tải hệ thống và hiện tượng khoá gài Duy trì được tính nguyên tử khi có sự cố mà giao tác phân tán tự huỷ

Trang 27

bỏ được gọi là khôi phục giao tac (transaction recovery), và duy trì được tinh nguyên tử khi có sự cố hệ thống được gọi là khắc phục sự cố (crash recovery)

Begin Transacion Begin Transacion Begin_Transaction

System Commit Abort x Forces

+——abort

Hinh 1.6 Cac dang hoan thanh giao tac

Trong thực tế mỗi giao tác phân tán đều có một số tính chất cơ bản như

đọc hoặc ghi một mục dữ liệu (data item) vào cơ sở dữ liệu và thực hiện các tính

toán trong không gian làm việc riêng, hoặc một số các bước cơ bản khác như khoá chốt (lock) và giải phóng khoá (unlock), uỷ thác (commit) giao tác Chúng ta giả sử rằng các bước cơ bản này là các nguyên tử

Tính bền vững: Tính bền vững để bảo đảm rằng mỗi khi giao tác uỷ thác, kết quả của nó sẽ được duy trì và không bị xoá ra khỏi cơ sở dữ liệu Vì thế hệ quản trị cơ sở đữ liệu phân tán phải bảo đảm rằng kết quả của giao tác vẫn sẽ tồn tại dù có xây ra sự cố hệ thống Bởi vì kết quả của giao tác được duy trì bởi sự lưu trữ của

hệ thống lên cơ sở đữ liệu nên tính bền vững được sử dụng như là một điều kiện để khôi phục dữ liệu, nghĩa là cách khôi phục cơ sở dữ liệu về trạng thái nhất quán mà ở đó mọi hành động đã uỷ thác đều được phản ánh Vấn dé này sẽ được thảo luận

nhiều hơn trong phần sau

Tính tuần tự: Nếu có vài giao tác thực hiện đồng thời, thì kết quả phải như

nhau nếu nó được thực hiện tuần tự trong cùng một thứ tự đó Tính tuần tự của giao

tác đưa ra vấn đề điều khiển đồng thời (concurrency control) Nếu một hệ thống có

tính điều khiển đồng thời, người lập trình có thể ghi lại giao tác như khi nó thực

hiện một mình

Tính biệt lập: Một giao tác phân tán đang thực thi không thể đưa ra các kết quả của nó cho những giao tác khác đang cùng hoạt động trước khi nó uỷ thác Tính

Trang 28

chất này là cần thiết trong việc ngăn ngừa sự ủy bỏ đây chuyén (cascading abort- Còn gọi là hiệu ứng domino) Nếu một giao tác phân tán cho phép những giao tác khác sử dụng những kết quả chưa hoàn tất của mình trước khi uỷ thác, rồi sau đó nó quyết định huỷ bỏ, khi đó mọi giao tác đã đọc những giá trị chưa hoàn tất đó cũng sẽ phải được huỷ bỏ nếu không xâu mắt xích này dễ dàng tăng nhanh và gây ra những phí tốn đáng kê cho hệ quản trị cơ sở đữ liệu phân tán

Chú ý rằng nếu những giao tác đã được uỷ thác rồi, chúng ta sẽ phải không thực hiện chúng nữa, như vậy là vi phạm tính bền vững của giao tác Với lý do này, biệt lập giao tác là một tính chất rất quan trọng trong việc thực thi giao tác một cách hiệu quả

Ví dụ 1.1: Xét hai giao tác đồng thời Tị và T; cùng truy xuất đến mục dữ

liệu x, Giả sử giá trị của x trước khi bắt đầu thực hiện là 50

TI: Read(x) T2: Read(x) x=xt1 x=xt1 Write(x) Write(x) Commit Commit Néu hai giao tac thuc hién lần lượt, ta có dãy thực thị cho các hành động của những giao tác là: TI: Read(x) Tl x=xtl Tl: Write(x) Tl: Commit T2: Read(x) 12: x=xrl T2: Write(x) T2: Commit

Trong trường hợp này giao tác T; đọc được giá trị của x là 51, sau khi kết thúc cả hai giao tác, x có giá trị là 52

Nếu hai giao tác đang thực thi đồng thời, dãy hành động được thực hiện

có thê xảy ra như sau:

Trang 29

TI: Read(x) TI:x=x+]I T2: Read(x) T1: Wnte(x) T2: x:=x+1 T2: Write(x) Tl: Commit T2: Commit

Trong trường hop nay, giao tác Tạ doc được giá trị của x là 50 Giá trị này không đúng bởi vì T; đọc x trong khi giá trị của nó đang được thay đổi từ 50 thành 51 Hơn nữa giá trị của x sẽ là 51 vào lúc kết thúc các giao dich T, va T, bởi vì hành động ghi của Tạ sẽ ghi đè lên kết quả ghi của Tì

Ví dụ 1.2: Một thí dụ đễ hiểu hơn có thê xem + là tài khoản ngân hàng và T¡ là giao tác được thực hiện khi chúng ta gửi tiền vào ngân hàng Giả sử ring T, là một giao tác đang được thực thi khi vợ (hoặc chồng) của khách hàng đang rút

tiền tại một chi nhánh khác Nếu xảy ra rắc rối như thí dụ trước và kết quả của T,

bị mất, khách hàng sẽ không hài lòng Ngược lại nếu kết quả của T; bị mất, ngân hang sé pha sản

1.2.2 Mục tiêu của quan ly giao tác

Mục tiêu của quản lý giao tác là làm thế nào để bảo đảm tính hiệu quả, độ

tin cậy, và thực hiện đồng thời của các giao tác Các mục tiêu này có quan hệ chặt chẽ với nhau; vấn để đặt ra là có một sự dung hòa giữa chúng, bởi vì nếu

chúng ta cố gắng thỏa mãn cùng một lúc các mục tiêu trên của mọi giao tác thì có thể xây ra lỗi khi hệ thống hoạt động Xét cho cùng, một hệ thống quản lý giao tác được gọi là có hiệu quả nếu thời gian đáp ứng của hệ thống là cực tiểu

và tính hiệu lực của hệ thống là cực đại Đề đạt được điều này chúng ta phải chú

ý đến các khía cạnh sau[ I][3]:

Việc sử dụng CPU và bộ nhớ chính: Khía cạnh này chung cho cả CSDL phân tán lẫn tập trung Các ứng dụng CSDL điển hình thường bị hạn chế bởi các thao tác vào/ra dữ liệu (Nghĩa là, tốn nhiều thời gian để chờ các thao tác vào ra dữ

Trang 30

liệu và thực hiện các tính toán đơn giản), nên việc thực thi nhiều ứng dụng đồng thời trong một hệ thống lớn sẽ đưa đến hiện tượng thắt nút cỗ chai (bottleneck) ở

bộ nhớ chính Nếu OS (operafing system) phải tạo một tiến trình cho mỗi giao tác,

thì hầu hết chúng sẽ được chuyển vào và ra bộ nhớ chính dé CPU thực hiện Để

giảm thiểu hiện tượng không mong muốn này, bộ quản lý giao tác phải áp đụng một

vài kỹ thuật đặc biệt mà dựa vào sự thuận lợi của các đặc tính điển hình của các ứng

dụng CSDL, chứ không xem chúng như các tiến trình nói chung được xử lý bởi OS Thông điệp điều khiển: Trong CSDL phân tán chúng ta phải xem xét một khía cạnh hiệu quả khác: đó là số lượng thông điệp điều khiến trao đổi giữa các vị trí Một thông điệp điều khiển không được sử dụng đề chuyển dữ liệu nhưng nó cần thiết để điều khiển sự hoạt động của ứng dụng Chi phí cho mỗi thông điệp không những là chi phí vận chuyển nó mà còn tính cả số lệnh của CPU phải thực hiện để chuyên một thông điệp Chi phí này còn phải được tính tốn ngay cả trường hợp

thơng điệp được trao đổi giữa các tiến trình tại cùng một vị trí

Thời gian đáp ứng: Khía cạnh hiệu quả quan trọng thứ 3, đó là thời gian đáp ứng của mỗi giao tác riêng lẻ Rõ ràng, điều này cân thiết trong ứng dụng phân

tán hơn là ứng dụng cục bộ, bởi vì cần có thời gian để liên lạc giữa các vị trí khác

Tính hiệu lực: Trong một hệ phân tán thì không thể chấp nhận trường hợp

một sự cỗ ở một trạm nào đó khiến cho toàn hệ thống ngừng hoạt động

Tóm lại, mục tiêu của quản lý giao tác trong một hệ quản trị cơ sở dữ liệu

phân tán là kiểm soát việc thực thi các giao tác sao cho:

- Các giao tác có tính nguyên tử, tính bền vững, tính tuần tự và tính cô lập

- Chi phí của chúng xét về các khía cạnh bộ nhớ chính, CPU, và số thông

điệp điều khiển được chuyển đi và thời gian đáp ứng của chúng là được cực tiểu

- Tinh hiệu lực của hệ thống là được cực đại

1.2.3 Các giao tác phân tán

Một giao tác luôn là một phần của một ứng dụng Tại thời điểm khi được

yêu cầu bởi người đùng, ứng dụng sẽ phát một lệnh begin_transaction, khi đó

tất cả các hoạt động được thi hành bởi ứng dụng đó cho đến khi lệnh commit

Trang 31

Đề thực hiện các tính năng ở các vị trí khác nhau, ứng dụng phân tán phải thực thi một vài tiến trình ở đó Chúng ta gọi các tiến trình này là các tác nhân

(agent) cua tng dung Do do, mét agent la một tiến trình cục bộ thi hành một số hoạt động nào đó với tư cách đại diện cho ứng dụng

Các agent phải liên lạc với nhau thông qua các thông điệp để cùng hợp tác

thực thi thao tác toàn cục được yêu cầu bởi ứng dụng Có nhiều cách tổ chức các

agent nhằm xây dựng cấu trúc của các tiến trình hợp tác Điều này sẽ nói rõ hơn ở chương sau Với mục đích thảo luận về tính nguyên tử, chúng ta giả sử

rằng[1][3]:

- Tổn tại một agent gốc sẽ khởi động toàn bộ giao tác, vị trí chứa agent gốc được gọi là vị trí gốc của giao tác

- Agent gốc chịu trách nhiệm phát các lệnh begin_transaction, commit và abort

- Chỉ có agent gốc mới có thể yêu cầu việc tạo ra một agent mới

1.3 TIEU KET CHUONG 1

Trong chương 1 tôi đã trình bày tổng quan về hệ thống phân tán, trong đó nghiên cứu sâu giao tác phân tán với các nội dụng: các tính chất của giao tác phân tán, mục tiêu của quản lý giao tác phân tán Các mục tiêu này có quan hệ chặt chế

với nhau; vấn để đặt ra là có một sự dung hòa giữa chúng, bởi vì nếu chúng ta có

găng thỏa mãn cùng một lúc các mục tiêu trên của mọi giao tác thì có thê xảy ra lỗi khi hệ thống hoạt động Mục tiêu của quản lý giao tác là làm thế nào để bảo dam

tính hiệu quả, độ tin cậy, và thực hiện đồng thời của các giao tác Qua đó ứng dụng

Trang 32

CHƯƠNG 2 PHƯƠNG PHÁP XÁC THỰC CÔNG VĂN

Chương 2 của luận văn sẽ tập trung nghiên cứu vẻ tính an tồn thơng tin trong mơi trường phân tán Nghiên cứu về các cơ chế xác thực thông tin, trong

đó có hai loại xác thực là xác thực thực thể và xác thực dữ liệu Đặc biệt trong

chương này sẽ tập trung nghiên cứu về chữ ký điện tử và các thuật tốn xác thực thơng tin cu thé 6 đây là thuật toán RSA

2.1 XÁC THỰC ĐIỆN TỬ

Trong an ninh máy tính, xác thực là một quy trình nhằm cố gắng xác minh nhận dạng số của phần truyền gửi thông tin trong giao thông liên lạc chăng hạn như một yêu cầu đăng nhập Đối tượng gửi cần phải xác thực có thể là một người dùng sử dụng, bản thân một máy tính hoặc một chương trình ứng dụng máy tính

2.2 XÁC THỰC DỮ LIỆU

Xác thực dữ liệu nhằm đảm bảo rằng dữ liệu người gửi và người nhận là trùng khớp Để xác thực đữ liệu thì chữ ký điện tử là phương pháp được áp dụng phổ biến hiện nay

Đối với văn bản được in ra thì cuối văn bản là chữ ký và đóng dấu của đơn vị phát hành, trong trường hợp văn bản có nhiều trang thì cuối các trang có chữ ký nháy (ký tắt) và đóng dấu giáp lai giữa các trang văn bản, tuy nhiên đối với văn bản số thì không thê thực hiện theo phương pháp đó được mà phải tiến hành ký trên từng bít đữ liệu Có nhiều phương pháp được sử dụng nhằm xác

thực dữ liệu như sử dụng chữ ký điện tử, mã hóa thông điệp tuy nhiên căn cứ

vào nhu cầu thực tế thì có thể nhiều phương pháp được áp dụng đồng thời 2.2.1 Xác thực giao dịch

Khái niệm: Xác thực giao dịch là Xác thực thông điệp cộng thêm việc đảm bảo tính duy nhất (Uniqueness) và sự phù hợp về thời gian (Timeliness) của nó

Xác thực giao dịch liên quan đến việc sử dụng các tham số thời gian (TVB Time Variant Parameters)

Transaction Authentication = Message Authentication + TVB

Xác thực giao dịch “mạnh hơn” Xác thực thông điệp

Trang 33

Ví dụ: Một thông điệp gửi đi có thể đã bị chặn và phát lại (tương tự như việc

đổi tiền bằng một bản sao của Séc) Để ngăn chặn tình huống này, người gửi và người nhận có thể gắn vào thông điệp nhãn thời gian hoặc số thông điệp

Số thông điệp là một con số được gắn vào thông điệp Nó có thể chỉ dùng

một lần duy nhất, giá trị không lặp lại, hoặc dùng dưới dạng dãy số tuần tự

(Sequence Numbers)

Thám mã không có cách nào để biết được các bit của số này nằm ở vị trí nào trong thông điệp, hoặc không thể biết cách thay đổi các bit để tạo ra đạng mã hóa của số tiếp sau, hoặc không thể biết cách thay đổi các bit này mà không làm gián đoạn việc giải mã phần còn lại của thông báo Số thông báo này khó thể bị thay thé, thay đổi hoặc giả mạo Người nhận phải duy trì việc đếm các số thông báo đã nhận

được Nếu hai người sử dụng một tập các số thì người nhận có thể biết được có thông báo nào trước thông báo hiện thời đã bị mắt hoặc bị chậm trễ, vì số được mã

hóa của thông báo hiện thời phải lớn hơn số được mã hóa của thông báo trước Nếu người gửi có nhiều thông báo thì có thê số thông báo sẽ quá dài Vì thé,

người ta thường đặt lại bộ đếm số thông báo trước khi nó đạt tới giả trị lớn nào đó

Lúc này tất cả bên thu phải được thông báo rằng, số thông báo được gửi tiếp theo sẽ

được đặt lại về một số nhỏ (chang hạn là 0)

Nhãn thời gian (TimeStamp) là dấu hiệu về thời gian và ngày tháng lấy từ đồng hồ hệ thống hoặc đồng hồ địa phương Bên gửi: gửi dữ liệu gắn TimeStamp

đi Bên nhận: nhận được dữ liệu, tiến hành lấy TimeStamp tại thời điểm hiện thời,

trừ đi TimeStamp nhận được Dữ liệu nhận được sẽ được chấp nhận nếu:

Độ lệch giữa 2 TimeStamp nằm trong khoảng chấp nhận được

Không có thông báo nào có cùng TimeStamp được nhận trước đó từ cùng một người gửi Điều này được thực hiện bằng cách bên nhận lưu giữ đanh sách các TimeStamp từ người gửi để kiểm tra hoặc ghi lại TimeStamp gần nhất và chỉ chấp nhận TimeStamp có giá trị lớn hơn

Như vậy, bên nhận phải đồng bộ và bảo mật về thời gian rất chặt chẽ với bên

gửi, ngoài ra phải lưu giữ các TimeStamp

Trang 34

2.2.2 Xác thực khóa

+ Xác thực không tường mình khóa (Implicit Key Authentication):

Một bên được đảm bảo rằng chỉ có bên thứ hai (và có thể có thêm các bên tin cậy Trusted Parties) là có thể truy cập được khóa mật

Bao gồm cả 2 yếu tố trên, nó chứng tỏ được định đanh của bên có khóa đã cho

Chú ý: Xác thực dữ liệu đã bao gồm tính toán vẹn dữ liệu Ngược lại thì

không

+ Dam bảo xác thực nguồn gốc dữ liệu phải đảm bảo tính toàn vẹn dữ liệu + Đảm bảo tính toàn vẹn dữ liệu đảm bảo xác thực nguồn gốc dữ liệu

+ Khẳng định (Xác nhận) khóa (Ñey Confirmation):

Một bên được đảm bảo rằng bên thứ hai chắc chắn đã sở hữu khóa mật

2.2.3 Chữ ký điện tử

Để đảm bảo dữ liệu người gửi và đữ liệu người nhận là trùng khớp cần phải có một phương pháp để chứng thực, sau khi kết thúc giao dịch truyền dữ liệu thì mọi thao tác chỉnh sửa văn bản đều không có giá trị Người gửi không

thể chối cãi dữ liệu mình đã gửi và người nhận không thể chỉnh sửa đữ liệu một

cách bất hợp pháp

Chúng ta cùng xét tình huống cụ thể, công ty A có thỏa thuận mua của công ty B 20 tấn cá thu đông lạnh với giá 2 tỷ VND và mọi giao địch được gửi qua Email Để chuẩn bị chuyển hàng thì công ty B soạn hợp đồng mua bán gửi đến công ty A và yêu cầu công ty A xác nhận bản hợp đồng mua bán đó để gửi lại công ty B Tuy nhiên khi giao hàng thì có thể xảy ra các trường hợp như sau:

- Sau khi giao hàng công ty B đòi công ty A khoản tiền 3 tỷ VND vì họ cho rằng hợp đồng đã ghi rõ số tiền 3 tỷ VND

- Khi giao hàng công ty A tử chối nhận hàng bởi họ cho rằng đã không mua lô hàng trên

Để ràng buộc giữa công ty A và công ty B thì cần phải tạo ra chữ ký cho bản hợp đồng đó, đảm bảo rằng với mỗi thay đổi dù nhỏ nhất trên văn ban thi cũng có thể bị phát hiện Có nhiều phương phương pháp để giải quyết vấn đề

Trang 35

này, tuy nhiên phương pháp phô biến nhất là sử dụng hệ mã khóa công khai RSA

kết hợp hàm băm

Khi công ty B gửi hợp đồng tới công ty A họ sẽ sử dụng khóa công khai của công ty A để mã hóa hợp đồng và gửi tới A Công ty A nhận được hợp đồng, họ sẽ dùng khóa bí mật của mình để giải mã hợp đồng Sau đó nếu công ty A

đồng ý với bản hợp đồng đó, họ sẽ sử dụng hàm băm để tạo ra bản tóm lược của

hợp đồng, sau đó mã hóa bản hợp đồng bằng và bản tóm lược của hợp đồng bằng mã bí mật của mình rồi gửi lại cho công ty B Khi công ty B nhận được họ sẽ giải mã bằng mã công khai của A sau đó sẽ sử dụng hàm băm để tạo ra bản tóm lược hợp đồng và so sánh nó với bản tóm lược mà B đã gửi nếu trùng khớp thì

đó là sự xác thực của B

Có rất nhiều phương pháp băm như MD2, MD4, MH5, SHA tuy nhiên

hàm băm MD5 được sử đụng nhiều nhất và nó được rất nhiều những ngôn ngữ lập

trình hỗ trợ

2.3 XÁC THỰC THUC THE 2.3.1 Xác thực bằng mật khẩu

Tổng quan về xác thực bằng mật khẩu

Xác thực bằng mật khâu là phương pháp xác thực dựa trên những yếu tố mà người dùng biết và nó là phương pháp xác thực phổ biến nhất mà các hệ thống đang sử dụng hiện nay

Xác thực bằng mật khẩu là phương pháp xác thực đơn giản trong cài đặt, ít tốn kém về kinh tế, tài nguyên và có thể áp dụng được cho phần đa các hệ

thống Tuy nhiên, xác thực bằng mật khẩu là mục tiêu của hầu hết các cuộc tấn

công an ninh hiện nay Các trung tâm an ninh mạng chỉ ra rằng tên đăng nhập và mật khẩu người dùng đã bị đánh cắp thông qua các Email lừa đảo, các trang web

giả mạo, phần mềm độc hại khác và đôi khi là các thiết bị phần cứng lưu lại nhật

ký bàn phím đang diễn ra ngày càng nhiễu Nguyên tắc hoạt động

Phương pháp xác thực bằng mật khẩu có nguyên tắc hoạt động khá đơn giản khi dựa trên trí nhớ của người dùng Hệ thống chỉ đòi hỏi một cơ sở dữ liệu

Trang 36

lưu lại tên đăng nhập người dùng, mật khẩu của họ và một giao diện để họ đăng

nhập

Khi cần xác thực người dùng, hệ thống yêu cầu người dùng cung cấp tên đăng nhập, mật khâu sau đó so sánh tên đăng nhập và mật khâu mà người dùng vừa nhập với mật khẩu và tên mật khẩu lưu trong hệ thống Nếu thông tin là trùng khớp hệ thống công nhận người khai báo chính là họ và họ được quyên làm những việc mà hệ thống phân quyền từ trước

Thuận lợi và khó khăn của phương pháp xác thực bằng mật khẩu

Xác thực bằng mật khẩu có 2 yếu tố là tên đăng nhập và mật khẩu, tuy nhiên tên đăng nhập thường ít được chú ý, có rất nhiều hệ thống không đòi hỏi quá khó phần tên đăng nhập, thường tên đăng nhập không được mã hóa mà được lưu trực tiếp trong cơ sở đữ liệu, phần mật khâu thì có những yêu cầu để tăng độ mạnh của phương pháp xác thực này

Chiều dài của mật khẩu

Độ dài mật khẩu xác định số lượng ký tự trong mật khẩu Nếu người dùng có một mật khẩu mà chỉ có từ 6 đến 8 ký tự thì mật khẩu này thường dễ đàng bị

Vượt qua

Các hình thức phổ biến nhất là yêu cầu người dùng có số lượng ký tự trong mật khẩu phải dài tuy nhiên nó sẽ khiến người dùng phải nhớ nhiều hơn

Ký tự đặt mật khẩu

Để tăng sức mạnh của mật khâu, hệ thống cần yêu cầu người dùng phải

đảm bảo mật khẩu bao gồm chữ hoa, chữ thường, ký SỐ, ký tự đặc biệt Hệ

thống khuyến khích người dùng sử dụng ký tự mà không tìm thấy trong từ điển và hướng người dùng không nên sử dụng số chứng minh nhân dân, biển số xe, số tài khoản ngân hàng

Tuy nhiên điều đó khiến cho người sử dụng rất khó khăn để nhớ mật khẩu Một người thường có từ 3 mật khâu trở lên vì thế người đùng sẽ cố gắng đưa chúng về cùng mật khẩu để dễ nhớ hoặc phải thay đổi nhiều lần khiến họ phải

ghi nó vào đâu đó khiến nó có thể bị lộ

Trang 37

Tuổi thọ của mật khẩu

Hầu hết các hệ thống hiện đại cố gắng yêu cầu người dùng phải thay đổi mật khâu sau một khoảng thời gian từ 60 đến 90 ngày Một người đùng có từ 3 tài khoản trở lên trong 1 năm sẽ phải nhớ từ 12 đến 18 mật khẩu nên khả năng họ

nhằm lẫn, sử dụng lại mật khẩu

Với nguy cơ cả từ phần cứng lẫn phần mềm, các hệ thống thường xuyên đòi hỏi người dùng phải thay đổi mật khẩu một cách thường xuyên hơn Theo ý kiến của nhiều chuyên gia, phương pháp này không còn nhiễu giá tri vì thế một

hệ thống dựa hoàn toản vào chính sách xác thực mật khẩu là rất nguy hiểm Cần

phải, phân cấp hệ thống để khi người dùng có bị mất mật khẩu thì những kê tấn công cũng chỉ có thể truy cập vào được những thông tin có ít nhạy cảm, để có thể lấy được những thông tin nhạy cảm hơn cần có mật khẩu thứ 2, thứ 3 nào đó

Một số nguyên tắc bảo mật mật khẩu của người dùng: - Không bao giờ nói cho ai biết về mật khẩu

- Không bao giờ sử dụng cùng một mật khâu cho nhiều tài khoản - Không bao giờ chia sẻ một tài khoản cho người khác

- Không bao giờ viết mật khẩu ra đâu đó

- Không bao giờ gửi mật khẩu bằng email, điện thoại, fax hoặc tin nhắn

tức thời

- Log off máy tính trước khi rời khỏi máy tính 2.3.2 Xác thực qua sinh trắc

Tổng quan về sinh trắc

Công nghệ Sinh trắc học (Biometric): Là một công nghệ sử dụng những

thuộc tính vật lý hoặc các mẫu hành vi, các đặc điểm sinh học đặc trưng như dấu vân tay, mẫu méng mat, giọng nói, khuôn mặt, để nhận diện con người

Xác thực qua sinh trắc dựa trên những đặc tính mà người dùng sở hữu bẩm sinh vì thế phương pháp xác thực qua sinh trắc có độ tin cậy cao hơn nhiều so với các phương pháp khác Nó giúp người dùng không phải nhớ quá nhiều

như xác thực qua mật khẩu

Trang 38

Với sự phát triển mạnh của các thiết bị hình ảnh thì phương pháp xác thực qua sinh trắc đang hứa hẹn là phương pháp xác thực phổ biến trong tương lai gần và nó có thé sé thay thế hoàn hoàn phương pháp xác thực qua mật khâu như hiện nay

Nguyên tắc hoạt động

Phương pháp xác thực qua sinh trắc đòi hỏi hệ thống phải trang bị thiết bị về phần cứng và phần mềm hỗ trợ

Về phần cứng các thiết bị quét vân tay, ghi lại hình ảnh mống mắt, dáng

đi, sương mặt, phải được lắp đặt đề thực hiện lấy dữ liệu xác thực

Về phần mềm hệ thống cần phải có phần mềm số hóa hình ảnh thực thể để hệ thống có thể xử lý

Trong mô hình xác thực qua sinh trắc, trước khi tiến hành xác thực hệ

thống cần phải lưu giữ lại thông tin nhận dạng của thực thê thông qua một quá trình học nhằm lấy các đặc trưng cơ bản của người dùng Quá trình này có thê là

những thông tin được lay từ đầu hoặc được cập nhật sau những lần xác thực đó

Quá trình học này càng nhiều dữ liệu thì khả năng xác thực càng tăng độ chính xác

Khi cần xác thực hệ thống yêu cầu thực thể cung cấp các hình ảnh sinh trắc thông qua quá trình số hóa để lấy các đặc trưng và so sánh với dữ liệu để quyết định xem người đùng có phải đúng là người đã khai báo không

2.3.3 Xác thực bằng mống mắt

Không thể phủ nhận rằng, mắt là cơ quan có cấu tạo tỉnh vi nhất của cơ thể người Nó lưu giữ mọi hình ảnh và gửi về não bộ đề xử lý thông tin Thành phần chính của mắt là nhãn cầu, gồm vỏ nhãn cầu nơi chứa giác mạc, lòng nhãn cầu chứa mống mắt và đồng tử Thủy tinh thể nằm ở trung tâm sau đồng tử, và nằm sau cùng là võng mạc Các nghiên cứu về nhận diện mắt đều tập trung vào mống mắt và võng mạc

Công nghệ nhận diện mat

Qua trinh nhan dién méng mắt được thực hiện bằng cách sử dụng máy

Trang 39

quét chiếu vào mắt, máy tính sẽ xác định các vị trí gồm đồng tử, mống mắt, lông

mi, mí mắt, qua đó tìm ra các tham số như tần số, biên độ, phi Két qua tra vé la

hình ảnh của mắt Bằng phương pháp vector các điểm ảnh đề số hóa để hệ thống xử lý

Phương pháp nhận diện mống mắt được đánh giá là có độ chính xác cao so với các phương pháp nhận diện sinh trắc học khác, bởi mống mắt có tới 266 điểm đặc trưng riêng biệt

Phương pháp nhận diện mắt được thực hiện khi các phương pháp nhận

điện khác không thể thực hiện được, như dấu vân tay bị mờ do lao động, giọng nói, khuôn mặt bị thay đổi Ngoài ra, mặc dù võng mạc có thé bi thay đổi do các

bệnh như tiểu đường, tăng nhãn áp, tuy nhiên về cơ bản võng mạc không thay đổi trong suốt cuộc đời con người Các nhà khoa học tin tưởng rằng đây là phương pháp nhận điện có độ chính xác cao nhất với tỷ lệ sai sót chỉ 1a 1 trén 1

triệu Với khả năng phân biệt được cả các cặp sinh đôi Điểm khó khăn khi triển

khai phương pháp nhận diện võng mạc là chỉ phí cho trang thiết bị quá cao, quá trình nhận diện tốn thời gian và vì thế phương pháp này thường được ứng dụng

trong các cơ sở nghiên cứu, khu vực quân sự, nơi có yêu cầu đặc biệt về bảo mật

2.4 CÁC PHƯƠNG PHÁP XÁC THỰC CÔNG VĂN

2.4.1 Phương pháp xác thực bằng chữ ký số

Quy trình ký xác thực dữ liệu được thực hiện thông qua 2 giai đoạn:

Giai đoạn 1 ký và mã hóa thông điệp thực hiện qua các bước:

- Bước 1: Biến thông điệp gốc thành 1 chuỗi đại diện Tính toán chuỗi đại

diện (message digest/ hash value) của thông điệp bằng việc sử dụng một giải thuật băm (Hashing algorithm)

- Bước 2: Sau đó chuỗi đại diện được ký bằng cách sử dụng khóa riêng (Private key) của người gửi và l giải thuật tạo chữ ký (Signature/ Encryption algorithm) Kết quả ta được chữ ký số (Digital signature) của thông điệp hay còn gọi là chuỗi đại điện được mã hóa (Encryted message digest)

- Bước 3: Thông điệp ban đầu (message) được ghép với chữ ký số (Digital signature) tạo thành thông điệp đã được ky (Signed message)

Trang 40

- Bước 4: Thông điệp đã được ký (Signed message) sẽ được gửi cho người nhận Thông điệp đữ liệu Khỏa bí mật | Chữ ký số Bản tôm lược (Canis >) Gắn với thông điệp dữ liệu | Thông điệp đữ liệu được ký số

Hình 2.1 Sơ đồ mã hóa và tạo chữ kí số

Giai đoạn 2 kiểm tra và giải mã chữ ký thực hiện qua các bước:

- Bước 1: Người nhận nhận được I thông điệp được mã hóa và có kèm theo

chữ kí của người gửi Thực hiện thông điệp đã kí thành chữ kí số và thông điệp gốc

- Bước 2: Sử dụng giải thuật băm để tính toán chuỗi đại diện MDI (message

digest) cia thông điệp gốc (là giải thuật sử dụng trong quá trình ký)

- Bước 3: Sử dụng khóa công khai (Public key) của người gửi dé giải mã chữ ký số Lúc này ta được chuỗi đại diện thông điệp MD2

- Bước 4: Sau đó thực hiện so sánh 2 chuỗi thông điệp MDI và MD2:

+ Nếu MDI = MD2 thì thông điệp đảm bảo tính toàn vẹn và thực sự xuất

phát từ người gửi (do khóa công khai được chứng thực)

+ Nếu MDI <MD2 thì chữ ký là không hợp lệ Thông điệp có thể đã bị sửa

đổi hoặc không thực sự xuất phát từ người gửi

Ngày đăng: 11/01/2024, 22:45

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

TÀI LIỆU LIÊN QUAN

w