Bảo mật chương trình

Một phần của tài liệu Chữ ký số trong quản lý điều hành văn bản nội bộ cơ quan tỉnh yên bái (Trang 51 - 56)

CHƯƠNG 3. CÀI ĐẶT, THỬ NGHIỆM CHƯƠNG TRÌNH ỨNG DỤNG CHỮ KÝ SỐ TRÊN PHẦN MỀM QUẢN LÝ, ĐIỀU HÀNH VĂN BẢN NỘI BỘ TỈNH YÊN BÁI

3.4. Bảo mật chương trình

Để đảm bảo tính báo mật của Chương trình, phải sự dụng cả ba giải pháp gồm:

Bảo mật trong chữ ký số, bảo mật trong máy chủ và bảo mật tại các máy trạm.

3.4.1. Bảo mật trong chữ ký số:

3.4.1.1. Mã hóa/ giải mã tập tin.

Chương trình sử dụng hệ mật DES (Data Encrypt Standard) để mã hoá/

giải mã các tập tin trước khi gửi nhận. Hệ mật DES là một chuẩn mã hoá dữ liệu đã được ủy ban Tiêu chuẩn quốc gia Mỹ công bố để sử dụng trong các ứng dụng.

Mặc dù xung quanh độ mật của hệ mật DES được tranh luận rất nhiều nhưng vẫn không có một lý thuyết nào chứng minh được DES là một hệ mật có thể tấn công một cách hiệu quả. Sự phản đối xác đáng nhất là kích thước về không gian khoá 256 là quá nhỏ và có thể dùng phương pháp vét cạn để tìm khoá từ đó tấn công vào bản mã để tìm bản rõ tương ứng. Một trong những lợi thế của DES là có thể thực hiện hữu hiệu bằng cả phần cứng lẫn phần mềm. Các phép tính số học duy nhất cần thực hiện là phép hoặc loại trừ các xâu bit. Với ứng dụng công nghệ phần cứng hiện thời có thể đạt tốc độ mã hoá cực nhanh.

DES mã hoá các khối dữ liệu 64 bit với khoá có độ dài 56 bit dựa trên giải thuật mã hoá/ giải mã sẽ được trình bày chi tiết ở chương sau.

3.4.4.2. Xác thực người gửi (chữ ký số).

Để thực hiện xác thực người gửi ta sẽ sử dụng chữ ký số kèm theo dữ liệu đã được mã hoá, chương trình sử dụng hệ mật khoá công khai RSA. Một sơ đồ chữ ký số thường chứa 2 phần: thuật toán ký và thuật toán xác minh.

A ký bức điện x dùng thuật toán ký an toàn. Chữ ký sig(M) do người B nhận được có thể được kiểm tra bằng thuật toán với việc sử dụng thuật toán xác minh công khai ver. Khi cho trước cặp (x,y), thuật toán xác minh sẽ cho giá trị TRUE hoặc FALSE tuỳ thuộc vào chữ ký được xác minh như thế nào. Dưới đây là hình thức của chữ ký số:

Một sơ đồ chữ ký số là bộ 5 (M, A, K, S, V) thoả mãn các điều kiện dưới đây:

1. M - tập hữu hạn các bức điện có thể

2. A - tập hữu hạn các chữ ký có thể

3. K - tập hữu hạn các không gian khoá có thể

4. Với mỗi k K tồn tại một thuật toán ký sigk S và một thuật toán xác minh verk V.

Mỗi sigk: M A và verk: M * A {TRUE, FALSE} là những hàm sao cho mỗi bức điện x M và mỗi chữ ký y A thảo mãn phương trình dưới đây:

Ver(x,y) = True nếu y = sig(x) False nếu y sig(x)\

Qua xem xét ta thấy rằng hệ thống mật mã khoá công khai RSA có thể dùng làm sơ đồ chữ ký số. Sơ đồ như sau:

