Mục lục

Mục lục. 1

1.Giới thiệu. 3

2.Mô tả giải pháp. 3

2.1.Các khái niệm được sử dụng trong giải pháp. 3

2.1.1.CA (Certification Authority)3

2.1.2.CSP(Cryptographic Service Provider )3

2.1.3.Giấy chứng nhận số(digital certificate).3

2.1.4.PKI (public key infrastructure)3

2.1.5.Khóa bí mật( Private Key):4

2.1.6.Khóa công khai(Public Key).4

2.1.7.Chữ ký điện tử(Digital Signatures)4

2.1.8.Hàm băm một chiều. 6

2.2.Mô tả giải pháp. 8

2.2.1.User truy cập M-Office. 8

2.2.2.Nhận thông điệp và khóa công khai8

2.2.3.Ký thông điệp và mã hóa. 8

2.2.4.CA giải mã và kiểm tra chữ ký. 8

2.2.5.Cấp giấy phép thông hành vào M-Office. 8

3.Ứng dụng giao thức SSL vào M-OFFICE.. 9

3.1.Giới thiệu. 9

3.2.Mô tả giao thức. 10 

 


GIẢI PHÁP BẢO MẬT CHO HỆ THỐNG

VĂN PHÒNG ĐIỆN TỬ M-OFFICE



 

1.     Giới thiệu

        Ứng dụng giao thức Secure Socket Layer (SSL) trong việc xác thực và mã hoá thông tin   giữa client và server khi truy cập vào M-Office. Sử dụng công nghệ chữ ký điện tử(Khóa công khai, khóa bí mật) cho việc chứng thực đăng nhập vào hệ thống M-OFFICE. Không dùng kiểu đăng nhập truyền thống(Username, Password).

 

 

2.     Mô tả giải pháp

2.1.                     Các khái niệm được sử dụng trong giải pháp

2.1.1.  CA (Certification Authority)

Kiểm tra sự xác nhận của một người hoặc một tổ chức bằng cách đưa ra giấy chứng nhận để chứng thực sự xác nhận đó. CA cũng đưa ra một file (danh sách các giấy chứng nhận đã hủy bỏ) dùng để xác nhận giấy chứng nhận đó chưa bị hủy bỏ. Để dễ hiểu từ này (CRL), hãy nghĩ nó giống như danh sách thẻ tín dụng mà những thương gia dùng để kiểm tra thể tín dụng của khách hàng đã bị hủy bỏ hay chưa.

2.1.2.  CSP(Cryptographic Service Provider )

Đây là một module trong máy tính dùng để thực hiện các thao tác ký, kiểm tra chữ ký, mã hóa, giải mã cùng với các hàm băm một chiều.

 

2.1.3.  Giấy chứng nhận số(digital certificate).

Giấy chứng nhận số sẽ chứa trong đó khóa bí mật (Private key) và khóa công khai( Public key). Cùng với các thông tin của nhà cung cấp, chứng thực và người được cấp giấy chứng nhận đó.

2.1.4.  PKI (public key infrastructure)

*    PKI cho phép người sử dụng mạng công cộng không bảo mật như Internet trao đổi dữ liệu một cách bảo đảm bí mật bằng cách sử dụng cặp khoá mã hoá bí mật và công khai. Cặp khoá này được chia sẻ bởi người có thẩm quyền. Khoá công khai cung cấp chứng thực số để nhận dạng các cá nhân hay tổ chức và các dịch vụ thư mục để lưu trữ, khi cần thiết sẽ hủy bỏ.

*    PKI cung cấp cho người sử dụng một phương pháp giao dịch điện tử và sự phù hợp điện tử đảm bảo độ tin cậy, tính toàn vẹn của thông tin, tính xác thực, điều khiển truy cập và sự xác nhận.


 

2.1.5.  Khóa bí mật( Private Key):

*    Đúng như cái tên, Key này thuộc sở hữu riêng tư của bạn và nó được sử dụng để mã hoá thông tin cho mục đích cá nhân của riêng bạn. Chỉ mình bạn sở hữu nó, Key này không được phép và không nên phân phát cho bất cứ ai.

 

