Nhận viết luận văn đại học, thạc sĩ trọn gói, chất lượng, LH ZALO=>0909232620
Tham khảo dịch vụ, bảng giá tại: https://vietbaitotnghiep.com/dich-vu-viet-thue-luan-van
Download luận văn thạc sĩ ngành công nghệ thông tin với đề tài: Nghiên cứu ứng dụng chữ số trong quá trình gửi nhận tài liệu điện tử, cho các bạn làm luận văn tham khảo
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
Luận văn: Ứng dụng chữ số trong quá trình gửi nhận tài liệu điện tử
1. ĐẠI QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN TƢ THỤC
NGHIÊN CỨU ỨNG DỤNG CHỮ KÝ SỐ
TRONG QUÁ TRÌNH GỬI NHẬN TÀI LIỆU ĐIỆN TỬ
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2016
2. 2
ĐẠI QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN TƢ THỤC
NGHIÊN CỨU ỨNG DỤNG CHỮ KÝ SỐ
TRONG QUÁ TRÌNH GỬI NHẬN TÀI LIỆU ĐIỆN TỬ
Ngành: Công nghệ Thông tin
Chuyên ngành: Hệ thống Thông tin
Mã số: 60480104
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Hữu Ngự
Hà Nội – 2016
3. 3
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn là công trình nghiên cứu của riêng cá nhân
tôi, không sao chép của ai. Do tôi tự nghiên cứu, đọc, dịch tài liệu, tổng hợp
thực hiện và làm theo hƣớng dẫn của ngƣời hƣớng dẫn khoa học. Nội dung lý
thuyết trong trong luận văn tôi có sử dụng một số tài liệu tham khảo nhƣ đã trình
bày trong phần tài liệu tham khảo. Các số liệu, chƣơng trình phần mềm và
những kết quả trong luận văn là trung thực và chƣa đƣợc công bố trong bất kỳ
một công trình nào khác.
Tôi xin chịu hoàn toàn trách nhiệm về lời cam đoan của mình. Nếu có
điều gì sai trái, tôi xin chịu mọi hình thức kỷ luật theo quy định.
Hà Nội, tháng 11 năm 2016
Ngƣời cam đoan
Nguyễn Tƣ Thục
4. 4
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Nguyễn Hữu
Ngự và TS Hồ Văn Hƣơng đã tận tình hƣớng dẫn, chỉ bảo, giúp đỡ em trong
suốt quá trình làm luận văn.
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trong Khoa Công nghệ
Thông tin, Trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội đã truyền đạt
những kiến thức và giúp đỡ em trong suốt quá trình học tập, nghiên cứu.
Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn
bè những ngƣời đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có
đƣợc kết quả nhƣ ngày hôm nay.
Hà Nội, tháng 11 năm 2016
Nguyễn Tƣ Thục
5. 5
MỤC LỤC
LỜI CAM ĐOAN ....................................................................................... 1
LỜI CẢM ƠN............................................................................................. 4
MỤC LỤC................................................................................................... 5
DANH MỤC CÁC TỪ VIẾT TẮT............................................................ 8
DANH MỤC CÁC BẢNG ......................................................................... 9
DANH MỤC CÁC HÌNH VẼ .................................................................... 9
LỜI MỞ ĐẦU........................................................................................... 10
Chƣơng 1. Giao dịch điện tử và các vấn đề bảo đảm an toàn .................. 12
1.1. Giao dịch điện tử................................................................................ 12
1.2. An toàn thông tin .............................................................................. 12
1.3. Các nguy cơ mất an toàn thông tin .................................................... 13
1.4. Thực trạng mất an ninh an toàn trong giao dịch điện tử.................... 13
1.5. Các giải pháp bảo đảm An toàn thông tin.......................................... 14
1.6. Kết luận chƣơng 1.............................................................................. 15
Chƣơng 2. Cơ sở mật mã ứng dụng trong an toàn bảo mật thông tin ...... 16
2.1. Tổng quan về hệ mật mã.................................................................... 16
2.2. Hệ mật mã khóa đối xứng.................................................................. 17
2.2.1. Khái quát hệ mật mã khóa đối xứng........................................... 17
2.2.2. Ƣu nhƣợc điểm của hệ mã hóa đối xứng.................................... 18
2.3. Hệ mật mã khóa công khai ................................................................ 19
2.3.1. Khái quát hệ mật mã khóa công khai.......................................... 19
2.3.2. Ƣu nhƣợc điểm của hệ mật mã khóa công khai ......................... 20
2.3.3. Thuật tóa RSA ............................................................................ 20
2.4. Hàm băm............................................................................................ 24
2.4.1. Khái niệm.................................................................................... 24
2.4.2. Đặc tính của hàm băm ................................................................ 24
2.4.3. Một số tính chất cơ bản của hàm băm ........................................ 25
2.4.4. Vai trò của hàm băm................................................................... 25
2.5. Chữ ký số ........................................................................................... 25
6. 6
2.5.1. Khái niệm.................................................................................... 25
2.5.2. Cách tạo chữ ký số...................................................................... 26
2.5.3. Sơ đồ chữ ký số........................................................................... 27
2.5.4. Một số chữ ký phổ biến .............................................................. 28
2.5.4.1 Chữ ký RSA........................................................................... 28
2.5.4.2. Chữ ký Elgamal .................................................................... 29
2.5.4.3. Chữ ký DSS .......................................................................... 32
2.5.5. Ƣu điểm và ứng dụng của chữ ký số .......................................... 33
2.5.5.1. Xác định nguồn gốc .............................................................. 33
2.5.5.2. Tính toàn vẹn ........................................................................ 33
2.5.5.3. Tính không thể phủ nhận ...................................................... 33
2.5.5.4. Ứng dụng của chữ ký số ....................................................... 33
2.5.6. Phân phối khóa công khai........................................................... 34
2.5.7. Chứng thƣ số............................................................................... 34
2.5.7.1. Các phiên bản chứng thƣ số.................................................. 35
2.5.8. Hạ tầng khóa công khai .............................................................. 39
2.5.8.1. Chức năng PKI...................................................................... 40
2.5.8.2. Các thành phần của PKI........................................................ 40
2.5.8.3. Hoạt động của PKI................................................................ 41
2.5.8.4. Các mô hình của PKI............................................................ 42
2.6. Kết luận chƣơng 2.............................................................................. 43
Chƣơng 3. Giải pháp ứng dụng chữ ký số............................................... 44
3.1. Thực trạng ứng dụng chữ ký số trong nƣớc....................................... 44
3.1.1. Giá trị pháp lý của chữ ký số ...................................................... 44
3.1.2. Hệ thống chứng thƣ số trong nƣớc ............................................. 45
3.1.3. Dịch vụ chứng thực chữ ký số trong nƣớc ................................. 47
3.2. Khái quát về hệ thống quản lý văn bản và điều hành........................ 48
3.3. Nhu cầu an toàn, an ninh thông tin.................................................... 49
3.4. Giải pháp ứng dụng chữ ký số........................................................... 49
3.4.1. Giới thiệu mô hình kết nối liên thông......................................... 49
7. 7
3.4.2 Giải pháp chữ ký số .................................................................. 51
3.4.2.1. Xây dựng giải pháp ký số trên nền Web............................... 51
3.5. Xây dựng ứng dụng ........................................................................... 52
3.5.1. Mô hình giải pháp ký số tài liệu ................................................. 52
3.5.2. Phân tích thiết kế giải pháp......................................................... 55
3.5.2.1. Chức năng cần thiết của yêu cầu xác thực............................ 55
3.5.2.2. Phân tích thiết kế các thành phần của mô hình.................... 56
3.6. Kết quả của giải pháp......................................................................... 58
3.7. Kết luận chƣơng 3.............................................................................. 59
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN................................................ 60
TÀI LIỆU THẢM KHẢO ........................................................................ 61
8. 8
DANH MỤC CÁC TỪ VIẾT TẮT
Chữ viết tắt Ý nghĩa
ATTT An toàn thông tin
AES Advanced Encryption Standard – Chuẩn mã hóa nâng cao
CNTT Công nghệ thông tin
CA Certificate Authority – Cơ quan chứng thực số
DDoS Distributed denial of service – Từ chối dịch vụ
DES Data Encryption Standard- Chuẩn Mã hóa Dữ liệu
DS Digital Signature – Chữ ký số
DSS Digital Signature Standard - Chuẩn chữ ký số
FIPS PUB
Federal Information Processing Standards – Chuẩn xử lý thông
tin
MD 5 Message Digest algorithm 5 - giải thuật của hàm băm
OID Object Identifier - kiểu định dạng
PKCS Public Key Cryptography Standards - Chuẩn mã hóa công khai
QLVB&ĐH Quản lý vă bản và điều hành
RSA Rivest Shamir Adleman – Mã hóa công khai
SHA Secure Hash Algorithm –Thuật toán băm an toàn
SSL Secure Socket Layer - Giao thức an ninh thông tin
TMĐT Thƣơng mại điện tử
URL Uniform Resource locator - Liên kêt dân địa chỉ web
9. 9
DANH MỤC CÁC BẢNG
Bảng 1.1 Tổng hợp số liệu thống kê ATTT Việt Nam 2015 .............................. 14
Bảng 3.1 Danh sách các doanh nghiệp đƣợc cấp phép....................................... 47
DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Mật mã đối xứng .................................................................................. 17
Hình 2.2 Mã hóa khóa công khai ........................................................................ 19
Hình 2.3 Sơ đồ biểu diễn thuật toán RSA........................................................... 21
Hình 2.4 Minh họa hàm băm............................................................................... 24
Hình 2.5 Lƣợc đồ tạo và kiểm tra chữ ký số.......Error! Bookmark not defined.
Hình 2.6 X.509 version 3 .................................................................................... 36
Hình 2.7 Mô hình PKI........................................................................................ 41
Hình 3.1 Hệ thống chứng thực số trong nƣớc..................................................... 45
Hình 3.3 Chứng thƣ số Root CA Chính phủ....................................................... 46
Bảng 3.1 Danh sách các doanh nghiệp đƣợc cấp phép....................................... 47
Hình 3.4 Thị trƣờng dịch vụ chứng thực số công cộng ...................................... 48
Hình 3.5 Mô hình liên thông gửi nhận văn bản điện tử...................................... 50
Hình 3.6 Mô hình xác thực trên Web tổng quan................................................. 51
Hình 3.7 Mô hình giải pháp ký số....................................................................... 52
Hinh 3.8 Thiết bị Token...................................................................................... 53
Hình 3.9 Minh họa chứng thƣ số RootCA .......................................................... 54
Hình 3.10 Minh họa chứng thƣ số SubCA.......................................................... 54
Hình 3.11 Minh họa chứng thƣ số ngƣời dùng................................................... 55
Hình 3.12 Lƣợc đồ ký số trên hệ thống............................................................... 56
Hình 3.13 Lƣợc đồ xác thực văn bản ký số ........................................................ 57
Hình 3.14 Giao diện phát hành văn bản.............................................................. 58
Hình 3.15 Văn bản đã đƣợc ký số (pdf).............................................................. 58
Hình 3.16 Văn bản đã đƣợc ký số (.doc) ............................................................ 59
10. 10
LỜI MỞ ĐẦU
1. Đặt vấn đề
Ngày nay cùng 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 thông tin thuận tiện và nhanh
chóng. Vì vậy cần có một giải pháp bảo đảm an toàn thông tin (ATTT) trong
quá trình giao dịch điện tử đó. Bảo đảm ATTT là bảo đảm tính bí mật, bảo đảm
tính toàn vẹn, bảo đảm tính xác thực và bảo đảm tính sẵn sàng của thông tin.
Việc bảo đảm ATTT đƣợc dựa trên cơ sở về mã hóa thông tin, cơ sở khoa học
mật mã phục vụ ATTT, trong đó những vấn đề liên quan đến thuật toán băm,
thuật toán mã hóa và chữ ký số là các cơ sở chính để thực hiện đề tài.
Đƣợc sự đồng ý của thầy hƣớng dẫn và nhận thấy tính thiết thực của vấn
đề, tôi chọn đề tài: “Nghi n cứu ứng dụng chữ s trong qu tr nh gửi
nh n tài iệu điện tử”.
2. Mục đích của u n văn
Luận văn tìm hiểu các vấn đề về bảo đảm an toàn trong giao dịch điện tử,
các cơ sở khoa học trong bảo đảm an toàn bảo mật dữ liệu nhƣ các hệ mã hóa dữ
liệu, hàm băm, ký số.
Nghiên cứu các giải pháp mã hoá để bảo mật thông tin và những phƣơng
pháp, kỹ thuật tạo chữ kí số trên các tài liệu, văn bản điện tử.
Đánh giá thực trạng ứng dụng chữ ký số trong gửi nhận văn bản điện tử
đối với các tổ chức, nghiên cứu hạ tầng khóa công khai PKI và các vấn đề liên
quan đến chứng thƣ số.
Xây dựng giải pháp ứng dụng chữ ký số trong quá trình gửi nhận văn bản
điện tử trên hệ thống quản lý văn bản và điều hành tại Văn phòng Chính phủ.
3. Đ i tƣợng và phạm vi nghi n cứu
Hệ mã hóa RSA, chữ ký số RSA, hạ tầng khóa công khai PKI cũng nhƣ
các vấn đề liên quan đến chứng thƣ số; hệ thống quản lý văn bản và điều hành là
đối tƣợng nghiên cứu chính của luận văn nhằm xây dựng ứng dụng chữ ký số
trong gửi nhận tài liệu điện tử.
Phạm vi nghiên cứu: Luận văn nghiên cứu ứng dụng chữ ký số trong quá
trình gửi nhận văn bản điện tử với các định dạng nhƣ .docx, pdf trên hệ thống
quản lý văn bản và điều hành đang đƣợc dùng tại các cơ quan hành chính nhà
nƣớc.
11. 11
4. Phƣơng ph p nghi n cứu
Tiếp cận phân tích và tổng hợp các tài liệu về mã hoá, hệ mật mã của các
tác giả trong và ngoài nƣớc, các bài báo, thông tin trên mạng.
Tìm hiều chữ ký số RSA, hạ tầng khóa công khai PKI. Từ đó đƣa ra giải
pháp xây dựng ứng dụng.
Tìm hiểu các sản phẩm ứng dụng chứng thực số hiện đang đƣợc sử dụng,
đánh giá thực trạng ứng dụng chứ ký số trong giao dịch điện tử của các cơ quan,
tổ chức đơn vị trong nƣớc.
Tham khảo, vận dụng và kế thừa các thuật toán, mã nguồn mở, v.v…
5. B cục u n văn
Luận văn gồm 3 chƣơng, có phần mở đầu, phần kết luận, phần mục lục,
phần tài liệu tham khảo. Các nội dung cơ bản của luận văn đƣợc trình bày theo
cấu trúc nhƣ sau:
Chƣơng 1: Gao dịch điện tử và c c vấn đề bảo đảm an toàn trong
giao dịch điện tử
Chƣơng này trình bày về các khái niệm an toàn bảo mật thông tin, các
nguy cơ mất ATTT cũng nhƣ đánh giá thực trạng về ATTT. Từ đó đƣa ra một số
giải pháp để đảm bảo ATTT.
Chƣơng 2: Cơ sở m t mã ứng dụng trong an toàn bảo m t thông tin
Nghiên cứu về cơ sở ứng dụng trong bảo đảm an toàn bảo mật thông tin
nhƣ các hệ mật mã, các phƣơng pháp mã hóa, hàm băm, chữ ký số, hạ tầng khóa
công khai, v.v…
Chƣơng 3: Giải ph p ứng dụng chữ s trong qu tr nh gửi nh n
tài iệu điện tử tr n hệ th ng quản văn bản và điều hành
Tìm hiểu về thực trạng ứng dụng chữ ký số, khái quát về hệ thống quản lý
văn bản và điều hành. Qua đó xây dựng giải pháp ứng dụng chữ ký số trong gửi
nhận văn bản điện tử trên hệ thống quản lý văn bản và điều hành.
12. 12
Chƣơng 1. Giao dịch điện tử và c c vấn đề bảo đảm an toàn trong giao dịch
điện tử
1.1. Giao dịch điện tử
Giao dịch điện tử là giao dịch đƣợc thực hiện bằng phƣơng tiện điện tử.
Ngày nay với nền tảng của công nghệ thông tin hiện đại, giao dịch điện tử cũng
phát triển nhanh chóng, thu hút đƣợc sự quan tâm sâu rộng của các quốc gia, các
tổ chức quốc tế và các khối liên kết kinh tế; góp phần quan trọng làm thay đổi
cách thức kinh doanh, giao dịch truyền thống, phong cách sống, học tập, làm
việc của con ngƣời; thúc đẩy mạnh mẽ sự tăng trƣởng kinh tế, tăng cƣờng hiệu
quả hoạt động và khả năng cạnh tranh của các tổ chức, doanh nghiệp; tạo ra
nhiều ngành nghề sản xuất, kinh doanh, dịch vụ mới nhƣ công nghiệp công nghệ
thông tin, dịch vụ thƣơng mại điện tử, dịch vụ tài chính – ngân hàng trực tuyến,
dịch vụ thƣ điện tử, dịch vụ chữa bệnh qua mạng, giáo dục đào tạo từ xa... Giao
dịch điện tử cũng thúc đẩy “tin học hóa” hoạt động của các cơ quan nhà nƣớc,
giúp cho quá trình gửi nhận các văn bản đƣợc thực hiện nhanh chóng, kịp thời
và chính xác; cho phép mọi ngƣời dân có thể dễ dàng tiếp cận các dịch vụ công
cũng nhƣ giám sát hoạt động của các cơ quan Nhà nƣớc.
1.2. An toàn thông tin
An toàn thông tin là sự bảo vệ thông tin, hệ thống thông tin tránh bị truy
nhập, sử dụng, tiết lộ, gián đoạn, sửa đổi hoặc phá hoại trái phép nhằm đảm bảo
tính nguyên ven, tính bảo mật và tính khả dụng của thông tin.
An toàn thông tin liên quan đến hai khía cạnh đó là an toàn về mặt vật lý
và an toàn về mặt kỹ thuật.
Mục tiêu cơ bản của an toàn thông tin [8]:
+ Đảm bảo tính bảo mật (Confidentiality): Thông tin chỉ đƣợc truy cập
bởi những ngƣời có thẩm quyền;
+ Đảm bảo tính toàn vẹn dữ liệu (Integrity): Thông tin chỉ đƣợc thay đổi
bởi những người có thẩm quyền;
+ Đảm bảo tính xác thực (Authentication): Xác thực đúng thực thể cần kết
nối, giao dịch. Xác thực đúng thực thể có trách nhiệm về nội dung thông tin.
+ Đảm bảo tính sẵn sàng (Availability): Thông tin luôn sẵn sàng đƣợc sử
dụng bởi những người có thẩm quyền.
13. 13
1.3. C c nguy cơ mất an toàn thông tin
Nguy cơ mất an toàn thông tin về khía cạnh vật lý: là nguy cơ do mất điện,
nhiệt độ, độ ẩm không đảm bảo, hỏa hoạn, thiên tai, thiết bị phần cứng bị hƣ hỏng,
các phần tử phá hoại nhƣ nhân viên xấu bên trong và kẻ trộm bên ngoài.
Nguy cơ bị mất, hỏng, sửa đổi nội dung thông tin: Ngƣời dùng có thể vô
tình để lộ mật khẩu hoặc không thao tác đúng quy trình tạo cơ hội cho kẻ xấu lợi
dụng để lấy cắp hoặc làm hỏng thông tin. Kẻ xấu có thể sử dụng công cụ hoặc
kỹ thuật của mình để thay đổi nội dung thông tin (các file) nhằm sai lệnh thông
tin của chủ sở hữu hợp pháp.
Nguy cơ bị tấn công bởi các phần mềm độc hại: Các phần mềm độc hại
tấn công bằng nhiều phƣơng pháp khác nhau để xâm nhập vào hệ thống với
các mục đích khác nhau nhƣ: virus, sâu máy tính (Worm), phần mềm gián điệp
(Spyware),...
Nguy cơ xâm nhập từ lỗ hổng bảo mật: lỗ hổng bảo mật thƣờng là do lỗi
lập trình, lỗi hoặc sự cố phần mềm, nằm trong một hoặc nhiều thành phần tạo
nên hệ điều hành hoặc trong chƣơng trình cài đặt trên máy tính.
Nguy cơ xâm nhập do bị tấn công bằng cách phá mật khẩu.
Nguy cơ mất an toàn thông tin do sử dụng e-mai.
Nguy cơ mất an toàn thông tin trong quá trình truyền tin.
Nguy cơ bị các cuộc tấn công mạng, v.v...
1.4. Thực trạng mất an ninh an toàn trong giao dịch điện tử
Giao dịch điện tử là một hoạt động mang lại hiệu quả cao, song một khi
gặp rủi ro thì những thiệt hại đối với các tổ chức, doanh nghiệp cũng không nhỏ.
Theo đánh giá tổng thể, tình hình bảo đảm an toàn thông tin của Việt Nam
đã có những chuyển biến tích cực rõ rệt [1]. Chỉ số an toàn thông tin Việt Nam
năm 2015 (VNISA Index 2015) đã tăng từ mức 39% vào năm 2014 lên 46,4%
vào năm 2015.
Tuy nhiên vẫn còn nhữn bất cập, tồn tại về an toàn thông tin nhƣ: Việt
Nam tiếp tục nằm trong danh sách các quốc gia có tỉ lệ lây nhiễm phần mềm độc
hại cao trên thế giới. Chỉ số này của Việt Nam năm 2015 ƣớc tính vào khoảng
64,36%, mặc dù tỉ lệ này có giảm so với năm 2014 nhƣng là không đáng kể.
Trong năm 2015, Việt Nam phát hiện 38.177 cuộc tấn công mạng, tăng
gấp 2 lần so với năm 2014, trong đó có 5.600 cuộc tấn công lừa đảo
14. 14
(Phishing), 22.200 cuộc tấn công cài phần mềm độc hại (Malware) và 10.377
cuộc tấn công thay đổi giao diện (Deface), trong số đó có 212 cuộc tấn công
thay đổi giao diện vào các hệ thống có tên miền “.gov.vn”
Bảng 1.1 Tổng hợp số liệu thống kê ATTT Việt Nam 2015
TT Nội dung Năm 2015 Năm 2014
Chỉ s an toàn thông tin Việt Nam
1 Chỉ số an toàn thông tin Việt Nam 46.4 % 39 %
Tỷ ệ ây nhiễm phần mềm độc hại
2 Trên máy vi tính 64.36 % 66 %
3 Trên thiết bị di động 24 % 23 %
4 Qua mạng 39 % 49 %
5 Qua các thiết bị đa phƣơng tiện 77 % 77 %
Tấn công mạng
6 Tổng số cuộc tấn công 38.177 cuộc > 19.000 cuộc
7
Tổng số cuộc tấn công thay đổi giao
diện
10.377 cuộc
8
Tổng số cuộc tấn công thay đổi giao
diện vào tên miền “.gov.vn’
212 cuộc > 200 cuộc
9 Tổng số cuộc tấn công lừa đảo 5.600 cuộc
10
Tổng số cuộc tấn công lây nhiễm
phần mềm độc hại
22.200 cuộc
Tấn công từ ch i dịch vụ (DDoS)
11
Tỷ lệ số lƣợt bị tấn công DdoS của
Việt Nam so với thế giới
3.95 %
Thƣ r c
12 Tỷ lệ thƣ rác phát tán từ Việt Nam 6.1 % 4.5 %
1.5. C c giải ph p bảo đảm An toàn thông tin.
Để đảm bảo ATTT trong giao dịch điện tử chúng ta cần có những giải
pháp phù hợp, hiện nay có nhiều giải pháp cho vấn đề ATTT trong giao dịch
điện tử nhƣ:
Giải ph p nền tảng:
15. 15
+ Giảm thiểu nguy cơ từ cơ sở hạ tầng kỹ thuật: Xác định nguồn và
nguyên nhân gây mất ATTT và ứng dụng các giải pháp kỹ thuật tƣơng ứng.
‰ + Trong sạch và nâng cao chất lƣợng nguồn nhân: lựa chọn nhân lực quản
trị và vận hành hệ thống, đào tạo và nâng cao ý thức ngƣời sử dụng.
‰ + Hành lang pháp lý: chính sách ATTT; xây dựng và áp dụng các chế tài,
ban hành các quy chế, quy định, thẩm quyền khai thác, sử dụng thông tin.
Các giải ph p đảm bảo ATTT hệ th ng:
+ Sử dụng các hệ thống kỹ thuật để bảo vệ hệ thống thông tin: sử dụng hệ
thống phát hiện và chống xâm nhập, chống nghe lén, phá hoại và ăn cắp thông
tin dữ liệu, v.v…
+ Sử dụng các hệ thống thiết bị, phần mềm chất lƣơng cao, ổn định.
C c giải ph p ỹ thu t cụ thể:
+ Kiểm tra mức độ an ninh của các thành phần tham gia hệ thống. Cụ thể
nhƣ: kiểm tra các lỗ hổng an ninh đối với toàn bộ hệ thống, kiểm tra các phần
mềm cài cắm nghe lén, v.v…
+ Bảo mật, xác thực các thông tin dữ liệu trong quá trình giao dịch, trao
đổi nhƣ sử dụng các kỹ thuật mã hóa, chữ ký số, v.v…
1.6. Kết u n chƣơng 1
Chƣơng 1 đã trình bày một số vấn đề về Giao dịch điện tử, ATTT, các
nguy cơ mất ATTT cũng nhƣ đánh giá thực trạng về ATTT. Từ đó đƣa ra một số
giải pháp để đảm bảo ATTT.
Chƣơng tiếp theo luận văn sẽ tìm hiểu, nghiên cứu về cơ sở ứng dụng
trong đảm bảo an toàn bảo mật thông tin nhƣ các hệ mật mã, các phƣơng pháp
mã hóa, hàm băm, chữ ký số, hạ tầng khóa công khai, v.v…
16. 16
Chƣơng 2. Cơ sở m t mã ứng dụng trong an toàn bảo m t thông tin
2.1. Tổng quan về hệ m t mã
Mật mã đƣợc sử dụng để bảo vệ tính bí mật của thông tin khi thông tin
đƣợc truyền trên các kên truyền thông công cộng nhƣ các kênh bƣu chính, điện
thoại, mạng tuyền thông máy tính, mạng Internet, v.v...[2]
Mật mã gắn liền với quá trình mã hóa; tức là gắn với các cách thức để
chuyển đỗi thông tin từ dạng có thể nhận thức đƣợc thành dạng không thể nhận
thức đƣợc, làm cho thông tin trở thành dạng không thể đọc đƣợc. Các thuộc tính
yêu cầu của mật mã hóa là tính bí mật, tính nguyên vẹn, tính xác thực, tính không
bị từ chối và tính chống lặp lại. Mã hóa đƣợc sử dụng chủ yếu để đảm bảo tính bí
mật của các thông tin, chứng thực khóa công khai, chữ ký số, v.v..
Một hệ mã bao gồm 5 thành phần (P, C, K, E, D) [2], trong đó:
- P là tập hữu hạn các bản rõ (dữ liệu trƣớc khi mã hóa)
- C là tập hữu hạn các bản mã (dữ liệu sau khi mã hóa)
- K là tập hữu hạn các khóa (khóa công khai, khóa bí mật)
- E là tập các hàm lập mã.
- D là tập các hàm giải mã
Với khóa lập mã Kke có hàm lập mã:
, :ekee E e P C k (2.1)
Với khóa giải mã Kkd có hàm lập mã:
, :kd dd E d C D k (2.2)
Sao cho:
( ( )) ,kd ked e x x x P (2.3)
Ở đây x là bản rõ, eke(x) là bản mã.
Quá trình mã hóa đƣợc tiến hành bằng cách áp dụng hàm lập mã E lên
bản rõ P, vốn đƣợc biểu diễn dƣới dạng số, để trở thành thông tin đã mã hóa C.
Quá trình giải mã đƣợc tiến hành ngƣợc lại: áp dụng hàm giải D lên thông
tin C để đƣợc thông tin đã giải mã P.
17. 17
Hệ mật mã chính là hệ thống cung cấp các kỹ thuật mã hóa và giải mã dữ
liệu, đƣợc phân loại thành hệ mật mã khóa đối xứng và hệ mật mã khóa công
khai.
2.2. Hệ m t mã hóa đ i xứng
2.2.1. Kh i qu t hệ m t mã hóa đ i xứng
Hệ mật mã khóa đối xứng là hệ mật mã chỉ dùng một khóa duy nhất cho
cả hai quá trình mã hóa và giải mã. Hệ mật mã này có đặc điểm là có thời gian
mã hóa và giải mã tƣơng đối nhanh. Do yậy, hệ mật mã khóa đối xứng thƣờng
đƣợc sử dụng để mã hóa những dữ liệu lớn.
Có hai thuật toán đƣợc sử dụng chủ yếu trong việc tạo khóa bí mật trong
hệ mật mã khóa đối xứng:
- Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm bits
này đƣợc gọi với một cái tên khác là khối (Block) và thuật toán đƣợc áp dụng
gọi là mã hoá khối (Block Cipher). Theo đó, từng khối dữ liệu trong văn bản ban
đầu đƣợc thay thế bằng một khối dữ liệu khác có cùng độ dài. Đối với các thuật
toán ngày nay thì kích thƣớc chung của một khối là 64 bits.
Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp dụng
đƣợc gọi là mã hoá dòng (Stream Cipher). Dữ liệu của văn bản đƣợc mã hoá
từng bit một. Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuật
toán mã hoá khối và nó thƣờng đƣợc áp dụng khi lƣợng dữ liệu cần mã hoá chƣa
biết trƣớc.
Độ an toàn của thuật toán này phụ thuộc vào khóa, nếu để lộ ra khóa này
nghĩa là bất kỳ ngƣời nào cũng có thể mã hóa và giải mã dữ liệu trong hệ thống
mã hóa.
Hình 2.1 Mật mã đối xứng
18. 18
Một số thuật toán nổi tiếng trong mã hoá đối xứng là: DES, Triple DES
(3DES), RC4, AES...
- DES: bản rõ (Plaintext) đƣợc mã hoá theo từng khối 64 bits và sử dụng
một khoá là 64 bits, nhƣng thực tế thì chỉ có 56 bits mã hoá và giải mã sử dụng 3
khoá [2]. Khối 64 bits của bản rõ đầu tiên sẽ đƣợc dùng để tạo khoá, 8 bits còn
lại dùng để kiểm tra tính chẵn, lẻ. DES là một thuật toán đƣợc sử dụng rộng rãi
nhất trên thế giới. Hiện tại DES không còn đƣợc đánh giá cao do kích thƣớc của
khoá quá nhỏ 56 bits, và dễ dàng bị phá vỡ.
- Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sử
dụng một mã quá trình mã hoá sử dụng khoá thứ nhất. Sau đó, dữ liệu bị mã hóa
đƣợc giải mã bằng việc sử dụng một khoá thứ hai. Cuối cùng, sử dụng khoá thứ
ba và kết quả của quá trình mã hoá trên để mã hoá.
AES: đƣợc sử dụng để thay thế cho DES. Nó hỗ trợ độ dài của khoá từ
128 bits cho đến 256 bits. AES là một thuật toán có tốc độ mã hóa và giải mã
nhanh, có khả năng chống đƣợc nhiều phƣơng pháp tấn công nhƣ vét cạn, kẻ tấn
công đứng giữa, v.v...
2.2.2. Ƣu nhƣợc điểm của hệ mã hóa đ i xứng
Ƣu điểm:
- Có thể thiết kế để đạt tốc độ cao.
- Khóa dùng chung cho mã hóa khóa đối xứng tƣơng đối ngắn.
- Đƣợc xem nhƣ thành phần cơ bản có thể triển khai để xây dựng các kỹ
thuật mã hóa khác, bao gồm khởi tạo các số ngẫu nhiên, các hàm băm, các thuật
toán tính toán.
- Có thể đƣợc kết hợp để tạo ra các thuật toán mã hóa mạnh hơn.
Nhƣợc điểm:
- Trong quá trình truyền thông giữa hai ngƣời, khóa phải đƣợc giữ bí mật
cho cả hai phía.
- Trong hệ thống mạng lớn, số lƣợng khóa cần đƣợc quản lý nhiều. Do
vậy việc quản lý khóa một cách hiệu quả đòi hỏi sự dụng một bộ phận tin cậy
thứ ba (TTP: Trusted Third Party).
- Khóa bí mật cần đƣợc thay đổi thƣờng xuyên.
19. 19
- Kỹ thuật chữ ký số đƣợc phát triển từ cơ chế mã hóa khối đối xứng đòi
hỏi sử dụng các khóa lớn cho các hàm xác nhận công khai hoặc là sủ dụng một
TTP.
2.3. Hệ m t mã khóa công khai
2.3.1. Kh i qu t hệ m t mã hóa công hai
Khác với hệ mật mã khóa đối xứng, hệ mật mã khóa công khai sử dụng
một cặp khóa có liên quan với nhau về mặt toán học để mã hóa và giải mã thông
tin.
Thuật toán mã hóa công khai là thuật toán đƣợc thiết kế sao cho khóa mã
hóa khác với khóa giải mã, mà khóa giải mã không thể tính đƣợc từ kháo mã
hóa. Khóa mã hóa gọi hòa khóa công khai (public key), khóa giải mã đƣợc gọi là
khóa riêng (private key).
Hệ mật mã khóa công khai có tính chất bất đối xứng, tính bất đối xứng
đƣợc thể hiện ở chỗ bên giữ khóa công khai chỉ có thể mã hóa dữ liệu, hoặc
kiểm tra chữ ký số chứ không thể giải mã dữ liệu và tạo chữ ký số đƣợc.
Quá trình truyền và sử dụng mã hoá khoá công khai đƣợc thực hiện nhƣ
sau:
Bên gửi yêu cầu cung cấp hoặc tự tìm khoá công khai của bên nhận trên
một server chịu trách nhiệm quản lý khoá.
Sau đó hai bên thống nhất thuật toán dùng để mã hoá dữ liệu, bên gửi sử
dụng khoá công khai của bên nhận cùng với thuật toán đã thống nhất để mã hoá
thông tin đƣợc gửi đi.
Khi nhận đƣợc thông tin đã mã hoá, bên nhận sử dụng khoá bí mật của
mình để giải mã và lấy ra thông tin ban đầu.
Vói sự ra đời của Mã hóa công khai thì khoá đƣợc quản lý một cách linh
Hình 2.2 Mã hóa khóa công khai
20. 20
hoạt và hiệu quả hơn, ngƣời sử dụng chỉ cần bảo vệ khoá bí mật.
Đặc trƣng nổi bật của hệ mã hóa công khai là cả khóa công khai và dữ
liệu mã hóa (ciphertext) đều có thể giử đi trên một kên truyền thông tin không
an toàn.
Mục đích chính của hệ mật khóa công khai là phân phối khóa và ký số.
Các ứng dụng của hệ mật mã này gồm có: Mã hóa/giải mã, chữ ký, trao đổi
khóa.
Một số hệ mã hóa khóa công khai phổ biến nhƣ: RSA, Rabin, Elgaml,
v.v...
2.3.2. Ƣu nhƣợc điểm của hệ m t mã hóa công hai
Ƣu điểm:
- Chỉ có khóa riêng thì cần đƣợc giữ bí mật, tuy nhiên việc xác nhận các
khóa công khai cần đƣợc đảm bảo.
- Việc quản trị các khóa trên mạng đòi hỏi sự tồn tại duy nhất một thành
phần tin cậy.
- Cặp khóa riêng và công khai có thể đƣợc sử dụng trong thời gian dài.
- Nhiều mô hình khóa công cộng đƣợc phát triển hình thành nên các kỹ
thuật chữ ký số hiệu quả. Khóa đƣợc sử dụng cho hàm kiểu công khai thì nhỏ
hơn rất nhiều so với dùng khóa đối xứng.
- Trong một mạng lớn, số lƣợng khóa cần thiết đƣợc quan tâm ít hơn so
với việc dùng khóa đối xứng.
Nhƣợc điểm:
- Tốc độ cho các phƣơng thức mã hóa công khai chậm hơn so với các mô
hình khóa đối xứng.
- Kích thƣớc khóa lớn hơn nhiều so với cơ chế mã hóa đối xứng.
2.3.3. Thu t toán RSA
Các đặc điểm chính trong thuật toán mã hóa RSA
Thuật toán RSA đƣợc thiết kế dựa trên độ khó của bài toán phân tích ra
thừa số nguyên tố trên tập số nguyên Zn.
Cho số nguyên dƣơng n = p * q, với p, q là 2 số nguyên tố rất lớn (ít nhất
100 ký số). Khi biết n, muốn tìm p, q thì phải giải bài toán phân tích ra thừa số
21. 21
nguyên tố, công việc này đòi hỏi phải thực hiện một số lƣợng các phép tính vô
cùng lớn.
Thuật toán RSA dựa trên cơ sở hai bài toán:
+ Bài toán Logarith rời rạc.
+ Bài toán phân tích thành thừa số.
Sơ đồ chung của hệ mã hóa RSA [2]:
S = (P, C, K, E, D )
- P là tập hữu hạn các bản rõ (dữ liệu trƣớc khi mã hóa)
- C là tập hữu hạn các bản mã (dữ liệu sau khi mã hóa)
- K là tập hữu hạn các khóa (KE khóa lập mã, KD khóa giải mã)
- E là tập các hàm lập mã.
- D là tập các hàm giải mã
Phƣơng ph p p mã và giải mã cuả hệ RSA
Tạo khóa:
Hình 2.3 Sơ đồ biểu diễn thuật toán RSA
22. 22
- Tạo ngẫu nhiên 2 số nguyên tố p, q khác nhau và rất lớn (có số ký tự ít
nhất là 100), sau đó tính:
n = p * q; Ф(n) = (p -1) * (q -1) (2.9)
- Chọn ngẫu nhiên 1 số e sao cho 1 < e < Ф(n), với e là số nguyên
tố cùng nhau với Ф(n).
- Tính số nghịch đảo d của e đối với Ф(n): 1 < d < Ф(n), ed =
1(mod Ф(n)).
Ở đây d là số mũ bí mật; e là số mũ công khai.
- Cặp KU = {e, n} đƣợc gọi là khoá công khai.
- Cặp KR = {d, n} đƣợc gọi là khoá bí mật.
Mã hóa:
Khi bên gửi muốn gửi thông điệp M cho bên nhận với yêu cầu cần bảo
mật thông tin. Bên gửi yêu cầu Bên nhận gửi khoá công khai KU = {e, n}. Bên
gửi dùng khoá công khai KU này để mã hoá thông điệp M thành C theo công
thức: C = Me
mod n, sau đó Bên gửi gửi C cho Bên nhận.
Giải mã:
Để giải mã bản mã C, Bên nhận dùng khoá bí mật KR = {d, n} để có thể
khôi phục lại dữ liệu gốc ban đầu do Bên gửi gửi đến thông qua phép toán M =
Cd
mod n.
Đặc trƣng của hệ RSA
- Không cần phải thiết lập một kênh bảo vệ phức tạp để truyền khóa nhƣ
trong hệ mã bí mật.
- Cặp khóa công khai đƣợc tạo ra theo một phƣơng pháp đặc biệt có quan
hệ với nhau và đƣợc chọn trong nhiều khóa có thể (trong đó nếu khóa này dùng
để mã hóa thi khóa kia dùng để giải mã).
- Ứng với một cặp p, q có thể chọn đƣợc nhiều bộ khóa công khai (n; e; d)
- Mọi ngƣời trong hệ thống nếu nhận đƣợc bản mật C thì cũng không thể
biết đƣợc bản rõ P. Với việc chỉ biết khóa mã hóa ke và căn cứ vào các thông tin
về thuật toán thì không thể tìm ra khóa giải mã kd trong thời gian chấp nhận
đƣợc (kể cả dùng hệ thống hiện đại nhất để tinh toán).
Độ an toàn của hệ mã hóa RSA [8]:
23. 23
- Hệ mã hóa RSA là tất định, tức là với một bản rõ x và một khóa bí mật d,
thì chỉ có một bản mã y. Tính mật của hệ RSA, chủ yếu dựa vào việc bảo vệ khóa
riêng d và giữ bí mật các số nguyên tố p va q.
- Độ an toàn của hệ mật RSA phụ thuộc vào khả năng giải bài toán phân
tích số nguyên dƣơng n thành tích hai số nguyên tố lớn p và q.
Để xây dựng hệ RSA an toàn n=p.q phải đủ lớn để không có khả năng
phân tích nó về mặt tính toán. Để đảm bảo an toàn, nên chọn các số nguyên tố p
và q từ 100 chữ số trở lên. Thời gian phân tích mã RSA đƣợc nêu trong bảng 2.1
Bảng 2.1 Thời gian dự đoán phép tính thuật toán RSA
S c c chữ s trong s đƣợc phân tích Thời gian phân tích
50 4 giờ
75 104 giờ
100 74 năm
200 4.000.000 năm
300 5.1015
năm
500 4.1025
năm
Thuật toán RSA sử dụng hai khóa có liên quan với nhau về mặt toán học,
cho nên kẻ tấn công nếu biết đƣợc khóa công khai cũng chƣa chắc có thể tìm
đƣợc khóa bí mật. Tuy nhiên, vẫn có những phƣơng pháp tấn công đối với thuật
toán RSA:
- Vét cạn: không gian khóa của RSA là rất lớn vì vậy tấn công theo hƣớng
này là không thể thực hiện đƣợc.
- Phƣơng pháp phân tích toán học: Phân tích n là một số nguyên lớn thành
2 thừa số nguyên tố p và q. Tuy nhiên, việc phân tích một số nguyên lớn ra số
nguyên tố là rất khó khăn, với tốc độ của máy tính hiện nay cũng không thể đáp
ứng đƣợc việc phân tích số nguyên tố lớn trong thời gian đa thức nếu các số p, q
đƣợc chọn là lớn. Thời gian phân tích xem bảng 2.1.
- Xác định trực tiếp Ф(n) không thông qua p và q.
- Xác định trực tiếp d không thông qua Ф(n).
Ứng dụng RSA:
24. 24
Tiêu chuẩn RSA đƣợc ứng dụng rộng rãi trong nhiều lĩnh vực nhƣ chữ ký
số, thƣơng mại điện tử, bảo mật, xác thực,v.v… Trong Thông tƣ 6/2015/TT-
BTTTT ngày 23/03/2015 của Bộ trƣởng Bộ Thông tin và Truyền thông công bố
Danh mục tiêu chuẩn kỹ thuật về ứng dụng công nghệ thông tin trong cơ quan
nhà nƣớc quy định khuyến nghị áp dụng tiêu chuẩn RSA, là một trong những
giải thuật mã hóa và đƣợc xếp vào nhóm Tiêu chuẩn về an toàn thông tin.
2.4. Hàm băm
2.4.1. Kh i niệm
Hàm băm là một giải thuật nhằm sinh ra các giá trị băm tƣơng ứng với
mỗi khối dữ liệu. Giá trị băm đóng vai trò gần nhƣ một khóa để phân biệt các
khối dữ liệu [10].
Hình 2.4 Minh họa hàm băm
- Giá trị đầu vào là dữ liệu có độ dài bất kỳ.
- Giá trị đầu ra là dữ liệu có độ dài cố định.
2.4.2. Đặc tính của hàm băm
Hàm băm h là hàm một chiều (one - way hash ) với các đặc tính sau:
- Với thông điệp đầu vào x thu đƣợc bản băm z = h(x) là duy nhất.
- Nếu dữ liệu trong thông điệp x thay đổi hay bị xóa để thành thông điệp
x’ thì h(x’) #h(x). Cho dù chỉ có một sự thay đổi nhỏ hay chỉ là xóa đi một bit dữ
liệu của thông điệp thì giá trị băm cũng vẫn thay đổi.
25. 25
Điều này có nghĩa là: hai thông điệp hoàn toàn khác nhau thì giá trị hàm
băm cũng hoàn toàn khác nhau. Nội dung của thông điệp gốc không thể bị suy
ra từ giá trị hàm băm. Nghĩa là với thông điệp x thì dễ dàng tính đƣợc z = h(x),
nhƣng lại không thể tính suy ngƣợc lại đƣợc x nếu chỉ biết giá trị hàm băm h(x).
2.4.3. Một s tính chất cơ bản của hàm băm
- Có thể áp dụng với thông báo đầu vào có độ dài bất kỳ.
- Tạo ra giá trị băm y = h(x) có độ dài cố định.
- h(x) dễ dàng tính đƣợc với bất kỳ giá trị của x.
- Tính một chiều: với mọi đầu ra y cho trƣớc không thể tìm đƣợc x’ sao
cho h(x’) bằng giá trị y cho trƣớc.
- Tính chống xung đột yếu: với mọi dữ liệu đầu vào x1 cho trƣớc không
thể tìm đƣợc bất kỳ giá trị x2 nào (x2 ≠ x1) mà h(x2) = h(x1).
- Tính chống xung đột mạnh: không thể tính toán để tìm đƣợc 2 dữ liệu
đầu vào x1 và x2 phân biệt sao cho chúng có cùng giá trị băm (h(x2) = h(x1)).
2.4.4. Vai trò của hàm băm
- Bảo vệ tính toàn vẹn và phát hiện xâm nhập thông điệp đƣợc gửi qua
mạng bằng cách kiểm tra giá trị băm của thông điệp trƣớc và sau khi gửi nhằm
phát hiện những thay đổi cho dù là nhỏ nhất.
- Đƣợc dùng trong quá trình tạo chữ kí số trong giao dịch điện tử.
Một s hàm băm thông dụng:
Các hàm băm dụng MD (MD2, MD4, MD5) do Rivest đề xuất. Giá trị
băm theo các thuật toán này có độ dài cố định là 128 bit.
Hàm băm an toàn SHA, SHA1, SHA2 . Giá trị băm theo thuật toán này có
độ dài cố định là 160 bit.
2.5. Chữ s
2.5.1. Khái niệm
Chữ ký số là mô hình sử dụng các kỹ thuật mật mã để gắn với mỗi ngƣời
sử dụng một cặp khóa công khai - bí mật và qua đó có thể ký các văn bản điện
tử cũng nhƣ trao đổi các thông tin mật. Khóa công khai thƣờng đƣợc phân phối
thông qua chứng thực khóa công khai. Quá trình sử dụng chữ ký số bao gồm 2
quá trình: tạo chữ ký và kiểm tra chữ ký.
26. 26
Chữ ký số là một dạng chữ ký điện tử (Electronic Signature) là dạng
thông tin đi kèm dữ liệu (văn bản, hình ảnh, video, v.v…) nhằm mục đích xác
định ngƣời chủ của dữ liệu đó.
Để sử dụng chữ ký số thì ngƣời dùng phải có một cặp khoá gồm khoá
công khai (public key) và khoá bí mật (private key). Khoá bí mật dùng để tạo
chữ ký số, khoá công khai dùng để thẩm định chữ ký số hay xác thực ngƣời tạo
ra chữ ký số đó.
Chữ s có một s tính chất sau:
- Có khả năng kiểm tra chữ ký số và thời gian ký số.
- Có khả năng xác thực các nội dung tại thời điểm ký số.
- Thành viên thứ 3 có thể kiểm tra chữ ký số để giải quyết các tranh chấp.
Dựa vào c c tính chất cơ bản này, chữ s có c c y u cầu sau:
- Phải là một mẫu bít phụ thuộc vào thông báo đƣợc ký số.
- Phải sử dụng một thông tin duy nhất của ngƣời gửi để ngăn chặn tình
trạng làm giả và chối bỏ.
- Đƣợc tạo ra dễ dàng.
- Khó có thể làm giả chữ ký số bằng cách tạo ra một thông báo mới cho
một chữ ký số hiện có, hoặc tạo ra một chữ ký số giả mạo cho một thông báo
cho trƣớc.
2.5.2. C ch tạo chữ s
Quá trình sử dụng chữ ký số bao gồm 2 qúa trình: tạo và kiểm tra chữ ký.
27. 27
Chữ ký số đƣợc tạo ra bằng cách mã hóa giá trị băm (đƣợc tạo ra từ dữ
liệu ban đầu bằng cách sử dụng thuật toán băm) với khóa riêng của ngƣời gửi.
Quá trình kiểm tra chữ ký số gồm các bƣớc: sử dụng thuật toán băm để
tạo ra giá trị băm tính đƣợc từ dữ liệu nhận đƣợc, giải mã chữ ký số với khóa
công khai của ngƣời gửi để thu đƣợc giá trị mong muốn, so sánh giá trị mong
muốn và giá trị băm tính đƣợc, nếu trùng nhau thì chữ ký số là hợp lệ, ngƣời
nhận có thể tin cậy vào thông báo nhận đƣợc, xác định thông báo không bị làm
giả trong quá trình trao đổi và có nguồn gốc từ ngƣời gửi.
2.5.3. Sơ đồ chữ s
Sơ đồ chữ ký là bộ năm (P, A, K, S, V), trong đó:
P là tập hữu hạn các văn bản có thể
A là tập hữu hạn các chữ ký có thể
K là tập hữu hạn các khóa có thể
S là tập các thuật toán ký
V là tập các thuật toán kiểm thử
Với mỗi khóa k K , có thuật toán ký , : ,k kSig S Sig P A có thuật toán
kiểm tra chữ ký , : , ,k kVer V Ver P A đúng sai thỏa mãn điều kiện sau
với mọi , :x P y A ( , ) ( )k kVer x y đúng y Sig x [7].
Hình 2.5 Lƣợc đồ tạo và kiểm tra chữ ký số
28. 28
Ngƣời ta thƣờng sử dụng hệ mã hóa khóa công khai để lập sơ đồ chữ ký
số. Khóa bí mật dùng làm khóa ký, khóa công khai dùng làm khóa kiểm tra chữ
ký.
2.5.4. Một s chữ phổ biến
2.5.4.1 Chữ RSA
a) Sơ đồ chữ [8]
Sơ đồ chữ ký RSA đƣợc cho bởi bộ năm
S = (P, A, K, S, V) (2.1)
Trong đó P = A = Zn, với n = p.q là tích của hai số nguyên tố lớn p, q. K
là tập khóa K = (a, n, b), với a, b là hai số thuộc Z*
n.
- Tạo cặp khóa bí mật, công khai (a, b):
Tính bí mật ( ) ( 1).( 1)n p q (2.2)
Chọn khóa công khai b< )(n , nguyên tố với )(n .
Khóa bí mật a là phần tử nghịch đảo của b theo:
mod )(n : . 1(mod ( ))ab n (2.3)
Tập cặp khóa bí mật, công khai
( , )/ , , * 1(mod ( ))nK a b a b Z a b n
- Ký số: Chữ ký trên x P là ( ) (mod ),a
ky Sig x x n y A
- Kiểm tra chữ ký: ( , ) (mod )b
kVer x y đúng x y n
Ta nhận thấy sơ đồ chữ ký RSA và sơ đồ mã hóa RSA có sự tƣơng ứng.
Việc ký số vào x là việc mã hóa tài liệu x, việc kiểm tra chữ ký là việc giải mã
chữ ký.
b) Độ an toàn của chữ ký RSA [8]
Dựa vào ƣu điểm của hệ mã RSA, thiết lập đƣợc sơ đồ chữ ký dựa trên
bài toán phân tích ra thừa số nguyên tố thì độ an toàn của chữ ký số sẽ rất cao.
- Ngƣời gửi G gửi tài liệu x cùng chữ ký y đến ngƣời nhận N, có hai cách:
K trƣớc, mã hóa sau:
29. 29
G ký trƣớc vào x bằng chữ ký y = SigG(x), sau đó mã hóa x và y nhận
đƣợc z = eG(x, y). G gửi z cho N. Nhận đƣợc z, N giải mã z để đƣợc x, y.
Tiếp theo kiểm tra chữ ký VerN(x, y) = true hay không?
Mã hóa trƣớc, ký sau:
G mã hóa trƣớc x bằng u = eG(x), sau đó ký vào u bằng chữ ký v =
SigG(u). G gửi (u, v) cho N. Nhận đƣợc (u, v), G giải mã u đƣợc x. Tiếp theo
kiểm tra chữ ký VerN(u, v) = True hay không?
- Giả sử H lấy trộm đƣợc thông tin trên đƣờng truyền từ G đến N.
Trong trƣờng hợp ký trƣớc, mã hóa sau, H lấy đƣợc z. Để tấn công x, H
phải giải mã thông tin lấy đƣợc. Để tấn công chữ ký y, H phải giải mã Z mới
nhận đƣợc y.
Trong trƣờng hợp mã hóa trƣớc, ký sau, H lấy đƣợc (u, v), để tấn công
chữ ký v H đã có sẵn v, H chỉ việc thay v bằng v’. H thay chữ ký v trên u bằng
chữ ký của H là v’ = SigH(u), gửi (u, v’) đến N. Khi nhận đƣợc v’, N kiểm tra
thấy sai, gửi phản hồi lại G. G chứng minh chữ ký đó là giả mạo. G gửi chữ ký v
đúng cho N, nhƣng quá trình truyền tin sẽ bị chậm lại.
2.5.4.2. Chữ E gama
a) Sơ đồ chữ E gama [8]
Sơ đồ chữ ký Elgamal đƣợc thiết kế cho mục đích ký trên các văn bản
điện tử, đƣợc cho bởi hệ:
S = (P, A, K, S, V) (2.4)
Trong đó * *
1,p p pP Z A Z Z , với số nguyên tố p sao cho bài toán
logarit rời rạc trong Zp là khó giải. K là tập khóa.
- Tạo cặp khóa bí mật, công khai (a, h):
Chọn khóa bí mật
*
pZa (khóa bí mật a dùng để ký). Tính khóa công
khai pgh a
mod , với g là một phần tử nguyên thủy của Z*
p.
Tập khóa: pghhgpaK a
mod:),,,( . Các giá trị p, g, h đƣợc công
khai và đƣợc dùng để kiểm thử chữ ký.
- Ký số:
30. 30
Với mỗi thông báo x, để tạo chữ ký trên x ngƣời ta chọn thêm một
khóa ngẫu nhiên bí mật
*
1 pZr (vì
*
1 pZr , nên nguyên tố cùng p – 1, do
đó tồn tại r-1
mod (p – 1), r-1
là phần tử nghịch đảo của r trong *
1pZ ), rồi tính:
( , ) ( , ),ky Sig x r y A (2.5)
trong đó:
*
: modr
pZ g p (2.6)
1
1 : ( * )* mod( 1)pZ x a r p
(2.7)
- Kiểm tra chữ ký:
pghđúngxVer x
k mod*),,(
(2.8)
Dễ thấy sơ đồ chữ ký đƣợc định nghĩa nhƣ trên là đúng. Vì nếu
( , ) ( , )ksig x r thì ta có: ( )
* * mod mod moda r a r x
h g g p g p g p
vì )1mod(*)*( 1
prax nên )1mod()( pxra
b) Độ an toàn của chữ E gama [2, 8]
Sơ đồ chữ ký Elgamal đƣợc xem là an toàn, nếu việc ký trên một văn bản
là không giả mạo đƣợc. Vì vậy, việc giữ bí mật khóa a dùng để tạo chữ ký sẽ
bảo đảm tính an toàn của chữ ký. Có thể lộ khóa bí mật a trong những trƣờng
hợp nào và có thể không lộ a mà vẫn giả mạo chữ ký đƣợc không? Xét các
trƣờng hợp sau đây:
- Khả năng để ộ ho bí m t a
Khóa bí mật a có thể bị phát hiện trong trƣờng hợp để lộ số ngẫu nhiên r ở
một lần ký nào đó, hoặc sử dụng cùng một số ngẫu nhiên r ở hai lần ký khác
nhau.
Nếu số ngẫu nhiên r đƣợc sử dụng khi ký trên văn bản x bị lộ, thì khóa bí
mật a đƣợc tính theo công thức sau:
1
( ). mod( 1)a x k p
(2.9)
Nếu sử dụng số ngẫu nhiên r cho hai lần ký khác nhau, ví dụ ký cho x1, x2
thì ta có chữ ký trên x1 là (γ,δ1) và trên x2 là (γ,δ2), với γ = gr
mod p, khi đó các
chữ ký đó thỏa mãn:
1 1* modx
h g p
,
2 2* modx
h g p
1 2 1 2 1 2*( )
mod modx x r
g p g p
(2.10)
31. 31
1 2 1 2*( ) mod ( 1)x x r p (2.11)
Đặt 1 2( , 1)d UCLN p . Cả ba số 1 2, 1p và 1 2x x đều chia hết
cho d, ta đặt:
1 2 1 2 1
' , ' , '
x x p
x p
d d p
. Khi đó (1.27) trở thành:
' * 'mod 'x r p (2.12)
Vì UCLN( ' , 'p ) = 1, nên có thể tính
1
' mod p
, và giá trị r theo mod 'p :
'. mod 'r x p tức là '. . 'mod 1r x i p p , với i là một giá trị nào đó,
0 1i d . Thử lần lƣợt điều kiện modr
g p với các giá trị đó của i ta sẽ đƣợc
r, thử r ta tính đƣợc khóa bí mật a.
- Giả mạo chữ ký không cùng với tài liệu đƣợc ký
Giả sử chủ thể A chọn sơ đồ Elgamal với khóa bí mật a. Một ngƣời B không
biết khóa a mà muốn giả mạo chữ ký của A trên x. Nhƣ vậy, B phải tính đƣợc và .
* Nếu chọn trƣớc , B phải tính :
1
( * )* mod ( 1)
((x a )log g mod ( 1)
= log .log
log mod( 1)
x
g
x
x a r p
p
g h g
g h p
Do đó: 1x
log g h mod p
Đó là bài toán logarit rời rạc mà ta biết là khó giải.
* Nếu chọn trƣớc , B phải tính qua phƣơng trình: h
*
gx
mod p. Bài
toán này cũng không dễ hơn bài toán logarit rời rạc.
Nhƣ vậy, khả năng giả mạo chữ ký trên một văn bản cho trƣớc khi không
biết khóa bí mật a là rất khó, do đó không ảnh hƣởng đến tính an toàn của sơ đồ
chữ ký.
- Giả mạo chữ cùng với tài iệu đƣợc
B có thể ký trên tài liệu ngẫu nhiên bằng cách chọn trƣớc đồng thời x, , .
Cách 1:
* Chọn x, , thoả mãn điều kiện kiểm thử nhƣ sau:
32. 32
Chọn các số nguyên i, j sao cho 0 i, j p-2, UCLN(j, p-1) = 1 và tính:
= gi
hj
mod p (2.13)
= - j-1
mod (p -1) (2.14)
x = - i j-1
mod (p -1) (2.15)
Trong đó j-1
đƣợc tính theo mod (p -1) (nghĩa là j nguyên tố với p -1).
* Chứng minh (, ) là chữ ký trên x, bằng cách kiểm tra điều kiện kiểm thử:
1
1.
. .
j
j i ji x
h h g h mod p h g h mod p g mod p
Cách 2:
* Nếu (, ) là chữ ký trên tài liệu x có từ trƣớc, thì có thể giả mạo chữ ký
(λ, µ) trên tài liệu x’ khác.
Chọn số nguyên k, i, j thỏa mãn 0 k, i, j p-2, UCLN(k.( – j)., p-1) = 1
và tính:
= k
gi
hj
mod p (2.16)
= (k – j ) -1
mod (p -1) (2.17)
x’ = (k x + i ) (k – j ) -1
mod (p -1) (2.18)
* (, ) là chữ ký trên x’, vì thỏa mãn điều kiện kiểm thử: h
gx’
mod p.
Chú ý: Cả hai cách giả mạo nói trên đều cho chữ ký đúng trên tài liệu
tƣơng ứng, nhƣng đó không phải là tài liệu đƣợc chọn theo ý của ngƣời giả mạo.
Tài liệu đó đều đƣợc tính sau khi tính chữ ký, vì vậy giả mạo loại này trong thực
tế cũng không có ý nghĩa nhiều.
2.5.4.3. Chữ DSS
Chuẩn chữ ký số (DSS: Digital Signature Standard) là cải biên của sơ đồ
chữ ký ElGamal. Sơ đồ chữ ký DSS đƣợc mô tả nhƣ sau [8]:
- Tạo cặp hóa bí m t, công hai (a, h)
Chọn số nguyên tố lớn p có độ dài biểu diễn ≥ 512 bit sao cho bài toán
logarit rời rạc trong Zp là “khó” giải, q là ƣớc nguyên tố của p-1, tức là p -1 =
t*q hay p = t*q + 1, q có độ dài biểu diễn cỡ 160 bit.
Chọn gZp* là căn bậc q của 1 mod p (g là phần tử sinh của Zp*).
Tính = gt
, chọn khóa bí mật a Zp*, tính khóa công khai h a
mod p.
33. 33
Đặt P = Zq*, A = Zq* x Zq*, K = (p, q, , a, h)/a Zp*, h a
mod p.
Vớimỗikhóa(p,q,,a,h),k’=alàkhóabímật,k”=(p,q,,h)làkhóacôngkhai.
- K s
Dùng 2 khóa ký: khóa a và khóa ngẫu nhiên bí mật r Zq
*
.
Chữ ký trên x Zp* là: Sig k’(x, r) = (, ), trong đó:
= (r
mod p) mod q (2.19)
= ((x + a * ) * r-1
mod q (2.20)
(Chú ý rZq*, để bảo đảm tồn tại r-1
mod q).
- Kiểm tra chữ
Với e1 = x * -1
mod q, e2 = * -1
mod q
Ver k” (x, , ) = đúng (e1
* he2
mod p) mod q = (2.21)
2.5.5. Ƣu điểm và ứng dụng của chữ s
2.5.5.1. X c định nguồn g c
Các hệ thống mật mã hóa khóa công khai cho phép mã hóa văn bản với
khóa bí mật mà chỉ có ngƣời chủ của khóa biết. Để sử dụng chữ ký số thì văn
bản cần phải đƣợc mã hóa bằng hàm băm. Sau đó dùng khóa bí mật của ngƣời
chủ khóa để mã hóa, khi đó ta đƣợc chữ ký số. Khi cần kiểm tra, bên nhận giải
mã để lấy lại chuỗi gốc (đƣợc sinh ra qua hàm băm ban đầu) và kiểm tra với
hàm băm của văn bản nhận đƣợc. Nếu hai giá trị này khớp nhau thì bên nhận có
thể tin tƣởng rằng văn bản xuất phát từ ngƣời sở hữu khóa bí mật.
2.5.5.2. Tính toàn vẹn
Cả hai bên tham gia vào quá trình thông tin đều có thể tin tƣởng là văn
bản không bị sửa đổi trong khi truyền vì nếu văn bản bị thay đổi thì hàm băm
cũng sẽ thay đổi và lập tức bị phát hiện.
2.5.5.3. Tính hông thể phủ nh n
Trong giao dịch, một bên có thể từ chối nhận một văn bản nào đó là do
mình gửi. Để ngăn ngừa khả năng này, bên nhận có thể yêu cầu bên gửi phải gửi
kèm chữ ký số với văn bản. Khi có tranh chấp, bên nhận sẽ dùng chữ ký này nhƣ
một chứng cứ để bên thứ ba giải quyết.
2.5.5.4. Ứng dụng của chữ s
34. 34
Chính vì những ƣu điểm của chữ ký số, nó đƣợc dùng trong nhiều ứng
dụng: Đảm bảo an ninh truyền thông, ngân hàng trực tuyến, thƣơng mại điện tử,
trong gửi nhận văn bản điển tử, đảm bảo an ninh cho thƣ điện tử, v.v…
Vấn đề của ngƣời nhận là bằng cách nào có đƣợc khóa công khai của
ngƣời gửi và tin cậy khóa công khai này để kiểm tra chữ ký số. Điều này đƣợc
giải quyết thông qua kỹ thuật phân phối khóa công khai và chứng thƣ khóa công
khai (chứng thƣ số).
2.5.6. Phân ph i hóa công hai
Nhiều kỹ thuật phân phối khóa công khai đƣợc đƣa ra nhƣ khai báo công
khai, thƣ mục công khai, trung tâm quản lý khóa công khai và chứng thƣ số
Khi sử dụng kỹ thuật khai báo công khai, mọi đối tƣợng có thể làm giả
khóa công khai.
Khi sử dụng thƣ mục khóa công khai, việc duy trì và phân phối thƣ mục
công khai phụ thuộc vào một tổ chức tin cậy nào đó.
Khi sử dụng trung tâm quản lý khóa công khai, việc phân phối khóa công
khai đƣợc đảm bảo an toàn cao hơn so với thƣ mục khóa công khai vì cung cấp
các cơ chế kiểm soát chặt chẽ khi phân phối khóa công khai từ thƣ mục, nhƣng
ngƣời sử dụng phải yêu cầu cơ quan quản lý cấp khóa công khai cho ngƣời sử
dụng khác khi họ muốn liên lạc, phải duy trì thƣ mục (gồm nhiều entity gồm tên
và khóa công khai của thành viên) – đây chính là điểm yếu dễ bị giả mạo.
Một giải pháp lựa chọn khác là sử dụng chứng thƣ số. Các thành viên trao
đổi khóa thông qua chứng thƣ số mà không cần liên lạc với cơ quan quản lý
khóa công khai. Khi cần sử dụng khóa công khai, các thành viên kiểm tra chứng
thƣ số do cơ quan quản lý phát hành.
2.5.7. Chứng thƣ s
Chứng thƣ số là sự gắn kết khóa công khai của một thực thể (con ngƣời,
thiết bị phần cứng, dịch vụ) với một hoặc nhiều thuộc tính nhận dạng thực thể.
Chứng thƣ số do một một cơ quan chứng thực (Certification Authority -
viết tắt là CA) đáng tin cậy phát hành sau khi kiểm tra tính xác thực của thông
tin ngƣời chủ khóa. CA áp dụng chữ ký số của mình vào các chứng thƣ do bản
thân phát hành vì vậy các bên tham gia giao dịch nếu tin tƣởng vào CA thì có
thể tin tƣởng vào các chứng thƣ số, v.v…
Trong chứng thƣ số có ba thành phần chính:
+ Thông tin cá nhân của ngƣời đƣợc cấp.
35. 35
+ Khóa công khai (Public key) của ngƣời đƣợc cấp.
+ Chữ ký số của CA cấp chứng thƣ.
+ Thời gian hợp lệ
Chứng thƣ số giúp cho việc phân phối khóa công khai trở nên có hệ thống
và có một đặc tính rất quan trọng là các chứng thƣ số có thể đƣợc phát hành trên
các kênh truyền mà không cần đến các kỹ thuật bảo vệ. Khuôn dạng chứng thƣ
số đƣợc sử dụng phổ biến rộng rãi là X.509.
2.5.7.1. C c phi n bản chứng thƣ s
Chứng thƣ s theo chuẩn X.509 [12,13] gồm có các phiên bản: Chứng
thƣ X.509 version 1; Chứng thƣ X.509 version 2; Chứng thƣ X.509 version 3
Các thông số trong chứng thƣ số:
Version: cho biết version của X.509
Serial Number: cung cấp một mã số nhận dạng duy nhất cho mỗi chứng
thƣ đƣợc phát hành bởi CA.
CA Signature Algorithm: tên của thuật toán mà CA sử dụng để ký lên
nội dung của chứng thƣ số.
Issuer Name: tên phân biệt (distinguished name) của CA phát hành
chứng thƣ. Thƣờng thì tên phân biệt này đƣợc biểu diễn theo chuẩn X.500 hoặc
định dạng theo đặc tả của X.509 và RFC 3280.
Validity Period: khoảng thời gian mà chứng thƣ đƣợc xem là còn hiệu
lực, bao gồm 2 trƣờng là: Valid From và Valid To.
Subject Name: tên của máy tính, ngƣời dùng, thiết bị mạng sở hữu chứng
thƣ.
Subject Public Key Info: khóa công khai của đối tƣợng nắm giữ chứng
thƣ. Khóa công khai này đƣợc gửi tới CA trong một thông điệp yêu cầu cấp
chứng thƣ (certificate request) và cũng đƣợc bao gồm trong nội dung của chứng
thƣ đƣợc phát hành sau đó. Trƣờng này cũng chứa nhận dạng của thuật toán đƣợc
dùng để tạo cặp khóa công khai và khóa bí mật đƣợc liên kết với chứng thƣ.
Signature Value: chứa giá trị của chữ ký.
X.509 version 3
Đƣợc ra đời vào năm 1996, định dạng X.509 version 3 đƣợc bổ sung thêm
các phần mở rộng (extension) để khắc phục các vấn đề liên quan tới việc so
36. 36
khớp Issuer Unique ID và Subject Unique ID cũng nhƣ là các vấn đề về xác thực
chứng thƣ. Một chứng thƣ X.509 version 3 co thể chứa một hoặc nhiều
extension, nhƣ đƣợc thể hiện trong hình dƣới đây:
Hình 2.6 X.509 version 3
Mỗi extension trong chứng thƣ X.509 version 3 gồm 3 phần:
Extension Identifier: là một mã nhận dạng đối tƣợng (Object Identifier –
OID) cho biết kiểu định dạng và các định nghĩa của extension.
Criticality Flag: là một dấu hiệu cho biết thông tin trong extension có
quan trọng (critical) hay không. Nếu một ứng dụng không thể nhận diện đƣợc
trạng thái critical của extension hoặc extension không hề chứa giá trị nào thì
chứng thƣ đó không thể đƣợc chấp nhận hoặc đƣợc sử dụng. Nếu mục criticality
flag này không đƣợc thiết lập thì một có thể sử dụng chứng thƣ ngay cả khi ứng
dụng đó không nhận diện đƣợc extension.
Extension Value: là giá trị đƣợc gán cho extension. Nó phụ thuộc vào
từng extension cụ thể.
Trong một chứng thƣ X.509 version 3, các extension sau có thể có là:
Authority Key Identifier: extension này có thể chứa một hoặc hai giá trị,
chúng có thể là:
+ Subject Name của CA và Serial Number của chứng thƣ của CA mà đã
cấp phát chứng thƣ này.
+ Giá trị băm của khóa công khai của chứng thƣ của CA mà đã cấp phát
chứng thƣ này.
37. 37
Subject Key Identifier: extension này chứa giá trị băm của khóa công
khai của chứng thƣ.
Key Usage: một CA, ngƣời dùng, máy tính, thiết bị mạng hoặc dịch vụ có
thể sở hữu nhiều hơn một chứng thƣ. Extension này định nghĩa các dịch vụ bảo
mật mà một chứng thƣ có thể cung cấp nhƣ:
+ Digital Signature: khóa công khai có thể đƣợc dùng để kiểm tra chữ
ký. Khóa này cũng đƣợc sử dụng để xác thực máy khách và xác minh nguồn gốc
của dữ liệu.
+ Non-Repudiation: khóa công khai có thể đƣợc dùng để xác minh nhận
dạng của ngƣời ký, ngăn chặn ngƣời ký này từ chối rằng họ không hề ký lên
thông điệp hoặc đối tƣợng nào đó.
+ Key Encipherment: khóa công khai có thể đƣợc dùng để trao đổi khóa,
vú dụ nhƣ đối xứng (hoặc khóa phiên). Giá trị này đƣợc dùng khi một khóa RSA
đƣợc dùng cho việc quản lý khóa.
+ Data Encipherment: khóa công khai có thể đƣợc dùng để mã hóa dữ
liệu một cách trực tiếp thay vì phải trao đổi một khóa đối xứng (hay khóa phiên)
để mã hóa dữ liệu.
+ Key Agreement: khóa công khai có thể đƣợc dùng để trao đổi khóa, ví
dự nhƣ khóa đối xứng. Giá trị này đƣợc dùng khi một khóa Diffie-Hellman đƣợc
dùng cho việc quản lý khóa.
+ Key Cert Sign: khóa công khai có thể đƣợc dùng để kiểm tra chữ ký
của chứng thƣ số.
+ CRL Sign: khóa công khai có thể đƣợc dùng để kiểm tra chữ ký của
CRL (danh sách chứa các chứng thƣ bị thu hồi).
+ Encipher Only: giá trị này đƣợc dùng kết hợp với các extension Key
Agreement và Key Usage. Kết quả là khóa đối xứng chỉ có thể đƣợc dùng để mã
hóa dữ liệu.
+ Decipher Only: giá trị này đƣợc dùng kết hợp với các extension Key
Agreement và Key Usage. Kết quả là khóa đối xứng chỉ có thể đƣợc dùng để mã
hóa dữ liệu.
Private Key Usage Period: extension này cho phép khóa bí mật có
khoảng thời gian hiệu lực khác so với khoảng thời gian hiệu lực của chứng thƣ.
Giá trị này có thể đƣợc đặt ngắn hơn so với khoảng thời gian hiệu lực của chứng
thƣ. Điều này giúp khóa bí mật có thể đƣợc dùng để ký lên các tài liệu trong một
38. 38
khoảng thời gian ngắn (ví dụ, một năm) trong khi khóa công khai có thể đƣợc
dùng để xác minh chữ ký trong khoảng thời gian hiệu lực của chứng thƣ là 5
năm.
Certificate Policies: extension này mô tả các chính sách và thủ tục đƣợc
dùng để xác minh chủ thể của chứng thƣ trƣớc khi chứng thƣ đƣợc cấp phát. Các
chính sách chứng thƣ đƣợc đại diện bởi các OID. Ngoài ra, một chính sách
chứng thƣ có thể bao gồm một đƣờng dẫn (URL) tới trang web mô tả nội dung
của chính sách và thủ tục.
Policy Mappings: extension này cho phép chuyển dịch thông tin về chính
sách giữa hai tổ chức. Ví dụ, thử tƣởng tƣợng rằng một tổ chức định nghĩa một
chính sách chứng thƣ có tên là Management Signing mà trong đó các chứng thƣ
đƣợc dùng để ký lên một lƣợng lớn các đơn đặt hàng. Một tổ chức khác có thể
có một chính sách chứng thƣ tên là Large Orders mà cũng đƣợc dùng để ký lên
một lƣợng lớn các đơn đặt hàng. Khi đó, Policy Mapping cho phép hai chính
sách chứng thƣ này đƣợc đánh giá ngang nhau.
Subject Alternative Name: extension này cung cấp một danh sách các
tên thay thế cho chủ thể của chứng thƣ. Trong khi định dạng cho Subject Name
thƣờng tuân theo chuẩn X.500 thì Subject Alternative Name cho phép thể hiện
theo các dạng khác nhƣ User Principal Name (UPN), địa chỉ email, địa chỉ IP
hoặc tên miền (DNS).
Issuer Alternative Name: extension này cung cấp một danh sách các tên
thay thế cho CA. Mặc dù thƣờng không đƣợc áp dụng nhƣng extension này có
thể chứa địa chỉ email của CA.
Subject Dir Attribute: extension này có thể bao gồm bất kỳ thuộc tính
nào từ danh mục LDAP hoặc X.500 của tổ chức, ví dụ, thuộc tính country.
Extension này có thể chứa nhiều thuộc tinh và với mỗi thuộc tính phải gồm OID
và giá trị tƣơng ứng của nó.
Basic Constraints: extension này cho biết chứng thƣ có phải của CA hay
của các chủ thể nhƣ ngƣời dùng, máy tính, thiết bị, dịch vụ. Ngoài ra, extension
này còn bao gồm một rằng buộc về độ dài của đƣờng dẫn mà giới hạn số lƣợng
các CA thứ cấp (subordinate CA) có thể tồn tại bên dƣới CA mà cấp phát chứng
thƣ này.
Name Constraints: extension này cho phép một tổ chức chỉ định không
gian tên (namespace) nào đƣợc phép hoặc không đƣợc phép sử dụng trong
chứng thƣ.
39. 39
Policy Constraints: extension này có thể có trong các chứng thƣ của CA.
Nó có thể ngăn cấm Policy Mapping giữa các CA hoặc yêu cầu mỗi chứng thƣ
trong chuỗi chứng thƣ phải bao gồm một OID của chính sách chứng thƣ.
Enhanced Key Usage: extension này cho biết khóa công khai của chứng
thƣ có thể đƣợc sử dụng nhƣ thế nào. Những cái này không có trong extension
Key Usage. Ví dụ, Client Authentication (có OID là 1.3.6.1.5.5.7.3.2), Server
Authentication (có OID là 1.3.6.1.5.5.7.3.1), và Secure E-mail (có OID là
1.3.6.1.5.5.7.3.4). Khi ứng dụng nhận đƣợc một chứng thƣ, nó có thể yêu cầu sự
có mặt của một OID trong các OID kể trên.
CRL Distribution Points: extension này chứa một hoặc nhiều URL dẫn
tới tập tin chứa danh sách các chứng thƣ đã bị thu hồi (CRL) đƣợc phát hành bởi
CA. Các URL có thể sử dụng một trong các giao thức nhƣ HTTP, LDAP, FTP,
File.
Authority Information Access: extension này có thể chứa một hoặc
nhiều URL dẫn tới chứng thƣ của CA
Freshest CRL: extension này chứa một hoặc nhiều URL dẫn tới delta
CRL do CA phát hành. Subject Information Access: extension này chứa thông
tin cho biết cách thức để truy cập tới các các chi tiết khác về chủ thể của chứng thƣ.
Lợi ích cơ bản của một hệ thống chứng thƣ là ngƣời sử dụng có thể có
đƣợc số lƣợng lớn khóa công khai của các những ngƣời sử dụng khác một cách
tin cậy, xuất phát từ thông tin khóa công khai của một CA.
Việc sử dụng khóa công khai có trong chứng thƣ hoàn toàn rất đơn giản
nhƣng việc công bố và quản lý các chứng thƣ gặp rất nhiều vấn đề nhƣ phát
hành, hủy bỏ, kiểm tra tình trạng trực tuyến, thƣ mục lƣu trữ, chứng thực chéo.
Những vấn đề này đƣợc giải quyết thông qua hạ tầng khóa công khai.
2.5.8. Hạ tầng hóa công hai
Hạ tầng khoá công khai (Public-Key Infrastructure - viết tắt là PKI) là hạ
tầng hỗ trợ quản lý và phân phối khóa công khai dựa trên kỹ thuật chứng thƣ số.
PKI cho phép ngƣời sử dụng có thể trao đổi dữ liệu một cách an toàn
thông qua việc sử dụng một cặp mã khóa công khai và khóa cá nhân đƣợc cấp
phát và sử dụng thông qua một nhà cung cấp chứng thực (CA) đƣợc tín nhiệm.
Nền tảng khóa công khai cung cấp một chứng thƣ số, dùng để xác minh một cá
nhân hoặc một tổ chức, và các dịch vụ danh mục có thể lƣu trữ và khi cần có thể
thu hồi các chứng thƣ số.
40. 40
2.5.8.1. Chức năng PKI
PKI cho phép những ngƣời tham gia xác thực lẫn nhau. Mục tiêu chính
của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa khóa và định
dạng ngƣời dùng. PKI có một số chức năng chính sau:
+ Chứng thực: Chứng thực là chức năng quan trọng nhất của hệ thống
PKI. Đây là quá trình ràng buộc khóa công khai với định danh của thực thể. CA
là thực thể PKI thực hiện chức năng chứng thực.
+ Thẩm tra: Quá trình xác dịnh liệu chứng thƣ đã đƣa ra có thể đuợc sử
dụng đúng mục đích thích hợp hay không đƣợc xem nhƣ là quá trình kiểm tra
tính hiệu lực của chứng thƣ.
Nhờ vậy ngƣời dùng có thể sử dụng trong một số ứng dụng nhƣ:
+ Mã hóa, giải mã văn bản.
+ Xác thực ngƣời dùng ứng dụng.
+ Mã hóa Email hoặc xác thực ngƣời gửi Email.
+ Tạo chữ ký số trên văn bản điện tử.
2.5.8.2. C c thành phần của PKI
- Certification Authorities (CA)
+ Cấp và thu hồi chứng thƣ
-Registration Authorities (RA)
+ Tiếp nhập thông tin đăng ký chứng chƣ.
+ Gắn kết giữa khóa công khai và định danh của ngƣời giữ chứng thƣ.
- Entity
+ Ngƣời sử dụng chứng thƣ.
+ Hệ thống là chủ thể của chứng thƣ nhƣ webserver, mailserver v.v..
-Repository
+ Hệ thống (có thể tập trung hoặc phân tán) lƣu trữ chứng thƣ và danh
sách các chứng thƣ bị thu hồi.
+ Cung cấp cơ chế phân phối chứng thƣ và danh sách thu hồi chứng thƣ
(CRLs -Certificate Revocatio Lists).
41. 41
Hình 2.8 Quy trình đăng ký chứng thƣ số
Hình 2.7 Mô hình PKI
2.5.8.3. Hoạt động của PKI
Đăng và ph t hành chứng thƣ s :
42. 42
Các bƣớc thực hiện đăng ký chứng thƣ số:
+ User gửi thông tin về bản thân tới RA để đăng ký. Thông tin này có thể
là họ tên, số chứng minh thƣ, email, địa thƣ v.v..
+ RA ký yêu cầu đƣợc chấp thuận và gửi thông tin về User đến trung tâm
CA.
+ CA tạo chứng thƣ trên khóa công khai, ký bằng khóa bí mật của CA và
cập nhật chứng thƣ trên cơ sở dữ liệu LDAP, MySQL v.v..
+ CA gửi chứng thƣ trở lại RA.
+ RA cấp chứng thƣ cho ngƣời sử dụng.
Sử dụng chứng thƣ s :
Mục đích sử dụng chứng thƣ số để đảm bảo các dịch vụ sau:
+ Xác thực: đảm bảo cho một ngƣời dùng rằng một thực thể nào đó đúng
là đối tƣợng mà họ đang cần khẳng định. Có thể là xác minh thực thể hoặc xác
minh nguồn gốc dữ liệu.
+ Bí mật: đảm bảo bí mật của dữ liệu. Không ai có thể đọc dữ liệu ngoại
trừ những thực thể đƣợc phép. Tính bí mật đƣợc yêu cầu khi dữ liệu đƣợc lƣu
trữ trên các thiết bị nhƣ ổ đĩa, usb hay đƣợc truyền trên các mạng không đƣợc
bảo vệ hoặc mức độ an toàn thấp.
+ Toàn vẹn dữ liệu: đảm bảo dữ liệu không bị thay đổi, nếu có thay đổi
thì sẽ bị phát hiện. Để đảm bảo tính toàn vẹn, một hệ thống phải có khả năng
phát hiện những thay đổi dữ liệu trái phép với mục đích là giúp cho ngƣời nhận
dữ liệu xác minh đƣợc rằng dữ liệu của mình có bị thay đổi hay không.
2.5.8.4. Các mô hình của PKI
Một số mô hình tin cậy có thể đƣợc áp dụng hoặc đƣợc đề xuất sử dụng
trong hạ tầng mã hóa công khai –PKI dựa trên x.509 [5]
+ Single CA Model (mô hình CA đơn)
+ Hierarchical Model (Mô hình phân cấp)
+ Mesh Model (Mô hình mắt lƣới- xác thực chéo)
+ Web Model (Trust List) (Mô hình web)
+ Hub and Spoke (Birdge CA) (Mô hình cầu CA)
43. 43
2.6. Kết u n chƣơng 2
Trong chƣơng này luận văn đã tìm hiểu về các cơ sở mật mã ứng dụng
trong đảm bảo an toàn bảo mật thông tin. Qua đó nắm rõ đƣợc các thuật toán mã
hóa, hàm băm, mức độ an toàn của các hệ mã hóa. Nghiên cứu về chữ ký số và
mô hình phân phối khóa công khai. Tất cả các vấn đề này sẽ là cơ sở để lựa
chọn, xây dựng giải pháp chữ ký số cho ứng dụng gửi nhận tài liêu điện tử.
Phần tiếp luận văn sẽ tìm hiểu về thực trạng ứng dụng chữ ký số, khái
quát về hệ thống quản lý văn bản và điều hành. Qua đó xây dựng ứng dụng cho
bài toán gửi nhận văn bản điện tử trên hệ thống quản lý văn bản và điều hành.
44. 44
Chƣơng 3. Giải ph p ứng dụng chữ s trong qu tr nh gửi nh n tài iệu
điện tử tr n hệ th ng quản văn bản và điều hành
3.1. Thực trạng ứng dụng chữ s trong nƣớc
3.1.1. Gi trị ph p của chữ s
Cho đến nay tại Việt Nam nhiều văn bản quy phạm pháp luật đã đƣợc ban
hành, tạo hành lang pháp lý cho việc thúc đẩy ứng dụng CNTT:
- Luật giao dịch điện tử số 51/2005/QH11 ngày 29/11/2005 quy định về
giao dịch điện tử trong hoạt động của các cơ quan nhà nƣớc, trong lĩnh vực dân
sự, kinh doanh thƣơng mại và các lĩnh vực khác;
- Nghị định số 26/2007/NĐ-CP ngày 15/02/2007 quy định chi tiết thi
hành Luật Giao dịch điện tử về chữ ký số và dịch vụ chứng thực chữ ký số;
- Quyết định số 48/2009/QĐ-TTg ngày 31/3/2009 của Thủ tƣớng
Chính phủ về việc phê duyệt Kế hoạch ứng dụng công nghệ thông
tin trong hoạt động của các cơ quan Nhà nƣớc giai đoạn 2009-2011;
- Quyết định 1605/QĐ-TTg ngày 27/8/2010 của Thủ tƣớng Chính phủ
về việc phê duyệt chƣơng trình quốc gia về ứng dụng CNTT, trong đó nêu ra
một số chỉ tiêu:
+) 60% các văn bản, tài liệu chính thức của các cơ quan nhà nƣớc sẽ đƣợc
trao đổi hoàn toàn dƣới dạng điện tử;
+) 50% hồ sơ khai thuế của doanh nghiệp và ngƣời dân đƣợc nộp qua mạng;
+) 90% cơ quan Hải quan triển khai thủ tục Hải quan điện tử;
+) 30% số hồ sơ đề nghị cấp giấy phép xây dựng đƣợc nộp qua mạng.
- Chỉ thị số 897/CT-TTg ngày 10/6/2011 của Thủ tƣớng Chính phủ về
việc tăng cƣờng triển khai các hoạt động đảm bảo an toàn thông tin
số;
- Chỉ thị số 15/CT-TTg ngày 22/5/2012 của Thủ tƣớng Chính phủ về
việc tăng cƣờng sử dụng văn bản điện tử trong các cơ quan nhà
nƣớc; trong đó yêu cầu:
+) Văn bản điện tử áp dụng chữ ký số thì không phải dùng văn bản giấy;
+) Nếu sử dụng văn bản giấy phải gửi kèm văn bản điện tử;
+) Ban Cơ yếu Chính phủ phải khẩn trƣơng phát triển và nâng cao năng
lực mở rộng hệ thống CA;
45. 45
+) Bảo đảm cung cấp dịch vụ chứng thực theo yêu cầu thực tế của cơ
quan nhà nƣớc các cấp.
- Nghị quyết số 36a/NQ-CP ngày 14/10/2015 của Chính phủ về Chính
phủ điện tử; trong đó có nhiệm vụ “Xây dựng hệ thống điện tử thông suốt, kết
nối và liên thông văn bản điện tử, dữ liệu điện tử từ Chính phủ đến cấp tỉnh, cấp
huyện, cấp xã. Tạo lập môi trường điện tử để người dân giám sát và đóng góp
cho hoạt động của chính quyền các cấp”
3.1.2. Hệ th ng chứng thƣ s trong nƣớc
Mô hình với cấu trúc phân cấp với CA gốc và các CA cấp dƣới. CA gốc
xác nhận các CA cấp dƣới, các CA này lại xác nhận các CA cấp thấp hơn. Các
CA cấp dƣới không cần xác nhận các CA cấp trên. Trong mô hình này, mỗi thực
thể sẽ giữ bản sao khoá công khai của root CA và kiểm tra đƣờng dẫn của chứng
thƣ bắt đầu từ chữ ký của CA gốc [5].
Hình 3.1 Hệ thống chứng thực số trong nƣớc
46. 46
Một s CA đã triển hai tại Việt Nam:
Hình 3.2 Chứng thƣ số Root CA Quốc gia
Hình 3.3 Chứng thƣ số Root CA Chính phủ
47. 47
3.1.3. Dịch vụ chứng thực chữ s trong nƣớc
Đến cuối năm 2015, Việt Nam có 09 doanh nghiệp đƣợc cấp phép cung
cấp dịch vụ chứng thực chữ ký số công cộng. Thị trƣờng cung cấp dich vụ
chứng thực chữ ký số công cộng ghi nhận sự tăng trƣởng mạnh với số lƣợng chữ
ký số cấp phát năm 2015 tăng 75% so với năm 2014 với 537.629 chứng thƣ số
cấp phát mới, nâng tổng số chứng thƣ số đã cấp phát từ khi bắt đầu hoạt động
đến nay lên 1.422.800 chứng thƣ số. Số lƣợng chứng thƣ số đang hoạt động đến
31/12/2015 là 733.846 chứng thƣ số, tăng 260.846 chứng thƣ số so với năm
2014, đƣợc sử dụng chủ yếu trong lĩnh vực kê khai thuế qua mạng, nộp thuế
điện tử, hải quan điện tử và bảo hiểm điện tử [1].
Bảng 3.1 Danh sách các doanh nghiệp đƣợc cấp phép
STT T n doanh nghiệp T n giao dịch
1 Công ty cổ phần BKAV BKAV-CA
2 Công ty cổ phần Công nghệ Thẻ Nacencomn CA2
3 Công ty Công nghệ và Truyền thông CK CK-CA
4 Công ty cổ phần Hệ thống Thông tin FPT FPT-CA
5 Công ty cổ phần truyền thông Newtelecom NEWTEL-CA
5 Công ty cổ phần chứng số an toàn SAFE-CA
6 Công ty cổ phần Chữ ký ố VINA SMARTSIGN
7 Tập đoàn Viễn thông Quân đội Viettel VIETTEL-CA
8 Tập đoàn Bƣu chính Viễn thông Việt Nam VNPT-CA
48. 48
Theo một thống kê của Cục Chứng thực và Bảo mật thông tin, thuộc Ban
Cơ yếu Chính phủ thì hiện tại có 76% cơ quan trung ƣơng đã ứng dụng chữ ký
số, tỉ lệ này ở địa phƣơng là 71% [15].
Theo số liệu cung cấp từ các doanh nghiệp cung cấp dịch vụ, số lƣợng cơ quan,
tổ chức, doanh nghiệp sử dụng chữ ký số trong một số lĩnh vực cụ thể nhƣ sau:
- Kê khai thuế qua mạng: 582.436 cơ quan, tổ chức, doanh nghiệp.
- Nộp thuế điện tử: 490.892 cơ quan, tổ chức, doanh nghiệp.
- Hải quan điện tử: 69.835 cơ quan, tổ chức, doanh nghiệp.
- Bảo hiểm: 124.077 cơ quan, tổ chức, doanh nghiệp.
3.2. Kh i qu t về hệ th ng quản văn bản và điều hành
Hệ thống quản lý văn bản và điều hành (QLVB&ĐH) là giải pháp phần
mềm dùng chung trao đổi thông tin, điều hành tác nghiệp và quản lý công văn,
văn bản, hồ sơ công việc của cơ quan, tổ chức trên môi trƣờng mạng.
Những yêu cầu cơ bản đối với hệ thống QLVB&ĐH gồm: Quản lý văn
bản đến, quản lý và phát hành văn bản đi, quản lý giao việc, quả lý hồ sơ công
việc, quản lý văn bản nội bộ, báo cáo thống kê, quản lý ngƣời dùng, v.v…
Hình 3.4 Thị trƣờng dịch vụ chứng thực số công cộng
49. 49
Mục đích của hệ th ng quản văn bản và điều hành:
Thống nhất và tin học hóa các quy trình hoạt động tác nghiệp; các hình
thức tiếp nhận, lƣu trữ, trao đổi, tìm kiếm, xử lý thông tin, giải quyết công việc
trong các cơ quan nhà nƣớc để nâng cao chất lƣợng và hiệu quả của hoạt động
chỉ đạo, điều hành của lãnh đạo; hoạt động công tác.
Tăng cƣờng sử dụng văn bản điện tử trong hoạt động của các cơ quan nhà
nƣớc.
Xây dựng hệ thống các kho văn bản điện tử tập trung để cung cấp thông
tin về văn bản phục vụ yêu cầu công việc.
Tạo lập và quản lý các hồ sơ xử lý văn bản, thiết lập luồng xử lý văn bản
trên môi trƣờng mạng.
Tạo cơ sở kỹ thuật để kết nối liên thông đƣợc các hệ thống QLVB&ĐH
khác nhau, v.v…
3.3. Nhu cầu an toàn, an ninh thông tin trong gửi nh n văn bản điện tử
Tại Chỉ thị số 15/CT-TTg ngày 22/5/2012 của Thủ tƣớng Chính phủ yêu
cầu tăng cƣờng sử dụng văn bản điện tử trao đổi giữa các cơ quan nhà nƣớc với
nhau, hoặc giữa cơ quan nhà nƣớc với các cơ quan, tổ chức, doanh nghiệp, cá
nhân khác.
Tại Nghị quyết số 36a/NQ-CP, ngày 14/10/2015 của Chính phủ về Chính
phủ điện tử đã nêu ra một số nhiệm vụ nhằm thúc đẩy Chính phủ điện tử, nâng
cao chất lƣợng, hiệu quả hoạt động của các cơ quan nhà nƣớc, trong đó yêu cầu:
+) Các Bộ, ngành, địa phƣơng thực hiện kết nối liên thông hệ thống
QLVB&ĐH với Văn phòng Chính phủ;
+) Văn phòng Chính phủ chủ trì, phối hợp với các Bộ, ngành, địa phƣơng
kết nối liên thông hệ thống QLVB&ĐH nhằm tiến tới hình thành một hệ thống
quản lý văn bản điện tử thống nhất, thông suốt từ trung ƣơng đến địa phƣơng.
Xuất phát từ những yêu cầu đó, để đảm bảo an toàn, bảo mật, toàn vẹn,
xác thực, tạo giá trị pháp lý cho văn bản điện tử thì việc xây dựng giải pháp ứng
dụng chữ ký số trong quá trình gửi nhận văn bản điện tử giữa các cơ quan tổ
chức là điều cần đƣợc thực hiện.
3.4. Giải ph p ứng dụng chữ s
3.4.1. Giới thiệu mô h nh ết n i i n thông
50. 50
Ngày nay chữ ký số đã đƣợc ứng dụng trong giao dịch điện tử với nhiều
lĩnh vực khác nhau nhƣ thƣơng mại điện tử, kê khai thuế, hải quan điện tử, bảo
hiểm, v.v... Tuy nhiên ứng dụng chữ ký số trong gửi nhận văn bản điện tử liên
thông của các hệ thống QLVB&ĐH giữa các cơ quan nhà nƣớc hiện nay đang
trong quá trình triển khai.
Cách thức gửi nhận văn bản điện tử giữa các cơ quan đƣợc thực hiện theo
mô hình tổng quan sau:
- Văn thƣ tại cơ quan A sử dụng Hệ thống A tại máy khách A phát hành
văn bản điện tử, nghĩa là văn bản điện tử đƣợc chuyển tới máy chủ quản lý văn
bản và điều hành A.
- Máy chủ quản lý văn bản và điều hành A chuyển văn bản điện tử tới hệ
thống trung gian; tại đây hệ thống trung gian sẽ xác thực Hệ thống A và lƣu
thông tin gửi đi từ Hệ thống A.
- Sau đó, hệ thống trung gian sẽ xác thực Hệ thống B và chuyển tiếp văn
bản điện tử đến máy chủ quản lý văn bản và điều hành B.
Ngoài ra, máy chủ quản lý văn bản và điều hành B có thể chủ động kết
nối với hệ thống trung gian và lấy về văn bản điện tử do máy chủ quản lý văn
bản và điều hành A đã gửi sau khi hệ thống trung gian đã xác thực Hệ thống B.
- Cuối cùng, máy chủ quản lý văn bản và điều hành B chuyển văn bản
điện tử tới máy khách B, văn thƣ tại cơ quan B sử dụng máy khách B để lấy văn
bản điện tử về.
Hình 3.5 Mô hình liên thông gửi nhận văn bản điện tử
51. 51
Để máy chủ QLVB&ĐH A trao đổi văn bản điện tử đƣợc với máy chủ
QLVB&ĐH B thông qua hệ thống trung gian, cần thiết phải xây dựng thêm bộ
kết nối cho Hệ thống A, bộ kết nối cho Hệ thống B và bộ kết nối cho hệ thống
trung gian. Ở đây luận văn không nghiên cứu về cách thức hoạt động của bộ kết
nối, mà sẽ nghiên cứu xây dựng giải pháp tích hợp chữ ký số vào hệ thống
QLVB&ĐH để đáp ứng nhu cầu trao đổi văn bản điện tử giữa các cơ quan nhà
nƣớc.
3.4.2 Giải ph p chữ s
3.4.2.1. Xây dựng giải ph p s tr n nền Web [9]
Yêu cầu đặt ra khi tích hợp chữ ký số vào các ứng: Tƣơng thích với nhiều
trình duyệt web khác nhau; dễ dàng tích hợp vào các hệ thống thông tin có sẵn;
có thể chạy trên nhiều hệ điều hành khác nhau.
Ngƣời sử dụng cuối 1 sau khi nhập liệu trên web form có thể ký dữ liệu
trên web form và gửi lên web server, ngƣời sử dụng cuối 2 sẽ tải dữ liệu đã ký
lên web form trên máy của mình và tiến hành xác thực dữ liệu trên server.
Các chức năng của ứng dụng Applet:
a) Truy cập vào máy chủ web từ Applet
Ứng dụng applet ký tài liệu phải có một số phƣơng tiện để có thể gửi chữ
ký số tới máy chủ. Điều này đƣợc thực hiện bằng nhiều cách:
- Các applet sẽ mở ra một socket để gửi chữ ký, hoặc nó sẽ gửi thông tin
của một yêu cầu truy cập vào một địa chỉ URL của máy chủ; hoặc giao tiếp với
các trình duyệt và gửi thông tin cho server. Cách tiếp cận cuối cùng là thuận tiện
nhất, vì nó đòi hỏi ít chi phí lập trình để gửi và nhận tập tin đã đƣợc ký. Trong
Hình 3.6 Mô hình xác thực trên Web tổng quan
52. 52
trƣờng hợp này máy chủ nhận đƣợc các tập tin cùng với chữ ký của tập tin trong
một yêu cầu trình duyệt web duy nhất, không có thêm bất kỳ hành động nào
khác.
b) Giao tiếp giữa Applet và trình duyệt web
Thông thƣờng, sẽ có một form HTML đƣợc sử dụng để gửi các tập tin
đến một ứng dụng web không có chức năng ký số. Nếu muốn mở rộng hình thức
này để nó hỗ trợ ký số các tập tin, đơn giản là tích hợp một java- applet cho các
tập tin trên đó. Trong trƣờng hợp này, applet sẽ thực hiện ký số của file và đƣa
chữ ký số vào một số trƣờng của form HTML. Khi “summit” form HTML, trình
duyệt web sẽ gửi chữ ký cùng với tập tin, vì vậy không cần thiết lập bất kỳ kênh
liên lạc nào giữa máy chủ và applet.
3.5. Xây dựng ứng dụng
3.5.1. Mô hình giải ph p s tài iệu
Trên cơ sở tham khảo giải pháp ký số trên nền web ở phần trên, trong
phần này luận văn đã xây dựng ứng dụng tích hợp chữ ký số trên hệ thống
QLVB&ĐH tại Văn phòng Chính phủ, giải pháp đang đƣợc xây dựng triển khai
và thử nghiệm liên thông với một số đơn vị.
Ứng dụng phía máy trạm: Là giao diện đƣợc tích hợp chức năng đầu vào
văn bản.
Hình 3.7 Mô hình giải pháp ký số
53. 53
Các Dịch vụ phía máy chủ: dịch vụ Upload tài liệu cho phép máy trạm
thực hiện tải dữ liệu lên server phục vụ cho quá trình ký số, xác thực tài liệu,
phân phối tài liệu của ứng dụng.
Thư viên mật mã: Cung cấp các lớp, các phƣơng thức để thực thi các chức
năng theo yêu cầu của chƣơng trình.
Thiết bị eToKen: Là thiết bị đƣợc sử dụng để lƣu trữ các khóa riêng và
chứng thƣ số của ngƣời dùng, đƣợc sử dụng trong xác thực ngƣời dùng, ký số tài
liệu điện tử, mã hóa tài liệu
Dữ liệu: Là dữ liệu đƣợc tạo ra bởi các ứng dụng của ngƣời dùng.
Chứng thƣ: Lƣu trữ chứng thƣ số đƣợc cấp bởi tổ chức cấp chứng thƣ cho
ngƣời dùng.
Khóa: Bao gồm một khóa công khai (public key), một khóa riêng (private
key) và khóa bảo vệ (secret key).
File mã hóa p12: gồm các thành phần và chức năng tƣơng tự nhƣ các
thành phần trong Token.
Trong phần này luận văn đã sử dụng mã nguồn mở OpenSS (là một thƣ
viện mở nổi tiếng nhất cho truyền thông bảo mật) để tạo và cấp phát chứng thƣ
số đối với ngƣời sử dụng [16].
Hinh 3.8 Thiết bị Token
54. 54
- Chứng thƣ số RootCA
- Chứng thƣ số SubCA
Hình 3.9 Minh họa chứng thƣ số RootCA
Hình 3.10 Minh họa chứng thƣ số SubCA
55. 55
Hình 3.11 Minh họa chứng thƣ số ngƣời dùng
- Chứng thƣ số ngƣời dùng:
3.5.2. Phân tích thiết ế giải ph p
3.5.2.1. Chức năng cần thiết của y u cầu x c thực
a) Chức năng tại m y trạm
Cung cấp giao diện cho ngƣời dùng: Để tạo giao diện tích hợp với ứng
dụng cho phép ngƣời dùng thực hiện các thao tác cần thiết.
b) Chức năng tại m y chủ
Tạo giao diện giao tiếp với máy trạm: Tạo giao diện để tải tài liệu trƣớc
khi xử lý.
Ghép nối với thƣ viện mật mã: Ghép nối với thƣ viện mật mã để thực hiện
ký số, mã hóa theo yêu cầu của chƣơng trình.
Ghép nối với thiết bị eToKen (hoặc file *.p12): Ghép nối khi có yêu cầu
về khóa và chứng thƣ.
Tạo giao diện giao tiếp với máy trạm: Tạo giao diện để tải tài liệu trƣớc
khi xử lý.
Kiểm tra, xác thực tài liệu: Kiểm tra tính đúng đắn của tài liệu đƣợc gửi
cũng nhƣ chứng thƣ ngƣời gửi:
56. 56
Thực hiện Upload tài liệu lên máy chủ: Upload tài liệu lên thƣ mục hoặc
CSDL trên máy chủ.
c) Thƣ viện m t mã
Các phƣơng thức đọc eToKen, file p12.
Các phƣơng thức ký số.
Các phƣơng thức mã hóa.
3.5.2.2. Phân tích thiết ế c c thành phần của mô h nh
Trên cơ sở mô hình giải pháp ký số tài liệu đã giới thiệu trong mục 3.5.1,
việc phân tích thiết kế phần mềm cần thực hiện các nội dung sau:
- Phân tích thiết kế thƣ viện mật mã cài đặt tại máy chủ;
- Phân tích thiết kế dịch vụ phía máy chủ
- Thiết kế công cụ ký số trên web
a) Thƣ viện m t mã
Thƣ viện mật mã bao gồm các hàm, thủ tục cho phép giao tiếp với thiết bị
eToken (file p12) và các hàm, thủ tục ký số, xác thực văn bản nhƣ các hình sau:
Hình 3.12 Lƣợc đồ ký số trên hệ thống
57. 57
OCSP (Online Certificate Status Protocol): giao thức kiểm tra chứng thƣ
số trực tuyến.
CRL (Certificate revocation List): Danh sách chứng thƣ đã thu hồi.
Hình 3.13 Lƣợc đồ xác thực văn bản ký số
58. 58
3.6. Kết quả của giải ph p
Sau khi nghiên cứu thành công giải pháp này, sản phẩm đang đƣợc triển
khai sử dụng thử nghiệm trên hệ thống quản lý văn bản và hồ sơ công việc của
Văn phòng Chính phủ để thực hiện việc ký số tại đầu mối văn thƣ của văn
phòng. Hiện nay giải pháp đang đƣợc triển khai thử nghiệm kết nối liên thông
với một số cơ quan hành chính nhà nƣớc.
Sau khi Văn thƣ cập nhật các thông tin đầu vào cần thiết của văn bản
(*.pdf, .doc, docx) và thực hiện chức năng ký số và phát hành văn bản. Kết quả
văn bản đƣợc ký số nhƣ sau:
Hình 3.14 Giao diện phát hành văn bản
Hình 3.15 Văn bản đã đƣợc ký số (pdf)