Các hệ thống mã hoá phổ biến nhất thuộc một trong hailoại sau: * Mã hoá với khoá đối xứng * Mã hoá với khoá công khai Hệ mật mã hiện đại cần đảm bảo được hai yêu cầu sau: - Đảm bảo tính
Trang 1BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KS ĐỖ TRỌNG TIẾN
NGHIÊN CỨU CÁC CÔNG NGHỆ XÁC THỰC CHỮ KÝ
SỐ, ÁP DỤNG TRONG VIỆC QUẢN LÝ CÔNG VĂN TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT Y TẾ HẢI DƯƠNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
HẢI PHÒNG, 2016
Trang 2BỘ GIAO THÔNG VẬN TẢI BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM
KS ĐỖ TRỌNG TIẾN
NGHIÊN CỨU CÁC CÔNG NGHỆ XÁC THỰC CHỮ KÝ
SỐ, ÁP DỤNG TRONG VIỆC QUẢN LÝ CÔNG VĂN TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT Y TẾ HẢI DƯƠNG
LUẬN VĂN THẠC SĨ KỸ THUẬT
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
Người hướng dẫn khoa học: TS Hồ Thị Hương Thơm
HẢI PHÒNG, 2016
Trang 3LỜI CAM ĐOAN
Học viên - Đỗ Trọng Tiến cam đoan luận văn “Nghiên cứu các công nghệxác thực chữ ký số, áp dụng trong việc quản lý công văn tại Trường Đại học Kỹthuật Y tế Hải Dương” là nghiên cứu của riêng học viên
Kết quả nghiên cứu trình bày trong luận văn là trung thực, không phải là saochép toàn văn của bất kỳ công trình nào khác
Ngày 12 tháng 9 năm 2016
Học viên
Đỗ Trọng Tiến
Trang 4LỜI CẢM ƠN
Để hoàn thành bản luận văn tốt nghiệp này, học viên xin bày tỏ lòng biết ơnchân thành và sâu sắc đến Tiến sỹ Hồ Thị Hương Thơm đã trực tiếp hướng dẫn vàgiúp đỡ học viên trong suốt quá trình triển khai, nghiên cứu và hoàn thành đề tàinghiên cứu của mình
Học viên xin chân thành cảm ơn các thầy, cô giáo tại khoa Công nghệ thôngtin đã luôn tận tình truyền đạt các kiến thức về lĩnh vực công nghệ thông tin chohọc viên trong toàn khóa học
Mặc dù có nhiều cố gắng trong quá trình thực hiện đề tài này tuy nhiên vẫnkhông thể tránh khỏi sai sót Học viên rất mong nhận được sự góp ý của Quý thầy,
cô để đề tài được hoàn chỉnh hơn
Xin chân thành cảm ơn!
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU v
DANH MỤC CÁC HÌNH vi
MỞ ĐẦU 1
CHƯƠNG 1 TỔNG QUAN VỀ MÃ HÓA VÀ CHỮ KÝ SỐ 4
1.1 Lý thuyết mật mã và mã hóa 4
1.1.1 Giới thiệu 4
1.1.2 Phân loại 4
1.2 Chữ ký số 6
1.3 Ký số RSA 10
1.3.1 Giới thiệu sơ lược RSA 10
1.3.2 Tạo khoá cho hệ mật RSA 10
1.3.3 Tính bảo mật của RSA 12
1.3.4 Một số phương thức mã hóa nâng cao 14
1.4 Hàm băm 14
1.5 Hạ tầng khóa công khai (PKI) 18
1.5.2 Cấu trúc và vai trò của PKI trong chương trình 19
1.5.3 Chứng chỉ số X.509 20
1.5.4 Tạo khóa cho chứng chỉ số 21
1.6 Giao thức trao đổi khoá PGP 23
1.6.1 Khái niệm về PGP 23
1.6.2 Hoạt động của PGP 23
1.6.3 Tính bảo mật của PGP 26
1.7 Giao thức trao đổi khoá GPG 27
1.7.1 Khái niệm về GPG 27
1.7.2 Tính năng của GPG 27
Trang 6CHƯƠNG 2 QUẢN LÝ CÔNG VĂN TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT Y
TẾ HẢI DƯƠNG 28
2.1 Hệ thống quản lý công văn tại Trường 28
2.1.1 Cơ sở pháp lý 28
2.1.2 Phương thức quản lý công văn tại Trường 29
2.2 Áp dụng PGP và GPG trong quản lý văn bản của Trường Đại học Kỹ thuật Y tế Hải Dương 32
2.2.1 Tạo và quản lý khóa 32
2.2.2 Mã hóa và gửi văn bản 33
2.2.3 Nhận và giải mã văn bản 33
2.3 Xây dựng bài toán quản lý văn bản điện tử nội bộ 33
2.3.1 Thiết kế chương trình 35
2.3.2 Xây dựng các chức năng chính của chương trình 39
CHƯƠNG 3 ÁP DỤNG CHỮ KÝ SỐ TRONG QUẢN LÝ CÔNG VĂN TẠI TRƯỜNG ĐẠI HỌC KỸ THUẬT Y TẾ HẢI DƯƠNG 45
3.1 Quy trình thực hiện trong quản lý văn bản, công văn 45
3.2 Áp dụng chữ ký số trong quản lý văn bản, công văn số 46
3.3 Cài đặt chương trình 47
3.3.1 Chương trình PortablePGP 47
3.3.2 Chương trình GPG4WIN phiên bản 2.3.3 51
3.3.3 Chương trình Demo Quản lý văn bản điện tử sử dụng chữ ký số 54
3.3.4 Đánh giá kết quả 62
KẾT LUẬN 65
TÀI LIỆU THAM KHẢO 68
Trang 7DANH MỤC CÁC CHỮ VIẾT TẮT VÀ KÝ HIỆU
Ch ữ viết tắt Gi ải thích
Trang 8DANH MỤC CÁC HÌNH
Trang 93.4 Mã hóa một văn bản dùng PGP 49
3.22 Thông báo khi sai người ký hoặc văn bản đã bị sửa đổi 61
Trang 10MỞ ĐẦU
1 Lý do chọn đề tài
Nhu cầu về bảo đảm an toàn lưu trữ và truyền đạt thông tin đã xuất hiện từrất sớm, khi con người biết trao đổi thông tin cho nhau Để giữ bí mật nội dungthông tin người ta đã nghĩ ra các cách để che giấu thông tin hoặc làm biến đổi nộidung thông tin để người ngoài không thể hiểu được, quá trình đó được gọi là mãhoá Đồng thời, tại phía người nhận thông tin sẽ được khôi phục lại nguyên trạngban đầu bằng một phương thức nào đó gọi là giải mã Các phép biến đổi mã hoá vàgiải mã thông tin đã được ứng dụng rất nhiều trong các hoạt động chính trị, quân
sự, ngoại giao.v.v
Ngày nay, khi công nghệ thông tin ngày càng phát triển Việc ứng dụngcông nghệ thông tin trong cải cách hành chính là một yêu cầu cấp thiết, bắt buộcđối với các cơ quan, đơn vị Một trong các ứng dụng quan trọng đó là hệ thốngquản lý công văn, giấy tờ trên môi trường mạng giúp tiết kiệm tài nguyên và côngsức lưu trữ trong cơ quan Tuy nhiên, vấn đề đặt ra là làm thế nào để đảm bảo antoàn, bảo mật thông tin cho các văn bản điện tử khi truyền đưa trên môi trườngmạng và làm thế nào để xác thực một cách chính xác nguồn thông tin nhận được làcủa một người mà ta biết cũng như đảm bảo rằng thông tin đó chính xác, chưa hề
bị sửa chữa, tổn hại?
Giải pháp cho bài toán kể trên là các phương pháp mật mã, đặc biệt là mật
mã khóa công khai
Đề tài “Nghiên cứu các công nghệ xác thực chữ ký số, áp dụng trong việc quản lý công văn tại Trường Đại học Kỹ thuật Y tế Hải Dương” sẽ tìm
hiểu vấn đề nêu trên và cài đặt chương trình ký số minh họa
2 Mục đích nghiên cứu
Tìm hiểu cơ sở lý thuyết của mã hóa và giải mã, chữ ký số
Tìm hiểu các chức năng và yêu cầu cần thiết cho một hệ thống quản lý côngvăn đi và đến
Cài đặt chương trình ký số kết hợp RSA và hàm Băm
Trang 113 Mục tiêu của đề tài
- Nghiên cứu cơ sở lý luận về chứng thực thông tin
- Tìm hiểu về chữ ký số
- Tìm hiểu về các phương thức mã hóa dữ liệu cơ bản
- Tìm hiểu phương thức mã hóa bất đối xứng sử dụng cho chữ ký số
- Tìm hiểu về hàm băm
- Thử nghiệm một số chương trình mã hóa và giải mã văn bản
- Khảo sát, phân tích thiết kế và xây dựng hệ thống quản lý công văn đi đếntại Trường Đại học Kỹ thuật Y tế Hải Dương, cài đặt chương trình minh họa
4 Đối tượng nghiên cứu
- Lý thuyết mật mã và mã hóa
- Thuật toán ký số RSA
- Hàm băm kết hợp chữ ký số cho công văn
5 Phạm vi nghiên cứu
Nghiên cứu nghiệp vụ quản lý văn bản nhà nước, lý thuyết về chứng thựcthông tin, hệ mã hóa khóa công khai RSA, hàm băm SHA và cài đặt chương trìnhminh họa
6 Phương pháp nghiên cứu
- Nghiên cứu cơ sở lý thuyết, tham khảo tài liệu, xây dựng cài đặt chươngtrình, tiến hành thử nghiệm đánh giá đưa ra được ưu nhược điểm của chương trình
7 Bố cục luận văn
Nội dung của luận văn gồm 3 chương và phần kết luận với bố cục như sau:
- Chương 1: Tổng quan về mã hoá và chữ ký số
Chương này giới thiệu tổng quan về mật mã, các loại mã hoá và chữ ký số;ứng dụng hàm băm SHA1 và giải thuật ký số RSA trong mã hoá và giải mã vănbản điện tử
- Chương 2: Quản lý công văn tại Trường Đại học Kỹ thuật Y tế Hải Dương
Trang 12Trình bày phương thức quản lý công văn tại Trường và các quy trình thựchiện.
Xác định yêu cầu của bài toán quản lý công văn điện tử và phân tích, thiết
Trang 13CHƯƠNG 1 TỔNG QUAN VỀ MÃ HÓA VÀ CHỮ KÝ SỐ 1.1 Lý thuyết mật mã và mã hóa
1.1.1 Gi ới thiệu
Mật mã học là một ngành khoa học nghiên cứu về các cách thức để bảo vệ
sự an toàn và bảo mật thông tin Xét về lịch sử, mật mã gắn liền với quá trình mãhóa Mã hóa là phương thức để biến đổi nội dung thông tin từ dạng này sang dạngkhác, từ một dạng dễ hiểu sang dạng không thể hiểu hay không nhận biết được [1].Các cơ chế để thực hiện mã hóa là các hệ mã mật, hàm băm, hệ thống chữ ký số vàcác giao thức mật mã Quá trình mã hóa được thực hiện để đảm bảo tính bảo mậtcủa thông tin quan trọng, chẳng hạn như trong quân sự, chính trị, ngoại giao, cũngnhư kinh tế và thương mại Các hệ thống mã hoá phổ biến nhất thuộc một trong hailoại sau:
* Mã hoá với khoá đối xứng
* Mã hoá với khoá công khai
Hệ mật mã hiện đại cần đảm bảo được hai yêu cầu sau:
- Đảm bảo tính bảo mật: Ngăn không để người lạ thực hiện việc trích chọn,sửa đổi thông tin từ các bản mã được gửi trên các kênh truyền phổ biến (thườngkhông an toàn)
- Đảm bảo tính xác thực: Đảm bảo chỉ có người nhận đúng mới có thể giải
mã nội dung bản mã, đồng thời cũng đảm bảo người gửi không thể phủ nhận nộidung đã gửi
Trang 14Ban đầu, bản rõ được người gửi A mã hóa với khóa k Sau đó bản mã đượcgửi tới người nhận B Khi nhận được bản mã, người B sử dụng khóa k giải mã đểthu được bản rõ Do đó, nếu một người khác có được khóa k thì hệ thống mã hóanày sẽ bị tấn công.
Hình 1.1 – Sơ đồ hoạt động của mã hóa đối xứng
Hạn chế của các thuật toán mã hóa khóa đối xứng là các bên trao đổi thôngtin phải giữ một bản sao của khóa bí mật Điều quan trọng là khả năng bị phát hiệnbởi các đối tượng thám mã do đó chúng phải được bảo đảm an toàn trong quá trìnhphân phối và sử dụng
Để đảm bảo trao đổi thông tin bí mật, an toàn của tất cả mọi người trong mộtnhóm n người, số lượng các khoá cần thiết là n(n-1)/2
Các khóa đối xứng thuật toán mã hóa không thể được sử dụng cho các mụcđích xác thực hay chống chối bỏ
1.1.2.2 Mã hóa khóa công khai (mã hóa bất đối xứng)
Mật mã khóa công khai, hoặc mật mã không đối xứng, là một hệ thống mật
mã có sử dụng cặp khóa : khóa công khai có thể được phổ biến rộng rãi kết hợpvới các khoá riêng chỉ được biết bởi chủ sở hữu Các cặp khóa có một mối quan hệđối ứng đặc biệt thông qua các hàm toán học để mỗi khoá chỉ có thể được sử dụngkết hợp với khoá khác trong cặp
Trong một hệ thống mã hóa khóa công khai, bất kỳ người nào cũng có thể
mã hóa một thông điệp bằng khóa công khai của người nhận, nhưng chỉ có thểđược giải mã bằng khóa riêng của người nhận Khóa riêng phải được giữ bí mật(để giải mã), trong khi các khóa công khai (để mã hóa) là công khai Điều quan
Trang 15trọng đối với hệ thống mã hóa này là không thể tìm thấy chìa khóa bí mật nếu chỉbiết khóa công khai.
Hình 1.2- Sơ đồ hoạt động của mã hóa bất đối xứng
Hệ thống mật mã khoá công khai có thể sử dụng cho các mục đích như: mãhoá, tạo chữ ký số và thoả thuận khoá
1.2 Chữ ký số
1.2.1 Gi ới thiệu chung
Chữ ký là một đặc điểm sinh trắc học của con người giống như tròng mắt,vân tay… dùng để xác thực danh tính của mỗi người Chữ ký viết tay thông thườngtrên một văn bản được dùng để xác định người ký văn bản đó Một chữ ký thường
sẽ là một phần vật lý gắn liền với văn bản cần ký nhằm đạt được hai mục đíchchính đó là nhằm xác định nguồn gốc của thông điệp và để văn bản có tính hiệulực
Tuy nhiên, trong thế giới máy tính thì vấn đề ký không giống như trong thựctế: nội dung thông tin trên máy tính có thể được chuyển đổi một cách dễ dàng từvăn bản này sang văn bản khác Do đó, phương thức ký trong thế giới máy tính cần
áp dụng công nghệ mã hóa
Sơ đồ chữ ký điện tử là phương pháp ký một văn bản được lưu trữ dưới dạngđiện tử Phương thức thực hiện chữ ký điện tử dựa trên ý tưởng của Diffie vàHellman:
- Người gửi sẽ dùng khoá riêng của mình để thực hiện mã hoá văn bản
- Người gửi gửi văn bản đã ký cho người nhận
Trang 16- Người nhận văn bản dùng khóa công khai của người gửi để giải mã vănbản và xác thực chữ ký.
Một chữ ký điện tử “lý tưởng” cần đáp ứng được các đặc điểm sau:
- Tính xác thực: đảm bảo rằng người ký là người tạo ra nó
- Tính toàn vẹn: người nhận không thể sáng tạo hoặc sửa đổi một tài liệu cóchữ ký của người khác
- Không thể dùng lại: không thể dùng cùng một chữ ký điện tử cho các vănbản khác nhau
- Tính không chối bỏ: khi một người đã ký thì không thể chối bỏ chữ ký đó
- Tính hiệu quả: ký và xác thực nhanh chóng dễ dàng
1.2.2 Khái ni ệm chữ ký số
Chữ ký số hay chữ ký điện tử là một định danh điện tử (một con số) gắn vớimỗi văn bản do máy tính sử dụng nhằm đạt được hiệu quả giống như chữ kýthường Quá trình thực hiện chữ ký số bao gồm hai bước: tạo chữ ký và xác thựcchữ ký
1.2.3 Phân lo ại
Chữ ký số có thể được chia thành hai loại: loại thứ nhất chữ ký số là mộtphần đính vào thông điệp gửi đi và loại thứ hai là loại chữ ký mà từ đó có thể khôiphục các thông điệp ban đầu trước khi ký
Luận văn này học viên chủ yếu tập trung vào loại thứ nhất, chữ ký số đượcđính kèm theo thông điệp được sử dụng cho quá trình xác minh thông điệp Nhữngđặc điểm cơ bản của loại chữ ký này là :
- Chữ ký số được đính kèm với thông điệp ban đầu
- Cần có thông điệp ban đầu cho quá trình kiểm tra chữ ký số
- Dựa trên thuật toán mã hóa
Trang 171.2.4 Quy trình ho ạt động
Chữ ký số hoạt động dựa trên hệ thống mã hóa khóa công khai Trong đó,khoá riêng được sử dụng để tạo ra chữ ký số cho một tài liệu cụ thể còn khoá côngkhai được sử dụng để xác thực chữ ký
1 2.5 Sơ đồ ký số
Một sơ đồ chữ ký số thường chứa hai thành phần: thuật toán ký và thuật toánxác minh Một sơ đồ chữ ký số là bộ năm (P, A, K, S, V) thỏa mãn các điều kiệnsau:
- P là một tập hữu hạn các văn bản (thông điệp, bản rõ)
- A là một tập các chữ ký
- K là tập không gian khóa
- S là tập các thuật toán mã hoá
- V là tập các thuật toán giải mã
Với mỗi k ϵ K, tồn tại một thuật toán mã hóa sig k ϵ S và một thuật toán xácminh verk ϵ V, trong đó sig k và verk là các ánh xạ : sig k là một ánh xạ từ P sang A
và verk là một ánh xạ từ A sang tập biểu diễn {True, False} là những hàm sao chomỗi bức điện x ϵ P và mỗi chữ ký y ϵ A thỏa mãn phương trình dưới đây:
(1.1)
Với mỗi k ϵ K, hàm sig k và verk là các hàm đa thức thời gian Hàm verk sẽ làhàm công khai còn hàm sig k là bí mật [3]
Trang 18Hình 1.3 – Sơ đồ tạo chữ ký số
Hình 1.4 – Sơ đồ thẩm định chữ ký số
Trang 191.3 Ký số RSA
1.3.1 Gi ới thiệu sơ lược RSA
Thuật toán RSA được đặt tên sau khi 3 nhà khoa học Ron Rivest, AdiShamir và Leonard Adleman phát minh ra nó vào năm 1977 RSA là thuật toán mãhoá khoá công khai được sử dụng rộng rãi trên thế giới Nó có thể được sử dụng để
mã hóa một thông điệp mà không cần phải trao đổi một khóa bí mật riêng
Cơ sở của thuật toán RSA là: có thể dễ dàng nhân hai số nguyên tố lớnngẫu nhiên nhưng việc xác định số nguyên tố gốc từ tích của chúng là không khảthi do sẽ mất rất nhiều thời gian ngay cả với các siêu máy tính hiện nay
1.3.2 T ạo khoá cho hệ mật RSA
Để cài đặt RSA ban đầu mỗi người dùng sinh khóa công khai và khóa riêngcủa mình bằng cách:
chọn hai số nguyên tố lớn ngẫu nhiên khác nhau p và q
Trang 20Sơ đồ biểu diễn thuật toán RSA [2] :
Hình 1.5 – Sơ đồ biểu diễn thuật toán RSA
Các bước thực hiện ký số RSA:
Hình 1.6 – Sơ đồ ký số RSA
* Ký (Mã hóa):
Giả sử có văn bản cần ký M Tạo ra một bản tóm của văn bản M với m<n.
Lúc này ta muốn ký lên văn bản M với số tương ứng là m Ta sẽ tính toán c
là bản ký của m theo công thức:
( ) d mod
k
CSig m m n ( Trong đó d là khóa bí mật của người cần ký) (1.2)
Trang 21Ta có bản ký c hay bản chữ ký số và gửi cho đối tác.
* Xác nhận (Giải mã):
Sau khi nhận được bản chữ ký số, người nhận cần phải xác nhận chữ ký trênvăn bản là đúng người ký bằng cách xác nhận bản ký với khóa công khai củangười ký với công thức sau
Thông thường, chữ ký được kết hợp với hàm mã hoá công khai Giả sử A
muốn gửi một bức điện đã được mã hoá và đã được ký đến cho B Với bản rõ x cho trước, A sẽ tính toán chữ ký của mình y = Sig m A( ) sau đó mã hoá cả x và y sử
dụng khoá công khai e B của B, kết quả nhận được là z = e m c B( , ) Bản mã z sẽ được gửi tới B, khi B nhận được z, đầu tiên anh ta giải mã với hàm giải mã d B của mình
để nhận được (m, c) Sau đó anh ta dùng hàm xác minh công khai của A để kiểm
tra xem Ver ( , )A m c TRUE hay không
1.3.3 Tính b ảo mật của RSA
Bài toán bảo mật của hệ chữ ký RSA là tránh trường hợp người ngoài có
thể tính ra giá trị d bí mật (giá trị ký hay mã hóa) khi biết được giá trị xác nhận e (công khai).
Trang 22Sự an toàn của hệ mật RSA dựa trên hai vấn đề toán học: các vấn đề về phântích ra thừa số nguyên tố các số nguyên lớn và các bài toán RSA Giải mã đầy đủmột một bản mã RSA được cho là không khả thi trên giả định rằng cả hai vấn đềtrên rất khó, tức là, không có thuật toán hiệu quả tồn tại để giải quyết chúng [3].
Các bài toán RSA được xác định là nhiệm vụ của việc tính căn bậc e của môđun n Tìm số m mà e(mod )
cm n , trong đó (n, e) là một khóa công khai RSA
và c là một bản mã RSA Hiện nay, phương pháp hứa hẹn nhất để giải quyết bàitoán RSA là phân tích mô đun n ra thừa số nguyên tố Với khả năng phân tích rathừa số nguyên tố của n, kẻ tấn công có thể tính toán số mũ bí mật d từ một khóacông khai (n, e), sau đó giải mã c sử dụng đúng các quy trình của thuật toán Đểthực hiện điều này, một kẻ tấn công sẽ phân tích n thành hai số p và q, và tính (p -1) (q - 1) cho phép xác định d từ e Chưa có phương pháp tính toán tối ưu nàotrong thời gian đa thức để phân tích n ra thừa số nguyên tố được tìm thấy trên máytính, nhưng nó cũng không được chứng minh rằng không tồn tại [13]
Năm 2009, Benjamin Moody đã phân tích một khoá RSA-512 bit trong 73ngày chỉ sử dụng phần mềm công cộng (GGNFS) và máy tính để bàn của mình(với chíp dual-core Athlon64 1.900 MHz) Chỉ yêu cầu dưới 5 gigabyte ổ cứng vàkhoảng 2,5 GB RAM cho quá trình phân tích Trong khi đó để phân tích một khoáRSA-512 lần đầu tiên vào năm 1999 yêu cầu tương đương với 8.400 MIPS trongthời gian khoảng 7 tháng
Như năm 2010, số RSA lớn nhất có thể phân tích ra thừa số nguyên tố là 768bit (232 chữ số thập phân) với phương pháp phân tán với khoảng 1500 máy tínhhoạt động trong suốt 2 năm Không có khóa RSA lớn hơn được công bố đã đượcphân tích ra thừa số nguyên tố Trong thực tế, các khóa RSA thường dài từ 1024-
4096 bit Một số chuyên gia tin rằng khóa 1024-bit có thể dễ bị phá vỡ trong tươnglai gần hoặc có thể đã được phá vỡ bởi một kẻ tấn công được hỗ trợ đầy đủ (mặc
dù điều này vẫn đang được tranh luận); hiện chưa thể thấy bất kỳ cách nào để khoá
4096 bit bị phá vỡ trong tương lai gần Do đó, RSA được coi là an toàn nếu n là đủlớn Nếu n là 300 bit hoặc ngắn hơn, nó có thể bị phá vỡ trong một vài giờ với
Trang 23một máy tính cá nhân, sử dụng phần mềm tự do có sẵn Khoá 512 bit đã được thực
tế chứng minh là dễ vỡ vào năm 1999 khi RSA-155 được phân tích bằng cách sửdụng vài trăm máy tính và phân tích trong một vài tuần sử dụng phần cứng thôngthường Một thiết bị phần cứng trên lý thuyết có tên Twirl và được mô tả bởiShamir và Tromer vào năm 2003 đã đặt dấu hỏi về bảo mật của khoá 1024 bit Vậynên độ dài khoá hiện nay được khuyến cáo là dài ít nhất 2048 bit [13]
1.3.4 M ột số phương thức mã hóa nâng cao
Để tăng cường tính an toàn, bảo mật khi thực hiện mã hoá, tránh những dạngtấn công tinh vi người ta đã đưa ra một số phương thức mã hoá nâng cao, ví dụnhư :
Trong luận văn này học viên tập trung sử dụng phương pháp RSAES-PKCS
#1v1.5, được xây dựng để biến đổi thông tin trước khi mã hoá bằng RSA PKCS #1v1.5 là kỹ thuật mã hóa nâng cao của PKCS1 (các tiêu chuẩn PKCS # 1định nghĩa các phương thức toán học và tính chất mà khoá công khai và khoá riêngRSA cần phải có) và được sử dụng phổ biến nhất hiện nay trên hầu hết các thưviện RSA
RSAES-1.4 Hàm băm
1.4 1 Sơ lược về hàm băm
Hàm băm là một hàm toán học có thể chuyển đổi một thông điệp đầu vào có
độ dài tùy ý tới đầu ra là các chuỗi có chiều dài cố định Giá trị trả về bởi một hàmbăm được gọi là tóm lược thông điệp hoặc đơn giản chỉ là giá trị băm Hàm bămđược sử dụng nhiều trong mã hoá và có nhiều loại hàm băm khác nhau
Trang 24Hàm băm có thể được sử dụng trong việc mã hoá và giải mã chữ ký số Cáchàm băm biến đổi chữ ký số trên văn bản, sau đó cả hai giá trị băm và chữ ký đượcgửi đến người nhận Người nhận sử dụng hàm băm tương tự để tạo ra các giá trịbăm và sau đó so sánh nó với thông điệp nhận được Nếu các giá trị băm là nhưnhau có nghĩa là thông điệp nhận được là không có lỗi.
Giá trị của hàm băm là duy nhất, và không thể suy ngược lại được nội dungthông điệp từ giá trị băm này
Một hàm băm được xem là bảo mật và an toàn phải đảm bảo các tính chất:
- 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ỳ x nào
- Tính một chiều : Với mọi đầu ra y cho trước không thể tìm được x’ saocho h(x’) bằng giá trị y cho trước
Trang 25thông tin truyền qua mạng trở nên rất lớn Một cách để giải quyết vấn đề trên làchia văn bản thành nhiều đoạn nhỏ, và sau đó ký lên từng đoạn nhỏ đó Nhưng sửdụng biện pháp này lại tạo ra một số vấn đề khác của chữ ký số:
- Không giải quyết được vấn đề kích thước truyền lớn
- Hầu hết các hệ chữ ký đều rất chậm
- Rất nhiều đoạn được ký như vậy sẽ dẫn đến khi sắp xếp lại văn bản có thể
bị xáo trộn hoặc có một vài đoạn bị bỏ đi do đó mất đi tính toàn vẹn [3]
Để giải quyết các vướng mắc này thì người ta sử dụng hàm băm
- Hàm băm tạo ra một đoạn chuỗi băm có độ dài duy nhất, giúp giảm kíchthước cần tính toán do đó giảm cả thời gian thực hiện và dung lượng truyền
- Tăng tính bảo mật cho chương trình, mỗi đoạn văn bản chỉ có thể tạo ramột chuỗi băm duy nhất không trùng lặp
- Tránh trùng lặp thông điệp (tuy hiếm xảy ra) khi ký trên các đoạn văn bảnkhác nhau
Ngoài ra, các phương pháp ký hiện đại được nâng cao từ RSA tùy theo cácphương pháp băm được sử dụng để thêm vào các ký tự đặc biệt hoặc các chuỗingẫu nhiên vào chuỗi mã hóa khi ký để tăng thêm tính bảo mật
Hiện nay, do sự phát triển của máy tính khiến cho người ta phải phát triểncác phương pháp băm SHA với độ dài lớn hơn nhưng SHA-1 vẫn là hàm bămđược ưa chuộng trong các chương trình phổ thông nhờ tốc độ xử lý tốt mà vẫnđảm bảo tính bảo mật
1.4 3 Hàm băm SHA-1
1.4.3.1 Khái niệm
Năm 1995, Viện Tiêu chuẩn và Công nghệ (NIST) cùng NSA đã thiết kế rathuật toán hàm băm an toàn SHA sử dụng cho chuẩn chữ ký số và được quy địnhtrong tiêu chuẩn bảo mật băm (SHS, FIPS 180) SHA-1 là một phiên bản tiếp theocho phiên bản này và đã được xuất bản vào năm 1994 Nó cũng được mô tả trongtiêu chuẩn ANSI X9.30 (phần 2) SHA-1 tạo ra các đoạn thông điệp có kích thước160-bit Mặc dù chậm hơn so với MD5, tuy nhiên với việc phân chia các phần với
Trang 26kích thước lớn hơn làm cho nó mạnh hơn MD5 trong việc chống lại các cuộc tấncông.
1.4.3.2 Thuật toán:
Đầu vào: chuỗi có độ dài tối đa 264bit
Đầu ra: giá trị băm có độ dài 160 bit
Bước 1: nhồi thêm dữ liệu
Thông điệp được nhồi thêm các bit sao cho độ dài l ≡ 448 mod 512 hay
l = n * 512 + 448 (n, l nguyên)
Số bit nhồi thêm nằm trong khoảng từ 1 đến 512
Phần dữ liệu nhồi thêm bao gồm một bit 1 và theo sau là các bit 0
Bước 2: thêm vào độ dài
Độ dài của khối dữ liệu gốc được biểu diễn ở dạng nhị phân 64 bit và đượcthêm vào cuối chuỗi nhị phân kết quả của bước 1
Kết quả có được từ 2 bước đầu là một khối dữ liệu có độ dài là bội số của512
Bước 3: khởi tạo bộ đệm MD (MD buffer)
Một bộ đệm 160 bit dùng lưu trữ các giá trị băm trung gian và kết quả Bộđệm được biểu diễn bằng 5 thanh ghi 32 bit với các giá trị ban đầu ở dạngbigiendian (byte có trọng số lớn nhất trong từ nằm ở địa chỉ thấp nhất)
C = FE DC BA 98
Bước 4: xử lý các khối dữ liệu 512 bit
Trọng tâm của giải thuật bao gồm 4 vòng lặp thực hiện tất cả 80 bước Mỗivòng có đầu vào gồm khối 512 bit hiện thời và một bộ đệm 160 bit ABCDE Cácthao tác sẽ cập nhật giá trị bộ đệm
Mỗi bước sử dụng một hằng số Kt(0 ≤ t ≤ 79)
Kt= 5A827999 (0 ≤ t ≤19)
Kt= 6ED9EBA1 (20≤t≤39)
Kt= 8F1BBCDC (40 ≤ t ≤ 59)
Trang 27Kt= CA62C1D6 (60 ≤ t ≤ 79)
Đầu ra của 4 vòng (bước 80) được cộng với đầu ra của bước CVq để tạo ra
CVq+1 [4]
Bước 5: xuất kết quả
Sau khi thao tác trên toàn bộ L khối Kết quả của khối thứ L là bảng băm
160 bit
Hình 1.8 - Sơ đồ tổng thể của SHA1
1.5 Hạ tầng khóa công khai (PKI)
1.5.1 Khái ni ệm
Hạ tầng cơ sở khóa công khai hỗ trợ việc phân phối và xác nhận mã hoákhoá công khai, nó cho phép mọi người trao đổi thông tin an toàn trên mạng cũngnhư trên Internet đồng thời xác minh danh tính của các bên tham gia trao đổi thôngtin Mỗi người sử dụng trong hệ thống được cung cấp hai khoá gồm khóa côngkhai và khóa bí mật Việc cung cấp các khoá này được thực hiện bởi một phầnmềm trên máy chủ của nhà cung cấp và các phần mềm phối hợp tại máy cá nhân
Một PKI điển hình bao gồm phần cứng, phần mềm, các chính sách và tiêuchuẩn để quản lý việc xây dựng, quản trị, phân phối và thu hồi khoá, chứng chỉ số
Trang 281.5.2 C ấu trúc và vai trò của PKI trong chương trình
Một trong những khó khăn của hệ thống khóa bất đối xứng là làm sao đảmbảo được khóa công khai mà người nhận dùng để chứng thực chính xác là khóacông khai nhận được từ đối tác Đó chính là lý do ra đời của PKI như một bêntrung gian để kiểm tra cũng như cung cấp các thông tin về người sở hữu khóa chongười cần chứng thực khi cần thiết Trong khóa luận này học viên không đi sâu tìmhiểu về PKI cũng như cách xây dựng hệ thống hạ tầng khóa công khai phức tạp vàchi tiết mà chỉ sử dụng chứng thư của nó như một tập tin thay thế đại diện chokhóa bí mật và khóa công khai trong chương trình Do đó học viên xây dựng nhưmột PKI ở mức sơ khai với các chức năng cơ bản: tạo khóa, cấp phát, chứng thực,kiểm tra khi người dùng mức client sử dụng chứng chỉ số nhằm mục đích tìm hiểucác chức năng cơ bản của nó để có thể kết hợp với các nhà cung cấp dịch vụ chứngthư số chuyên nghiệp và bảo mật cao hơn trong trường hợp muốn mở rộng chươngtrình sau này
Với những yêu cầu về một hệ thống PKI như trên chúng ta phải thiết kế cácchức năng của chương trình cho ở hai mức:
Server :
Cho phép người dùng trong hệ thống đăng ký khóa công khai Cấpphát một chứng thực số cho người dùng đó nếu khóa công khai hợp lệ
Quản lý khóa công khai, Thu hồi và cấp lại chứng thực số
Cho phép bên thứ ba kiểm tra tính chính xác của một chứng chỉ số bấtkỳ
Cấp phát và bảo mật Khóa riêng và khóa công khai của CA
User :
Hệ thống PKI cấp phát một khóa công khai cho user và khóa riêng doPKI client cấp phát và user phải giữ bí mật
Tạo chữ ký số cho từng văn bản ngẫu nhiên
Mã hóa và giải mã bằng CA được cấp phát
Trang 29Mô hình được sử dụng là mô hình phân cấp CA đơn tầng, với chỉ một CAđược xác định làm CA gốc cùng toàn bộ khóa sinh ra từ nó đều nằm tập trung trênmột máy tính và cũng chính là máy chủ của chương trình CA gốc luôn được kếtnối vào mạng để cấp chứng chỉ cho các máy tính, người dùng, dịch vụ hay thiết bịmạng.
Trong mô hình này, mỗi thực thể sẽ giữ bản sao khoá công khai của CA gốc
và kiểm tra đường dẫn của chứng thư bắt đầu từ chữ ký của CA gốc Đây là môhình PKI cơ bản nhất, dễ triển khai và phù hợp với các tổ chức nhỏ
1.5.3 Ch ứng chỉ số X.509
1.5.3.1 Giới thiệu
Chứng chỉ số là tài liệu điện tử sử dụng để nhận diện một cá nhân, một máychủ, một công ty, hoặc một số chủ thể khác và liên kết định danh với một khóacông khai Mật mã khóa công khai sử dụng chứng chỉ số để giải quyết vấn đề mạodanh Chứng chỉ số giúp ngăn chặn việc sử dụng mạo danh khóa công khai Chỉ cócác khóa công khai có xác nhận của chứng chỉ số mới có thể làm việc với khóariêng tương ứng được sở hữu bởi các chủ thể (các chủ thể này được xác minh danhtính bởi một cơ quan chứng nhận đáng tin cậy được gọi là CA)
Theo thời gian, phòng thí nghiệm RSA đã phát triển và hoàn thiện các chứngchỉ số và các chuẩn mã hóa của nó để tăng tính bảo mật cho phương pháp RSA,các chuẩn và chứng chỉ này đều phải tuân theo các quy định cụ thể về các đốitượng được trừu tượng hóa gọi là ASN.1 (Abstract Syntax Notation One, đượcđịnh nghĩa trong X.208) [6] [7] và một bộ quy tắc mã hóa để đại diện cho các ký tự
và chuỗi số gọi là BER (Basic Encoding Rules, được định nghĩa trong X.209).Toàn bộ lịch sử các phiên bản chứng chỉ số X Sê-ri có thể xem thêm tại [8]
Hiện nay, X.509v3 là phiên bản đang được sử dụng phổ biến nhất
1.5.3.2 Cấu tạo chứng chỉ X.509v3
Được đưa ra vào tháng 6 năm 1996, định dạng X.509 phiên bản 3 bổ sungthêm phần mở rộng chứng chỉ (extension) Các phần mở rộng cung cấp cơ chế chophép liên kết các thuộc tính bổ sung với người dùng hoặc khoá công khai Một
Trang 30chứng nhận X.509 phiên bản 3 có thể chứa một hoặc nhiều phần mở rộng, nhưhình hình dưới đây [12]:
Hình 1.9 – Các thành phần của chứng chỉ số X.509 v3
Mỗi phần mở rộng trong chứng nhận X.509 phiên bản 3 bao gồm:
Extension Identifier: là một định danh đối tượng xác định kiểu định
dạng và định nghĩa của các phần mở rộng
Criticality Flag: là một dấu hiệu cho thấy các thông tin trong phần
mở rộng có quan trọng hay không
Extension Value: là giá trị được gán cho các phần mở rộng Nó phụ
thuộc vào từng phần mở rộng cụ thể
Có nhiều dạng file chứng chỉ số dùng định dạng của X.509, trong chươngtrình này học viên sử dụng 2 dạng file phổ biến là pfx chứa khóa riêng và cerchứa khóa công khai được cấp phát rộng rãi
1.5.4 T ạo khóa cho chứng chỉ số
1.5.4.1 Thuật toán cổ điển (sinh khoá)
1 Tạo ra hai số nguyên tố lớn ngẫu nhiên, p và q, sao cho n = p.q có độ dàibit được cho trước, ví dụ như 1024 bit
Trang 312 Tính n = p.q và (n) = (p-1).(q-1).
3 Chọn một số nguyên tố ngẫu nhiên e, 1 <e <(n) sao cho gcd (e, (n)) = 1
4 Tính số mũ d bí mật, 1 <d <(n) sao cho ed ≡ 1 (mod(n))
Ta có khóa công khai là (n, e) và khóa riêng (d, p, q)
n: được gọi là mô đun (modulo)
e: được gọi là số mũ công khai (public exponent) hoặc số mũ mã hóa.d: được gọi là số mũ bí mật hoặc số mũ giải mã (decryption exponent)
1.5.4.2 Công thức tạo khóa
Một thuật toán thực tế để tạo ra một cặp khóa RSA được đưa ra dưới đây
Độ dài bit điển hình là k = 1024, 2048, 3072, 4096, , với sự gia tăng chi phí tínhtoán cho các giá trị lớn hơn Bạn sẽ không đi quá xa nếu bạn chọn e là 65.537(=0x10001) ở bước 1
Đầu vào: Yêu cầu một độ dài bit cho mô đun N, k.
Đầu ra: Một cặp khoá RSA ((N, e), d), sản phẩm của hai số nguyên tố (N =
pq) không quá k bit có chiều dài e là số mũ công khai, một số ít hơn và nguyên tốcùng nhau để (p-1) (q-1) và d là số mũ bí mật sao cho ed ≡ 1 (mod (p-1) (q-1))
1 Chọn giá trị e trong khoảng {3, 5, 17, 257, 65537}
2 Lặp lại thuật toán
Trang 32Hàm genprime (b) trả về một số nguyên tố có chính xác b bit, với bit thứ bđược thiết lập là 1 Lưu ý rằng phép tính k/2 lấy kết quả là một số nguyên không cóphần dư.
Nếu chọn e = 65.537 thì khả năng số nguyên đầu tiên được trả lại trongbước 3 và 6 sẽ vượt qua các bài kiểm tra trong các bước 4 và 7, do đó số vòng lặpcho đến khi vòng lặp kết thúc rất có thể sẽ chỉ có một lần lặp Giá trị cuối cùngcủa N có thể có chiều dài bit ngắn hơn k Điều này thực sự không quan trọng quánhiều (cung cấp các thông điệp m luôn luôn là nhỏ hơn N), nhưng một số chươngtrình đòi hỏi một mô đun có độ dài chính xác Nếu xảy ra trường hợp đó, bạn chỉcần lặp lại thuật toán cho đến khi tìm được giá trị chính xác cần tìm
1.6 Giao thức trao đổi khoá PGP
vệ thông tin lưu trữ trên máy tính xách tay, máy tính để bàn, máy chủ và trong quátrình trao đổi thông qua email, IM hoặc chuyển file PGP và các phần mềm tương
tự dựa theo tiêu chuẩn OpenPGP (RFC 4880) để mã hóa và giải mã dữ liệu [14]
1.6.2 Ho ạt động của PGP
PGP sử dụng kết hợp mật mã hóa khóa công khai và thuật toán khóa đốixứng cộng thêm với hệ thống xác lập mối quan hệ giữa khóa công khai và địnhdanh người dùng (ID) Phiên bản đầu tiên của hệ thống này thường được biết dướitên mạng lưới tin cậy dựa trên các mối quan hệ ngang hàng (khác với hệthống X.509 với cấu trúc cây phân cấp dựa trên các nhà cung cấp chứng thực số)
Trang 33Các phiên bản PGP về sau dựa trên các kiến trúc tương tự như hạ tầng khóa côngkhai.
PGP sử dụng thuật toán mật mã hóa khóa bất đối xứng Trong các hệ thốngnày, người sử dụng đầu tiên phải có một cặp khóa: khóa công khai và khóa bí mật.Người gửi sử dụng khóa công khai của người nhận để mã hóa một khóa chung(còn gọi là khóa phiên) dùng trong các thuật toán mật mã hóa khóa đối xứng Khóaphiên này chính là khóa để mật mã hóa các thông tin được gửi qua lại trong phiêngiao dịch [14]
Người nhận trong hệ thống PGP sử dụng khóa phiên để giải mã các gói tin.Khóa phiên này cũng được gửi kèm với thông điệp nhưng được mật mã hóa bằng
hệ thống mật mã bất đối xứng và có thể được giải mã với khóa bí mật của ngườinhận Hệ thống phải sử dụng cả 2 dạng thuật toán để tận dụng ưu thế của cả hai:thuật toán bất đối xứng đơn giản việc phân phối khóa còn thuật toán đối xứng có
ưu thế về tốc độ (nhanh hơn cỡ 1000 lần) [14]
Một chiến lược tương tự cũng được dùng (mặc định) để phát hiện xem thôngđiệp có bị thay đổi hoặc giả mạo người gửi Để thực hiện 2 mục tiêu trên người gửiphải ký văn bản với thuật toán RSA hoặc DSA Đầu tiên, PGP tính giá trị hàm bămcủa văn bản đó rồi tạo ra chữ ký số với khóa bí mật của người gửi và gửi cả vănbản và chữ kí số đến người nhận Khi nhận được văn bản, người nhận tính lại giátrị băm của văn bản đó đồng thời giải mã chữ ký số bằng khóa công khai của ngườigửi Nếu 2 giá trị băm này giống nhau thì có thể khẳng định (với xác suất rất cao)
là văn bản chưa bị thay đổi kể từ khi gửi và người gửi đúng là người sở hữu khóa
dễ dàng bị phát hiện Tuy nhiên chỉ điều này thôi thì chưa đủ vì nó chỉ ngăn chặn
Trang 34được việc sửa đổi sau khi chứng thực đã được tạo ra Người dùng còn cần phảiđược trang bị khả năng kiểm tra xem khóa công khai có thực sự thuộc về ngườiđược cho là sở hữu hay không Từ phiên bản đầu tiên, PGP đã có một cơ chế hỗ trợđiều này gọi là mạng lưới tín nhiệm Mỗi khóa công khai (rộng hơn là các thôngtin gắn với một khóa hay một người) đều có thể được một bên thứ 3 xác nhận (theocách điện tử).
PGP cũng được thiết kế với khả năng hủy bỏ/thu hồi các chứng thực có khảnăng đã bị vô hiệu hóa Về một khía cạnh nào đó, điều này tương đương với danhsách chứng thực bị thu hồi của mô hình hạ tầng khóa công khai Các phiên bảnPGP gần đây cũng hỗ trợ tính năng hạn sử dụng của chứng thực
Vấn đề xác định mối quan hệ giữa khóa công khai và người sở hữu khôngphải là vấn đề riêng của PGP Tất cả các hệ thống sử dụng cặp khóa công khai vàkhóa bí mật đều phải đối phó với vấn đề này và cho đến nay chưa có một giải pháphoàn thiện nào được tìm ra Mô hình ban đầu của PGP trao cho quyền quyết địnhcuối cùng người sử dụng còn các mô hình PKI thì quy định tất cả các chứng thựcphải được xác nhận bởi một nhà cung cấp chứng thực trung tâm[14]
Hình 1.10 – Mô hình mã hoá và giải mã theo PGP
Trang 351.6.3 Tính b ảo mật của PGP
Khi được sử dụng đúng cách, PGP được xem là có độ an toàn rất cao Hiệnnay chưa có phương pháp nào được biết tới có khả năng phá vỡ được PGP ở tất cảcác phiên bản Năm 1996, nhà mật mã học Bruce Schneier đánh giá các phiên bảnđầu tiên của PGP là "thứ gần nhất với mật mã hóa của quân đội mà mọi người cóđược" (Applied Cryptography, xuất bản lần 2, trang 587)
Trái với những hệ thống an ninh/giao thức như SSL chỉ nhằm bảo vệ thôngtin trên đường truyền, PGP có thể bảo vệ cả dữ liệu cho mục đích lưu trữ lâu dài(hệ thống file - đĩa)
Về khía cạnh mật mã học, an ninh của PGP phụ thuộc vào các giả định vềthuật toán mà nó sử dụng trong điều kiện về thiết bị và kỹ thuật hiện tại Chẳnghạn, phiên bản PGP đầu tiên sử dụng thuật toán RSA để mã hóa khóa phiên; anninh của thuật toán này lại phụ thuộc vào bản chất hàm một chiều của bài toánphân tích ra thừa số nguyên tố Nếu có kỹ thuật mới giải bài toán này được pháthiện thì an ninh của thuật toán, cũng như PGP sẽ bị phá vỡ Tương tự như vậy,thuật toán khóa đối xứng trong PGP là IDEA cũng có thể gặp phải những vấn đề
về an ninh trong tương lai Những phiên bản PGP gần đây hỗ trợ thêm những thuậttoán khác nữa; vì thế mức độ an toàn trước tấn công về mặt mật mã học cũng thayđổi
Do các tổ chức nghiên cứu lớn về mật mã học (như NSA, GCHQ ) khôngcông bố những phát hiện mới của mình nên có thể tồn tại những phương pháp giải
mã những thông điệp PGP mà không cần biết đến khóa bí mật được sử dụng Điềunày cũng đúng với bất kỳ hệ thống mật mã nào khác không chỉ là PGP
Hiện nay PGP cho sử dụng một số thuật toán khác nhau để thực hiện việc
mã hóa Vì thế các thông điệp mã hóa với PGP hiện tại không nhất thiết có nhữngđiểm yếu giống như PGP phiên bản đầu Tuy nhiên về mặt lý thuyết đã tìm ra lỗhổng của PGP phiên bản đầu tiên (sử dụng các thuật toán RSA và IDEA)
Từ những lập luận ở trên, có thể khẳng định tương đối chắc chắn rằng tạithời điểm hiện tại chỉ những cơ quan thuộc về chính phủ mới có đủ những nguồn
Trang 36lực cần thiết để có thể phá vỡ những thông điệp PGP Đối với tấn công phân tíchmật mã từ phía cá nhân thì PGP vẫn tương đối an toàn [14].
1.7 Giao thức trao đổi khoá GPG
1.7.1 Khái ni ệm về GPG
GNU Privacy Guard (GnuPG hay GPG) (Bảo vệ sự riêng tư) là một phầnmềm tự do được viết nhằm mục đích thay thế bộ phần mềm mật mã hóa PGP vàđược phổ biến với giấy phép GNU General Public Licence Nó có thể được dùng
để mã hoá dữ liệu và ký số tài liệu GnuPG tuân theo chuẩn OpenPGP vì vậy nótương thích với PGP (PGP Corp.) [4]
GnuPG ban đầu được phát triển bởi Werner Koch với phiên bản đầu tiên là1.0.0, đã được phát hành vào ngày 07 tháng 9 năm 1999 GnuPG sử dụng một sựkết hợp của mật mã đối xứng truyền thống để tăng tốc độ, và mật mã khóa côngkhai để thực hiện trao đổi khóa an toàn, thường bằng cách sử dụng khóa công khaicủa người nhận để mã hóa một khóa phiên mà chỉ được sử dụng một lần Chế độnày hoạt động là một phần của chuẩn OpenPGP và đã là một phần của PGP từphiên bản đầu tiên của nó [15]
GnuPG cũng hỗ trợ các thuật toán mã hóa đối xứng Theo mặc định, GnuPG
sử dụng thuật toán đối xứng CAST5 GnuPG không sử dụng phần mềm được cấpbằng sáng chế hoặc giới hạn các thuật toán Thay vào đó, GnuPG sử dụng các thuậttoán mã nguồn mở khác [15]
1.7.2 Tính năng của GPG
- Mã hoá và giải mã tài liệu
- Tạo và xác minh chữ kí
- Cùng lúc mã hoá và kí tài liệu
- Quản lý khóa: Tạo, gia hạn, xác thực khóa, phân phối (nhập khẩu và xuấtkhẩu) hoặc thu hồi khóa [4]
Trang 37CHƯƠNG 2 QUẢN LÝ CÔNG VĂN TẠI TRƯỜNG ĐẠI HỌC KỸ
THUẬT Y TẾ HẢI DƯƠNG
2.1 Hệ thống quản lý công văn tại Trường
2.1.1 Cơ sở pháp lý
- Luật Giao dịch điện tử
- Nghị định số 26/2007/NĐ-CP của Chính phủ quy định chi tiết thi hànhLuật Giao dịch điện tử về Chữ ký số và dịch vụ chứng thực chữ ký số
- Nghị định số 110/2004/NĐ-CP ngày 08/4/2004 của Chính phủ về công tácvăn thư và Nghị định số 09/2010/NĐ-CP ngày 08/2/2010 của Chính phủ về sửađổi, bổ sung một số điều của Nghị định số 110/2004/NĐ-CP
- Thông tư liên tịch số 55/2005/TTLT-BNV-VPCP của Bộ Nội vụ và Vănphòng Chính phủ ngày 06/5/2005 hướng dẫn về thể thức và kỹ thuật trình bày vănbản
- Thông tư số 01/2011/TT-BNV ngày 19/01/2011 của Bộ Nội vụ hướng dẫnthể thức và kỹ thuật trình bày văn bản hành chính
- Thông tư số 07/2012/TT-BNV ngày 22/11/2012 của Bộ Nội vụ hướng dẫnquản lý văn bản, lập hồ sơ và nộp lưu hồ sơ, tài liệu vào Lưu trữ cơ quan
- Thông tư số 04/2013/TT-BNV ngày 16/4/2013 của Bộ Nội vụ hướng dẫnxây dựng Quy chế công tác văn thư, lưu trữ của cơ quan, tổ chức
- Công văn số 139/VTLTNN-TTTH ngày 04/3/2009 của Cục Văn thư vàLưu trữ nhà nước về việc hướng dẫn quản lý văn bản đi, văn bản đến và lập hồ sơtrong môi trường mạng
- Quyết định số 4345/QĐ-BYT ngày 20/10/2015 của Bộ Y tế Ban hành Quychế công tác văn thư của Bộ Y tế
- Quyết định số 5452/QĐ-BYT ngày 30/12/2014 của Bộ Y tế về việc Banhành Quy định sử dụng chữ ký số chuyên dùng trong văn bản điện tử của Bộ Y tế
Trang 382 1.2 Phương thức quản lý công văn tại Trường
2.1.2.2 Về soạn thảo văn bản
- Hiệu trưởng ủy quyền cho Trưởng các đơn vị soạn thảo công văn đi theochức năng, nhiệm vụ được giao
- Trưởng đơn vị soạn thảo công văn phải chịu trách nhiệm về nội dung và kýtắt vào cuối dòng kết thúc nội dung của văn bản
- Các văn bản trước khi trình Hiệu trưởng ký, phải được các phó Hiệutrưởng phụ trách khu vực thẩm định (theo mẫu phiếu trình)
- Các đơn vị soạn thảo văn bản phải chuyển cho các phòng chức năng đểtrình Lãnh đạo Trường ký:
+ Phòng Đào tạo: các văn bản liên quan đến công tác đào tạo, đào tạo lại vàcông tác Thư viện;
+ Phòng QLKH&HTQT: các văn bản liên quan đến khoa học công nghệ &quan hệ quốc tế;
+ Phòng Kiểm định chất lượng đào tạo: các văn bản liên quan đến đảm bảochất lượng đào tạo;
+ Phòng Công nghệ thông tin: các văn bản liên quan đến công nghệ thôngtin;
+ Phòng Tài chính kế toán: các hợp đồng kinh tế, các chứng từ mua sắm,thanh lý tài sản, xin cấp và hoàn ứng kinh phí…;
+ Phòng Tổ chức cán bộ: các văn bản liên quan đến công tác nhân sự (điềuđộng CBVC, thành lập Ban, Hội đồng, khen thưởng, kỷ luật, cử cán bộ đi học tập,
Trang 39bồi dưỡng trong và ngoài nước, các vấn đề liên quan đến chế độ, chính sách củaCBVC…);
+ Phòng Trang thiết bị: các văn bản liên quan đến việc mua sắm, quản lý vật
tư, trang thiết bị;
+ Phòng Quản lý công tác HSSV: các văn bản về công tác quản lý HSSV,thông báo gửi gia đình HSSV, các chế độ, chính sách liên quan đến HSSV…;
+ Phòng Hành chính quản trị: các văn bản về công tác xây dựng cơ bản, sửachữa nhỏ, bảo vệ cơ quan…;
+ Bệnh viện Trường: các văn bản liên quan đến hoạt động của Bệnh viện
- Các đơn vị nhận văn bản chậm nhất sau ½ ngày phải trình ký văn bản
2.1.2.3 Quy trình phê duyệt các văn bản, giấy tờ
a) Thực hiện nghiêm các quyết định của Hiệu trưởng Quy định Quy chế làmviệc của Trường Đại học Kỹ thuật Y tế Hải Dương và về việc phân công công việccủa Hiệu trưởng và các phó Hiệu trưởng
b) Về phê duyệt văn bản, giấy tờ:
- Tất cả công văn, giấy tờ…trình Hiệu trưởng ký đều phải soạn thảo theomẫu quy định của Nhà nước và của Trường
- Các đơn vị soạn thảo văn bản có phiếu trình Hiệu trưởng giải quyết côngviệc (theo mẫu Quy định Quy chế làm việc của Trường Đại học Kỹ thuật y tế HảiDương)
- Các văn bản trước khi trình Hiệu trưởng ký, phải được các phó Hiệutrưởng phụ trách khu vực thẩm định và ghi ý kiến đề xuất vào phiếu trình Phiếutrình này là cơ sở để Hiệu trưởng giải quyết các công việc
- Các văn bản được tập hợp qua bộ phận Văn thư phòng Hành chính - Quảntrị để trình Hiệu trưởng phê duyệt:
+ Thời gian nhận và trình ký: trong giờ hành chính
+ Thời gian trả công văn tại bộ phận Văn thư: 4 lần trong ngày (buổi sáng:9h00 và 10h00; buổi chiều: 14h00 và 16h30)