*    Khi cần thực hiện các nhu cầu mã hoá các thông tin riêng tư của chính mình một cách bí mật mà không muốn chia sẻ thông tin ấy cho bất cứ ai. Bạn cần phải sử dụng Private Key. Ngược lại khi muốn mã hoá các thông tin với mục đích chia sẻ nó với một số đối tượng mà bạn muốn chia sẻ thông tin bạn sẽ sử dụng Public Key để mã hoá chúng rồi gửi cho họ. Sau đó bản thân họ sẽ sử dụng Private Key của chính mình để giải mã hoá.

 

*    Điều quan trọng ở khái niệm này là bạn phân biệt và hiểu được tính năng và cách sử dụng của 2 loại Keys: Public Key và Private Key.

 

2.1.6.  Khóa công khai(Public Key).

Được sử dụng để mã hoá những thông tin mà bạn muốn chia sẻ với bất cứ ai. Chính vì vậy bạn có thể tự do phân phát nó cho bất cứ ai mà bạn cần chia sẻ thông tin ở dạng mã hoá.

 

2.1.7.      Chữ ký điện tử(Digital Signatures)


Để chứng minh rằng một thông điệp đã thực sự được gửi bởi chính người gửi mà không phải là do một kẻ khác giả mạo. Khái niệm Digital Signatures được ra đời. Khi sử dụng Digital Signatures bạn sẽ kiểm tra được tính xác thực của một thông điệp. Việc sử dụng Digital Signatures sẽ giảm bớt nguy cơ giả mạo thông điệp (đặc biệt là các thông điệp giả mạo các hãng Security, Software lớn với mục đích phát tán Virus hay Trojan tới bạn). Bởi bạn có thể dễ dàng xác minh được thông điệp đó có phải thực sự đến từ đó hay không ?

Digital Signatures là sự kết hợp giữa Secret Key (khoá bí mật) và text. Tiếp đó nó sẽ sử dụng Public Key của người gửi để thẩm tra thông điệp. Nó không chỉ kiểm tra, thẩm định thông tin về người gửi mà nó còn có thể kiểm tra cả nội dung của thông điệp. Như vậy bạn sẽ biết được rằng thông điệp đó không bị giả mạo và nó không bị sửa đổi hay can thiệp vào nội dung trong quá trình vận chuyển.

Chữ ký điện tử hoạt động dựa trên công nghệ public key, nó sử dụng digital certificate để ký và mã hoá các tài liệu và giao dịch. Sau đây là nguyên lý hoạt động của việc sử dụng chữ ký điện tử trong việc bảo mật thông tin.

Quá trình ký điện tử - Signing
Đầu tiên, thông điệp (message) được tính toán bởi hàm băm một chiều (one-way hash function), hàm này tính toán thông điệp và trả về một bản tóm tắt của thông điệp (message digest), hàm băm một chiều đảm bảo rằng bản tóm tắt của thông điệp này là duy nhất và bất kỳ một sửa đổi dù nhỏ nhất trên thông điệp cũng sẽ gây ra thay đổi cho bản tóm tắt này. Sau đó người gửi sẽ dùng khoá riêng của mình mã hoá bản tóm tắt này. Nội dung sau khi được mã hoá chính là "chữ ký điện tử" (digital signature) của thông điệp đó được ký bởi người gửi. Chữ ký điện tử này sẽ được gửi đến cho người nhận kèm với thông điệp.

              

Quá trình ký


Quá trình kiểm tra chữ ký điện tử - Verification
 Khi người nhận nhận được thông điệp, để kiểm tra tính hợp lệ của nó, đầu tiên người nhận sẽ dùng khoá chung của   người gửi (khoá chung thường được phổ biến rộng rãi) để giải mã chữ ký điện tử. Kết quả của quá trình giải mã chữ ký điện tử này chính là bản tóm tắt của thông điệp đã gửi đi. Sau đó, người nhận dùng hàm băm một chiều để tính toán bản tóm tắt qua nội dung của thông điệp một lần nữa rồi lấy kết quả đem so sánh với bản tóm tắt vừa được giải mã ở trên, nếu kết quả giống nhau thì quá trình kiểm tra thành công. Ngược lại có thể kết luận đây là một thông điệp đã bị giả mạo hoặc thông tin đã bị thay đổi trên quá trình gửi đi.

 


Quá trình kiểm tra chữ ký

2.1.8.  Hàm băm một chiều


One-way hash function. Đầu tiên, thông điệp (message) được tính toán bởi hàm băm một chiều (one-way hash function), hàm này tính toán thông điệp và trả về một bản tóm tắt của thông điệp (message digest), hàm băm một chiều đảm bảo rằng bản tóm tắt của thông điệp này là duy nhất và bất kỳ một sửa đổi dù nhỏ nhất trên thông điệp cũng sẽ gây ra thay đổi cho bản tóm tắt này



