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.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
GIẢI PHÁP BẢO MẬT CHO HỆ THỐNG
VĂN PHÒNG ĐIỆN TỬ M-OFFICE
Ứ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.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ý
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ố).
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
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
Đượ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.