Cho n=p.q, p và q là các số nguyên tố. Cho P = A = Zn và định nghĩa K = {(n,p,q,a,b): n = pq; ab 1 (mod((n))}.

Các giá trị n, b công khai còn p,q và a là bí mật.

Với K = (n,p,q,a,b), ta định nghĩa:

SigK(x) = xa mod n và verK(x,y) = true x yb(mod n) (x,y Zn)

Trong sơ đồ này, A dùng thuật toán và khoá bí mật dA của mình để mã chữ ký số sau đó gửi cho B. B dùng khoá công khai eA để thực hiện giải mã và xác nhận chữ ký. Một vấn đề cần giải quyết là việc ai đó có thể giả mạo chữ ký của A trên một bức điện ngẫu nhiên x bằng cách tính x=eK(y) với y nào đó; khi đó y = sigK(x), biện pháp là yêu cầu các bức điện chứa đủ phần dư để chữ ký giả mạo kiểu này không tương ứng với bức điện đủ nghĩa x trừ một xác suất rất bé.

Ta có thể dùng hàm hash trong việc kết nối các sơ đồ chữ ký số sẽ loại trừ được phương pháp giải mạo này.

Ta nhận thấy rằng khi ký một dữ liệu điện có dung lượng lớn thì chữ ký sẽ lớn theo. Một cách đơn giản để giải quyết vấn đề này là chặt dữ liệu ra thành nhiều đoạn sau đó ký lên các đoạn độc lập khác nhau. Nhưng với một tài liệu dài thì vẫn không tránh khỏi kết thúc ta cũng nhận được một chữ ký rất lớn. Có thể bức điện nhận được không còn toàn vẹn dẫn tới khó xác nhận do có thể có đoạn bị loại bỏ. Giải quyết cho toàn bộ vấn đề này ta dùng hàm Hash mã khoá công

khai nhanh, hàm này lấy một dữ liệu có độ dài tuỳ ý và tạo ra một bản tóm lược thông báo có kích thước qui định, sau đó ta sẽ ký lên bản tóm lược.

Ký một bản tóm lược thông báo:

Bức điện: x - độ dài tuỳ ý

Bản tóm lược thông báo: z=h(x) độ dài const Chữ ký: y=sigK(z)

Tóm lại để thực hiện việc xác thực người gửi ta dùng chữ ký số sử dụng sơ đồ mã hoá công khai RSA kết hợp với hàm MD5.

3.4.4.3. Giải pháp toàn vẹn dữ liệu:

Các hàm hash có thể được sử dụng cho việc toàn vẹn dữ liệu. Giá trị hash tương ứng với một đầu vào đặc biệt được tính tại một thời điểm. Tính toàn vẹn của giá trị hash này được bảo vệ bằng một cách nào đó. Tại một thời điểm tiếp theo, để kiểm tra dữ liệu gửi không bị thay đổi, giá trị hash sẽ được tính lại và được so sánh bằng với giá trị hash cũ.

Hàm sử dụng trong chương trình để kiểm tra tính toàn vẹn của dữ liệu là hàm băm: với đầu vào là một dữ liệu bất kỳ, đầu ra là một chuỗi bit có độ dài định trước, chuỗi bit này được gọi là message_digest. Các giải thuật đang sử dụng hiện nay là: MD2, MD4, MD5, SHS. Tôi lựa chọn giải thuật MD5 vì đây là giải thuật đang được sử dụng rộng rãi nhất. Giải thuật được phát triển bởi Ron Rivest: nhận đầu vào là 1 khối dữ liệu có chiều dài bất kỳ, xử lý thành các khối 512 bit, tạo đầu ra là 1 message_digest 128 bit. Quá trình thực hiện bao gồm 05 bước sẽ được trình bày chi tiết tại chương sau.

3.4.4.4.Giải pháp truyền/nhận dữ liệu:

Sau khi thực hiện các thủ tục mã hoá/ giải mã, chữ ký số... chương trình sẽ cho phép người dùng truyền dữ liệu tới một đầu ở xa theo phương pháp truyền điểm - điểm. Tức là trong một thời điểm một người A chỉ có thể truyền dữ liệu cho một người B ở xa. Điều này cho phép người A xác nhận địa chỉ gửi dữ liệu tới là chính xác hay không. Đối với những tài liệu có độ mật cao, giải pháp truyền nhân công trực tiếp là giải pháp đảm bảo an toàn và khó chống giả mạo

nhất. ở đây dữ liệu truyền đi chính là các tập tin đã được mã hoá và đính kèm các thủ tục như ký số, trao đổi khoá DES, tên người gửi A. Mục đích của chương trình là sau khi thực hiện xong các thủ tục trên thì modul thực hiện truyền nhận tin sẽ được kích hoạt.

Do thời gian cũng như khả năng còn có hạn nên không thực hiện viết modul này mà chỉ lựa chọn các chương trình truyền tin qua mođem để gán vào trong chương trình. Như đã giới thiệu ở phần trên, hiện có rất nhiều chương trình truyền tin đang được sử dụng rộng rãi. Các chương trình này đã được chuẩn hoá và tương thích với nhiều hệ điều hành, nhiều thiết bị cứng nên rất dễ sử dụng. Chương trình lựa chọn làm modul truyền tin trong chương trình là BitWare for Windows.

3.4.2. Bảo mật phía sever:

3.4.2.1.Các tính năng bảo mật Sharepoint Server 2010:

Phần mềm quản lý điều hành được cài đặt và phát triển trên nền Sharepoint 2010 với những tính năng bảo mật cơ bản sau đây:

+ Độ tin cậy (Confidentiality) – ngăn chặn các thông tin rò rỉ từ một người nào đó. Để bảo mật dữ liệu, các tổ chức phải tuân thủ các chính sách ủy quyền đối với các cá nhân có thẩm quyền. Ví dụ, khi bạn sử dụng thẻ tín dụng để giao dịch trực tuyến, các con số cần được mã hóa với một thuật toán đủ mạnh để nó không bị giải mã bởi những kẻ tấn công. Ở lần sử dụng thẻ tín dụng tiếp theo sau đó, hãy xem làm thế nào mà các con số vẫn tiếp tục được an toàn, không bị rò rỉ.

Là một chuyên gia bảo mật, tính bảo mật cần được ưu tiên số 1. Việc bảo mật dữ liệu, bạn có thể giảm thiểu hoặc loại bỏ được các mối đe dọa, rủi ro, các lỗ hổng bảo mật…

+ Tính toàn vẹn (Integrity)– tính toàn vẹn thể hiện ở điểm chứng thực. Ví dụ, nếu một người nào đó muốn xóa một tập tin, cho dù là cố tình hoặc vô tình thì tập tin đó sẽ bị xóa, nói một cách khác nó đã mất đi tính toàn.

+ Tính sẵn sàng (Availability) – các máy tính hoặc hệ thống luôn ở trạng thái sẵn sàng khi vận hành. Tính sẵn sàng có nghĩa rằng các dữ liệu luôn ở trạng thái ổn định để thông tin luôn luôn được sử dụng, lưu trữ hoặc truy cập. Bên cạnh

đó, tính sẵn sàng còn thể hiện việc dữ liệu luôn được bảo vệ trước những cuộc tấn công.

3.4.2.2. Các tính năng và bảo mật của SilverLight trên module tích hợp chữ ký số:

Phần mềm sử dụng Silverlight frame word để phát triển. Các thành phần xử lý của người dùng với Silverlight gồm các form nhập liệu, giao diện tương tác front – end, các nghiệp vụ tích hợp chữ ký số. Silverlight hỗ trợ hai loại tập tin quy định cách ứng sử bảo mật:

Tập tin chính sách của Adobe Flash - crossdomain.xml. Tập tin chính sách này chỉ có thể được sử dụng bởi WebClient và các lớp HTTP trong namespace System.Net. Qua tập tin chính sách Flash, cho phép truy cập vào tất cả các tên miền sẽ được sử dụng bởi các Silverlight 2.

Tập tin chính sách của Silverlight – clientaccesspolicy.xml. Tập tin có thể được sử dụng bởi lớp WebClient và các lớp HTTP trong namespace System.Net và cũng có thể cho các lớp sockets trong namespace System.Net.Sockets. Tập tin chính sách này định dạng khác với tập tin chính sách của Flash.

Trước khi cho phép kết nối với tài nguyên mạng, Silverlight 2 sẽ cố gắng tải về tập tin chính sách bảo mật từ tài nguyên mạng đó. Có hai phương pháp khác nhau được sử dụng để tải về các chính sách bảo mật mà phụ thuộc vào việc kết nối đã được request từ một WebClient hoặc HTTP hoặc các lớp được request kết nối từ các sockets.

Nếu đã được yêu cầu kết nối từ WebClient hoặc các lớp HTTP tới cross- domain site, Silverlight 2 cố gắng tải về các tập tin chính sách bảo mật bằng cách sử dụng giao thức HTTP. Silverlight 2 đầu tiên cố gắng tải về tập tin chính sách Silverlight với tên "clientaccesspolicy.xml" ở gốc của site mục tiêu bằng cách sử dụng giao thức HTTP. Nếu tập tin chính sách của Silverlight trả lại (thậm chí nếu có lỗi trong phân tích cú pháp tập tin), nó được sử dụng như là chính sách cho các tập tin mà request cross-domain và tất cả các request tới máy chủ cho những phiên làm việc của các ứng dụng Silverlight. Nếu tập tin chính sách Silverlight không được tìm thấy, Silverlight 2 sau đó sẽ cố gắng tải về một tập tin chính sách Flash có tên

"crossdomain.xml" ở gốc của site mục tiêu được yêu cầu bằng cách sử dụng giao thức HTTP. Các chính sách tập tin Flash phải cho phép kết nối đến tất cả các tên miền cho nó sẽ được sử dụng bởi các Silverlight WebClient và các lớp HTTP.

3.4.3. Bảo mật phía Client:

Phía máy trạm sử dụng Etocken có tài khoản đi kèm mật khẩu. Người dùng được cung cấp mật khẩu từ đơn vị cung cấp chữ ký số để sử dụng.

Một phần của tài liệu Chữ ký số trong quản lý điều hành văn bản nội bộ cơ quan tỉnh yên bái (Trang 51 - 56)

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

(80 trang)