2.1.9.  Mã hóa tập tin
Mã hóa tập tin (encrypt file). Để mã hóa file bạn cần có Khóa công khai (Public key) của người nhận file. Người gửi sẽ dùng khóa công khai (Public key) của người nhận để mã hóa.

 

2.1.10.      Giả mã tập tin
Giải mã tập tin (decrypt  file). Để giải mã một tập tin đã được mã hóa ta cần phải có khóa bí mật (Private key) tương ứng với khóa công khai đã được dùng để mã hóa.

 

2.1.11.         Ký tập tin
Ký  tập tin (sign a file)?Khi một thông tin đã được ký số, bạn đưa cho mọi người và mọi người nhận chúng và chắc chắn rằng họ không thể làm thay đổi nội dung của tài liệu từ khi bạn đã ký chúng. Hay nói cách khác dữ liệu của bạn hoàn toàn được bảo mật, không bị thay đổi.

Cũng giống như chữ ký tay bạn cũng có thể thấy thông tin  của người ký (giống như một hợp đồng). Chữ ký số có thể dùng để xác thực rằng bạn cũng có thể  thấy được thông tin điện tử. Tuy vậy, chỉ cần một thay đổi nhỏ trong thông tin chữ ký số, việc xác nhận chữ ký sẽ bị lỗi, và sẽ có một cảnh báo với người nhận rằng thông tin chữ ký  trong tài liệu đã bị thay đổi từ khi bạn ký.

Khi bạn ký một tài liệu thì một thông điệp tóm tắt sẽ được tạo ra. Thông điệp này về thực chất là một dàng dấu lăn tay số được tạo ra bởi những thuật toán HASH mà bạn chỉ định (ví dụ: MD2, MD4, MD5 or SHA-1). Thông điệp này sẽ mã hóa khóa bí mật của bạn. Kết quả là trong file được mã hóa có được một chữ ký số của bạn.

Chữ ký và bản sao của bản gốc cuả file có thể nằm ở một nơi trong file. File này và chữ ký được gởi đi bằng bất cứ cách nào để tởi người  nhận. Người nhận có thể xác nhận chữ ký đó là của bạn và chắc chắn rằng dữ liệu trong file đó phải còn nguyên vẹn, không bị thay đổi. Ngưởi nhận cũng có thể lưu trữ file và chữ ký đó. Nếu file đó đã được thay đổi thì quá trình xác nhận chữ ký sẽ không thành công và báo rằng file này đã được thay đổi.

 

2.1.12.         Kiểm tra chữ ký
Kiểm tra chữ ký (verify file). Xác nhận chữ ký điện tử là kiểm tra tính đồng nhất về chữ ký và nội dung của người gởi. Nếu giấy chứng nhận bạn dùng trong viêc ký không tồn tại hoặc bất kỳ sự thay đổi thông tin nào trong chữ ký điện tử thì quá trình xử lý sẽ không thành công.

Kiểm tra tính hợp lệ của chứng nhận số trong PKI- cơ sở của chữ ký, quá trình xử lý thường bao gồm forming a chain to a trusted certificate. Hầu hết các chữ ký số không chỉ bao gồm chứng nhận số của người ký mà cũng có thể là bất kỳ một giấy chứng nhận trung gian CA (Trung tâm chứng nhận kỹ thuật số).

 

2.2.                     Mô tả giải pháp

2.2.1.  User truy cập M-Office

User truy cập vào địa chỉ được cài đặt M-Office theo giao thức SSL.

Ví dụ: https://www.dost-dongnai.net/m-office/

Thay vì dùng http:// giờ M-Office được cài đặt trên giao thức bảo mật SSL là https://

2.2.2.  Nhận thông điệp và khóa công khai

Khi User truy cập vào M-Office sẽ nhận được một thông điệp và một khóa công khai gửi về từ CA.

2.2.3.  Ký thông điệp và mã hóa

User dùng khóa bí mật của mình để ký vào thông điệp. Sau khi ký thông điệp sẽ được mã hóa bởi khóa công khai đã nhận về từ CA và được gửi tới CA.

2.2.4.  CA giải mã và kiểm tra chữ ký

CA dùng khóa bí mật của mình để giải mã thông điệp và kiểm tra chữ ký của User. Nếu quá trình kiểm tra chữ ký thành công tức là User đó có tài khoản trong M-Office. Lúc này CA sẽ cấp một giấy phép thông hành để để vào M-Office.

2.2.5.  Cấp giấy phép thông hành vào M-Office

Dựa vào giấy phép thông hành mà CA cấp, M-Office sẽ tiến hành cấp các quyền tương ứng cho User để bắt đầu một phiên làm việc. Giấy phép thông hành này chỉ có tác dụng cho một phiên làm việc.



3.     Ứng dụng giao thức SSL vào M-OFFICE

3.1.                     Giới thiệu

Chứng chỉ số cá nhân còn cho phép người dùng có thể chứng thực mình với một web server thông qua giao thức bảo mật SSL. Phương pháp chứng thực dựa trên chứng chỉ số được đánh giá là tốt, an toàn và bảo mật hơn phương pháp chứng thực truyền thống dựa trên mật khẩu.

Với sự kết hợp của giao thức SSL và chứng thực người dùng M-OFFICE bằng chữ ký số(digital signature) sẽ mang lại sự bảo mật cao và an toàn cho hệ thống M-OFFICE.

1.SSL là gì?

 

Việc kết nối giữa một Web browser tới bất kỳ điểm nào trên mạng Internet đi qua rất nhiều các hệ thống độc lập mà không có bất kỳ sự bảo vệ nào với các thông tin trên đường truyền. Không một ai kể cả người sử dụng lẫn Web server có bất kỳ sự kiểm soát nào đối với đường đi của dữ liệu hay có thể kiểm soát được liệu có ai đó thâm nhập vào thông tin trên đường truyền. Để bảo vệ những thông tin mật trên mạng Internet hay bất kỳ mạng TCP/IP nào, SSL đã kết hợp những yếu tố sau để thiết lập được một giao dịch an toàn:

 

Xác thực: đảm bảo tính xác thực của trang mà bạn sẽ làm việc ở đầu kia của kết nối. Cũng như vậy, các trang Web cũng cần phải kiểm tra tính xác thực của người sử dụng.

Mã hoá: đảm bảo thông tin không thể bị truy cập bởi đối tượng thứ ba. Để loại trừ việc nghe trộm những thông tin “ nhạy cảm” khi nó được truyền qua Internet, dữ liệu phải được mã hoá để không thể bị đọc được bởi những người khác ngoài người gửi và người nhận.

Toàn vẹn dữ liệu: đảm bảo thông tin không bị sai lệch và nó phải thể hiện chính xác thông tin gốc gửi đến.

Với việc sử dụng SSL, các Web site có thể cung cấp khả năng bảo mật thông tin, xác thực và toàn vẹn dữ liệu đến người dùng. SSL được tích hợp sẵn vào các browser và Web server, cho phép người sử dụng làm việc với các trang Web ở chế độ an toàn. Khi Web browser sử dụng kết nối SSL tới server, biểu tượng ổ khóa sẽ xuất hiện trên thanh trạng thái của cửa sổ browser và dòng “http” trong hộp nhập địa chỉ URL sẽ đổi thành “https”. Một phiên giao dịch HTTPS sử dụng cổng 443 thay vì sử dụng cổng 80 như dùng cho HTTP

 

3.2.        Mô tả giao thức

 

Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và server. Tổ chức IETF (Internet Engineering Task Force ) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. Phiên bản TSL 1.0 tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng rộng rãi hơn.

 

SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP ( Internet Messaging Access Protocol) và FTP (File Transport Protocol). Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet, thì hiện nay SSL được sử dụng chính cho các giao dịch trên Web.

 

SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để thực hiện các nhiệm vụ bảo mật sau:

 

Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối. Lúc này, phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate và public ID của server là có giá trị và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của client. Điều này rất quan trọng đối với người dùng. Ví dụ như khi gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm tra liệu server sẽ nhận thông tin này có đúng là server mà họ định gửi đến không.

Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn kết nối. Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem certificate và public ID của server có giá trị hay không và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của server không. Điều này rất quan trọng đối với các nhà cung cấp. Ví dụ như khi một ngân hàng định gửi các thông tin tài chính mang tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của người nhận.

Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hoá trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn, thay đổi trong dữ liệu. ( đó là các thuật toán băm – hash algorithm).

Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL handshake. Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu. Giao thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng SSL record protocol để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL.